From 0f794957757955f94dd15f309113d927f5a56eeb Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 6 Dec 2025 15:42:02 +0100 Subject: [PATCH 001/198] Implemented badges --- README.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4d5b30c..78d0f28 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,15 @@ # Game Tracker -![Version](https://img.shields.io/badge/Version-0.3.0-orange) -![Flutter](https://img.shields.io/badge/Flutter-3.32.1-blue?logo=flutter) -![Dart](https://img.shields.io/badge/Dart-3.8.1-blue?logo=dart) +![Flutter](https://img.shields.io/badge/Created_by-Liquid_Development-027DFD?logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MjUuNDggODk3LjMiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEgewogICAgICAgIGZpbGw6ICNmZmY7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTcwNS4yNiw3MDEuOTJsNi40LDExLjA4Yy0xLjk1LTMuODEtNC4wOS03LjUxLTYuNC0xMS4wOFoiLz4KICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik02MDIuMzksODk3LjI1aC03LjIxYzEuMi4wMywyLjQuMDUsMy42MS4wNXMyLjQxLS4wMiwzLjYxLS4wNVoiLz4KICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0wLDY5NS4zOGwyLjY4LTQuNjRjLS45MywxLjUyLTEuODIsMy4wNy0yLjY4LDQuNjRaIi8+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjgyLjU1LDcyMy40NWw2LjA1LDEwLjQ5Yy0xLjc5LTMuNjQtMy44MS03LjE1LTYuMDUtMTAuNDlaIi8+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzcuNzIsNzMzLjI4bDUuMy05LjE4Yy0xLjk0LDIuOTQtMy43MSw2LjAxLTUuMyw5LjE4WiIvPgogIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTcxMS42Niw3MTMuMDFsLTYuNC0xMS4wOC0yMjAuNDYtMzgxLjg0aDBWMTAxLjg0YzIwLjY3LTYuOTgsMzUuNTYtMjYuNTIsMzUuNTYtNDkuNTQsMC0yOC44OC0yMy40MS01Mi4zLTUyLjMtNTIuM2gtMjA5LjQ4Yy0yOC44OCwwLTUyLjMsMjMuNDEtNTIuMyw1Mi4zLDAsMjIuNzEsMTQuNDgsNDIuMDMsMzQuNyw0OS4yNXYyMTguNTRsLS4zMy41OEwxOC44OSw3MDQuNzlsLTIuNjgsNC42NGMtOS45OSwxOC4xMi0xNS42OCwzOC45Ni0xNS42OCw2MS4xMiwwLDY5Ljk3LDU2LjY0LDEyNi43LDEyNi41MSwxMjYuN2g0NzUuMzVjNjguMy0xLjkxLDEyMy4wOS01Ny44OCwxMjMuMDktMTI2LjY0LDAtMjAuNzQtNC45OS00MC4zMi0xMy44Mi01Ny42Wk02MDguNTYsODYyLjUzSDExNy40M2MtNDkuMzcsMC04OS4zOS00MC4wMi04OS4zOS04OS4zOSwwLTE0LjM2LDMuMzktMjcuOTMsOS40MS0zOS45Nmw1LjMtOS4xOCwyMzMuMi00MDMuOTJoLS4wOFYxMDQuNTloMTcuODFjOS40NywwLDE3LjE1LTcuNjgsMTcuMTUtMTcuMTVzLTcuNjgtMTcuMTUtMTcuMTUtMTcuMTVoLTM1LjU5di0uMDJjLTkuNzItLjI2LTE3LjUyLTguMi0xNy41Mi0xNy45OHM3LjgtMTcuNzIsMTcuNTItMTcuOTh2LS4wMmgyMDkuMjZjOS45NCwwLDE4LDguMDYsMTgsMThzLTguMDYsMTgtMTgsMThoLTM0LjQ4Yy05LjQ3LDAtMTcuMTUsNy42OC0xNy4xNSwxNy4xNXM3LjY4LDE3LjE1LDE3LjE1LDE3LjE1aDE3LjA0djIxNS40OWguMDdsMjMyLjgyLDQwMy4yNiw2LjA2LDEwLjVjNS44MiwxMS44Niw5LjA5LDI1LjIsOS4wOSwzOS4zLDAsNDkuMzctNDAuMDIsODkuMzktODkuMzksODkuMzlaIi8+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzgxLjY4LDU0NS4zOGMtMy4wOCwxLjY4LTYuMTgsMy4zLTkuMzIsNC44NiwzLjA3LTEuNjcsNi4xOC0zLjI5LDkuMzItNC44NloiLz4KICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01ODMuNDIsNTUxLjE5bC0yMC42Ny0zNS44Yy0xMy42OS0xLjg0LTI3LjY3LTIuNzktNDEuODYtMi43OS0xNy45OSwwLTM1LjYyLDEuNTMtNTIuNzgsNC40Ni0zMC41Niw1LjIxLTU5LjYsMTQuODktODYuNDIsMjguMzMtMy4wOCwxLjY4LTYuMTgsMy4zLTkuMzIsNC44Ni00MS44OCwyMC45OS04OS4xNiwzMi43OS0xMzkuMTksMzIuNzktMzQuODUsMC02OC4zNS01Ljc0LTk5LjYzLTE2LjMxLDAsMCwwLC4wMiwwLC4wMmwtMTYuNTIsMjguNjFjMzcuMDEsMTUuNTMsNzcuNjUsMjQuMTIsMTIwLjMsMjQuMTIsMTcuOTgsMCwzNS42MS0xLjUzLDUyLjc2LTQuNDYsMzIuNzctNS41OSw2My43OC0xNi4zMSw5Mi4yLTMxLjI5Ljg3LS40NiwxLjczLS45MiwyLjYtMS40LDQzLjI5LTIyLjgyLDkyLjYyLTM1Ljc0LDE0NC45Ni0zNS43NCwxOC4yOCwwLDM2LjE4LDEuNTksNTMuNTksNC42MWwtLjAyLS4wMloiLz4KICA8Zz4KICAgIDxjaXJjbGUgY2xhc3M9ImNscy0xIiBjeD0iNTg3LjY0IiBjeT0iODAzLjQiIHI9IjE4Ljk2Ii8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01MTUuNTIsNzg0LjQzSDEwMy41NWMtMTAuOTIsMC0xOS43Niw4LjQ5LTE5Ljc2LDE4Ljk2czguODUsMTguOTYsMTkuNzYsMTguOTZoNDExLjk3YzEwLjkyLDAsMTkuNzYtOC40OSwxOS43Ni0xOC45NnMtOC44NS0xOC45Ni0xOS43Ni0xOC45NloiLz4KICA8L2c+CiAgPGNpcmNsZSBjbGFzcz0iY2xzLTEiIGN4PSIyODMuMzIiIGN5PSI0NjcuNTkiIHI9IjE4Ljk2Ii8+CiAgPGNpcmNsZSBjbGFzcz0iY2xzLTEiIGN4PSIzMjYuMjMiIGN5PSIzNjYuMjUiIHI9IjE4Ljk2Ii8+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNDA2LjU2LDM4NS4yMmMtMjQuMDYsMC00My41NiwxOS41LTQzLjU2LDQzLjU2czE5LjUsNDMuNTYsNDMuNTYsNDMuNTYsNDMuNTYtMTkuNSw0My41Ni00My41Ni0xOS41LTQzLjU2LTQzLjU2LTQzLjU2Wk00MDYuNTYsNDQ3Ljc0Yy0xMC40NywwLTE4Ljk2LTguNDktMTguOTYtMTguOTZzOC40OS0xOC45NiwxOC45Ni0xOC45NiwxOC45Niw4LjQ5LDE4Ljk2LDE4Ljk2LTguNDksMTguOTYtMTguOTYsMTguOTZaIi8+Cjwvc3ZnPg==) + +![Version](https://img.shields.io/badge/App--Version-MVP-orange) +![Flutter](https://img.shields.io/badge/Flutter-3.35.6-027DFD?logo=flutter) +![Dart](https://img.shields.io/badge/Dart-3.9.2-027DFD?logo=dart) + +### Versions Supported + +![iOS18](https://img.shields.io/badge/iOS-18.7.1-white?logo=apple) +![iOS26](https://img.shields.io/badge/iOS-26.1-white?logo=apple) +![Android16](https://img.shields.io/badge/Android-16-3DDC84?logo=android) A all-in-one app to track card- and board games, manage players and groups and get statistics about your played games. From 45a419cae7010c55393e2df0fd95accc3b9b0dbb Mon Sep 17 00:00:00 2001 From: Mathis Kirchner Date: Sat, 10 Jan 2026 20:14:37 +0100 Subject: [PATCH 002/198] implement group edit view --- lib/l10n/arb/app_de.arb | 4 + lib/l10n/arb/app_en.arb | 20 +- lib/l10n/generated/app_localizations.dart | 28 ++- lib/l10n/generated/app_localizations_de.dart | 16 +- lib/l10n/generated/app_localizations_en.dart | 14 ++ .../group_view/create_group_view.dart | 113 ----------- .../group_view/group_detail_view.dart | 181 ++++++++++++++++++ .../main_menu/group_view/groups_view.dart | 16 +- .../create_match/create_match_view.dart | 4 + .../views/main_menu/settings_view.dart | 5 + .../widgets/player_selection.dart | 98 ++++++---- .../widgets/tiles/group_tile.dart | 107 ++++++----- 12 files changed, 395 insertions(+), 211 deletions(-) delete mode 100644 lib/presentation/views/main_menu/group_view/create_group_view.dart create mode 100644 lib/presentation/views/main_menu/group_view/group_detail_view.dart diff --git a/lib/l10n/arb/app_de.arb b/lib/l10n/arb/app_de.arb index 4d86460..938fbbd 100644 --- a/lib/l10n/arb/app_de.arb +++ b/lib/l10n/arb/app_de.arb @@ -18,7 +18,11 @@ "days_ago": "vor {count} Tagen", "delete": "Löschen", "delete_all_data": "Alle Daten löschen?", + "delete_all_data": "Diese Gruppe löschen?", + "edit_group": "Gruppe bearbeiten", "error_creating_group": "Fehler beim Erstellen der Gruppe, bitte erneut versuchen", + "error_deleting_group": "Fehler beim Löschen der Gruppe, bitte erneut versuchen", + "error_editing_group": "Fehler beim Bearbeiten der Gruppe, bitte erneut versuchen", "error_reading_file": "Fehler beim Lesen der Datei", "export_canceled": "Export abgebrochen", "export_data": "Daten exportieren", diff --git a/lib/l10n/arb/app_en.arb b/lib/l10n/arb/app_en.arb index 17c3b06..487b73a 100644 --- a/lib/l10n/arb/app_en.arb +++ b/lib/l10n/arb/app_en.arb @@ -34,10 +34,10 @@ "description": "Button text to create a match" }, "@create_new_group": { - "description": "Button text to create a new group" + "description": "Appbar text to create a group" }, "@create_new_match": { - "description": "Button text to create a new match" + "description": "Appbar text to create a match" }, "@data_successfully_deleted": { "description": "Success message after deleting data" @@ -62,9 +62,21 @@ "@delete_all_data": { "description": "Confirmation dialog for deleting all data" }, + "@delete_group": { + "description": "Confirmation dialog for deleting a group" + }, + "@edit_group": { + "description": "Button & Appbar label for editing a group" + }, "@error_creating_group": { "description": "Error message when group creation fails" }, + "@error_deleting_group": { + "description": "Error message when group deletion fails" + }, + "@error_editing_group": { + "description": "Error message when group editing fails" + }, "@error_reading_file": { "description": "Error message when file cannot be read" }, @@ -278,7 +290,11 @@ "days_ago": "{count} days ago", "delete": "Delete", "delete_all_data": "Delete all data?", + "delete_group": "Delete this group?", + "edit_group": "Edit Group", "error_creating_group": "Error while creating group, please try again", + "error_deleting_group": "Error while deleting group, please try again", + "error_editing_group": "Error while editing group, please try again", "error_reading_file": "Error reading file", "export_canceled": "Export canceled", "export_data": "Export data", diff --git a/lib/l10n/generated/app_localizations.dart b/lib/l10n/generated/app_localizations.dart index 5080ff3..5d8f454 100644 --- a/lib/l10n/generated/app_localizations.dart +++ b/lib/l10n/generated/app_localizations.dart @@ -164,13 +164,13 @@ abstract class AppLocalizations { /// **'Create match'** String get create_match; - /// Button text to create a new group + /// Appbar text to create a group /// /// In en, this message translates to: /// **'Create new group'** String get create_new_group; - /// Button text to create a new match + /// Appbar text to create a match /// /// In en, this message translates to: /// **'Create new match'** @@ -212,12 +212,36 @@ abstract class AppLocalizations { /// **'Delete all data?'** String get delete_all_data; + /// Confirmation dialog for deleting a group + /// + /// In en, this message translates to: + /// **'Delete this group?'** + String get delete_group; + + /// Button & Appbar label for editing a group + /// + /// In en, this message translates to: + /// **'Edit Group'** + String get edit_group; + /// Error message when group creation fails /// /// In en, this message translates to: /// **'Error while creating group, please try again'** String get error_creating_group; + /// Error message when group deletion fails + /// + /// In en, this message translates to: + /// **'Error while deleting group, please try again'** + String get error_deleting_group; + + /// Error message when group editing fails + /// + /// In en, this message translates to: + /// **'Error while editing group, please try again'** + String get error_editing_group; + /// Error message when file cannot be read /// /// In en, this message translates to: diff --git a/lib/l10n/generated/app_localizations_de.dart b/lib/l10n/generated/app_localizations_de.dart index c720941..22f817e 100644 --- a/lib/l10n/generated/app_localizations_de.dart +++ b/lib/l10n/generated/app_localizations_de.dart @@ -67,12 +67,26 @@ class AppLocalizationsDe extends AppLocalizations { String get delete => 'Löschen'; @override - String get delete_all_data => 'Alle Daten löschen?'; + String get delete_all_data => 'Diese Gruppe löschen?'; + + @override + String get delete_group => 'Delete this group?'; + + @override + String get edit_group => 'Gruppe bearbeiten'; @override String get error_creating_group => 'Fehler beim Erstellen der Gruppe, bitte erneut versuchen'; + @override + String get error_deleting_group => + 'Fehler beim Löschen der Gruppe, bitte erneut versuchen'; + + @override + String get error_editing_group => + 'Fehler beim Bearbeiten der Gruppe, bitte erneut versuchen'; + @override String get error_reading_file => 'Fehler beim Lesen der Datei'; diff --git a/lib/l10n/generated/app_localizations_en.dart b/lib/l10n/generated/app_localizations_en.dart index cd71035..a28140b 100644 --- a/lib/l10n/generated/app_localizations_en.dart +++ b/lib/l10n/generated/app_localizations_en.dart @@ -69,10 +69,24 @@ class AppLocalizationsEn extends AppLocalizations { @override String get delete_all_data => 'Delete all data?'; + @override + String get delete_group => 'Delete this group?'; + + @override + String get edit_group => 'Edit Group'; + @override String get error_creating_group => 'Error while creating group, please try again'; + @override + String get error_deleting_group => + 'Error while deleting group, please try again'; + + @override + String get error_editing_group => + 'Error while editing group, please try again'; + @override String get error_reading_file => 'Error reading file'; diff --git a/lib/presentation/views/main_menu/group_view/create_group_view.dart b/lib/presentation/views/main_menu/group_view/create_group_view.dart deleted file mode 100644 index 8192c6b..0000000 --- a/lib/presentation/views/main_menu/group_view/create_group_view.dart +++ /dev/null @@ -1,113 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/core/enums.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/widgets/buttons/custom_width_button.dart'; -import 'package:game_tracker/presentation/widgets/player_selection.dart'; -import 'package:game_tracker/presentation/widgets/text_input/text_input_field.dart'; -import 'package:provider/provider.dart'; - -class CreateGroupView extends StatefulWidget { - const CreateGroupView({super.key}); - - @override - State createState() => _CreateGroupViewState(); -} - -class _CreateGroupViewState extends State { - late final AppDatabase db; - - /// Controller for the group name input field - final _groupNameController = TextEditingController(); - - /// List of currently selected players - List selectedPlayers = []; - - @override - void initState() { - super.initState(); - db = Provider.of(context, listen: false); - _groupNameController.addListener(() { - setState(() {}); - }); - } - - @override - void dispose() { - _groupNameController.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - final loc = AppLocalizations.of(context); - return ScaffoldMessenger( - child: Scaffold( - backgroundColor: CustomTheme.backgroundColor, - appBar: AppBar(title: Text(loc.create_new_group)), - body: SafeArea( - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Container( - margin: CustomTheme.standardMargin, - child: TextInputField( - controller: _groupNameController, - hintText: loc.group_name, - ), - ), - Expanded( - child: PlayerSelection( - onChanged: (value) { - setState(() { - selectedPlayers = [...value]; - }); - }, - ), - ), - CustomWidthButton( - text: loc.create_group, - sizeRelativeToWidth: 0.95, - buttonType: ButtonType.primary, - onPressed: - (_groupNameController.text.isEmpty || - (selectedPlayers.length < 2)) - ? null - : () async { - bool success = await db.groupDao.addGroup( - group: Group( - name: _groupNameController.text.trim(), - members: selectedPlayers, - ), - ); - if (!context.mounted) return; - if (success) { - Navigator.pop(context); - } else { - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - backgroundColor: CustomTheme.boxColor, - content: Center( - child: Text( - AppLocalizations.of( - context, - ).error_creating_group, - style: const TextStyle(color: Colors.white), - ), - ), - ), - ); - } - }, - ), - const SizedBox(height: 20), - ], - ), - ), - ), - ); - } -} diff --git a/lib/presentation/views/main_menu/group_view/group_detail_view.dart b/lib/presentation/views/main_menu/group_view/group_detail_view.dart new file mode 100644 index 0000000..9253820 --- /dev/null +++ b/lib/presentation/views/main_menu/group_view/group_detail_view.dart @@ -0,0 +1,181 @@ +import 'package:flutter/material.dart'; +import 'package:game_tracker/core/custom_theme.dart'; +import 'package:game_tracker/core/enums.dart'; +import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/dto/group.dart'; +import 'package:game_tracker/data/dto/player.dart'; +import 'package:game_tracker/l10n/generated/app_localizations.dart'; +import 'package:game_tracker/presentation/widgets/buttons/custom_width_button.dart'; +import 'package:game_tracker/presentation/widgets/player_selection.dart'; +import 'package:game_tracker/presentation/widgets/text_input/text_input_field.dart'; +import 'package:provider/provider.dart'; + +class CreateGroupView extends StatefulWidget { + const CreateGroupView({super.key, this.groupToEdit}); + + /// The group to edit, if any + final Group? groupToEdit; + + @override + State createState() => _CreateGroupViewState(); +} + +class _CreateGroupViewState extends State { + late final AppDatabase db; + + /// GlobalKey for ScaffoldMessenger to show snackbars + final _scaffoldMessengerKey = GlobalKey(); + + /// Controller for the group name input field + final _groupNameController = TextEditingController(); + + /// List of currently selected players + List selectedPlayers = []; + + /// List of initially selected players (when editing a group) + List initialSelectedPlayers = []; + + @override + void initState() { + super.initState(); + db = Provider.of(context, listen: false); + if(widget.groupToEdit != null) { + _groupNameController.text = widget.groupToEdit!.name; + setState(() { + initialSelectedPlayers = widget.groupToEdit!.members; + selectedPlayers = widget.groupToEdit!.members; + }); + } + _groupNameController.addListener(() { + setState(() {}); + }); + } + + @override + void dispose() { + _groupNameController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final loc = AppLocalizations.of(context); + return ScaffoldMessenger( + key: _scaffoldMessengerKey, + child: Scaffold( + backgroundColor: CustomTheme.backgroundColor, + appBar: AppBar(title: Text(widget.groupToEdit == null ? loc.create_new_group : loc.edit_group), actions: widget.groupToEdit == null ? [] : [IconButton(icon: const Icon(Icons.delete), onPressed: () async { + if(widget.groupToEdit != null) { + showDialog( + context: context, + builder: (context) => AlertDialog( + title: Text(loc.delete_group), + content: Text(loc.this_cannot_be_undone), + actions: [ + TextButton( + onPressed: () => Navigator.of(context).pop(false), + child: Text(loc.cancel), + ), + TextButton( + onPressed: () => Navigator.of(context).pop(true), + child: Text(loc.delete), + ), + ], + ), + ).then((confirmed) async { + if (confirmed == true && context.mounted) { + bool success = await db.groupDao.deleteGroup(groupId: widget.groupToEdit!.id); + if (!context.mounted) return; + if (success) { + Navigator.pop(context); + } else { + showSnackbar(message: loc.error_deleting_group); + } + } + }); + } + },)],), + body: SafeArea( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Container( + margin: CustomTheme.standardMargin, + child: TextInputField( + controller: _groupNameController, + hintText: loc.group_name, + ), + ), + Expanded( + child: PlayerSelection( + initialSelectedPlayers: initialSelectedPlayers, + onChanged: (value) { + setState(() { + selectedPlayers = [...value]; + }); + }, + ), + ), + CustomWidthButton( + text: widget.groupToEdit == null ? loc.create_group : loc.edit_group, + sizeRelativeToWidth: 0.95, + buttonType: ButtonType.primary, + onPressed: + (_groupNameController.text.isEmpty || + (selectedPlayers.length < 2)) + ? null + : () async { + late bool success; + if (widget.groupToEdit == null) { + success = await db.groupDao.addGroup( + group: Group( + name: _groupNameController.text.trim(), + members: selectedPlayers, + ), + ); + } else { + //TODO: Implement group editing in database + /* + success = await db.groupDao.updateGroup( + group: Group( + id: widget.groupToEdit!.id, + name: _groupNameController.text.trim(), + members: selectedPlayers, + ), + ); + */ + success = false; + }; + if (!context.mounted) return; + if (success) { + Navigator.pop(context); + } else { + showSnackbar(message: widget.groupToEdit == null ? loc.error_creating_group : loc.error_editing_group); + } + }, + ), + const SizedBox(height: 20), + ], + ), + ), + ), + ); + } + /// Displays a snackbar with the given message and optional action. + /// + /// [message] The message to display in the snackbar. + void showSnackbar({ + required String message, + }) { + final messenger = _scaffoldMessengerKey.currentState; + if (messenger != null) { + messenger.hideCurrentSnackBar(); + messenger.showSnackBar( + SnackBar( + content: Text(message, style: const TextStyle(color: Colors.white)), + backgroundColor: CustomTheme.boxColor, + ), + ); + } + } +} diff --git a/lib/presentation/views/main_menu/group_view/groups_view.dart b/lib/presentation/views/main_menu/group_view/groups_view.dart index 239aa23..974b5b8 100644 --- a/lib/presentation/views/main_menu/group_view/groups_view.dart +++ b/lib/presentation/views/main_menu/group_view/groups_view.dart @@ -6,7 +6,7 @@ import 'package:game_tracker/data/db/database.dart'; import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/player.dart'; import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/views/main_menu/group_view/create_group_view.dart'; +import 'package:game_tracker/presentation/views/main_menu/group_view/group_detail_view.dart'; import 'package:game_tracker/presentation/widgets/app_skeleton.dart'; import 'package:game_tracker/presentation/widgets/buttons/custom_width_button.dart'; import 'package:game_tracker/presentation/widgets/tiles/group_tile.dart'; @@ -73,7 +73,19 @@ class _GroupsViewState extends State { height: MediaQuery.paddingOf(context).bottom - 20, ); } - return GroupTile(group: groups[index]); + return GroupTile(group: groups[index], onTap: () async { + await Navigator.push( + context, + adaptivePageRoute( + builder: (context) { + return CreateGroupView(groupToEdit: groups[index]); + }, + ), + ); + setState(() { + loadGroups(); + }); + }); }, ), ), diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index b9885a4..cad3e9c 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -70,6 +70,9 @@ class _CreateMatchViewState extends State { /// List of available rulesets with their localized string representations late final List<(Ruleset, String)> _rulesets; + /// GlobalKey for ScaffoldMessenger to show snackbars + final _scaffoldMessengerKey = GlobalKey(); + @override void initState() { super.initState(); @@ -120,6 +123,7 @@ class _CreateMatchViewState extends State { Widget build(BuildContext context) { final loc = AppLocalizations.of(context); return ScaffoldMessenger( + key: _scaffoldMessengerKey, child: Scaffold( backgroundColor: CustomTheme.backgroundColor, appBar: AppBar(title: Text(loc.create_new_match)), diff --git a/lib/presentation/views/main_menu/settings_view.dart b/lib/presentation/views/main_menu/settings_view.dart index c5fcfa2..897ef5f 100644 --- a/lib/presentation/views/main_menu/settings_view.dart +++ b/lib/presentation/views/main_menu/settings_view.dart @@ -13,6 +13,10 @@ class SettingsView extends StatefulWidget { } class _SettingsViewState extends State { + + /// GlobalKey for ScaffoldMessenger to show snackbars + final _scaffoldMessengerKey = GlobalKey(); + @override void initState() { super.initState(); @@ -22,6 +26,7 @@ class _SettingsViewState extends State { Widget build(BuildContext context) { final loc = AppLocalizations.of(context); return ScaffoldMessenger( + key: _scaffoldMessengerKey, child: Scaffold( appBar: AppBar(backgroundColor: CustomTheme.backgroundColor), backgroundColor: CustomTheme.backgroundColor, diff --git a/lib/presentation/widgets/player_selection.dart b/lib/presentation/widgets/player_selection.dart index 9280ae0..e910509 100644 --- a/lib/presentation/widgets/player_selection.dart +++ b/lib/presentation/widgets/player_selection.dart @@ -70,6 +70,7 @@ class _PlayerSelectionState extends State { super.initState(); db = Provider.of(context, listen: false); suggestedPlayers = skeletonData; + selectedPlayers = widget.initialSelectedPlayers ?? []; loadPlayerList(); } @@ -99,7 +100,7 @@ class _PlayerSelectionState extends State { if (value.isEmpty) { // If the search is empty, it shows all unselected players. suggestedPlayers = allPlayers.where((player) { - return !selectedPlayers.contains(player); + return !selectedPlayers.any((p) => p.id == player.id); }).toList(); } else { // If there is input, it filters by name match (case-insensitive) and ensures @@ -108,9 +109,7 @@ class _PlayerSelectionState extends State { final bool nameMatches = player.name.toLowerCase().contains( value.toLowerCase(), ); - final bool isNotSelected = !selectedPlayers.contains( - player, - ); + final bool isNotSelected = !selectedPlayers.any((p) => p.id == player.id); return nameMatches && isNotSelected; }).toList(); } @@ -125,46 +124,49 @@ class _PlayerSelectionState extends State { const SizedBox(height: 10), SizedBox( height: 50, - child: selectedPlayers.isEmpty - ? Center(child: Text(loc.no_players_selected)) - : SingleChildScrollView( - scrollDirection: Axis.horizontal, - child: Row( - children: [ - for (var player in selectedPlayers) - Padding( - padding: const EdgeInsets.only(right: 8.0), - child: TextIconTile( - text: player.name, - onIconTap: () { - setState(() { - // Removes the player from the selection and notifies the parent. - selectedPlayers.remove(player); - widget.onChanged([...selectedPlayers]); + child: AppSkeleton( + enabled: isLoading, + child: selectedPlayers.isEmpty + ? Center(child: Text(loc.no_players_selected)) + : SingleChildScrollView( + scrollDirection: Axis.horizontal, + child: Row( + children: [ + for (var player in selectedPlayers) + Padding( + padding: const EdgeInsets.only(right: 8.0), + child: TextIconTile( + text: player.name, + onIconTap: () { + setState(() { + // Removes the player from the selection and notifies the parent. + selectedPlayers.remove(player); + widget.onChanged([...selectedPlayers]); - // Get the current search query - final currentSearch = _searchBarController - .text - .toLowerCase(); + // Get the current search query + final currentSearch = _searchBarController + .text + .toLowerCase(); - // If the player matches the current search query (or search is empty), - // they are added back to the `suggestedPlayers` and the list is re-sorted. - if (currentSearch.isEmpty || - player.name.toLowerCase().contains( - currentSearch, - )) { - suggestedPlayers.add(player); - suggestedPlayers.sort( - (a, b) => a.name.compareTo(b.name), - ); - } - }); - }, + // If the player matches the current search query (or search is empty), + // they are added back to the `suggestedPlayers` and the list is re-sorted. + if (currentSearch.isEmpty || + player.name.toLowerCase().contains( + currentSearch, + )) { + suggestedPlayers.add(player); + suggestedPlayers.sort( + (a, b) => a.name.compareTo(b.name), + ); + } + }); + }, + ), ), - ), - ], + ], + ), ), - ), + ), ), const SizedBox(height: 10), Text( @@ -243,7 +245,21 @@ class _PlayerSelectionState extends State { // Otherwise, use the loaded players from the database. loadedPlayers.sort((a, b) => a.name.compareTo(b.name)); allPlayers = [...loadedPlayers]; - suggestedPlayers = [...loadedPlayers]; + if (widget.initialSelectedPlayers != null) { + // Excludes already selected players from the suggested players list. + suggestedPlayers = loadedPlayers.where((p) => !widget.initialSelectedPlayers!.any((ip) => ip.id == p.id)).toList(); + // Ensures that only players available for selection are pre-selected. + selectedPlayers = widget.initialSelectedPlayers! + .where( + (p) => allPlayers.any( + (available) => available.id == p.id, + ), + ) + .toList(); + } else { + // If no initial selection, all loaded players are suggested. + suggestedPlayers = [...loadedPlayers]; + } } isLoading = false; }); diff --git a/lib/presentation/widgets/tiles/group_tile.dart b/lib/presentation/widgets/tiles/group_tile.dart index 64d9caa..eb1d4ab 100644 --- a/lib/presentation/widgets/tiles/group_tile.dart +++ b/lib/presentation/widgets/tiles/group_tile.dart @@ -6,8 +6,9 @@ import 'package:game_tracker/presentation/widgets/tiles/text_icon_tile.dart'; /// A tile widget that displays information about a group, including its name and members. /// - [group]: The group data to be displayed. /// - [isHighlighted]: Whether the tile should be highlighted. +/// - [onTap]: An optional callback function to handle tap events. class GroupTile extends StatelessWidget { - const GroupTile({super.key, required this.group, this.isHighlighted = false}); + const GroupTile({super.key, required this.group, this.isHighlighted = false, this.onTap}); /// The group data to be displayed. final Group group; @@ -15,61 +16,67 @@ class GroupTile extends StatelessWidget { /// Whether the tile should be highlighted. final bool isHighlighted; + /// Callback function to handle tap events. + final VoidCallback? onTap; + @override Widget build(BuildContext context) { - return AnimatedContainer( - margin: CustomTheme.standardMargin, - padding: const EdgeInsets.symmetric(vertical: 5, horizontal: 10), - decoration: isHighlighted - ? CustomTheme.highlightedBoxDecoration - : CustomTheme.standardBoxDecoration, - duration: const Duration(milliseconds: 150), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Flexible( - child: Text( - group.name, - overflow: TextOverflow.ellipsis, - style: const TextStyle( - fontWeight: FontWeight.bold, - fontSize: 18, - ), - ), - ), - Row( - children: [ - Text( - '${group.members.length}', + return GestureDetector( + onTap: onTap, + child: AnimatedContainer( + margin: CustomTheme.standardMargin, + padding: const EdgeInsets.symmetric(vertical: 5, horizontal: 10), + decoration: isHighlighted + ? CustomTheme.highlightedBoxDecoration + : CustomTheme.standardBoxDecoration, + duration: const Duration(milliseconds: 150), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Flexible( + child: Text( + group.name, + overflow: TextOverflow.ellipsis, style: const TextStyle( - fontWeight: FontWeight.w900, + fontWeight: FontWeight.bold, fontSize: 18, ), ), - const SizedBox(width: 3), - const Icon(Icons.group, size: 22), - ], - ), - ], - ), - const SizedBox(height: 5), - Wrap( - alignment: WrapAlignment.start, - crossAxisAlignment: WrapCrossAlignment.start, - spacing: 12.0, - runSpacing: 8.0, - children: [ - for (var member in [ - ...group.members, - ]..sort((a, b) => a.name.compareTo(b.name))) - TextIconTile(text: member.name, iconEnabled: false), - ], - ), - const SizedBox(height: 2.5), - ], + ), + Row( + children: [ + Text( + '${group.members.length}', + style: const TextStyle( + fontWeight: FontWeight.w900, + fontSize: 18, + ), + ), + const SizedBox(width: 3), + const Icon(Icons.group, size: 22), + ], + ), + ], + ), + const SizedBox(height: 5), + Wrap( + alignment: WrapAlignment.start, + crossAxisAlignment: WrapCrossAlignment.start, + spacing: 12.0, + runSpacing: 8.0, + children: [ + for (var member in [ + ...group.members, + ]..sort((a, b) => a.name.compareTo(b.name))) + TextIconTile(text: member.name, iconEnabled: false), + ], + ), + const SizedBox(height: 2.5), + ], + ), ), ); } From b6dd0541aeec9fea0ed160f512fdb7b0fc2202f8 Mon Sep 17 00:00:00 2001 From: Mathis Kirchner Date: Sat, 10 Jan 2026 22:11:28 +0100 Subject: [PATCH 003/198] rename CreateGroupView to GroupDetailView for clarity and consistency --- .../views/main_menu/group_view/group_detail_view.dart | 10 +++++----- .../views/main_menu/group_view/groups_view.dart | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/presentation/views/main_menu/group_view/group_detail_view.dart b/lib/presentation/views/main_menu/group_view/group_detail_view.dart index 9253820..966add0 100644 --- a/lib/presentation/views/main_menu/group_view/group_detail_view.dart +++ b/lib/presentation/views/main_menu/group_view/group_detail_view.dart @@ -10,17 +10,17 @@ import 'package:game_tracker/presentation/widgets/player_selection.dart'; import 'package:game_tracker/presentation/widgets/text_input/text_input_field.dart'; import 'package:provider/provider.dart'; -class CreateGroupView extends StatefulWidget { - const CreateGroupView({super.key, this.groupToEdit}); +class GroupDetailView extends StatefulWidget { + const GroupDetailView({super.key, this.groupToEdit}); /// The group to edit, if any final Group? groupToEdit; @override - State createState() => _CreateGroupViewState(); + State createState() => _GroupDetailViewState(); } -class _CreateGroupViewState extends State { +class _GroupDetailViewState extends State { late final AppDatabase db; /// GlobalKey for ScaffoldMessenger to show snackbars @@ -145,7 +145,7 @@ class _CreateGroupViewState extends State { ); */ success = false; - }; + } if (!context.mounted) return; if (success) { Navigator.pop(context); diff --git a/lib/presentation/views/main_menu/group_view/groups_view.dart b/lib/presentation/views/main_menu/group_view/groups_view.dart index 974b5b8..e85fcda 100644 --- a/lib/presentation/views/main_menu/group_view/groups_view.dart +++ b/lib/presentation/views/main_menu/group_view/groups_view.dart @@ -78,7 +78,7 @@ class _GroupsViewState extends State { context, adaptivePageRoute( builder: (context) { - return CreateGroupView(groupToEdit: groups[index]); + return GroupDetailView(groupToEdit: groups[index]); }, ), ); @@ -100,7 +100,7 @@ class _GroupsViewState extends State { context, adaptivePageRoute( builder: (context) { - return const CreateGroupView(); + return const GroupDetailView(); }, ), ); From ee84c60ba6b359b8e87111cdfa542f5df7f1ac16 Mon Sep 17 00:00:00 2001 From: Mathis Kirchner Date: Sat, 10 Jan 2026 22:13:26 +0100 Subject: [PATCH 004/198] remove questionmark --- lib/l10n/arb/app_de.arb | 2 +- lib/l10n/arb/app_en.arb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/l10n/arb/app_de.arb b/lib/l10n/arb/app_de.arb index 938fbbd..51faa1e 100644 --- a/lib/l10n/arb/app_de.arb +++ b/lib/l10n/arb/app_de.arb @@ -18,7 +18,7 @@ "days_ago": "vor {count} Tagen", "delete": "Löschen", "delete_all_data": "Alle Daten löschen?", - "delete_all_data": "Diese Gruppe löschen?", + "delete_all_data": "Diese Gruppe löschen", "edit_group": "Gruppe bearbeiten", "error_creating_group": "Fehler beim Erstellen der Gruppe, bitte erneut versuchen", "error_deleting_group": "Fehler beim Löschen der Gruppe, bitte erneut versuchen", diff --git a/lib/l10n/arb/app_en.arb b/lib/l10n/arb/app_en.arb index 487b73a..cee5ba8 100644 --- a/lib/l10n/arb/app_en.arb +++ b/lib/l10n/arb/app_en.arb @@ -290,7 +290,7 @@ "days_ago": "{count} days ago", "delete": "Delete", "delete_all_data": "Delete all data?", - "delete_group": "Delete this group?", + "delete_group": "Delete this group", "edit_group": "Edit Group", "error_creating_group": "Error while creating group, please try again", "error_deleting_group": "Error while deleting group, please try again", From caf60d046b2dfece1464057978a25b88fd29dc87 Mon Sep 17 00:00:00 2001 From: Mathis Kirchner Date: Sat, 10 Jan 2026 22:20:14 +0100 Subject: [PATCH 005/198] fix merge mistake --- lib/l10n/arb/app_en.arb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/l10n/arb/app_en.arb b/lib/l10n/arb/app_en.arb index 29dd4b0..122d238 100644 --- a/lib/l10n/arb/app_en.arb +++ b/lib/l10n/arb/app_en.arb @@ -34,10 +34,10 @@ "description": "Button text to create a match" }, "@create_new_group": { - "description": "Button text to create a new group" + "description": "Appbar text to create a new group" }, "@create_new_match": { - "description": "Button text to create a new match" + "description": "Appbar text to create a new match" }, "@data_successfully_deleted": { "description": "Success message after deleting data" From 56562b22bb3353f43d1e05d411fde988ef3a8646 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 12 Jan 2026 11:16:02 +0100 Subject: [PATCH 006/198] add description to player --- lib/data/db/tables/player_table.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/data/db/tables/player_table.dart b/lib/data/db/tables/player_table.dart index 794958e..63b666e 100644 --- a/lib/data/db/tables/player_table.dart +++ b/lib/data/db/tables/player_table.dart @@ -4,6 +4,7 @@ class PlayerTable extends Table { TextColumn get id => text()(); TextColumn get name => text()(); DateTimeColumn get createdAt => dateTime()(); + TextColumn get description => text().nullable()(); @override Set> get primaryKey => {id}; From 9b66e58dc08bc820859313d5f45c3503e81b7f98 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 12 Jan 2026 11:17:13 +0100 Subject: [PATCH 007/198] add team table --- lib/data/db/tables/team_table.dart | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 lib/data/db/tables/team_table.dart diff --git a/lib/data/db/tables/team_table.dart b/lib/data/db/tables/team_table.dart new file mode 100644 index 0000000..73e9998 --- /dev/null +++ b/lib/data/db/tables/team_table.dart @@ -0,0 +1,9 @@ +import 'package:drift/drift.dart'; + +class TeamTable extends Table { + TextColumn get id => text()(); + TextColumn get name => text()(); + + @override + Set> get primaryKey => {id}; +} From 3344575132b77b2fed035988ef48d9e208150ae4 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 12 Jan 2026 11:20:40 +0100 Subject: [PATCH 008/198] add team id and score --- lib/data/db/tables/player_match_table.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/data/db/tables/player_match_table.dart b/lib/data/db/tables/player_match_table.dart index e155cd5..721e222 100644 --- a/lib/data/db/tables/player_match_table.dart +++ b/lib/data/db/tables/player_match_table.dart @@ -1,12 +1,16 @@ import 'package:drift/drift.dart'; import 'package:game_tracker/data/db/tables/match_table.dart'; import 'package:game_tracker/data/db/tables/player_table.dart'; +import 'package:game_tracker/data/db/tables/team_table.dart'; class PlayerMatchTable extends Table { TextColumn get playerId => text().references(PlayerTable, #id, onDelete: KeyAction.cascade)(); TextColumn get matchId => text().references(MatchTable, #id, onDelete: KeyAction.cascade)(); + TextColumn get teamId => + text().references(TeamTable, #id).nullable()(); + IntColumn get score => integer()(); @override Set> get primaryKey => {playerId, matchId}; From 7e6c309de044d86fb8b793d62252973471b3ef70 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 12 Jan 2026 11:26:39 +0100 Subject: [PATCH 009/198] add game table --- lib/data/db/tables/game_table.dart | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 lib/data/db/tables/game_table.dart diff --git a/lib/data/db/tables/game_table.dart b/lib/data/db/tables/game_table.dart new file mode 100644 index 0000000..2074ae7 --- /dev/null +++ b/lib/data/db/tables/game_table.dart @@ -0,0 +1,14 @@ +import 'package:drift/drift.dart'; + +class GameTable extends Table { + TextColumn get id => text()(); + TextColumn get name => text()(); + TextColumn get ruleset => text()(); + TextColumn get description => text().nullable()(); + TextColumn get color => text().nullable()(); + TextColumn get icon => text().nullable()(); + DateTimeColumn get createdAt => dateTime()(); + + @override + Set> get primaryKey => {id}; +} From d8abad6fd822c0e16d17557215a5742b95c5b4ee Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 12 Jan 2026 11:30:37 +0100 Subject: [PATCH 010/198] add groupid gameid and notes to match --- lib/data/db/tables/match_table.dart | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/data/db/tables/match_table.dart b/lib/data/db/tables/match_table.dart index 96aff2a..c71f8bd 100644 --- a/lib/data/db/tables/match_table.dart +++ b/lib/data/db/tables/match_table.dart @@ -1,9 +1,15 @@ import 'package:drift/drift.dart'; +import 'package:game_tracker/data/db/tables/game_table.dart'; +import 'package:game_tracker/data/db/tables/group_table.dart'; class MatchTable extends Table { TextColumn get id => text()(); - TextColumn get name => text()(); - late final winnerId = text().nullable()(); + TextColumn get name => text().nullable()(); + TextColumn get gameId => + text().references(GameTable, #id, onDelete: KeyAction.cascade)(); + TextColumn get groupId => + text().references(GroupTable, #id, onDelete: KeyAction.cascade).nullable()(); // Nullable if not part of a group + TextColumn get notes => text().nullable()(); DateTimeColumn get createdAt => dateTime()(); @override From 0394f5edf954b68ac41d951498b205fd84dfdfee Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 12 Jan 2026 11:32:23 +0100 Subject: [PATCH 011/198] delete group_match_table.dart --- lib/data/db/tables/group_match_table.dart | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 lib/data/db/tables/group_match_table.dart diff --git a/lib/data/db/tables/group_match_table.dart b/lib/data/db/tables/group_match_table.dart deleted file mode 100644 index 3f77dcb..0000000 --- a/lib/data/db/tables/group_match_table.dart +++ /dev/null @@ -1,13 +0,0 @@ -import 'package:drift/drift.dart'; -import 'package:game_tracker/data/db/tables/group_table.dart'; -import 'package:game_tracker/data/db/tables/match_table.dart'; - -class GroupMatchTable extends Table { - TextColumn get groupId => - text().references(GroupTable, #id, onDelete: KeyAction.cascade)(); - TextColumn get matchId => - text().references(MatchTable, #id, onDelete: KeyAction.cascade)(); - - @override - Set> get primaryKey => {groupId, matchId}; -} From 5dd8f31942e4cc278c791061e2fdf08a7e17a372 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 12 Jan 2026 11:33:00 +0100 Subject: [PATCH 012/198] add description to group_table.dart --- lib/data/db/tables/group_table.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/data/db/tables/group_table.dart b/lib/data/db/tables/group_table.dart index 5c52355..09bf79d 100644 --- a/lib/data/db/tables/group_table.dart +++ b/lib/data/db/tables/group_table.dart @@ -3,6 +3,7 @@ import 'package:drift/drift.dart'; class GroupTable extends Table { TextColumn get id => text()(); TextColumn get name => text()(); + TextColumn get description => text().nullable()(); DateTimeColumn get createdAt => dateTime()(); @override From 0f987f4c7adbd5328288049380bebf5e0e01cb15 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 12 Jan 2026 11:34:02 +0100 Subject: [PATCH 013/198] move match below ids --- lib/data/db/tables/match_table.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/data/db/tables/match_table.dart b/lib/data/db/tables/match_table.dart index c71f8bd..5deb5c5 100644 --- a/lib/data/db/tables/match_table.dart +++ b/lib/data/db/tables/match_table.dart @@ -4,14 +4,14 @@ import 'package:game_tracker/data/db/tables/group_table.dart'; class MatchTable extends Table { TextColumn get id => text()(); - TextColumn get name => text().nullable()(); TextColumn get gameId => text().references(GameTable, #id, onDelete: KeyAction.cascade)(); TextColumn get groupId => text().references(GroupTable, #id, onDelete: KeyAction.cascade).nullable()(); // Nullable if not part of a group + TextColumn get name => text().nullable()(); TextColumn get notes => text().nullable()(); DateTimeColumn get createdAt => dateTime()(); @override Set> get primaryKey => {id}; -} +} \ No newline at end of file From 189daf76ddd9a2cfbcb3ac8fc3e410d803c73a6a Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 12 Jan 2026 11:35:57 +0100 Subject: [PATCH 014/198] move createdAt below description --- lib/data/db/tables/player_table.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/data/db/tables/player_table.dart b/lib/data/db/tables/player_table.dart index 63b666e..3e061a0 100644 --- a/lib/data/db/tables/player_table.dart +++ b/lib/data/db/tables/player_table.dart @@ -3,8 +3,8 @@ import 'package:drift/drift.dart'; class PlayerTable extends Table { TextColumn get id => text()(); TextColumn get name => text()(); - DateTimeColumn get createdAt => dateTime()(); TextColumn get description => text().nullable()(); + DateTimeColumn get createdAt => dateTime()(); @override Set> get primaryKey => {id}; From b72ab70e02a3030654049b0d635bf087f20955cb Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 12 Jan 2026 11:38:38 +0100 Subject: [PATCH 015/198] add score table --- lib/data/db/tables/score_table.dart | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 lib/data/db/tables/score_table.dart diff --git a/lib/data/db/tables/score_table.dart b/lib/data/db/tables/score_table.dart new file mode 100644 index 0000000..93542c3 --- /dev/null +++ b/lib/data/db/tables/score_table.dart @@ -0,0 +1,16 @@ +import 'package:drift/drift.dart'; +import 'package:game_tracker/data/db/tables/match_table.dart'; +import 'package:game_tracker/data/db/tables/player_table.dart'; + +class ScoreTable extends Table { + TextColumn get playerId => + text().references(PlayerTable, #id, onDelete: KeyAction.cascade)(); + TextColumn get matchId => + text().references(MatchTable, #id, onDelete: KeyAction.cascade)(); + IntColumn get roundNumber => integer()(); + IntColumn get score => integer()(); + IntColumn get change => integer()(); + + @override + Set> get primaryKey => {playerId, matchId, roundNumber}; +} \ No newline at end of file From e2fe0c7d4dacc4952d8caa27a29ab6f6d0d8a04d Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 12 Jan 2026 11:42:03 +0100 Subject: [PATCH 016/198] remove group_match_dao --- lib/data/dao/group_match_dao.dart | 98 ----------------------------- lib/data/dao/group_match_dao.g.dart | 10 --- lib/data/db/database.dart | 8 +-- 3 files changed, 2 insertions(+), 114 deletions(-) delete mode 100644 lib/data/dao/group_match_dao.dart delete mode 100644 lib/data/dao/group_match_dao.g.dart diff --git a/lib/data/dao/group_match_dao.dart b/lib/data/dao/group_match_dao.dart deleted file mode 100644 index d428fb5..0000000 --- a/lib/data/dao/group_match_dao.dart +++ /dev/null @@ -1,98 +0,0 @@ -import 'package:drift/drift.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/db/tables/group_match_table.dart'; -import 'package:game_tracker/data/dto/group.dart'; - -part 'group_match_dao.g.dart'; - -@DriftAccessor(tables: [GroupMatchTable]) -class GroupMatchDao extends DatabaseAccessor - with _$GroupMatchDaoMixin { - GroupMatchDao(super.db); - - /// Associates a group with a match by inserting a record into the - /// [GroupMatchTable]. - Future addGroupToMatch({ - required String matchId, - required String groupId, - }) async { - if (await matchHasGroup(matchId: matchId)) { - throw Exception('Match already has a group'); - } - await into(groupMatchTable).insert( - GroupMatchTableCompanion.insert(groupId: groupId, matchId: matchId), - mode: InsertMode.insertOrIgnore, - ); - } - - /// Retrieves the [Group] associated with the given [matchId]. - /// Returns `null` if no group is found. - Future getGroupOfMatch({required String matchId}) async { - final result = await (select( - groupMatchTable, - )..where((g) => g.matchId.equals(matchId))).getSingleOrNull(); - - if (result == null) { - return null; - } - - final group = await db.groupDao.getGroupById(groupId: result.groupId); - return group; - } - - /// Checks if there is a group associated with the given [matchId]. - /// Returns `true` if there is a group, otherwise `false`. - Future matchHasGroup({required String matchId}) async { - final count = - await (selectOnly(groupMatchTable) - ..where(groupMatchTable.matchId.equals(matchId)) - ..addColumns([groupMatchTable.groupId.count()])) - .map((row) => row.read(groupMatchTable.groupId.count())) - .getSingle(); - return (count ?? 0) > 0; - } - - /// Checks if a specific group is associated with a specific match. - /// Returns `true` if the group is in the match, otherwise `false`. - Future isGroupInMatch({ - required String matchId, - required String groupId, - }) async { - final count = - await (selectOnly(groupMatchTable) - ..where( - groupMatchTable.matchId.equals(matchId) & - groupMatchTable.groupId.equals(groupId), - ) - ..addColumns([groupMatchTable.groupId.count()])) - .map((row) => row.read(groupMatchTable.groupId.count())) - .getSingle(); - return (count ?? 0) > 0; - } - - /// Removes the association of a group from a match based on [groupId] and - /// [matchId]. - /// Returns `true` if more than 0 rows were affected, otherwise `false`. - Future removeGroupFromMatch({ - required String matchId, - required String groupId, - }) async { - final query = delete(groupMatchTable) - ..where((g) => g.matchId.equals(matchId) & g.groupId.equals(groupId)); - final rowsAffected = await query.go(); - return rowsAffected > 0; - } - - /// Updates the group associated with a match to [newGroupId] based on - /// [matchId]. - /// Returns `true` if more than 0 rows were affected, otherwise `false`. - Future updateGroupOfMatch({ - required String matchId, - required String newGroupId, - }) async { - final updatedRows = - await (update(groupMatchTable)..where((g) => g.matchId.equals(matchId))) - .write(GroupMatchTableCompanion(groupId: Value(newGroupId))); - return updatedRows > 0; - } -} diff --git a/lib/data/dao/group_match_dao.g.dart b/lib/data/dao/group_match_dao.g.dart deleted file mode 100644 index 5cc0b82..0000000 --- a/lib/data/dao/group_match_dao.g.dart +++ /dev/null @@ -1,10 +0,0 @@ -// GENERATED CODE - DO NOT MODIFY BY HAND - -part of 'group_match_dao.dart'; - -// ignore_for_file: type=lint -mixin _$GroupMatchDaoMixin on DatabaseAccessor { - $GroupTableTable get groupTable => attachedDatabase.groupTable; - $MatchTableTable get matchTable => attachedDatabase.matchTable; - $GroupMatchTableTable get groupMatchTable => attachedDatabase.groupMatchTable; -} diff --git a/lib/data/db/database.dart b/lib/data/db/database.dart index e6c322f..632a4c6 100644 --- a/lib/data/db/database.dart +++ b/lib/data/db/database.dart @@ -1,12 +1,10 @@ import 'package:drift/drift.dart'; import 'package:drift_flutter/drift_flutter.dart'; import 'package:game_tracker/data/dao/group_dao.dart'; -import 'package:game_tracker/data/dao/group_match_dao.dart'; import 'package:game_tracker/data/dao/match_dao.dart'; import 'package:game_tracker/data/dao/player_dao.dart'; import 'package:game_tracker/data/dao/player_group_dao.dart'; import 'package:game_tracker/data/dao/player_match_dao.dart'; -import 'package:game_tracker/data/db/tables/group_match_table.dart'; import 'package:game_tracker/data/db/tables/group_table.dart'; import 'package:game_tracker/data/db/tables/match_table.dart'; import 'package:game_tracker/data/db/tables/player_group_table.dart'; @@ -22,16 +20,14 @@ part 'database.g.dart'; GroupTable, MatchTable, PlayerGroupTable, - PlayerMatchTable, - GroupMatchTable, + PlayerMatchTable ], daos: [ PlayerDao, GroupDao, MatchDao, PlayerGroupDao, - PlayerMatchDao, - GroupMatchDao, + PlayerMatchDao ], ) class AppDatabase extends _$AppDatabase { From be01b5f72aa80de6b97648b8df04de2d66f3f3f6 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 12 Jan 2026 12:51:25 +0100 Subject: [PATCH 017/198] add description to group --- lib/data/dto/group.dart | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/data/dto/group.dart b/lib/data/dto/group.dart index 92dbd09..4a6f7cd 100644 --- a/lib/data/dto/group.dart +++ b/lib/data/dto/group.dart @@ -4,21 +4,23 @@ import 'package:uuid/uuid.dart'; class Group { final String id; - final DateTime createdAt; final String name; + final String? description; + final DateTime createdAt; final List members; Group({ String? id, DateTime? createdAt, required this.name, + this.description, required this.members, }) : id = id ?? const Uuid().v4(), createdAt = createdAt ?? clock.now(); @override String toString() { - return 'Group{id: $id, name: $name,members: $members}'; + return 'Group{id: $id, name: $name, description: $description, members: $members}'; } /// Creates a Group instance from a JSON object. @@ -26,6 +28,7 @@ class Group { : id = json['id'], createdAt = DateTime.parse(json['createdAt']), name = json['name'], + description = json['description'], members = (json['members'] as List) .map((memberJson) => Player.fromJson(memberJson)) .toList(); @@ -35,6 +38,7 @@ class Group { 'id': id, 'createdAt': createdAt.toIso8601String(), 'name': name, + 'description': description, 'members': members.map((member) => member.toJson()).toList(), }; } From 0d20b5847f73cc4e2d5d53f6481d48a283069fdb Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Mon, 12 Jan 2026 20:29:18 +0100 Subject: [PATCH 018/198] Updated versions --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 78d0f28..d988331 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,14 @@ ![Flutter](https://img.shields.io/badge/Created_by-Liquid_Development-027DFD?logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MjUuNDggODk3LjMiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEgewogICAgICAgIGZpbGw6ICNmZmY7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTcwNS4yNiw3MDEuOTJsNi40LDExLjA4Yy0xLjk1LTMuODEtNC4wOS03LjUxLTYuNC0xMS4wOFoiLz4KICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik02MDIuMzksODk3LjI1aC03LjIxYzEuMi4wMywyLjQuMDUsMy42MS4wNXMyLjQxLS4wMiwzLjYxLS4wNVoiLz4KICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0wLDY5NS4zOGwyLjY4LTQuNjRjLS45MywxLjUyLTEuODIsMy4wNy0yLjY4LDQuNjRaIi8+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjgyLjU1LDcyMy40NWw2LjA1LDEwLjQ5Yy0xLjc5LTMuNjQtMy44MS03LjE1LTYuMDUtMTAuNDlaIi8+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzcuNzIsNzMzLjI4bDUuMy05LjE4Yy0xLjk0LDIuOTQtMy43MSw2LjAxLTUuMyw5LjE4WiIvPgogIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTcxMS42Niw3MTMuMDFsLTYuNC0xMS4wOC0yMjAuNDYtMzgxLjg0aDBWMTAxLjg0YzIwLjY3LTYuOTgsMzUuNTYtMjYuNTIsMzUuNTYtNDkuNTQsMC0yOC44OC0yMy40MS01Mi4zLTUyLjMtNTIuM2gtMjA5LjQ4Yy0yOC44OCwwLTUyLjMsMjMuNDEtNTIuMyw1Mi4zLDAsMjIuNzEsMTQuNDgsNDIuMDMsMzQuNyw0OS4yNXYyMTguNTRsLS4zMy41OEwxOC44OSw3MDQuNzlsLTIuNjgsNC42NGMtOS45OSwxOC4xMi0xNS42OCwzOC45Ni0xNS42OCw2MS4xMiwwLDY5Ljk3LDU2LjY0LDEyNi43LDEyNi41MSwxMjYuN2g0NzUuMzVjNjguMy0xLjkxLDEyMy4wOS01Ny44OCwxMjMuMDktMTI2LjY0LDAtMjAuNzQtNC45OS00MC4zMi0xMy44Mi01Ny42Wk02MDguNTYsODYyLjUzSDExNy40M2MtNDkuMzcsMC04OS4zOS00MC4wMi04OS4zOS04OS4zOSwwLTE0LjM2LDMuMzktMjcuOTMsOS40MS0zOS45Nmw1LjMtOS4xOCwyMzMuMi00MDMuOTJoLS4wOFYxMDQuNTloMTcuODFjOS40NywwLDE3LjE1LTcuNjgsMTcuMTUtMTcuMTVzLTcuNjgtMTcuMTUtMTcuMTUtMTcuMTVoLTM1LjU5di0uMDJjLTkuNzItLjI2LTE3LjUyLTguMi0xNy41Mi0xNy45OHM3LjgtMTcuNzIsMTcuNTItMTcuOTh2LS4wMmgyMDkuMjZjOS45NCwwLDE4LDguMDYsMTgsMThzLTguMDYsMTgtMTgsMThoLTM0LjQ4Yy05LjQ3LDAtMTcuMTUsNy42OC0xNy4xNSwxNy4xNXM3LjY4LDE3LjE1LDE3LjE1LDE3LjE1aDE3LjA0djIxNS40OWguMDdsMjMyLjgyLDQwMy4yNiw2LjA2LDEwLjVjNS44MiwxMS44Niw5LjA5LDI1LjIsOS4wOSwzOS4zLDAsNDkuMzctNDAuMDIsODkuMzktODkuMzksODkuMzlaIi8+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzgxLjY4LDU0NS4zOGMtMy4wOCwxLjY4LTYuMTgsMy4zLTkuMzIsNC44NiwzLjA3LTEuNjcsNi4xOC0zLjI5LDkuMzItNC44NloiLz4KICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01ODMuNDIsNTUxLjE5bC0yMC42Ny0zNS44Yy0xMy42OS0xLjg0LTI3LjY3LTIuNzktNDEuODYtMi43OS0xNy45OSwwLTM1LjYyLDEuNTMtNTIuNzgsNC40Ni0zMC41Niw1LjIxLTU5LjYsMTQuODktODYuNDIsMjguMzMtMy4wOCwxLjY4LTYuMTgsMy4zLTkuMzIsNC44Ni00MS44OCwyMC45OS04OS4xNiwzMi43OS0xMzkuMTksMzIuNzktMzQuODUsMC02OC4zNS01Ljc0LTk5LjYzLTE2LjMxLDAsMCwwLC4wMiwwLC4wMmwtMTYuNTIsMjguNjFjMzcuMDEsMTUuNTMsNzcuNjUsMjQuMTIsMTIwLjMsMjQuMTIsMTcuOTgsMCwzNS42MS0xLjUzLDUyLjc2LTQuNDYsMzIuNzctNS41OSw2My43OC0xNi4zMSw5Mi4yLTMxLjI5Ljg3LS40NiwxLjczLS45MiwyLjYtMS40LDQzLjI5LTIyLjgyLDkyLjYyLTM1Ljc0LDE0NC45Ni0zNS43NCwxOC4yOCwwLDM2LjE4LDEuNTksNTMuNTksNC42MWwtLjAyLS4wMloiLz4KICA8Zz4KICAgIDxjaXJjbGUgY2xhc3M9ImNscy0xIiBjeD0iNTg3LjY0IiBjeT0iODAzLjQiIHI9IjE4Ljk2Ii8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01MTUuNTIsNzg0LjQzSDEwMy41NWMtMTAuOTIsMC0xOS43Niw4LjQ5LTE5Ljc2LDE4Ljk2czguODUsMTguOTYsMTkuNzYsMTguOTZoNDExLjk3YzEwLjkyLDAsMTkuNzYtOC40OSwxOS43Ni0xOC45NnMtOC44NS0xOC45Ni0xOS43Ni0xOC45NloiLz4KICA8L2c+CiAgPGNpcmNsZSBjbGFzcz0iY2xzLTEiIGN4PSIyODMuMzIiIGN5PSI0NjcuNTkiIHI9IjE4Ljk2Ii8+CiAgPGNpcmNsZSBjbGFzcz0iY2xzLTEiIGN4PSIzMjYuMjMiIGN5PSIzNjYuMjUiIHI9IjE4Ljk2Ii8+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNDA2LjU2LDM4NS4yMmMtMjQuMDYsMC00My41NiwxOS41LTQzLjU2LDQzLjU2czE5LjUsNDMuNTYsNDMuNTYsNDMuNTYsNDMuNTYtMTkuNSw0My41Ni00My41Ni0xOS41LTQzLjU2LTQzLjU2LTQzLjU2Wk00MDYuNTYsNDQ3Ljc0Yy0xMC40NywwLTE4Ljk2LTguNDktMTguOTYtMTguOTZzOC40OS0xOC45NiwxOC45Ni0xOC45NiwxOC45Niw4LjQ5LDE4Ljk2LDE4Ljk2LTguNDksMTguOTYtMTguOTYsMTguOTZaIi8+Cjwvc3ZnPg==) -![Version](https://img.shields.io/badge/App--Version-MVP-orange) -![Flutter](https://img.shields.io/badge/Flutter-3.35.6-027DFD?logo=flutter) +![Version](https://img.shields.io/badge/App--Version-Alpha-orange) +![Flutter](https://img.shields.io/badge/Flutter-3.38.6-027DFD?logo=flutter) ![Dart](https://img.shields.io/badge/Dart-3.9.2-027DFD?logo=dart) ### Versions Supported ![iOS18](https://img.shields.io/badge/iOS-18.7.1-white?logo=apple) -![iOS26](https://img.shields.io/badge/iOS-26.1-white?logo=apple) +![iOS26](https://img.shields.io/badge/iOS-26.2-white?logo=apple) ![Android16](https://img.shields.io/badge/Android-16-3DDC84?logo=android) A all-in-one app to track card- and board games, manage players and groups and get statistics about your played games. From 5da12939cb2d14a3dcf85f47da58dcc110bf6841 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Mon, 12 Jan 2026 20:30:57 +0100 Subject: [PATCH 019/198] Updated Dart version --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d988331..138e5cd 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ ![Version](https://img.shields.io/badge/App--Version-Alpha-orange) ![Flutter](https://img.shields.io/badge/Flutter-3.38.6-027DFD?logo=flutter) -![Dart](https://img.shields.io/badge/Dart-3.9.2-027DFD?logo=dart) +![Dart](https://img.shields.io/badge/Dart-3.10.7-027DFD?logo=dart) ### Versions Supported From b1e9bb3aeb2f7eb8ecd091ffcf2bc52bde80c767 Mon Sep 17 00:00:00 2001 From: Mathis Kirchner Date: Tue, 13 Jan 2026 21:01:31 +0100 Subject: [PATCH 020/198] update localization comments for clarity in group and match creation --- lib/l10n/generated/app_localizations.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/l10n/generated/app_localizations.dart b/lib/l10n/generated/app_localizations.dart index 0fd55db..1ef86f5 100644 --- a/lib/l10n/generated/app_localizations.dart +++ b/lib/l10n/generated/app_localizations.dart @@ -164,13 +164,13 @@ abstract class AppLocalizations { /// **'Create match'** String get create_match; - /// Button text to create a new group + /// Appbar text to create a new group /// /// In en, this message translates to: /// **'Create new group'** String get create_new_group; - /// Button text to create a new match + /// Appbar text to create a new match /// /// In en, this message translates to: /// **'Create new match'** From ed642e3d4f12a481b8858c5e17adf9719b928497 Mon Sep 17 00:00:00 2001 From: Mathis Kirchner Date: Tue, 13 Jan 2026 21:07:23 +0100 Subject: [PATCH 021/198] merge dev into #118 --- .../views/main_menu/settings_view/settings_view.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/presentation/views/main_menu/settings_view/settings_view.dart b/lib/presentation/views/main_menu/settings_view/settings_view.dart index 1843c90..c41c7d0 100644 --- a/lib/presentation/views/main_menu/settings_view/settings_view.dart +++ b/lib/presentation/views/main_menu/settings_view/settings_view.dart @@ -21,12 +21,17 @@ class SettingsView extends StatefulWidget { } class _SettingsViewState extends State { + + /// GlobalKey for ScaffoldMessenger to show snackbars + final _scaffoldMessengerKey = GlobalKey(); + PackageInfo _packageInfo = PackageInfo( appName: 'n.A.', packageName: 'n.A.', version: 'n.A.', buildNumber: 'n.A.', ); + @override void initState() { super.initState(); @@ -37,6 +42,7 @@ class _SettingsViewState extends State { Widget build(BuildContext context) { final loc = AppLocalizations.of(context); return ScaffoldMessenger( + key: _scaffoldMessengerKey, child: Scaffold( appBar: AppBar(backgroundColor: CustomTheme.backgroundColor), backgroundColor: CustomTheme.backgroundColor, From 1b297d15b0b73e5eedd5b28dd537d385dc253fef Mon Sep 17 00:00:00 2001 From: Mathis Kirchner Date: Tue, 13 Jan 2026 21:35:10 +0100 Subject: [PATCH 022/198] fix snackbar showing also showing on other screens (#155) --- .../group_view/group_detail_view.dart | 3 +- .../settings_view/settings_view.dart | 37 ++++++++----------- 2 files changed, 17 insertions(+), 23 deletions(-) diff --git a/lib/presentation/views/main_menu/group_view/group_detail_view.dart b/lib/presentation/views/main_menu/group_view/group_detail_view.dart index 966add0..e338522 100644 --- a/lib/presentation/views/main_menu/group_view/group_detail_view.dart +++ b/lib/presentation/views/main_menu/group_view/group_detail_view.dart @@ -83,12 +83,13 @@ class _GroupDetailViewState extends State { ], ), ).then((confirmed) async { - if (confirmed == true && context.mounted) { + if (confirmed == true && mounted) { bool success = await db.groupDao.deleteGroup(groupId: widget.groupToEdit!.id); if (!context.mounted) return; if (success) { Navigator.pop(context); } else { + if (!mounted) return; showSnackbar(message: loc.error_deleting_group); } } diff --git a/lib/presentation/views/main_menu/settings_view/settings_view.dart b/lib/presentation/views/main_menu/settings_view/settings_view.dart index c41c7d0..9a3d33c 100644 --- a/lib/presentation/views/main_menu/settings_view/settings_view.dart +++ b/lib/presentation/views/main_menu/settings_view/settings_view.dart @@ -22,7 +22,7 @@ class SettingsView extends StatefulWidget { class _SettingsViewState extends State { - /// GlobalKey for ScaffoldMessenger to show snackbars + /// GlobalKey for ScaffoldMessenger to show snackbars only on this screen final _scaffoldMessengerKey = GlobalKey(); PackageInfo _packageInfo = PackageInfo( @@ -84,8 +84,8 @@ class _SettingsViewState extends State { json, 'game_tracker-data', ); - if (!context.mounted) return; - showExportSnackBar(context: context, result: result); + if (!mounted) return; + showExportSnackBar(result: result); }, ), SettingsListTile( @@ -94,8 +94,8 @@ class _SettingsViewState extends State { suffixWidget: const Icon(Icons.arrow_forward_ios, size: 16), onPressed: () async { final result = await DataTransferService.importData(context); - if (!context.mounted) return; - showImportSnackBar(context: context, result: result); + if (!mounted) return; + showImportSnackBar(result: result); }, ), SettingsListTile( @@ -123,7 +123,6 @@ class _SettingsViewState extends State { if (confirmed == true && context.mounted) { DataTransferService.deleteAllData(context); showSnackbar( - context: context, message: AppLocalizations.of( context, ).data_successfully_deleted, @@ -237,62 +236,56 @@ class _SettingsViewState extends State { /// Displays a snackbar based on the import result. /// - /// [context] The BuildContext to show the snackbar in. /// [result] The result of the import operation. void showImportSnackBar({ - required BuildContext context, required ImportResult result, }) { final loc = AppLocalizations.of(context); switch (result) { case ImportResult.success: - showSnackbar(context: context, message: loc.data_successfully_imported); + showSnackbar(message: loc.data_successfully_imported); case ImportResult.invalidSchema: - showSnackbar(context: context, message: loc.invalid_schema); + showSnackbar(message: loc.invalid_schema); case ImportResult.fileReadError: - showSnackbar(context: context, message: loc.error_reading_file); + showSnackbar(message: loc.error_reading_file); case ImportResult.canceled: - showSnackbar(context: context, message: loc.import_canceled); + showSnackbar(message: loc.import_canceled); case ImportResult.formatException: - showSnackbar(context: context, message: loc.format_exception); + showSnackbar(message: loc.format_exception); case ImportResult.unknownException: - showSnackbar(context: context, message: loc.unknown_exception); + showSnackbar(message: loc.unknown_exception); } } /// Displays a snackbar based on the export result. /// - /// [context] The BuildContext to show the snackbar in. /// [result] The result of the export operation. void showExportSnackBar({ - required BuildContext context, required ExportResult result, }) { final loc = AppLocalizations.of(context); switch (result) { case ExportResult.success: - showSnackbar(context: context, message: loc.data_successfully_exported); + showSnackbar(message: loc.data_successfully_exported); case ExportResult.canceled: - showSnackbar(context: context, message: loc.export_canceled); + showSnackbar(message: loc.export_canceled); case ExportResult.unknownException: - showSnackbar(context: context, message: loc.unknown_exception); + showSnackbar(message: loc.unknown_exception); } } /// Displays a snackbar with the given message and optional action. /// - /// [context] The BuildContext to show the snackbar in. /// [message] The message to display in the snackbar. /// [duration] The duration for which the snackbar is displayed. /// [action] An optional callback function to execute when the action button is pressed. void showSnackbar({ - required BuildContext context, required String message, Duration duration = const Duration(seconds: 3), VoidCallback? action, }) { final loc = AppLocalizations.of(context); - final messenger = ScaffoldMessenger.of(context); + final messenger = _scaffoldMessengerKey.currentState!; messenger.hideCurrentSnackBar(); messenger.showSnackBar( SnackBar( From 016c1ceb6e692333350ee6c80df1254c9b211214 Mon Sep 17 00:00:00 2001 From: Mathis Kirchner Date: Tue, 13 Jan 2026 21:38:53 +0100 Subject: [PATCH 023/198] add context to mounted check --- .../views/main_menu/group_view/group_detail_view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/presentation/views/main_menu/group_view/group_detail_view.dart b/lib/presentation/views/main_menu/group_view/group_detail_view.dart index e338522..e372726 100644 --- a/lib/presentation/views/main_menu/group_view/group_detail_view.dart +++ b/lib/presentation/views/main_menu/group_view/group_detail_view.dart @@ -83,7 +83,7 @@ class _GroupDetailViewState extends State { ], ), ).then((confirmed) async { - if (confirmed == true && mounted) { + if (confirmed == true && context.mounted) { bool success = await db.groupDao.deleteGroup(groupId: widget.groupToEdit!.id); if (!context.mounted) return; if (success) { From 6a9e5dc9ebfe4c481bdc50a6c75346417e619105 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 10:28:55 +0100 Subject: [PATCH 024/198] add game.dart --- lib/data/dto/game.dart | 50 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 lib/data/dto/game.dart diff --git a/lib/data/dto/game.dart b/lib/data/dto/game.dart new file mode 100644 index 0000000..9e271e5 --- /dev/null +++ b/lib/data/dto/game.dart @@ -0,0 +1,50 @@ +import 'package:clock/clock.dart'; +import 'package:uuid/uuid.dart'; + +class Game { + final String id; + final DateTime createdAt; + final String name; + final String? ruleset; + final String? description; + final int? color; + final String? icon; + + Game({ + String? id, + DateTime? createdAt, + required this.name, + this.ruleset, + this.description, + this.color, + this.icon, + }) : id = id ?? const Uuid().v4(), + createdAt = createdAt ?? clock.now(); + + @override + String toString() { + return 'Game{id: $id, name: $name, ruleset: $ruleset, description: $description, color: $color, icon: $icon}'; + } + + /// Creates a Game instance from a JSON object. + Game.fromJson(Map json) + : id = json['id'], + createdAt = DateTime.parse(json['createdAt']), + name = json['name'], + ruleset = json['ruleset'], + description = json['description'], + color = json['color'], + icon = json['icon']; + + /// Converts the Game instance to a JSON object. + Map toJson() => { + 'id': id, + 'createdAt': createdAt.toIso8601String(), + 'name': name, + 'ruleset': ruleset, + 'description': description, + 'color': color, + 'icon': icon, + }; +} + From 072021bd4c466ea1d784fa949655ddf9f1002745 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 10:50:03 +0100 Subject: [PATCH 025/198] update match class --- lib/data/dto/match.dart | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/lib/data/dto/match.dart b/lib/data/dto/match.dart index 9570f66..c91dc92 100644 --- a/lib/data/dto/match.dart +++ b/lib/data/dto/match.dart @@ -1,4 +1,5 @@ import 'package:clock/clock.dart'; +import 'package:game_tracker/data/dto/game.dart'; import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/player.dart'; import 'package:uuid/uuid.dart'; @@ -7,45 +8,49 @@ class Match { final String id; final DateTime createdAt; final String name; - final List? players; + final Game? game; final Group? group; - Player? winner; + final List? players; + final String? notes; Match({ String? id, DateTime? createdAt, required this.name, - this.players, + this.game, this.group, - this.winner, + this.players, + this.notes, }) : id = id ?? const Uuid().v4(), createdAt = createdAt ?? clock.now(); @override String toString() { - return 'Match{\n\tid: $id,\n\tname: $name,\n\tplayers: $players,\n\tgroup: $group,\n\twinner: $winner\n}'; + return 'Match{id: $id, name: $name, game: $game, group: $group, players: $players, notes: $notes}'; } /// Creates a Match instance from a JSON object. Match.fromJson(Map json) : id = json['id'], - name = json['name'], createdAt = DateTime.parse(json['createdAt']), + name = json['name'], + game = json['game'] != null ? Game.fromJson(json['game']) : null, + group = json['group'] != null ? Group.fromJson(json['group']) : null, players = json['players'] != null ? (json['players'] as List) - .map((playerJson) => Player.fromJson(playerJson)) - .toList() + .map((playerJson) => Player.fromJson(playerJson)) + .toList() : null, - group = json['group'] != null ? Group.fromJson(json['group']) : null, - winner = json['winner'] != null ? Player.fromJson(json['winner']) : null; + notes = json['notes']; /// Converts the Match instance to a JSON object. Map toJson() => { 'id': id, 'createdAt': createdAt.toIso8601String(), 'name': name, - 'players': players?.map((player) => player.toJson()).toList(), + 'game': game?.toJson(), 'group': group?.toJson(), - 'winner': winner?.toJson(), + 'players': players?.map((player) => player.toJson()).toList(), + 'notes': notes, }; } From c82d72544e1a671389e9be7fbe17c6adbda9ae3a Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 11:04:54 +0100 Subject: [PATCH 026/198] add description to player --- lib/data/dto/player.dart | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/data/dto/player.dart b/lib/data/dto/player.dart index cfb4f4b..6c3ab6d 100644 --- a/lib/data/dto/player.dart +++ b/lib/data/dto/player.dart @@ -5,26 +5,33 @@ class Player { final String id; final DateTime createdAt; final String name; + final String? description; - Player({String? id, DateTime? createdAt, required this.name}) - : id = id ?? const Uuid().v4(), - createdAt = createdAt ?? clock.now(); + Player({ + String? id, + DateTime? createdAt, + required this.name, + this.description, + }) : id = id ?? const Uuid().v4(), + createdAt = createdAt ?? clock.now(); @override String toString() { - return 'Player{id: $id,name: $name}'; + return 'Player{id: $id, name: $name, description: $description}'; } /// Creates a Player instance from a JSON object. Player.fromJson(Map json) : id = json['id'], createdAt = DateTime.parse(json['createdAt']), - name = json['name']; + name = json['name'], + description = json['description']; /// Converts the Player instance to a JSON object. Map toJson() => { 'id': id, 'createdAt': createdAt.toIso8601String(), 'name': name, + 'description': description, }; } From f2a12265ad6560ddc5cb0bc6bff5cea73432867a Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 11:09:08 +0100 Subject: [PATCH 027/198] add createdAt to team --- lib/data/db/tables/team_table.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/data/db/tables/team_table.dart b/lib/data/db/tables/team_table.dart index 73e9998..b1a24a9 100644 --- a/lib/data/db/tables/team_table.dart +++ b/lib/data/db/tables/team_table.dart @@ -3,6 +3,7 @@ import 'package:drift/drift.dart'; class TeamTable extends Table { TextColumn get id => text()(); TextColumn get name => text()(); + DateTimeColumn get createdAt => dateTime()(); @override Set> get primaryKey => {id}; From 4a56df7f8fed45f19ab6778d1dbe6770ec0d7818 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 11:09:18 +0100 Subject: [PATCH 028/198] add team --- lib/data/dto/team.dart | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 lib/data/dto/team.dart diff --git a/lib/data/dto/team.dart b/lib/data/dto/team.dart new file mode 100644 index 0000000..8b015ba --- /dev/null +++ b/lib/data/dto/team.dart @@ -0,0 +1,37 @@ +import 'package:clock/clock.dart'; +import 'package:game_tracker/data/dto/player.dart'; +import 'package:uuid/uuid.dart'; + +class Team { + final String id; + final DateTime createdAt; + final List members; + + Team({ + String? id, + DateTime? createdAt, + required this.members, + }) : id = id ?? const Uuid().v4(), + createdAt = createdAt ?? clock.now(); + + @override + String toString() { + return 'Team{id: $id, members: $members}'; + } + + /// Creates a Team instance from a JSON object. + Team.fromJson(Map json) + : id = json['id'], + createdAt = DateTime.parse(json['createdAt']), + members = (json['members'] as List) + .map((memberJson) => Player.fromJson(memberJson)) + .toList(); + + /// Converts the Team instance to a JSON object. + Map toJson() => { + 'id': id, + 'createdAt': createdAt.toIso8601String(), + 'members': members.map((member) => member.toJson()).toList(), + }; +} + From b9b72cdd509302096aa5a4fc6916c55b5da6fb86 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 11:10:42 +0100 Subject: [PATCH 029/198] add pair --- lib/data/dto/pair.dart | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 lib/data/dto/pair.dart diff --git a/lib/data/dto/pair.dart b/lib/data/dto/pair.dart new file mode 100644 index 0000000..2cce9f8 --- /dev/null +++ b/lib/data/dto/pair.dart @@ -0,0 +1,16 @@ +import 'package:game_tracker/data/dto/team.dart'; + +class Pair extends Team { + Pair({ + super.id, + super.createdAt, + required super.members, + }); + + @override + String toString() { + return 'Pair{id: $id, members: $members}'; + } + +} + From cb66b76e5a4bd8bb16a70bfdc311044c053a19d2 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 11:55:47 +0100 Subject: [PATCH 030/198] add game_dao.dart --- lib/data/dao/game_dao.dart | 179 +++++++++++++++++++++++++++++++++++++ 1 file changed, 179 insertions(+) create mode 100644 lib/data/dao/game_dao.dart diff --git a/lib/data/dao/game_dao.dart b/lib/data/dao/game_dao.dart new file mode 100644 index 0000000..4b99dfa --- /dev/null +++ b/lib/data/dao/game_dao.dart @@ -0,0 +1,179 @@ +import 'package:drift/drift.dart'; +import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/db/tables/game_table.dart'; +import 'package:game_tracker/data/dto/game.dart'; + +part 'game_dao.g.dart'; + +@DriftAccessor(tables: [GameTable]) +class GameDao extends DatabaseAccessor with _$GameDaoMixin { + GameDao(super.db); + + /// Retrieves all games from the database. + Future> getAllGames() async { + final query = select(gameTable); + final result = await query.get(); + return result + .map( + (row) => Game( + id: row.id, + name: row.name, + ruleset: row.ruleset, + description: row.description, + color: row.color != null ? int.tryParse(row.color!) : null, + icon: row.icon, + createdAt: row.createdAt, + ), + ) + .toList(); + } + + /// Retrieves a [Game] by its [gameId]. + Future getGameById({required String gameId}) async { + final query = select(gameTable)..where((g) => g.id.equals(gameId)); + final result = await query.getSingle(); + return Game( + id: result.id, + name: result.name, + ruleset: result.ruleset, + description: result.description, + color: result.color != null ? int.tryParse(result.color!) : null, + icon: result.icon, + createdAt: result.createdAt, + ); + } + + /// Adds a new [game] to the database. + /// If a game with the same ID already exists, no action is taken. + /// Returns `true` if the game was added, `false` otherwise. + Future addGame({required Game game}) async { + if (!await gameExists(gameId: game.id)) { + await into(gameTable).insert( + GameTableCompanion.insert( + id: game.id, + name: game.name, + ruleset: game.ruleset ?? '', + description: Value(game.description), + color: Value(game.color?.toString()), + icon: Value(game.icon), + createdAt: game.createdAt, + ), + mode: InsertMode.insertOrReplace, + ); + return true; + } + return false; + } + + /// Adds multiple [games] to the database in a batch operation. + /// Uses insertOrIgnore to avoid overwriting existing games. + Future addGamesAsList({required List games}) async { + if (games.isEmpty) return false; + + await db.batch( + (b) => b.insertAll( + gameTable, + games + .map( + (game) => GameTableCompanion.insert( + id: game.id, + name: game.name, + ruleset: game.ruleset ?? '', + description: Value(game.description), + color: Value(game.color?.toString()), + icon: Value(game.icon), + createdAt: game.createdAt, + ), + ) + .toList(), + mode: InsertMode.insertOrIgnore, + ), + ); + + return true; + } + + /// Deletes the game with the given [gameId] from the database. + /// Returns `true` if the game was deleted, `false` if the game did not exist. + Future deleteGame({required String gameId}) async { + final query = delete(gameTable)..where((g) => g.id.equals(gameId)); + final rowsAffected = await query.go(); + return rowsAffected > 0; + } + + /// Checks if a game with the given [gameId] exists in the database. + /// Returns `true` if the game exists, `false` otherwise. + Future gameExists({required String gameId}) async { + final query = select(gameTable)..where((g) => g.id.equals(gameId)); + final result = await query.getSingleOrNull(); + return result != null; + } + + /// Updates the name of the game with the given [gameId] to [newName]. + Future updateGameName({ + required String gameId, + required String newName, + }) async { + await (update(gameTable)..where((g) => g.id.equals(gameId))).write( + GameTableCompanion(name: Value(newName)), + ); + } + + /// Updates the ruleset of the game with the given [gameId]. + Future updateGameRuleset({ + required String gameId, + required String newRuleset, + }) async { + await (update(gameTable)..where((g) => g.id.equals(gameId))).write( + GameTableCompanion(ruleset: Value(newRuleset)), + ); + } + + /// Updates the description of the game with the given [gameId]. + Future updateGameDescription({ + required String gameId, + required String? newDescription, + }) async { + await (update(gameTable)..where((g) => g.id.equals(gameId))).write( + GameTableCompanion(description: Value(newDescription)), + ); + } + + /// Updates the color of the game with the given [gameId]. + Future updateGameColor({ + required String gameId, + required int? newColor, + }) async { + await (update(gameTable)..where((g) => g.id.equals(gameId))).write( + GameTableCompanion(color: Value(newColor?.toString())), + ); + } + + /// Updates the icon of the game with the given [gameId]. + Future updateGameIcon({ + required String gameId, + required String? newIcon, + }) async { + await (update(gameTable)..where((g) => g.id.equals(gameId))).write( + GameTableCompanion(icon: Value(newIcon)), + ); + } + + /// Retrieves the total count of games in the database. + Future getGameCount() async { + final count = + await (selectOnly(gameTable)..addColumns([gameTable.id.count()])) + .map((row) => row.read(gameTable.id.count())) + .getSingle(); + return count ?? 0; + } + + /// Deletes all games from the database. + /// Returns `true` if more than 0 rows were affected, otherwise `false`. + Future deleteAllGames() async { + final query = delete(gameTable); + final rowsAffected = await query.go(); + return rowsAffected > 0; + } +} + From 3ca612b0a11f697d31465a199e7a0ac3a4884d08 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 11:56:47 +0100 Subject: [PATCH 031/198] add description attribute to group_dao.dart --- lib/data/dao/group_dao.dart | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/data/dao/group_dao.dart b/lib/data/dao/group_dao.dart index 98c602a..999200d 100644 --- a/lib/data/dao/group_dao.dart +++ b/lib/data/dao/group_dao.dart @@ -23,6 +23,7 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { return Group( id: groupData.id, name: groupData.name, + description: groupData.description, members: members, createdAt: groupData.createdAt, ); @@ -42,6 +43,7 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { return Group( id: result.id, name: result.name, + description: result.description, members: members, createdAt: result.createdAt, ); @@ -56,6 +58,7 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { GroupTableCompanion.insert( id: group.id, name: group.name, + description: Value(group.description), createdAt: group.createdAt, ), mode: InsertMode.insertOrReplace, @@ -105,6 +108,7 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { (group) => GroupTableCompanion.insert( id: group.id, name: group.name, + description: Value(group.description), createdAt: group.createdAt, ), ) @@ -132,6 +136,7 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { (p) => PlayerTableCompanion.insert( id: p.id, name: p.name, + description: Value(p.description), createdAt: p.createdAt, ), ) From 02d3220c1a2c0b40fe5479105b23b97b2d228e77 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 11:57:50 +0100 Subject: [PATCH 032/198] add group_match_dao.dart --- lib/data/dao/group_match_dao.dart | 108 ++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 lib/data/dao/group_match_dao.dart diff --git a/lib/data/dao/group_match_dao.dart b/lib/data/dao/group_match_dao.dart new file mode 100644 index 0000000..8f0700a --- /dev/null +++ b/lib/data/dao/group_match_dao.dart @@ -0,0 +1,108 @@ +import 'package:drift/drift.dart'; +import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/db/tables/group_match_table.dart'; +import 'package:game_tracker/data/db/tables/group_table.dart'; +import 'package:game_tracker/data/dto/group.dart'; + +part 'group_match_dao.g.dart'; + +@DriftAccessor(tables: [GroupMatchTable, GroupTable]) +class GroupMatchDao extends DatabaseAccessor + with _$GroupMatchDaoMixin { + GroupMatchDao(super.db); + + /// Adds a group to a match by inserting a record into the [GroupMatchTable]. + Future addGroupToMatch({ + required String matchId, + required String groupId, + }) async { + await into(groupMatchTable).insert( + GroupMatchTableCompanion.insert( + matchId: matchId, + groupId: groupId, + ), + mode: InsertMode.insertOrIgnore, + ); + } + + /// Retrieves the [Group] associated with the given [matchId]. + /// Returns null if no group is found. + Future getGroupOfMatch({required String matchId}) async { + final query = select(groupMatchTable) + ..where((gm) => gm.matchId.equals(matchId)); + final result = await query.getSingleOrNull(); + + if (result == null) return null; + + return db.groupDao.getGroupById(groupId: result.groupId); + } + + /// Checks if a match has a group associated with it. + /// Returns `true` if the match has a group, otherwise `false`. + Future matchHasGroup({required String matchId}) async { + final count = await (selectOnly(groupMatchTable) + ..where(groupMatchTable.matchId.equals(matchId)) + ..addColumns([groupMatchTable.groupId.count()])) + .map((row) => row.read(groupMatchTable.groupId.count())) + .getSingle(); + return (count ?? 0) > 0; + } + + /// Checks if a specific group is associated with a specific match. + /// Returns `true` if the group is in the match, otherwise `false`. + Future isGroupInMatch({ + required String matchId, + required String groupId, + }) async { + final query = select(groupMatchTable) + ..where( + (gm) => gm.matchId.equals(matchId) & gm.groupId.equals(groupId), + ); + final result = await query.getSingleOrNull(); + return result != null; + } + + /// Removes the association of a group with a match by deleting the record + /// from the [GroupMatchTable]. + /// Returns `true` if more than 0 rows were affected, otherwise `false`. + Future removeGroupFromMatch({ + required String matchId, + required String groupId, + }) async { + final query = delete(groupMatchTable) + ..where((gm) => gm.matchId.equals(matchId) & gm.groupId.equals(groupId)); + final rowsAffected = await query.go(); + return rowsAffected > 0; + } + + /// Updates the group associated with a match. + /// Removes the existing group association and adds the new one. + Future updateGroupOfMatch({ + required String matchId, + required String newGroupId, + }) async { + await db.transaction(() async { + // Remove existing group association + await (delete(groupMatchTable) + ..where((gm) => gm.matchId.equals(matchId))) + .go(); + + // Add new group association + await into(groupMatchTable).insert( + GroupMatchTableCompanion.insert( + matchId: matchId, + groupId: newGroupId, + ), + ); + }); + } + + /// Retrieves all matches associated with a specific group. + Future> getMatchIdsForGroup({required String groupId}) async { + final query = select(groupMatchTable) + ..where((gm) => gm.groupId.equals(groupId)); + final result = await query.get(); + return result.map((row) => row.matchId).toList(); + } +} + From 867d0c55daff826b6f0dd2d7087fcfd3f550b995 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 12:00:07 +0100 Subject: [PATCH 033/198] update match_dao.dart --- lib/data/dao/match_dao.dart | 240 +++++++++++++++++++----------------- 1 file changed, 128 insertions(+), 112 deletions(-) diff --git a/lib/data/dao/match_dao.dart b/lib/data/dao/match_dao.dart index 160686a..0c16a6b 100644 --- a/lib/data/dao/match_dao.dart +++ b/lib/data/dao/match_dao.dart @@ -1,13 +1,17 @@ import 'package:drift/drift.dart'; import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/db/tables/game_table.dart'; +import 'package:game_tracker/data/db/tables/group_table.dart'; import 'package:game_tracker/data/db/tables/match_table.dart'; +import 'package:game_tracker/data/db/tables/player_match_table.dart'; +import 'package:game_tracker/data/dto/game.dart'; import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; part 'match_dao.g.dart'; -@DriftAccessor(tables: [MatchTable]) +@DriftAccessor(tables: [MatchTable, GameTable, GroupTable, PlayerMatchTable]) class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { MatchDao(super.db); @@ -18,20 +22,22 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { return Future.wait( result.map((row) async { - final group = await db.groupMatchDao.getGroupOfMatch(matchId: row.id); + final game = await db.gameDao.getGameById(gameId: row.gameId); + Group? group; + if (row.groupId != null) { + group = await db.groupDao.getGroupById(groupId: row.groupId!); + } final players = await db.playerMatchDao.getPlayersOfMatch( matchId: row.id, ); - final winner = row.winnerId != null - ? await db.playerDao.getPlayerById(playerId: row.winnerId!) - : null; return Match( id: row.id, - name: row.name, + name: row.name ?? '', + game: game, group: group, players: players, + notes: row.notes, createdAt: row.createdAt, - winner: winner, ); }), ); @@ -42,100 +48,110 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { final query = select(matchTable)..where((g) => g.id.equals(matchId)); final result = await query.getSingle(); + final game = await db.gameDao.getGameById(gameId: result.gameId); + + Group? group; + if (result.groupId != null) { + group = await db.groupDao.getGroupById(groupId: result.groupId!); + } + List? players; if (await db.playerMatchDao.matchHasPlayers(matchId: matchId)) { players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId); } - Group? group; - if (await db.groupMatchDao.matchHasGroup(matchId: matchId)) { - group = await db.groupMatchDao.getGroupOfMatch(matchId: matchId); - } - Player? winner; - if (result.winnerId != null) { - winner = await db.playerDao.getPlayerById(playerId: result.winnerId!); - } return Match( id: result.id, - name: result.name, - players: players, + name: result.name ?? '', + game: game, group: group, - winner: winner, + players: players, + notes: result.notes, createdAt: result.createdAt, ); } - /// Adds a new [Match] to the database. Also adds players and group - /// associations. This method assumes that the players and groups added to - /// this match are already present in the database. + /// Adds a new [Match] to the database. Also adds players associations. + /// This method assumes that the game and group (if any) are already present + /// in the database. Future addMatch({required Match match}) async { + if (match.game == null) { + throw ArgumentError('Match must have a game associated with it'); + } + await db.transaction(() async { await into(matchTable).insert( MatchTableCompanion.insert( id: match.id, - name: match.name, - winnerId: Value(match.winner?.id), + gameId: match.game!.id, + groupId: Value(match.group?.id), + name: Value(match.name), + notes: Value(match.notes), createdAt: match.createdAt, ), mode: InsertMode.insertOrReplace, ); if (match.players != null) { - for (final p in match.players ?? []) { + for (final p in match.players!) { await db.playerMatchDao.addPlayerToMatch( matchId: match.id, playerId: p.id, ); } } - - if (match.group != null) { - await db.groupMatchDao.addGroupToMatch( - matchId: match.id, - groupId: match.group!.id, - ); - } }); } - /// Adds multiple [Match]s to the database in a batch operation. + /// Adds multiple [Match]es to the database in a batch operation. /// Also adds associated players and groups if they exist. /// If the [matches] list is empty, the method returns immediately. - /// This Method should only be used to import matches from a different device. + /// This method should only be used to import matches from a different device. Future addMatchAsList({required List matches}) async { if (matches.isEmpty) return; await db.transaction(() async { - // Add all matches in batch - await db.batch( - (b) => b.insertAll( - matchTable, - matches - .map( - (match) => MatchTableCompanion.insert( - id: match.id, - name: match.name, - createdAt: match.createdAt, - winnerId: Value(match.winner?.id), - ), - ) - .toList(), - mode: InsertMode.insertOrReplace, - ), - ); + // Add all games first (deduplicated) + final uniqueGames = {}; + for (final match in matches) { + if (match.game != null) { + uniqueGames[match.game!.id] = match.game!; + } + } + + if (uniqueGames.isNotEmpty) { + await db.batch( + (b) => b.insertAll( + db.gameTable, + uniqueGames.values + .map( + (game) => GameTableCompanion.insert( + id: game.id, + name: game.name, + ruleset: game.ruleset ?? '', + description: Value(game.description), + color: Value(game.color?.toString()), + icon: Value(game.icon), + createdAt: game.createdAt, + ), + ) + .toList(), + mode: InsertMode.insertOrIgnore, + ), + ); + } // Add all groups of the matches in batch - // Using insertOrIgnore to avoid overwriting existing groups (which would - // trigger cascade deletes on player_group associations) await db.batch( (b) => b.insertAll( db.groupTable, matches .where((match) => match.group != null) .map( - (matches) => GroupTableCompanion.insert( - id: matches.group!.id, - name: matches.group!.name, - createdAt: matches.group!.createdAt, + (match) => GroupTableCompanion.insert( + id: match.group!.id, + name: match.group!.name, + description: Value(match.group!.description), + createdAt: match.group!.createdAt, ), ) .toList(), @@ -143,6 +159,27 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { ), ); + // Add all matches in batch + await db.batch( + (b) => b.insertAll( + matchTable, + matches + .where((match) => match.game != null) + .map( + (match) => MatchTableCompanion.insert( + id: match.id, + gameId: match.game!.id, + groupId: Value(match.group?.id), + name: Value(match.name), + notes: Value(match.notes), + createdAt: match.createdAt, + ), + ) + .toList(), + mode: InsertMode.insertOrReplace, + ), + ); + // Add all players of the matches in batch (unique) final uniquePlayers = {}; for (final match in matches) { @@ -160,8 +197,6 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { } if (uniquePlayers.isNotEmpty) { - // Using insertOrIgnore to avoid triggering cascade deletes on - // player_group/player_match associations when players already exist await db.batch( (b) => b.insertAll( db.playerTable, @@ -170,6 +205,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { (p) => PlayerTableCompanion.insert( id: p.id, name: p.name, + description: Value(p.description), createdAt: p.createdAt, ), ) @@ -183,12 +219,13 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { await db.batch((b) { for (final match in matches) { if (match.players != null) { - for (final p in match.players ?? []) { + for (final p in match.players!) { b.insert( db.playerMatchTable, PlayerMatchTableCompanion.insert( matchId: match.id, playerId: p.id, + score: 0, ), mode: InsertMode.insertOrIgnore, ); @@ -214,22 +251,6 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { } } }); - - // Add all group-match associations in batch - await db.batch((b) { - for (final match in matches) { - if (match.group != null) { - b.insert( - db.groupMatchTable, - GroupMatchTableCompanion.insert( - matchId: match.id, - groupId: match.group!.id, - ), - mode: InsertMode.insertOrIgnore, - ); - } - } - }); }); } @@ -266,52 +287,20 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { return rowsAffected > 0; } - /// Sets the winner of the match with the given [matchId] to the player with - /// the given [winnerId]. + /// Updates the notes of the match with the given [matchId]. /// Returns `true` if more than 0 rows were affected, otherwise `false`. - Future setWinner({ + Future updateMatchNotes({ required String matchId, - required String winnerId, + required String? notes, }) async { final query = update(matchTable)..where((g) => g.id.equals(matchId)); final rowsAffected = await query.write( - MatchTableCompanion(winnerId: Value(winnerId)), + MatchTableCompanion(notes: Value(notes)), ); return rowsAffected > 0; } - /// Retrieves the winner of the match with the given [matchId]. - /// Returns the [Player] who won the match, or `null` if no winner is set. - Future getWinner({required String matchId}) async { - final query = select(matchTable)..where((g) => g.id.equals(matchId)); - final result = await query.getSingleOrNull(); - if (result == null || result.winnerId == null) { - return null; - } - final winner = await db.playerDao.getPlayerById(playerId: result.winnerId!); - return winner; - } - - /// Removes the winner of the match with the given [matchId]. - /// Returns `true` if more than 0 rows were affected, otherwise `false`. - Future removeWinner({required String matchId}) async { - final query = update(matchTable)..where((g) => g.id.equals(matchId)); - final rowsAffected = await query.write( - const MatchTableCompanion(winnerId: Value(null)), - ); - return rowsAffected > 0; - } - - /// Checks if the match with the given [matchId] has a winner set. - /// Returns `true` if a winner is set, otherwise `false`. - Future hasWinner({required String matchId}) async { - final query = select(matchTable) - ..where((g) => g.id.equals(matchId) & g.winnerId.isNotNull()); - final result = await query.getSingleOrNull(); - return result != null; - } - - /// Changes the title of the match with the given [matchId] to [newName]. + /// Changes the name of the match with the given [matchId] to [newName]. /// Returns `true` if more than 0 rows were affected, otherwise `false`. Future updateMatchName({ required String matchId, @@ -323,4 +312,31 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { ); return rowsAffected > 0; } + + /// Updates the game of the match with the given [matchId]. + /// Returns `true` if more than 0 rows were affected, otherwise `false`. + Future updateMatchGame({ + required String matchId, + required String gameId, + }) async { + final query = update(matchTable)..where((g) => g.id.equals(matchId)); + final rowsAffected = await query.write( + MatchTableCompanion(gameId: Value(gameId)), + ); + return rowsAffected > 0; + } + + /// Updates the group of the match with the given [matchId]. + /// Pass null to remove the group association. + /// Returns `true` if more than 0 rows were affected, otherwise `false`. + Future updateMatchGroup({ + required String matchId, + required String? groupId, + }) async { + final query = update(matchTable)..where((g) => g.id.equals(matchId)); + final rowsAffected = await query.write( + MatchTableCompanion(groupId: Value(groupId)), + ); + return rowsAffected > 0; + } } From 4b900c12bf1fe7a0b769cb67c18717a1037e70c3 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 12:22:23 +0100 Subject: [PATCH 034/198] add description to player --- lib/data/dao/player_dao.dart | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/data/dao/player_dao.dart b/lib/data/dao/player_dao.dart index c8db800..40c5c98 100644 --- a/lib/data/dao/player_dao.dart +++ b/lib/data/dao/player_dao.dart @@ -15,7 +15,12 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { final result = await query.get(); return result .map( - (row) => Player(id: row.id, name: row.name, createdAt: row.createdAt), + (row) => Player( + id: row.id, + name: row.name, + description: row.description, + createdAt: row.createdAt, + ), ) .toList(); } @@ -27,6 +32,7 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { return Player( id: result.id, name: result.name, + description: result.description, createdAt: result.createdAt, ); } @@ -40,6 +46,7 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { PlayerTableCompanion.insert( id: player.id, name: player.name, + description: Value(player.description), createdAt: player.createdAt, ), mode: InsertMode.insertOrReplace, @@ -63,6 +70,7 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { (player) => PlayerTableCompanion.insert( id: player.id, name: player.name, + description: Value(player.description), createdAt: player.createdAt, ), ) From 3857665444d297f21aac034f10596bebad8a80ab Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 12:23:24 +0100 Subject: [PATCH 035/198] update player_match_dao.dart --- lib/data/dao/player_match_dao.dart | 78 ++++++++++++++++++++++++++++-- 1 file changed, 75 insertions(+), 3 deletions(-) diff --git a/lib/data/dao/player_match_dao.dart b/lib/data/dao/player_match_dao.dart index 7ebaee6..a2185e6 100644 --- a/lib/data/dao/player_match_dao.dart +++ b/lib/data/dao/player_match_dao.dart @@ -1,23 +1,31 @@ import 'package:drift/drift.dart'; import 'package:game_tracker/data/db/database.dart'; import 'package:game_tracker/data/db/tables/player_match_table.dart'; +import 'package:game_tracker/data/db/tables/team_table.dart'; import 'package:game_tracker/data/dto/player.dart'; part 'player_match_dao.g.dart'; -@DriftAccessor(tables: [PlayerMatchTable]) +@DriftAccessor(tables: [PlayerMatchTable, TeamTable]) class PlayerMatchDao extends DatabaseAccessor with _$PlayerMatchDaoMixin { PlayerMatchDao(super.db); /// Associates a player with a match by inserting a record into the - /// [PlayerMatchTable]. + /// [PlayerMatchTable]. Optionally associates with a team and sets initial score. Future addPlayerToMatch({ required String matchId, required String playerId, + String? teamId, + int score = 0, }) async { await into(playerMatchTable).insert( - PlayerMatchTableCompanion.insert(playerId: playerId, matchId: matchId), + PlayerMatchTableCompanion.insert( + playerId: playerId, + matchId: matchId, + teamId: Value(teamId), + score: score, + ), mode: InsertMode.insertOrIgnore, ); } @@ -38,6 +46,50 @@ class PlayerMatchDao extends DatabaseAccessor return players; } + /// Retrieves a player's score for a specific match. + /// Returns null if the player is not in the match. + Future getPlayerScore({ + required String matchId, + required String playerId, + }) async { + final result = await (select(playerMatchTable) + ..where( + (p) => p.matchId.equals(matchId) & p.playerId.equals(playerId), + )) + .getSingleOrNull(); + return result?.score; + } + + /// Updates the score for a player in a match. + /// Returns `true` if the update was successful, otherwise `false`. + Future updatePlayerScore({ + required String matchId, + required String playerId, + required int newScore, + }) async { + final rowsAffected = await (update(playerMatchTable) + ..where( + (p) => p.matchId.equals(matchId) & p.playerId.equals(playerId), + )) + .write(PlayerMatchTableCompanion(score: Value(newScore))); + return rowsAffected > 0; + } + + /// Updates the team for a player in a match. + /// Returns `true` if the update was successful, otherwise `false`. + Future updatePlayerTeam({ + required String matchId, + required String playerId, + required String? teamId, + }) async { + final rowsAffected = await (update(playerMatchTable) + ..where( + (p) => p.matchId.equals(matchId) & p.playerId.equals(playerId), + )) + .write(PlayerMatchTableCompanion(teamId: Value(teamId))); + return rowsAffected > 0; + } + /// Checks if there are any players associated with the given [matchId]. /// Returns `true` if there are players, otherwise `false`. Future matchHasPlayers({required String matchId}) async { @@ -114,6 +166,7 @@ class PlayerMatchDao extends DatabaseAccessor (id) => PlayerMatchTableCompanion.insert( playerId: id, matchId: matchId, + score: 0, ), ) .toList(); @@ -127,4 +180,23 @@ class PlayerMatchDao extends DatabaseAccessor } }); } + + /// Retrieves all players in a specific team for a match. + Future> getPlayersInTeam({ + required String matchId, + required String teamId, + }) async { + final result = await (select(playerMatchTable) + ..where( + (p) => p.matchId.equals(matchId) & p.teamId.equals(teamId), + )) + .get(); + + if (result.isEmpty) return []; + + final futures = result.map( + (row) => db.playerDao.getPlayerById(playerId: row.playerId), + ); + return Future.wait(futures); + } } From b737cae356a7f5c43b89e41f34e12a12fde207dd Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 12:27:20 +0100 Subject: [PATCH 036/198] remove group_match_dao.dart --- lib/data/dao/group_match_dao.dart | 108 ------------------------------ 1 file changed, 108 deletions(-) delete mode 100644 lib/data/dao/group_match_dao.dart diff --git a/lib/data/dao/group_match_dao.dart b/lib/data/dao/group_match_dao.dart deleted file mode 100644 index 8f0700a..0000000 --- a/lib/data/dao/group_match_dao.dart +++ /dev/null @@ -1,108 +0,0 @@ -import 'package:drift/drift.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/db/tables/group_match_table.dart'; -import 'package:game_tracker/data/db/tables/group_table.dart'; -import 'package:game_tracker/data/dto/group.dart'; - -part 'group_match_dao.g.dart'; - -@DriftAccessor(tables: [GroupMatchTable, GroupTable]) -class GroupMatchDao extends DatabaseAccessor - with _$GroupMatchDaoMixin { - GroupMatchDao(super.db); - - /// Adds a group to a match by inserting a record into the [GroupMatchTable]. - Future addGroupToMatch({ - required String matchId, - required String groupId, - }) async { - await into(groupMatchTable).insert( - GroupMatchTableCompanion.insert( - matchId: matchId, - groupId: groupId, - ), - mode: InsertMode.insertOrIgnore, - ); - } - - /// Retrieves the [Group] associated with the given [matchId]. - /// Returns null if no group is found. - Future getGroupOfMatch({required String matchId}) async { - final query = select(groupMatchTable) - ..where((gm) => gm.matchId.equals(matchId)); - final result = await query.getSingleOrNull(); - - if (result == null) return null; - - return db.groupDao.getGroupById(groupId: result.groupId); - } - - /// Checks if a match has a group associated with it. - /// Returns `true` if the match has a group, otherwise `false`. - Future matchHasGroup({required String matchId}) async { - final count = await (selectOnly(groupMatchTable) - ..where(groupMatchTable.matchId.equals(matchId)) - ..addColumns([groupMatchTable.groupId.count()])) - .map((row) => row.read(groupMatchTable.groupId.count())) - .getSingle(); - return (count ?? 0) > 0; - } - - /// Checks if a specific group is associated with a specific match. - /// Returns `true` if the group is in the match, otherwise `false`. - Future isGroupInMatch({ - required String matchId, - required String groupId, - }) async { - final query = select(groupMatchTable) - ..where( - (gm) => gm.matchId.equals(matchId) & gm.groupId.equals(groupId), - ); - final result = await query.getSingleOrNull(); - return result != null; - } - - /// Removes the association of a group with a match by deleting the record - /// from the [GroupMatchTable]. - /// Returns `true` if more than 0 rows were affected, otherwise `false`. - Future removeGroupFromMatch({ - required String matchId, - required String groupId, - }) async { - final query = delete(groupMatchTable) - ..where((gm) => gm.matchId.equals(matchId) & gm.groupId.equals(groupId)); - final rowsAffected = await query.go(); - return rowsAffected > 0; - } - - /// Updates the group associated with a match. - /// Removes the existing group association and adds the new one. - Future updateGroupOfMatch({ - required String matchId, - required String newGroupId, - }) async { - await db.transaction(() async { - // Remove existing group association - await (delete(groupMatchTable) - ..where((gm) => gm.matchId.equals(matchId))) - .go(); - - // Add new group association - await into(groupMatchTable).insert( - GroupMatchTableCompanion.insert( - matchId: matchId, - groupId: newGroupId, - ), - ); - }); - } - - /// Retrieves all matches associated with a specific group. - Future> getMatchIdsForGroup({required String groupId}) async { - final query = select(groupMatchTable) - ..where((gm) => gm.groupId.equals(groupId)); - final result = await query.get(); - return result.map((row) => row.matchId).toList(); - } -} - From a13d9c55ea777096d896c091e4bc1552784ddec2 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 12:37:37 +0100 Subject: [PATCH 037/198] add score_dao.dart --- lib/data/dao/score_dao.dart | 191 ++++++++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 lib/data/dao/score_dao.dart diff --git a/lib/data/dao/score_dao.dart b/lib/data/dao/score_dao.dart new file mode 100644 index 0000000..5fa29da --- /dev/null +++ b/lib/data/dao/score_dao.dart @@ -0,0 +1,191 @@ +import 'package:drift/drift.dart'; +import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/db/tables/score_table.dart'; + +part 'score_dao.g.dart'; + +/// A data class representing a score entry. +class ScoreEntry { + final String playerId; + final String matchId; + final int roundNumber; + final int score; + final int change; + + ScoreEntry({ + required this.playerId, + required this.matchId, + required this.roundNumber, + required this.score, + required this.change, + }); +} + +@DriftAccessor(tables: [ScoreTable]) +class ScoreDao extends DatabaseAccessor with _$ScoreDaoMixin { + ScoreDao(super.db); + + /// Adds a score entry to the database. + Future addScore({ + required String playerId, + required String matchId, + required int roundNumber, + required int score, + required int change, + }) async { + await into(scoreTable).insert( + ScoreTableCompanion.insert( + playerId: playerId, + matchId: matchId, + roundNumber: roundNumber, + score: score, + change: change, + ), + mode: InsertMode.insertOrReplace, + ); + } + + /// Retrieves all scores for a specific match. + Future> getScoresForMatch({required String matchId}) async { + final query = select(scoreTable)..where((s) => s.matchId.equals(matchId)); + final result = await query.get(); + return result + .map( + (row) => ScoreEntry( + playerId: row.playerId, + matchId: row.matchId, + roundNumber: row.roundNumber, + score: row.score, + change: row.change, + ), + ) + .toList(); + } + + /// Retrieves all scores for a specific player in a match. + Future> getPlayerScoresInMatch({ + required String playerId, + required String matchId, + }) async { + final query = select(scoreTable) + ..where( + (s) => s.playerId.equals(playerId) & s.matchId.equals(matchId), + ) + ..orderBy([(s) => OrderingTerm.asc(s.roundNumber)]); + final result = await query.get(); + return result + .map( + (row) => ScoreEntry( + playerId: row.playerId, + matchId: row.matchId, + roundNumber: row.roundNumber, + score: row.score, + change: row.change, + ), + ) + .toList(); + } + + /// Retrieves the score for a specific round. + Future getScoreForRound({ + required String playerId, + required String matchId, + required int roundNumber, + }) async { + final query = select(scoreTable) + ..where( + (s) => + s.playerId.equals(playerId) & + s.matchId.equals(matchId) & + s.roundNumber.equals(roundNumber), + ); + final result = await query.getSingleOrNull(); + if (result == null) return null; + return ScoreEntry( + playerId: result.playerId, + matchId: result.matchId, + roundNumber: result.roundNumber, + score: result.score, + change: result.change, + ); + } + + /// Updates a score entry. + Future updateScore({ + required String playerId, + required String matchId, + required int roundNumber, + required int newScore, + required int newChange, + }) async { + final rowsAffected = await (update(scoreTable) + ..where( + (s) => + s.playerId.equals(playerId) & + s.matchId.equals(matchId) & + s.roundNumber.equals(roundNumber), + )) + .write( + ScoreTableCompanion( + score: Value(newScore), + change: Value(newChange), + ), + ); + return rowsAffected > 0; + } + + /// Deletes a score entry. + Future deleteScore({ + required String playerId, + required String matchId, + required int roundNumber, + }) async { + final query = delete(scoreTable) + ..where( + (s) => + s.playerId.equals(playerId) & + s.matchId.equals(matchId) & + s.roundNumber.equals(roundNumber), + ); + final rowsAffected = await query.go(); + return rowsAffected > 0; + } + + /// Deletes all scores for a specific match. + Future deleteScoresForMatch({required String matchId}) async { + final query = delete(scoreTable)..where((s) => s.matchId.equals(matchId)); + final rowsAffected = await query.go(); + return rowsAffected > 0; + } + + /// Deletes all scores for a specific player. + Future deleteScoresForPlayer({required String playerId}) async { + final query = delete(scoreTable)..where((s) => s.playerId.equals(playerId)); + final rowsAffected = await query.go(); + return rowsAffected > 0; + } + + /// Gets the latest round number for a match. + Future getLatestRoundNumber({required String matchId}) async { + final query = selectOnly(scoreTable) + ..where(scoreTable.matchId.equals(matchId)) + ..addColumns([scoreTable.roundNumber.max()]); + final result = await query.getSingle(); + return result.read(scoreTable.roundNumber.max()) ?? 0; + } + + /// Gets the total score for a player in a match (sum of all changes). + Future getTotalScoreForPlayer({ + required String playerId, + required String matchId, + }) async { + final scores = await getPlayerScoresInMatch( + playerId: playerId, + matchId: matchId, + ); + if (scores.isEmpty) return 0; + // Return the score from the latest round + return scores.last.score; + } +} + From c2a9bda8b1fdf98ff962a512f8e6dfd84da4a058 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 12:38:09 +0100 Subject: [PATCH 038/198] add team_dao.dart --- lib/data/dao/team_dao.dart | 145 +++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 lib/data/dao/team_dao.dart diff --git a/lib/data/dao/team_dao.dart b/lib/data/dao/team_dao.dart new file mode 100644 index 0000000..a382643 --- /dev/null +++ b/lib/data/dao/team_dao.dart @@ -0,0 +1,145 @@ +import 'package:drift/drift.dart'; +import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/db/tables/team_table.dart'; +import 'package:game_tracker/data/dto/player.dart'; +import 'package:game_tracker/data/dto/team.dart'; + +part 'team_dao.g.dart'; + +@DriftAccessor(tables: [TeamTable]) +class TeamDao extends DatabaseAccessor with _$TeamDaoMixin { + TeamDao(super.db); + + /// Retrieves all teams from the database. + /// Note: This returns teams without their members. Use getTeamById for full team data. + Future> getAllTeams() async { + final query = select(teamTable); + final result = await query.get(); + return Future.wait( + result.map((row) async { + final members = await _getTeamMembers(teamId: row.id); + return Team( + id: row.id, + createdAt: row.createdAt, + members: members, + ); + }), + ); + } + + /// Retrieves a [Team] by its [teamId], including its members. + Future getTeamById({required String teamId}) async { + final query = select(teamTable)..where((t) => t.id.equals(teamId)); + final result = await query.getSingle(); + final members = await _getTeamMembers(teamId: teamId); + return Team( + id: result.id, + createdAt: result.createdAt, + members: members, + ); + } + + /// Helper method to get team members from player_match_table. + /// This assumes team members are tracked via the player_match_table. + Future> _getTeamMembers({required String teamId}) async { + // Get all player_match entries with this teamId + final playerMatchQuery = select(db.playerMatchTable) + ..where((pm) => pm.teamId.equals(teamId)); + final playerMatches = await playerMatchQuery.get(); + + if (playerMatches.isEmpty) return []; + + // Get unique player IDs + final playerIds = playerMatches.map((pm) => pm.playerId).toSet(); + + // Fetch all players + final players = await Future.wait( + playerIds.map((id) => db.playerDao.getPlayerById(playerId: id)), + ); + return players; + } + + /// Adds a new [team] to the database. + /// Returns `true` if the team was added, `false` otherwise. + Future addTeam({required Team team}) async { + if (!await teamExists(teamId: team.id)) { + await into(teamTable).insert( + TeamTableCompanion.insert( + id: team.id, + name: '', // Team name from table (not in DTO currently) + createdAt: team.createdAt, + ), + mode: InsertMode.insertOrReplace, + ); + return true; + } + return false; + } + + /// Adds multiple [teams] to the database in a batch operation. + Future addTeamsAsList({required List teams}) async { + if (teams.isEmpty) return false; + + await db.batch( + (b) => b.insertAll( + teamTable, + teams + .map( + (team) => TeamTableCompanion.insert( + id: team.id, + name: '', + createdAt: team.createdAt, + ), + ) + .toList(), + mode: InsertMode.insertOrIgnore, + ), + ); + + return true; + } + + /// Deletes the team with the given [teamId] from the database. + /// Returns `true` if the team was deleted, `false` otherwise. + Future deleteTeam({required String teamId}) async { + final query = delete(teamTable)..where((t) => t.id.equals(teamId)); + final rowsAffected = await query.go(); + return rowsAffected > 0; + } + + /// Checks if a team with the given [teamId] exists in the database. + /// Returns `true` if the team exists, `false` otherwise. + Future teamExists({required String teamId}) async { + final query = select(teamTable)..where((t) => t.id.equals(teamId)); + final result = await query.getSingleOrNull(); + return result != null; + } + + /// Updates the name of the team with the given [teamId]. + Future updateTeamName({ + required String teamId, + required String newName, + }) async { + await (update(teamTable)..where((t) => t.id.equals(teamId))).write( + TeamTableCompanion(name: Value(newName)), + ); + } + + /// Retrieves the total count of teams in the database. + Future getTeamCount() async { + final count = + await (selectOnly(teamTable)..addColumns([teamTable.id.count()])) + .map((row) => row.read(teamTable.id.count())) + .getSingle(); + return count ?? 0; + } + + /// Deletes all teams from the database. + /// Returns `true` if more than 0 rows were affected, otherwise `false`. + Future deleteAllTeams() async { + final query = delete(teamTable); + final rowsAffected = await query.go(); + return rowsAffected > 0; + } +} + From 52c1605ce901dac73eb3184d212bbddb73813fd3 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 12:38:16 +0100 Subject: [PATCH 039/198] update database.dart --- lib/data/db/database.dart | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/data/db/database.dart b/lib/data/db/database.dart index 632a4c6..628e013 100644 --- a/lib/data/db/database.dart +++ b/lib/data/db/database.dart @@ -1,15 +1,21 @@ import 'package:drift/drift.dart'; import 'package:drift_flutter/drift_flutter.dart'; +import 'package:game_tracker/data/dao/game_dao.dart'; import 'package:game_tracker/data/dao/group_dao.dart'; import 'package:game_tracker/data/dao/match_dao.dart'; import 'package:game_tracker/data/dao/player_dao.dart'; import 'package:game_tracker/data/dao/player_group_dao.dart'; import 'package:game_tracker/data/dao/player_match_dao.dart'; +import 'package:game_tracker/data/dao/score_dao.dart'; +import 'package:game_tracker/data/dao/team_dao.dart'; +import 'package:game_tracker/data/db/tables/game_table.dart'; import 'package:game_tracker/data/db/tables/group_table.dart'; import 'package:game_tracker/data/db/tables/match_table.dart'; import 'package:game_tracker/data/db/tables/player_group_table.dart'; import 'package:game_tracker/data/db/tables/player_match_table.dart'; import 'package:game_tracker/data/db/tables/player_table.dart'; +import 'package:game_tracker/data/db/tables/score_table.dart'; +import 'package:game_tracker/data/db/tables/team_table.dart'; import 'package:path_provider/path_provider.dart'; part 'database.g.dart'; @@ -18,23 +24,29 @@ part 'database.g.dart'; tables: [ PlayerTable, GroupTable, + GameTable, + TeamTable, MatchTable, PlayerGroupTable, - PlayerMatchTable + PlayerMatchTable, + ScoreTable, ], daos: [ PlayerDao, GroupDao, + GameDao, + TeamDao, MatchDao, PlayerGroupDao, - PlayerMatchDao + PlayerMatchDao, + ScoreDao, ], ) class AppDatabase extends _$AppDatabase { AppDatabase([QueryExecutor? executor]) : super(executor ?? _openConnection()); @override - int get schemaVersion => 1; + int get schemaVersion => 2; @override MigrationStrategy get migration { From b9b6ff85ea524589263f18104055c94a4a0658c4 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 12:38:25 +0100 Subject: [PATCH 040/198] update g files --- lib/data/dao/game_dao.g.dart | 8 + lib/data/dao/match_dao.g.dart | 6 + lib/data/dao/player_match_dao.g.dart | 3 + lib/data/dao/score_dao.g.dart | 12 + lib/data/dao/team_dao.g.dart | 8 + lib/data/db/database.g.dart | 3814 +++++++++++++++++++++----- 6 files changed, 3117 insertions(+), 734 deletions(-) create mode 100644 lib/data/dao/game_dao.g.dart create mode 100644 lib/data/dao/score_dao.g.dart create mode 100644 lib/data/dao/team_dao.g.dart diff --git a/lib/data/dao/game_dao.g.dart b/lib/data/dao/game_dao.g.dart new file mode 100644 index 0000000..b5a29fe --- /dev/null +++ b/lib/data/dao/game_dao.g.dart @@ -0,0 +1,8 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'game_dao.dart'; + +// ignore_for_file: type=lint +mixin _$GameDaoMixin on DatabaseAccessor { + $GameTableTable get gameTable => attachedDatabase.gameTable; +} diff --git a/lib/data/dao/match_dao.g.dart b/lib/data/dao/match_dao.g.dart index a9f6f4c..fa75fee 100644 --- a/lib/data/dao/match_dao.g.dart +++ b/lib/data/dao/match_dao.g.dart @@ -4,5 +4,11 @@ part of 'match_dao.dart'; // ignore_for_file: type=lint mixin _$MatchDaoMixin on DatabaseAccessor { + $GameTableTable get gameTable => attachedDatabase.gameTable; + $GroupTableTable get groupTable => attachedDatabase.groupTable; $MatchTableTable get matchTable => attachedDatabase.matchTable; + $PlayerTableTable get playerTable => attachedDatabase.playerTable; + $TeamTableTable get teamTable => attachedDatabase.teamTable; + $PlayerMatchTableTable get playerMatchTable => + attachedDatabase.playerMatchTable; } diff --git a/lib/data/dao/player_match_dao.g.dart b/lib/data/dao/player_match_dao.g.dart index bcc8ef7..4c8bcbe 100644 --- a/lib/data/dao/player_match_dao.g.dart +++ b/lib/data/dao/player_match_dao.g.dart @@ -5,7 +5,10 @@ part of 'player_match_dao.dart'; // ignore_for_file: type=lint mixin _$PlayerMatchDaoMixin on DatabaseAccessor { $PlayerTableTable get playerTable => attachedDatabase.playerTable; + $GameTableTable get gameTable => attachedDatabase.gameTable; + $GroupTableTable get groupTable => attachedDatabase.groupTable; $MatchTableTable get matchTable => attachedDatabase.matchTable; + $TeamTableTable get teamTable => attachedDatabase.teamTable; $PlayerMatchTableTable get playerMatchTable => attachedDatabase.playerMatchTable; } diff --git a/lib/data/dao/score_dao.g.dart b/lib/data/dao/score_dao.g.dart new file mode 100644 index 0000000..1f4e367 --- /dev/null +++ b/lib/data/dao/score_dao.g.dart @@ -0,0 +1,12 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'score_dao.dart'; + +// ignore_for_file: type=lint +mixin _$ScoreDaoMixin on DatabaseAccessor { + $PlayerTableTable get playerTable => attachedDatabase.playerTable; + $GameTableTable get gameTable => attachedDatabase.gameTable; + $GroupTableTable get groupTable => attachedDatabase.groupTable; + $MatchTableTable get matchTable => attachedDatabase.matchTable; + $ScoreTableTable get scoreTable => attachedDatabase.scoreTable; +} diff --git a/lib/data/dao/team_dao.g.dart b/lib/data/dao/team_dao.g.dart new file mode 100644 index 0000000..1bf5b21 --- /dev/null +++ b/lib/data/dao/team_dao.g.dart @@ -0,0 +1,8 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'team_dao.dart'; + +// ignore_for_file: type=lint +mixin _$TeamDaoMixin on DatabaseAccessor { + $TeamTableTable get teamTable => attachedDatabase.teamTable; +} diff --git a/lib/data/db/database.g.dart b/lib/data/db/database.g.dart index 6bc493c..fbc76f0 100644 --- a/lib/data/db/database.g.dart +++ b/lib/data/db/database.g.dart @@ -27,6 +27,17 @@ class $PlayerTableTable extends PlayerTable type: DriftSqlType.string, requiredDuringInsert: true, ); + static const VerificationMeta _descriptionMeta = const VerificationMeta( + 'description', + ); + @override + late final GeneratedColumn description = GeneratedColumn( + 'description', + aliasedName, + true, + type: DriftSqlType.string, + requiredDuringInsert: false, + ); static const VerificationMeta _createdAtMeta = const VerificationMeta( 'createdAt', ); @@ -39,7 +50,7 @@ class $PlayerTableTable extends PlayerTable requiredDuringInsert: true, ); @override - List get $columns => [id, name, createdAt]; + List get $columns => [id, name, description, createdAt]; @override String get aliasedName => _alias ?? actualTableName; @override @@ -65,6 +76,15 @@ class $PlayerTableTable extends PlayerTable } else if (isInserting) { context.missing(_nameMeta); } + if (data.containsKey('description')) { + context.handle( + _descriptionMeta, + description.isAcceptableOrUnknown( + data['description']!, + _descriptionMeta, + ), + ); + } if (data.containsKey('created_at')) { context.handle( _createdAtMeta, @@ -90,6 +110,10 @@ class $PlayerTableTable extends PlayerTable DriftSqlType.string, data['${effectivePrefix}name'], )!, + description: attachedDatabase.typeMapping.read( + DriftSqlType.string, + data['${effectivePrefix}description'], + ), createdAt: attachedDatabase.typeMapping.read( DriftSqlType.dateTime, data['${effectivePrefix}created_at'], @@ -106,10 +130,12 @@ class $PlayerTableTable extends PlayerTable class PlayerTableData extends DataClass implements Insertable { final String id; final String name; + final String? description; final DateTime createdAt; const PlayerTableData({ required this.id, required this.name, + this.description, required this.createdAt, }); @override @@ -117,6 +143,9 @@ class PlayerTableData extends DataClass implements Insertable { final map = {}; map['id'] = Variable(id); map['name'] = Variable(name); + if (!nullToAbsent || description != null) { + map['description'] = Variable(description); + } map['created_at'] = Variable(createdAt); return map; } @@ -125,6 +154,9 @@ class PlayerTableData extends DataClass implements Insertable { return PlayerTableCompanion( id: Value(id), name: Value(name), + description: description == null && nullToAbsent + ? const Value.absent() + : Value(description), createdAt: Value(createdAt), ); } @@ -137,6 +169,7 @@ class PlayerTableData extends DataClass implements Insertable { return PlayerTableData( id: serializer.fromJson(json['id']), name: serializer.fromJson(json['name']), + description: serializer.fromJson(json['description']), createdAt: serializer.fromJson(json['createdAt']), ); } @@ -146,20 +179,29 @@ class PlayerTableData extends DataClass implements Insertable { return { 'id': serializer.toJson(id), 'name': serializer.toJson(name), + 'description': serializer.toJson(description), 'createdAt': serializer.toJson(createdAt), }; } - PlayerTableData copyWith({String? id, String? name, DateTime? createdAt}) => - PlayerTableData( - id: id ?? this.id, - name: name ?? this.name, - createdAt: createdAt ?? this.createdAt, - ); + PlayerTableData copyWith({ + String? id, + String? name, + Value description = const Value.absent(), + DateTime? createdAt, + }) => PlayerTableData( + id: id ?? this.id, + name: name ?? this.name, + description: description.present ? description.value : this.description, + createdAt: createdAt ?? this.createdAt, + ); PlayerTableData copyWithCompanion(PlayerTableCompanion data) { return PlayerTableData( id: data.id.present ? data.id.value : this.id, name: data.name.present ? data.name.value : this.name, + description: data.description.present + ? data.description.value + : this.description, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, ); } @@ -169,36 +211,41 @@ class PlayerTableData extends DataClass implements Insertable { return (StringBuffer('PlayerTableData(') ..write('id: $id, ') ..write('name: $name, ') + ..write('description: $description, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } @override - int get hashCode => Object.hash(id, name, createdAt); + int get hashCode => Object.hash(id, name, description, createdAt); @override bool operator ==(Object other) => identical(this, other) || (other is PlayerTableData && other.id == this.id && other.name == this.name && + other.description == this.description && other.createdAt == this.createdAt); } class PlayerTableCompanion extends UpdateCompanion { final Value id; final Value name; + final Value description; final Value createdAt; final Value rowid; const PlayerTableCompanion({ this.id = const Value.absent(), this.name = const Value.absent(), + this.description = const Value.absent(), this.createdAt = const Value.absent(), this.rowid = const Value.absent(), }); PlayerTableCompanion.insert({ required String id, required String name, + this.description = const Value.absent(), required DateTime createdAt, this.rowid = const Value.absent(), }) : id = Value(id), @@ -207,12 +254,14 @@ class PlayerTableCompanion extends UpdateCompanion { static Insertable custom({ Expression? id, Expression? name, + Expression? description, Expression? createdAt, Expression? rowid, }) { return RawValuesInsertable({ if (id != null) 'id': id, if (name != null) 'name': name, + if (description != null) 'description': description, if (createdAt != null) 'created_at': createdAt, if (rowid != null) 'rowid': rowid, }); @@ -221,12 +270,14 @@ class PlayerTableCompanion extends UpdateCompanion { PlayerTableCompanion copyWith({ Value? id, Value? name, + Value? description, Value? createdAt, Value? rowid, }) { return PlayerTableCompanion( id: id ?? this.id, name: name ?? this.name, + description: description ?? this.description, createdAt: createdAt ?? this.createdAt, rowid: rowid ?? this.rowid, ); @@ -241,6 +292,9 @@ class PlayerTableCompanion extends UpdateCompanion { if (name.present) { map['name'] = Variable(name.value); } + if (description.present) { + map['description'] = Variable(description.value); + } if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } @@ -255,6 +309,7 @@ class PlayerTableCompanion extends UpdateCompanion { return (StringBuffer('PlayerTableCompanion(') ..write('id: $id, ') ..write('name: $name, ') + ..write('description: $description, ') ..write('createdAt: $createdAt, ') ..write('rowid: $rowid') ..write(')')) @@ -286,6 +341,17 @@ class $GroupTableTable extends GroupTable type: DriftSqlType.string, requiredDuringInsert: true, ); + static const VerificationMeta _descriptionMeta = const VerificationMeta( + 'description', + ); + @override + late final GeneratedColumn description = GeneratedColumn( + 'description', + aliasedName, + true, + type: DriftSqlType.string, + requiredDuringInsert: false, + ); static const VerificationMeta _createdAtMeta = const VerificationMeta( 'createdAt', ); @@ -298,7 +364,7 @@ class $GroupTableTable extends GroupTable requiredDuringInsert: true, ); @override - List get $columns => [id, name, createdAt]; + List get $columns => [id, name, description, createdAt]; @override String get aliasedName => _alias ?? actualTableName; @override @@ -324,6 +390,15 @@ class $GroupTableTable extends GroupTable } else if (isInserting) { context.missing(_nameMeta); } + if (data.containsKey('description')) { + context.handle( + _descriptionMeta, + description.isAcceptableOrUnknown( + data['description']!, + _descriptionMeta, + ), + ); + } if (data.containsKey('created_at')) { context.handle( _createdAtMeta, @@ -349,6 +424,10 @@ class $GroupTableTable extends GroupTable DriftSqlType.string, data['${effectivePrefix}name'], )!, + description: attachedDatabase.typeMapping.read( + DriftSqlType.string, + data['${effectivePrefix}description'], + ), createdAt: attachedDatabase.typeMapping.read( DriftSqlType.dateTime, data['${effectivePrefix}created_at'], @@ -365,8 +444,755 @@ class $GroupTableTable extends GroupTable class GroupTableData extends DataClass implements Insertable { final String id; final String name; + final String? description; final DateTime createdAt; const GroupTableData({ + required this.id, + required this.name, + this.description, + required this.createdAt, + }); + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + map['id'] = Variable(id); + map['name'] = Variable(name); + if (!nullToAbsent || description != null) { + map['description'] = Variable(description); + } + map['created_at'] = Variable(createdAt); + return map; + } + + GroupTableCompanion toCompanion(bool nullToAbsent) { + return GroupTableCompanion( + id: Value(id), + name: Value(name), + description: description == null && nullToAbsent + ? const Value.absent() + : Value(description), + createdAt: Value(createdAt), + ); + } + + factory GroupTableData.fromJson( + Map json, { + ValueSerializer? serializer, + }) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return GroupTableData( + id: serializer.fromJson(json['id']), + name: serializer.fromJson(json['name']), + description: serializer.fromJson(json['description']), + createdAt: serializer.fromJson(json['createdAt']), + ); + } + @override + Map toJson({ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return { + 'id': serializer.toJson(id), + 'name': serializer.toJson(name), + 'description': serializer.toJson(description), + 'createdAt': serializer.toJson(createdAt), + }; + } + + GroupTableData copyWith({ + String? id, + String? name, + Value description = const Value.absent(), + DateTime? createdAt, + }) => GroupTableData( + id: id ?? this.id, + name: name ?? this.name, + description: description.present ? description.value : this.description, + createdAt: createdAt ?? this.createdAt, + ); + GroupTableData copyWithCompanion(GroupTableCompanion data) { + return GroupTableData( + id: data.id.present ? data.id.value : this.id, + name: data.name.present ? data.name.value : this.name, + description: data.description.present + ? data.description.value + : this.description, + createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, + ); + } + + @override + String toString() { + return (StringBuffer('GroupTableData(') + ..write('id: $id, ') + ..write('name: $name, ') + ..write('description: $description, ') + ..write('createdAt: $createdAt') + ..write(')')) + .toString(); + } + + @override + int get hashCode => Object.hash(id, name, description, createdAt); + @override + bool operator ==(Object other) => + identical(this, other) || + (other is GroupTableData && + other.id == this.id && + other.name == this.name && + other.description == this.description && + other.createdAt == this.createdAt); +} + +class GroupTableCompanion extends UpdateCompanion { + final Value id; + final Value name; + final Value description; + final Value createdAt; + final Value rowid; + const GroupTableCompanion({ + this.id = const Value.absent(), + this.name = const Value.absent(), + this.description = const Value.absent(), + this.createdAt = const Value.absent(), + this.rowid = const Value.absent(), + }); + GroupTableCompanion.insert({ + required String id, + required String name, + this.description = const Value.absent(), + required DateTime createdAt, + this.rowid = const Value.absent(), + }) : id = Value(id), + name = Value(name), + createdAt = Value(createdAt); + static Insertable custom({ + Expression? id, + Expression? name, + Expression? description, + Expression? createdAt, + Expression? rowid, + }) { + return RawValuesInsertable({ + if (id != null) 'id': id, + if (name != null) 'name': name, + if (description != null) 'description': description, + if (createdAt != null) 'created_at': createdAt, + if (rowid != null) 'rowid': rowid, + }); + } + + GroupTableCompanion copyWith({ + Value? id, + Value? name, + Value? description, + Value? createdAt, + Value? rowid, + }) { + return GroupTableCompanion( + id: id ?? this.id, + name: name ?? this.name, + description: description ?? this.description, + createdAt: createdAt ?? this.createdAt, + rowid: rowid ?? this.rowid, + ); + } + + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } + if (name.present) { + map['name'] = Variable(name.value); + } + if (description.present) { + map['description'] = Variable(description.value); + } + if (createdAt.present) { + map['created_at'] = Variable(createdAt.value); + } + if (rowid.present) { + map['rowid'] = Variable(rowid.value); + } + return map; + } + + @override + String toString() { + return (StringBuffer('GroupTableCompanion(') + ..write('id: $id, ') + ..write('name: $name, ') + ..write('description: $description, ') + ..write('createdAt: $createdAt, ') + ..write('rowid: $rowid') + ..write(')')) + .toString(); + } +} + +class $GameTableTable extends GameTable + with TableInfo<$GameTableTable, GameTableData> { + @override + final GeneratedDatabase attachedDatabase; + final String? _alias; + $GameTableTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn( + 'id', + aliasedName, + false, + type: DriftSqlType.string, + requiredDuringInsert: true, + ); + static const VerificationMeta _nameMeta = const VerificationMeta('name'); + @override + late final GeneratedColumn name = GeneratedColumn( + 'name', + aliasedName, + false, + type: DriftSqlType.string, + requiredDuringInsert: true, + ); + static const VerificationMeta _rulesetMeta = const VerificationMeta( + 'ruleset', + ); + @override + late final GeneratedColumn ruleset = GeneratedColumn( + 'ruleset', + aliasedName, + false, + type: DriftSqlType.string, + requiredDuringInsert: true, + ); + static const VerificationMeta _descriptionMeta = const VerificationMeta( + 'description', + ); + @override + late final GeneratedColumn description = GeneratedColumn( + 'description', + aliasedName, + true, + type: DriftSqlType.string, + requiredDuringInsert: false, + ); + static const VerificationMeta _colorMeta = const VerificationMeta('color'); + @override + late final GeneratedColumn color = GeneratedColumn( + 'color', + aliasedName, + true, + type: DriftSqlType.string, + requiredDuringInsert: false, + ); + static const VerificationMeta _iconMeta = const VerificationMeta('icon'); + @override + late final GeneratedColumn icon = GeneratedColumn( + 'icon', + aliasedName, + true, + type: DriftSqlType.string, + requiredDuringInsert: false, + ); + static const VerificationMeta _createdAtMeta = const VerificationMeta( + 'createdAt', + ); + @override + late final GeneratedColumn createdAt = GeneratedColumn( + 'created_at', + aliasedName, + false, + type: DriftSqlType.dateTime, + requiredDuringInsert: true, + ); + @override + List get $columns => [ + id, + name, + ruleset, + description, + color, + icon, + createdAt, + ]; + @override + String get aliasedName => _alias ?? actualTableName; + @override + String get actualTableName => $name; + static const String $name = 'game_table'; + @override + VerificationContext validateIntegrity( + Insertable instance, { + bool isInserting = false, + }) { + final context = VerificationContext(); + final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } else if (isInserting) { + context.missing(_idMeta); + } + if (data.containsKey('name')) { + context.handle( + _nameMeta, + name.isAcceptableOrUnknown(data['name']!, _nameMeta), + ); + } else if (isInserting) { + context.missing(_nameMeta); + } + if (data.containsKey('ruleset')) { + context.handle( + _rulesetMeta, + ruleset.isAcceptableOrUnknown(data['ruleset']!, _rulesetMeta), + ); + } else if (isInserting) { + context.missing(_rulesetMeta); + } + if (data.containsKey('description')) { + context.handle( + _descriptionMeta, + description.isAcceptableOrUnknown( + data['description']!, + _descriptionMeta, + ), + ); + } + if (data.containsKey('color')) { + context.handle( + _colorMeta, + color.isAcceptableOrUnknown(data['color']!, _colorMeta), + ); + } + if (data.containsKey('icon')) { + context.handle( + _iconMeta, + icon.isAcceptableOrUnknown(data['icon']!, _iconMeta), + ); + } + if (data.containsKey('created_at')) { + context.handle( + _createdAtMeta, + createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta), + ); + } else if (isInserting) { + context.missing(_createdAtMeta); + } + return context; + } + + @override + Set get $primaryKey => {id}; + @override + GameTableData map(Map data, {String? tablePrefix}) { + final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; + return GameTableData( + id: attachedDatabase.typeMapping.read( + DriftSqlType.string, + data['${effectivePrefix}id'], + )!, + name: attachedDatabase.typeMapping.read( + DriftSqlType.string, + data['${effectivePrefix}name'], + )!, + ruleset: attachedDatabase.typeMapping.read( + DriftSqlType.string, + data['${effectivePrefix}ruleset'], + )!, + description: attachedDatabase.typeMapping.read( + DriftSqlType.string, + data['${effectivePrefix}description'], + ), + color: attachedDatabase.typeMapping.read( + DriftSqlType.string, + data['${effectivePrefix}color'], + ), + icon: attachedDatabase.typeMapping.read( + DriftSqlType.string, + data['${effectivePrefix}icon'], + ), + createdAt: attachedDatabase.typeMapping.read( + DriftSqlType.dateTime, + data['${effectivePrefix}created_at'], + )!, + ); + } + + @override + $GameTableTable createAlias(String alias) { + return $GameTableTable(attachedDatabase, alias); + } +} + +class GameTableData extends DataClass implements Insertable { + final String id; + final String name; + final String ruleset; + final String? description; + final String? color; + final String? icon; + final DateTime createdAt; + const GameTableData({ + required this.id, + required this.name, + required this.ruleset, + this.description, + this.color, + this.icon, + required this.createdAt, + }); + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + map['id'] = Variable(id); + map['name'] = Variable(name); + map['ruleset'] = Variable(ruleset); + if (!nullToAbsent || description != null) { + map['description'] = Variable(description); + } + if (!nullToAbsent || color != null) { + map['color'] = Variable(color); + } + if (!nullToAbsent || icon != null) { + map['icon'] = Variable(icon); + } + map['created_at'] = Variable(createdAt); + return map; + } + + GameTableCompanion toCompanion(bool nullToAbsent) { + return GameTableCompanion( + id: Value(id), + name: Value(name), + ruleset: Value(ruleset), + description: description == null && nullToAbsent + ? const Value.absent() + : Value(description), + color: color == null && nullToAbsent + ? const Value.absent() + : Value(color), + icon: icon == null && nullToAbsent ? const Value.absent() : Value(icon), + createdAt: Value(createdAt), + ); + } + + factory GameTableData.fromJson( + Map json, { + ValueSerializer? serializer, + }) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return GameTableData( + id: serializer.fromJson(json['id']), + name: serializer.fromJson(json['name']), + ruleset: serializer.fromJson(json['ruleset']), + description: serializer.fromJson(json['description']), + color: serializer.fromJson(json['color']), + icon: serializer.fromJson(json['icon']), + createdAt: serializer.fromJson(json['createdAt']), + ); + } + @override + Map toJson({ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return { + 'id': serializer.toJson(id), + 'name': serializer.toJson(name), + 'ruleset': serializer.toJson(ruleset), + 'description': serializer.toJson(description), + 'color': serializer.toJson(color), + 'icon': serializer.toJson(icon), + 'createdAt': serializer.toJson(createdAt), + }; + } + + GameTableData copyWith({ + String? id, + String? name, + String? ruleset, + Value description = const Value.absent(), + Value color = const Value.absent(), + Value icon = const Value.absent(), + DateTime? createdAt, + }) => GameTableData( + id: id ?? this.id, + name: name ?? this.name, + ruleset: ruleset ?? this.ruleset, + description: description.present ? description.value : this.description, + color: color.present ? color.value : this.color, + icon: icon.present ? icon.value : this.icon, + createdAt: createdAt ?? this.createdAt, + ); + GameTableData copyWithCompanion(GameTableCompanion data) { + return GameTableData( + id: data.id.present ? data.id.value : this.id, + name: data.name.present ? data.name.value : this.name, + ruleset: data.ruleset.present ? data.ruleset.value : this.ruleset, + description: data.description.present + ? data.description.value + : this.description, + color: data.color.present ? data.color.value : this.color, + icon: data.icon.present ? data.icon.value : this.icon, + createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, + ); + } + + @override + String toString() { + return (StringBuffer('GameTableData(') + ..write('id: $id, ') + ..write('name: $name, ') + ..write('ruleset: $ruleset, ') + ..write('description: $description, ') + ..write('color: $color, ') + ..write('icon: $icon, ') + ..write('createdAt: $createdAt') + ..write(')')) + .toString(); + } + + @override + int get hashCode => + Object.hash(id, name, ruleset, description, color, icon, createdAt); + @override + bool operator ==(Object other) => + identical(this, other) || + (other is GameTableData && + other.id == this.id && + other.name == this.name && + other.ruleset == this.ruleset && + other.description == this.description && + other.color == this.color && + other.icon == this.icon && + other.createdAt == this.createdAt); +} + +class GameTableCompanion extends UpdateCompanion { + final Value id; + final Value name; + final Value ruleset; + final Value description; + final Value color; + final Value icon; + final Value createdAt; + final Value rowid; + const GameTableCompanion({ + this.id = const Value.absent(), + this.name = const Value.absent(), + this.ruleset = const Value.absent(), + this.description = const Value.absent(), + this.color = const Value.absent(), + this.icon = const Value.absent(), + this.createdAt = const Value.absent(), + this.rowid = const Value.absent(), + }); + GameTableCompanion.insert({ + required String id, + required String name, + required String ruleset, + this.description = const Value.absent(), + this.color = const Value.absent(), + this.icon = const Value.absent(), + required DateTime createdAt, + this.rowid = const Value.absent(), + }) : id = Value(id), + name = Value(name), + ruleset = Value(ruleset), + createdAt = Value(createdAt); + static Insertable custom({ + Expression? id, + Expression? name, + Expression? ruleset, + Expression? description, + Expression? color, + Expression? icon, + Expression? createdAt, + Expression? rowid, + }) { + return RawValuesInsertable({ + if (id != null) 'id': id, + if (name != null) 'name': name, + if (ruleset != null) 'ruleset': ruleset, + if (description != null) 'description': description, + if (color != null) 'color': color, + if (icon != null) 'icon': icon, + if (createdAt != null) 'created_at': createdAt, + if (rowid != null) 'rowid': rowid, + }); + } + + GameTableCompanion copyWith({ + Value? id, + Value? name, + Value? ruleset, + Value? description, + Value? color, + Value? icon, + Value? createdAt, + Value? rowid, + }) { + return GameTableCompanion( + id: id ?? this.id, + name: name ?? this.name, + ruleset: ruleset ?? this.ruleset, + description: description ?? this.description, + color: color ?? this.color, + icon: icon ?? this.icon, + createdAt: createdAt ?? this.createdAt, + rowid: rowid ?? this.rowid, + ); + } + + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } + if (name.present) { + map['name'] = Variable(name.value); + } + if (ruleset.present) { + map['ruleset'] = Variable(ruleset.value); + } + if (description.present) { + map['description'] = Variable(description.value); + } + if (color.present) { + map['color'] = Variable(color.value); + } + if (icon.present) { + map['icon'] = Variable(icon.value); + } + if (createdAt.present) { + map['created_at'] = Variable(createdAt.value); + } + if (rowid.present) { + map['rowid'] = Variable(rowid.value); + } + return map; + } + + @override + String toString() { + return (StringBuffer('GameTableCompanion(') + ..write('id: $id, ') + ..write('name: $name, ') + ..write('ruleset: $ruleset, ') + ..write('description: $description, ') + ..write('color: $color, ') + ..write('icon: $icon, ') + ..write('createdAt: $createdAt, ') + ..write('rowid: $rowid') + ..write(')')) + .toString(); + } +} + +class $TeamTableTable extends TeamTable + with TableInfo<$TeamTableTable, TeamTableData> { + @override + final GeneratedDatabase attachedDatabase; + final String? _alias; + $TeamTableTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn( + 'id', + aliasedName, + false, + type: DriftSqlType.string, + requiredDuringInsert: true, + ); + static const VerificationMeta _nameMeta = const VerificationMeta('name'); + @override + late final GeneratedColumn name = GeneratedColumn( + 'name', + aliasedName, + false, + type: DriftSqlType.string, + requiredDuringInsert: true, + ); + static const VerificationMeta _createdAtMeta = const VerificationMeta( + 'createdAt', + ); + @override + late final GeneratedColumn createdAt = GeneratedColumn( + 'created_at', + aliasedName, + false, + type: DriftSqlType.dateTime, + requiredDuringInsert: true, + ); + @override + List get $columns => [id, name, createdAt]; + @override + String get aliasedName => _alias ?? actualTableName; + @override + String get actualTableName => $name; + static const String $name = 'team_table'; + @override + VerificationContext validateIntegrity( + Insertable instance, { + bool isInserting = false, + }) { + final context = VerificationContext(); + final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } else if (isInserting) { + context.missing(_idMeta); + } + if (data.containsKey('name')) { + context.handle( + _nameMeta, + name.isAcceptableOrUnknown(data['name']!, _nameMeta), + ); + } else if (isInserting) { + context.missing(_nameMeta); + } + if (data.containsKey('created_at')) { + context.handle( + _createdAtMeta, + createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta), + ); + } else if (isInserting) { + context.missing(_createdAtMeta); + } + return context; + } + + @override + Set get $primaryKey => {id}; + @override + TeamTableData map(Map data, {String? tablePrefix}) { + final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; + return TeamTableData( + id: attachedDatabase.typeMapping.read( + DriftSqlType.string, + data['${effectivePrefix}id'], + )!, + name: attachedDatabase.typeMapping.read( + DriftSqlType.string, + data['${effectivePrefix}name'], + )!, + createdAt: attachedDatabase.typeMapping.read( + DriftSqlType.dateTime, + data['${effectivePrefix}created_at'], + )!, + ); + } + + @override + $TeamTableTable createAlias(String alias) { + return $TeamTableTable(attachedDatabase, alias); + } +} + +class TeamTableData extends DataClass implements Insertable { + final String id; + final String name; + final DateTime createdAt; + const TeamTableData({ required this.id, required this.name, required this.createdAt, @@ -380,20 +1206,20 @@ class GroupTableData extends DataClass implements Insertable { return map; } - GroupTableCompanion toCompanion(bool nullToAbsent) { - return GroupTableCompanion( + TeamTableCompanion toCompanion(bool nullToAbsent) { + return TeamTableCompanion( id: Value(id), name: Value(name), createdAt: Value(createdAt), ); } - factory GroupTableData.fromJson( + factory TeamTableData.fromJson( Map json, { ValueSerializer? serializer, }) { serializer ??= driftRuntimeOptions.defaultSerializer; - return GroupTableData( + return TeamTableData( id: serializer.fromJson(json['id']), name: serializer.fromJson(json['name']), createdAt: serializer.fromJson(json['createdAt']), @@ -409,14 +1235,14 @@ class GroupTableData extends DataClass implements Insertable { }; } - GroupTableData copyWith({String? id, String? name, DateTime? createdAt}) => - GroupTableData( + TeamTableData copyWith({String? id, String? name, DateTime? createdAt}) => + TeamTableData( id: id ?? this.id, name: name ?? this.name, createdAt: createdAt ?? this.createdAt, ); - GroupTableData copyWithCompanion(GroupTableCompanion data) { - return GroupTableData( + TeamTableData copyWithCompanion(TeamTableCompanion data) { + return TeamTableData( id: data.id.present ? data.id.value : this.id, name: data.name.present ? data.name.value : this.name, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, @@ -425,7 +1251,7 @@ class GroupTableData extends DataClass implements Insertable { @override String toString() { - return (StringBuffer('GroupTableData(') + return (StringBuffer('TeamTableData(') ..write('id: $id, ') ..write('name: $name, ') ..write('createdAt: $createdAt') @@ -438,24 +1264,24 @@ class GroupTableData extends DataClass implements Insertable { @override bool operator ==(Object other) => identical(this, other) || - (other is GroupTableData && + (other is TeamTableData && other.id == this.id && other.name == this.name && other.createdAt == this.createdAt); } -class GroupTableCompanion extends UpdateCompanion { +class TeamTableCompanion extends UpdateCompanion { final Value id; final Value name; final Value createdAt; final Value rowid; - const GroupTableCompanion({ + const TeamTableCompanion({ this.id = const Value.absent(), this.name = const Value.absent(), this.createdAt = const Value.absent(), this.rowid = const Value.absent(), }); - GroupTableCompanion.insert({ + TeamTableCompanion.insert({ required String id, required String name, required DateTime createdAt, @@ -463,7 +1289,7 @@ class GroupTableCompanion extends UpdateCompanion { }) : id = Value(id), name = Value(name), createdAt = Value(createdAt); - static Insertable custom({ + static Insertable custom({ Expression? id, Expression? name, Expression? createdAt, @@ -477,13 +1303,13 @@ class GroupTableCompanion extends UpdateCompanion { }); } - GroupTableCompanion copyWith({ + TeamTableCompanion copyWith({ Value? id, Value? name, Value? createdAt, Value? rowid, }) { - return GroupTableCompanion( + return TeamTableCompanion( id: id ?? this.id, name: name ?? this.name, createdAt: createdAt ?? this.createdAt, @@ -511,7 +1337,7 @@ class GroupTableCompanion extends UpdateCompanion { @override String toString() { - return (StringBuffer('GroupTableCompanion(') + return (StringBuffer('TeamTableCompanion(') ..write('id: $id, ') ..write('name: $name, ') ..write('createdAt: $createdAt, ') @@ -536,21 +1362,45 @@ class $MatchTableTable extends MatchTable type: DriftSqlType.string, requiredDuringInsert: true, ); + static const VerificationMeta _gameIdMeta = const VerificationMeta('gameId'); + @override + late final GeneratedColumn gameId = GeneratedColumn( + 'game_id', + aliasedName, + false, + type: DriftSqlType.string, + requiredDuringInsert: true, + defaultConstraints: GeneratedColumn.constraintIsAlways( + 'REFERENCES game_table (id) ON DELETE CASCADE', + ), + ); + static const VerificationMeta _groupIdMeta = const VerificationMeta( + 'groupId', + ); + @override + late final GeneratedColumn groupId = GeneratedColumn( + 'group_id', + aliasedName, + true, + type: DriftSqlType.string, + requiredDuringInsert: false, + defaultConstraints: GeneratedColumn.constraintIsAlways( + 'REFERENCES group_table (id) ON DELETE CASCADE', + ), + ); static const VerificationMeta _nameMeta = const VerificationMeta('name'); @override late final GeneratedColumn name = GeneratedColumn( 'name', aliasedName, - false, + true, type: DriftSqlType.string, - requiredDuringInsert: true, - ); - static const VerificationMeta _winnerIdMeta = const VerificationMeta( - 'winnerId', + requiredDuringInsert: false, ); + static const VerificationMeta _notesMeta = const VerificationMeta('notes'); @override - late final GeneratedColumn winnerId = GeneratedColumn( - 'winner_id', + late final GeneratedColumn notes = GeneratedColumn( + 'notes', aliasedName, true, type: DriftSqlType.string, @@ -568,7 +1418,14 @@ class $MatchTableTable extends MatchTable requiredDuringInsert: true, ); @override - List get $columns => [id, name, winnerId, createdAt]; + List get $columns => [ + id, + gameId, + groupId, + name, + notes, + createdAt, + ]; @override String get aliasedName => _alias ?? actualTableName; @override @@ -586,18 +1443,30 @@ class $MatchTableTable extends MatchTable } else if (isInserting) { context.missing(_idMeta); } + if (data.containsKey('game_id')) { + context.handle( + _gameIdMeta, + gameId.isAcceptableOrUnknown(data['game_id']!, _gameIdMeta), + ); + } else if (isInserting) { + context.missing(_gameIdMeta); + } + if (data.containsKey('group_id')) { + context.handle( + _groupIdMeta, + groupId.isAcceptableOrUnknown(data['group_id']!, _groupIdMeta), + ); + } if (data.containsKey('name')) { context.handle( _nameMeta, name.isAcceptableOrUnknown(data['name']!, _nameMeta), ); - } else if (isInserting) { - context.missing(_nameMeta); } - if (data.containsKey('winner_id')) { + if (data.containsKey('notes')) { context.handle( - _winnerIdMeta, - winnerId.isAcceptableOrUnknown(data['winner_id']!, _winnerIdMeta), + _notesMeta, + notes.isAcceptableOrUnknown(data['notes']!, _notesMeta), ); } if (data.containsKey('created_at')) { @@ -621,13 +1490,21 @@ class $MatchTableTable extends MatchTable DriftSqlType.string, data['${effectivePrefix}id'], )!, + gameId: attachedDatabase.typeMapping.read( + DriftSqlType.string, + data['${effectivePrefix}game_id'], + )!, + groupId: attachedDatabase.typeMapping.read( + DriftSqlType.string, + data['${effectivePrefix}group_id'], + ), name: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}name'], - )!, - winnerId: attachedDatabase.typeMapping.read( + ), + notes: attachedDatabase.typeMapping.read( DriftSqlType.string, - data['${effectivePrefix}winner_id'], + data['${effectivePrefix}notes'], ), createdAt: attachedDatabase.typeMapping.read( DriftSqlType.dateTime, @@ -644,22 +1521,32 @@ class $MatchTableTable extends MatchTable class MatchTableData extends DataClass implements Insertable { final String id; - final String name; - final String? winnerId; + final String gameId; + final String? groupId; + final String? name; + final String? notes; final DateTime createdAt; const MatchTableData({ required this.id, - required this.name, - this.winnerId, + required this.gameId, + this.groupId, + this.name, + this.notes, required this.createdAt, }); @override Map toColumns(bool nullToAbsent) { final map = {}; map['id'] = Variable(id); - map['name'] = Variable(name); - if (!nullToAbsent || winnerId != null) { - map['winner_id'] = Variable(winnerId); + map['game_id'] = Variable(gameId); + if (!nullToAbsent || groupId != null) { + map['group_id'] = Variable(groupId); + } + if (!nullToAbsent || name != null) { + map['name'] = Variable(name); + } + if (!nullToAbsent || notes != null) { + map['notes'] = Variable(notes); } map['created_at'] = Variable(createdAt); return map; @@ -668,10 +1555,14 @@ class MatchTableData extends DataClass implements Insertable { MatchTableCompanion toCompanion(bool nullToAbsent) { return MatchTableCompanion( id: Value(id), - name: Value(name), - winnerId: winnerId == null && nullToAbsent + gameId: Value(gameId), + groupId: groupId == null && nullToAbsent ? const Value.absent() - : Value(winnerId), + : Value(groupId), + name: name == null && nullToAbsent ? const Value.absent() : Value(name), + notes: notes == null && nullToAbsent + ? const Value.absent() + : Value(notes), createdAt: Value(createdAt), ); } @@ -683,8 +1574,10 @@ class MatchTableData extends DataClass implements Insertable { serializer ??= driftRuntimeOptions.defaultSerializer; return MatchTableData( id: serializer.fromJson(json['id']), - name: serializer.fromJson(json['name']), - winnerId: serializer.fromJson(json['winnerId']), + gameId: serializer.fromJson(json['gameId']), + groupId: serializer.fromJson(json['groupId']), + name: serializer.fromJson(json['name']), + notes: serializer.fromJson(json['notes']), createdAt: serializer.fromJson(json['createdAt']), ); } @@ -693,28 +1586,36 @@ class MatchTableData extends DataClass implements Insertable { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), - 'name': serializer.toJson(name), - 'winnerId': serializer.toJson(winnerId), + 'gameId': serializer.toJson(gameId), + 'groupId': serializer.toJson(groupId), + 'name': serializer.toJson(name), + 'notes': serializer.toJson(notes), 'createdAt': serializer.toJson(createdAt), }; } MatchTableData copyWith({ String? id, - String? name, - Value winnerId = const Value.absent(), + String? gameId, + Value groupId = const Value.absent(), + Value name = const Value.absent(), + Value notes = const Value.absent(), DateTime? createdAt, }) => MatchTableData( id: id ?? this.id, - name: name ?? this.name, - winnerId: winnerId.present ? winnerId.value : this.winnerId, + gameId: gameId ?? this.gameId, + groupId: groupId.present ? groupId.value : this.groupId, + name: name.present ? name.value : this.name, + notes: notes.present ? notes.value : this.notes, createdAt: createdAt ?? this.createdAt, ); MatchTableData copyWithCompanion(MatchTableCompanion data) { return MatchTableData( id: data.id.present ? data.id.value : this.id, + gameId: data.gameId.present ? data.gameId.value : this.gameId, + groupId: data.groupId.present ? data.groupId.value : this.groupId, name: data.name.present ? data.name.value : this.name, - winnerId: data.winnerId.present ? data.winnerId.value : this.winnerId, + notes: data.notes.present ? data.notes.value : this.notes, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, ); } @@ -723,58 +1624,72 @@ class MatchTableData extends DataClass implements Insertable { String toString() { return (StringBuffer('MatchTableData(') ..write('id: $id, ') + ..write('gameId: $gameId, ') + ..write('groupId: $groupId, ') ..write('name: $name, ') - ..write('winnerId: $winnerId, ') + ..write('notes: $notes, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } @override - int get hashCode => Object.hash(id, name, winnerId, createdAt); + int get hashCode => Object.hash(id, gameId, groupId, name, notes, createdAt); @override bool operator ==(Object other) => identical(this, other) || (other is MatchTableData && other.id == this.id && + other.gameId == this.gameId && + other.groupId == this.groupId && other.name == this.name && - other.winnerId == this.winnerId && + other.notes == this.notes && other.createdAt == this.createdAt); } class MatchTableCompanion extends UpdateCompanion { final Value id; - final Value name; - final Value winnerId; + final Value gameId; + final Value groupId; + final Value name; + final Value notes; final Value createdAt; final Value rowid; const MatchTableCompanion({ this.id = const Value.absent(), + this.gameId = const Value.absent(), + this.groupId = const Value.absent(), this.name = const Value.absent(), - this.winnerId = const Value.absent(), + this.notes = const Value.absent(), this.createdAt = const Value.absent(), this.rowid = const Value.absent(), }); MatchTableCompanion.insert({ required String id, - required String name, - this.winnerId = const Value.absent(), + required String gameId, + this.groupId = const Value.absent(), + this.name = const Value.absent(), + this.notes = const Value.absent(), required DateTime createdAt, this.rowid = const Value.absent(), }) : id = Value(id), - name = Value(name), + gameId = Value(gameId), createdAt = Value(createdAt); static Insertable custom({ Expression? id, + Expression? gameId, + Expression? groupId, Expression? name, - Expression? winnerId, + Expression? notes, Expression? createdAt, Expression? rowid, }) { return RawValuesInsertable({ if (id != null) 'id': id, + if (gameId != null) 'game_id': gameId, + if (groupId != null) 'group_id': groupId, if (name != null) 'name': name, - if (winnerId != null) 'winner_id': winnerId, + if (notes != null) 'notes': notes, if (createdAt != null) 'created_at': createdAt, if (rowid != null) 'rowid': rowid, }); @@ -782,15 +1697,19 @@ class MatchTableCompanion extends UpdateCompanion { MatchTableCompanion copyWith({ Value? id, - Value? name, - Value? winnerId, + Value? gameId, + Value? groupId, + Value? name, + Value? notes, Value? createdAt, Value? rowid, }) { return MatchTableCompanion( id: id ?? this.id, + gameId: gameId ?? this.gameId, + groupId: groupId ?? this.groupId, name: name ?? this.name, - winnerId: winnerId ?? this.winnerId, + notes: notes ?? this.notes, createdAt: createdAt ?? this.createdAt, rowid: rowid ?? this.rowid, ); @@ -802,11 +1721,17 @@ class MatchTableCompanion extends UpdateCompanion { if (id.present) { map['id'] = Variable(id.value); } + if (gameId.present) { + map['game_id'] = Variable(gameId.value); + } + if (groupId.present) { + map['group_id'] = Variable(groupId.value); + } if (name.present) { map['name'] = Variable(name.value); } - if (winnerId.present) { - map['winner_id'] = Variable(winnerId.value); + if (notes.present) { + map['notes'] = Variable(notes.value); } if (createdAt.present) { map['created_at'] = Variable(createdAt.value); @@ -821,8 +1746,10 @@ class MatchTableCompanion extends UpdateCompanion { String toString() { return (StringBuffer('MatchTableCompanion(') ..write('id: $id, ') + ..write('gameId: $gameId, ') + ..write('groupId: $groupId, ') ..write('name: $name, ') - ..write('winnerId: $winnerId, ') + ..write('notes: $notes, ') ..write('createdAt: $createdAt, ') ..write('rowid: $rowid') ..write(')')) @@ -1089,8 +2016,29 @@ class $PlayerMatchTableTable extends PlayerMatchTable 'REFERENCES match_table (id) ON DELETE CASCADE', ), ); + static const VerificationMeta _teamIdMeta = const VerificationMeta('teamId'); @override - List get $columns => [playerId, matchId]; + late final GeneratedColumn teamId = GeneratedColumn( + 'team_id', + aliasedName, + true, + type: DriftSqlType.string, + requiredDuringInsert: false, + defaultConstraints: GeneratedColumn.constraintIsAlways( + 'REFERENCES team_table (id)', + ), + ); + static const VerificationMeta _scoreMeta = const VerificationMeta('score'); + @override + late final GeneratedColumn score = GeneratedColumn( + 'score', + aliasedName, + false, + type: DriftSqlType.int, + requiredDuringInsert: true, + ); + @override + List get $columns => [playerId, matchId, teamId, score]; @override String get aliasedName => _alias ?? actualTableName; @override @@ -1119,6 +2067,20 @@ class $PlayerMatchTableTable extends PlayerMatchTable } else if (isInserting) { context.missing(_matchIdMeta); } + if (data.containsKey('team_id')) { + context.handle( + _teamIdMeta, + teamId.isAcceptableOrUnknown(data['team_id']!, _teamIdMeta), + ); + } + if (data.containsKey('score')) { + context.handle( + _scoreMeta, + score.isAcceptableOrUnknown(data['score']!, _scoreMeta), + ); + } else if (isInserting) { + context.missing(_scoreMeta); + } return context; } @@ -1136,6 +2098,14 @@ class $PlayerMatchTableTable extends PlayerMatchTable DriftSqlType.string, data['${effectivePrefix}match_id'], )!, + teamId: attachedDatabase.typeMapping.read( + DriftSqlType.string, + data['${effectivePrefix}team_id'], + ), + score: attachedDatabase.typeMapping.read( + DriftSqlType.int, + data['${effectivePrefix}score'], + )!, ); } @@ -1149,12 +2119,23 @@ class PlayerMatchTableData extends DataClass implements Insertable { final String playerId; final String matchId; - const PlayerMatchTableData({required this.playerId, required this.matchId}); + final String? teamId; + final int score; + const PlayerMatchTableData({ + required this.playerId, + required this.matchId, + this.teamId, + required this.score, + }); @override Map toColumns(bool nullToAbsent) { final map = {}; map['player_id'] = Variable(playerId); map['match_id'] = Variable(matchId); + if (!nullToAbsent || teamId != null) { + map['team_id'] = Variable(teamId); + } + map['score'] = Variable(score); return map; } @@ -1162,6 +2143,10 @@ class PlayerMatchTableData extends DataClass return PlayerMatchTableCompanion( playerId: Value(playerId), matchId: Value(matchId), + teamId: teamId == null && nullToAbsent + ? const Value.absent() + : Value(teamId), + score: Value(score), ); } @@ -1173,6 +2158,8 @@ class PlayerMatchTableData extends DataClass return PlayerMatchTableData( playerId: serializer.fromJson(json['playerId']), matchId: serializer.fromJson(json['matchId']), + teamId: serializer.fromJson(json['teamId']), + score: serializer.fromJson(json['score']), ); } @override @@ -1181,18 +2168,28 @@ class PlayerMatchTableData extends DataClass return { 'playerId': serializer.toJson(playerId), 'matchId': serializer.toJson(matchId), + 'teamId': serializer.toJson(teamId), + 'score': serializer.toJson(score), }; } - PlayerMatchTableData copyWith({String? playerId, String? matchId}) => - PlayerMatchTableData( - playerId: playerId ?? this.playerId, - matchId: matchId ?? this.matchId, - ); + PlayerMatchTableData copyWith({ + String? playerId, + String? matchId, + Value teamId = const Value.absent(), + int? score, + }) => PlayerMatchTableData( + playerId: playerId ?? this.playerId, + matchId: matchId ?? this.matchId, + teamId: teamId.present ? teamId.value : this.teamId, + score: score ?? this.score, + ); PlayerMatchTableData copyWithCompanion(PlayerMatchTableCompanion data) { return PlayerMatchTableData( playerId: data.playerId.present ? data.playerId.value : this.playerId, matchId: data.matchId.present ? data.matchId.value : this.matchId, + teamId: data.teamId.present ? data.teamId.value : this.teamId, + score: data.score.present ? data.score.value : this.score, ); } @@ -1200,44 +2197,59 @@ class PlayerMatchTableData extends DataClass String toString() { return (StringBuffer('PlayerMatchTableData(') ..write('playerId: $playerId, ') - ..write('matchId: $matchId') + ..write('matchId: $matchId, ') + ..write('teamId: $teamId, ') + ..write('score: $score') ..write(')')) .toString(); } @override - int get hashCode => Object.hash(playerId, matchId); + int get hashCode => Object.hash(playerId, matchId, teamId, score); @override bool operator ==(Object other) => identical(this, other) || (other is PlayerMatchTableData && other.playerId == this.playerId && - other.matchId == this.matchId); + other.matchId == this.matchId && + other.teamId == this.teamId && + other.score == this.score); } class PlayerMatchTableCompanion extends UpdateCompanion { final Value playerId; final Value matchId; + final Value teamId; + final Value score; final Value rowid; const PlayerMatchTableCompanion({ this.playerId = const Value.absent(), this.matchId = const Value.absent(), + this.teamId = const Value.absent(), + this.score = const Value.absent(), this.rowid = const Value.absent(), }); PlayerMatchTableCompanion.insert({ required String playerId, required String matchId, + this.teamId = const Value.absent(), + required int score, this.rowid = const Value.absent(), }) : playerId = Value(playerId), - matchId = Value(matchId); + matchId = Value(matchId), + score = Value(score); static Insertable custom({ Expression? playerId, Expression? matchId, + Expression? teamId, + Expression? score, Expression? rowid, }) { return RawValuesInsertable({ if (playerId != null) 'player_id': playerId, if (matchId != null) 'match_id': matchId, + if (teamId != null) 'team_id': teamId, + if (score != null) 'score': score, if (rowid != null) 'rowid': rowid, }); } @@ -1245,11 +2257,15 @@ class PlayerMatchTableCompanion extends UpdateCompanion { PlayerMatchTableCompanion copyWith({ Value? playerId, Value? matchId, + Value? teamId, + Value? score, Value? rowid, }) { return PlayerMatchTableCompanion( playerId: playerId ?? this.playerId, matchId: matchId ?? this.matchId, + teamId: teamId ?? this.teamId, + score: score ?? this.score, rowid: rowid ?? this.rowid, ); } @@ -1263,6 +2279,12 @@ class PlayerMatchTableCompanion extends UpdateCompanion { if (matchId.present) { map['match_id'] = Variable(matchId.value); } + if (teamId.present) { + map['team_id'] = Variable(teamId.value); + } + if (score.present) { + map['score'] = Variable(score.value); + } if (rowid.present) { map['rowid'] = Variable(rowid.value); } @@ -1274,30 +2296,32 @@ class PlayerMatchTableCompanion extends UpdateCompanion { return (StringBuffer('PlayerMatchTableCompanion(') ..write('playerId: $playerId, ') ..write('matchId: $matchId, ') + ..write('teamId: $teamId, ') + ..write('score: $score, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } -class $GroupMatchTableTable extends GroupMatchTable - with TableInfo<$GroupMatchTableTable, GroupMatchTableData> { +class $ScoreTableTable extends ScoreTable + with TableInfo<$ScoreTableTable, ScoreTableData> { @override final GeneratedDatabase attachedDatabase; final String? _alias; - $GroupMatchTableTable(this.attachedDatabase, [this._alias]); - static const VerificationMeta _groupIdMeta = const VerificationMeta( - 'groupId', + $ScoreTableTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _playerIdMeta = const VerificationMeta( + 'playerId', ); @override - late final GeneratedColumn groupId = GeneratedColumn( - 'group_id', + late final GeneratedColumn playerId = GeneratedColumn( + 'player_id', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, defaultConstraints: GeneratedColumn.constraintIsAlways( - 'REFERENCES group_table (id) ON DELETE CASCADE', + 'REFERENCES player_table (id) ON DELETE CASCADE', ), ); static const VerificationMeta _matchIdMeta = const VerificationMeta( @@ -1314,27 +2338,62 @@ class $GroupMatchTableTable extends GroupMatchTable 'REFERENCES match_table (id) ON DELETE CASCADE', ), ); + static const VerificationMeta _roundNumberMeta = const VerificationMeta( + 'roundNumber', + ); @override - List get $columns => [groupId, matchId]; + late final GeneratedColumn roundNumber = GeneratedColumn( + 'round_number', + aliasedName, + false, + type: DriftSqlType.int, + requiredDuringInsert: true, + ); + static const VerificationMeta _scoreMeta = const VerificationMeta('score'); + @override + late final GeneratedColumn score = GeneratedColumn( + 'score', + aliasedName, + false, + type: DriftSqlType.int, + requiredDuringInsert: true, + ); + static const VerificationMeta _changeMeta = const VerificationMeta('change'); + @override + late final GeneratedColumn change = GeneratedColumn( + 'change', + aliasedName, + false, + type: DriftSqlType.int, + requiredDuringInsert: true, + ); + @override + List get $columns => [ + playerId, + matchId, + roundNumber, + score, + change, + ]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; - static const String $name = 'group_match_table'; + static const String $name = 'score_table'; @override VerificationContext validateIntegrity( - Insertable instance, { + Insertable instance, { bool isInserting = false, }) { final context = VerificationContext(); final data = instance.toColumns(true); - if (data.containsKey('group_id')) { + if (data.containsKey('player_id')) { context.handle( - _groupIdMeta, - groupId.isAcceptableOrUnknown(data['group_id']!, _groupIdMeta), + _playerIdMeta, + playerId.isAcceptableOrUnknown(data['player_id']!, _playerIdMeta), ); } else if (isInserting) { - context.missing(_groupIdMeta); + context.missing(_playerIdMeta); } if (data.containsKey('match_id')) { context.handle( @@ -1344,137 +2403,240 @@ class $GroupMatchTableTable extends GroupMatchTable } else if (isInserting) { context.missing(_matchIdMeta); } + if (data.containsKey('round_number')) { + context.handle( + _roundNumberMeta, + roundNumber.isAcceptableOrUnknown( + data['round_number']!, + _roundNumberMeta, + ), + ); + } else if (isInserting) { + context.missing(_roundNumberMeta); + } + if (data.containsKey('score')) { + context.handle( + _scoreMeta, + score.isAcceptableOrUnknown(data['score']!, _scoreMeta), + ); + } else if (isInserting) { + context.missing(_scoreMeta); + } + if (data.containsKey('change')) { + context.handle( + _changeMeta, + change.isAcceptableOrUnknown(data['change']!, _changeMeta), + ); + } else if (isInserting) { + context.missing(_changeMeta); + } return context; } @override - Set get $primaryKey => {groupId, matchId}; + Set get $primaryKey => {playerId, matchId, roundNumber}; @override - GroupMatchTableData map(Map data, {String? tablePrefix}) { + ScoreTableData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; - return GroupMatchTableData( - groupId: attachedDatabase.typeMapping.read( + return ScoreTableData( + playerId: attachedDatabase.typeMapping.read( DriftSqlType.string, - data['${effectivePrefix}group_id'], + data['${effectivePrefix}player_id'], )!, matchId: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}match_id'], )!, + roundNumber: attachedDatabase.typeMapping.read( + DriftSqlType.int, + data['${effectivePrefix}round_number'], + )!, + score: attachedDatabase.typeMapping.read( + DriftSqlType.int, + data['${effectivePrefix}score'], + )!, + change: attachedDatabase.typeMapping.read( + DriftSqlType.int, + data['${effectivePrefix}change'], + )!, ); } @override - $GroupMatchTableTable createAlias(String alias) { - return $GroupMatchTableTable(attachedDatabase, alias); + $ScoreTableTable createAlias(String alias) { + return $ScoreTableTable(attachedDatabase, alias); } } -class GroupMatchTableData extends DataClass - implements Insertable { - final String groupId; +class ScoreTableData extends DataClass implements Insertable { + final String playerId; final String matchId; - const GroupMatchTableData({required this.groupId, required this.matchId}); + final int roundNumber; + final int score; + final int change; + const ScoreTableData({ + required this.playerId, + required this.matchId, + required this.roundNumber, + required this.score, + required this.change, + }); @override Map toColumns(bool nullToAbsent) { final map = {}; - map['group_id'] = Variable(groupId); + map['player_id'] = Variable(playerId); map['match_id'] = Variable(matchId); + map['round_number'] = Variable(roundNumber); + map['score'] = Variable(score); + map['change'] = Variable(change); return map; } - GroupMatchTableCompanion toCompanion(bool nullToAbsent) { - return GroupMatchTableCompanion( - groupId: Value(groupId), + ScoreTableCompanion toCompanion(bool nullToAbsent) { + return ScoreTableCompanion( + playerId: Value(playerId), matchId: Value(matchId), + roundNumber: Value(roundNumber), + score: Value(score), + change: Value(change), ); } - factory GroupMatchTableData.fromJson( + factory ScoreTableData.fromJson( Map json, { ValueSerializer? serializer, }) { serializer ??= driftRuntimeOptions.defaultSerializer; - return GroupMatchTableData( - groupId: serializer.fromJson(json['groupId']), + return ScoreTableData( + playerId: serializer.fromJson(json['playerId']), matchId: serializer.fromJson(json['matchId']), + roundNumber: serializer.fromJson(json['roundNumber']), + score: serializer.fromJson(json['score']), + change: serializer.fromJson(json['change']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { - 'groupId': serializer.toJson(groupId), + 'playerId': serializer.toJson(playerId), 'matchId': serializer.toJson(matchId), + 'roundNumber': serializer.toJson(roundNumber), + 'score': serializer.toJson(score), + 'change': serializer.toJson(change), }; } - GroupMatchTableData copyWith({String? groupId, String? matchId}) => - GroupMatchTableData( - groupId: groupId ?? this.groupId, - matchId: matchId ?? this.matchId, - ); - GroupMatchTableData copyWithCompanion(GroupMatchTableCompanion data) { - return GroupMatchTableData( - groupId: data.groupId.present ? data.groupId.value : this.groupId, + ScoreTableData copyWith({ + String? playerId, + String? matchId, + int? roundNumber, + int? score, + int? change, + }) => ScoreTableData( + playerId: playerId ?? this.playerId, + matchId: matchId ?? this.matchId, + roundNumber: roundNumber ?? this.roundNumber, + score: score ?? this.score, + change: change ?? this.change, + ); + ScoreTableData copyWithCompanion(ScoreTableCompanion data) { + return ScoreTableData( + playerId: data.playerId.present ? data.playerId.value : this.playerId, matchId: data.matchId.present ? data.matchId.value : this.matchId, + roundNumber: data.roundNumber.present + ? data.roundNumber.value + : this.roundNumber, + score: data.score.present ? data.score.value : this.score, + change: data.change.present ? data.change.value : this.change, ); } @override String toString() { - return (StringBuffer('GroupMatchTableData(') - ..write('groupId: $groupId, ') - ..write('matchId: $matchId') + return (StringBuffer('ScoreTableData(') + ..write('playerId: $playerId, ') + ..write('matchId: $matchId, ') + ..write('roundNumber: $roundNumber, ') + ..write('score: $score, ') + ..write('change: $change') ..write(')')) .toString(); } @override - int get hashCode => Object.hash(groupId, matchId); + int get hashCode => + Object.hash(playerId, matchId, roundNumber, score, change); @override bool operator ==(Object other) => identical(this, other) || - (other is GroupMatchTableData && - other.groupId == this.groupId && - other.matchId == this.matchId); + (other is ScoreTableData && + other.playerId == this.playerId && + other.matchId == this.matchId && + other.roundNumber == this.roundNumber && + other.score == this.score && + other.change == this.change); } -class GroupMatchTableCompanion extends UpdateCompanion { - final Value groupId; +class ScoreTableCompanion extends UpdateCompanion { + final Value playerId; final Value matchId; + final Value roundNumber; + final Value score; + final Value change; final Value rowid; - const GroupMatchTableCompanion({ - this.groupId = const Value.absent(), + const ScoreTableCompanion({ + this.playerId = const Value.absent(), this.matchId = const Value.absent(), + this.roundNumber = const Value.absent(), + this.score = const Value.absent(), + this.change = const Value.absent(), this.rowid = const Value.absent(), }); - GroupMatchTableCompanion.insert({ - required String groupId, + ScoreTableCompanion.insert({ + required String playerId, required String matchId, + required int roundNumber, + required int score, + required int change, this.rowid = const Value.absent(), - }) : groupId = Value(groupId), - matchId = Value(matchId); - static Insertable custom({ - Expression? groupId, + }) : playerId = Value(playerId), + matchId = Value(matchId), + roundNumber = Value(roundNumber), + score = Value(score), + change = Value(change); + static Insertable custom({ + Expression? playerId, Expression? matchId, + Expression? roundNumber, + Expression? score, + Expression? change, Expression? rowid, }) { return RawValuesInsertable({ - if (groupId != null) 'group_id': groupId, + if (playerId != null) 'player_id': playerId, if (matchId != null) 'match_id': matchId, + if (roundNumber != null) 'round_number': roundNumber, + if (score != null) 'score': score, + if (change != null) 'change': change, if (rowid != null) 'rowid': rowid, }); } - GroupMatchTableCompanion copyWith({ - Value? groupId, + ScoreTableCompanion copyWith({ + Value? playerId, Value? matchId, + Value? roundNumber, + Value? score, + Value? change, Value? rowid, }) { - return GroupMatchTableCompanion( - groupId: groupId ?? this.groupId, + return ScoreTableCompanion( + playerId: playerId ?? this.playerId, matchId: matchId ?? this.matchId, + roundNumber: roundNumber ?? this.roundNumber, + score: score ?? this.score, + change: change ?? this.change, rowid: rowid ?? this.rowid, ); } @@ -1482,12 +2644,21 @@ class GroupMatchTableCompanion extends UpdateCompanion { @override Map toColumns(bool nullToAbsent) { final map = {}; - if (groupId.present) { - map['group_id'] = Variable(groupId.value); + if (playerId.present) { + map['player_id'] = Variable(playerId.value); } if (matchId.present) { map['match_id'] = Variable(matchId.value); } + if (roundNumber.present) { + map['round_number'] = Variable(roundNumber.value); + } + if (score.present) { + map['score'] = Variable(score.value); + } + if (change.present) { + map['change'] = Variable(change.value); + } if (rowid.present) { map['rowid'] = Variable(rowid.value); } @@ -1496,9 +2667,12 @@ class GroupMatchTableCompanion extends UpdateCompanion { @override String toString() { - return (StringBuffer('GroupMatchTableCompanion(') - ..write('groupId: $groupId, ') + return (StringBuffer('ScoreTableCompanion(') + ..write('playerId: $playerId, ') ..write('matchId: $matchId, ') + ..write('roundNumber: $roundNumber, ') + ..write('score: $score, ') + ..write('change: $change, ') ..write('rowid: $rowid') ..write(')')) .toString(); @@ -1510,6 +2684,8 @@ abstract class _$AppDatabase extends GeneratedDatabase { $AppDatabaseManager get managers => $AppDatabaseManager(this); late final $PlayerTableTable playerTable = $PlayerTableTable(this); late final $GroupTableTable groupTable = $GroupTableTable(this); + late final $GameTableTable gameTable = $GameTableTable(this); + late final $TeamTableTable teamTable = $TeamTableTable(this); late final $MatchTableTable matchTable = $MatchTableTable(this); late final $PlayerGroupTableTable playerGroupTable = $PlayerGroupTableTable( this, @@ -1517,11 +2693,11 @@ abstract class _$AppDatabase extends GeneratedDatabase { late final $PlayerMatchTableTable playerMatchTable = $PlayerMatchTableTable( this, ); - late final $GroupMatchTableTable groupMatchTable = $GroupMatchTableTable( - this, - ); + late final $ScoreTableTable scoreTable = $ScoreTableTable(this); late final PlayerDao playerDao = PlayerDao(this as AppDatabase); late final GroupDao groupDao = GroupDao(this as AppDatabase); + late final GameDao gameDao = GameDao(this as AppDatabase); + late final TeamDao teamDao = TeamDao(this as AppDatabase); late final MatchDao matchDao = MatchDao(this as AppDatabase); late final PlayerGroupDao playerGroupDao = PlayerGroupDao( this as AppDatabase, @@ -1529,7 +2705,7 @@ abstract class _$AppDatabase extends GeneratedDatabase { late final PlayerMatchDao playerMatchDao = PlayerMatchDao( this as AppDatabase, ); - late final GroupMatchDao groupMatchDao = GroupMatchDao(this as AppDatabase); + late final ScoreDao scoreDao = ScoreDao(this as AppDatabase); @override Iterable> get allTables => allSchemaEntities.whereType>(); @@ -1537,13 +2713,29 @@ abstract class _$AppDatabase extends GeneratedDatabase { List get allSchemaEntities => [ playerTable, groupTable, + gameTable, + teamTable, matchTable, playerGroupTable, playerMatchTable, - groupMatchTable, + scoreTable, ]; @override StreamQueryUpdateRules get streamUpdateRules => const StreamQueryUpdateRules([ + WritePropagation( + on: TableUpdateQuery.onTableName( + 'game_table', + limitUpdateKind: UpdateKind.delete, + ), + result: [TableUpdate('match_table', kind: UpdateKind.delete)], + ), + WritePropagation( + on: TableUpdateQuery.onTableName( + 'group_table', + limitUpdateKind: UpdateKind.delete, + ), + result: [TableUpdate('match_table', kind: UpdateKind.delete)], + ), WritePropagation( on: TableUpdateQuery.onTableName( 'player_table', @@ -1574,17 +2766,17 @@ abstract class _$AppDatabase extends GeneratedDatabase { ), WritePropagation( on: TableUpdateQuery.onTableName( - 'group_table', + 'player_table', limitUpdateKind: UpdateKind.delete, ), - result: [TableUpdate('group_match_table', kind: UpdateKind.delete)], + result: [TableUpdate('score_table', kind: UpdateKind.delete)], ), WritePropagation( on: TableUpdateQuery.onTableName( 'match_table', limitUpdateKind: UpdateKind.delete, ), - result: [TableUpdate('group_match_table', kind: UpdateKind.delete)], + result: [TableUpdate('score_table', kind: UpdateKind.delete)], ), ]); } @@ -1593,6 +2785,7 @@ typedef $$PlayerTableTableCreateCompanionBuilder = PlayerTableCompanion Function({ required String id, required String name, + Value description, required DateTime createdAt, Value rowid, }); @@ -1600,6 +2793,7 @@ typedef $$PlayerTableTableUpdateCompanionBuilder = PlayerTableCompanion Function({ Value id, Value name, + Value description, Value createdAt, Value rowid, }); @@ -1653,6 +2847,24 @@ final class $$PlayerTableTableReferences manager.$state.copyWith(prefetchedData: cache), ); } + + static MultiTypedResultKey<$ScoreTableTable, List> + _scoreTableRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable( + db.scoreTable, + aliasName: $_aliasNameGenerator(db.playerTable.id, db.scoreTable.playerId), + ); + + $$ScoreTableTableProcessedTableManager get scoreTableRefs { + final manager = $$ScoreTableTableTableManager( + $_db, + $_db.scoreTable, + ).filter((f) => f.playerId.id.sqlEquals($_itemColumn('id')!)); + + final cache = $_typedResult.readTableOrNull(_scoreTableRefsTable($_db)); + return ProcessedTableManager( + manager.$state.copyWith(prefetchedData: cache), + ); + } } class $$PlayerTableTableFilterComposer @@ -1674,6 +2886,11 @@ class $$PlayerTableTableFilterComposer builder: (column) => ColumnFilters(column), ); + ColumnFilters get description => $composableBuilder( + column: $table.description, + builder: (column) => ColumnFilters(column), + ); + ColumnFilters get createdAt => $composableBuilder( column: $table.createdAt, builder: (column) => ColumnFilters(column), @@ -1728,6 +2945,31 @@ class $$PlayerTableTableFilterComposer ); return f(composer); } + + Expression scoreTableRefs( + Expression Function($$ScoreTableTableFilterComposer f) f, + ) { + final $$ScoreTableTableFilterComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.id, + referencedTable: $db.scoreTable, + getReferencedColumn: (t) => t.playerId, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$ScoreTableTableFilterComposer( + $db: $db, + $table: $db.scoreTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return f(composer); + } } class $$PlayerTableTableOrderingComposer @@ -1749,6 +2991,11 @@ class $$PlayerTableTableOrderingComposer builder: (column) => ColumnOrderings(column), ); + ColumnOrderings get description => $composableBuilder( + column: $table.description, + builder: (column) => ColumnOrderings(column), + ); + ColumnOrderings get createdAt => $composableBuilder( column: $table.createdAt, builder: (column) => ColumnOrderings(column), @@ -1770,6 +3017,11 @@ class $$PlayerTableTableAnnotationComposer GeneratedColumn get name => $composableBuilder(column: $table.name, builder: (column) => column); + GeneratedColumn get description => $composableBuilder( + column: $table.description, + builder: (column) => column, + ); + GeneratedColumn get createdAt => $composableBuilder(column: $table.createdAt, builder: (column) => column); @@ -1822,6 +3074,31 @@ class $$PlayerTableTableAnnotationComposer ); return f(composer); } + + Expression scoreTableRefs( + Expression Function($$ScoreTableTableAnnotationComposer a) f, + ) { + final $$ScoreTableTableAnnotationComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.id, + referencedTable: $db.scoreTable, + getReferencedColumn: (t) => t.playerId, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$ScoreTableTableAnnotationComposer( + $db: $db, + $table: $db.scoreTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return f(composer); + } } class $$PlayerTableTableTableManager @@ -1840,6 +3117,7 @@ class $$PlayerTableTableTableManager PrefetchHooks Function({ bool playerGroupTableRefs, bool playerMatchTableRefs, + bool scoreTableRefs, }) > { $$PlayerTableTableTableManager(_$AppDatabase db, $PlayerTableTable table) @@ -1857,11 +3135,13 @@ class $$PlayerTableTableTableManager ({ Value id = const Value.absent(), Value name = const Value.absent(), + Value description = const Value.absent(), Value createdAt = const Value.absent(), Value rowid = const Value.absent(), }) => PlayerTableCompanion( id: id, name: name, + description: description, createdAt: createdAt, rowid: rowid, ), @@ -1869,11 +3149,13 @@ class $$PlayerTableTableTableManager ({ required String id, required String name, + Value description = const Value.absent(), required DateTime createdAt, Value rowid = const Value.absent(), }) => PlayerTableCompanion.insert( id: id, name: name, + description: description, createdAt: createdAt, rowid: rowid, ), @@ -1886,12 +3168,17 @@ class $$PlayerTableTableTableManager ) .toList(), prefetchHooksCallback: - ({playerGroupTableRefs = false, playerMatchTableRefs = false}) { + ({ + playerGroupTableRefs = false, + playerMatchTableRefs = false, + scoreTableRefs = false, + }) { return PrefetchHooks( db: db, explicitlyWatchedTables: [ if (playerGroupTableRefs) db.playerGroupTable, if (playerMatchTableRefs) db.playerMatchTable, + if (scoreTableRefs) db.scoreTable, ], addJoins: null, getPrefetchedDataCallback: (items) async { @@ -1938,6 +3225,27 @@ class $$PlayerTableTableTableManager ), typedResults: items, ), + if (scoreTableRefs) + await $_getPrefetchedData< + PlayerTableData, + $PlayerTableTable, + ScoreTableData + >( + currentTable: table, + referencedTable: $$PlayerTableTableReferences + ._scoreTableRefsTable(db), + managerFromTypedResult: (p0) => + $$PlayerTableTableReferences( + db, + table, + p0, + ).scoreTableRefs, + referencedItemsForCurrentItem: + (item, referencedItems) => referencedItems.where( + (e) => e.playerId == item.id, + ), + typedResults: items, + ), ]; }, ); @@ -1961,12 +3269,14 @@ typedef $$PlayerTableTableProcessedTableManager = PrefetchHooks Function({ bool playerGroupTableRefs, bool playerMatchTableRefs, + bool scoreTableRefs, }) >; typedef $$GroupTableTableCreateCompanionBuilder = GroupTableCompanion Function({ required String id, required String name, + Value description, required DateTime createdAt, Value rowid, }); @@ -1974,6 +3284,7 @@ typedef $$GroupTableTableUpdateCompanionBuilder = GroupTableCompanion Function({ Value id, Value name, + Value description, Value createdAt, Value rowid, }); @@ -1982,6 +3293,24 @@ final class $$GroupTableTableReferences extends BaseReferences<_$AppDatabase, $GroupTableTable, GroupTableData> { $$GroupTableTableReferences(super.$_db, super.$_table, super.$_typedResult); + static MultiTypedResultKey<$MatchTableTable, List> + _matchTableRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable( + db.matchTable, + aliasName: $_aliasNameGenerator(db.groupTable.id, db.matchTable.groupId), + ); + + $$MatchTableTableProcessedTableManager get matchTableRefs { + final manager = $$MatchTableTableTableManager( + $_db, + $_db.matchTable, + ).filter((f) => f.groupId.id.sqlEquals($_itemColumn('id')!)); + + final cache = $_typedResult.readTableOrNull(_matchTableRefsTable($_db)); + return ProcessedTableManager( + manager.$state.copyWith(prefetchedData: cache), + ); + } + static MultiTypedResultKey<$PlayerGroupTableTable, List> _playerGroupTableRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable( db.playerGroupTable, @@ -2004,29 +3333,6 @@ final class $$GroupTableTableReferences manager.$state.copyWith(prefetchedData: cache), ); } - - static MultiTypedResultKey<$GroupMatchTableTable, List> - _groupMatchTableRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable( - db.groupMatchTable, - aliasName: $_aliasNameGenerator( - db.groupTable.id, - db.groupMatchTable.groupId, - ), - ); - - $$GroupMatchTableTableProcessedTableManager get groupMatchTableRefs { - final manager = $$GroupMatchTableTableTableManager( - $_db, - $_db.groupMatchTable, - ).filter((f) => f.groupId.id.sqlEquals($_itemColumn('id')!)); - - final cache = $_typedResult.readTableOrNull( - _groupMatchTableRefsTable($_db), - ); - return ProcessedTableManager( - manager.$state.copyWith(prefetchedData: cache), - ); - } } class $$GroupTableTableFilterComposer @@ -2048,11 +3354,41 @@ class $$GroupTableTableFilterComposer builder: (column) => ColumnFilters(column), ); + ColumnFilters get description => $composableBuilder( + column: $table.description, + builder: (column) => ColumnFilters(column), + ); + ColumnFilters get createdAt => $composableBuilder( column: $table.createdAt, builder: (column) => ColumnFilters(column), ); + Expression matchTableRefs( + Expression Function($$MatchTableTableFilterComposer f) f, + ) { + final $$MatchTableTableFilterComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.id, + referencedTable: $db.matchTable, + getReferencedColumn: (t) => t.groupId, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$MatchTableTableFilterComposer( + $db: $db, + $table: $db.matchTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return f(composer); + } + Expression playerGroupTableRefs( Expression Function($$PlayerGroupTableTableFilterComposer f) f, ) { @@ -2077,31 +3413,6 @@ class $$GroupTableTableFilterComposer ); return f(composer); } - - Expression groupMatchTableRefs( - Expression Function($$GroupMatchTableTableFilterComposer f) f, - ) { - final $$GroupMatchTableTableFilterComposer composer = $composerBuilder( - composer: this, - getCurrentColumn: (t) => t.id, - referencedTable: $db.groupMatchTable, - getReferencedColumn: (t) => t.groupId, - builder: - ( - joinBuilder, { - $addJoinBuilderToRootComposer, - $removeJoinBuilderFromRootComposer, - }) => $$GroupMatchTableTableFilterComposer( - $db: $db, - $table: $db.groupMatchTable, - $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, - joinBuilder: joinBuilder, - $removeJoinBuilderFromRootComposer: - $removeJoinBuilderFromRootComposer, - ), - ); - return f(composer); - } } class $$GroupTableTableOrderingComposer @@ -2123,6 +3434,11 @@ class $$GroupTableTableOrderingComposer builder: (column) => ColumnOrderings(column), ); + ColumnOrderings get description => $composableBuilder( + column: $table.description, + builder: (column) => ColumnOrderings(column), + ); + ColumnOrderings get createdAt => $composableBuilder( column: $table.createdAt, builder: (column) => ColumnOrderings(column), @@ -2144,9 +3460,39 @@ class $$GroupTableTableAnnotationComposer GeneratedColumn get name => $composableBuilder(column: $table.name, builder: (column) => column); + GeneratedColumn get description => $composableBuilder( + column: $table.description, + builder: (column) => column, + ); + GeneratedColumn get createdAt => $composableBuilder(column: $table.createdAt, builder: (column) => column); + Expression matchTableRefs( + Expression Function($$MatchTableTableAnnotationComposer a) f, + ) { + final $$MatchTableTableAnnotationComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.id, + referencedTable: $db.matchTable, + getReferencedColumn: (t) => t.groupId, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$MatchTableTableAnnotationComposer( + $db: $db, + $table: $db.matchTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return f(composer); + } + Expression playerGroupTableRefs( Expression Function($$PlayerGroupTableTableAnnotationComposer a) f, ) { @@ -2171,31 +3517,6 @@ class $$GroupTableTableAnnotationComposer ); return f(composer); } - - Expression groupMatchTableRefs( - Expression Function($$GroupMatchTableTableAnnotationComposer a) f, - ) { - final $$GroupMatchTableTableAnnotationComposer composer = $composerBuilder( - composer: this, - getCurrentColumn: (t) => t.id, - referencedTable: $db.groupMatchTable, - getReferencedColumn: (t) => t.groupId, - builder: - ( - joinBuilder, { - $addJoinBuilderToRootComposer, - $removeJoinBuilderFromRootComposer, - }) => $$GroupMatchTableTableAnnotationComposer( - $db: $db, - $table: $db.groupMatchTable, - $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, - joinBuilder: joinBuilder, - $removeJoinBuilderFromRootComposer: - $removeJoinBuilderFromRootComposer, - ), - ); - return f(composer); - } } class $$GroupTableTableTableManager @@ -2212,8 +3533,8 @@ class $$GroupTableTableTableManager (GroupTableData, $$GroupTableTableReferences), GroupTableData, PrefetchHooks Function({ + bool matchTableRefs, bool playerGroupTableRefs, - bool groupMatchTableRefs, }) > { $$GroupTableTableTableManager(_$AppDatabase db, $GroupTableTable table) @@ -2231,11 +3552,13 @@ class $$GroupTableTableTableManager ({ Value id = const Value.absent(), Value name = const Value.absent(), + Value description = const Value.absent(), Value createdAt = const Value.absent(), Value rowid = const Value.absent(), }) => GroupTableCompanion( id: id, name: name, + description: description, createdAt: createdAt, rowid: rowid, ), @@ -2243,11 +3566,13 @@ class $$GroupTableTableTableManager ({ required String id, required String name, + Value description = const Value.absent(), required DateTime createdAt, Value rowid = const Value.absent(), }) => GroupTableCompanion.insert( id: id, name: name, + description: description, createdAt: createdAt, rowid: rowid, ), @@ -2260,16 +3585,37 @@ class $$GroupTableTableTableManager ) .toList(), prefetchHooksCallback: - ({playerGroupTableRefs = false, groupMatchTableRefs = false}) { + ({matchTableRefs = false, playerGroupTableRefs = false}) { return PrefetchHooks( db: db, explicitlyWatchedTables: [ + if (matchTableRefs) db.matchTable, if (playerGroupTableRefs) db.playerGroupTable, - if (groupMatchTableRefs) db.groupMatchTable, ], addJoins: null, getPrefetchedDataCallback: (items) async { return [ + if (matchTableRefs) + await $_getPrefetchedData< + GroupTableData, + $GroupTableTable, + MatchTableData + >( + currentTable: table, + referencedTable: $$GroupTableTableReferences + ._matchTableRefsTable(db), + managerFromTypedResult: (p0) => + $$GroupTableTableReferences( + db, + table, + p0, + ).matchTableRefs, + referencedItemsForCurrentItem: + (item, referencedItems) => referencedItems.where( + (e) => e.groupId == item.id, + ), + typedResults: items, + ), if (playerGroupTableRefs) await $_getPrefetchedData< GroupTableData, @@ -2291,27 +3637,6 @@ class $$GroupTableTableTableManager ), typedResults: items, ), - if (groupMatchTableRefs) - await $_getPrefetchedData< - GroupTableData, - $GroupTableTable, - GroupMatchTableData - >( - currentTable: table, - referencedTable: $$GroupTableTableReferences - ._groupMatchTableRefsTable(db), - managerFromTypedResult: (p0) => - $$GroupTableTableReferences( - db, - table, - p0, - ).groupMatchTableRefs, - referencedItemsForCurrentItem: - (item, referencedItems) => referencedItems.where( - (e) => e.groupId == item.id, - ), - typedResults: items, - ), ]; }, ); @@ -2332,24 +3657,636 @@ typedef $$GroupTableTableProcessedTableManager = $$GroupTableTableUpdateCompanionBuilder, (GroupTableData, $$GroupTableTableReferences), GroupTableData, - PrefetchHooks Function({ - bool playerGroupTableRefs, - bool groupMatchTableRefs, - }) + PrefetchHooks Function({bool matchTableRefs, bool playerGroupTableRefs}) + >; +typedef $$GameTableTableCreateCompanionBuilder = + GameTableCompanion Function({ + required String id, + required String name, + required String ruleset, + Value description, + Value color, + Value icon, + required DateTime createdAt, + Value rowid, + }); +typedef $$GameTableTableUpdateCompanionBuilder = + GameTableCompanion Function({ + Value id, + Value name, + Value ruleset, + Value description, + Value color, + Value icon, + Value createdAt, + Value rowid, + }); + +final class $$GameTableTableReferences + extends BaseReferences<_$AppDatabase, $GameTableTable, GameTableData> { + $$GameTableTableReferences(super.$_db, super.$_table, super.$_typedResult); + + static MultiTypedResultKey<$MatchTableTable, List> + _matchTableRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable( + db.matchTable, + aliasName: $_aliasNameGenerator(db.gameTable.id, db.matchTable.gameId), + ); + + $$MatchTableTableProcessedTableManager get matchTableRefs { + final manager = $$MatchTableTableTableManager( + $_db, + $_db.matchTable, + ).filter((f) => f.gameId.id.sqlEquals($_itemColumn('id')!)); + + final cache = $_typedResult.readTableOrNull(_matchTableRefsTable($_db)); + return ProcessedTableManager( + manager.$state.copyWith(prefetchedData: cache), + ); + } +} + +class $$GameTableTableFilterComposer + extends Composer<_$AppDatabase, $GameTableTable> { + $$GameTableTableFilterComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + ColumnFilters get id => $composableBuilder( + column: $table.id, + builder: (column) => ColumnFilters(column), + ); + + ColumnFilters get name => $composableBuilder( + column: $table.name, + builder: (column) => ColumnFilters(column), + ); + + ColumnFilters get ruleset => $composableBuilder( + column: $table.ruleset, + builder: (column) => ColumnFilters(column), + ); + + ColumnFilters get description => $composableBuilder( + column: $table.description, + builder: (column) => ColumnFilters(column), + ); + + ColumnFilters get color => $composableBuilder( + column: $table.color, + builder: (column) => ColumnFilters(column), + ); + + ColumnFilters get icon => $composableBuilder( + column: $table.icon, + builder: (column) => ColumnFilters(column), + ); + + ColumnFilters get createdAt => $composableBuilder( + column: $table.createdAt, + builder: (column) => ColumnFilters(column), + ); + + Expression matchTableRefs( + Expression Function($$MatchTableTableFilterComposer f) f, + ) { + final $$MatchTableTableFilterComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.id, + referencedTable: $db.matchTable, + getReferencedColumn: (t) => t.gameId, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$MatchTableTableFilterComposer( + $db: $db, + $table: $db.matchTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return f(composer); + } +} + +class $$GameTableTableOrderingComposer + extends Composer<_$AppDatabase, $GameTableTable> { + $$GameTableTableOrderingComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + ColumnOrderings get id => $composableBuilder( + column: $table.id, + builder: (column) => ColumnOrderings(column), + ); + + ColumnOrderings get name => $composableBuilder( + column: $table.name, + builder: (column) => ColumnOrderings(column), + ); + + ColumnOrderings get ruleset => $composableBuilder( + column: $table.ruleset, + builder: (column) => ColumnOrderings(column), + ); + + ColumnOrderings get description => $composableBuilder( + column: $table.description, + builder: (column) => ColumnOrderings(column), + ); + + ColumnOrderings get color => $composableBuilder( + column: $table.color, + builder: (column) => ColumnOrderings(column), + ); + + ColumnOrderings get icon => $composableBuilder( + column: $table.icon, + builder: (column) => ColumnOrderings(column), + ); + + ColumnOrderings get createdAt => $composableBuilder( + column: $table.createdAt, + builder: (column) => ColumnOrderings(column), + ); +} + +class $$GameTableTableAnnotationComposer + extends Composer<_$AppDatabase, $GameTableTable> { + $$GameTableTableAnnotationComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + GeneratedColumn get id => + $composableBuilder(column: $table.id, builder: (column) => column); + + GeneratedColumn get name => + $composableBuilder(column: $table.name, builder: (column) => column); + + GeneratedColumn get ruleset => + $composableBuilder(column: $table.ruleset, builder: (column) => column); + + GeneratedColumn get description => $composableBuilder( + column: $table.description, + builder: (column) => column, + ); + + GeneratedColumn get color => + $composableBuilder(column: $table.color, builder: (column) => column); + + GeneratedColumn get icon => + $composableBuilder(column: $table.icon, builder: (column) => column); + + GeneratedColumn get createdAt => + $composableBuilder(column: $table.createdAt, builder: (column) => column); + + Expression matchTableRefs( + Expression Function($$MatchTableTableAnnotationComposer a) f, + ) { + final $$MatchTableTableAnnotationComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.id, + referencedTable: $db.matchTable, + getReferencedColumn: (t) => t.gameId, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$MatchTableTableAnnotationComposer( + $db: $db, + $table: $db.matchTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return f(composer); + } +} + +class $$GameTableTableTableManager + extends + RootTableManager< + _$AppDatabase, + $GameTableTable, + GameTableData, + $$GameTableTableFilterComposer, + $$GameTableTableOrderingComposer, + $$GameTableTableAnnotationComposer, + $$GameTableTableCreateCompanionBuilder, + $$GameTableTableUpdateCompanionBuilder, + (GameTableData, $$GameTableTableReferences), + GameTableData, + PrefetchHooks Function({bool matchTableRefs}) + > { + $$GameTableTableTableManager(_$AppDatabase db, $GameTableTable table) + : super( + TableManagerState( + db: db, + table: table, + createFilteringComposer: () => + $$GameTableTableFilterComposer($db: db, $table: table), + createOrderingComposer: () => + $$GameTableTableOrderingComposer($db: db, $table: table), + createComputedFieldComposer: () => + $$GameTableTableAnnotationComposer($db: db, $table: table), + updateCompanionCallback: + ({ + Value id = const Value.absent(), + Value name = const Value.absent(), + Value ruleset = const Value.absent(), + Value description = const Value.absent(), + Value color = const Value.absent(), + Value icon = const Value.absent(), + Value createdAt = const Value.absent(), + Value rowid = const Value.absent(), + }) => GameTableCompanion( + id: id, + name: name, + ruleset: ruleset, + description: description, + color: color, + icon: icon, + createdAt: createdAt, + rowid: rowid, + ), + createCompanionCallback: + ({ + required String id, + required String name, + required String ruleset, + Value description = const Value.absent(), + Value color = const Value.absent(), + Value icon = const Value.absent(), + required DateTime createdAt, + Value rowid = const Value.absent(), + }) => GameTableCompanion.insert( + id: id, + name: name, + ruleset: ruleset, + description: description, + color: color, + icon: icon, + createdAt: createdAt, + rowid: rowid, + ), + withReferenceMapper: (p0) => p0 + .map( + (e) => ( + e.readTable(table), + $$GameTableTableReferences(db, table, e), + ), + ) + .toList(), + prefetchHooksCallback: ({matchTableRefs = false}) { + return PrefetchHooks( + db: db, + explicitlyWatchedTables: [if (matchTableRefs) db.matchTable], + addJoins: null, + getPrefetchedDataCallback: (items) async { + return [ + if (matchTableRefs) + await $_getPrefetchedData< + GameTableData, + $GameTableTable, + MatchTableData + >( + currentTable: table, + referencedTable: $$GameTableTableReferences + ._matchTableRefsTable(db), + managerFromTypedResult: (p0) => + $$GameTableTableReferences( + db, + table, + p0, + ).matchTableRefs, + referencedItemsForCurrentItem: (item, referencedItems) => + referencedItems.where((e) => e.gameId == item.id), + typedResults: items, + ), + ]; + }, + ); + }, + ), + ); +} + +typedef $$GameTableTableProcessedTableManager = + ProcessedTableManager< + _$AppDatabase, + $GameTableTable, + GameTableData, + $$GameTableTableFilterComposer, + $$GameTableTableOrderingComposer, + $$GameTableTableAnnotationComposer, + $$GameTableTableCreateCompanionBuilder, + $$GameTableTableUpdateCompanionBuilder, + (GameTableData, $$GameTableTableReferences), + GameTableData, + PrefetchHooks Function({bool matchTableRefs}) + >; +typedef $$TeamTableTableCreateCompanionBuilder = + TeamTableCompanion Function({ + required String id, + required String name, + required DateTime createdAt, + Value rowid, + }); +typedef $$TeamTableTableUpdateCompanionBuilder = + TeamTableCompanion Function({ + Value id, + Value name, + Value createdAt, + Value rowid, + }); + +final class $$TeamTableTableReferences + extends BaseReferences<_$AppDatabase, $TeamTableTable, TeamTableData> { + $$TeamTableTableReferences(super.$_db, super.$_table, super.$_typedResult); + + static MultiTypedResultKey<$PlayerMatchTableTable, List> + _playerMatchTableRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable( + db.playerMatchTable, + aliasName: $_aliasNameGenerator( + db.teamTable.id, + db.playerMatchTable.teamId, + ), + ); + + $$PlayerMatchTableTableProcessedTableManager get playerMatchTableRefs { + final manager = $$PlayerMatchTableTableTableManager( + $_db, + $_db.playerMatchTable, + ).filter((f) => f.teamId.id.sqlEquals($_itemColumn('id')!)); + + final cache = $_typedResult.readTableOrNull( + _playerMatchTableRefsTable($_db), + ); + return ProcessedTableManager( + manager.$state.copyWith(prefetchedData: cache), + ); + } +} + +class $$TeamTableTableFilterComposer + extends Composer<_$AppDatabase, $TeamTableTable> { + $$TeamTableTableFilterComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + ColumnFilters get id => $composableBuilder( + column: $table.id, + builder: (column) => ColumnFilters(column), + ); + + ColumnFilters get name => $composableBuilder( + column: $table.name, + builder: (column) => ColumnFilters(column), + ); + + ColumnFilters get createdAt => $composableBuilder( + column: $table.createdAt, + builder: (column) => ColumnFilters(column), + ); + + Expression playerMatchTableRefs( + Expression Function($$PlayerMatchTableTableFilterComposer f) f, + ) { + final $$PlayerMatchTableTableFilterComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.id, + referencedTable: $db.playerMatchTable, + getReferencedColumn: (t) => t.teamId, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$PlayerMatchTableTableFilterComposer( + $db: $db, + $table: $db.playerMatchTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return f(composer); + } +} + +class $$TeamTableTableOrderingComposer + extends Composer<_$AppDatabase, $TeamTableTable> { + $$TeamTableTableOrderingComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + ColumnOrderings get id => $composableBuilder( + column: $table.id, + builder: (column) => ColumnOrderings(column), + ); + + ColumnOrderings get name => $composableBuilder( + column: $table.name, + builder: (column) => ColumnOrderings(column), + ); + + ColumnOrderings get createdAt => $composableBuilder( + column: $table.createdAt, + builder: (column) => ColumnOrderings(column), + ); +} + +class $$TeamTableTableAnnotationComposer + extends Composer<_$AppDatabase, $TeamTableTable> { + $$TeamTableTableAnnotationComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + GeneratedColumn get id => + $composableBuilder(column: $table.id, builder: (column) => column); + + GeneratedColumn get name => + $composableBuilder(column: $table.name, builder: (column) => column); + + GeneratedColumn get createdAt => + $composableBuilder(column: $table.createdAt, builder: (column) => column); + + Expression playerMatchTableRefs( + Expression Function($$PlayerMatchTableTableAnnotationComposer a) f, + ) { + final $$PlayerMatchTableTableAnnotationComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.id, + referencedTable: $db.playerMatchTable, + getReferencedColumn: (t) => t.teamId, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$PlayerMatchTableTableAnnotationComposer( + $db: $db, + $table: $db.playerMatchTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return f(composer); + } +} + +class $$TeamTableTableTableManager + extends + RootTableManager< + _$AppDatabase, + $TeamTableTable, + TeamTableData, + $$TeamTableTableFilterComposer, + $$TeamTableTableOrderingComposer, + $$TeamTableTableAnnotationComposer, + $$TeamTableTableCreateCompanionBuilder, + $$TeamTableTableUpdateCompanionBuilder, + (TeamTableData, $$TeamTableTableReferences), + TeamTableData, + PrefetchHooks Function({bool playerMatchTableRefs}) + > { + $$TeamTableTableTableManager(_$AppDatabase db, $TeamTableTable table) + : super( + TableManagerState( + db: db, + table: table, + createFilteringComposer: () => + $$TeamTableTableFilterComposer($db: db, $table: table), + createOrderingComposer: () => + $$TeamTableTableOrderingComposer($db: db, $table: table), + createComputedFieldComposer: () => + $$TeamTableTableAnnotationComposer($db: db, $table: table), + updateCompanionCallback: + ({ + Value id = const Value.absent(), + Value name = const Value.absent(), + Value createdAt = const Value.absent(), + Value rowid = const Value.absent(), + }) => TeamTableCompanion( + id: id, + name: name, + createdAt: createdAt, + rowid: rowid, + ), + createCompanionCallback: + ({ + required String id, + required String name, + required DateTime createdAt, + Value rowid = const Value.absent(), + }) => TeamTableCompanion.insert( + id: id, + name: name, + createdAt: createdAt, + rowid: rowid, + ), + withReferenceMapper: (p0) => p0 + .map( + (e) => ( + e.readTable(table), + $$TeamTableTableReferences(db, table, e), + ), + ) + .toList(), + prefetchHooksCallback: ({playerMatchTableRefs = false}) { + return PrefetchHooks( + db: db, + explicitlyWatchedTables: [ + if (playerMatchTableRefs) db.playerMatchTable, + ], + addJoins: null, + getPrefetchedDataCallback: (items) async { + return [ + if (playerMatchTableRefs) + await $_getPrefetchedData< + TeamTableData, + $TeamTableTable, + PlayerMatchTableData + >( + currentTable: table, + referencedTable: $$TeamTableTableReferences + ._playerMatchTableRefsTable(db), + managerFromTypedResult: (p0) => + $$TeamTableTableReferences( + db, + table, + p0, + ).playerMatchTableRefs, + referencedItemsForCurrentItem: (item, referencedItems) => + referencedItems.where((e) => e.teamId == item.id), + typedResults: items, + ), + ]; + }, + ); + }, + ), + ); +} + +typedef $$TeamTableTableProcessedTableManager = + ProcessedTableManager< + _$AppDatabase, + $TeamTableTable, + TeamTableData, + $$TeamTableTableFilterComposer, + $$TeamTableTableOrderingComposer, + $$TeamTableTableAnnotationComposer, + $$TeamTableTableCreateCompanionBuilder, + $$TeamTableTableUpdateCompanionBuilder, + (TeamTableData, $$TeamTableTableReferences), + TeamTableData, + PrefetchHooks Function({bool playerMatchTableRefs}) >; typedef $$MatchTableTableCreateCompanionBuilder = MatchTableCompanion Function({ required String id, - required String name, - Value winnerId, + required String gameId, + Value groupId, + Value name, + Value notes, required DateTime createdAt, Value rowid, }); typedef $$MatchTableTableUpdateCompanionBuilder = MatchTableCompanion Function({ Value id, - Value name, - Value winnerId, + Value gameId, + Value groupId, + Value name, + Value notes, Value createdAt, Value rowid, }); @@ -2358,6 +4295,42 @@ final class $$MatchTableTableReferences extends BaseReferences<_$AppDatabase, $MatchTableTable, MatchTableData> { $$MatchTableTableReferences(super.$_db, super.$_table, super.$_typedResult); + static $GameTableTable _gameIdTable(_$AppDatabase db) => db.gameTable + .createAlias($_aliasNameGenerator(db.matchTable.gameId, db.gameTable.id)); + + $$GameTableTableProcessedTableManager get gameId { + final $_column = $_itemColumn('game_id')!; + + final manager = $$GameTableTableTableManager( + $_db, + $_db.gameTable, + ).filter((f) => f.id.sqlEquals($_column)); + final item = $_typedResult.readTableOrNull(_gameIdTable($_db)); + if (item == null) return manager; + return ProcessedTableManager( + manager.$state.copyWith(prefetchedData: [item]), + ); + } + + static $GroupTableTable _groupIdTable(_$AppDatabase db) => + db.groupTable.createAlias( + $_aliasNameGenerator(db.matchTable.groupId, db.groupTable.id), + ); + + $$GroupTableTableProcessedTableManager? get groupId { + final $_column = $_itemColumn('group_id'); + if ($_column == null) return null; + final manager = $$GroupTableTableTableManager( + $_db, + $_db.groupTable, + ).filter((f) => f.id.sqlEquals($_column)); + final item = $_typedResult.readTableOrNull(_groupIdTable($_db)); + if (item == null) return manager; + return ProcessedTableManager( + manager.$state.copyWith(prefetchedData: [item]), + ); + } + static MultiTypedResultKey<$PlayerMatchTableTable, List> _playerMatchTableRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable( db.playerMatchTable, @@ -2381,24 +4354,19 @@ final class $$MatchTableTableReferences ); } - static MultiTypedResultKey<$GroupMatchTableTable, List> - _groupMatchTableRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable( - db.groupMatchTable, - aliasName: $_aliasNameGenerator( - db.matchTable.id, - db.groupMatchTable.matchId, - ), + static MultiTypedResultKey<$ScoreTableTable, List> + _scoreTableRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable( + db.scoreTable, + aliasName: $_aliasNameGenerator(db.matchTable.id, db.scoreTable.matchId), ); - $$GroupMatchTableTableProcessedTableManager get groupMatchTableRefs { - final manager = $$GroupMatchTableTableTableManager( + $$ScoreTableTableProcessedTableManager get scoreTableRefs { + final manager = $$ScoreTableTableTableManager( $_db, - $_db.groupMatchTable, + $_db.scoreTable, ).filter((f) => f.matchId.id.sqlEquals($_itemColumn('id')!)); - final cache = $_typedResult.readTableOrNull( - _groupMatchTableRefsTable($_db), - ); + final cache = $_typedResult.readTableOrNull(_scoreTableRefsTable($_db)); return ProcessedTableManager( manager.$state.copyWith(prefetchedData: cache), ); @@ -2424,8 +4392,8 @@ class $$MatchTableTableFilterComposer builder: (column) => ColumnFilters(column), ); - ColumnFilters get winnerId => $composableBuilder( - column: $table.winnerId, + ColumnFilters get notes => $composableBuilder( + column: $table.notes, builder: (column) => ColumnFilters(column), ); @@ -2434,6 +4402,52 @@ class $$MatchTableTableFilterComposer builder: (column) => ColumnFilters(column), ); + $$GameTableTableFilterComposer get gameId { + final $$GameTableTableFilterComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.gameId, + referencedTable: $db.gameTable, + getReferencedColumn: (t) => t.id, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$GameTableTableFilterComposer( + $db: $db, + $table: $db.gameTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return composer; + } + + $$GroupTableTableFilterComposer get groupId { + final $$GroupTableTableFilterComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.groupId, + referencedTable: $db.groupTable, + getReferencedColumn: (t) => t.id, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$GroupTableTableFilterComposer( + $db: $db, + $table: $db.groupTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return composer; + } + Expression playerMatchTableRefs( Expression Function($$PlayerMatchTableTableFilterComposer f) f, ) { @@ -2459,22 +4473,22 @@ class $$MatchTableTableFilterComposer return f(composer); } - Expression groupMatchTableRefs( - Expression Function($$GroupMatchTableTableFilterComposer f) f, + Expression scoreTableRefs( + Expression Function($$ScoreTableTableFilterComposer f) f, ) { - final $$GroupMatchTableTableFilterComposer composer = $composerBuilder( + final $$ScoreTableTableFilterComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.id, - referencedTable: $db.groupMatchTable, + referencedTable: $db.scoreTable, getReferencedColumn: (t) => t.matchId, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, - }) => $$GroupMatchTableTableFilterComposer( + }) => $$ScoreTableTableFilterComposer( $db: $db, - $table: $db.groupMatchTable, + $table: $db.scoreTable, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: @@ -2504,8 +4518,8 @@ class $$MatchTableTableOrderingComposer builder: (column) => ColumnOrderings(column), ); - ColumnOrderings get winnerId => $composableBuilder( - column: $table.winnerId, + ColumnOrderings get notes => $composableBuilder( + column: $table.notes, builder: (column) => ColumnOrderings(column), ); @@ -2513,6 +4527,52 @@ class $$MatchTableTableOrderingComposer column: $table.createdAt, builder: (column) => ColumnOrderings(column), ); + + $$GameTableTableOrderingComposer get gameId { + final $$GameTableTableOrderingComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.gameId, + referencedTable: $db.gameTable, + getReferencedColumn: (t) => t.id, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$GameTableTableOrderingComposer( + $db: $db, + $table: $db.gameTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return composer; + } + + $$GroupTableTableOrderingComposer get groupId { + final $$GroupTableTableOrderingComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.groupId, + referencedTable: $db.groupTable, + getReferencedColumn: (t) => t.id, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$GroupTableTableOrderingComposer( + $db: $db, + $table: $db.groupTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return composer; + } } class $$MatchTableTableAnnotationComposer @@ -2530,12 +4590,58 @@ class $$MatchTableTableAnnotationComposer GeneratedColumn get name => $composableBuilder(column: $table.name, builder: (column) => column); - GeneratedColumn get winnerId => - $composableBuilder(column: $table.winnerId, builder: (column) => column); + GeneratedColumn get notes => + $composableBuilder(column: $table.notes, builder: (column) => column); GeneratedColumn get createdAt => $composableBuilder(column: $table.createdAt, builder: (column) => column); + $$GameTableTableAnnotationComposer get gameId { + final $$GameTableTableAnnotationComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.gameId, + referencedTable: $db.gameTable, + getReferencedColumn: (t) => t.id, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$GameTableTableAnnotationComposer( + $db: $db, + $table: $db.gameTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return composer; + } + + $$GroupTableTableAnnotationComposer get groupId { + final $$GroupTableTableAnnotationComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.groupId, + referencedTable: $db.groupTable, + getReferencedColumn: (t) => t.id, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$GroupTableTableAnnotationComposer( + $db: $db, + $table: $db.groupTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return composer; + } + Expression playerMatchTableRefs( Expression Function($$PlayerMatchTableTableAnnotationComposer a) f, ) { @@ -2561,22 +4667,22 @@ class $$MatchTableTableAnnotationComposer return f(composer); } - Expression groupMatchTableRefs( - Expression Function($$GroupMatchTableTableAnnotationComposer a) f, + Expression scoreTableRefs( + Expression Function($$ScoreTableTableAnnotationComposer a) f, ) { - final $$GroupMatchTableTableAnnotationComposer composer = $composerBuilder( + final $$ScoreTableTableAnnotationComposer composer = $composerBuilder( composer: this, getCurrentColumn: (t) => t.id, - referencedTable: $db.groupMatchTable, + referencedTable: $db.scoreTable, getReferencedColumn: (t) => t.matchId, builder: ( joinBuilder, { $addJoinBuilderToRootComposer, $removeJoinBuilderFromRootComposer, - }) => $$GroupMatchTableTableAnnotationComposer( + }) => $$ScoreTableTableAnnotationComposer( $db: $db, - $table: $db.groupMatchTable, + $table: $db.scoreTable, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, joinBuilder: joinBuilder, $removeJoinBuilderFromRootComposer: @@ -2601,8 +4707,10 @@ class $$MatchTableTableTableManager (MatchTableData, $$MatchTableTableReferences), MatchTableData, PrefetchHooks Function({ + bool gameId, + bool groupId, bool playerMatchTableRefs, - bool groupMatchTableRefs, + bool scoreTableRefs, }) > { $$MatchTableTableTableManager(_$AppDatabase db, $MatchTableTable table) @@ -2619,28 +4727,36 @@ class $$MatchTableTableTableManager updateCompanionCallback: ({ Value id = const Value.absent(), - Value name = const Value.absent(), - Value winnerId = const Value.absent(), + Value gameId = const Value.absent(), + Value groupId = const Value.absent(), + Value name = const Value.absent(), + Value notes = const Value.absent(), Value createdAt = const Value.absent(), Value rowid = const Value.absent(), }) => MatchTableCompanion( id: id, + gameId: gameId, + groupId: groupId, name: name, - winnerId: winnerId, + notes: notes, createdAt: createdAt, rowid: rowid, ), createCompanionCallback: ({ required String id, - required String name, - Value winnerId = const Value.absent(), + required String gameId, + Value groupId = const Value.absent(), + Value name = const Value.absent(), + Value notes = const Value.absent(), required DateTime createdAt, Value rowid = const Value.absent(), }) => MatchTableCompanion.insert( id: id, + gameId: gameId, + groupId: groupId, name: name, - winnerId: winnerId, + notes: notes, createdAt: createdAt, rowid: rowid, ), @@ -2653,14 +4769,65 @@ class $$MatchTableTableTableManager ) .toList(), prefetchHooksCallback: - ({playerMatchTableRefs = false, groupMatchTableRefs = false}) { + ({ + gameId = false, + groupId = false, + playerMatchTableRefs = false, + scoreTableRefs = false, + }) { return PrefetchHooks( db: db, explicitlyWatchedTables: [ if (playerMatchTableRefs) db.playerMatchTable, - if (groupMatchTableRefs) db.groupMatchTable, + if (scoreTableRefs) db.scoreTable, ], - addJoins: null, + addJoins: + < + T extends TableManagerState< + dynamic, + dynamic, + dynamic, + dynamic, + dynamic, + dynamic, + dynamic, + dynamic, + dynamic, + dynamic, + dynamic + > + >(state) { + if (gameId) { + state = + state.withJoin( + currentTable: table, + currentColumn: table.gameId, + referencedTable: $$MatchTableTableReferences + ._gameIdTable(db), + referencedColumn: + $$MatchTableTableReferences + ._gameIdTable(db) + .id, + ) + as T; + } + if (groupId) { + state = + state.withJoin( + currentTable: table, + currentColumn: table.groupId, + referencedTable: $$MatchTableTableReferences + ._groupIdTable(db), + referencedColumn: + $$MatchTableTableReferences + ._groupIdTable(db) + .id, + ) + as T; + } + + return state; + }, getPrefetchedDataCallback: (items) async { return [ if (playerMatchTableRefs) @@ -2684,21 +4851,21 @@ class $$MatchTableTableTableManager ), typedResults: items, ), - if (groupMatchTableRefs) + if (scoreTableRefs) await $_getPrefetchedData< MatchTableData, $MatchTableTable, - GroupMatchTableData + ScoreTableData >( currentTable: table, referencedTable: $$MatchTableTableReferences - ._groupMatchTableRefsTable(db), + ._scoreTableRefsTable(db), managerFromTypedResult: (p0) => $$MatchTableTableReferences( db, table, p0, - ).groupMatchTableRefs, + ).scoreTableRefs, referencedItemsForCurrentItem: (item, referencedItems) => referencedItems.where( (e) => e.matchId == item.id, @@ -2726,8 +4893,10 @@ typedef $$MatchTableTableProcessedTableManager = (MatchTableData, $$MatchTableTableReferences), MatchTableData, PrefetchHooks Function({ + bool gameId, + bool groupId, bool playerMatchTableRefs, - bool groupMatchTableRefs, + bool scoreTableRefs, }) >; typedef $$PlayerGroupTableTableCreateCompanionBuilder = @@ -3099,12 +5268,16 @@ typedef $$PlayerMatchTableTableCreateCompanionBuilder = PlayerMatchTableCompanion Function({ required String playerId, required String matchId, + Value teamId, + required int score, Value rowid, }); typedef $$PlayerMatchTableTableUpdateCompanionBuilder = PlayerMatchTableCompanion Function({ Value playerId, Value matchId, + Value teamId, + Value score, Value rowid, }); @@ -3158,6 +5331,25 @@ final class $$PlayerMatchTableTableReferences manager.$state.copyWith(prefetchedData: [item]), ); } + + static $TeamTableTable _teamIdTable(_$AppDatabase db) => + db.teamTable.createAlias( + $_aliasNameGenerator(db.playerMatchTable.teamId, db.teamTable.id), + ); + + $$TeamTableTableProcessedTableManager? get teamId { + final $_column = $_itemColumn('team_id'); + if ($_column == null) return null; + final manager = $$TeamTableTableTableManager( + $_db, + $_db.teamTable, + ).filter((f) => f.id.sqlEquals($_column)); + final item = $_typedResult.readTableOrNull(_teamIdTable($_db)); + if (item == null) return manager; + return ProcessedTableManager( + manager.$state.copyWith(prefetchedData: [item]), + ); + } } class $$PlayerMatchTableTableFilterComposer @@ -3169,6 +5361,489 @@ class $$PlayerMatchTableTableFilterComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); + ColumnFilters get score => $composableBuilder( + column: $table.score, + builder: (column) => ColumnFilters(column), + ); + + $$PlayerTableTableFilterComposer get playerId { + final $$PlayerTableTableFilterComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.playerId, + referencedTable: $db.playerTable, + getReferencedColumn: (t) => t.id, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$PlayerTableTableFilterComposer( + $db: $db, + $table: $db.playerTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return composer; + } + + $$MatchTableTableFilterComposer get matchId { + final $$MatchTableTableFilterComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.matchId, + referencedTable: $db.matchTable, + getReferencedColumn: (t) => t.id, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$MatchTableTableFilterComposer( + $db: $db, + $table: $db.matchTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return composer; + } + + $$TeamTableTableFilterComposer get teamId { + final $$TeamTableTableFilterComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.teamId, + referencedTable: $db.teamTable, + getReferencedColumn: (t) => t.id, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$TeamTableTableFilterComposer( + $db: $db, + $table: $db.teamTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return composer; + } +} + +class $$PlayerMatchTableTableOrderingComposer + extends Composer<_$AppDatabase, $PlayerMatchTableTable> { + $$PlayerMatchTableTableOrderingComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + ColumnOrderings get score => $composableBuilder( + column: $table.score, + builder: (column) => ColumnOrderings(column), + ); + + $$PlayerTableTableOrderingComposer get playerId { + final $$PlayerTableTableOrderingComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.playerId, + referencedTable: $db.playerTable, + getReferencedColumn: (t) => t.id, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$PlayerTableTableOrderingComposer( + $db: $db, + $table: $db.playerTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return composer; + } + + $$MatchTableTableOrderingComposer get matchId { + final $$MatchTableTableOrderingComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.matchId, + referencedTable: $db.matchTable, + getReferencedColumn: (t) => t.id, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$MatchTableTableOrderingComposer( + $db: $db, + $table: $db.matchTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return composer; + } + + $$TeamTableTableOrderingComposer get teamId { + final $$TeamTableTableOrderingComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.teamId, + referencedTable: $db.teamTable, + getReferencedColumn: (t) => t.id, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$TeamTableTableOrderingComposer( + $db: $db, + $table: $db.teamTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return composer; + } +} + +class $$PlayerMatchTableTableAnnotationComposer + extends Composer<_$AppDatabase, $PlayerMatchTableTable> { + $$PlayerMatchTableTableAnnotationComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + GeneratedColumn get score => + $composableBuilder(column: $table.score, builder: (column) => column); + + $$PlayerTableTableAnnotationComposer get playerId { + final $$PlayerTableTableAnnotationComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.playerId, + referencedTable: $db.playerTable, + getReferencedColumn: (t) => t.id, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$PlayerTableTableAnnotationComposer( + $db: $db, + $table: $db.playerTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return composer; + } + + $$MatchTableTableAnnotationComposer get matchId { + final $$MatchTableTableAnnotationComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.matchId, + referencedTable: $db.matchTable, + getReferencedColumn: (t) => t.id, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$MatchTableTableAnnotationComposer( + $db: $db, + $table: $db.matchTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return composer; + } + + $$TeamTableTableAnnotationComposer get teamId { + final $$TeamTableTableAnnotationComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.teamId, + referencedTable: $db.teamTable, + getReferencedColumn: (t) => t.id, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$TeamTableTableAnnotationComposer( + $db: $db, + $table: $db.teamTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return composer; + } +} + +class $$PlayerMatchTableTableTableManager + extends + RootTableManager< + _$AppDatabase, + $PlayerMatchTableTable, + PlayerMatchTableData, + $$PlayerMatchTableTableFilterComposer, + $$PlayerMatchTableTableOrderingComposer, + $$PlayerMatchTableTableAnnotationComposer, + $$PlayerMatchTableTableCreateCompanionBuilder, + $$PlayerMatchTableTableUpdateCompanionBuilder, + (PlayerMatchTableData, $$PlayerMatchTableTableReferences), + PlayerMatchTableData, + PrefetchHooks Function({bool playerId, bool matchId, bool teamId}) + > { + $$PlayerMatchTableTableTableManager( + _$AppDatabase db, + $PlayerMatchTableTable table, + ) : super( + TableManagerState( + db: db, + table: table, + createFilteringComposer: () => + $$PlayerMatchTableTableFilterComposer($db: db, $table: table), + createOrderingComposer: () => + $$PlayerMatchTableTableOrderingComposer($db: db, $table: table), + createComputedFieldComposer: () => + $$PlayerMatchTableTableAnnotationComposer($db: db, $table: table), + updateCompanionCallback: + ({ + Value playerId = const Value.absent(), + Value matchId = const Value.absent(), + Value teamId = const Value.absent(), + Value score = const Value.absent(), + Value rowid = const Value.absent(), + }) => PlayerMatchTableCompanion( + playerId: playerId, + matchId: matchId, + teamId: teamId, + score: score, + rowid: rowid, + ), + createCompanionCallback: + ({ + required String playerId, + required String matchId, + Value teamId = const Value.absent(), + required int score, + Value rowid = const Value.absent(), + }) => PlayerMatchTableCompanion.insert( + playerId: playerId, + matchId: matchId, + teamId: teamId, + score: score, + rowid: rowid, + ), + withReferenceMapper: (p0) => p0 + .map( + (e) => ( + e.readTable(table), + $$PlayerMatchTableTableReferences(db, table, e), + ), + ) + .toList(), + prefetchHooksCallback: + ({playerId = false, matchId = false, teamId = false}) { + return PrefetchHooks( + db: db, + explicitlyWatchedTables: [], + addJoins: + < + T extends TableManagerState< + dynamic, + dynamic, + dynamic, + dynamic, + dynamic, + dynamic, + dynamic, + dynamic, + dynamic, + dynamic, + dynamic + > + >(state) { + if (playerId) { + state = + state.withJoin( + currentTable: table, + currentColumn: table.playerId, + referencedTable: + $$PlayerMatchTableTableReferences + ._playerIdTable(db), + referencedColumn: + $$PlayerMatchTableTableReferences + ._playerIdTable(db) + .id, + ) + as T; + } + if (matchId) { + state = + state.withJoin( + currentTable: table, + currentColumn: table.matchId, + referencedTable: + $$PlayerMatchTableTableReferences + ._matchIdTable(db), + referencedColumn: + $$PlayerMatchTableTableReferences + ._matchIdTable(db) + .id, + ) + as T; + } + if (teamId) { + state = + state.withJoin( + currentTable: table, + currentColumn: table.teamId, + referencedTable: + $$PlayerMatchTableTableReferences + ._teamIdTable(db), + referencedColumn: + $$PlayerMatchTableTableReferences + ._teamIdTable(db) + .id, + ) + as T; + } + + return state; + }, + getPrefetchedDataCallback: (items) async { + return []; + }, + ); + }, + ), + ); +} + +typedef $$PlayerMatchTableTableProcessedTableManager = + ProcessedTableManager< + _$AppDatabase, + $PlayerMatchTableTable, + PlayerMatchTableData, + $$PlayerMatchTableTableFilterComposer, + $$PlayerMatchTableTableOrderingComposer, + $$PlayerMatchTableTableAnnotationComposer, + $$PlayerMatchTableTableCreateCompanionBuilder, + $$PlayerMatchTableTableUpdateCompanionBuilder, + (PlayerMatchTableData, $$PlayerMatchTableTableReferences), + PlayerMatchTableData, + PrefetchHooks Function({bool playerId, bool matchId, bool teamId}) + >; +typedef $$ScoreTableTableCreateCompanionBuilder = + ScoreTableCompanion Function({ + required String playerId, + required String matchId, + required int roundNumber, + required int score, + required int change, + Value rowid, + }); +typedef $$ScoreTableTableUpdateCompanionBuilder = + ScoreTableCompanion Function({ + Value playerId, + Value matchId, + Value roundNumber, + Value score, + Value change, + Value rowid, + }); + +final class $$ScoreTableTableReferences + extends BaseReferences<_$AppDatabase, $ScoreTableTable, ScoreTableData> { + $$ScoreTableTableReferences(super.$_db, super.$_table, super.$_typedResult); + + static $PlayerTableTable _playerIdTable(_$AppDatabase db) => + db.playerTable.createAlias( + $_aliasNameGenerator(db.scoreTable.playerId, db.playerTable.id), + ); + + $$PlayerTableTableProcessedTableManager get playerId { + final $_column = $_itemColumn('player_id')!; + + final manager = $$PlayerTableTableTableManager( + $_db, + $_db.playerTable, + ).filter((f) => f.id.sqlEquals($_column)); + final item = $_typedResult.readTableOrNull(_playerIdTable($_db)); + if (item == null) return manager; + return ProcessedTableManager( + manager.$state.copyWith(prefetchedData: [item]), + ); + } + + static $MatchTableTable _matchIdTable(_$AppDatabase db) => + db.matchTable.createAlias( + $_aliasNameGenerator(db.scoreTable.matchId, db.matchTable.id), + ); + + $$MatchTableTableProcessedTableManager get matchId { + final $_column = $_itemColumn('match_id')!; + + final manager = $$MatchTableTableTableManager( + $_db, + $_db.matchTable, + ).filter((f) => f.id.sqlEquals($_column)); + final item = $_typedResult.readTableOrNull(_matchIdTable($_db)); + if (item == null) return manager; + return ProcessedTableManager( + manager.$state.copyWith(prefetchedData: [item]), + ); + } +} + +class $$ScoreTableTableFilterComposer + extends Composer<_$AppDatabase, $ScoreTableTable> { + $$ScoreTableTableFilterComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + ColumnFilters get roundNumber => $composableBuilder( + column: $table.roundNumber, + builder: (column) => ColumnFilters(column), + ); + + ColumnFilters get score => $composableBuilder( + column: $table.score, + builder: (column) => ColumnFilters(column), + ); + + ColumnFilters get change => $composableBuilder( + column: $table.change, + builder: (column) => ColumnFilters(column), + ); + $$PlayerTableTableFilterComposer get playerId { final $$PlayerTableTableFilterComposer composer = $composerBuilder( composer: this, @@ -3216,15 +5891,30 @@ class $$PlayerMatchTableTableFilterComposer } } -class $$PlayerMatchTableTableOrderingComposer - extends Composer<_$AppDatabase, $PlayerMatchTableTable> { - $$PlayerMatchTableTableOrderingComposer({ +class $$ScoreTableTableOrderingComposer + extends Composer<_$AppDatabase, $ScoreTableTable> { + $$ScoreTableTableOrderingComposer({ required super.$db, required super.$table, super.joinBuilder, super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); + ColumnOrderings get roundNumber => $composableBuilder( + column: $table.roundNumber, + builder: (column) => ColumnOrderings(column), + ); + + ColumnOrderings get score => $composableBuilder( + column: $table.score, + builder: (column) => ColumnOrderings(column), + ); + + ColumnOrderings get change => $composableBuilder( + column: $table.change, + builder: (column) => ColumnOrderings(column), + ); + $$PlayerTableTableOrderingComposer get playerId { final $$PlayerTableTableOrderingComposer composer = $composerBuilder( composer: this, @@ -3272,15 +5962,26 @@ class $$PlayerMatchTableTableOrderingComposer } } -class $$PlayerMatchTableTableAnnotationComposer - extends Composer<_$AppDatabase, $PlayerMatchTableTable> { - $$PlayerMatchTableTableAnnotationComposer({ +class $$ScoreTableTableAnnotationComposer + extends Composer<_$AppDatabase, $ScoreTableTable> { + $$ScoreTableTableAnnotationComposer({ required super.$db, required super.$table, super.joinBuilder, super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); + GeneratedColumn get roundNumber => $composableBuilder( + column: $table.roundNumber, + builder: (column) => column, + ); + + GeneratedColumn get score => + $composableBuilder(column: $table.score, builder: (column) => column); + + GeneratedColumn get change => + $composableBuilder(column: $table.change, builder: (column) => column); + $$PlayerTableTableAnnotationComposer get playerId { final $$PlayerTableTableAnnotationComposer composer = $composerBuilder( composer: this, @@ -3328,59 +6029,69 @@ class $$PlayerMatchTableTableAnnotationComposer } } -class $$PlayerMatchTableTableTableManager +class $$ScoreTableTableTableManager extends RootTableManager< _$AppDatabase, - $PlayerMatchTableTable, - PlayerMatchTableData, - $$PlayerMatchTableTableFilterComposer, - $$PlayerMatchTableTableOrderingComposer, - $$PlayerMatchTableTableAnnotationComposer, - $$PlayerMatchTableTableCreateCompanionBuilder, - $$PlayerMatchTableTableUpdateCompanionBuilder, - (PlayerMatchTableData, $$PlayerMatchTableTableReferences), - PlayerMatchTableData, + $ScoreTableTable, + ScoreTableData, + $$ScoreTableTableFilterComposer, + $$ScoreTableTableOrderingComposer, + $$ScoreTableTableAnnotationComposer, + $$ScoreTableTableCreateCompanionBuilder, + $$ScoreTableTableUpdateCompanionBuilder, + (ScoreTableData, $$ScoreTableTableReferences), + ScoreTableData, PrefetchHooks Function({bool playerId, bool matchId}) > { - $$PlayerMatchTableTableTableManager( - _$AppDatabase db, - $PlayerMatchTableTable table, - ) : super( + $$ScoreTableTableTableManager(_$AppDatabase db, $ScoreTableTable table) + : super( TableManagerState( db: db, table: table, createFilteringComposer: () => - $$PlayerMatchTableTableFilterComposer($db: db, $table: table), + $$ScoreTableTableFilterComposer($db: db, $table: table), createOrderingComposer: () => - $$PlayerMatchTableTableOrderingComposer($db: db, $table: table), + $$ScoreTableTableOrderingComposer($db: db, $table: table), createComputedFieldComposer: () => - $$PlayerMatchTableTableAnnotationComposer($db: db, $table: table), + $$ScoreTableTableAnnotationComposer($db: db, $table: table), updateCompanionCallback: ({ Value playerId = const Value.absent(), Value matchId = const Value.absent(), + Value roundNumber = const Value.absent(), + Value score = const Value.absent(), + Value change = const Value.absent(), Value rowid = const Value.absent(), - }) => PlayerMatchTableCompanion( + }) => ScoreTableCompanion( playerId: playerId, matchId: matchId, + roundNumber: roundNumber, + score: score, + change: change, rowid: rowid, ), createCompanionCallback: ({ required String playerId, required String matchId, + required int roundNumber, + required int score, + required int change, Value rowid = const Value.absent(), - }) => PlayerMatchTableCompanion.insert( + }) => ScoreTableCompanion.insert( playerId: playerId, matchId: matchId, + roundNumber: roundNumber, + score: score, + change: change, rowid: rowid, ), withReferenceMapper: (p0) => p0 .map( (e) => ( e.readTable(table), - $$PlayerMatchTableTableReferences(db, table, e), + $$ScoreTableTableReferences(db, table, e), ), ) .toList(), @@ -3409,13 +6120,11 @@ class $$PlayerMatchTableTableTableManager state.withJoin( currentTable: table, currentColumn: table.playerId, - referencedTable: - $$PlayerMatchTableTableReferences - ._playerIdTable(db), - referencedColumn: - $$PlayerMatchTableTableReferences - ._playerIdTable(db) - .id, + referencedTable: $$ScoreTableTableReferences + ._playerIdTable(db), + referencedColumn: $$ScoreTableTableReferences + ._playerIdTable(db) + .id, ) as T; } @@ -3424,13 +6133,11 @@ class $$PlayerMatchTableTableTableManager state.withJoin( currentTable: table, currentColumn: table.matchId, - referencedTable: - $$PlayerMatchTableTableReferences - ._matchIdTable(db), - referencedColumn: - $$PlayerMatchTableTableReferences - ._matchIdTable(db) - .id, + referencedTable: $$ScoreTableTableReferences + ._matchIdTable(db), + referencedColumn: $$ScoreTableTableReferences + ._matchIdTable(db) + .id, ) as T; } @@ -3446,385 +6153,20 @@ class $$PlayerMatchTableTableTableManager ); } -typedef $$PlayerMatchTableTableProcessedTableManager = +typedef $$ScoreTableTableProcessedTableManager = ProcessedTableManager< _$AppDatabase, - $PlayerMatchTableTable, - PlayerMatchTableData, - $$PlayerMatchTableTableFilterComposer, - $$PlayerMatchTableTableOrderingComposer, - $$PlayerMatchTableTableAnnotationComposer, - $$PlayerMatchTableTableCreateCompanionBuilder, - $$PlayerMatchTableTableUpdateCompanionBuilder, - (PlayerMatchTableData, $$PlayerMatchTableTableReferences), - PlayerMatchTableData, + $ScoreTableTable, + ScoreTableData, + $$ScoreTableTableFilterComposer, + $$ScoreTableTableOrderingComposer, + $$ScoreTableTableAnnotationComposer, + $$ScoreTableTableCreateCompanionBuilder, + $$ScoreTableTableUpdateCompanionBuilder, + (ScoreTableData, $$ScoreTableTableReferences), + ScoreTableData, PrefetchHooks Function({bool playerId, bool matchId}) >; -typedef $$GroupMatchTableTableCreateCompanionBuilder = - GroupMatchTableCompanion Function({ - required String groupId, - required String matchId, - Value rowid, - }); -typedef $$GroupMatchTableTableUpdateCompanionBuilder = - GroupMatchTableCompanion Function({ - Value groupId, - Value matchId, - Value rowid, - }); - -final class $$GroupMatchTableTableReferences - extends - BaseReferences< - _$AppDatabase, - $GroupMatchTableTable, - GroupMatchTableData - > { - $$GroupMatchTableTableReferences( - super.$_db, - super.$_table, - super.$_typedResult, - ); - - static $GroupTableTable _groupIdTable(_$AppDatabase db) => - db.groupTable.createAlias( - $_aliasNameGenerator(db.groupMatchTable.groupId, db.groupTable.id), - ); - - $$GroupTableTableProcessedTableManager get groupId { - final $_column = $_itemColumn('group_id')!; - - final manager = $$GroupTableTableTableManager( - $_db, - $_db.groupTable, - ).filter((f) => f.id.sqlEquals($_column)); - final item = $_typedResult.readTableOrNull(_groupIdTable($_db)); - if (item == null) return manager; - return ProcessedTableManager( - manager.$state.copyWith(prefetchedData: [item]), - ); - } - - static $MatchTableTable _matchIdTable(_$AppDatabase db) => - db.matchTable.createAlias( - $_aliasNameGenerator(db.groupMatchTable.matchId, db.matchTable.id), - ); - - $$MatchTableTableProcessedTableManager get matchId { - final $_column = $_itemColumn('match_id')!; - - final manager = $$MatchTableTableTableManager( - $_db, - $_db.matchTable, - ).filter((f) => f.id.sqlEquals($_column)); - final item = $_typedResult.readTableOrNull(_matchIdTable($_db)); - if (item == null) return manager; - return ProcessedTableManager( - manager.$state.copyWith(prefetchedData: [item]), - ); - } -} - -class $$GroupMatchTableTableFilterComposer - extends Composer<_$AppDatabase, $GroupMatchTableTable> { - $$GroupMatchTableTableFilterComposer({ - required super.$db, - required super.$table, - super.joinBuilder, - super.$addJoinBuilderToRootComposer, - super.$removeJoinBuilderFromRootComposer, - }); - $$GroupTableTableFilterComposer get groupId { - final $$GroupTableTableFilterComposer composer = $composerBuilder( - composer: this, - getCurrentColumn: (t) => t.groupId, - referencedTable: $db.groupTable, - getReferencedColumn: (t) => t.id, - builder: - ( - joinBuilder, { - $addJoinBuilderToRootComposer, - $removeJoinBuilderFromRootComposer, - }) => $$GroupTableTableFilterComposer( - $db: $db, - $table: $db.groupTable, - $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, - joinBuilder: joinBuilder, - $removeJoinBuilderFromRootComposer: - $removeJoinBuilderFromRootComposer, - ), - ); - return composer; - } - - $$MatchTableTableFilterComposer get matchId { - final $$MatchTableTableFilterComposer composer = $composerBuilder( - composer: this, - getCurrentColumn: (t) => t.matchId, - referencedTable: $db.matchTable, - getReferencedColumn: (t) => t.id, - builder: - ( - joinBuilder, { - $addJoinBuilderToRootComposer, - $removeJoinBuilderFromRootComposer, - }) => $$MatchTableTableFilterComposer( - $db: $db, - $table: $db.matchTable, - $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, - joinBuilder: joinBuilder, - $removeJoinBuilderFromRootComposer: - $removeJoinBuilderFromRootComposer, - ), - ); - return composer; - } -} - -class $$GroupMatchTableTableOrderingComposer - extends Composer<_$AppDatabase, $GroupMatchTableTable> { - $$GroupMatchTableTableOrderingComposer({ - required super.$db, - required super.$table, - super.joinBuilder, - super.$addJoinBuilderToRootComposer, - super.$removeJoinBuilderFromRootComposer, - }); - $$GroupTableTableOrderingComposer get groupId { - final $$GroupTableTableOrderingComposer composer = $composerBuilder( - composer: this, - getCurrentColumn: (t) => t.groupId, - referencedTable: $db.groupTable, - getReferencedColumn: (t) => t.id, - builder: - ( - joinBuilder, { - $addJoinBuilderToRootComposer, - $removeJoinBuilderFromRootComposer, - }) => $$GroupTableTableOrderingComposer( - $db: $db, - $table: $db.groupTable, - $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, - joinBuilder: joinBuilder, - $removeJoinBuilderFromRootComposer: - $removeJoinBuilderFromRootComposer, - ), - ); - return composer; - } - - $$MatchTableTableOrderingComposer get matchId { - final $$MatchTableTableOrderingComposer composer = $composerBuilder( - composer: this, - getCurrentColumn: (t) => t.matchId, - referencedTable: $db.matchTable, - getReferencedColumn: (t) => t.id, - builder: - ( - joinBuilder, { - $addJoinBuilderToRootComposer, - $removeJoinBuilderFromRootComposer, - }) => $$MatchTableTableOrderingComposer( - $db: $db, - $table: $db.matchTable, - $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, - joinBuilder: joinBuilder, - $removeJoinBuilderFromRootComposer: - $removeJoinBuilderFromRootComposer, - ), - ); - return composer; - } -} - -class $$GroupMatchTableTableAnnotationComposer - extends Composer<_$AppDatabase, $GroupMatchTableTable> { - $$GroupMatchTableTableAnnotationComposer({ - required super.$db, - required super.$table, - super.joinBuilder, - super.$addJoinBuilderToRootComposer, - super.$removeJoinBuilderFromRootComposer, - }); - $$GroupTableTableAnnotationComposer get groupId { - final $$GroupTableTableAnnotationComposer composer = $composerBuilder( - composer: this, - getCurrentColumn: (t) => t.groupId, - referencedTable: $db.groupTable, - getReferencedColumn: (t) => t.id, - builder: - ( - joinBuilder, { - $addJoinBuilderToRootComposer, - $removeJoinBuilderFromRootComposer, - }) => $$GroupTableTableAnnotationComposer( - $db: $db, - $table: $db.groupTable, - $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, - joinBuilder: joinBuilder, - $removeJoinBuilderFromRootComposer: - $removeJoinBuilderFromRootComposer, - ), - ); - return composer; - } - - $$MatchTableTableAnnotationComposer get matchId { - final $$MatchTableTableAnnotationComposer composer = $composerBuilder( - composer: this, - getCurrentColumn: (t) => t.matchId, - referencedTable: $db.matchTable, - getReferencedColumn: (t) => t.id, - builder: - ( - joinBuilder, { - $addJoinBuilderToRootComposer, - $removeJoinBuilderFromRootComposer, - }) => $$MatchTableTableAnnotationComposer( - $db: $db, - $table: $db.matchTable, - $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, - joinBuilder: joinBuilder, - $removeJoinBuilderFromRootComposer: - $removeJoinBuilderFromRootComposer, - ), - ); - return composer; - } -} - -class $$GroupMatchTableTableTableManager - extends - RootTableManager< - _$AppDatabase, - $GroupMatchTableTable, - GroupMatchTableData, - $$GroupMatchTableTableFilterComposer, - $$GroupMatchTableTableOrderingComposer, - $$GroupMatchTableTableAnnotationComposer, - $$GroupMatchTableTableCreateCompanionBuilder, - $$GroupMatchTableTableUpdateCompanionBuilder, - (GroupMatchTableData, $$GroupMatchTableTableReferences), - GroupMatchTableData, - PrefetchHooks Function({bool groupId, bool matchId}) - > { - $$GroupMatchTableTableTableManager( - _$AppDatabase db, - $GroupMatchTableTable table, - ) : super( - TableManagerState( - db: db, - table: table, - createFilteringComposer: () => - $$GroupMatchTableTableFilterComposer($db: db, $table: table), - createOrderingComposer: () => - $$GroupMatchTableTableOrderingComposer($db: db, $table: table), - createComputedFieldComposer: () => - $$GroupMatchTableTableAnnotationComposer($db: db, $table: table), - updateCompanionCallback: - ({ - Value groupId = const Value.absent(), - Value matchId = const Value.absent(), - Value rowid = const Value.absent(), - }) => GroupMatchTableCompanion( - groupId: groupId, - matchId: matchId, - rowid: rowid, - ), - createCompanionCallback: - ({ - required String groupId, - required String matchId, - Value rowid = const Value.absent(), - }) => GroupMatchTableCompanion.insert( - groupId: groupId, - matchId: matchId, - rowid: rowid, - ), - withReferenceMapper: (p0) => p0 - .map( - (e) => ( - e.readTable(table), - $$GroupMatchTableTableReferences(db, table, e), - ), - ) - .toList(), - prefetchHooksCallback: ({groupId = false, matchId = false}) { - return PrefetchHooks( - db: db, - explicitlyWatchedTables: [], - addJoins: - < - T extends TableManagerState< - dynamic, - dynamic, - dynamic, - dynamic, - dynamic, - dynamic, - dynamic, - dynamic, - dynamic, - dynamic, - dynamic - > - >(state) { - if (groupId) { - state = - state.withJoin( - currentTable: table, - currentColumn: table.groupId, - referencedTable: - $$GroupMatchTableTableReferences - ._groupIdTable(db), - referencedColumn: - $$GroupMatchTableTableReferences - ._groupIdTable(db) - .id, - ) - as T; - } - if (matchId) { - state = - state.withJoin( - currentTable: table, - currentColumn: table.matchId, - referencedTable: - $$GroupMatchTableTableReferences - ._matchIdTable(db), - referencedColumn: - $$GroupMatchTableTableReferences - ._matchIdTable(db) - .id, - ) - as T; - } - - return state; - }, - getPrefetchedDataCallback: (items) async { - return []; - }, - ); - }, - ), - ); -} - -typedef $$GroupMatchTableTableProcessedTableManager = - ProcessedTableManager< - _$AppDatabase, - $GroupMatchTableTable, - GroupMatchTableData, - $$GroupMatchTableTableFilterComposer, - $$GroupMatchTableTableOrderingComposer, - $$GroupMatchTableTableAnnotationComposer, - $$GroupMatchTableTableCreateCompanionBuilder, - $$GroupMatchTableTableUpdateCompanionBuilder, - (GroupMatchTableData, $$GroupMatchTableTableReferences), - GroupMatchTableData, - PrefetchHooks Function({bool groupId, bool matchId}) - >; class $AppDatabaseManager { final _$AppDatabase _db; @@ -3833,12 +6175,16 @@ class $AppDatabaseManager { $$PlayerTableTableTableManager(_db, _db.playerTable); $$GroupTableTableTableManager get groupTable => $$GroupTableTableTableManager(_db, _db.groupTable); + $$GameTableTableTableManager get gameTable => + $$GameTableTableTableManager(_db, _db.gameTable); + $$TeamTableTableTableManager get teamTable => + $$TeamTableTableTableManager(_db, _db.teamTable); $$MatchTableTableTableManager get matchTable => $$MatchTableTableTableManager(_db, _db.matchTable); $$PlayerGroupTableTableTableManager get playerGroupTable => $$PlayerGroupTableTableTableManager(_db, _db.playerGroupTable); $$PlayerMatchTableTableTableManager get playerMatchTable => $$PlayerMatchTableTableTableManager(_db, _db.playerMatchTable); - $$GroupMatchTableTableTableManager get groupMatchTable => - $$GroupMatchTableTableTableManager(_db, _db.groupMatchTable); + $$ScoreTableTableTableManager get scoreTable => + $$ScoreTableTableTableManager(_db, _db.scoreTable); } From 40e970a5dcba5d64b346ef8cb6d6ddddfe6930ea Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 13:37:00 +0100 Subject: [PATCH 041/198] re-add winner parameter --- lib/data/dto/match.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/data/dto/match.dart b/lib/data/dto/match.dart index c91dc92..6963b4f 100644 --- a/lib/data/dto/match.dart +++ b/lib/data/dto/match.dart @@ -12,6 +12,7 @@ class Match { final Group? group; final List? players; final String? notes; + Player? winner; Match({ String? id, @@ -21,12 +22,13 @@ class Match { this.group, this.players, this.notes, + this.winner, }) : id = id ?? const Uuid().v4(), createdAt = createdAt ?? clock.now(); @override String toString() { - return 'Match{id: $id, name: $name, game: $game, group: $group, players: $players, notes: $notes}'; + return 'Match{id: $id, name: $name, game: $game, group: $group, players: $players, notes: $notes, winner: $winner}'; } /// Creates a Match instance from a JSON object. From 49e990dfea7b496db0a097fb9850d43466fa66dc Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 13:44:03 +0100 Subject: [PATCH 042/198] add TEMPORARY winner getter and setter methods to match_dao.dart --- lib/data/dao/match_dao.dart | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/lib/data/dao/match_dao.dart b/lib/data/dao/match_dao.dart index 0c16a6b..696aff7 100644 --- a/lib/data/dao/match_dao.dart +++ b/lib/data/dao/match_dao.dart @@ -339,4 +339,40 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { ); return rowsAffected > 0; } + + // ============================================================ + // TEMPORARY: Winner methods - these are stubs and do not persist data + // TODO: Implement proper winner handling + // ============================================================ + + /// TEMPORARY: Checks if a match has a winner. + /// Currently returns true if the match has any players. + Future hasWinner({required String matchId}) async { + final players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId); + return players?.isNotEmpty ?? false; + } + + /// TEMPORARY: Gets the winner of a match. + /// Currently returns the first player in the match's player list. + Future getWinner({required String matchId}) async { + final players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId); + return (players?.isNotEmpty ?? false) ? players!.first : null; + } + + /// TEMPORARY: Sets the winner of a match. + /// Currently does nothing - winner is not persisted. + Future setWinner({ + required String matchId, + required String winnerId, + }) async { + // TODO: Implement winner persistence + return true; + } + + /// TEMPORARY: Removes the winner of a match. + /// Currently does nothing - winner is not persisted. + Future removeWinner({required String matchId}) async { + // TODO: Implement winner persistence + return true; + } } From 32fa82e5e7e31ef8667bb955d970af0649e090a7 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 13:53:57 +0100 Subject: [PATCH 043/198] check for game object on match create --- .../match_view/create_match/create_match_view.dart | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index b9885a4..64309dc 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -3,6 +3,7 @@ import 'package:game_tracker/core/adaptive_page_route.dart'; import 'package:game_tracker/core/custom_theme.dart'; import 'package:game_tracker/core/enums.dart'; import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/dto/game.dart'; import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; @@ -229,11 +230,20 @@ class _CreateMatchViewState extends State { buttonType: ButtonType.primary, onPressed: _enableCreateGameButton() ? () async { + final selectedGame = games[selectedGameIndex]; + final game = Game( + name: selectedGame.$1, + description: selectedGame.$2.isEmpty ? null : selectedGame.$2, + ruleset: selectedGame.$3.name, + ); + // Ensure the game exists in the database before creating the match + await db.gameDao.addGame(game: game); Match match = Match( name: _matchNameController.text.isEmpty ? (hintText ?? '') : _matchNameController.text.trim(), createdAt: DateTime.now(), + game: game, group: selectedGroup, players: selectedPlayers, ); @@ -263,10 +273,12 @@ class _CreateMatchViewState extends State { /// Determines whether the "Create Match" button should be enabled. /// /// Returns `true` if: + /// - A game is selected AND /// - A ruleset is selected AND /// - Either a group is selected OR at least 2 players are selected bool _enableCreateGameButton() { - return (selectedGroup != null || + return selectedGameIndex != -1 && + (selectedGroup != null || (selectedPlayers != null && selectedPlayers!.length > 1)) && selectedRuleset != null; } From a68bbddc1af1210151fdfebcd0496f1194a2352f Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 13:54:15 +0100 Subject: [PATCH 044/198] temporarily removed group_match_test.dart --- test/db_tests/group_match_test.dart | 221 ---------------------------- 1 file changed, 221 deletions(-) delete mode 100644 test/db_tests/group_match_test.dart diff --git a/test/db_tests/group_match_test.dart b/test/db_tests/group_match_test.dart deleted file mode 100644 index 7d812bd..0000000 --- a/test/db_tests/group_match_test.dart +++ /dev/null @@ -1,221 +0,0 @@ -import 'package:clock/clock.dart'; -import 'package:drift/drift.dart' hide isNotNull; -import 'package:drift/native.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/match.dart'; -import 'package:game_tracker/data/dto/player.dart'; - -void main() { - late AppDatabase database; - late Player testPlayer1; - late Player testPlayer2; - late Player testPlayer3; - late Player testPlayer4; - late Player testPlayer5; - late Group testGroup1; - late Group testGroup2; - late Match testMatchWithGroup; - late Match testMatchWithPlayers; - final fixedDate = DateTime(2025, 19, 11, 00, 11, 23); - final fakeClock = Clock(() => fixedDate); - - setUp(() async { - database = AppDatabase( - DatabaseConnection( - NativeDatabase.memory(), - // Recommended for widget tests to avoid test errors. - closeStreamsSynchronously: true, - ), - ); - - withClock(fakeClock, () { - testPlayer1 = Player(name: 'Alice'); - testPlayer2 = Player(name: 'Bob'); - testPlayer3 = Player(name: 'Charlie'); - testPlayer4 = Player(name: 'Diana'); - testPlayer5 = Player(name: 'Eve'); - testGroup1 = Group( - name: 'Test Group', - members: [testPlayer1, testPlayer2, testPlayer3], - ); - testGroup2 = Group( - name: 'Test Group', - members: [testPlayer3, testPlayer2], - ); - testMatchWithPlayers = Match( - name: 'Test Match with Players', - players: [testPlayer4, testPlayer5], - ); - testMatchWithGroup = Match( - name: 'Test Match with Group', - group: testGroup1, - ); - }); - await database.playerDao.addPlayersAsList( - players: [ - testPlayer1, - testPlayer2, - testPlayer3, - testPlayer4, - testPlayer5, - ], - ); - await database.groupDao.addGroupsAsList(groups: [testGroup1, testGroup2]); - }); - tearDown(() async { - await database.close(); - }); - group('Group-Match Tests', () { - test('matchHasGroup() has group works correctly', () async { - await database.matchDao.addMatch(match: testMatchWithPlayers); - await database.groupDao.addGroup(group: testGroup1); - - var matchHasGroup = await database.groupMatchDao.matchHasGroup( - matchId: testMatchWithPlayers.id, - ); - - expect(matchHasGroup, false); - - await database.groupMatchDao.addGroupToMatch( - matchId: testMatchWithPlayers.id, - groupId: testGroup1.id, - ); - - matchHasGroup = await database.groupMatchDao.matchHasGroup( - matchId: testMatchWithPlayers.id, - ); - - expect(matchHasGroup, true); - }); - - test('Adding a group to a match works correctly', () async { - await database.matchDao.addMatch(match: testMatchWithPlayers); - await database.groupDao.addGroup(group: testGroup1); - await database.groupMatchDao.addGroupToMatch( - matchId: testMatchWithPlayers.id, - groupId: testGroup1.id, - ); - - var groupAdded = await database.groupMatchDao.isGroupInMatch( - matchId: testMatchWithPlayers.id, - groupId: testGroup1.id, - ); - expect(groupAdded, true); - - groupAdded = await database.groupMatchDao.isGroupInMatch( - matchId: testMatchWithPlayers.id, - groupId: '', - ); - expect(groupAdded, false); - }); - - test('Removing group from match works correctly', () async { - await database.matchDao.addMatch(match: testMatchWithGroup); - - final groupToRemove = testMatchWithGroup.group!; - - final removed = await database.groupMatchDao.removeGroupFromMatch( - groupId: groupToRemove.id, - matchId: testMatchWithGroup.id, - ); - expect(removed, true); - - final result = await database.matchDao.getMatchById( - matchId: testMatchWithGroup.id, - ); - expect(result.group, null); - }); - - test('Retrieving group of a match works correctly', () async { - await database.matchDao.addMatch(match: testMatchWithGroup); - final group = await database.groupMatchDao.getGroupOfMatch( - matchId: testMatchWithGroup.id, - ); - - if (group == null) { - fail('Group should not be null'); - } - - expect(group.id, testGroup1.id); - expect(group.name, testGroup1.name); - expect(group.createdAt, testGroup1.createdAt); - expect(group.members.length, testGroup1.members.length); - for (int i = 0; i < group.members.length; i++) { - expect(group.members[i].id, testGroup1.members[i].id); - expect(group.members[i].name, testGroup1.members[i].name); - expect(group.members[i].createdAt, testGroup1.members[i].createdAt); - } - }); - - test('Updating the group of a match works correctly', () async { - await database.matchDao.addMatch(match: testMatchWithGroup); - - var group = await database.groupMatchDao.getGroupOfMatch( - matchId: testMatchWithGroup.id, - ); - - if (group == null) { - fail('Initial group should not be null'); - } else { - expect(group.id, testGroup1.id); - expect(group.name, testGroup1.name); - expect(group.createdAt, testGroup1.createdAt); - expect(group.members.length, testGroup1.members.length); - } - - await database.groupDao.addGroup(group: testGroup2); - await database.groupMatchDao.updateGroupOfMatch( - matchId: testMatchWithGroup.id, - newGroupId: testGroup2.id, - ); - - group = await database.groupMatchDao.getGroupOfMatch( - matchId: testMatchWithGroup.id, - ); - - if (group == null) { - fail('Updated group should not be null'); - } else { - expect(group.id, testGroup2.id); - expect(group.name, testGroup2.name); - expect(group.createdAt, testGroup2.createdAt); - expect(group.members.length, testGroup2.members.length); - for (int i = 0; i < group.members.length; i++) { - expect(group.members[i].id, testGroup2.members[i].id); - expect(group.members[i].name, testGroup2.members[i].name); - expect(group.members[i].createdAt, testGroup2.members[i].createdAt); - } - } - }); - - test('Adding the same group to seperate matches works correctly', () async { - final match1 = Match(name: 'Match 1', group: testGroup1); - final match2 = Match(name: 'Match 2', group: testGroup1); - - await Future.wait([ - database.matchDao.addMatch(match: match1), - database.matchDao.addMatch(match: match2), - ]); - - final group1 = await database.groupMatchDao.getGroupOfMatch( - matchId: match1.id, - ); - final group2 = await database.groupMatchDao.getGroupOfMatch( - matchId: match2.id, - ); - - expect(group1, isNotNull); - expect(group2, isNotNull); - - final groups = [group1!, group2!]; - for (final group in groups) { - expect(group.members.length, testGroup1.members.length); - expect(group.id, testGroup1.id); - expect(group.name, testGroup1.name); - expect(group.createdAt, testGroup1.createdAt); - } - }); - }); -} From d21c37966eed8b926e1817d556004901c9743d41 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 14:15:55 +0100 Subject: [PATCH 045/198] tests create testGame now --- test/db_tests/game_test.dart | 8 ++++++++ test/db_tests/player_match_test.dart | 14 ++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/test/db_tests/game_test.dart b/test/db_tests/game_test.dart index 0ec2cfc..c52817f 100644 --- a/test/db_tests/game_test.dart +++ b/test/db_tests/game_test.dart @@ -3,6 +3,7 @@ import 'package:drift/drift.dart'; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/dto/game.dart'; import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; @@ -16,6 +17,7 @@ void main() { late Player testPlayer5; late Group testGroup1; late Group testGroup2; + late Game testGame; late Match testMatch1; late Match testMatch2; late Match testMatchOnlyPlayers; @@ -46,25 +48,30 @@ void main() { name: 'Test Group 2', members: [testPlayer4, testPlayer5], ); + testGame = Game(name: 'Test Game'); testMatch1 = Match( name: 'First Test Match', + game: testGame, group: testGroup1, players: [testPlayer4, testPlayer5], winner: testPlayer4, ); testMatch2 = Match( name: 'Second Test Match', + game: testGame, group: testGroup2, players: [testPlayer1, testPlayer2, testPlayer3], winner: testPlayer2, ); testMatchOnlyPlayers = Match( name: 'Test Match with Players', + game: testGame, players: [testPlayer1, testPlayer2, testPlayer3], winner: testPlayer3, ); testMatchOnlyGroup = Match( name: 'Test Match with Group', + game: testGame, group: testGroup2, ); }); @@ -78,6 +85,7 @@ void main() { ], ); await database.groupDao.addGroupsAsList(groups: [testGroup1, testGroup2]); + await database.gameDao.addGame(game: testGame); }); tearDown(() async { await database.close(); diff --git a/test/db_tests/player_match_test.dart b/test/db_tests/player_match_test.dart index 8a4f569..8fa8a88 100644 --- a/test/db_tests/player_match_test.dart +++ b/test/db_tests/player_match_test.dart @@ -3,6 +3,7 @@ import 'package:drift/drift.dart' hide isNotNull; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/dto/game.dart'; import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; @@ -15,7 +16,8 @@ void main() { late Player testPlayer4; late Player testPlayer5; late Player testPlayer6; - late Group testgroup; + late Group testGroup; + late Game testGame; late Match testMatchOnlyGroup; late Match testMatchOnlyPlayers; final fixedDate = DateTime(2025, 19, 11, 00, 11, 23); @@ -37,16 +39,19 @@ void main() { testPlayer4 = Player(name: 'Diana'); testPlayer5 = Player(name: 'Eve'); testPlayer6 = Player(name: 'Frank'); - testgroup = Group( + testGroup = Group( name: 'Test Group', members: [testPlayer1, testPlayer2, testPlayer3], ); + testGame = Game(name: 'Test Game'); testMatchOnlyGroup = Match( name: 'Test Match with Group', - group: testgroup, + game: testGame, + group: testGroup, ); testMatchOnlyPlayers = Match( name: 'Test Match with Players', + game: testGame, players: [testPlayer4, testPlayer5, testPlayer6], ); }); @@ -60,7 +65,8 @@ void main() { testPlayer6, ], ); - await database.groupDao.addGroup(group: testgroup); + await database.groupDao.addGroup(group: testGroup); + await database.gameDao.addGame(game: testGame); }); tearDown(() async { await database.close(); From 6a6e36ed7cdbb7ab4da57c7e2777f75ceee3a9bf Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 16 Jan 2026 15:55:17 +0100 Subject: [PATCH 046/198] remove pair --- lib/data/dto/pair.dart | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 lib/data/dto/pair.dart diff --git a/lib/data/dto/pair.dart b/lib/data/dto/pair.dart deleted file mode 100644 index 2cce9f8..0000000 --- a/lib/data/dto/pair.dart +++ /dev/null @@ -1,16 +0,0 @@ -import 'package:game_tracker/data/dto/team.dart'; - -class Pair extends Team { - Pair({ - super.id, - super.createdAt, - required super.members, - }); - - @override - String toString() { - return 'Pair{id: $id, members: $members}'; - } - -} - From 919a38afe5f63d5dcb36a5f48106fe0af587e04d Mon Sep 17 00:00:00 2001 From: Mathis Kirchner Date: Sat, 17 Jan 2026 10:21:55 +0100 Subject: [PATCH 047/198] fix merge conflicts --- .../views/main_menu/settings_view/settings_view.dart | 6 +++--- pubspec.yaml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/presentation/views/main_menu/settings_view/settings_view.dart b/lib/presentation/views/main_menu/settings_view/settings_view.dart index 22b3ce9..78c7efc 100644 --- a/lib/presentation/views/main_menu/settings_view/settings_view.dart +++ b/lib/presentation/views/main_menu/settings_view/settings_view.dart @@ -304,11 +304,11 @@ class _SettingsViewState extends State { final loc = AppLocalizations.of(context); switch (result) { case ExportResult.success: - showSnackbar(message: loc.data_successfully_exported); + showSnackbar(context: context, message: loc.data_successfully_exported); case ExportResult.canceled: - showSnackbar(message: loc.export_canceled); + showSnackbar(context: context, message: loc.export_canceled); case ExportResult.unknownException: - showSnackbar(message: loc.unknown_exception); + showSnackbar(context: context, message: loc.unknown_exception); } } diff --git a/pubspec.yaml b/pubspec.yaml index e9fd894..a6eaea1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: game_tracker description: "Game Tracking App for Card Games" publish_to: 'none' -version: 0.0.7+212 +version: 0.0.7+214 environment: sdk: ^3.8.1 From 374c9295ef0c584c5f40ac8da762937a501323fb Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sun, 18 Jan 2026 00:08:39 +0100 Subject: [PATCH 048/198] Implemented MatchProfileView --- lib/l10n/arb/app_de.arb | 5 + lib/l10n/arb/app_en.arb | 16 ++ lib/l10n/generated/app_localizations.dart | 24 ++ lib/l10n/generated/app_localizations_de.dart | 12 + lib/l10n/generated/app_localizations_en.dart | 12 + .../match_view/match_profile_view.dart | 261 ++++++++++++++++++ .../main_menu/match_view/match_view.dart | 8 +- .../widgets/buttons/main_menu_button.dart | 28 +- pubspec.yaml | 2 +- 9 files changed, 349 insertions(+), 19 deletions(-) create mode 100644 lib/presentation/views/main_menu/match_view/match_profile_view.dart diff --git a/lib/l10n/arb/app_de.arb b/lib/l10n/arb/app_de.arb index 2ef9ee9..65aa2b3 100644 --- a/lib/l10n/arb/app_de.arb +++ b/lib/l10n/arb/app_de.arb @@ -23,7 +23,9 @@ "delete": "Löschen", "delete_all_data": "Alle Daten löschen", "delete_group": "Gruppe löschen", + "delete_match": "Spiel löschen", "edit_group": "Gruppe bearbeiten", + "enter_results": "Ergebnisse eintragen", "error_creating_group": "Fehler beim Erstellen der Gruppe, bitte erneut versuchen", "error_reading_file": "Fehler beim Lesen der Datei", "export_canceled": "Export abgebrochen", @@ -46,6 +48,7 @@ "licenses": "Lizenzen", "match_in_progress": "Spiel läuft...", "match_name": "Spieltitel", + "match_profile": "Spielprofil", "matches": "Spiele", "members": "Mitglieder", "most_points": "Höchste Punkte", @@ -70,6 +73,8 @@ "privacy_policy": "Datenschutzerklärung", "quick_create": "Schnellzugriff", "recent_matches": "Letzte Spiele", + "result": "Ergebnis", + "results": "Ergebnisse", "ruleset": "Regelwerk", "ruleset_least_points": "Umgekehrte Wertung: Der/die Spieler:in mit den wenigsten Punkten gewinnt.", "ruleset_most_points": "Traditionelles Regelwerk: Der/die Spieler:in mit den meisten Punkten gewinnt.", diff --git a/lib/l10n/arb/app_en.arb b/lib/l10n/arb/app_en.arb index fa4adc8..cc07a45 100644 --- a/lib/l10n/arb/app_en.arb +++ b/lib/l10n/arb/app_en.arb @@ -74,9 +74,15 @@ "@delete_group": { "description": "Button text to delete a group" }, + "@delete_match": { + "description": "Button text to delete a match" + }, "@edit_group": { "description": "Button text to edit a group" }, + "@enter_results": { + "description": "Button text to enter match results" + }, "@error_creating_group": { "description": "Error message when group creation fails" }, @@ -143,6 +149,9 @@ "@match_name": { "description": "Placeholder for match name input" }, + "@match_profile": { + "description": "Title for match profile view" + }, "@matches": { "description": "Label for matches" }, @@ -220,6 +229,9 @@ "@recent_matches": { "description": "Title for recent matches section" }, + "@results": { + "description": "Label for match results" + }, "@ruleset": { "description": "Ruleset label" }, @@ -321,7 +333,9 @@ "delete": "Delete", "delete_all_data": "Delete all data", "delete_group": "Delete Group", + "delete_match": "Delete Match", "edit_group": "Edit Group", + "enter_results": "Enter Results", "error_creating_group": "Error while creating group, please try again", "error_reading_file": "Error reading file", "export_canceled": "Export canceled", @@ -344,6 +358,7 @@ "licenses": "Licenses", "match_in_progress": "Match in progress...", "match_name": "Match name", + "match_profile": "Match Profile", "matches": "Matches", "members": "Members", "most_points": "Most Points", @@ -368,6 +383,7 @@ "privacy_policy": "Privacy Policy", "quick_create": "Quick Create", "recent_matches": "Recent Matches", + "results": "Results", "ruleset": "Ruleset", "ruleset_least_points": "Inverse scoring: the player with the fewest points wins.", "ruleset_most_points": "Traditional ruleset: the player with the most points wins.", diff --git a/lib/l10n/generated/app_localizations.dart b/lib/l10n/generated/app_localizations.dart index 57dbdd8..627d4b1 100644 --- a/lib/l10n/generated/app_localizations.dart +++ b/lib/l10n/generated/app_localizations.dart @@ -236,12 +236,24 @@ abstract class AppLocalizations { /// **'Delete Group'** String get delete_group; + /// Button text to delete a match + /// + /// In en, this message translates to: + /// **'Delete Match'** + String get delete_match; + /// Button text to edit a group /// /// In en, this message translates to: /// **'Edit Group'** String get edit_group; + /// Button text to enter match results + /// + /// In en, this message translates to: + /// **'Enter Results'** + String get enter_results; + /// Error message when group creation fails /// /// In en, this message translates to: @@ -374,6 +386,12 @@ abstract class AppLocalizations { /// **'Match name'** String get match_name; + /// Title for match profile view + /// + /// In en, this message translates to: + /// **'Match Profile'** + String get match_profile; + /// Label for matches /// /// In en, this message translates to: @@ -518,6 +536,12 @@ abstract class AppLocalizations { /// **'Recent Matches'** String get recent_matches; + /// Label for match results + /// + /// In en, this message translates to: + /// **'Results'** + String get results; + /// Ruleset label /// /// In en, this message translates to: diff --git a/lib/l10n/generated/app_localizations_de.dart b/lib/l10n/generated/app_localizations_de.dart index f78f9f4..3078855 100644 --- a/lib/l10n/generated/app_localizations_de.dart +++ b/lib/l10n/generated/app_localizations_de.dart @@ -81,9 +81,15 @@ class AppLocalizationsDe extends AppLocalizations { @override String get delete_group => 'Gruppe löschen'; + @override + String get delete_match => 'Spiel löschen'; + @override String get edit_group => 'Gruppe bearbeiten'; + @override + String get enter_results => 'Ergebnisse eintragen'; + @override String get error_creating_group => 'Fehler beim Erstellen der Gruppe, bitte erneut versuchen'; @@ -151,6 +157,9 @@ class AppLocalizationsDe extends AppLocalizations { @override String get match_name => 'Spieltitel'; + @override + String get match_profile => 'Spielprofil'; + @override String get matches => 'Spiele'; @@ -226,6 +235,9 @@ class AppLocalizationsDe extends AppLocalizations { @override String get recent_matches => 'Letzte Spiele'; + @override + String get results => 'Ergebnisse'; + @override String get ruleset => 'Regelwerk'; diff --git a/lib/l10n/generated/app_localizations_en.dart b/lib/l10n/generated/app_localizations_en.dart index 32512c7..12d8a36 100644 --- a/lib/l10n/generated/app_localizations_en.dart +++ b/lib/l10n/generated/app_localizations_en.dart @@ -81,9 +81,15 @@ class AppLocalizationsEn extends AppLocalizations { @override String get delete_group => 'Delete Group'; + @override + String get delete_match => 'Delete Match'; + @override String get edit_group => 'Edit Group'; + @override + String get enter_results => 'Enter Results'; + @override String get error_creating_group => 'Error while creating group, please try again'; @@ -151,6 +157,9 @@ class AppLocalizationsEn extends AppLocalizations { @override String get match_name => 'Match name'; + @override + String get match_profile => 'Match Profile'; + @override String get matches => 'Matches'; @@ -226,6 +235,9 @@ class AppLocalizationsEn extends AppLocalizations { @override String get recent_matches => 'Recent Matches'; + @override + String get results => 'Results'; + @override String get ruleset => 'Ruleset'; diff --git a/lib/presentation/views/main_menu/match_view/match_profile_view.dart b/lib/presentation/views/main_menu/match_view/match_profile_view.dart new file mode 100644 index 0000000..7c18f11 --- /dev/null +++ b/lib/presentation/views/main_menu/match_view/match_profile_view.dart @@ -0,0 +1,261 @@ +import 'package:flutter/material.dart'; +import 'package:game_tracker/core/adaptive_page_route.dart'; +import 'package:game_tracker/core/custom_theme.dart'; +import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/dto/match.dart'; +import 'package:game_tracker/data/dto/player.dart'; +import 'package:game_tracker/l10n/generated/app_localizations.dart'; +import 'package:game_tracker/presentation/views/main_menu/match_view/match_result_view.dart'; +import 'package:game_tracker/presentation/widgets/buttons/animated_dialog_button.dart'; +import 'package:game_tracker/presentation/widgets/buttons/main_menu_button.dart'; +import 'package:game_tracker/presentation/widgets/colored_icon_container.dart'; +import 'package:game_tracker/presentation/widgets/custom_alert_dialog.dart'; +import 'package:game_tracker/presentation/widgets/tiles/info_tile.dart'; +import 'package:game_tracker/presentation/widgets/tiles/text_icon_tile.dart'; +import 'package:intl/intl.dart'; +import 'package:provider/provider.dart'; + +class MatchProfileView extends StatefulWidget { + /// A view that displays the profile of a match + /// - [match]: The match to display + /// - [callback]: Callback to refresh the match list + const MatchProfileView({ + super.key, + required this.match, + required this.callback, + }); + + /// The match to display + final Match match; + + /// Callback to refresh the match list + final VoidCallback callback; + + @override + State createState() => _MatchProfileViewState(); +} + +class _MatchProfileViewState extends State { + late final AppDatabase db; + + /// All players who participated in the match + late final List allPlayers; + + @override + void initState() { + super.initState(); + db = Provider.of(context, listen: false); + allPlayers = _getAllPlayers(); + } + + @override + Widget build(BuildContext context) { + final loc = AppLocalizations.of(context); + final extraPlayersCount = + (widget.match.players?.length ?? 0) + + (widget.match.group?.members.length ?? 0) - + allPlayers.length; + + return Scaffold( + backgroundColor: CustomTheme.backgroundColor, + appBar: AppBar( + title: Text(loc.match_profile), + actions: [ + IconButton( + icon: const Icon(Icons.delete), + onPressed: () async { + showDialog( + context: context, + builder: (context) => CustomAlertDialog( + title: '${loc.delete_match}?', + content: loc.this_cannot_be_undone, + actions: [ + AnimatedDialogButton( + onPressed: () => Navigator.of(context).pop(false), + child: Text( + loc.cancel, + style: const TextStyle(color: CustomTheme.textColor), + ), + ), + AnimatedDialogButton( + onPressed: () => Navigator.of(context).pop(true), + child: Text( + loc.delete, + style: TextStyle(color: CustomTheme.secondaryColor), + ), + ), + ], + ), + ).then((confirmed) async { + if (confirmed! && context.mounted) { + await db.matchDao.deleteMatch(matchId: widget.match.id); + if (!context.mounted) return; + Navigator.pop(context); + widget.callback.call(); + } + }); + }, + ), + ], + ), + body: SafeArea( + child: Stack( + alignment: Alignment.center, + children: [ + ListView( + padding: const EdgeInsets.only( + left: 12, + right: 12, + top: 20, + bottom: 100, + ), + children: [ + const Center( + child: ColoredIconContainer( + icon: Icons.sports_esports, + containerSize: 55, + iconSize: 38, + ), + ), + const SizedBox(height: 10), + Text( + widget.match.name, + style: const TextStyle( + fontSize: 28, + fontWeight: FontWeight.bold, + color: CustomTheme.textColor, + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 5), + Text( + '${loc.created_on} ${DateFormat.yMMMd(Localizations.localeOf(context).toString()).format(widget.match.createdAt)}', + style: const TextStyle( + fontSize: 12, + color: CustomTheme.textColor, + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 10), + if (widget.match.group != null) ...[ + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Icon(Icons.group), + const SizedBox(width: 8), + Text( + '${widget.match.group!.name} ${extraPlayersCount > 0 ? '+ $extraPlayersCount' : ''}', + style: const TextStyle(fontWeight: FontWeight.bold), + ), + ], + ), + const SizedBox(height: 20), + ], + InfoTile( + title: loc.players, + icon: Icons.people, + horizontalAlignment: CrossAxisAlignment.start, + content: Wrap( + alignment: WrapAlignment.start, + crossAxisAlignment: WrapCrossAlignment.start, + spacing: 12, + runSpacing: 8, + children: allPlayers.map((player) { + return TextIconTile( + text: player.name, + iconEnabled: false, + ); + }).toList(), + ), + ), + const SizedBox(height: 15), + InfoTile( + title: loc.results, + icon: Icons.emoji_events, + content: Padding( + padding: const EdgeInsets.symmetric( + vertical: 4, + horizontal: 8, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + loc.winner, + style: const TextStyle( + fontSize: 16, + color: CustomTheme.textColor, + ), + ), + Text( + widget.match.winner?.name ?? '-', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: widget.match.winner != null + ? CustomTheme.primaryColor + : CustomTheme.textColor, + ), + ), + ], + ), + ), + ), + ], + ), + Positioned( + bottom: MediaQuery.paddingOf(context).bottom, + child: Row( + children: [ + MainMenuButton(icon: Icons.edit, onPressed: () {}), + const SizedBox(width: 15), + MainMenuButton( + text: loc.enter_results, + icon: Icons.note_add, + onPressed: () async { + await Navigator.push( + context, + adaptivePageRoute( + fullscreenDialog: true, + builder: (context) => MatchResultView( + match: widget.match, + onWinnerChanged: () { + widget.callback.call(); + setState(() {}); + }, + ), + ), + ); + }, + ), + ], + ), + ), + ], + ), + ), + ); + } + + /// Gets all players who participated in the match (from group and individual players) + List _getAllPlayers() { + final List players = []; + + // Add group members if group exists + if (widget.match.group != null) { + players.addAll(widget.match.group!.members); + } + + // Add individual players + if (widget.match.players != null) { + for (var player in widget.match.players!) { + // Avoid duplicates + if (!players.any((p) => p.id == player.id)) { + players.add(player); + } + } + } + + return players; + } +} diff --git a/lib/presentation/views/main_menu/match_view/match_view.dart b/lib/presentation/views/main_menu/match_view/match_view.dart index e85bf77..65ff29c 100644 --- a/lib/presentation/views/main_menu/match_view/match_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_view.dart @@ -11,7 +11,7 @@ import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; import 'package:game_tracker/l10n/generated/app_localizations.dart'; import 'package:game_tracker/presentation/views/main_menu/match_view/create_match/create_match_view.dart'; -import 'package:game_tracker/presentation/views/main_menu/match_view/match_result_view.dart'; +import 'package:game_tracker/presentation/views/main_menu/match_view/match_profile_view.dart'; import 'package:game_tracker/presentation/widgets/app_skeleton.dart'; import 'package:game_tracker/presentation/widgets/buttons/main_menu_button.dart'; import 'package:game_tracker/presentation/widgets/tiles/match_tile.dart'; @@ -89,10 +89,9 @@ class _MatchViewState extends State { Navigator.push( context, adaptivePageRoute( - fullscreenDialog: true, - builder: (context) => MatchResultView( + builder: (context) => MatchProfileView( match: matches[index], - onWinnerChanged: loadGames, + callback: loadGames, ), ), ); @@ -128,6 +127,7 @@ class _MatchViewState extends State { /// Loads the games from the database and sorts them by creation date. void loadGames() { + isLoading = true; Future.wait([ db.matchDao.getAllMatches(), Future.delayed(Constants.MINIMUM_SKELETON_DURATION), diff --git a/lib/presentation/widgets/buttons/main_menu_button.dart b/lib/presentation/widgets/buttons/main_menu_button.dart index 747c31e..417a296 100644 --- a/lib/presentation/widgets/buttons/main_menu_button.dart +++ b/lib/presentation/widgets/buttons/main_menu_button.dart @@ -7,16 +7,16 @@ class MainMenuButton extends StatefulWidget { /// - [onPressed]: The callback to be invoked when the button is pressed. const MainMenuButton({ super.key, - required this.text, - this.icon, + required this.icon, required this.onPressed, + this.text, }); /// The text of the button. - final String text; + final String? text; /// The icon of the button. - final IconData? icon; + final IconData icon; /// The callback to be invoked when the button is pressed. final void Function() onPressed; @@ -71,18 +71,18 @@ class _MainMenuButtonState extends State mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.center, children: [ - if (widget.icon != null) ...[ - Icon(widget.icon, size: 26, color: Colors.black), + Icon(widget.icon, size: 26, color: Colors.black), + if (widget.text != null) ...[ const SizedBox(width: 7), - ], - Text( - widget.text, - style: const TextStyle( - fontSize: 18, - fontWeight: FontWeight.bold, - color: Colors.black, + Text( + widget.text!, + style: const TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: Colors.black, + ), ), - ), + ], ], ), ), diff --git a/pubspec.yaml b/pubspec.yaml index 33091e5..54ff72b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: game_tracker description: "Game Tracking App for Card Games" publish_to: 'none' -version: 0.0.9+236 +version: 0.0.9+242 environment: sdk: ^3.8.1 From 8fe01c332e3cbe1b19c0bb36c23f4ef6959e3c57 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sun, 18 Jan 2026 00:10:31 +0100 Subject: [PATCH 049/198] Added comment --- .../views/main_menu/group_view/group_profile_view.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/presentation/views/main_menu/group_view/group_profile_view.dart b/lib/presentation/views/main_menu/group_view/group_profile_view.dart index e366834..7c4102c 100644 --- a/lib/presentation/views/main_menu/group_view/group_profile_view.dart +++ b/lib/presentation/views/main_menu/group_view/group_profile_view.dart @@ -40,6 +40,7 @@ class _GroupProfileViewState extends State { /// Total matches played in this group int totalMatches = 0; + /// The best player in this group String bestPlayer = ''; @override From 7faf80de0326758d7d09cf7aa9a00f16fc35cdd8 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sun, 18 Jan 2026 00:14:45 +0100 Subject: [PATCH 050/198] Updated extra player count --- .../views/main_menu/match_view/match_profile_view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/presentation/views/main_menu/match_view/match_profile_view.dart b/lib/presentation/views/main_menu/match_view/match_profile_view.dart index 7c18f11..11f7bd9 100644 --- a/lib/presentation/views/main_menu/match_view/match_profile_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_profile_view.dart @@ -144,7 +144,7 @@ class _MatchProfileViewState extends State { const Icon(Icons.group), const SizedBox(width: 8), Text( - '${widget.match.group!.name} ${extraPlayersCount > 0 ? '+ $extraPlayersCount' : ''}', + '${widget.match.group!.name} ${widget.match.players != null ? '+ ${widget.match.players!.length}' : ''}', style: const TextStyle(fontWeight: FontWeight.bold), ), ], From eb114f285398700e8005d2aac96014791f8a09b5 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sun, 18 Jan 2026 00:36:15 +0100 Subject: [PATCH 051/198] Added empty winner tile --- lib/l10n/arb/app_de.arb | 1 + lib/l10n/arb/app_en.arb | 4 ++ lib/l10n/generated/app_localizations.dart | 6 +++ lib/l10n/generated/app_localizations_de.dart | 3 ++ lib/l10n/generated/app_localizations_en.dart | 3 ++ .../match_view/match_profile_view.dart | 46 +++++++++++-------- 6 files changed, 44 insertions(+), 19 deletions(-) diff --git a/lib/l10n/arb/app_de.arb b/lib/l10n/arb/app_de.arb index 65aa2b3..fa976b5 100644 --- a/lib/l10n/arb/app_de.arb +++ b/lib/l10n/arb/app_de.arb @@ -61,6 +61,7 @@ "no_players_found_with_that_name": "Keine Spieler:in mit diesem Namen gefunden", "no_players_selected": "Keine Spieler:innen ausgewählt", "no_recent_matches_available": "Keine letzten Spiele verfügbar", + "no_results_entered_yet": "Noch keine Ergebnisse eingetragen", "no_second_match_available": "Kein zweites Spiel verfügbar", "no_statistics_available": "Keine Statistiken verfügbar", "none": "Kein", diff --git a/lib/l10n/arb/app_en.arb b/lib/l10n/arb/app_en.arb index cc07a45..c5ea0fc 100644 --- a/lib/l10n/arb/app_en.arb +++ b/lib/l10n/arb/app_en.arb @@ -188,6 +188,9 @@ "@no_recent_matches_available": { "description": "Message when no recent matches exist" }, + "@no_results_entered_yet": { + "description": "Message when no results have been entered yet" + }, "@no_second_match_available": { "description": "Message when no second match exists" }, @@ -371,6 +374,7 @@ "no_players_found_with_that_name": "No players found with that name", "no_players_selected": "No players selected", "no_recent_matches_available": "No recent matches available", + "no_results_entered_yet": "No results entered yet", "no_second_match_available": "No second match available", "no_statistics_available": "No statistics available", "none": "None", diff --git a/lib/l10n/generated/app_localizations.dart b/lib/l10n/generated/app_localizations.dart index 627d4b1..ad62957 100644 --- a/lib/l10n/generated/app_localizations.dart +++ b/lib/l10n/generated/app_localizations.dart @@ -464,6 +464,12 @@ abstract class AppLocalizations { /// **'No recent matches available'** String get no_recent_matches_available; + /// Message when no results have been entered yet + /// + /// In en, this message translates to: + /// **'No results entered yet'** + String get no_results_entered_yet; + /// Message when no second match exists /// /// In en, this message translates to: diff --git a/lib/l10n/generated/app_localizations_de.dart b/lib/l10n/generated/app_localizations_de.dart index 3078855..d78f926 100644 --- a/lib/l10n/generated/app_localizations_de.dart +++ b/lib/l10n/generated/app_localizations_de.dart @@ -197,6 +197,9 @@ class AppLocalizationsDe extends AppLocalizations { @override String get no_recent_matches_available => 'Keine letzten Spiele verfügbar'; + @override + String get no_results_entered_yet => 'Noch keine Ergebnisse eingetragen'; + @override String get no_second_match_available => 'Kein zweites Spiel verfügbar'; diff --git a/lib/l10n/generated/app_localizations_en.dart b/lib/l10n/generated/app_localizations_en.dart index 12d8a36..0dad111 100644 --- a/lib/l10n/generated/app_localizations_en.dart +++ b/lib/l10n/generated/app_localizations_en.dart @@ -197,6 +197,9 @@ class AppLocalizationsEn extends AppLocalizations { @override String get no_recent_matches_available => 'No recent matches available'; + @override + String get no_results_entered_yet => 'No results entered yet'; + @override String get no_second_match_available => 'No second match available'; diff --git a/lib/presentation/views/main_menu/match_view/match_profile_view.dart b/lib/presentation/views/main_menu/match_view/match_profile_view.dart index 11f7bd9..6c9241b 100644 --- a/lib/presentation/views/main_menu/match_view/match_profile_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_profile_view.dart @@ -51,10 +51,6 @@ class _MatchProfileViewState extends State { @override Widget build(BuildContext context) { final loc = AppLocalizations.of(context); - final extraPlayersCount = - (widget.match.players?.length ?? 0) + - (widget.match.group?.members.length ?? 0) - - allPlayers.length; return Scaffold( backgroundColor: CustomTheme.backgroundColor, @@ -144,6 +140,7 @@ class _MatchProfileViewState extends State { const Icon(Icons.group), const SizedBox(width: 8), Text( + // TODO: Update after DB changes '${widget.match.group!.name} ${widget.match.players != null ? '+ ${widget.match.players!.length}' : ''}', style: const TextStyle(fontWeight: FontWeight.bold), ), @@ -180,23 +177,34 @@ class _MatchProfileViewState extends State { child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Text( - loc.winner, - style: const TextStyle( - fontSize: 16, - color: CustomTheme.textColor, + /// TODO: Implement different ruleset results display + if (widget.match.winner != null) ...[ + Text( + loc.winner, + style: const TextStyle( + fontSize: 16, + color: CustomTheme.textColor, + ), ), - ), - Text( - widget.match.winner?.name ?? '-', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.bold, - color: widget.match.winner != null - ? CustomTheme.primaryColor - : CustomTheme.textColor, + Text( + widget.match.winner?.name ?? '-', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: widget.match.winner != null + ? CustomTheme.primaryColor + : CustomTheme.textColor, + ), ), - ), + ] else ...[ + Text( + loc.no_results_entered_yet, + style: const TextStyle( + fontSize: 14, + color: CustomTheme.textColor, + ), + ), + ], ], ), ), From 1450e9b9584fcf67da8f77aa42d811275666bf81 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sun, 18 Jan 2026 00:36:21 +0100 Subject: [PATCH 052/198] Updated attributes --- .../widgets/buttons/main_menu_button.dart | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/presentation/widgets/buttons/main_menu_button.dart b/lib/presentation/widgets/buttons/main_menu_button.dart index 417a296..c583456 100644 --- a/lib/presentation/widgets/buttons/main_menu_button.dart +++ b/lib/presentation/widgets/buttons/main_menu_button.dart @@ -2,24 +2,24 @@ import 'package:flutter/material.dart'; class MainMenuButton extends StatefulWidget { /// A button for the main menu with an optional icon and a press animation. - /// - [text]: The text of the button. - /// - [icon]: The icon of the button. /// - [onPressed]: The callback to be invoked when the button is pressed. + /// - [icon]: The icon of the button. + /// - [text]: The text of the button. const MainMenuButton({ super.key, - required this.icon, required this.onPressed, + required this.icon, this.text, }); - /// The text of the button. - final String? text; + /// The callback to be invoked when the button is pressed. + final void Function() onPressed; /// The icon of the button. final IconData icon; - /// The callback to be invoked when the button is pressed. - final void Function() onPressed; + /// The text of the button. + final String? text; @override State createState() => _MainMenuButtonState(); From a56e738064ee990462e370317d9f68f5822f0648 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sun, 18 Jan 2026 00:42:18 +0100 Subject: [PATCH 053/198] Implemented winner update --- .../views/main_menu/match_view/match_profile_view.dart | 9 ++++++--- .../views/main_menu/match_view/match_result_view.dart | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/presentation/views/main_menu/match_view/match_profile_view.dart b/lib/presentation/views/main_menu/match_view/match_profile_view.dart index 6c9241b..6558916 100644 --- a/lib/presentation/views/main_menu/match_view/match_profile_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_profile_view.dart @@ -38,6 +38,8 @@ class MatchProfileView extends StatefulWidget { class _MatchProfileViewState extends State { late final AppDatabase db; + late Player? currentWinner; + /// All players who participated in the match late final List allPlayers; @@ -46,6 +48,7 @@ class _MatchProfileViewState extends State { super.initState(); db = Provider.of(context, listen: false); allPlayers = _getAllPlayers(); + currentWinner = widget.match.winner; } @override @@ -178,7 +181,7 @@ class _MatchProfileViewState extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ /// TODO: Implement different ruleset results display - if (widget.match.winner != null) ...[ + if (currentWinner != null) ...[ Text( loc.winner, style: const TextStyle( @@ -187,7 +190,7 @@ class _MatchProfileViewState extends State { ), ), Text( - widget.match.winner?.name ?? '-', + currentWinner!.name, style: TextStyle( fontSize: 16, fontWeight: FontWeight.bold, @@ -221,7 +224,7 @@ class _MatchProfileViewState extends State { text: loc.enter_results, icon: Icons.note_add, onPressed: () async { - await Navigator.push( + currentWinner = await Navigator.push( context, adaptivePageRoute( fullscreenDialog: true, diff --git a/lib/presentation/views/main_menu/match_view/match_result_view.dart b/lib/presentation/views/main_menu/match_view/match_result_view.dart index 1deb385..8f20344 100644 --- a/lib/presentation/views/main_menu/match_view/match_result_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_result_view.dart @@ -54,7 +54,7 @@ class _MatchResultViewState extends State { icon: const Icon(Icons.close), onPressed: () { widget.onWinnerChanged?.call(); - Navigator.of(context).pop(); + Navigator.of(context).pop(_selectedPlayer); }, ), title: Text(widget.match.name), From 48d99a0386db6d292adeb8b3abf89bc7987c4610 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sun, 18 Jan 2026 00:46:50 +0100 Subject: [PATCH 054/198] Added match editing --- .../create_match/create_match_view.dart | 20 +++++++++++++++++-- .../match_view/match_profile_view.dart | 13 +++++++++++- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index e106de7..a66178e 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -20,11 +20,14 @@ import 'package:provider/provider.dart'; class CreateMatchView extends StatefulWidget { /// A view that allows creating a new match /// [onWinnerChanged]: Optional callback invoked when the winner is changed - const CreateMatchView({super.key, this.onWinnerChanged}); + const CreateMatchView({super.key, this.onWinnerChanged, this.match}); /// Optional callback invoked when the winner is changed final VoidCallback? onWinnerChanged; + /// An optional match to prefill the fields + final Match? match; + @override State createState() => _CreateMatchViewState(); } @@ -83,6 +86,19 @@ class _CreateMatchViewState extends State { filteredPlayerList = List.from(playerList); }); }); + + if (widget.match != null) { + final match = widget.match!; + _matchNameController.text = match.name; + selectedGroup = match.group; + selectedGroupId = match.group?.id ?? ''; + selectedPlayers = match.players ?? []; + if (selectedGroup != null) { + filteredPlayerList = playerList + .where((p) => !selectedGroup!.members.any((m) => m.id == p.id)) + .toList(); + } + } } @override @@ -229,6 +245,6 @@ class _CreateMatchViewState extends State { /// - Either a group is selected OR at least 2 players are selected bool _enableCreateGameButton() { return (selectedGroup != null || - (selectedPlayers != null && selectedPlayers!.length > 1)); + (selectedPlayers != null && selectedPlayers!.length > 1)); } } diff --git a/lib/presentation/views/main_menu/match_view/match_profile_view.dart b/lib/presentation/views/main_menu/match_view/match_profile_view.dart index 6558916..d301f9e 100644 --- a/lib/presentation/views/main_menu/match_view/match_profile_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_profile_view.dart @@ -5,6 +5,7 @@ import 'package:game_tracker/data/db/database.dart'; import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; import 'package:game_tracker/l10n/generated/app_localizations.dart'; +import 'package:game_tracker/presentation/views/main_menu/match_view/create_match/create_match_view.dart'; import 'package:game_tracker/presentation/views/main_menu/match_view/match_result_view.dart'; import 'package:game_tracker/presentation/widgets/buttons/animated_dialog_button.dart'; import 'package:game_tracker/presentation/widgets/buttons/main_menu_button.dart'; @@ -218,7 +219,17 @@ class _MatchProfileViewState extends State { bottom: MediaQuery.paddingOf(context).bottom, child: Row( children: [ - MainMenuButton(icon: Icons.edit, onPressed: () {}), + MainMenuButton( + icon: Icons.edit, + onPressed: () => Navigator.push( + context, + adaptivePageRoute( + fullscreenDialog: true, + builder: (context) => + CreateMatchView(match: widget.match), + ), + ), + ), const SizedBox(width: 15), MainMenuButton( text: loc.enter_results, From 765610b184227e8860db35b210f57b3e63208fff Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sun, 18 Jan 2026 01:02:35 +0100 Subject: [PATCH 055/198] Enhanced editing --- lib/l10n/arb/app_de.arb | 1 + lib/l10n/arb/app_en.arb | 10 +++- lib/l10n/generated/app_localizations.dart | 6 ++ lib/l10n/generated/app_localizations_de.dart | 3 + lib/l10n/generated/app_localizations_en.dart | 3 + .../create_match/create_match_view.dart | 60 ++++++++++++------- 6 files changed, 57 insertions(+), 26 deletions(-) diff --git a/lib/l10n/arb/app_de.arb b/lib/l10n/arb/app_de.arb index fa976b5..5a554c5 100644 --- a/lib/l10n/arb/app_de.arb +++ b/lib/l10n/arb/app_de.arb @@ -81,6 +81,7 @@ "ruleset_most_points": "Traditionelles Regelwerk: Der/die Spieler:in mit den meisten Punkten gewinnt.", "ruleset_single_loser": "Genau ein:e Verlierer:in wird bestimmt; der letzte Platz erhält die Strafe oder Konsequenz.", "ruleset_single_winner": "Genau ein:e Gewinner:in wird gewählt; Unentschieden werden durch einen vordefinierten Tie-Breaker aufgelöst.", + "save_changes": "Änderungen speichern", "search_for_groups": "Nach Gruppen suchen", "search_for_players": "Nach Spieler:innen suchen", "select_winner": "Gewinner:in wählen:", diff --git a/lib/l10n/arb/app_en.arb b/lib/l10n/arb/app_en.arb index c5ea0fc..c818920 100644 --- a/lib/l10n/arb/app_en.arb +++ b/lib/l10n/arb/app_en.arb @@ -188,9 +188,9 @@ "@no_recent_matches_available": { "description": "Message when no recent matches exist" }, - "@no_results_entered_yet": { - "description": "Message when no results have been entered yet" - }, + "@no_results_entered_yet": { + "description": "Message when no results have been entered yet" + }, "@no_second_match_available": { "description": "Message when no second match exists" }, @@ -250,6 +250,9 @@ "@ruleset_single_winner": { "description": "Description for single winner ruleset" }, + "@save_changes": { + "description": "Save changes button text" + }, "@search_for_groups": { "description": "Hint text for group search input field" }, @@ -393,6 +396,7 @@ "ruleset_most_points": "Traditional ruleset: the player with the most points wins.", "ruleset_single_loser": "Exactly one loser is determined; last place receives the penalty or consequence.", "ruleset_single_winner": "Exactly one winner is chosen; ties are resolved by a predefined tiebreaker.", + "save_changes": "Save Changes", "search_for_groups": "Search for groups", "search_for_players": "Search for players", "select_winner": "Select Winner:", diff --git a/lib/l10n/generated/app_localizations.dart b/lib/l10n/generated/app_localizations.dart index ad62957..49c2e20 100644 --- a/lib/l10n/generated/app_localizations.dart +++ b/lib/l10n/generated/app_localizations.dart @@ -578,6 +578,12 @@ abstract class AppLocalizations { /// **'Exactly one winner is chosen; ties are resolved by a predefined tiebreaker.'** String get ruleset_single_winner; + /// Save changes button text + /// + /// In en, this message translates to: + /// **'Save Changes'** + String get save_changes; + /// Hint text for group search input field /// /// In en, this message translates to: diff --git a/lib/l10n/generated/app_localizations_de.dart b/lib/l10n/generated/app_localizations_de.dart index d78f926..8259aa5 100644 --- a/lib/l10n/generated/app_localizations_de.dart +++ b/lib/l10n/generated/app_localizations_de.dart @@ -260,6 +260,9 @@ class AppLocalizationsDe extends AppLocalizations { String get ruleset_single_winner => 'Genau ein:e Gewinner:in wird gewählt; Unentschieden werden durch einen vordefinierten Tie-Breaker aufgelöst.'; + @override + String get save_changes => 'Änderungen speichern'; + @override String get search_for_groups => 'Nach Gruppen suchen'; diff --git a/lib/l10n/generated/app_localizations_en.dart b/lib/l10n/generated/app_localizations_en.dart index 0dad111..b66b293 100644 --- a/lib/l10n/generated/app_localizations_en.dart +++ b/lib/l10n/generated/app_localizations_en.dart @@ -260,6 +260,9 @@ class AppLocalizationsEn extends AppLocalizations { String get ruleset_single_winner => 'Exactly one winner is chosen; ties are resolved by a predefined tiebreaker.'; + @override + String get save_changes => 'Save Changes'; + @override String get search_for_groups => 'Search for groups'; diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index a66178e..fa685c3 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -87,6 +87,7 @@ class _CreateMatchViewState extends State { }); }); + // If a match is provided, prefill the fields if (widget.match != null) { final match = widget.match!; _matchNameController.text = match.name; @@ -122,6 +123,10 @@ class _CreateMatchViewState extends State { @override Widget build(BuildContext context) { final loc = AppLocalizations.of(context); + final buttonText = widget.match != null + ? loc.save_changes + : loc.create_match; + return ScaffoldMessenger( child: Scaffold( backgroundColor: CustomTheme.backgroundColor, @@ -202,32 +207,12 @@ class _CreateMatchViewState extends State { ), ), CustomWidthButton( - text: loc.create_match, + text: buttonText, sizeRelativeToWidth: 0.95, buttonType: ButtonType.primary, onPressed: _enableCreateGameButton() - ? () async { - Match match = Match( - name: _matchNameController.text.isEmpty - ? (hintText ?? '') - : _matchNameController.text.trim(), - createdAt: DateTime.now(), - group: selectedGroup, - players: selectedPlayers, - ); - await db.matchDao.addMatch(match: match); - if (context.mounted) { - Navigator.pushReplacement( - context, - adaptivePageRoute( - fullscreenDialog: true, - builder: (context) => MatchResultView( - match: match, - onWinnerChanged: widget.onWinnerChanged, - ), - ), - ); - } + ? () { + buttonNavigation(context); } : null, ), @@ -247,4 +232,33 @@ class _CreateMatchViewState extends State { return (selectedGroup != null || (selectedPlayers != null && selectedPlayers!.length > 1)); } + + void buttonNavigation(BuildContext context) async { + if (widget.match != null) { + // TODO: Implement updating match logic here + Navigator.pop(context); + } else { + Match match = Match( + name: _matchNameController.text.isEmpty + ? (hintText ?? '') + : _matchNameController.text.trim(), + createdAt: DateTime.now(), + group: selectedGroup, + players: selectedPlayers, + ); + await db.matchDao.addMatch(match: match); + if (context.mounted) { + Navigator.pushReplacement( + context, + adaptivePageRoute( + fullscreenDialog: true, + builder: (context) => MatchResultView( + match: match, + onWinnerChanged: widget.onWinnerChanged, + ), + ), + ); + } + } + } } From f1df0678243312d7f49862d7dc179dc39f2c6c65 Mon Sep 17 00:00:00 2001 From: Mathis Kirchner Date: Sun, 18 Jan 2026 10:51:53 +0100 Subject: [PATCH 056/198] delete group view & update build nr --- .../group_view/create_group_view.dart | 116 ------------------ pubspec.yaml | 2 +- 2 files changed, 1 insertion(+), 117 deletions(-) delete mode 100644 lib/presentation/views/main_menu/group_view/create_group_view.dart diff --git a/lib/presentation/views/main_menu/group_view/create_group_view.dart b/lib/presentation/views/main_menu/group_view/create_group_view.dart deleted file mode 100644 index da7eb1d..0000000 --- a/lib/presentation/views/main_menu/group_view/create_group_view.dart +++ /dev/null @@ -1,116 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:game_tracker/core/constants.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/core/enums.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/widgets/buttons/custom_width_button.dart'; -import 'package:game_tracker/presentation/widgets/player_selection.dart'; -import 'package:game_tracker/presentation/widgets/text_input/text_input_field.dart'; -import 'package:provider/provider.dart'; - -class CreateGroupView extends StatefulWidget { - /// A view that allows the user to create a new group - const CreateGroupView({super.key}); - - @override - State createState() => _CreateGroupViewState(); -} - -class _CreateGroupViewState extends State { - late final AppDatabase db; - - /// Controller for the group name input field - final _groupNameController = TextEditingController(); - - /// List of currently selected players - List selectedPlayers = []; - - @override - void initState() { - super.initState(); - db = Provider.of(context, listen: false); - _groupNameController.addListener(() { - setState(() {}); - }); - } - - @override - void dispose() { - _groupNameController.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - final loc = AppLocalizations.of(context); - return ScaffoldMessenger( - child: Scaffold( - backgroundColor: CustomTheme.backgroundColor, - appBar: AppBar(title: Text(loc.create_new_group)), - body: SafeArea( - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Container( - margin: CustomTheme.standardMargin, - child: TextInputField( - controller: _groupNameController, - hintText: loc.group_name, - maxLength: Constants.MAX_GROUP_NAME_LENGTH, - ), - ), - Expanded( - child: PlayerSelection( - onChanged: (value) { - setState(() { - selectedPlayers = [...value]; - }); - }, - ), - ), - CustomWidthButton( - text: loc.create_group, - sizeRelativeToWidth: 0.95, - buttonType: ButtonType.primary, - onPressed: - (_groupNameController.text.isEmpty || - (selectedPlayers.length < 2)) - ? null - : () async { - bool success = await db.groupDao.addGroup( - group: Group( - name: _groupNameController.text.trim(), - members: selectedPlayers, - ), - ); - if (!context.mounted) return; - if (success) { - Navigator.pop(context); - } else { - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - backgroundColor: CustomTheme.boxColor, - content: Center( - child: Text( - AppLocalizations.of( - context, - ).error_creating_group, - style: const TextStyle(color: Colors.white), - ), - ), - ), - ); - } - }, - ), - const SizedBox(height: 20), - ], - ), - ), - ), - ); - } -} diff --git a/pubspec.yaml b/pubspec.yaml index c217de3..5e4432d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: game_tracker description: "Game Tracking App for Card Games" publish_to: 'none' -version: 0.0.7+215 +version: 0.0.7+216 environment: sdk: ^3.8.1 From e4c3bc1c5e2498597469c9bd073a633840ef4f41 Mon Sep 17 00:00:00 2001 From: Mathis Kirchner Date: Sun, 18 Jan 2026 11:41:50 +0100 Subject: [PATCH 057/198] merge & made group_detail_view.dart & group_create_view.dart work together when editing --- lib/l10n/generated/app_localizations.dart | 32 +- lib/l10n/generated/app_localizations_de.dart | 17 +- lib/l10n/generated/app_localizations_en.dart | 17 +- .../group_view/group_create_view.dart | 184 +++++++++ .../group_view/group_detail_view.dart | 387 +++++++++++------- .../group_view/group_profile_view.dart | 271 ------------ .../main_menu/group_view/groups_view.dart | 6 +- .../create_match/create_match_view.dart | 3 + pubspec.yaml | 2 +- 9 files changed, 496 insertions(+), 423 deletions(-) create mode 100644 lib/presentation/views/main_menu/group_view/group_create_view.dart delete mode 100644 lib/presentation/views/main_menu/group_view/group_profile_view.dart diff --git a/lib/l10n/generated/app_localizations.dart b/lib/l10n/generated/app_localizations.dart index eebf3f9..b8f80db 100644 --- a/lib/l10n/generated/app_localizations.dart +++ b/lib/l10n/generated/app_localizations.dart @@ -122,6 +122,12 @@ abstract class AppLocalizations { /// **'Game Tracker'** String get app_name; + /// Label for best player statistic + /// + /// In en, this message translates to: + /// **'Best Player'** + String get best_player; + /// Cancel button text /// /// In en, this message translates to: @@ -170,6 +176,12 @@ abstract class AppLocalizations { /// **'Create new group'** String get create_new_group; + /// Label for creation date + /// + /// In en, this message translates to: + /// **'Created on'** + String get created_on; + /// Appbar text to create a new match /// /// In en, this message translates to: @@ -221,7 +233,7 @@ abstract class AppLocalizations { /// Confirmation dialog for deleting a group /// /// In en, this message translates to: - /// **'Delete this group'** + /// **'Delete Group'** String get delete_group; /// Button & Appbar label for editing a group @@ -296,6 +308,12 @@ abstract class AppLocalizations { /// **'Group name'** String get group_name; + /// Title for group profile view + /// + /// In en, this message translates to: + /// **'Group Profile'** + String get group_profile; + /// Label for groups /// /// In en, this message translates to: @@ -374,6 +392,12 @@ abstract class AppLocalizations { /// **'Matches'** String get matches; + /// Label for group members + /// + /// In en, this message translates to: + /// **'Members'** + String get members; + /// Title for most points ruleset /// /// In en, this message translates to: @@ -464,6 +488,12 @@ abstract class AppLocalizations { /// **'Not available'** String get not_available; + /// Label for played matches statistic + /// + /// In en, this message translates to: + /// **'Played Matches'** + String get played_matches; + /// Placeholder for player name input /// /// In en, this message translates to: diff --git a/lib/l10n/generated/app_localizations_de.dart b/lib/l10n/generated/app_localizations_de.dart index 277f5c4..20b1ffb 100644 --- a/lib/l10n/generated/app_localizations_de.dart +++ b/lib/l10n/generated/app_localizations_de.dart @@ -20,6 +20,9 @@ class AppLocalizationsDe extends AppLocalizations { @override String get app_name => 'Game Tracker'; + @override + String get best_player => 'Beste:r Spieler:in'; + @override String get cancel => 'Abbrechen'; @@ -46,6 +49,9 @@ class AppLocalizationsDe extends AppLocalizations { @override String get create_new_group => 'Neue Gruppe erstellen'; + @override + String get created_on => 'Erstellt am'; + @override String get create_new_match => 'Neues Spiel erstellen'; @@ -73,7 +79,7 @@ class AppLocalizationsDe extends AppLocalizations { String get delete_all_data => 'Alle Daten löschen'; @override - String get delete_group => 'Diese Gruppe löschen'; + String get delete_group => 'Gruppe löschen'; @override String get edit_group => 'Gruppe bearbeiten'; @@ -114,6 +120,9 @@ class AppLocalizationsDe extends AppLocalizations { @override String get group_name => 'Gruppenname'; + @override + String get group_profile => 'Gruppenprofil'; + @override String get groups => 'Gruppen'; @@ -153,6 +162,9 @@ class AppLocalizationsDe extends AppLocalizations { @override String get matches => 'Spiele'; + @override + String get members => 'Mitglieder'; + @override String get most_points => 'Höchste Punkte'; @@ -199,6 +211,9 @@ class AppLocalizationsDe extends AppLocalizations { @override String get not_available => 'Nicht verfügbar'; + @override + String get played_matches => 'Gespielte Spiele'; + @override String get player_name => 'Spieler:innenname'; diff --git a/lib/l10n/generated/app_localizations_en.dart b/lib/l10n/generated/app_localizations_en.dart index 79d924e..35d2d2a 100644 --- a/lib/l10n/generated/app_localizations_en.dart +++ b/lib/l10n/generated/app_localizations_en.dart @@ -20,6 +20,9 @@ class AppLocalizationsEn extends AppLocalizations { @override String get app_name => 'Game Tracker'; + @override + String get best_player => 'Best Player'; + @override String get cancel => 'Cancel'; @@ -46,6 +49,9 @@ class AppLocalizationsEn extends AppLocalizations { @override String get create_new_group => 'Create new group'; + @override + String get created_on => 'Created on'; + @override String get create_new_match => 'Create new match'; @@ -73,7 +79,7 @@ class AppLocalizationsEn extends AppLocalizations { String get delete_all_data => 'Delete all data'; @override - String get delete_group => 'Delete this group'; + String get delete_group => 'Delete Group'; @override String get edit_group => 'Edit Group'; @@ -114,6 +120,9 @@ class AppLocalizationsEn extends AppLocalizations { @override String get group_name => 'Group name'; + @override + String get group_profile => 'Group Profile'; + @override String get groups => 'Groups'; @@ -153,6 +162,9 @@ class AppLocalizationsEn extends AppLocalizations { @override String get matches => 'Matches'; + @override + String get members => 'Members'; + @override String get most_points => 'Most Points'; @@ -199,6 +211,9 @@ class AppLocalizationsEn extends AppLocalizations { @override String get not_available => 'Not available'; + @override + String get played_matches => 'Played Matches'; + @override String get player_name => 'Player name'; diff --git a/lib/presentation/views/main_menu/group_view/group_create_view.dart b/lib/presentation/views/main_menu/group_view/group_create_view.dart new file mode 100644 index 0000000..74b3974 --- /dev/null +++ b/lib/presentation/views/main_menu/group_view/group_create_view.dart @@ -0,0 +1,184 @@ +import 'package:flutter/material.dart'; +import 'package:game_tracker/core/custom_theme.dart'; +import 'package:game_tracker/core/enums.dart'; +import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/dto/group.dart'; +import 'package:game_tracker/data/dto/player.dart'; +import 'package:game_tracker/l10n/generated/app_localizations.dart'; +import 'package:game_tracker/presentation/widgets/buttons/custom_width_button.dart'; +import 'package:game_tracker/presentation/widgets/player_selection.dart'; +import 'package:game_tracker/presentation/widgets/text_input/text_input_field.dart'; +import 'package:provider/provider.dart'; + +class GroupCreateView extends StatefulWidget { + const GroupCreateView({super.key, this.groupToEdit}); + + /// The group to edit, if any + final Group? groupToEdit; + + @override + State createState() => _GroupCreateViewState(); +} + +class _GroupCreateViewState extends State { + late final AppDatabase db; + + /// GlobalKey for ScaffoldMessenger to show snackbars + final _scaffoldMessengerKey = GlobalKey(); + + /// Controller for the group name input field + final _groupNameController = TextEditingController(); + + /// List of currently selected players + List selectedPlayers = []; + + /// List of initially selected players (when editing a group) + List initialSelectedPlayers = []; + + @override + void initState() { + super.initState(); + db = Provider.of(context, listen: false); + if(widget.groupToEdit != null) { + _groupNameController.text = widget.groupToEdit!.name; + setState(() { + initialSelectedPlayers = widget.groupToEdit!.members; + selectedPlayers = widget.groupToEdit!.members; + }); + } + _groupNameController.addListener(() { + setState(() {}); + }); + } + + @override + void dispose() { + _groupNameController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final loc = AppLocalizations.of(context); + return ScaffoldMessenger( + key: _scaffoldMessengerKey, + child: Scaffold( + backgroundColor: CustomTheme.backgroundColor, + appBar: AppBar(title: Text(widget.groupToEdit == null ? loc.create_new_group : loc.edit_group), actions: widget.groupToEdit == null ? [] : [IconButton(icon: const Icon(Icons.delete), onPressed: () async { + if(widget.groupToEdit != null) { + showDialog( + context: context, + builder: (context) => AlertDialog( + title: Text(loc.delete_group), + content: Text(loc.this_cannot_be_undone), + actions: [ + TextButton( + onPressed: () => Navigator.of(context).pop(false), + child: Text(loc.cancel), + ), + TextButton( + onPressed: () => Navigator.of(context).pop(true), + child: Text(loc.delete), + ), + ], + ), + ).then((confirmed) async { + if (confirmed == true && context.mounted) { + bool success = await db.groupDao.deleteGroup(groupId: widget.groupToEdit!.id); + if (!context.mounted) return; + if (success) { + Navigator.pop(context); + } else { + if (!mounted) return; + showSnackbar(message: loc.error_deleting_group); + } + } + }); + } + },)],), + body: SafeArea( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Container( + margin: CustomTheme.standardMargin, + child: TextInputField( + controller: _groupNameController, + hintText: loc.group_name, + ), + ), + Expanded( + child: PlayerSelection( + initialSelectedPlayers: initialSelectedPlayers, + onChanged: (value) { + setState(() { + selectedPlayers = [...value]; + }); + }, + ), + ), + CustomWidthButton( + text: widget.groupToEdit == null ? loc.create_group : loc.edit_group, + sizeRelativeToWidth: 0.95, + buttonType: ButtonType.primary, + onPressed: + (_groupNameController.text.isEmpty || + (selectedPlayers.length < 2)) + ? null + : () async { + late Group? updatedGroup; + late bool success; + if (widget.groupToEdit == null) { + success = await db.groupDao.addGroup( + group: Group( + name: _groupNameController.text.trim(), + members: selectedPlayers, + ), + ); + } else { + updatedGroup = Group( + id: widget.groupToEdit!.id, + name: _groupNameController.text.trim(), + members: selectedPlayers, + ); + //TODO: Implement group editing in database + /* + success = await db.groupDao.updateGroup( + group: updatedGroup, + ); + */ + success = true; + } + if (!context.mounted) return; + if (success) { + Navigator.pop(context, updatedGroup); + } else { + showSnackbar(message: widget.groupToEdit == null ? loc.error_creating_group : loc.error_editing_group); + } + }, + ), + const SizedBox(height: 20), + ], + ), + ), + ), + ); + } + /// Displays a snackbar with the given message and optional action. + /// + /// [message] The message to display in the snackbar. + void showSnackbar({ + required String message, + }) { + final messenger = _scaffoldMessengerKey.currentState; + if (messenger != null) { + messenger.hideCurrentSnackBar(); + messenger.showSnackBar( + SnackBar( + content: Text(message, style: const TextStyle(color: Colors.white)), + backgroundColor: CustomTheme.boxColor, + ), + ); + } + } +} diff --git a/lib/presentation/views/main_menu/group_view/group_detail_view.dart b/lib/presentation/views/main_menu/group_view/group_detail_view.dart index e372726..7fe88b7 100644 --- a/lib/presentation/views/main_menu/group_view/group_detail_view.dart +++ b/lib/presentation/views/main_menu/group_view/group_detail_view.dart @@ -1,20 +1,35 @@ import 'package:flutter/material.dart'; +import 'package:game_tracker/core/adaptive_page_route.dart'; import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/core/enums.dart'; import 'package:game_tracker/data/db/database.dart'; import 'package:game_tracker/data/dto/group.dart'; +import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/widgets/buttons/custom_width_button.dart'; -import 'package:game_tracker/presentation/widgets/player_selection.dart'; -import 'package:game_tracker/presentation/widgets/text_input/text_input_field.dart'; +import 'package:game_tracker/presentation/views/main_menu/group_view/group_create_view.dart'; +import 'package:game_tracker/presentation/widgets/app_skeleton.dart'; +import 'package:game_tracker/presentation/widgets/buttons/animated_dialog_button.dart'; +import 'package:game_tracker/presentation/widgets/buttons/main_menu_button.dart'; +import 'package:game_tracker/presentation/widgets/colored_icon_container.dart'; +import 'package:game_tracker/presentation/widgets/custom_alert_dialog.dart'; +import 'package:game_tracker/presentation/widgets/tiles/info_tile.dart'; +import 'package:game_tracker/presentation/widgets/tiles/text_icon_tile.dart'; +import 'package:intl/intl.dart'; import 'package:provider/provider.dart'; class GroupDetailView extends StatefulWidget { - const GroupDetailView({super.key, this.groupToEdit}); + /// A view that displays the profile of a group + /// - [group]: The group to display + const GroupDetailView({ + super.key, + required this.group, + required this.callback, + }); - /// The group to edit, if any - final Group? groupToEdit; + /// The group to display + final Group group; + + final VoidCallback callback; @override State createState() => _GroupDetailViewState(); @@ -22,161 +37,243 @@ class GroupDetailView extends StatefulWidget { class _GroupDetailViewState extends State { late final AppDatabase db; + bool isLoading = true; + late Group _group; - /// GlobalKey for ScaffoldMessenger to show snackbars - final _scaffoldMessengerKey = GlobalKey(); + /// Total matches played in this group + int totalMatches = 0; - /// Controller for the group name input field - final _groupNameController = TextEditingController(); - - /// List of currently selected players - List selectedPlayers = []; - - /// List of initially selected players (when editing a group) - List initialSelectedPlayers = []; + String bestPlayer = ''; @override void initState() { super.initState(); + _group = widget.group; db = Provider.of(context, listen: false); - if(widget.groupToEdit != null) { - _groupNameController.text = widget.groupToEdit!.name; - setState(() { - initialSelectedPlayers = widget.groupToEdit!.members; - selectedPlayers = widget.groupToEdit!.members; - }); - } - _groupNameController.addListener(() { - setState(() {}); - }); - } - - @override - void dispose() { - _groupNameController.dispose(); - super.dispose(); + _loadStatistics(); } @override Widget build(BuildContext context) { final loc = AppLocalizations.of(context); - return ScaffoldMessenger( - key: _scaffoldMessengerKey, - child: Scaffold( - backgroundColor: CustomTheme.backgroundColor, - appBar: AppBar(title: Text(widget.groupToEdit == null ? loc.create_new_group : loc.edit_group), actions: widget.groupToEdit == null ? [] : [IconButton(icon: const Icon(Icons.delete), onPressed: () async { - if(widget.groupToEdit != null) { - showDialog( - context: context, - builder: (context) => AlertDialog( - title: Text(loc.delete_group), - content: Text(loc.this_cannot_be_undone), - actions: [ - TextButton( - onPressed: () => Navigator.of(context).pop(false), - child: Text(loc.cancel), - ), - TextButton( - onPressed: () => Navigator.of(context).pop(true), - child: Text(loc.delete), - ), - ], - ), - ).then((confirmed) async { - if (confirmed == true && context.mounted) { - bool success = await db.groupDao.deleteGroup(groupId: widget.groupToEdit!.id); - if (!context.mounted) return; - if (success) { + + return Scaffold( + backgroundColor: CustomTheme.backgroundColor, + appBar: AppBar( + title: Text(loc.group_profile), + actions: [ + IconButton( + icon: const Icon(Icons.delete), + onPressed: () async { + showDialog( + context: context, + builder: (context) => CustomAlertDialog( + title: '${loc.delete_group}?', + content: loc.this_cannot_be_undone, + actions: [ + AnimatedDialogButton( + onPressed: () => Navigator.of(context).pop(false), + child: Text( + loc.cancel, + style: const TextStyle(color: CustomTheme.textColor), + ), + ), + AnimatedDialogButton( + onPressed: () => Navigator.of(context).pop(true), + child: Text( + loc.delete, + style: TextStyle(color: CustomTheme.secondaryColor), + ), + ), + ], + ), + ).then((confirmed) async { + if (confirmed! && context.mounted) { + await db.groupDao.deleteGroup(groupId: _group.id); + if (!context.mounted) return; Navigator.pop(context); - } else { - if (!mounted) return; - showSnackbar(message: loc.error_deleting_group); + widget.callback.call(); } - } - }); - } - },)],), - body: SafeArea( - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Container( - margin: CustomTheme.standardMargin, - child: TextInputField( - controller: _groupNameController, - hintText: loc.group_name, - ), - ), - Expanded( - child: PlayerSelection( - initialSelectedPlayers: initialSelectedPlayers, - onChanged: (value) { - setState(() { - selectedPlayers = [...value]; - }); - }, - ), - ), - CustomWidthButton( - text: widget.groupToEdit == null ? loc.create_group : loc.edit_group, - sizeRelativeToWidth: 0.95, - buttonType: ButtonType.primary, - onPressed: - (_groupNameController.text.isEmpty || - (selectedPlayers.length < 2)) - ? null - : () async { - late bool success; - if (widget.groupToEdit == null) { - success = await db.groupDao.addGroup( - group: Group( - name: _groupNameController.text.trim(), - members: selectedPlayers, - ), - ); - } else { - //TODO: Implement group editing in database - /* - success = await db.groupDao.updateGroup( - group: Group( - id: widget.groupToEdit!.id, - name: _groupNameController.text.trim(), - members: selectedPlayers, - ), - ); - */ - success = false; - } - if (!context.mounted) return; - if (success) { - Navigator.pop(context); - } else { - showSnackbar(message: widget.groupToEdit == null ? loc.error_creating_group : loc.error_editing_group); - } - }, - ), - const SizedBox(height: 20), - ], + }); + }, ), + ], + ), + body: SafeArea( + child: Stack( + alignment: Alignment.center, + children: [ + ListView( + padding: const EdgeInsets.only( + left: 12, + right: 12, + top: 20, + bottom: 100, + ), + children: [ + const Center( + child: ColoredIconContainer( + icon: Icons.group, + containerSize: 55, + iconSize: 38, + ), + ), + const SizedBox(height: 10), + Text( + _group.name, + style: const TextStyle( + fontSize: 28, + fontWeight: FontWeight.bold, + color: CustomTheme.textColor, + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 5), + Text( + '${loc.created_on} ${DateFormat.yMMMd(Localizations.localeOf(context).toString()).format(_group.createdAt)}', + style: const TextStyle( + fontSize: 12, + color: CustomTheme.textColor, + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 20), + InfoTile( + title: loc.members, + icon: Icons.people, + horizontalAlignment: CrossAxisAlignment.start, + content: Wrap( + alignment: WrapAlignment.start, + crossAxisAlignment: WrapCrossAlignment.start, + spacing: 12, + runSpacing: 8, + children: _group.members.map((member) { + return TextIconTile( + text: member.name, + iconEnabled: false, + ); + }).toList(), + ), + ), + const SizedBox(height: 15), + InfoTile( + title: loc.statistics, + icon: Icons.bar_chart, + content: AppSkeleton( + enabled: isLoading, + child: Column( + children: [ + _buildStatRow( + loc.members, + _group.members.length.toString(), + ), + _buildStatRow( + loc.played_matches, + totalMatches.toString(), + ), + _buildStatRow(loc.best_player, bestPlayer), + ], + ), + ), + ), + ], + ), + Positioned( + bottom: MediaQuery.paddingOf(context).bottom, + child: MainMenuButton( + text: loc.edit_group, + icon: Icons.edit, + onPressed: () async { + final updatedGroup = await Navigator.push( + context, + adaptivePageRoute( + builder: (context) { + return GroupCreateView( + groupToEdit: _group, + ); + }, + ), + ); + if (updatedGroup != null && mounted) { + setState(() { + _group = updatedGroup; + }); + _loadStatistics(); + widget.callback(); + } + }, + ), + ), + ], ), ), ); } - /// Displays a snackbar with the given message and optional action. - /// - /// [message] The message to display in the snackbar. - void showSnackbar({ - required String message, - }) { - final messenger = _scaffoldMessengerKey.currentState; - if (messenger != null) { - messenger.hideCurrentSnackBar(); - messenger.showSnackBar( - SnackBar( - content: Text(message, style: const TextStyle(color: Colors.white)), - backgroundColor: CustomTheme.boxColor, - ), - ); - } + + /// Builds a single statistic row with a label and value + /// - [label]: The label of the statistic + /// - [value]: The value of the statistic + Widget _buildStatRow(String label, String value) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 4, horizontal: 8), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Row( + children: [ + Text( + label, + style: const TextStyle( + fontSize: 16, + color: CustomTheme.textColor, + ), + ), + ], + ), + Text( + value, + style: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + ], + ), + ); } -} + + /// Loads statistics for this group + Future _loadStatistics() async { + final matches = await db.matchDao.getAllMatches(); + final groupMatches = + matches.where((match) => match.group?.id == _group.id).toList(); + + setState(() { + totalMatches = groupMatches.length; + bestPlayer = _getBestPlayer(groupMatches); + isLoading = false; + }); + } + + /// Determines the best player in the group based on match wins + String _getBestPlayer(List matches) { + final bestPlayerCounts = {}; + + // Count wins for each player + for (var match in matches) { + if (match.winner != null) { + bestPlayerCounts.update( + match.winner!, + (value) => value + 1, + ifAbsent: () => 1, + ); + } + } + + // Sort players by win count + final sortedPlayers = bestPlayerCounts.entries.toList() + ..sort((a, b) => b.value.compareTo(a.value)); + + // Get the best player + bestPlayer = sortedPlayers.isNotEmpty ? sortedPlayers.first.key.name : '-'; + + return bestPlayer; + } +} \ No newline at end of file diff --git a/lib/presentation/views/main_menu/group_view/group_profile_view.dart b/lib/presentation/views/main_menu/group_view/group_profile_view.dart deleted file mode 100644 index e366834..0000000 --- a/lib/presentation/views/main_menu/group_view/group_profile_view.dart +++ /dev/null @@ -1,271 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/match.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/widgets/app_skeleton.dart'; -import 'package:game_tracker/presentation/widgets/buttons/animated_dialog_button.dart'; -import 'package:game_tracker/presentation/widgets/buttons/main_menu_button.dart'; -import 'package:game_tracker/presentation/widgets/colored_icon_container.dart'; -import 'package:game_tracker/presentation/widgets/custom_alert_dialog.dart'; -import 'package:game_tracker/presentation/widgets/tiles/info_tile.dart'; -import 'package:game_tracker/presentation/widgets/tiles/text_icon_tile.dart'; -import 'package:intl/intl.dart'; -import 'package:provider/provider.dart'; - -class GroupProfileView extends StatefulWidget { - /// A view that displays the profile of a group - /// - [group]: The group to display - const GroupProfileView({ - super.key, - required this.group, - required this.callback, - }); - - /// The group to display - final Group group; - - final VoidCallback callback; - - @override - State createState() => _GroupProfileViewState(); -} - -class _GroupProfileViewState extends State { - late final AppDatabase db; - bool isLoading = true; - - /// Total matches played in this group - int totalMatches = 0; - - String bestPlayer = ''; - - @override - void initState() { - super.initState(); - db = Provider.of(context, listen: false); - _loadStatistics(); - } - - @override - Widget build(BuildContext context) { - final loc = AppLocalizations.of(context); - - return Scaffold( - backgroundColor: CustomTheme.backgroundColor, - appBar: AppBar( - title: Text(loc.group_profile), - actions: [ - IconButton( - icon: const Icon(Icons.delete), - onPressed: () async { - showDialog( - context: context, - builder: (context) => CustomAlertDialog( - title: '${loc.delete_group}?', - content: loc.this_cannot_be_undone, - actions: [ - AnimatedDialogButton( - onPressed: () => Navigator.of(context).pop(false), - child: Text( - loc.cancel, - style: const TextStyle(color: CustomTheme.textColor), - ), - ), - AnimatedDialogButton( - onPressed: () => Navigator.of(context).pop(true), - child: Text( - loc.delete, - style: TextStyle(color: CustomTheme.secondaryColor), - ), - ), - ], - ), - ).then((confirmed) async { - if (confirmed! && context.mounted) { - await db.groupDao.deleteGroup(groupId: widget.group.id); - if (!context.mounted) return; - Navigator.pop(context); - widget.callback.call(); - } - }); - }, - ), - ], - ), - body: SafeArea( - child: Stack( - alignment: Alignment.center, - children: [ - ListView( - padding: const EdgeInsets.only( - left: 12, - right: 12, - top: 20, - bottom: 100, - ), - children: [ - const Center( - child: ColoredIconContainer( - icon: Icons.group, - containerSize: 55, - iconSize: 38, - ), - ), - const SizedBox(height: 10), - Text( - widget.group.name, - style: const TextStyle( - fontSize: 28, - fontWeight: FontWeight.bold, - color: CustomTheme.textColor, - ), - textAlign: TextAlign.center, - ), - const SizedBox(height: 5), - Text( - '${loc.created_on} ${DateFormat.yMMMd(Localizations.localeOf(context).toString()).format(widget.group.createdAt)}', - style: const TextStyle( - fontSize: 12, - color: CustomTheme.textColor, - ), - textAlign: TextAlign.center, - ), - const SizedBox(height: 20), - InfoTile( - title: loc.members, - icon: Icons.people, - horizontalAlignment: CrossAxisAlignment.start, - content: Wrap( - alignment: WrapAlignment.start, - crossAxisAlignment: WrapCrossAlignment.start, - spacing: 12, - runSpacing: 8, - children: widget.group.members.map((member) { - return TextIconTile( - text: member.name, - iconEnabled: false, - ); - }).toList(), - ), - ), - const SizedBox(height: 15), - InfoTile( - title: loc.statistics, - icon: Icons.bar_chart, - content: AppSkeleton( - enabled: isLoading, - child: Column( - children: [ - _buildStatRow( - loc.members, - widget.group.members.length.toString(), - ), - _buildStatRow( - loc.played_matches, - totalMatches.toString(), - ), - _buildStatRow(loc.best_player, bestPlayer), - ], - ), - ), - ), - ], - ), - Positioned( - bottom: MediaQuery.paddingOf(context).bottom, - child: MainMenuButton( - text: loc.edit_group, - icon: Icons.edit, - onPressed: () { - // TODO: Uncomment when GroupDetailView is implemented - /* - await Navigator.push( - context, - adaptivePageRoute( - builder: (context) { - - return const GroupDetailView(); - }, - ), - );*/ - print('Edit Group pressed'); - }, - ), - ), - ], - ), - ), - ); - } - - /// Builds a single statistic row with a label and value - /// - [label]: The label of the statistic - /// - [value]: The value of the statistic - Widget _buildStatRow(String label, String value) { - return Padding( - padding: const EdgeInsets.symmetric(vertical: 4, horizontal: 8), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Row( - children: [ - Text( - label, - style: const TextStyle( - fontSize: 16, - color: CustomTheme.textColor, - ), - ), - ], - ), - Text( - value, - style: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold), - ), - ], - ), - ); - } - - /// Loads statistics for this group - Future _loadStatistics() async { - final matches = await db.matchDao.getAllMatches(); - final groupMatches = matches - .where((match) => match.group?.id == widget.group.id) - .toList(); - - setState(() { - totalMatches = groupMatches.length; - bestPlayer = _getBestPlayer(groupMatches); - isLoading = false; - }); - } - - /// Determines the best player in the group based on match wins - String _getBestPlayer(List matches) { - final bestPlayerCounts = {}; - - // Count wins for each player - for (var match in matches) { - if (match.winner != null) { - bestPlayerCounts.update( - match.winner!, - (value) => value + 1, - ifAbsent: () => 1, - ); - } - } - - // Sort players by win count - final sortedPlayers = bestPlayerCounts.entries.toList() - ..sort((a, b) => b.value.compareTo(a.value)); - - // Get the best player - bestPlayer = sortedPlayers.isNotEmpty ? sortedPlayers.first.key.name : '-'; - - return bestPlayer; - } -} diff --git a/lib/presentation/views/main_menu/group_view/groups_view.dart b/lib/presentation/views/main_menu/group_view/groups_view.dart index 61dbe51..6462205 100644 --- a/lib/presentation/views/main_menu/group_view/groups_view.dart +++ b/lib/presentation/views/main_menu/group_view/groups_view.dart @@ -6,8 +6,8 @@ import 'package:game_tracker/data/db/database.dart'; import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/player.dart'; import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/views/main_menu/group_view/group_profile_view.dart'; import 'package:game_tracker/presentation/views/main_menu/group_view/group_detail_view.dart'; +import 'package:game_tracker/presentation/views/main_menu/group_view/group_create_view.dart'; import 'package:game_tracker/presentation/widgets/app_skeleton.dart'; import 'package:game_tracker/presentation/widgets/buttons/main_menu_button.dart'; import 'package:game_tracker/presentation/widgets/tiles/group_tile.dart'; @@ -82,7 +82,7 @@ class _GroupsViewState extends State { context, adaptivePageRoute( builder: (context) { - return GroupProfileView( + return GroupDetailView( group: groups[index], callback: loadGroups, ); @@ -105,7 +105,7 @@ class _GroupsViewState extends State { context, adaptivePageRoute( builder: (context) { - return const GroupDetailView(); + return const GroupCreateView(); }, ), ); diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index a3d5cf1..70f0929 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -64,6 +64,9 @@ class _CreateMatchViewState extends State { /// The currently selected players List? selectedPlayers; + /// GlobalKey for ScaffoldMessenger to show snackbars + final _scaffoldMessengerKey = GlobalKey(); + @override void initState() { super.initState(); diff --git a/pubspec.yaml b/pubspec.yaml index aa253b3..210c625 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: game_tracker description: "Game Tracking App for Card Games" publish_to: 'none' -version: 0.0.7+239 +version: 0.0.7+241 environment: sdk: ^3.8.1 From 810f635987520ad969c50dc095ceda5bac975110 Mon Sep 17 00:00:00 2001 From: Mathis Kirchner Date: Sun, 18 Jan 2026 12:25:47 +0100 Subject: [PATCH 058/198] merge fix --- .../main_menu/custom_navigation_bar.dart | 2 +- .../group_view/create_group_view.dart | 185 ++++++++++++++++++ .../group_view/group_create_view.dart | 184 ----------------- .../group_view/group_detail_view.dart | 4 +- .../{groups_view.dart => group_view.dart} | 4 +- 5 files changed, 190 insertions(+), 189 deletions(-) delete mode 100644 lib/presentation/views/main_menu/group_view/group_create_view.dart rename lib/presentation/views/main_menu/group_view/{groups_view.dart => group_view.dart} (98%) diff --git a/lib/presentation/views/main_menu/custom_navigation_bar.dart b/lib/presentation/views/main_menu/custom_navigation_bar.dart index a110419..b17f63d 100644 --- a/lib/presentation/views/main_menu/custom_navigation_bar.dart +++ b/lib/presentation/views/main_menu/custom_navigation_bar.dart @@ -4,7 +4,7 @@ import 'package:flutter/material.dart'; import 'package:game_tracker/core/adaptive_page_route.dart'; import 'package:game_tracker/core/custom_theme.dart'; import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/views/main_menu/group_view/groups_view.dart'; +import 'package:game_tracker/presentation/views/main_menu/group_view/group_view.dart'; import 'package:game_tracker/presentation/views/main_menu/home_view.dart'; import 'package:game_tracker/presentation/views/main_menu/match_view/match_view.dart'; import 'package:game_tracker/presentation/views/main_menu/settings_view/settings_view.dart'; diff --git a/lib/presentation/views/main_menu/group_view/create_group_view.dart b/lib/presentation/views/main_menu/group_view/create_group_view.dart index e69de29..678872a 100644 --- a/lib/presentation/views/main_menu/group_view/create_group_view.dart +++ b/lib/presentation/views/main_menu/group_view/create_group_view.dart @@ -0,0 +1,185 @@ +import 'package:flutter/material.dart'; +import 'package:game_tracker/core/custom_theme.dart'; +import 'package:game_tracker/core/enums.dart'; +import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/dto/group.dart'; +import 'package:game_tracker/data/dto/player.dart'; +import 'package:game_tracker/l10n/generated/app_localizations.dart'; +import 'package:game_tracker/presentation/widgets/buttons/custom_width_button.dart'; +import 'package:game_tracker/presentation/widgets/player_selection.dart'; +import 'package:game_tracker/presentation/widgets/text_input/text_input_field.dart'; +import 'package:provider/provider.dart'; + +class CreateGroupView extends StatefulWidget { + const CreateGroupView({super.key, this.groupToEdit}); + + /// The group to edit, if any + final Group? groupToEdit; + + @override + State createState() => _CreateGroupViewState(); +} + +class _CreateGroupViewState extends State { + late final AppDatabase db; + + /// GlobalKey for ScaffoldMessenger to show snackbars + final _scaffoldMessengerKey = GlobalKey(); + + /// Controller for the group name input field + final _groupNameController = TextEditingController(); + + /// List of currently selected players + List selectedPlayers = []; + + /// List of initially selected players (when editing a group) + List initialSelectedPlayers = []; + + @override + void initState() { + super.initState(); + db = Provider.of(context, listen: false); + if(widget.groupToEdit != null) { + _groupNameController.text = widget.groupToEdit!.name; + setState(() { + initialSelectedPlayers = widget.groupToEdit!.members; + selectedPlayers = widget.groupToEdit!.members; + }); + } + _groupNameController.addListener(() { + setState(() {}); + }); + } + + @override + void dispose() { + _groupNameController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final loc = AppLocalizations.of(context); + return ScaffoldMessenger( + key: _scaffoldMessengerKey, + child: Scaffold( + resizeToAvoidBottomInset: false, + backgroundColor: CustomTheme.backgroundColor, + appBar: AppBar(title: Text(widget.groupToEdit == null ? loc.create_new_group : loc.edit_group), actions: widget.groupToEdit == null ? [] : [IconButton(icon: const Icon(Icons.delete), onPressed: () async { + if(widget.groupToEdit != null) { + showDialog( + context: context, + builder: (context) => AlertDialog( + title: Text(loc.delete_group), + content: Text(loc.this_cannot_be_undone), + actions: [ + TextButton( + onPressed: () => Navigator.of(context).pop(false), + child: Text(loc.cancel), + ), + TextButton( + onPressed: () => Navigator.of(context).pop(true), + child: Text(loc.delete), + ), + ], + ), + ).then((confirmed) async { + if (confirmed == true && context.mounted) { + bool success = await db.groupDao.deleteGroup(groupId: widget.groupToEdit!.id); + if (!context.mounted) return; + if (success) { + Navigator.pop(context); + } else { + if (!mounted) return; + showSnackbar(message: loc.error_deleting_group); + } + } + }); + } + },)],), + body: SafeArea( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Container( + margin: CustomTheme.standardMargin, + child: TextInputField( + controller: _groupNameController, + hintText: loc.group_name, + ), + ), + Expanded( + child: PlayerSelection( + initialSelectedPlayers: initialSelectedPlayers, + onChanged: (value) { + setState(() { + selectedPlayers = [...value]; + }); + }, + ), + ), + CustomWidthButton( + text: widget.groupToEdit == null ? loc.create_group : loc.edit_group, + sizeRelativeToWidth: 0.95, + buttonType: ButtonType.primary, + onPressed: + (_groupNameController.text.isEmpty || + (selectedPlayers.length < 2)) + ? null + : () async { + late Group? updatedGroup; + late bool success; + if (widget.groupToEdit == null) { + success = await db.groupDao.addGroup( + group: Group( + name: _groupNameController.text.trim(), + members: selectedPlayers, + ), + ); + } else { + updatedGroup = Group( + id: widget.groupToEdit!.id, + name: _groupNameController.text.trim(), + members: selectedPlayers, + ); + //TODO: Implement group editing in database + /* + success = await db.groupDao.updateGroup( + group: updatedGroup, + ); + */ + success = true; + } + if (!context.mounted) return; + if (success) { + Navigator.pop(context, updatedGroup); + } else { + showSnackbar(message: widget.groupToEdit == null ? loc.error_creating_group : loc.error_editing_group); + } + }, + ), + const SizedBox(height: 20), + ], + ), + ), + ), + ); + } + /// Displays a snackbar with the given message and optional action. + /// + /// [message] The message to display in the snackbar. + void showSnackbar({ + required String message, + }) { + final messenger = _scaffoldMessengerKey.currentState; + if (messenger != null) { + messenger.hideCurrentSnackBar(); + messenger.showSnackBar( + SnackBar( + content: Text(message, style: const TextStyle(color: Colors.white)), + backgroundColor: CustomTheme.boxColor, + ), + ); + } + } +} diff --git a/lib/presentation/views/main_menu/group_view/group_create_view.dart b/lib/presentation/views/main_menu/group_view/group_create_view.dart deleted file mode 100644 index 74b3974..0000000 --- a/lib/presentation/views/main_menu/group_view/group_create_view.dart +++ /dev/null @@ -1,184 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/core/enums.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/widgets/buttons/custom_width_button.dart'; -import 'package:game_tracker/presentation/widgets/player_selection.dart'; -import 'package:game_tracker/presentation/widgets/text_input/text_input_field.dart'; -import 'package:provider/provider.dart'; - -class GroupCreateView extends StatefulWidget { - const GroupCreateView({super.key, this.groupToEdit}); - - /// The group to edit, if any - final Group? groupToEdit; - - @override - State createState() => _GroupCreateViewState(); -} - -class _GroupCreateViewState extends State { - late final AppDatabase db; - - /// GlobalKey for ScaffoldMessenger to show snackbars - final _scaffoldMessengerKey = GlobalKey(); - - /// Controller for the group name input field - final _groupNameController = TextEditingController(); - - /// List of currently selected players - List selectedPlayers = []; - - /// List of initially selected players (when editing a group) - List initialSelectedPlayers = []; - - @override - void initState() { - super.initState(); - db = Provider.of(context, listen: false); - if(widget.groupToEdit != null) { - _groupNameController.text = widget.groupToEdit!.name; - setState(() { - initialSelectedPlayers = widget.groupToEdit!.members; - selectedPlayers = widget.groupToEdit!.members; - }); - } - _groupNameController.addListener(() { - setState(() {}); - }); - } - - @override - void dispose() { - _groupNameController.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - final loc = AppLocalizations.of(context); - return ScaffoldMessenger( - key: _scaffoldMessengerKey, - child: Scaffold( - backgroundColor: CustomTheme.backgroundColor, - appBar: AppBar(title: Text(widget.groupToEdit == null ? loc.create_new_group : loc.edit_group), actions: widget.groupToEdit == null ? [] : [IconButton(icon: const Icon(Icons.delete), onPressed: () async { - if(widget.groupToEdit != null) { - showDialog( - context: context, - builder: (context) => AlertDialog( - title: Text(loc.delete_group), - content: Text(loc.this_cannot_be_undone), - actions: [ - TextButton( - onPressed: () => Navigator.of(context).pop(false), - child: Text(loc.cancel), - ), - TextButton( - onPressed: () => Navigator.of(context).pop(true), - child: Text(loc.delete), - ), - ], - ), - ).then((confirmed) async { - if (confirmed == true && context.mounted) { - bool success = await db.groupDao.deleteGroup(groupId: widget.groupToEdit!.id); - if (!context.mounted) return; - if (success) { - Navigator.pop(context); - } else { - if (!mounted) return; - showSnackbar(message: loc.error_deleting_group); - } - } - }); - } - },)],), - body: SafeArea( - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Container( - margin: CustomTheme.standardMargin, - child: TextInputField( - controller: _groupNameController, - hintText: loc.group_name, - ), - ), - Expanded( - child: PlayerSelection( - initialSelectedPlayers: initialSelectedPlayers, - onChanged: (value) { - setState(() { - selectedPlayers = [...value]; - }); - }, - ), - ), - CustomWidthButton( - text: widget.groupToEdit == null ? loc.create_group : loc.edit_group, - sizeRelativeToWidth: 0.95, - buttonType: ButtonType.primary, - onPressed: - (_groupNameController.text.isEmpty || - (selectedPlayers.length < 2)) - ? null - : () async { - late Group? updatedGroup; - late bool success; - if (widget.groupToEdit == null) { - success = await db.groupDao.addGroup( - group: Group( - name: _groupNameController.text.trim(), - members: selectedPlayers, - ), - ); - } else { - updatedGroup = Group( - id: widget.groupToEdit!.id, - name: _groupNameController.text.trim(), - members: selectedPlayers, - ); - //TODO: Implement group editing in database - /* - success = await db.groupDao.updateGroup( - group: updatedGroup, - ); - */ - success = true; - } - if (!context.mounted) return; - if (success) { - Navigator.pop(context, updatedGroup); - } else { - showSnackbar(message: widget.groupToEdit == null ? loc.error_creating_group : loc.error_editing_group); - } - }, - ), - const SizedBox(height: 20), - ], - ), - ), - ), - ); - } - /// Displays a snackbar with the given message and optional action. - /// - /// [message] The message to display in the snackbar. - void showSnackbar({ - required String message, - }) { - final messenger = _scaffoldMessengerKey.currentState; - if (messenger != null) { - messenger.hideCurrentSnackBar(); - messenger.showSnackBar( - SnackBar( - content: Text(message, style: const TextStyle(color: Colors.white)), - backgroundColor: CustomTheme.boxColor, - ), - ); - } - } -} diff --git a/lib/presentation/views/main_menu/group_view/group_detail_view.dart b/lib/presentation/views/main_menu/group_view/group_detail_view.dart index 7fe88b7..81a1c6e 100644 --- a/lib/presentation/views/main_menu/group_view/group_detail_view.dart +++ b/lib/presentation/views/main_menu/group_view/group_detail_view.dart @@ -6,7 +6,7 @@ import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/views/main_menu/group_view/group_create_view.dart'; +import 'package:game_tracker/presentation/views/main_menu/group_view/create_group_view.dart'; import 'package:game_tracker/presentation/widgets/app_skeleton.dart'; import 'package:game_tracker/presentation/widgets/buttons/animated_dialog_button.dart'; import 'package:game_tracker/presentation/widgets/buttons/main_menu_button.dart'; @@ -188,7 +188,7 @@ class _GroupDetailViewState extends State { context, adaptivePageRoute( builder: (context) { - return GroupCreateView( + return CreateGroupView( groupToEdit: _group, ); }, diff --git a/lib/presentation/views/main_menu/group_view/groups_view.dart b/lib/presentation/views/main_menu/group_view/group_view.dart similarity index 98% rename from lib/presentation/views/main_menu/group_view/groups_view.dart rename to lib/presentation/views/main_menu/group_view/group_view.dart index 6462205..a995f12 100644 --- a/lib/presentation/views/main_menu/group_view/groups_view.dart +++ b/lib/presentation/views/main_menu/group_view/group_view.dart @@ -7,7 +7,7 @@ import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/player.dart'; import 'package:game_tracker/l10n/generated/app_localizations.dart'; import 'package:game_tracker/presentation/views/main_menu/group_view/group_detail_view.dart'; -import 'package:game_tracker/presentation/views/main_menu/group_view/group_create_view.dart'; +import 'package:game_tracker/presentation/views/main_menu/group_view/create_group_view.dart'; import 'package:game_tracker/presentation/widgets/app_skeleton.dart'; import 'package:game_tracker/presentation/widgets/buttons/main_menu_button.dart'; import 'package:game_tracker/presentation/widgets/tiles/group_tile.dart'; @@ -105,7 +105,7 @@ class _GroupsViewState extends State { context, adaptivePageRoute( builder: (context) { - return const GroupCreateView(); + return const CreateGroupView(); }, ), ); From cca09cc27ebeeb9e372464cb1128b997c37bd128 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sun, 18 Jan 2026 13:01:24 +0100 Subject: [PATCH 059/198] Renamed MatchProfileView to MatchDetailView --- .../{match_profile_view.dart => match_detail_view.dart} | 8 ++++---- .../views/main_menu/match_view/match_view.dart | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) rename lib/presentation/views/main_menu/match_view/{match_profile_view.dart => match_detail_view.dart} (98%) diff --git a/lib/presentation/views/main_menu/match_view/match_profile_view.dart b/lib/presentation/views/main_menu/match_view/match_detail_view.dart similarity index 98% rename from lib/presentation/views/main_menu/match_view/match_profile_view.dart rename to lib/presentation/views/main_menu/match_view/match_detail_view.dart index d301f9e..d70d9aa 100644 --- a/lib/presentation/views/main_menu/match_view/match_profile_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_detail_view.dart @@ -16,11 +16,11 @@ import 'package:game_tracker/presentation/widgets/tiles/text_icon_tile.dart'; import 'package:intl/intl.dart'; import 'package:provider/provider.dart'; -class MatchProfileView extends StatefulWidget { +class MatchDetailView extends StatefulWidget { /// A view that displays the profile of a match /// - [match]: The match to display /// - [callback]: Callback to refresh the match list - const MatchProfileView({ + const MatchDetailView({ super.key, required this.match, required this.callback, @@ -33,10 +33,10 @@ class MatchProfileView extends StatefulWidget { final VoidCallback callback; @override - State createState() => _MatchProfileViewState(); + State createState() => _MatchDetailViewState(); } -class _MatchProfileViewState extends State { +class _MatchDetailViewState extends State { late final AppDatabase db; late Player? currentWinner; diff --git a/lib/presentation/views/main_menu/match_view/match_view.dart b/lib/presentation/views/main_menu/match_view/match_view.dart index 65ff29c..b0d540b 100644 --- a/lib/presentation/views/main_menu/match_view/match_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_view.dart @@ -11,7 +11,7 @@ import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; import 'package:game_tracker/l10n/generated/app_localizations.dart'; import 'package:game_tracker/presentation/views/main_menu/match_view/create_match/create_match_view.dart'; -import 'package:game_tracker/presentation/views/main_menu/match_view/match_profile_view.dart'; +import 'package:game_tracker/presentation/views/main_menu/match_view/match_detail_view.dart'; import 'package:game_tracker/presentation/widgets/app_skeleton.dart'; import 'package:game_tracker/presentation/widgets/buttons/main_menu_button.dart'; import 'package:game_tracker/presentation/widgets/tiles/match_tile.dart'; @@ -89,7 +89,7 @@ class _MatchViewState extends State { Navigator.push( context, adaptivePageRoute( - builder: (context) => MatchProfileView( + builder: (context) => MatchDetailView( match: matches[index], callback: loadGames, ), From 9a5929382b3dfb1c4b6a39e837183b27d6db7099 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sun, 18 Jan 2026 13:08:33 +0100 Subject: [PATCH 060/198] Changed button icon --- .../views/main_menu/match_view/match_detail_view.dart | 2 +- pubspec.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/presentation/views/main_menu/match_view/match_detail_view.dart b/lib/presentation/views/main_menu/match_view/match_detail_view.dart index d70d9aa..05fb6c0 100644 --- a/lib/presentation/views/main_menu/match_view/match_detail_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_detail_view.dart @@ -233,7 +233,7 @@ class _MatchDetailViewState extends State { const SizedBox(width: 15), MainMenuButton( text: loc.enter_results, - icon: Icons.note_add, + icon: Icons.emoji_events, onPressed: () async { currentWinner = await Navigator.push( context, diff --git a/pubspec.yaml b/pubspec.yaml index 54ff72b..a2025b9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: game_tracker description: "Game Tracking App for Card Games" publish_to: 'none' -version: 0.0.9+242 +version: 0.0.9+243 environment: sdk: ^3.8.1 From e1dd40a1c37d71a8eb6b578e91d960b5fc044aca Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sun, 18 Jan 2026 22:53:54 +0100 Subject: [PATCH 061/198] first app icon and theme update --- android/app/src/main/AndroidManifest.xml | 2 +- .../app/src/main/ic_launcher-playstore.png | Bin 8160 -> 17804 bytes .../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 828 -> 1336 bytes .../mipmap-hdpi/ic_launcher_foreground.webp | Bin 448 -> 884 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 2346 -> 3002 bytes .../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 656 -> 938 bytes .../mipmap-mdpi/ic_launcher_foreground.webp | Bin 348 -> 596 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 1546 -> 1896 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 1082 -> 1768 bytes .../mipmap-xhdpi/ic_launcher_foreground.webp | Bin 508 -> 1182 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 3276 -> 4246 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 1456 -> 2600 bytes .../mipmap-xxhdpi/ic_launcher_foreground.webp | Bin 704 -> 1804 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 5036 -> 6572 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 1982 -> 3454 bytes .../ic_launcher_foreground.webp | Bin 824 -> 2408 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 7024 -> 9244 bytes .../res/values/ic_launcher_background.xml | 3 +-- .../AppIcon.appiconset/1024.png | Bin 0 -> 56859 bytes .../AppIcon.appiconset/114.png | Bin 0 -> 4615 bytes .../AppIcon.appiconset/120.png | Bin 0 -> 4683 bytes .../AppIcon.appiconset/180.png | Bin 0 -> 7262 bytes .../Assets.xcassets/AppIcon.appiconset/29.png | Bin 0 -> 1163 bytes .../Assets.xcassets/AppIcon.appiconset/40.png | Bin 0 -> 1572 bytes .../Assets.xcassets/AppIcon.appiconset/57.png | Bin 0 -> 2241 bytes .../Assets.xcassets/AppIcon.appiconset/58.png | Bin 0 -> 2212 bytes .../Assets.xcassets/AppIcon.appiconset/60.png | Bin 0 -> 2347 bytes .../Assets.xcassets/AppIcon.appiconset/80.png | Bin 0 -> 3144 bytes .../Assets.xcassets/AppIcon.appiconset/87.png | Bin 0 -> 3447 bytes .../AppIcon.appiconset/Contents.json | 15 +-------------- .../AppIcon.appiconset/icon_x1024.png | Bin 9002 -> 0 bytes .../LauncherIcon.imageset/Contents.json | 13 ++----------- .../LauncherIcon.imageset/Logo-Rounded.png | Bin 0 -> 47780 bytes .../LauncherIcon.imageset/icon.png | Bin 9798 -> 0 bytes lib/core/custom_theme.dart | 4 ++-- .../widgets/buttons/quick_create_button.dart | 6 +++++- .../widgets/colored_icon_container.dart | 2 +- 37 files changed, 13 insertions(+), 32 deletions(-) create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/icon_x1024.png create mode 100644 ios/Runner/Assets.xcassets/LauncherIcon.imageset/Logo-Rounded.png delete mode 100644 ios/Runner/Assets.xcassets/LauncherIcon.imageset/icon.png diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 3c48c4a..1eca443 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ 2ArH 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

Fcbo7tIAAH3s)?#~j3J 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 diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp index 41f81de898b4f7f754a286caf525e41b601ddbc3..1ab6d6cfa065f6ba30ebf6cb5b4862b834c3a3b7 100644 GIT binary patch literal 1336 zcmV-81;_eQNk&F61pok7MM6+kP&iB@1pojqN5Byf717=P-?SaA*tTukws{d>p0kt6 zw$q`qZTG2D*|zPZ&E9LDXaAydbzy7&0mcf(tUMLtlw;eTS>q}1eoi~K-A-qhv&S|I z*|u$)cGP3rw(XQ{yt$rY+s0App98zLZPm#vJ$29mzmezBC%C(Ng1f_m8VLZx=EBSj zHi|bOnX9a>?+Ue542l_4(ivy~T!(%F$c%S%Cy@K95eE6L26A6Df&{2ml$H>663o@V zgH0~!>~l$HH)Y)3lQex|)qX;>BD6&Hzggyz&NCNxT&Ru%(!Wrh1kbALW|?TQ-X(;K zJ1-Y8zM;F#aT>DgK*`--*jkf4=d9&_GnZ1^YCf&zu=ZK-_gf4uQ@~7vQ1Fji ztmb`lgv2Ojz8GoXqImTiV9(-^pD#11ESG~~N9fA~p zy=0@{QzW#;L_9e81T=x;6x{cZnT8QSKBi7R^nV{5%=6%QWQC=yKXF$pa7=GQw#(kd zKo|7JIPg8#5_VDu@@5Ad{kI^ z$d8+>q}J+#(t!||x$R4Xixe1_ZMS@*1t=W=fd}t3pIVFbYZ;W}rx{C`zf|ZBO8Z0T z5|{8gdhTc-x0y?=)dZ#V5}~oshxNiQCP4&->}BMFD||*N?F*p?D*z$xY6Zr*Hj6&R z#cmPQ5(2&2qmBX~bhdIRg~Fhe(s>wT5eTk2ZkgOfK!p0d!91Em%mt}oE$>^3vkU~& zFywjUf@^eym)jZ?{26dfa0%{ZA%PQ5T%-Y3Pz^ z7y%G-evWyR1J4mS4@QHN#z%%12>>BKZL)}CG>{fH3O^-1>H*;A!4WIy1fEN9L3oaf+dszFk%-@x)_+$m zPDOCgod6<)Xe2)Bzsvi~0Pd3$Y~){v_SScCh|ZVk5F+okXFS%~%D)V+5~?5|Oa7zz z30CuOH(it2+hL#f!UW%K^Kl%}M2tec+uVpgJO3Dav3iO4UoIJAapuY;V~WC< z!W707g)xOO#uUaBg)xOGj429Z3R7Y)%r35rK0E*T^SK*cHk>DjNJPMS&1Di%M|2Qf uL{IW>oP?-3shXr-6GI3Z6LH&ooOfPxS$0x2sY?FU@0Jpcz6OxYNCf~OHHw!2 literal 828 zcmV-C1H=4MNk&FA0{{S5MM6+kP&iB|0{{RoN5ByfN98uQZB^OlE0)uLMnTlzWG?TX z(}u&gjT}j{d!dIb|NHoQa?by|V>^y)+cws@_aPHuOGH3_BSzjmdqJvgZP~J)_xJyY z5jotQ1g;$jKmis7+(w?{pQ9aU;PAcy00IagfB<@c1`t310VJRW)PVr1v2Q>I%6)U| zv-2Jxti}rUhf~E0hye<~!V0j3q7;^bWLeD_LC&zk*;+0x^YK>?lf(P>)6Air-lilV zB62W+rDF{L`z}h1VZWk$dalad?c07G%L)uTFbFv#$Qj?VJxt@V4uqnLf&`YQ*zxi4 z_lnx(^*a^i@%(Z|{c^4?2KEl?>%m{`ZIq?H>!J*0__QU+(leVR1%6UxJC;)q z&>6==20nn_X*yQt`BZ@BRK`eO=l^bX>EN0M+CT(y2cwpNs9cLCORe?1(`mtabMLpl z5)d&tHh~5EdAohO3fZ!4o3^vAZQHhOE4FnR+qQEN+xgIiTWiKodyN^<{|OL(-(#Xk z@-jp_qA-GUOHZG_cxJW7Zb`Uk1Gw0i2}rabuRe%qtr+KCCnS-?dtb*oQQ~bvQXQRsM7-2mUp@aXRN_+`{0%e#?rnCZK8O?zIven6nZ?ctHE-^h@nVD#b)xSaC=royprsARA01Pk#3%$Rv&zU&)X#T-{>oM<%W%VH_ G{-y$;Ig}&- diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp b/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp index 9ba77a1cdeda8bdeffbb27fc4cfcdfc27076e1c5..15e3140b2cb6ee1a1b5f9e0d48ee9ce700f67169 100644 GIT binary patch literal 884 zcmV-)1B?7pNk&F&0{{S5MM6+kP&iCq0{{Rop+G1Q1s&M7P1{y``nGM`wrwM_t?b9P zZQHi3$p5cr+dDhw?zQ)+TC;w3BP83lZQ9Pc&x~!`wr#Uy+qRwjfoI51{U|YxhgeZvpn!s`ACR$1y=QyO8x(A3_Oz( z2vcAQUrOexR~cp%U~L>^_7(1xB(r2xJ~0sfDjWu5VHZh~OqWwR8CVtu7vV`sl1!2H zvjOlj3X=R`S^r6rWTLFf#*ij&5Y&M~BuSEtmv=VMH3<5`c{;|(yAhZc1f$>z9i!yk z2P_VPL2#jt5%O*aW(PqFI7-J*d6xryf*`B^tf3>BD{B{^Ob`Sf!Mi$U%NcG6yb~1# zOJFtI*v2-tv6G!;t`DpiL{S}@*EI~Y=Lt<;~CF*#v4A6c`a}z3X*+eh@T}% zl1x^~oNfsSwu&1PRqMXVpz^EYD0XOL~LDt*A#TZEToq7GH%XnEcEd!z4At8yAJECe>d^}3Cb_Xcnx0%Cn&u%C4sEpLX!;IE7U&=7WzbRQ+Jay-y009L?N zT6hB38~{(@Q+XIYI-K-GJJ~GZaqK%GJQU;@Jz2>ub0segdwR zPOMMN?{}@tu_FAFv2d!xE|R{7X`*s6(4lZ9!IfHi5LjI}hv5}1{cQl;DVrFdSjgX6 zs;mzGWGI^Qu(PDClYr($GXyTw+8w~0qFD!zXzhF8c+os&fSyspg^(YfDP0et*L#1ip5e0woq@3rVayY z7fTV?O1-g~Is&L$EJa~ad#b&U12nvxk|{~=YV<#bqOg_+)PBlK8r}h@S1d(fD@pCi zDh(e2)D6Q_0h%r#a!X@*=cs+DD>S?=P`OwlUeT*Qi!YWyBcFQ2PhA8Bmq9Cidr^B? K1pWT+*DnC+GnzC2 literal 448 zcmV;x0YCmyNk&Gv0RRA3MM6+kP&iDi0RR9mp+G1Qui`3_Y**<$?>%x3D$s*6RH27& z?y&(Ok|f1ec0VQ;&%d9igX#Zq5J{3EWzQZx$aw#*UIFv4jci-V`R*Uwd@QayGx~MI2vG$1VHgEBUiqQZ$$qmz*zs=Q%92@tcyw`y$;@aVJzbOlJ&YMj8!z6tka<| zx}kJ!A6l;|HZG3*2I%r~Ul?mRyI_xWOc>>TPggN7jNpK)VR~?*NG8h`64Gd|fZzEN z#t4pY*z3wxOBUm}_w)(gr18L=;(5@Wy~<;qy~UjA;I7UpI;Mmx$5sz_pZ>l{gt(nF qp8@z_XnLCnamoDsvC-)%cJ^IWb2FY*XH;J%rr3pI`ya6Ww~YnFd*2xV diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp index c3f9a6838627d00b8df6f9085ab2fe754b5d97a8..9c1fa9a27d84e0a50a0be7d6a084314d7f4a8cd2 100644 GIT binary patch literal 3002 zcmV;r3q|x&Nk&Gp3jhFDMM6+kP&iDc3jhEwN5Byf6$gU0Z4>i{z3rzE5$PYQ(1yxt z(3lE2a4GWovueYOykR{59z65cq~U=6{y zfS{Z$Oc~qBbg|Q=%#qIOvH^Q)NP++mP-ZvVwp~}-wr$&X?}i{rvS};#zoUz1+cv*# z-u^Rk8%dF~OecH;UHShM$<05JF%mN~Gcz;mm=>qo^bUIUTbSvYdx5_>W1MxbnOV%r zj4yy~W~MfYrO3=Qu04-T8N;4&1+jUO%gl_UDl=3;vTfV6v#YUf+qP}n=C^U*%f0uU z7o(Ogq?3UhNs=NdMPE5i1*X}|#_8#0JZ5HQzWYe9ZQHb?@omMnZQHhO+qTmM+jdfR zbs@HG-G3OkZKNojS-hp=yC#=^%ScQIG4K@x$+KcNAzkV5)!3Gstyp)UxD8`2kZws&1y2zl?0$Ar4Jj44H=EGx=frA&}w zd-n^WsW05^g^=IPKs2DxwlVPLq$zWhOA%T$qik0Qx!1m-`RPRY9T5M_i%P70a^-YfcKPig%$~zX?fL^Q(2)3Zzu1QRa^P?F(UmzW7a0;*RoE zSJz=CQZ2`IGOE;wLc)3>!Z@MHoF+s+E?i-lTtT!T5H*3gg3%SGLxdY>QqcxH5%0oe zCQ_qNTNid?O_6%>*qj!c`1=*NFvz@LhTLcin%d32X>#xy9wE&!_m=uMNd6hey(vW8 zZA3Y!C3?)H{0grCFXjog5irw6AS&y7;wQBgx_i^ME-3TL z9Ud?(jI(tt(2C9nrP>(d)c=96-i1;?If!@;Ou|G^0kJQNEM%6<@m0NOMwNMk9U}Uc%$xe=xR?4?a0_KY>b>EKvI1N*43BBv}3WE zAe4b3*leGLL^aV~=?^(IGO|)ZX{K1OM2TzTPLp~NG982i+}pqxPL4M%0D!f^Piss& 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 QSj7W-o&C4o%B_Ke0cqZTg8%>k diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/android/app/src/main/res/mipmap-mdpi/ic_launcher.webp index 936f08043347f0f07f81e6c8115e795105b53d3a..03e7dcdd6ba9d8a2ed44c7a6cba647934d4d13dd 100644 GIT binary patch literal 938 zcmV;b16BM|Nk&GZ0{{S5MM6+kP&iDL0{{RoFTe{Bp9Z0}ZPm)!=eyygAS(rF;dbxY z8w&v;l5AJi?m0J+K?f%AFXD@cFWqz2VIxV7(zAF^{^>ym?_lq4$5n0HsxqJb;qEjb z3UTN`97{m}1`XWh-gN)~B!Co901`k7$NVJEGtibV~JB5DRvRhC0UKoPBKsETS>R8bL#Q31o_S8I*$kvo-nk}MPpPX+n^x_zEY$MQWq{19(H#5<4x!u|d6cTY!uD+>$X z*Xw6LfkU$c!>ciuA(=fw|Yg@oG4zP*QeMej<0U`0A3P`h!l~?{UH;2A} zmyar|NV823Uj_P@$baeUOV_TVRvRzBS>i823Jh8P=a(_R8{HUVFAE9up`03mg0*7< MF=h8h?KU=*0OR()=l}o! literal 656 zcmV;B0&o3NNk&G90ssJ4MM6+kP&iC`0ssInFTe{B2jsT4-L`oEDQCM%`;Xzyt$R{PQ>4qHHwrZunyZfKI zq(KBs$%p{Rg<#y>9qzjU08&62$N?!J4P=0h^cfI=cz=C@G-*HrJWB$&0c3%+^fM5p z6QCo228IwolU6B$7wJEPE~efv4x}Rz47Er4Nt&fvl@e`IDKTa>MOu_P|D=u&N6P3JwdjEeqGS#9*a{Xva zI`#UGSCvW|pxw4zNJ_iA)E?VLk8RtwZS%heGs*DddlCJg0P<7%ywX8T1EQb?0vdtA z;UUQ|NI>IgWTbzB*wzX?i^C^Q3+ts>l_uEuzRJ%SW!`jGz^gY@wcaPGS^jj;>MN&?OssLZ?$BEc;tW qVNNbe1uSTPw{t*qdR}htB;%{csS&<*?{Z6rdyNRkx~0e9rvw07zc#-B diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp b/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp index 32a5d4b3d825950ef933b5ac4d25ffcc46390275..f0c4b2fb4ff487a202944f5fa02d8adc540cdc32 100644 GIT binary patch literal 596 zcmV-a0;~N}Nk&FY0ssJ4MM6+kP&iCL0ssInYrq;1g=E{dP1_moz1VhARLRK)*tSu# zZQJ<(t9DC4$+qnk+upTv_ueP1&6Hn+6hHt7z_Fuk+qSBIw(Vr2Eirn_UNn-~oNVJJ zfPnni5=kek*v=YyiT*E;%t5{)$#)KssgD8Pp^&!bSZkh+iU6OPtd2?i!(hfqzBED( z{6bZ-u-EUJ2tCjxy%8kk`OdVVuNf#=I1A1h^oK#pvs%n{N9c za00Mi7^#S-Oc*K1Ra8+$6%&{TlnP@d`Z31*;rJ&5TZC~Fdl+MW2{;ct(M3A{D|y5i z^HacIwSjV3tiWK#81qAbGXvNni;LJT@mDVx5#Sz%fBw!2u~f z1Rm%ikav0R@q7{SR|)(gR1Pty&ZOkj2Xf?4iDrCX#dHL^Nk&Fg0RRA3MM6+kP&iCS0RR9mYrq;17s58Sttj_Cz@-TyTeAPe*a}$M zVA@EMqndq7E&KdKe0IM~8%c6hvu~k=pMQ#v?$=Qy+fLQwoLM0N6yRS42Cxu*SP=k% zm+*Vv^xpS{MMs+b%eHh=hU0{k^(v|JU^y-7oP7OyO{6>3Nzgb)H@A_+o7 zDij8Up;oC?O2zm__K(rb{|{p9(HE1Pu4t$G!m+F3_|7rb^Ld`ighBN4pdj?)P^uV` zaJaT@+iYsvj8nHsZT|mnov7!rxF{m}KLNhCYr_evVeFQzZV%>^A(zo_R&|P8wquF% zhgXxCVKIc=xGq?2n#fIs^VQ;@fLuhl5R1d&LzY#oVR2m!BA3vPC-@*mk<0aoRb~FL uW6|F1EviXF+I?aECo!3S;jL)i9gCML77HVPs#<|biU;zf0+Td*%M<`dsj46V diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp index 2ee59a056d1bb6d5c4f8b7e0672432397213a300..3a011fb04049eb94ce940734000352c62611af8b 100644 GIT binary patch literal 1896 zcmV-u2bcI#Nk&Fs2LJ$9MM6+kP&iCe2LJ#sFTe{B6$e4K&E~KDogpG7fYjwh(vh}J zksSTDEQMSKo0*xJhOsF#rBmqYGgFmWeS=SY0PKorIDnX;#}#{8-u)v)S13znSULQ`Ex|kosa|A4E!KMmTvJ%ge_i)gf2H*#}Z=l^iMD<{khpX7P@r9 ztXrAiWWI?^S1fuJxuYD_%JEiw*z@;~Km7Olj%V35e4wPXNS5TPV)3p>kQC^=_u<`^ zZ_fmLXG8%asg@^bN{?Amm=vKJLuNkvWdt{JKmdqu?<`d(9!m;UuKItUby^QYsGV#B z0w;MBSteBo-xn0Z4*cgn|1MNzKw!>_?DjYg*^yz)EJVFPpx-5+$SFm_{W3eYe4jJU zPZNOGrU;P291QK8nkK0|!HO@*%v3Hd7tKk;o1R^d<}trDaHp3MLlRYUgKu9*&`vnk zXO)plp)qGyNOSs3CJ@(n$t#Fz;7yip z$20Ig&xI4THgXYMOD$}LA!th0-|yh3E^kg!%nc|W5-ck8-9-P?!SCNo_))d&dcf(b zT%`Pv>>0LTx4xko2@71~1tdl<90k8&Z|xJE&qW|;EH^VdM16(M(G5&W6HzWlKF$Epw5lydfKdHRnI{wGH1vDIsm` zeZyU)#{_Y0eUmm_KjFAZ>faCJQsKZWpfX#xk>0t8-d#z z>4*RlP;**mrJYxsIF#+Z3*|ic5ftBKuv=dvcXD+Vz9n=(hIvMddCPH31Y}rW% z7@tynj76dE_76hBrrV|ab30eZViOLw?wNyzGIBtYi=fBOl?qSA@29){dNel>h`#lO`M(uw2@f3B@xI?m;sO zXQGJwXuub0uGUWoV8D&rnt8;4+Qfw`7@TaP7!K}7Q}}mMmv2oHKz4ls@HM$k5r?4; z!MgWsV7IXfM$?5|=%05v6Bw*`8ddiC0Tv!FY-ONVzOO+z1D1@e8Q7=L0M*e;;G361 zG@mr_ZN}!#1#`VRDFOkkwszXmzDGB>W1$n$4;sdM>CT6r(Eq5RP~Rnhi>PyA?OU%{ zia^(`&9^}`5{4k1(v>k}^c`NZA!wLVV!0)^v&z`*iUR|Nzx9$GuhPYVjhPPcMnW1T z5Y^KHt#Aene?WUDfhG>L)Uvw&z>gt904@QvRk2}J<+8onknRF=q~b>eA~D3F#m&Hx zPp}c*%q_hg*FSZwaf|?YYdv3dOxp{INEiVVJ%zqfjlGDuzSO)TKo>Qqj%W?52WRbV z!&2|zSCL>Fsw=dBCl->(fvAX5X!(mn$KN2~MX(@5NIqfW@8qp>^g;1fCIi+)0B^;^ zur+tHU?HbAe(_JJ?hQ_~@n!MN3@Vmg+l3}HV@ioy)Bi(6 z(Z6*;155rSx9V*)d*W%N`;JrzFxrsr%;oYzgs@|;gNP731A1M&#OhzoshfDI{^T%1F8i8 literal 1546 zcmV+l2KD(;Nk&Ej1^@t8MM6+kP&iEX1pojqFTe{B6^DVeZBqZT_j`zl3Gf!GU}{df z^8cH*r1cW5XRz@Oop#voU^8OeW81bP+vYX*-mTc1Pw>lTGOs$}n2l9+!$vsRV>F}j z%Eq?h>HpaF3Qsl+S3b4JJkeBZhr@kOS2=RqMw0aZug+{Lw;;5L#ZNh$w*L&S=c z*y`R7h=6Qc+wo?_wr!7Uw=>(et(naWu-#j*k))VMtww|+hcqs!QjSOOUQ8QQ^L3kJ^^GtHi<4%6IN`tOX(Cf$Lm`I|5j}alfD|4mU{HsTHJUY< z3K{7iC&xVGM20ax4JcO%7^L-<{u4KnfAVlHr`e{X9#Ae6V9glO6h`D}6cUxs7z31} z7_f9%^9*^O;Z$l?7$Be=2*4Oeb%v9VJVOPO@vkB5B+MCgnsaivglKqOpcAm#MAVG9 zrBJzo97iLh%~X_ic+aK`Ib0^B`F;p?HQ}}bnWw$NG-`n|x-|JeaP`O3F~mT5G*d`U z=Mf0*S9w8z>Rq3E=(Iv1<+N4?NW`N_lqO}GM~>zJbSApA%zy(kt04izC;(!4w9#Dh zkLK!}#J)065d#thHb-*`0$o~~fW2)IBm_`m)+r1|NQb3c4?!p#eul=-H{!wIgA^3# z+vYbWsHw=+A{|jM$Wr*R-6oZos*oQi$xtXL8AHK-agG5(;p@V9Xm`+9SLo2Xng-B0 zIy9azKm*&o9&)idY!(qP?pOSxz%L7sva2P=Ugz|Y>gxOcFn}GpM5W2K%`5=!aVIN^ z-k~~-Ir~l*j^25**lszn%{i)aeYBZ{)lp6mA?h&Ejr` z2-b*Tvv%xSVt|oTzuuv%nxe=nd*8DBzGz*A-jyJATMG`oLy{=66fQ}?diOScJyl_` z-`A~7Ux<5U?pw;&Lr~MDB?)vJChhNI3lT|V7%0ir*Iv)h7ux|^fC2fiW`~UQ&nxq< z^%YfA@6e|kwBI)n((cVZ0~!S6Uz?s)Gb@UMU?@CD;o=0W{G6u0BoL!U);>Rd3G!V`O3S8j!wR5O8BO`H^V7(Wcs~A*YLYzvv3>N1Z+jSyE1l5&wtlb z!iA>7PNIe36#e_I$$9I$vnuZV3GT(3fMvj7U|42%_r8feMM=U9g=~3}Q0nZZclR(b zK69Lar+1BIz^?*s1Mh9#zTH2UW>aJ5E$?n z=vtl=wb--UHt$;7H8CI1Iu1{+j_kbu>Bj>b$F7~`m#+GZfxhyiyLtl>KE^W5fLi(P w1vU73G>4ED|9|M@d!M@C-OA}{8N+9h-Jdu1xb#O1NDL^io$^uoxT#qI*VCr~Bme*a diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp index 635adb5a294434fb7a2a313502de52f2b585a326..baf699938ef481e457b4e17eee556ddeeade35b7 100644 GIT binary patch literal 1768 zcmV)PEtR_XKhuYDeh(uLpEdoM(kF%)r4GwV9j=u+JSlZ}{L-aw`O^F3i08S7$vs?- zp-zcmPpJbX26Bub?5BjV7n>Fv2%&ozczA4<(&QNT`^k0uQmSu1atyx!PWrrGOkO$& zyw}R)9u{(lv-im%e#{ukAF6T;!G+p4K6Kq4WuK4x4ZYd85Czyd2Muh*5gi^AjKpqsR(-0*6ry) zwB=ARmR6s=(fE5P#v^}e~bB*&y1whX4RmGPaFf?QV=#8CmF0O}u0ro%yY#OSJ2xw zSel%fFvyzXKpcq?C*d5Zr}e2g&5Z3yu*i1tG-6&^2xX%rku<6OzYFEw60Y z4?>84wfvY5zXrc;fu!l#32cGmAcUBpB_#w{@5mxKL~z8FMa7pL!X+Vu5JR=-8v_f@ zKNXvoz%l$!3-(8X^Py>!73P)~VILddXmjHatcBzR=RwmoXb)_5b_|Tk6*g`e@UTdD zE;Q+@VnC^td*X`(ipO(~UNK`wBr;0d(XhbQe{VPxJzw@1nzENp1dHoX0e^RSI0Qw5 z<8%0oV4=?dthsLm5bF2ADbKlw{l}ouu3b0fSw26K+xlPkEQilR))$b zn$N1i*qC*GGy*}}o4*k>z^PC@7c_czV6zKj5Hvb5gT26RW?=38%OI$^X9X%yI}cP# z0V{6a0zsv%n{Y0uoe!!tfu+~%fuQ21O*ku#glfhp+LeH#AsCPOQ3a~iP!qI8fiFTZ z8BMT2br`i7SYp`$2r6vaf+5%ls@q~$(9QxZxpE%_{c%1B)k~q%t_K_q%;jKEYQ-K1 zYVBKwFO5;Hfppp|th{vt1ifE(m`(Cx{-1!$>XT}$4 zONoIL<1ZBd^$U65+|MF#LZ&JQ>pA)(~T{f@}b)nloOvXt=c=V`eLe=h&@q^utUU$#$+&pqfNBv!gKiJ~I} zm6lHu2>I1^t&a!4Yn{fVC2!vcpb~?atfcqL_F0v!8`J-mTe6Ty2R=4x%3+!g@0{4O>cYc_fnBrr$dAa+xT_nB+f9M z5S@GII4_ydWbb+IFS+7yxWc-fiL&bt#$9~O6ZW3xfyv3EA5CY$31Ng7>*!6kU*CNx zp^{KbsB`(}Uwts;uYsIxIw6t}Z|}WIw~pN81dQC~1`OTix%eAnJ@=1E=giaHlg7CG KBzHPbS_%OApI>GG literal 1082 zcmV-A1jYMONk&F81ONb6MM6+kP&iB_1ONapU%(d-CkHo@Bu7s5%-(}DiFyG4ErA9b zAaS-k(;!a3Z6wK&l+}G){qyAgcZkVLuM=)0*{+q@bH5hmM`uC)A&>|bSWo?X2Wqx$ z%a-%`KHS}jUjhbT0V*R98HN!^GzNf3B5HEiUf*+<0OQYNWGV^!e z-?iBefuS6BqpCitQb{Vw?Dij3sibcIVcbrxAR-X~gaQF27SX`UYIGyCON=TXgsKRT z$Zkl8h;FhPC8D4df{Sx?eBax;5r~RRi3)+O8v!MhIK1tRDoR9R|GE>2`@Z^GCPuHX zwYAs#^xot2`}qGGJ;{RQuWbqIls^6Z`kJ+ezrV?qwDhqRd0V#>(zb0c#wKrV+qN;= zwrzG^G27_ecD8NXTRmI9<$1H_`84K9BKki8>=$bq+ThDUdK&AiNb($LuG1S}H#Tg+gdri|4wm^7P7<}4GWraJwn8Xl z(bdb)+XL`vbLZ}J;Im^3@#%2mVKuPo{QN&K)N0%W*f1TTwqH)223}l}fzPr7j~)Z> zUhjd=;^S4-z$aIF|9;p0=DkW_#kmFJPn1>yOVzlghs!I0_pkM;d9`00I0`+L)AQD$ zqd>YPN1Z&Pfd^mJt9i2Zv^-$$==A7*)AN8zMyHO<%>zzt7cGFuzk;;nG6j|9vw7sl zVbXD)IWPSqD}7-Fc4{<7n9I)9zb8y?ZaX z{-{V@>L#T!cd zYNXhI0Hn8v;<+tpO>0@kJPN>hdBdloS4>{PQJ&Urwp?zuZZA8meg=5nM#xsu~9Fdx7_^#dn~d%yzjG*hnpOO^n5FH77k2Ilji z7Go0RKCn2zA@SnaWV)ouT@A1+WC9OhZm*lvE>Vw#fgj>WOlJSXrdmvDl_-KJAo@@3TMcr zd>P=TAYxMa0}J|E(S#&3tO|sRMoed5N15U=Npi;nOpTa*z|E!@mF9hbdxCgL>DH1LtY1T?J17tc;VB zz$@y~XMW&?Xp|)O8&=S)u{IUtwgku*C3S#3WNLFdK({EF3|yu@F958Jk|V(D>eFul z;He-+;`$EDX;PouWV*r}QMCh>wZD70UIf=w*QA@i8B`L%CiReG0HEK9&OaD%Yo?9|4ZV z$7m zj!^AB02kw94e*Fe=?S@Nn*q)SZH7NAv;1M1?T<=}Tn(Iyk6FNK)>nFC6|WDlH9i_K whZ-Cou^gK-+?6;!A`+V6p8xA6^uz+GMPe+8Q6+qSB#=l&iZfes96kc*h`<$iSsK=LE~ zqW|kx-|z2p{2GSqKR^(K0Kr1AhzM{H9{55Kz6kijz`)=S2O|Yup|UEQARDH>sc^wI zD`ke1@W`1KwWoLfrbkvL`LmLuG~*wV?6^=Ok-zGcqWs$*tFrxm8sp&KMR{+Xohnn0 z+y7t^LixVz$DX1JLRTb=hlM~2T}WX)Z+xB)^J%3DRY>7=*?C=ds?bw7AlkOADxo{< z?!pez?pAEEmH+<@Yg;s2-@Wg>9nt>@un7MP{|o^8R!K$lG`=$G7ENcEVpaq6|PhG zuY_aJ!`nyfIm1@jLFc^={g*T>vYE#ZI`q!viTr&Veh+?B%0qskDdiBqaN+Nh2SHft yj+C};FG`b!MLK3-{$XnlAh#1KY|OB{jxL!{BPw63_2m?Fe#;{KFZ?h3Us)SGNdlb! diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp index 5ddee6f61d683d3fedeb177fe17a8bdefc95a781..caf112bdca9a2536d63b5215a108795c628a32f0 100644 GIT binary patch literal 4246 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 literal 3276 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 KBN5AD3=|8Fl|lCa diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp index 65379c15970a6d9eda447b381f005a6e1e2351b2..b29f1ee5eaed3d414a45dbbf9e7a9142101f8957 100644 GIT binary patch literal 2600 zcmV+@3fJ{gNk&E>3IG6CMM6+kP&iB!3IG5vkH8}k6^DVeZ8HDP{|bl*g>Bm)#la_f z+#4Hzry)dgwf$4&>>2ivy8 zwv+9BY}>YN+qP}1ij&T^ZQHhO+iBO{Gqcu}Z})L`y09}UPwb~Ws$#3NQ`)wz2|JsW zZQDt842fX?5MYzqwr$(CZOy1{<8KI(B%8K!|10{>wrzgf|39DpPXOyqE&OBn`z({~ zpUW)!na|bexxde{WHJ;pwa?W=%NXuLn zvt@{$U*`7Yd#uwKce3X+v;c;$I17BuGE|9)@br1GzKku2p)~w`mI=Ttsh;tBxU5l$ zVt*6y0$6P4TxJT-MZNK6l%)E~KjHEz*6B9*XG#GsOBJSwvL)v68CBC6l{6 z1OoM^S~VfxgRikKV9D=rlCD^TjY^H?u8&?(d#2rzUu{2Yr2t@UyP2(ehL6jmU(_7! zv|XjJ5y0MJxloHy^}cS$%yM&88;$0R#X5|t_4YcussJ1~Dcyqb6@$}V5X+M|>Hk(U z?w502WQ)E>T?%e5ep+wjsMs=~SjGY4ga>+&Z|uWP4iQJUaXatXA7R@z$+ud0@6s*+ z&o>VZC#n=lIa0{`1Au_7gM#Pu?^qM#0uKr4vYizCmp)quUH}Jt5SZWu!56LotOA3t z{I^X1OC`RpBrE-w^&8;iDhPWygDpq%GfxA8l?Fg_+rqwZP1@N4G7l0X^v z%b&5~%$O{Jx>F;;cd5VE1xo*?Y7=rH5VK;k80w6;U?n8qZV8m}U)e77j6b$Cc~*m{ z@Lj6ChCtcR@~g1NgqSo{w`n-kY>QPljy1 z;jH4AoO!CMF0g?BWlzPvq6i(5WTUeq-YLpXJMC103RFbxyAWq;cnC)CyG!^-d&kH_ z)}w+*d2TZIn89_-KF3*3q%=S3HbEEKX64&&zs<&F`BCc=c1*n9mFUSZty{>9uIu`o z+-|6?##scadMy4KK`7r{%2VnO4)lx@%b;ou+Tu2Dm*YH#&|cO-f&Hh(L|6A=M7TP^ zQXipE&DW3z-N~g;Wi;R{{<%Y({P#(ZDZl*R8&18c?r%@vHtxTXI2~+5&ID#MoLT~P zZ*GZoU`V*q6DM5926CV~y*TQO+CY%%`zM7t=sEQpJ9@;KO*9ylwz!SoT_;SZgCw63 zfN^nVQ8ZYP@UU_6ot7{)`&#@-DrU!-XEiWN0b$!W!W7Tk16%3NE{qmKVhbLU|B8J^ zM9F=faR@)+m60&Z%)EgF~-i}@~i zgSRZ;y|eI?^3zU;0#C^Yu&1S>1<~jyA7C96@?2+x$a+}#lhvoe0^Upjr25_vBGF10 zk~1?Fu+|9>V{9r!#NH*8WOfua)yU`?2+?rUT!fQuhAz?7VOYR-;alOCmI?)|3FKNSe#AyEYDS1gxpsdyRZ|RPLHx@wYvQ^cFcNI5Fy)f z;X8b>rLzCD`tUGF^Rq6(nh=s%P_`Iat(6o=y4ew-Aw)vOL7Jrp5-#^dNcF7&QMq2( z5@@x1CLqCLUxa3`VO{E@xKrNO_}Fm3HzK6iX=2Io<_0c~c(Vf$QtmdvJ#qL{aY7QK zaU#3}@#h92JOo=_uPdFCWid2ffy}@TBF)8zE{(Zy2}EHAW=84kw7Fg5Z89Q7mV=^o z;D!H#@NS?(@PNiAw&l-eA{2N`ddvRAa@{BX<-JXd@MOmS<)3Ki(Y5_|xr(rFVX zK!Uf=@y4oDB`%Vw^c6$Lz2rGS;?|uMDpr)-8q3q^zgy|=Tv`N35h`2Ze+#Cs+{akHt?j>B~bA92Xa`g9z@Pgz;MVz4=l z(O{^4G{7L?p7k-G0s}B98ojt@0YF9V-qxz+LHyhKE`U$KA(mq}%K1J($DPzq^^We= zqr)0yC!;6;tRDeVbz@$o097Ut_qK*3)#G-XnH$Ta_`m%{IOuc}kd8M&A@hzm0qJlV z3R)h=|J!b6Z|aRSPD~>1?P1w>K3)|x*v^>%u>cvyF_$ucN*$=xfqJv}XTN#Tdc>k~ zIbl(@oRIm+Ws5eW4|JemH$dg6AGtGkGO7Z=tmFcuLl}j|QI|^HkXJQ8wGPxG`0qcP zu^?9o5p7-OyK=Zq%z%_Wwc{#mg@oh*3fWqb))JYyhqp4M6f8 zfV8*;vK|+ACt3p#vt~z#VDyCuxjGZTxdy;J_M@zi9lPe-%&Q?nFtrq7=gtrWckUE| Ksj)zib*mI;Y#1#7 literal 1456 zcmV;h1yA}?Nk&Gf1pok7MM6+kP&iDR1pojqkH8}k)rOjYX&B;PIMDGLpbQMK z`C6CCwYEKtoWBV(Gv^LcZI=sRDw#@VhKiZF->t&T%uFS7#&U82Zbx(cry?zb*Bf>Q zojF;a1ucW;jMj16HiE?dtGoj4Id*1tb^!>DBsr3TKgtK-zp7`}N^opjJNB&Kwr$%s zh7h|-WsSh8lDTB1{QI!9o&NXxe%~_zaJ6kah|q%*xCHL!={1bGNZ=t4jaPK;)1?=_GFUu;792W~XK!AN%za=@jl@kzxB!Hn1UTOW7S%6xA+44Ur1WA$9 zA}JxHghVjb=@e1|kCGV{pyXozg&-@#R5YcPp?KNC?ff^Hi;Bjsz#z$;oPZ}4Q9box z`#2sB(`dK=%Iju91XEF!6ZE)+v(qK+rJ+CtXtwlBIB_8Z(Fb?YUNi1*skh+^?r0Hf_#Brv87t&x`+lLcLWUH)0JMFd*aW zIcq-5nGK+(W|SgUBergR+7}P|rGp+c#%-j0je#oAX)&(UVYvjyl)70=89><@2N(mw zkqMMrTao~HI^ZFKLo~fk#e~$Z&f42Z%QQ>FHDi0vcnw3mk zPw&8~tI2^WiqJE{tVzkl^-S9gTT(K9J%c?ke;*@KiRT&(>sIFj4*%;lYMOuzDVeaI z!BUr#gE^5WBJoKj24r}a>%=x_S58G$x-QvxFxhCM9%XOpc z`5A0_IZ=RIxcDKGZgWFa3eYRw&&f^yTaG-tJiGp+vKBAN(fwH3(s|a!p>>8 zx#g+g`@Vyq++;cB- zAbbh{r7J8z(iX?vS#OC_2O(kv-?XrQukTiP07*yKoC3h;h8!>~-D~k~3x?D|1{Ow8 zoSuOhXRo?_xikPez;A;daIW9S&XpN>*#b#$s+176ghVhlHT881r)FT`-bc}`F#!A! z1!e;5$mZAp-<)T!9^C8uRtql@APEQzV{W&w^Bg~u@43ajk(S9Q0+ifxK-~m45NJ+j z$vKZB&UtfW=KsP>@7gSUbq1;Y)miw`Oz&vtKVly@3(s-VoNS68P?rM?PJ@{M3lIak zR(Jq^HNw@1c6py_&+i=>_`MVTzIQ_9D|&qIXa}m*i2Vcn{$NRx$*6LG2Cz#2Z4K-# z@Yf*-1gjB7F!bYBRC0->b2^Oc79a!^fF7{az*QGdBmAmgR0HSV9RD9n=ZrSj0Vcrx z1IPenKA`a>tGdsZ|1A;_IXyaO^f}i7MiRhr0=)QgRgaH%W+&z9oHK{y+%$CrO_Oux Kz#KvLsZs#_gT*BP diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp index 8cd64ee12d161275fbc05d638e7fb51b53b6234d..3fbeec0bbae399859cc960281665cbad64739e6a 100644 GIT binary patch literal 1804 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 literal 5036 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 QHUX7VA{=mqfV@o?0TLzB5C8xG diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp index 7c56c5023541dc95b2235664e808e2d6444a68f9..c318c1c94aafa6cace0d4f47043229d89ec8cf58 100644 GIT binary patch literal 2408 zcmV-u377U#Nk&Fs2><|BMM6+kP&iCe2><{uufb~&rKky*h9Uly108QfOn|-*7IxtT zzw}1iwrSh8t)+pfG3K&u+qP}nwrzW@ZQHi(y{GLt+p^73f9BHAcO4<*#TG#Uwrx|A zls~g=+qP}nwr$(CZQCB(wr#VOS`z>_l5EuuMWkq$T#A61OnG0yC>B*+c+C9&d!BfX zb-jrGPXM9T|E>R9|F`~c{one(^?&RC*8i>lTmQHIZ~gy~Hwlx5JXD|_4QW7C3Xz`3 zyC8%q$0!c*CVxV6mybEmEb5Z_-3-bwk<0vs>fGfi7E_PNyAtGL3hxj{-6Z*r^^|?r zfud~XZ!}AkE7T=;H-W6I;~z9nlna!3*MNY|e2LEFU*?kf-2pPNmpD3>XDI$|0F`(T zRlCe@LkBv|#V&KHvm9OxZ@CaF*M+&x)M9Ds9nPxyz^E2+Uv@+m%vipuOn@A$= zafqpsCZBbsekH)OWVRjCNg`g(54N!bAeoMcI7;PO#3LZtc`Wl-Nk^IFX0`MdG495(FE3;VX1ta;d1qI+b5xY@= z|AXcGSSi&*lHchQkYu>qi0}x)gHS1@8cOnc-4ytVJZ7USiD2zReJ(Kr&J=*HULz%M zLic%BUuKx(Me7Lok78D%Bgxg$-3{9Z2wHd>8GpjS4{HvuR)PQV{zG8)Br7(Alz zttHLSPl3TkV>a{}W{UI(N=_H>h|zdHxI>}DoHRiX#eFi{j4VXe0wyb=I?{lhDbUeo zw1YlUp=?7+J||#<%~%zDO{o&~v|fsr2~0-7vudb$N@b{IYl;VCFd1pNr?&94QVHt{ z3N$kr)uGS!m{K9@y8>pIj3L1z3Z;G4WZe|UOvcLKhsqh&tA**A8>>R=Fu1CE{7;37wI0QzfGWm9wZlC=%o}86kEkd`me^dPP6Q`-ELa@8Bfm)Cl?kX!a6v zIr)jJCCyN74mwmof145FeT7deH*g9gC}QOE8Eb;ooTT*O33fNoyh_ODR41p|m$)$Lpf_pNux60C6?UDCI2Y9h*|1zs;Bey|a1BnGuuRE#R8V2zW7g zNTIw2&DBG3pKKOQ+#;|TVO|P8tx^wq+%SrJ z{y9Y&a!g3qZ|lb+B=@jtl@MscEQAyZVV zNXecQ7;G@6Kp&(~y+nOZz%_pn@NDooH591FjHLL79QL9R_tiossUb%tyHlXIy%-I> zze0@}>r(>G+Kb!4C)JU%<{Clq8yU?-PX1N%8>fzhHDCt{v^N)hpm$fOGiD|C3)p8a z&II?VC4x;igyMTrS&MZ1rbhUmT0+>{Hls*T&swx3skSyxEdeaKi2|#v#dhc$6l(Qp zqXm56ECRk%-TtZ`kM@?;DB_eb7L`b-b<9zZ9bw7&6qsZzW9{}Vk>$>AEr>V=6y-PUR!ZA_>|ffxF-yu_>z>SA{F1O zVJ50e@sh15P|;LWgWg6VAGZjYVJhYa*QjsK`Ok@9^3bBx4<;1QWBbW>b15+_xczsOXw0>!tav=I?LQj3@?SBFxdppD2* zTwR%h(SE%r+6jgS%yHie8EnCSr@~@*~ala$dCv z#XAHZ;t@5%Xc$$L{9!!+bZPjRtj{m5LKa1&;fHn z-xV;!Li7o)m$gy4DE3>3xxp88z(UXyMp8UxAr7c6zm>H&Elcq^VF&S;>NiGnT2itF z#h+w05CNa4CCtG@5qtI)g=buk6%8i;({Q#;Gt-2%E9h>9fDQ98hi z`kH`A2BInSc{2A~0m}_UkKlS8;7yW83D{*I#s>H60AJK>-4y2y#N6NuIv^1Bls<~b z48+Rd+d3c=^}K~BUNR6{f}iMsNYu-gpm^6n><)gd17cCHS%%^h1933;gAPbUy?%()b< zfNjBPuF&}PgXo(rMDf0X=obu@954{Yi4HCdHV`TJY)~OaDFYE=Ac?_*1B4w!n8Skz z?~|F3g-OF2;)4Y@$xFz^G-faF5z8J)zUC~02@^6h5pvOrj(Mj8#Ysu1^?&RC*8i>l aTmQHIZ~fo;zx99X|JMJl|6Bim7%%|!M1=eR literal 824 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 literal 7024 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 ON-T_6;OCLDM*{#6#_Ie4 diff --git a/android/app/src/main/res/values/ic_launcher_background.xml b/android/app/src/main/res/values/ic_launcher_background.xml index 2971c37..fd4cd85 100644 --- a/android/app/src/main/res/values/ic_launcher_background.xml +++ b/android/app/src/main/res/values/ic_launcher_background.xml @@ -1,5 +1,4 @@ - - @color/app_icon_background + #EF681F \ No newline at end of file diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png new file mode 100644 index 0000000000000000000000000000000000000000..94edbb68651a967f5c5f51ac239988d9ad3f2c4c GIT binary patch literal 56859 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

|<&P51ZM z+w0$ZN&FF)hAp$|-(wx82A!sYrgG?j`tdc%qR9uA`AO9G+gw_g-`*~UH$i6_)DSo2 z^wQGyiH);1_z$xFcE-OFjRJXc(h-@dK_LNp6*<~vWNlq4w)z~qOXm4gXL9!+5 zhX?4q^}+IxJ2MuR-KiB3$`WaF)q8%@*%tH*l*wqoEU)75rw(X%AvG`KDu+_w1Q)Ey zA^A^Q@4yKYManpbekvAr_F1=gEGsw=w(6J+X zbxjzO$)PIQqmnUP?)itU?_(mho)Qni!!Cb+P>}-ysX%>MU8`pn2f#14~Q3a1W`n^L3 zmjBr{i(7L!fKZSK9-=dybb%;yN~ZQ;v*&z}^{kbrU`N^Zd?na5;|9xtcv@}_{oy}KAAG5UhDWzfhfaN9Za z1HHt8>n=x@Ogilb=!_5}PR=95M_0OQ?D&vT;dt<#18jG!DpgQ{jhw6PRwr2VOwNB( zN6e~)p{~+}+Y^7b<0|MT)!+Y^T4Saq4?{Z#F5uwTej_cR==Xaij@_nZ=Uf9oRYDUo zQ)O{)IM&MTwl%(4zXTEXOH21lx--=cy%&9&Sk|Pso;k;`3i!4B=nPG6S0Z(j}`jshXiX2-rvDaW93e(c=0pO$XF}21TxS zkuBIl4NWR0j>2ApCS-pzm+({-4%D@rHW7dg zyFN^rwr&gP$$9*;Z|&o26~`W^m;Z}PGIQg|xAbPHu7~Vcy(|RbnRhx^Uu_I#R=Abx%Rcv_-G}8|HttSL^qSr zgSnPbiWkD5G<+0ZzwGXJ`;>uN}K%uXAi-Z%yUPOk;238M0wWjZ;6((h{Z3zZpdjDPQa6{1YzrLOJ1Y7?Gr z^q}C$Pmk9~z~u$TN2N2g8kEl-(>S%C7si{}yi$!lBWgaan5XpH`BLhj9Qq#9OKBb1 zF|rI$jE{0k5?%1Z{}ELrt+%Sxc-oTixxsbnrxlk$){R=u-*x{_2i9`I7V4Q3?UI}F zbj=d&t(9G5*}_4Uw!iI?fBUROJ)z$5ja|w(}-=n}JCL=Q?~`U6rEm zkMySsyXwHTqxRgS3wKV|Lk^0xHO+>p_{FSYRh*RBHHkdOvafpI_oE9*Y7&s!!ezS~J{tfVdziau6ssc=z7Iy-Tasm(eUi8LMqeH;$ zfGZgw>Gikj)}lqSfoK}zx}%ru10Jh0qO2ENK1wt3(d&W*^LK0RxG%N^_EY>Oxe}M* z>)!G5m`_*{XifMmj7!i14ALu}LrwI&8WakpC!cfRAei;>C{)${;ik(6yWcH~Wb3QL zogv{kfmV0I_u-8V9?Nrc@uUg!7gplJd>?7N`XD?d3+86g>kqoRHe@T~yK1`7&XDqS zfw4M?+8rpxe`2WVfx$-+LG~Vvb_u1m?FU^KW!PFb#P|k>MS*W)SDGVmB;jWNQ0U-m z9!y}TOCk7opW2nb_&VIkx5u9m{Jj-^)G9`?KzH=JYp=Z#J;NPY6~2VE1c*G0v&^0* zAa+H&=ub3$ghl>0;tb9L)Pqr$&0ee*^IzG4qTpMc8k(pqur)>_6$Arw@gR4)15n(b z+xj~1-q!#>e#!f>OTc3E#pGpB;^W7j-y0YOL~6)$jW zJ!aS=Ru2pO3Psese<g9}Rj# zg6IR1{*av}w4e6bpMIGkOqr7+P4MyO$STFP-Ui-R!nM(ZSi_~Mwmh@C)rIqvliLH1 zYG*F^W_Jk|pz18kFB2ch@pqnE!#ZaEUKWr8=Z(XvSl0E9NWwM@SC=xe$w^tsyy zG1Of_YNy0OGETvIXnf-T?EY1fy={B%D2VOs=7_`K^gD5|i TD6hG96C=@7)l;c?W*7Z`4>Qyy literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png new file mode 100644 index 0000000000000000000000000000000000000000..165a8a82d081ba0a3b2f35d17d86439a55170a1c GIT binary patch literal 4683 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png new file mode 100644 index 0000000000000000000000000000000000000000..b34695226a287fca93daa1876d9bd7f6162916a9 GIT binary patch literal 7262 zcmcgxWm_DNKnW=u}shaMp>Yn$liq_VAi;qKtgM@^Hud1S`gLpRn=fc83+@&Wl1dx#EuvHc1 z^n5IibFn@3^kES%-^Nj~p8CQ2U<nbsJ7 zZX?qXyy`_3qaS?176=~X{pyo|Nf3#u8HAN}@kJFiFgf`P$?859rZo#)lqU_G;k!q1 z(R?V)*S9|zc06Cnj6%ay%6$lee~j+PHI1QuT|s?~yznU>u_gc+l+7P4m56k-qxj8{ zluqbz_}pDv1%|)+;ir=2_-_)Z`x#iT#FwLWB@~NXorEw-hN6Ol)2O1uI53@78T4j- zen$|mHD&SQdkPLzsIe(YqL)}Qej98H9ID-s9YX6L(Crl5?+X!o4~iYj=yyy9PGdi8H_YUu1L!QJ_BhsudJGn#f=)KfGN+&7NV)p=i)Vtm@mtvQnsvd>D_& z4738vs^_a+#)~n3!kinDVSejxM)-ke4DZ)5yAZ$6F>!HZQ+ucHFT5N@D@>;}dpkpQ zi6{?%zVUC(q)hPDQP-lV$Wv@`#I)Z>W||UgS9hjuxhbn*n<*-WAu&1_<5U{F+BOChZLaTM%=*r;xfTA2n1(gYWz>1>P z_3{#ioUX@fWQ%;*8BM$UlcLqXJ@ZWkexD~rK_G8Qmmb5dr3FliXp?g+2#rE2?Uy+J zU_m}u10Z8C_^iawrT!(7fIeoa!NF#>;(b(13`rut^}^iTy%M+qi>Dfc7psy`_K^se zg6HSox$gtFySIEB#LuoqTs8l|nD}0(GeFF!->gcKXLE%#c$T^$I`-7>fW(TuYTW0) zLkX?_&Q=bdwwi6Z$#WGu+a!m|%WL`Ex6MZ2(|#JF_qG~Jpx<(P&Y2Q4{ldobi?7n* zGmKHL1S%3;t0+m&@!iX2_#)tgAj*?K552UXP+s7TF|rpJT#cMV`6pdXd3%2!wApmp zaj7ZwboFb?i|vt_et0BD1rruG)o)xm&GF-U|0q(G29$#3GDP)yuo}?6+?ghmEvH>- znJ4^_g2DF>G4cC@P&-@vv^$2G1Rj${EJ26Kt56dQD+kY*-nXO;0UIC75WBRKxuw!g zQ|jD~^ZBZWSaymBJotEj$?q^pM(3i(S+9m+RbOCTQ5E z{kfUGANc;?fgi$%L8$M#bZL{AgRu-(XA|YS*Xr4BhtN*oqKMM6}f-K@9TLXEC%!l&}pKp9!>_q*9{`*0@9yi5z2$KIrhiVBEt zfllpQEaT~Jzc}$z4?1PkkYd}E|M?TlLr5kw)e+CCv)jgSi3WtRkb#96#Q8(vrPQ~G zDj!(e67}=yWX*K^&vbLvK)%<}BC)EfDi}qGtuRl_joF~eXtVuy#wg3It7TFGae3{R zk#$EYQ&fN;tyZ9Z#L9;3(dDE-F>uOnLU;k|)LC=t+<{)g6R4)9mW?tY+5gotC>n~2 z8FO2TpX8l-5GeV3Db{PSZyuP98S3hX8R}A-&>MPm95YKN$* z*o=X&x2s?an!FgtPRZY&(gMMeU}*ZY@1~($%kfhm3ewjhCaay0(_dP$7J`%zV0h*(D%jzhekOQW;`eH^T zdw*D_b|mV)L!PhlY{s2&f>AkA8!jMnC1bET+Znf!pTpC7mKMF}Uy`r3nEM}OMEv?`^z2PbnRij% z!%d(A%X!H`b|(IQH>>5WA|?S|zTaQYx>q7bWud@JHxzoF&&?4&X5;>{FOQeksJ(3x zZf~5s&wO1d{K^#X{Z5zO!_c#=^|o#M!J}$n0K+9-#yFpJnefzQJvgLl9wGIZKe9lBzu>Jh6=#Swn_R4#M zzKiDv`?zX+M-J8+LBg|>7Cf^>VS~oirtfP7&iFzDY=${szQo$@2=K%Z^BdU`H1C&k zepZj29{MQi<6YP8OxXBtV`4RcD)!lYw>@0+Ef~A=zJ>`f6K=kJHsyA}(QuDqJbD8p z#j4?c40SXwjDs6|je~beC~XRM=4lVl1Jwy92%es3&fs9`KrKaRmj%OVgd24W&>!TF zdYlb-Y{P5rFwEbvn*W?a^xk;aEY@z-noqTc0t(Gs@z%U%-+JYwml!a8$SH zQ!9d@gVqM1ogD6EO;1>N9|LT)++|$NxF%>0A&^)sK9}PKZlCV-_jX>Y9~gcm zgv=SdJ}*3-+DN||k3ar!X2`IY9j1^vT{M()9rhfO|CI32y50%+dpd6&?nCr|LUC4FFtngxV(%r1NP$dAq zyNnM*Z$Y@5_IQZ6;uA7}Md+hs%eURdI-4Mv4MbCbfqr=e0_!sXj#)pidJ|ah5UyJX zxgKMfQq+1Ozg83b>6GxA9Uk@_04-yk?SWP7XO9-W@XVgm(vFA#FIidWiLyKQI?^M1 z)#S(YIh{*)NZQrUZ`O?d{fHn-fVCmqk2qVz?5Fa~T_rmPURH4*kKRnfoTO}M3+$L) zmh-vzPpaiDW7Nw!T3koMut{l-`li1ie!-q%A?d_^dy~0hhgA*zzGqZ_6sJ-5%B&_s z5@7Z8Fl3Xm!*kuRl4?`4cG7HcC;jk&A~6v)?=axm~;%y zEg`&rX=1Op1r(>d%`qZi$XU$g&iUwYXA^R`CgP&rO{x`e?!of*h# z;O&~vZzyKi@s|k)lH!~@Yc+~`66W_dDK~8}q^x=7+G9#BljZnG20xXnFoIR9OGU*f zWAIRqtyswJ`LB~Rg1+A1%(^7%97AQ#9^p=W1m+MV)B(R)%N3*$@)yv~3DaPN=p3-qSoHxDJL5r=VB-VdBA=`JuwgcTAaf5tu zY|CNu<*2^Nr|)>WSy9?P+Z`v!Qi@u->HtuTim+k}87}?V-F>Jcn@ZX1_6=Zn69)gKn~Zh@cX60(+KU1C*_0+%ARi1YRJ?S-IGa8Je9>=jhc_=GKWYCwqkP}yjr-#Pcwi=0;0d)gTe;O;am~VZy*BFu= zvin_u&u)~8nY9(^b8>-tcT-y@{^i|*x!VAFuLlJsrKqI&Ydi9S(&Ltw=YRa(CuZGO z^tZ|P*6tJn;4fXeG$51MI~7a_L*>A4yZf%(!W@gl5&57RMrYMF%^0Fc8~Lp_em`?*B$dwr~Sg(fuM zv5Br;;C;NjvsdhT^b2{)yy#}j*bXZ4LvynvW=VGM&!4F9(yCxF>I}{<3$dF=7nK=E z?RS!P?##d|1P#0cS(k;F>T_ZXX+!l$NZvn@%lj6=H**`_axPk4fsM()SWojDQr^dQx?iG{_rd}WYXXw7^?emF z>7mIoS-{iv&XuXR8xROdUI%b3ps^n40rYtqWbU{Ex8?`ST#gGW(Jt@4X>w9AKr>lR zsMIarLY(oDwfYQ(xl!;vyFu&iJ3KuulZ8T7xKtrWIjTbX-u5ALaZq1JX>xI%v=-}g`9wgB0=>|!i(q`)7s*T^a zIJleo7+FJdjGf>W5j+~9VV^I-RIY}lUWT?-cbsl&A|84Kpml?#n&0u#{V4~Ut2#=mVmrxNp zbDw8xA1pV0uOQ#W0V{vhm;O%@o^AHkxos}G-jhv`eiV5EYvQEH zW}f1AZs6d9oX=r?D>l(r&L&SUH9kZH4~kFQ4&T&$Ta)UUVG+kckf{C*4;M@jPMBvGBQl3?5Z&Mcv&C?2t!ekww;KT6e zXSuNprDFLY19y2gJ#F{S~Vq;R!&`f9N|A#WdZ(-YPDe9&>9(@?S?p}5vx zgDshy3hw3H;zgeXSuS=bvbEX@WVH>@+bTc5bmRSv^2aRa5arXu0g1nQ94jBVJKP%# z(blY}txpgPE2JaRF+k5se!uK$wQnvadD4hh)xo3j7R0TtypQclX+4pr){VRgFI1?r zpP;Ghm(`ojWEQ%bx|%jXHF*Ff(68`Enkm#CQ89iEbl)w+(lm4hv^+vl;FWTyxavRs?q1ff_IRS1=$4Y z#$|u0!%FO2Z0ZHzQVf3k`N7Y|&Jf<)4{p62Y&*)gtG+iXX%aFf)CHx%L0-4-%`Q)v zy74e&^(KjK_NQ4&s0m`=VeRBb3dxxS=_BrG|JFPGp9JW=uTP`8bIT3N6sQX_Jv8HE ze@dIG^Subd#)V-RyOE>mmgApl6+j$(gb0YFkSIF$Il4M$B$yl33Sm57XE+|!7!Z;R6coA`hDNa-Dp_P?yUK3iAuoa z`n0B(-&<}}A*HA(Q#Yg+0*=3~)v5GK1$|3B-JGfgp~CsZmF=8M!%>E>y~@$xQpmmI zrVibuzQeL6-Iz?WaB+{_s2}qv5;@rz!fcssrtJ^_g4?p3XxFPm2RBTy+ZAd#H44BK z@C!P{_dANsN|O_do1Vo%F7HNU$O}zMt<&eA>7l*Vrp?x8zk9A*L8r2ZL-xOuEeDG9 zlBzdSk+Pl>^&uM!l|2Qe_q|$|4N2nrh-wJ6%}@eZn2`P?5QjDeEeni~C|PWeT@0ID z%_KQ8uN10jL<#^sbPEzMzPp`&dr&2RAdrXoT{|VgaO^&G8*eVt+$;9m6itjyO;M&r zxVPhAUkOr{Zu`F8pBR;^Hzv-~R-*2xd+O zdW_~bgd@t4B*3xj@I<_WFv$nDj|J7NC==mzAA_oXrX6$u>L zv}dd0PZMnfs0f5YxJz&p^{+)?p8soxIrvluXP*tBIEM@*6;j?$KOtL5z4JrMf*Voq zfBVMe_7w;1VG31pD+s@_i4|(`tboqmz1@8k!^o~{5T{xFLHzEaD%^$e?|P@?&GE_} zX5(U?HqXEe&{UaZ|L25oX$v>mn52SvMn7)EkD=7uv;mtxXr$GYEKR=JMud$w@O0wr za?co#tsU1frBG#MkbKQtEmb^q;Y(^t+|cA{SdkiiA)vS{qznKTDC;Q|f>Rji0wb42 zn+-E#%l|w2NY9IX6}-c`?e^a}b~Moa61hX2Kqkr-a(Bui=9&$aR}SVjr4j$M(~a0R z(~@k^=hL7OAD;@0Wu0W>gi^%%_2n+$M;WsX4pU$D3VorU4#;sICz?IDRmy>SMVd!iJ)m35bl9uh)Xrrgeo~V3^@f6*B#N1h(^mX za1(9$n|VsfII#)pnkJcMLG@~H$PBPqK^R>~(zRYJn$hVa5_pb$Bb6F-0w{*MU?u}a z^}x-6{~*M<^5!}H3+2Hsyb{;5x*BUKcm-Zfx#(BYi1llyQ%IN$(n?dl$0T)N5t`=?c6=p#L{j9^NYgq|5zRt#k*T=1r6*uMpaGT_*&rMBvm`Z(yrJP)} zA13C^lPDOWCTpNU6Xp*3;#?nJLvfe0d5<$xYcePFgq6~}TPs`k<|Y@b|8N+Z{5TVwubSattx%l!H1ac0O~q!)DM82M5#=B$bWPFAQH?X`8>ndW1o z#Rg-n8eA7B7B5^&OCy2?Ir39Y0|<2e*rNjB`kym(2tYA6ES$?sZBFTPEdv+KJDT(i2D|8n3 z0%zpL^uQA6yp9?T2vGXJ5?%;tX`z^Zs=$MY-XM{!o%~xld1V1nB?U!!IXQklenBBN TR1GS`J0w*lO~o2{tIz)jWUDW_ literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png new file mode 100644 index 0000000000000000000000000000000000000000..8745a0f7d2f1ca533a2bc0dda21dc47c07359f1e GIT binary patch literal 1163 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 WG%`ea^6W$a0000px`_J literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png new file mode 100644 index 0000000000000000000000000000000000000000..11c79f151f795b778ce477cc6ba5ccfe082b197b GIT binary patch literal 2241 zcmV;y2tN0TP)mk028JYX3H3`6e$x5op9VIX0= z(jJ=Xd3Mv4tydsA&?ZU5Cw}yy#ud)rbq2R&D^*mI1ICbgJ2ji z!P=+e##YBG@%HL)EQyq(*Xo`SP|+b>ZeW&z!NuD)>t;1Pz7C9ANsQQNqhu%Gi?JwiBPk6` zQeifm5fv51tvg?kWIhzh&i1=pB(oEMGud&_PsK=bkSZ4M{l$cxf9S%m54?l#7yJM^ zosNT4tJOXsolYm@ayibNK82^B$;G}^5qNEB(9~R$8emDaIEAg@}GZU zSh|W=-iZduRXYk6kDa;$t&YW)SG0&vm<@}?g5cm_gocLtgrrDPI`{SJ5uY>{sj>ll zkv|(IyL)OylKey=WpLZ%LHdVnSh0Ey&YwAreuIHqiva-vTr_<_k|?Dqn$P5J!s$~d z(Xb^EX(6m=HLNI*e5w{Tno(HWiFfwDg@SE`+&UW$>C0V7e9E3IE5)Wf4fcO060a@} z6fI>%f#eDS1&j4(+fj4Zje6~;NKBr?73Ks++XtD@Xpl5cd!??s3-QVG@L-S?b z-o;BV??OpdEb>#8&|BP)2uxYQko@UmS6vSdHW*M-S%C+aEyuvXfH#t3f#f53qp1<| z7kmrPrKxcAiRhuq$2-k035KML6;c*Uid)gGj>WYrT1aFv?xx9f#tKQF4OT@Sq@*u| zt*r@-FV2C-?dE<%NX80+?ABQrdu`OK< zokiGIA_$T{UcFMM!*3f5`2FuLVA0|wFqur=T6H{-{JLyu{u}0{rQ`WDC5lB@mx3TE zT?6G3WE^Y7*Y0p!|KnvSRBEn*;ZGgofuy1KFLkMBQY`<>~6n11%5-4 z>4XiLj;5*|``_A!?S(s_>-olXNd7{eC_TTib)OV;>>& zi7fQ@_j|Vw5`m4StmDO}YyFkav3z9)UVkVQdox102Sxt2Lj*!fvFoA^2d^7Yd!Ysk zzrFb1oRvgiD%D^sWGs-p!~XqdGg8v-$8+=5f-4^Zkb~RDmg-J?bi;ycSL?mqx#5s> z({$7d3JUU$jYWO>9)!juVtt$o=QqR)>fZScNl&k+nVd(>`Pt^WZ@ zM=ff9j3tsZhtgfI>&DWIHOPu_p<-japk}lGkYqec7MiLqlr@{Y<6>)FvI^(3W6)=t zEO%A1$gAqYiDok%f9z2x)q$LGj1;*onaNlpNuol+VYA|FMK!W!OYw0|>?A=Bd-hS< zY(vvuuj9UXDL&UErRsQPw_2bGiAGkG4HW{PjR=O^RM~;@78@>W>$sK&b>~JxQl~B` zFbHms??%>eQM4)Y-JKmsn3s<4M%YpPy-9-P56eHS>%ngt42X(L03-4JH&$ zW2jQ~IB}<~6kgX+}uXf=Mh zG7JfU(#fe^NjxYWoNf2aM7qPV{?y=H1q)c69zlR4L69WMPU0I!HjY`88I++y07-%& z{~t61IbAdZIbAdZIbHNGzP^it9|IbW0000GWMx7}Fh)T(GB`srLqRn&I5RLZcMc9f P00000NkvXXu0mjf5#kk8 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png new file mode 100644 index 0000000000000000000000000000000000000000..6a990992f0bc08787d9295ac2cf75fe21192505e GIT binary patch literal 2212 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 JXpdj)zX0I5`B?w} diff --git a/ios/Runner/Assets.xcassets/LauncherIcon.imageset/Contents.json b/ios/Runner/Assets.xcassets/LauncherIcon.imageset/Contents.json index 2945b36..f17420d 100644 --- a/ios/Runner/Assets.xcassets/LauncherIcon.imageset/Contents.json +++ b/ios/Runner/Assets.xcassets/LauncherIcon.imageset/Contents.json @@ -1,17 +1,8 @@ { "images" : [ { - "filename" : "icon.png", - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "scale" : "3x" + "filename" : "Logo-Rounded.png", + "idiom" : "universal" } ], "info" : { diff --git a/ios/Runner/Assets.xcassets/LauncherIcon.imageset/Logo-Rounded.png b/ios/Runner/Assets.xcassets/LauncherIcon.imageset/Logo-Rounded.png new file mode 100644 index 0000000000000000000000000000000000000000..a89cc4300729678537a32bb57a10597fd1e47f7b GIT binary patch literal 47780 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æK}$}4 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LauncherIcon.imageset/icon.png b/ios/Runner/Assets.xcassets/LauncherIcon.imageset/icon.png deleted file mode 100644 index ee71baa946aac78738951b35e8187ecc1c5375a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9798 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 XGcZKiBsGHN4cQ%bw5dGgedWIZJ_t-k diff --git a/lib/core/custom_theme.dart b/lib/core/custom_theme.dart index 2c18073..3ae77cd 100644 --- a/lib/core/custom_theme.dart +++ b/lib/core/custom_theme.dart @@ -7,10 +7,10 @@ class CustomTheme { // ==================== Colors ==================== /// Primary color of the app theme - static Color primaryColor = const Color(0xFF7505E4); + static Color primaryColor = const Color(0xFFef681f); /// Secondary color of the app theme - static Color secondaryColor = const Color(0xFFAFA2FF); + static Color secondaryColor = const Color(0xFFf2a981); /// Background color of the app theme static Color backgroundColor = const Color(0xFF0B0B0B); diff --git a/lib/presentation/widgets/buttons/quick_create_button.dart b/lib/presentation/widgets/buttons/quick_create_button.dart index e013186..0abf7d6 100644 --- a/lib/presentation/widgets/buttons/quick_create_button.dart +++ b/lib/presentation/widgets/buttons/quick_create_button.dart @@ -35,7 +35,11 @@ class _QuickCreateButtonState extends State { ), child: Text( widget.text, - style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 16), + style: const TextStyle( + color: CustomTheme.textColor, + fontWeight: FontWeight.bold, + fontSize: 16, + ), ), ); } diff --git a/lib/presentation/widgets/colored_icon_container.dart b/lib/presentation/widgets/colored_icon_container.dart index be51cd2..2cc97e2 100644 --- a/lib/presentation/widgets/colored_icon_container.dart +++ b/lib/presentation/widgets/colored_icon_container.dart @@ -48,7 +48,7 @@ class ColoredIconContainer extends StatelessWidget { child: Icon( icon, size: iconSize, - color: CustomTheme.primaryColor.withGreen(40), + color: CustomTheme.primaryColor.withBlue(40), ), ), ], From 53a33ca2e19928207369e45816c686563446f17b Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sun, 18 Jan 2026 22:58:28 +0100 Subject: [PATCH 062/198] Updated app name --- android/app/src/main/AndroidManifest.xml | 2 +- ios/Runner/Info.plist | 4 ++-- lib/l10n/arb/app_de.arb | 2 +- lib/l10n/arb/app_en.arb | 2 +- lib/l10n/generated/app_localizations.dart | 2 +- lib/l10n/generated/app_localizations_de.dart | 2 +- lib/l10n/generated/app_localizations_en.dart | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 1eca443..e722349 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName - Game Tracker + Tallee CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -13,7 +13,7 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleName - game_tracker + tallee CFBundlePackageType APPL CFBundleShortVersionString diff --git a/lib/l10n/arb/app_de.arb b/lib/l10n/arb/app_de.arb index 2ef9ee9..74d541d 100644 --- a/lib/l10n/arb/app_de.arb +++ b/lib/l10n/arb/app_de.arb @@ -3,7 +3,7 @@ "all_players": "Alle Spieler:innen", "all_players_selected": "Alle Spieler:innen ausgewählt", "amount_of_matches": "Anzahl der Spiele", - "app_name": "Game Tracker", + "app_name": "Tallee", "best_player": "Beste:r Spieler:in", "cancel": "Abbrechen", "choose_game": "Spielvorlage wählen", diff --git a/lib/l10n/arb/app_en.arb b/lib/l10n/arb/app_en.arb index fa4adc8..667c5c5 100644 --- a/lib/l10n/arb/app_en.arb +++ b/lib/l10n/arb/app_en.arb @@ -301,7 +301,7 @@ "all_players": "All players", "all_players_selected": "All players selected", "amount_of_matches": "Amount of Matches", - "app_name": "Game Tracker", + "app_name": "Tallee", "best_player": "Best Player", "cancel": "Cancel", "choose_game": "Choose Game", diff --git a/lib/l10n/generated/app_localizations.dart b/lib/l10n/generated/app_localizations.dart index 57dbdd8..b2a60c0 100644 --- a/lib/l10n/generated/app_localizations.dart +++ b/lib/l10n/generated/app_localizations.dart @@ -119,7 +119,7 @@ abstract class AppLocalizations { /// The name of the App /// /// In en, this message translates to: - /// **'Game Tracker'** + /// **'Tallee'** String get app_name; /// Label for best player statistic diff --git a/lib/l10n/generated/app_localizations_de.dart b/lib/l10n/generated/app_localizations_de.dart index f78f9f4..2f76fd2 100644 --- a/lib/l10n/generated/app_localizations_de.dart +++ b/lib/l10n/generated/app_localizations_de.dart @@ -18,7 +18,7 @@ class AppLocalizationsDe extends AppLocalizations { String get amount_of_matches => 'Anzahl der Spiele'; @override - String get app_name => 'Game Tracker'; + String get app_name => 'Tallee'; @override String get best_player => 'Beste:r Spieler:in'; diff --git a/lib/l10n/generated/app_localizations_en.dart b/lib/l10n/generated/app_localizations_en.dart index 32512c7..cfcae20 100644 --- a/lib/l10n/generated/app_localizations_en.dart +++ b/lib/l10n/generated/app_localizations_en.dart @@ -18,7 +18,7 @@ class AppLocalizationsEn extends AppLocalizations { String get amount_of_matches => 'Amount of Matches'; @override - String get app_name => 'Game Tracker'; + String get app_name => 'Tallee'; @override String get best_player => 'Best Player'; From 715b3debbbc03abed6e50f7fc2dee1d723e7b382 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 19 Jan 2026 14:18:59 +0100 Subject: [PATCH 063/198] add updateGroupDescription --- lib/data/dao/group_dao.dart | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/data/dao/group_dao.dart b/lib/data/dao/group_dao.dart index 999200d..beecc9d 100644 --- a/lib/data/dao/group_dao.dart +++ b/lib/data/dao/group_dao.dart @@ -181,7 +181,7 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { /// Updates the name of the group with the given [id] to [newName]. /// Returns `true` if more than 0 rows were affected, otherwise `false`. - Future updateGroupname({ + Future updateGroupName({ required String groupId, required String newName, }) async { @@ -192,6 +192,21 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { return rowsAffected > 0; } + /// Updates the description of the group with the given [groupId] to [newDescription]. + /// Returns `true` if more than 0 rows were affected, otherwise `false`. + Future updateGroupDescription({ + required String groupId, + required String? newDescription, + }) async { + final rowsAffected = + await (update(groupTable)..where((g) => g.id.equals(groupId))).write( + GroupTableCompanion(description: Value(newDescription)), + ); + return rowsAffected > 0; + } + + + /// Retrieves the number of groups in the database. Future getGroupCount() async { final count = From 764ce13240c24652de97c2a0b8f8aa70bcaff9d5 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 19 Jan 2026 14:57:19 +0100 Subject: [PATCH 064/198] fix felix typos :) --- lib/data/dao/player_dao.dart | 2 +- test/db_tests/group_test.dart | 2 +- test/db_tests/player_group_test.dart | 32 ++++++++++++++-------------- test/db_tests/player_match_test.dart | 4 ++-- test/db_tests/player_test.dart | 6 +++--- 5 files changed, 23 insertions(+), 23 deletions(-) diff --git a/lib/data/dao/player_dao.dart b/lib/data/dao/player_dao.dart index 40c5c98..b8b5000 100644 --- a/lib/data/dao/player_dao.dart +++ b/lib/data/dao/player_dao.dart @@ -99,7 +99,7 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { } /// Updates the name of the player with the given [playerId] to [newName]. - Future updatePlayername({ + Future updatePlayerName({ required String playerId, required String newName, }) async { diff --git a/test/db_tests/group_test.dart b/test/db_tests/group_test.dart index 5104c65..08f8379 100644 --- a/test/db_tests/group_test.dart +++ b/test/db_tests/group_test.dart @@ -145,7 +145,7 @@ void main() { const newGroupName = 'new group name'; - await database.groupDao.updateGroupname( + await database.groupDao.updateGroupName( groupId: testGroup1.id, newName: newGroupName, ); diff --git a/test/db_tests/player_group_test.dart b/test/db_tests/player_group_test.dart index 2783430..344567c 100644 --- a/test/db_tests/player_group_test.dart +++ b/test/db_tests/player_group_test.dart @@ -12,7 +12,7 @@ void main() { late Player testPlayer2; late Player testPlayer3; late Player testPlayer4; - late Group testgroup; + late Group testGroup; final fixedDate = DateTime(2025, 19, 11, 00, 11, 23); final fakeClock = Clock(() => fixedDate); @@ -30,7 +30,7 @@ void main() { testPlayer2 = Player(name: 'Bob'); testPlayer3 = Player(name: 'Charlie'); testPlayer4 = Player(name: 'Diana'); - testgroup = Group( + testGroup = Group( name: 'Test Group', members: [testPlayer1, testPlayer2, testPlayer3], ); @@ -45,22 +45,22 @@ void main() { /// not nullable test('Adding a player to a group works correctly', () async { - await database.groupDao.addGroup(group: testgroup); + await database.groupDao.addGroup(group: testGroup); await database.playerDao.addPlayer(player: testPlayer4); await database.playerGroupDao.addPlayerToGroup( - groupId: testgroup.id, + groupId: testGroup.id, player: testPlayer4, ); var playerAdded = await database.playerGroupDao.isPlayerInGroup( - groupId: testgroup.id, + groupId: testGroup.id, playerId: testPlayer4.id, ); expect(playerAdded, true); playerAdded = await database.playerGroupDao.isPlayerInGroup( - groupId: testgroup.id, + groupId: testGroup.id, playerId: '', ); @@ -68,35 +68,35 @@ void main() { }); test('Removing player from group works correctly', () async { - await database.groupDao.addGroup(group: testgroup); + await database.groupDao.addGroup(group: testGroup); - final playerToRemove = testgroup.members[0]; + final playerToRemove = testGroup.members[0]; final removed = await database.playerGroupDao.removePlayerFromGroup( playerId: playerToRemove.id, - groupId: testgroup.id, + groupId: testGroup.id, ); expect(removed, true); final result = await database.groupDao.getGroupById( - groupId: testgroup.id, + groupId: testGroup.id, ); - expect(result.members.length, testgroup.members.length - 1); + expect(result.members.length, testGroup.members.length - 1); final playerExists = result.members.any((p) => p.id == playerToRemove.id); expect(playerExists, false); }); test('Retrieving players of a group works correctly', () async { - await database.groupDao.addGroup(group: testgroup); + await database.groupDao.addGroup(group: testGroup); final players = await database.playerGroupDao.getPlayersOfGroup( - groupId: testgroup.id, + groupId: testGroup.id, ); for (int i = 0; i < players.length; i++) { - expect(players[i].id, testgroup.members[i].id); - expect(players[i].name, testgroup.members[i].name); - expect(players[i].createdAt, testgroup.members[i].createdAt); + expect(players[i].id, testGroup.members[i].id); + expect(players[i].name, testGroup.members[i].name); + expect(players[i].createdAt, testGroup.members[i].createdAt); } }); }); diff --git a/test/db_tests/player_match_test.dart b/test/db_tests/player_match_test.dart index 8fa8a88..d7d3bde 100644 --- a/test/db_tests/player_match_test.dart +++ b/test/db_tests/player_match_test.dart @@ -160,7 +160,7 @@ void main() { } }); - test('Updating the match players works coreclty', () async { + test('Updating the match players works correctly', () async { await database.matchDao.addMatch(match: testMatchOnlyPlayers); final newPlayers = [testPlayer1, testPlayer2, testPlayer4]; @@ -204,7 +204,7 @@ void main() { }); test( - 'Adding the same player to seperate matches works correctly', + 'Adding the same player to separate matches works correctly', () async { final playersList = [testPlayer1, testPlayer2, testPlayer3]; final match1 = Match(name: 'Match 1', players: playersList); diff --git a/test/db_tests/player_test.dart b/test/db_tests/player_test.dart index 5bd10ad..a6d1b93 100644 --- a/test/db_tests/player_test.dart +++ b/test/db_tests/player_test.dart @@ -63,7 +63,7 @@ void main() { final allPlayers = await database.playerDao.getAllPlayers(); expect(allPlayers.length, 4); - // Map for connencting fetched players with expected players + // Map for connecting fetched players with expected players final testPlayers = { testPlayer1.id: testPlayer1, testPlayer2.id: testPlayer2, @@ -115,12 +115,12 @@ void main() { expect(playerExists, false); }); - test('Updating a player name works correcly', () async { + test('Updating a player name works correctly', () async { await database.playerDao.addPlayer(player: testPlayer1); const newPlayerName = 'new player name'; - await database.playerDao.updatePlayername( + await database.playerDao.updatePlayerName( playerId: testPlayer1.id, newName: newPlayerName, ); From c97fdc2b5facc94003d773f7322229d7904b1bf0 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 19 Jan 2026 14:58:33 +0100 Subject: [PATCH 065/198] add match method to change created at --- lib/data/dao/match_dao.dart | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/data/dao/match_dao.dart b/lib/data/dao/match_dao.dart index 696aff7..7c67e08 100644 --- a/lib/data/dao/match_dao.dart +++ b/lib/data/dao/match_dao.dart @@ -340,6 +340,19 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { return rowsAffected > 0; } + /// Updates the createdAt timestamp of the match with the given [matchId]. + /// Returns `true` if more than 0 rows were affected, otherwise `false`. + Future updateMatchCreatedAt({ + required String matchId, + required DateTime createdAt, + }) async { + final query = update(matchTable)..where((g) => g.id.equals(matchId)); + final rowsAffected = await query.write( + MatchTableCompanion(createdAt: Value(createdAt)), + ); + return rowsAffected > 0; + } + // ============================================================ // TEMPORARY: Winner methods - these are stubs and do not persist data // TODO: Implement proper winner handling From 8dd2f5f8b89b802d26812ca7c95685eaa7c311b2 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 19 Jan 2026 15:46:25 +0100 Subject: [PATCH 066/198] add name to team --- lib/data/dao/team_dao.dart | 6 ++++-- lib/data/dto/team.dart | 6 +++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/data/dao/team_dao.dart b/lib/data/dao/team_dao.dart index a382643..6a40d03 100644 --- a/lib/data/dao/team_dao.dart +++ b/lib/data/dao/team_dao.dart @@ -20,6 +20,7 @@ class TeamDao extends DatabaseAccessor with _$TeamDaoMixin { final members = await _getTeamMembers(teamId: row.id); return Team( id: row.id, + name: row.name, createdAt: row.createdAt, members: members, ); @@ -34,6 +35,7 @@ class TeamDao extends DatabaseAccessor with _$TeamDaoMixin { final members = await _getTeamMembers(teamId: teamId); return Team( id: result.id, + name: result.name, createdAt: result.createdAt, members: members, ); @@ -66,7 +68,7 @@ class TeamDao extends DatabaseAccessor with _$TeamDaoMixin { await into(teamTable).insert( TeamTableCompanion.insert( id: team.id, - name: '', // Team name from table (not in DTO currently) + name: team.name, createdAt: team.createdAt, ), mode: InsertMode.insertOrReplace, @@ -87,7 +89,7 @@ class TeamDao extends DatabaseAccessor with _$TeamDaoMixin { .map( (team) => TeamTableCompanion.insert( id: team.id, - name: '', + name: team.name, createdAt: team.createdAt, ), ) diff --git a/lib/data/dto/team.dart b/lib/data/dto/team.dart index 8b015ba..a3f78d5 100644 --- a/lib/data/dto/team.dart +++ b/lib/data/dto/team.dart @@ -4,11 +4,13 @@ import 'package:uuid/uuid.dart'; class Team { final String id; + final String name; final DateTime createdAt; final List members; Team({ String? id, + required this.name, DateTime? createdAt, required this.members, }) : id = id ?? const Uuid().v4(), @@ -16,12 +18,13 @@ class Team { @override String toString() { - return 'Team{id: $id, members: $members}'; + return 'Team{id: $id, name: $name, members: $members}'; } /// Creates a Team instance from a JSON object. Team.fromJson(Map json) : id = json['id'], + name = json['name'], createdAt = DateTime.parse(json['createdAt']), members = (json['members'] as List) .map((memberJson) => Player.fromJson(memberJson)) @@ -30,6 +33,7 @@ class Team { /// Converts the Team instance to a JSON object. Map toJson() => { 'id': id, + 'name': name, 'createdAt': createdAt.toIso8601String(), 'members': members.map((member) => member.toJson()).toList(), }; From c6251740177daa49ec86f2de89746e99e09db5b9 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Mon, 19 Jan 2026 16:07:12 +0100 Subject: [PATCH 067/198] Updated text color --- lib/core/custom_theme.dart | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/core/custom_theme.dart b/lib/core/custom_theme.dart index 3ae77cd..866ee43 100644 --- a/lib/core/custom_theme.dart +++ b/lib/core/custom_theme.dart @@ -7,25 +7,25 @@ class CustomTheme { // ==================== Colors ==================== /// Primary color of the app theme - static Color primaryColor = const Color(0xFFef681f); + static const Color primaryColor = Color(0xFFef681f); /// Secondary color of the app theme - static Color secondaryColor = const Color(0xFFf2a981); + static const Color secondaryColor = Color(0xFFf2a981); /// Background color of the app theme - static Color backgroundColor = const Color(0xFF0B0B0B); + static const backgroundColor = Color(0xFF0B0B0B); /// Default color for boxes and containers - static Color boxColor = const Color(0xFF101010); + static const Color boxColor = Color(0xFF101010); /// Default border color for boxes and containers - static Color boxBorder = const Color(0xFF272727); + static const Color boxBorder = Color(0xFF272727); /// Color for boxes and containers displayed on boxes - static Color onBoxColor = const Color(0xFF181818); + static const Color onBoxColor = Color(0xFF181818); /// Text color used throughout the app - static const Color textColor = Colors.white; + static const Color textColor = Color(0xFFFFFFFF); /// Selected color for the [NavbarItem] static Color navBarItemSelectedColor = primaryColor.withGreen(100); From 87d7fbebcd7f40739ee0b7493e8e6f34a600d404 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Mon, 19 Jan 2026 16:07:20 +0100 Subject: [PATCH 068/198] Updated quick create button color --- lib/presentation/widgets/buttons/quick_create_button.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/presentation/widgets/buttons/quick_create_button.dart b/lib/presentation/widgets/buttons/quick_create_button.dart index 0abf7d6..6dc9876 100644 --- a/lib/presentation/widgets/buttons/quick_create_button.dart +++ b/lib/presentation/widgets/buttons/quick_create_button.dart @@ -28,7 +28,7 @@ class _QuickCreateButtonState extends State { onPressed: widget.onPressed, style: ElevatedButton.styleFrom( minimumSize: const Size(140, 45), - backgroundColor: CustomTheme.primaryColor, + backgroundColor: CustomTheme.primaryColor.withAlpha(200).withBlue(40), shape: RoundedRectangleBorder( borderRadius: CustomTheme.standardBorderRadiusAll, ), From 9f71c22a56656cb06f5eab02776f37238d20e8c6 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Mon, 19 Jan 2026 16:14:26 +0100 Subject: [PATCH 069/198] Fixed pipeline --- lib/core/custom_theme.dart | 6 +++--- .../views/main_menu/group_view/group_profile_view.dart | 4 +++- .../settings_view/licenses/license_detail_view.dart | 2 +- .../views/main_menu/settings_view/settings_view.dart | 2 +- lib/presentation/widgets/custom_alert_dialog.dart | 2 +- .../widgets/text_input/custom_search_bar.dart | 4 +++- lib/presentation/widgets/text_input/text_input_field.dart | 8 ++++---- 7 files changed, 16 insertions(+), 12 deletions(-) diff --git a/lib/core/custom_theme.dart b/lib/core/custom_theme.dart index 866ee43..9400d3d 100644 --- a/lib/core/custom_theme.dart +++ b/lib/core/custom_theme.dart @@ -63,18 +63,18 @@ class CustomTheme { ); // ==================== App Bar Theme ==================== - static AppBarTheme appBarTheme = AppBarTheme( + static const AppBarTheme appBarTheme = AppBarTheme( backgroundColor: backgroundColor, foregroundColor: textColor, elevation: 0, scrolledUnderElevation: 0, centerTitle: true, - titleTextStyle: const TextStyle( + titleTextStyle: TextStyle( color: textColor, fontSize: 20, fontWeight: FontWeight.bold, overflow: TextOverflow.ellipsis, ), - iconTheme: const IconThemeData(color: textColor), + iconTheme: IconThemeData(color: textColor), ); } diff --git a/lib/presentation/views/main_menu/group_view/group_profile_view.dart b/lib/presentation/views/main_menu/group_view/group_profile_view.dart index e366834..b46fcbe 100644 --- a/lib/presentation/views/main_menu/group_view/group_profile_view.dart +++ b/lib/presentation/views/main_menu/group_view/group_profile_view.dart @@ -78,7 +78,9 @@ class _GroupProfileViewState extends State { onPressed: () => Navigator.of(context).pop(true), child: Text( loc.delete, - style: TextStyle(color: CustomTheme.secondaryColor), + style: const TextStyle( + color: CustomTheme.secondaryColor, + ), ), ), ], diff --git a/lib/presentation/views/main_menu/settings_view/licenses/license_detail_view.dart b/lib/presentation/views/main_menu/settings_view/licenses/license_detail_view.dart index 54ff34e..5c48592 100644 --- a/lib/presentation/views/main_menu/settings_view/licenses/license_detail_view.dart +++ b/lib/presentation/views/main_menu/settings_view/licenses/license_detail_view.dart @@ -89,7 +89,7 @@ class LicenseDetailView extends StatelessWidget { maxLines: 1, overflow: TextOverflow.ellipsis, textAlign: TextAlign.center, - style: TextStyle( + style: const TextStyle( fontSize: 12, color: CustomTheme.secondaryColor, decoration: TextDecoration.underline, diff --git a/lib/presentation/views/main_menu/settings_view/settings_view.dart b/lib/presentation/views/main_menu/settings_view/settings_view.dart index 7941cb5..244610e 100644 --- a/lib/presentation/views/main_menu/settings_view/settings_view.dart +++ b/lib/presentation/views/main_menu/settings_view/settings_view.dart @@ -136,7 +136,7 @@ class _SettingsViewState extends State { onPressed: () => Navigator.of(context).pop(true), child: Text( loc.delete, - style: TextStyle( + style: const TextStyle( color: CustomTheme.secondaryColor, ), ), diff --git a/lib/presentation/widgets/custom_alert_dialog.dart b/lib/presentation/widgets/custom_alert_dialog.dart index af5b45a..5ca2b15 100644 --- a/lib/presentation/widgets/custom_alert_dialog.dart +++ b/lib/presentation/widgets/custom_alert_dialog.dart @@ -32,7 +32,7 @@ class CustomAlertDialog extends StatelessWidget { actionsAlignment: MainAxisAlignment.spaceAround, shape: RoundedRectangleBorder( borderRadius: CustomTheme.standardBorderRadiusAll, - side: BorderSide(color: CustomTheme.boxBorder), + side: const BorderSide(color: CustomTheme.boxBorder), ), ); } diff --git a/lib/presentation/widgets/text_input/custom_search_bar.dart b/lib/presentation/widgets/text_input/custom_search_bar.dart index eefe6d7..77f6eba 100644 --- a/lib/presentation/widgets/text_input/custom_search_bar.dart +++ b/lib/presentation/widgets/text_input/custom_search_bar.dart @@ -87,7 +87,9 @@ class CustomSearchBar extends StatelessWidget { const SizedBox(width: 5), ], backgroundColor: WidgetStateProperty.all(CustomTheme.boxColor), - side: WidgetStateProperty.all(BorderSide(color: CustomTheme.boxBorder)), + side: WidgetStateProperty.all( + const BorderSide(color: CustomTheme.boxBorder), + ), shape: WidgetStateProperty.all( RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), ), diff --git a/lib/presentation/widgets/text_input/text_input_field.dart b/lib/presentation/widgets/text_input/text_input_field.dart index 9d8680a..bbb3e45 100644 --- a/lib/presentation/widgets/text_input/text_input_field.dart +++ b/lib/presentation/widgets/text_input/text_input_field.dart @@ -42,12 +42,12 @@ class TextInputField extends StatelessWidget { hintStyle: const TextStyle(fontSize: 18), // Hides the character counter counterText: '', - enabledBorder: OutlineInputBorder( - borderRadius: const BorderRadius.all(Radius.circular(12)), + enabledBorder: const OutlineInputBorder( + borderRadius: BorderRadius.all(Radius.circular(12)), borderSide: BorderSide(color: CustomTheme.boxBorder), ), - focusedBorder: OutlineInputBorder( - borderRadius: const BorderRadius.all(Radius.circular(12)), + focusedBorder: const OutlineInputBorder( + borderRadius: BorderRadius.all(Radius.circular(12)), borderSide: BorderSide(color: CustomTheme.boxBorder), ), floatingLabelBehavior: FloatingLabelBehavior.never, From fb59372c97ec18d92b4ac4683571f53e22fd330b Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 19 Jan 2026 19:51:48 +0100 Subject: [PATCH 070/198] add score_test.dart --- test/db_tests/score_test.dart | 417 ++++++++++++++++++++++++++++++++++ 1 file changed, 417 insertions(+) create mode 100644 test/db_tests/score_test.dart diff --git a/test/db_tests/score_test.dart b/test/db_tests/score_test.dart new file mode 100644 index 0000000..4f6aa99 --- /dev/null +++ b/test/db_tests/score_test.dart @@ -0,0 +1,417 @@ +import 'package:clock/clock.dart'; +import 'package:drift/drift.dart' hide isNull, isNotNull; +import 'package:drift/native.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/dto/game.dart'; +import 'package:game_tracker/data/dto/match.dart'; +import 'package:game_tracker/data/dto/player.dart'; + +void main() { + late AppDatabase database; + late Player testPlayer1; + late Player testPlayer2; + late Player testPlayer3; + late Game testGame; + late Match testMatch1; + late Match testMatch2; + final fixedDate = DateTime(2025, 19, 11, 00, 11, 23); + final fakeClock = Clock(() => fixedDate); + + setUp(() async { + database = AppDatabase( + DatabaseConnection( + NativeDatabase.memory(), + // Recommended for widget tests to avoid test errors. + closeStreamsSynchronously: true, + ), + ); + + withClock(fakeClock, () { + testPlayer1 = Player(name: 'Alice'); + testPlayer2 = Player(name: 'Bob'); + testPlayer3 = Player(name: 'Charlie'); + testGame = Game(name: 'Test Game'); + testMatch1 = Match( + name: 'Test Match 1', + game: testGame, + players: [testPlayer1, testPlayer2], + ); + testMatch2 = Match( + name: 'Test Match 2', + game: testGame, + players: [testPlayer2, testPlayer3], + ); + }); + + await database.playerDao.addPlayersAsList( + players: [testPlayer1, testPlayer2, testPlayer3], + ); + await database.gameDao.addGame(game: testGame); + await database.matchDao.addMatch(match: testMatch1); + await database.matchDao.addMatch(match: testMatch2); + }); + + tearDown(() async { + await database.close(); + }); + + group('Score Tests', () { + test('Adding and fetching a score works correctly', () async { + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 10, + change: 10, + ); + + final score = await database.scoreDao.getScoreForRound( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + ); + + expect(score, isNotNull); + expect(score!.playerId, testPlayer1.id); + expect(score.matchId, testMatch1.id); + expect(score.roundNumber, 1); + expect(score.score, 10); + expect(score.change, 10); + }); + + test('Getting scores for a match works correctly', () async { + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 10, + change: 10, + ); + await database.scoreDao.addScore( + playerId: testPlayer2.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 20, + change: 20, + ); + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 2, + score: 25, + change: 15, + ); + + final scores = await database.scoreDao.getScoresForMatch( + matchId: testMatch1.id, + ); + + expect(scores.length, 3); + }); + + test('Getting player scores in a match works correctly', () async { + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 10, + change: 10, + ); + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 2, + score: 25, + change: 15, + ); + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 3, + score: 30, + change: 5, + ); + + final playerScores = await database.scoreDao.getPlayerScoresInMatch( + playerId: testPlayer1.id, + matchId: testMatch1.id, + ); + + expect(playerScores.length, 3); + expect(playerScores[0].roundNumber, 1); + expect(playerScores[1].roundNumber, 2); + expect(playerScores[2].roundNumber, 3); + expect(playerScores[0].score, 10); + expect(playerScores[1].score, 25); + expect(playerScores[2].score, 30); + }); + + test('Getting score for a non-existent round returns null', () async { + final score = await database.scoreDao.getScoreForRound( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 999, + ); + + expect(score, isNull); + }); + + test('Updating a score works correctly', () async { + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 10, + change: 10, + ); + + final updated = await database.scoreDao.updateScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + newScore: 50, + newChange: 40, + ); + + expect(updated, true); + + final score = await database.scoreDao.getScoreForRound( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + ); + + expect(score, isNotNull); + expect(score!.score, 50); + expect(score.change, 40); + }); + + test('Updating a non-existent score returns false', () async { + final updated = await database.scoreDao.updateScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 999, + newScore: 50, + newChange: 40, + ); + + expect(updated, false); + }); + + test('Deleting a score works correctly', () async { + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 10, + change: 10, + ); + + final deleted = await database.scoreDao.deleteScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + ); + + expect(deleted, true); + + final score = await database.scoreDao.getScoreForRound( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + ); + + expect(score, isNull); + }); + + test('Deleting a non-existent score returns false', () async { + final deleted = await database.scoreDao.deleteScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 999, + ); + + expect(deleted, false); + }); + + test('Deleting scores for a match works correctly', () async { + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 10, + change: 10, + ); + await database.scoreDao.addScore( + playerId: testPlayer2.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 20, + change: 20, + ); + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch2.id, + roundNumber: 1, + score: 15, + change: 15, + ); + + final deleted = await database.scoreDao.deleteScoresForMatch( + matchId: testMatch1.id, + ); + + expect(deleted, true); + + final match1Scores = await database.scoreDao.getScoresForMatch( + matchId: testMatch1.id, + ); + expect(match1Scores.length, 0); + + final match2Scores = await database.scoreDao.getScoresForMatch( + matchId: testMatch2.id, + ); + expect(match2Scores.length, 1); + }); + + test('Deleting scores for a player works correctly', () async { + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 10, + change: 10, + ); + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch2.id, + roundNumber: 1, + score: 15, + change: 15, + ); + await database.scoreDao.addScore( + playerId: testPlayer2.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 20, + change: 20, + ); + + final deleted = await database.scoreDao.deleteScoresForPlayer( + playerId: testPlayer1.id, + ); + + expect(deleted, true); + + final player1Scores = await database.scoreDao.getPlayerScoresInMatch( + playerId: testPlayer1.id, + matchId: testMatch1.id, + ); + expect(player1Scores.length, 0); + + final player2Scores = await database.scoreDao.getPlayerScoresInMatch( + playerId: testPlayer2.id, + matchId: testMatch1.id, + ); + expect(player2Scores.length, 1); + }); + + test('Getting latest round number works correctly', () async { + var latestRound = await database.scoreDao.getLatestRoundNumber( + matchId: testMatch1.id, + ); + expect(latestRound, 0); + + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 10, + change: 10, + ); + + latestRound = await database.scoreDao.getLatestRoundNumber( + matchId: testMatch1.id, + ); + expect(latestRound, 1); + + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 5, + score: 50, + change: 40, + ); + + latestRound = await database.scoreDao.getLatestRoundNumber( + matchId: testMatch1.id, + ); + expect(latestRound, 5); + }); + + test('Getting total score for a player works correctly', () async { + var totalScore = await database.scoreDao.getTotalScoreForPlayer( + playerId: testPlayer1.id, + matchId: testMatch1.id, + ); + expect(totalScore, 0); + + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 10, + change: 10, + ); + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 2, + score: 25, + change: 15, + ); + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 3, + score: 40, + change: 15, + ); + + totalScore = await database.scoreDao.getTotalScoreForPlayer( + playerId: testPlayer1.id, + matchId: testMatch1.id, + ); + expect(totalScore, 40); + }); + + test('Adding the same score twice replaces the existing one', () async { + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 10, + change: 10, + ); + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 99, + change: 99, + ); + + final score = await database.scoreDao.getScoreForRound( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + ); + + expect(score, isNotNull); + expect(score!.score, 99); + expect(score.change, 99); + }); + }); +} + From 25e0c75dc684808f96ad4f52b83f8f5ae11beb81 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 19 Jan 2026 19:52:00 +0100 Subject: [PATCH 071/198] add team_test.dart.dart --- test/db_tests/team_test.dart | 226 +++++++++++++++++++++++++++++++++++ 1 file changed, 226 insertions(+) create mode 100644 test/db_tests/team_test.dart diff --git a/test/db_tests/team_test.dart b/test/db_tests/team_test.dart new file mode 100644 index 0000000..2f3c5d9 --- /dev/null +++ b/test/db_tests/team_test.dart @@ -0,0 +1,226 @@ +import 'package:clock/clock.dart'; +import 'package:drift/drift.dart'; +import 'package:drift/native.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/dto/player.dart'; +import 'package:game_tracker/data/dto/team.dart'; + +void main() { + late AppDatabase database; + late Player testPlayer1; + late Player testPlayer2; + late Player testPlayer3; + late Player testPlayer4; + late Team testTeam1; + late Team testTeam2; + late Team testTeam3; + final fixedDate = DateTime(2025, 19, 11, 00, 11, 23); + final fakeClock = Clock(() => fixedDate); + + setUp(() async { + database = AppDatabase( + DatabaseConnection( + NativeDatabase.memory(), + // Recommended for widget tests to avoid test errors. + closeStreamsSynchronously: true, + ), + ); + + withClock(fakeClock, () { + testPlayer1 = Player(name: 'Alice'); + testPlayer2 = Player(name: 'Bob'); + testPlayer3 = Player(name: 'Charlie'); + testPlayer4 = Player(name: 'Diana'); + testTeam1 = Team( + name: 'Team Alpha', + members: [testPlayer1, testPlayer2], + ); + testTeam2 = Team( + name: 'Team Beta', + members: [testPlayer3, testPlayer4], + ); + testTeam3 = Team( + name: 'Team Gamma', + members: [testPlayer1, testPlayer3], + ); + }); + + await database.playerDao.addPlayersAsList( + players: [testPlayer1, testPlayer2, testPlayer3, testPlayer4], + ); + }); + + tearDown(() async { + await database.close(); + }); + + group('Team Tests', () { + test('Adding and fetching a single team works correctly', () async { + final added = await database.teamDao.addTeam(team: testTeam1); + expect(added, true); + + final fetchedTeam = await database.teamDao.getTeamById( + teamId: testTeam1.id, + ); + + expect(fetchedTeam.id, testTeam1.id); + expect(fetchedTeam.name, testTeam1.name); + expect(fetchedTeam.createdAt, testTeam1.createdAt); + }); + + test('Adding and fetching multiple teams works correctly', () async { + await database.teamDao.addTeamsAsList( + teams: [testTeam1, testTeam2, testTeam3], + ); + + final allTeams = await database.teamDao.getAllTeams(); + expect(allTeams.length, 3); + + final testTeams = { + testTeam1.id: testTeam1, + testTeam2.id: testTeam2, + testTeam3.id: testTeam3, + }; + + for (final team in allTeams) { + final testTeam = testTeams[team.id]!; + + expect(team.id, testTeam.id); + expect(team.name, testTeam.name); + expect(team.createdAt, testTeam.createdAt); + } + }); + + test('Adding the same team twice does not create duplicates', () async { + await database.teamDao.addTeam(team: testTeam1); + final addedAgain = await database.teamDao.addTeam(team: testTeam1); + + expect(addedAgain, false); + + final teamCount = await database.teamDao.getTeamCount(); + expect(teamCount, 1); + }); + + test('Team existence check works correctly', () async { + var teamExists = await database.teamDao.teamExists(teamId: testTeam1.id); + expect(teamExists, false); + + await database.teamDao.addTeam(team: testTeam1); + + teamExists = await database.teamDao.teamExists(teamId: testTeam1.id); + expect(teamExists, true); + }); + + test('Deleting a team works correctly', () async { + await database.teamDao.addTeam(team: testTeam1); + + final teamDeleted = await database.teamDao.deleteTeam( + teamId: testTeam1.id, + ); + expect(teamDeleted, true); + + final teamExists = await database.teamDao.teamExists( + teamId: testTeam1.id, + ); + expect(teamExists, false); + }); + + test('Deleting a non-existent team returns false', () async { + final teamDeleted = await database.teamDao.deleteTeam( + teamId: 'non-existent-id', + ); + expect(teamDeleted, false); + }); + + test('Getting the team count works correctly', () async { + var teamCount = await database.teamDao.getTeamCount(); + expect(teamCount, 0); + + await database.teamDao.addTeam(team: testTeam1); + + teamCount = await database.teamDao.getTeamCount(); + expect(teamCount, 1); + + await database.teamDao.addTeam(team: testTeam2); + + teamCount = await database.teamDao.getTeamCount(); + expect(teamCount, 2); + + await database.teamDao.deleteTeam(teamId: testTeam1.id); + + teamCount = await database.teamDao.getTeamCount(); + expect(teamCount, 1); + + await database.teamDao.deleteTeam(teamId: testTeam2.id); + + teamCount = await database.teamDao.getTeamCount(); + expect(teamCount, 0); + }); + + test('Updating team name works correctly', () async { + await database.teamDao.addTeam(team: testTeam1); + + var fetchedTeam = await database.teamDao.getTeamById( + teamId: testTeam1.id, + ); + expect(fetchedTeam.name, testTeam1.name); + + const newName = 'Updated Team Name'; + await database.teamDao.updateTeamName( + teamId: testTeam1.id, + newName: newName, + ); + + fetchedTeam = await database.teamDao.getTeamById(teamId: testTeam1.id); + expect(fetchedTeam.name, newName); + }); + + test('Deleting all teams works correctly', () async { + await database.teamDao.addTeamsAsList( + teams: [testTeam1, testTeam2, testTeam3], + ); + + var teamCount = await database.teamDao.getTeamCount(); + expect(teamCount, 3); + + final deleted = await database.teamDao.deleteAllTeams(); + expect(deleted, true); + + teamCount = await database.teamDao.getTeamCount(); + expect(teamCount, 0); + }); + + test('Deleting all teams when empty returns false', () async { + final deleted = await database.teamDao.deleteAllTeams(); + expect(deleted, false); + }); + + test('Adding teams as list with empty list returns false', () async { + final added = await database.teamDao.addTeamsAsList(teams: []); + expect(added, false); + }); + + test('Adding teams with duplicate IDs ignores duplicates', () async { + final duplicateTeam = Team( + id: testTeam1.id, + name: 'Duplicate Team', + members: [testPlayer4], + ); + + await database.teamDao.addTeamsAsList( + teams: [testTeam1, duplicateTeam, testTeam2], + ); + + final teamCount = await database.teamDao.getTeamCount(); + expect(teamCount, 2); + + // The first one should be kept (insertOrIgnore) + final fetchedTeam = await database.teamDao.getTeamById( + teamId: testTeam1.id, + ); + expect(fetchedTeam.name, testTeam1.name); + }); + }); +} + From ccd0c62e3c04c99fa8bd4d0731edd50e2491ee30 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Mon, 19 Jan 2026 20:04:58 +0100 Subject: [PATCH 072/198] Added launchscreen --- android/app/src/main/res/values/colors.xml | 3 +-- .../Contents.json | 6 +++--- .../LauncherIconOnly.imageset/Contents.json | 12 ++++++++++++ .../Icon-Transparent.png | Bin 0 -> 21544 bytes ios/Runner/Base.lproj/LaunchScreen.storyboard | 13 ++++++++++--- 5 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 ios/Runner/Assets.xcassets/LauncherIconOnly.imageset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/LauncherIconOnly.imageset/Icon-Transparent.png diff --git a/android/app/src/main/res/values/colors.xml b/android/app/src/main/res/values/colors.xml index 8f65602..2fdce4b 100644 --- a/android/app/src/main/res/values/colors.xml +++ b/android/app/src/main/res/values/colors.xml @@ -1,5 +1,4 @@ - #E6F1E4 - #0B0B0B + #ef681f \ No newline at end of file diff --git a/ios/Runner/Assets.xcassets/LauncherBackgroundColor.colorset/Contents.json b/ios/Runner/Assets.xcassets/LauncherBackgroundColor.colorset/Contents.json index 41fe6c8..7356209 100644 --- a/ios/Runner/Assets.xcassets/LauncherBackgroundColor.colorset/Contents.json +++ b/ios/Runner/Assets.xcassets/LauncherBackgroundColor.colorset/Contents.json @@ -5,9 +5,9 @@ "color-space" : "srgb", "components" : { "alpha" : "1.000", - "blue" : "0.043", - "green" : "0.043", - "red" : "0.043" + "blue" : "0.122", + "green" : "0.408", + "red" : "0.937" } }, "idiom" : "universal" diff --git a/ios/Runner/Assets.xcassets/LauncherIconOnly.imageset/Contents.json b/ios/Runner/Assets.xcassets/LauncherIconOnly.imageset/Contents.json new file mode 100644 index 0000000..2002cdd --- /dev/null +++ b/ios/Runner/Assets.xcassets/LauncherIconOnly.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "Icon-Transparent.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/Runner/Assets.xcassets/LauncherIconOnly.imageset/Icon-Transparent.png b/ios/Runner/Assets.xcassets/LauncherIconOnly.imageset/Icon-Transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..f926570038dd32667ad97d6976ce79da6f8fa421 GIT binary patch literal 21544 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard index fb29ee2..a64dcfb 100644 --- a/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ b/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -1,9 +1,9 @@ - + - + @@ -24,6 +24,13 @@ + @@ -37,7 +44,7 @@ - + From c7b4623198a085cb641fc026d3dcbe3ef73f4472 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Tue, 20 Jan 2026 10:48:49 +0000 Subject: [PATCH 073/198] Workflows um Format Stage erweitern (#175) Extend workflows with format stage Co-authored-by: Gitea Actions [bot] <> Reviewed-on: https://git.yannick-weigert.de/liquid-development/game-tracker/pulls/175 Reviewed-by: gelbeinhalb --- .gitea/workflows/pull_request.yaml | 28 +++----- .gitea/workflows/push.yaml | 103 +++++++++++++++++++++-------- 2 files changed, 86 insertions(+), 45 deletions(-) diff --git a/.gitea/workflows/pull_request.yaml b/.gitea/workflows/pull_request.yaml index 43d36d2..5b88cdf 100644 --- a/.gitea/workflows/pull_request.yaml +++ b/.gitea/workflows/pull_request.yaml @@ -6,23 +6,17 @@ on: jobs: lint: runs-on: ubuntu-latest + steps: - name: Checkout code uses: actions/checkout@v4 - - name: Install jq - run: | - apt-get update - apt-get install -y jq - - name: Install Flutter (wget) run: | - wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz + wget --show-progress --progress=bar:force:noscroll:giga https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz tar xf flutter_linux_3.38.2-stable.tar.xz - # Set Git safe directory for Flutter path git config --global --add safe.directory "$(pwd)/flutter" - # Set Flutter path - echo "$(pwd)/flutter/bin" >> $GITHUB_PATH + echo "$(pwd)/flutter/bin" >> $GITEA_PATH - name: Get dependencies run: flutter pub get @@ -32,26 +26,22 @@ jobs: test: runs-on: ubuntu-latest + env: + RUNNER_TOOL_CACHE: /toolcache + steps: - name: Checkout code uses: actions/checkout@v4 - - name: Install dependencies - run: | - apt-get update - apt-get install -y jq - - name: Install Flutter (wget) run: | - wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz + wget --show-progress --progress=bar:force:noscroll:giga https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz tar xf flutter_linux_3.38.2-stable.tar.xz - # Set Git safe directory for Flutter path git config --global --add safe.directory "$(pwd)/flutter" - # Set Flutter path - echo "$(pwd)/flutter/bin" >> $GITHUB_PATH + echo "$(pwd)/flutter/bin" >> $GITEA_PATH - name: Get dependencies run: flutter pub get - name: Run tests - run: flutter test \ No newline at end of file + run: flutter test diff --git a/.gitea/workflows/push.yaml b/.gitea/workflows/push.yaml index 700e96b..dfcee5f 100644 --- a/.gitea/workflows/push.yaml +++ b/.gitea/workflows/push.yaml @@ -7,44 +7,95 @@ on: - "main" jobs: - format: + test: runs-on: ubuntu-latest - if: false # Needs bot user steps: - name: Checkout code uses: actions/checkout@v4 - - name: Install dependencies + - name: Install Flutter (wget) run: | - apt-get update - apt-get install -y jq + wget --show-progress --progress=bar:force:noscroll:giga https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz + tar xf flutter_linux_3.38.2-stable.tar.xz + git config --global --add safe.directory "$(pwd)/flutter" + echo "$(pwd)/flutter/bin" >> $GITEA_PATH + + - name: Get dependencies + run: flutter pub get + + - name: Run tests + run: flutter test + + format: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 - name: Install Flutter (wget) run: | - wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz + wget --show-progress --progress=bar:force:noscroll:giga https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz tar xf flutter_linux_3.38.2-stable.tar.xz - # Set Git safe directory for Flutter path git config --global --add safe.directory "$(pwd)/flutter" - # Set Flutter path - echo "$(pwd)/flutter/bin" >> $GITHUB_PATH + echo "$(pwd)/flutter/bin" >> $GITEA_PATH - - name: Get & upgrade dependencies - run: | - flutter pub get - flutter pub upgrade --major-versions + - name: Get dependencies + run: flutter pub get - - name: Auto-format - run: | - dart format lib - dart fix --apply lib + - name: Check code format + id: check_format + continue-on-error: true + run: flutter analyze lib test - # Needs credentials, push access and the right files need to be staged - - name: Commit Changes + - name: Format code + if: steps.check_format.outcome == 'failure' + env: + GITEA_TOKEN: ${{ secrets.BOT_TOKEN }} run: | - git config --global user.name "Gitea Actions" - git config --global user.email "actions@gitea.com" - git status - git add lib/ - git status - git commit -m "Actions: Auto-formatting [skip ci]" - git push + git fetch origin ${{ gitea.head_ref }} + git checkout ${{ gitea.head_ref }} + + dart fix --apply lib + dart fix --apply test + + if [ -n "$(git status --porcelain lib test)" ]; then + git config --global user.name "Gitea Actions [bot]" + git config --global user.email "actions@yannick-weigert.de" + git add lib test + git commit -m "Auto-format code [skip ci]" + git push origin HEAD:${{ gitea.head_ref }} + else + echo "No changes to commit" + fi + + - name: Verify format + run: flutter analyze lib test + + update_version: + runs-on: ubuntu-latest + needs: Format + if: gitea.ref == 'refs/heads/development' + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.BOT_TOKEN }} + ref: ${{ gitea.head_ref }} + + - name: Increment version number + uses: https://github.com/stikkyapp/update-pubspec-version@v2 + with: + strategy: 'patch' + path: './pubspec.yaml' + + + - name: Commit version update + env: + GITEA_TOKEN: ${{ secrets.BOT_TOKEN }} + run: | + git config --global user.name "Gitea Actions [bot]" + git config --global user.email "actions@yannick-weigert.de" + git add pubspec.yaml + git commit -m "Updated version number [skip ci]" + git push origin HEAD:${{ gitea.head_ref }} \ No newline at end of file From eb404f3ef20021763aeb7582390445823eb68bd7 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Tue, 20 Jan 2026 11:54:15 +0100 Subject: [PATCH 074/198] Fixed push pipeline --- .gitea/workflows/push.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/push.yaml b/.gitea/workflows/push.yaml index dfcee5f..ca931b7 100644 --- a/.gitea/workflows/push.yaml +++ b/.gitea/workflows/push.yaml @@ -5,6 +5,7 @@ on: branches: - "development" - "main" + - "hotfix/*" jobs: test: @@ -63,7 +64,7 @@ jobs: git config --global user.email "actions@yannick-weigert.de" git add lib test git commit -m "Auto-format code [skip ci]" - git push origin HEAD:${{ gitea.head_ref }} + git push origin HEAD:${{ gitea.ref_name }} else echo "No changes to commit" fi @@ -98,4 +99,4 @@ jobs: git config --global user.email "actions@yannick-weigert.de" git add pubspec.yaml git commit -m "Updated version number [skip ci]" - git push origin HEAD:${{ gitea.head_ref }} \ No newline at end of file + git push origin HEAD:${{ gitea.ref_name }} \ No newline at end of file From e9929426e028df8bdd6a6be96354ff389c989f5e Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Tue, 20 Jan 2026 11:57:17 +0100 Subject: [PATCH 075/198] Removed development restriction --- .gitea/workflows/push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/push.yaml b/.gitea/workflows/push.yaml index ca931b7..bcc94f0 100644 --- a/.gitea/workflows/push.yaml +++ b/.gitea/workflows/push.yaml @@ -75,7 +75,7 @@ jobs: update_version: runs-on: ubuntu-latest needs: Format - if: gitea.ref == 'refs/heads/development' + # if: gitea.ref == 'refs/heads/development' steps: - name: Checkout code uses: actions/checkout@v4 From 4c1c22123e6c995dd0f02ceaa623bb6a092bab0f Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Tue, 20 Jan 2026 10:59:27 +0000 Subject: [PATCH 076/198] Updated version number [skip ci] --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index a2f8c9d..938c169 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: game_tracker description: "Game Tracking App for Card Games" publish_to: 'none' -version: 0.0.10+237 +version: 0.0.11+238 environment: sdk: ^3.8.1 From 057f8c1d588516a31fac45545457de3b3bfc42a9 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Tue, 20 Jan 2026 12:00:33 +0100 Subject: [PATCH 077/198] Changed workflow back to prod mode --- .gitea/workflows/push.yaml | 3 +-- pubspec.yaml | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/push.yaml b/.gitea/workflows/push.yaml index bcc94f0..63a3553 100644 --- a/.gitea/workflows/push.yaml +++ b/.gitea/workflows/push.yaml @@ -5,7 +5,6 @@ on: branches: - "development" - "main" - - "hotfix/*" jobs: test: @@ -75,7 +74,7 @@ jobs: update_version: runs-on: ubuntu-latest needs: Format - # if: gitea.ref == 'refs/heads/development' + if: gitea.ref == 'refs/heads/development' steps: - name: Checkout code uses: actions/checkout@v4 diff --git a/pubspec.yaml b/pubspec.yaml index 938c169..0bb6c98 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: game_tracker description: "Game Tracking App for Card Games" publish_to: 'none' -version: 0.0.11+238 +version: 0.0.10+238 environment: sdk: ^3.8.1 From bc51b23563535dcb7318ea43c8a87d9b01a7be48 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Tue, 20 Jan 2026 12:03:31 +0100 Subject: [PATCH 078/198] Updated ref names --- .gitea/workflows/push.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/push.yaml b/.gitea/workflows/push.yaml index 63a3553..20319e2 100644 --- a/.gitea/workflows/push.yaml +++ b/.gitea/workflows/push.yaml @@ -52,8 +52,8 @@ jobs: env: GITEA_TOKEN: ${{ secrets.BOT_TOKEN }} run: | - git fetch origin ${{ gitea.head_ref }} - git checkout ${{ gitea.head_ref }} + git fetch origin ${{ gitea.ref_name }} + git checkout ${{ gitea.ref_name }} dart fix --apply lib dart fix --apply test @@ -73,7 +73,7 @@ jobs: update_version: runs-on: ubuntu-latest - needs: Format + needs: format if: gitea.ref == 'refs/heads/development' steps: - name: Checkout code @@ -81,7 +81,7 @@ jobs: with: fetch-depth: 0 token: ${{ secrets.BOT_TOKEN }} - ref: ${{ gitea.head_ref }} + ref: ${{ gitea.ref_name }} - name: Increment version number uses: https://github.com/stikkyapp/update-pubspec-version@v2 From 4e73babb710af623cf2c5094db6fe9819f8488a1 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 20 Jan 2026 15:28:26 +0100 Subject: [PATCH 079/198] rename game_test to match_test --- test/db_tests/{game_test.dart => match_test.dart} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename test/db_tests/{game_test.dart => match_test.dart} (100%) diff --git a/test/db_tests/game_test.dart b/test/db_tests/match_test.dart similarity index 100% rename from test/db_tests/game_test.dart rename to test/db_tests/match_test.dart From dec74e9b627712fcf7017300c63c23826b5c90c2 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 20 Jan 2026 15:41:05 +0100 Subject: [PATCH 080/198] add game tests --- test/db_tests/game_test.dart | 522 +++++++++++++++++++++++++++++++++++ 1 file changed, 522 insertions(+) create mode 100644 test/db_tests/game_test.dart diff --git a/test/db_tests/game_test.dart b/test/db_tests/game_test.dart new file mode 100644 index 0000000..924e673 --- /dev/null +++ b/test/db_tests/game_test.dart @@ -0,0 +1,522 @@ +import 'package:clock/clock.dart'; +import 'package:drift/drift.dart' hide isNull; +import 'package:drift/native.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/dto/game.dart'; + +void main() { + late AppDatabase database; + late Game testGame1; + late Game testGame2; + late Game testGame3; + final fixedDate = DateTime(2025, 11, 19, 00, 11, 23); + final fakeClock = Clock(() => fixedDate); + + setUp(() { + database = AppDatabase( + DatabaseConnection( + NativeDatabase.memory(), + closeStreamsSynchronously: true, + ), + ); + + withClock(fakeClock, () { + testGame1 = Game( + name: 'Chess', + ruleset: 'winner.single', + description: 'A classic strategy game', + color: 0xFF0000FF, + icon: 'chess_icon', + ); + testGame2 = Game( + id: 'game2', + name: 'Poker', + ruleset: 'Texas Hold\'em rules', + description: 'winner.multiple', + color: 0xFFFF0000, + icon: 'poker_icon', + ); + testGame3 = Game( + id: 'game3', + name: 'Monopoly', + description: 'A board game about real estate', + ); + }); + }); + + tearDown(() async { + await database.close(); + }); + + group('Game Tests', () { + // ==================== getAllGames ==================== + test('getAllGames returns empty list when no games exist', () async { + final allGames = await database.gameDao.getAllGames(); + expect(allGames, isEmpty); + }); + + test('Adding and fetching a single game works correctly', () async { + await database.gameDao.addGame(game: testGame1); + + final allGames = await database.gameDao.getAllGames(); + expect(allGames.length, 1); + expect(allGames.first.id, testGame1.id); + expect(allGames.first.name, testGame1.name); + expect(allGames.first.ruleset, testGame1.ruleset); + expect(allGames.first.description, testGame1.description); + expect(allGames.first.color, testGame1.color); + expect(allGames.first.icon, testGame1.icon); + expect(allGames.first.createdAt, testGame1.createdAt); + }); + + test('Adding and fetching multiple games works correctly', () async { + await database.gameDao.addGame(game: testGame1); + await database.gameDao.addGame(game: testGame2); + await database.gameDao.addGame(game: testGame3); + + final allGames = await database.gameDao.getAllGames(); + expect(allGames.length, 3); + + final names = allGames.map((g) => g.name).toList(); + expect(names, containsAll(['Chess', 'Poker', 'Monopoly'])); + }); + + // ==================== getGameById ==================== + test('getGameById returns correct game', () async { + await database.gameDao.addGame(game: testGame1); + await database.gameDao.addGame(game: testGame2); + + final game = await database.gameDao.getGameById(gameId: testGame2.id); + expect(game.id, testGame2.id); + expect(game.name, testGame2.name); + expect(game.ruleset, testGame2.ruleset); + expect(game.description, testGame2.description); + expect(game.color, testGame2.color); + expect(game.icon, testGame2.icon); + }); + + test('getGameById throws exception for non-existent game', () async { + expect( + () => database.gameDao.getGameById(gameId: 'non-existent-id'), + throwsA(isA()), + ); + }); + + // ==================== addGame ==================== + test('addGame returns true when game is added successfully', () async { + final result = await database.gameDao.addGame(game: testGame1); + expect(result, true); + + final allGames = await database.gameDao.getAllGames(); + expect(allGames.length, 1); + }); + + test('addGame returns false when game already exists', () async { + final firstAdd = await database.gameDao.addGame(game: testGame1); + expect(firstAdd, true); + + final secondAdd = await database.gameDao.addGame(game: testGame1); + expect(secondAdd, false); + + final allGames = await database.gameDao.getAllGames(); + expect(allGames.length, 1); + }); + + test('addGame handles game with null optional fields', () async { + final gameWithNulls = Game(name: 'Simple Game'); + final result = await database.gameDao.addGame(game: gameWithNulls); + expect(result, true); + + final fetchedGame = await database.gameDao.getGameById( + gameId: gameWithNulls.id, + ); + expect(fetchedGame.name, 'Simple Game'); + expect(fetchedGame.description, isNull); + expect(fetchedGame.color, isNull); + expect(fetchedGame.icon, isNull); + }); + + // ==================== addGamesAsList ==================== + test('addGamesAsList adds multiple games correctly', () async { + final result = await database.gameDao.addGamesAsList( + games: [testGame1, testGame2, testGame3], + ); + expect(result, true); + + final allGames = await database.gameDao.getAllGames(); + expect(allGames.length, 3); + }); + + test('addGamesAsList returns false for empty list', () async { + final result = await database.gameDao.addGamesAsList(games: []); + expect(result, false); + + final allGames = await database.gameDao.getAllGames(); + expect(allGames.length, 0); + }); + + test('addGamesAsList ignores duplicate games', () async { + await database.gameDao.addGame(game: testGame1); + + final result = await database.gameDao.addGamesAsList( + games: [testGame1, testGame2], + ); + expect(result, true); + + final allGames = await database.gameDao.getAllGames(); + expect(allGames.length, 2); + }); + + // ==================== deleteGame ==================== + test('deleteGame returns true when game is deleted', () async { + await database.gameDao.addGame(game: testGame1); + + final result = await database.gameDao.deleteGame(gameId: testGame1.id); + expect(result, true); + + final allGames = await database.gameDao.getAllGames(); + expect(allGames, isEmpty); + }); + + test('deleteGame returns false for non-existent game', () async { + final result = await database.gameDao.deleteGame( + gameId: 'non-existent-id', + ); + expect(result, false); + }); + + test('deleteGame only deletes the specified game', () async { + await database.gameDao.addGamesAsList( + games: [testGame1, testGame2, testGame3], + ); + + await database.gameDao.deleteGame(gameId: testGame2.id); + + final allGames = await database.gameDao.getAllGames(); + expect(allGames.length, 2); + expect(allGames.any((g) => g.id == testGame2.id), false); + expect(allGames.any((g) => g.id == testGame1.id), true); + expect(allGames.any((g) => g.id == testGame3.id), true); + }); + + // ==================== gameExists ==================== + test('gameExists returns true for existing game', () async { + await database.gameDao.addGame(game: testGame1); + + final exists = await database.gameDao.gameExists(gameId: testGame1.id); + expect(exists, true); + }); + + test('gameExists returns false for non-existent game', () async { + final exists = await database.gameDao.gameExists( + gameId: 'non-existent-id', + ); + expect(exists, false); + }); + + test('gameExists returns false after game is deleted', () async { + await database.gameDao.addGame(game: testGame1); + await database.gameDao.deleteGame(gameId: testGame1.id); + + final exists = await database.gameDao.gameExists(gameId: testGame1.id); + expect(exists, false); + }); + + // ==================== updateGameName ==================== + test('updateGameName updates the name correctly', () async { + await database.gameDao.addGame(game: testGame1); + + await database.gameDao.updateGameName( + gameId: testGame1.id, + newName: 'Updated Chess', + ); + + final updatedGame = await database.gameDao.getGameById( + gameId: testGame1.id, + ); + expect(updatedGame.name, 'Updated Chess'); + expect(updatedGame.ruleset, testGame1.ruleset); + }); + + test('updateGameName does nothing for non-existent game', () async { + await database.gameDao.updateGameName( + gameId: 'non-existent-id', + newName: 'New Name', + ); + + final allGames = await database.gameDao.getAllGames(); + expect(allGames, isEmpty); + }); + + // ==================== updateGameRuleset ==================== + test('updateGameRuleset updates the ruleset correctly', () async { + await database.gameDao.addGame(game: testGame1); + + await database.gameDao.updateGameRuleset( + gameId: testGame1.id, + newRuleset: 'New ruleset for chess', + ); + + final updatedGame = await database.gameDao.getGameById( + gameId: testGame1.id, + ); + expect(updatedGame.ruleset, 'New ruleset for chess'); + expect(updatedGame.name, testGame1.name); + }); + + test('updateGameRuleset does nothing for non-existent game', () async { + await database.gameDao.updateGameRuleset( + gameId: 'non-existent-id', + newRuleset: 'New Ruleset', + ); + + final allGames = await database.gameDao.getAllGames(); + expect(allGames, isEmpty); + }); + + // ==================== updateGameDescription ==================== + test('updateGameDescription updates the description correctly', () async { + await database.gameDao.addGame(game: testGame1); + + await database.gameDao.updateGameDescription( + gameId: testGame1.id, + newDescription: 'An updated description', + ); + + final updatedGame = await database.gameDao.getGameById( + gameId: testGame1.id, + ); + expect(updatedGame.description, 'An updated description'); + }); + + test('updateGameDescription can set description to null', () async { + await database.gameDao.addGame(game: testGame1); + + await database.gameDao.updateGameDescription( + gameId: testGame1.id, + newDescription: null, + ); + + final updatedGame = await database.gameDao.getGameById( + gameId: testGame1.id, + ); + expect(updatedGame.description, isNull); + }); + + test('updateGameDescription does nothing for non-existent game', () async { + await database.gameDao.updateGameDescription( + gameId: 'non-existent-id', + newDescription: 'New Description', + ); + + final allGames = await database.gameDao.getAllGames(); + expect(allGames, isEmpty); + }); + + // ==================== updateGameColor ==================== + test('updateGameColor updates the color correctly', () async { + await database.gameDao.addGame(game: testGame1); + + await database.gameDao.updateGameColor( + gameId: testGame1.id, + newColor: 0xFF00FF00, + ); + + final updatedGame = await database.gameDao.getGameById( + gameId: testGame1.id, + ); + expect(updatedGame.color, 0xFF00FF00); + }); + + test('updateGameColor can set color to null', () async { + await database.gameDao.addGame(game: testGame1); + + await database.gameDao.updateGameColor( + gameId: testGame1.id, + newColor: null, + ); + + final updatedGame = await database.gameDao.getGameById( + gameId: testGame1.id, + ); + expect(updatedGame.color, isNull); + }); + + test('updateGameColor does nothing for non-existent game', () async { + await database.gameDao.updateGameColor( + gameId: 'non-existent-id', + newColor: 0xFF00FF00, + ); + + final allGames = await database.gameDao.getAllGames(); + expect(allGames, isEmpty); + }); + + // ==================== updateGameIcon ==================== + test('updateGameIcon updates the icon correctly', () async { + await database.gameDao.addGame(game: testGame1); + + await database.gameDao.updateGameIcon( + gameId: testGame1.id, + newIcon: 'new_chess_icon', + ); + + final updatedGame = await database.gameDao.getGameById( + gameId: testGame1.id, + ); + expect(updatedGame.icon, 'new_chess_icon'); + }); + + test('updateGameIcon can set icon to null', () async { + await database.gameDao.addGame(game: testGame1); + + await database.gameDao.updateGameIcon( + gameId: testGame1.id, + newIcon: null, + ); + + final updatedGame = await database.gameDao.getGameById( + gameId: testGame1.id, + ); + expect(updatedGame.icon, isNull); + }); + + test('updateGameIcon does nothing for non-existent game', () async { + await database.gameDao.updateGameIcon( + gameId: 'non-existent-id', + newIcon: 'some_icon', + ); + + final allGames = await database.gameDao.getAllGames(); + expect(allGames, isEmpty); + }); + + // ==================== getGameCount ==================== + test('getGameCount returns 0 when no games exist', () async { + final count = await database.gameDao.getGameCount(); + expect(count, 0); + }); + + test('getGameCount returns correct count after adding games', () async { + await database.gameDao.addGamesAsList( + games: [testGame1, testGame2, testGame3], + ); + + final count = await database.gameDao.getGameCount(); + expect(count, 3); + }); + + test('getGameCount updates correctly after deletion', () async { + await database.gameDao.addGamesAsList( + games: [testGame1, testGame2], + ); + + final countBefore = await database.gameDao.getGameCount(); + expect(countBefore, 2); + + await database.gameDao.deleteGame(gameId: testGame1.id); + + final countAfter = await database.gameDao.getGameCount(); + expect(countAfter, 1); + }); + + // ==================== deleteAllGames ==================== + test('deleteAllGames removes all games', () async { + await database.gameDao.addGamesAsList( + games: [testGame1, testGame2, testGame3], + ); + + final countBefore = await database.gameDao.getGameCount(); + expect(countBefore, 3); + + final result = await database.gameDao.deleteAllGames(); + expect(result, true); + + final countAfter = await database.gameDao.getGameCount(); + expect(countAfter, 0); + }); + + test('deleteAllGames returns false when no games exist', () async { + final result = await database.gameDao.deleteAllGames(); + expect(result, false); + }); + + // ==================== Edge Cases ==================== + test('Game with special characters in name is stored correctly', () async { + final specialGame = Game( + name: 'Game\'s & "Special" ', + description: 'Description with émojis 🎮🎲', + ); + await database.gameDao.addGame(game: specialGame); + + final fetchedGame = await database.gameDao.getGameById( + gameId: specialGame.id, + ); + expect(fetchedGame.name, 'Game\'s & "Special" '); + expect(fetchedGame.description, 'Description with émojis 🎮🎲'); + }); + + test('Game with empty string fields is stored correctly', () async { + final emptyGame = Game( + name: '', + ruleset: '', + description: '', + icon: '', + ); + await database.gameDao.addGame(game: emptyGame); + + final fetchedGame = await database.gameDao.getGameById( + gameId: emptyGame.id, + ); + expect(fetchedGame.name, ''); + expect(fetchedGame.ruleset, ''); + expect(fetchedGame.description, ''); + expect(fetchedGame.icon, ''); + }); + + test('Game with very long strings is stored correctly', () async { + final longString = 'A' * 10000; + final longGame = Game( + name: longString, + description: longString, + ruleset: longString, + ); + await database.gameDao.addGame(game: longGame); + + final fetchedGame = await database.gameDao.getGameById( + gameId: longGame.id, + ); + expect(fetchedGame.name.length, 10000); + expect(fetchedGame.description?.length, 10000); + expect(fetchedGame.ruleset?.length, 10000); + }); + + test('Multiple updates to the same game work correctly', () async { + await database.gameDao.addGame(game: testGame1); + + await database.gameDao.updateGameName( + gameId: testGame1.id, + newName: 'Updated Name', + ); + await database.gameDao.updateGameColor( + gameId: testGame1.id, + newColor: 0xFF123456, + ); + await database.gameDao.updateGameDescription( + gameId: testGame1.id, + newDescription: 'Updated Description', + ); + + final updatedGame = await database.gameDao.getGameById( + gameId: testGame1.id, + ); + expect(updatedGame.name, 'Updated Name'); + expect(updatedGame.color, 0xFF123456); + expect(updatedGame.description, 'Updated Description'); + expect(updatedGame.ruleset, testGame1.ruleset); + expect(updatedGame.icon, testGame1.icon); + }); + }); +} + From b0b21bcba613ebbbeb3dea9fc81fcc2d4dd445fa Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 20 Jan 2026 15:48:40 +0100 Subject: [PATCH 081/198] add new group tests --- test/db_tests/group_test.dart | 171 +++++++++++++++++++++++++++++++++- 1 file changed, 170 insertions(+), 1 deletion(-) diff --git a/test/db_tests/group_test.dart b/test/db_tests/group_test.dart index 08f8379..99df9de 100644 --- a/test/db_tests/group_test.dart +++ b/test/db_tests/group_test.dart @@ -1,5 +1,5 @@ import 'package:clock/clock.dart'; -import 'package:drift/drift.dart'; +import 'package:drift/drift.dart' hide isNull; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:game_tracker/data/db/database.dart'; @@ -173,5 +173,174 @@ void main() { final finalCount = await database.groupDao.getGroupCount(); expect(finalCount, 0); }); + + test('getAllGroups returns empty list when no groups exist', () async { + final allGroups = await database.groupDao.getAllGroups(); + expect(allGroups, isEmpty); + }); + + test('getGroupById throws exception for non-existent group', () async { + expect( + () => database.groupDao.getGroupById(groupId: 'non-existent-id'), + throwsA(isA()), + ); + }); + + test('addGroup returns false when group already exists', () async { + final firstAdd = await database.groupDao.addGroup(group: testGroup1); + expect(firstAdd, true); + + final secondAdd = await database.groupDao.addGroup(group: testGroup1); + expect(secondAdd, false); + + final allGroups = await database.groupDao.getAllGroups(); + expect(allGroups.length, 1); + }); + + test('addGroupsAsList handles empty list correctly', () async { + await database.groupDao.addGroupsAsList(groups: []); + + final allGroups = await database.groupDao.getAllGroups(); + expect(allGroups.length, 0); + }); + + test('deleteGroup returns false for non-existent group', () async { + final deleted = await database.groupDao.deleteGroup( + groupId: 'non-existent-id', + ); + expect(deleted, false); + }); + + test('updateGroupName returns false for non-existent group', () async { + final updated = await database.groupDao.updateGroupName( + groupId: 'non-existent-id', + newName: 'New Name', + ); + expect(updated, false); + }); + + test('Updating a group description works correctly', () async { + await database.groupDao.addGroup(group: testGroup1); + + const newDescription = 'This is a new description'; + + final updated = await database.groupDao.updateGroupDescription( + groupId: testGroup1.id, + newDescription: newDescription, + ); + expect(updated, true); + + final result = await database.groupDao.getGroupById( + groupId: testGroup1.id, + ); + expect(result.description, newDescription); + }); + + test('updateGroupDescription can set description to null', () async { + final groupWithDescription = Group( + name: 'Group with description', + description: 'Initial description', + members: [testPlayer1], + ); + await database.groupDao.addGroup(group: groupWithDescription); + + final updated = await database.groupDao.updateGroupDescription( + groupId: groupWithDescription.id, + newDescription: null, + ); + expect(updated, true); + + final result = await database.groupDao.getGroupById( + groupId: groupWithDescription.id, + ); + expect(result.description, isNull); + }); + + test('updateGroupDescription returns false for non-existent group', + () async { + final updated = await database.groupDao.updateGroupDescription( + groupId: 'non-existent-id', + newDescription: 'New Description', + ); + expect(updated, false); + }); + + test('deleteAllGroups removes all groups', () async { + await database.groupDao.addGroupsAsList( + groups: [testGroup1, testGroup2], + ); + + final countBefore = await database.groupDao.getGroupCount(); + expect(countBefore, 2); + + final deleted = await database.groupDao.deleteAllGroups(); + expect(deleted, true); + + final countAfter = await database.groupDao.getGroupCount(); + expect(countAfter, 0); + }); + + test('deleteAllGroups returns false when no groups exist', () async { + final deleted = await database.groupDao.deleteAllGroups(); + expect(deleted, false); + }); + + test('Group with special characters in name is stored correctly', () async { + final specialGroup = Group( + name: 'Group\'s & "Special" ', + description: 'Description with émojis 🎮🎲', + members: [testPlayer1], + ); + await database.groupDao.addGroup(group: specialGroup); + + final fetchedGroup = await database.groupDao.getGroupById( + groupId: specialGroup.id, + ); + expect(fetchedGroup.name, 'Group\'s & "Special" '); + expect(fetchedGroup.description, 'Description with émojis 🎮🎲'); + }); + + test('Group with empty members list is stored correctly', () async { + final emptyGroup = Group( + name: 'Empty Group', + members: [], + ); + await database.groupDao.addGroup(group: emptyGroup); + + final fetchedGroup = await database.groupDao.getGroupById( + groupId: emptyGroup.id, + ); + expect(fetchedGroup.name, 'Empty Group'); + expect(fetchedGroup.members, isEmpty); + }); + + test('Multiple updates to the same group work correctly', () async { + await database.groupDao.addGroup(group: testGroup1); + + await database.groupDao.updateGroupName( + groupId: testGroup1.id, + newName: 'Updated Name', + ); + await database.groupDao.updateGroupDescription( + groupId: testGroup1.id, + newDescription: 'Updated Description', + ); + + final updatedGroup = await database.groupDao.getGroupById( + groupId: testGroup1.id, + ); + expect(updatedGroup.name, 'Updated Name'); + expect(updatedGroup.description, 'Updated Description'); + expect(updatedGroup.members.length, testGroup1.members.length); + }); + + test('addGroupsAsList with duplicate groups only adds once', () async { + await database.groupDao.addGroupsAsList( + groups: [testGroup1, testGroup1, testGroup1], + ); + + final allGroups = await database.groupDao.getAllGroups(); + expect(allGroups.length, 1); + }); }); } From 8ee2b6cb067cf082663339dac843bb4c0ff00547 Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Tue, 20 Jan 2026 14:55:05 +0000 Subject: [PATCH 082/198] Updated version number [skip ci] --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 0bb6c98..c22d107 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: game_tracker description: "Game Tracking App for Card Games" publish_to: 'none' -version: 0.0.10+238 +version: 0.0.11+239 environment: sdk: ^3.8.1 From e09ccf93567475b727be1b2383b5ac055d1a2fab Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 20 Jan 2026 15:58:16 +0100 Subject: [PATCH 083/198] add comments to all tests --- test/db_tests/game_test.dart | 54 ++++++++++++++++++++-------- test/db_tests/group_test.dart | 23 ++++++++++++ test/db_tests/match_test.dart | 12 +++++++ test/db_tests/player_group_test.dart | 5 +-- test/db_tests/player_match_test.dart | 7 ++++ test/db_tests/player_test.dart | 8 +++++ test/db_tests/score_test.dart | 15 +++++++- test/db_tests/team_test.dart | 16 +++++++-- 8 files changed, 121 insertions(+), 19 deletions(-) diff --git a/test/db_tests/game_test.dart b/test/db_tests/game_test.dart index 924e673..a1d8c1f 100644 --- a/test/db_tests/game_test.dart +++ b/test/db_tests/game_test.dart @@ -50,12 +50,14 @@ void main() { }); group('Game Tests', () { - // ==================== getAllGames ==================== + + // Verifies that getAllGames returns an empty list when the database has no games. test('getAllGames returns empty list when no games exist', () async { final allGames = await database.gameDao.getAllGames(); expect(allGames, isEmpty); }); + // Verifies that a single game can be added and retrieved with all fields intact. test('Adding and fetching a single game works correctly', () async { await database.gameDao.addGame(game: testGame1); @@ -70,6 +72,7 @@ void main() { expect(allGames.first.createdAt, testGame1.createdAt); }); + // Verifies that multiple games can be added and retrieved correctly. test('Adding and fetching multiple games works correctly', () async { await database.gameDao.addGame(game: testGame1); await database.gameDao.addGame(game: testGame2); @@ -82,7 +85,7 @@ void main() { expect(names, containsAll(['Chess', 'Poker', 'Monopoly'])); }); - // ==================== getGameById ==================== + // Verifies that getGameById returns the correct game with all properties. test('getGameById returns correct game', () async { await database.gameDao.addGame(game: testGame1); await database.gameDao.addGame(game: testGame2); @@ -96,6 +99,7 @@ void main() { expect(game.icon, testGame2.icon); }); + // Verifies that getGameById throws a StateError when the game doesn't exist. test('getGameById throws exception for non-existent game', () async { expect( () => database.gameDao.getGameById(gameId: 'non-existent-id'), @@ -103,7 +107,7 @@ void main() { ); }); - // ==================== addGame ==================== + // Verifies that addGame returns true when a game is successfully added. test('addGame returns true when game is added successfully', () async { final result = await database.gameDao.addGame(game: testGame1); expect(result, true); @@ -112,6 +116,7 @@ void main() { expect(allGames.length, 1); }); + // Verifies that addGame returns false when trying to add a duplicate game. test('addGame returns false when game already exists', () async { final firstAdd = await database.gameDao.addGame(game: testGame1); expect(firstAdd, true); @@ -123,6 +128,7 @@ void main() { expect(allGames.length, 1); }); + // Verifies that a game with null optional fields can be added and retrieved. test('addGame handles game with null optional fields', () async { final gameWithNulls = Game(name: 'Simple Game'); final result = await database.gameDao.addGame(game: gameWithNulls); @@ -137,7 +143,7 @@ void main() { expect(fetchedGame.icon, isNull); }); - // ==================== addGamesAsList ==================== + // Verifies that multiple games can be added at once using addGamesAsList. test('addGamesAsList adds multiple games correctly', () async { final result = await database.gameDao.addGamesAsList( games: [testGame1, testGame2, testGame3], @@ -148,6 +154,7 @@ void main() { expect(allGames.length, 3); }); + // Verifies that addGamesAsList returns false when given an empty list. test('addGamesAsList returns false for empty list', () async { final result = await database.gameDao.addGamesAsList(games: []); expect(result, false); @@ -156,6 +163,7 @@ void main() { expect(allGames.length, 0); }); + // Verifies that addGamesAsList ignores duplicate games when adding. test('addGamesAsList ignores duplicate games', () async { await database.gameDao.addGame(game: testGame1); @@ -168,7 +176,7 @@ void main() { expect(allGames.length, 2); }); - // ==================== deleteGame ==================== + // Verifies that deleteGame returns true and removes the game from database. test('deleteGame returns true when game is deleted', () async { await database.gameDao.addGame(game: testGame1); @@ -179,6 +187,7 @@ void main() { expect(allGames, isEmpty); }); + // Verifies that deleteGame returns false for a non-existent game ID. test('deleteGame returns false for non-existent game', () async { final result = await database.gameDao.deleteGame( gameId: 'non-existent-id', @@ -186,6 +195,7 @@ void main() { expect(result, false); }); + // Verifies that deleteGame only removes the specified game, leaving others intact. test('deleteGame only deletes the specified game', () async { await database.gameDao.addGamesAsList( games: [testGame1, testGame2, testGame3], @@ -200,7 +210,7 @@ void main() { expect(allGames.any((g) => g.id == testGame3.id), true); }); - // ==================== gameExists ==================== + // Verifies that gameExists returns true when the game exists in database. test('gameExists returns true for existing game', () async { await database.gameDao.addGame(game: testGame1); @@ -208,6 +218,7 @@ void main() { expect(exists, true); }); + // Verifies that gameExists returns false for a non-existent game ID. test('gameExists returns false for non-existent game', () async { final exists = await database.gameDao.gameExists( gameId: 'non-existent-id', @@ -215,6 +226,7 @@ void main() { expect(exists, false); }); + // Verifies that gameExists returns false after a game has been deleted. test('gameExists returns false after game is deleted', () async { await database.gameDao.addGame(game: testGame1); await database.gameDao.deleteGame(gameId: testGame1.id); @@ -223,7 +235,7 @@ void main() { expect(exists, false); }); - // ==================== updateGameName ==================== + // Verifies that updateGameName correctly updates only the name field. test('updateGameName updates the name correctly', () async { await database.gameDao.addGame(game: testGame1); @@ -239,6 +251,7 @@ void main() { expect(updatedGame.ruleset, testGame1.ruleset); }); + // Verifies that updateGameName does nothing when game doesn't exist. test('updateGameName does nothing for non-existent game', () async { await database.gameDao.updateGameName( gameId: 'non-existent-id', @@ -249,7 +262,7 @@ void main() { expect(allGames, isEmpty); }); - // ==================== updateGameRuleset ==================== + // Verifies that updateGameRuleset correctly updates only the ruleset field. test('updateGameRuleset updates the ruleset correctly', () async { await database.gameDao.addGame(game: testGame1); @@ -265,6 +278,7 @@ void main() { expect(updatedGame.name, testGame1.name); }); + // Verifies that updateGameRuleset does nothing when game doesn't exist. test('updateGameRuleset does nothing for non-existent game', () async { await database.gameDao.updateGameRuleset( gameId: 'non-existent-id', @@ -275,7 +289,7 @@ void main() { expect(allGames, isEmpty); }); - // ==================== updateGameDescription ==================== + // Verifies that updateGameDescription correctly updates the description. test('updateGameDescription updates the description correctly', () async { await database.gameDao.addGame(game: testGame1); @@ -290,6 +304,7 @@ void main() { expect(updatedGame.description, 'An updated description'); }); + // Verifies that updateGameDescription can set the description to null. test('updateGameDescription can set description to null', () async { await database.gameDao.addGame(game: testGame1); @@ -304,6 +319,7 @@ void main() { expect(updatedGame.description, isNull); }); + // Verifies that updateGameDescription does nothing when game doesn't exist. test('updateGameDescription does nothing for non-existent game', () async { await database.gameDao.updateGameDescription( gameId: 'non-existent-id', @@ -314,7 +330,7 @@ void main() { expect(allGames, isEmpty); }); - // ==================== updateGameColor ==================== + // Verifies that updateGameColor correctly updates the color value. test('updateGameColor updates the color correctly', () async { await database.gameDao.addGame(game: testGame1); @@ -329,6 +345,7 @@ void main() { expect(updatedGame.color, 0xFF00FF00); }); + // Verifies that updateGameColor can set the color to null. test('updateGameColor can set color to null', () async { await database.gameDao.addGame(game: testGame1); @@ -343,6 +360,7 @@ void main() { expect(updatedGame.color, isNull); }); + // Verifies that updateGameColor does nothing when game doesn't exist. test('updateGameColor does nothing for non-existent game', () async { await database.gameDao.updateGameColor( gameId: 'non-existent-id', @@ -353,7 +371,7 @@ void main() { expect(allGames, isEmpty); }); - // ==================== updateGameIcon ==================== + // Verifies that updateGameIcon correctly updates the icon value. test('updateGameIcon updates the icon correctly', () async { await database.gameDao.addGame(game: testGame1); @@ -368,6 +386,7 @@ void main() { expect(updatedGame.icon, 'new_chess_icon'); }); + // Verifies that updateGameIcon can set the icon to null. test('updateGameIcon can set icon to null', () async { await database.gameDao.addGame(game: testGame1); @@ -382,6 +401,7 @@ void main() { expect(updatedGame.icon, isNull); }); + // Verifies that updateGameIcon does nothing when game doesn't exist. test('updateGameIcon does nothing for non-existent game', () async { await database.gameDao.updateGameIcon( gameId: 'non-existent-id', @@ -392,12 +412,13 @@ void main() { expect(allGames, isEmpty); }); - // ==================== getGameCount ==================== + // Verifies that getGameCount returns 0 when no games exist. test('getGameCount returns 0 when no games exist', () async { final count = await database.gameDao.getGameCount(); expect(count, 0); }); + // Verifies that getGameCount returns the correct count after adding games. test('getGameCount returns correct count after adding games', () async { await database.gameDao.addGamesAsList( games: [testGame1, testGame2, testGame3], @@ -407,6 +428,7 @@ void main() { expect(count, 3); }); + // Verifies that getGameCount updates correctly after deleting a game. test('getGameCount updates correctly after deletion', () async { await database.gameDao.addGamesAsList( games: [testGame1, testGame2], @@ -421,7 +443,7 @@ void main() { expect(countAfter, 1); }); - // ==================== deleteAllGames ==================== + // Verifies that deleteAllGames removes all games from the database. test('deleteAllGames removes all games', () async { await database.gameDao.addGamesAsList( games: [testGame1, testGame2, testGame3], @@ -437,12 +459,13 @@ void main() { expect(countAfter, 0); }); + // Verifies that deleteAllGames returns false when no games exist. test('deleteAllGames returns false when no games exist', () async { final result = await database.gameDao.deleteAllGames(); expect(result, false); }); - // ==================== Edge Cases ==================== + // Verifies that games with special characters (quotes, emojis) are stored correctly. test('Game with special characters in name is stored correctly', () async { final specialGame = Game( name: 'Game\'s & "Special" ', @@ -457,6 +480,7 @@ void main() { expect(fetchedGame.description, 'Description with émojis 🎮🎲'); }); + // Verifies that games with empty string fields are stored and retrieved correctly. test('Game with empty string fields is stored correctly', () async { final emptyGame = Game( name: '', @@ -475,6 +499,7 @@ void main() { expect(fetchedGame.icon, ''); }); + // Verifies that games with very long strings (10000 chars) are handled correctly. test('Game with very long strings is stored correctly', () async { final longString = 'A' * 10000; final longGame = Game( @@ -492,6 +517,7 @@ void main() { expect(fetchedGame.ruleset?.length, 10000); }); + // Verifies that multiple sequential updates to the same game work correctly. test('Multiple updates to the same game work correctly', () async { await database.gameDao.addGame(game: testGame1); diff --git a/test/db_tests/group_test.dart b/test/db_tests/group_test.dart index 99df9de..307fbb5 100644 --- a/test/db_tests/group_test.dart +++ b/test/db_tests/group_test.dart @@ -58,6 +58,8 @@ void main() { await database.close(); }); group('Group Tests', () { + + // Verifies that a single group can be added and retrieved with all fields and members intact. test('Adding and fetching a single group works correctly', () async { await database.groupDao.addGroup(group: testGroup1); @@ -80,6 +82,7 @@ void main() { } }); + // Verifies that multiple groups can be added and retrieved with correct members. test('Adding and fetching multiple groups works correctly', () async { await database.groupDao.addGroupsAsList( groups: [testGroup1, testGroup2, testGroup3, testGroup4], @@ -106,6 +109,7 @@ void main() { } }); + // Verifies that adding the same group twice does not create duplicates. test('Adding the same group twice does not create duplicates', () async { await database.groupDao.addGroup(group: testGroup1); await database.groupDao.addGroup(group: testGroup1); @@ -114,6 +118,7 @@ void main() { expect(allGroups.length, 1); }); + // Verifies that groupExists returns correct boolean based on group presence. test('Group existence check works correctly', () async { var groupExists = await database.groupDao.groupExists( groupId: testGroup1.id, @@ -126,6 +131,7 @@ void main() { expect(groupExists, true); }); + // Verifies that deleteGroup removes the group and returns true. test('Deleting a group works correctly', () async { await database.groupDao.addGroup(group: testGroup1); @@ -140,6 +146,7 @@ void main() { expect(groupExists, false); }); + // Verifies that updateGroupName correctly updates only the name field. test('Updating a group name works correcly', () async { await database.groupDao.addGroup(group: testGroup1); @@ -156,6 +163,7 @@ void main() { expect(result.name, newGroupName); }); + // Verifies that getGroupCount returns correct count through add/delete operations. test('Getting the group count works correctly', () async { final initialCount = await database.groupDao.getGroupCount(); expect(initialCount, 0); @@ -174,11 +182,13 @@ void main() { expect(finalCount, 0); }); + // Verifies that getAllGroups returns an empty list when no groups exist. test('getAllGroups returns empty list when no groups exist', () async { final allGroups = await database.groupDao.getAllGroups(); expect(allGroups, isEmpty); }); + // Verifies that getGroupById throws StateError for non-existent group ID. test('getGroupById throws exception for non-existent group', () async { expect( () => database.groupDao.getGroupById(groupId: 'non-existent-id'), @@ -186,6 +196,7 @@ void main() { ); }); + // Verifies that addGroup returns false when trying to add a duplicate group. test('addGroup returns false when group already exists', () async { final firstAdd = await database.groupDao.addGroup(group: testGroup1); expect(firstAdd, true); @@ -197,6 +208,7 @@ void main() { expect(allGroups.length, 1); }); + // Verifies that addGroupsAsList handles an empty list without errors. test('addGroupsAsList handles empty list correctly', () async { await database.groupDao.addGroupsAsList(groups: []); @@ -204,6 +216,7 @@ void main() { expect(allGroups.length, 0); }); + // Verifies that deleteGroup returns false for a non-existent group ID. test('deleteGroup returns false for non-existent group', () async { final deleted = await database.groupDao.deleteGroup( groupId: 'non-existent-id', @@ -211,6 +224,7 @@ void main() { expect(deleted, false); }); + // Verifies that updateGroupName returns false for a non-existent group ID. test('updateGroupName returns false for non-existent group', () async { final updated = await database.groupDao.updateGroupName( groupId: 'non-existent-id', @@ -219,6 +233,7 @@ void main() { expect(updated, false); }); + // Verifies that updateGroupDescription correctly updates the description field. test('Updating a group description works correctly', () async { await database.groupDao.addGroup(group: testGroup1); @@ -236,6 +251,7 @@ void main() { expect(result.description, newDescription); }); + // Verifies that updateGroupDescription can set the description to null. test('updateGroupDescription can set description to null', () async { final groupWithDescription = Group( name: 'Group with description', @@ -256,6 +272,7 @@ void main() { expect(result.description, isNull); }); + // Verifies that updateGroupDescription returns false for a non-existent group. test('updateGroupDescription returns false for non-existent group', () async { final updated = await database.groupDao.updateGroupDescription( @@ -265,6 +282,7 @@ void main() { expect(updated, false); }); + // Verifies that deleteAllGroups removes all groups from the database. test('deleteAllGroups removes all groups', () async { await database.groupDao.addGroupsAsList( groups: [testGroup1, testGroup2], @@ -280,11 +298,13 @@ void main() { expect(countAfter, 0); }); + // Verifies that deleteAllGroups returns false when no groups exist. test('deleteAllGroups returns false when no groups exist', () async { final deleted = await database.groupDao.deleteAllGroups(); expect(deleted, false); }); + // Verifies that groups with special characters (quotes, emojis) are stored correctly. test('Group with special characters in name is stored correctly', () async { final specialGroup = Group( name: 'Group\'s & "Special" ', @@ -300,6 +320,7 @@ void main() { expect(fetchedGroup.description, 'Description with émojis 🎮🎲'); }); + // Verifies that a group with an empty members list can be stored and retrieved. test('Group with empty members list is stored correctly', () async { final emptyGroup = Group( name: 'Empty Group', @@ -314,6 +335,7 @@ void main() { expect(fetchedGroup.members, isEmpty); }); + // Verifies that multiple sequential updates to the same group work correctly. test('Multiple updates to the same group work correctly', () async { await database.groupDao.addGroup(group: testGroup1); @@ -334,6 +356,7 @@ void main() { expect(updatedGroup.members.length, testGroup1.members.length); }); + // Verifies that addGroupsAsList with duplicate groups only adds unique ones. test('addGroupsAsList with duplicate groups only adds once', () async { await database.groupDao.addGroupsAsList( groups: [testGroup1, testGroup1, testGroup1], diff --git a/test/db_tests/match_test.dart b/test/db_tests/match_test.dart index c52817f..1a7e407 100644 --- a/test/db_tests/match_test.dart +++ b/test/db_tests/match_test.dart @@ -92,6 +92,8 @@ void main() { }); group('Match Tests', () { + + // Verifies that a single match can be added and retrieved with all fields, group, and players intact. test('Adding and fetching single match works correctly', () async { await database.matchDao.addMatch(match: testMatch1); @@ -137,6 +139,7 @@ void main() { } }); + // Verifies that multiple matches can be added and retrieved with correct groups and players. test('Adding and fetching multiple matches works correctly', () async { await database.matchDao.addMatchAsList( matches: [ @@ -212,6 +215,7 @@ void main() { } }); + // Verifies that adding the same match twice does not create duplicates. test('Adding the same match twice does not create duplicates', () async { await database.matchDao.addMatch(match: testMatch1); await database.matchDao.addMatch(match: testMatch1); @@ -220,6 +224,7 @@ void main() { expect(matchCount, 1); }); + // Verifies that matchExists returns correct boolean based on match presence. test('Match existence check works correctly', () async { var matchExists = await database.matchDao.matchExists( matchId: testMatch1.id, @@ -232,6 +237,7 @@ void main() { expect(matchExists, true); }); + // Verifies that deleteMatch removes the match and returns true. test('Deleting a match works correctly', () async { await database.matchDao.addMatch(match: testMatch1); @@ -246,6 +252,7 @@ void main() { expect(matchExists, false); }); + // Verifies that getMatchCount returns correct count through add/delete operations. test('Getting the match count works correctly', () async { var matchCount = await database.matchDao.getMatchCount(); expect(matchCount, 0); @@ -271,6 +278,7 @@ void main() { expect(matchCount, 0); }); + // Verifies that hasWinner correctly identifies matches with and without winners. test('Checking if match has winner works correctly', () async { await database.matchDao.addMatch(match: testMatch1); await database.matchDao.addMatch(match: testMatchOnlyGroup); @@ -284,6 +292,7 @@ void main() { expect(hasWinner, false); }); + // Verifies that getWinner returns the correct winner player for a match. test('Fetching the winner of a match works correctly', () async { await database.matchDao.addMatch(match: testMatch1); @@ -297,6 +306,7 @@ void main() { } }); + // Verifies that setWinner correctly updates the winner of a match. test('Updating the winner of a match works correctly', () async { await database.matchDao.addMatch(match: testMatch1); @@ -329,6 +339,7 @@ void main() { } }); + // Verifies that removeWinner clears the winner and hasWinner returns false. test('Removing a winner works correctly', () async { await database.matchDao.addMatch(match: testMatch2); @@ -347,6 +358,7 @@ void main() { expect(removedWinner, null); }); + // Verifies that updateMatchName correctly updates only the name field. test('Renaming a match works correctly', () async { await database.matchDao.addMatch(match: testMatch1); diff --git a/test/db_tests/player_group_test.dart b/test/db_tests/player_group_test.dart index 344567c..660b066 100644 --- a/test/db_tests/player_group_test.dart +++ b/test/db_tests/player_group_test.dart @@ -41,9 +41,8 @@ void main() { }); group('Player-Group Tests', () { - /// No need to test if group has players since the members attribute is - /// not nullable + // Verifies that a player can be added to an existing group and isPlayerInGroup returns true. test('Adding a player to a group works correctly', () async { await database.groupDao.addGroup(group: testGroup); await database.playerDao.addPlayer(player: testPlayer4); @@ -67,6 +66,7 @@ void main() { expect(playerAdded, false); }); + // Verifies that a player can be removed from a group and the group's member count decreases. test('Removing player from group works correctly', () async { await database.groupDao.addGroup(group: testGroup); @@ -87,6 +87,7 @@ void main() { expect(playerExists, false); }); + // Verifies that getPlayersOfGroup returns all members of a group with correct data. test('Retrieving players of a group works correctly', () async { await database.groupDao.addGroup(group: testGroup); final players = await database.playerGroupDao.getPlayersOfGroup( diff --git a/test/db_tests/player_match_test.dart b/test/db_tests/player_match_test.dart index d7d3bde..ce6d331 100644 --- a/test/db_tests/player_match_test.dart +++ b/test/db_tests/player_match_test.dart @@ -73,6 +73,8 @@ void main() { }); group('Player-Match Tests', () { + + // Verifies that matchHasPlayers returns false initially and true after adding a player. test('Match has player works correctly', () async { await database.matchDao.addMatch(match: testMatchOnlyGroup); await database.playerDao.addPlayer(player: testPlayer1); @@ -95,6 +97,7 @@ void main() { expect(matchHasPlayers, true); }); + // Verifies that a player can be added to a match and isPlayerInMatch returns true. test('Adding a player to a match works correctly', () async { await database.matchDao.addMatch(match: testMatchOnlyGroup); await database.playerDao.addPlayer(player: testPlayer5); @@ -118,6 +121,7 @@ void main() { expect(playerAdded, false); }); + // Verifies that a player can be removed from a match and the player count decreases. test('Removing player from match works correctly', () async { await database.matchDao.addMatch(match: testMatchOnlyPlayers); @@ -140,6 +144,7 @@ void main() { expect(playerExists, false); }); + // Verifies that getPlayersOfMatch returns all players of a match with correct data. test('Retrieving players of a match works correctly', () async { await database.matchDao.addMatch(match: testMatchOnlyPlayers); final players = await database.playerMatchDao.getPlayersOfMatch( @@ -160,6 +165,7 @@ void main() { } }); + // Verifies that updatePlayersFromMatch replaces all existing players with new ones. test('Updating the match players works correctly', () async { await database.matchDao.addMatch(match: testMatchOnlyPlayers); @@ -203,6 +209,7 @@ void main() { } }); + // Verifies that the same player can be added to multiple different matches. test( 'Adding the same player to separate matches works correctly', () async { diff --git a/test/db_tests/player_test.dart b/test/db_tests/player_test.dart index a6d1b93..0997086 100644 --- a/test/db_tests/player_test.dart +++ b/test/db_tests/player_test.dart @@ -35,6 +35,8 @@ void main() { }); group('Player Tests', () { + + // Verifies that players can be added and retrieved with all fields intact. test('Adding and fetching single player works correctly', () async { await database.playerDao.addPlayer(player: testPlayer1); await database.playerDao.addPlayer(player: testPlayer2); @@ -55,6 +57,7 @@ void main() { expect(fetchedPlayer2.createdAt, testPlayer2.createdAt); }); + // Verifies that multiple players can be added at once and retrieved correctly. test('Adding and fetching multiple players works correctly', () async { await database.playerDao.addPlayersAsList( players: [testPlayer1, testPlayer2, testPlayer3, testPlayer4], @@ -80,6 +83,7 @@ void main() { } }); + // Verifies that adding the same player twice does not create duplicates. test('Adding the same player twice does not create duplicates', () async { await database.playerDao.addPlayer(player: testPlayer1); await database.playerDao.addPlayer(player: testPlayer1); @@ -88,6 +92,7 @@ void main() { expect(allPlayers.length, 1); }); + // Verifies that playerExists returns correct boolean based on player presence. test('Player existence check works correctly', () async { var playerExists = await database.playerDao.playerExists( playerId: testPlayer1.id, @@ -102,6 +107,7 @@ void main() { expect(playerExists, true); }); + // Verifies that deletePlayer removes the player and returns true. test('Deleting a player works correctly', () async { await database.playerDao.addPlayer(player: testPlayer1); final playerDeleted = await database.playerDao.deletePlayer( @@ -115,6 +121,7 @@ void main() { expect(playerExists, false); }); + // Verifies that updatePlayerName correctly updates only the name field. test('Updating a player name works correctly', () async { await database.playerDao.addPlayer(player: testPlayer1); @@ -131,6 +138,7 @@ void main() { expect(result.name, newPlayerName); }); + // Verifies that getPlayerCount returns correct count through add/delete operations. test('Getting the player count works correctly', () async { var playerCount = await database.playerDao.getPlayerCount(); expect(playerCount, 0); diff --git a/test/db_tests/score_test.dart b/test/db_tests/score_test.dart index 4f6aa99..7934c6e 100644 --- a/test/db_tests/score_test.dart +++ b/test/db_tests/score_test.dart @@ -57,6 +57,8 @@ void main() { }); group('Score Tests', () { + + // Verifies that a score can be added and retrieved with all fields intact. test('Adding and fetching a score works correctly', () async { await database.scoreDao.addScore( playerId: testPlayer1.id, @@ -80,6 +82,7 @@ void main() { expect(score.change, 10); }); + // Verifies that getScoresForMatch returns all scores for a given match. test('Getting scores for a match works correctly', () async { await database.scoreDao.addScore( playerId: testPlayer1.id, @@ -110,6 +113,7 @@ void main() { expect(scores.length, 3); }); + // Verifies that getPlayerScoresInMatch returns all scores for a player in a match, ordered by round. test('Getting player scores in a match works correctly', () async { await database.scoreDao.addScore( playerId: testPlayer1.id, @@ -147,6 +151,7 @@ void main() { expect(playerScores[2].score, 30); }); + // Verifies that getScoreForRound returns null for a non-existent round number. test('Getting score for a non-existent round returns null', () async { final score = await database.scoreDao.getScoreForRound( playerId: testPlayer1.id, @@ -157,6 +162,7 @@ void main() { expect(score, isNull); }); + // Verifies that updateScore correctly updates the score and change values. test('Updating a score works correctly', () async { await database.scoreDao.addScore( playerId: testPlayer1.id, @@ -187,6 +193,7 @@ void main() { expect(score.change, 40); }); + // Verifies that updateScore returns false for a non-existent score entry. test('Updating a non-existent score returns false', () async { final updated = await database.scoreDao.updateScore( playerId: testPlayer1.id, @@ -199,6 +206,7 @@ void main() { expect(updated, false); }); + // Verifies that deleteScore removes the score entry and returns true. test('Deleting a score works correctly', () async { await database.scoreDao.addScore( playerId: testPlayer1.id, @@ -225,6 +233,7 @@ void main() { expect(score, isNull); }); + // Verifies that deleteScore returns false for a non-existent score entry. test('Deleting a non-existent score returns false', () async { final deleted = await database.scoreDao.deleteScore( playerId: testPlayer1.id, @@ -235,6 +244,7 @@ void main() { expect(deleted, false); }); + // Verifies that deleteScoresForMatch removes all scores for a match but keeps other match scores. test('Deleting scores for a match works correctly', () async { await database.scoreDao.addScore( playerId: testPlayer1.id, @@ -275,6 +285,7 @@ void main() { expect(match2Scores.length, 1); }); + // Verifies that deleteScoresForPlayer removes all scores for a player across all matches. test('Deleting scores for a player works correctly', () async { await database.scoreDao.addScore( playerId: testPlayer1.id, @@ -317,6 +328,7 @@ void main() { expect(player2Scores.length, 1); }); + // Verifies that getLatestRoundNumber returns the highest round number for a match. test('Getting latest round number works correctly', () async { var latestRound = await database.scoreDao.getLatestRoundNumber( matchId: testMatch1.id, @@ -350,6 +362,7 @@ void main() { expect(latestRound, 5); }); + // Verifies that getTotalScoreForPlayer returns the latest score (cumulative) for a player. test('Getting total score for a player works correctly', () async { var totalScore = await database.scoreDao.getTotalScoreForPlayer( playerId: testPlayer1.id, @@ -386,6 +399,7 @@ void main() { expect(totalScore, 40); }); + // Verifies that adding a score with the same player/match/round replaces the existing one. test('Adding the same score twice replaces the existing one', () async { await database.scoreDao.addScore( playerId: testPlayer1.id, @@ -414,4 +428,3 @@ void main() { }); }); } - diff --git a/test/db_tests/team_test.dart b/test/db_tests/team_test.dart index 2f3c5d9..b0ec349 100644 --- a/test/db_tests/team_test.dart +++ b/test/db_tests/team_test.dart @@ -56,6 +56,8 @@ void main() { }); group('Team Tests', () { + + // Verifies that a single team can be added and retrieved with all fields intact. test('Adding and fetching a single team works correctly', () async { final added = await database.teamDao.addTeam(team: testTeam1); expect(added, true); @@ -69,6 +71,7 @@ void main() { expect(fetchedTeam.createdAt, testTeam1.createdAt); }); + // Verifies that multiple teams can be added at once and retrieved correctly. test('Adding and fetching multiple teams works correctly', () async { await database.teamDao.addTeamsAsList( teams: [testTeam1, testTeam2, testTeam3], @@ -92,6 +95,7 @@ void main() { } }); + // Verifies that adding the same team twice does not create duplicates and returns false. test('Adding the same team twice does not create duplicates', () async { await database.teamDao.addTeam(team: testTeam1); final addedAgain = await database.teamDao.addTeam(team: testTeam1); @@ -102,6 +106,7 @@ void main() { expect(teamCount, 1); }); + // Verifies that teamExists returns correct boolean based on team presence. test('Team existence check works correctly', () async { var teamExists = await database.teamDao.teamExists(teamId: testTeam1.id); expect(teamExists, false); @@ -112,6 +117,7 @@ void main() { expect(teamExists, true); }); + // Verifies that deleteTeam removes the team and returns true. test('Deleting a team works correctly', () async { await database.teamDao.addTeam(team: testTeam1); @@ -126,6 +132,7 @@ void main() { expect(teamExists, false); }); + // Verifies that deleteTeam returns false for a non-existent team ID. test('Deleting a non-existent team returns false', () async { final teamDeleted = await database.teamDao.deleteTeam( teamId: 'non-existent-id', @@ -133,6 +140,7 @@ void main() { expect(teamDeleted, false); }); + // Verifies that getTeamCount returns correct count through add/delete operations. test('Getting the team count works correctly', () async { var teamCount = await database.teamDao.getTeamCount(); expect(teamCount, 0); @@ -158,6 +166,7 @@ void main() { expect(teamCount, 0); }); + // Verifies that updateTeamName correctly updates only the name field. test('Updating team name works correctly', () async { await database.teamDao.addTeam(team: testTeam1); @@ -176,6 +185,7 @@ void main() { expect(fetchedTeam.name, newName); }); + // Verifies that deleteAllTeams removes all teams from the database. test('Deleting all teams works correctly', () async { await database.teamDao.addTeamsAsList( teams: [testTeam1, testTeam2, testTeam3], @@ -191,16 +201,19 @@ void main() { expect(teamCount, 0); }); + // Verifies that deleteAllTeams returns false when no teams exist. test('Deleting all teams when empty returns false', () async { final deleted = await database.teamDao.deleteAllTeams(); expect(deleted, false); }); + // Verifies that addTeamsAsList returns false when given an empty list. test('Adding teams as list with empty list returns false', () async { final added = await database.teamDao.addTeamsAsList(teams: []); expect(added, false); }); + // Verifies that addTeamsAsList with duplicate IDs ignores duplicates and keeps the first. test('Adding teams with duplicate IDs ignores duplicates', () async { final duplicateTeam = Team( id: testTeam1.id, @@ -222,5 +235,4 @@ void main() { expect(fetchedTeam.name, testTeam1.name); }); }); -} - +} \ No newline at end of file From b108375ad5a6bb0484898c8d9519bb00bb9e40ff Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 20 Jan 2026 16:03:37 +0100 Subject: [PATCH 084/198] remove winner tests --- test/db_tests/match_test.dart | 80 ----------------------------------- 1 file changed, 80 deletions(-) diff --git a/test/db_tests/match_test.dart b/test/db_tests/match_test.dart index 1a7e407..8408586 100644 --- a/test/db_tests/match_test.dart +++ b/test/db_tests/match_test.dart @@ -278,86 +278,6 @@ void main() { expect(matchCount, 0); }); - // Verifies that hasWinner correctly identifies matches with and without winners. - test('Checking if match has winner works correctly', () async { - await database.matchDao.addMatch(match: testMatch1); - await database.matchDao.addMatch(match: testMatchOnlyGroup); - - var hasWinner = await database.matchDao.hasWinner(matchId: testMatch1.id); - expect(hasWinner, true); - - hasWinner = await database.matchDao.hasWinner( - matchId: testMatchOnlyGroup.id, - ); - expect(hasWinner, false); - }); - - // Verifies that getWinner returns the correct winner player for a match. - test('Fetching the winner of a match works correctly', () async { - await database.matchDao.addMatch(match: testMatch1); - - final winner = await database.matchDao.getWinner(matchId: testMatch1.id); - if (winner == null) { - fail('Winner is null'); - } else { - expect(winner.id, testMatch1.winner!.id); - expect(winner.name, testMatch1.winner!.name); - expect(winner.createdAt, testMatch1.winner!.createdAt); - } - }); - - // Verifies that setWinner correctly updates the winner of a match. - test('Updating the winner of a match works correctly', () async { - await database.matchDao.addMatch(match: testMatch1); - - final winner = await database.matchDao.getWinner(matchId: testMatch1.id); - if (winner == null) { - fail('Winner is null'); - } else { - expect(winner.id, testMatch1.winner!.id); - expect(winner.name, testMatch1.winner!.name); - expect(winner.createdAt, testMatch1.winner!.createdAt); - expect(winner.id, testPlayer4.id); - expect(winner.id != testPlayer5.id, true); - } - - await database.matchDao.setWinner( - matchId: testMatch1.id, - winnerId: testPlayer5.id, - ); - - final newWinner = await database.matchDao.getWinner( - matchId: testMatch1.id, - ); - - if (newWinner == null) { - fail('New winner is null'); - } else { - expect(newWinner.id, testPlayer5.id); - expect(newWinner.name, testPlayer5.name); - expect(newWinner.createdAt, testPlayer5.createdAt); - } - }); - - // Verifies that removeWinner clears the winner and hasWinner returns false. - test('Removing a winner works correctly', () async { - await database.matchDao.addMatch(match: testMatch2); - - var hasWinner = await database.matchDao.hasWinner(matchId: testMatch2.id); - expect(hasWinner, true); - - await database.matchDao.removeWinner(matchId: testMatch2.id); - - hasWinner = await database.matchDao.hasWinner(matchId: testMatch2.id); - expect(hasWinner, false); - - final removedWinner = await database.matchDao.getWinner( - matchId: testMatch2.id, - ); - - expect(removedWinner, null); - }); - // Verifies that updateMatchName correctly updates only the name field. test('Renaming a match works correctly', () async { await database.matchDao.addMatch(match: testMatch1); From b33260ec23177589edf5a6bef05bc4feebee96aa Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 20 Jan 2026 16:31:43 +0100 Subject: [PATCH 085/198] fix match missing game --- test/db_tests/player_match_test.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/db_tests/player_match_test.dart b/test/db_tests/player_match_test.dart index ce6d331..b44ccf6 100644 --- a/test/db_tests/player_match_test.dart +++ b/test/db_tests/player_match_test.dart @@ -214,8 +214,8 @@ void main() { 'Adding the same player to separate matches works correctly', () async { final playersList = [testPlayer1, testPlayer2, testPlayer3]; - final match1 = Match(name: 'Match 1', players: playersList); - final match2 = Match(name: 'Match 2', players: playersList); + final match1 = Match(name: 'Match 1', game: testGame, players: playersList); + final match2 = Match(name: 'Match 2', game: testGame, players: playersList); await Future.wait([ database.matchDao.addMatch(match: match1), From 6c39e1e574bd5a14920c42d5e3ff5197c19e0319 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 20 Jan 2026 16:31:52 +0100 Subject: [PATCH 086/198] remove winner check --- test/db_tests/match_test.dart | 7 ------- 1 file changed, 7 deletions(-) diff --git a/test/db_tests/match_test.dart b/test/db_tests/match_test.dart index 8408586..5e09088 100644 --- a/test/db_tests/match_test.dart +++ b/test/db_tests/match_test.dart @@ -167,13 +167,6 @@ void main() { expect(match.id, testMatch.id); expect(match.name, testMatch.name); expect(match.createdAt, testMatch.createdAt); - if (match.winner != null && testMatch.winner != null) { - expect(match.winner!.id, testMatch.winner!.id); - expect(match.winner!.name, testMatch.winner!.name); - expect(match.winner!.createdAt, testMatch.winner!.createdAt); - } else { - expect(match.winner, testMatch.winner); - } // Group-Checks if (testMatch.group != null) { From 2e454a530a24b93e0c082cebf38db67f73e560e6 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 20 Jan 2026 16:31:52 +0100 Subject: [PATCH 087/198] remove winner test again --- test/db_tests/match_test.dart | 7 ------- 1 file changed, 7 deletions(-) diff --git a/test/db_tests/match_test.dart b/test/db_tests/match_test.dart index 8408586..5e09088 100644 --- a/test/db_tests/match_test.dart +++ b/test/db_tests/match_test.dart @@ -167,13 +167,6 @@ void main() { expect(match.id, testMatch.id); expect(match.name, testMatch.name); expect(match.createdAt, testMatch.createdAt); - if (match.winner != null && testMatch.winner != null) { - expect(match.winner!.id, testMatch.winner!.id); - expect(match.winner!.name, testMatch.winner!.name); - expect(match.winner!.createdAt, testMatch.winner!.createdAt); - } else { - expect(match.winner, testMatch.winner); - } // Group-Checks if (testMatch.group != null) { From 0d28f4b87ccb5fc06dc623a79613568c1c8c766e Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 20 Jan 2026 16:34:38 +0100 Subject: [PATCH 088/198] remove winner test again --- test/db_tests/match_test.dart | 8 -------- 1 file changed, 8 deletions(-) diff --git a/test/db_tests/match_test.dart b/test/db_tests/match_test.dart index 5e09088..5941523 100644 --- a/test/db_tests/match_test.dart +++ b/test/db_tests/match_test.dart @@ -105,14 +105,6 @@ void main() { expect(result.name, testMatch1.name); expect(result.createdAt, testMatch1.createdAt); - if (result.winner != null && testMatch1.winner != null) { - expect(result.winner!.id, testMatch1.winner!.id); - expect(result.winner!.name, testMatch1.winner!.name); - expect(result.winner!.createdAt, testMatch1.winner!.createdAt); - } else { - expect(result.winner, testMatch1.winner); - } - if (result.group != null) { expect(result.group!.members.length, testGroup1.members.length); From 19b2685714a649560957aae8130057ebb3d1bc62 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Wed, 21 Jan 2026 11:03:09 +0100 Subject: [PATCH 089/198] add more player tests --- test/db_tests/player_test.dart | 212 ++++++++++++++++++++++++++++++++- 1 file changed, 211 insertions(+), 1 deletion(-) diff --git a/test/db_tests/player_test.dart b/test/db_tests/player_test.dart index 0997086..da5b904 100644 --- a/test/db_tests/player_test.dart +++ b/test/db_tests/player_test.dart @@ -1,5 +1,5 @@ import 'package:clock/clock.dart'; -import 'package:drift/drift.dart'; +import 'package:drift/drift.dart' hide isNull; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:game_tracker/data/db/database.dart'; @@ -163,5 +163,215 @@ void main() { playerCount = await database.playerDao.getPlayerCount(); expect(playerCount, 0); }); + + // Verifies that getAllPlayers returns an empty list when no players exist. + test('getAllPlayers returns empty list when no players exist', () async { + final allPlayers = await database.playerDao.getAllPlayers(); + expect(allPlayers, isEmpty); + }); + + // Verifies that getPlayerById returns the correct player. + test('getPlayerById returns correct player', () async { + await database.playerDao.addPlayer(player: testPlayer1); + await database.playerDao.addPlayer(player: testPlayer2); + + final fetchedPlayer = await database.playerDao.getPlayerById( + playerId: testPlayer1.id, + ); + + expect(fetchedPlayer.id, testPlayer1.id); + expect(fetchedPlayer.name, testPlayer1.name); + expect(fetchedPlayer.createdAt, testPlayer1.createdAt); + expect(fetchedPlayer.description, testPlayer1.description); + }); + + // Verifies that getPlayerById throws StateError for non-existent player ID. + test('getPlayerById throws exception for non-existent player', () async { + expect( + () => database.playerDao.getPlayerById(playerId: 'non-existent-id'), + throwsA(isA()), + ); + }); + + // Verifies that addPlayer returns false when trying to add a duplicate player. + test('addPlayer returns false when player already exists', () async { + final firstAdd = await database.playerDao.addPlayer(player: testPlayer1); + expect(firstAdd, true); + + final secondAdd = await database.playerDao.addPlayer(player: testPlayer1); + expect(secondAdd, false); + }); + + // Verifies that addPlayersAsList handles empty list correctly. + test('addPlayersAsList handles empty list correctly', () async { + final result = await database.playerDao.addPlayersAsList(players: []); + expect(result, false); + + final allPlayers = await database.playerDao.getAllPlayers(); + expect(allPlayers, isEmpty); + }); + + // Verifies that addPlayersAsList ignores duplicate player IDs. + test('addPlayersAsList with duplicate IDs ignores duplicates', () async { + await database.playerDao.addPlayersAsList( + players: [testPlayer1, testPlayer1, testPlayer2], + ); + + final allPlayers = await database.playerDao.getAllPlayers(); + expect(allPlayers.length, 2); + }); + + // Verifies that deletePlayer returns false for non-existent player. + test('deletePlayer returns false for non-existent player', () async { + final result = await database.playerDao.deletePlayer( + playerId: 'non-existent-id', + ); + expect(result, false); + }); + + // Verifies that updatePlayerName does nothing for non-existent player (no exception). + test('updatePlayerName does nothing for non-existent player', () async { + // Should not throw, just do nothing + await database.playerDao.updatePlayerName( + playerId: 'non-existent-id', + newName: 'New Name', + ); + + final allPlayers = await database.playerDao.getAllPlayers(); + expect(allPlayers, isEmpty); + }); + + // Verifies that deleteAllPlayers removes all players. + test('deleteAllPlayers removes all players', () async { + await database.playerDao.addPlayersAsList( + players: [testPlayer1, testPlayer2, testPlayer3], + ); + + var playerCount = await database.playerDao.getPlayerCount(); + expect(playerCount, 3); + + final result = await database.playerDao.deleteAllPlayers(); + expect(result, true); + + playerCount = await database.playerDao.getPlayerCount(); + expect(playerCount, 0); + }); + + // Verifies that deleteAllPlayers returns false when no players exist. + test('deleteAllPlayers returns false when no players exist', () async { + final result = await database.playerDao.deleteAllPlayers(); + expect(result, false); + }); + + // Verifies that a player with special characters in name is stored correctly. + test('Player with special characters in name is stored correctly', () async { + final specialPlayer = Player(name: 'Test!@#\$%^&*()_+-=[]{}|;\':",.<>?/`~'); + + await database.playerDao.addPlayer(player: specialPlayer); + + final fetchedPlayer = await database.playerDao.getPlayerById( + playerId: specialPlayer.id, + ); + expect(fetchedPlayer.name, specialPlayer.name); + }); + + // Verifies that a player with description is stored correctly. + test('Player with description is stored correctly', () async { + final playerWithDescription = Player( + name: 'Described Player', + description: 'This is a test description', + ); + + await database.playerDao.addPlayer(player: playerWithDescription); + + final fetchedPlayer = await database.playerDao.getPlayerById( + playerId: playerWithDescription.id, + ); + expect(fetchedPlayer.name, playerWithDescription.name); + expect(fetchedPlayer.description, playerWithDescription.description); + }); + + // Verifies that a player with null description is stored correctly. + test('Player with null description is stored correctly', () async { + final playerWithoutDescription = Player(name: 'No Description Player'); + + await database.playerDao.addPlayer(player: playerWithoutDescription); + + final fetchedPlayer = await database.playerDao.getPlayerById( + playerId: playerWithoutDescription.id, + ); + expect(fetchedPlayer.description, isNull); + }); + + // Verifies that multiple updates to the same player work correctly. + test('Multiple updates to the same player work correctly', () async { + await database.playerDao.addPlayer(player: testPlayer1); + + await database.playerDao.updatePlayerName( + playerId: testPlayer1.id, + newName: 'First Update', + ); + + var fetchedPlayer = await database.playerDao.getPlayerById( + playerId: testPlayer1.id, + ); + expect(fetchedPlayer.name, 'First Update'); + + await database.playerDao.updatePlayerName( + playerId: testPlayer1.id, + newName: 'Second Update', + ); + + fetchedPlayer = await database.playerDao.getPlayerById( + playerId: testPlayer1.id, + ); + expect(fetchedPlayer.name, 'Second Update'); + + await database.playerDao.updatePlayerName( + playerId: testPlayer1.id, + newName: 'Third Update', + ); + + fetchedPlayer = await database.playerDao.getPlayerById( + playerId: testPlayer1.id, + ); + expect(fetchedPlayer.name, 'Third Update'); + }); + + // Verifies that a player with empty string name is stored correctly. + test('Player with empty string name is stored correctly', () async { + final emptyNamePlayer = Player(name: ''); + + await database.playerDao.addPlayer(player: emptyNamePlayer); + + final fetchedPlayer = await database.playerDao.getPlayerById( + playerId: emptyNamePlayer.id, + ); + expect(fetchedPlayer.name, ''); + }); + + // Verifies that a player with very long name is stored correctly. + test('Player with very long name is stored correctly', () async { + final longName = 'A' * 1000; + final longNamePlayer = Player(name: longName); + + await database.playerDao.addPlayer(player: longNamePlayer); + + final fetchedPlayer = await database.playerDao.getPlayerById( + playerId: longNamePlayer.id, + ); + expect(fetchedPlayer.name, longName); + }); + + // Verifies that addPlayer returns true on first add. + test('addPlayer returns true when player is added successfully', () async { + final result = await database.playerDao.addPlayer(player: testPlayer1); + expect(result, true); + + final playerExists = await database.playerDao.playerExists( + playerId: testPlayer1.id, + ); + expect(playerExists, true); + }); }); } From d488eac3ae673ac47e5f6c3de1eceb84d470e15b Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Wed, 21 Jan 2026 11:11:37 +0100 Subject: [PATCH 090/198] add more group tests --- test/db_tests/player_group_test.dart | 207 +++++++++++++++++++++++++++ 1 file changed, 207 insertions(+) diff --git a/test/db_tests/player_group_test.dart b/test/db_tests/player_group_test.dart index 660b066..8959092 100644 --- a/test/db_tests/player_group_test.dart +++ b/test/db_tests/player_group_test.dart @@ -100,5 +100,212 @@ void main() { expect(players[i].createdAt, testGroup.members[i].createdAt); } }); + + // Verifies that isPlayerInGroup returns false for non-existent player. + test('isPlayerInGroup returns false for non-existent player', () async { + await database.groupDao.addGroup(group: testGroup); + + final result = await database.playerGroupDao.isPlayerInGroup( + playerId: 'non-existent-player-id', + groupId: testGroup.id, + ); + + expect(result, false); + }); + + // Verifies that isPlayerInGroup returns false for non-existent group. + test('isPlayerInGroup returns false for non-existent group', () async { + await database.playerDao.addPlayer(player: testPlayer1); + + final result = await database.playerGroupDao.isPlayerInGroup( + playerId: testPlayer1.id, + groupId: 'non-existent-group-id', + ); + + expect(result, false); + }); + + // Verifies that addPlayerToGroup returns false when player already in group. + test('addPlayerToGroup returns false when player already in group', () async { + await database.groupDao.addGroup(group: testGroup); + + // testPlayer1 is already in testGroup via group creation + final result = await database.playerGroupDao.addPlayerToGroup( + player: testPlayer1, + groupId: testGroup.id, + ); + + expect(result, false); + }); + + // Verifies that addPlayerToGroup adds player to player table if not exists. + test('addPlayerToGroup adds player to player table if not exists', () async { + await database.groupDao.addGroup(group: testGroup); + + // testPlayer4 is not in the database yet + var playerExists = await database.playerDao.playerExists( + playerId: testPlayer4.id, + ); + expect(playerExists, false); + + await database.playerGroupDao.addPlayerToGroup( + player: testPlayer4, + groupId: testGroup.id, + ); + + // Now player should exist in player table + playerExists = await database.playerDao.playerExists( + playerId: testPlayer4.id, + ); + expect(playerExists, true); + }); + + // Verifies that removePlayerFromGroup returns false for non-existent player. + test('removePlayerFromGroup returns false for non-existent player', () async { + await database.groupDao.addGroup(group: testGroup); + + final result = await database.playerGroupDao.removePlayerFromGroup( + playerId: 'non-existent-player-id', + groupId: testGroup.id, + ); + + expect(result, false); + }); + + // Verifies that removePlayerFromGroup returns false for non-existent group. + test('removePlayerFromGroup returns false for non-existent group', () async { + await database.playerDao.addPlayer(player: testPlayer1); + + final result = await database.playerGroupDao.removePlayerFromGroup( + playerId: testPlayer1.id, + groupId: 'non-existent-group-id', + ); + + expect(result, false); + }); + + // Verifies that getPlayersOfGroup returns empty list for group with no members. + test('getPlayersOfGroup returns empty list for empty group', () async { + final emptyGroup = Group(name: 'Empty Group', members: []); + await database.groupDao.addGroup(group: emptyGroup); + + final players = await database.playerGroupDao.getPlayersOfGroup( + groupId: emptyGroup.id, + ); + + expect(players, isEmpty); + }); + + // Verifies that getPlayersOfGroup returns empty list for non-existent group. + test('getPlayersOfGroup returns empty list for non-existent group', () async { + final players = await database.playerGroupDao.getPlayersOfGroup( + groupId: 'non-existent-group-id', + ); + + expect(players, isEmpty); + }); + + // Verifies that removing all players from a group leaves the group empty. + test('Removing all players from a group leaves group empty', () async { + await database.groupDao.addGroup(group: testGroup); + + for (final player in testGroup.members) { + await database.playerGroupDao.removePlayerFromGroup( + playerId: player.id, + groupId: testGroup.id, + ); + } + + final players = await database.playerGroupDao.getPlayersOfGroup( + groupId: testGroup.id, + ); + expect(players, isEmpty); + + // Group should still exist + final groupExists = await database.groupDao.groupExists( + groupId: testGroup.id, + ); + expect(groupExists, true); + }); + + // Verifies that a player can be in multiple groups. + test('Player can be in multiple groups', () async { + final secondGroup = Group(name: 'Second Group', members: []); + await database.groupDao.addGroup(group: testGroup); + await database.groupDao.addGroup(group: secondGroup); + + // Add testPlayer1 to second group (already in testGroup) + await database.playerGroupDao.addPlayerToGroup( + player: testPlayer1, + groupId: secondGroup.id, + ); + + final inFirstGroup = await database.playerGroupDao.isPlayerInGroup( + playerId: testPlayer1.id, + groupId: testGroup.id, + ); + final inSecondGroup = await database.playerGroupDao.isPlayerInGroup( + playerId: testPlayer1.id, + groupId: secondGroup.id, + ); + + expect(inFirstGroup, true); + expect(inSecondGroup, true); + }); + + // Verifies that removing player from one group doesn't affect other groups. + test('Removing player from one group does not affect other groups', () async { + final secondGroup = Group(name: 'Second Group', members: [testPlayer1]); + await database.groupDao.addGroup(group: testGroup); + await database.groupDao.addGroup(group: secondGroup); + + // Remove testPlayer1 from testGroup + await database.playerGroupDao.removePlayerFromGroup( + playerId: testPlayer1.id, + groupId: testGroup.id, + ); + + final inFirstGroup = await database.playerGroupDao.isPlayerInGroup( + playerId: testPlayer1.id, + groupId: testGroup.id, + ); + final inSecondGroup = await database.playerGroupDao.isPlayerInGroup( + playerId: testPlayer1.id, + groupId: secondGroup.id, + ); + + expect(inFirstGroup, false); + expect(inSecondGroup, true); + }); + + // Verifies that addPlayerToGroup returns true on successful addition. + test('addPlayerToGroup returns true on successful addition', () async { + await database.groupDao.addGroup(group: testGroup); + await database.playerDao.addPlayer(player: testPlayer4); + + final result = await database.playerGroupDao.addPlayerToGroup( + player: testPlayer4, + groupId: testGroup.id, + ); + + expect(result, true); + }); + + // Verifies that removing the same player twice returns false on second attempt. + test('Removing same player twice returns false on second attempt', () async { + await database.groupDao.addGroup(group: testGroup); + + final firstRemoval = await database.playerGroupDao.removePlayerFromGroup( + playerId: testPlayer1.id, + groupId: testGroup.id, + ); + expect(firstRemoval, true); + + final secondRemoval = await database.playerGroupDao.removePlayerFromGroup( + playerId: testPlayer1.id, + groupId: testGroup.id, + ); + expect(secondRemoval, false); + }); }); } From 15894096f33b99eb48805c3897b635fda5d628ee Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Wed, 21 Jan 2026 11:11:46 +0100 Subject: [PATCH 091/198] fix missing await error --- lib/data/dao/player_group_dao.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/data/dao/player_group_dao.dart b/lib/data/dao/player_group_dao.dart index db45735..03e26f2 100644 --- a/lib/data/dao/player_group_dao.dart +++ b/lib/data/dao/player_group_dao.dart @@ -27,7 +27,7 @@ class PlayerGroupDao extends DatabaseAccessor } if (!await db.playerDao.playerExists(playerId: player.id)) { - db.playerDao.addPlayer(player: player); + await db.playerDao.addPlayer(player: player); } await into(playerGroupTable).insert( From 2e6a2b8e55d1e2ac460ee1f7a13b13bb45e295fe Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Wed, 21 Jan 2026 11:26:46 +0100 Subject: [PATCH 092/198] add more player_match tests --- test/db_tests/player_match_test.dart | 638 ++++++++++++++++++++++++++- 1 file changed, 636 insertions(+), 2 deletions(-) diff --git a/test/db_tests/player_match_test.dart b/test/db_tests/player_match_test.dart index b44ccf6..d6fca6d 100644 --- a/test/db_tests/player_match_test.dart +++ b/test/db_tests/player_match_test.dart @@ -1,5 +1,5 @@ import 'package:clock/clock.dart'; -import 'package:drift/drift.dart' hide isNotNull; +import 'package:drift/drift.dart' hide isNotNull, isNull; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:game_tracker/data/db/database.dart'; @@ -7,6 +7,7 @@ import 'package:game_tracker/data/dto/game.dart'; import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; +import 'package:game_tracker/data/dto/team.dart'; void main() { late AppDatabase database; @@ -20,7 +21,9 @@ void main() { late Game testGame; late Match testMatchOnlyGroup; late Match testMatchOnlyPlayers; - final fixedDate = DateTime(2025, 19, 11, 00, 11, 23); + late Team testTeam1; + late Team testTeam2; + final fixedDate = DateTime(2025, 11, 19, 00, 11, 23); final fakeClock = Clock(() => fixedDate); setUp(() async { @@ -54,6 +57,14 @@ void main() { game: testGame, players: [testPlayer4, testPlayer5, testPlayer6], ); + testTeam1 = Team( + name: 'Team Alpha', + members: [testPlayer1, testPlayer2], + ); + testTeam2 = Team( + name: 'Team Beta', + members: [testPlayer3, testPlayer4], + ); }); await database.playerDao.addPlayersAsList( players: [ @@ -246,5 +257,628 @@ void main() { ); }, ); + + // Verifies that getPlayersOfMatch returns null for a non-existent match. + test('getPlayersOfMatch returns null for non-existent match', () async { + final players = await database.playerMatchDao.getPlayersOfMatch( + matchId: 'non-existent-match-id', + ); + + expect(players, isNull); + }); + + // Verifies that adding a player with initial score works correctly. + test('Adding player with initial score works correctly', () async { + await database.matchDao.addMatch(match: testMatchOnlyGroup); + + await database.playerMatchDao.addPlayerToMatch( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer1.id, + score: 100, + ); + + final score = await database.playerMatchDao.getPlayerScore( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer1.id, + ); + + expect(score, 100); + }); + + // Verifies that getPlayerScore returns the correct score. + test('getPlayerScore returns correct score', () async { + await database.matchDao.addMatch(match: testMatchOnlyPlayers); + + // Default score should be 0 when added through match + final score = await database.playerMatchDao.getPlayerScore( + matchId: testMatchOnlyPlayers.id, + playerId: testPlayer4.id, + ); + + expect(score, 0); + }); + + // Verifies that getPlayerScore returns null for non-existent player-match combination. + test('getPlayerScore returns null for non-existent player in match', () async { + await database.matchDao.addMatch(match: testMatchOnlyGroup); + + final score = await database.playerMatchDao.getPlayerScore( + matchId: testMatchOnlyGroup.id, + playerId: 'non-existent-player-id', + ); + + expect(score, isNull); + }); + + // Verifies that updatePlayerScore updates the score correctly. + test('updatePlayerScore updates score correctly', () async { + await database.matchDao.addMatch(match: testMatchOnlyPlayers); + + final updated = await database.playerMatchDao.updatePlayerScore( + matchId: testMatchOnlyPlayers.id, + playerId: testPlayer4.id, + newScore: 50, + ); + + expect(updated, true); + + final score = await database.playerMatchDao.getPlayerScore( + matchId: testMatchOnlyPlayers.id, + playerId: testPlayer4.id, + ); + + expect(score, 50); + }); + + // Verifies that updatePlayerScore returns false for non-existent player-match. + test('updatePlayerScore returns false for non-existent player-match', () async { + await database.matchDao.addMatch(match: testMatchOnlyGroup); + + final updated = await database.playerMatchDao.updatePlayerScore( + matchId: testMatchOnlyGroup.id, + playerId: 'non-existent-player-id', + newScore: 50, + ); + + expect(updated, false); + }); + + // Verifies that adding a player with teamId works correctly. + test('Adding player with teamId works correctly', () async { + await database.matchDao.addMatch(match: testMatchOnlyGroup); + await database.teamDao.addTeam(team: testTeam1); + + await database.playerMatchDao.addPlayerToMatch( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer1.id, + teamId: testTeam1.id, + ); + + final playersInTeam = await database.playerMatchDao.getPlayersInTeam( + matchId: testMatchOnlyGroup.id, + teamId: testTeam1.id, + ); + + expect(playersInTeam.length, 1); + expect(playersInTeam[0].id, testPlayer1.id); + }); + + // Verifies that updatePlayerTeam updates the team correctly. + test('updatePlayerTeam updates team correctly', () async { + await database.matchDao.addMatch(match: testMatchOnlyGroup); + await database.teamDao.addTeam(team: testTeam1); + await database.teamDao.addTeam(team: testTeam2); + + await database.playerMatchDao.addPlayerToMatch( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer1.id, + teamId: testTeam1.id, + ); + + // Update player's team + final updated = await database.playerMatchDao.updatePlayerTeam( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer1.id, + teamId: testTeam2.id, + ); + + expect(updated, true); + + // Verify player is now in testTeam2 + final playersInTeam2 = await database.playerMatchDao.getPlayersInTeam( + matchId: testMatchOnlyGroup.id, + teamId: testTeam2.id, + ); + + expect(playersInTeam2.length, 1); + expect(playersInTeam2[0].id, testPlayer1.id); + + // Verify player is no longer in testTeam1 + final playersInTeam1 = await database.playerMatchDao.getPlayersInTeam( + matchId: testMatchOnlyGroup.id, + teamId: testTeam1.id, + ); + + expect(playersInTeam1.isEmpty, true); + }); + + // Verifies that updatePlayerTeam can set team to null. + test('updatePlayerTeam can remove player from team', () async { + await database.matchDao.addMatch(match: testMatchOnlyGroup); + await database.teamDao.addTeam(team: testTeam1); + + await database.playerMatchDao.addPlayerToMatch( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer1.id, + teamId: testTeam1.id, + ); + + // Remove player from team by setting teamId to null + final updated = await database.playerMatchDao.updatePlayerTeam( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer1.id, + teamId: null, + ); + + expect(updated, true); + + final playersInTeam = await database.playerMatchDao.getPlayersInTeam( + matchId: testMatchOnlyGroup.id, + teamId: testTeam1.id, + ); + + expect(playersInTeam.isEmpty, true); + }); + + // Verifies that updatePlayerTeam returns false for non-existent player-match. + test('updatePlayerTeam returns false for non-existent player-match', () async { + await database.matchDao.addMatch(match: testMatchOnlyGroup); + + final updated = await database.playerMatchDao.updatePlayerTeam( + matchId: testMatchOnlyGroup.id, + playerId: 'non-existent-player-id', + teamId: testTeam1.id, + ); + + expect(updated, false); + }); + + // Verifies that getPlayersInTeam returns empty list for non-existent team. + test('getPlayersInTeam returns empty list for non-existent team', () async { + await database.matchDao.addMatch(match: testMatchOnlyPlayers); + + final players = await database.playerMatchDao.getPlayersInTeam( + matchId: testMatchOnlyPlayers.id, + teamId: 'non-existent-team-id', + ); + + expect(players.isEmpty, true); + }); + + // Verifies that getPlayersInTeam returns all players of a team. + test('getPlayersInTeam returns all players of a team', () async { + await database.matchDao.addMatch(match: testMatchOnlyGroup); + await database.teamDao.addTeam(team: testTeam1); + + await database.playerMatchDao.addPlayerToMatch( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer1.id, + teamId: testTeam1.id, + ); + await database.playerMatchDao.addPlayerToMatch( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer2.id, + teamId: testTeam1.id, + ); + + final playersInTeam = await database.playerMatchDao.getPlayersInTeam( + matchId: testMatchOnlyGroup.id, + teamId: testTeam1.id, + ); + + expect(playersInTeam.length, 2); + final playerIds = playersInTeam.map((p) => p.id).toSet(); + expect(playerIds.contains(testPlayer1.id), true); + expect(playerIds.contains(testPlayer2.id), true); + }); + + // Verifies that removePlayerFromMatch returns false for non-existent player. + test('removePlayerFromMatch returns false for non-existent player', () async { + await database.matchDao.addMatch(match: testMatchOnlyPlayers); + + final removed = await database.playerMatchDao.removePlayerFromMatch( + playerId: 'non-existent-player-id', + matchId: testMatchOnlyPlayers.id, + ); + + expect(removed, false); + }); + + // Verifies that adding the same player twice to the same match is ignored. + test('Adding same player twice to same match is ignored', () async { + await database.matchDao.addMatch(match: testMatchOnlyGroup); + + await database.playerMatchDao.addPlayerToMatch( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer1.id, + score: 10, + ); + + // Try to add the same player again with different score + await database.playerMatchDao.addPlayerToMatch( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer1.id, + score: 100, + ); + + // Score should still be 10 because insert was ignored + final score = await database.playerMatchDao.getPlayerScore( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer1.id, + ); + + expect(score, 10); + + // Verify player count is still 1 + final players = await database.playerMatchDao.getPlayersOfMatch( + matchId: testMatchOnlyGroup.id, + ); + + expect(players?.length, 1); + }); + + // Verifies that updatePlayersFromMatch with empty list removes all players. + test('updatePlayersFromMatch with empty list removes all players', () async { + await database.matchDao.addMatch(match: testMatchOnlyPlayers); + + // Verify players exist initially + var players = await database.playerMatchDao.getPlayersOfMatch( + matchId: testMatchOnlyPlayers.id, + ); + expect(players?.length, 3); + + // Update with empty list + await database.playerMatchDao.updatePlayersFromMatch( + matchId: testMatchOnlyPlayers.id, + newPlayer: [], + ); + + // Verify all players are removed + players = await database.playerMatchDao.getPlayersOfMatch( + matchId: testMatchOnlyPlayers.id, + ); + expect(players, isNull); + }); + + // Verifies that updatePlayersFromMatch with same players makes no changes. + test('updatePlayersFromMatch with same players makes no changes', () async { + await database.matchDao.addMatch(match: testMatchOnlyPlayers); + + final originalPlayers = [testPlayer4, testPlayer5, testPlayer6]; + + await database.playerMatchDao.updatePlayersFromMatch( + matchId: testMatchOnlyPlayers.id, + newPlayer: originalPlayers, + ); + + final players = await database.playerMatchDao.getPlayersOfMatch( + matchId: testMatchOnlyPlayers.id, + ); + + expect(players?.length, originalPlayers.length); + final playerIds = players!.map((p) => p.id).toSet(); + for (final originalPlayer in originalPlayers) { + expect(playerIds.contains(originalPlayer.id), true); + } + }); + + // Verifies that matchHasPlayers returns false for non-existent match. + test('matchHasPlayers returns false for non-existent match', () async { + final hasPlayers = await database.playerMatchDao.matchHasPlayers( + matchId: 'non-existent-match-id', + ); + + expect(hasPlayers, false); + }); + + // Verifies that isPlayerInMatch returns false for non-existent match. + test('isPlayerInMatch returns false for non-existent match', () async { + final isInMatch = await database.playerMatchDao.isPlayerInMatch( + matchId: 'non-existent-match-id', + playerId: testPlayer1.id, + ); + + expect(isInMatch, false); + }); + + // Verifies that updatePlayersFromMatch preserves scores for existing players. + test('updatePlayersFromMatch only modifies player associations', () async { + await database.matchDao.addMatch(match: testMatchOnlyPlayers); + + // Update score for existing player + await database.playerMatchDao.updatePlayerScore( + matchId: testMatchOnlyPlayers.id, + playerId: testPlayer4.id, + newScore: 75, + ); + + // Update players, keeping testPlayer4 and adding testPlayer1 + await database.playerMatchDao.updatePlayersFromMatch( + matchId: testMatchOnlyPlayers.id, + newPlayer: [testPlayer4, testPlayer1], + ); + + // Verify testPlayer4's score is preserved + final score = await database.playerMatchDao.getPlayerScore( + matchId: testMatchOnlyPlayers.id, + playerId: testPlayer4.id, + ); + + expect(score, 75); + + // Verify testPlayer1 was added with default score + final newPlayerScore = await database.playerMatchDao.getPlayerScore( + matchId: testMatchOnlyPlayers.id, + playerId: testPlayer1.id, + ); + + expect(newPlayerScore, 0); + }); + + // Verifies that adding a player with both score and teamId works correctly. + test('Adding player with score and teamId works correctly', () async { + await database.matchDao.addMatch(match: testMatchOnlyGroup); + await database.teamDao.addTeam(team: testTeam1); + + await database.playerMatchDao.addPlayerToMatch( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer1.id, + teamId: testTeam1.id, + score: 150, + ); + + // Verify score + final score = await database.playerMatchDao.getPlayerScore( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer1.id, + ); + expect(score, 150); + + // Verify team assignment + final playersInTeam = await database.playerMatchDao.getPlayersInTeam( + matchId: testMatchOnlyGroup.id, + teamId: testTeam1.id, + ); + expect(playersInTeam.length, 1); + expect(playersInTeam[0].id, testPlayer1.id); + }); + + // Verifies that updating score with negative value works. + test('updatePlayerScore with negative score works', () async { + await database.matchDao.addMatch(match: testMatchOnlyPlayers); + + final updated = await database.playerMatchDao.updatePlayerScore( + matchId: testMatchOnlyPlayers.id, + playerId: testPlayer4.id, + newScore: -10, + ); + + expect(updated, true); + + final score = await database.playerMatchDao.getPlayerScore( + matchId: testMatchOnlyPlayers.id, + playerId: testPlayer4.id, + ); + + expect(score, -10); + }); + + // Verifies that updating score with zero value works. + test('updatePlayerScore with zero score works', () async { + await database.matchDao.addMatch(match: testMatchOnlyPlayers); + + // First set a non-zero score + await database.playerMatchDao.updatePlayerScore( + matchId: testMatchOnlyPlayers.id, + playerId: testPlayer4.id, + newScore: 100, + ); + + // Then update to zero + final updated = await database.playerMatchDao.updatePlayerScore( + matchId: testMatchOnlyPlayers.id, + playerId: testPlayer4.id, + newScore: 0, + ); + + expect(updated, true); + + final score = await database.playerMatchDao.getPlayerScore( + matchId: testMatchOnlyPlayers.id, + playerId: testPlayer4.id, + ); + + expect(score, 0); + }); + + // Verifies that getPlayersInTeam returns empty list for non-existent match. + test('getPlayersInTeam returns empty list for non-existent match', () async { + await database.teamDao.addTeam(team: testTeam1); + + final players = await database.playerMatchDao.getPlayersInTeam( + matchId: 'non-existent-match-id', + teamId: testTeam1.id, + ); + + expect(players.isEmpty, true); + }); + + // Verifies that players in different teams within the same match are returned correctly. + test('Players in different teams within same match are separate', () async { + await database.matchDao.addMatch(match: testMatchOnlyGroup); + await database.teamDao.addTeam(team: testTeam1); + await database.teamDao.addTeam(team: testTeam2); + + // Add players to different teams + await database.playerMatchDao.addPlayerToMatch( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer1.id, + teamId: testTeam1.id, + ); + await database.playerMatchDao.addPlayerToMatch( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer2.id, + teamId: testTeam1.id, + ); + await database.playerMatchDao.addPlayerToMatch( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer3.id, + teamId: testTeam2.id, + ); + + // Verify team 1 players + final playersInTeam1 = await database.playerMatchDao.getPlayersInTeam( + matchId: testMatchOnlyGroup.id, + teamId: testTeam1.id, + ); + expect(playersInTeam1.length, 2); + final team1Ids = playersInTeam1.map((p) => p.id).toSet(); + expect(team1Ids.contains(testPlayer1.id), true); + expect(team1Ids.contains(testPlayer2.id), true); + expect(team1Ids.contains(testPlayer3.id), false); + + // Verify team 2 players + final playersInTeam2 = await database.playerMatchDao.getPlayersInTeam( + matchId: testMatchOnlyGroup.id, + teamId: testTeam2.id, + ); + expect(playersInTeam2.length, 1); + expect(playersInTeam2[0].id, testPlayer3.id); + }); + + // Verifies that removePlayerFromMatch does not affect other matches. + test('removePlayerFromMatch does not affect other matches', () async { + final playersList = [testPlayer1, testPlayer2]; + final match1 = Match(name: 'Match 1', game: testGame, players: playersList); + final match2 = Match(name: 'Match 2', game: testGame, players: playersList); + + await Future.wait([ + database.matchDao.addMatch(match: match1), + database.matchDao.addMatch(match: match2), + ]); + + // Remove player from match1 + final removed = await database.playerMatchDao.removePlayerFromMatch( + playerId: testPlayer1.id, + matchId: match1.id, + ); + expect(removed, true); + + // Verify player is removed from match1 + final isInMatch1 = await database.playerMatchDao.isPlayerInMatch( + matchId: match1.id, + playerId: testPlayer1.id, + ); + expect(isInMatch1, false); + + // Verify player still exists in match2 + final isInMatch2 = await database.playerMatchDao.isPlayerInMatch( + matchId: match2.id, + playerId: testPlayer1.id, + ); + expect(isInMatch2, true); + }); + + // Verifies that updating scores for players in different matches are independent. + test('Player scores are independent across matches', () async { + final playersList = [testPlayer1]; + final match1 = Match(name: 'Match 1', game: testGame, players: playersList); + final match2 = Match(name: 'Match 2', game: testGame, players: playersList); + + await Future.wait([ + database.matchDao.addMatch(match: match1), + database.matchDao.addMatch(match: match2), + ]); + + // Update score in match1 + await database.playerMatchDao.updatePlayerScore( + matchId: match1.id, + playerId: testPlayer1.id, + newScore: 100, + ); + + // Update score in match2 + await database.playerMatchDao.updatePlayerScore( + matchId: match2.id, + playerId: testPlayer1.id, + newScore: 50, + ); + + // Verify scores are independent + final scoreInMatch1 = await database.playerMatchDao.getPlayerScore( + matchId: match1.id, + playerId: testPlayer1.id, + ); + final scoreInMatch2 = await database.playerMatchDao.getPlayerScore( + matchId: match2.id, + playerId: testPlayer1.id, + ); + + expect(scoreInMatch1, 100); + expect(scoreInMatch2, 50); + }); + + // Verifies that updatePlayersFromMatch on non-existent match fails with constraint error. + test('updatePlayersFromMatch on non-existent match fails with foreign key constraint', () async { + // Should throw due to foreign key constraint - match doesn't exist + await expectLater( + database.playerMatchDao.updatePlayersFromMatch( + matchId: 'non-existent-match-id', + newPlayer: [testPlayer1, testPlayer2], + ), + throwsA(anything), + ); + }, skip: 'Skipped: transaction callback is not awaited in the DAO, causing unhandled error'); + + // Verifies that a player can be in a match without being assigned to a team. + test('Player can exist in match without team assignment', () async { + await database.matchDao.addMatch(match: testMatchOnlyGroup); + await database.teamDao.addTeam(team: testTeam1); + + // Add player to match without team + await database.playerMatchDao.addPlayerToMatch( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer1.id, + ); + + // Add another player to match with team + await database.playerMatchDao.addPlayerToMatch( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer2.id, + teamId: testTeam1.id, + ); + + // Verify both players are in the match + final isPlayer1InMatch = await database.playerMatchDao.isPlayerInMatch( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer1.id, + ); + final isPlayer2InMatch = await database.playerMatchDao.isPlayerInMatch( + matchId: testMatchOnlyGroup.id, + playerId: testPlayer2.id, + ); + + expect(isPlayer1InMatch, true); + expect(isPlayer2InMatch, true); + + // Verify only player2 is in the team + final playersInTeam = await database.playerMatchDao.getPlayersInTeam( + matchId: testMatchOnlyGroup.id, + teamId: testTeam1.id, + ); + + expect(playersInTeam.length, 1); + expect(playersInTeam[0].id, testPlayer2.id); + }); }); } From 748361d04f0701c43fe3bda0c15061357e813bf9 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Wed, 21 Jan 2026 11:33:37 +0100 Subject: [PATCH 093/198] add new score tests --- test/db_tests/score_test.dart | 308 +++++++++++++++++++++++++++++++++- 1 file changed, 307 insertions(+), 1 deletion(-) diff --git a/test/db_tests/score_test.dart b/test/db_tests/score_test.dart index 7934c6e..109febf 100644 --- a/test/db_tests/score_test.dart +++ b/test/db_tests/score_test.dart @@ -15,7 +15,7 @@ void main() { late Game testGame; late Match testMatch1; late Match testMatch2; - final fixedDate = DateTime(2025, 19, 11, 00, 11, 23); + final fixedDate = DateTime(2025, 11, 19, 00, 11, 23); final fakeClock = Clock(() => fixedDate); setUp(() async { @@ -426,5 +426,311 @@ void main() { expect(score!.score, 99); expect(score.change, 99); }); + + // Verifies that getScoresForMatch returns empty list for match with no scores. + test('Getting scores for match with no scores returns empty list', () async { + final scores = await database.scoreDao.getScoresForMatch( + matchId: testMatch1.id, + ); + + expect(scores.isEmpty, true); + }); + + // Verifies that getPlayerScoresInMatch returns empty list when player has no scores. + test('Getting player scores with no scores returns empty list', () async { + final playerScores = await database.scoreDao.getPlayerScoresInMatch( + playerId: testPlayer1.id, + matchId: testMatch1.id, + ); + + expect(playerScores.isEmpty, true); + }); + + // Verifies that scores can have negative values. + test('Score can have negative values', () async { + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: -10, + change: -10, + ); + + final score = await database.scoreDao.getScoreForRound( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + ); + + expect(score, isNotNull); + expect(score!.score, -10); + expect(score.change, -10); + }); + + // Verifies that scores can have zero values. + test('Score can have zero values', () async { + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 0, + change: 0, + ); + + final score = await database.scoreDao.getScoreForRound( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + ); + + expect(score, isNotNull); + expect(score!.score, 0); + expect(score.change, 0); + }); + + // Verifies that very large round numbers are supported. + test('Score supports very large round numbers', () async { + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 999999, + score: 100, + change: 100, + ); + + final score = await database.scoreDao.getScoreForRound( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 999999, + ); + + expect(score, isNotNull); + expect(score!.roundNumber, 999999); + }); + + // Verifies that getLatestRoundNumber returns max correctly for non-consecutive rounds. + test('Getting latest round number with non-consecutive rounds', () async { + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 10, + change: 10, + ); + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 5, + score: 50, + change: 40, + ); + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 3, + score: 30, + change: 20, + ); + + final latestRound = await database.scoreDao.getLatestRoundNumber( + matchId: testMatch1.id, + ); + + expect(latestRound, 5); + }); + + // Verifies that deleteScoresForMatch returns false when no scores exist. + test('Deleting scores for empty match returns false', () async { + final deleted = await database.scoreDao.deleteScoresForMatch( + matchId: testMatch1.id, + ); + + expect(deleted, false); + }); + + // Verifies that deleteScoresForPlayer returns false when player has no scores. + test('Deleting scores for player with no scores returns false', () async { + final deleted = await database.scoreDao.deleteScoresForPlayer( + playerId: testPlayer1.id, + ); + + expect(deleted, false); + }); + + // Verifies that multiple players in same match can have independent score updates. + test('Multiple players in same match have independent scores', () async { + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 10, + change: 10, + ); + await database.scoreDao.addScore( + playerId: testPlayer2.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 20, + change: 20, + ); + + await database.scoreDao.updateScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + newScore: 100, + newChange: 90, + ); + + final player1Score = await database.scoreDao.getScoreForRound( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + ); + final player2Score = await database.scoreDao.getScoreForRound( + playerId: testPlayer2.id, + matchId: testMatch1.id, + roundNumber: 1, + ); + + expect(player1Score!.score, 100); + expect(player2Score!.score, 20); + }); + + // Verifies that scores are isolated across different matches. + test('Scores are isolated across different matches', () async { + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 10, + change: 10, + ); + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch2.id, + roundNumber: 1, + score: 50, + change: 50, + ); + + final match1Scores = await database.scoreDao.getPlayerScoresInMatch( + playerId: testPlayer1.id, + matchId: testMatch1.id, + ); + final match2Scores = await database.scoreDao.getPlayerScoresInMatch( + playerId: testPlayer1.id, + matchId: testMatch2.id, + ); + + expect(match1Scores.length, 1); + expect(match2Scores.length, 1); + expect(match1Scores[0].score, 10); + expect(match2Scores[0].score, 50); + }); + + // Verifies that getTotalScoreForPlayer returns latest score across multiple rounds. + test('Total score for player returns latest cumulative score', () async { + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 2, + score: 25, + change: 25, + ); + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 10, + change: 10, + ); + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 3, + score: 50, + change: 25, + ); + + final totalScore = await database.scoreDao.getTotalScoreForPlayer( + playerId: testPlayer1.id, + matchId: testMatch1.id, + ); + + // Should return the highest round's score + expect(totalScore, 50); + }); + + // Verifies that updating one player's score doesn't affect another player's score in same round. + test('Updating one player score does not affect other players in same round', () async { + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 10, + change: 10, + ); + await database.scoreDao.addScore( + playerId: testPlayer2.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 20, + change: 20, + ); + await database.scoreDao.addScore( + playerId: testPlayer3.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 30, + change: 30, + ); + + await database.scoreDao.updateScore( + playerId: testPlayer2.id, + matchId: testMatch1.id, + roundNumber: 1, + newScore: 99, + newChange: 89, + ); + + final scores = await database.scoreDao.getScoresForMatch( + matchId: testMatch1.id, + ); + + expect(scores.length, 3); + expect(scores.where((s) => s.playerId == testPlayer1.id).first.score, 10); + expect(scores.where((s) => s.playerId == testPlayer2.id).first.score, 99); + expect(scores.where((s) => s.playerId == testPlayer3.id).first.score, 30); + }); + + // Verifies that deleting a player's scores only affects that specific player. + test('Deleting player scores only affects target player', () async { + await database.scoreDao.addScore( + playerId: testPlayer1.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 10, + change: 10, + ); + await database.scoreDao.addScore( + playerId: testPlayer2.id, + matchId: testMatch1.id, + roundNumber: 1, + score: 20, + change: 20, + ); + + await database.scoreDao.deleteScoresForPlayer( + playerId: testPlayer1.id, + ); + + final match1Scores = await database.scoreDao.getScoresForMatch( + matchId: testMatch1.id, + ); + + expect(match1Scores.length, 1); + expect(match1Scores[0].playerId, testPlayer2.id); + }); }); } From 0b778210efb4732d7b61aad70ed1914930ada943 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Wed, 21 Jan 2026 11:36:23 +0100 Subject: [PATCH 094/198] add new team tests --- test/db_tests/team_test.dart | 247 ++++++++++++++++++++++++++++++++++- 1 file changed, 246 insertions(+), 1 deletion(-) diff --git a/test/db_tests/team_test.dart b/test/db_tests/team_test.dart index b0ec349..e3150f5 100644 --- a/test/db_tests/team_test.dart +++ b/test/db_tests/team_test.dart @@ -15,7 +15,7 @@ void main() { late Team testTeam1; late Team testTeam2; late Team testTeam3; - final fixedDate = DateTime(2025, 19, 11, 00, 11, 23); + final fixedDate = DateTime(2025, 11, 19, 00, 11, 23); final fakeClock = Clock(() => fixedDate); setUp(() async { @@ -234,5 +234,250 @@ void main() { ); expect(fetchedTeam.name, testTeam1.name); }); + + // Verifies that getAllTeams returns empty list when no teams exist. + test('Getting all teams when empty returns empty list', () async { + final allTeams = await database.teamDao.getAllTeams(); + expect(allTeams.isEmpty, true); + }); + + // Verifies that getTeamById throws exception for non-existent team. + test('Getting non-existent team throws exception', () async { + expect( + () => database.teamDao.getTeamById(teamId: 'non-existent-id'), + throwsA(isA()), + ); + }); + + // Verifies that updating team name preserves other fields. + test('Updating team name preserves other team fields', () async { + await database.teamDao.addTeam(team: testTeam1); + final originalTeam = await database.teamDao.getTeamById( + teamId: testTeam1.id, + ); + final originalCreatedAt = originalTeam.createdAt; + + const newName = 'Brand New Team Name'; + await database.teamDao.updateTeamName( + teamId: testTeam1.id, + newName: newName, + ); + + final updatedTeam = await database.teamDao.getTeamById( + teamId: testTeam1.id, + ); + + expect(updatedTeam.name, newName); + expect(updatedTeam.id, testTeam1.id); + expect(updatedTeam.createdAt, originalCreatedAt); + }); + + // Verifies that team name can be updated to an empty string. + test('Updating team name to empty string works', () async { + await database.teamDao.addTeam(team: testTeam1); + + await database.teamDao.updateTeamName( + teamId: testTeam1.id, + newName: '', + ); + + final updatedTeam = await database.teamDao.getTeamById( + teamId: testTeam1.id, + ); + + expect(updatedTeam.name, ''); + }); + + // Verifies that team name can be updated to a very long string. + test('Updating team name to long string works', () async { + await database.teamDao.addTeam(team: testTeam1); + final longName = 'A' * 500; // 500 character name + + await database.teamDao.updateTeamName( + teamId: testTeam1.id, + newName: longName, + ); + + final updatedTeam = await database.teamDao.getTeamById( + teamId: testTeam1.id, + ); + + expect(updatedTeam.name, longName); + expect(updatedTeam.name.length, 500); + }); + + // Verifies that updating non-existent team name doesn't throw error. + test('Updating non-existent team name completes without error', () async { + expect( + () => database.teamDao.updateTeamName( + teamId: 'non-existent-id', + newName: 'New Name', + ), + returnsNormally, + ); + }); + + // Verifies that deleteTeam only affects the specified team. + test('Deleting one team does not affect other teams', () async { + await database.teamDao.addTeamsAsList( + teams: [testTeam1, testTeam2, testTeam3], + ); + + await database.teamDao.deleteTeam(teamId: testTeam2.id); + + final allTeams = await database.teamDao.getAllTeams(); + expect(allTeams.length, 2); + expect(allTeams.any((t) => t.id == testTeam1.id), true); + expect(allTeams.any((t) => t.id == testTeam2.id), false); + expect(allTeams.any((t) => t.id == testTeam3.id), true); + }); + + // Verifies that teams with overlapping members are independent. + test('Teams with overlapping members are independent', () async { + // testTeam1 has [player1, player2] + // testTeam3 has [player1, player3] + await database.teamDao.addTeamsAsList( + teams: [testTeam1, testTeam3], + ); + + final team1 = await database.teamDao.getTeamById(teamId: testTeam1.id); + final team3 = await database.teamDao.getTeamById(teamId: testTeam3.id); + + expect(team1.members.length, 2); + expect(team3.members.length, 2); + expect(team1.members.any((p) => p.id == testPlayer1.id), true); + expect(team3.members.any((p) => p.id == testPlayer1.id), true); + }); + + // Verifies that adding teams sequentially works correctly. + test('Adding teams sequentially maintains correct count', () async { + var count = await database.teamDao.getTeamCount(); + expect(count, 0); + + await database.teamDao.addTeam(team: testTeam1); + count = await database.teamDao.getTeamCount(); + expect(count, 1); + + await database.teamDao.addTeam(team: testTeam2); + count = await database.teamDao.getTeamCount(); + expect(count, 2); + + await database.teamDao.addTeam(team: testTeam3); + count = await database.teamDao.getTeamCount(); + expect(count, 3); + }); + + // Verifies that getAllTeams returns all teams with correct data. + test('Getting all teams returns all teams with correct data', () async { + await database.teamDao.addTeamsAsList( + teams: [testTeam1, testTeam2, testTeam3], + ); + + final allTeams = await database.teamDao.getAllTeams(); + + expect(allTeams.length, 3); + expect( + allTeams.map((t) => t.id).toSet(), + {testTeam1.id, testTeam2.id, testTeam3.id}, + ); + }); + + // Verifies that teamExists returns false for deleted teams. + test('Team existence returns false after deletion', () async { + await database.teamDao.addTeam(team: testTeam1); + expect(await database.teamDao.teamExists(teamId: testTeam1.id), true); + + await database.teamDao.deleteTeam(teamId: testTeam1.id); + expect(await database.teamDao.teamExists(teamId: testTeam1.id), false); + }); + + // Verifies that adding multiple teams in batch then deleting returns correct count. + test('Batch add then partial delete maintains correct count', () async { + await database.teamDao.addTeamsAsList( + teams: [testTeam1, testTeam2, testTeam3], + ); + + expect(await database.teamDao.getTeamCount(), 3); + + await database.teamDao.deleteTeam(teamId: testTeam1.id); + expect(await database.teamDao.getTeamCount(), 2); + + await database.teamDao.deleteTeam(teamId: testTeam3.id); + expect(await database.teamDao.getTeamCount(), 1); + }); + + // Verifies that deleteAllTeams with single team works. + test('Deleting all teams with single team returns true', () async { + await database.teamDao.addTeam(team: testTeam1); + expect(await database.teamDao.getTeamCount(), 1); + + final deleted = await database.teamDao.deleteAllTeams(); + expect(deleted, true); + expect(await database.teamDao.getTeamCount(), 0); + }); + + // Verifies that addTeam after deleteAllTeams works correctly. + test('Adding team after deleteAllTeams works correctly', () async { + await database.teamDao.addTeamsAsList( + teams: [testTeam1, testTeam2], + ); + expect(await database.teamDao.getTeamCount(), 2); + + await database.teamDao.deleteAllTeams(); + expect(await database.teamDao.getTeamCount(), 0); + + final added = await database.teamDao.addTeam(team: testTeam3); + expect(added, true); + expect(await database.teamDao.getTeamCount(), 1); + + final fetchedTeam = await database.teamDao.getTeamById( + teamId: testTeam3.id, + ); + expect(fetchedTeam.name, testTeam3.name); + }); + + // Verifies that addTeamsAsList with partial duplicates ignores duplicates. + test('Adding teams with some duplicates ignores only duplicates', () async { + await database.teamDao.addTeam(team: testTeam1); + + final duplicateTeam1 = Team( + id: testTeam1.id, + name: 'Different Name', + members: [testPlayer3], + ); + + await database.teamDao.addTeamsAsList( + teams: [duplicateTeam1, testTeam2, testTeam3], + ); + + final allTeams = await database.teamDao.getAllTeams(); + expect(allTeams.length, 3); + + // Verify testTeam1 retained original name (was inserted first) + final team1 = await database.teamDao.getTeamById(teamId: testTeam1.id); + expect(team1.name, testTeam1.name); + }); + + // Verifies that team IDs are preserved correctly. + test('Team IDs are preserved through add and retrieve', () async { + await database.teamDao.addTeam(team: testTeam1); + + final fetchedTeam = await database.teamDao.getTeamById( + teamId: testTeam1.id, + ); + + expect(fetchedTeam.id, testTeam1.id); + }); + + // Verifies that createdAt timestamps are preserved. + test('Team createdAt timestamps are preserved', () async { + await database.teamDao.addTeam(team: testTeam1); + + final fetchedTeam = await database.teamDao.getTeamById( + teamId: testTeam1.id, + ); + + expect(fetchedTeam.createdAt, testTeam1.createdAt); + }); }); } \ No newline at end of file From f142169371371e256bafe1916c0dd1394441ea76 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Wed, 21 Jan 2026 11:54:00 +0100 Subject: [PATCH 095/198] fix overlapping members in teams test --- test/db_tests/team_test.dart | 47 ++++++++++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/test/db_tests/team_test.dart b/test/db_tests/team_test.dart index e3150f5..2725411 100644 --- a/test/db_tests/team_test.dart +++ b/test/db_tests/team_test.dart @@ -3,6 +3,8 @@ import 'package:drift/drift.dart'; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/dto/game.dart'; +import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; import 'package:game_tracker/data/dto/team.dart'; @@ -15,6 +17,8 @@ void main() { late Team testTeam1; late Team testTeam2; late Team testTeam3; + late Game testGame1; + late Game testGame2; final fixedDate = DateTime(2025, 11, 19, 00, 11, 23); final fakeClock = Clock(() => fixedDate); @@ -44,11 +48,15 @@ void main() { name: 'Team Gamma', members: [testPlayer1, testPlayer3], ); + testGame1 = Game(name: 'Game 1'); + testGame2 = Game(name: 'Game 2'); }); await database.playerDao.addPlayersAsList( players: [testPlayer1, testPlayer2, testPlayer3, testPlayer4], ); + await database.gameDao.addGame(game: testGame1); + await database.gameDao.addGame(game: testGame2); }); tearDown(() async { @@ -334,12 +342,47 @@ void main() { // Verifies that teams with overlapping members are independent. test('Teams with overlapping members are independent', () async { - // testTeam1 has [player1, player2] - // testTeam3 has [player1, player3] + // Create two matches since player_match has primary key {playerId, matchId} + final match1 = Match(name: 'Match 1', game: testGame1); + final match2 = Match(name: 'Match 2', game: testGame2); + await database.matchDao.addMatch(match: match1); + await database.matchDao.addMatch(match: match2); + + // Add teams to database await database.teamDao.addTeamsAsList( teams: [testTeam1, testTeam3], ); + // Associate players with teams through match1 + // testTeam1: player1, player2 + await database.playerMatchDao.addPlayerToMatch( + playerId: testPlayer1.id, + matchId: match1.id, + teamId: testTeam1.id, + score: 0, + ); + await database.playerMatchDao.addPlayerToMatch( + playerId: testPlayer2.id, + matchId: match1.id, + teamId: testTeam1.id, + score: 0, + ); + + // Associate players with teams through match2 + // testTeam3: player1, player3 (overlapping player1) + await database.playerMatchDao.addPlayerToMatch( + playerId: testPlayer1.id, + matchId: match2.id, + teamId: testTeam3.id, + score: 0, + ); + await database.playerMatchDao.addPlayerToMatch( + playerId: testPlayer3.id, + matchId: match2.id, + teamId: testTeam3.id, + score: 0, + ); + final team1 = await database.teamDao.getTeamById(teamId: testTeam1.id); final team3 = await database.teamDao.getTeamById(teamId: testTeam3.id); From b2a3a0cf7513629c65409cc941306e78ac71549b Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Wed, 21 Jan 2026 11:55:15 +0100 Subject: [PATCH 096/198] fix getting non-existent team throws exception test --- test/db_tests/team_test.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/db_tests/team_test.dart b/test/db_tests/team_test.dart index 2725411..df2c93c 100644 --- a/test/db_tests/team_test.dart +++ b/test/db_tests/team_test.dart @@ -253,7 +253,7 @@ void main() { test('Getting non-existent team throws exception', () async { expect( () => database.teamDao.getTeamById(teamId: 'non-existent-id'), - throwsA(isA()), + throwsA(isA()), ); }); From e55cea0dcc0aade506bb1a4822c8376811361611 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Wed, 21 Jan 2026 12:04:00 +0100 Subject: [PATCH 097/198] fix missing await --- lib/data/dao/player_match_dao.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/data/dao/player_match_dao.dart b/lib/data/dao/player_match_dao.dart index a2185e6..7de22a4 100644 --- a/lib/data/dao/player_match_dao.dart +++ b/lib/data/dao/player_match_dao.dart @@ -148,7 +148,7 @@ class PlayerMatchDao extends DatabaseAccessor final playersToAdd = newPlayerIdsSet.difference(currentPlayerIds); final playersToRemove = currentPlayerIds.difference(newPlayerIdsSet); - db.transaction(() async { + await db.transaction(() async { // Remove old players if (playersToRemove.isNotEmpty) { await (delete(playerMatchTable)..where( From 12b713bb707b3c2564d1b3e98564f0bed23579c7 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Wed, 21 Jan 2026 12:04:13 +0100 Subject: [PATCH 098/198] remove skip from test --- test/db_tests/player_match_test.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/db_tests/player_match_test.dart b/test/db_tests/player_match_test.dart index d6fca6d..8c68395 100644 --- a/test/db_tests/player_match_test.dart +++ b/test/db_tests/player_match_test.dart @@ -838,7 +838,7 @@ void main() { ), throwsA(anything), ); - }, skip: 'Skipped: transaction callback is not awaited in the DAO, causing unhandled error'); + }); // Verifies that a player can be in a match without being assigned to a team. test('Player can exist in match without team assignment', () async { From bd5e38a3cad87e6e3aab4c3f2da51a582a27e272 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Wed, 21 Jan 2026 15:42:47 +0100 Subject: [PATCH 099/198] save game to database on create --- .../create_match/create_match_view.dart | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index 2f512bb..eb630df 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -4,6 +4,7 @@ import 'package:game_tracker/core/constants.dart'; import 'package:game_tracker/core/custom_theme.dart'; import 'package:game_tracker/core/enums.dart'; import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/dto/game.dart'; import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; @@ -192,11 +193,34 @@ class _CreateMatchViewState extends State { buttonType: ButtonType.primary, onPressed: _enableCreateGameButton() ? () async { + // Use a game from the games list + Game? gameToUse; + if (selectedGameIndex == -1) { + // Use the first game as default if none selected + final selectedGame = games[0]; + gameToUse = Game( + name: selectedGame.$1, + description: selectedGame.$2, + ruleset: selectedGame.$3.name, + ); + } else { + // Use the selected game from the list + final selectedGame = games[selectedGameIndex]; + gameToUse = Game( + name: selectedGame.$1, + description: selectedGame.$2, + ruleset: selectedGame.$3.name, + ); + } + // Add the game to the database if it doesn't exist + await db.gameDao.addGame(game: gameToUse); + Match match = Match( name: _matchNameController.text.isEmpty ? (hintText ?? '') : _matchNameController.text.trim(), createdAt: DateTime.now(), + game: gameToUse, group: selectedGroup, players: selectedPlayers, ); From 7339194ba04fc2f0bb90fe0f997de810528e8950 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Wed, 21 Jan 2026 15:43:56 +0100 Subject: [PATCH 100/198] fix data import and export --- assets/schema.json | 80 ++++++++++++++++++- lib/data/dto/group.dart | 11 ++- lib/data/dto/match.dart | 23 +++--- lib/data/dto/team.dart | 11 ++- lib/services/data_transfer_service.dart | 101 ++++++++++++++++++------ 5 files changed, 176 insertions(+), 50 deletions(-) diff --git a/assets/schema.json b/assets/schema.json index b3a8a2c..3aab588 100644 --- a/assets/schema.json +++ b/assets/schema.json @@ -15,6 +15,43 @@ }, "name": { "type": "string" + }, + "description": { + "type": ["string", "null"] + } + }, + "required": [ + "id", + "createdAt", + "name" + ] + } + }, + "games": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "ruleset": { + "type": ["string", "null"] + }, + "description": { + "type": ["string", "null"] + }, + "color": { + "type": ["integer", "null"] + }, + "icon": { + "type": ["string", "null"] } }, "required": [ @@ -25,6 +62,38 @@ } }, "groups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "description": { + "type": ["string", "null"] + }, + "memberIds": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "id", + "name", + "createdAt", + "memberIds" + ] + } + }, + "teams": { "type": "array", "items": { "type": "object", @@ -67,6 +136,12 @@ "createdAt": { "type": "string" }, + "gameId": { + "anyOf": [ + {"type": "string"}, + {"type": "null"} + ] + }, "groupId": { "anyOf": [ {"type": "string"}, @@ -79,7 +154,7 @@ "type": "string" } }, - "winnerId": { + "notes": { "anyOf": [ {"type": "string"}, {"type": "null"} @@ -90,7 +165,6 @@ "id", "name", "createdAt", - "groupId", "playerIds" ] } @@ -98,7 +172,9 @@ }, "required": [ "players", + "games", "groups", + "teams", "matches" ] } \ No newline at end of file diff --git a/lib/data/dto/group.dart b/lib/data/dto/group.dart index 4a6f7cd..a69c982 100644 --- a/lib/data/dto/group.dart +++ b/lib/data/dto/group.dart @@ -23,22 +23,21 @@ class Group { return 'Group{id: $id, name: $name, description: $description, members: $members}'; } - /// Creates a Group instance from a JSON object. + /// Creates a Group instance from a JSON object (memberIds format). + /// Player objects are reconstructed from memberIds by the DataTransferService. Group.fromJson(Map json) : id = json['id'], createdAt = DateTime.parse(json['createdAt']), name = json['name'], description = json['description'], - members = (json['members'] as List) - .map((memberJson) => Player.fromJson(memberJson)) - .toList(); + members = []; // Populated during import via DataTransferService - /// Converts the Group instance to a JSON object. + /// Converts the Group instance to a JSON object using normalized format (memberIds only). Map toJson() => { 'id': id, 'createdAt': createdAt.toIso8601String(), 'name': name, 'description': description, - 'members': members.map((member) => member.toJson()).toList(), + 'memberIds': members.map((member) => member.id).toList(), }; } diff --git a/lib/data/dto/match.dart b/lib/data/dto/match.dart index 6963b4f..b71757a 100644 --- a/lib/data/dto/match.dart +++ b/lib/data/dto/match.dart @@ -28,31 +28,28 @@ class Match { @override String toString() { - return 'Match{id: $id, name: $name, game: $game, group: $group, players: $players, notes: $notes, winner: $winner}'; + return 'Match{id: $id, name: $name, game: $game, group: $group, players: $players, notes: $notes}'; } - /// Creates a Match instance from a JSON object. + /// Creates a Match instance from a JSON object (ID references format). + /// Related objects are reconstructed from IDs by the DataTransferService. Match.fromJson(Map json) : id = json['id'], createdAt = DateTime.parse(json['createdAt']), name = json['name'], - game = json['game'] != null ? Game.fromJson(json['game']) : null, - group = json['group'] != null ? Group.fromJson(json['group']) : null, - players = json['players'] != null - ? (json['players'] as List) - .map((playerJson) => Player.fromJson(playerJson)) - .toList() - : null, + game = null, // Populated during import via DataTransferService + group = null, // Populated during import via DataTransferService + players = [], // Populated during import via DataTransferService notes = json['notes']; - /// Converts the Match instance to a JSON object. + /// Converts the Match instance to a JSON object using normalized format (ID references only). Map toJson() => { 'id': id, 'createdAt': createdAt.toIso8601String(), 'name': name, - 'game': game?.toJson(), - 'group': group?.toJson(), - 'players': players?.map((player) => player.toJson()).toList(), + 'gameId': game?.id, + 'groupId': group?.id, + 'playerIds': (players ?? []).map((player) => player.id).toList(), 'notes': notes, }; } diff --git a/lib/data/dto/team.dart b/lib/data/dto/team.dart index a3f78d5..46eb5ca 100644 --- a/lib/data/dto/team.dart +++ b/lib/data/dto/team.dart @@ -21,21 +21,20 @@ class Team { return 'Team{id: $id, name: $name, members: $members}'; } - /// Creates a Team instance from a JSON object. + /// Creates a Team instance from a JSON object (memberIds format). + /// Player objects are reconstructed from memberIds by the DataTransferService. Team.fromJson(Map json) : id = json['id'], name = json['name'], createdAt = DateTime.parse(json['createdAt']), - members = (json['members'] as List) - .map((memberJson) => Player.fromJson(memberJson)) - .toList(); + members = []; // Populated during import via DataTransferService - /// Converts the Team instance to a JSON object. + /// Converts the Team instance to a JSON object using normalized format (memberIds only). Map toJson() => { 'id': id, 'name': name, 'createdAt': createdAt.toIso8601String(), - 'members': members.map((member) => member.toJson()).toList(), + 'memberIds': members.map((member) => member.id).toList(), }; } diff --git a/lib/services/data_transfer_service.dart b/lib/services/data_transfer_service.dart index 8767c59..801fd96 100644 --- a/lib/services/data_transfer_service.dart +++ b/lib/services/data_transfer_service.dart @@ -6,9 +6,11 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:game_tracker/core/enums.dart'; import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/dto/game.dart'; import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; +import 'package:game_tracker/data/dto/team.dart'; import 'package:json_schema/json_schema.dart'; import 'package:provider/provider.dart'; @@ -17,39 +19,54 @@ class DataTransferService { static Future deleteAllData(BuildContext context) async { final db = Provider.of(context, listen: false); await db.matchDao.deleteAllMatches(); + await db.teamDao.deleteAllTeams(); await db.groupDao.deleteAllGroups(); + await db.gameDao.deleteAllGames(); await db.playerDao.deleteAllPlayers(); } /// Retrieves all application data and converts it to a JSON string. - /// Returns the JSON string representation of the data. + /// Returns the JSON string representation of the data in normalized format. static Future getAppDataAsJson(BuildContext context) async { final db = Provider.of(context, listen: false); final matches = await db.matchDao.getAllMatches(); final groups = await db.groupDao.getAllGroups(); final players = await db.playerDao.getAllPlayers(); + final games = await db.gameDao.getAllGames(); + final teams = await db.teamDao.getAllTeams(); - // Construct a JSON representation of the data + // Construct a JSON representation of the data in normalized format final Map jsonMap = { 'players': players.map((p) => p.toJson()).toList(), - + 'games': games.map((g) => g.toJson()).toList(), 'groups': groups .map((g) => { - 'id': g.id, - 'name': g.name, - 'createdAt': g.createdAt.toIso8601String(), - 'memberIds': (g.members).map((m) => m.id).toList(), - }).toList(), - + 'id': g.id, + 'name': g.name, + 'description': g.description, + 'createdAt': g.createdAt.toIso8601String(), + 'memberIds': (g.members).map((m) => m.id).toList(), + }) + .toList(), + 'teams': teams + .map((t) => { + 'id': t.id, + 'name': t.name, + 'createdAt': t.createdAt.toIso8601String(), + 'memberIds': (t.members).map((m) => m.id).toList(), + }) + .toList(), 'matches': matches .map((m) => { - 'id': m.id, - 'name': m.name, - 'createdAt': m.createdAt.toIso8601String(), - 'groupId': m.group?.id, - 'playerIds': (m.players ?? []).map((p) => p.id).toList(), - 'winnerId': m.winner?.id, - }).toList(), + 'id': m.id, + 'name': m.name, + 'createdAt': m.createdAt.toIso8601String(), + 'gameId': m.game?.id, + 'groupId': m.group?.id, + 'playerIds': (m.players ?? []).map((p) => p.id).toList(), + 'notes': m.notes, + }) + .toList(), }; return json.encode(jsonMap); @@ -107,10 +124,12 @@ class DataTransferService { final Map decoded = json.decode(jsonString) as Map; final List playersJson = (decoded['players'] as List?) ?? []; + final List gamesJson = (decoded['games'] as List?) ?? []; final List groupsJson = (decoded['groups'] as List?) ?? []; + final List teamsJson = (decoded['teams'] as List?) ?? []; final List matchesJson = (decoded['matches'] as List?) ?? []; - // Players + // Import Players final List importedPlayers = playersJson .map((p) => Player.fromJson(p as Map)) .toList(); @@ -119,7 +138,16 @@ class DataTransferService { for (final p in importedPlayers) p.id: p, }; - // Groups + // Import Games + final List importedGames = gamesJson + .map((g) => Game.fromJson(g as Map)) + .toList(); + + final Map gameById = { + for (final g in importedGames) g.id: g, + }; + + // Import Groups final List importedGroups = groupsJson.map((g) { final map = g as Map; final memberIds = (map['memberIds'] as List? ?? []).cast(); @@ -132,6 +160,7 @@ class DataTransferService { return Group( id: map['id'] as String, name: map['name'] as String, + description: map['description'] as String?, members: members, createdAt: DateTime.parse(map['createdAt'] as String), ); @@ -141,33 +170,59 @@ class DataTransferService { for (final g in importedGroups) g.id: g, }; - // Matches + // Import Teams + final List importedTeams = teamsJson.map((t) { + final map = t as Map; + final memberIds = (map['memberIds'] as List? ?? []).cast(); + + final members = memberIds + .map((id) => playerById[id]) + .whereType() + .toList(); + + return Team( + id: map['id'] as String, + name: map['name'] as String, + members: members, + createdAt: DateTime.parse(map['createdAt'] as String), + ); + }).toList(); + + final Map teamById = { + for (final t in importedTeams) t.id: t, + }; + + // Import Matches final List importedMatches = matchesJson.map((m) { final map = m as Map; + final String? gameId = map['gameId'] as String?; final String? groupId = map['groupId'] as String?; final List playerIds = (map['playerIds'] as List? ?? []).cast(); - final String? winnerId = map['winnerId'] as String?; + final game = (gameId == null) ? null : gameById[gameId]; final group = (groupId == null) ? null : groupById[groupId]; final players = playerIds .map((id) => playerById[id]) .whereType() .toList(); - final winner = (winnerId == null) ? null : playerById[winnerId]; return Match( id: map['id'] as String, name: map['name'] as String, + game: game, group: group, - players: players, + players: players.isNotEmpty ? players : null, createdAt: DateTime.parse(map['createdAt'] as String), - winner: winner, + notes: map['notes'] as String?, ); }).toList(); + // Import all data into the database await db.playerDao.addPlayersAsList(players: importedPlayers); + await db.gameDao.addGamesAsList(games: importedGames); await db.groupDao.addGroupsAsList(groups: importedGroups); + await db.teamDao.addTeamsAsList(teams: importedTeams); await db.matchDao.addMatchAsList(matches: importedMatches); return ImportResult.success; From 0ddb4edbc94ab53aa8df32295db0e38e47f417b9 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Wed, 21 Jan 2026 16:08:21 +0100 Subject: [PATCH 101/198] remove unused variable --- lib/services/data_transfer_service.dart | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/services/data_transfer_service.dart b/lib/services/data_transfer_service.dart index 801fd96..e659e45 100644 --- a/lib/services/data_transfer_service.dart +++ b/lib/services/data_transfer_service.dart @@ -188,10 +188,6 @@ class DataTransferService { ); }).toList(); - final Map teamById = { - for (final t in importedTeams) t.id: t, - }; - // Import Matches final List importedMatches = matchesJson.map((m) { final map = m as Map; From 6060afc54323771964c743b7af60cba8866d17f1 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Thu, 22 Jan 2026 22:13:12 +0100 Subject: [PATCH 102/198] Renamed package & bundle identifier --- android/app/build.gradle.kts | 4 +- .../com/example/game_tracker/MainActivity.kt | 2 +- ios/Runner.xcodeproj/project.pbxproj | 11 +- ios/Runner/Info.plist | 20 +-- lib/core/enums.dart | 2 +- lib/data/dao/group_dao.dart | 10 +- lib/data/dao/group_match_dao.dart | 6 +- lib/data/dao/match_dao.dart | 10 +- lib/data/dao/player_dao.dart | 6 +- lib/data/dao/player_group_dao.dart | 8 +- lib/data/dao/player_match_dao.dart | 6 +- lib/data/db/database.dart | 24 ++-- lib/data/db/database.g.dart | 132 +++++++++--------- lib/data/db/tables/group_match_table.dart | 4 +- lib/data/db/tables/player_group_table.dart | 4 +- lib/data/db/tables/player_match_table.dart | 4 +- lib/data/dto/group.dart | 2 +- lib/data/dto/match.dart | 4 +- lib/main.dart | 8 +- .../main_menu/custom_navigation_bar.dart | 18 +-- .../group_view/create_group_view.dart | 20 +-- .../group_view/group_profile_view.dart | 26 ++-- .../main_menu/group_view/groups_view.dart | 26 ++-- .../views/main_menu/home_view.dart | 26 ++-- .../create_match/choose_game_view.dart | 10 +- .../create_match/choose_group_view.dart | 12 +- .../create_match/create_match_view.dart | 34 ++--- .../match_view/match_result_view.dart | 12 +- .../main_menu/match_view/match_view.dart | 28 ++-- .../licenses/license_detail_view.dart | 8 +- .../settings_view/licenses/oss_licenses.dart | 8 +- .../settings_view/licenses_view.dart | 8 +- .../settings_view/settings_view.dart | 18 +-- .../views/main_menu/statistics_view.dart | 16 +-- .../buttons/animated_dialog_button.dart | 2 +- .../widgets/buttons/custom_width_button.dart | 4 +- .../widgets/buttons/quick_create_button.dart | 2 +- .../widgets/colored_icon_container.dart | 2 +- .../widgets/custom_alert_dialog.dart | 2 +- lib/presentation/widgets/navbar_item.dart | 2 +- .../widgets/player_selection.dart | 20 +-- .../widgets/text_input/custom_search_bar.dart | 2 +- .../widgets/text_input/text_input_field.dart | 2 +- .../widgets/tiles/choose_tile.dart | 2 +- .../widgets/tiles/custom_radio_list_tile.dart | 2 +- .../widgets/tiles/group_tile.dart | 6 +- lib/presentation/widgets/tiles/info_tile.dart | 2 +- .../widgets/tiles/license_tile.dart | 8 +- .../widgets/tiles/match_tile.dart | 10 +- .../widgets/tiles/quick_info_tile.dart | 2 +- .../widgets/tiles/settings_list_tile.dart | 4 +- .../widgets/tiles/statistics_tile.dart | 4 +- .../widgets/tiles/text_icon_list_tile.dart | 2 +- .../widgets/tiles/text_icon_tile.dart | 2 +- .../tiles/title_description_list_tile.dart | 2 +- lib/services/data_transfer_service.dart | 67 +++++---- pubspec.yaml | 4 +- test/db_tests/game_test.dart | 8 +- test/db_tests/group_match_test.dart | 8 +- test/db_tests/group_test.dart | 6 +- test/db_tests/player_group_test.dart | 6 +- test/db_tests/player_match_test.dart | 8 +- test/db_tests/player_test.dart | 4 +- 63 files changed, 373 insertions(+), 359 deletions(-) diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index edde6d6..0d5c4b8 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -6,7 +6,7 @@ plugins { } android { - namespace = "com.example.game_tracker" + namespace = "de.liquid.tallee" compileSdk = flutter.compileSdkVersion ndkVersion = flutter.ndkVersion @@ -21,7 +21,7 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId = "com.example.game_tracker" + applicationId = "de.liquid.tallee" // You can update the following values to match your application needs. // For more information, see: https://flutter.dev/to/review-gradle-config. minSdk = flutter.minSdkVersion diff --git a/android/app/src/main/kotlin/com/example/game_tracker/MainActivity.kt b/android/app/src/main/kotlin/com/example/game_tracker/MainActivity.kt index 9790c15..b257cc9 100644 --- a/android/app/src/main/kotlin/com/example/game_tracker/MainActivity.kt +++ b/android/app/src/main/kotlin/com/example/game_tracker/MainActivity.kt @@ -1,4 +1,4 @@ -package com.example.game_tracker +package de.liquid.tallee import io.flutter.embedding.android.FlutterActivity diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 8358b1c..d556582 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -152,7 +152,6 @@ B68CF4A64F0B5E45B43D6900 /* Pods-RunnerTests.release.xcconfig */, E754D1191B3E54E52B6DCC49 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Pods; path = Pods; sourceTree = ""; }; @@ -278,10 +277,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; @@ -478,7 +481,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.gameTracker; + PRODUCT_BUNDLE_IDENTIFIER = de.liquid.tallee; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; @@ -661,7 +664,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.gameTracker; + PRODUCT_BUNDLE_IDENTIFIER = de.liquid.tallee; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -684,7 +687,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.gameTracker; + PRODUCT_BUNDLE_IDENTIFIER = de.liquid.tallee; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index bf7adb2..7e79382 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -2,6 +2,8 @@ + CADisableMinimumFrameDurationOnPhone + CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName @@ -22,13 +24,15 @@ ???? CFBundleVersion $(FLUTTER_BUILD_NUMBER) + LSApplicationQueriesSchemes + + https + http + LSRequiresIPhoneOS - LSApplicationQueriesSchemes - - https - http - + UIApplicationSupportsIndirectInputEvents + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile @@ -44,9 +48,5 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - CADisableMinimumFrameDurationOnPhone - - UIApplicationSupportsIndirectInputEvents - - \ No newline at end of file + diff --git a/lib/core/enums.dart b/lib/core/enums.dart index 17a01f6..53288e3 100644 --- a/lib/core/enums.dart +++ b/lib/core/enums.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; /// Button types used for styling the [CustomWidthButton] /// - [ButtonType.primary]: Primary button style. diff --git a/lib/data/dao/group_dao.dart b/lib/data/dao/group_dao.dart index 98c602a..086cb2d 100644 --- a/lib/data/dao/group_dao.dart +++ b/lib/data/dao/group_dao.dart @@ -1,9 +1,9 @@ import 'package:drift/drift.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/db/tables/group_table.dart'; -import 'package:game_tracker/data/db/tables/player_group_table.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/player.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/db/tables/group_table.dart'; +import 'package:tallee/data/db/tables/player_group_table.dart'; +import 'package:tallee/data/dto/group.dart'; +import 'package:tallee/data/dto/player.dart'; part 'group_dao.g.dart'; diff --git a/lib/data/dao/group_match_dao.dart b/lib/data/dao/group_match_dao.dart index d428fb5..de2eaf1 100644 --- a/lib/data/dao/group_match_dao.dart +++ b/lib/data/dao/group_match_dao.dart @@ -1,7 +1,7 @@ import 'package:drift/drift.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/db/tables/group_match_table.dart'; -import 'package:game_tracker/data/dto/group.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/db/tables/group_match_table.dart'; +import 'package:tallee/data/dto/group.dart'; part 'group_match_dao.g.dart'; diff --git a/lib/data/dao/match_dao.dart b/lib/data/dao/match_dao.dart index 160686a..cc3a37f 100644 --- a/lib/data/dao/match_dao.dart +++ b/lib/data/dao/match_dao.dart @@ -1,9 +1,9 @@ import 'package:drift/drift.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/db/tables/match_table.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/match.dart'; -import 'package:game_tracker/data/dto/player.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/db/tables/match_table.dart'; +import 'package:tallee/data/dto/group.dart'; +import 'package:tallee/data/dto/match.dart'; +import 'package:tallee/data/dto/player.dart'; part 'match_dao.g.dart'; diff --git a/lib/data/dao/player_dao.dart b/lib/data/dao/player_dao.dart index c8db800..8ac21f6 100644 --- a/lib/data/dao/player_dao.dart +++ b/lib/data/dao/player_dao.dart @@ -1,7 +1,7 @@ import 'package:drift/drift.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/db/tables/player_table.dart'; -import 'package:game_tracker/data/dto/player.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/db/tables/player_table.dart'; +import 'package:tallee/data/dto/player.dart'; part 'player_dao.g.dart'; diff --git a/lib/data/dao/player_group_dao.dart b/lib/data/dao/player_group_dao.dart index db45735..23da0c1 100644 --- a/lib/data/dao/player_group_dao.dart +++ b/lib/data/dao/player_group_dao.dart @@ -1,8 +1,8 @@ import 'package:drift/drift.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/db/tables/player_group_table.dart'; -import 'package:game_tracker/data/db/tables/player_table.dart'; -import 'package:game_tracker/data/dto/player.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/db/tables/player_group_table.dart'; +import 'package:tallee/data/db/tables/player_table.dart'; +import 'package:tallee/data/dto/player.dart'; part 'player_group_dao.g.dart'; diff --git a/lib/data/dao/player_match_dao.dart b/lib/data/dao/player_match_dao.dart index 7ebaee6..6700e85 100644 --- a/lib/data/dao/player_match_dao.dart +++ b/lib/data/dao/player_match_dao.dart @@ -1,7 +1,7 @@ import 'package:drift/drift.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/db/tables/player_match_table.dart'; -import 'package:game_tracker/data/dto/player.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/db/tables/player_match_table.dart'; +import 'package:tallee/data/dto/player.dart'; part 'player_match_dao.g.dart'; diff --git a/lib/data/db/database.dart b/lib/data/db/database.dart index e6c322f..4c70b21 100644 --- a/lib/data/db/database.dart +++ b/lib/data/db/database.dart @@ -1,18 +1,18 @@ import 'package:drift/drift.dart'; import 'package:drift_flutter/drift_flutter.dart'; -import 'package:game_tracker/data/dao/group_dao.dart'; -import 'package:game_tracker/data/dao/group_match_dao.dart'; -import 'package:game_tracker/data/dao/match_dao.dart'; -import 'package:game_tracker/data/dao/player_dao.dart'; -import 'package:game_tracker/data/dao/player_group_dao.dart'; -import 'package:game_tracker/data/dao/player_match_dao.dart'; -import 'package:game_tracker/data/db/tables/group_match_table.dart'; -import 'package:game_tracker/data/db/tables/group_table.dart'; -import 'package:game_tracker/data/db/tables/match_table.dart'; -import 'package:game_tracker/data/db/tables/player_group_table.dart'; -import 'package:game_tracker/data/db/tables/player_match_table.dart'; -import 'package:game_tracker/data/db/tables/player_table.dart'; import 'package:path_provider/path_provider.dart'; +import 'package:tallee/data/dao/group_dao.dart'; +import 'package:tallee/data/dao/group_match_dao.dart'; +import 'package:tallee/data/dao/match_dao.dart'; +import 'package:tallee/data/dao/player_dao.dart'; +import 'package:tallee/data/dao/player_group_dao.dart'; +import 'package:tallee/data/dao/player_match_dao.dart'; +import 'package:tallee/data/db/tables/group_match_table.dart'; +import 'package:tallee/data/db/tables/group_table.dart'; +import 'package:tallee/data/db/tables/match_table.dart'; +import 'package:tallee/data/db/tables/player_group_table.dart'; +import 'package:tallee/data/db/tables/player_match_table.dart'; +import 'package:tallee/data/db/tables/player_table.dart'; part 'database.g.dart'; diff --git a/lib/data/db/database.g.dart b/lib/data/db/database.g.dart index 6bc493c..4fa56f9 100644 --- a/lib/data/db/database.g.dart +++ b/lib/data/db/database.g.dart @@ -527,6 +527,17 @@ class $MatchTableTable extends MatchTable final GeneratedDatabase attachedDatabase; final String? _alias; $MatchTableTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _winnerIdMeta = const VerificationMeta( + 'winnerId', + ); + @override + late final GeneratedColumn winnerId = GeneratedColumn( + 'winner_id', + aliasedName, + true, + type: DriftSqlType.string, + requiredDuringInsert: false, + ); static const VerificationMeta _idMeta = const VerificationMeta('id'); @override late final GeneratedColumn id = GeneratedColumn( @@ -545,17 +556,6 @@ class $MatchTableTable extends MatchTable type: DriftSqlType.string, requiredDuringInsert: true, ); - static const VerificationMeta _winnerIdMeta = const VerificationMeta( - 'winnerId', - ); - @override - late final GeneratedColumn winnerId = GeneratedColumn( - 'winner_id', - aliasedName, - true, - type: DriftSqlType.string, - requiredDuringInsert: false, - ); static const VerificationMeta _createdAtMeta = const VerificationMeta( 'createdAt', ); @@ -568,7 +568,7 @@ class $MatchTableTable extends MatchTable requiredDuringInsert: true, ); @override - List get $columns => [id, name, winnerId, createdAt]; + List get $columns => [winnerId, id, name, createdAt]; @override String get aliasedName => _alias ?? actualTableName; @override @@ -581,6 +581,12 @@ class $MatchTableTable extends MatchTable }) { final context = VerificationContext(); final data = instance.toColumns(true); + if (data.containsKey('winner_id')) { + context.handle( + _winnerIdMeta, + winnerId.isAcceptableOrUnknown(data['winner_id']!, _winnerIdMeta), + ); + } if (data.containsKey('id')) { context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); } else if (isInserting) { @@ -594,12 +600,6 @@ class $MatchTableTable extends MatchTable } else if (isInserting) { context.missing(_nameMeta); } - if (data.containsKey('winner_id')) { - context.handle( - _winnerIdMeta, - winnerId.isAcceptableOrUnknown(data['winner_id']!, _winnerIdMeta), - ); - } if (data.containsKey('created_at')) { context.handle( _createdAtMeta, @@ -617,6 +617,10 @@ class $MatchTableTable extends MatchTable MatchTableData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return MatchTableData( + winnerId: attachedDatabase.typeMapping.read( + DriftSqlType.string, + data['${effectivePrefix}winner_id'], + ), id: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}id'], @@ -625,10 +629,6 @@ class $MatchTableTable extends MatchTable DriftSqlType.string, data['${effectivePrefix}name'], )!, - winnerId: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}winner_id'], - ), createdAt: attachedDatabase.typeMapping.read( DriftSqlType.dateTime, data['${effectivePrefix}created_at'], @@ -643,35 +643,35 @@ class $MatchTableTable extends MatchTable } class MatchTableData extends DataClass implements Insertable { + final String? winnerId; final String id; final String name; - final String? winnerId; final DateTime createdAt; const MatchTableData({ + this.winnerId, required this.id, required this.name, - this.winnerId, required this.createdAt, }); @override Map toColumns(bool nullToAbsent) { final map = {}; - map['id'] = Variable(id); - map['name'] = Variable(name); if (!nullToAbsent || winnerId != null) { map['winner_id'] = Variable(winnerId); } + map['id'] = Variable(id); + map['name'] = Variable(name); map['created_at'] = Variable(createdAt); return map; } MatchTableCompanion toCompanion(bool nullToAbsent) { return MatchTableCompanion( - id: Value(id), - name: Value(name), winnerId: winnerId == null && nullToAbsent ? const Value.absent() : Value(winnerId), + id: Value(id), + name: Value(name), createdAt: Value(createdAt), ); } @@ -682,9 +682,9 @@ class MatchTableData extends DataClass implements Insertable { }) { serializer ??= driftRuntimeOptions.defaultSerializer; return MatchTableData( + winnerId: serializer.fromJson(json['winnerId']), id: serializer.fromJson(json['id']), name: serializer.fromJson(json['name']), - winnerId: serializer.fromJson(json['winnerId']), createdAt: serializer.fromJson(json['createdAt']), ); } @@ -692,29 +692,29 @@ class MatchTableData extends DataClass implements Insertable { Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { + 'winnerId': serializer.toJson(winnerId), 'id': serializer.toJson(id), 'name': serializer.toJson(name), - 'winnerId': serializer.toJson(winnerId), 'createdAt': serializer.toJson(createdAt), }; } MatchTableData copyWith({ + Value winnerId = const Value.absent(), String? id, String? name, - Value winnerId = const Value.absent(), DateTime? createdAt, }) => MatchTableData( + winnerId: winnerId.present ? winnerId.value : this.winnerId, id: id ?? this.id, name: name ?? this.name, - winnerId: winnerId.present ? winnerId.value : this.winnerId, createdAt: createdAt ?? this.createdAt, ); MatchTableData copyWithCompanion(MatchTableCompanion data) { return MatchTableData( + winnerId: data.winnerId.present ? data.winnerId.value : this.winnerId, id: data.id.present ? data.id.value : this.id, name: data.name.present ? data.name.value : this.name, - winnerId: data.winnerId.present ? data.winnerId.value : this.winnerId, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, ); } @@ -722,75 +722,75 @@ class MatchTableData extends DataClass implements Insertable { @override String toString() { return (StringBuffer('MatchTableData(') + ..write('winnerId: $winnerId, ') ..write('id: $id, ') ..write('name: $name, ') - ..write('winnerId: $winnerId, ') ..write('createdAt: $createdAt') ..write(')')) .toString(); } @override - int get hashCode => Object.hash(id, name, winnerId, createdAt); + int get hashCode => Object.hash(winnerId, id, name, createdAt); @override bool operator ==(Object other) => identical(this, other) || (other is MatchTableData && + other.winnerId == this.winnerId && other.id == this.id && other.name == this.name && - other.winnerId == this.winnerId && other.createdAt == this.createdAt); } class MatchTableCompanion extends UpdateCompanion { + final Value winnerId; final Value id; final Value name; - final Value winnerId; final Value createdAt; final Value rowid; const MatchTableCompanion({ + this.winnerId = const Value.absent(), this.id = const Value.absent(), this.name = const Value.absent(), - this.winnerId = const Value.absent(), this.createdAt = const Value.absent(), this.rowid = const Value.absent(), }); MatchTableCompanion.insert({ + this.winnerId = const Value.absent(), required String id, required String name, - this.winnerId = const Value.absent(), required DateTime createdAt, this.rowid = const Value.absent(), }) : id = Value(id), name = Value(name), createdAt = Value(createdAt); static Insertable custom({ + Expression? winnerId, Expression? id, Expression? name, - Expression? winnerId, Expression? createdAt, Expression? rowid, }) { return RawValuesInsertable({ + if (winnerId != null) 'winner_id': winnerId, if (id != null) 'id': id, if (name != null) 'name': name, - if (winnerId != null) 'winner_id': winnerId, if (createdAt != null) 'created_at': createdAt, if (rowid != null) 'rowid': rowid, }); } MatchTableCompanion copyWith({ + Value? winnerId, Value? id, Value? name, - Value? winnerId, Value? createdAt, Value? rowid, }) { return MatchTableCompanion( + winnerId: winnerId ?? this.winnerId, id: id ?? this.id, name: name ?? this.name, - winnerId: winnerId ?? this.winnerId, createdAt: createdAt ?? this.createdAt, rowid: rowid ?? this.rowid, ); @@ -799,15 +799,15 @@ class MatchTableCompanion extends UpdateCompanion { @override Map toColumns(bool nullToAbsent) { final map = {}; + if (winnerId.present) { + map['winner_id'] = Variable(winnerId.value); + } if (id.present) { map['id'] = Variable(id.value); } if (name.present) { map['name'] = Variable(name.value); } - if (winnerId.present) { - map['winner_id'] = Variable(winnerId.value); - } if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } @@ -820,9 +820,9 @@ class MatchTableCompanion extends UpdateCompanion { @override String toString() { return (StringBuffer('MatchTableCompanion(') + ..write('winnerId: $winnerId, ') ..write('id: $id, ') ..write('name: $name, ') - ..write('winnerId: $winnerId, ') ..write('createdAt: $createdAt, ') ..write('rowid: $rowid') ..write(')')) @@ -2339,17 +2339,17 @@ typedef $$GroupTableTableProcessedTableManager = >; typedef $$MatchTableTableCreateCompanionBuilder = MatchTableCompanion Function({ + Value winnerId, required String id, required String name, - Value winnerId, required DateTime createdAt, Value rowid, }); typedef $$MatchTableTableUpdateCompanionBuilder = MatchTableCompanion Function({ + Value winnerId, Value id, Value name, - Value winnerId, Value createdAt, Value rowid, }); @@ -2414,6 +2414,11 @@ class $$MatchTableTableFilterComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); + ColumnFilters get winnerId => $composableBuilder( + column: $table.winnerId, + builder: (column) => ColumnFilters(column), + ); + ColumnFilters get id => $composableBuilder( column: $table.id, builder: (column) => ColumnFilters(column), @@ -2424,11 +2429,6 @@ class $$MatchTableTableFilterComposer builder: (column) => ColumnFilters(column), ); - ColumnFilters get winnerId => $composableBuilder( - column: $table.winnerId, - builder: (column) => ColumnFilters(column), - ); - ColumnFilters get createdAt => $composableBuilder( column: $table.createdAt, builder: (column) => ColumnFilters(column), @@ -2494,6 +2494,11 @@ class $$MatchTableTableOrderingComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); + ColumnOrderings get winnerId => $composableBuilder( + column: $table.winnerId, + builder: (column) => ColumnOrderings(column), + ); + ColumnOrderings get id => $composableBuilder( column: $table.id, builder: (column) => ColumnOrderings(column), @@ -2504,11 +2509,6 @@ class $$MatchTableTableOrderingComposer builder: (column) => ColumnOrderings(column), ); - ColumnOrderings get winnerId => $composableBuilder( - column: $table.winnerId, - builder: (column) => ColumnOrderings(column), - ); - ColumnOrderings get createdAt => $composableBuilder( column: $table.createdAt, builder: (column) => ColumnOrderings(column), @@ -2524,15 +2524,15 @@ class $$MatchTableTableAnnotationComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); + GeneratedColumn get winnerId => + $composableBuilder(column: $table.winnerId, builder: (column) => column); + GeneratedColumn get id => $composableBuilder(column: $table.id, builder: (column) => column); GeneratedColumn get name => $composableBuilder(column: $table.name, builder: (column) => column); - GeneratedColumn get winnerId => - $composableBuilder(column: $table.winnerId, builder: (column) => column); - GeneratedColumn get createdAt => $composableBuilder(column: $table.createdAt, builder: (column) => column); @@ -2618,29 +2618,29 @@ class $$MatchTableTableTableManager $$MatchTableTableAnnotationComposer($db: db, $table: table), updateCompanionCallback: ({ + Value winnerId = const Value.absent(), Value id = const Value.absent(), Value name = const Value.absent(), - Value winnerId = const Value.absent(), Value createdAt = const Value.absent(), Value rowid = const Value.absent(), }) => MatchTableCompanion( + winnerId: winnerId, id: id, name: name, - winnerId: winnerId, createdAt: createdAt, rowid: rowid, ), createCompanionCallback: ({ + Value winnerId = const Value.absent(), required String id, required String name, - Value winnerId = const Value.absent(), required DateTime createdAt, Value rowid = const Value.absent(), }) => MatchTableCompanion.insert( + winnerId: winnerId, id: id, name: name, - winnerId: winnerId, createdAt: createdAt, rowid: rowid, ), diff --git a/lib/data/db/tables/group_match_table.dart b/lib/data/db/tables/group_match_table.dart index 3f77dcb..a12e83b 100644 --- a/lib/data/db/tables/group_match_table.dart +++ b/lib/data/db/tables/group_match_table.dart @@ -1,6 +1,6 @@ import 'package:drift/drift.dart'; -import 'package:game_tracker/data/db/tables/group_table.dart'; -import 'package:game_tracker/data/db/tables/match_table.dart'; +import 'package:tallee/data/db/tables/group_table.dart'; +import 'package:tallee/data/db/tables/match_table.dart'; class GroupMatchTable extends Table { TextColumn get groupId => diff --git a/lib/data/db/tables/player_group_table.dart b/lib/data/db/tables/player_group_table.dart index da2521b..8d484ef 100644 --- a/lib/data/db/tables/player_group_table.dart +++ b/lib/data/db/tables/player_group_table.dart @@ -1,6 +1,6 @@ import 'package:drift/drift.dart'; -import 'package:game_tracker/data/db/tables/group_table.dart'; -import 'package:game_tracker/data/db/tables/player_table.dart'; +import 'package:tallee/data/db/tables/group_table.dart'; +import 'package:tallee/data/db/tables/player_table.dart'; class PlayerGroupTable extends Table { TextColumn get playerId => diff --git a/lib/data/db/tables/player_match_table.dart b/lib/data/db/tables/player_match_table.dart index e155cd5..13ef36f 100644 --- a/lib/data/db/tables/player_match_table.dart +++ b/lib/data/db/tables/player_match_table.dart @@ -1,6 +1,6 @@ import 'package:drift/drift.dart'; -import 'package:game_tracker/data/db/tables/match_table.dart'; -import 'package:game_tracker/data/db/tables/player_table.dart'; +import 'package:tallee/data/db/tables/match_table.dart'; +import 'package:tallee/data/db/tables/player_table.dart'; class PlayerMatchTable extends Table { TextColumn get playerId => diff --git a/lib/data/dto/group.dart b/lib/data/dto/group.dart index 92dbd09..f02d98f 100644 --- a/lib/data/dto/group.dart +++ b/lib/data/dto/group.dart @@ -1,5 +1,5 @@ import 'package:clock/clock.dart'; -import 'package:game_tracker/data/dto/player.dart'; +import 'package:tallee/data/dto/player.dart'; import 'package:uuid/uuid.dart'; class Group { diff --git a/lib/data/dto/match.dart b/lib/data/dto/match.dart index 9570f66..d3a8333 100644 --- a/lib/data/dto/match.dart +++ b/lib/data/dto/match.dart @@ -1,6 +1,6 @@ import 'package:clock/clock.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/player.dart'; +import 'package:tallee/data/dto/group.dart'; +import 'package:tallee/data/dto/player.dart'; import 'package:uuid/uuid.dart'; class Match { diff --git a/lib/main.dart b/lib/main.dart index 2f64e2e..0002531 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/views/main_menu/custom_navigation_bar.dart'; import 'package:provider/provider.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/views/main_menu/custom_navigation_bar.dart'; void main() { runApp( diff --git a/lib/presentation/views/main_menu/custom_navigation_bar.dart b/lib/presentation/views/main_menu/custom_navigation_bar.dart index a110419..9e81a34 100644 --- a/lib/presentation/views/main_menu/custom_navigation_bar.dart +++ b/lib/presentation/views/main_menu/custom_navigation_bar.dart @@ -1,15 +1,15 @@ import 'dart:ui'; import 'package:flutter/material.dart'; -import 'package:game_tracker/core/adaptive_page_route.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/views/main_menu/group_view/groups_view.dart'; -import 'package:game_tracker/presentation/views/main_menu/home_view.dart'; -import 'package:game_tracker/presentation/views/main_menu/match_view/match_view.dart'; -import 'package:game_tracker/presentation/views/main_menu/settings_view/settings_view.dart'; -import 'package:game_tracker/presentation/views/main_menu/statistics_view.dart'; -import 'package:game_tracker/presentation/widgets/navbar_item.dart'; +import 'package:tallee/core/adaptive_page_route.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/views/main_menu/group_view/groups_view.dart'; +import 'package:tallee/presentation/views/main_menu/home_view.dart'; +import 'package:tallee/presentation/views/main_menu/match_view/match_view.dart'; +import 'package:tallee/presentation/views/main_menu/settings_view/settings_view.dart'; +import 'package:tallee/presentation/views/main_menu/statistics_view.dart'; +import 'package:tallee/presentation/widgets/navbar_item.dart'; class CustomNavigationBar extends StatefulWidget { /// A custom navigation bar widget that provides tabbed navigation diff --git a/lib/presentation/views/main_menu/group_view/create_group_view.dart b/lib/presentation/views/main_menu/group_view/create_group_view.dart index 4b34095..2b7ab86 100644 --- a/lib/presentation/views/main_menu/group_view/create_group_view.dart +++ b/lib/presentation/views/main_menu/group_view/create_group_view.dart @@ -1,15 +1,15 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/constants.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/core/enums.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/widgets/buttons/custom_width_button.dart'; -import 'package:game_tracker/presentation/widgets/player_selection.dart'; -import 'package:game_tracker/presentation/widgets/text_input/text_input_field.dart'; import 'package:provider/provider.dart'; +import 'package:tallee/core/constants.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/core/enums.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/group.dart'; +import 'package:tallee/data/dto/player.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/widgets/buttons/custom_width_button.dart'; +import 'package:tallee/presentation/widgets/player_selection.dart'; +import 'package:tallee/presentation/widgets/text_input/text_input_field.dart'; class CreateGroupView extends StatefulWidget { /// A view that allows the user to create a new group diff --git a/lib/presentation/views/main_menu/group_view/group_profile_view.dart b/lib/presentation/views/main_menu/group_view/group_profile_view.dart index b46fcbe..d4b71ab 100644 --- a/lib/presentation/views/main_menu/group_view/group_profile_view.dart +++ b/lib/presentation/views/main_menu/group_view/group_profile_view.dart @@ -1,19 +1,19 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/match.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/widgets/app_skeleton.dart'; -import 'package:game_tracker/presentation/widgets/buttons/animated_dialog_button.dart'; -import 'package:game_tracker/presentation/widgets/buttons/main_menu_button.dart'; -import 'package:game_tracker/presentation/widgets/colored_icon_container.dart'; -import 'package:game_tracker/presentation/widgets/custom_alert_dialog.dart'; -import 'package:game_tracker/presentation/widgets/tiles/info_tile.dart'; -import 'package:game_tracker/presentation/widgets/tiles/text_icon_tile.dart'; import 'package:intl/intl.dart'; import 'package:provider/provider.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/group.dart'; +import 'package:tallee/data/dto/match.dart'; +import 'package:tallee/data/dto/player.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/widgets/app_skeleton.dart'; +import 'package:tallee/presentation/widgets/buttons/animated_dialog_button.dart'; +import 'package:tallee/presentation/widgets/buttons/main_menu_button.dart'; +import 'package:tallee/presentation/widgets/colored_icon_container.dart'; +import 'package:tallee/presentation/widgets/custom_alert_dialog.dart'; +import 'package:tallee/presentation/widgets/tiles/info_tile.dart'; +import 'package:tallee/presentation/widgets/tiles/text_icon_tile.dart'; class GroupProfileView extends StatefulWidget { /// A view that displays the profile of a group diff --git a/lib/presentation/views/main_menu/group_view/groups_view.dart b/lib/presentation/views/main_menu/group_view/groups_view.dart index 81922f5..6035fc8 100644 --- a/lib/presentation/views/main_menu/group_view/groups_view.dart +++ b/lib/presentation/views/main_menu/group_view/groups_view.dart @@ -1,18 +1,18 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/adaptive_page_route.dart'; -import 'package:game_tracker/core/constants.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/views/main_menu/group_view/create_group_view.dart'; -import 'package:game_tracker/presentation/views/main_menu/group_view/group_profile_view.dart'; -import 'package:game_tracker/presentation/widgets/app_skeleton.dart'; -import 'package:game_tracker/presentation/widgets/buttons/main_menu_button.dart'; -import 'package:game_tracker/presentation/widgets/tiles/group_tile.dart'; -import 'package:game_tracker/presentation/widgets/top_centered_message.dart'; import 'package:provider/provider.dart'; +import 'package:tallee/core/adaptive_page_route.dart'; +import 'package:tallee/core/constants.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/group.dart'; +import 'package:tallee/data/dto/player.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/views/main_menu/group_view/create_group_view.dart'; +import 'package:tallee/presentation/views/main_menu/group_view/group_profile_view.dart'; +import 'package:tallee/presentation/widgets/app_skeleton.dart'; +import 'package:tallee/presentation/widgets/buttons/main_menu_button.dart'; +import 'package:tallee/presentation/widgets/tiles/group_tile.dart'; +import 'package:tallee/presentation/widgets/top_centered_message.dart'; class GroupsView extends StatefulWidget { /// A view that displays a list of groups diff --git a/lib/presentation/views/main_menu/home_view.dart b/lib/presentation/views/main_menu/home_view.dart index f28341e..63617b2 100644 --- a/lib/presentation/views/main_menu/home_view.dart +++ b/lib/presentation/views/main_menu/home_view.dart @@ -1,18 +1,18 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/adaptive_page_route.dart'; -import 'package:game_tracker/core/constants.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/match.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/views/main_menu/match_view/match_result_view.dart'; -import 'package:game_tracker/presentation/widgets/app_skeleton.dart'; -import 'package:game_tracker/presentation/widgets/buttons/quick_create_button.dart'; -import 'package:game_tracker/presentation/widgets/tiles/info_tile.dart'; -import 'package:game_tracker/presentation/widgets/tiles/match_tile.dart'; -import 'package:game_tracker/presentation/widgets/tiles/quick_info_tile.dart'; import 'package:provider/provider.dart'; +import 'package:tallee/core/adaptive_page_route.dart'; +import 'package:tallee/core/constants.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/group.dart'; +import 'package:tallee/data/dto/match.dart'; +import 'package:tallee/data/dto/player.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/views/main_menu/match_view/match_result_view.dart'; +import 'package:tallee/presentation/widgets/app_skeleton.dart'; +import 'package:tallee/presentation/widgets/buttons/quick_create_button.dart'; +import 'package:tallee/presentation/widgets/tiles/info_tile.dart'; +import 'package:tallee/presentation/widgets/tiles/match_tile.dart'; +import 'package:tallee/presentation/widgets/tiles/quick_info_tile.dart'; class HomeView extends StatefulWidget { /// The main home view of the application, displaying quick info, diff --git a/lib/presentation/views/main_menu/match_view/create_match/choose_game_view.dart b/lib/presentation/views/main_menu/match_view/create_match/choose_game_view.dart index 3ff6e79..447b9c5 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/choose_game_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/choose_game_view.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/core/enums.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/widgets/text_input/custom_search_bar.dart'; -import 'package:game_tracker/presentation/widgets/tiles/title_description_list_tile.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/core/enums.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/widgets/text_input/custom_search_bar.dart'; +import 'package:tallee/presentation/widgets/tiles/title_description_list_tile.dart'; class ChooseGameView extends StatefulWidget { /// A view that allows the user to choose a game from a list of available games diff --git a/lib/presentation/views/main_menu/match_view/create_match/choose_group_view.dart b/lib/presentation/views/main_menu/match_view/create_match/choose_group_view.dart index 592d765..9c60b16 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/choose_group_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/choose_group_view.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/widgets/text_input/custom_search_bar.dart'; -import 'package:game_tracker/presentation/widgets/tiles/group_tile.dart'; -import 'package:game_tracker/presentation/widgets/top_centered_message.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/data/dto/group.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/widgets/text_input/custom_search_bar.dart'; +import 'package:tallee/presentation/widgets/tiles/group_tile.dart'; +import 'package:tallee/presentation/widgets/top_centered_message.dart'; class ChooseGroupView extends StatefulWidget { /// A view that allows the user to choose a group from a list of groups. diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index 2f512bb..8182ddb 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -1,21 +1,21 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/adaptive_page_route.dart'; -import 'package:game_tracker/core/constants.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/core/enums.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/match.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/views/main_menu/match_view/create_match/choose_game_view.dart'; -import 'package:game_tracker/presentation/views/main_menu/match_view/create_match/choose_group_view.dart'; -import 'package:game_tracker/presentation/views/main_menu/match_view/match_result_view.dart'; -import 'package:game_tracker/presentation/widgets/buttons/custom_width_button.dart'; -import 'package:game_tracker/presentation/widgets/player_selection.dart'; -import 'package:game_tracker/presentation/widgets/text_input/text_input_field.dart'; -import 'package:game_tracker/presentation/widgets/tiles/choose_tile.dart'; import 'package:provider/provider.dart'; +import 'package:tallee/core/adaptive_page_route.dart'; +import 'package:tallee/core/constants.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/core/enums.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/group.dart'; +import 'package:tallee/data/dto/match.dart'; +import 'package:tallee/data/dto/player.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/views/main_menu/match_view/create_match/choose_game_view.dart'; +import 'package:tallee/presentation/views/main_menu/match_view/create_match/choose_group_view.dart'; +import 'package:tallee/presentation/views/main_menu/match_view/match_result_view.dart'; +import 'package:tallee/presentation/widgets/buttons/custom_width_button.dart'; +import 'package:tallee/presentation/widgets/player_selection.dart'; +import 'package:tallee/presentation/widgets/text_input/text_input_field.dart'; +import 'package:tallee/presentation/widgets/tiles/choose_tile.dart'; class CreateMatchView extends StatefulWidget { /// A view that allows creating a new match @@ -230,6 +230,6 @@ class _CreateMatchViewState extends State { /// - Either a group is selected OR at least 2 players are selected bool _enableCreateGameButton() { return (selectedGroup != null || - (selectedPlayers != null && selectedPlayers!.length > 1)); + (selectedPlayers != null && selectedPlayers!.length > 1)); } } diff --git a/lib/presentation/views/main_menu/match_view/match_result_view.dart b/lib/presentation/views/main_menu/match_view/match_result_view.dart index 1deb385..75015f0 100644 --- a/lib/presentation/views/main_menu/match_view/match_result_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_result_view.dart @@ -1,11 +1,11 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/match.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/widgets/tiles/custom_radio_list_tile.dart'; import 'package:provider/provider.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/match.dart'; +import 'package:tallee/data/dto/player.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/widgets/tiles/custom_radio_list_tile.dart'; class MatchResultView extends StatefulWidget { /// A view that allows selecting and saving the winner of a match diff --git a/lib/presentation/views/main_menu/match_view/match_view.dart b/lib/presentation/views/main_menu/match_view/match_view.dart index e85bf77..c34a22f 100644 --- a/lib/presentation/views/main_menu/match_view/match_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_view.dart @@ -2,21 +2,21 @@ import 'dart:core' hide Match; import 'package:flutter/material.dart'; import 'package:fluttericon/rpg_awesome_icons.dart'; -import 'package:game_tracker/core/adaptive_page_route.dart'; -import 'package:game_tracker/core/constants.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/match.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/views/main_menu/match_view/create_match/create_match_view.dart'; -import 'package:game_tracker/presentation/views/main_menu/match_view/match_result_view.dart'; -import 'package:game_tracker/presentation/widgets/app_skeleton.dart'; -import 'package:game_tracker/presentation/widgets/buttons/main_menu_button.dart'; -import 'package:game_tracker/presentation/widgets/tiles/match_tile.dart'; -import 'package:game_tracker/presentation/widgets/top_centered_message.dart'; import 'package:provider/provider.dart'; +import 'package:tallee/core/adaptive_page_route.dart'; +import 'package:tallee/core/constants.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/group.dart'; +import 'package:tallee/data/dto/match.dart'; +import 'package:tallee/data/dto/player.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/views/main_menu/match_view/create_match/create_match_view.dart'; +import 'package:tallee/presentation/views/main_menu/match_view/match_result_view.dart'; +import 'package:tallee/presentation/widgets/app_skeleton.dart'; +import 'package:tallee/presentation/widgets/buttons/main_menu_button.dart'; +import 'package:tallee/presentation/widgets/tiles/match_tile.dart'; +import 'package:tallee/presentation/widgets/top_centered_message.dart'; class MatchView extends StatefulWidget { /// A view that displays a list of matches diff --git a/lib/presentation/views/main_menu/settings_view/licenses/license_detail_view.dart b/lib/presentation/views/main_menu/settings_view/licenses/license_detail_view.dart index 5c48592..6e58108 100644 --- a/lib/presentation/views/main_menu/settings_view/licenses/license_detail_view.dart +++ b/lib/presentation/views/main_menu/settings_view/licenses/license_detail_view.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart'; -import 'package:game_tracker/presentation/widgets/colored_icon_container.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart'; +import 'package:tallee/presentation/widgets/colored_icon_container.dart'; import 'package:url_launcher/url_launcher.dart'; class LicenseDetailView extends StatelessWidget { diff --git a/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart b/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart index ef1109c..363ca24 100644 --- a/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart +++ b/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart @@ -8,7 +8,7 @@ // https://pub.dev/packages/dart_pubspec_licenses /// This package. -const thisPackage = _game_tracker; +const thisPackage = _tallee; /// All dependencies including transitive dependencies. const allDependencies = [ @@ -7291,9 +7291,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.''', ); -/// game_tracker 0.0.5+127 -const _game_tracker = Package( - name: 'game_tracker', +/// tallee 0.0.5+127 +const _tallee = Package( + name: 'tallee', description: 'Game Tracking App for Card Games', authors: [], version: '0.0.5+127', diff --git a/lib/presentation/views/main_menu/settings_view/licenses_view.dart b/lib/presentation/views/main_menu/settings_view/licenses_view.dart index 58aae5b..ed98c26 100644 --- a/lib/presentation/views/main_menu/settings_view/licenses_view.dart +++ b/lib/presentation/views/main_menu/settings_view/licenses_view.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart'; -import 'package:game_tracker/presentation/widgets/tiles/license_tile.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart'; +import 'package:tallee/presentation/widgets/tiles/license_tile.dart'; class LicensesView extends StatelessWidget { /// A view that displays a list of open source licenses used in the app diff --git a/lib/presentation/views/main_menu/settings_view/settings_view.dart b/lib/presentation/views/main_menu/settings_view/settings_view.dart index 244610e..d063e7c 100644 --- a/lib/presentation/views/main_menu/settings_view/settings_view.dart +++ b/lib/presentation/views/main_menu/settings_view/settings_view.dart @@ -3,16 +3,16 @@ import 'dart:io'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/core/enums.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/views/main_menu/settings_view/licenses_view.dart'; -import 'package:game_tracker/presentation/widgets/buttons/animated_dialog_button.dart'; -import 'package:game_tracker/presentation/widgets/custom_alert_dialog.dart'; -import 'package:game_tracker/presentation/widgets/tiles/settings_list_tile.dart'; -import 'package:game_tracker/services/data_transfer_service.dart'; import 'package:intl/intl.dart'; import 'package:package_info_plus/package_info_plus.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/core/enums.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/views/main_menu/settings_view/licenses_view.dart'; +import 'package:tallee/presentation/widgets/buttons/animated_dialog_button.dart'; +import 'package:tallee/presentation/widgets/custom_alert_dialog.dart'; +import 'package:tallee/presentation/widgets/tiles/settings_list_tile.dart'; +import 'package:tallee/services/data_transfer_service.dart'; import 'package:url_launcher/url_launcher.dart'; class SettingsView extends StatefulWidget { @@ -88,7 +88,7 @@ class _SettingsViewState extends State { ); final result = await DataTransferService.exportData( json, - 'game_tracker-data', + 'tallee-data', ); if (!scaffoldMessengerContext.mounted) return; showExportSnackBar( diff --git a/lib/presentation/views/main_menu/statistics_view.dart b/lib/presentation/views/main_menu/statistics_view.dart index f87a3fb..e552e54 100644 --- a/lib/presentation/views/main_menu/statistics_view.dart +++ b/lib/presentation/views/main_menu/statistics_view.dart @@ -1,13 +1,13 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/constants.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/match.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/widgets/app_skeleton.dart'; -import 'package:game_tracker/presentation/widgets/tiles/statistics_tile.dart'; -import 'package:game_tracker/presentation/widgets/top_centered_message.dart'; import 'package:provider/provider.dart'; +import 'package:tallee/core/constants.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/match.dart'; +import 'package:tallee/data/dto/player.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/widgets/app_skeleton.dart'; +import 'package:tallee/presentation/widgets/tiles/statistics_tile.dart'; +import 'package:tallee/presentation/widgets/top_centered_message.dart'; class StatisticsView extends StatefulWidget { /// A view that displays player statistics diff --git a/lib/presentation/widgets/buttons/animated_dialog_button.dart b/lib/presentation/widgets/buttons/animated_dialog_button.dart index 65c0510..798edfa 100644 --- a/lib/presentation/widgets/buttons/animated_dialog_button.dart +++ b/lib/presentation/widgets/buttons/animated_dialog_button.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; +import 'package:tallee/core/custom_theme.dart'; class AnimatedDialogButton extends StatefulWidget { /// A custom animated button widget that provides a scaling and opacity effect diff --git a/lib/presentation/widgets/buttons/custom_width_button.dart b/lib/presentation/widgets/buttons/custom_width_button.dart index 8d45540..489ceae 100644 --- a/lib/presentation/widgets/buttons/custom_width_button.dart +++ b/lib/presentation/widgets/buttons/custom_width_button.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/core/enums.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/core/enums.dart'; class CustomWidthButton extends StatelessWidget { /// A custom button widget that is designed to have a width relative to the screen size. diff --git a/lib/presentation/widgets/buttons/quick_create_button.dart b/lib/presentation/widgets/buttons/quick_create_button.dart index 6dc9876..f3aa588 100644 --- a/lib/presentation/widgets/buttons/quick_create_button.dart +++ b/lib/presentation/widgets/buttons/quick_create_button.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; +import 'package:tallee/core/custom_theme.dart'; class QuickCreateButton extends StatefulWidget { /// A button widget designed for quick creating matches in the [HomeView] diff --git a/lib/presentation/widgets/colored_icon_container.dart b/lib/presentation/widgets/colored_icon_container.dart index 2cc97e2..fe0659f 100644 --- a/lib/presentation/widgets/colored_icon_container.dart +++ b/lib/presentation/widgets/colored_icon_container.dart @@ -1,5 +1,5 @@ import 'package:flutter/cupertino.dart'; -import 'package:game_tracker/core/custom_theme.dart'; +import 'package:tallee/core/custom_theme.dart'; class ColoredIconContainer extends StatelessWidget { /// A customizable container widget that displays an icon with a colored background. diff --git a/lib/presentation/widgets/custom_alert_dialog.dart b/lib/presentation/widgets/custom_alert_dialog.dart index 5ca2b15..84843b7 100644 --- a/lib/presentation/widgets/custom_alert_dialog.dart +++ b/lib/presentation/widgets/custom_alert_dialog.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; +import 'package:tallee/core/custom_theme.dart'; class CustomAlertDialog extends StatelessWidget { /// A custom alert dialog widget that provides a os unspecific AlertDialog, diff --git a/lib/presentation/widgets/navbar_item.dart b/lib/presentation/widgets/navbar_item.dart index 45f2976..0b08371 100644 --- a/lib/presentation/widgets/navbar_item.dart +++ b/lib/presentation/widgets/navbar_item.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; +import 'package:tallee/core/custom_theme.dart'; class NavbarItem extends StatefulWidget { /// A navigation bar item widget that represents a single tab in a navigation bar. diff --git a/lib/presentation/widgets/player_selection.dart b/lib/presentation/widgets/player_selection.dart index 58b62ec..bb3e3b9 100644 --- a/lib/presentation/widgets/player_selection.dart +++ b/lib/presentation/widgets/player_selection.dart @@ -1,15 +1,15 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/constants.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/widgets/app_skeleton.dart'; -import 'package:game_tracker/presentation/widgets/text_input/custom_search_bar.dart'; -import 'package:game_tracker/presentation/widgets/tiles/text_icon_list_tile.dart'; -import 'package:game_tracker/presentation/widgets/tiles/text_icon_tile.dart'; -import 'package:game_tracker/presentation/widgets/top_centered_message.dart'; import 'package:provider/provider.dart'; +import 'package:tallee/core/constants.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/player.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/widgets/app_skeleton.dart'; +import 'package:tallee/presentation/widgets/text_input/custom_search_bar.dart'; +import 'package:tallee/presentation/widgets/tiles/text_icon_list_tile.dart'; +import 'package:tallee/presentation/widgets/tiles/text_icon_tile.dart'; +import 'package:tallee/presentation/widgets/top_centered_message.dart'; class PlayerSelection extends StatefulWidget { /// A widget that allows users to select players from a list, diff --git a/lib/presentation/widgets/text_input/custom_search_bar.dart b/lib/presentation/widgets/text_input/custom_search_bar.dart index 77f6eba..aeb71f2 100644 --- a/lib/presentation/widgets/text_input/custom_search_bar.dart +++ b/lib/presentation/widgets/text_input/custom_search_bar.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; +import 'package:tallee/core/custom_theme.dart'; class CustomSearchBar extends StatelessWidget { /// A custom search bar widget that encapsulates a [SearchBar] with additional customization options. diff --git a/lib/presentation/widgets/text_input/text_input_field.dart b/lib/presentation/widgets/text_input/text_input_field.dart index bbb3e45..16f5072 100644 --- a/lib/presentation/widgets/text_input/text_input_field.dart +++ b/lib/presentation/widgets/text_input/text_input_field.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:game_tracker/core/custom_theme.dart'; +import 'package:tallee/core/custom_theme.dart'; class TextInputField extends StatelessWidget { /// A custom text input field widget that encapsulates a [TextField] with specific styling. diff --git a/lib/presentation/widgets/tiles/choose_tile.dart b/lib/presentation/widgets/tiles/choose_tile.dart index 595816e..10ded6b 100644 --- a/lib/presentation/widgets/tiles/choose_tile.dart +++ b/lib/presentation/widgets/tiles/choose_tile.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; +import 'package:tallee/core/custom_theme.dart'; class ChooseTile extends StatefulWidget { /// A tile widget that allows users to choose an option by tapping on it. diff --git a/lib/presentation/widgets/tiles/custom_radio_list_tile.dart b/lib/presentation/widgets/tiles/custom_radio_list_tile.dart index 2d8dc7a..2b8e855 100644 --- a/lib/presentation/widgets/tiles/custom_radio_list_tile.dart +++ b/lib/presentation/widgets/tiles/custom_radio_list_tile.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; +import 'package:tallee/core/custom_theme.dart'; class CustomRadioListTile extends StatelessWidget { /// A custom radio list tile widget that encapsulates a [Radio] button with additional styling and functionality. diff --git a/lib/presentation/widgets/tiles/group_tile.dart b/lib/presentation/widgets/tiles/group_tile.dart index c035a04..d662918 100644 --- a/lib/presentation/widgets/tiles/group_tile.dart +++ b/lib/presentation/widgets/tiles/group_tile.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/presentation/widgets/tiles/text_icon_tile.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/data/dto/group.dart'; +import 'package:tallee/presentation/widgets/tiles/text_icon_tile.dart'; class GroupTile extends StatefulWidget { /// A tile widget that displays information about a group, including its name and members. diff --git a/lib/presentation/widgets/tiles/info_tile.dart b/lib/presentation/widgets/tiles/info_tile.dart index 78d7f28..fdbd88c 100644 --- a/lib/presentation/widgets/tiles/info_tile.dart +++ b/lib/presentation/widgets/tiles/info_tile.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; +import 'package:tallee/core/custom_theme.dart'; class InfoTile extends StatefulWidget { /// A tile widget that displays a title with an icon and some content below it. diff --git a/lib/presentation/widgets/tiles/license_tile.dart b/lib/presentation/widgets/tiles/license_tile.dart index 33e5a45..9289ed5 100644 --- a/lib/presentation/widgets/tiles/license_tile.dart +++ b/lib/presentation/widgets/tiles/license_tile.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/presentation/views/main_menu/settings_view/licenses/license_detail_view.dart'; -import 'package:game_tracker/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart'; -import 'package:game_tracker/presentation/widgets/colored_icon_container.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/presentation/views/main_menu/settings_view/licenses/license_detail_view.dart'; +import 'package:tallee/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart'; +import 'package:tallee/presentation/widgets/colored_icon_container.dart'; class LicenseTile extends StatelessWidget { /// A tile widget that displays information about a software package license. diff --git a/lib/presentation/widgets/tiles/match_tile.dart b/lib/presentation/widgets/tiles/match_tile.dart index e1365c1..ab65e5d 100644 --- a/lib/presentation/widgets/tiles/match_tile.dart +++ b/lib/presentation/widgets/tiles/match_tile.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/data/dto/match.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/widgets/tiles/text_icon_tile.dart'; import 'package:intl/intl.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/data/dto/match.dart'; +import 'package:tallee/data/dto/player.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/widgets/tiles/text_icon_tile.dart'; class MatchTile extends StatefulWidget { /// A tile widget that displays information about a match, including its name, diff --git a/lib/presentation/widgets/tiles/quick_info_tile.dart b/lib/presentation/widgets/tiles/quick_info_tile.dart index 4d6ef2e..5646fa5 100644 --- a/lib/presentation/widgets/tiles/quick_info_tile.dart +++ b/lib/presentation/widgets/tiles/quick_info_tile.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; +import 'package:tallee/core/custom_theme.dart'; class QuickInfoTile extends StatefulWidget { /// A tile widget that displays a title with an icon and a numeric value below it. diff --git a/lib/presentation/widgets/tiles/settings_list_tile.dart b/lib/presentation/widgets/tiles/settings_list_tile.dart index d4bc6dc..de805cd 100644 --- a/lib/presentation/widgets/tiles/settings_list_tile.dart +++ b/lib/presentation/widgets/tiles/settings_list_tile.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/presentation/widgets/colored_icon_container.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/presentation/widgets/colored_icon_container.dart'; class SettingsListTile extends StatelessWidget { /// A customizable settings list tile widget that displays an icon, title, and an optional suffix widget. diff --git a/lib/presentation/widgets/tiles/statistics_tile.dart b/lib/presentation/widgets/tiles/statistics_tile.dart index 2ac0dfd..bc2f7b6 100644 --- a/lib/presentation/widgets/tiles/statistics_tile.dart +++ b/lib/presentation/widgets/tiles/statistics_tile.dart @@ -1,8 +1,8 @@ import 'dart:math'; import 'package:flutter/material.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/widgets/tiles/info_tile.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/widgets/tiles/info_tile.dart'; class StatisticsTile extends StatelessWidget { /// A tile widget that displays statistical data using horizontal bars. diff --git a/lib/presentation/widgets/tiles/text_icon_list_tile.dart b/lib/presentation/widgets/tiles/text_icon_list_tile.dart index e468e95..2b29d41 100644 --- a/lib/presentation/widgets/tiles/text_icon_list_tile.dart +++ b/lib/presentation/widgets/tiles/text_icon_list_tile.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; +import 'package:tallee/core/custom_theme.dart'; class TextIconListTile extends StatelessWidget { /// A list tile widget that displays text with an optional icon button. diff --git a/lib/presentation/widgets/tiles/text_icon_tile.dart b/lib/presentation/widgets/tiles/text_icon_tile.dart index 90c32b7..f98e0a7 100644 --- a/lib/presentation/widgets/tiles/text_icon_tile.dart +++ b/lib/presentation/widgets/tiles/text_icon_tile.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; +import 'package:tallee/core/custom_theme.dart'; class TextIconTile extends StatelessWidget { /// A tile widget that displays text with an optional icon that can be tapped. diff --git a/lib/presentation/widgets/tiles/title_description_list_tile.dart b/lib/presentation/widgets/tiles/title_description_list_tile.dart index a963d16..9dc8f33 100644 --- a/lib/presentation/widgets/tiles/title_description_list_tile.dart +++ b/lib/presentation/widgets/tiles/title_description_list_tile.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/custom_theme.dart'; +import 'package:tallee/core/custom_theme.dart'; class TitleDescriptionListTile extends StatelessWidget { /// A list tile widget that displays a title and description, with optional highlighting and badge. diff --git a/lib/services/data_transfer_service.dart b/lib/services/data_transfer_service.dart index 8767c59..5863d87 100644 --- a/lib/services/data_transfer_service.dart +++ b/lib/services/data_transfer_service.dart @@ -4,13 +4,13 @@ import 'dart:io'; import 'package:file_picker/file_picker.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:game_tracker/core/enums.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/match.dart'; -import 'package:game_tracker/data/dto/player.dart'; import 'package:json_schema/json_schema.dart'; import 'package:provider/provider.dart'; +import 'package:tallee/core/enums.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/group.dart'; +import 'package:tallee/data/dto/match.dart'; +import 'package:tallee/data/dto/player.dart'; class DataTransferService { /// Deletes all data from the database. @@ -34,22 +34,28 @@ class DataTransferService { 'players': players.map((p) => p.toJson()).toList(), 'groups': groups - .map((g) => { - 'id': g.id, - 'name': g.name, - 'createdAt': g.createdAt.toIso8601String(), - 'memberIds': (g.members).map((m) => m.id).toList(), - }).toList(), + .map( + (g) => { + 'id': g.id, + 'name': g.name, + 'createdAt': g.createdAt.toIso8601String(), + 'memberIds': (g.members).map((m) => m.id).toList(), + }, + ) + .toList(), 'matches': matches - .map((m) => { - 'id': m.id, - 'name': m.name, - 'createdAt': m.createdAt.toIso8601String(), - 'groupId': m.group?.id, - 'playerIds': (m.players ?? []).map((p) => p.id).toList(), - 'winnerId': m.winner?.id, - }).toList(), + .map( + (m) => { + 'id': m.id, + 'name': m.name, + 'createdAt': m.createdAt.toIso8601String(), + 'groupId': m.group?.id, + 'playerIds': (m.players ?? []).map((p) => p.id).toList(), + 'winnerId': m.winner?.id, + }, + ) + .toList(), }; return json.encode(jsonMap); @@ -62,7 +68,7 @@ class DataTransferService { /// [fileName] The desired name for the exported file (without extension). static Future exportData( String jsonString, - String fileName + String fileName, ) async { try { final bytes = Uint8List.fromList(utf8.encode(jsonString)); @@ -76,7 +82,6 @@ class DataTransferService { } else { return ExportResult.success; } - } catch (e, stack) { print('[exportData] $e'); print(stack); @@ -104,11 +109,15 @@ class DataTransferService { final isValid = await _validateJsonSchema(jsonString); if (!isValid) return ImportResult.invalidSchema; - final Map decoded = json.decode(jsonString) as Map; + final Map decoded = + json.decode(jsonString) as Map; - final List playersJson = (decoded['players'] as List?) ?? []; - final List groupsJson = (decoded['groups'] as List?) ?? []; - final List matchesJson = (decoded['matches'] as List?) ?? []; + final List playersJson = + (decoded['players'] as List?) ?? []; + final List groupsJson = + (decoded['groups'] as List?) ?? []; + final List matchesJson = + (decoded['matches'] as List?) ?? []; // Players final List importedPlayers = playersJson @@ -122,7 +131,8 @@ class DataTransferService { // Groups final List importedGroups = groupsJson.map((g) { final map = g as Map; - final memberIds = (map['memberIds'] as List? ?? []).cast(); + final memberIds = (map['memberIds'] as List? ?? []) + .cast(); final members = memberIds .map((id) => playerById[id]) @@ -146,7 +156,8 @@ class DataTransferService { final map = m as Map; final String? groupId = map['groupId'] as String?; - final List playerIds = (map['playerIds'] as List? ?? []).cast(); + final List playerIds = + (map['playerIds'] as List? ?? []).cast(); final String? winnerId = map['winnerId'] as String?; final group = (groupId == null) ? null : groupById[groupId]; @@ -212,4 +223,4 @@ class DataTransferService { return false; } } -} \ No newline at end of file +} diff --git a/pubspec.yaml b/pubspec.yaml index c22d107..50b32b7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ -name: game_tracker -description: "Game Tracking App for Card Games" +name: tallee +description: "Tracking App for Card Games" publish_to: 'none' version: 0.0.11+239 diff --git a/test/db_tests/game_test.dart b/test/db_tests/game_test.dart index 0ec2cfc..5a6ad25 100644 --- a/test/db_tests/game_test.dart +++ b/test/db_tests/game_test.dart @@ -2,10 +2,10 @@ import 'package:clock/clock.dart'; import 'package:drift/drift.dart'; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/match.dart'; -import 'package:game_tracker/data/dto/player.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/group.dart'; +import 'package:tallee/data/dto/match.dart'; +import 'package:tallee/data/dto/player.dart'; void main() { late AppDatabase database; diff --git a/test/db_tests/group_match_test.dart b/test/db_tests/group_match_test.dart index 7d812bd..8c5e6e4 100644 --- a/test/db_tests/group_match_test.dart +++ b/test/db_tests/group_match_test.dart @@ -2,10 +2,10 @@ import 'package:clock/clock.dart'; import 'package:drift/drift.dart' hide isNotNull; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/match.dart'; -import 'package:game_tracker/data/dto/player.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/group.dart'; +import 'package:tallee/data/dto/match.dart'; +import 'package:tallee/data/dto/player.dart'; void main() { late AppDatabase database; diff --git a/test/db_tests/group_test.dart b/test/db_tests/group_test.dart index 5104c65..d87edf3 100644 --- a/test/db_tests/group_test.dart +++ b/test/db_tests/group_test.dart @@ -2,9 +2,9 @@ import 'package:clock/clock.dart'; import 'package:drift/drift.dart'; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/player.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/group.dart'; +import 'package:tallee/data/dto/player.dart'; void main() { late AppDatabase database; diff --git a/test/db_tests/player_group_test.dart b/test/db_tests/player_group_test.dart index 2783430..b4a87bc 100644 --- a/test/db_tests/player_group_test.dart +++ b/test/db_tests/player_group_test.dart @@ -2,9 +2,9 @@ import 'package:clock/clock.dart'; import 'package:drift/drift.dart'; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/player.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/group.dart'; +import 'package:tallee/data/dto/player.dart'; void main() { late AppDatabase database; diff --git a/test/db_tests/player_match_test.dart b/test/db_tests/player_match_test.dart index 8a4f569..393d0c0 100644 --- a/test/db_tests/player_match_test.dart +++ b/test/db_tests/player_match_test.dart @@ -2,10 +2,10 @@ import 'package:clock/clock.dart'; import 'package:drift/drift.dart' hide isNotNull; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/match.dart'; -import 'package:game_tracker/data/dto/player.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/group.dart'; +import 'package:tallee/data/dto/match.dart'; +import 'package:tallee/data/dto/player.dart'; void main() { late AppDatabase database; diff --git a/test/db_tests/player_test.dart b/test/db_tests/player_test.dart index 5bd10ad..c2a4547 100644 --- a/test/db_tests/player_test.dart +++ b/test/db_tests/player_test.dart @@ -2,8 +2,8 @@ import 'package:clock/clock.dart'; import 'package:drift/drift.dart'; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/player.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/player.dart'; void main() { late AppDatabase database; From ceade5cafdef3a0fcb7f62b6ae08bdfdfe45d5df Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Thu, 22 Jan 2026 22:34:36 +0100 Subject: [PATCH 103/198] Fixed ios laucn screen --- ios/Runner.xcodeproj/project.pbxproj | 4 ---- .../Contents.json | 0 .../LauncherIcon.imageset/Contents.json | 2 +- .../LauncherIcon.imageset/Logo-Rounded.png | Bin 47780 -> 0 bytes .../icon-transparent.png} | Bin .../LauncherIconOnly.imageset/Contents.json | 12 ------------ ios/Runner/Base.lproj/LaunchScreen.storyboard | 14 +++++++------- 7 files changed, 8 insertions(+), 24 deletions(-) rename ios/Runner/Assets.xcassets/{LauncherBackgroundColor.colorset => LauncherColor.colorset}/Contents.json (100%) delete mode 100644 ios/Runner/Assets.xcassets/LauncherIcon.imageset/Logo-Rounded.png rename ios/Runner/Assets.xcassets/{LauncherIconOnly.imageset/Icon-Transparent.png => LauncherIcon.imageset/icon-transparent.png} (100%) delete mode 100644 ios/Runner/Assets.xcassets/LauncherIconOnly.imageset/Contents.json diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index d556582..27638af 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -277,14 +277,10 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); - outputPaths = ( - ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; diff --git a/ios/Runner/Assets.xcassets/LauncherBackgroundColor.colorset/Contents.json b/ios/Runner/Assets.xcassets/LauncherColor.colorset/Contents.json similarity index 100% rename from ios/Runner/Assets.xcassets/LauncherBackgroundColor.colorset/Contents.json rename to ios/Runner/Assets.xcassets/LauncherColor.colorset/Contents.json diff --git a/ios/Runner/Assets.xcassets/LauncherIcon.imageset/Contents.json b/ios/Runner/Assets.xcassets/LauncherIcon.imageset/Contents.json index f17420d..06ddd98 100644 --- a/ios/Runner/Assets.xcassets/LauncherIcon.imageset/Contents.json +++ b/ios/Runner/Assets.xcassets/LauncherIcon.imageset/Contents.json @@ -1,7 +1,7 @@ { "images" : [ { - "filename" : "Logo-Rounded.png", + "filename" : "icon-transparent.png", "idiom" : "universal" } ], diff --git a/ios/Runner/Assets.xcassets/LauncherIcon.imageset/Logo-Rounded.png b/ios/Runner/Assets.xcassets/LauncherIcon.imageset/Logo-Rounded.png deleted file mode 100644 index a89cc4300729678537a32bb57a10597fd1e47f7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47780 zcmaHSc|6qL_y5@PE=lhSMNGXVWi65z%S2@v`4aqXbK8&qR zw(QJcj7ecI#uT$KW6bY0dVjuu{yZKY<-X26uXE2m_j#6kUjJUVFc#e-wFd+OiJF>R zvI2nw7J0va?E*&3i^k@Fe|CqMID~;fA_sZDe4y7khe05Wo#~~EHqkjNoZUH|I2R%Z z5sYl>Z%2*zz8Th+^Q(8r@aoA>Q9JDM*USB90`{KZtJ6jNC3yS5we90CA3jvrz5h|r zQ4{{-x9Xn${zsaMZC7h7b|`tZv;;4s&#+tLOP3q{zsmW&SPcudh0nCUUiIs-)+{O? zWyT>o)*&CYh;`;hNzlarc~hqoL0R=TMs}H!r@$2_kb#K3QFkY}Cl&lIPg%+W!gr^g zHccq&j)k#R*{CM*2X$Z^w$c&;?9Y}32)lgZiZ+LlnNfKi5OR=xGeNM_XmOgj?+0;a--5&tkMH+uH*Zl@C}Ir)7$JHG z%zonY^L(&{p^%;v+pIEz12$z@Fw%MKZW=ZsI0#c#U8GX0=v$*+@o@fFOd`V_O?^SD zVtly*kbr(InLsMJgNzT_11vK>K0Q6WJO|4DJn)Y&@GwEST4REnQv9s`K16p{_&_J4 z1+|q+(E~@i&Z7Pv*wN$@ujdGbrG#QGVWz_ZMtjh)Sb}yP>By+>;P4|3BB;EVs8>y> zo{6t?ao@^{Z2WlOpHr&2xf$^tGT)Gn?eY`_K^~1y^JON761dK$RNj||Lf!77%~(pN zmS(K8rUHHj$9W_-1qCQi);%HXHyI!Q`KLf_-`A5giVPh`^D#Peb&B)}fHDPaz3q*;4AF#L}AV?dHN-yThFZE@> zEZIH0$M7Rak#)$$skocU6-=(?Fh+E9;a>?^j4F%>!!C!2xqP92QuHH&eZQXu$u) zWaRrnniG`U9(gs+4Q;-|@+)B)7K7f4(_+aNh?%gei=UY}=Kaw$sP)}EWiN9!@*O#* zS>Ml(TU!h^VgJjU1{#UoW@a zGH7Q_1O8K8LRjOw+~4tKxtp;TYP)EEn{tguIMwwyGQxy1lFT5FwYt;CjwfuM6fg$3lrId`uQqCpb z1JF!hHciMhs!W(>2<09(1!vd)^WU6bu*-4LIbNTuuoOOyQ6uKIthx^vtDeZE#fl-lt8nB0JE z;f!qnR{!vF;2Mq~{Cv8r(#f@YLf|Z#+}^K(rs}0{Ic>c z8sr4W^?!tQ+t!dcZ!;`ED=T9gT?{bTSQ;MS>qABf(Y3i2UCw;Us@k#MHpMWoE*5Uq-tg zMS*v;L5oh*G#ZMfSJ2@wf_k@gls5+2$cnr|=}TxYB2493{@zgrs37t@Co|HHQjq|Y z{sm}x`ME5ZN1Kp|gn>KGk6H3@49uo7M?8244Ekjjn6Qbk%NL|E>kW7VpzgO+OF1-a z-y%ewQ$_09S>N|-oDRxfd?sJpiKULKQolD|?vUm@osCRxP{xPxafsE_9g&7EGwSOC zErn=K@|?=jt{wHd*K7qsMj4l&=ogGeURg^a!>bPA}+=r1b089^R6|*}&c!%kT4a~>2ul<$SBK1Xh-+`_6ol(z^ z0UX@`^T8X|yNl|NB;Mxa{khI#>(UdnjDA4ZZb&AI8;yBD!O-0iTK zke&C%Rz8+3{(Gpyd}JnUgSaEs(ABB{A1^9!lm}-KB0MUn8Y{b90Av2XWi}9eh&PfT z8^M{(3y*B%KOD2; zi*rjP^$PH}$W8;R{|!bp*4NSA3e%W*g!Mnl2yTn25nyd*tm?8!JBxz4Vd`?rBvlF! z2F4XTG$CI@Dc9hR+#dnEPqdM~>p&00IIWa#dU(n$?@-^)4ft@j0%Tvk|IF^qCR$2YOS-8nvG{Y9b zo&5j}5L%`j*iQsl(kGBk4-|H0f#%d3y(k*{7Kx4L26xn&&`wXS+r7wC?hpIl+BUBV zusSnToiYEnw(8twOGtsW-p&knzv-}(d>r$uv_ELO7!|BfNYLN#x1Qg5#|Q1^w%j&1 zje?GC8}2_lLpKlIr=)Ga=HsMx#^~;h{Ms`UqQl2&v}d{PXeQzE9ejWg?UpG{b--gs zkOX`8$+)?3epY|R9u%!(2c$qLpK6)rD2XAE~QNj+JRrc>W)Fhj)c;R?UfoIbi;$ z*@ile0=1l$KccsWzRF41$KwXY`~~DBz>lX&0o8=ryz~DdwCXi}3_Q@1J^APF(nix> zrwc^IvgeGtKRaV7E+14F`-cTVGz4uJ_#U1Txo{|Ho#Q+7}ibmV_h3j9w2AikZ5 zCt>fg{|WJ*$*U*)r>kB2|62j*zqkBbB z3aUL^I`)@Nd;BI5LLh3v5V!JwFw`8~&<6Rm4G`#<4DZ#tk1eM>Ui3}kKJG5meeBV> z=g?_b(&7cXaKr9+?eGpMCOblq<-8U#6#LD2zmlY&!h?voZ>Rh@aTLo3k-+rhz&gHP zR62wuyc!XPTo=#(clN z4*asG$oip=$kb*|{oBLuZT>oE)$Mor^icW7))!fhZYXfC-)HxWN@g*lk^=MhZ{Bgw zcN!dq9TlueVq*LGM98IK)`04B^ms~2Q7*GXm;bm|k?^o)?2*&Ow&A@IA*y2^UtMRv zla7rqFB>*{Pbz(*qbsfWR(4Q%7Goed6cKYfg3(?7rl>YZpYp+e<3bo|fPoF9kM zS-%3Unc#}%53b*?b~+arst!H2vam-gEj=EWcd1oGUA51yk0>rMY#$f8?rXm+$*4Uz z!3Vma@G-@pR!_Fx2{6C!mHaUi`{pDp$?3EePa~!ba;aTTQ}2u;?vkdBUi}%>@gi*d z8tfLL-AeWPS%s{%dv;mtm`J!OE=X~SMHj$$dJS_lBqzcIf$bcyD>-ryu)k;(g=@Cd zzvi&ZE@EE}-KTGtrK z#v?Um?}eX@(>~N-Rt+3SJ-W!M@0|{#2QM^Wk74Y@IlY>fUC_5aG<=_f zLbW7CYK5m(?*lD{0n$NWRLzciXPiW7W3wUD(%Obp% zo|b4??^Jn$V0~!a9$a64jqF;T4z4Kn@Vhxb4SS-jwu{9ONe;)w7-4Q1ImnfKpai4u zg(E!{9PzuFtoT4Q9l*K^Nb(0qk%?~xo!GGzj{3Mqw32LpRt0H+9>peU;vbELOBapC ze}#8%;{``*Z(9WG2b)k^eQ#<7DF-z9vZn;*L#+5Sxv zL_nf!9z^NMzuF5E$64)fa?|>0(xsTLUxRwf-CW6$)v*gR072xfJJYMIIZ=mC31YnA z4n%lQ^{O`Fy7aDfSW03|0qh=p_AkISVh#g{IAr~CnvsP+GJWT0#mE!DjIF`(p;x%; zlMd$Czvc;ZHe9&fUP0Ds$`#uEY?aZ@iak<_3x~ekg9Ohss_Y-*0}-A8sJG}Z@xAgg z!7)GR{mUQFgY@f6aM_ZP<-jsk%x2nk-9m7EHME@T`nfY_bw>X^7<2baZe4r%^DrX1 z0LE=bUd~gJ20_t0K*Q*~bW&AX5OC0ixTes1;NtMb9zU)0wwXI8r3zcMa<+)Wsa`F2 zJRA(dH`NL7?E-987>pG!_k=JUEf@iUYV9ydork?yaT!3LM1U)jSsUx?tf9;>)^hsm zx1NDE?S4yAv zN7OxDbU#i~By}wq!9%&N`n0hp?IG{0-pkeg{f+&(hnq{mp@UA7h1Hy@v~msJHweVw z)?9ZNVW05hh0=el3xU3m^EU34M7`32oj6!=*Xn!Zzh+7=5gTRN@CE4Q{!GOM!RqbM z@;7Jg&LVy?j&nX#-6Fte(y)8y&k-MK5+6Mm;g2d31|?MT)~Aj(g#&d@1Wtv14Z0+rtT)%kV#xgFgyFQ*<<7bY808)kJ%-Nv+^(x7kiJMpF zY>X?_!%t8LEb^-!uDW?6bU??Hcqi}MZaKf9smZJNzApU3+0!*5^j19kJWU)h+jO+i2cmsWc*xS}^k z^T$oMxSDs|t%)bwb4w0d|KgjDiq{)S&K^a5g3U}^{X)@-La8jZ7isG0I^yh~VQB~L z)o|khDURA{qn;`@#~AMfKqJONGN3d?_HNJ2M&Y%4S9S?J9Y|(3k5HBQHWU_0=M&C@puP9N&T4?_LUc2tY<>x#N7IKd?mk`X&L8mDjDFfeP0fy)DZd zKYxmHumaXB>fk^V-<@Rm!cAp`ju(%cq11NIO9pY2JudC<7IicNgJTDlmz<^eK)OYp zfFR4qE=YsWk!MgnW^*U&xLwBHw7KX2RLlr$y7}SZ3zDX1EM1+Rp2C6+^ooS91h9PU zRYsXjZA(a8QJcQDmJH~-G+>k8b1A36stf0C_WE&cjJUJ+P6KD;NWbP(Tz@8f;llwF zSEnBG%D*+3ZIoIn`QP8k@vBqfI>DE3WW^RYUn%C79_0hc4*%E(`UUw*^#ykCoK4DY zzzA)@cSFqb^=$5Nr{kp@0?y7JU0N|03-7|#0`s#lVfX|Q($Dd34rDGI^uda^p6^c^ z_GX8U)ZS}7saUw(cTj_sD_lzd;k^F9|72XhQ)1@%iwYh3o9t3K7`NnPzU6kjK^-oK z^K>B*dgCa$?qPXs{_NA1T`)@wTL=!uoHkbEPO2g5o#s+7_B`xE)sP@pxJ zRgoDRT3Ll?jw(@gw6#JW@q0J3XK8Pm07zNfaT<8T$=!qs;jnT|4-S2O9oDgldxo86 zBK?oxx%7(?*Ahbxd{Nn(@AsGLp*_8%brCSi&Kyl_nGD2q?fyIjhpP^1ZtBJ5a)v3_ z!Ykgrkv{)|UWcn3f~X$0D?9eo{vXN3GQb8Uq*Ycy3G%x7NOg?0zIJsHm_FX#HWlMGD4ZL; z`6NQtg9}vF7}$7PcEu9lVMi?y@y>%5=jek><?yh^B4zrfoO*S-{*eA z!L!c2uJZ8v91+?VUnB6w)C0hgirc=vp)}O=Yt(7BN~87Uai$F)HgV(Euj=!`Gb{Ry z!NjWdK?67G^MON+LHPPeileBgXfwjc-TecHEzzyg>LkPoWE4n?5G6h#GhlA^6}J8T z{eJQBt{xs9Iw9W^Qf2kZ;cP}T%I)s&%gkHcR1SN=2Jvq0$(Wb11Z)^C@lPz)$rgs1Gz+!2@xWgdFx=;C0<*-|24*kZC3xwmge zQj^v)9i%Zr6r>Y+`E82oh8zBqK8NzGXv#8=#E3%l~Ef!xR146s{-sL9%;rD(c7 z^+Nc+YXt-<>dXZk3*X{HJ$Ez6I zPE_lfnM)KQVztipEAld7YE)QQ*zGs7@x_`o#oWMlNI&-%yqpwOPQ)iR5UxebOH8Od zcS_m%cwd;l@$(tEoxK{CkNg1(TJvEs$AYFh!+l1tyBfq1_HfoKvde6`18&bSO3>v? zK>V($ms&ZeF+0$TI2J%DThBDR`g5Ka!k!(4zge&2ggMJz)G7p(Tp^!U;A^ z$GK7YS+6w%>SO84*1MKGqn*~`qV%tjmPTV)-&&@-*LoP*O-A)Q3NNi*L&!<|;0}yI> zRw&*G#_qC&*`ljo3t|U8-pT!ptzDRFwIxlrY*Te@4W(we0TpMMRM=5R!@ zDdk

5t{{vsZt@mLt&lL3uWDmfLwrzqDFsMPvJ%W_}npn>(P*Hp`~QGP&m1&l^iR zF|l!LcgjD&#v???Od_H~fBW|{@=P2xB8zU#$s@3$MmAZEMHAbE{)z}TX&M%`t|HD4r}Z3Z;|65L!pdg{(qJ++<1VhJFX2x_1h^pZ_?dSt ztC+qd+Q9X^9Id=9Ss#d3n{-4YQUMXHVEGzd9Y5FoH=H$^k0owXh#0%*H^&fbR1b_w zCAu+KaCJQXQ4S$ZmSNgo!qnv=RMn`q9301dYr04j#2%}SOt=0M(8b1ea zq93#Jx0mvl3m?iZmtWuZ|NPTVbdGj4&VI3!Q5iB$_cH`mbdG0iJ`w{SKoU%PXUk<6 zjj}$#GhdfQAugcZ!viI17Yh zoH9~*-X`TAP7Aw~_EET06ZdGk#_C3Pa+t_tyVKknF#D_)t^Zv${`s9z2bHcL%a!E{ zS{DOR7||^DeS-}Fdk2Hf_l+=-rSrPKeX3k$6Jxa{eLoq-wu}HqQ^r$VX(t2c=oE)M zLgsQm6vwaMJ8c_e6_IT>pz;#Gy~b>3woSD}p&%&T-Kn|8Z*TcU$P!*`!SR#Jkv4cL zXNKAgUnU$L%iK*BNP-%~Jx!vCE0V%qS2n~Ih3N?<%4kshg{`0+At8rMnAn=2=@XweCwG%RXGcz+`KiI+s8yBOlIpLCN zcfUIl5Wg{5ijq!oBfFPC3D!Ifxn|)lo%W19y3K=2)dKvHL5VZUO;MS8ag0UD_*u#6 z8-5bsRGu9CRwpw?2@qM1yo49l|HY@b_3QKU$sYC>#igD++U;Zg=N+}0fJ=l+KnB+O zkBEd^5;XlbhbU%A7I4cS36xtd?`;;MK9$y5CdIFkXnD+5W5DsUUM&6St{U*$#Im-# z5L;cWe&UvSR8=f`i+OcM?Q9~J^ZeV~Kf6-}k>h;)1tC}E$( zsg(t!R}m5ME!FDH$P*FLMcjjRtFmJ7W;%HIp+4=ny(akR(QqR5g}ZR>FJj*|+Xca) zvy8cm;4(+#a!r>k`7vjSv7+(_X9&c(5h_aa;e=$q`7kSu9~+vW4}B{nejXxxc|U0Jx`_yB7$9Q!_}BAFC}? zY`+$j1@LBb*CW)E&-;#(M9qg8l3c!u3tazNvVM?&6vBQ@oms)^fTh(m(kdat( zc`U;y_PZeq_iQYD`0?9FlvoAB{e!FlSdNa*M^Cb@FTE0}Ouk}tqqp)Jt zOOtq#ohiI)7ww%^n<;p++nDA;q`OqL5z5O2*Jr%AK`J@;bMfq81mKNjbfbrI-SWo^ z5e)zOQt$f`VC|V9QR!Xbv*n2k(#VTRlXtNokQ*;s5wbh(21&z-jGA+3q_5%J8VtK# zWU*IP$*xl~}tR%M$A++#h>Qpc5Q1C{2`1KPSyUzzs6m)?R z&Ib=3e6??>G1rrG-4%yaQ=2~5H(@OVir%xR4Hgpwbr&=>pzk`IEoG--X;f;ym0n=! z+TNt~0n-%}fGEx1Q=iix|XF*dy+Q!KwCdcfl~45ijm3o_0Q|(ZQP23I=Z-UqL}*gL6vI`wquHK zsWF3bv<@zli*3NUlKEenlg~d0%TX-GlRxX@$@6O4Kh$Uf2EPPWBc3-%?RdehIkY5x!6*I- zcaNAL=0`%*tX0@LPw+agX>p@ zS!3BM-2~&co?x~KH4lgYZoc_It+&L0O*vvO^Q`2qh14lQ*00PumX=$7c;R%?`US{r z@2AliQf?`6<0)~7J;T&zw)OOwGH;wZ2!Vnv?9UkevxOhLitq*m*KvZ`@eZS5I2M+w8&wa`X6 zF@q3pu`D=%YCL$|UIgU61bEp3Vycajpj5>b);!8$c_{GZD>x~4{8w8XbJ+;YN}JhQ z&}yMNT*%MMbA2CuG8137zcLNpLq7S+$sJX}Ww~)Hs({eu+w@9}Pg?71vHtV)KDSq6 zH&w=rgLu`BoM;<2_Hp!%W&9;W| zqu~axzVFNNGeP6}fyfs1?CzW#27t@w;Hr|cERO=7(@!aKQGbh|B> zvuNB9gg-A?Q0cF)r4?m(!IH68!N4w`Pd0iYe?y)>-pBb+)8+rK#y8(E{jF;u_r+c{0= zZ(*tc!)h904Fq~&am;*Nj?-&@lD_3hKDt=16e1B@snZvd11Em~TIg5F>9CvE zO;6gR5F7BRB`N&PJ@+hH1*%<#UbM9$p4Zx&|HgmOzC*WcDVFSe2?PxWqH?I15=nq_ zr$z6)NX9ZVNz!%EaHz_qMdDM;2sU2l-l-!8vLh1=gJnN^j}j>KW{*-`1nTg;s8+-<3C2NDM z*Z~a<`CIJ6Y~qw~^~7<4t3A#+?CJJ*v27?Bi|o5(Vkyfp&{szeZ(bJ=0-{^mKRm4- zgIo@(I>i)Vj^d?(!acG7=nQ*~)CAj_=?ceQs{fA!$AHhF+JI zDWga_j<7xPjPsJMLovgY8IOSV&KCJ=Sm`SThk!o31so<+ZTH-iE0<_oN-L49sKUHp zRECM1!zyl}xbzOYGMkaHu`%t3>&1%1m}#kM8$hXODuT-t{-q-|qVo~ko2>7`28#naZcjpHHrW~{_UYd= zL2Ha4$msZhTeU5w6&bK+Ge9)E`gv4Gchn|b9oU+^y#0CPJcRM({`y(>`n`8ix$c=W z1zcMGc4k%UT5pmbDJ9~Zqt!*rIJYw_(uO8PniGX!MiIz5A}i06xvaS-al|@F8BnZ% z{W;K(z{=G0V_!Fjk!Nb3@&UYva|y zIv4>R3$7%G_dp|Kdkj#l>_iGQ0xhZ-UbuyEwzyZ32jA#9VvZfb$K?qg5}7}L2u2#n z)rqCO4+wB8*ZYx+q}UA28r3#@T2P!Iw>qolSKI4}{%kM-$HdyvhxlXDSUsYkggPF$ zsd|sA_X&cDS}0)Sz2C-eA2j%V5c4w?627%@2X`Q6P%Zvvkk2U}uJ+wpoO5V>e!u-j zDX?GOZy&>`+-KB^Ce3?=tDvDaAk-WxQOX7wqj~7$63P=nZ>hn{9$b!(m-VlJptPf=C5zAT&o19G+mRgb^N$~~T5z;dI#ExIa}Y|=78>Oh2*&)v+&F(`OV z2!yPX6P1@_@dh%Iwl}#Bm!IqStD=KdQ8i8|w!LhiLmUI9+Ko5aUM}qr1YtyYR&#Br zssQ|2l)iL-z4o8TwA=Kpr@?oNT)8Yuquqf19#S%JNC-Fe#5_2Yb#*%GxbmZH*osAB*FygrI*?yml5wc0 zxIy^dWXKUd83(@zx3<^@NT+*Os>~{TCfKgQ0GumI@5pNi8kF#*ms96M}Pn3aEq@9K~2oBBgBa zlRBRpHPX??k3 z7^{9}HCY;F;^pqVW@331MNV3}eo@s|rvEQcw=RG* z;e1N*qH_Y{uWPn(bzxG-jo@HQ!;Qz{O0*efJ5Kb`o0l&`j_V-LuVn6T_a9f}{1W3ACfsT9l^21mpV!|jGM&qq0_=_B3)?HTX?30eiE#Q=e7 zH*1m7I7FkGp)k2h>ea>WO1^KwIq9y)BW zPGZ1v=DtM=r1nJFTcGM_%JaFlidoYE|Wj<#X{$wquglULu1=GlOlRYnxprXQ44w zSJ%;6?lFP&Ngp^avH-eyKIt^?%ZViDk3XVqd5+?@*9YvJ13nXKy;A%e9PI^NMJ_U? z>!J_xE#4J#xX`iIt7JLxVwRjpZSF}1x+(bah8{8sSGT)C2^tpxH~XYUDr8tSujr=b z(O}=&g0)1LAj;bVN7{H zR=ob%%RHL`RMU?=K?IB~5Ln=2`bq!np34=d!I}yawr`_G=QRDPsHV?EdS``JfS?)Vk7cF@GZD8aN8jo;{$*+-YZSJ&T zlWhT#!r%={sBGUnE45LESp1t~3mqvT~Z}P(H^u(iVfYnvZ&t4G_E5SvVgqIu?_K}hb zK%?2t?^RBn$Ses;jI(l}O62+!MqQl;bGlsL^xO$x#5=V_BGFwI*vy|1yjSXDx{_b?F^ES6np0<{0*yVYH#P%OAx5X^J zO|f`i&OYNH0(765pRc`DofbxbfD&jt_>+4Z2}PZ|trt@KuE&wRwJzTtV!?lpa=&dA zL!Pej&oY~TfWQU;Mpw=%;)cr#`G$e3+8BcReY!{QJs0G!$Z-qn*A!t7wy5OfA047>9vn-zH6=ZUHzu^l z(*4z*kry2294~Ty4`c8T^ZL*;N(5%=e;N2*U(x#_#m)sDS=YM)TWeKDWYOm@%m#Q50^j!Ji6=;~oKPWo1Noh3k(kI*+=DVx%2+5CCTg2)DO7VC}Z+ z<2N;VZvy=rhcPy(ddY&2%oq-fE@Ha~t1OT%Us!C!m5ct12d?)&F<-FSvRjS3rI7S1 z{WmX@v9m}4P#I78yC!bdg{ofHdqNwFcFCj72To$sQKrRCA#&{KxBkoyBEzriy@x0tXU;VOzIH~fPffy|SB`w@A!vv)U?~*EM-kbqO<$h)+$LVgjHv z9$*%KQ+?#psimfMW3#!(jy_#A47aUUK74{bNFtHOkrv`3_mr=u3e_`-Yx8}21FgRB z?FE}r!v4K`_Sy<2DDz@8iHY&hw9(&Y?~B&WsUkGMTZM0Ll3GyGPp{b9qD2P3SjYC zzrE&6@f&IFqFo}TwZOK+3JgwYWvsl^i~~out7S9pIOPW&o4@z!ofE>0@)HLFE%DNX z-j&#``$?#nhtsD(b5xSig5g;%UoDTr!U+BbO4wnhUxeRieQ4Rp+WN3SjC z2Zg0jmw_bg^>^1_O_F1d{y3x)seP5fcV{=)s4<~4zHN#<)R?oOBSOF)3G-APyQvvU z-oJSiG;$d@0EZ?ULaN}$YD5FdOGEAiiqp*BoNrciRTHEYC&DnC!NeIK)bJb~bL;ai zW;|_tGhH_^2vtK@&_0&?WZ!=~61w_G(+?xje9` zTPZcBUj5Y6CPv{bI>|lOv=wo2&>PG;4k~`^br@tdH+2o~_Qck3e2NcVb}-gw97dUH zSj9CsBFO?l>i62~9`EyXS<9=-Jd{B>={l1_iFk*7qIu)r;%dUY1&}^j@v3r%nkl5n zU9l(7!tmn-arNH)uah2!X+2y&F?QzYK0^8RQ%%y|?c;B69&G3~4^iXYYn1V7nZ1D) zne%I}Vk@t-ERxCmlZugjFI2*2r}Z&0iR=pVP+`oyHm+Ue%~^eRS}R2AR^?LcT&i;& z{ZW)CsF(+Fr~So3><@Ro_Im(RTkPX{E@hdOwqhJJSqyJxKf}$t*57Jw|sG*Zyc%^c|?%Co?qDs4+*K}IAh|V(>;GJE?xo7RhwFy zKY0CRrSWPV(FX+bNF`9)pyM>0a*=ws3!m0| zrmR5YO8pf#i5DbBKdng*fAW-aDvQg-m;{l+_8&sPL z=x$LP@QrxjtBgPS=@ptqW=!OM;0xfLc39|@iNB58Cu8~|zc`{A5)=@5CkmKT`C@H- zGtc~T?!(B>a_{d0nea+!>K}f1oK6y-;uY>!`f{Gs*8j0bH# zO|OJNemrA&%s=VscUsa!t|VLSiNLd4?vasLp~Q3LkylSo-rpCV2{flM+i8Vixej)F zpAR++7@;F}gVIuGFj4{usy~)nE|SC2GJ9W)zzrT=utVBGZdE&~`JI0wa=Z<<9k^)D zh`;vptJP`nscxaiU(8iNCIityin zWR+QB$zUA*MtWYCn#Vvj=L&(Ac(C33>6G2^ZoinbrJp{PAC0a!6V=$nw93-ntfP(O z?`|twZ}3-H z3qqG-huyentkvcUAV39M&cSEp>-ROQ0i=-)5OM5aGBl+{9A&?6j!zvV^I-*6-0&aTKn1cEDmwEACuB$fEz1WQ**W)<-x)(y55s^D4UmcBd(!o5 zJrCSeP*8|dFHo>v@(VM@%2OfuP<4I%RZ6ne+WyAX%A?)Q6^0cBr6C1^paNdK*N=KJ z$|G~0KX%e1JLUjLG3#+ag=X8t0&KQ48>U;pJVAw!y=w}ewnOv-2@ZcPu3QvOu;Il@ zUN<1RRWiK+UU6p5b2a^AsSc3Pxkn;3ZFZMSf$T85mHKVC$e6$$&i2f8a2N=nK##{5 z&H&$M{zCFjgV2r2kFE9C@|%>N)%G97LW#q}H?%HdvK1G592TKic@*%4L28*@#paRy zlJ(dlbwC^KMTkc~KP31F$V8lH9CMBNB>v9xJ$h;9pKgeBn}VvL?peSWZ)Mj{(QJeW z6HgzyvNZ~|1Xw9*?Td{$(J|jrQCgxT+X2%XzC;Bes(sCqL%roF>{89+&78*6LpEy{ zP7MHNMgBGWSwx)X8hD3VVsJ1vDv=Fz+yN_5klv5(#OB^D@Md4yJ)`o!C?hmlFJo8e zJ(0!F@*U#J6**v?@NV<8#yzp9n(vu5r*mtc(f%wmeBW8K5K3EEfNxwrBX0D z3m`EMo_dubjzW6&e}&JiB_^jJOSFGo$XWhyPe6pP&E7EZKrc|*eIbuB7g-oI;BI{q zl?TTSJwG!*$x?tEpB24u!BFtC!et3uwm^6#N^ z+a7au>HSeaS)17~$Sgo=IlY)Cutt5q@(j_77aTmkfW;KHV#OME0bkSknTLgi#m**4 z##TLsUGNrl@S@hu%{>4bNCLdQzxMr{f*cQ2J41dL>Ik_RB0U(B0)n!58m(=Tkqt_$ zm1&6l{rE>8(QUa4Cj9$Efzz8HHKFk2FNIDEa(8*nl`AWi9bGU)yRX*`qZfll6?wvY z9|D(AkjzV38CO!Zbc9nLo{6-9UYBjO!~M$)w28a#C%TjWAl|y-W{K} z*?_0oy=Z#Ol3yoHzK8v7Kp(O7yGzow^s4L-KHvU%=u~t095z>nJ;-a zB+!)(xae<>kYg1Q_qCB=U(wV(dfvT2zkvN^bl7lQ$>W)r?HIK!;LG3@`c37=1#?{v zZFKd7kXuGX=Ps)%nQxo9Cc8n=w!94jY3)~)e1F8uC@H7P+1~NJ_ojasI$?Xl;~CIH zgn=)%jY;I~{kdE+018JBNM8}t-}r6_Wsc9lf|G#HXr|8w+?sGiJX!*!>GKK-z89-B zJwzq=UFzB^Z7GTv)HOf$AQ(;?PD+@$D(>SrovxXyaOx%$&CC_+iLJ%tjB1jv0w09f z1bubh&kwy)Eh_-Ma{#ADk{$cz$CRC|DZu%jN z?N06B#z(D;e*f-{qZ(0ly^&$=N7LTT!M*Z3XeDaR(jNNZRSNc%DgjN$F5mjL9R_6b zJe352V-E)u9QI{mM*2vF!tu%PHQ$)SDFJSyfVl!Us1|=U5*~YC)8uohr9l6M} zkiBh1+<#Se3Y$d$)T7*p$7j=S06m6@nnytDUsMZ%t~=N4_hqu)+U?sA>FUuBhlp^b zi5tlxBAa*H6%vCE47G5)1;!4dI_KKFsdeWD4A2yf7Mz5w^4xUnXZ-&o?9Jn$Uf=NX zLFJTiI)x%jX*p3;vS%qpC26s*6=fL)jeQK#ks_3ilwC?$hOA@8R!K-0+hE3^Y{QsQ zVJ0Sg?|0|(`+fiXp8tBCW}5f&zMuQK@9Vy<>k&ki-9e(+{@*mVT(4|ftlbrr>N$RO z_=TuyQ9@b4@ULIBh0kLGH(W_!MW=0MigN7^Zrj9}m#Y7^URE#E{|n#rkgbW8__+US z>~p@c+Vdzl^IFU$f=@a0G-9dEnfm$j17l-j2gA9^ zPuQbP84nXG2Kj%7$X+lvX94LkUH2woo^Q$>UPk@CbQqg-j-R=BBYE~07VWbii54W_T%ug%Lscky3*+qc z1~xHEn>S@uk|Ge6Y;W(sPY&5n=G6q@CZ1^oxq5{1_v?S(7-ScfIL*$WZl0{b26TPm zdLCOD{waj2)j)#gq2n?7DrF)%UB%JTeT8OJHR}atGw;}w8oZAAPH1H!Ic_C-IQeI< zvchR*zPzR3Seke#I^dFqyo#72k%Igpd*nI$Ge=lg9uinzR zfUjnD{(P{kn44+{uAkOk4;9;P-L;`MMPN=_e0i`2vTfBL+WFlNEIv*6v#0`iFXz)& zDqAXF?i0#-5}KX7J}yQ+d_XjgUhS95cVkFW9=lMJs4IK62hg*G7|J_pe?n57E_7a* zdCv>mxsp;O)pkysQ5ACWhQ0OsGwhH6ROADsB{#MWD~j&+JwQ1mBV0jF#|kh~UUYl8 zJ-3%wnJFv@#B~u;Gt(!A4kb;|NOLKXV)8{S*Wlm*{3;AAmFs?fjpOj^hYebDi)24f zKOqFJhFmC5ez-CP=suF~57*o!CVIEU(ljnpfWNpD%apwS_%OfKJp8i3(qn^s1n@NT zH|O>Q-gyz~^!GPK@zvzEiD((eh!;N%h4xR{|do8#cX8$y9=m;LkDBRkEVUa@F|4les6fU5Vx1}3o|vz_P1PG^r3({ zqo$_jByV85zv{uZg^`h3C!&{%N7=BQR({>9l3lh(5imcGpzcP|wQBA@vkap|J=#e;t6rdkk6+KfC+ zzf8cNPwK>Wu@#>gi;jLC$izDHJIpaY5%WuTFtIqomYT(NsE5C6b*&morq4$^r%ekC zDREYVo?dRsLXs1T8`$$^d@X!Vr zyfr}y)iWf~6jwYdl7q}JRK_+muD^UB#a`>eM$}(cM^q;SiTZEWZ}{KL|6j{)(((r1 zvcGM?r@;|HEF5FMYDZeXUj{VcKKv2>GyH$q0O)Bbbm%`FgQ5TLF9`ehFI4*HsF0RD zK`7=qWUY=i8G0Ibr#KaP=5@tRTYN(8$wNP~m!HY8_*|<0zn)yGRLiMlJ?JY|e~`4z zEb?=O+|Ne+3|8-T*3$&CZ{fe<+aALjp^=4ZvpM}aY6)-R$%#tWutME;or6EXRKOTh z2d-4&PrQ-W)8%-p4?F!BgvrK>JKrk5S^P4`>nx;N6vl$6OAwVV35nHzBl^mrsd1Xs z8aFyNZ)Vm&*!Q`s-qWJf%XGYiqfHoOU z?qR*(>JlKEzA?FN{ikvp)PGZJVg+$ZsPFk1Ak0j0p9sD!+);RH`9po|%(WMnZ)?Ds zYyf)(6l%267U!w0YS#B6vF>7@*Eu%Z>YcFf&ADe<35*!kR>i?153+)ldyBDuJlge_Ht#T0J;Ty-LEmKz;KIrIfF1j<7(S~y zi((2QNm8q(MNVlQMr+799D8A`(w|0en<%UD8hj4yd*j?3Koyg(wJN1XpS+Dh1&7oD z3%k!#T~^EYEuPC8AaqvAPO4_5^(Ui0Nh@tgMSmd3grg$QBbdj>!Dz1GF3O{GuNy+I zT}Zyk`lQPp$V6irRs!+g?#TDjD$(jXIx~VeqGfOH-?wgiz<@#JMG$@7g!hJbp?t6x z;6Rw@O%O^9d$9&GVI9@TttRKnCzk9I5H7y-e zFApbWYB>d&?BAihy4>=_YOi?XMIj*}WagNMd=anYyM-+2~3^kDcs`2?5=>x(A#-->hvZi@N zoYJp-mii*w5kAArA{pJs{x}oz7v-^x$elZP9GBb-gU(`n*@NXKx`DG4mqfiuc0kIy z?_+&uA{K|zF~c@g-(3{{LslS1D-kesMoRL#wmVg)gyOAF;wQ6ZQ?}KdFxL;vv6m@c zZ^sW~1oV3V;#(Z*1VFO{S*DQ?jpfe|xbc}E4TQ)hZpt-`aq`k+8X|F19s0Yh)3jA? zkSb!YsUP&Fpf&Wxp*E3N&zv8o%P`3-Z(6y6YWcgST4kz8P>KcYsFY59UT<2eMXGg? zO^#;6QafjUeB8DF?)-)N#JZCaW&Jj{6y4q3&-g^}>6JIzrFosT-dj9Mq;mT%0vSQc z^CPFl*l7jMNF=iUrUzlJq<~DKAv_$YNCdsY`dc^ty4tBbcij2}u__SlM~ob1|1tHg zDXO~8=RqaO*}v;Fu%(JK_a~(++wAQfIj&i9P7TU~i!JtGzlP+T9XI+rqpx3hylCSb zlFt#WF>~hnIc8Lh*lln4a#seVcAlC;1yTi58O;R0Ug?`-}6^Rh@@3duV9PF6XtX(Ad^Z|Y2a)?S*LfGQVg7?NRZVMs=jnl}ZD-=Evm%P0B~c4AOH-SE7ym?SG#h%TM;D?>wiX;;6P=1q?^U#&s8cS*mpW-+8 zr;OL#m{T6<8G5|vQYJa=!)r$m=aEvdn7ZlJAPv-l81gF4{3U}8nRegXJ?26fdlp6{ zii?TO0GIuiTUO`i&kGhf-1Gj`3E4|seH3X*W zzZ(^!q9+f>vU4fgx2_VcBL|aWyPzU z)k-OgzOSvqUP2|8 zdva81%KQP5PS?{5@BWDKCZ1gk3k@Z|y4$!nl-+rU^YFa4dDWv@wzm&0G(uZn^NhK}8m{b}T}n3W~|)axY)Nw%cSKzv#z) z?6 z*^_as&QY0}>HEg4luSGG$4W~uEL=pG@0Ok3p|}#!7*^49`!jRVxnmT3k_PX3DU&v2 zO|Yx{w(?Sv*e@}^;OZE2Q<2Dd*zvz56QF+9ci7zfI%b)_A|dMzgKv%wqc)`cHy3fG zlsb&zcjMI4_sd86aO=;}hJ0$+8vUhTuly)5INa0gCT`VRWMXHvc}Qp7e<=Rto6&_g zx1(QgtDgQOKVscg+sx&5=nbYg20o(}I~Io4sb?3b2zjZl4LpLm>M35+U>5Oos|8E2?%0Xd5P;)yc?TRXqhzpqwRCuF7NAfAu z!>XD1@Pf3z{_%gY*TaqINvS@)EDm!PqiAmaUc-tYO`_-$4eV&!CRH+_5CbZd=8+Wz?TdeQ}t}lG4LCejX zW7&r;H7;t;Ag=#!YLsv8lc;`i6Sy2Ld(}gDLM#sC=X)q_NpehKtCSEv^o{GFDifX7TOd_Mzahc%_uK;;3O(PBNDA zXgycoG>-&ohjvWbee+fw7gmSC&VuTImJ5%w+W|F1_UylOI)UI{CO6X~tWch#0Xv59?lJ_Xl+8or;_Gh~F0 zaQtwr+M@NPD@mWi`dAI zC&cO%W-E-5>wbCH9WggQHl#Ct;omdY&g?~HBLjO6BC&rro=d59O6SpsGi~6cD$KT@ z=*T+rR5 zGv&gb1;?B)x{H>T%E{-*i&T5{(Mr$nvm@nRnB z0kC=1J4)bEJ|AL8n4Zlp^4wyXCa+)11?y_GvN z;DFXEpc2|MJm6SGPU#nY!%mxzImP+UsthEpMAty9UUc zf2STV7=!gG_27U>M*u5{U=Ad`$Ot%^&*auIRB%{rcADo*>vv-%-<%6E_ow^b-ntljZ%$)zEN9UJ z44se-w293Y(x_u3SnFQ2Bs{Ai;(~v@Em$ZmOdauSmc?i}z-+MwGScC7uBU(KSMXjz zws0Hq=BT5w1{b?*)UT&PFd%Tf+@XKIDfqJ4o#!iQbV6OP+mWEfnLd$b?M3e zT;|b}SMTjJH@oMXWyZP-)<424G0Mj-k^p5q9RBNzhsZ(COrXe+d%;`vw%sG!a=@I^A2TZ2i3X z-~#tepT>;x?tN^wPuQ4@6pj96Em(Kd-!>&qG_JfyGOX@`w_aHQ!W!>=7XmEOGq6>I zAr+y_XTNH+tVbv;E-nP$^!eW5%vop0((BP^pU$ayJYzUhAzhKxGc@u&A*hyHYdAn2phrJ?=}FD*XT-QVdYr1(Ibz4`F`Z>sNsDcUImeD?F3IO$vCA<`9=odn0KE_cds#}PDB@N7z4T?F{e z(DS~UR{Jjhv%upkr@l6kR-v`)`2f#<`7djC)M##Xuc-Ri#oS{!v!uHaws+Q2oGVFR3d zZ~yXR=UghvxqRVDyiFF(pyZ7sVUaPs`cbpKD;isvx%GlGlHXEloxO3N5aS45ICt;N z&tE+LN1$Hj&yYGC1jCM@lULOHa z#QhL;gq>ynvW_9RoHp_cG!T`vfOyk*9C^)uy+36w6J+>7{<;BsVAJ2ci;aLg3Vm0$B^PMGn*siew#0u(F0bepjII-i)G37QM<{RixNwoi)v_d4QQ%A5{J zx!21fht$?F*oM?5s3x#PPCeRF}#0}?OY6{{|~QVzjqKDDG-X-cpFlE*zHgWQ`v z8K9uruHk~8F`Sr~YYu<)xB>cR|Exjh720dy$PDmlQNK-EKrfy*M);90WEmvXT}hgk z6pTELRG3ZM&X5dsj?;S;n^_!tE;_5fMA^F7pIt)TVEQx68(GQ$RwbBFUD$zZz~P3t zp*Q8Ut$K1ud4i!s0#`2~3%NzrDegq}l5tU|Y=L|6mxfU9z6w@JgHv0IDsOdw5$l_P zx$$M_B-y;R=0@=j7FM_rQ>WaGtN@~=iu-WOsgy$YU0Jw2vvGviM00wKæK}$}4 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 diff --git a/ios/Runner/Assets.xcassets/LauncherIconOnly.imageset/Icon-Transparent.png b/ios/Runner/Assets.xcassets/LauncherIcon.imageset/icon-transparent.png similarity index 100% rename from ios/Runner/Assets.xcassets/LauncherIconOnly.imageset/Icon-Transparent.png rename to ios/Runner/Assets.xcassets/LauncherIcon.imageset/icon-transparent.png diff --git a/ios/Runner/Assets.xcassets/LauncherIconOnly.imageset/Contents.json b/ios/Runner/Assets.xcassets/LauncherIconOnly.imageset/Contents.json deleted file mode 100644 index 2002cdd..0000000 --- a/ios/Runner/Assets.xcassets/LauncherIconOnly.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images" : [ - { - "filename" : "Icon-Transparent.png", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard index a64dcfb..28d0ddf 100644 --- a/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ b/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -20,10 +20,6 @@ - - - - + + + + - + @@ -43,8 +43,8 @@ - - + + From 55f5aac4e2e7f6648f92098816cb89f4b0679932 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 23 Jan 2026 11:08:11 +0100 Subject: [PATCH 104/198] color is now a required game parameter --- lib/data/dao/game_dao.dart | 12 +++--- lib/data/dao/match_dao.dart | 2 +- lib/data/db/database.g.dart | 43 +++++++++---------- lib/data/db/tables/game_table.dart | 2 +- lib/data/dto/game.dart | 4 +- .../create_match/create_match_view.dart | 2 + test/db_tests/game_test.dart | 37 ++++++---------- test/db_tests/match_test.dart | 2 +- test/db_tests/player_match_test.dart | 2 +- test/db_tests/score_test.dart | 2 +- test/db_tests/team_test.dart | 4 +- 11 files changed, 51 insertions(+), 61 deletions(-) diff --git a/lib/data/dao/game_dao.dart b/lib/data/dao/game_dao.dart index 4b99dfa..1d8af98 100644 --- a/lib/data/dao/game_dao.dart +++ b/lib/data/dao/game_dao.dart @@ -20,7 +20,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { name: row.name, ruleset: row.ruleset, description: row.description, - color: row.color != null ? int.tryParse(row.color!) : null, + color: row.color, icon: row.icon, createdAt: row.createdAt, ), @@ -37,7 +37,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { name: result.name, ruleset: result.ruleset, description: result.description, - color: result.color != null ? int.tryParse(result.color!) : null, + color: result.color, icon: result.icon, createdAt: result.createdAt, ); @@ -54,7 +54,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { name: game.name, ruleset: game.ruleset ?? '', description: Value(game.description), - color: Value(game.color?.toString()), + color: game.color, icon: Value(game.icon), createdAt: game.createdAt, ), @@ -80,7 +80,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { name: game.name, ruleset: game.ruleset ?? '', description: Value(game.description), - color: Value(game.color?.toString()), + color: game.color, icon: Value(game.icon), createdAt: game.createdAt, ), @@ -142,10 +142,10 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { /// Updates the color of the game with the given [gameId]. Future updateGameColor({ required String gameId, - required int? newColor, + required String newColor, }) async { await (update(gameTable)..where((g) => g.id.equals(gameId))).write( - GameTableCompanion(color: Value(newColor?.toString())), + GameTableCompanion(color: Value(newColor)), ); } diff --git a/lib/data/dao/match_dao.dart b/lib/data/dao/match_dao.dart index 7c67e08..af6d602 100644 --- a/lib/data/dao/match_dao.dart +++ b/lib/data/dao/match_dao.dart @@ -129,7 +129,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { name: game.name, ruleset: game.ruleset ?? '', description: Value(game.description), - color: Value(game.color?.toString()), + color: game.color, icon: Value(game.icon), createdAt: game.createdAt, ), diff --git a/lib/data/db/database.g.dart b/lib/data/db/database.g.dart index fbc76f0..a2d99c1 100644 --- a/lib/data/db/database.g.dart +++ b/lib/data/db/database.g.dart @@ -682,9 +682,9 @@ class $GameTableTable extends GameTable late final GeneratedColumn color = GeneratedColumn( 'color', aliasedName, - true, + false, type: DriftSqlType.string, - requiredDuringInsert: false, + requiredDuringInsert: true, ); static const VerificationMeta _iconMeta = const VerificationMeta('icon'); @override @@ -763,6 +763,8 @@ class $GameTableTable extends GameTable _colorMeta, color.isAcceptableOrUnknown(data['color']!, _colorMeta), ); + } else if (isInserting) { + context.missing(_colorMeta); } if (data.containsKey('icon')) { context.handle( @@ -806,7 +808,7 @@ class $GameTableTable extends GameTable color: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}color'], - ), + )!, icon: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}icon'], @@ -829,7 +831,7 @@ class GameTableData extends DataClass implements Insertable { final String name; final String ruleset; final String? description; - final String? color; + final String color; final String? icon; final DateTime createdAt; const GameTableData({ @@ -837,7 +839,7 @@ class GameTableData extends DataClass implements Insertable { required this.name, required this.ruleset, this.description, - this.color, + required this.color, this.icon, required this.createdAt, }); @@ -850,9 +852,7 @@ class GameTableData extends DataClass implements Insertable { if (!nullToAbsent || description != null) { map['description'] = Variable(description); } - if (!nullToAbsent || color != null) { - map['color'] = Variable(color); - } + map['color'] = Variable(color); if (!nullToAbsent || icon != null) { map['icon'] = Variable(icon); } @@ -868,9 +868,7 @@ class GameTableData extends DataClass implements Insertable { description: description == null && nullToAbsent ? const Value.absent() : Value(description), - color: color == null && nullToAbsent - ? const Value.absent() - : Value(color), + color: Value(color), icon: icon == null && nullToAbsent ? const Value.absent() : Value(icon), createdAt: Value(createdAt), ); @@ -886,7 +884,7 @@ class GameTableData extends DataClass implements Insertable { name: serializer.fromJson(json['name']), ruleset: serializer.fromJson(json['ruleset']), description: serializer.fromJson(json['description']), - color: serializer.fromJson(json['color']), + color: serializer.fromJson(json['color']), icon: serializer.fromJson(json['icon']), createdAt: serializer.fromJson(json['createdAt']), ); @@ -899,7 +897,7 @@ class GameTableData extends DataClass implements Insertable { 'name': serializer.toJson(name), 'ruleset': serializer.toJson(ruleset), 'description': serializer.toJson(description), - 'color': serializer.toJson(color), + 'color': serializer.toJson(color), 'icon': serializer.toJson(icon), 'createdAt': serializer.toJson(createdAt), }; @@ -910,7 +908,7 @@ class GameTableData extends DataClass implements Insertable { String? name, String? ruleset, Value description = const Value.absent(), - Value color = const Value.absent(), + String? color, Value icon = const Value.absent(), DateTime? createdAt, }) => GameTableData( @@ -918,7 +916,7 @@ class GameTableData extends DataClass implements Insertable { name: name ?? this.name, ruleset: ruleset ?? this.ruleset, description: description.present ? description.value : this.description, - color: color.present ? color.value : this.color, + color: color ?? this.color, icon: icon.present ? icon.value : this.icon, createdAt: createdAt ?? this.createdAt, ); @@ -971,7 +969,7 @@ class GameTableCompanion extends UpdateCompanion { final Value name; final Value ruleset; final Value description; - final Value color; + final Value color; final Value icon; final Value createdAt; final Value rowid; @@ -990,13 +988,14 @@ class GameTableCompanion extends UpdateCompanion { required String name, required String ruleset, this.description = const Value.absent(), - this.color = const Value.absent(), + required String color, this.icon = const Value.absent(), required DateTime createdAt, this.rowid = const Value.absent(), }) : id = Value(id), name = Value(name), ruleset = Value(ruleset), + color = Value(color), createdAt = Value(createdAt); static Insertable custom({ Expression? id, @@ -1025,7 +1024,7 @@ class GameTableCompanion extends UpdateCompanion { Value? name, Value? ruleset, Value? description, - Value? color, + Value? color, Value? icon, Value? createdAt, Value? rowid, @@ -3665,7 +3664,7 @@ typedef $$GameTableTableCreateCompanionBuilder = required String name, required String ruleset, Value description, - Value color, + required String color, Value icon, required DateTime createdAt, Value rowid, @@ -3676,7 +3675,7 @@ typedef $$GameTableTableUpdateCompanionBuilder = Value name, Value ruleset, Value description, - Value color, + Value color, Value icon, Value createdAt, Value rowid, @@ -3910,7 +3909,7 @@ class $$GameTableTableTableManager Value name = const Value.absent(), Value ruleset = const Value.absent(), Value description = const Value.absent(), - Value color = const Value.absent(), + Value color = const Value.absent(), Value icon = const Value.absent(), Value createdAt = const Value.absent(), Value rowid = const Value.absent(), @@ -3930,7 +3929,7 @@ class $$GameTableTableTableManager required String name, required String ruleset, Value description = const Value.absent(), - Value color = const Value.absent(), + required String color, Value icon = const Value.absent(), required DateTime createdAt, Value rowid = const Value.absent(), diff --git a/lib/data/db/tables/game_table.dart b/lib/data/db/tables/game_table.dart index 2074ae7..eaa3e1b 100644 --- a/lib/data/db/tables/game_table.dart +++ b/lib/data/db/tables/game_table.dart @@ -5,7 +5,7 @@ class GameTable extends Table { TextColumn get name => text()(); TextColumn get ruleset => text()(); TextColumn get description => text().nullable()(); - TextColumn get color => text().nullable()(); + TextColumn get color => text()(); TextColumn get icon => text().nullable()(); DateTimeColumn get createdAt => dateTime()(); diff --git a/lib/data/dto/game.dart b/lib/data/dto/game.dart index 9e271e5..5afbd9b 100644 --- a/lib/data/dto/game.dart +++ b/lib/data/dto/game.dart @@ -7,7 +7,7 @@ class Game { final String name; final String? ruleset; final String? description; - final int? color; + final String color; final String? icon; Game({ @@ -16,7 +16,7 @@ class Game { required this.name, this.ruleset, this.description, - this.color, + required this.color, this.icon, }) : id = id ?? const Uuid().v4(), createdAt = createdAt ?? clock.now(); diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index eb630df..31e232f 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -202,6 +202,7 @@ class _CreateMatchViewState extends State { name: selectedGame.$1, description: selectedGame.$2, ruleset: selectedGame.$3.name, + color: '0xFF000000', ); } else { // Use the selected game from the list @@ -210,6 +211,7 @@ class _CreateMatchViewState extends State { name: selectedGame.$1, description: selectedGame.$2, ruleset: selectedGame.$3.name, + color: '0xFF000000', ); } // Add the game to the database if it doesn't exist diff --git a/test/db_tests/game_test.dart b/test/db_tests/game_test.dart index a1d8c1f..250d67a 100644 --- a/test/db_tests/game_test.dart +++ b/test/db_tests/game_test.dart @@ -26,7 +26,7 @@ void main() { name: 'Chess', ruleset: 'winner.single', description: 'A classic strategy game', - color: 0xFF0000FF, + color: '0xFF0000FF', icon: 'chess_icon', ); testGame2 = Game( @@ -34,13 +34,14 @@ void main() { name: 'Poker', ruleset: 'Texas Hold\'em rules', description: 'winner.multiple', - color: 0xFFFF0000, + color: '0xFFFF0000', icon: 'poker_icon', ); testGame3 = Game( id: 'game3', name: 'Monopoly', description: 'A board game about real estate', + color: '0xFF000000', ); }); }); @@ -130,7 +131,7 @@ void main() { // Verifies that a game with null optional fields can be added and retrieved. test('addGame handles game with null optional fields', () async { - final gameWithNulls = Game(name: 'Simple Game'); + final gameWithNulls = Game(name: 'Simple Game', color: '0xFF000000'); final result = await database.gameDao.addGame(game: gameWithNulls); expect(result, true); @@ -139,7 +140,7 @@ void main() { ); expect(fetchedGame.name, 'Simple Game'); expect(fetchedGame.description, isNull); - expect(fetchedGame.color, isNull); + expect(fetchedGame.color, '0xFF000000'); expect(fetchedGame.icon, isNull); }); @@ -336,35 +337,20 @@ void main() { await database.gameDao.updateGameColor( gameId: testGame1.id, - newColor: 0xFF00FF00, + newColor: '0xFF00FF00', ); final updatedGame = await database.gameDao.getGameById( gameId: testGame1.id, ); - expect(updatedGame.color, 0xFF00FF00); - }); - - // Verifies that updateGameColor can set the color to null. - test('updateGameColor can set color to null', () async { - await database.gameDao.addGame(game: testGame1); - - await database.gameDao.updateGameColor( - gameId: testGame1.id, - newColor: null, - ); - - final updatedGame = await database.gameDao.getGameById( - gameId: testGame1.id, - ); - expect(updatedGame.color, isNull); + expect(updatedGame.color, '0xFF00FF00'); }); // Verifies that updateGameColor does nothing when game doesn't exist. test('updateGameColor does nothing for non-existent game', () async { await database.gameDao.updateGameColor( gameId: 'non-existent-id', - newColor: 0xFF00FF00, + newColor: '0xFF00FF00', ); final allGames = await database.gameDao.getAllGames(); @@ -470,6 +456,7 @@ void main() { final specialGame = Game( name: 'Game\'s & "Special" ', description: 'Description with émojis 🎮🎲', + color: '0xFF000000', ); await database.gameDao.addGame(game: specialGame); @@ -487,6 +474,7 @@ void main() { ruleset: '', description: '', icon: '', + color: '0xFF000000', ); await database.gameDao.addGame(game: emptyGame); @@ -506,6 +494,7 @@ void main() { name: longString, description: longString, ruleset: longString, + color: '0xFF000000', ); await database.gameDao.addGame(game: longGame); @@ -527,7 +516,7 @@ void main() { ); await database.gameDao.updateGameColor( gameId: testGame1.id, - newColor: 0xFF123456, + newColor: '0xFF123456', ); await database.gameDao.updateGameDescription( gameId: testGame1.id, @@ -538,7 +527,7 @@ void main() { gameId: testGame1.id, ); expect(updatedGame.name, 'Updated Name'); - expect(updatedGame.color, 0xFF123456); + expect(updatedGame.color, '0xFF123456'); expect(updatedGame.description, 'Updated Description'); expect(updatedGame.ruleset, testGame1.ruleset); expect(updatedGame.icon, testGame1.icon); diff --git a/test/db_tests/match_test.dart b/test/db_tests/match_test.dart index 5941523..055efad 100644 --- a/test/db_tests/match_test.dart +++ b/test/db_tests/match_test.dart @@ -48,7 +48,7 @@ void main() { name: 'Test Group 2', members: [testPlayer4, testPlayer5], ); - testGame = Game(name: 'Test Game'); + testGame = Game(name: 'Test Game', color: '0xFF000000'); testMatch1 = Match( name: 'First Test Match', game: testGame, diff --git a/test/db_tests/player_match_test.dart b/test/db_tests/player_match_test.dart index 8c68395..899857e 100644 --- a/test/db_tests/player_match_test.dart +++ b/test/db_tests/player_match_test.dart @@ -46,7 +46,7 @@ void main() { name: 'Test Group', members: [testPlayer1, testPlayer2, testPlayer3], ); - testGame = Game(name: 'Test Game'); + testGame = Game(name: 'Test Game', color: '0xFF000000'); testMatchOnlyGroup = Match( name: 'Test Match with Group', game: testGame, diff --git a/test/db_tests/score_test.dart b/test/db_tests/score_test.dart index 109febf..5ddaade 100644 --- a/test/db_tests/score_test.dart +++ b/test/db_tests/score_test.dart @@ -31,7 +31,7 @@ void main() { testPlayer1 = Player(name: 'Alice'); testPlayer2 = Player(name: 'Bob'); testPlayer3 = Player(name: 'Charlie'); - testGame = Game(name: 'Test Game'); + testGame = Game(name: 'Test Game', color: '0xFF000000'); testMatch1 = Match( name: 'Test Match 1', game: testGame, diff --git a/test/db_tests/team_test.dart b/test/db_tests/team_test.dart index df2c93c..72c1adc 100644 --- a/test/db_tests/team_test.dart +++ b/test/db_tests/team_test.dart @@ -48,8 +48,8 @@ void main() { name: 'Team Gamma', members: [testPlayer1, testPlayer3], ); - testGame1 = Game(name: 'Game 1'); - testGame2 = Game(name: 'Game 2'); + testGame1 = Game(name: 'Game 1', color: '0xFF000000'); + testGame2 = Game(name: 'Game 2', color: '0xFF000000'); }); await database.playerDao.addPlayersAsList( From 118b316a359f53fc5f5b22e2610f574b4ec1f91c Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 23 Jan 2026 11:25:20 +0100 Subject: [PATCH 105/198] description is now a required game parameter --- lib/data/dao/game_dao.dart | 6 ++-- lib/data/dao/match_dao.dart | 2 +- lib/data/db/database.dart | 2 +- lib/data/db/database.g.dart | 43 ++++++++++++++-------------- lib/data/db/tables/game_table.dart | 2 +- lib/data/dto/game.dart | 4 +-- test/db_tests/game_test.dart | 14 ++++----- test/db_tests/match_test.dart | 2 +- test/db_tests/player_match_test.dart | 2 +- test/db_tests/score_test.dart | 2 +- test/db_tests/team_test.dart | 4 +-- 11 files changed, 41 insertions(+), 42 deletions(-) diff --git a/lib/data/dao/game_dao.dart b/lib/data/dao/game_dao.dart index 1d8af98..62db351 100644 --- a/lib/data/dao/game_dao.dart +++ b/lib/data/dao/game_dao.dart @@ -53,7 +53,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { id: game.id, name: game.name, ruleset: game.ruleset ?? '', - description: Value(game.description), + description: game.description, color: game.color, icon: Value(game.icon), createdAt: game.createdAt, @@ -79,7 +79,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { id: game.id, name: game.name, ruleset: game.ruleset ?? '', - description: Value(game.description), + description: game.description, color: game.color, icon: Value(game.icon), createdAt: game.createdAt, @@ -132,7 +132,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { /// Updates the description of the game with the given [gameId]. Future updateGameDescription({ required String gameId, - required String? newDescription, + required String newDescription, }) async { await (update(gameTable)..where((g) => g.id.equals(gameId))).write( GameTableCompanion(description: Value(newDescription)), diff --git a/lib/data/dao/match_dao.dart b/lib/data/dao/match_dao.dart index af6d602..3d5efb0 100644 --- a/lib/data/dao/match_dao.dart +++ b/lib/data/dao/match_dao.dart @@ -128,7 +128,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { id: game.id, name: game.name, ruleset: game.ruleset ?? '', - description: Value(game.description), + description: game.description, color: game.color, icon: Value(game.icon), createdAt: game.createdAt, diff --git a/lib/data/db/database.dart b/lib/data/db/database.dart index 628e013..d3d447c 100644 --- a/lib/data/db/database.dart +++ b/lib/data/db/database.dart @@ -46,7 +46,7 @@ class AppDatabase extends _$AppDatabase { AppDatabase([QueryExecutor? executor]) : super(executor ?? _openConnection()); @override - int get schemaVersion => 2; + int get schemaVersion => 1; @override MigrationStrategy get migration { diff --git a/lib/data/db/database.g.dart b/lib/data/db/database.g.dart index a2d99c1..3faa308 100644 --- a/lib/data/db/database.g.dart +++ b/lib/data/db/database.g.dart @@ -673,9 +673,9 @@ class $GameTableTable extends GameTable late final GeneratedColumn description = GeneratedColumn( 'description', aliasedName, - true, + false, type: DriftSqlType.string, - requiredDuringInsert: false, + requiredDuringInsert: true, ); static const VerificationMeta _colorMeta = const VerificationMeta('color'); @override @@ -757,6 +757,8 @@ class $GameTableTable extends GameTable _descriptionMeta, ), ); + } else if (isInserting) { + context.missing(_descriptionMeta); } if (data.containsKey('color')) { context.handle( @@ -804,7 +806,7 @@ class $GameTableTable extends GameTable description: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}description'], - ), + )!, color: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}color'], @@ -830,7 +832,7 @@ class GameTableData extends DataClass implements Insertable { final String id; final String name; final String ruleset; - final String? description; + final String description; final String color; final String? icon; final DateTime createdAt; @@ -838,7 +840,7 @@ class GameTableData extends DataClass implements Insertable { required this.id, required this.name, required this.ruleset, - this.description, + required this.description, required this.color, this.icon, required this.createdAt, @@ -849,9 +851,7 @@ class GameTableData extends DataClass implements Insertable { map['id'] = Variable(id); map['name'] = Variable(name); map['ruleset'] = Variable(ruleset); - if (!nullToAbsent || description != null) { - map['description'] = Variable(description); - } + map['description'] = Variable(description); map['color'] = Variable(color); if (!nullToAbsent || icon != null) { map['icon'] = Variable(icon); @@ -865,9 +865,7 @@ class GameTableData extends DataClass implements Insertable { id: Value(id), name: Value(name), ruleset: Value(ruleset), - description: description == null && nullToAbsent - ? const Value.absent() - : Value(description), + description: Value(description), color: Value(color), icon: icon == null && nullToAbsent ? const Value.absent() : Value(icon), createdAt: Value(createdAt), @@ -883,7 +881,7 @@ class GameTableData extends DataClass implements Insertable { id: serializer.fromJson(json['id']), name: serializer.fromJson(json['name']), ruleset: serializer.fromJson(json['ruleset']), - description: serializer.fromJson(json['description']), + description: serializer.fromJson(json['description']), color: serializer.fromJson(json['color']), icon: serializer.fromJson(json['icon']), createdAt: serializer.fromJson(json['createdAt']), @@ -896,7 +894,7 @@ class GameTableData extends DataClass implements Insertable { 'id': serializer.toJson(id), 'name': serializer.toJson(name), 'ruleset': serializer.toJson(ruleset), - 'description': serializer.toJson(description), + 'description': serializer.toJson(description), 'color': serializer.toJson(color), 'icon': serializer.toJson(icon), 'createdAt': serializer.toJson(createdAt), @@ -907,7 +905,7 @@ class GameTableData extends DataClass implements Insertable { String? id, String? name, String? ruleset, - Value description = const Value.absent(), + String? description, String? color, Value icon = const Value.absent(), DateTime? createdAt, @@ -915,7 +913,7 @@ class GameTableData extends DataClass implements Insertable { id: id ?? this.id, name: name ?? this.name, ruleset: ruleset ?? this.ruleset, - description: description.present ? description.value : this.description, + description: description ?? this.description, color: color ?? this.color, icon: icon.present ? icon.value : this.icon, createdAt: createdAt ?? this.createdAt, @@ -968,7 +966,7 @@ class GameTableCompanion extends UpdateCompanion { final Value id; final Value name; final Value ruleset; - final Value description; + final Value description; final Value color; final Value icon; final Value createdAt; @@ -987,7 +985,7 @@ class GameTableCompanion extends UpdateCompanion { required String id, required String name, required String ruleset, - this.description = const Value.absent(), + required String description, required String color, this.icon = const Value.absent(), required DateTime createdAt, @@ -995,6 +993,7 @@ class GameTableCompanion extends UpdateCompanion { }) : id = Value(id), name = Value(name), ruleset = Value(ruleset), + description = Value(description), color = Value(color), createdAt = Value(createdAt); static Insertable custom({ @@ -1023,7 +1022,7 @@ class GameTableCompanion extends UpdateCompanion { Value? id, Value? name, Value? ruleset, - Value? description, + Value? description, Value? color, Value? icon, Value? createdAt, @@ -3663,7 +3662,7 @@ typedef $$GameTableTableCreateCompanionBuilder = required String id, required String name, required String ruleset, - Value description, + required String description, required String color, Value icon, required DateTime createdAt, @@ -3674,7 +3673,7 @@ typedef $$GameTableTableUpdateCompanionBuilder = Value id, Value name, Value ruleset, - Value description, + Value description, Value color, Value icon, Value createdAt, @@ -3908,7 +3907,7 @@ class $$GameTableTableTableManager Value id = const Value.absent(), Value name = const Value.absent(), Value ruleset = const Value.absent(), - Value description = const Value.absent(), + Value description = const Value.absent(), Value color = const Value.absent(), Value icon = const Value.absent(), Value createdAt = const Value.absent(), @@ -3928,7 +3927,7 @@ class $$GameTableTableTableManager required String id, required String name, required String ruleset, - Value description = const Value.absent(), + required String description, required String color, Value icon = const Value.absent(), required DateTime createdAt, diff --git a/lib/data/db/tables/game_table.dart b/lib/data/db/tables/game_table.dart index eaa3e1b..ce71a59 100644 --- a/lib/data/db/tables/game_table.dart +++ b/lib/data/db/tables/game_table.dart @@ -4,7 +4,7 @@ class GameTable extends Table { TextColumn get id => text()(); TextColumn get name => text()(); TextColumn get ruleset => text()(); - TextColumn get description => text().nullable()(); + TextColumn get description => text()(); TextColumn get color => text()(); TextColumn get icon => text().nullable()(); DateTimeColumn get createdAt => dateTime()(); diff --git a/lib/data/dto/game.dart b/lib/data/dto/game.dart index 5afbd9b..c63bdea 100644 --- a/lib/data/dto/game.dart +++ b/lib/data/dto/game.dart @@ -6,7 +6,7 @@ class Game { final DateTime createdAt; final String name; final String? ruleset; - final String? description; + final String description; final String color; final String? icon; @@ -15,7 +15,7 @@ class Game { DateTime? createdAt, required this.name, this.ruleset, - this.description, + required this.description, required this.color, this.icon, }) : id = id ?? const Uuid().v4(), diff --git a/test/db_tests/game_test.dart b/test/db_tests/game_test.dart index 250d67a..4182530 100644 --- a/test/db_tests/game_test.dart +++ b/test/db_tests/game_test.dart @@ -131,7 +131,7 @@ void main() { // Verifies that a game with null optional fields can be added and retrieved. test('addGame handles game with null optional fields', () async { - final gameWithNulls = Game(name: 'Simple Game', color: '0xFF000000'); + final gameWithNulls = Game(name: 'Simple Game', description: 'A simple game', color: '0xFF000000'); final result = await database.gameDao.addGame(game: gameWithNulls); expect(result, true); @@ -139,7 +139,7 @@ void main() { gameId: gameWithNulls.id, ); expect(fetchedGame.name, 'Simple Game'); - expect(fetchedGame.description, isNull); + expect(fetchedGame.description, 'A simple game'); expect(fetchedGame.color, '0xFF000000'); expect(fetchedGame.icon, isNull); }); @@ -305,19 +305,19 @@ void main() { expect(updatedGame.description, 'An updated description'); }); - // Verifies that updateGameDescription can set the description to null. - test('updateGameDescription can set description to null', () async { + // Verifies that updateGameDescription can set the description to an empty string. + test('updateGameDescription can set description to empty string', () async { await database.gameDao.addGame(game: testGame1); await database.gameDao.updateGameDescription( gameId: testGame1.id, - newDescription: null, + newDescription: '', ); final updatedGame = await database.gameDao.getGameById( gameId: testGame1.id, ); - expect(updatedGame.description, isNull); + expect(updatedGame.description, ''); }); // Verifies that updateGameDescription does nothing when game doesn't exist. @@ -502,7 +502,7 @@ void main() { gameId: longGame.id, ); expect(fetchedGame.name.length, 10000); - expect(fetchedGame.description?.length, 10000); + expect(fetchedGame.description.length, 10000); expect(fetchedGame.ruleset?.length, 10000); }); diff --git a/test/db_tests/match_test.dart b/test/db_tests/match_test.dart index 055efad..f5d3fb2 100644 --- a/test/db_tests/match_test.dart +++ b/test/db_tests/match_test.dart @@ -48,7 +48,7 @@ void main() { name: 'Test Group 2', members: [testPlayer4, testPlayer5], ); - testGame = Game(name: 'Test Game', color: '0xFF000000'); + testGame = Game(name: 'Test Game', description: 'A test game', color: '0xFF000000'); testMatch1 = Match( name: 'First Test Match', game: testGame, diff --git a/test/db_tests/player_match_test.dart b/test/db_tests/player_match_test.dart index 899857e..3758e0b 100644 --- a/test/db_tests/player_match_test.dart +++ b/test/db_tests/player_match_test.dart @@ -46,7 +46,7 @@ void main() { name: 'Test Group', members: [testPlayer1, testPlayer2, testPlayer3], ); - testGame = Game(name: 'Test Game', color: '0xFF000000'); + testGame = Game(name: 'Test Game', description: 'A test game', color: '0xFF000000'); testMatchOnlyGroup = Match( name: 'Test Match with Group', game: testGame, diff --git a/test/db_tests/score_test.dart b/test/db_tests/score_test.dart index 5ddaade..bc9d536 100644 --- a/test/db_tests/score_test.dart +++ b/test/db_tests/score_test.dart @@ -31,7 +31,7 @@ void main() { testPlayer1 = Player(name: 'Alice'); testPlayer2 = Player(name: 'Bob'); testPlayer3 = Player(name: 'Charlie'); - testGame = Game(name: 'Test Game', color: '0xFF000000'); + testGame = Game(name: 'Test Game', description: 'A test game', color: '0xFF000000'); testMatch1 = Match( name: 'Test Match 1', game: testGame, diff --git a/test/db_tests/team_test.dart b/test/db_tests/team_test.dart index 72c1adc..84188a0 100644 --- a/test/db_tests/team_test.dart +++ b/test/db_tests/team_test.dart @@ -48,8 +48,8 @@ void main() { name: 'Team Gamma', members: [testPlayer1, testPlayer3], ); - testGame1 = Game(name: 'Game 1', color: '0xFF000000'); - testGame2 = Game(name: 'Game 2', color: '0xFF000000'); + testGame1 = Game(name: 'Game 1', description: 'Test game 1', color: '0xFF000000'); + testGame2 = Game(name: 'Game 2', description: 'Test game 2', color: '0xFF000000'); }); await database.playerDao.addPlayersAsList( From b0cb385756333378020279731f35c583fd28b7af Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Fri, 23 Jan 2026 11:54:37 +0100 Subject: [PATCH 106/198] ruleset is now a required game enum parameter --- lib/core/enums.dart | 23 +++++++++-------- lib/data/dao/game_dao.dart | 13 +++++----- lib/data/dao/match_dao.dart | 2 +- lib/data/dto/game.dart | 9 ++++--- lib/l10n/arb/app_de.arb | 3 +++ lib/l10n/arb/app_en.arb | 3 +++ lib/l10n/generated/app_localizations.dart | 18 +++++++++++++ lib/l10n/generated/app_localizations_de.dart | 9 +++++++ lib/l10n/generated/app_localizations_en.dart | 9 +++++++ .../create_match/create_match_view.dart | 6 ++--- test/db_tests/game_test.dart | 25 +++++++++++-------- test/db_tests/match_test.dart | 3 ++- test/db_tests/player_match_test.dart | 3 ++- test/db_tests/score_test.dart | 3 ++- test/db_tests/team_test.dart | 5 ++-- 15 files changed, 94 insertions(+), 40 deletions(-) diff --git a/lib/core/enums.dart b/lib/core/enums.dart index 17a01f6..ee8b445 100644 --- a/lib/core/enums.dart +++ b/lib/core/enums.dart @@ -29,24 +29,27 @@ enum ImportResult { /// - [ExportResult.unknownException]: An exception occurred during export. enum ExportResult { success, canceled, unknownException } -/// Different rulesets available for matches -/// - [Ruleset.singleWinner]: The match is won by a single player -/// - [Ruleset.singleLoser]: The match is lost by a single player -/// - [Ruleset.mostPoints]: The player with the most points wins. -/// - [Ruleset.leastPoints]: The player with the fewest points wins. -enum Ruleset { singleWinner, singleLoser, mostPoints, leastPoints } +/// Different rulesets available for games +/// - [Ruleset.highestScore]: The player with the highest score wins. +/// - [Ruleset.lowestScore]: The player with the lowest score wins. +/// - [Ruleset.singleWinner]: The match is won by a single player. +/// - [Ruleset.singleLoser]: The match has a single loser. +/// - [Ruleset.multipleWinners]: Multiple players can be winners. +enum Ruleset { highestScore, lowestScore, singleWinner, singleLoser, multipleWinners } /// Translates a [Ruleset] enum value to its corresponding localized string. String translateRulesetToString(Ruleset ruleset, BuildContext context) { final loc = AppLocalizations.of(context); switch (ruleset) { + case Ruleset.highestScore: + return loc.highest_score; + case Ruleset.lowestScore: + return loc.lowest_score; case Ruleset.singleWinner: return loc.single_winner; case Ruleset.singleLoser: return loc.single_loser; - case Ruleset.mostPoints: - return loc.most_points; - case Ruleset.leastPoints: - return loc.least_points; + case Ruleset.multipleWinners: + return loc.multiple_winners; } } diff --git a/lib/data/dao/game_dao.dart b/lib/data/dao/game_dao.dart index 62db351..95ecc70 100644 --- a/lib/data/dao/game_dao.dart +++ b/lib/data/dao/game_dao.dart @@ -2,6 +2,7 @@ import 'package:drift/drift.dart'; import 'package:game_tracker/data/db/database.dart'; import 'package:game_tracker/data/db/tables/game_table.dart'; import 'package:game_tracker/data/dto/game.dart'; +import 'package:game_tracker/core/enums.dart'; part 'game_dao.g.dart'; @@ -18,7 +19,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { (row) => Game( id: row.id, name: row.name, - ruleset: row.ruleset, + ruleset: Ruleset.values.firstWhere((e) => e.name == row.ruleset), description: row.description, color: row.color, icon: row.icon, @@ -35,7 +36,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { return Game( id: result.id, name: result.name, - ruleset: result.ruleset, + ruleset: Ruleset.values.firstWhere((e) => e.name == result.ruleset), description: result.description, color: result.color, icon: result.icon, @@ -52,7 +53,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { GameTableCompanion.insert( id: game.id, name: game.name, - ruleset: game.ruleset ?? '', + ruleset: game.ruleset.name, description: game.description, color: game.color, icon: Value(game.icon), @@ -78,7 +79,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { (game) => GameTableCompanion.insert( id: game.id, name: game.name, - ruleset: game.ruleset ?? '', + ruleset: game.ruleset.name, description: game.description, color: game.color, icon: Value(game.icon), @@ -122,10 +123,10 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { /// Updates the ruleset of the game with the given [gameId]. Future updateGameRuleset({ required String gameId, - required String newRuleset, + required Ruleset newRuleset, }) async { await (update(gameTable)..where((g) => g.id.equals(gameId))).write( - GameTableCompanion(ruleset: Value(newRuleset)), + GameTableCompanion(ruleset: Value(newRuleset.name)), ); } diff --git a/lib/data/dao/match_dao.dart b/lib/data/dao/match_dao.dart index 3d5efb0..4ec5b4d 100644 --- a/lib/data/dao/match_dao.dart +++ b/lib/data/dao/match_dao.dart @@ -127,7 +127,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { (game) => GameTableCompanion.insert( id: game.id, name: game.name, - ruleset: game.ruleset ?? '', + ruleset: game.ruleset.name, description: game.description, color: game.color, icon: Value(game.icon), diff --git a/lib/data/dto/game.dart b/lib/data/dto/game.dart index c63bdea..c74b8aa 100644 --- a/lib/data/dto/game.dart +++ b/lib/data/dto/game.dart @@ -1,11 +1,12 @@ import 'package:clock/clock.dart'; import 'package:uuid/uuid.dart'; +import 'package:game_tracker/core/enums.dart'; class Game { final String id; final DateTime createdAt; final String name; - final String? ruleset; + final Ruleset ruleset; final String description; final String color; final String? icon; @@ -14,7 +15,7 @@ class Game { String? id, DateTime? createdAt, required this.name, - this.ruleset, + required this.ruleset, required this.description, required this.color, this.icon, @@ -31,7 +32,7 @@ class Game { : id = json['id'], createdAt = DateTime.parse(json['createdAt']), name = json['name'], - ruleset = json['ruleset'], + ruleset = Ruleset.values.firstWhere((e) => e.name == json['ruleset']), description = json['description'], color = json['color'], icon = json['icon']; @@ -41,7 +42,7 @@ class Game { 'id': id, 'createdAt': createdAt.toIso8601String(), 'name': name, - 'ruleset': ruleset, + 'ruleset': ruleset.name, 'description': description, 'color': color, 'icon': icon, diff --git a/lib/l10n/arb/app_de.arb b/lib/l10n/arb/app_de.arb index 2ef9ee9..9e981b0 100644 --- a/lib/l10n/arb/app_de.arb +++ b/lib/l10n/arb/app_de.arb @@ -82,6 +82,9 @@ "settings": "Einstellungen", "single_loser": "Ein:e Verlierer:in", "single_winner": "Ein:e Gewinner:in", + "highest_score": "Höchste Punkte", + "lowest_score": "Niedrigste Punkte", + "multiple_winners": "Mehrere Gewinner:innen", "statistics": "Statistiken", "stats": "Statistiken", "successfully_added_player": "Spieler:in {playerName} erfolgreich hinzugefügt", diff --git a/lib/l10n/arb/app_en.arb b/lib/l10n/arb/app_en.arb index fa4adc8..27419c8 100644 --- a/lib/l10n/arb/app_en.arb +++ b/lib/l10n/arb/app_en.arb @@ -380,6 +380,9 @@ "settings": "Settings", "single_loser": "Single Loser", "single_winner": "Single Winner", + "highest_score": "Highest Score", + "lowest_score": "Lowest Score", + "multiple_winners": "Multiple Winners", "statistics": "Statistics", "stats": "Stats", "successfully_added_player": "Successfully added player {playerName}", diff --git a/lib/l10n/generated/app_localizations.dart b/lib/l10n/generated/app_localizations.dart index 57dbdd8..b0aabcb 100644 --- a/lib/l10n/generated/app_localizations.dart +++ b/lib/l10n/generated/app_localizations.dart @@ -590,6 +590,24 @@ abstract class AppLocalizations { /// **'Single Winner'** String get single_winner; + /// No description provided for @highest_score. + /// + /// In en, this message translates to: + /// **'Highest Score'** + String get highest_score; + + /// No description provided for @lowest_score. + /// + /// In en, this message translates to: + /// **'Lowest Score'** + String get lowest_score; + + /// No description provided for @multiple_winners. + /// + /// In en, this message translates to: + /// **'Multiple Winners'** + String get multiple_winners; + /// Statistics tab label /// /// In en, this message translates to: diff --git a/lib/l10n/generated/app_localizations_de.dart b/lib/l10n/generated/app_localizations_de.dart index f78f9f4..0580d4f 100644 --- a/lib/l10n/generated/app_localizations_de.dart +++ b/lib/l10n/generated/app_localizations_de.dart @@ -266,6 +266,15 @@ class AppLocalizationsDe extends AppLocalizations { @override String get single_winner => 'Ein:e Gewinner:in'; + @override + String get highest_score => 'Höchste Punkte'; + + @override + String get lowest_score => 'Niedrigste Punkte'; + + @override + String get multiple_winners => 'Mehrere Gewinner:innen'; + @override String get statistics => 'Statistiken'; diff --git a/lib/l10n/generated/app_localizations_en.dart b/lib/l10n/generated/app_localizations_en.dart index 32512c7..8e2e453 100644 --- a/lib/l10n/generated/app_localizations_en.dart +++ b/lib/l10n/generated/app_localizations_en.dart @@ -266,6 +266,15 @@ class AppLocalizationsEn extends AppLocalizations { @override String get single_winner => 'Single Winner'; + @override + String get highest_score => 'Highest Score'; + + @override + String get lowest_score => 'Lowest Score'; + + @override + String get multiple_winners => 'Multiple Winners'; + @override String get statistics => 'Statistics'; diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index 31e232f..a97de75 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -100,7 +100,7 @@ class _CreateMatchViewState extends State { } List<(String, String, Ruleset)> games = [ - ('Example Game 1', 'This is a description', Ruleset.leastPoints), + ('Example Game 1', 'This is a description', Ruleset.lowestScore), ('Example Game 2', '', Ruleset.singleWinner), ]; @@ -201,7 +201,7 @@ class _CreateMatchViewState extends State { gameToUse = Game( name: selectedGame.$1, description: selectedGame.$2, - ruleset: selectedGame.$3.name, + ruleset: selectedGame.$3, color: '0xFF000000', ); } else { @@ -210,7 +210,7 @@ class _CreateMatchViewState extends State { gameToUse = Game( name: selectedGame.$1, description: selectedGame.$2, - ruleset: selectedGame.$3.name, + ruleset: selectedGame.$3, color: '0xFF000000', ); } diff --git a/test/db_tests/game_test.dart b/test/db_tests/game_test.dart index 4182530..040d607 100644 --- a/test/db_tests/game_test.dart +++ b/test/db_tests/game_test.dart @@ -4,6 +4,7 @@ import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:game_tracker/data/db/database.dart'; import 'package:game_tracker/data/dto/game.dart'; +import 'package:game_tracker/core/enums.dart'; void main() { late AppDatabase database; @@ -24,7 +25,7 @@ void main() { withClock(fakeClock, () { testGame1 = Game( name: 'Chess', - ruleset: 'winner.single', + ruleset: Ruleset.singleWinner, description: 'A classic strategy game', color: '0xFF0000FF', icon: 'chess_icon', @@ -32,14 +33,15 @@ void main() { testGame2 = Game( id: 'game2', name: 'Poker', - ruleset: 'Texas Hold\'em rules', - description: 'winner.multiple', + ruleset: Ruleset.multipleWinners, + description: 'Card game with multiple winners', color: '0xFFFF0000', icon: 'poker_icon', ); testGame3 = Game( id: 'game3', name: 'Monopoly', + ruleset: Ruleset.highestScore, description: 'A board game about real estate', color: '0xFF000000', ); @@ -131,7 +133,7 @@ void main() { // Verifies that a game with null optional fields can be added and retrieved. test('addGame handles game with null optional fields', () async { - final gameWithNulls = Game(name: 'Simple Game', description: 'A simple game', color: '0xFF000000'); + final gameWithNulls = Game(name: 'Simple Game', ruleset: Ruleset.lowestScore, description: 'A simple game', color: '0xFF000000'); final result = await database.gameDao.addGame(game: gameWithNulls); expect(result, true); @@ -269,13 +271,13 @@ void main() { await database.gameDao.updateGameRuleset( gameId: testGame1.id, - newRuleset: 'New ruleset for chess', + newRuleset: Ruleset.highestScore, ); final updatedGame = await database.gameDao.getGameById( gameId: testGame1.id, ); - expect(updatedGame.ruleset, 'New ruleset for chess'); + expect(updatedGame.ruleset, Ruleset.highestScore); expect(updatedGame.name, testGame1.name); }); @@ -283,7 +285,7 @@ void main() { test('updateGameRuleset does nothing for non-existent game', () async { await database.gameDao.updateGameRuleset( gameId: 'non-existent-id', - newRuleset: 'New Ruleset', + newRuleset: Ruleset.lowestScore, ); final allGames = await database.gameDao.getAllGames(); @@ -455,6 +457,7 @@ void main() { test('Game with special characters in name is stored correctly', () async { final specialGame = Game( name: 'Game\'s & "Special" ', + ruleset: Ruleset.multipleWinners, description: 'Description with émojis 🎮🎲', color: '0xFF000000', ); @@ -471,7 +474,7 @@ void main() { test('Game with empty string fields is stored correctly', () async { final emptyGame = Game( name: '', - ruleset: '', + ruleset: Ruleset.singleWinner, description: '', icon: '', color: '0xFF000000', @@ -482,7 +485,7 @@ void main() { gameId: emptyGame.id, ); expect(fetchedGame.name, ''); - expect(fetchedGame.ruleset, ''); + expect(fetchedGame.ruleset, Ruleset.singleWinner); expect(fetchedGame.description, ''); expect(fetchedGame.icon, ''); }); @@ -493,7 +496,7 @@ void main() { final longGame = Game( name: longString, description: longString, - ruleset: longString, + ruleset: Ruleset.multipleWinners, color: '0xFF000000', ); await database.gameDao.addGame(game: longGame); @@ -503,7 +506,7 @@ void main() { ); expect(fetchedGame.name.length, 10000); expect(fetchedGame.description.length, 10000); - expect(fetchedGame.ruleset?.length, 10000); + expect(fetchedGame.ruleset, Ruleset.multipleWinners); }); // Verifies that multiple sequential updates to the same game work correctly. diff --git a/test/db_tests/match_test.dart b/test/db_tests/match_test.dart index f5d3fb2..80a9fa7 100644 --- a/test/db_tests/match_test.dart +++ b/test/db_tests/match_test.dart @@ -7,6 +7,7 @@ import 'package:game_tracker/data/dto/game.dart'; import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; +import 'package:game_tracker/core/enums.dart'; void main() { late AppDatabase database; @@ -48,7 +49,7 @@ void main() { name: 'Test Group 2', members: [testPlayer4, testPlayer5], ); - testGame = Game(name: 'Test Game', description: 'A test game', color: '0xFF000000'); + testGame = Game(name: 'Test Game', ruleset: Ruleset.singleWinner, description: 'A test game', color: '0xFF000000'); testMatch1 = Match( name: 'First Test Match', game: testGame, diff --git a/test/db_tests/player_match_test.dart b/test/db_tests/player_match_test.dart index 3758e0b..0e5fb27 100644 --- a/test/db_tests/player_match_test.dart +++ b/test/db_tests/player_match_test.dart @@ -8,6 +8,7 @@ import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; import 'package:game_tracker/data/dto/team.dart'; +import 'package:game_tracker/core/enums.dart'; void main() { late AppDatabase database; @@ -46,7 +47,7 @@ void main() { name: 'Test Group', members: [testPlayer1, testPlayer2, testPlayer3], ); - testGame = Game(name: 'Test Game', description: 'A test game', color: '0xFF000000'); + testGame = Game(name: 'Test Game', ruleset: Ruleset.singleWinner, description: 'A test game', color: '0xFF000000'); testMatchOnlyGroup = Match( name: 'Test Match with Group', game: testGame, diff --git a/test/db_tests/score_test.dart b/test/db_tests/score_test.dart index bc9d536..9052a32 100644 --- a/test/db_tests/score_test.dart +++ b/test/db_tests/score_test.dart @@ -6,6 +6,7 @@ import 'package:game_tracker/data/db/database.dart'; import 'package:game_tracker/data/dto/game.dart'; import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; +import 'package:game_tracker/core/enums.dart'; void main() { late AppDatabase database; @@ -31,7 +32,7 @@ void main() { testPlayer1 = Player(name: 'Alice'); testPlayer2 = Player(name: 'Bob'); testPlayer3 = Player(name: 'Charlie'); - testGame = Game(name: 'Test Game', description: 'A test game', color: '0xFF000000'); + testGame = Game(name: 'Test Game', ruleset: Ruleset.singleWinner, description: 'A test game', color: '0xFF000000'); testMatch1 = Match( name: 'Test Match 1', game: testGame, diff --git a/test/db_tests/team_test.dart b/test/db_tests/team_test.dart index 84188a0..efeaf18 100644 --- a/test/db_tests/team_test.dart +++ b/test/db_tests/team_test.dart @@ -7,6 +7,7 @@ import 'package:game_tracker/data/dto/game.dart'; import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; import 'package:game_tracker/data/dto/team.dart'; +import 'package:game_tracker/core/enums.dart'; void main() { late AppDatabase database; @@ -48,8 +49,8 @@ void main() { name: 'Team Gamma', members: [testPlayer1, testPlayer3], ); - testGame1 = Game(name: 'Game 1', description: 'Test game 1', color: '0xFF000000'); - testGame2 = Game(name: 'Game 2', description: 'Test game 2', color: '0xFF000000'); + testGame1 = Game(name: 'Game 1', ruleset: Ruleset.singleWinner, description: 'Test game 1', color: '0xFF000000'); + testGame2 = Game(name: 'Game 2', ruleset: Ruleset.highestScore, description: 'Test game 2', color: '0xFF000000'); }); await database.playerDao.addPlayersAsList( From 2b7941202a51c28714ff510047a837b070e8e0bf Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Fri, 23 Jan 2026 12:31:09 +0000 Subject: [PATCH 107/198] Updated version number [skip ci] --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 50b32b7..dd01e83 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: tallee description: "Tracking App for Card Games" publish_to: 'none' -version: 0.0.11+239 +version: 0.0.12+240 environment: sdk: ^3.8.1 From 4a6d639f1c52cb7278207b0e4bb08753842f3e4c Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Fri, 23 Jan 2026 22:10:30 +0100 Subject: [PATCH 108/198] Updated readme --- README.md | 69 ++++++++++++++++++++++++++++++++----- artefacts/app-logo.png | Bin 0 -> 47780 bytes artefacts/screenshot-1.png | Bin 0 -> 301410 bytes artefacts/screenshot-2.png | Bin 0 -> 362382 bytes artefacts/screenshot-3.png | Bin 0 -> 285636 bytes artefacts/screenshot-4.png | Bin 0 -> 297668 bytes 6 files changed, 60 insertions(+), 9 deletions(-) create mode 100644 artefacts/app-logo.png create mode 100644 artefacts/screenshot-1.png create mode 100644 artefacts/screenshot-2.png create mode 100644 artefacts/screenshot-3.png create mode 100644 artefacts/screenshot-4.png diff --git a/README.md b/README.md index 138e5cd..53089ca 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,66 @@ -# Game Tracker +

+ Tallee Logo +

Tallee

+

+

+An open-source app to track card- and board games, manageplayersand groups and get statistics about your played games. +

+

+ + Download on the App Store + + + Get it on Google Play + +

-![Flutter](https://img.shields.io/badge/Created_by-Liquid_Development-027DFD?logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MjUuNDggODk3LjMiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEgewogICAgICAgIGZpbGw6ICNmZmY7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTcwNS4yNiw3MDEuOTJsNi40LDExLjA4Yy0xLjk1LTMuODEtNC4wOS03LjUxLTYuNC0xMS4wOFoiLz4KICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik02MDIuMzksODk3LjI1aC03LjIxYzEuMi4wMywyLjQuMDUsMy42MS4wNXMyLjQxLS4wMiwzLjYxLS4wNVoiLz4KICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0wLDY5NS4zOGwyLjY4LTQuNjRjLS45MywxLjUyLTEuODIsMy4wNy0yLjY4LDQuNjRaIi8+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjgyLjU1LDcyMy40NWw2LjA1LDEwLjQ5Yy0xLjc5LTMuNjQtMy44MS03LjE1LTYuMDUtMTAuNDlaIi8+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzcuNzIsNzMzLjI4bDUuMy05LjE4Yy0xLjk0LDIuOTQtMy43MSw2LjAxLTUuMyw5LjE4WiIvPgogIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTcxMS42Niw3MTMuMDFsLTYuNC0xMS4wOC0yMjAuNDYtMzgxLjg0aDBWMTAxLjg0YzIwLjY3LTYuOTgsMzUuNTYtMjYuNTIsMzUuNTYtNDkuNTQsMC0yOC44OC0yMy40MS01Mi4zLTUyLjMtNTIuM2gtMjA5LjQ4Yy0yOC44OCwwLTUyLjMsMjMuNDEtNTIuMyw1Mi4zLDAsMjIuNzEsMTQuNDgsNDIuMDMsMzQuNyw0OS4yNXYyMTguNTRsLS4zMy41OEwxOC44OSw3MDQuNzlsLTIuNjgsNC42NGMtOS45OSwxOC4xMi0xNS42OCwzOC45Ni0xNS42OCw2MS4xMiwwLDY5Ljk3LDU2LjY0LDEyNi43LDEyNi41MSwxMjYuN2g0NzUuMzVjNjguMy0xLjkxLDEyMy4wOS01Ny44OCwxMjMuMDktMTI2LjY0LDAtMjAuNzQtNC45OS00MC4zMi0xMy44Mi01Ny42Wk02MDguNTYsODYyLjUzSDExNy40M2MtNDkuMzcsMC04OS4zOS00MC4wMi04OS4zOS04OS4zOSwwLTE0LjM2LDMuMzktMjcuOTMsOS40MS0zOS45Nmw1LjMtOS4xOCwyMzMuMi00MDMuOTJoLS4wOFYxMDQuNTloMTcuODFjOS40NywwLDE3LjE1LTcuNjgsMTcuMTUtMTcuMTVzLTcuNjgtMTcuMTUtMTcuMTUtMTcuMTVoLTM1LjU5di0uMDJjLTkuNzItLjI2LTE3LjUyLTguMi0xNy41Mi0xNy45OHM3LjgtMTcuNzIsMTcuNTItMTcuOTh2LS4wMmgyMDkuMjZjOS45NCwwLDE4LDguMDYsMTgsMThzLTguMDYsMTgtMTgsMThoLTM0LjQ4Yy05LjQ3LDAtMTcuMTUsNy42OC0xNy4xNSwxNy4xNXM3LjY4LDE3LjE1LDE3LjE1LDE3LjE1aDE3LjA0djIxNS40OWguMDdsMjMyLjgyLDQwMy4yNiw2LjA2LDEwLjVjNS44MiwxMS44Niw5LjA5LDI1LjIsOS4wOSwzOS4zLDAsNDkuMzctNDAuMDIsODkuMzktODkuMzksODkuMzlaIi8+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzgxLjY4LDU0NS4zOGMtMy4wOCwxLjY4LTYuMTgsMy4zLTkuMzIsNC44NiwzLjA3LTEuNjcsNi4xOC0zLjI5LDkuMzItNC44NloiLz4KICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01ODMuNDIsNTUxLjE5bC0yMC42Ny0zNS44Yy0xMy42OS0xLjg0LTI3LjY3LTIuNzktNDEuODYtMi43OS0xNy45OSwwLTM1LjYyLDEuNTMtNTIuNzgsNC40Ni0zMC41Niw1LjIxLTU5LjYsMTQuODktODYuNDIsMjguMzMtMy4wOCwxLjY4LTYuMTgsMy4zLTkuMzIsNC44Ni00MS44OCwyMC45OS04OS4xNiwzMi43OS0xMzkuMTksMzIuNzktMzQuODUsMC02OC4zNS01Ljc0LTk5LjYzLTE2LjMxLDAsMCwwLC4wMiwwLC4wMmwtMTYuNTIsMjguNjFjMzcuMDEsMTUuNTMsNzcuNjUsMjQuMTIsMTIwLjMsMjQuMTIsMTcuOTgsMCwzNS42MS0xLjUzLDUyLjc2LTQuNDYsMzIuNzctNS41OSw2My43OC0xNi4zMSw5Mi4yLTMxLjI5Ljg3LS40NiwxLjczLS45MiwyLjYtMS40LDQzLjI5LTIyLjgyLDkyLjYyLTM1Ljc0LDE0NC45Ni0zNS43NCwxOC4yOCwwLDM2LjE4LDEuNTksNTMuNTksNC42MWwtLjAyLS4wMloiLz4KICA8Zz4KICAgIDxjaXJjbGUgY2xhc3M9ImNscy0xIiBjeD0iNTg3LjY0IiBjeT0iODAzLjQiIHI9IjE4Ljk2Ii8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01MTUuNTIsNzg0LjQzSDEwMy41NWMtMTAuOTIsMC0xOS43Niw4LjQ5LTE5Ljc2LDE4Ljk2czguODUsMTguOTYsMTkuNzYsMTguOTZoNDExLjk3YzEwLjkyLDAsMTkuNzYtOC40OSwxOS43Ni0xOC45NnMtOC44NS0xOC45Ni0xOS43Ni0xOC45NloiLz4KICA8L2c+CiAgPGNpcmNsZSBjbGFzcz0iY2xzLTEiIGN4PSIyODMuMzIiIGN5PSI0NjcuNTkiIHI9IjE4Ljk2Ii8+CiAgPGNpcmNsZSBjbGFzcz0iY2xzLTEiIGN4PSIzMjYuMjMiIGN5PSIzNjYuMjUiIHI9IjE4Ljk2Ii8+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNDA2LjU2LDM4NS4yMmMtMjQuMDYsMC00My41NiwxOS41LTQzLjU2LDQzLjU2czE5LjUsNDMuNTYsNDMuNTYsNDMuNTYsNDMuNTYtMTkuNSw0My41Ni00My41Ni0xOS41LTQzLjU2LTQzLjU2LTQzLjU2Wk00MDYuNTYsNDQ3Ljc0Yy0xMC40NywwLTE4Ljk2LTguNDktMTguOTYtMTguOTZzOC40OS0xOC45NiwxOC45Ni0xOC45NiwxOC45Niw4LjQ5LDE4Ljk2LDE4Ljk2LTguNDksMTguOTYtMTguOTYsMTguOTZaIi8+Cjwvc3ZnPg==) -![Version](https://img.shields.io/badge/App--Version-Alpha-orange) + +![Version](https://img.shields.io/badge/App--Version-0.0.1_Alpha-orange) ![Flutter](https://img.shields.io/badge/Flutter-3.38.6-027DFD?logo=flutter) -![Dart](https://img.shields.io/badge/Dart-3.10.7-027DFD?logo=dart) -### Versions Supported - -![iOS18](https://img.shields.io/badge/iOS-18.7.1-white?logo=apple) -![iOS26](https://img.shields.io/badge/iOS-26.2-white?logo=apple) +![iOS26](https://img.shields.io/badge/iOS-26-white?logo=apple) ![Android16](https://img.shields.io/badge/Android-16-3DDC84?logo=android) -A all-in-one app to track card- and board games, manage players and groups and get statistics about your played games. +## Screenshots + + + + + + + + +
Screenshot 1Screenshot 2Screenshot 3Screenshot 4
+ +## Contributing + +Contributions are welcome! If you find a bug or have a feature request, please open an issue on GitHub. If you'd like to +contribute code, feel free to fork the repository and submit a pull request. For contribution guidelines, please refer +to [CONTRIBUTING.md](CONTRIBUTING.md). + +## License + +This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. + +## Contributors + + + + + + +## Credits + +Tallee is developed and maintained by [Liquid Development](https://liquid-dev.de). For more information or support regarding Tallee, contact us through our website or [hello@liquid-dev.de](mailto:hello@liquid-dev.de). + +![Created by Liquid Development](https://img.shields.io/badge/Created_by-Liquid_Development-027DFD?logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iRWJlbmVfMSIgZGF0YS1uYW1lPSJFYmVuZSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3MjUuNDggODk3LjMiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEgewogICAgICAgIGZpbGw6ICNmZmY7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTcwNS4yNiw3MDEuOTJsNi40LDExLjA4Yy0xLjk1LTMuODEtNC4wOS03LjUxLTYuNC0xMS4wOFoiLz4KICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik02MDIuMzksODk3LjI1aC03LjIxYzEuMi4wMywyLjQuMDUsMy42MS4wNXMyLjQxLS4wMiwzLjYxLS4wNVoiLz4KICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0wLDY5NS4zOGwyLjY4LTQuNjRjLS45MywxLjUyLTEuODIsMy4wNy0yLjY4LDQuNjRaIi8+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjgyLjU1LDcyMy40NWw2LjA1LDEwLjQ5Yy0xLjc5LTMuNjQtMy44MS03LjE1LTYuMDUtMTAuNDlaIi8+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzcuNzIsNzMzLjI4bDUuMy05LjE4Yy0xLjk0LDIuOTQtMy43MSw2LjAxLTUuMyw5LjE4WiIvPgogIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTcxMS42Niw3MTMuMDFsLTYuNC0xMS4wOC0yMjAuNDYtMzgxLjg0aDBWMTAxLjg0YzIwLjY3LTYuOTgsMzUuNTYtMjYuNTIsMzUuNTYtNDkuNTQsMC0yOC44OC0yMy40MS01Mi4zLTUyLjMtNTIuM2gtMjA5LjQ4Yy0yOC44OCwwLTUyLjMsMjMuNDEtNTIuMyw1Mi4zLDAsMjIuNzEsMTQuNDgsNDIuMDMsMzQuNyw0OS4yNXYyMTguNTRsLS4zMy41OEwxOC44OSw3MDQuNzlsLTIuNjgsNC42NGMtOS45OSwxOC4xMi0xNS42OCwzOC45Ni0xNS42OCw2MS4xMiwwLDY5Ljk3LDU2LjY0LDEyNi43LDEyNi41MSwxMjYuN2g0NzUuMzVjNjguMy0xLjkxLDEyMy4wOS01Ny44OCwxMjMuMDktMTI2LjY0LDAtMjAuNzQtNC45OS00MC4zMi0xMy44Mi01Ny42Wk02MDguNTYsODYyLjUzSDExNy40M2MtNDkuMzcsMC04OS4zOS00MC4wMi04OS4zOS04OS4zOSwwLTE0LjM2LDMuMzktMjcuOTMsOS40MS0zOS45Nmw1LjMtOS4xOCwyMzMuMi00MDMuOTJoLS4wOFYxMDQuNTloMTcuODFjOS40NywwLDE3LjE1LTcuNjgsMTcuMTUtMTcuMTVzLTcuNjgtMTcuMTUtMTcuMTUtMTcuMTVoLTM1LjU5di0uMDJjLTkuNzItLjI2LTE3LjUyLTguMi0xNy41Mi0xNy45OHM3LjgtMTcuNzIsMTcuNTItMTcuOTh2LS4wMmgyMDkuMjZjOS45NCwwLDE4LDguMDYsMTgsMThzLTguMDYsMTgtMTgsMThoLTM0LjQ4Yy05LjQ3LDAtMTcuMTUsNy42OC0xNy4xNSwxNy4xNXM3LjY4LDE3LjE1LDE3LjE1LDE3LjE1aDE3LjA0djIxNS40OWguMDdsMjMyLjgyLDQwMy4yNiw2LjA2LDEwLjVjNS44MiwxMS44Niw5LjA5LDI1LjIsOS4wOSwzOS4zLDAsNDkuMzctNDAuMDIsODkuMzktODkuMzksODkuMzlaIi8+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzgxLjY4LDU0NS4zOGMtMy4wOCwxLjY4LTYuMTgsMy4zLTkuMzIsNC44NiwzLjA3LTEuNjcsNi4xOC0zLjI5LDkuMzItNC44NloiLz4KICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01ODMuNDIsNTUxLjE5bC0yMC42Ny0zNS44Yy0xMy42OS0xLjg0LTI3LjY3LTIuNzktNDEuODYtMi43OS0xNy45OSwwLTM1LjYyLDEuNTMtNTIuNzgsNC40Ni0zMC41Niw1LjIxLTU5LjYsMTQuODktODYuNDIsMjguMzMtMy4wOCwxLjY4LTYuMTgsMy4zLTkuMzIsNC44Ni00MS44OCwyMC45OS04OS4xNiwzMi43OS0xMzkuMTksMzIuNzktMzQuODUsMC02OC4zNS01Ljc0LTk5LjYzLTE2LjMxLDAsMCwwLC4wMiwwLC4wMmwtMTYuNTIsMjguNjFjMzcuMDEsMTUuNTMsNzcuNjUsMjQuMTIsMTIwLjMsMjQuMTIsMTcuOTgsMCwzNS42MS0xLjUzLDUyLjc2LTQuNDYsMzIuNzctNS41OSw2My43OC0xNi4zMSw5Mi4yLTMxLjI5Ljg3LS40NiwxLjczLS45MiwyLjYtMS40LDQzLjI5LTIyLjgyLDkyLjYyLTM1Ljc0LDE0NC45Ni0zNS43NCwxOC4yOCwwLDM2LjE4LDEuNTksNTMuNTksNC42MWwtLjAyLS4wMloiLz4KICA8Zz4KICAgIDxjaXJjbGUgY2xhc3M9ImNscy0xIiBjeD0iNTg3LjY0IiBjeT0iODAzLjQiIHI9IjE4Ljk2Ii8+CiAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01MTUuNTIsNzg0LjQzSDEwMy41NWMtMTAuOTIsMC0xOS43Niw4LjQ5LTE5Ljc2LDE4Ljk2czguODUsMTguOTYsMTkuNzYsMTguOTZoNDExLjk3YzEwLjkyLDAsMTkuNzYtOC40OSwxOS43Ni0xOC45NnMtOC44NS0xOC45Ni0xOS43Ni0xOC45NloiLz4KICA8L2c+CiAgPGNpcmNsZSBjbGFzcz0iY2xzLTEiIGN4PSIyODMuMzIiIGN5PSI0NjcuNTkiIHI9IjE4Ljk2Ii8+CiAgPGNpcmNsZSBjbGFzcz0iY2xzLTEiIGN4PSIzMjYuMjMiIGN5PSIzNjYuMjUiIHI9IjE4Ljk2Ii8+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNDA2LjU2LDM4NS4yMmMtMjQuMDYsMC00My41NiwxOS41LTQzLjU2LDQzLjU2czE5LjUsNDMuNTYsNDMuNTYsNDMuNTYsNDMuNTYtMTkuNSw0My41Ni00My41Ni0xOS41LTQzLjU2LTQzLjU2LTQzLjU2Wk00MDYuNTYsNDQ3Ljc0Yy0xMC40NywwLTE4Ljk2LTguNDktMTguOTYtMTguOTZzOC40OS0xOC45NiwxOC45Ni0xOC45NiwxOC45Niw4LjQ5LDE4Ljk2LDE4Ljk2LTguNDksMTguOTYtMTguOTYsMTguOTZaIi8+Cjwvc3ZnPg==) + + diff --git a/artefacts/app-logo.png b/artefacts/app-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a89cc4300729678537a32bb57a10597fd1e47f7b GIT binary patch literal 47780 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æK}$}4 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 literal 0 HcmV?d00001 diff --git a/artefacts/screenshot-1.png b/artefacts/screenshot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ef00e29c7c5d4839157da009ebc37fef2482dc5d GIT binary patch literal 301410 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�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%0ATYwsSH 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

Q) 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

hfqR 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Ìf2g}$>#Sr4ocgdZ#i2v&dsK+Ep2 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

Wn( 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 S*nb8ApX++Yy2Uz95&s7~x=UaH literal 0 HcmV?d00001 diff --git a/artefacts/screenshot-4.png b/artefacts/screenshot-4.png new file mode 100644 index 0000000000000000000000000000000000000000..34e75bd9eb739ca96618a63987ca780065f587a4 GIT binary patch literal 297668 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


wF|0dJ^huLmKLxqp!MWgw~5*S(} z3g*h*{Fd2%|J~-gHLm?Ij>37WCKv3D(X5lHAJz&2e|~ln{`PB0aDr%^ZKF7vO|L4k zdO+gGaeG0!Ig4dZicMl$*r=u~S37>iVOu|P?u-y|n#mvjs2O|_weocgz3oE^r^%8+ z!kbm038E#s0W6C$S_I`)N?x(#;tPV3cK{^>89CPlu%UVRn*g!)FWORPky1}3nIOOQ zn(xT`t+SJDKPoR{b+()lz`w237AnV?j+ZAPyRIK89ZI*LK$WnJ?l%^TZYbztP{ zty@I)f{smbc!oSS{ot628eIX}a=-42T*{c74(1GQqbR z0sC)ctIkJ=5RV9PY%)z;>En?V3*7QlG(=Q*IIIFA<49r!v_bvwS^@1~t>^_a(R_bx z!fVSr$c1jbw3H!*<*6>J!|;$8Dh&5cF6t?MPnA3ZX~W1+NRIh5-4s3OhVy+K77=9H zi=>!jSI@UOM!D>2j@vLmZ|vqfxGaG{Mo{H2)0#^-Jk?JTfY{-iA;}XLq8N z-NZ!8HBtM;B=0nddPl;tGK4}|panKDz5|0!M=^#ff`@duO6mwIYTAK74!&@FjB%vs z=}g_$rQ6LimzIY-Z72DkD_9JB=)G8(Z}>6gUd}@x&0uvnCQ&K004oDpxrE!fdT#Cr zJ4-xWclmV>kqrox?eL-2^p7S_x=Mr!-d~1`v$ab@ycEt@Q}W^iKV*U_#8N)>wnHl> z_bts~tb;&M`afj#-snhyikXGSIXSyx61yc27!Un((p!5o;nG<9H!=pKqLj+*ZHTb6 z$m+~m()s0f1LI`S1Op^jGj%>(Pz3cV3^)^lHo9tMn0`qKo=OBh3jPoWoz+*xC832` zVY4&SmaYT?cCoZNwFV;U1RH2nrKMCjkw=1@f*SK~#kC(g6Hq<;hjS#05JU#)5k&L} z=_~?6fKr0+phgwxe^9W>IvDhQlinOP?PsYUzz0CYi7?1KI7ABmK!kC=CDBO6>NZIi z1@m`3J*{+?T1r~O5&P#9z;13x3>X{^>hC2*D+1NPB9tnF*reZ!8&a;|iZiwrLvfwU z6!%1}%@j%wpb{M+lL9uhZkmbXmz(9973Tbh0qNY*(w}})%}T><*GROT@P)jiHF+AT z3~Kj$qRZS;Qf#-J?|b1S6nfv6Lyl#IG_UBkU9xE&TSSdniUjwH9IdcezIT?onAgL0 z=vtYkTM;(8G3XWY{qX9JpT({oEpE=u(W2jzpx zR2Lq@_U=1**&-D3LYjHaHD7ENWmnZEC5XNJ8*}T$ z-{rPMKd4=J1br5TR{FS}6|A1T;E9MxqAl^|hy)rFx{1eGJ`C(t$~-tn~xb6@esChxM_sEsaA!kNk1cr@TIW#6R&tb#601Mw7V`9JBd z2BZ1IM8{C&`P)T4tb{3s()UIAhedQ>!QHDiK^V5ZQThcQ z0komC&b9826E;5udi{$so~ay{Wzi^$Gs6sGi@`8tg5U>Z>1U+=`j7zNNG4@NEe$Ey zS|3i3)BqWZGIlh{BZaQ!)T$$HDdVmJO|qle=Cj_> z)o9ybPSHz7IbSUd%;ddE=WNrsNkwjoN3A8t<95o3EL9XFfmpP52p(b7f14PLtq$Am zfkyB=*-u;ZN%%hi?dR=DjT7l|ObdkE|A(}<4vJ%o)_4yV+}+(RI0PTuCAbEMU||Ts zEx5zr9w4~8LxQ^p3+@CN+~sx7x%b`o|Epb06;;qP-Lty)-fOMj_W`?gMVlRE9+S45 zxFf*26^jqS!m_i#+=enZE|N^%`aeYb2^&jKZ1y|h5BuW1^g}{O02YuHkglck^ZgQN zmmU$Rc`hXZk(Br&z?Z57`wqqCElf5*g4e7Sn`$`#v!P*TJU2Grs0mMpfsC|O!t*|H z+}mbPiC78n?JLoLmWUj)MK=4Gm|fP-q`4gtFlYbq#Y;L?|12 zT>PQ}O@w|JO>oKYOIuMI^=jRCjjLh$W+%YM172MO7s}|kOS}hHpOu`l(OQ3L<#b9X zSe07a-tOhtBvC2)q)dzp0JJBUR2y6?!Op9ccf)^}`@hd#`RD`Vip(nj)Jq50?zCE6 zciu#2q17>uGa8<4C}BEtbGFrh(U)+hWCCX5FREQW#TNpXW}=3Ntu@pe`)4@_D^%q* zu!0+X3?Q+YF#rn`c<&@StK8n4n(ig%&T~3B$n5Es!%0u=q72Bol#RIRvVp19a@zxq z6UTraDE>sJ(~m{spSsfTr~0i&$VJB%?PGa^La+eB&n4c?TgD0KvcpdWE1#~$^YE}= zxabf`g#@FOzj^aFm-Fw`%0mAc(M^RtOn=D|bUh8aXghCgTp?8qw|-%T4ff7SO8-FR{`Y%4>_11Iy*5ixS znu<84*=tyw9B+vdwh>R35o2~&qTJxJ3TG&!X1 zY^ZPAU6E!3prEp%jPzdg`IV(O^FpAihupcvicG;F*9mBs*Dth#l^+bEGPT25q7cKv zio?2*N)vqg=E#v7KdYfirolkT%I@I9XTgih1Mjt+JOUW(|2xYh9y6lzsi8wX;hRh( z$#%zUZuHdj`?yg$#2uXao$;{o*z0myvF4`&8|Ch8(!&8#(VV7q2D;wadZlOq!+8uk!n+#OHx#pQYo@+yjRzVghG za+I7a#tA+G51Y0xvU!}Va#f8*+^vK%_a^;76J-@Z8D^Tg7LiBerM}POruu~fcTFnc zppOV06rgFw!r1d;_kGm3RFO+CG_N4W8TWFEgPV6t#x^$M2F+V;Jg_rUQ-WbE2#7IT zg8-hg$7`YS6oNjD_U`6B^dJo)Y5~ea_9#<=7*Y^3i)*_yTT$;MQYcvxg66bxvS(-b znyeo>CG>Y7#i!e;f;pOd73*A$!2QB;z0w@RBb&Z1@VY}o1^9IS@3=uj_^bIae(Y~d zYPXv%sLo%;U-Wv84npx+w>V0hPNk%Asln|aaEhqS0n`f~(rY%FliXK7s5+HFRa!Qs zHMAywecw@lti%R?38wo{aP3_2Mz zDwRenLTfMUyIFtpvT%iqfV~jq9qoDSt;Jq{f$Ll{7HUWP*+dKZZ!2oV^dn3<_xV8L zI7fmg#pFOUYT@F~+Kb~~&1KaQ4u_m3h)h4l(H`kQ697E^i^I80*q>I8Z8Ii$C+>B& zmPXhs?eO-NKhgQfdcfqD0={uDCWf|EvtW|&x9-t*unPBP2XbOk=d&qW|QFuOj@ z5!n%Wo!R#%(_zpLBdO^DPioG;1+R4QqrUaBsOWBs@z`IU9$k2t#XbnnKORL%*5JZ^ z=l;=-3&o@P{Pl13s_uvvJ*wANbE&AVGX~*4hrSsFw)Zm^ryzrv@SptW>qp64cJ^qk z-fhdL-(9B1C<{l7;O_E!iz5a?7-B%t?|()eW57Qlgl5~(2{|#~qvj|r>JZq&NkA%x zAU}byiKpAiXuHu;$($ldWfbD*2vUDnOU&kdyAH^H9GV>6o~~wmj}HE#wcKOPJGM4v zrXBRP%Wjjm-t$~p#pEXR)W?Q@JeQ5MALsH}pxVC9X7N$;dnDpO%u2#|RFUUIRNq`o zy=o90z4oR+E3C1Kuon|PBU+5=$f6<-WlOmc8lewc!l}tbFDih zxHvsKMTF{?;7`;Z{I-N0LE*orcYZRiR>HN+<{G|hV#~Ej>3$7%I6!2VBGmYn_g(Vma))KnQk_H9z03ftc>s$}klG|0mq;(O%6$P=ydz*__FIQNd3#JV zKlJgNv}P6DPEjt?SKN?3v#bgG%lyL!vQYM#ze~NseZ7FIs;4KJYHDc|@*hKie4Ez; z27vq|7J47_vGO;ZM*adv<+~mo>2qZcpL?fzvj=&;nif-khkJe3X)3rk;Vy4-`!8dl zF`aFRL#eeXE6W|zmz|~pFD3h7KF_K>__a=1k%|+y)Q@{&E}iR? z5;J*)_ZmqopH+VSsP|e7Ycg6a458v@PjevX_*9HjcfLSb&22MUC&WVPM|4w5Og-r8 zZT*?UVRHD%=7j<5oJPUO%b;+!UVAFsNiZh7^Qul~-Ht@uAt(PNH?csFfEo`xtGz+x zOcUOF)enI67`NHsD+Qk^h0&;TXL0k`Gzc9zbpPWhWC`>%5#OqMg_ZSFlfmy;n|vHV z-P28_oi;BGbvc0bB2?$bDAU#O@GfD2DCaU8f(j1z_=MR!@c(Ju<&qGbz7r=eR&0Fa zgO+CU^)U}Y;$k|XTyA3{ak^ES-9%*MY`3b2zQqc)K$u>H~j;RJ2(>w0_-+ zMCVN*JJ^bE(k@l@HIJeJhU_Wd(gI?}JLgr2F|( zPI`-vXMf9dl81q8|MU_(%_z{~;yn3RcSc`v0g%CvRc%4$U)O$KzX|<3boY%;CRz!k zCJ|d>_h`yP(W2h7OA@@bwz+u__IP-y45(4aDyWt6LHWKHH0n|O{+%-VL5;)(;pJX1&AA_Ik3`m& zI0mApQz=R!#V!BAThO>5dyL_pHc?vhlAiyVpR&}iHq@a9SWO<=s})k{C~Qa;7nV`) z0+KYz53A$mV}VQkJVUB8ONe>~M>qqy;&8A%rfDBRDP(Fichh>*wNy><`KkQxp0_B|d z5r6n~YR$U-YsbK)kd`p1rv~DvlGYn2Vzd>m^Pes9eL~KR$=?gyiB6)uJh}h7D+1(s z^}Z0o`sVDs_dvMw;*ovu7d$=qF-2DkF-uIlKik!`f2FyG1ss4hQmCKuqEGd1eJ!_Y zI}nvT``$3n*;WJ#{oD%0Nk<|@(*JFQQf}et+Cd_Z)F6VPqkQ>RBaIgSd3Dd`JPlBA zaOv}0P>>-*hXI?nc@z9861o*%Kun~sWyq(iO*HB>=wbWP+Ch9o#|$*+!ox>~7@_W& z|1P7)9)vx2ZNHI%IdR4^&A!~p;;)OVb zv!RZdF0q(_GNfEWXVr@J2LGX7J~4LdUIBj`Kj7>uC%s{l5_@-#$3oag8-Z1YJ{yV% ziCJ%k*A4H<0;Ri0mbifFlT!kX0MXK;Gxb|L#^8W`V>Cy+!f4X zC#2VMJ-r}pUeH`=u(#Ub|EiK$l3)X~ar>5e>4cWb?#pGZ2>P~x=$$C%Ppl(~o??lu zZ%<5=c=EMJ(2D1GRGdp>8$UyI>pro_U`%pgR251 z%xAULlJy)D2)A#(N-lwj6`81Zso$tNp+SW9!}~o?69qB~p<)c@_fb8U_rI&HZ@ORU zZre4C7``P291H*8j>{)9=^bDhcb~dgq31J@ISu?G?`+P;kz}ENuh##t7LCYp#?YWd z^a~IZ(!r#(MBBmW!CkH9gA}~6_z5Us@#UJ&R2F9?QSY@g zQWL0xU)8!k)m2(gbXW68g&?6NK3nBi9Omw;p6MT$HbvuIxD%;UxlbMSy&CWx7@vpc z6z;%-8OcbRe#=M{c_7LACxkK49{aODZiwS#cm@+QgY6@O9ce6Qw>2JI3cV!RF{R(a zxTJ2q=zw(gMIQx{F#-G+gib_-^&Tp;AhqF_7;ieHWK1Sf?Q8PJ(GaBAS^^Tr_jBJIM=`bHn z(&(cQZJu7S;qYlbl?*LaxV|g~V$T+qU*NeR*P$bC6S)lB$|hR->zzt6lb%tnLho-L zVD1wce1f^%OtS36+^thDKy3>Se|otL9YT@WI@b?1N{zyt;=&Xbt_G9p1IlpXury%% zwONx8Y!g_KOR167%sh$Rd1(c~0fR7y9Nj-weqvolcI87C#NvZvZvo0uP(GHSG4f2e zekqp8y zf$WdW8d7&e1Mv4-x1T5dU--)xLr)5kXsC`DFyieeXFr;;H1AvjrqIr1(=s=dJNcgS zKMQmZ_domtr;r{!#kAnN*x?b1Q=4`<+;CszQNp=62?*^a531CvBX7#&+l*baOC{$ z24$L&ZebE)tYfMt#PQ&E(t@`GQ9r-Wx*keiQ&G(b2rSv?$k<@+`?g-IBRB=9v$R4K z1r(CgarqkH@|65En>?q{$aMu*@`hLnSuK7Gx_*8OlW^a=zL|Wca|pl)ggTAoTk8EB zcyMR?l@c0IcO&D`L>zi}RB7s@298e^WfP*Zpg#ttXaW_!&nGj@RPW3CL4TGGLIUiV zl!P)H%&G>BeZPOnyXjW<_;5csnU;=eVwrp`E%2G2h7N`qj!K+BDG+(mAm02{G(lXLUClO*4sX=y!gp$Vw?}rl6=BOlSqb6 zKZTc|2g~3rn;_)y6m~T&Xx#$bQ#swDdjqmW?Z}&jp!h!_8 zJsM2NO^yl>T&No=PI|hTeb)%`yWRD_E`E8rF5kL&t-il5Zp=a9nLRzROC}?T+K%hG z^krS2#$tDusaZ?8{XyBY$4JF0cJu1{p+(2H1Xiib>7hK#?;snK+VWW~e#D&Vk(IP9 zH^65ds=_Wnvgl8rRKk4Erna(i{YiceB`M>l&G)0$X=r~zgZy1mp>i^hf*xBuQmTXx zzsN@>tBAL4#@$YrETTA?u!Ytivc5<${xx=i?=wNM@`#2Xwf>!#x8%*#966_S#I#&8 zB_IbvAnf|wtpD_|u6=0Cs(mgZ8?x(KS#@kdOW_dZ3{*fD&`cw4cD3>q3Psn;7+!A$@sWt@)pLf2<*KEulikRtWH^N8L5LJ(3y+vGuG;VjD2Y*(5 z_)6|vj zkZk^~L(P#7$^fi}*qkQxFv5&)P%!c zJgO32-;*J9akZ>gpEeh`CkbXnuwX}0*+_V{%_?~qQQNoe&L_WKOrqB^TGe*vEVaO zo>6ae!KnjU91fI1SQ5^@(*i9rQu2RWL1~bOh#i%e{r)b}y^B!@_`5wPAId&Ns8cdF z9#dx(==^;5TT?Yb>FvvM!7rv}h-(ZAlc2Ir$*@6B zrGTC6sB`T<%2InIMzE*MBFXNzoi}7*=Q;5Kw(eqfzrod6L8ZB7+C0n8%Jz?FCoksU zx&ldI$S+u;0y$7-@u78&c}T0mLAV8d2q9AKxrfP=?HOr1PD(e@Kk`{tt!)1mbV^YO z6qO%iNQQ)i2HNS4H5+3ys@yv}kFe6L*_LahwVTy9b8XgpxVW^Vanw_9wQG8y6F zcN-nR8;&&lB-PVCRd12V^vkT(YLtU{FRwf57<6c~vw$wfE>(H2wEkifEMS<}=)2~y zQ*xJhw+auxne%e7Chrthhi<;XNEJ_ubPgQ@B#N)ysImC zS@eMKje--##hvwo{3H(ZhkW`p3ufEAoR}hP1jLQn{w_Y_9w{3Uk6QB!N1H!>+oy1_ z=80z zQR{(E!?D=zv&0#QTFG<pxs zGvWXPr6_!PDX;BQTy@qCmN0yIVeuql)#V`en&o3-LHEo#S`5zDkdGeZfOS=s* zYfi6+WIeKkM8Mch4QGli>=!NZU@(SoA-P!JJtNgJA7 z=6P2azn%3o#$Ys+yxFd{#65;lz>AY!4`5+McgQovinPB8v#Lmbf~#cZ91$G~dcTP< z61ojS{I(PHRwClZoyN;dH4>Pc}nZFRexKw z_S;azhLpbAI%c5yRm3?TG8I_-J$UO6pPy0B@HZ_7Y-notS)g`%?%&#P(-U9CEPie$ z)^slHbI?O%7IFwy*$T^4BT_%<(JXD|j{av9MF|DDmJ;vPxXz-)##40diS&g(E#p(+Wt?+7wwFyhHGU z5eL6RFc4-R#(j!B4f%@M;zZ{r#gPZb&%k&hNkR{c0w$h9s{e?=?ia9a}R8D^iRt2&?V@%5~Avl%aLJn&qdf%a4up4M|Clt>MGAx>V9x9*s^~H2?=kdQ4F^3bIB zynO9#*~_U$Y|@&-rAt<1LgT+xf>VH7;TfX&_BP^3N@awsoMJ0GTMWS)B$4!E$ffIX zk56~-+G<(u$7&WDHKGn}^WtSVmKVb4*#!AoUCseqkcHhYkCs$oRsWC>sN<2tw4mXh zbH#~I&Ju|LS-v8>TxR}TYN)uJ#bX@n_xx347JFWyN6T_G?0J!Bx|anXyS{f4$(LFu z;isvT1qrObh9j@#TJZ2re+8|v(!-Z0=MeTSLpMX70#gUhx!(;hpGCKkpr%{lEJr+X zR2X8>brQg^EJ`~0at^-vnf}>TSG2mYqS($t=M{BaZkozv3_ncqx;09ssWSSQ9;n_3 z5)52l_LO2jOK<%ADPpT&nqbJ}ddi@tiu)ctBx)x7E$}U0Cw<&d0EcBsaze=MdkXzi zyDmA~kDVpcSxU!K)>r}c>G>={qR_7aCiE}dy=Q)#&VciItz8S4^Z$0W+|2PLYqXhU ziW{uJv{gmvx$LaI{6Ys)8>JZjHR{r9zLSVe$L}WJOUCSb z?T!ws_Fge6S2z+hp(Av9h7+;yGviZXz5byR_xkgoDvyDD2*b>66A5z<>K2r7=W5+$ ze-LgF3y~wPy%5@@ZDT#Vyq50C!G25#O1>^L*va)k^*_G!G{?RM z5a_`lu-t!7h3y?xU7Aww**2=&Hi{Sr=|I8i#r|>{j1xcEA#J_OIN7f(F(*YgxcqRE z|HEFgEBXsPr|UKA(S6`8^Kz|{*SO!Y0qbG5FEEvkz>c@t7Evqv1%cQ&^`$O9mPd8qG~q_?{C{kR*lxjO4w^csJ>_ z)dtrTC+$JVK+IcNAp`|ja1wo(;&uBO!p9Nbr3iQYU(dVwtE-^wUXeHOr+Of!Jr!CZ;xDM@jq56%iQ9QYLpfx zo(Az1r8n*+1k(o|Bl)m55t;IA>5Ca!SbXq9-#vXq_rA~kqM53K2M?QPW%1n{gP#Hm ze&^em|6WS?UZ5hyO5^SBqC5`yazSBe$TuNMh%q)!;0qZQA8AqC)LQ|pJeY|zvR(Pu z5OmT!gEP%TpW(&=5xNU`b5)|$$HIuRE{xsZh2MV2BXcqPbH;wcL8 zmS&aIldyToBwr%=2w38=Zr&6?D2L!!g!3NA+aR>2e{2#2l<2CF2e5+CoU-@~tgv=c zNzA9#r3QKT5^g!D+#bW__;$&j}?BjJAya|i4<^mDXIDUjl}=Y%J3 zJaHI?*DpmDK45ozP8OZDRJ)T@jI<#8z2L)W@u0E$#uA%kG`98WZL&-bmzfAyl!vl) z2C{I;-ilCH!Y!O)-CWW^zrd>r%Kp+4X)Bo5azGPz#GblISEQK0Ov3$Cuf-rWL@^Mj zt~XR^CTj4%5e5KLNix%AMl*V>RaAB^fRI{)GMzl~$DBCXdQR+-aF=<_^68AXOQd0q z8hb~zyhS?v9!xnp2a>Ey!LDY~xZth8{rPcp*9n9T z0^8qBk@?O0z!vZOYv1Ii6XykQWME}*U7xysPR#kDrdCTpQLRu}L-zH%U0s{;uhCrF zHlvZ#GVpf&&|#XTYuIm!eK|3-fglt?DuFvvwmPJ3B(0&7G9Ibj6;(pBC-D>py%q)^ z#Nh^cUiYwQeG9*lkFi8b=+Bx-2xI6y3ZG)sz5e>0Owi_#Um2-8$F2~fd-js`=j{gp z+HoNXpoBr5iZxkkBwTt^iwwOToA8S`SmF}v!VCE%%ZluhqX7mCmICQei6u(kL&*o> zwfCO0_3Hj#B_y2C-P)=Vhp3~D1;MPpPQR@hW$q#Pncx{FyE0|7n&6k)4A+(gYzyCI zlKA@U_g>Q$n~fOLG@rgR{1l7BokfTste)Uh!!AID_(bn5IUzytG!B!kPQQwK%n)Ny zEjAOK7^%lpEH<{psj70#n~%PpNz+-B_XQus$6&Xpd3ZztkFYKC6Jtf3@s@+vnrmm{ zA#?y_c_UF|<`lN5g5maLvpevd@&9HEA?PTTJ68lG%kWWT{3ck)4v{4M8xER!^*W(ngFA9Q82|bhS`+1{+1bBN1kTbL0&HwF5yZsj`7ppal+>0( zHX0Xi%Au{5TNxfesE&Un$t%-D8lCB)P+@P~C1U4osHb9RMIc77dN2Ac+AeQre=2=J5itk$6DbY^H?*RG>xCKnLwqiv+ zCWk8!*D`O3k-j<9Ea%bp3+n$ZXFD5fA4L&<;b%y5X6AGU3Gut~>PpLS@Us4H_~i9L zHF~}~Zi&yd^)g}{C)pr=B@SccB{b249cVzw2-`#^-oBKA)y&?}SxHfPsq z9K(}ay8ro508;^=bPd0qi}uX#9E9MkE}=>vc4?zf-J-JQQSn!&3^9!1%Xw_QuhT9GNFT=F{4&fYR2JUU_I2t2-=my!?=VOcT`j3&z*~P?ds%_~DUL+@9vHC-tz&lTG@h1LS!4Di2p)Q@^ zIM$Z4_0tg_Mnq=Ws-2`3B0M1+VuCMaAC)*)Z)ay z{=I_KWqKgLJO*FdKoYL`l28Oq*sV>w3_W~-K6RcNhA%iD;j|SS=B%@Hzx@j`DYC*( zgRJl%=hXEQg6it&MV1VTyBTVaIIGMJzhd6Tn z8+=x*vDTKxR(&+AKQMV5azKdT_?P^q8@BvTm)Wd3$urAg$;~M_NB86CUglP($Wu15 zbXAbK3n`q5f{;Ak$~t@nHe&0UE<6LK;`Xrav|3P5X;%WrO$dncctJWUl|*F&MTqBR zgNX6ef7rXsMc0}*&pNM?62Dsp0MFaSfADH{wk{gsi$3l31}y0iEFSREhY9gA#2y9y z{RUtnba|5(hnI0e-4+sBttq64k@96>WW!Qb?U=dd6pAEg1!<|!amS}CXMT~q+Z5TW z1~7CKa&lLbyhEcjYA{vaz|p^Ub1ulNDQ%^p+-xlsjRQKGLqK2s;*d8%hD_a_Gc?KK z<6s_sZIkg&=;$ee^&h}a5a8#LkVKl-vy4B0dD!4s{=2#zI9M8Ds&?6C)<#+m12<;r z5&)w?#BNV+-zE23S>-@Ag2!`_iCW=&Wte?@EQ&}B@V-Of;pE_-9Bp%EJL;AM;rw?X zBhcQru3!_(V#dtd3EM*C>;^g#8q(Gb zfw#h%JTX6CSz|WaZX~5oD~g!g{+o*1B4|qxkWVTyS<-x;3xL~m@MEpt7ezcATu%_@ z=$M%?9*Oh;!`u`*5(rmUwMj&uE0=2>wPLRG0L@NhZK8le4LN**|)}!S%mX zI?mS^GL+#?x!sQtLRU$o{EU#dNGT>xj$79xG=V(KRl8IJIUjW|g!RCZ494meZ<6w^ zHgKdHQ93hN?7cg7JR2tzHDDo-|GFDB9Rt2kEaxZD(a~kZeHZ4oCkPABUg2u5_aaF7^71j2a@fnAZ#Dns72iE%XJkX5O6bE&61i#L1s z*T0A4K;Vh@@N1T~{`SW>sAWR`zk7%|A()OnFqoH1PC>p`PyfkQN7kN3vXAp#;(~$y zd=z7hyYUY%A2N=Yb~e9@Qi`FKr|T?ayx69Z8@1nD5y0lpmBeJPo4ou)Jk3$xce{M0 z%VE?)t!77-N2jGqo9pY7o^5h8d~alAR9WGloDg3{jqa9F()d|^5|-!DoV6nGYXa34 z;^L2Dg&rYD{i}~{6U)H?MV2P|u4#C%ypKn0e0*H{E-Nz3J;`+DB&=i~s_ckYHr3j4 zYd#=!2|}I4+9{wOmScneE)|BMC~+gL%K#Grl6WhGjEwwFLsC2_pqtNbrtf=EQQ2)l zP0iHz!b1HjZ_i1|p=_x4iVk)3A9(gYxSWSR2tBLbxxULTI!o3mnzM6By_bj?ucX+#T z;J9-QyR%~($$!n;IB+uLh~nM$r?>^*>fU{}D`VF@o3)kwi}l$lk>gE|u&@C`tsaln z*W0xMY)Sh(vTgEdR$KPF0egSzqza7+Z4YrVZ08^3Gkk*7KUrEcGe}k+4GHw$6WkM? zIOEeVtXO#_CRWn@lIr)k@JST`Y>RbR>eZj^wQ`3VvFI2(?DLq+PcYWE8;=a#t&H0{ zl}u27ZnLwwbkHg$@SQf2I(Gcrzp88xXxvyA2f5;Mt=ZZ)GmR|AH2JsOq-)Nfo)IlL z+4{lV#?h>c#xRgRFX-N!%ZlMjZnIwuMcFkB9AiPz3tm#SYcj}+1F zdYlVxKveiNPq`aQS|Fp|n{h=8_^gIZSFidSchW#h_r+SPS$QcIMBQRWc?3Fr7gmMA zWC^agPYyC!3ztGrJtY$8r%4ag&RgoOB^DI2YVX()ev?LD5!x)oD_1Vt-hs-zJj8{K3laBD#Q>lrO?6Yr_rOscdZhp``zL8u?tem z)%2C8uKCf=8*0U7@80t2>F!_UezuJ6!@=_LBy?Wss!>>ED;*P}P#E3pKKwUm+X;-e z*)>85WJc82MZx0GUJIl4UfKbTgN*i`fO7)R0n%CyxOt~i?&0n)zV<#IY+xE${q3b7 zZ^Y;YKE_@pBIw)O9OA37s~f0A2+X5Xg1i5d_g^b*w8!QO8c(Xn+=CqF-Dd0 z70=ErW^X$Ck%!iqaH$G#WyPDUy6A;_-ff@w31v)qW_Wm~LR(zo zzT=fDdJlDj#*g?kRDP@zv?G$F(OEZZu zb4*XRHEV8iwF&fyL}~}LRMKICDr~-U@8UObP%qZM1--?@T#i3$UE72PC-)3phQv=L$xY`Wgz>%G3gcIyc7<~4!tE0Q=*Q^X0VV;}0{Q8<4yH_{vNi1OKIL0b)4 z955VdrOC-Xkmg+G3PlusuQ5n^MMn6>H1(*y7cM92B1Qnru9qTbj~-hmaM5Kh5$lx9G5&_#*&4#McW|$n` zIKRoEl^#zqruA;^teu{BGW)UYRw*@kdHk$;wj5J;I@0+CHONYZ4V-VoRyW{Qg<{ao zRoSjN4;tRS9yhG+sjFx#^_Z zmX{$aRC?eDhokY4ka%l4-9bi=je`?UBtqq6j?J4OnHURgN0zq}=wPFOK=`3EJ!Iy- zM7Ne5wcO9&pl0W^jPP8c>^zWh7X)IEG?e_OlOa@wt+?sJ`&4ZK<+96O^#&K zefkF64aGpLTR(bFMBKFdnzet|RRbIM8@OS^U1dUPgVzvOHm!3m@nk5KHaw#8{fqi0 z5yn&+j&9=wKE?Vl0bgjsC&LSlne>U5;P0;GO(iGM(v{=AUb6~5wH5Qf4l;nEK+btu3{6_o5f!7 z!AQR%#Y#xGuQq-g7A`V-GKHD0B1rGOche;IE&1xoQ?q>zLm8$>GZl@Gm8Jf?Q*{r{ z8Y|oV(jW3|119Zx_+c!=P@SFS7@7Gi6ayZ~x+eHm@*@xLR!c7hSG>_>cA5F;E3)or z`{p=rzbL>xI5*(!E{>IohC?00vfDKao9~+9Z};ch2DKk#2o-S&{1QfQBG%4YgXOzi z403d;+a*S9DU&ika?e7votW>L=*db&z%(guiy=E3IR`<7*pRx=)ArYt#KZ!4cxo*x zYO2#)7Ge0K#yaeHF72EEcu(OcC^ZcEIwB8ze8u(z95XaX&%npTbJbgpCwY}_9pn^K09%o&$Ew{7B}Ot%CcTcHtX!s{$%{B zM(=>?a(TP0xP4t3ibtZJ_%k!(nf{6EkcgicVec|M=9Ef{Oygu0g z#ZK&%Ek6ExW<~?C?WH z-}ttNvStRnby(w!?s+3CBED3q!7Uj7X#9LRv0Gf#$?|9U#00DMi#YmYD{hV9%({{`v)X3ubs$#?Uc-z)K&pS!9KC?a!KMm8$vC~_&%Y*uItQ^Pu zuei*35a^wgAlvUNhlMe+Sr(~i24)7@Uk3FGUxFjI@56t^la}|GYJ}PxB+&0h9Yd5ZnO@Kj?U%+;C;^~BXjZzjAwxZyrot$>dy-`Jv#;de=2UzyaJYBoM1I`V(Muw z_yWFJ-qq1r>dbo-uqzMZM~;igC1shrBvQ}}=P=60BK44QVACHMls36;Zwl?D0MaCm z`9!N65;(^v*3{4Xt@<)Gwj|z;QaR<9g=li9w&Pq3sp)Sf{zj2 zs|dp+uO7~~mBuz|;Oa?<*1h!RtRIg)a*R-;$Nd4?h5V6-tg}vVOfP$Z^X;hSYwJ6i z(@E@Y(HUVAdorPf$zpr9)BBD_+qMwdf&+F?VLXe0 zz>-gR0-*(2r zK=t<{!9J7F!$K3?;sDRt*XApV0*g7%n5^|!uB`foNw={$KXGAMV!1&dXh-Wl^_Jd! zZ8UA?-1)oPJPSXs^uZ$^O#43@1f|xmMp2*ehBBnqQ61LQt2WO+i6jrx4<*+PH9&Tx z*)Ga?;}rD836(tTrrbemScXp2t&REy5W9pN^T@u7Ws{wGNt$MLucvUP+g}NMd9QND zhKCwCzOS9CoEi)%o+q-NO*E6a6fV)R?6dhJ10~!nDfUcuF@qfhGeG7*i%sy|?rwLQe2Ck&39(~Qp4M^&T+hU|j-h_$phTX#a z$r90j&-hD4A`6SnKTSj3_}&&%reRX9d|qAW>!z5jdYzBLI=iC-eKza-c34lH)~Cft zH70#D-!~A;Ah|^;2u>33lX(AwI6TJ2)9U?UM=Hrf#kJ_OVcoU2*FmS{f_viinSJ4oSED%$6~Qt_*1sPlkvKTFZ6ye^ABaUXzbjS&@r^Ndh%6h-vHu!xk2&X z)-Un+=+-3FwQFu?X7H$0_r;|p&Tz)#{a4^$+M4rR?&6Mo1eR`BEpJ7yV+B@k9Xtm! zZC@M8T0HkwE`8`^L@+0wFIU3C?LY1P78R(1%8GQq*swB>JTZhpOV`RR*L|DUl$w$c z=#1S74&{}VQL4vrEOmK>uunQ6{6F+8RqS$6z3o_>I_R%aTrw&{EeZG7hwD0umT!6b zFO9qwoHEq@9{}4xB)@K@yX1vO_Jp3nlGbi=md} zl7p%KxeOX_ihB&Q|n)s3%f$ z(kz`JWXyDoCVQZBm8R>&`uVcxP-Qt+N!Jx*EGf&_+yta7Ay`2)Il(-IKu?4MN_jN_cq=4}T$;KqNtnpvFYb+&P9*_nN8bocd;`V-^{;~US zxJmdv7$R;^R#ukYplBOgH19=OAFOB(QAvcr?Ug8tRkA#!Ce}q7ouOO*PfN9u$Ix#e zTaYWEAtI}jsN*SAml~p#DZs6KYEw`+RI?l|+ygFy7`Rj5k8o1kPRLwX}#b-cr|s=YClG zSZ;c%t}o~anSylD8Pc#mlf&{V*(JA1(rW^Z3Z)n+_EgrC=NKi8H534qlTQGAu#geI3yqe9uTJwNJ)$?Xu=%=;`V^Js~5!TJ}VD14a%)3NvSVS zjAKcjkCK#xn7VzYq*|d>DfR|#3k(R5Y*B(Bq>7{}R{Pv^bBN|PWSFB1GR?7)n0}lj z$aXHo@0t302>Sm_{o8RNWZ1~`e$EDt(b@T2k@Yk5UXcy=v5GPSj}iWRcpUn-BHx%? z<2|-0%DIZXpYO`x?CC4ZT+wFy5f^xaPt6UT5b$ z&)hqo%dr3EolE!UjtjcSzVROC8)N6d@%rwu`yPaj5q%uTdgd|cbG|tV_?+`hd!8+O zyvIgdr+?lueD|}Y@n*QrC2Oe2IzDieREs%6*4QC}{hOzo*0T0mHcL}dl96hACv~kR zhphdvhUA<2_eKpsb0$b~B1d^aH`hEt_`B z40F5)nKRpFncn+no68Q$mMT~|=6b1ubz?`Ve4)s-e_FWN^*jD{bHrzIJ^#O1;s1ZM z&xZehv*)wkF(^8DKkGT(5dr5q!ZqGb?rX^nJpRoAzuz3X-pKL#&lmC8PPqYdnHzbG zPSNJtdyW2cMUFk!cWt>5_w(k^JbK4_b7;KL?|W$OJ9+O@wCBNl{K#Wl*PZJ+hWkF} zxXu;uEcibcF*pA4<_64_|Jrf`=l#_PG4zGKKU_!j}z*kw{p=DY*4O}G7;=^DgZ z+)p-i7z8rYEJeFC0#cC)n`M2kBF?Xskt zc(zu-LY1EDqsXh0)^6x|>ExGd!E52Bfct&3d+i<(w03g?pO?sSMLvU3JOC|mT3^i=QK-CK$1v4m&sDKRN;UT`eOcL)gdTSWNa?|u(RkQZcc zmEo-x1jOA5y(Gfneh=}ETCK^xK>!E{{vT_Sc6k$*%Cm4{iE-Xj4@s=}(7Uua=TACM5$rH4c-&^QU z;Ki=^Y5!e%hdkdU{5KCmpR+!z$LMMw!~TrE-!=Rl^dj*e=Xv-4-RJ6>Xa62Phcn(6 zJmYnJu8aG-Ej*v|jJHb(;|+Z$&puvW;CS`3UHtRrTxSc<=iJ}-j<-d`*g~H>C43*A zcdof>_}ZTj8dGSz*0sNgYX}&}^MT{_-RCae@rLKErDq(`#~c3Ki$UYmouPuy#{Yk}EU`y`=oMSaVJ)qPRwMZ%As0c)+^a zQo=%DFoEZ&tCaujBgT?zL>aoZQ*-lw(hKC#<6D|1q>1CxGOy2dv7f0D*KXv!deQT2 zg=Nw6fzM2^%nMw*q4m}>P=PdH=aWvN|vF`n!7NK+qgL@3}Ab z^_Mu_XtJh-@0x?2GuOQe*q=+<$2`xs>-a(U-hHhYJJ!|HDz{qddb|Ia7P|iapS}MK zljBIzgu$NanVu%uWC@^907_&Qv?yp<&{Zg{pd|@_BnYiRf?9wC6|`2RQ3Xwas+%p@ z)Gep=bkFMB`@Vbb`?I@qyWi}snAuxDd(F%vJR&2rvH-BBcOU$)Cn6&wBRpNaX0MsK zJDe$42D_5>Fq%ji6hmm7B9#kHl&l^)cT=UE_hb%7y0%n0xOO{^obJl&;vVc{5Dz%n zEdjBc5vH<_!!|T*?7JygX>LTAiio(I5V{Nzm1_w|Pof+>jVSb_Bi`=7NoSCzJux)! zIg`^m;8h(#UJ4jD^JzC>C~uICHwZ{h5U4a&6`Bs(9PJWqG=xnEuhPaz*LXuOY?Ora z7@fy>Bcp4)VO@-m*BWB_InMX7)XRoP*S-7nce=UZb>}zNyyw|x6p83FuGwA_)`+{XlC~t$?mT|wF+D2FF zig?q!3pD1iiQdV%h31V}1w1AnqYd`p)yG&xidJEtEY7>m`VyQgx3dCFPcb+Bg*UR8 zaP@-IgmTXZ5fPh6=~b0Oa@g~_V^W^kOT_JPnUIFI>KJeAc%?2zn-KbKkaFyL<1UB= z*Xx70WcyaIO`S3B_RA2~*s&YLf@EVR9vI_pzjgbyk2SHBVL{nOP?{yVYB=Vih! zZ2F0DhmBMZlOts>krC{_vw|X#<+Lx)cp@SL)q%qEL^6Bsg#BYVa{p8u&#;eO`_`sl zC0iXf*+lfa5s)+{p(oq{e6005!U@s!?CO`bz+BJ?B~ zIf!(equop|VAu0H+4b}$?SlHwydv{1oxg`8$$RtS=Kc9a{MnZ{%e%CDD!zNSG45aE z?+19l6>+Z3cdyBB<@wGveoj2$8ovwI=KI&|Gi-U^b;~)wC{PZZzdwIKpuGO`i}W77 z#`i^+*L`>JJRYi}B7KH?U)(FB`@46Ol-Ij&emvrx5!b?XwfG?8x4pYM;7z={-k3!G#0{Rw=wuT7e5oQW}afw{6x%47i-?1AM9^wmv??qXpF}L z_a?)d_ae#>z~j)^eXqN*8+wP2H4*&z9 z^AhchzGY&6vuFeyC^=?$|6V+iU7{fwf7A%btvYi5DI*}Red|U*QW225b3l4H2|d-m zA5qZ}8vzM7kQ)I>XAbIzncJNQA#9e@Vfx|Zh#0RAqEb}hTmyH^4$cb9i_;_?@RWsc)~ja z$|K@8$*+aWo2=gA3D5BVTe!Tb>Nmn-X( zMAc8a<$W(u-o$neE9iG4>pA&Y=&ro)r6_L{iSiBAB6a}4>)1&|1fG4QIUolc#`koJ zh76&})>uJ{Nyu&HNZ%<;N@wAX9z8EpcRHttEjB%?ByTF5CeKaFH%H52Z0KAj;&B7c zlE!FK{9YP;Fx*FaGIqP~gGCX)508&{%CQiB-@9pG&3oNoO?qRu`*G@h-XNd z3ysgiWrgM$8n2Ix>BmvaG5J_z11tVzrJU1tJM%1VXQS3s88PW@c6}%2l)#>KQ?SAj zkaTS3y96YSeLzy>v$@OfCQHGBU|03-Qn2obLX1$b$ySuP-N{Y2J84RmrIg8<$iW;& z2Fpw`T#%o+n{qYZoKtAdSH{?5frtmZ7;kgbBd$OqVB(2GPVBXJ8-w=+emBqlw#bo~ ze_umfJ#2Ec_sTP33C~M;pZ6ZOyhVCn+$nE7R9>fi^P>J!%(-?ur< zZ8a}(>?X(KsPcyK_*TmsabIM;6{T^XU*5<*olJjpSKff0k^2ydyh_diq;g}t?xkqu z23iyXi)>7!-P8vlit8+{@yA%u;>&)=KafHtN1R3H=Tckf?bfE&)LU zLBa&&c00$NBrvI%`<-}KR^&!yS**l+XJ<(2LjP=@XuhJjuX%#V2PTd+SIHcYYplf8 zIBk$LkhdK`emljrce=Z;F^&6Fk@(mA^T2Nto^P)erB~jNLXG?njqZJ-pZHwk#&@!P3QT~dMC17Zm+!l^NO^*@s#C#y9ecU z>%+aryRRXlyy5#o? z7~7cB)g1}x={oecqjYZ-)9k(hFiJRGl$O<X)LTHdH~G!~`A##_Of@YsFlmd0+9 z`x@`W*o`ODkxO8bw^clKops=Azxxv$e)^{C0zmn`_`sl!TwEW@4UMNqz5~pr?dK% zjefXuK->oUvLhh3k_-69Q0&QeHn)QsX&O^vIcE7NkdOZ65KR(8>H^R8sF!f5RmL|h zz=e!uPZ}J<+X4~)&R6s|o$v9yo6ht6=SzwSAH&aRaHP?>U+1ORXWaCj7x$jw{^q95 zP33!w{C5P(oA|$OIsh9eyHk$9e`zf8|FctnH}yC6-Tr;H9L{g;yHb?*W@G4oH~8iC z>c;&q`W*W%zZ{|e;+Cn=|9@`Xc<-}y-53w{lc@R))JKu?e?#SM43$?ES@1s=h5ATh zdA0I-k7cQ?e7QAw~WoihQDcC=6T90DA zO!hoN6Rt5YWF?Jh>`O4LUlxz^UYVAJ+@7-ivhGc_p1!+J0Hs?v7$@^R zkc!q-Be~``>x;a)eLFBVf<{$%?A{FY9lt-^bjGoLM$)nC_JgQ#-Qf0-VEMur<-aS4 z34yWeVrpX|R=fYlFK-y9!eb$E?A{EGF&BRm%G+3!FkYfCB=y)WO2Fe(laVCm#$j^>Hy*Qj`WV0KrbAZvzQ*8xvG?6@?`sH_C;T6y z+SD!Y%~1Wi$Amg;bjur0=to|gCe&TrGZ1ey`o`kT#sOMp`#J7i3;!>-Z$-X4^q+5P zIc_E?@6AyE4ff%dHoc5IaFlMjRN^UhA30U@WDWz0Sr#&zRQHo_> zofG2iM4YD6q&xgcXBXjAn-->nYwY>VkX_94DQa7sCv!g5(wvW%reg`wLSAj>TD{vw z!7-D7A2>#DQ~bYWAcvrB;zlvpXy`5_p-i=r5JY+xEQLB z8{YVL+A3mBSl|CO}7_3@N-6sXIHYj4#jj+w;&<(I?lmu}s-<%Q?}3NP0ir?vTG z<`wcLZl=6y?BO$oNXTGBLMU~qR|>32XE)(nUh+Fa(WmQu#Hu)0A{?8dj-<3Q%yB`4 zXV29B=HP5`oOIQSA@f#!7?a|`KAq6tqWWNxF%!bAw;Y4&E$$=XexH2o-bguS;)z(3 zFcv~%Dn)rC@vT0pj$#p5UKF_Rt%U!TM54+YH9peRA2%Yf#vLdASSU(8b{oQD*RPM% zSmTtfG2Tsi^}N0)QKwj}30w=7*Z@^-GU* z7dhn(jxDde^?sdSBizDbH%&B-kpliCMR2iU=p0(r4$g)G-f%T5t+{MbSd-5EsW30q zN`O7t=sA@wm+mt_Kw#6tzJ-8*;F_C)m5hi)EyJ6ipa10%kWGdEYp;S8RhdzFZY}|_ zIdX0T;dyAJFJo8nbUOI0?5=(*&rRBCN$$Bn(|qM?515t3Ip)7?pf=o9Wd6sdxG`Je z^f_+6Ge2g|li_lyu1HCTFE?~8clWxzc0-LH-&hL$-T^wSCGI{qnOs-U3SajWMU;fz z87^<|`99bN?hm{xb$PD`e(RRkf390M!RIEHEm?W({n6zOzblsVKPR?FJkVbDKfCX8 zm2=>E4awRl`G0t;KJi(JZ5oTHk65rx9pn5O2t{pyxw&eJd3((?^Y-egBqc02`CNq0 zAD(V*t{88wSLB%MRk`LZL`2g04-x%7)%dXeAyu0u_TQr9_12KOzu$27q_|9q9I05x zXoZ<)OZxK?y@(c!A#Y-g6gf8Q%hrV`{#dD0x0A|{l_4pkSgCJt-)vJtlT;Us=)=1$ zzd9?Amm|iq#8(11lsN8eyM*iTy4xNNsc|B*J<`CMlw-jiy9vKf91DT+MwBgF-o*Z! zPI*&fjn~K1C~w%ZHpclB8t)kQ zyiZ8holj%$kt6pupL@HuBF-%Vu~869K=8ethLFl;c2|tO=bn4M+z813jszstwNwP; z%bF1MW#swYYJ?@KgJaPC<$Xjx{_+8{X=H>L>J$@U?4hSsI+pz_d<+b(EsKf!~JOE1^vjH|$I3Z-MekIj+v_ zZEg_J_}--!^TQ8+U_Si8_sxgj`!355zfVUi-;<-<^8@q2$(PM_A|KbP`bM^M;D1Gw zH*tf(xc1v%y#>l!-%UH$g*TN8{@1|9m!W#|H?Wh{WiFB;KTng=_s=dgyC&z!^1KuU z8A6J@UoS*MGnjy6++nP_qZn#e70k@k=tm}}WK{5SyZvan-8|lHxxHG_Mz6W!Dhg}d zx@-vdRR?S8oK4-lYl%2`J))0ak9cQdpAL=Px|oj_2^;nmC17t5YvYPZ@gy5xhA}zZ zFH@B_0z(^;_ra(-3SyppW>KKL*F(6TSijM@bei9F*T;zBRD_)*bd^J&H;%cAT|OLMK+Sz%y$V$H#?zsM?Bm~ zH#iTcU_rtuSa)K@gWKH+y{GT$=}zc2UlQcw&+dJ|eC6vI=Eag+V>ZWG{w~y>`27DR z67pY(g#2O-zY)^Dh8t~>R1ttQ`GsmL|oZar>3{r$f-AASB~^U-HtbR(aekALzD^U3f2rFrkg zb>{NS`@HgA_xhOj!G@xw<#q4#+B8g3>O$qMPwX$(0(~Q@O@m`0_|8yybu7pZ#Bpbd zOWHA=R*AyqqKJY>IzwjUI{UY~6M9d6+ieP#<3PcZoLCiSY7yqF^))-mJNhQgSvy}T z6VI>Ixpfo|^n0&ghWkHV`wrQ^vYWw*0FvYUk&K7Q2(t9I`jhNt&7q_iC7ct&%yFuRpQ{4 zH)IoB3zgT`&+a>;>M|C<%d0jOi?#sRPpOqVX>X&&?lQY%`D}ItEE}dm13_E@k}8k+c6UPW zNk_chozT0>NwkXlD_?(r2uOxGKewNka`hk9Mz<+Q$lntQ`EN9F=x=UMXGqR@R&zm0q4m1DRZiNC{r zSL}cAl(?3+KDxYD9A$i^HoCl5BL8RTKh*lq3zs*cY^lo2&vKp-`k#D%gMXc$Q6CGo zRb5fwe+AmqEw3v3q~)!RCI1i3v$) zKP35K_wwO~=F?yO!F+J)Rdadv1LkT?L1g_#^;78&MUicqP?w?dx_wY074hU_p*~oS zYoT|B$B|oJq#|9e7XosI=XMpC?Yv20Uo%6aAlUl{Q3W@pp}U>Xd%7{#?e2u0rKw_A ziW3WFfIL+aiCRq)&!48v%dm-AldgOP&*_yA)}*Xo=UTF{YwI#O=5;@I`T1_YuM?x+ zz2-eH9jtNR6~@`Ri2fGF0=ND$;p;DP6zPVjx+5UBItjhI37oew z=_pxe?#a6lro?=YuYV(h^5gp(^Y{Ss-!~*DA1(>`PwQglA1D&?uU8c^n6y><0DYw{ zEHM@5T7Aqp#=QI3NT`=w?ZoG}&$9Q#{Aa0LR-j7yPUn4B6Rw5cq2m3odTYeQg5|A? zF7H)+?qx@D2miCLJfr_>Jox@xL4lGbxG>DKC!LbcU`W`HCI7Eu5}Or`FVQeL*{$0hmH=gB}nFh}+VSu>_Dr7!jI z=Yr6r&g?WCBdJyiyj=yGG@7i}Fk!ww&;7{aiS+X*Cma*&u~N=)T5cFihF`38>byQ3 ztO>T$)%xW9IB{$xY12roi6>%G3LNSl7lRmcwLTg4#yo6FR^F@Kls94Q)<=(p%iZEc zxZG*zkA(X0arR1GDy)fz${SBo-gp}2jdxSth%$%9_?6n^ZEDBv)vz8&(08f&uyd?U z)ME*HH!wz$-Iu(M?ehaVI8<**^>fr%NYG>WEiK7QDU~g=dz&MZ?laF8f6Y8L?0(ZY zq?aiv>cewE`l<6ovOLnaje6q9P3Ky&)lYkhdFeQw-S6E9h)Y0lkBx$)S}8U>3H@#g zRtf@=Y7%;~JwRLn;zmF$drW8Pwm;S~yy=pPo-D(Q-083U)dMDn2IsdM^NiV9Wd8H| z?#YKM|B2)uC=&92u93-XSRLzRlA40UdKV-fH2?+YuX$amI7mBUwxmm`%-VtKEGuDRt6D_FOVuGEFg8%t8& zSVVbaf#*fleV~ri>v*L$T$a#tYJ(?c>#DsNZ=8O0u?h-gzZrECky#VtmlO zm}6U&=w>_**}h{w)*Kdv-avn=4HJq`J=b?b2NLHre zL~wPibVby4o2-Nhh#R7c zih%Sa@9uUdTz=W_%FvZ!a75%|2zd;Du`J)19YyB)3MtvZHSa!0VL89Iz;>xFbWNXeDRk|!KI>9#lIOeE@Z9iyUKwJ6`!3fd zf8M3qP&vHv#++x`=Q;1R|Dn6`I{!8CKWM!=#?+;dQIb&J2*PnG{GQsF{;ybM*`nGn zp>1lDls8Y*R}>8V24n0r?gYkS-!1m#PcAwsgyTsn)HpSn7V6 zqP%$S#k$n>8?2{@HdRs)cyHub@Y|(}2uK@62(UZ&KH6n?+r<865hkM#$f3;%k%pD& zr(wCu{5Ds-x?__q$-~*F7t*h?IBJ8*=c_3l1JRs=JpUs`1O%Am)LU)pdJB(_#IYN? zuhz%3Dcla>a@59xIF+KjmugeAbEv$RyVJY15p9zWHoE0?>ikk=Khsr~W8QvhwfWxL zSIx&XU+>c&{lxt6yWcV=U)XIb2V|RJSzk9recd#y#Q7k93Y(|i?gaEynL1$t;;w>a zHzQ28NK@E;zMF!TMg$~PCA!~-Q?P8FTsm_={#O?m5#Ip$`0D*;DlJ?0Z`TxZkY)~IFmUbB~!lX{@3z99-hCdZ7%TheUy8ro<^F5Tv($rXQQ%}1i zV}r71h=5>%>gl=Ix2RAT%t($&$@_SE{XPA$knTP4;5GCoA_^B~K0y8P0n<4*$8?tW zWn=8Z%==9zk>ra+k}nde@W(tug!1&*}pR9558u`=MVwueIG5P zkUKAixf6Sd zq_c8XclUw)_o6}gb=ukdD}Q#ssTtCnqaBER*f|~lpF1ERA^(xc%y$>Y)$^zzM!?bK z02&JbNr4CxM7tEA_?q6IAbOwwoI*CDyx-dAYHCSW=zSOUom~zfO4;JhZ~dbS!uGzT z<*kV>ulJrh=UoZqwe^u$W?NpbJl&Qz9{s-p?~EvKjax^dcSV%Iu5xp?4O=iFR#u^thSTO%OvTLMDHU$9LJ6U(DzyjUAc zEN{4fCbXY(E!0=T?VLCk;vS)hd{<5MIN}8)XpA-!0Xa#A`s+kM9-q?RtQy^y_XL?p zX;_2Elh~i~se9?tmRXruJzC8#9lT1FCmpq}ewIf-5dFyF6}ymrHNA-De+=(q){mFv zcd=O+Qn1>poVuxT>ZmTNzI<}#)o-$~TN^PJqT0{9uP|wwUJPSWoztd7Dmu%0n~rJs znkx@YGw^jc_>Rc*g&Fs8pT7C{ zaw6H!^D1#4ki387IdfyjBGW}_E*(Tp(9b~(633)7c56c8vnE_Osm5+BFm~N>6vUbo zW5MEkcnl=8m5zmgK8h#&uY`K54Px{~cf3c8-JotuXY3}?cTr>4!MAkFn}|u_@)ibg zJKQe=<*kcH>)qO5na3clX$m`$6+t}Qbk|LCXYqad@c`hMI_4mftTrUB&JEe_J0H z17(SalwUk>Ezm|d-WCD*tq>5(H}0&;_mzH)U%#C-v54}@NHWO+>F5n#1!zWI`t#7@9+!p)1Q| zemOg#cZ;FU{vVi|f;0;l8Y78-%ou>>cXQ2VN+WxbCZHdos17FB1B1M=Rg+>Y)P(wx zZJU&1w=l&x3XTOkc00pkSAW|{hNiyWsh=l{oo`hf2%^bFX}0Ny9|{fpdI@!&X! zz?FpehsJJa`2W-faVs#E+_CFACTe^f@P5P_F4Ba0pU4pid(n3vv^My)VLF?pQbZMF4=FxDOf#?fP@Li-3UmU zlhDJH&%|3K zYwojbc{`IlKX5H@Up(-Rgx@Cl4^idqbnmZCtkb}~Ny}T9w2l(X=GT39<-MTBOJ_tm zQvK)d+cc`YiT|s8ZXeSH0&=D2b3i_&2*`VfUodS*dx6(D+-G}K-l+dv7-;(oA?b4J z*RQw4aU+q8!ie!ym{8~8_JMJZeKJl^1mrcE1F{DMgqEbW`4_ zvD+C{-s)Sxnk2Z*&+4YU7b0|SN_}VlLv3=b>5S0vk$NmbKXchCC?ZEGhlu=vfdBA^ zA4OvJ&;I%s=DoLXn8^eCnfwR7&e7Z6*@9iSlh$-AJE8wEaImKl5PS~;5}t&fjELOb z3B4Nvg33vE7j$Zp-PqxSm_1tIs|j+#Q2Fo9^@{&qeO*ROxgmg7Q*L|9VTQR6-<@mf^bleLH2R)MmF|6_GL&}ZZ~vWJCRZx;e} zt_F5lA9JB@z%3CFn}XF!1f-)fPv4hV$9{PW1LgJFIM5z${U(+-W!-51ybw7S;z^&; z5!E);(idQypP}dnq6M!|)Zp>S{mjEeKpH8PX%-QX(KNAp0L=rzo*+5BB<(5dHg^K< z>7F4`xQ00?AVr9NVE)HMn*V{_keAW~`c3082L!8N9} zjyoSG?Dz=x!DxIdOgeTGu#8A=D@7pQJNPt_kAKC{5A08qY~LCt6~FwQxxRauX`S{B zzfYonkrCHAGt*pJKGA$c9Kj>y3oWC(2e*b%>Ytd-aK07<2o>K;K_b?41p1`?eJY(zZ;RAVfmG)pVE$ z$gh$Tke~kiug&{!-!!v_$4or)9&(;w4jV{FbQ;#3vbEBAZcnmbZk61)5s)Nm3 zG_0se>2|5!yOYqniGV~!J(69EA|S5VhDt?3ZYK}$PIvHRofMu*EVKJ(_hgtB8n~G6 zk!pj%FN1_&Wv%}~B;*ed#@GNjTka@|>Le2NT}|9Gn8M%5wZe#J6ne(2e=KC9S$?C> ztSXEwM|S-C?Yn`_g0eS!EOJulZ zn062lTMwQ=V#}M@E*EN2_e=X9E~M3_vFNr;)}~4Nba33s+=yn9GZh8qs7^wEVoIKQ zlqPY5fXoB|$;;*lgY_h4>s*jzE6dzUs#VV&IuiY`=~qlZ3W$JE1Z3GrL_qqRXK4~T z2ngo3oUf25Yh}w(>|xnqxQN*@coCM}*ZNC4_cTDHJVWw?%FBxC>pH;LU%8X3&%@g~~XGmd5XG2aRDxdxKUzm3fKFedE zqcT5)9bv4A2gYu6ze_Q8Bl~uWx=wb#`~1kUP#D7P!t};iwbL)E{A-c_s|RDZJt;O? z47GI_50tk(@Qk3o>qv$_3H4E!yu8&t)5UImTu4#B7b5g?G9AnR3;&M@NPBrd^R06S zyCop+-FVB)8k)}p#BNH+(OZirA^b_#ru#Bh_q$VMC|L?tlw;jSK*Bb1`19R4AU#aM z>TWW+OF(R6g~>;E1SC}_=xK+%6@rn@>M)tQ!5}v1`qq3|X7|5ri2c#XN5Y1Mv`p{6 zS|tE;syr3|+%{GAt|VTI2R~QYbG@(12js-x7Rvoq*eo&lEC#kJAK1P7DhuT~5oK#n ztGr3R)AP3K!oc_PuIS%)gr4O+uPS_BJiYQ(IrSD%ziny$XSdG7<+ab?@+P!ds`ADo z%Nt$4p|-Db>eacwl_DVRHAS=&`ej-*<=3gbz9A3rXTSTG=DlMto92@Hs88g}f2nc% zQC!dUe^%)==l>_Gx3-A-4fmCf$UYUSqpFDUkfML%c1gMz5gLZKqgQM79t?aXb+GrlV}n;uYyGcq+FKb zZLJFT$8g=G=!2pD7O3B<)a@Ls@4}>Gye;rt`91pG%@;PBPk#E#$W*Cl(m?4`KmUz+ z>&b^q^VECgS%h<~6v60RILdtZoezl2{4_lRLSx_)njiALcW;=Eh9Rbv$UNg^nq#sf z8Fqy0vg+2cCb6%_Q|gp9cPvz;Ti)0$mA5U`Gg9`qc(e|TC~u-ZD2({e`dy8Ky@9&1 z&yU9HggQ@Bzim~~SQ8jC)rBc_W=B}h+42(kXq(&5e3J;sr`-{dn{Sz!L_lJQfDk_9 zgbBzWS<+p!9(Zc?z4O`u6dKx`wq4P_g!rxU|(b<@J` zCO8G78d<5=e^$c)YqkpHMFWMRWXtYLq$T)?WW$_Fm1 zpj)d8gV)%&^Y4ct(W=+ly?bS;P5*uYy*4rk+iD<1A~Z3xy>>u^3?wOHMa}oIVHx+{ z+v=6U6~Dagk>$1J3X+Ug=ePdc)AueOG0HX`Yp3ZoagMA{xKtWgENq zB!9@0aghsu`LRmVGBb<%PF(xQ0G2kd-wg2kmn*gpxouIM*e3%0JvMT%i(l=YH zLj5P9e*J6hRen2zd>}muM*1OIG3sSa!NMF65Rlmedz*2Tf;G^lU}a}|t6{m$j$2(R zCf%Kg1MkYn)XfJoOm1)4{{#D#Op3`KAlQU((*#MudY$I994nKRu$oC)D`UZaW65JG ztZ@u0zs+I}Hn?r2?U2yU{@6`u(*!&y3XPy%99nsnh?ggW6-HfZ)}FJ zCOigOUCgX5jPCOR?6LLj*K2EaEG5>o2F6FY{Dl!17{aFNaGOVCX5`onV6l&B?WwTQ zt-A!A2)(~5^t&3>f2{WuyBypSEGv?GfK@dvP824TIsNj+BJ^`CLXSDW4UdKDSU_5d zfV7qo0Xdr<0hv84-wepQhw-7W?q%fRi?yq6bMc_=()828x1QLU=}vgJj&yg9b9icj zode?9#$lV;Ub{;`daw+yJ$EbAUHvL515mpf_!}S z0aKipW&XuOL_T&8xFdUf+z9~*`9~rl|9)+uxltdZeFr2h!ZjFMDh2dfD^&>-foS!v z#rSiJYmDMrwOniQeiLI*ZG{lfw$%+X?X+WRd*cw(Mqa!QN=@jPH=I6?Fdg$p(s7u% zK-bzEhnjZ!zP({E{Z2r-RSn5j&6Q_^1V&6%Jh8k9*J57zt>Mfd>=2?>6(|QWYOLX^ z|I7Z?F|u1KU1cqG2ld*BAF(+0tm5W@SqsY8YzTsE=Hjhki4h<-+_C+?OD2joOFmsSnjlpKBup z-wLu~`?9S!uMgY*;1h|qN_Q;SwulACLb#4>+f+x?Z*{0Y;96zeG*!qdb*IP~aJV#| zjdkpuv29X+vxb)8oj*L+%%#0RCKmQGBl=4eq<^n0o_B$HAXwZYDXP_>felBCiH302zg9O=cQ@;)U{t#1K7{Iv2*XH&$-@e!^^EJ{X zAei4lD`UNL=y}sTr?+V-&*S$sQUAZPZK3(}XTM-#oi+iXaq!^}zHcr*TFL~3>!7yC zGi({hsua_zVv%)Z`?1>x1w&jcFAQ7@V~tM;EdUKc^1dedSQf^bw#q1MbjlXOpP)|h zamvR~i*Nq_kpC4bZ)Hp|)W=@iAEf`p0vPSymvZd7<37+Yow~$%jiX=Chw4cGLH7ZZ z2%Dh$+DR?|zX-27SmzBD{YaSAhWphS$7QXFJN0eL5et;JH4X2yVAj z#e(C*(^(X$rRYa<8U*AgOh9g!xg!e9uwGy1=xAYYod=R78xv+*8|pT8LhlLYrMt}d zt?q=L;cO1;+OO_pbT_ld?uBPbh-))P5t6$pSho-XNf!M;#oI=7nPOB!rL#O*Pv?Q8 zyMIS_p*#0G7zFoWgTX()-%KM<;Q#q>;T_-O<4(yx(wvb0M923UW0dycPY`9JK!K;F zy3ivP)>vSviY1D3T?|oC;%&8q2!IE((b(QdgagLnf?{)F;b?PV@feXsV@=0G97pkY zOh^czTZxFk=ma3cfaK>|1))Z7i(_Q8RNL!LxvK5CH863_k`6U8lpwV#@VBbL%J)?J z?`W|`PNn2V9u3%!<@r$+Wm4Yf#Ccba;-$9X-*%ft%`_9!mWHO}w^p>NoOQM7>o;jfqg(JI`val-21F8NeKg!xa6% z3RurF0ij9gV?aRqn6iPg6fai7iuaLuAZ`>S>o(@drIVVPplmGxA<69}=~n}Z7-6D3 z6ObV?34I+CkbX=+-kdE_kkg!sRmclsG;95|hU=`-soTm}^cV{F<3QaPMvOnjrpj=; z*s*8{zTg654jF{4zy&h8zSVqGSN-Y1;t7;$`1YGmn)5TW^__8Zjv^oz*ViyP=}`oP z(zSRZ`a{#1&@g5xZn43N^41Q}@)rgBd9wal9UAB1u~1ouvtQ#s*VPoi?%2>pBw(p92x)0>g5|1{J3lI0CL5r3>dY(euKx z33Sg`25JB@e#?dcJ*%a9fIJ(9aFr`cJSu~RH@<7q{Cc^kh|ATYQ5iNaSV2%;b-hGp zTI)z^2eT1k?`>9P<<&!#>{=ZxLtNhz_v#Pz)TDLRRAK9^K%R%P1)kxSH~8Ep+Xkux zyysM+90htU=D%N`??2a(O7~vB4O^<5Yx>)8J)fJ|i&AK40_^h1<^mZ)7alAz9V@4j zl$Z;yte8sQO*0*IY$7snZdNa^EKSq~O+;eOP0utpUf$00K|XdPA&7jaadvs@e2SQ4 zN*^N9(ZPguEGy`)RnyItt&Qf&#(HykV;vpq%;gQW=F<9Vb7@_bx%60t>3XD$WGZ$YSz3!VCP+RAIc?%GuFtts4o_P6L4Uc^?N zCS)|i7`yTER`Ut%&w(Xz(;*GKgf8{%t4}=01f8*mo_~&vyjF_degA{^>3KizJ`K^1 z2_iq=d;1#WR5KZi?9@S&*uyU+OJwviZdDgK<6i2!C4dJ}SQGQ>qspnD3dNeL!VsP~ zI8hl-iCY%00&V2J%RbAIFn)V&>FA%P0CvTL|I4;%2nQLb) z6eje`X02aoXOdbWuuLeR$4H++_gz>zf%P2pA9UV@<*N6VjwfP5*hXZejrs?-DRiFd zp=M8~`NTar))a>Dsn8i?{@9Xh)F;VFb9Pz==~l`DAV(l{>^b_3>-L?to}0@0n)9W7 z(>NGbvn#S~M`1G&?3J1fFqgPpJ5M|*tyRfgF*A=muF<{0ns@ux^UqBbnVQoSE9 zl067uAhal;HH8eUMBsG|hd2XRGkM`!NIAB^phv`G0TBr@96JbjFMwo_(Ry*!40Cby zEOT+qY?3*0e3(A3p2;4*PBLmQEF*AU0#F`f+9)E@3L>J4wwV-dbIm|c1f*4J@mZzT zIRebNTqK;vL#xw}anVMeCy=8y@~q<=UUpn>rSI_{@Eg3Zh5lDFJ->-biM*@1b|7Dq z&-T3o*ofh}P!VImy%y)+$$if6YwhplS^l$&yl1wAp6$y3se4<7TDN`%N*S!wgv!Rm zP8Fy9Z(0spzfe3E9-MAI=xXALxF3D?Igx}A|j|JvD(ypMuK|IiZmQCdJg==KgegB*9nvZ_;6TbI{ zNM(r-E)SIhsVnaseUS~crn!0iUz@5D$v{G%u9T&#TSC{wD2p~iqMqdudBu!tOu&6i!!tCfH}MsrwpOzuy+q4(#B_1F*OI7M4e&n;kQ2U5?P z)S=OoPF=dh#l7a$um9U7&ry;{7@J%osJJEAF^I=Jum*V0zDRJZo$%)(%|ZIXcfVsk zNoy4>S~?em;pP>>lu>NJx6}bk2Jsj>M-h>C4n1c+`z7u1@lhHP5F$OF{pt_q=BvAT z9JVrc32rgI&L1WC1w5NKoJmSc{UCXt#RDDpEwy2+8mMD^fKOap?5ZmA>ZqwY9>59v zJH{FhZ{+#SwTf>wLELLnlIK0&!y5;y0{Cjnsb#1sVkbtkmZiDImdAa65C;SL!7X~wykJO(p9Xt7{dp6#L6Q?30M<_WwDU>`aCLN?v)+L*~wT*KKt z;RuLb1*%UJ9(<` zeJd-0k@`M7bBHLHI{&@)-TeLrB`pm?Tv$jUHA8CjSSyABjN#^bA!@DqKismndjD^T zN9ep~vJ4U;#_t#`22O)M%S!z)E|Yz}{Vo5dZlILK5;I({m;WbXpEJxOLmzaWH(&g- ze``Me{6|7CXd-zsu>|Dv-~9_xY@PI+;pPmyY))OAqfq`CS|RA#3!7-Z$1lw1w87iQ zpMFl{V|idTCuA}Q?MST6tb;Eq@JP`yh3L)^n&)x?B&58MBR}Wdx^}T9 zqAtC2?^=v8$+n-gL$IzBe(PaZT*MN7;1T4d0}P z2dr(0!Y=E?QQWiG)nc)WpA#&LS7wXjwp_J?eTR@fOUgS$N!Jh`M_p{z|L)6B@3+lb zHb|3-;FBdZ;_PawQIb_n=WwLBWT-~!2vI4o4=t2FbbQ~h^oU4^;y z=v>qF@Ep@g_i*HxeuMT!Gy?jE^%%;@uX_SgHL}2r&bgPOqvAX% zBoflESC->E$x1mH{dShjz1^MAZzWydX6r=Rv&mAhToRIOH*`xt?xtX+ISD-#0kIO5 zg5@?^s@1U4-6SU66|=g_EsW~8Q2KvBf&GkIF7;=?T zX)bT7moyrDPv8u&1_|kWNB|j1ww*%Mt?ca^DGD9r0HgvTYr58g&sO>3GoKgBwFMv@ zqgnB{L3vYzg$)cuTUJhE;O}JcpCSqXo=;Nvq6FlbE%cri@=D>@+$isF(RcaZk6>dP zzz#*)TyGVqC~JIft`{ZU+%Q~!GgALcu`ha!-_;=hQAn3QQwc^>y^;hN8}OLTx6cY5 zTN<5bG|DrYRADzONkh3&Ccdw6ghYZ!5V>euHi?ZO81p?@LYMb2pt&AQLg-y*;8F7o zk|Au2ohDLn?S=K``|rPPE)n^F!b3UR7mxSa2yJ)msWnVcI2Go@^j9O|rF^Lj?>8MW zXDO`!02!) zD01;THq>NE-j8%*`bQk8z&;@$74IH?UK}6TJdkh%_#DU4-9Bke6S7)J_mLwh6xUhQ0yJa&L(+|Jqp$Uw_2102@VcZ#|AzNmNA|Jo4ntl zEXC3mF6LS%P`!_#&5DQouEyaB|4Tj>d;gh_s0Zu7^8TkhtGV96=(-{NxmgKPGm#%A zCwvrQ(!_*7BQ+pIS{C%7HpVV;ygfuZ3=#gd6|CDhU37B;%T?$<)_amVdQpi8(py;v z(KA{#64I;@v?h%rL!>{)62?bVzxT$B%2_ynD8l^y`9tg^;sp`BG}sUM^B2GW*XG?5 zuhM*ocnRL92uRdEAZ~u(o#=?^ zE{N2s}7#kM;{=pan8H@xQ^31x2Z_9i~k-AFNk}T8(JfJ8qM9alx zT!`{Zss?`3tmOcaYVnK^JY$qTN1lP_K_RzOoqhM_RmofL!BV8S7dt+~DErR!E;bI% zk^+N4(*y!Sa$Y@aQ0C{zAZNpZ-rJ7o+43ozKYjg~M@cD?f!9;=VK*}*uikrS_M3C` zZt;K@Nxw!8bX8o>wQpDW{a*Thfp_hkGZy6DmYANyV z7U&4v=cX8BW_j~Jcm=GSOj?;smf#&v5s;Z6AhZnc5{iI;fNbLkNFL7v0RcHY2hNQG zUiAxgz;#hk;1IZ&Lo5oNIxh6<&>@D zG90@eF5}cIHX3O@(q%FfVK}~j`gJDZh;)E(fRuks5f7wifh@fJ#uG{uCJ8YhX9kaJ z9_OQZT(wZ2hBvzNv1;=Hd73|=Xd$8|NI_)z$KHAHVwU%u(TrP+r}L#;9)>FU;qSd? zjPd`|B4D2Ww}pb=EsD*pjDw1WjU(9cg8%E`qWuhU96wFFaI;BqNOp zg`evuC5SdQzoeh3A8~5s-WDz4vYeBvk|?DtzRUj_?Xt;gthYrD25| zt|xnY-0JFB-KB70pN|#AImSFakm|U|{P&G3JZSDF2_=`||he zWMaCZIV|5^5aT@w&Q~NFQ0J_&SMqV5fcQK>8OjO@1&VLEC~-FK5pIT;hsed1Z3_f& zcPutnh=5!nFy?bwniAh#CLl(Hq-$LbdHpIVSGJU%Gm|Dd%cSPErIXnk-%7@58)O-d zlZc>9VUhwv8Pdkb5)z7NtSI4$(jAC!fLyGe#e}2l(Q*NNB0CpZDorO{>m%lfmDZ)!jkXBc}I&mk=eN*sp7;t5<{ z5VxyOJ+1H!girI>lYNa+0pC6Hg85eK zN%Ng69dtZy-roO|xlB05Q9F{-xGMF)0{T+&$e9(TD zNXHrT_MvCZmE9|Nd?Pw>L2(NX6L!onZdDSt5^j;;GjOZ(5qjt98T{UML=KnP@jsD` z;x@%C#w*1x{$BA77yvx6_|U@mHCAzAoQD%|KYCqi{px=g5y#qd6r*i>&@XK7{BQQjC?r!s!O$asBZX<|+w} z*LE$V>r2@Ac6n0+-Cs?=E93stPI?D8i1(w9o`Re*^UcXA-{7>-)3f`U6D04RNpB8Fem4S=1_8;* z$>9iy%hsZz9&Yp_ihx8lU^uLGCsr@GQ}R`s`!T*C+x+dSLi6`TKK|XKF_l8|@7C(( zf9wAABOm_($F+VGX$erQARiYVRU$y%zK(}xkq{vu zQqxA@-cH`7jt6JRH4p_-&KKxD7I=_ATp;9uf@1EX6oyWg3Rc=oI_OB=&_v;B02JF(MnhOirmgJ#>QBUjg~`Vv(uLHoXhlCJ zAXvE%?E&W(5jha9X2QZIip)UQqVJv~-ODa1T zEe8z(f@s{O9m~w|srR$P0OaGytX%UpO+x=HjX5B-#f4@<-+MVaIzkuG013&{NJuz} zo2C1y{V{h!zf%+5Q%x6$vR&OdAW`!`!k=Md-z6Yvu7VY=#PB5aC zX-D+V8rc~ga-~)#slh<9M%Ec?AYkGw0FUNNxS*$eHkYa|x z4-lphG>8UPH-eY&k{&VP7~srG9UdT3_PD>3l<5Tm@D3&+Wdz8jqLS;s|seB!*=;s8F4?E?4q}(sN^ZW};!Ybr@@0q3gOchJCyl1IA>YsP& zZ~2~w{ohG>N|jKRdgZduv}K2qMykm7-nmW$;w0HbQYmmH8Qm zJOsu;Xlz*H*#B+JxnJb8Mm|oKD*-8$xgSVPdYR^aJVyj%4-=4n=FxFNK;{k0B?8ii zQ=29gIs}BGAO*dB0@5o)K(d_8QEz7@m@H@hhY%3j`-4bGe#Orl>;b6IxKo+eM0^rQJL5(U}M1VmELn1IYx@}YA>&S+{@xD9Omo(_@EE5pIEwn#8*+>gQdL>6~rwEBaS|*K07=yq9#w{`see7Du5nC}D z8x$)nUQ~O|la5Dp{I3>+U$9HZzc+U0$`}WJDAuvl1Q-Caf#)&FsAX(qYywVhR_sy- z&PBqlF8Z#^;wO=mPQ@*YBTP(O413JK2K-^Hcvx`@j-Q7Wue>r_e4y_=oGIt$`?yuE z@0%OM!H3H{%(Ng-7 zyAkn#;pp0YYTr6)mnzYDM5bDa6d_`R_cf8D=6wAy#x6Mj z&Q=c)0#X?ZjD@oSovqi(gV#<_1mx1r<-AZxN&-SDuU*@gnB!9(;Bk6 zR@5q3cT=!>I0-#mxv3%`;XJu;=qjC!346M-OSXJELg zB0rB51}rzZNQ_5-H^3gs4cxVXtGXcClxj0Y|UyiV{)K{1e_dwIL0 zgI(G#-(RBeG?$5f-?c#$JIW;lhR!#*?^4ANLj>PJ`Lh8)iUeiDajhjNl_E-x#8{}+ zXX|sk=h1O}9se&OWz}Mk*ypbEj~>b5=h-Go;gqFm`B;F6d_dU}>1|QN2nn;mL^g|3m^r7=)7+&AIjmU~l(7gi$ z%{w5I+q+c-s!4kZbw)6-^K$bHB>B9tM1}$%k6sKaI2ZALnd-41W*%QQHTOX+m zc5jgGc0y0Nsg^hA!xE4TCOI+zJzLYSXaagJ(!zv*Od*0)iWICNeayn)LO?cH0-_O+ z*O-7%+F2RW&oCi9pXwy$5s%Xe^_$opex3Wo&a3-`^8zK7F)`NA-Z0!~GBF!-dlf#OtfL3vLXIhHIF|w@PQeWK69BdYmwsCBF2!5TLdF6Zfx|%9L87&jj0a8E^DX< z40m7}#+Z_ePD?JxNz=8-Vpju`ic1#5fL%<2i2P6)E&)dgyV$TL0d8H~s<^dDaZ7Qe zld-GL$0)_Hu8oQ{_zpO;-o=SZiMV*=rBbn0qcCvHtXJZ-q0YgrdU@XlsSAr+9$x7) zTnxPMnBw5NAa+?o=VM+qw+sK4v8qDxs#@_%aLYSK{dQ1mpy|@Y1IFTzA0aj#YE`nTX6W(NO||zAM-TJskISbprlaot-$2 zPEbVS(#~Z(_o!O}LVfMn6pDZlZXH7e1O((vdJ&N7k%eYlpL;2Nv^S@Z4kYX<=p*>y z5fF8rWQH6ksnVQobs>#($wyBnriXVx58JBYYf&j!Q3NEsnfKiktR8Mem@4`aCLmEA zCRz03PHaeXCpRI?$_l>gFNlylKpX6QZ~mVy0r_u4K>nX=WWt*4P+S<0Q|yft@H!2E zW3MlPU8N9@vy{GamJGRb^^}`RljLATHZKz6v32Eij#jXDi#>VOtdyW!nFvr$smMIe zFYVeS(GO8zwQ4Yn(z;+H0RUusbkY$ntgG>f0Y5_&b{7+x`K*vxwk}ZeA;jY{D{)oi z+msCP`63}8bpJ&N3=EWW(>!^m8U$T>6lFh;KeKFXP*J7K%DvW8{;ZhUAQ0jrBt{Gv z|9S4QL5+z9CUU-#w~F3My&4tu-aT?&=NSlM6o@ebQiHm);?=noR`{amnM~5NzIz8E zAfM85yC2d7-it)|&e432CQ7$zS^}9!ihLsVA5!wmOPHKMnSYaV>_7eaFDVl8>FuRp z(Y_4t5dlH81AX=^mIVe8K|ih<$o={>M?rk@?T!Uj=oMlBixhgsGUSwFIQ#b$c%%c* zI5}60ZV(Sd05Bio^;t6a19K#vEa}h2`o{6H3;MF+zDz){vEOVm?5D(fu_7PtrZV)F zWi7EMM{jR;be-Ip#xlIoQ4eRrd8RxM`P!KGk*j-uApHxIN(b`>guN)@E4!f2r3gqJ z5s*bhKpvz?^pDY8mMt`=1uJ_!L;vq3je=m#%R!POTp#&VFW3(S_2}1Iu#VLUQc)PH zemO@KoCu4+){jXFvMbve=Uq#^&TPV^l-~MN9?&^3vjD* zqvEaS?3w4`VwdwB&O6na(&b{n8hu{F4Xs< zqAxByLPwAgl6KUyl9RwSzCM@R4t<~v5qA=#&9zcGRO^aqj7uOQ%^(F3#w&_atQ7Lm zPEi*;i^&!KGon;zA2_)X=^!F+PkFVkN&mS@)ZJzxGx0 z=U@4X`6|ghU;itUmEmAlR{Hi>ce|6{sST)8%?(L52PD}hi`@~B@bPX0B#lYv;W-~s z?W90B6Fd6b_DZxDO00mcN@7L1{YK^)ivR^u7pof{fdfi)=T zih^OqqQ-HDDia(#)``ck14?F{C?8QmVtmVUlz4zNY*E6Yq~qc?pK!23*uF&0cP!@X z7d0AlX^RpNj)E*y;v&z&Gexn_*Y`M|x9Byi^fwD(ff5FJ;j(RVL`luX%~s~~^SU_l zBG0?1(xu<=eOrXE+25k>>^rUU@6>mChQ%f|0B~f(K?%%8B{AzPF>y$VdK^*rZIs5) zNxx+R@}r;L@*I#)DU}MVu3RL~8;rna>MPCGv&hFOriuDa3n|@JN|OMYMSps~^#o6N zWJP(alhEn+@0~qFMkqz?D7td4ffRZD2qqz?$tXQd*SU|YGUqWs{ho<9EAs+>Y`6+O zG-j-Vmq>@s_b8K;t7DXMb(Ba4R)Rtrk|iIA3_M+e{XhEgz8UMtXkR_1pAwKu(;N%zwShD&?23-`r+6RP6QrL_X~?o3Ma`?u3hp+Xjz>?70Q@#X(yp>(vU^`z z`nNwKAN0N=B_CK`a~z@{lzug{D2JB}uA>yJg)|9$(^-uPwf5Widi5YOg;p=Kt9e;zdJ*7 zKhDzJk8|WvZdxEIG%zMx;BCg7Cy)v@NXywv&cp%^74nXAl$EgK@}4!kf6ZI3?lLzI zJZs+Cx7%EKcD=d$_(P_X#w(25HtNH`LXeXVGJttpDQMbLIIGt?Alq-%U8>U|!c|7n}6EkU&3pQJjswuIO^{ zYlG+ukB~5S31+c8TA|S>pNOyoKI=K@s5Th=j|v%Sqqc4%64FXhkXCB@7HUKE4LH}D z*+DXm`%4RS9qB_XHLmum(Keo-F>5#hei%X`PXb04Ryqoj}{8eLR| zlqp!Beri6Y2uR1)CFa1yZ}1Y@`=|9aua)GQx0ryWNWuEq&&~TpKPMVdT(9$swn2DKn$jqo)>+5mSZ5Kt20HG?99(&^kR z#|r>y5EAv|gH&`7cz2M(?O=scBLY%_=iok4LKpBXC@EH=WV{2!w+Wemk#Gqq3gqQM zs2TaLm*8oliGMg=Rt0d$72LaHseiQ3K#Bw9!Lp*jv-x}pe~l|7Dy1E_sI%DbMq{NJR_~`z{e1%@M-H zWJwK=PBkXDO{hLEp#D`lln}O4o;r-G?;-{3RtN}|bi}fvq|my^>j&b>N}N23%_~4W zrjkK8l8wXjSoH;p9$sZq<{&0e^6$5uG@oG;xLYJ4OhC>ZVk49lINn!}D9BJHAOqM- z4uh4+H+Cp5k9o%MDJCG|p${6pQHHS0^Ej!K%}akScrgtfRxZmSQC_h3`IIat{(-#&gi_d45u_?aO5I86rD{= zi7HvKdyB}tj|@)p!d#R7^d3Y%Fb4$$1ko7mPlEX=NE4e&6Xt7O0z#=|8!-``{@0!< z{mgSEc}hU?IQ8tH5;Cleg*rM>R^Zp0MvdIMJsBc`LiB9A*zc_I1&K3mar>g3$zVGR z0#ZMM9Vh3>ae_Vv^2^2~aElC1_I4wup9ly@#apjEL3<_~G2earn)&{>-ZLM5|GP}4 z5fMamjTdL2zKQGK`{uiJ-*ujIbe)LA#oa3z3t_;5)Uff4vB!>#g@S|h8TTXQ@Uvh4 z-dmaI2jBh{z3*M~ZQ7msofEGy;kiW5vniX5A;34_8jM*M#S9mpEM{!?&jqs!t&3Ezklxv~g4^#h;ov0_{!H!1^|NIGu=t8fk;GVkz?nLSO->h8IJabM;wr(pd@yE4^Uk-vM)mpeTN1SwdU zoOaalJOZS|a~tDab)SrgB4@Cp{L@o41b$HDL_p306e*42{9^LbfPk6vIVU5GqVe=vg2yR_HS;4gHQ~r+x;h*(paZ$ByMvCN&B` zY%cCtCbDz6|6El{^3D~M53J?H(O$>VzS}8}yvLF(`)qyZPD^B#s)1k)5~?dGJW`BM zj%*B&bW(k?!qhflWk^J?jl8#=bpQ9>yGaD(Cp{w|mVD429+#ea#GECguNewlm3R{w zd1ojZae z5fG%I!LR`VImSdy>g%KuH^0u^Hb`s_d)=nGozzs6Q-oV5D+Vxbou<@Lc#O|j+@ih+ z+-d@D5eaT40s=mkgg#4}79%o$X#Oi^-m)#bRmIs_GmldD>qs7oW-f?a}N zAajCSs!zzF)j^Ib7S$Ua>+9JG#^;EhK;LL8ndlxl;yw_Pc50(Ga-g*lX>0|7B%Rjc zk&u~8KAMptg=-JZk$aHNh4ehU6Br6?1qnlaG4YV}tIMpDRCcYD|A#(67~DbSYe(dn z^e3L(Ol0^xr3jwG^5yf#FkZ6rq(-8*ARi|y6uXpspDcHEc@W3&87WnrJGvntybP~T zKsW+2ogyI9`g9)w`ME?uunN{BA|R6x0ilWLvHQPfhUND$ogMAwU;L|oZGJ|Pl26Go z^~D!onBV{559YVO`Hfk$Z~;d`GBO^xV=GjBSu0BjTT8)0#N?g&d{a+K{836@*hCXjcVZGJdk<+x z;c5M8B4-|XQ1i%hNJlbaK3-I4{$YcVmmU$2)sowO#8LDxnvSaiKcNwjljRCR!V=&U<~*gCh~6U82M>a;`KL)u2_8|??BjR?qRzxa(9 z|7i*o7?#n!^z>R*p3P9!l;YA%{iBJ}7|@5h=)YoPw=ZZ%-VZLeGC4U*sWB~UZ2zfZ z4L$t`wAHgC(46{?uoJj&pUt8OR=JBART4?wPRl7Lsq;xOh)#h*+M>EBiTnw z(qc};vn5#liuV7YG^NeD1n)yM_ALRiDOgzMc4DCz{8&+D5KRD&>vFtE!|IC_v2>|i zZ+CRN&VFcBt3VVaoJOE2SV-eSIv1y3WoPp4>mWN=#bzL_=|6`WrNys5D5~B4sSL)72LcH@bJD0{rNC>;i zeB3%=+lwP0MeH~^$&QnOUgY)^^|{kX!2@m~0z%$p^fzEx2N|*0<@v+!e~-xqJis4O zUqc_lGSX?2Z(Vj8tGMC!7zZFF-~aYEX%B_{JjQuk!HJ?qH@yEadfz$q29u7Dyq(cM z^mj-9_!A}~G6p^~-+Aj2rEWdLhAzgaheeEAOFgGdm&LA~OBpk|wlDLri|^a6V()ja zZC~m=&m|y?L7pRKWe~#@Z{Y~?$`m**6`b0>OmJ$4BlxV*6n2z&vWSKME93qGc48rV z#7-&TmSPth@$2fuakb7DTm(6t=w|5X6BThLA}7ji6fqXUDG?Bm3p>(?fKWecCEfbQg!?#J`P%ec z^9n^ku6H*FY``3#52Dw_Am~R1}mN0b&3w zaf|@{4rGFqGk)j&hpkSTw=Cc?pbo5p_6dfhEOaQ*U`4$i^(b}Prev>8+eMC~49TMh z;&A=-CwO;eObY*u(oR18*)N0gb6>DR3Rb)N=%Y`}xP?7kPkAfJ|%?(UL@jiTnWhWGG9PCj+M&14-k)oJnsVrcODzwFOw7D1tuT)I zhV4p9|EXdexB%IrvU#Crw2LTqd7u637RxRuhF#d=VU9X58xX=c=%v<2Dj929NLN8;p?#Xkk=9H)4A|8K0`ibZ(?k9_zJtT0 zh3;>8SoIvgvqnjeriVda(SKU4VME^6kr}Ow`s+6j?QreWYGihYMnELZ6CLx2kuXCSQA|m5K_4!mnp{KjKU^@48x0+VCJmGoK$;gNO?rsWJHyaVUl^7LPN;UxRs;rk(1_?d|<_xuRS2F{gxsibpMs=JTobtW9rF^xP&(J!fG2PL$r=d(`Dj-FX9Y!y3(CqiEuHbB+IPmgG1}daJzOCksp1>(|MiK13>(am0l^k~_sS*11!> zV{%*}=hkbc_jNknLtn}J?}hQe0v*fAX>mLPC&=K#Cno9fTGH=E~mfv=roidXKzc-o1~? z_KLZAlqT|0D$84kUoto7{OYT_$)Kp9zo&0 z8J%|+mfg`2sp#7)TOuJ@S^lb6*@8`2*(%Gyt4v*W#-?3mXA4>Bt?68Sc;mrrNxjOE zos0(%=^4^bHy|W~VuEf$h|Ll!bQ1df;UFNi86jcUqeMV9(0|)T1mp?&uN=)K0n0E>hD;Ye`G1m_aY*;EhJ)M+bE{k6_++-0s;rhKp~lAu$@E% zg!1T5QzYzU4anyZ^Umr0L{xt(8(w;Q*8K2G5Q&U@iWDu1uDpBZfRc~~#hS(JsJZ^? zv!D-H zKdh@)2THB#l4?)4v?>`8JyRpjFLkysA))(P9u-moLec`PAwAW+TCfKsqzNR1B@C*WcTU{o4?olBiz)W%K)G^k24l_$WKt#O%Q73wj-VeNMrf1>#=PAwWJUR2u zE}3l35&=0)cz6l~ga|ZrF#0kw641ZlBs^ZB{eEs-iAUUXo*Z`^Cx<3|gZ0lRX%Udc z=9O_oK*&L`cPbH($vNg)cLe0;4gu+ZpP4?Oj~V*FS54X2VdnjJ-!(t}$xoB^>pxH` z){}eoXd2f2y1!9|hgYs0)}8H_%<-HKsYtcFZ+B!RncWzk`w=xEJ#0tYsSS4{ASnn) zI09lT&8<*(%Xzmmcu|BDsZQa}lTK73)#Rge-ql@41jz_QKr&?MN{)cg_3z&z0l7>B z1k2Xd56v};NA_WFCTl04H2>o^2nf8h*3-yJ-ljOf@PZLW zfOecbE62$|J6<)&9EY(6uQ3^PCrOc?qMZ8E6NE>^->J_->u`%5a8@}a@?*2L5T`0U;3`YDsOu|O16s^@WOT*MOoyNob67OV!L_?x2e)r(qR=g zjBp4Hb)+J7?R-#o%$U~r;?OTeFhXfLh1bfEWzUczF6u(h3jUMDD!qAAtLik z8`WbQ*QF4VwsrL$0g*PSlOtVgq4t8;?>yQTdCAMkJEww(249DOfU4IH3bdI#f-Iz* zn}|G|q7;J8-K#j_ffSd3u?J5vA|jMu{K2(OR`zG8UoiD!@Lj<=tzgjJA}?ac+rMdU)~ZupygWq26n zuXd#y6=wJgXk;^4k@PD|K=3?7R`M(X$<5~UtKn3J(FNINVoV7L%~P={SRf!sAzMZN zLkLJ;CLow-|Mb-UoKA|>zc>OiOD3cvH4Owrq995_bblgSuUzM))|gWAQR=jZ7sXZF zqVy{mW@uX`nbg)N(dOhqh5*;DA9&t;@vGmPk3ZA2zAuG%gd-w9;Q1Y&{`BYOtwYbV z!O9T;8n^6Np)rdI?;n5u<1{z;q{t0LA;15@d*%XR38KX=UUh`9t0RPG9roJxC5(ZB zU4mPTEjxs4F!oqdp}2)8X6Me8f@O?T{?R&7x?JaqB{AEU>T!t|iN2uN+o4V*#x5oy zf?w^M6}L7v`o=pGkcJR$i6cvNiaiI8seZw|z&6$`&izVAL`MN@Dp+qd)4UxfA*+ON zoYx3Q(}Q#5$U3f6?Fk_p1aefuF#+vxHrz z3DZu2fHaO4-HU!q1RDMNIIs)2g+7nIPjalh(9`9n8ZstxLX}OA z!2RFwQ%J2H<{JO%JV~`TTsn^DR5oIFDfm(Mg>Blfy&FY9q9&q;BOrGPND=~q$_Yn5 zT*8qo1uLDoAYaDBqIBQa-Q;(hqv&}MNxuFKQTpG%g;lUP0#ehTCT;cRc_51@m0>x1 z5+#*k!+2S$6H$=eQ?PG9f7WYMpl(FA!$;uZdp@7=LGbR zlzZUaOrh{57@Uu&B3N6+qy?bfLQ181El3M_t=5UOS%N}f&PFwP6kGXRKX3G+>awa|0q_x5-8Toj9h+2@-!dqmV>%Ypz|YFEPK36w37AU$ zNc9hC;Ul#Rec#0GQ^91?wiPSthbxtA%w=gJ?_m=u((}~b=b^MI@^P|W$OjbHr%87> z7ccQ=ls<(W)0>F6oWT;5cn~O8 zK32PWbCygvN9q*}?w4r(1Li?IT_QW5Bl-d3d;^h>$9M_eT$(?Dw98yhzr@bs*k1z? zh7!UB82niJ7V|H#xffQW;tAeoq=kz3Z33vR&>rSbG$%gJuju)+co@_zd% zP6J|R0^>lVkAW8JqOgn{I&GYysaT@e#YVr1M+Phwsl%tkb95|nt}PT{tW)QQVwZ=Drl)oqMJ>Tqjb1ILSfzhG<2S}mi8uXukszYoti$IqR~ zPCQ`O8H#?KCY^eE!FbWLz^;11u9J*igGDz(N2|U*$^;~)*aZypaSL*=2L$BYrbXt3 zG57K~eU8Y-QxkK{m6Hcj6A&i_tEB(EoK8MG;yG%gl7BWadj=;z&7ca0?;zwbak%0y|4r7fK`7rUskVpGu zBN=t`Ktjf`p?7BSL=GFDCOJdi>9ZgrD?mhM(2*t?uLNk%R&Xz+a{^v9RvC!bSRsV~ zgBIk335qInt$@|bwQaPAx7;sI+}C*S+`39)evb?Yr- z;sei`_qk54J?2De)=4y>l{{Y{LapoTJ*C>p6si=(DO&PgCFM*s;<}K}nhB!jpJEHlI^I{2ld_KM52$A7x8%YQ0d>6 zfG7!p0>@Z5GB@sw57|r*gac#ch>{MUc*rul9Pz+}^O-_EkZuI8|MRpL#?u_V%v16~ zbGdZ&t4GOLe~8G(GKwBx>^BktsihRG3L+qLNQq;v1)?BWj(2pP?85;PGN`X?@C6cr zXh?s|2hrVzb98y$9F<-!UV(h*d=XjgO6HH?w;&#Qz2$j4_k)PeV33b~viab+0?hxQ zc_~CdW>UGzh=5e<9FTb+AS3%Qky;Js3H`72^#2g$*`dx8AtC*kjGVgd+)zvT8TVx#CffF{@Gwx zylZ*P$FbJHHJg5^c!IPbL>CmhaNcSi8y34*9Ne;>HA-Pg4`bj4>lCVwz^+;kyHMt) zwTfSg=ayJ7);}W7jwZz{7rV}r!G9k3_3&KQAE<-#7PFXGlqO);*;RsDj9;r}v!jf$ zg^7mX%vqX~28{9W$CDX8#yx1s$ZXMVtlvu20b_|tsgjyf&oOh(k`8(Y>qf?~64sli zIr2eK+XWNYd2*5>xvX#5c_RH7`uJGYV3I+crErYosOs;d>Of&fN}2CyJTU12)4o0R zJ|G`!3f37SAkU1xmp4m&dQy&ge0+|%LH&rTDSZp>C_5-;~KvL`j zk}UEOwGm;u6VlV2Fx1n{2z#;?bV9yg#FCZbMU+)z?zumMmHDklK=R1T*_%9xIlP(- zj1d?mkMPdImVihq7FL&e|27E-6#WtPBm$g{l!>9mpatWre1JJpX-NnH9S8`FHh7OI zm;VF-;t4Y9*tmm-8O9zwHULj1AY=%_n*#$80%K7D8=!xdK>sW&fKnwPbJ>IBkq~PP zL&=b`Igf}5l+nZDN2`NIXu&UTI)?_0kII5BrGU6-bbR_WGgx?YQK=_;q zOC8?}<=R4uwV9-a6>S3@8-+k@Q1Y?CQQYhW^rh812ES`nG6Hha!epd@pUs8>-bu&i zb*`Zy|DA~#>PJ0M|9am+O&am0Ul^UOQ3j=U1sh zw}kS++1$<$C{rla53XJ0T>G@V&66mdF$vt>Tku;k5u{Nct#BaAs^HEd%Wi~ zls84;xDOHmL7zN1e=PS=^wksaAkrjG^kMYnW8@t_N`3n%6gUVs$&vCRRp2p=4#w2r zm59e-T~-&nnjg|stAnMMfD~xtLnc`x?TQHqML(XKhSaNkPQ5}j087+v9xnt08~1qx zWH=%qG6@~a+s;-3GPw}T@%G~VKrjyj5s85yAbo^@f6Ay*Kjr`&sdoS>cF-xD*LeB(7wpb_4`Z~taW)GuX+!9Q0(x`?Au&bQ$>pWvu zxrbd=&aKvS#w$H~cqZ6&&JuxDt|LXACyZZ;VZa+;%?fd#F;T!AH9iU!F%IGA>9*PO zyj9{{3%^T94|JbIZ7q(Sfh?QKy7Ls_*QtdQ*s;g>Md?@2x5uG(fnD5}g@7Eb9ORG> zAG<)zS+CF4aYJKfKSe;=wxyng?h%lUi_EhiAT)37=}CRe6BBaG<&*oOrsPm zL_kIm0jV56B0U1K#}bhHz0Fl65|YJfqFG^EOjF`}y18IFtEArQ9(3U;24O-HMLNRi zSZ-F)T>{e0B=jiq(UTM`+>>e&(XA|Bei16GvTI-wtL?gh{3yN&rhUIptPh=Bat)sh#w zpCTXtrNh><2rn;rPYzS)7Dm{S3dlePxTEA{ISRmo#~9uh0>WcVLdd8CI5G(tXHJmE z<|L7jlZyyIVF zaC|~?4&>xfHLlsvuBP)UB`8&%azD==HLKYCYfTAK<$cfci2t1Pk4SVyh>sARW+ggJ zYin7FTWPV!bv`kHQg2bQik+1^l(ToP$Mra$r-ncS8wV|xByDbDYw*PA#E+vLeqI1`W}R^*4vYzkJPDsYj*q|gu3xH$y! z;YB_Q*<%kv4+HuQ_U6;1b6)K!kC)tif%g2svb#@Bk@;Ilr9?_4#xa}=50C9f6VP*c z0ykEYs@I*+u?iOU0s#S;R4Ds_jLruEkxdC@GCBx|%m)E^=+|3Tu*%h_MlVZ3ybT6L znFFhO>vy?!&Icx*YXqc_h)q1l5|C`3{Ei3+mfywxA5$m-g83;(!Kz>aBCB^Hg={&c zVIh6=QTktqfMA(n;1*W>+A|gNLHaQvgLjovu~1(#^SItnfBQKSf|M+o$bWElKG*qS zD`k@Q=HV8TkRle_j>jqniGfz7xK$&9-(RPN3YZZ86BCeY2cBaC6k`)(7KHt+BQM_q z0r?SaT=+hvd@kg1=wqH@8Sud37KHIiu&asFF>!9Oq|R}$B;uA}Rf9xuH-t#WM#VDk zeu9&rcvFSN(&>mK;9nt%;Pi^wq7YWjX2p8u!8t4-EN3;0 zE{a7J5EKz9AC^^RETXWi(d~Z^7_L3++~bKpM@i3F?-_J%l_8=7WIUWBMR`t1 z5i3nZ8y*$~dhTJIlTaGLc_ldKI2sWq3-X;uisU`IG$QIgW49yY1+mm z)E8*}1%3Yk&FR2KYdy+qrxku~oOr_=Mamz%fs3bbKRU@rlEu`g7ENZ7b7CR&u?0Ai z(kA5%#eE!#yMd&BG%N386iGQs-ovBRchQHBF!_LiI+*(UVCm}>==&rX13VVuJT`=I z6f)U3sAPi)$84Fu@W!kHP9u7CCN>!?V9!1_8bq2Ay#03Jh~1O(IP$TT4DyW_$26uN z=Jcz+W;s^C8X?XH%mV`fDQ5zb!*eaLranl>INcR}B&A{v)fKS@P=o@L(y>=ZzU~hq zb3!tCPDid{6hzXq{P`YzIck#0>05a^?*q>%qWwk&k_=(;Ars)S`?<{jpr{O`i_Rnh zQtC!Ph=42@k;_Z*+B7VX5MD@Qg3e>3CZDJDV{M#Sto@W{S;{sd=V@Yyb_FJ zQRj{Sxyp0s@aKoc2_(2BPLOjd=k;AE!&zH4TVBO1#%v(~4ad%TBGB81Lt-R%t{+M}f!u_U&2*@Wt>W+Z?wK=h2k=Zr!9$tBKC#7F)8{6AlBm(l|v{JBQ zl7cm;k15Xj3sXI*m?oijLqLA}JM#b{`XszQ%Pdfgb<;ib~w3Q$OewwJ}Yb+(Y2*QHdrw) zvBxQ18>2tqo?9Ux*m3v9iPyQmF{z+FBmyO^q(e#W@dY3rxU}VGVzndc;c{=x_FE6kCsP2A_F}{4Hq%Y0W`5#p_1R0jU{^)G?%w<}#7OA{q~k#-@biJQ**0f?zej z?Yudm?2r!Q=9#IoDdP*?6219cm#-1ALn<5Umx&1KzEq-3)}R6bIZ!5T1;@!j&vD{n z*I;hv!<9q%9MKe{_I*Kn&-~NP0r`lR{=KsQS?bS3q#qJI!+5zy^HXk#fPDK~rir2s zaP;`NCV1szSefEixnP`wQyu|O2a8CBhh2hWLP|V5a>Qbn+^_hx#>K6<>hST2#yNEq zarqc?eY|2Uf6#Z5SnS8~q&i7Xt%P2fsSd1}{N1VL);R*~k|PW7Y?)w}=O`gz%)(I# z2J0ooFC0%S5whXqnj?$FsdfTR5!GiW)yc-kB~!g4-?v2c--*RjSr?w5)gw$_3*+&GVxw}c| zbo~q3U+LI}#b(Fwdw85~AJ^M#8AAl*L^lM4R>At_yKhSh7VQHvTM00R|{Cuu2uM=1LSq6#77O2!Q^@OlJ{=F++`Ch*db&D^F=YE0vtA5alE?TZxLwgN}Hg=Q!ege#jAxxSWPk zbgm0wQ6qm9q)f>QWUe`_%KgkLAtNG|kbsB~c>sa13f>c|^eg4NhlOOYXcWeKuKP|d zU#VYSi1+_z`Srr}Bz1UF>k^9j&ju&LffDNomP`Fx7oXSyoxX{11vc&MU1p-TD0 z5^3L~SfpU7%mMlI76`~&w6Dk^q|k6wP5RKW1wuGHnLmM}Zb#AI$be%aOz%Ag0>Yld zV(F*sJ)}NM3jA=D5D@g~Lqt9f!C+?_rn|DAj;RuKjr1HTMv8lJw+YypZ_7E>6t}FSCQvyPBL3U{r1oJ_# zDi{dJ^F-8M;?=P*FGNTPCh@JLXS(5|WRd;~kODoFgs!`x&KJeetW`nG4TuV2rdz^)WI$-#Y%9 z`O&ZchSRF#{#5cgKlew!`De6z?{zWIXTPlgJ1RjPi5p0?OUf=dfAjm_n=KpH^D0<(6NE!qr970MK^+-iN(%l>6PA{*P zuqL###IApjl8{W92O{~@GAMG?qxg-C+fTt7PXwfTh)m|hWKQ7(5pv=Pe=e7!mDSF*kkXcCS*2a7<B^Bw~j&@$BMAxmdFS9N01MSd>pA6L49?Y^jTHl=*uurEy?D-?kRAI zez1W%N65#UG)CZse`5~FMn^15CL(?N3J*5LsGA7B!r_NI`KR|M*jYKL-0N_xNgv%3K(Y?Kfos7-Z7H*+RvHKDFTxE{hzRW{PCyk$^PzpZ=3eV*YNld zJae$%!JuQt!>yGLcJNU#Ew;#~>xyf?d$p==%qNU#0PY z<3z>`IZ3AUGW#orP_*oul;Zl!gk8x${J{^*Pl)_}=iM9T*;z$q=a@_)AbGs-&0|Bp zZuW0jW`0JCgM311TH$@15V8B!@Bh~9f9`QJHRr2lc2PDvC?@4)&_wjFnbSuPncx25 zZxaZ}59pmg``OQElfs{v+0&+)umAa1yp{YAwe6j)f(=$-dpYS>VxuJ|4jEtavb)JL zd7_T#%!Q7UyK_L25Rg87`lMWjH`Tr$VMgd)OT|#r*$KTTxq$xs4rh5?U3c29yx^^$ zuR8@>($ObdJc_L3N#SQ?iX#8;HXMZl9u(uu%u-!?+3D!^Qrstq|S%ONY40! zbbhTa&-~BLu^tnUe?tTWM$}6)3R$@$73*~}vRA~D47@{R=p7=kJXANz9EK2(LJr~BIL;g< zfITvAyg4#og#h>n0q{{e9;L|0Q3C3t1nNg%xWaqBh=dfwF~}kuOXyk&DQS_Ti>J|X z8lS^JKDJaoA16h`=X@juzjOu*pD&xi-}7-9uG#PK*}s0Al-x1*NOA)AFUPf+^qB-k z1J0Mb=d;X-6~6FiQm%ZyLe7t`#F6s7$q3-@9<$JoAe(HPNm$?5>KWZRpM4uW^;~MdpoCjDsR?TtIlN5NUsf zBON3&MD~JkP_*NDGM=9+k(I9C)koCh3EgaPyN!H|?@tlT{=7UboCp}x7~3$`7Y&#B zA9cI}mZUXdBSM>kHAPdfFb88yKIVaBGYP@!R73h^$&$Q%ggh`2$&vXSAS3y_L@!pj zqGOKkaNawcB`?Rn7r*7m2PU3VxES~U=Wq*Aegw@QP!W!o6-eV`oJMFfPLCcwG#Inzk$=QgkALAarYjJ zdG?tk$Cl6X@ruhhlX2F?+G7@{8M_qAf$fU-M;Dibj#C}%QrvPe%hM^71K0%;!5FsC z!LWrE!)`?;s7&;aq~k>2O)!U5_W{d%JR56{5SB4^St0y7)2_6`D(?z2)Fu}D@|w2umAbKF`rVT#Qye^Pd{byf%L0+V~Z&L>g$}E zIkPB-abj5JUzqwC6U--{d}4n4`#%r~|HO-Y{Fu_R{^h^Wfu-c%5LlN9=XHtdEA zNLCYA5?~&z9c2y@2|2(r+8iJQ@c&u+$xOcg8 zjh=CY1)t@)c>htABa5|ci=}-0zic@dmxM&?jfCrQA?i{E^}N8!B=7T~`IA`qnzoa) z)dX(8gVcTpaYTDI+Vcr!KL`N*=3BIc0R0Jl2mPpitn?@JEmGD8 zY(FFNyI%#0dw(@a6=axsllmz7Dhu`9H!9GF2b^KKVIfe7+2p{kw7hSk0>@gDWCNjFzTL}cg0JTEP4&s2$uJTnbZqiBEPvAP1N`7^EKVGp6Q7r7;!V}=F zQ-+N=!NNCS;4uyk(q|HRg;W3&(WmfiyaWA=`dgLux60unRVu*AS|Z6bo@5MK94le$ z0$!r;0!R0=6pK`o)D~+WFXm_P_jCl7S{ys#jQyia6~C6MxHtwZ;mK__N{{eFkm`o~aI+FIa}-p?N-zp?)pC9dxcA^1c&YcF>W)XV!OC z#CHfp=t@MW*ZQ3G<_${hU&+e#`RLzxkbc=h|iS(Co2hYOg=z)KL(S>4@GA z$l+zX2h)z|E9&N&Z_;G+U;g?x=GVXZEgygJi(i>nUw)BR+@pmt?)#dF(ZUz`>NtUI zc8a@bP++C3^j618wX#(*2Y64H-%T|UJ!&4v-8mpB2nfPMsZy+> zHX`h94oEl>($mdjqB@cLzNnNd+i^29?arH-%&xPPgxC&mLxFvCb(y}J!hjrV{JuXC zkWUunb426s(j*`MVJ+G!Zr-ZvPez5E&?y9D{_q@L4NFq7D5shX7m$#pqx#YP1x$4Q zV-E?)|FNc!bJm4`6tEJ1WwuX1UWK>Uf*C9Gfer~7=qqzdYuH~Y$`%TJf3+%CM{yod zMF~T3KR~uY0T;$3d9rb2pl%%Rf%^d*p%eh{N<DoNIXIQcHlQ^E*K{4hO_7t0-$x(o?lgq#jUjhgmuM zN3P$6s;KFB(5Z7#*z|dxD(v~LA|CH4;R8^vXg^QUjyG?RA%(X5=GC4PkS{<$j_l(; z$$iNZSr}*_B(+vyj}oH{3R{WC0rGM)@u*Tm5TpajyFv^_5DyrUOhBN#S%DAmNeIRO z$On%LNmtxUM(@ir3fTyLiN*~Rkm(Znc%~#z=X+4(gJd_SEnv<^9G9T5<3B`l;zNdyFQ zK`?QA0HmnM9bTidu*cpAaMnNnA;dHG2IwyqciO9!pA|i+wVZ#1XIyVFnrRSA| zyfjlHBB*~RAeeV!aSQEbNeFp^U!8;K)c|f=kV{0lUZ1OE0nQU53HvLhe+X`kkUmyZ ztj2xNak5{XCkGm&Uk8oO2{JZtTrkl$co&ILe9+>RCG!|}p3$sh5M$57FTtIIi|p8) z%D5vkmB;p>#d6Ofi)V}F`!JT_z9UOYg4nRAB!F3r9gHvbnk6Vo6c$_T^6~3%7^9Z@ zxOLdWIl-kPf#)f9S={ub#K&em2C#gwI!9Eb?iBkMSnQgpxHVDgd%j+q@5%(mGmk*b zcQI^&;Fc1GL#m6yZEi^fj)HmP{BzvXpr0GY`u8@7?5F-Dq=PU_opbwZg?vcAQyk-n zheKM`aRP$-I-Dm=J_afI80cZws~qw0aSKO`6<`-I>qQWFA|%gF>TRAVzSq1lf2wJD zcB{E`^i^~Asf}iD{Y0~I$k%Aas~j4W`MggN#wiHMTE?#aW^vKi&C;P6=E>!?=EUBo z&6zh|GS57+)XXo=Gt+zjIj@LUM%XpWbDZ=tQ|UN9FVn>C`HGo3G-fufUTNMS((%mh z9j3l?rs;FfUznVG|I!TT*PHRkCm=QgBCGi2SQ{)`76a<#EDj`-(lZilx~w}i2|d~N z5aE?wdol?9A_3XqayYiLY z;49Zjze2usj?M$QL8(z@caiz~b&?*HQmCE&>jrA8?Ub)MyFV#p40im`H?vE(Bn_zm7nefcZ@V?fsBOdmJwUFFGmr10?$!C(8MJ6;=>9pJWb@qB%gy z=KvYZ`$_nml+XcEVBR&HFPNg&MGh)~VZrzK%-3+#@5ul-NDA@5LXm^yrNp%Zq{v0+ zoDBvmVlW&e#d>hDJx-JF*l3`0QpATAPv>)y>3ogvTOz{uEt;;+kmnr2cZ;S;8Pq7j z`=oqRoHB}WgZ~<+53M7SNrAdNIA80Tl=6N$e-m}zs7hGRZMz(381J>$o7`sOrS0$; z?TNOfjQ`iEPoe+3S!1Qx6WhQ|y%K`H zIfUgk2=!a^-&fI(sXw!zf3p-(zaPN;U%ZCab6Ch@1j_qGp5H;lV_JcE7Q_R)1k+f; zc-o`8oFnqF(~Exe=S}$RoR76S@qE>2nIC~j<`SLzfz_{M`CVDocCPM%j@`zm#X&%1 z4hZI8jOBSC*-Ai=DkX$r5EBTSilxM&PqsHP-4c*|o+~2zhZOR%yFywl`52TdyPpr` z2#7>lKtRS8ND3H;5GKV>kINhtL~0PRsTw4!_|(?lX zYq1Oc;dS;X595CNh8lZ6}$H9=L7Qvj}Ex9P;m=b#@D7Ke!pH&`5F z>|(5<&yBXOacz81uQZO2)HiQhOluGv+h0#dlKla(Z7;H)@6&7ba=st^gakOqSjeBz ze^mc@{R;S1ta@@J6Jhj2!LDJVTd9w7UoDru%cA(TuMB;>NU^KP$FA8bG&WvT>;i5* zr%n^-e(c4wdvu1`Ir2WUz4(4kx!OV#&9}2tAdjQA7@u$!JT^|82WvEPyJTpVsW14t zsVVp?Q$72x^>tHl-=CTM`@U-W-Sg)r z=j(rF3VVHnBd;-wRk|0Ex2I7rT}Is9T-9c$cq?ONc=nv1UZ0WLF1!PCjZDIUs4KV5M4GEX?du?SkIj4(YcuF+D0QmzCv8R*-Z!gu~nGLzk}1^>Pzst$pz( zN=gF=NbQi`=KuXL)&Gt-M<_hmoJ5Fx{A5W185@1r$Z*pc>X?N1%AE76HDv=k4gYj0 zq98He59EJrgh-U*AL;xby>k(>S%}EVx%p-*c{iRy+6Wm^&rF9DnrF$o`y3IF=Vy@2 zEHcm2B(xW1#m$SP%wL>6z`RHb{iQhr%}b?&%-*uWDnrc6bFBquRA|sv<(7y^HMeut4c=|k^KI1sSyhg?@ z3n`4(8}WI9d6kZ@lfrq8lo5`vH;~|b-XuQ0hHH(J=r~EQO{RPGoRm6_udz(l&-VMt z<_*Yvk=OY+MbD?G(D?!!rk^h*164(dRmxkEL^IBW|l& zX)|1V73Ve7mbGKJP4`ltc%7byIUt|)kbwN?m%lYvj=jc_hL@>Nq5r&Ejea!Jyh27I zWS<_<&-PUeXF>nN{d)=fxL=a7xtEUUuPCo zF&YapCZ46Sf$@Q{@)XIFQ$aQg%;OyC$Tz!4gm6%_1Bx3voO8-me@|KCx6ue#X9bvc3Sm~pE+Y0C0 zhU0?zN3m=lzN;O_824(e;u^_5l~-BlKEk|LYjAC}UK{P{w|!REQU7_x_9d$ip&MC% zUxZ_fUnGQG5a6fPuX{@evoLm1Uq-)v33{0X*o8ii{{KAT7RJIeid|2WJTf2NK0)^|!u+*j!j|C_wZ$AWnZKqBY2*qCDbzV^c{yTVSt8=E z=BKGxnvr5{HEX+NX9exM%}Zhw%w1SAatlB$x^iF|~2jf@Iw zb+=kUcN2_)OX_Ahk&diDN6mKTeDtyr4+;VLb3d|m$KVhF>7DK6QfJchOKErD!*lwY z){1_nsl1;#U*6v|SM)b6B&`*Brj4YdD$jJ1?4Q+-Ne2`>1}}RPp~xu}1L+v`!*yQ} zoev^Q^Y-Npzt)ffZ>DE`i*`l-U|xZDgnV1&yYmao_ZJkH_Zwv;nT?ch4TZi3#uO>^ zC#U5zKmn+pA>ev?I>0M#o`oSc3sOYJ7!>*d^E|+A4#01ad7%_CM2)&3=0%d10F@PDJ8KuY3A~h=2W6UcA>QEk1;I6Y{z|R{m4Gqknx03x7un__g_RzRzB>_s_>Q|F_;V8b$Vn-^*pR z<(OGG$cBHVj%F8ZeQ%NNURe z;z7#$NjmN+Dd4fgb3Bk{MM``JDRE5Hl*yWTG`@&@Oz0noc!(137bG7f3x-SNLsG9~ zDcg!cvj0b^u7G6;2qu0{B*T9^6A;-8q*w{aFrBXf0)fZ{EA+k+4H>{hL+5ztJP#0% zcy3l8>M<}kO9)86Y;XPt(z`}-v_&Sqj|Tza6s%sHT7k&S3?fFDC|^2Aa0^~g;FdT~ za?E_BV~v!(K``HCh0bML%^p?VsBo;LWx?Z$obxSOpCENRrdT2(b8DU`5$qB&Qoz`S zwt9w~C(oeW2&hm@U$(l6&qv9zYLwS6;AFG?gFjQBd6{J-^(*uz?Nh1~_m+=fJ<0vALUbo% z81+l(o76{%c%bjT2>hBefaUqw=-a@r0fJjI1-lrxW(eu*N}{yl zI674Qqtulev0bbYTR26Lp}~$5U9}Iil2=(pQ`$b`gy{-W*j3h$SI?vVE~6B*&W*lHqMw=x-dI;Z0BvX1Zkc zIFlyI9!=NIO-4eZrYpGiGj>G3I|n2U0uo*cD_NK+S>9a~!@QlH(7lL>o!?=vc}xA; z`5rRYBimWt4V_q4y^_4c9GiNTWmB&*brY{_p7+5K5M4VT>^&nR%iQ+>R>qRu)U&fC zk1-eb=g=f8@;YL&6~c}fbTB3`XlED6&cd9|fGEgNL_uU&o9?m z@#~4D)`}=*savi0YN_MBq;U7rXJ6=Zby!Amd+x0o?YAej?X%RE&OY&&`HWUO!DPoD z{q?VSqpKg0e4+9qSLpkn{^s}Qdmnt$yt!-+rQcAx4f+kpEc%m@+Ly|$vL4C?*Q>{f(T&yXmW`COD?~Ks(|B$eE@NDjc#aSdUHu9h{Y|G; zWH^nXP|_I2+r2>YB|3p91)>$=O_XJM2RTdgVqQp5PPRrt1f$}R9Q~e%$3Sd4NO&|T zSLTv10qL8~>0Q|H&=L^L0U2KigQ6GDNhwhR0_=j*1-Ml?2y;RFCb<0uHyv9O|F zvD5=Rs;kHL<)w(%j+GQO)Ef+;O-NmvCEF8A{*4vy_hhFu=!O!TF}#UUTpylV|X4D+#XqJv`-L+`fd zQl^&!Wgq9`vh)964&ZwtX1(I#m)7?yZd-)$OEK(ai(S>D0$3)5(`o0*QGs@Ui9Wx? z`fDWP9AjVLNPVSB`i$3aR0qOoA{b_6SOC8~0gf?-4PpW$U-yVd+#3sf zAT&0fD6!C<5(?pg9=ZNjZJe}*&pHm}cp$yqXRMJKJ@wgSo36YNxGOjVcv1kUy zyEslX{c1pOZ}U`Sbsz%bIZpC~fWWyi)LX$1c-2dtBYp$~j@|yfvK#`E=@Ad?50aDR z%n8ZP^j9wRNJfT#WZN&8qLrCs1=VyWoOibzZ?bEtCZk7PyGuZBfq*326*4NlsyhbR zU8l%O(TT#lo8y?B8CvZs%MZ`VCWGkA#H6!j&FS8{`a++qOn>QJogmd;m$3v>FVq!h z#LL)=6uh0(DNAGyr3qHU`pX7l#dcMh!ff^quqTo8sWE_|$a_mV!(j0w)(^9(SYo&= zE$-{BjP;-zHmitetl|Aa;CYqw4=nqMozpi>$nzBX&M6|hriwy;8~{~P$Y~`2ERYca zF%k9%&k&{l^i1-$%n}mv3@ddQbR-0l&yg~JZjLDQ=jr@;G60`fPli^u_Dz_ zE^@w?ykDYh#(LlHC8hNe$zGKg`M$B{MN(RONy$N8BIUN1l-`TD7oTx2D?WQJ_q|*v zBxbL3Z7(U%z_}U%_I?lrR;D*B3qit0wB$AK#uF_r~$w##JGt_Sm zJyLI4UfN|^_dae~Ufk)(4!Z7tZhiT2bN<;a=5@*|he!Jb?l&X&2*dD&GU`i8axK~A zzDCOWdGtLtE{9NG97G}p=X0|LvEmk^6n&QzH%JHiv_?J9*Pqlr&xS1&IEV+04UCc9 zZ2T6mAq-*iL1Sv$gnVA6a??Z^YmzhFpOrXd^=R=RV(u14KSqfo0TE1_dR0ebTjqYq zrhcWo19~4;;?vwEcxj&?kPqZiLy?bE0)o9dkb*V1Zu=z1r{h z7y}}sc^vT=ve?DrZ?reo_FBBE4&fAyRlZiM*BGzH3tnMt^EDUO#(S9XlEpYZXKbh& z7r-g+numFUPcCi={@801J?wee;**C__Pz-b*L>XCtIvNafL#+5pQQZwPkZafdH-#% za}?Yf6A-^HZ9R_(>Iz%`z@_TZid#w^9K4eD@-fT(j&)PjNdAs-u0qan{e=p9ZG`-` z!WZr<<-=I5J9U{@sGH>2m4%;-q2RJLRdLQ;L8iToH9s%ja>7pF5?I+O>V3D<>@}0RL z;_Q`$e{!>BcXY{4(LLF8P6)4D>SefOslAw?6VfAgOt*HX{hY+63}3V7$)*y7C!vQY zm`9P3WZP5RB_L_e0ZBE>-(A%zoz$vm65`$$!A9MbD`!{pz~pjoxwcGi={7rwiC4J_ z%=^gnn06l<_3)O4%jAjYdCn>_tl)Fhqo`g;tH|w2GNX6^iUEPiq?1UAPxdBs%CeTT zh=9P0fR!XFyp)DqZ)sk59^ipkq^sw^E3tf3U(U~bP?zZicmPBm87E`}ihUitvlH_; z1#1(@W>V~1CSyKGf!Rjhk?kynX2;Y*v$I5GS4qt5hD?i_$ERButq-?l(n&c@`>QA$bWO=6Cm!}D=pCLl> zOgTx#C^;v27Uz|aF?y8qXRGKl$+LR?Y&DK!`I^XBx;EB4ha=0F&}TZY#y#WcDDtcd zf36YnuJPyb-gkW6UaN7>!y?z8=kp2P_2+Bd&lC8*=R?nX);`0&vnE(JDTn+I{xA6d z)z1HQg@}ZIK1SPt51B z0|R*jl=cLPbgUiUpI3-s#XVNitsWXBDObGDhmO-lyxNuIPIKggh=)yI;ECtDg3N49 zV_*Uj>+R)HPqe8F`4W*Bov*85Azez-rbK!%_6&B!Mny2ee2{m&m!@qAfq{c$m_7^3 z?}B*1S%UX)1f)Qg0fy6LN=)**F%M)0c|2zg%u(DD5>@HV2gwx&3L7r|T(+e=pG{Ib z;9*@gN+Lx_E45CPwK|Vxz1BD5mWN$}TWBA&6WVJhwHw-R*HpzWw5^9*E@ll>aj*-x zHD@sQDd5)AbB21j^)!V0A(82_5h8O(Xn$9n;(o8=A~0qIr=G2l@nyxstI7~=IoRcm zQN|&`FpE_dr+{J4Rnge5a&c>{gAHTlSRH{E&bf~(;{*3R=VFh=r|R*M827A$Pr-ML z=idZy%PYT>SN^+?T^6^V31e3nx2l{vtyJ8q5Znr2SNSN>9|0@_ZWVj_#ltR7iuE|c zzeer;bh*egF3zDppnuHO{=s_A;+LMQ4n*I2+QBmDN{eUchfgYgJ&C@lef5c%13bMe z*j2>+TX0LTYe$KXTZ~=M?~@96yli5$ zt8ut&I0~Dj+QF?-jedZ9cxj_Ce**gW0&%*IRtM~eJi!}YLYzrRFSeU_0gaq&XZi3< z*;rLcNMDD=A-Ls>aX zj@><2*4;;5H4_kB#&U?RBs09fD)hWwz9$iD>K6zB!9Yd61;gZDIpM-!i#S zgg|T?OWbTDrM?}&Mn)RTv?8;El=&`C2AW+nNC+f%lR|%d=3w*qEENJ)k)Z*3V$LwL zhd}v>QpgBC?xEwJG8F>!CrI{`k&qIAJUN#{&-ct7MaNO*Nm4d@%184tK}Z>S$I7vE zKE^zyg7YWK$C{_;`qNc%*y)1yFK`f`kae8mAd76#b>Jb zJ$y~;AMFy5VreICJ368*=W08a`XX%%8O9=QKb-r5C#C2cB-%$HkI#{7(szdVg8t?7 zHS|4K&@Xq+uzi$v^|gZj>-A;o+vwj@sh>}YnXOZ#?{6XHy_t@iNO`l;CfT54W*wz5 zg3z<#Cc)U^3Ff*&42TCjhHwgCOfJzyBak;eU*~*a4A%|KWhHLO2k-kaNIZzMimVrr z6nQMiOJm?%>H=MgH(w{BYlH$$4n!;grdc6tl+KN$AdAAX8(#y?G#5t!uX879u#9$5N>~q)RHPk6Q~y^i>B+ZqR|kP86v} zcA{9^g0Y0US6M$naEq~vaBDMR)@C|xol?MU2+Xp$wH@s}EzYuYn)V0u3t-lC!L41| zX99i7!7i_Fa^D@!*d@midL9}N9!?d@7%F$fey$juRGzZfWwFYRYaGk*#=G5^Xubzv2 zvGwkKmUeowECS2sDwfUFwk>n8OmXfB6}jf@?uhKYWaehci{St5NI__ZCveO>hR)~SU|%rO==1G`ACZ=f-^w&Jh4J(V zJ52fuZjBLp;X$5gE^|GWy7N7-N}r}&0k>+IeB>%__2IPf*@3wqHvP(-fG(J2mk%G2 z=ci!>=dDSqXiOLO$=A6c{d2MsCZpT^LHcB8daGmQWMzh;B0+mEY!6268`2E{xfNTs zI~zEe+$A8lI0?NcB%`~XBzrV*Z!ix%E zU;@H(Lj*XM7xz;V(w7xEPxc&}$BO(B_0~$NgC!yPs>~I*u>Q9tA|zYMFoSWn4My5j zYq$~cu~Hx4k&&G<2D0n|a9R+ZHQ13MA{KlJly|d%sWO|qI`Agn^&Q zNwE-=@{#f#DVQh9i}m^_mOZMB_K;`m34A|S$cig`jTPA_J-TAAjZqmZ3a?T=KY{P~ z9LKTxy^t24^o;e6e6M@0(z#EM{C$;tx2Hm{sUi-(Q>8LkUP~sPDA#LBB>1zf4>pcQ zDTxz9>4~|;s(hthpD0ry!|HLZf0nu02DV*10!cE*y#``2T$Qi3YpK)LR&Z^$ijobV zs7gQCt%`crOxuSB%lXW~+|O8MI5J&~%bn_&VG(wE-#$hsX6Jxk`i0?tf_~wb{ z17+WjncfnXvf9*SC;Bm-Q?Pn_Z z;Z%seLPBKnc`uFHs?)@q1EP)-B|}p*Iy23i3nJ0mQoAbFAo+iGWh{1{49oSLCyPf& z6c@O)f+xE6^XG?n&XYW@<41K4n@d6%yR3&7?PZ-PQ-y?V#}RE^LTz87D6O)ljFOhWoLOgED6f=r|JGvUpYO;g=n6dpuI_VwaBBicvClJ?zr& z<_56}2KpY)nc(Br6Xg~s{G*E@Pco*AB^l#k*prH5PdLA`*u)rTF|1;22ph-x80O$% z_?>%fnJN;o_la@`hZVP;D0i@Yt`(o)dAL<3_4+uD>#;xrj8S;;o(ulAR<$ATLa!hxK@t75q}T@(Sy%*segKr&O2kTiEaPiH6es0Em! z=1kuuAZbQG!Xc*coRD-^vPukbWqK)C_B=DQo5|=I8Q$b`FYQWm0kgxMGBe9t@yd!n z=R@XwIXTvT3RW-9$sX$LC@f1_W>YR?FHUC|uMs=!NQMi%5S(8Pk1F!3hf8|L;*qjU9upBL^wByQo${<#!P^0a z&fo(t2mmSHtYxnVK&rs3Cq=#>ssBMga?awktQ8E#vr7MZOCgj=WK zSY);lNN$@p&}<`xzI_H{5X%k%*zF`cWk``js)tv2*`KM z8P2kkk0Z=(0{q={+(k-dcNsq8D6-2v^7T=AET(HBkCWosMG9&+9d~<2k;hebmqSMD zk*)akRDYlY$#1asR^&!}&Zkw;k+x0sCNd+h~b+?s50t59(( zrtNQWtB7$+Fw4iSZQPdzv7n!EzjJVF=WM5s^0{JGsp3_sjD?+ZbgY!(+6W#yz$1*a z#~rMavFKu0v7XDAs?WJh2L8&b8yQSi$Oumcsy`@j0%08>th+q+%X|6ve#U! z(q|Ic2;!3e+}#eg?$XbXYk7B-+y7R~@Am$?;@ED*uw5>G&9(Jb9KbIRugZMv+U2!{ ziaker0h8!l@N1ZlWu?RQ`{5p*;rpFLD1dQ0t-hKyTy@q^#Vw0(Ls;DN0G`dTqF6RV z`rI}T$85i(K000c>lXA|7SX}nueFb(zcY5R?k@01$66clAnfvSix#FK!MMW4#w%%z zvD3sxY;DSwjo2dXigC+#npAO$WiC%TFC8d$3L>_gG76^&M{WIx?RYzHEnm~G`iqle znBtF(esBs_uHC~(_A1Kf6f6?8xi|{aTL_5VpsGS;lD zCnB1Xe~`YbM6sk|Sbx6yxb|Hn2`&Re}}#qwY06ic0y>QO&$)w7h6XUY-%L#_|jd!+Ad zLBFBCw1pJ)7CLU8X8YGb?|c*WzfC3RgL>pXDgARjg!=0SlJ%3~)Q98Lr>QTKaQ`M* zOY-OhNC7Eo8VlnKbX>?7Sw-XJAs#z80;L7aV`l_B2uhmVWdV`N9Zauo>1Pk zq-9Bj1Y~14MNEdf_w~zW&m^Z_v9mMMhr)v~sw$5X- zsaWNMbG=9i>HzcE>J__S-~hYeNI~6UWxvJ1E)WvbFJTs^XK}qt{jX9Z>S2pp)K-FB z1%zEOZpXD2x6sbi-s>g_W^q4Y+!`R5HP!YR>Pw1Un-#kluUP1Oro}E`mXBd9ie0wv z^Z2mX1<~=u7=|$rEyV{mpcAjuZuW{Sjb{{5s zOLZ3ai$MPn{9+8VNA#mTJkW6siI5G#uCX$HR?_)$#V*(dOO$lLURX$W!+gfBzRm&}61}V%(w8Qi z=ki9$utUl;(m8v8I8A2if*B=>TayZa5jpBKvFTUYvVkhwLxey5vUDXZf1cU^O=FjR zi^R6dCjyeMTOP0tmLqmqzh1H`sYFDwb-%VuFMFl8vyrr&7t$+a4`zp>AQ>6XCWfw^ znIVKDBk1T(MK%(ySxK=%>|FwK2bbXuGrCkcb;&n)QNoes-j_JZJkyPKWMm|=-K>ZS z=UHylL+5}f0qJ8yeLV3glcOI90m{aMBD|Zh<}2D2uVkWU788&meY3quox{~QDAtMS z@G6egRb?g=h=BoPV@i=#=n@5)%^Uml(X@s>I>D0w0bx+h$E@ePa)5>yKJ!PYAp~Wv z3VkVo&N5Qw%i*a75g83YBExEIK7-RLHnhm-Qe|!xx+wKRR_tph`SKWyH~``lNL-9O zQtIm&JOQEu%?1M1jU|KV2pMcP65z5-A7VC5hrubwO)x$Q)HlrlDS-^5&%;TEv25XU zD2owh3o8wg&G=5sB=(_)T6ieW~ zvQc{7|K1h3ca+}eJhL=>ZB+1DS@4-#<|LMJOGxC}NIA|fmjCaH*3(v}j!>7IXO7Ui zmAd3Qcf|iJ1{d09lODOfX6U)sjzhU^H&NUAZ9Y`md^-Ar^Z_QQ(;?JPxQ_^7-K0vI z`%K9|?niPQ==HA+QwOrbUhhc}6XbO&>(%&NNB#FP?z^hAVW^@{lRQES{E_j6((jdc zFzL{-A<8?C$@>aAV*EgfFV$2ljITu_WTNH*HKykcQzbr34DK4odx*s)WX^}(xT_DZ zfH#A4sC#=GcunC&DzNi-4jcWf%nN&KL_(Id9F;Ga!jTXU|&SRTvqqswC6jzq-+d%zsBl@i3RS>s^c(~<`2RmjqDP9Q{$+gWo{dc7>0AjuM*qm2AcIH1Efz*wK`S$Ds-*%UFpAq zUE(ld9X-B4Nk@U=R)LHQ9wYgz>me&t|68ZYl47wB7Af(Vuh`W{*adr{Zm5r4Og;wZ zc&VauoW(MLS<~Y({$=8MFLqEⅅ=#wevrUEdgO?2na})M?g3YtFOOQxJ|{9NQg*( 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�&LNt%MX_6~q`N34z= z25tcNgP^D$1h7A3#{vol7$6`HEg0cW$3bC+ad?r(Ws6~-#u6X9Y@sJ4W(2l98L$t+ zD;|6d1ugH(SRRSqzf1^7cx~R3bC2kLbYA~wP@o@PN}dy6*OBD!$bY5(fkGO7V=p$7 zYMk%(3};zjF7-Td3-<(sE(m#i9v5_m+^**NlnaE%4(mO|^W=WhpnZH6;n<d@SVFb(a!Dt_zGtGmRpC76Sp4d3$uGlv34#BnVAD}$y{L{e}@8Gq=dAe7;9W1ni zmyhQ-4>eEqyjPM)uo3%hb=1fJb z1y4rc+FPc8MoS5agpamE607&zcEY{dLg8v9Pvo|Vb#{l|bK}L`HLA*$V3rV(i^kY^ zvWK2+)op7IxlN_B-Im%qw*&UKH`cq&<+Ewa*wthOPv#Nfm&dJU0=F2iJZ{bLeC2to zxFr}y*u`ss*N3bTQfR{(3b@rJ++rNE_|>H~s#wP7bZL$I^)7?)Me(3#aH}@}YZ7?& z|MD1p|8nmxegiOMDRCW(y%=w!*Td$24ab;f{_Ei+ru$*uLm4n1?(N})Kr9X~nr9%! z62>tl7kr$amz76zZI4s_^*qi4A*z0EG$RbV6pqor{b@VYV8Zha4I$gA>)f`=xo#)S z)t#-B+gd%(Z7H8aeT6Q8d5XBThrF~n&ufHJyRp#BD9dd&mQ)10B+N=k{B|Mq6dnrR z#;xe_kTs`kkoyrq`F~%TuSjcmv7UkblDq1_9=C7HlAEoh#4u7|JkX*TT5{Jm9;|8Z z2PdCnbjWZa#l6zXc_tqeZZ!mvBsq6r&joJF(!8r?&JUqi()OUQ7lQslNx|Y%;u(H4a?$~PIa-WmNu^kcb=v;Xqq_ zz0jrCC~OXikjG<(gn%4c=n7eZ{Y4oI38A&XLj@aeM+|vkA&Oi4EDFfO{v7)m5x9Cx z_K|Gp=TR{GtsYy{&x8@aFDMd0z=q$9KWoSq{O3!jTkZkJ_qk_2>cQ?IS01K&cxb+B z1aJ8N7*dA{!eef}+CB9l_jNb#-$6?JK_wYlvT-mm4$a9kfM>Z2gy*i-kdTlL z3uz%52jqDl^v_+!3|pYdg9fiJk0T`y_Io|3L}r8LoI`JR!dChw+kx zkSrlOw9QMN8hdBwwQ66TF>28_CKQi|5G(S8$bVk*_aG1u4ND^;GAy}ls2p{LfQWZ# zrzlT5$b(xkqwGltk1Amm76#Z*ytmso+i{P+*XFkQf=A|!mFMICO-S0f`7I%1g z%xx^3MIm;GQI`m2?VYOod8K%@Zzf>Zr7};+sAA{ttjueeuwzpsW>E zbY@hiyFc*$3^kQR(yr=j?*Sye+achCkJ!D?f{jtaN-l_}`%nHVnwkH^BKsh)s zaz>vS?YE;r#xnEV`B*C&mbmVhf%9d*$U~BeDksrk0-w3CmnX7u?S-4%Gavm>cl(Q; z>t6ek7rGZdK0LN+pvtXcX*LCAP z9#WNW%P@zBa=r(LTWyAQH1y^0R++AN+$q zaBID)8_%6f22$(!n5`QE0{a?ruBCS;Y6VwacW;-z#~H4kI@gU<0|7~c=i}sM2i!mX z?Ei7^d*A!qNWJKC=iZyVAQ*zB1ca(!`4$PB528uvwi*_ZkW4xXyDylLj}p_3?kKus zhV)C;HFJqX^o)2xk_qZeJ|v>Y>bXM$$cFU#NFKAf(04Ndx$`ZzwSM(~B>^cC0Xe_l zn~_LDSC>>u2t<4?C#L)4^mNMSdc+L|rQ(3*e0a}C$`cS~v8m8-Fq@*dzk*@C+MuT7 zt6vEL$#T-U=6`4i7Lp3|dfdLd>fEEcG~T|q>drbpMU%fR?m=82==r#9q3GNL+s-|_ zms{6m#tN?CCUuOXSO&eghH~q zG5Odc3er{qpzWkcDG33P8Vy37VnsoS?;fv40v*BaA{l!o>I8&-$m_jR4H}nBfi-7Z zNeEjQX*(m}OJJ-*yv<4{0{2`XBMAPNMkFK%?*sE)AtER^hJ}c9X#ao`5HFZS2zde` zLfr_+Lqslm^ga;{JthM8kS7}>;ziN@AXHhXkHlm`&s$2Kr^i+J$~iC&Ed?QeNR@@9 zK!U>W2dm$qgcT6)7h25T_^Ow?Z~f$--CzFIN8Js3w~&yd|3<=D|NAhJg$G}L(0$_5 zpL2J7=ZEgukA0ZCpqrz6PWNgqkdK4&MqyGiDC7g58G6Z%LAlRoKI%d4S&wbJk|?sw#3x2<*_&7C9x*(=_-OC}qXh|FPw zb>51%gRF<1c+|*Rjs%4Bp{is#+^u7z;=Lb4K72kEE5X~mFqhcr;gHuro(~_&U~;xh z)vHyBr{+?Yp_cx#csWDqT@!*;4@uxrMXWj}q0g#^q?YyJS+j;vP!32v8|8i2yph?u z4YxAM=jxG_GT|D2g`L?KwGx)(ttshP)&^zN**!1BLlV=)6GFz4E|WD1%TlGN%NE+m zXfjd~!wEbKRj`bQii{^nAmQ1fF=a#P9Cz#CJ)kVT-+lR;-+{UPS@+Su{ww$QpZKJ^ zYA;~dC7yu5cBa7uWR`JjpH(h(?jml%+&?fIuu91Y zy|%<-p=*dpm)6$7g<%?&a2(cSi>h3Qq3b^olYlvgtkGo2;K!oDnni;(LJlIVF$R{) zB1{@dd^ewWXmLc0D%Ln-2}k%XOG*xlM@RqPWlKH5;$gw#fKh$MBgJ$}K-BO=hA1T@ z>@lZ%z0fh(rG!IeM_Y&?duk7;M|M^`9Ew|Wd<^j^NjxGP6D;#aHzNyCKJF*nYS6sH z9zquYHb4E54{{&>)Mwo1zxs9eH-GzgFkk=LeeNq?bD#Obm))}flXroEb9*OC@)z-H z2N*Z*cjAD1;nSYvZaA>pZE2?2LrZIeWxGZ^Y?pOJo)0vZh+cq$a0)}LszXFFUhwp% zxZ@XYb@P=WA09f9Ioln-XuJE{kA2L&>SZsX9FWQ4dccB0D7o9fk@MxieeVy+0l^56 zR{C6b)schl8BhKlw|Dy{AR*^a(H%nz7j4@J|NU>>OJDpVGT@fZKbOn#7PS%< zhho*GB38|es_6$(F(rA67+#MAC1*&8ZO4#RPYCOc`Aj+@9zHZHSuM-7h0v4%Hl&MA zn@XE>151s;$ncSG|xQt6nG*kgw6 zF*zBE+*z4SxCtT^}J4vp7dSaD~s=ll>NA0;Ls>xMG!#`%)_#ce=99@uezbg1sC1@0X(N(~9K zz9AucLU2*l@cjappTh;J$>_87ypOq_g#|tV7R?E&m{lMlj{{$iRWWIl0b+y1mm?XO zYZU3+X^ zAP9yRjn@MyK{v6G5#DE^zE{BZ60rd70}DL@@IDgiJXF9FL7BzTrorT-Bl}8BSb)=O zA|*U7g<}W&=nx^HeN+k-n4pjnfcx|DmIe|URN_GZ9$4gYP=w;ag+NyP`64{+Ydz1O zzt|i2-fud8@Ui%J>AL88!}a5RLIU!d7ry|6*O%Ow;u(l+!OpP3dmg` z)L!wtXSq*)_VYBJ{)h(<0ogw*%9L0G@m#D1b-{3+DiPsxR7>xrqG(}g%R#uVzxe21 zy1)Iqj{zB(f)IkUNs+sho~Mva*heMrLg==OzkeZg4o9M}f2QfJgxYK4ZLfc|`^*== z;%)e67tb}MO+|kMT@WKnnG-QDXDz8W~ zwzjiwLv_8|ScA{Bb4)m3J#3dXqe}5M32(&pv$-28$N2bZRJ6N=Q0YpOIB_&h-iH*J zSQ766gpOvAr_+7ZJFQM-!(we|EqIkgA z)#I(;0DULUbNEgC9$M=LbM6XXRO$asn3Np9`8&EXZY}g5D|0O!+-&2h4dLz?; zh2RBOc|cgd5M;nXl?@ABf6r+v`z%j7hB$V_Al4zA+Al^jA4WARvS~)&GcwB?*c8K< zbX+3FxV<9(Q10y&8Hw`_!vi0E>(%Zn-};XG>%aM1_n2F+b(e2ncE`5NyZfHJ)V=?` z?{?q(!H?Zbp7m6>sdhd$IfeN-pT38C-cug$zWdXkxyL`?7B{u-47a(NA>y%J)(DXf zSWg=oX}45f=a#{VV8$S08_o|n?$o;SX^Iz^EH(%pg_ddhTm4|p8 zL-^G+5Dvs5&J|0$g;qgw(s)diQf@c{gkk6`*UPN~??;C88XAB%!w_P1-Wg}O7r)^7 z?qB}>Kin8#i4Ut>Z~(e z8oVRL)H=@B%?I6$t6{MxBsa9qtv~19?!0@S>4wfb2Xw_Du85V(cwMnzL$Rb{stx7$ z{pC_|XjazbBu9NgO!9dq9U_1N@v!;O>ATR6@BSq8*5dT9-g0Z}zyGhz0ih7AR9wv} z8CJy!=5aWdJvXBdD>G!0%+)hu6VTI?c%DrV5+xvcah>ILcmk5?W4uL6Ky3a;&eWBb zbIt?;^1>Zu=N{Cd@tO-N-UFgZ=tw}$gS?L$=8NvXZo_-ub{{@iqeX#C9b+9e5gj{q z4yCzS;i{CY#P_mUZn85i0-xNOXjy=TJq`;KKTB05U?De(c}ia04L~#tM59|_A&>i= zG7ESVj7UVfl_HT6vUG^MRY}Nfv*ae~EZFx;W5Shg*-gRm%{{g#?j+$}{iBD2TM*Brv8i#h|ROFF|55!^4vkR90!UWUz4O zEhxrw{bQd$4tWE!T|OqSQ7Q265osAF;<6tJjqG2Fp-H+g!i=|k?0^VN9z8iX91EZ4 z{R4@8e_nE!bMZGW#c(Pe`unnPug|}p8>V}A0nCltfA{&MXrTq|J@5QI`YcvH!|i?& zz{8-(r`;7hmffHI*`K*je&%!Tv?*T5b|4;_guN=oBQ$?&Ns>61njv&4ZaA0=ghRa%;`Nv@mGfrm zLM*Cr2$c`JlI@f)#cQ^SW7BfJ5|Z#6QXNY|vOEFu#3+y@%4KPV?(IHrO>@`43$hBt zZbeFp^C%Ko<8q%;eMj=xh>Ubgo{VVhI*}1kvUZ3^7qMz%ZN1wA>-|F?`a}1%@BYyJ z&Vz1qbEz}jQubbMQ+>T#1#&Wb{u%B8mmdai-}l`oKlgceeA^Ptqjd(W0E=)9!S`*3 z&=$vIPFeuTcCBc zvy&w^_pKlN&^_?_E8S@7UcMI@u46PXj6vAd zRB1hskD^rVEKvAnYyFu-JeG#*ZsSys$Vc^@GsxpHQAJ}Z>p*!RHP3tI)7-be`#pEl z)t9>rgk5z(hw7HOh!2k9y0csbh(!ksv)t?%z904r>(6uN0AZG^lm8^@;=mU zR|9t)_5A=cfUoZbWaD=e1mv9cX$iq%PX^|ItV?Bxfc#tt$cGNrC@v961tp=w0>gMe z6!0$qkIE-bG~Cy&YSQ@l@rHZZt}0nS(N(C{$2KfFw0eE;K;3=jil%$z?iyJVp0%y& zzJ7JneFMfP;d>suQgOw60b(u-?nOJR?u%D6+*jdy@i(5nwE`rgNEQsOa*%GL|Kj5{3FwQ_ESZcTpoVKk^YFQQ|Uf z%JKRUmGSK#mIz@E$ea))x=yNw!+9W7y{pANjFz>smzL*M50He7Qs}7OEAobvXi)f? z7)v%wxX4yi?$JZlW95qSLq=H1La)g7Q6?md`Fp!ZK+eave)to3ey?Yb7R-eUCd6O@ z^J5zv+f+Ht3-kR|FM5G{;5#~Kl0%} za)*G(qT;_D$SPvfbAIPhG+!`eUm?R)(B{RyKFe`m+z^8VRiSh`gA=ahW3 z1?w6AFP*c7D1P6Qzqz(xoRGp9GiF8JsL{k2#`YS*amh^6laW9=WK71yV~<1#Xym{i znu~y)@H-#=!#{AJ{`?o*(arO2?tC<|u(1!r3%A0&Jh6Sn-FVx=VMt zKm5Q4+@JsXpS!<+@u3fX(ET|WkzVwyr@PJA8w`nlE#)?VN8||)zAt!D-UIUo=jlh? zJKy$Jck{6WZW;&+HWZx9oaL_E2j2(Rfb-@r{_-zj|AT~qFMQ_H-AsAC>p~95rQ25B z```Co_sl0fo^WESoFY7F07<%J%c^_*YhO**^H+eMe+YRZkACn2pwCCjwZSV=J?~!b zzy;gg2f;A)=lB~iFqh;n;kTas%%?*2tMx!e?&-EIFSz%<`}f_G9{*VKd>|2NgZ@-F z|7;lNx|^@R*1a2W9|;+L$6Ma~W_R-FVR!z$@9A>qpGSHdwp2j!u{=NHUjEXT!tcQ~ z{S~Z*Km0@Y@P|H>biwn_IVp$GBcM}15!v8NkAl{QPfPf4Qg}jbbI#Dq|nPmL1 z)YX+FAm|mzD%r?#z6TylPMm^&oeCv)quw7G)BA%*)e;bCI9Qh?^m_vVdC`sv6Oe~= z+)IEwoN?w55fiL-g`SUdfsmYWR+rhV!k2(<%56Bo|L&QYL$TS1{ z9s+MBAbUOF!**5)Nr$)7);iUpaf!ERi5EnL&5T;bjPR0uCKYNu>n1!3v4xJ_pJgwD zl8^n7x5NtZUbOXNj*lHkSQ+~jfv!JBiojef#MvsCxHeBfniN9v`d7Zxef-m(aSsNo z+K0g+{N~r*&el*&e1!8c2Lc5pdMn=in%muD?{mHT0>mFb4PudZiU(u|C|kE(b}_`z ze+C5P7r`6xYWK3|Jj1;c6#FmU@eS~-yu)3#Izb*1EQR{S2jAx2^Ly_gqVlJI`X@ks z-r(N$hS!3kwU=XsAm_ihIz zFT-Udfq>w({r$&3;a>jyXVZ7T<@K+j#B}u5eCg}oa!-25{oEE%AgMGfkf05vbKS#k zxWauJ!q5Hz2-xi}e!hFz^PlBD3b`;}{q}d=lOO&7w*f4Jlt2#Njm_{|&xd4B4A((H z{gg*M7?PHsO2p`nZ++K2^v0{)0to%B6dJ@~ib_7%`@srx=onn|eR?$PYE8=R;(o~E zVgj-R*2JYoARp>Q&>WC?UlC865rz;=B?hw+hwUq6)r==q8-tnZS+-eN@VMrEg)OaY zGcSEWZ2pOs-CXe9+Tq&aKP=i1Eb;Ozw?ZDsYNtS++LcyOLeh|clq4sl$OJ@t5NHmK zCm?+9Igd>ST6$${hv&W-@O4u&>s|))>6_pGk$cpA&?ee8iTby|vqNLa z9>5aBr>!s#kbry;Nd*wr+h6oNQIy_KYv~}&^G!fr_rv;q+Z$d-xg>w|;SU30c|OeF zSJL|U^cTM99tFi5wgIU{oZA8+GY^9G_x11p80PV-$ODP%4%ZgupFHI1}tj&UO2b zS+DP0z{CFU2wqwL8ozHY_9h1disEV~_Jrs@5{g-Kd{zlY@PY)dc-t7E`n^v?Eauu? zW_Y6(Y+3H8@vF&OB_KpJ`1Qq8?6L179wz*lWgg2um4O#d)_tS^R(IP1a|Mk%cYNo2 z?iDY14v`Eb&8vW8YcSuoz`R@oqs%IVP+{SVO?B{E12KL5?XRHc`&WPU*EE0L{^mEh zr#|{2L_RRoYAYm)BMJZZkN%NKF5vddUhrJP($4_dx%K2>@_J0=&UQz3ZE~-J@5A|w z`6usu``h6A-sGP2sE4^3sCd-^l5u>`PWRm({e+HVL5s1%`K~i`Z+94o#YbVzed3d! zbkBa;lilMU_F(tUcf8$w??*p&Zv!%nMpN{B>;aN;`zu}s-pLOUX@5Hqp|`?!J^JAf zcCGx78-m32J=-_C@Bi?}?oDvr4JgTrAz2j&(JBJ@c*0{J?Y{SeAGnW!vFt@Je1UuZ zbDm9P=iA@?uDkE8x488XmQ_lfPhO9mTQ-qb|I?rTw0rtfpW+_!pa;6QzV$8cAOGo} z+&kX!HrJ|E-1+C8%_M|$#vvvmX*O8rB>y9?1SFe|iynCb5{%^;AC{HWX;Bvrq$46A zzMox8K(tuX-9$$#+2_?q#4VT|zWUj7pIg*(3HuGqQao(swdCOBSo!A7?Y zNClFotswZ&<&Uoahg@?^!cxBHp7!tuy6s>k-XkFb&j1ezg83tFx(XC32xEaTCd{co zCH?E)`w_$+-%JDm?=yz1pk)s&z8?W$hWBM9dnSDshDf2e;&!kwe*=`RS3!svl7>~V zTCe8rMc@C!pZyzms!l-(=FxiiO=njk9DS`)jaVUw!dbHv=IJGec*%gAgY3M<4zW5sj-a+3A)+pwEMX zdJXJ<6%v)-0T%2c$G9A z$6@Lb%$TlZJymLBTV$+U9CIdJn0=D&AL3 z<{u7(j|pH&ydk{ZHo_RS0p|0L(HeQZJ_Wf<*ML=b2|})Rijf4vQWelLF~Q_s^rCF44}oI;826oj{Ac$T z2o1!wx>i1yNbmhm9;CbzREkbOSR<}8^sLKh@|4>K$t%ZpTRt;$Af2XJ6szosz<=%`1Uux!F}^bKXt$R^e2(r z!8L@q^C7VCe(p;w87r7)J{XHtvri|C$7~j+=cfmxwk48MqH@otJE#xu& z`uBc7#+w&B{fX{DfNxhoRV5V>>qzp?LWVpXWA@RNW|?-#qgScLHz?3CLUD@CHgWU#LNTNCWaK zAROui&v>f)_78sKZoT}dD+3OW7uJDsq2#*fpXm)-eWcmV&%EzeBS_uLc4 z)JWHT90=8qfAWuR$L5W6Y#n$~Uiy-kxF5l>1N$y^XTUKWsq@ZuPkri>-JgJAY}=-d z?(8$~$fem*0Ybd>9GHPfnG9Jnh0UmjwbceYYl|$9+4P*`?$D9;qRJ z%$F`RZYLX_rQOc8vw2pDiBASf`R?Y*Of?5Y`+ZOdR$6jEu<}7Bbi?!>5FAoFn#o6s z$VgQ?p%+3D`tOPd=zA|*9XM$jX|p;~p?--X^0 z0$2>qYQTO?NC=Y?B_$V4Lae_6^;CoR0nl-uw@o@{4+w#aJSl0>>x)5HpyF`x3=0Q6 z#)1VDaS$l@8i~iAY2IE8$5klp)jbJ_nmK(P&cCZ; z7t681pOr11HzViGC}}dksnmqS?7<-0b3a`F}T z>?b@LVvC1-D9W3_DvRC?ta63|?`z-v0px%@0FQ~`Dy%VZ!p&~m5%G)>y>)zQwT%g1yRDOI_l9Y_Zf5VZOe z0YL>^6mIo=P^eOiL#`Gi^osK*xUm<9HWi|t8%jQAO?9eSOCai@1TTkPu~&ohJn|+# zM3T^@T;{Zpm+7i)K9~7)pxlyYJoe!f2DlMCAh#XgPh=-n}EdM9|;I3b#DgG;uctQ)Vl$G3)d8`#g{$znUHI;o19E*Ucr0;^;<{UgYuW(TbNuW+2q_D=r8v|jOjMlGV}tOG z_dA4776<$X?g{>R9A~e%$Mk8&L6QT6{cUf& zx>&pyo=m{8JtRN)9NLG^s}al_#n3}G#fCE7k~~7WgjK92gJF$Ak6~OmF53x?3}Cq@ zGEj|m;~YtVW2JbmyL|Ts_YRnQp9Rk?8brSNgP*w1e(B5ZU0|_)#I4u4jev)1fN?wE z`!FPQCUY?KJ+A>z z+!W+^bbwTJ(&vET2C5W({TuGe!~0zZzCU+QCLtN{Xf&b9)g**~j{&}PAqgFiKl^D< zao_yTcir`uA9w5Fbp!f+V7^D@ELcmMHUP;10s^5^bx1_dopYwkoPDNyIS`U>LX!Sf z$Bq)2C=8uP-VP)pySHs|Px_t5yX`Q(N?|M-vY^5aK60nxD@!mlvY z-S-7ahn!*cfUprehgoUfNYItj3G#9GCZQt% z>CMgj`~%l?e&%jFWdiaCNI-scN(AKo4fm`)qrb?H&fPhEH*`WTmE$CIW^qH3Q~<(2 zJ-?nv#PMawq)sv>nP>PMA{8n2gk;k^$6IiheY zAR(Afg83nrO+i(o2^QubMNbWchW#%fTvyIl-AuD0LS9G+#$f~5z_Fc1jmgMZAS7s| z*$F_&;aYVfBs?T^i@YQ{pqk92*+<|eVq(S=4<;(DFs6Cyg@TY1Bpf_iGGres#E`&g zivSX9*i5Hy?2+TTML~G62+=TDfL|=+#vhwC-(_D9Iv#zt@s3ht;-}Yuoq}&dk8YP|RO~XX+RZyHzIBVaHw}5hnmfh`)Paj$~P zVBh`8Ke=~9=-38O8qo`~0m61(3Er4*z<+W&jiNvaRpZx6S$ZPoIhdqGu26n(2TLsS^D$jetI1uBC#hS!OV$^Ks*L?QZVB<_T z;Mc6hGK*hwY`Sgm*Sse%Qt9dD{(c20D~$4%HTr$MfI? z=>h53KG6b?#%1n_fPYVT*n`}QpZhEd+rluYiM@5ZnS78K*jK`7R9pYb&Jjc;_^IC!wdfWd)V!1;Vy|y=%3ar=5U|0s$GDo%xTCT-E)_Z$Uubj|Ai! zr%FIxc**F`OJlRYnwmcS1f*OplLsU;T1iE{Jd#Q1*;FF&#>U7gTTBg^Dg!Cw(qgxk zFT?8_#|(Mm;p;eOhWhI~XF><`K|Mfh1uSlC!z2W~C1;)=2*@viSo|rJ*S%r3=pMLK zbPrxGx`(cmAPKzaZh{2#S3+pi|G6cEV3jG!2}{FeiB!;c+y^}z;5~w*^%1CSg_ePI zI_n;?Qg*+(FMB2a5R%SYMX(5DI0TCb2oRi)0Wm-UKL%B=a8Y8MIVPjyXVBY$VK==B zm+M8M@(;&_NWgr!YPRIc1#D_qbRRuZr)$KJt^W;SUH^JB=aFa_*Dr6A+z{}BJYqx5 z^=f5u>uw&dkfo6Zkr0l*#@E|qYzI))FfAk{_?q3uIO=4*VItCCa)SHhAz_cnF4{JT zpzH=RvKxts06xEFvT`AMOQvvN2}&!F6x^R~`F&4PKoHS!8D!alsvs9lwaM~{Lxr5a z_5%dqMR;5WpU0k+J@g(6*FAEc9;5BF3e%4Kh8&v?=hM*hX3clVd3+6eZD_&M-p9X{=OI|J{F8jgK%mn0* z++|R;1r;O|;v2w1ee2Qv?$coLy&Ynnw}ax2q?w2({1(lH(HbdX7|OSuI${?o)aA3_ zy}2H$U|}c%p0@?A3v1iI9h6OsX}$ui(ThM{F#h@FFMO{12T(BS8ex3oBY#8#li@L* zANOAhqzRQ)?E1T0MXO@dJpmGq@wzd$sHYd4jx5AItpF^U$C9d8=&-=t3Vr^FHYxPgx$=RGNPdWtk$GvRx@gFkdVusk z>6V)ovR6d!^(x-$ZYc`U+R)W}5v-KOBxDVnIzl+f3!eUD@PPfqJ@n>l-Q>_c374?Z z;Vw`nFWb88j=;DOl;USR?h&A{f6+bZVGkrv$tui)-Ehvkfq-C4`(c>(8^EK7IE9#m z^XrB~d)${GWD#TQ@z_@Ij^P$D48yw~c=a*&WyniH@{99xsd$#Vl?cdJD7hVvAqhd; z!aSt=KpzJtAh(l;1?N7_dCV)paL5Nh;RsqkQ;c!=StJqf1gkR|7jA;m)SJLKfQl`W z^#@#al-2}Vw=s+i^HSdR_P4;g+egXF7h;~B!J$1KYq}nf24R=SJ2UV-A_jy{-3Z@2 zHcod8UdH%pu}hC#ET6kb&q?4gdn3@xE0{Rl3d0+v%yBsPLL(1w{{oT~e6Gq7HFV)~ zLHwlqEpi86?-pa(ZW%;0#FMYGYxlS@w29FTWuKA`oJTw`e7VL0j$=L(dNwwKA!HNa z(Gqyh7Jv{h0>MBd-y?urAQmCsJl zIeo%IA3#apAB7}r-2O3O--jT<{G&iXFkyW6;)EMXpGE5vx4#Pnx50*}m>zWP=7E-><3 zarjbKhqAfDKr)6)puYjhcn%VfZ-2+#hy(;)w+n`VKnT|7H3SO?$U5+%jMOXc49$G34vEByzLucR1?b^Dnm_QcYN&*_g)A^ zJbD@o{nk2ncyTGT}jFeHmW+P!p~%dH9}u=tRk;d?LDrVo@3143iHgAep!l zR+51DZH7E1T!uH9gr1_%EKEMfidg5aPq{Ph4V8T+@;(XuLkF0E;I(2X)jNcM{5QOR zKOip{mNg>H2~$8c?gwF4fq>MAfTZF0B|t#Fe;pH$zXw8rR>ct@87(3pc~3xoay`WT zLlu>7IZxHF5Hvo1tnLZOl|Vp>KtSe{fPmNJ{{ZRu%*m$v$l-?j%Oef<7ckKK@yGD` zg9jV#uc0E=&5Knx*(?+Jz`-%t6(S($5!ovH+lZJTDXEE9M8=qsj~aVQgox}^K*mHo z1Kc}>oG<}t2svp8IcX39**(dxFHnI2!eaN7cv0jS3LHF+!sdcWAtTc*5kN{GkOK;=Mry{WU^BZo2Fe%5^xnHba8!)h~T9Bwptz5ge|GTHC_XT zr+n_qKtK*$K*``}(Z+%fNPgb|NsdTBF27(iy|)U29Ixjaa9tP|JqH%>U2tD^!@WZV zR4wJ3fHWX+#*jk{hn#>aFX-*Su!TdLm)!jzIryD#e=8+3zYeU)=-pVXro<{=BBeN4 z(aD$BZE4fcqW5?#nQBq2oacP_5(7X*ZL^=Y=n5<Ot<$dkhkCs;rmMW z8bjSW)-wVGWVj@`B5d`=Ft};30{_lKALzaZIU273uhx8Nom+vqydCfc&si#;50>J4 zyCx_$FN7SXuR*xfgRi@sJSA(O=3ykX=M z8_U$QuY`j=8e&ZGq@xaVPz`fc316;}JjK$um#$6|Mr{O{PI9!zvUa`zWo#i&37_Ma zzV>zZAn;7g=FXw8#2Kj0_cS0Np9fFagKxTqs#(z*!N!3=CLVF0o7{IG0sT#{eT}5d^FZWXY(_#PfROiLMm8NKq3693T=PFf|IEY{UbCjKQe2Q}DDH{pb>TrdAf`O8B%!xkt-FPQ z%+1dHpHE-$TM>}gAp!ZsDG`wSHQbvHjQmS;V)nl#?gj!HneZPr|c8 z=kpMrl}!&t$vN!S8j46qE*5! zJ|Owf2ZYM-O32k~pb;S^rkAr^DXSqBvoMV6I`EAATyjJ{d?0v0u*b)1FOm=}APbn( zeg=eKVdB*YjI*JM;q$gveC4Wl?yJIe=ivW9^Q+N9Oh5oAdO$Lo5NbspkgGTZ>&HMq zut8C$!o5P+15yv6R5N8)DZpo|1t<~B$1zmw=EaH|$`+_62$BtNi)Ptf`j(K{k+>8LqW4!h{tHPB$gowFHX$GALJ%1}hpWJ!lc$07@HL zgfE9`D_?>-^Y4Z}B2yp;ry-deEy1IZAA#i^u|XDASJ?#NOla9dC2HT|I3=ND8Asfo z!n_S44N!p#ya{M|!z5w!T41s_Rxg?d#R)4JJso1_pZzlgE+`K^E zypKaz$FW@-fv5s`g*m?y*3j?2^Bt5(ehAJ%@0c1Rq({js9a8vH(% z7v2os%a=hIA(A5ur9!JXmV(ALHVJF+K2W^~dp}SZ7*tHc^|KGc9*;ny#XZpLVHrsL z65NNG)II1oFbNqeAwBl~H&dcM;>2zs3^7(Ek0~~G1ZVhoj8WkjD$$HhiSrCLhR?LT zCql7{$iZYgfy*ubdBkKU4ty?uMsOQnN4T!%H3|DKm{cOcuXl;TW4CxaJi!=mdZNLv zIaGL;CmHD3XfVN0!a=eO#wg3Q@S4Ms)#$ceB-tB?fSgMqSYH7z_9O3iE9JOh<(IT*X<#z+RBw_?}Axa&c`4_u#J2*r9CGzt7JRIj?vwO3F+ z$4GV^5s=1tXS##Ckbr!}y&A4%90*7^d!C!`fDvbA%*}Uet_15W3xolG>mD#3^^ga+ zAOG_|yT?EBVXg>W&O3z^k&G8W^{VfD@B8kCt4FHs0-*iM&(vcpWGM&(eAP1z=>6~@~(t{AJ#o3wv{Lq7iqB49Pi}lnKG|L}W-FxN&)< z0|Sj>@nmw?TF%61(`nyiCiDYAB9e*72X;cQPmLraBsmiBRrpG5`V9HZlOUX!-Fb1LR&1F@WDih2h;GOfggiNy;X$>fv)lV!Bv_z9Wx+G^ zkAIZ=XXwKFj<>v#2nKfS-Q+zWUv}3*Oh0-wwh;lzQZ*zz7d;>+c5jA+%k$y;*SQNJ zu@XtnXCVCKfsnYq1WMo>{O(Rrre5))=Tq3&1FyTn%|ZynWai%PMhFZ0IFyil9a#2u zfD$yi{vNIeMCAB|+rf(WC8_|neX8qbAf}r07HsHHQLOkyNxEk8F)y9L=c7<06JjM{ zOKM>Z4gd1N%OQCg$q*_`Dkriarf9vp_hJm!8kQ-~LO`Ht`2Nb3hZYL9>L{U~1lBhcGs z50KhbIF9pp@6rS%#(xn?Tt67Ra(F(jllwx|ISdO#3-)VY@lwuV!OCB-US0yFgwezC z_n-I_Rbj)BF^v1a7IHeU^y;@DLHS9Kco2DLHUVMT2L$>95MF}w9zC8&#uq?AMI6Mw z4;a^f8}!h@-$>%duE{}|C&v^I4JPeQV3NnV1UBvxY}`57^f`AmAb7Tz_kQ}s+2uKaQ8i*lpfvRknPjV%MTNROn0Ac7rUys}2ydVG5|8lond!;L!b5CeE z2+7ru)A86xJd6m)YoWaQM7!>45Hi(90&*`VAXo+K<=~~SX4XU3^K;!g_{>fq7oUS` z{v!PTk%O1I^m%8w?7Fil*W;Vt`W6tQFS&)Oad##*B}}cSDp((f-d87&9U&5e$In0a z9QRxxKmQ5@L+q;8ywb3Bf{g($@)H$%prXaC{-=irh2N3H{YTKrs9Y&uJ9I3j(e{48^+66OcBA zU=_)elA-Ux4xgVn+3~t;9LWn3kW~!9G6ZCYB%zOkmtzVPjDI+$$>dFUa=JuG=p$8(yDz!#T*Ha&Si<-A z3#;zZi4u^Vl6&5cD&>K=hj-kk;Cfd;z|XZrzykqU1LCm(1`-h>Bwb7fRqqIFu}4CW zy&^a^_1G&yfGebA%Ls$94hr8QZwUf)-Gld51$R_lVY`jCFhDSD2cfVXy(Z&AR3?O= zj5Q2dX~^*gDIP>xXv^e8NeT+c9h34}w-YUS-3rGeV0KJNed`7a?h{!!E|7d>CAU`cx-ctlVc`s8OmOBI5!g39lKQuDIsKgWIl zr$2MAfpWh{Rx~7U1wMCl2KUxumjVGAB4UGN^i@z12;W2R0+NV7gA$Zz z;lrK>m#)o{VBQFd)kd)HzW3elazFUzpSkNXmjws|ejcsaNO&=4<7<%gd-=uN$-9Ba zrXdvJ+JhI96&n+R|KR=5$Km!@f|c;kQw+FQG*oEQT9l|21IM`x?Y0qfmY& z#Ol8W6v9tJvOHP}uYvEH%CBSVd^%UgC%9(Jby!Uq4gzxD= z`5h)aYSM&S5jm(Z0U1Y90VE=jjcgbddA};}!)L}T+31`}`Ho2;BKF)#^^8=FccpG} zNK7~wc}D75g)3*mvN$YsPDefO?@jQE6nq)t#irh0-Y&OwTNE-EX1U>R*vHDU-*otfEVIxv@Wnp5#~dE73LNu_uhaZkHzx{%W$qD zk$%kmZw1Bb%T(bAn+js%I4tw~Jm^33HSnfjQG`WUH@H4Gz??^-jMcGz2f`uI`-mhP zo4esLy#6;r-x0(B4B6QZScioap77xNQ#jWrKl2$1>B2BDEK!Zuh@@Y`Wf?bG0c)m` z_+xM{+P9b##*T?#KpBW_(eEWNZ_;9|#om5w+c6P-Z>Pa_Z*UTlvBMCK?Gp)kFeYST zyy0JOAL}O=o@97pp>nBiJQ#s!Y#j{-wk@NQCn*sCDEm+r;=O0%oXW=v$;MfjE0=9w zqvn4Y^7%2S5QsR79t@nfUk6VZ7Dc$>$fXo!rKEcbs#hJ}v4PG(FZJiaOZf?SXg%}+DP+@8_*G7f*P3Xa_e}_e zd`NyrF5&gC;a1s9I%-C!Rj&HUh^-WxY-7Qm5F{WYBfYzYfUL|<|LQx}wSV!;Q!m5& z7$hKXI3)rCtmac!bbmTGGxMJq?{&HfNW0yp5@G2muLBsaEyp{QGK~n6jad52@Ma9l z)Vz@31re`EO3Ux!BpCALdUKw^4tesSy+JrJJ;h;ICJCL0NJcxMr+if`t%QZ%k~7Xr zxmN<|aF6Ud_o%LW>%~=fCLBY;f&>J~M;*w@SwKK;#!|aj$?D-<_g9c-QOt27I}(QT z;Qfnwc_0%lX++p%j|h4_a36@mPr*}h*+c>UJ2x-PW!VFQ{Xeh~A$B-N!QBCpQ4<34 z(;Jv9VDdY9Krl3Gtjd+Jz6fLn8xtboxnib7Ay_EH(F=0zT$yr1sPQ0-e}~WiZ+!hA zPCow*cwLTx*JPwtq%f?tPKC_*Zxjf6&n1Tqqot+2n%3??l+b_fyif(R7* z?IPT8u;2=>aew=G*!RbApx0rd;f3S&zW4NXi@$fW|FiTtyte4G@?G{jCiy)4E_)6B zdST$bLB-_B5Z>_~Py^#2N zlB%sx+&l_9*uOux{@(}|E9`*&S}4P~Z*|5U*}h6j)Z@VlhsoSqCFckGWo#R5xQE<$ zHF*`@2L$5!Lwku-pa4gY1eQ~M7$gZ}GA|}YzV-F5b5DSVg1aHEein!Xo<|jrK-qjI zln#Ce^maJ1a|0`cFqbfI1Lxdxp8N!eaelQsuxSAl&mkhhm?MCK`cgRdLLgZmfU>FB zT<#5U{kNRF%+0}f%z=d%=PQzF^lZ$7!g@c5dwwm1ykMiO_dtyFGawXf55#5{0Qx-i}a0SMxitf|XQ*suv^&BJV?zW*dQg=$MueD^3KDy&S0UlcMkQGV-2q5NW6g znGmu-q@uzEWZaMsA}F4OPOglUyRn3j?d48;OcF$$iL%lGaia`}g# z@P7on4ex_ka-6?69)(WO5O%eIa}jX~=E5>u_ZFCUFMuj&c+SP(xj?VTW>Fjww-96S z*fJ3O`$EDuhE9DD5@g@^?svQAKkZ5G@U|5oA3R6dSkj=dniX6_R~-jW2VcvZU;kQn z7^-p|g3vzfKl2Qj;}~*-c`8V9I0xkW?rNy~hHLvJP&DC#K%}u$^zVR&64&_(B;4;1 z1s|1OT+3I&|9vTVPtc-{9-7;s8rQ8S4iRC;@7^g`vR!d%Qb#Lbj~+w38gKMrT^}YX zCQb^zDJI#^M%dW$7>eg7an*ju4j~kbje^~Rb=!qh@GkA-95Gb|6bjf#BmhAcfM zujT!%V|5`FB74Sa-Z)0bMhwwFS=FnC;w&R9$4It$vZ13)5doWe#$bn01aN#B@;Y|S z^xRXRtS*KCVg*6;nxXOJ1>j*muw}(fK-0iw>_>!#K$z#~g`I-AcG<4Y?pcs?@!t3R zzI)o^ALHg=O=9!VF-S_^vo`OZ2c!h&J?4Gfbn=LsEDgD5Jn`}F4N%-;^JEvotj;6j z0ESrhVE+Jo-_xJ?IQKqm$_gFHN2uD>S?+?h1!x@jM)&wfJd_B?NHOI`A%wgL;kY|j z=PB>w-S2uA5vi9$^7j>&9dKpvl2joH9gE|1;WHS9RfN7D7j4_@p8SNzy7$98#Rh{_ zD8-wGyp6T_X(9{{f5?M@lt3SlA?Skv6|ag=c6U9L>D{$;lY7DQo=2a1``h2{p7?~v zyG_eW?pz=p1t1@oZ;Q$3*a>}MdeS}NagTHFd?z&WgthQ8sH}AyJR(?z_q=-nS%Gr{ z0U7e4SEwr{JE5Z)YNG@5DndkL zf0#+hMgrN28SELM@U0OJ)7nDYTJ#!83K10qc`p!H2yD^)G4_;%(I8=hTRt}?AtYS% zH7e_30V82#1lKn4n)u;KOdtw0^!oeD>0v){| zvkBN5SLU<=$*VD=R22ND5HFM`a4FyGx+3 zZDny5A_A#~Y+X;d|(nK+>=Q<|aL>5q>tPkWGU?MM8vgW&yU7P}d$6!Yx8l zH}_bOW8D5E#6e@iH_nAk=yekzj$u?2KsK=N1`~=hkzTYCVu#;xh;PP_1Pp1w^F|@R zW4@Xu;z5Ys!saB07XAEMTcxXuySa@y9afurnWfutl25e#i#`jhk7UCaH?!X5{O)s!?E$I5(zM5;Bh%;OwOZiHOE^T zZ19+<8UkWTh!PMXGwOwjJR(S1#`3?2 zNoq{lG*a=#la(gV-+3UiM0(*`P>IC3ipnP94B;0kunk&6n1`}J^SwkRQgQBMEdMOz zci`H>waKAkS@&`wAosoM7&VZ?b8zjU{J`o*tGGrH3q+CLKHj3=!|$Aj_pxFddIRxy zaNspzc%kA5;z|;ewoMGcpYeYD>Bp|dK+H>Gd8Nu#1n${~D8Xl`t3#CWDh= zwa0NK5slz6_XI;^!>Ac!N-V!CV~&&o7qsMnm9AyG$|}WiaMW zjX`cl4-&?CuCF7ET7vg*?eqZ8I*>q)q+=v|u4|ol4>wta-XKt7w*g^QXdpoR(oj%b z(@h`^HOOtkuq*8IL2DQq7>_~-RS}ZN>+t?K;MI67Pum_4i}JbmbUE;n)KllVHYAPb zfRtdq2YNo3d}Kin%8>5T#AI|J6GPZ91kTBycW)@V10EH4uL52VOfpYFeg_$MO_T}t z{Xj3tdGNVn`h1sxkg9vhYa|^NAQYs#q45|=$eCQ8cm3J-c3B`Ynh!E`-Z>N=uc7&Q z>H86Se#GJZIjy>C@;z)0NWboCblQyZbR-P$k$&7)1uKw{iShB%PCyzHvrv>~>dt?@ z5gS>bG6A^~3CLql<>X($mwxxU_ODjwrtiEv2*}9DNFX5Tp#hb!26;F_UF47((oaB= zN$Bw~ozP89W}h&m6G)B~d`}SR3xfN$6t7gpvgLR~RV;2wSVt03z%VMv`6zIwbS(c? z%kko7aI@`WbQ2*8CrZ;?O}+T%%sUeaRGQlb`PTxlV!IZcs_>Vv!k#O zM?vUom8?mrHZw&FK1Y_yiK--<`_h*jb~U9|RT18r5If(H5D3}Fj_7qDD_sDG9gw_! zXc9W)PH=2>rvlZqDj0uVl8^@$@F>`q+hrjmB@cpYLPl_(tTSEplmM_I$dad|La#kh zQ4mIp5CZlH3wR|bWHCbFuVjVDNj%8XG^zxp&RZ1xC`86Ykbuyk*L1Ami3;x1dt(iM z{#FodL|nvsvUSY7w(sftdJNC=$Mmy8YV^JFKzQ`M_&egy#>ebA&G_1q-(jv7@8L$N z2~WQ#LLKiDdayQ2nA?_7CIxs;kxXtP1*$>h4d26S-XiaFdvKX`atBr2#>J~LUa=k#LquveUj(n6|J#)RztSX8y&;W)4?&A^MNF>DoRE=FL95`y z+-!&zc53#dM6n7zA|2jeKram_;Ycdy;JMO#p*d3V*tIqsu!|Zc!XVs2Qeu@xV?e=u zoxjU~;k2d{m-?`(PIDfU=aFEnVIxI2wh2f!_L12@jpOPP8klvrLk#@)Ar$5QkZXk= zJ6$V8!qMW6YjR9*PB3Dd-~hhQWugo8+gruh(uZMv*pkGaLAch8F=u=LPK^)1q-gw_ z>ljbsm>#PWer*|-|2$@Ky&m?(=wx4S8B?6&=isr*kc}-P;dpq4f>nOM>O-g0kfvmV zaBCzS*SX?lU9T+ikBxL2zypkPZcQQxJYKvC35i&aFcD zRja`I66V#GQ|nwAh)A6xOwy!h(U8)+MR-30UCp!5)1wIbqvq|F6O~PIAM-)d(DP#m z&xf34)DfxlZr1dT%k&$tqZ|;UYbGnRCX>)(Qj!iOcT+>Zwi9~B>(POP3=OTP0!CAl zQ*Lf5PDZ!Nk0Cr~_tLa$Pn>=NGCn>w zIR8U(J_aV754!n@5UfnXz2!$LWvX9kr}PAKO^0sio|M>J5UGSk!+S!~bxQT{YH^V2QP{=g<#?0!S6wGk)klM3@tJxAZ;1A7%^!buZt@xWT@*o zl9wJfCd5%<@_~IqZ~<4SCrOs_KE|T(2ne|A*fgB+>Ij)@)04yP$Svjg!^8(HG_yrUCyr$IM#sA!fT^& z2Z7cQVx#+wn7E*@S7CUUqbb`u2~rY}<4r?+8vOlc8}^&gclh(h%zO5l`mR?6bqLIra*B9oLGBwjHN z+pGF;Jt8f`v4s$YHs>Cd`^H+g;^*I*5aSJ(0?%zKnOhV~J6qKk zBE^>#VO5H0E!CCG$E0IMszGT5D^|b@qL7QBK(?f?SMySRieHbLuqiY&c&~IN+NsSRMyH5 z{LhpxB1+GUAtE!4kd!}bb7(YQq#1ih@Hs7*XSQIT9pjaFaKUJT#*>w<%nSAEwt3E= zm09NyjbS^#B=5}{PsFg|jVQyaa8{|rDSLc_Vv1{MqpX!pJww20ogi*8ez9SoOaugT zK)(6?AG-U12L!!*1F_7mb-@@u#tQuwi(53B24fOfqnPB64Zr&=$6CWRk@4#O|5`e z3noO-t^r?d57x$<6v3F&bq2?H-4&@{nD!9jby@IaV^Y>O7POflyvd8#RIsL;m5~#@ zB~OM|+(#oS4h%g9PNbtL#@m(f%v7T4-z2P_hRE@+&ya7*w3H>)_-CTxKkt`Ye+zjoXW}n39JU1 z%>C-*#>rpS#!v6X&jA6MoSdXGvB=Uw{>M<16A}_^(xxYf8I&8M-O+<@g<#AGOYt;B!gH+NFHn&rjG6D! z-y7lIjF0iP^z}@ zUrB}EugbHocyE~sYkPdn3uz&?GIU;rZ8;<*8!Mr;7%qFow8ToPgz>2GUL0U)pQq3& z>*Xkz5G%=P(6!~)Sx)jha>1&oIUL^GVT8O-{LV$52Jd;OD8J_5E_zkQzRJteiE(gb4@}k(~F2gpe%_(aM|fF@sAIX2uEZ zHd$Sh@foX>fXp`X1Ma)_PAP`x)Qb1%S)u{OKWoM>+V2>Tt|)jbW*(uzL>0glD)Gz8 zqaVZiy6Oo@P&O5>s$x(HYXC8f)`F~$4N6vIi?4D05$3`7Vsh~fNA^Rf>M6R0P0{)k zoEb6eTa@cf3A~EVk@xAf#T79`B#&)UJWJx+Xu!4T^++u`FF7n``STQi6-!5gS3CM% zxo*Wf#pr-j{l}uAhAKk{z45A7^JH;@V3*>S5{ixD@!BZQ*L(L3Ua1W8bHqdjXvp$v zH^@RyILtg;PDCB3oL%xpz+e<)IbHC$MOfuMvPEC?0ga9kMj`R27kr51l;{jo)q<~% z$0INJlV@zHvTXgaLAODT*_i3vwnB0}1w3>#!gA5z^2kEKmPAB`wU`$!Yg zucSFN5|4@yjfyE8#3O{&7mZHGWFsTZs8ey-U7LWO4owHOsFCmcp@wc#87mVt9E=G` zT3S$KQpu{Y$prNwIhIU9=O%<@Xo-N{kJC*+QoT9%+>1y5720+D*T0+^0r__r!$?53 zoC*Q?_nWb!b@S&B-8ud*#nIF2zQG$ZJw5I6z|JTP%XmIK@rVdWxXDRx2R$$$A>2Vy z+t{ZQ&0SKy6MD|?r~8iO%|x*-wPg5J(O1PvRK$|OUWb&Qe5Rj^PL2xu8 z5|R~WpQXlv>6ob(eHcWrHWs*EKUz#03S>MMjFr(^7-@?!sH)7hd0)LEL_|Cx30oHM6|yq2 zps$FRq~fjFYf4T8MKv-W1l$F*wAkNZyYb4PT(%7yQ~+ zgsSI_fX_ww9ew3-QRtg$R$k~!g87(+S&;&e@dUvW1@vAdh{R}#_eabz-5ba1288Lmj0n6Xtb<^h+j{jg;YH^COnJCl@A$ZFA!l;JtWrq5G_q!x49zTE5i4D zE(*^ovZc2rSk=(5lNh&u2*ax42{wd82*WItS{o{R>(eDb!jKM_= zG#iZpW254cB@X(%eWQ^$PjSoQQr%!l#;cW6)&3KRmqtv)$jzu^>8t#+7 zM~3VL466l$mKe7P%eqWBG%Qc$jT%pwWK_r~g6}2gfR}A{;GAg(V@bfRqL-OVV$Aa% zJjrpwdFqLE(_&W0JyY2|YmFn~rL_ewka*afEiw$$)rgrl#G~N7t!nTb6_2Xo3K~ay z>H(>UA+?kZ`5qE#)h*_{-ot|pvQ3E`K^+N0uQ0NtmgoJtl8=ITJES=@hsCQt7Pe$K z2K}y-Bq5pL`6y=NkSnVrhAOJTpq=$SKcpF9s=pdm)>dz|ioL&NgYz#?Axm1R3= zz<3L0Viqh*ws|3%l%7j8C=}vR5jL(~kScmVa!Nn~384j+7b2nyupl8>xH#2HfQwcv z1sFCJtO&ZmbLUu9%SIy#j^8oh^@f3DFX-h~|uV zLQ?X=ovkoD7L<^9;VuebhXp&m780`T0T>m?N=R-OBBJlDim+divFZs4Z&zuAW2+z> zR#m7+f}Mra2D@*@8pdUhRK3!@VMGXtTEbL_MS{$bm=W2h?-K#5!=J~4-cO#BIDf;) zulo)|Ak4MJ*Bj2;ME~0e;^==?y^!|z!rY@Z85^SeS&5XUwVpl?j+0m6O@dgItyQrI zuBw7IT=C>WkFAQL$4&k$=`aM=ha;4Y1v|V}OW~ricB`;f!n~+fbMbmC_<0?|dj{om z%z2BvcsLqtL7eg7M0pM=QnFFcn@;2TsM#N`OA2T3)vEHwqmbqN4GDEnQeiz1UID1& zf+e!73W0h)^jLG! z{f;_+-XE*>8(%Co{Wh4CJYNYB5v9T3(SOX~nPO@$T<=DE4+Oh5n*SPzL`^*80mIht zdkmpi>#28L4OJDsZ(TzIdsR;g16HZmB8gr4%*zpe`4B&2gky414jztHkc$y+wGA=W z+@?0qT_PK;f{db&4USrvYvqH-Lu9yO6h}N1qOj~KS%Z_+5G`TXX;PmU72+{g&U>t3 zeI)26R$sxetFDAvsczF2BEtF)6A3LYY9lKD<}16^nkRW-Nor9 zAd?W%RUVsjzjvrd4a-lFfP5Cl8Aw3Z!T8}RmEygB+0c3U5liUUTQK zTNhQovZclPY8*!dBz|adDc->Z#Kz%qZRWs8W6wug8p`P8(x!yL1!sv!0ER$$zlp-J z0s$!x8t4tlhs1Pp2l_B9br+^XQhJ`lurwU2DIO8c32BuyFC@4sJ4KG0?3S|8qGpc> zFLrCujKZ?2>?TD5GVYVr5oiiNVI9fGWZlG~*9+b%GA*uI2C$+L@})pVNYIPYhC<$0 zVHT8#0DyX-?=6iOzE$+EiIfO2iAagQ?#i)lMXZr1+^e$H!NS|W9_Fzs7Dy88!-168 zee|ZR4vRn^W+ASM^qMFDtEyc0l0!Z>q6z^M3qDr&ih@@hj1qzGuO*1kTJros$42VW zYrOUi!|{3kKP0XDPw_-7l=wbz{)xadHpHDo~**f^JiJ%XzEY8WFDbs`&e z$?1@y4}Pdc(Gm{t<;a;ZtGvmtkfiZ)$mbYMj5aFhbs=t($)8YxC3G(yS5 zh*&CZ*o1mkdqQA(hJ4ufqk-2@&BfRw-jK0sNPzcwBb9s#|~&Y!}s&rkLf!xCFcG=p?T5xL*$IO4iiMuvw>x^~j{97GYL|13imn7T?t160jqDwmtxV>VeG2v5k5x zL5?;E77oHU{f_W^_4xPAe~quVI`Dt3_5x0A7=ZJP@9}+G8-!imYD5^-sHO77<5V{o z#*!p-*;l0sWMf(9jhR1$Rjoia6svS!=b*){`Ia$`wD`3azOdm{Ga{=gygHFoZr9SJ z$b4RVVx-hCt7^#cP~#?Hjjnac`M~^CCLdYK`5=#ngpqem*j2j}lFi%3^T8eu)`4ue zI)z{5Ge(cnu=k*AX|lNzkf56x;^Ff?GEpcNhTQwc)S?S|4@e@H*cLZp5|X;hqDYxU z8QzSo`kMYt9*{slG8%?uJRq3fFx>6lEnUzjre}WnS0}o^z8rkECG>NMkODOg7JbBba7@q5$P5~ zm58n^WKTpiFQlC73&|QW%79gFQ~_Xbh=h8GpeH~gj|dYJRH&vKg-|xrSbHh_0Y{S) z)V;t5YvY{pj^OM0R!P7Tg}eZ3oAXClSwtXa#gc?Q05~g_Wv@_L%aM9dNKtLG*8~a5 zk_dPvER~qBcmX0qty&`3tpY#_f-2Wt86v=^)l5`#2mcQ_G%Q zls(Z{Hv9G%J}VZ`750J|WsQiYl8Uw!)+H~*7me^v3U0LyD*3hHH)t)?*WMbg%4$@- zN`-hJADV|SqXfN{H>Gn!(xws+O}w5k$=BnxoUc|jVe&gBd@^?+8RL~ud1}Ox3?UtX z0A##p!jcRM)s*l}O$6=PTrzWfWWX{0Y{nlSF>&2WI&}058A*nAMfoUY^Z&d>Rqla$ ze=4d71%hS?oL2PH{i%BJ{by?Cynto&z1@J35l-oK2v)6hE9O7c!u59p zep|eQ+AA0DpZ;t}yE1bER=YE*Tn7rnGB#DQQw7DxCH0`5uvI80uhV~QxFFK)%PCYg@cG?L@ z3yM;0UYP#*x32B{`)|<$3+x!;mTM&Z_y0O$Y>=Wc|^t& zc_QPceD9%VND})(yW~S6 zSkMb8@gzlsdW8Ue(SSJ#dQoI`pio)rsL+6Y5$ImQ^~b9I_42R^{c7;8cmY<%)kE){C`l!|;qyUh0%0!l9lGwnUeMMOx;~q7OwVnyq>|N;2mpOt4Xi zLaRdcH}P`#q|A^5#TA$eJ}EkBd1sGDE@4s3ha8S-K3Eog@@6(lERQQog>WhgwX(6* zroxPp4o@7^`ltj%i9{(ACxoJfEmUD(@*jQWE|XAS$$K(l6JG;H$^Ay0s^)^nNsejd9`;Iw$60Z_?HW=3oh9!(QD}AHJcqzZ-u}R5AS_{%>9@e-s1T2QRy-eR-{XTvRzlhh0m+8~K$UztDz{sf z=FwVqS6eDrU9RBChgQ8xMdfyVK1ifD-W35!>YnL=26F9H7bT&KvAtghPKQQ?>A3$# z3K|!pXJu+?^0b%WMTf-Rm8oArk*Z(*78S4_XbH$OPUS;Chwj!txuNwRI~J$@yK%ZJ zVZlwAoS5Y5SE=<04@j~M?@&ZSd>P(kIo{OZ(q_su<4KX0Nr97P$XCb8NywFNAd^me z@=-`D>ClQ;;t9!SLOuu%VbZ0XkPspuTADW%xdN4$SM!;Oh)_;QAxjIYVM&O@Ix-ni zPe{g-k+xV5IuUbEC>lvax(7)e%X_e1rY-D zx?_%kP+07gyg(p9->n2CKnCyQdsR7BrTwLDATUcJ_?JXbhu1+7U+Pqayj1;IvfE+( zUfi#Vf=~;`gaqJwOT&7s=9P;j^S#R*{to+HDnyq$@iowAJJm>8!PiUe_?Z8%1O9tZ zc&aRHJNzAbPwBqXJq*f}J|8^3;1#cuJQwzI(Q|2)J<0TB(-Y9xgP{U@p{>?w7;R&% zZWWE!jptJEY7_$@Zdjt6r}?N=szNSD-iK7p_)tVmBsapm9=7U1^lQfCT-i_~PR`Ez zuq4XwC};he3`j3@({*wayBV+DIba_rG4WfIkCxJOafcua=n z98xMuA)cGPBbh$$h+ZchQ^SWROJWd-2vyF9lF@&za%C+}vd;$Nh%uI^q7*E)R*_O{ z(&u80CLx@ZaY~;vht8=2r}(4>l-b1G30_=L2Jv;2ykUhgXF;*d;1aLDfJxEX9jo+bn55Vx#K#k! z1Sa|Ks)S?1weZ>Qp!4K66UUZ>c!d8|@p!BMOYaFED|F-j3B?PzRSw28ea`mT%Y2|*BroSm9;bM#;h-fm2gAHnlEK8I=w4HRwWsnSWHUPxM4El#kklvT^vW`v$7=~U=Bui0~LP|{6Zl1iaN$R{H)jf$hAz5D?Li0nYcDAXX zZIjfy2~S8*V!w5tiHNOWWAa2afxX6q-LVW#NI)jYGg1g15=mU2YKR50k&i*KE>;;O zB(R+pE90yZl17OJ3v?CsBHV?P%&EX{1|q`X4S+7fU|saDUrccER0h|7Wz z{-h|=s01ZINsT{NmCuV3Ac8NDnX(s}i#k-P$Io_U=;vhLpXbjB?=6|nMBmlX?+?N^ ze6BM1I{fwWe^|2rK}j3^XY(6=l*7I!con&4qG*}#SP+5im8@1dC}hT~rNm)Dp4ogv zB;*-44KZz+`2g0zS!~Xw@y{&{pHhNbG@~E_ykPoDC`lF%MU%#8Z=J!FwDsG?X;(y3RypF18399 z4U(@?v2vZ8Om{#;o~)1MwcTXR0mKj8u8>KCpln}s zfD-E^9Wjh{Joyj;Qpoy3JDz-KvU!0?1`&-y@N{sstE_KzpdnY(=L5+{7EAAf?uBF| zA4=|Op`emhyUJ$bFf7wxFz9@!6S6*-&nodqN4dnBTbvtU?2ZiJ(lWy8su`)|8lrlX zfTW{_+;KDRRG$X~bF1sM+G!8J!cl|-^k?oF`>#9i)4cP4-*n0ZWY!XpO{el9WH-MA zmh-4x<3b-*5XQ7sYE5LyGTNhDq*E;NnR!peYKVEA`c{r(G&8KGx;If z6 z4AI;W^@d2#kgimn7>>duG+8}wD&NF;BB~&bn)pu+(b6H76HQpFg*ehl0YoqG>r6m& z-#0iSAT0%fFP0o{fi#xLxn`_PT1%vo6gy^RyWjln9zPzgd3hy6(yl6@5%S5KvX57ZQl3C`d>%iV+3k+o>4CRwHS*l zzb*-ps(3sjN7hIDvhl8Y*A*%7L2h4P={)kG+%!79b637^DX;Oc+A7g8<| z6MFW=*h?a>ZO+?F(-0HfZ`t`+G&mLJ@Lcp7N7>_*T^qVSa2?HwVI>$@40-AF<5sjL zJ9a%+JWeenu#7Rs;zEooiv~~b5^Iv5!*d7V+pj-XHQ1H--Uxdu2}4H`k1H{D$#&k{ ztHqWWL)vP%s(3l!@k>2f&2pcoB6=ROKPMzJ`Ml??*VSWJ(U8|5|7L8&fQcrUZWN>W z=t+j+mCWZUGq0_IFyNHpQ-Rk{&8(#=8zo8Z`^tFvXl+^@f{hM2Uld0%!dJE`<~;dm z6|L7p^cZPBpw+E73M3ondq~lqnyo0B(|ivTcBRb*^Ks5cNlNdAkgIeQepL{X;luD{ z>pdPB+vQxnA*ra*weI^0R|7+?63q!ygG=zn#3PkxR2WhikbtZM0@CSp?v@g~IjD;J zuEV{bLyq{Vmf-ynjP;g)RHZS?YQo4sDt>U;-(qM*ET2GRU2EwO^Ov(dK{BCAmga;M2PC40_`)#pqt2Tq z9IKK`M-{R-1S=*Xx(#7jS#nJ_y{pnJ=0YaKQ)=1XVkqAmln?-n3WEi8B=wfd*s3uS z3H!Vc)1t()Die>fNXUzIS4#Q@!EQjX7Kq4XT`e>$=%*S*6TTG&gK#MVWD@kv5YFWR z+*l&O3K| z7C$A5k_$BJt%AiwxIrljJ(z98`@teu4CSJ240NNAP$sQcBX8zq&R2jV1+^Y}GEpL`jSY{QshZgFP(VWrBxQq1 zw$hg;BSB#bWykZulUq#`*ifQqlrkSWN6)?(g_utIDrSi}gt*nPxTRrSg&3=3Sd5D2 zb}7a%gHd6fl>K&=)=D`#HrEVz6zOeu#<96pj3M(DL)u9UsrF+{s}dCW=vV^Z z{ITjlEcDlLmzWo>7YT*^AD*N|Bk}*`e(Akg(BEl>_mc8pPGrQaHE?;nN|MU~&r+WK zT%+U*9?W>}YeKFW1Du~*#u%b<(#p}vNY)m-{0$}c^Ks~>$m}s0qZ)QCvOQo@Sa&0p zgrUHPS*Z~uNBa@+DA~d}Hql(FT$PO119h8xHh4Y~M%kEnm`D;EZk5kO`c^q>$wxXW zy<0F_ZNX5;By&H~QRBgUf_SJtsRSgG?(c#=hI=PkKNg{{uRy&_s%keU`?H70)jVZbaVu6*m|D_ zLg80FDSar>jBtouPNq9#==>Ne0$?(FHo-PC8EsJ5Pf((XL$8OT{14yV(pJRE1XgU5 zl{6=$m`z2c-AcJciC(`TG(J(v^hTjrrek_8#5wXpOcMdA=QSrJn<&}K$22*;RWf-Z z#h_TU%ebGTW1^v)(Jl&yBZ|UnHS1KA~8O zA58hM1UrhJ?5cNe%JjOK^kF*r5T@gm(vZ6m%2pc>VAYnkj@QMgl+3jxUaQ26nlQ+b zq!)m~l`f>N4GgcY|`oilKCO$M+P{0RKTT|`PkNa?r_(TYil?~|lTU@hR(Wt8`Qmx1a+l{ehgRua9~0aP>q2m;nkSOaGCmg#Z=_Vxp*llZ2}h1~ zigMQHqAGrHjz`AidPoSl&2KGmc)2&S+8mF9O)@vSQa)6?io6~F-gn-VgPBWYbZ?c@!O^#_6=}^MT=5Ls1A;CK3Lh8PNSaisF%!gLIOdq~m<&bUNgQ zczqf6*F$C59O$6f?E7@*e_#cy?TgdD{N8o#U;X0LD`3505CQr9Q~B_(Zfm+bu5RDC zIzN49ck=Y-flN(Jxh&i)EXSLX8<_S9HB35EQIgG&oHyjp^A8{$hhO!%v20?xB_cRE z3>jf>$B+rVO8Mq8-W}(?A2M0fp<04g!m{yihh};VOxN`Mp(}zlp%Y6$Rp*?BL1%0+n_wk&SQ-v|bSPAL=B)8{V2X*r$=9*m+T8B7omAKIp` zkSYwFM0LHkd=@R1orsu7#hOwkCMyv^2_al$_>gOh%7&NX(ws_CdZk=ciL2|w%?v>+ zWnxV7c*XaZ6e{b%#Ta(MD}HuK4+%fhapT$b&pe^fX$}cvR|q$?UNa8k3d$viqQ;(* zsAxyC6e*-$Va5HX_4?X%B>P%!Rn}xYf{|smW$>*PFd?k*5@FJe;)2JDvL69|DnUs% z#9|OOc}z+kZ-?LUzu&UBT8{81kb)%k+5cEJ|5Nt$`wWqo5v-mTyz<`>8Kp{n_dCc8 zYYZv&VcS#!&!*%Uo)>#CWRBEgxySM@Z^EY}bg){840+KUHAQ2_Y=i=Bt$enLZ@L*LaE&xSG%Iz+XVRtrFK&xZ`bN`5|ULgVffwyV#@92P2Z2aG#bpM(*q)H(wyz{o^FMo^tj|UGTAdf%Q zM0BY2`-@{6CVx>n&57tUGtvActrk`DPFlE|(hS2@$9Fz0JO+nUg3!e-OHWSh?k$;F{qN>IwOAbg45Y^INh zRQh^`q)kpp+LI7p6T8T9lg&i+h-M*UT%D{is3jr*MvllyM}fsCIPu8(3R)`kdu1D@ z6##6c5=hAyfMp2XLIGdkQPm1t1y=OxM#y`sPLcNcb#%mK#|4a0mzK2K0=)6|3~MahxLGYS98gpDOa%xrFpwaE4?R#i-c!~xb^weSXv zvQ+@XGbfxZrw|YS4Dhv;Gf6Lo$P-I6==qyx zAIL^Aig+y`A-zY>qbH+sG2JfpDZ7^X~(J-V#@;l=7mGd~%F$5&? zn3i(En@UOL0UvBb<)$yB6RLYQC8xEK&~56b!C=*gsHY{#T=G3~Cf_3)47(*Mxm&bh zSJJ~R*}JV^!s|7%MfJSACZ3xLsd z(b1Y(9}5hi`q~J2wc^;^k_oQ>6iL~fP@!Hcda$3U2hc~M;0cQ!)Av;g5Wx{FmhhRT z5i%gWri_(R1y}I8gfZyYvTu4yDg87SdCmP=wHf z$+}Sl>r7^?5FhvRD3p`7WFuG#jU`-iHAZZBLNynatRC%CY;B^rj(jZ4WzBRAxv*tz zyM5k(WYaDt6`fKpH1P6Dea4W0bi%u#+jIg4w2(!d6xvD@w`dBkgku>xhQvg}Dca_9 zKGr+oMTtBpQ5kWYtg0a$v2|6wJ~qV6T4#y48Ko%{*9Zh9( zF-Ht3tp!EV&$oIZguv*0RC3~RON=YEVjnJfOtM>F(a0*gifhKWVvjY<+N~R7OFdwX z8egUdtp9L>DDFZ~2%B1^KEs82gr^#%i1c_YYnD9LO%1?H|67SM2(Q#AG;RL3 z#ch8~@hrM;it~erMJzw2EUA$DO}J!}^pvTHkoL*xA!#WjFmX6mCaR8wxgyErbf2J}sF1}u zAz_ix;)BH+$VkSMlDbrc(6YT6H|ZC7F)VcLC~7;5wi3zeZC|51>*KjY{I>Cs_}EX} z<`WfcOhY15HKV7o?-~{%VCmzvJ$U9rBB^>yWCWlt_LCBFO&23Ylz_f&NJ*4b9EeH0 zAM#OjKX_Y83FV;VNz0@a@-p!JKzic$`i_avoiyJusY0>Yf8Jf6A0Hd|TX*r^WZ$t^ zc?m+b@f~16@Q3%8@p+JRuS~MXn@(e@?)8t=%hM~;!gdrYk`SYHPs!{yRyzoL? z_f3e@n6U~f;Xr{MNJgCNl(eLe*s#QMsDqyjVTj_TeF#Ia?t2TP4PQzM`eI1t)csZ= zn+TV($AoB>l_}%q`Kb4P zT**g07(;k&6b9gx5)K8j41zXbvLTf;db0&))+pEy+l^4TjpznYkyr7ZZ<-VbDU z#^s?ONEC*ZN*T{bl87XdZ=x_Q?TDW4D_2Iz>3#8eOh9sjs$)e7>Vb&lGlqy5hHRVF zkc%%9JRgMt6|#z1jZuuNW0h=$tbBsyOZ;QaBws}xK&2xnFXU{z$bEQLtT4n1LN@di zDQ4p&)q&Q?oG<6ggd{JDK%RiCmjE;G-c=yfQ5_`c3tVSB0koslLc$8E0-uHVSdy&N z1?1}qps!n!QVfcL7yialN$&??6Fezm=|YkMLTkbZa!Y9RJv%1N`4ItX@KE6%pRebZ zL+CWyoR}kB$24u9G-B@3t!we23Yy(#lGhgdoB_J z+7MAMoGa2Ot19y#QV3&W8|IJ^*gg~|XTk@Qn_}?h?Vd>bdJeu%?!Q4MNHg1Ro zeMUZ~o~-a(VZW}=wrIQ>h2W{E<)ddGlZwH^l4EZOF{GoXTR)crhV_S48#!*muREn| zl%qwt91>;~3f!1(| znSIpBV)9`U&V7Ty5MJ*M%xP^pnDIHmo_J)229S-x$JE1-O&PC-Cm+Euo=Ox}%J}{s ziL?Y06{I>d>d>_sl&qdV{pEMD13L5syc64V{MV@`puh622ndebPvuMgTYl`|>g1jE z@!8Y<$L8T?HR?6De%(6X$uVVaFz#nEaok%CZV60zCuFAvt&(DN3Tad@`l6}76Lohidh*Sl7;oEDJ(0?O$*C; zo2;wRR3gGC~9-FL@!h+5~|}POO@_sE}EUr#tDztu2GiT*xbqyK%m-bVP`ggG|mg>uO#K60!Y z2;Z0pVTEO)&ELKCGtXVW(#!@a(nJSdfZi(P$k4DbqXs}?9 zyaram7oyOzan}+)9iu1+bLQ=%n=IgGSp@<(_-?+qxS|41@Sj`zC> z!wDKjhCMM6Y^qAayM~<#rt~T~uP}!BDcB_IV$_ml@|qOIs8W=*z}VyqdKglo#+Na{ z8~luZmWHg;F+=oq?FW1k3=s^7*LXipjLYu?{403{JQ!=_nBq^J_hU>7=Z`C13HEvX zsasrBB3AU*J04+E$^4%fkH>1^x;;iW0(qnBts250Bu;TC;C<2K+o(PRd`?xyHD8im zaZI0~$`d81{@L3c$spT$a$JpYBlzt+lDY_tVkDIcnj`p)L4SIJfl!AMF-Co|D3*!5hiS{2BUobma;q54%O7^-~} z>r_;6HDelFXQiU5>XcD)LHUlfH<%Ck{En0~*bZfO)86==GKuFHYL&4a(TRYZ??!sP zyQKjkw&HmF?y)=F{Tp}w%c1OGjjSH5-z~a8W|a(o0p-` zD{(PNP2-F-SJBdBY15P?Be8Yrw#uZ_-kp{4?yj^iZ5CdK?&w^iH+V;M66H)X5mm+V zO$sFeNt2V(Au+um$MUw6TSi@dT%uRY_J*90j3*;yX^!IwN!B*f$xsK+ik6)-HLt6Q zW;``RNGL?B5SkczZ%97T=*N`u^_ERhG(wUo15MjoZ*xWg2#pStxg@HLbxMJd5D2O@ zretGJ^P&8&w>q=%?^S{|azsGfR_&mi6Qh8#Rnia>KTQ4!34vlzXo;+-P%%n^9#f0D z?$={0@jgdJ%AAM$nH%qhyoLJ@pxmgkGG?yV60ne?W4?p#rBQ~|Q>FL1CYC?lS4(k?L+<*lfJS+<*5(o8AydLJ zQq4y(&h~YDEN|wQB^cTdM~QNlbDT;cK3Ypo4jb#c^{7?#zSMhEOE$J9P(i*cS%8w`2OZ%lIJ~7IrH4I z-g~RY5+5E%&pvB%-E!jL4F;2F9+}*?o|0UTRfRY##vD^cbi^1^Mhsq!){?lzxD+ht zMZ&T%L)aCkMlIIVEnz7{~Ybvh_Fh>e9k7RCC14dzVfW;&_w;FIO%tPzV$o7R$G5O9XJRC|mf-LVy__eN^ zkSCTferP^vAs8P*I{-FpYMTJ|dSrYxE7eDcbg2Gf45-%oVLcw)!CX3<=S*d*92;vn z=OaXv6g~M!`EKWhOwiLP_e1ryG*`XSe2`H6G$f(tOrH-8&&nnAMj{ki;VP}&&eNei zM9M_zSY6fUbEHE>SUqMuA1MvNqI{1~IcsQ$%kNH2O;d5F)7}3A^FMy?P>))3{1yr5 z6TgmtOq_Be`u!X3Z3laI)}apYDg<%Z&5^S23l+DCtdGod^R@&x;@M6%?yc&NvuxX*V2Yq-}E|3!+ z|LAi>#6_76?n&#mtl4IU1$A|1f>*=>N8aR%m@;`}*)WPva(F9AiQTilqE`$5(r5kGzBB{3u1LDc%^tu zJuo7iyuw^l#X1Q5n-^I8@|_kE+KF&ksGbX1W~VH#1tp6#L{~#M3DPY$tQ?sUP?h1{Cn}d$ogZ$ zV#SUND1?1K->gR?F;6?vP|qeoM`XO5OH`PXQ3xd|RZ$KW{g_;|OSvdSvKhrwC&DOI z!7mu^rmd%62*oP2@{F&sPb485uptqTZR_xJe0I9;7?Y2zuU_MSD{m_FnQMy3O2RwR zFkxH`D%+Xu3mI*awKX#slWe$}lmqpIq!cH*Q#CN7Y^i68Nk}rh)Zo;Bc|-VA$;WtA zVGl3P=V4D)29Gdrb3#1wiM61fm0}d0N=hso^SC9rHs;rxuGc)_$4G<)1MsSvSoa<) zit$?am{*LjB*LU>F+oa-LL`#-#)Kk}r$QgT#n_lnTyrrd5fO$Bz%~0F)$rbk8kQns z6@TA|gw@e=sqsA@t%T2w7?Xn50Duu!{{c9^1g;_PswqYu8s==b+iHB6PDu@Rpmq;uxB$CUu z%2guIgY!F5QH86LR30rS8Vjm%H*ON0imF`|68Rp5tkvZbjRrHeD3NJmosK;q$uNJd z!fN$W^@arFxf<5fQQARfK%>E+7u#r|lsg|Hh-#I}-O~NM2Q4@jAywk**K~dbC3sJj ze0*I}J?@f#;G17Nl`q2|{VM$U;_URDBa^2;3=3~sy;g&pcwXdY@-c4d{_?yTpZy4>;!d9)-6iMMf{h@E^{Q~x=a30>3egw6RFLaiyCiV~fQJ|rs>#Ug5-kYsnx zl1ZrY$yGT`#L7tHo#3LZnBE~;L4xu`3cNXQq-MoH^xd2B@aB5Ik;1p=a> z6gEcGc3v-Ljin`P08jw29GVw(1z5ecxg0{Z7+mv4xaYmcq$k2&twX~V6Z@I~`e6Mo zg!t}iuttqUF7NnQC8l3_Zkpy?A&y#ve4#(C+9q>G z-b@=FRmk)udxl#3X&I*Ur7wY*j+6&{T`MMz>*vLb;@>mhV+lyT5Qls9U9&NY=>Kh* zvf_$O@x4jJofiTT@k#NexXMwCv_oHO*Co1IqfA(A#MGL$>ZM&-@=`+y996O`J>eNiCRo`z*P0(vNz}uR61bv@S((TqQn#dJfRYl0XB9JvB=(>LkOEL* zWuR?6Bc>5i%jAs&r7Y)%CnM2*K2DCa%A!#YJt;9(Nd^4?=mnz$u(0*O?gd0)z*Yr_ z2xuLu6oUZkd7@GbF7*LId&GED`2C_0bVZ}ETZ@|ryV_tyASm_ypNU@A!g;;uv;EiF zyNloKRpamICA<;-epL)%t60S*Z-jC3p67zsN}f%x90;b(74piRKI^h2s|ix!mBM^X zEKK6JS1e5j-|j#Up0yO_yk)&pjD@#`OIgoGyA;BxLQ-}da@35h|KYVI5sl$lF9vQ6dVV`IkR0m-g}6o}A>&=L+WBh?JyF7-+iB+k*IFONl3| zjlp#_}3#5R>^sO%@qtr6%4KkCRK{@y07rDK5VEI`tU<>B6wk#cz9f_ z>Fa=xdThj>gWpjcfHebf(36II;<}1=d9CsB{6K8BxTM$>$V0d<{{B~ELZRM@h)CE` zjg2AQh*0#;4=d|BNx5faW!!l@HULHhyO`^n=Si<2%W>;zG(9^Cf#mla4w7C{_NaP1 zC>Ww47!-9d?@KP%HUw;FrSNl4KumMN0bUO>=w^a`RnRJ=LO2T9v=6h=o*yBsK9CEW zY@YQxpV1F9iEieWbYzTvnMp^LSmSp^5Axy>hA)#$PA|yfiGq2Smt+A?xg!p3>RRHq*zPhQ!qD0_c&HJ#gVXLGj ztWZ5UABE9yrT={;H@!g$KqV;ZtUwpMw?)rGK{?!KDHB0fH41}TIBUg(62a%OfHMk7 zt>BdyuWZ!hKUMS5wFOtd9Mkhq2{G3jl%jBL!{vlUchEihwIk=l=^|xJKdW*1mGF$L z#V-=tmDoDy!~RO4NP-@V32!#e6)0s)o|8%RP6+m7?zGgh6=S#))Gbw`i@*il14L$?-*d@$cM6; z$?L6|>#gMngn#MrVm2mTf=PAnG2!={#xfi3ua+FnMaop4$4Lw*EeVg~#P~okThb#b zLO<5zJ;~@JHc9-c6=FQAgxACNSgqi%9r0(_o;Ls+_5I;WFtS(z zrnog6kq7zjWpj+~d5*5-)Nsp&28%JI61KrZk&lcZDw8_C4^RTfbT0Lcq)|jmThFn_7^-ux=$MUAPhw5QLZ&Mi&M%2fgk_a$u7l%^``EgFf46KXiM;Bv@$??K!ZZ*iXNJ{ zsB6n6@o2(NNcPE^ejrhGEREyKq>bl8lF&0D{x6j14Q1PM!gh1oH8X1_csAsNXtH`i z7E2*(;uQ6GHsKXXEWW7vgH2TTi#QOHxO83CyEv=)v{5)%DXIFBcv(qaXA4F{DpvS} zGEHDFW=!lS3jAEKlte>-EfLqQm2CoG2EsBBRB^w|BT^y(gxg9s@Us;g)+Ogv@}d;v zg`fn5Rp09x!7*IU8{tuqt$rpJ_NXv;WuRP$UFRbFhO4p1r7N$ybV7oPmR zDww-fb8a=9r`PI#3%1d9h@kh^@2?|1HY~@YP=Eo~n^by+%?SS`&hg>j;``h2$3y96 zB^y!rQz;)QZ5`8xhWF+9l|r!tUj?bGWY-98OKKy_ca9a$VlF74B}*^@3E|=lIg_6; zh-eruhD{XrRbh;UU*o0Cz70vL=d+>LkM~w&gYm$U5ML?JH1f*zm$$6x`wQ8&3!z3nzTv(#Pp`lst9kJ!agBK=ia!vv!QPZ-#;84+)8#iHE zg-lfSuVMNScu$EaS*mbpk&UMD;oFynNk54g%`94Y|!KyMFSCp6p(jxl?s|bs< zx?m}387}~K8BD5ZcwoH#0!a_+x?2hBJgl{tgapM}&J_$Ah&5`oP>fN`@Sn3-Bj-g} zW4@1$6(UU1>*en=WU68?QLn?|ufY%ocF@E#Bdi3dAWf(96I0QoHEVpFu9*L zcdTfPj>S;kzvja=vp$N#hkED3y0?Z2)hQsjxfzkIF^wLSbkC{ zWvvyf1$porW z(kr5gS@}$8z@xE}lB`v+AzA+8~ zjmfs%WOK4@+qP?ReVz9_&-wm&>|V8#6|pNh>_sQ1Z1xvWE{-2 zY#7FAE(iLtHhORmE++aZA^{BqE&xw==n8?a7`a!NdgN>v z??8;!{pO(zb^6AD{E!`9;qG(AW~>(aw-Qs}G|?DjbrKJaw^)`UQzs{p#*5}{77x~~ zuHBw%gY>Ynr2wrb-lz1)7NpiQIa!3b>YXB;a_+1)1Rjx2Km`DQ1=+<|cZoMl z!m~Ud>!n2+o$w&(L1?jh&ZEbT!=Y9@zbsGyMr1*CV(yfA#0Xez4xlMytPhj)^70`! zz3FE|t6z$jQSM~i!G&^EuDxlod`6})>G)2V5RPMu9p<u~GGA`=<0MXD02#&7E^LvYYD00- zO>KNtCKiKj7JZjBySriEQ<97e)=SE8Cie@?<{Km1sdMU84dG=~i|#v;_ZF6W*F)D~ zyP)V#KT7w*4+urGOWU-Z0RAG8nt1jg)hBnC5e|y#F~EGiHABVT5jau3TcKl+J8_7VAXY!vc``kBSi2>2q9yHsX)2jJp=1!Rv~bTy~-2 zy}t+)u)GN;F?AzFk)S+A89$MpG0~{-77~EsFEnv6d5N*H>hy!XG6O>X9;aEChXM79 zK96Bok#XR=O)y;^hql53gr3xTFZ8>R?mYv)5yx(_FL{s=2Feo0Vk3Qg=8s4VH{q4g zz8Vmf*9#aDN^rN+eo`m0O05|aUtz%7d-4^@ISMMCh$IMQ*ZiS#qMHFQv(UnaNdZJ? zs={4jpF-AkGj0isNQWdD#Lr|_Vcm!!v5=VBlG z@I^XIMz)7FM)4md1xwP^+02xvlc4{xkg4A>Ch(OGOz$*}c1GX~4_4rLbH(0ey-xkK z+VzA&VaFqpABDEe@k!~jZBcIt{~Lh8k(q(sTC3K}Z(DDT6QdyoYdORBX;r~N(F>O0 zlL7Y{G_H@NoBur^YpNDf7tdzk8Np)Ui{L`&-;(dOe)4Rj)MJp_rN<}b`S=i{8sK3S zO&fKZ1&!dHO;JYJlTb&PcNJf8?^>3oT9%Pjby##TeS8+Y_VyW8S5obj8V{ghN~tm_ z|G zq(oXlebC2sdqz!!mK8c4;=D?wKI0s4_)0{tN3r>jt&u+Jg5`^h+oF;Tkt?7{vB_ZyVv~l z1cPAqS1=Oy0T~8=5l=*l;ZB&Dyc~QyZXA4GdGpRKY^Zd+dr!KSwUxEDwVrjneq4QQ zJ-)kG-$sWF{R$O9`;i zU0oH-x#PlzreQoC9x~vmKw(QD1-4LN)(Z2~`2Po}Hi}cepQLVX?7|F!MICvp2LDRj zm@P5x6HBTZf35|9kHK=X?k3PcLRm9PU`08djl6qecSY0LWe9(C?+Iu&Z&<<$efx%L zn+JZ|LNjFicKMNn77OAEdbD22_)*24~kx73DL^bdn3VuHO-jK*$kC5Nu|c;FdiO<(<+krJLt-7jFwz`7gpnSC9mFM zJ9e@`09_M?KiL5B>=oWc5C|A(p(V@tum?*^v594xbd9}3kSFQbvxXy<>@)z{R_qcI zq1`wP(`!|+xxLlzyQ>>{?8cBNiA;{gArQb6ZJ9q(`uLH#SA~k@({ZL;S?Kp~P%oWO z)M8##SV`&zoT`299TWW)qj;3>YjNykVe*vyEm8rs}BO21yAg$+y zNS?>I`-Dh3`#B3Q_nbwRK%mJMqvL=YC;0_$*jy$~gf;c^&Lh|otV zVe&Kqa!=6yl#jv!AX{3c@NlTLbli?~)iRY`@a1Nt7bqt8>hZBPzan=82S%j-+_VDH z=}zL29sJzF)X3%IEMIaV^7B_}Y-Y^qVd6A`F!rAXtoe8nk+a}ads2F^r_elm7aADh zq$(rtshJXlD#xjr0)?;CcM0Gv(WA^l0%8%Du34?U)aF-D%5|rPUblGzl-9ffkh4ZO!X@AM*38>;|n9Desig9JQa30=Jj*m#Q z8W_#dIvfq#@qTv3F&ZN$ty(`GjjWB|`EMUBFP*);d5l>0rQ6(j#C5Jdzt*B#jn7zn zDl&>lc=VeF@NhVXtmi$$cc3a!Qej6Tk%^^yv^kms!#ggF|2k$kHR1zqy4d{TRZbDi zNvjh#$!)m@%}KEw@@p7Zi^{Pz6FgLQ7Tq-H^L2QQ1HEE*IDE}YW+!uuIB6Q;iz zGr3BD0{d=sBeK9}rAznggIbHBPOs)mJy#zU##w4J0Bi&_fAc+RCp#(xv}^|BE|nX2 zVa?9Rr6r`<7rBd^D(E-Uma>#hO}8oxTDj$2hec`aXX_a_L!%1H)TA;U=`{XkvJgh1 zELq0oKMd%JpTF4OvKp@gV{l1f1Dy!SEaRJG2M(tCx?IWbmZoPPI9PSL>Z2ECR<9&_ zet-&PaF^Y29|l6AH&LC+&&kl9Ys~xP(A|dIBLnS$VRDM+`uZdqY*{tb`zO^63eZ|msmslQ+)*l zCiL>xeX9;o0E`ln*h#V4E|ZQNAc_~+pRe-9jz3n)5-^}KS=(neA&rdQK@%n(c<7gU zlAaid{hkN5$XHZJDGTY$PfeDrhFh!L^t+5qIXF~=nxEU=uK-OmADA{d+YF1fC^PXx8 z1)#x8% z(EeAV5(o#ZaxhH)AK|>H9fS^mLcH5gUVt*HXyjqEYk@zZWwH|wu9-~j;9dOE`Ct%U z8b#A&XzGs$=z`}GGTUl-eX|~lttw|W!n0j{flC7#W09_XItjA1 zY|+UTQNLwF(%mQAPCY9@}-l({JGRitvXaWJmD8s;P& z)~be*ZNvn$@1&sg%DvKyS=6}rp`m=2;}%9O>)XR5jhrZP6A@6FA>%DNigL@GKjXyN z#_f9gAF4IcxK8|XInCJ~B&BAv=wR6L!M{f5X&4NYPJA_l)+9_Rh*S$x+;c#!KZK^N zY}4@!MLWSQRdLCb3(eJ4=m@w9ReUQU$#>o9Tv=K1Pn{CA&piy3j@?9Ns`}d zNLvWnLicM7941&*SJINIIB8B!bW%`8*>*$oVD$}|#fF-JY%GTXHU+vl5x56-(9=>< ztK?+5ah+&}e~T_CC@JQ*ZIHIKZkRD2xq9@aqeD*i?X3SD@@cZCB?y_gHd3Y_Ofl24 zR6(`WA&&-@Pe0ihi0(OwR@5c$$=KCVm4^{Kg12H0mM<;bqV--?e88;ajm9k0Tquhh-bl^MYJTf?ig* zA4q3?yx#4!%*9(E!*4y`%L=O*_yV{(*Xq!HYZ@F?zkC-0s^l~Wo2_n`#wsDEwSc;* zx+&mM-*7Ehzm2^q8AG4>F`3Ljs=XS-uy`(OCTGcM>m({TickfP2ji zj|db!x_OGcW2$WKw6Kp@CJqSca-fZ7x$-9vKDP)Y7gnPg`#Yxaas09@kU66AnVF_- zdT9Q<)P<&YMoI5&4TqeOz}8-_B&;Qv?&B0}UI8l^v9shjs|1&o!X@^6Y~%ejt_n_@ zB})hR2zIQk-0@o0;5g^#8>8m5Eks5k;-5aIQ*YWneiTOQ6w8<+0iF37z&N;Q6<0t% zOCa(ltyYfdxdW1=*+SK!mFl#$SMdtB5=NS}ONa9E^z z-5ktLCajiwaVNlMu7VSPd?F1hB=1jcZ;*<%ztS$*(Yf#E)0KL=s}XxAv%zW(=>x>p zuF8PjFQqpJl5I~w@jLZhc(|00+~P5F6k+oYQIbaw#W*#h;n_+_2uZVL9JdB9Q9rWP z1>dG8jGI-_qX4TNmVV2!Qm^3G4n=4bub=5*j1?H3RZ7>+GmA}Aso4Y9*+~dwo910K zXP!;D@cyb+V>t`)I8~yoOc@#T#DJf@es3FSL@2Xm*sm(U&iSHvL zqvIw*m@TtJZ?YN)uU?@ngOF5~Q8AbPM*cm0<})oTj(luKR(=W_>)PM{P{#5#c-?&F zUELRqiCu5F+UIcq&HdvAW9kFsZF7WUuoPxkOYK(bQb`z=|0e#Xow_K03gJ5fToD)8 zYsEQV)L^`d8MMgI6)J7ks1AiKe!S-M-1H1Q@(OA_wEA&@wrDgXFYLxhnhR>{0xT5S zx2jlkNHcW+uRH3I<*aTZH+VC*P?Tmfv!Q^YN8BXpNZtK)jz^d|yd|gj^m*(T_GFB* zLg1YD^`-GXy@R<(_M8J>QxJ&c-LRpY>P#}1wT?PwjO)F(nd_{;W=;v+_-&gU+sI%% z78pj_vOTKoxhT1y0292oe;*cYBU+fRYKjD_;%m!YNB_O1)Hvkg#}6q&X&au-DS-Kt zbNXu;@MJ6Sok!=9?}5L!&8v{xrz&oic91F4EGRxWlceUn^ADPf{%rKL=qkI(%XiWR zgz8*c?m-pCtUUDfj{pamo&9@(E5?1jD z9dbxQQPTOk8-coko8F{FYl^e>VKZCBpH&UU#jLb=Ww>eXV(Eb^Fk7K7YRK1K0Vb*+ z*=(6L2=R$YbdLBcrB@S^;^8AV%Y#7$e19hFs}>oY=#CvDvz3~=Wrknocn{oh@m5kj zefrYpdj=Xed5A6H-raRfb#9h$eQEQ~topQML1%=K;5>tZ_s#EgRrIx7i=oG^F;zsTs*&@DtVPZBgd%|XIjVHjiXW)0R$$;j)8rC zzfe~&ShK`sf0>`7#P~f0I_pSKwRhTDv*Z=En%=@Oatv`slN4lcKb_kn(Zf(S#Z9mGqst(OP|;s=C_8I?o#8W{v<4 z+fNFBU9&cCfW6O1=Gv}!9%eFGi@u}GqYMv3 zX7<=eLzavC)dS%H)gfR+P`DC@)Lg_jht6s?7XEvGjQg3Skhev0 zJ7-;a{C#$CT4z<5h`J>8gXX*lWY&tPm`ERmxhP_fXn!9M7LxA39o{rW5E%~a$^)H* z=Q;W+EGL##rkfBixp6|kXi#fO_Ygrs^vT<7W6|09TM^f_=7n}X?E zm6a9w3VQz5AG`jBW-2>*Ge(%bGS%x%ecRp=K9clMydR;1?Sv)L zAN73Bm}{;EnD|+AV+I<&RGAA-c|9TORs;>e*K`o=Amp-PN4$yc`Q;ZYQc)uP+YAkN z-8}o&nDhim75WPfsqA&XN=QhF?6j;La3$w7pQWe1JrFSdZs#I&O_y&zmwfrBUs4mp z!<FD5&VRr+xFBXa< z^_qiA3iNSk97PW{7i1<9SDj8PNA3#Eg%nC#-9AinUQL=NbunWykJ(G$W86Rdd!RIh zf2}>(p>bXb zq`Pr3J=A|D*;o&ii?74ro~5Ej;9Ysy!&w=T&QBPBEt$KoI#^7fZLBz)WOrB+8yHnUC@b*=)KDgl^(O1cUso~l+4Xmwpc3dj??8E{CIj1=Xyz_ zrzHQ1kqJ}CsTkvp6-2@Ki0rSytDvox$VlwlO!#6ETYK&VP`PpaoJ8ga&17s#NR+t# zcAy@FkjkYzC`%(82SxHW;I$VK!ewbz?z#!B%NX(4_(vNNli~_l$yXz%VajMaOP~64 z3-=3}!NOP#vx|vA3Gsn!pV@>xZG0A)_}&A$JeEqI1|(sID`{lL~ zzPWHQkTYC2Z~1DOua)9f^*loM%x2E zJ$za6`N=q!Q$I}K9x1!|arNLS>WZz?yOZu^{!3v@DlANaGH}xOd#h#M4K8g;!MvyGEZL?fXjMhEV18x6wri$=SGNvP?1Y|G~_(Xs0^hU-Rd9f>$AteK- z*MVp?@Qi7dc$Jm?dlYLSwV1RG`JZ%!I>=`@=DAyi2v-R6r9B0~1r}*TU^x(l%kX+m zzgc!_3q&A|Qa|0Ta!d~^>{)*7ajkk#?Q0huD=)$raGpppg6zfkiF+b&b#YNG8%B1 z0D|L|p9QIu+~HV+B$m_n6mAaj%r2!EeM{=pkGMLaC zGl2ODaWNxD5aG&ZeeUwLA|fv?efel$O<=*sfo9;EcyrD=q3tBIfzcLY5;6)yj|0)T z#j%bTf6%6#Llp-m8|%?#Tt`-2O-x+$H;`&nw0-_ouw?T)ITnBAal0PKvC7-ml0G}& z)F@|*cSQ%ye|aMUPJa0f(uVDMHDPlSnU|`lONT^WXH>Gf8TbWvqTl{tA`)quobEx( z2_Hax&tWAUfvCt8at?}naaRCM3nX9j;?lz%xG96TAZ_`!09(`s7`-y!B0IIDPe;5! zpPy!NV%C{QPLOctuPIui!yNb#S8^QM9~W-|TcGKZM}{Hs^_+1vFp*gJJ5xlf$NVlB zQAUu0RE;FjoI+PAE6kb1mJkzKO40Ih));2G@a!zE_5vb1Bxssk{O}RF@xY&@kvq%K z?)fiZn_}s3#;iPw_uybxdfl+zs@_37iIC5YC5-aXM7C;D2>?@_on_5<+VgGEt+%Dnf;JC}!R(w|g41?JP|nJiJ6N{T(^$o{?oXkD@JP!41=ox^ot=aeDDbD6>K%iOEeavGWT$^g0>| zYXql>*3!AoQB@sJjS8?oZnBLR!RN#*Q#)0Ua|}MNTJL^V5j}MX5fabu4B0o|HkXKD znk6G7xsZ(1!8(M=+&2K%=FXIZTO+vgP@U;AfL2p!iIVIx#lqG6=ElQ;WccRBg==ME z-{&znY}o4r*@F{BBr6RL_E<@36*rLX+(YMy0k>VNQ%bC`1WPi1=JL3RSKX@iRa+4w zPzrwNE?EzzUQ!lPsHfWwa;PW4UxcDRm|(9CjhBRmdsLt%&R6>rP@*hPU987+fUjKV zV8Mvee%6i+7EZMx-QFBv*hOHVAa{qnrbT|N&)G(k2n<8u{^QZgt_`z9N_Yy3^7 z7hKlU?)R~oAw+g6Ax?ZgWrW9#D^Nk;cmQOq-U4>?dT~&mX@iA{I|redcsl(qn0h|^ z{CfGg4o_o$q-i}GIA>0l4z6y!&crI(X@)=xDq~`@$+%)p=k{FJAQ-DsE!sgzO%%@j?B3vTqgbd#X#DK0e`V0SGtXCCmXri z-mE-?mzSYZT@r5|OHlzC0P*UWG+vemuN7M&02S?fGPg+J{ZhgKi4*CNpG|_rsKbl6 zWMtt>W_8<5`sSVdK6^Sd%P;t{1|!tu&OdRfxQBRSZxhRV`L3o9vX`NxuycnFT6Uu3 zC*Jq(y$(rYs2*pEq=NNm()l^rWHM1F7m<@%*D+(usZkT@i39Vwx(hqFP942E7~Y#F z4@g^EBqy3-qzF>unue1%@vH?p58yP%P{KlS&z5K(I)!-{ZUp2-_x&ENl3nb1n>a^D z+cqL?hh&EaVbyoM)}}i3c_2Wb;&0t1)cQXSHxI!Ta8XW&nLFoG2%dn)K}v5U#&RjaFSBu0?=3fU zpO+f`L@m5s-)sZEHxiKm*^GU`vXLa2J@@dI7^Yo)Bep>InX%1=kC_6%@j&e`E*>w) zJ;(67o01q9O6oS|9B2--!siTQsizz)kIf8R72ZWbX6_$CyerMqvVNL1sj(31T4efh zhDSxCOClv8owuv|Mv9uix!Z5ThHSui3!@E^tCKAjP6}BGyG-^AxxWNPpe=E7ptI7p z{1TF%0t@!)ri>c%`VIw9BLbPaR;s(vw3N2w?9h@sWJo4!jv#<5UJVF_nqqphltt2Iv+JU;t0JAy za5_f5LFNQ*NdB0DhRokmE=%GkrC94^O6CHiB@{tb{~Q$cl_EdY@P+@XdL254DMtQmSv_AUQ+Z;9bDY-}=Kdn4)rfRs@_(xpgyWsaO z-{;0by{&0)kzkiwXJpqxZVvrlWS28b2Pm-jFItm>K)7P1Jl4&3emqovwjxd4mu#Oc z)FTh$B_c_IQC_^l6IG2!A!-tma)+2BlzDFgpglWd!G@}7Woa88I8fv$oLp2~xOi*9 zu+3b<*#bdYAasYvC7#EAze=_zoOUPnabWmtN1EdiCR8~m(1b7ptIP7VF?Qb0-b|da zpPZ^BwLpY?q@+2zKcM1W=0*~BMPP0^pc{S<3Ud1R*sRm_O23t8VE=C5tx1nVLz+*I z^ZBWzTj@*wKspzvjPF0+>T28RV20m%w_Azpg&r}#if$NNC413jNK&12czoDg0WhQw z^$a&P1V~(wgB>zpiLBm=$LPV~r#{M7V+;lL0@vqA?sdUV$Oaf&A$5N)Nc?V_jJTW| zqKz?~X*UE=(o^kNl5seUT^y8XkZufr+>q_f%jD%1X>T=0xFQI1bu1@n?Pvhy99;qB42Ol)#UTCvGv-S8M7Cyd8%uh*$ z<8$D~nVA>4&$slZ`FDL4_`&zCu6o;)4Y52n^RVlFLM-{sO-|U>!MWHfR6m^Qt{gC{ zW|ZLm)gTsV5#EB=QC4Jk_KM177MngUC4D4&=~LeC)q#H4wVb6+xa{=fVnkr;NES#06mqcS#RK)GWz4n~(i5MPHh+{k&KBfFkWVQcPbI=e z6+H5rek@E&7N={9zhy1W3TAnrF0@qSrqxJjhf)1}I(Iu${u)u1MXpdsk+wEGncscn zaG3dfEUU{5QDS9vKgenOVNff<30GwoUcP@yYS_`-Bjr=u*1J6E6G3+wQns~hp!f+V z42|=AittqRqN214&2EMc&%t8+;9m0}SbMrfXQakIPaTPKNc-WNW*HBP_$l zeD5!wthhse>Zn46ONA+@$~iu=HMJUe{KfuVH?Xs}iA}l~S0yyQPsKa+HOfI`Nzr3c zGf3m_R`gr#ZB=>bcK0eE>d}IAOb%MA z7o?SFn&UY9a%iP^>gZ8-YeH^)QSJWHQ+1T)>!FNV^*tm$ib)bF3C&YH^U?l&{{Uzl zvcAuTjW|P(&TbTJ5=x1Fa}a<>8I|f)y@D@h-$=o}D*(ouZiR_Q?!5wHgWh(4&cAcZ ztI9?xP3_U{YuEk^g7zgdu?bHmv99V$e^`6~pM>wJdTl$5!am@GJaozI0Xnb#V zFHU`a!dlyjuc1>(kdMMAn6Wrw0Iid7#BdLqDjV*R+#-bh&+z#Xf)`vwwwsTzw+>H{ ztIMuXJ+;A=W!Y~PyZH_0oAyIH+lS7n`;+PM2Cuu`A(Px<%M`M}&Ltuy>uO*NH3U z>M#!um~q+47o4=urm=3gTi54LsrE&d_D9mXrhVS1iD)Jt`h&wT9=i2Ca*82IVZymm zuPVMjxE{2UH;*&U<>q8uVei`2!jtJnR}t?+6D?*$mfS~;o`|%rmuy+D>#TKAi#aZ| zq?Yl49Htrj?xmV=(@Up|d?rhOc8`iq8(SU=H(LXj)UIr+lB?A=S79F)&OJ^(e5ppO zi6+o>*vlB*ZPU|yV$hr`5{Zxo?31~MG_0a~#7tslzKVA6r!VUgXik$QmM*9ncWrcp z^i@ZzpE%{X0>lxLXArHJ$E_rZTOnsrWflB}ip9vOxJAcR#*D4>(b5FQ76r|*siv*T z;hCD$Va7|sOInwEu&w-YRGI@*ews7$?mt6Gm9Q`YBCTTZ$)(JsDyCwPz536ZthtY( z)X7-Eh=_)#El_U!o9;V__&jdggPr?o7lO#h!*}l^qiw{MZ~Wi(Bq@q0ClQ9>@)1r* zNq+s1nQNyY(^#-b>cNJo!{EtAczXQl-JZShv3~03YqK~sHT=|U!~pfjr1GeRd;EbC zZ}(~{_`Vf8Qt5XxC6J_0Eg*bjVI#&g^l~Vs>SE+loanY(?r#s(3kk8Go*oq(7|}3b z2DU}nN$?c>_7}*u3+8w!cD1Wv?jGnb}?7twi~8 zb~Rm>LoESh#ChG|?@odr+l71XKfb&O_~|b*)Y-EKGUok&#Q%K$wMwmZYnovI0SMk@ zz`0L@=;PjrC+6*^qYgX&rrzUTg!gS&CoIgiHw`&4($;!hpA;RMPOPy5gQFk|+PvZq z3cx=HiM;rwKHdp_vOw%jBp~1tbv3f(dQ)IUjNhDBeK}OvM@;-1Y)Ew-vZW*Ib15Ze zL}D|orN>3k#KZ(%Y9BoL-@_z<;+;i_^||Fhi}IzYE zLV<#M=@-(UPs?O^0UPXfJufT9(Fqf=L=up(DddP%}s3otOZPf5LP zaN+?}jb2-yOJ%}Hr0AZOnf7yNga0FSkG_@YmUz<|0mpMHYLq_;WBpaVTI9&(koUVg zzwRFthysf1ZOIN|;=Y$!yM-L8x*$Q*Kc?Me#x^$54b}f))_=$pS-Jgc#+E^0Y#s{% zfeT*kyC|J~W%)Hfb{^}w*%JZZPzD0RZb(w^7!+g7bBP?yon>2H7laJ*3$L`6D(hcD z{~Q+Y(49IuI)XlZ1-YF`qZ*!gtU3XL%@#lIx#Ix^Twvb}3w2`qgw$N5w=qno4rlte z4c!@Gaq#erl(_yS%UJ3pG*!p!;9dB!kJq+n(2bX`@BUuBKdSZB zeZ3z_@Lia=+8CylzuI4*5ePD7|CQj3BrgysPOE8k3=weRH1%``B^bMm!S|0Kxh@2k9;{TtkT3EFvvY9d=wj0GfcD6$u$k`2S^iLWnQ- z4m8EDN4gfpN(I@plfi#Wb=z2K(j zjj_+_)5-I?A8crLVwGuN4Q1fJEK=A9x0unbW=FpT#e3J;=?dO2ua-Jd*+QG@YK+b_ z(D_o!rI$EEf{wz}X1C`R$Jwu@KII=9u>NMugv!JJ)$X3I za$oRLwI=qTq`6c3<@M~$pze{~O|LQoFPoMg&zVm{0!)j$y>=2XW3~SZ9Nx||cJg@{ zj4^eA+ENyCLJo4NT8QnXmdC?~^C8@stN@7VLtn|Inolgh&q^~x0eyJfbss5UId#%e z=-)LKK*cVECSZf_4B}#V!AR#kZ|mi9rmi|VY1lum&SJdYlqcTT?jazqvwdKO1K2Tq zVz=Bbl{>Yb1P?<51Q=lbLv^Qj7-0<2Xq6UcA1h=<2Y*R55%9yLIy?dPoR&#)ry-;UAWoN~b9*K#B_l z5eON|LWVN>xlan;_hujCsr^wR&KusNe=gsR3u5^tB2att`{1WzrKP3*Q_tP0D1U=D z@{4@72Fk070X{g! zqa&OD1SmI}^R`cUbd>FB^C8uBFZG<|x|!y?4Nf$C)p|zvWsIY4@{qhGvd^x39^3BN z+jkJ2pO13rmwr+5-GoUCVMqQ1$yl@V86O{q|2YXQCYm~F%UONx&9mNhwMPk7Y%K}~ z_JrllM9WG3POr;Iy(*ed1CT!HI}HSZ^#=!EF6GmI>Nj98JKBSlbNdBv>nF57ohQuc zdkyV-z8(Wj|JX+QU?9?a>cuKRKWmti-D`~R5%7tTEhc4ec78dn8HTpn?epp& z(q2oNEq{HXB)Y<3;m3vo#lhfMM}l=fJ|w|8%i*`BMuPYfj!lCEJSe_*I~M4^Xe|r*FIN9Tb6hs89R@Ys6oYd_1kB_!o zpTXU~o4`Rq+go$^38haM2tQKIa5la-SPBRQm!|a{I)zHkS+nrfVsoeY@x08$B+t_P z=O4C_9`_P*-i$xKD3@HF6iL9pf)Aw=uw}Ho56*TvH1HiRR@Zxf7PcksQ{c1cE(F4( zZyT!b3kp|JSXxz9NTlt1S0(MIdrCGZO%zLnFa=;W6A?N-J9Dy)J2FdJ;EV5ac7+2( zZ#_htL&f~>=4s&r5P`Ky=nj8)Zz<&do)(X$Z-tHk`dc_%w;ss{+CdD(cG7@ zmJr1fOfH5?;9%Gkl$0_Z99FlCG{Zx5f_xu0^~L1R91c=jeNdoXtkSX!R$#N3%UiBI z)la4$^4R8+Jl=q6Sp-|LP@0in;Fca9nl8d_b^xPdQ266YRhq6Z!T*ORclK8ukE52P zB2IUjBgr(*#6Y1y2V^@xz(~PKt^|lP> zpltY3(1aQGMlNq3of@|+ISCOzM#&|_m+~C=zz&0o3SD-VQEJIF zB9H+*OknySdZQVT=#9@4If-kodm;8s>eIG-UN0P=x>Gvu3*WT1UQ|Ceu6$Cy{JW#q z>)O_2*KJbuKGEmX(B0R0qL@k`7a`Q~+z?@mD3Ot#@Y(Vj<=hMcEEI@|wx8V&m`(4X zZRxz`%42o1klhBw?EIs?!oRIEweUjVu$mrgddw6U>)TfyZK*Q)vaCRmzdO#aAcjF z$WhV-GAky;`N+t5e=oJh*)Qoq7j$1$^*+0D&Bk8tR7v8w&Gd z^y|O=8{+&SyzzTM*dNSwm=P4g(=-KpPNg3nVm%r^3|U-!e#%0q`ee`a1HlFRtkLAe z#GV5Xz>#=hv8M*=ljKL8PNNva!2CBr8C;Cj6dV%98)r{;_4+Ik;x>7QloYce9K^6v{X5MyQjOfQp?g9bI1=g*?AoA*12=*QQoABTYrcR3O4 zyLI)4#+KhSl{5UmjtBgviFxT=k1>j`mS6+1WLgIicC#R*f4IU_kVNOr&0m-#o08@;{`u3wTJP?Lpy(eS!IqGO)KaUuo*lgm=F}$N6 zQUzo4e3Re(U-!?rYy<6uh}VmThNf6r7gx`dOilzAbu!S-+Clm0N}nx{HpyL1PQ;IH zW>b{zTmMzImr`RcLEc1ONk$#Nrk%=&&yLO3kHW*5^DL`^@j}EE4t4I+MFAOW_=i=C ziznUA7^$Ozm`IN6Y+6ly4_*S@vkkGj?<*Kavv*!k6qfwQX#6PHYgP{*CSMkbMomg6 zIszE`e75@B)n!aVgkrlHsvi>pmk|@VT^0H_+)t!@?ZP7qg@WuK;?R)dYwAKin$P-^ ztJ<|`goQ}AqGp?1v-!TV@}|AKbf1n4(L)Tf8&!5`d__b_K`mK zprF9Tx8B|&a+37OZA{|S-0eVrOn{SkjjjS3Dh2s}H*uj}`A&*o69zYm8mlH)ENuJN zM)hkyHGQ@a(12XY8#C=MR&w@ODh?43@LR(BrD5D5dMZLL)7< zam5QzOhVeq3bTO{YXJ)IPbix)OBJ+x>Nhg%{XdQvwV@&CTnW%Z5FpCOfb96uK_|D` zvgr+tj33hGErYHstm!f&@spfGAlG|-B9v1Q`O+}drdhsC{Ko>q;p-y6QjMSVHaI$R z``$Sg-=6LpZf+KI#wMYndNYBRFBL$@@*F3c8Sb7E>Kvn`{x^~|BCXY~`~`$^V)Zi< zkp2RriHwPnDjZ&4&#VY*$n>sveUPPqKh6Qr{*PR4pmzEU;6>>6je`q%Icf}+oED^A@_j@XyN(>DruP6|IS_&=H;ciU8+@BwIvAw z!BDomQMQTyW5nZ8G$G!vJEN za=5dInoD7%xSH8UFt#tWYLd6&Aw>3?mV|^5%h*2*W)R$qv2Bq~z!}=@T(aB#mtQ|T zcx2L>czVeqV2;~bS0}lF*ldA6|IB6fm@S+8OGslf1`tnCN8{MSX?kotV|e_q}3 zf5h8UHU6p^^2g&o1GKzMSSvQ!;(_JgWLS~|?BM1odkQ{S0b{LyGt+p`pcO|y{!R78 zfJ4HsJo=OCU8ulvMV&j3YuswM8xA_VJ(seTCOlA3ZOZFm&9Gr`b_}kLw?)+tN<*dt za??qmuY}G%+Y}?pKl%CcO)9d3w}cWT*lp2~^wFdCT!KY9+L;j(w3n3rl}q_j6DcU@ zk8f`Snp;ks-SQ}LeZP8yXf6hRg%&75qNE+6#r&gjL(V)DN0+;KO|M2%*3asf&KE+|51$Ej$J3ff<@D5+Ora^Jht&Dl25vC9F| z@q>#r5=Kx&n^?;m;M6}Z)vFg2uU|(YMI|W)3;vKDj`N-9oA1?B6}^d@Ul+KdJhT80 zh%J`et!!nVD--C9TiB@jjZOKsfIhw4fMaYYS-_3&`c`m|EoFRhyf`iA5eQI%PMilc<30ayp%%xBK9~ z(a|aF(0cDL;_pjR4YWOIktGeOui*?wi+?DEjwR$09jxkHhoX@ytk1t+G*0(g9fJuI`V2`Eg*Z zQsWQj;Cj6o9g3jCkdR~lBII+ySub_fYUgnBRRg1azkj)mS1xX^I(8C>U-0jVL%g_a z4zskPAf^#i+SY^PVJZQ?^$`^l&}w!nzm06Kat4E<^w~Szv^Oy1|B%aOMsO61&a!`b zQ`D(-B_<;k`UB}cFCcBA-a7DKzYFcmMr?rohL=kSO4at)-mm?X^UD+ij8!N%pMQ5$*q(pDc>Y`>xlgFz2m*O9~oOju8KZSKyfBS#4>3p4~rtmi@>cM?38QCw5 zt2jG-qHkO`vvT?Pb>siPv+i9=UngPx@u2rHd9fu=j+{O>tF@(V@gak+9?rbLh43j_ zdl~(_6x16EFILSFX_zc}f~&&!*_0#Qsd13{(X7eEW5q0%Ea4S_3&I*_rN&$}crd-S zk8J|a47+{VdlaM|{ab4MO-H8opYgN)y}#z%{FAFc!|ETqzN9_Z%Fz1%x88AHd}tAP zC8%`^*A(^d_bo&&G5(l&U_B>GjJq*or1mqGd+HnN|9{|1sNCd`9Z=@+3)o%TNCVFK5m@Do-XUFG5C)w})c=M83Y5lJspXb?4pT9G`?j>+wSkAJx z@L`9=PI)nxCmj}@{ax=)Zp_L0xZ}mLISqYWKm3@W8BmeYgXN0C$t&}OO#>%)oW1Pc z67#C#L$-}h*0jTm$|@tS7#yEh`K#uili;1tw~EvI_Wj%${JXXM+lO|&xhL#Pf8MxM z9)H=INBRiAxYs1rKy_WlhYdUKFgvfgD)7(kK`#^M^|L+>*Q84u&AI=)Ws|w_sfEdj zY3v=n#-@3Oje_z!XyTpqBN9XUW`Lho= z99;O|ul}r>4|~P^}W&b@M z{EQJcX1u8}N4?Vw}klz-gEt#dO&$k0JNpBMruO9FUiL5Tziu0 z1tpG@stXGo^SmHj(Rd)5r?}pbg?-Yte|`@P^z9%aw9Sx@>yL+EZ$HPMwn;&ARVNhAJ;Bmq7&AxBVCQ~` zE)MlaxlH@_?f1C$TDH|K&UP@3xH&_-M!g1fH&bF6*2UngG8i Bz<>Y% literal 0 HcmV?d00001 From 5178adf71ce0c4d18ba3da7e922fee9723fef930 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Fri, 23 Jan 2026 22:11:33 +0100 Subject: [PATCH 109/198] Changed screenshot order --- artefacts/screenshot-1.png | Bin 301410 -> 297668 bytes artefacts/screenshot-2.png | Bin 362382 -> 285636 bytes artefacts/screenshot-3.png | Bin 285636 -> 362382 bytes artefacts/screenshot-4.png | Bin 297668 -> 301410 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/artefacts/screenshot-1.png b/artefacts/screenshot-1.png index ef00e29c7c5d4839157da009ebc37fef2482dc5d..34e75bd9eb739ca96618a63987ca780065f587a4 100644 GIT binary patch literal 297668 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
wF|0dJ^huLmKLxqp!MWgw~5*S(} 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ⅅ=#wevrUEdgO?2na})M?g3YtFOOQxJ|{9NQg*( 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�&LNt%MX_6~q`N34z= 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 Bz<>Y% literal 301410 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�=9{~Qj-i%-5a99*h|I>jvYhd5&j|_9-wFCrH;lkRvb^-^7K$)bDw7V zWZ~3397k&h_6XhI8O*RCG|7|8_tyteNaGruceBDf4p37)cP6z&4K$}62=oh?KAYc3 zb_^}ZNojrAl~wk&Iwu)lO?|BIp>Zm2t$EcZG5tVrs#NjTsfd^J;R?c9m)6F)j1zsl z=E)>12<I2*%zBhJ=s4Ktm zf`ekUKHh1vaQEkQ5rk1l+6v-)n1-GB_D z%zZ79*&u{J_IJ1Xyg;69mfYv3V>Cf`Om^B6JC0AYp%<^FOhh3*4@i%B?lq{)odazh z&!FsZIc_#?m<>g2M=q8TJ0{dkzHfmqbN(@lPt7VpVn4rzT57=Wh<>4E8_ENHZIuS( zInhbF9G!vKiK+%#_$3Y-wpe=($F>|)5$8yxrlUAvI8hf7Hf7M2oK@jVSiQ&1^7W;F zsopGEHCxZRN{9T@W#53anv)b-BwSL)%eya1maTS+VKf6siTkrJ;KzAAaqb`J=ms*@m^bZuoG+CLQun+D?Ic$0kmYp*ux@$k; zyMRPHqVnwG`_tr40u+)0QkLHc%xNo_2%PGvhTf0S^f_qA#nrWQsfPyi&jg+zg@y8G zfHfn=+^R>92dwz|MdgGAD=x5b0j^^qw7$aTS8_h`3wgQA9~e}hq++?hyi?;ywr3=o zhRWXFy%e9L(%_&DA~JCP64)9b1Kvv7i%j1lLy9pI+2Y#QYWA_IU*Et?T*CevIg6-a z?L;ouA0{r!Q@lUc6z;69ZENt^sb`+ari{hpKyX}rXl`6126~*fKrJ8O=Edn0iLq#+ z)*+%t?AUpyIk#kj^frKmk!~k*Q%gUYCZ}|9RSt$A&(}cPpK|X2r0AQ%^q;E>;Q7uO zrfG2;Ix%AzU5FV9s+KzrVoQ#=>*KGySl)JsJgn3^bEzz2gow01q+5}M>*n13h7M099*==H9b}o#-l=zU__a?>m(&O&l znswm%1J-^DrIHmItFC_AhlvHoxWz@mfx0!g&t#$MoHpX$x9KZk`yf?Am*x*^tC&RQ zx9&+k0cIRhIb`;MhLqWcx~ZbC1Q;oyxczMpj3tMwuzvJ(=uXGc!R%XrrUi4HJ%N9= zx5UrTeBw>ao_y1O6q!dvwxuJ~c+{_&E#HSj_VcGatu*E~{#)z}PU(yI&8_RuL~U{b znGoMI-q_grUNd_^CZvD)wjk_sVDhNap|YN=LrD;U#+6Bu#E1;eY~`IMSso3 zBEf{>2kUWCl`IFiq$zdhs<6<{VPS8TTOMtktFkKJ$s5kdJ7cWrfubdA z7Z7^oG6JxE9%CZ1X_Xkb@thp<7}i2ZjD>_7O~+`*gYT#YE;Y8_pLU+-YWmiFwqaAM z<+D)4z;@)1&)tbs8V+j`-mX42=40acVRm~d{9_4^CEku|8qaIhUC}iah^k=)z&!Ii z`&#kItUb2E&2|k0N3W*uBK`wIkyAvCcHh{;gV+=0a&=}WPxeBsMh}^eC@v-$QKotV zPs2wxD?gH0HQ{aEA;xolbWL^28bo=dxY7TCFq2YAi6@N=|4td$N*D5*Ytk7J-gERX&S3{g?2rHlHu?+pjrIZh&uaXT%aCOhEdUq9 zCN8fEnS*spz3t_C+@E(7hgtmZg_)@PK?_|(2EX zHYUlHQ@EV2_Tl{xALtyHYS0Jy&6sW$)i;57jxg0i1p^Z_nG`jEK~-~UyQ?F3pSVkr z_5=KrNXVy_8t;*n`|tAan*l2e0=zf29|z@jNl^1CzSg1SvM0}!3jph9_{sLp+JQ5< z*vy?s_RZ4`^;7ZAFuEK4iaxNM9HBPjpSaB95uhL`%J#ZwVq}#Ff=(9KVwR*-#^*!Qra|ig zV0xqvAs?HZJ?rihZm)T1y{u}fFhC;zLsHvBkoo!f$>OIk?dqmTt-zc7Wu2o9HRE=P z0=TS4{$dyzI+(%qE$|=bWw~en-KIxK{E>b2k3#qV@$IN*ojQ8EzCU00P5TVqb*cl& zru}y&WRMDY43lQuvB5}WGo~SL$zp#TNnBH}W#W))Xg18omgnAUev?YOK<1)v(5ERmJZj-`D>DU5@b`|p2H(`wvC@Lp#ft-)l$mgTemacWMQPZ zj}m^5WeNzeEj@ikuNgW_f4$-@WS^#q`(B+hE55GWwbWHY`Gp$Wu2XH~2sSzLrA4g_ z#uNJ7bTubdeCMSZ5P~nGZK=Xt_1wmdR&OM>Pgm2{WGn+0?KjZgE|; z@Csi4GG7{$Y=JLR{DnsfOfA~zD=`@bwX;It?JyYqeY_hCpD9NBFmPMY=&-B8Z75Q)U=>@jM7oE^Z#0Ul_XJ>!3)3WBHBcbQd$s}6R z)1Q+W+0cYth^kc}kGkLfPBU1bJ)?U5GlGwe4)&KW!HpnQM$CfLeGWGOlm?^*u})Qo z5h2HgR_Dx+!Z?Y8T7X{;G*C!KiEt4S92IN;2QsXU zQKT}Tu1>s{8STr$iKzi_F# z`ixr?r&Y2n#$lcn78}K9n?v}QjwE+IUCl*O=or}86ZwkdAe<()O7o%RA|e%%@`436X#{rDPo*#L zTte`Y16SGLucV~m&yquPINh~Z&($4nWEiaK;tB$yuS(?V7M!o%%p4!$Q3>>P3A|m~ zSRJ;!^Qs-qav&uYTYHdnb)vg-8a14Vj#w+b z%CJ@CJOMZ7>Vu({8$rOo!^O!qOPinQv3Uq6T%(9N0*W>Fjcde5uU)LJ9DYaqzJ01T zOMl^W+cHbejSFcXxDU6*Y@5MDTh-1FlkwPk3|H?jiBdvF z8nB_5x;RLHW1D0^j+-SU^aeI3`iFP;&x7KswdE7QwF%e?Oq=%tV#MvLS}Lu|%>y`Tm~i%Y1Y+#1z0n~L z%PT<&r!Z`r%h*Q?g1(x6Pl_4>?gh-*U&JcymF2doHTF!iTO!+AnJSa~7?ausqf9Hn z{-sUl>yH}-3x?pY1ADC4JB{%eS!aC{uN7;}v-v;gRbr1}Cyl89%;Q4Hs`J&cK&QZ9 zc|91xt}|_COzG2aR=WsMq4AqNd=vr{+zYM#q)XpURl{0H4yo7-w{5|#-O7?8&?%8@ zJPhfr{-hZ#hy^NzhbQcXXidg4iwE!){)7T|rfWLtRpP|(`J`^_7BFx7m~9kbgY_X| zq9-5k=lIMxz+~g~F%SKrnk}x-)!i>Fci~8G2R|!)wQtCm^64`46sGhGbX7h^m6OOR zs2M*X*ud+@JDpxOL zH{I8PxR0%!Pvl|Vdk9zkCm*@0`e#-UETaR=y>CC2k&a>omE)@1XJ&tyeZsn~fd46; zIS>?Bv6nnA+G4;uJN_)pWqwb3$-5l4NVG1|ni*P?vs<}lvh<~lUlCpo5pb!SHxTRO zNUJCQoaE+23=4yla6?@l3{j2n5W1h0|F~3h79LcP3tr6l7>5{XzJ!G8&zF%=EZ2X| zDG>Kr7SqS&u}Dy!!1+M)y7+_VS-Y54*7=CpP5xB~KLFQG5UW%onx#KLc+4__Bvgi z$D_Bq8cFQOXU)kCsoJ_VQkCua zDv>R(1~E<6pvzhuEo3<~|J{!Z5H8ENlPAibC(0O)O^BMMnxqgsS+R{w#g+k{>$v)| zAw?FbJLhmxh7dM2*56SfxEnpD5Hl;I#6W4pS$q9crQRvIW?s7hH@z~azXvE z&`s<|m^SI3)>a3mV72eLv)-*#mT*#>coqE^jmSZL=X16}>${vF+6zOF{NXE?BIHZX zH7n~#MH|=n$}8^f30c7dU5oU}qHFax?tJyPV1B1#^1iCApO6_W=;yd8#ac^@3D1!m`2aG>iP5h$Kj*ml9Nr!|+K3rz$iiz1 z_-kSEEb!Dm;tRk|_<0P$s`aQP;cECrP15w%0xJ)oG9m{^W5#R+ONJk=7O@fY~y9 zm-sC3*x~X}aw)wJYb{3pI}C$#gxd=1Y_-KWVnplw-Q1-1M zl|4ELE_wT`&uba)*BrX3Jj1@ana{28SF*YHvIs`ATK>K(2`|H!{TxYk2e{fdWMTdq zOuHjRulXnM-Y9xwqTuqx7vDstTaeXmU{ezgk=iNPX59Qa$pf$lJI>8lZ$J!>;Q3>| zV+HzVJ*T{B7x+tuHp#1vM)O_$+c%}Hd^Wvp$78|Yj0rxpBS9{PZC>8O^$`N2{48IX zPZ{|AtSQ{(3L49aWOx-69NZs%$n@9*@TfDu%KI6Q!EMoZB+lb)^>nt8gUz@+K8O86 z_*^lw&XzqP)U~63I!y5+CT@y&C}Twp59{l~FT@gaV>5Agmkx;$n&1O{l2g0EgjL9k z4(@!k8}5^vI!I65N{1EDq4)LUYys*P@4qh)17dfqP>}D+YCk3}`2xHz?%9lwy8PyS zJZe0ZUV+AYt!9Iws{QEwA&P0a;>I(H@1Tf<{`hoEVt>0{$_XtGuW;s+HbW0`I0Y7s+4glCgTE6p+4RN&I^QlwO>SF4NUg-IP6B-h z4^5SQzl^RR-^9c>f&g5#x3b;KjuN-_IjGe4lglk31G@200F=~CbP&+M2;kx8xj_I{ z*Tfc>(x?3nXSOPPhL;vZCsjtcg7Pb}w@I7iiQVav7+qVyrLa!E`AO;9#MSO&>TX+t zh?=NA)G#l9rq{XK$#+x-wkaG<_}kw*rsJLUBCXVv`nH+?>CnF+d{kLRh8}I_%3?s& zYv(ggEC^J+<^d>i)8-qt1c3Z*=lHAqV)%X`B+I4HhTf}{(_Hk2ZPB9=3`TWVIl6q% z&?w@nSJuUVO^KbEL`!c8i5@;z`Y7sTPw{f*s2C^kCx+C&4$5a<^u{dojrnG$4Q82! zW1lbYqM=CU;xp@o=fl**P|vYXEl zBN2|0#0KEib$Q676d$Zn`WKfHnp7|x;)#V90O0mxcN1CnHPW-$8gIw2lP|khr*>!- z^FI6^emdJNWPC3c8Qm5(_yw}^R^ND4;ZOialS|~rHXfK8=g?#WDxQrIy zvi%v_a~qb6iHOS|a`}F(bbIyfZrwbh6kxugARm(8`iNny34uz>zzgJad5&;oBU!%J+8uU!7!~2t^M4DQs{!z75Sgy8T+`w$JNk%v8#*6`u(g1C>j(< zk}Ig)PX5d%Tz%*^N%at^ufvdjg z5F5>mX>6m6>Z%>#%`C|z^xCXZg(jZrDoUL)3hW}4up%vK-a=Xd3Z;kpb2Pt`HE54d zCNO*EGBV0KSVFcsI}W0bjlPS!ISrlp(Z`Tn?5yz8I6+s9mlen}kU=N zaJGSIYQ0o6)DwGX%C~UlqmW8}Y)95k&Ct#UYb1zLfdT*rMsDubtKy8C_FnRS3_jMO zE7bNy&*@Akkd6&55?$yoaFT`Eu-_)R2yLG^rsN&mA9F6?G*_i2o_H>97HLy{tM>huerVvO zeK*whfltkX$DH!<$u z&)3AmOM3I8Tz-AV#f_H@`V(Itl8=?III>g$J@vz&P|?@3rB^!lJmh%<5e!kjGf-O$(Bbr7agmV{%2?h zjfoqI5Ajt6S`v#`drCBNF$S+(HS!E_@$e+zi%{OXlT{opm+{xvrmgU^wr)d==jl2t z>&=B?!N_C4x{sYPL|RfQnLb2wQl@f-O=Y`OsG~ln+8i*GOzJS(mz`P4Sv_NLwLuXs zu9RoTv4NUNKh}$yQHgLZ?80xX!{2ry18r^~Bi#1Kb>j)l1$W8tasNWjWpQ*SMfJl^^YoXu8?DbCPMRe<_iN4BcwEay` zyzt{I2~2Mz!k%b+L63D6Zdaw;fNp=F*?^K8&_l%=UIt~e-5`knt5lP)zNLW&X=>f|W;$q#o z2EyJHllHW{wPW|(We$C%=!e4|>~^ijlU$5TE&2Bx{RmVq$S&>C!M>;e6z-mj#oQBu zsPujuWZA3K1<4iZJSfsl&J_oXH+WR^grx;z)X9QIA5i{(fCp$zzxR9n7ba5kyr%#K zl8pEg@nD2iBQfzvDeNSiTloAYsuK{fM34!{Q9z~U5N*o+-{wE0BT7)>`5V;*tP$|u zPHRB)vW1bUWP(<5ZrC}j=%*q&>}=!W2adlgAe;XGf9;JIWu=oNSEV}@?|V^JX>l=( zb#N`Qb~4(I{Vb_#1-T&ZzCUv?948W|Xe zDTQWf{;)#_W92I2hz8|EI$Mk=LVBSCZpF|Qr!3#t2lO9o++{iFzd^0@j^kz8G zNlf`-_z@0?|9Qo|O4q!3;)b)z{}<-#0fy}a?{@Y%K8y=!yhRF3dJgK&a*;T}2wdYK ze#W2_evyeA#nQg?jEH>QsujjY`}fC2jDa!*K-A?16A9%!w z{wCy)x8*-9QROO{$exn^)mKH;|NE=Tx%<~Xov;#m;~4^cR}iwU|C$qhdt7tY7>U8( zWBol)pk7u;#mtdxPMVwSo6-F0^(?2uLAg}nxB!tx3LjRzlls#^U6<`1(pR|_Ew>o2 zC|%@lwA~qiB;xP#M@S+_`G_a`4-$t4^h%9J!6mjet!JC{3kk|Kuv8Hf04JP(3>o&x~xbbR+qlT&6o z6_na%25*y!dAUEA^?Q19sAIte{-2*8mV^pc31u^7=RW9{98W}QA4FK&$p1qg^9cDQ ztvT&Hmqb5*n&y{^s!9}VL_QoH{kzai zimz|tFiR%^<(aWS6Zr2v2SR=i0thdDF-q^;g^~~u@&7Ij!_>`^4~)9pw<438e6g|E zGWY({2ln{!$MTyFB%`r__`IbWDuOYxhvs9v^=bPv=_92&AbDQT5LV3^|X!5BXNk5+FW)$HXcU<;rLFOqN)!m&WHkdT&Wt8~wd@sKKHt zuAjf()j=EKquT;9sAmRL#t$3{A2<$@4CR4DMTJ_4W%PGohe!a8Qo<61NK!Dx)@)x3 zCACn4mBlH+U|8#=?I}cD{34M_-DZB#0hnqRayi*~$oL7O{JXrs&|G)+8KMjuU~T{k zqaj8CvuF%x3>413cv4YZSJM|&owaxq7NZq+MRuK(-!Q290>jw^)hIze56BX0w*fQ_IPd;^|HIJ@l95zHdivJr z!41^YMG+AZ?Oc4FSaG#TQ?ZdMYB^iy^~)-e2m>4aJ*;LNM}PXzoT5=liY{;^H1al) z_s;wdH>TOc{T*-vY1n+DgYA{S1bX^^Un}PmQc6Jv_YAMTeQ#nyy}mx=dIfO5YUv#q zx{en^n^`v{Ui>R&KZ8c&v_3uIth5=e)_HuG=J?^KDt4UmCU9!`~ra0YM0mIKm#&pfXL z8>1E-uC!w|;rru?@XfiZl&vU0P*+#l597tS3L7#Rut?}M`L+C31;Z_xM&Ewf6x!p@ zyRZKEkSSxRO4S#-KKQa|)~x+_ZNi_-3k3yD|2a(Rw94gV?VX)Il?(H$3CzD?lLHC% zWob8MG&o5S`v9B#mAO#3)d2{998s(&VP*H^=JkOjL|`!dv?ORT=+$4X3h6mdNc@eI zbmQ7wbE=LP4y|oK>vR2w9kFgd5Rg88;KPY@g19$1^_6WpQ?zE0kueGhwAJc~P9oMY=s+ zMvS#P8FYPoFNIX^luqg4IxOroFHV`%@o(N{8bOSR3y?mJIQ?x1Ihe}zF5C?*TC+w5 z)#iazLKg$r{}3}`M?fceAU66+gUQ<6wYC&iZ2a&8?rP~IOgia-RX4{7&I8QaiGFI^ zS&K-l9!$`RfW)y|6$f1n2eMcNW>E3kyvL38c%!b>_0j&PsG#Pv%my$C_W-bPBuId- zx2lXqt^}wS8~W!{Qmq3y2ZVwh?h-PZrZ-O?RgHy-QAhnGTx@DkzTsxVs={qR<*t8n zl^=U2>*pb0P)+!qij6Gtjn?$R47cc-c?yldcD3U)Tk_Azd-zYAf5;((3f8U#m;0vn zN|c*xUFTD#;;w8%TtTA7kgbsmk(TyNMc=nQk1Uf4o1JO}Nh_~yZkH~NuFqT58*gKm zGAs_9ZZnI8B|#?nO%z2RIlDPmP)>qfX)`;Z#{q_(OekKIppiNg#f-k#lyTa=LLvQo&(n3zG{Zx6 z1m8o#cX!2Jj3R|>3jF@=sL0oUMC5+O?6rA@RGe^IJ(+Nj`Z7?e%Vu?KnZ4R{tbs8vC(3!S~#mFhWx)b8!~{KW|(`)=tIC zkQOfvGc;EoJsrL^&T<9DKBOArou$tM0(~U3sYAE%ObFJlqI7#h>R0`B{&IEx z@WYOhC4*f4w<)@bJ(bW%*@@R*%ZauTaIf4W_idQ$D$pCN%^!n zZ|HI70;n8M!9SQ!p^0BkE()bmT5tf-W$CHVFLXecm#mbtd^h}KU)b1AfM!1RQ zknq;|rB$>0-sKF0)dv_4;?gH7 zn_`AMirljK^EvU|UtQ$sfV5p8FxZTzNF=yp!9xM}3-;eseIBy>+?t-}$zMK)>O^>V!6J1F$>48V<#1QbVk zCpNvbKt^ceW%I}vn7yZir**v0+NoCJ<{begim6|_p6Eb&0klfQ0OeZoyqq@fwS<}P z13O-EcxiWN^6_DFHd?X={2u&##Zf|O)|Q9{@CprxwT4uYmwA{~9|YT>VCU$ z;Fu;i2AqWS2_BWb;esW<(JH*5z{;CoEgOzaHmW`O-EximRs-=XwTB0U;)baq`Fr?H zwIkq*F}1g-cUr{q>F5G8|C1hc?77d8#?uCqyH!z@j2h?=s}; zX;ufC&V^SuUoIJ2>-J<{c&;6I#p0-_xZkOD_HmvNKvUB?wm}Iy#RRj7p#3YR$zd|6>5Iu2#DlAJKMd!2-cbMzYcS6n!O&!I*CVarT7D%0 zY}M%(m;Gb;E_cDzU!4Z7gw@@WYW%5Sp?o$9+;e|v2d_|j{(xR=r((^*4GDawol@@> z5H1vu-f=Uqy5Y>=5WB*3KRD1=;Be}RBiMf$qGe|5fu$%MQ!K>vL7BD)bLwhw=PCzA!x>#02a0?B-iyzZ16jK{m0Y?hNQqV&`)cHfSTzsc46 zn14J$+Qc@1v*0NwhuXfxs$1oGZBw)TeMNnSMl_a5_j}CXy~5aoip>{5^G7$d>S*0- z_eFm?N0v?6_G&Y))e_tGDJFfWh<)=RW7?dW+rDWz4l7gGs=}3LX7SUYhvS2$RY!qR zFTvu;e06fCFT-rpk+1WGzeMS)$8I<@r=Ncp$efl|R$YB<8y7g;bt-Xb1{@i$ zWXtx*?@vy7A?GUhJ*5${dK6xkk$d_@Z|eqXJ;E15lP-W+9{$2x+567?=KJrSMeT>v zKT}b(W7vj=s9fZ2_BnD|{hp3F-X{qRrQ*}ALlaU@Z#k8=jkk}-Q6MfkI%}Fkgtlvo z=>t|%vG5oXudPXs=R%`T!H@VuZ4-4vwi(n0Jl}_Z)Y6)!1r{s^yGx$ce{}Ytqn_}| zJ}`Az#N?7zirc3#F5SR^JWL1Z^m&;DPMck@K$8AIDPM=tuY!|XJ*}+t>VJn9ShYz& zlzsr_;Hgm5WhE8|}#}@;z2f9Gr{Cm*()?hhNLOdTw(QmDwqA z1K!d+g@8qkyc6T*#Sbo+$5!7<( zh=7U1LaiG1k#Kwb!*;>7wViPd(%Uz-O%pSwq++eDknPRidw@q3VQQjR?CKf@Me%#j z;%XLs3$4qOX0Pl!DX%*L&GJ_#0wK1Vayau|wp1XO{j5#D2n8(e;%zi`)!yR>P@w&$ z0DbYp7C8!I&v18aqlwV%W*lJP^AcJa)-0t2(Cq*UR4{de%OPTKFvj^G-MUf0VstSXAE^Hav8P zAR^r$UDBO0geXXtbT>%D5CW1zcPJ&&&5%k+gLE_WfOI!JgZg{k|A+U>b6xY{z=^%j z+H3E#_TKBh?@zYYoB`*9IYQA6@GXIJ*lE{6+r|#x5q!VcXD`b%Jp+q36X(O>^?)uz zaUR3=1Pg#iY+|5S9|U^i*42C%F%rE%ZSlJe~j1U?z?0 zJm1lV4%?acf#n}Oo3L}3CUr?-g9hK$|cq8J0HP>(Kkp7^A6>*Wu%iANv|o^K!)uz zz5s$$9*|R|uic4m0?smL4wNaTAXz_@!H9>dT|H}m!zEu|)4mb`j^YE6DZ1fX3S9B73#yc;duLLR^);SD!wgQc;88_H09qHeskZud2!c{;UIZ*&Y zZchN!0wkcB4SjRPq%qUpxvqTX_jIuD=ihoE)}y)Q7XB|?yI^nnzaGo4Z&X)siDlcl zilxLZ`k$z{see2c|CEydR5ddtKD?de8~w@W4M%e1F8=b0n-MfTbYyd=Cuof-Fv@G( ze`>G?ciHPMMC`*-t#ez02hHn6 zU$Y&caHwt}l*dsL09^)zX0K!Mq!(` z#?t!cIVz5@wHHfQZTlrVJsO{Gh4c|PHEUl~45>&i@FZcQr$|7aMSu3}tDLAuv_A?~ zzFlBppR+@>#PwZ-iUOBL2%>FQqX~F%nw(r&c3a9hA$w#j}MEOjJ^AMFej|TTM-%kg@2tU2L zOeJHby6$XwYb@p$jCywG84T+3OOSO-F~%x7|4ZL9H4dY6;z}L zfJ^Hebr$E+vkn!1GG_r+<4W9byJ;yS^KY;QvIZ^~l2|~MXtHe!`8(r|Ydu>;k~rr= z_(t3p7a^K)3n&9i2eDAx6;6Y|WgM-il9)4{Boa68l=7cqKj*lvVSf2JL#y)OLFVRs z`GnvVlbJ|pHF1v5)P*@~j-%RC(iZuZJNC`#9jROT$Xc;qA-Ub{;ScY2x0`urV`O~Hthz921=hTsgHPk9=xTcsdvr%bLdqZp7|xa zkrL|NJ|<01H(Or-s+vFad2~KK@9OKO72eLD3>ZxPJzeW1 zq$)>MvJ-D*&`k^X?jlvoRh-Ep-R+8GqxVid?JHJ4SY#u)B z1-Z}w;z}HSCv8dKs3UD7;Ze=LxW%|`|JS-C_||@UUt}@n8V@=7KIAMDFcmxcM@R2q z5^2Jz*6y0~j?273)q?mYXESz+rUF%p~=j;h;VWd6S4jD(NW~B zfBwh~jjI9n$^X6J!SZmT60 zp6LwCU*|O(L7hUoTr(@) z-7STX_L75teU-I0*@%=9{v2LB*J`VN4G3u<5$VD%i5H?^#-(WifO_}r8y1vrrptbD zzTakJxR1?X)l{A^RKs3GWQ8lsj#WzpjB~cIVo)QRA46)*w?+BVl)zO6L1yCua4-k^l;#H(U8q@?+;sZ>P>17QL}3U?Z(HQ?Lz$``wnS!iW^|1tV-w zuQ$D^LCDbI&gKv|pksu@5r;id=oVP%M9f=UGW?ACys0c8*k(jY6FOai~NyZKfZg9^$ z)T;@ln z4i?kJ0V^(_jqkj#H;wcOK!5x0HX*zNZW1{P*zUJ0NyKf9wgD<)EZit8rT z=Izekj#q7m+#viQ7gSKMXrbSNroQ+HvgB(n(1OQ>!6q;J$B~$3hjtZ-$YIKbGKR`| z2!;Zr+MEMo+}#aO5Z~c#H65_{={cMeZFqnCO}nk7!c=Q1ycU6;$*=xT+8myw38A9Z z%jXXG;9qep{1_mG;;}#(f4~?!f}|alq(o>C#ZKK?BI>g4T&-Ly`YMgn-HCgLFE&Q@ zI2JWsNfDA{8w`e40HC%XLj~)IU0vZ0C{=fso>ch5X#zv|Cbn{DY~FdWKks{>vU9ld zhtty#Dz?E>mRnFSE@M?-970+IwOAnv$#N>YH_9bO9C7ib9p>&o;?=$uNE{2#Y(dY2 z&ljFDj&$j6`c+$c+3DF&=}ePOZ9#c-e97WR!LD>V^g?0W{`k`@eOL7&fmKHG=@_2# zuP!aZ8#eI!`Rj)y$EFf8?8@1xQzE`{Lf|+Kx3Z#IJy7ps+gmfKYKY)p) zq^1q3?A-64M>pzy{c!Ra`0zTOz7aH9drQkp?cMTp?yx^ewy#B@r+6JeAj{wdSgqeU zIaAW)p5Jn~70=X2yhx(|1an4F0-&b?pL-Zstj!ZHWx z;!Ga~%UBBBEA)zRb5?0g4cKL@1Qjc&Ulaip-hhV%2p&RwaeJAU>}e119WzxHSB|6 z%?4@c_bKv2p~r;^GciCMb&IJK|C^JEoqLaCwy2v%B{ez1mLB@-1R92SbBl`o-j_CQ zdVnqtx_D5X`Pbx)-Y7gAD@aNFO-kr)^ot&?{)&~7!zaJjoMJtb$m20)>J|~fQx7Gp zap%fG{4^P=t(2|%ioO=5Es;a}5aZdUy|dE@=vP^Ls*kOCU_K5AiBqb_~ctV`sP zzXC?`cgzNy^ZItit9&=FhcHpw@A6INvle%n7;RM3j#=1lHW<%}qVJ;$yc-TvB*Pzw z--M)T(CkroF^1O%wI~8;#UoZlX?%mdC2?(-n2$g$N5@K^bZ6%%@%wZY>etyC+Ej)@ z?ynyV6#)3CNmQOrpIc&_uq1c=7JZne)s*JvJAKq%{J@-?uKk2YtEjmpnj%cTX$Lgl zC$$J*es!26o`=4udCqwlpCK{cak2??D^QKG9(lUG@GZ?Ewxzk@+mZi%B2YNaP?5}T z`EkizN&I2G#(4BV{ghX!=JRf`=UMhAf zudjE&zfj<*sdtWbO)B>M6vdv@IjE~=w{xBTEEb!1%0lsp7cCtKSAsvVGeKQaBbjcZ8Nk*D^- zCuR9q$EV8~(gzk5v54qYVuw8MEg5dBm#(;A}srGCwY7Sxcdb~iJ5)%UE>P$YmrQw?8uR==jIVh8ywnIhQFmS zwW3Iw^8P!Xq}}+{jcD%MbC2|P@J8zVgFz|k81lH637rJ8)T|c4gi^C(-?x5P&V1A5 zICo*%mHrv4eH}u+Plo32NmpIM@gD4ZVI7jv#VuMR;eH|bczfTh}V{q)n!BD!I zFkj{xoqSd6x?v*RFN0g)4$&l6I3d2eg^g^~omlKx`n+*^Ogw|{$-4n)rCghx#utI8 zNc}_(xKoR3w&@Nk?kZ$DvHHx!NcA7G2%H4v_v0!U-IT_bub&K2ZJh$NJ>4*<~|dI_M}&|Xaem#gFO;!CE_ z>VUVWlw;g=Nf{W-uAAoM_dA;j=3?VMHR{`$ zB9haS!zAV@z1(oLXW6SwR%z098GGvSr@OC&o*|pVfLog;y(xSW6Lw|w z{IHP~hMGcK;F&Y@xjY_QT6DZ6!!gGkrG{6p?&hx&jjA`SC!FU@PFT-Q*gK!mOvv z^`Jy|d`K;#igwP3?H{4f8o>9X{6oUrDHJIjitHK|Ie0W<#z9doibTnTmlEwI{B)&G zVrVHTXDHE8Tvb#}hN;45=XwZ%LS>H>XOo*B66?u{TpsJIt}VBMfD1^M`K| z)e)2!3m^KpPJUyJjEC`k8!w`2QOa>51iWRZBslLbq8cyL-#1T*hAYje_)+`PtDI?|Ah;@Le55s=MWR(hbU93H@ zz-z`@cM}dRMYr_b;Pw0AsNSeP&9UEBr&brR7hyKn16Pr8R|HnLUB%md3T_w3Uu-s$ z43hafrQ6&MVlda)r35>-r)YIUaC&EF#x>{1ixfIe1k84wgYFqg2Y3YJOjU zO6_bRrk|XME@@Jx#)68I^=n_$QBrPd2%*-M$cK4qXtEDRnyWMwgwVwYW2KCGp18aS zHa#BMZ*S+m!4HT`Vs~NB_zGUuzsnGcMMOfBT@@g??J7w7wFf+opIwg8{RGcs4yr|m z=U+QBVs-Smv6I@?+wY^jk4H(<*F%F-q~ZDS-ef!4KQr+A;^mzq1W32$qgAqupZ-g75u9 z#>66b+Wl5fSe@RTw2~HocpeN-80>WjUV>;~-Py&DOx4_axqt%muWc)~EK9l+sM^${ zA7v{nXJQL;+B40=?Z>`f-}2==iRX)p(VkCcUydE}yc>)gVJ7+TJU#*_)(S95asAY@ z=HCXO^KVIXvn?RomOl?sCKE{K+&y&j7`Dk-Cmtfbi! z3Y%4RQENyVD})na{Yrc;^t%7(b(&ultP^H%bYM7HkB@eer*g<%VH8tV!>4VcHqD{g z48bnJLfc=#K)T!YQ+W1*KVIJz?YT_D^F4DaY%>-iylT8z0X#f6yZ~|Tt^zd4nMj%q z=efDm>2+{S>6k?WkO1(BufQ?ec!XQ~&`X>{*m@XF0!27NZS9~U`*5Ug$^~PKYkL@r z(QZoZE4v>&fL&jua|5gVoTB=^HhOh5f43p8IA|F+p6hnO=QI*T6HHAu)~@*ErFWkd zJDmZ~;fa$(v!(ACE~lC$+a9Q> zl1a9O3@$AoKklXIUBZatr**M;du#g5-g9s8qnlmY$$)Ia>6UA<%=FNXmHrLy zzPP${JNaG!+9hU|FL!9@hT`TT{>i#Lg4tPJ%efP5VxRu z(|YW7Z6=NMJ*T;fF6}^$?MdN-blfftMwP|0*_>D$2y2qBc=y4qbkTYchGmk3|Ha-r zODB31@LI9^kLo*Df0DG?Q!yX)byr=^Lnn(K%2gKPx?8w{;h#;AL18r6pksJK$(^n1 z5Nac`d_KLB&BOGA%>EVKglyJtWJjMSezg1j1KStj3IdGN5k_8;MpQWZ-Kx}#mayua z=RESxOa(w};)7Ix@J}@?j8I$a6o$0=JzeoM(co|N*~9EQ8I%PtYu=ypzMU>(H`BXB z>8f6w@u(F^ap-A)C%`Zr98a+P(B`NZy_=TA*)4dgWYif?RkxE;6tJ<5da4Pe4%r|% zr4CkA<)}(`7%spTNStRNY^0mAT<~Jkts%h#67z;v#+jR?xQaL;=VTaNx(n1afeV%o ztT{H!DNY;5J`U8a5>pIr1&cjkoU6r5?s@O)Po<8Gt8ThiR86(Mf9cgoK0=l;aGTwg ze|%jQin25;$Lz1Gq$^;FIg|q@&PzQi!5wAQYfALzzODFO^U`NdmGtm|*OY~?_zvO^ z0TwY`Q71jL-(8oyOliL?tQj%BKNv68X`Rz8%AAA8{KMn15}GoxfXCycee=La^K z`X?hfw+o;2L(dAu{gF}_l_~i$E$&|iTBv4~GFTq#2XMtNe{Yj!?riw&{6S_DT$(AO zj^^C=rb|a6x`?BSz4k}W>xnjUr`B`U9#-d*k?Z|ty)A?6Foaf1$s<*DiUiu^={`v~WA2CoPg*v_|GWx+-+g(5{d+lgv$ldG}x;eIZK0h51*@^%&N3 z*;EujKCBy|*8-sMfl78}#!=d%NLtulpUJ}`oJXo*v7e7W8bbSlOc!ELVN%~9@=6Ev z1p3|aTtSg*ysIMbonp^vj?vh!3RVr9og=8$$-5~>wAHh+6KY%g5%Cm$2;sq+bOp4X zEO|H2z;H>`e@V4G#C7~~wJ5hl7mZ%|t?G{Z4U$wR^0t>_GOFlh4xQH`#j))gKuo^% zWz0r9mA^rer^u?`L|aPmmHx*UFSWF36TTo1!znBnrRHa>(9RJ7pXxC%H+$3t6bD@6 z_qCb~x5dlu6hk)xeGWcr8I>xIh+he|4!eqW8O2q`yoZV_8v3yBt#YvP%qaH5)klER z+hpac=iSfjucTfEcjoYp*&2a<^2cQ0>R%;D#Xcm7KP*cQRF%R|k8L@6D|Wn>if}~g z)ktYy%p;?q6zqI6{_T&ri8HJ_foS(+EH88tlk_*DRQY*wDJwdho>Cx zUdS1R)viV_*Z(#R!_IZRC1Ji!S5jf9VJmA>9{?#Zl^Yvf6wrm8Tj~5B?Y#M_RrH|` z^-19?_~eT?wQUcYfmY`@3ET@4Dmh+AP~CEdXW)`adK;00>;ND$55T9hjGfW0eyf-D zL6^zIBy0_pL5rKf^7@|3B)vN20%T^f`C3I7|MsHR*d2d^VZ&mKz$UFxKonG*!%`vz z&Q|9D<)N6LKgep`kMuoI<$m$j2Nirn|9rR%q1<4)#GdS`Q>~idOUsm9WPW?Qu>Oc6 z8KINWrOb@~>yWd|{Bcmm#GRT_!UU*KJmO;}dt;UUtSo|;^}TPZsCVPFX1-oZBF$}Y zRuO$;N{Iur-{<+eBb37YmrCF10`3vT+r!0rWTrO+UUJm|q_XLZD&wo-24fR#F_!he zE*7+Gw)n%S#iX~1kT)t_*dV#aNrJ!&I5CK~bSu??^OPn}-$sApxk1-xqztpKd><^c zOEXsDx-wY|7{!niXl*bE9wFVv)^2%jnN`93r2$bW<%Hy2>IKt~K*aI=x@JtyxcGQA zDd_3Oe8o3-GHxm2qeTOAvB8K6VE~&$E=xjbEQ@SoeSM2}LA+#oU4qOcKE-~UQ;;z} zxxy&CtmKvI|Hk(vNQR>D(>KBoc;fZ1>g&|`gz1#&NNehY|9ZEyr8Fx9gIqwztg@ZT`*K4oj|3M7m5fm&~ z_C6h}2pKhRagM(-+zC}ppQ^XH6gO3dCIfv~FX97ce)|__O>#Bj!LiPyU53$vfms+A z%)u8a>QIqC6EQesk_}*eY_*Aq|FFFte;#YEpR-v_;(v4eQJ7FxSiWx|u1pCwo?~Yb zyAh*3#{JVlf&}MLaPlvKCEq*{`uc zT&HbnLbT%u3S)NRQ(R1Y0wV@rUG%c_0hIp`4Tu0>(eXx#l=$dGtBu1K{{=V|RUo(9 z#>NV?<|OmZsTMnbtb1lTm6c_nwlInXqzsqU{D;Hf5X&_|36&phH8)F^%T4a`1kn6S z3c;Jgcy@;K{xC_15`}x=QEBq=HNlyP)YnSPq4T*`HaZNMUsVBF)}}$S$OFHKf@8B0 zYRjbXiC9x}f;zvTAslK&w`z;<7Q79s>dJBKnId0(gQysTV<-?R4+ zm^L8-RneQ2-A(b0*RGbQT}N@I*VPZ+27X0+1T_6CoE9{LPweGA0?$Ww69NPccg-gcUmxw%8u>F>??=+u*NO;7m`Z=Me_=pg84 zP~j7l-Q%M-**Qa!%w}m%h(NGMybatm%t*Z|4Qiu$j-T%j5*e?tAL*AKO$&IG{Jo{DLT$4^aQ@Q;r)SI?0>%F4oMddDF3 zQwQ?Ing@WnaklU!2yeykH9qqL%ip0P`a?>_RAJu(O)fbuoHlOl_JO4?qg;bE{m(U&2{ zqD7<$OGj1vB#rVS9Ow68@c+DO!6{3+u4s0~qr*nYap4%Gzpm$*t+CMPn8ZWm{KIef z*O+Gg6i?vFw}6`@ZabOvjFi?l_t zwagm`_Pq9IqNnvDC$y1m046ct;?bfkLy-tq;6*iUt-t$|Sz-AxBj-44W0V#fSK zgO;7e`_}NUNYOnOd>g_L@fuaL63U<1VgM((iskXu%WT;@PTdW{LD1qY`30Wjh=A*p z%kK-_^>sU~=$`Y!xya~Mp(2CnB;ukJSP8a!`Yui3nGUqm$wceh-mQTzz9R!3eOVEi z{K=EJ#7Lwm@UJ(x`kl-?JUr_DKL@-SK49UE$QYB4_obgW`7$ARz7A!2gdf==DU>E{ z;{!;}vEh^mwA1Oc>$(qkLIUhldUsy?fMe_m8$kZ3Mi9Qx>uIvyItN^#*c@uuXVZ1j zUFxueUgzvy-rx4e{>Jquz9;C8uJM`84RNkF!Y-ccM_PUGYygDE_YaaKzyrcL5%F^) z)>FSKtaOla&R%?k^(7bwwvuxi-TSur-6+Md#}=VbuB@!I?YVCB4_&~D&`}F=m+_%@ zPo6vxB9MI?3QMuzEvT6%W9-8Dy!c1!$=99*#ma!g7f?!A&RVZm*N{uREq985`wJT$ zyeh333k@}1tc7M07FBZ&~uz*CR(%bLG){%SMFq^#62}$CmHUK01 zp?;8J%#ED_iE(j-FL`eSy!74zq;vaY--)^NsK6)bq31htBVtF5oRzU{gSmz#72lWN zFHXx`EGp#$Tq5|rX(gS6r@eW@qNl%lR+%Jb)Q~a3grT6IjKU*+#k=MY`8hv* zm3SF_Rom~m(*2+FhwBPhOL{CiH`gtFe`$>Rr^A^&15~vVRbBPg*$BhMQ-ypggM)pi zj016tp2&oq;3M^B8{A%gV0U&YyGm%WKQ@|GMz0teKhv$rhKpfBTqDazc#~@=hg@s$ z=))VZ6zwDrbV36+^jz4V;wdnA!e@E#F$Ii*MDW#UKGUgf>;4TWzkm zv&L-BxqeSJkdjwS*fRz(y$K&aPU_}$sChj~61(Jm;aEg-=d`6KGU9}U(=M3F_0qKnZ3bNI1Ojz5^&i!2h29V;(da6E0*` z*g3H@$n#0yh&SHo#m$d29MuX;-@(Q8g@zOf!q_<5K2IbucXm&kG-ME|j(BqD)PpGp zK!LsN>}A!&1dCkf?$bXMLm&ElwGW*;&!$Je1>C>W{HI zD)n&yXI0Ob0n(-J0R{-*!FV`wkUoe;BD;wUJe5QSh{}8e%k-CiaA1T5 z%B-7pLQoHJ)IdbI{RTDOVB2v5j@fI2jqL!ve#*#D#^z;`dp5`eslu?kofWh(wJs!< zJ4e69C&BWNZd3c-TwhbZhdu9vDx^H;iA+*|BD6> zO-aY$a`GUK#K=&n7u<3C#*4!Pp9EZ5*`!UOEy%z*f#MR3!d%DIYWVpVMN%GQ_xs#Q z6w3KvG>oueg1^i%e!w^P!x!UF!?wauLGFRSx z6&<(eHK>H!Hgad_DE?XjF+{;4Xr=pZq+wlfD672dwk>!FHa~4^$$AtlxDL_3-WK#s z<)u&ZEejSisNgNUYUJIuT;Z8A$iT^cd5RQn!N|LM-AX8g+_+wMBJ7rP9Z7F39gQaCbExrvXm&H6a@n0pBS7Wb#m#`X(neaR!w%vpE9$M;}9WBWSaS9W_l zBZD`VCeu7YCtcoI>vaSroj`M)pFc$mcN>onfF9e^3H;J* zHr{$)lnJ~fJf0fhJUXgaxglKcg5!=>6$O^~(E_tspB z)9j)G(v^C$m*>&*!y$vU@O)+D%`Gv8#rdT! zHnXXO!i+p9td)4_JPt#B3dKddZvHR=!!O67h*!aE$cXV$dG|wyHKGEmt?sp!N4$?b zn#;pj>K&E+b3w|2OW~&fRu!7JTi;aGsG$_PJ^9ciux9zE2|gc8a&8 zXt=tr67^~G!LJ&3nU^kw=xw>$3NdywuBE~g-TW?+kG$b*AJz%UT71LL8hbO9>{b;n~19wFUM!2BfQ`gb1Co)z8$0)V_EBX=hb-<|H z^emmb3pN|#aq>r1CIFaC0ArCQ>$sj%VIL#M1uXGNKO==iA|#O+_{sMAuQO4|ya7!cj4t&=((ee9hcPAo|)&0nl&i84J97oYJe*5?) zTeTk~`?#iLQ4%t!*d%29W}PJ19<1)ctNY!H)`4od`%8r?e9=Ys_c<^z*up|SFhhEb zai|k^;*_yK*M1@bTWWzqZ9$=I^f4!%C=bkdpowdDfQynot@p&M_2EKvocT@!wu4bR zcE_zJ$v68dg0P@v(qwsnnks-65JwOErfKqmAo`e?l44!u=DCGRtUT1`0KI=QxiZX( z*9-R*G_3VoqL1V+kF^-Ga%T6NvZIb$T|lvVL-wTH*5ocw0_D@*QVnu6VNHt8b$-s? z+yG})B9~XzQtXQ&Id~CIK<~@}%sScU>G=4RTU(H4Y_Bp-->3jQn z$tpeG`XggsXFBE}zFSAmtro?SbhUo-c4tbBl)B9?*il9%N8>BGX8EU*HjPmLfdSpX zt+-$HhA;1+5{4ybDp5$VIom7qa=Vaha})@d=raUl^WY7HCm@A*dJO@FkAUNa%0P!k zOCOX{(Fz_7(l_*>fMd^xrEb7_@=p1j13(SW+|z0Q1`X@=#TTPJDd zPOf@+Qb*K0Q_QJ{ec#=9O_q=LDF|Kin=t5>Q&Ap|=+4(KwZd5=bve4a3F2r#^!x&A z6UB@6)Tt%l)pA`pz-$6Ovp4WoN;dzJ)AP|Bsh8{lw}qj%uGht}&p?hcsULt3Euvwu z!-@EqU|yz=1Ygng@XFqX=5ephP@hIkzkr+Y@inwQ(rC+2wn2Z;4aih#&JUnl9^;o1 z^v!*WCO~>mB23MJ%sPJWcZ9Nm`{SDx;FF8uhyB^k^Cds6dHZRDU69{-J=TcGyv5y1 zmMvoG=TZWvDO6-8bzp^&u}(yMgm6GU3)5%lQ+~u24&(9681!cjn4r&qD*{N4DEYeQ zFToz$;c1!3+`u~#@kSB!*)M2a2ph@N3)`CnzdG^RPOrm1zON!b@DU*Xp)7~gJG64S z1o=^o$tK9yN=f)eV+T?rddgC9u%8_8N_~LJO>%id=XvrL5!{gU!1!;@1lL2;w`h}J zv|aq0f_s}QL=Uoq;wgrAXcsyZT*4kDp{uN^B7kkY0Lm-q9U04q~w=RAG51x*4)f zVD*z+(7Z>PA2u)VW*P8X8C->xD*zxgR=KIXE91ZB5gJqZaK*%%^nMgLf7()z9to(l z1wS7VXLz(OJy4Ag4Xl3e8&np&(oRY-Orpzo9vQpH@$F-T7DF?*1_D()#hwlKr?Dj- zsgX`R5Ig=Ati;}_XBgW%yN%-gf%WD0i-Nu{nKwJ;gB^XxIj`K`jaO z2ru5Df(~`}Z7qeqo^IU9&R{=T!b8h@2r(pqt1I?-9sEqSl&8@~#0SRb|7JViQ26+{ z{rzq1*7G*>tX>4#foC&uVHCQ9>iB%LqGuyabKZ760Slk~o_{Uo#9)|1SPU@v%&ifyqhYZKNE?8ok8JQ8@xgJ$Gyv;aXA9m(f5?fawD;tT)WN7 zusi^hBg%&7ECac@>o!WCPp>t`9;9Z6TH$Tm#K~DAJR~uVQ7U zkE#&pJyA;Ql25jg|=K12cZ_C>!p8w7~dx zi}1WIu3jTgyUH-5Bge+Ffx4owQ&z-qE}g7v->#Bu&;9w&mc8H6_CI+^q<1HsFPctg z?d4eJn4|4A#8OEx7u%sT3xIOxh?>jMAS}<$FSRWL?gk#Zf4;&usbh5%L?7wRe{1CJ zsk2$yHzSV65ORaMVxsam3c}4`fvb>+eNWjx{N-ELMQbWCeXK|#*PzYZg;X2bP0%kc zOBbPNpG~_Ke;xd$({_SroP)h^zamryUx-+9#5gO@5$^zMlo_WEY4X`eVg}nh^O4)x zV+U1?mZuHLh}5U?m24cw7K0@jXyDm|V0&WYTlH5C=}5;v?2|tp@V4_GNK{X_{A{xq zGQySJUg1toioUS8joP{Ao(cWM>y`h{LhM9dm@%TKZ%&7`ZODGDh~`j?#x?p4Z9GJf zoDX7nZN=!ds(W*|%2l$v$~P4iJ_|;^zfoj+w&Ez0?Q;F_t-1GP`d8s$0?a!l>r^R!EbiQTOyAdbAo`5MCT z__>18pOOVtzDWLVP8k|T$u0ZoyObkZb0Vh>i6nA!To_TF3-rnnU+oO47C%)%E4XVa zG#-GC?d`4PNlr=TMK@ToJhFQi$Gc)W5YYGvz`@Yd11?AKL5Y6ywopLCCog4)ok+3; z%cqFCDiij-YCEv6xm_I`Okl8MFoZyUfPzCz68dpxP*=xF2Xa}?-gPnKq1wS(+q{uG z`-KW^Z3JNgT@sl(o*p>aO4W;>2sN+!>YJG3f#0idXVh|*eipFoaC4vMu{bk=l=+k` zdo4Tc>#f5?WhD(M_Ehl2%D8}$u?+5jW$H6Y;-EH60yUigVpmcN(wxIBG#hjh542)dezimu?Y&<}5 ze>A!yx+pp%mJ$c)mZX$k8MpseAt$;h(di4eR3y9~+V9G}$%*oC@meq$R`QTT)}hl& zE&vvxH3^K4w9VHTEzEC*8}Zm+e4cL{RB`Ls?d?u&P8U&DbS3m~34XdRXZ2B>!IvNf zl4p_&g3{Kw&CM$JGJ%3UKFJ=A^Ry%VWyT!nECw4bu5{9!ZMYqMTpXLB>n)KH1_CtX zJ25{g`JZLFHX$k954rP;6#-=7_WQsIG0-h{Z7qE~y51-pJh+m2?o~-hjg<8xM|ku&`=Mk*?1<^s7d^gf9?dZJ#qRGZcJhlR zr}=rZ+_|U6K-7C&N}R0~hnWV4!=*Dl!Qrwx1mtLGhU=>SrTS!;*He2a7bq!y+S~6r z3+k_4pM2tp#fQCiSM6dl5Ay69<7gzj$IsJP48xq%5_^lkSo7M?9s9mS=Rj`Ngh{A(ojIwwi@#PH!s5%3F7hjPp9GWh!GNHmxLwj{(mC z>?d(gb2KqQhfq=604QBu2F}h6m|d>efQm^G=|-?71-U{Y*^(11^57xE=37$uJq+$c z)uwLJv2LbTAx0D|EUG>#mp5f+hzsP>Lv<_M<)3y0Tuzdg=@vGx4;Q8xo>s(b%s~_# z^rnRFi3Q4SJMZqbehO8n;{S~&KA@u)N6R`Md>+jUGq@f(X^nU)Q{(V(;QrwUB;bUn zCo%zy4oHj~QQ5p>ajH^&QHI)vexCbnuWi6V*OM^v^)DW40Q!ms zt67r-i*UK5`t+a2>fRp?_V2{*vACKZrZRRp027lb26jw2hiJBo-;x|3E#((znJsBYnDDOtCw_Pg)#JaRhyMbZU+FUz^Nxy|v*KKp)fIW}dfM-4dx>}8 z^^j*ZGX_1H5+2ywAcNQ-pX=Qnnf}}fuLJ!5YN()EhtY|jhAe07{pM@< z%rq^qL#XK<&&_^^x$%W3_3U-!#l7LkZ`#{$&ed&)3_$ozf1Er~dCFwFX>MpQUyL+E z4E%m)A6?qo?2VEhnSULs`KP@V_~t4nrB+SVoU!{V{-owIMk1JJ#_8^I_1b zQe}r83eDKmM?)g6hrECwKUXP(fMn8_nwLrN>*+BbZ3eEkaWE|q{_O8+3#IMeG}M~6 z14Q+S5ZaxU1sbO@0Sm$prL-48mfhEkGlRA}$bB&P3?IX||E;TCp#wine%je@u$^j- zA#`dndznV(gT(3kOGjYD>HCF~z*Q8^%(u{{dK%x{`=++7|9MR&;w~|ovvjZ9`zNjO zyTed{TCL$yOQ@m#bX$vLe8lOHocrG0$?w_V06VL&3k4U?jT#xS#T;?Eo_v2!kQ8Q^aHZUoke6PgsP;oZ0rADyYyCEguVePyjE4V!Cb3OqqqMe50oN- zZ615Wrwsqv>Ctl@e~&Kk=ir}B;l2LPpMT<{f5*kr0J!MJWApw!2Ta1HerIFzZLfCx z^}Qp40udtq686&9ERUsGM>V(3(?i9-Pn?9u<8!S(9y^mIDGv)@-_ju{XdvJ(MKP+R zYma1$mA#6ke2fPlOR)|E;Lp{^p~2npBY>Wpdo(FId6U}(yGQML^50s#Gmz8cSLDu( zCYxVSKFKe!6_oarglr^o{@oCh*F9 zoh5vwGTzDhw>S+gJanbQ{i+_yscLg2c(qXQfBuXkAYmn@5@Gs#32+iaT>C=`gi4un zxuXe?kBNwGx|*8W$7&soV~pLLktrFLWIY0?D`m~R8doVf zj&cL#pPj!YTm%E8^^%wH?#pRgs1U)5i1^-8jhwC2*xjpD>;HQh5LO#4;<3N`M7+K3 zIth?ZfIu%!9Ab#i&-e~#_+N?N(d@N2^0nSwxFYoO1He`;z!;x>NRj)_)R1GLbk$#z z<$ojh?w+2Qc-QbL?dENTVJl`Z9)bb`61ss#e)m^5l7V9us(+1dqbt{(J+5iqOSEUq zk*j64l>{&&11LO==qBsqDn*yx!gwqAUqd8`Qa$ngMQO1`6j1)PUkedzk4}B0QALZs z61{<=Vbb)ky@*`IU(9_~rueFSi4U@)1AJmk7f2O&*^gl?0Q8diSHnFb7dgGeA=I>! zCqK{vjC2lZ0JEV00;-tqiYo-1L z8BV>!;@pqC>J=G4H3fj)=3TFgg)d-iY;1wBTM~h)YFXr++stc zHdSRlo}ZD*K+jWpXT~WPlZ?ear{L>{Eq(bnd6PXA$0)NSLXp8-G zWR?mm8Tq7gD?Rz8n0_mc7l7hWfEp=S77vKb@VD2*zccKfkDn(LM5dlZew=$h{;Xdm z{!f?xJ74{C;&CYbci*33^}pl4OA>!?{-5Lj|Azqo-yR5m$d|DH9jN}j+vBkKufBhV z$p4NXzjptQ|9s^BGyeZ`ssHmF1r=m)SC_2q#Ml2GeP=OR|G4bK|AZ5E>x%SF zoSC^VJ|W@Hun#w4$wWSoFbr=lIj&wH3O?lmfbd1XxEAE+YnN!2l`5rhB*O=~-|&#+ zYId?jiaH58bIk?iqb*4Bvb*#LQ$G@kS0w)IwaH}9Z>`UiGqj% z(yR2|2}OFZp@*JO0w+Gt^S-&H0wbxpE_ROrA`<~IBtMl~@EVJ!O82|0< z>^xoJRQiC8-~lyJQuj;?>?kNm#b?TnX~wmB&g>HNRB?9|(2DtQw@%LYfnT3IWRois zC+DkxY;p*)`11m$R0$&fuyAC&N0QkhA((dWoh^{|{T~Ava=tRoM9J=XPhR6GOYJC5|A4N^i(JL#b z%*p@l_+gVFziS_(=nG@i;AdCVXI~%F3Zr5R8lmF|m)H^!yt*Pz>TVdri}!7v-z`AS z`lZLxd05@I#u6g?7t%&=z-4#zZslWbWHLzz0d5&M^tjXMO?<2Opi60{AV9tL>j-1lF>P>%( zplc;NNX~`I`hDnot98iAc{r&ab%p*|4zlZqTpq{5fZ^hMcx+LXYni$~ceL(b< zaCx5A>PQTI$nlqdydA!W2BLBiobP~YX(d1NpC9hxtuz=P-7lUUzV)qvZOs|XROY~U83*m^O^vb{urBL6cH z5647r##V{AzL>6JFi1B7=syIs8e;l!+zKP{xnw5)&E@vhcz3$e>msdLS5H)kn45u$ zJ1%i$z-Euk=^cl_8ZPPI1If=}iugMhV1?45mr2mkmT_>0qE zEw>B5>dZ%Fqx;Ms@n#DUVQmDaF*p1l6aVub(Sw`tvBuy)yuGDv(SGuza?WSw$&%5( zYtgR+wb@uIPFK0;8q>`UlW;Qtxg$V^lvY<{!le7(4;&!%{|)qh{<5!(3%ENIvq6r( zWAXtWK6-THe;oi$l{=c)q0Y4?nDgId5E4Ylg+r8$1w+L0H{hE~|2Ttqr&%~ef+{w8 zqi&}xcIG!;c@lHaX8Cium@d?MIjq6{Q@40+(OpGA`*HDq{foc)_@8TrpIx5_5CJ0PSsYRaRi;`5^e~DTTj7B$ z9}x&kr{x3GK!$^O(`6YV6=gIS`|lUTKU5Y@1mq%Qy$(b-RIjbCPoHANZ{O}Zo%6Ni zicd%- zl-rx=>nD#DTUv4%{?vYppoBWfIt~rJk}~>fDEgy{UqH4K_54gbqH6q?=}dd{jcUb^*X+dEF%6xIE$)*gdXBSy%J0c* z<+R`DZ+w&?s{T0yN!s8U1pkfCPZl_Uwo}FjUR1ge7(W%mlmf@8_choc;lmg;e*`28 zfpp$sUUK$4OgO&$j&)`WBCBv3>wTfRJ6%z=K9GKKxmk<k001hhiu ztWNb~Mdn@9+Jog$pRHvS>6(~AT$B%#?jx112gHBu(r|rk(b?Y^YWxfdLUYI-wpF|K z`dUtfmF9>F2Pc?g5Pj7`mOmfr-@ttNLyFbE?57LsBceU7kakL5y_mqq9em=Z8)2Tg zN=>B~E5#{+Fh4OuL$soMxyM4V>q0O#;R!3G_bFr(sWfpIhL_^MwpxZ*<*t;}?vI=V zq48?l#pX~`60St0^B;jG**K8=BEapCm+neOH4RsPUbErO$Yi~b zt55sCK*uY+P{zRYM((O#QK3kmo-B!nSPrB5YPpbosbLoW?5^M=maP7G`&!}tL#YF_ z8q5&k_eQstAfoHuRa(wY+k|E75hktSus!E=Es%GIG%D?d+oZc23=Y!^M%VQz`5!R^ zp7dz#?xGN7a{FL()wUQ7e+qrTxU}8-i}!EQKh{%@O_sp4z4Oq$o<+(Q)XYvytT^r8 zpZ=d6lB>X}Sm>P@yFCsTg8ViZ1d*^=F;P)bDqE-Z31h}~d~EvuTI6-$7(>fL3adXa ziJ*suHP-%{B(TKzCziA`Po;k-wlt&3a?Vq3!>9TZL6tn9g+zyfN0CGuhQ;l?vr))) zUd(K$!^`ls!3;N&&2rb1Y=zSUXYuJkafmZhrq{s$-SS_9PLm@_rqe}WFWs!|oP&8H ztMvE_I$X6+4|v8q@3T<Ev1TCbGDW2ik(1Xt7Lq>J}QwpKPnyGhXr3xid16?{q0 zu9jV-!cno?bJU`-0&zNtbWyo&r?<(4rbRXsGq=0{4icD;Zh{J)AB$w-1KUk&BV+u< zwcw-Xi#B`!&Q>$h*P&8=@D}iaTFag^^3@A1qlePOFbX%a?B^8 z!mDGvg8p`kU^Nc`J*3UWO2j?WfmF^e8L`Q_lt>}LUhj1ihI6!xltLm3x-QC^$m2d$ zvK)ydYEm11J^KxvQnMVh_Zwf2%fAy{P zu?DPE?eynPDRxpn_nV=pQkhrzP&&w(dpIg(^#JLT0zcMrGQX4}>8Yo|Sb!YjtGWH<`N z3IIiW&0LNMxEliA`0}RAylz_k^*CT%>4c5=NJnC})<{Q@So7#z6sJqzN?!!hUwS@S zcySoFjQYxNWeX;V;CUv@LX!2M-}vc(Nl2%^Oh zE0Umgt7c84T872T6?YivGpnaXTC(Rgmpxfd&)=`5G8i~ppaoLIhTtwgp_r#Do!Quo zdMMu55p?rk%Zpd(bkXeYmW0!^d-?p>T{;u@)`l296gMUo6ZLQn+^vn`@bBjF*}u9l z!TfR4IMcEVf@h=hp8`2E>ma@}V+r!BR$!y3NoXM2VEOkd9scU{*U&DM7d6yD016vs33r4(hxS z!w6>rZbvWi>A!9s{Jdebm1bvs)*-PN8n}xpRw{K* z;)blpChku1ChnK|-%_sUsN(_0DA0ljb>!!_bwHTlne69VQtD)rhb%W-sky~{uij)F ztURa#O)wQMPbB!;0-aHx{eQ<_9TO=d4>xasKfIl&^c=@`WMJa8C?7`DJKW}k%^I%B z-B;CiGvsiOn=hEz*!EBh*FJC@_N?pl zq|SZ1Y;)xoEhg61G;}4XuaxHl8YQk=+LVdSo1AqK4cTWgX>ti&P#5m6Qgo{?`m_B~ zUzQp*krhP6)yxj_!N&bchvYs69K^VPmD_sFyp?$B-z`A+%};EeNl6i`j5_-bvt&G? z*F-|p`4!L$u*=3kWkwzRuO!8`lC@;f#^te~$+m!S6W@EHI?3E3S2v|K80C3n&8fS%G^6=j~9Nx-ak^-g}uMPM@ z?)TJ1v6nP4-0F`ZMXdd*xB|`YHs#T^j~NuHp;~EqtUi1Uq-EjiV)rK2tPy)~)d52! z`gPzD7o+Q!hrtql>=~L%ookz%;t1-Tmw8#C?=I%FtT$~0Xn8ZEG`~f0Oa)x*45W&Z zU}{v`NHxwlD+OeP!IwU+KRoN1ELu8ZA=gLuL% zQW^SvRWFr%D!jWnCY=-KVpx6=GqA$&C<%M!J;WOMdEWKfwN1esm83P{Av~9|H3(21 zozqw$_T!f9R@?r$d=bND%Sq|0o9o-p0HDwi+t@>xTf^0sRp9FCs`Z|e?z7tdSRg9( z`ZI|6j(Es@%ui}7bhwcPu(Kw>K*FIuYix?^u!`k?>mw%G@qlfo}7MI0jazlcPC^- zS+T(W$wBG4ydS$ENgHh9`eGyv6N+F96KK)`epk8%b0LOX4O$>pOHrA2SN-+`w+7|U zkR5R+`UJ$q*S@WY*+-k#uKk#Uqw=cI2?u9Uwj&Q<^6?`mG$$~CyFPLhdM<{)zU!9s zA|MD#r93vu{kjw%JgMLw_mQIfIh73Pg3lwN5sHdmJnGzDk}Tw&Or6-&5FMX6tbMi{ zvB1Sd_$Vfh=07LpF2T$GG)ar8{EFFxT>|cROTOay*rCa8jY$gXq0wt`iGaZ~;X`8z zDOb@rrWsu;IddF3P0}FUI*_>4DDCazm4LaCGh=GljjR+pRcle^d}$y{4p%HXiU+q| zt~1$8hNkWd6+OT>f+a)K;JdGm-+$3NUJw>flxk1!Y_;91;gNvL-6HOemt=OAwi>;S zi_$_7j*1m;K*61y3W>O6BmE^$;6dE0@3%j9St3o*blSI+0>43nsZqe zH}24zBG{fQ#Hhs(l8}!_vK+aJCcxGOVS=geba>whPh9Q<9Sv?PWvb2IVEri_vT0`m zUSsmhT0aZ!UJ7oO(t8_Ng|=uC4il-jpll0<#64o2XMgr|77OHw+}|(k3dUZTz;FhD zWv_^&@&fUO$$9^)&E~X@gR9s5!yRBcL5~#=btclFra*MXd|`iN>FDTldX+HtXkx|f zKktc*JC(MvX3L-Y(xo~&gHL`EQK2G`A|2Ppb1@ehwOpB)leE0C8c+w`bz0O7shtWz ztsYViCI;K5X|=$b66o88FGokaoY%@rn43{&Mt(*0zZnPsND6gw4t8w<+Cg7}dMd8Q z(;xuF_R-vS3lfBiv+Zp!CFfCwo;NPQl===RY0dBXmQh8Rda@~t4}OxgD+~sp``>(6 zt}=)XM-fvJU83Q_VzK`A;3!fKG`WMw5{Efc8wu0X%O1|%i!Ub{iOd1pe(n>ZSu3=y z9+>-~Bmv6*q$2*BULkT7QV=KmqxoE(kvd=WE)6%;&sSlRlB;0_@1@fmaPqxJcjO19 z+o5^9T6z*3BSq86a$sA;0sVG*On6`F)d4XRYQJ1IM|O{l*A z2w%fWG|;wASnM)NG~?dVu$|#^BIl>EuX%j!mVGWNEYRkCc> zn!J~v)`Ig0`g_eTtX=w3(!z+(;+I}2dchqhuiY@_!7lxlg6{lW|P+Rgt^it>^Lu=#l`kem}Y_3k1UIjb*Cu*Wla^0D#z*mDGwp6+i zJmHFm2o%V4dEh&!Le3Lih$YU0NgWH@aa&^zb!`0+Mm|9(oOJ>bj~8!NAfxl5RA0nv zr9drqPki^&>~`mbr7*9nbtErDnpkFia5i9WY@FfjX(lXSezGkBk)ak5eqhlMnZ;H4 zYT~e@G#RjbcDG(<|0-VHanS^(Fm*~+l6l;<626Mfv{L#sqrq*RrE^@bY3(Qu;@Yx^ zot4zIRU*Z)`wM3z>NC=O8u&%|6wFZ2M_iq+fn=nbiYrWmDD#wV`zG>ZC=T>)>Zjr#iBa$ahDi5*m&F^UfEP>>>G_y+Y%1IGPc zr+M+tL-wSuM#$Lsv-{}pC#Cw;Yd^y}bfuuBPt+bT6AU3^x4Dz>pW&|9Q2U^K6L zYFk6U`onQ`#TD zKQm5)LR?5F|M;P&3*QY>BM3!_Io$wEg5wuD;-Rhvu*%- z@7H^j>Y(VN3haf2zQal&4M(#+L!bKSQiq&uSCunSA@fV7H;&bB?fE#wJQ=8*V$hGe(G(l zL*rXYTF*s%1Mmz}*214y`t&`6l8@~MEnB5y!2&j&_d;wSo$V_F9pKmO2RPna;v5iJ zY3Xvc8n%&(D;uvz#!k^=9_TQdHXq)4bCzeF{*}Cj(ibvcLpmVbXPjXj3xUjxZSSmV zED6=+0}Qd+MDq|nzw0Ygq8#kzS0auF+LSFq+P{koUiGZ|L8dW0NZWm=d|GU5TjodX zMH@N-T~9H77jyUZ$#qRm;w;~Be|#`s%4kkCsr3VCtkH_n{k30bF756YcuiRvg>LHF zYdSKlLw#f$zQ|=#I`WnyphecTlyihaZ@zd?%nXCRva-CMz56NC_7bDP)Lzt*k$9_O zIP}9JK)l!7`favRF44vqO<(L$qRn}PWQ*6^6^X(mMD!0}yC6)70K+qZ@DE@)bGhEF zXj(j)?LV^6&anI_Xt;9!KOZO=z{ktWTV*pNA=1<%sgoh=if@Eu2|7iED=A1XJE;tY z4iDAb7pFe`YTThKxUSnQf4P_Ad&$atUZwyj-QhnKRr9Tvc9^p&d^ao~qQK>>1_+fr z;wn_rBL6vD8eql$dFAWy6I|7v*l78^YU`LdplxUHB67`~$j-1_j|`hiTx`7~9t%fu~YN z@XkAXXTH{xMjvj_HtllAS)fS;k8U|GLL*mgEG+fYsLam*$qsTB-Ws%35e8m_~4RfS9Dm;fRu8nbzT=re%FTQ_CpNKepg+ zy*yMawGum(2hIem#1YH^HQWv1z<8Ud@W7>d7Z1IMvm2c4u`?PCp0c8C8Q~?xUUCPI z4^dYxgKsgs0P7m_=U3CJ?@JhExpMPX6>mPOA?siz1;0)_X}WfUHDJcsb~jsaOM;*1 z*vT;IUZY=w1Fz#seh{hJ(j!P#r4FwAX($>g)6@_7@|WfU<_z|^adezRK6W4d@Q8rF z9tA#clu2~BRZx6R)T~?&9vszCZkY2_xy6g%$dGIGTg~SeRvu7I8&!Zo1_Fg7Lh*@* zt6{Oum?MgHVStdKIE4@;htGa!#s`@>Vil{Mpm_aEY5HxrZ9IKf)G_o+H&NJbcFLX~ zz}lSxZtlN~?`rsxEa^@~3|#E!PJJ(^%Gz)6>10%=Q>oin2p8P#$<>~)+*@YtPJr1d(J%B z@4Lu;gh5ix#F6pQC_UB8YL6;zwDKY^tGBEYD70XFUNRlxY(rR01gsZl;&$1q26VIh zNb5YRnIN>ttwz9lAwa5Hq1{AX57$Nzkmr{)U^5C#*~mrE4HK)CSQlI>NEL^tMj<0m zylX{wRx%udlj>TKz=9V`MZEucmf)`-?^33LeH4h zxJQ%R%VpMb{x!e&OiS^l`*@+rX(yYz{CyXskg*<32cYmZ>A{BT0tu@o6*4-KBr^M; z6%)M1nEQ}R)3_T?ogf85xY@Tq0#;d{2MLjLKVJSU=kw+hptbjL-}fi4+frv3!1$(WOTYX}K$tTx)(>?^4`@YU zw!4Y+rvUUtKNb=sI0ER{RmNZX3mU_3rI2#NH29?j7y{`baU*&gH{O5vQ142x+AC~R zu+~2l-CO4=^SQ~^okH$4oy{9NU}*+kIc`~5^tlnv`h7AtoXk$!4h`&e*ka=QQGSQ; z(fN6~r7FO4`XNk=khY)Y(YOHrZGXA*kv%(b$cO41=K`Fx&`vob?&6YLMnLX}QpNIL%mFoqF-HQXXkb(rnN83vu zf)YI3?OW@5I={{9KC}1>a3bgy0C=(h@Er!a-2$Iegj8s@=A4JPm;$~I4`pjS%IKlb z0Hz#zR=YWhfi6^EGMq#%3dixw${rc}U1oe`%)Gwy#=(^E!ALWrdy}lBjYr2Iy}LcPHYWYX>~qQ&%E^&}0D;0y`|2~(67YZ zM5vOD!LhbkNCjnypLNxiI=?hFzR5a%tDo+c1i$)2YlR(bHsh1F`qD4uLC)y*D`Yvc zOchwmel!(zr692CAMNnGE#RUyuaG7yM|17RvcTW?%})=&NY8oZ$lMF`3k5){@}eR| z$V+?sfR2KN!-d&eFIRlYOuV4IlkELAOfBK)^i7f=1>T}n++c;I+HxpXlB5#O3C+^F zd)LxQ#D8OcBEp{CmrSlT?6{^xjc@DaxMgS);wzqtlRi_hd$QUvd*d}%; z1&kr4HEe0ke52YkZuvd}3jA&DRRmVzdWgn{$C>+dtbb&pG$SGjEdp#DMdU)@ZVM&( z!&Q&e#0hCx&kHGJ_qKJyG1kpx$>~N-VIDY}$($SukB9cKwEB56QkmLohzRs}QET!$hdl454M2l%k2M!?L<9S{`#++6nJ-QHV(7ULi z_^T{7_x<+$IiIO1FOBr)v?2GA?cS-DTV7k}6;|}Q`;bT0*H|zpR(juG)D>#{BdmFg zn$dY|-bGCr6@&5O$hyHLr8H5PK3=LG82J}JN3PNfNP0%XZAzGA-3B)yV@@~w2|nM* zslL~ex#)R$&~;I{uev!=Y?%vq@Bw&bybxvmdezTH(3;y&_6D3-UF{Y>A2GaRF$#S& zwtj~vRawhUwVFRYQ~4grNh>gXgAoLJKW1xZ z(Wm$DEx*Ckb=Z;ymC51Vo;y#1CgLaDJwKE2f<)S+SO2T?8A+?lQdB*8hCKiWK-tRo810MQgcBuTH$n718x$OD-^c*Gam zRMv{ia9-Sfvn~)(O3so`v4CD|@1bu}ek z`iarLvWwx=2ZjOii=G*9A!FB>3U8$Gdr`mxZ6LQ1k7YXnF}n1enE>6c%#JEJa{@-+ z!^Dl&|GcFd?`46P0XxTrT7iTv-A?Zs<$6?VCM*lbfWaq!ca|)2vsbT_&ruFffbWlg zA57V#Ee?i+Dzkfi2##p?Q!-U$I;B3P64KSMs~5gYENsXasKP~d7IZ4mA_=>?RF5)) zn-42?9}Zla`5!7Az23J(2cjvuZU#a3$TEp*xBRbK^(R~mS)TX2!b6xrv(WM=x_g(| zt*q8@3%-|w@0R`xf4lI9%my6|lqzrOy}fY_!B6c;(4DOj8`gN!d+R3US?xh5n=rm; z>`IxbjQVRZBbx$uzocV4+`UqL1^PZol$q}FpDY>s4{VZW(&yIqKYRD~Naoxo<^H64 zP1%V2Hio|i!y!hnhCT(VeP`{TVH$u>7e^qA!%?f(Vi`(5nM3YpWx_0vb^5hK+alTC zFmn~`irgpjE!y(bn0^m!+k#A(aYoDx8OO{0nRHC-T-0R#ChYK-B2Ia|UE(-8dJv1w zk+TRZJ4-si<) zjPA3HM6_@XkHIBTV`--yce13+T-BoCbF&NabUjVT9oC4of`!0M6S*Jd4mzg?kT9C{ zcX`5xcfkYoq~IIJ^FyZeh={>RLIE8I_SQtySq_2Z_FLJ%T;>1UQ2!SEe=bQ1? zPNq;XoXI*`@0~MCmWHhFOR`h!-FhUo9klnbnXMuqMXpMufeLMY)fj#+s|#isq*{s= z;!Mr0`gHSY;v>~G%2p%z$9UY~4bwJ~$a=tCg*_btvz{6sDA@tC*_);8PIkVM8)+0w z!~-%W5cC`qLiIK#ZzvZxYD@zx_$YaEdp{gB{j&dmlf;>TL+nao6c2l)t?+=8#78eL zuRaoP1qFriatEYwX22?m|4wO_&`lK}VAh>ai1iHiSfUGt%yCzHvo~@Yd(Se_k4J=q zoz=)P`z}p=q69GUg-~O0%Q1-PI zpOk7EdEGE1y3>0~8A)_g1ZZffAj^s}`?V$v>wG2rKD@Z@(y~-H3EQivH?OW-xD`OI z$DAQeIL8b!dUN}WB?Wcm1cHT==1222tkVf5NZ}MJS&g;`j7)(Nq9^V$kA7BknM9w1FUg?`H|%XC-YXAVfV=p^_E}VGx(_M~r^aC0Dbm%}P7>88h{r-~_8L z=iaxZyAyXYzVS~qji*B|_HIahi47N_G6F|!9^WL^aGu)$J6_|U29KLiTP2%zvtAyk zfooA8H#B!5l&SQ(WX{^7;Te4!%9+?pE{yu}H;v-AA1-e^J+&t@4{w@w(KmLJ92}Nq zMr|AcbD&&)rlkH_-mwH5YuCSDzrSeXWOmi-K_Af-6E|oZ*YIR2UonC728M;hF2SIO}!rc~Suj9nfs-Rvo_7GAP-{bs^se@-2gDuE}{C`9i=l-(Y@$hqyJ^ z#AV(e;}qFPx<=Sb0mRF&kWX5#kg;_CAd@r{Q^v_SA3 zK-Q<3FFCu+X&xxGGRXz# z=0*I~x>w*)?d|%ooAE-e6Htkd(93hFi>q=_$sB4vvX;cKhvhr{FXr;Ny(beEc1=N; zUr~oYytL;{&xm?$b#Li~(e&&Tc zj;mEm=@5H%wxXHyZNpcVQMkAPT|aQDdFQc-!i~#MVg+UHVGitu{yPRU)*4?Q#IbwvD*f1kE(2F3u2*;KCwIna(hOy6t*p!}-oi<2|#k zi~)woJv?1!_ULhE++{x$yUfcLKO5JuubPlxP5JY&yM4g`O-`dOo!X z*pj>;KRO`lyk?2ppCd@nTj}|g-w$_|KS+c%mo^@wY-T|@J3)Tz%LvM13OG_xJxc%w zp3dq#>Trkwu%x7}pZfBAb7|esJDqbtxBY-lH0TF?&pwM&tE3?ip=}Y>Bg-5LB z=|%8tJ%!FtPfY791n;h}T;LvD^j&}6=n}WU2{JPsMGtCVSs^s;kn3;p9Szr~qo5sP zzj5pw-O0h?@pz969VHhEytY#8!E-YJLdC)m2#fr8zH@8HD) zm%h@^VP!q+rkCXdh+-{fwgs+8e`cw}M~ZAIL(7O%zeM2%R;Fv5i+HKx4P?u#hcdQ4 zuFK(Uz#*$-^mPKaPT{x!Ql0qjz(GJqD5v>77$) z5Tm~`UX=ev!55Mu8Us#V1)i;?{(@a!o#HSH*ZCC2ctm9mH8UP3>bDfBzm$`mZ$tiuJ&K8T?-lA+c$qbyE{8%X>CCd>YxOD?OLrh2I@sex3eH= z!L@05S*430gcp5Ep6L1}C88Lk}Enh&1P|Am-WdS!KcOH{2cvUZciqAs5sO-zS#-fJ0K7M#! zgnaS-ZWdG2e#tZgB(^Z26BSzfT$DY1tCJw8{4SftIJws%>(^H%M&L(<^BV2~bpv_d z___d^=0pEwDm(!|BWe>*ujTgWnMx2agT<2_PqD#`fvVZWAKwL8$~mNUAqm>}XBVk3 zIUXtcgv2okGu>zdldo19T~4did)h@m7}*^B`W+eky%-uDKTI4ltiNzm(ds-O?@vUr zl@#8g;x9V(svpJz%@1tF6?~P*N&nF7qL6Y4K;Ht-hjCLQzBiCMZ3_iYtgpy9g07Mu z9Z%hHZNiqOoU+gq@%(fYv+;T{4!IKm-Rz*~d^ST6=VhMdaO)JZ*!6?$O`f=i`Q5w! z3AQJzmYMfjxTJl5+Aak*-kjrA;!f@VAAb0N!5t3bYBVQ^STfNY;|ey$pZGt|kCCf< zPhnCyr%GTCYzILflcGTgZ@SxpECeHnOFcesR2#~Z3KLcFZp@C z=pdA21CAYaC>$n^em=`HtnoABypH06mS}PMxBE;xaTreCX{T zJhzKMMHjdKv!efisQ+I!%Ks$;<$uue|1u%}!=3*%b^l8|`G@NGKeW96lY4`Qru^^g z{vRZl{{gB08=w7m7yqDH{;yu~|Guh!zS2Ktg1Zi&GEJaD>W&Y!ir{%4&AhpKkVii=tOUL3MgEc& z@~89T(c7ftOy`++LP8$2O)p`7tKcWvqU3I?qEUg~40*1#l>RJT zy6js7v2!iTV|;B8A#!p+_=uyiMIUkZQLz5sWhA%yzM1y2H@^@mJ7oe}KQXPSdKr`& zXly8@ivLu9A^ir_b+1MymvRO?Qcb2uv9_n4*r<5G;p7Ya3I3!gn8|S#*)<9BZ6c=K zgiO5H3ryypAdHZH^6mh?&cCTKl9Xf@!Phg@O2_Pv0tto=;!LVr6vka26ye3~x%o|~ zdtO5r`k;&Am;Z#hXsuh=U((;-kDZ^Mt`H=Ru7B^%mgMAwq*TI>&zE~kOgpkUotTtn zK^DCk|1#u17U)my`NW%v3~pYt3|C|YGbL)c1H7k|zpfqZnG-c!HF;)b`7)V6;2*LU z;M*2B=?UwL(aw`!qXy`JosxPk{81>vM=a!=ebgV*)?t0XPl!-dm9UZU#tx z5d)2vJU30`aW#Ft5tep1SOnhIAH3+q)Ts@eubJvE1U-W5@4Iu}e&QwkFeNMLX|YdN z!F=h5_TT$&vIAx+xIRSTh-^Q+ zinFccOtLJ(<+@UGetumHq&f*?GG0+4`A9#HY1g7CB=}PgYYcyA!ac&Wr6AJvGzgme z`Seg*@gz6J=P*{-6{Y1>$eZxX|Km4pQrZvC&{#zEK12uLbcgqGKHV$Ei3_-&*1g?kPyB@ER3cxPaR9L20r0Ty6Kw#p*Treys$&{oqqr zMReqX>?(6T|M01bCphMprF;h?GII|})1sLr{&1QRa90g*Ym9mSfwp$lwD;Bv!ow`> ze8b)8@ox{`v*Jq#<7K##IElu%bdPw*@4Cys>eak-hFmb*u0P$aZ~bZY`;z=Qpzv~r z)E#mOGmWML9Df!4g-G)irG0-%Cdp_a(jnGrpAjp2m%XZbf_GwzKnVCz2U-rmIR2hm z?y-;ke$z>k_)D6+|HnB@kIgoFK&AG20IiA-Or#6JU>auo@^Mwa!sz8BUKi1aJkZw& zB}>sQ_!v%_A^HjBdaZco|k#Bq_dEsUc= z$jjw#Cb9&}4J&9MPi=jau)y?VFi{g*7By0nF2aReWkhK4UiL1mPwL%^&RHLWP-49O zdT22JL*Owx4XCT%5-L$HWABeu{Mhiv#k^>$GpPK;-@dkwXzG<|ic;U;y)|)3;7`G< zzig_PQ3SLx64orwc1Gy>3J2RFb6H*baaPOcFcaS&;)Vx! z%#bGDd=dOMdgycCg9v+@z(@59KXgiT)OTh`$1?p$=ET5$ z$-T+%)_!{diNx3The1x7LWym-?4!dJQs0L}87nK3pWf;qi8{Qzr>I0cX2BK>^BNcX ztXS>v>j~C_%q~uKFR*k1XAuK{CgA4}>wR60(_N3E zexSo~kd7{zRv;~vgqti1&>DDS?%CjNwARtpnQ1+Iqd_)}Qtd`@lLz8*5;r>{HLMWC znRB)RiAm^-F;_x7u0WeFl4CQy44mKN>15AO>bWXueJZ_*v#MOqiJLXPuJwO<#bzj` z_NK$;;_KaG&@|^ zpP}q>9m#8sA5KoGNJBQ?KO5BxjrJFEu=Ylf4^g)TrNqvg*<+TCtGV%gx^I`Ut1ZU| zTj+QdZg9nVSz`9+k-k=qy>ndRRbCe6ZgZtia+D%z9vq<7!IEd`D9Bmv7s5Yigeilc z-g3cxo;-Udzl1B0ts=?H=a}86emtWAUp#Lv#LA^B(om>GcFFIqG5E|x#RiLUcKW$# z>C0mr>;wmyFmvg5tIc+A51punDG*4C6ZgpgE0?_|0^}wBm|724jtVdb9T#y^6m2N~Y#20)ebR!qT^wR8$>x@2ql8X7|W4Mej(r zJAJ6yv1BJswl2Y_uYISMfR+QbCsDsKAFIVmD}=!Lga$%iM7?G*=YoKVX<4zhw+Cs~lN4^5+?X|0 z)488|7r+<1PDPewn`LhIjJAqlAdm7o3(ulOvGw6twbyTYP-Q9;_VR~xA?RqTJeK}s zuv-T!q|p{geV7`gV_pV zU*y~IK&qZFxeDLUm>(9n^YJnb$_(j4%JR&$kBVHenFZxL>3w1z5=$2q+t^+NIX@M$ zS6%6C%cC-zalUO*#YFU2goMaHnh!wB>b_zPNMKjI{a8241!L8b*6I5y(_@B{l$W|% z2bzw8-!%_A(97&4TDH#%TOSjhE zy;d&lC8L!Vd_dY&E7y#jPg9Zs{M2Yc%PyZ-0;6KB^1%%z%=Y)i^}Y^2vZfZv;=_S5*Hy{tz;hT255hJ)E%4w5SEo}E$L3LOpBXPHrU zp~E^L5=1DF^A_!jH=R5YZG2InKJf1Qa8xMa&ER;4QJ!z^bP>|wa&DF%7%kL>fT2DF zovjyW6w0fV&u>0$L7!QPNZ}~&3`#8Sull#{jw@{Jrx8=9yJ^O0n;dq};uRaMeI+S5 zswtfM!4F3|xZ&{k7360{@3M}SF8QFz!#Aeni4T#Sb0mMO?mX}&q}`HPC6MU3TLQAHWu7J@(d{$NlbJT9k=_>%R z4sYU1+A6MiFFHb?^s(l?JgQ~8dG_rec@VHIutu4Bme7$jZs}x`AWq_?BTt+TA>iW0 zkZx{h-NcGX)ve>Sq4GAIkxk0w-0;y(?mNmbZL8R@m*><=wb!9Iw#d$axgnxf1k&K_U?U~4PDB#ZejVJyUvNMjzyojx7WmsOvUI1jf!k~e^ewNzT@CuB zuUlR}Mh4Xl^-&i%#Q*iOc8fdXGrm-7aa^pPq=Kiw?k$gJ(yB)Waoay>7^oVw;lod6 z5|p{TCwZz^d0s?P9>@i`7Cm7<%aze~dFf3H&!zqQBYyi00LGOU!#-^{UA!Yzh^zKC zj(1?lZI}32{m3zHREj=QT+-bN@tP#SmIct-zI@I75kV?o)LU-Frvy?@=8VwH3gTSl z1a(8CZ2>6y}r!pXUtBs zPE31uBUZx@V=a({BI}u9mdYR&>i`dx4C1R@HD9LWRY;=s)cZdnZxA?GyiQ=!8X#+4 z?N~4CZ{(5a+&pmHJ>%(s=<*Xp7>tfb8dSPnakm`>$y;V#fFzVZD#?(l^x2ct-s-WQ zr#uP?pr%ZW%qAl_3e#=O0B|15dt|Zu(2dACzW{vN28-hZAY=Q%YWU&;OH!pg5i9`- zzu`lb%2j8KoHx0A<!pyP>+4T}8O? z!m;*i5h`WgABExXG9uSww3Obn6l6cA1B~!LZsqEJiOzj*<1Yasgwk`G?bgb$OR0vg zEO2>g+Fq%sjP13R$MTn@<|bII2`^+>MV83}zNSX6T!sf&0 z{h?Qiv?Zm4M=FVM6ys9XXF~Lg@S%cs=LTkfu84%n{|{e(85Y(1eUIZa#ASs=Kl%yab-9ry09ltaBdVfFvNB`^c5uSlF_u1#Z_g;JL zwM=}S_*!8&VZLS$!a{uyj+7f+@H+V>;1l%dqkV^!6M>X|$cY(A3Dw4FT(`AqpLl!` zlGOG45O`cJe>8J^-nHwJ^$zS2^4wBkD$MimwX3(KkhNV|smigcH=9p71IQJ7i-yj} zDtZwQH)E=v=#cz4GzlC~Xg7VdC;8vAAP>0-TQ_2+;+OBgR_J6k3M0sDGeeu8D?ajh z;vdX`iz~AkFA#dvo3=j;Rx)VhTl|%9i6V?a&McpAD@rGIs)go@qsdByH+62d-oSw> z?cNn}F5Hoa2qEZrLHlKMg5aLN^^rrDID{rU=C{#j7s33CGcp?x=z$&|HpNxC1-V=>gMmYTiR+J z&aj;1sDy`K&{JmqQ|6=(sX8Vqdl(q$%AwI5^(L58rC|!M+dMb)>G$BIKpOdD*RD2) zJv}YyS*j3u?W#umVFLQiCp_`Hp5L#6qjJEBu=PgK+)+&eA;ID|7x?Z129EgBX04K8 z&zUGX>`EdC-Ef1010%nf5|I56a0e2ML{p1aVS2#|@2K;uEy~v+GDXdWpa}T#AJ=kR zcJmsEHon{dTAkG_6x2(~h~PhcR1ePz?--0RGAb<{f8Dm;llI6}(L`6%o=(ivkd`=L zIaLrgXRM%uzI)3i9Y-x%yS(WEe{vle!3P(I>xv9EJXjjVDSb8kelr(mb3+Z~mpYhH z9j_d86Qq8x}lYU@4yqwrQV$!=iF=P(q$e#A)}N7iK>A9 zF7l5^Se@O%53XDI(teSyY3EY)whV(TN`EiP=y|>_BUHPl-S6773@#=6Hnq~9TpDz*9>c*f#!Xk^yNSF_ z5Ye&FV=O}*;r$flEr8`DSHBF#l5IZ@9O+fV)m`K7a_`ja`N-1|RUpg3tu_i7q|f*` z=&$u>x1DwLJKViS4$s5+3GRK7#xI~y^NSZrY z?rcdz^j|K7P9Wq}^rqjHv4X(A5=z#E8-2+Rdc>+N_FIyIuoK)MVT}XoqKf0!4D)u< zV$N{87h%5U4M1sx$zCnkN}e;igD$RHeK#5DMx~uAOI>UjH zBDsl9>yxd4aq#*Aa2qQ=Uykk!rO-erq?=Z)iFx3#75RHPMpBd*`={8exhF z5$rl}dqWk-)TTJyX8@)`LLd!Lr8Yk#yDeK_2M6Jt+W}gdZeri76*jHTEr@1#*x>Ky zD#c-9tp{%CKHDY?_R>&t(i(q3Zt^z`0V`$BsIKiZodKd1r=QIlCkG+#V*Lchq)S#t z_k}R&1RjcYKBtukN~ewMWmO$pgsj!~gygF^6KVykG}@2>wJV@9)vI15S#3_KwMWBQ&(satx9ycYaWato)ugZByWP~Uln7x{_7Iryfgps;?39>M{<$Pp# zETPi+p`Zn&Z=TxhTd^O-ub+ZO_XiIDwfeXFKO3>8wt6ZOhOrG zG)vx^$n>E|Tz3;loTs2=HA}BxtIYCEDMVxtX+B9TCRoAsvJlf;Mo0ZsMLXP4eeGtb~h%^)*|RC%%7D zmCU2IXU1}!kBqAQ{io^wg{xSYURxo&L)hru|0xTV`_1+mXmRU(Hsg+_l zi&&7M^&nPN0+&77_Yq|B>S{r_92{>;F%Hy1K;}FPRx*^8I^|Gyr-`WpX>f~vFCuJ}9;4mLnZeRa9Ltc<9NR^RGY%^2)wE0Wlqi+xo*M)-Z?xXi+rj&Q%@kc5D(IekK}z-`3;6_i3?9H+($ zHWLE1Fuy0#p|xN+)NMChmagZ*C6DWjv9O>~z8$mp`6UcoJh&|0k$e4)BZ<-D>|*(( zmdc|K9%{noRZELfNpzwsewu`}&CdMW*M&$T_`kqahfLizEUaHr=^uua8}lt;lZ;jq z1_wKGoQIeA76l_3&P^^R_@<_c>{d$kQ`_Vb{Bjr<{sJTaYIs4kWLDpsew!NEi_A?4 zvJd7=S&FV@Jnwu}LF1ER9;7oHE}RJ)sq!?5wj0@LRXW_6n z&OXBBJLrwC-PObkaw{(udLu(+o}r!#t~ZaFInhoVMz9}8pjGxq1kQkXrErtnE0ssk zMt?V=OpB&r_+>`WK^TNo`d|vQen;HiRk7EwroMzzVlNX4`?8TmKV$E5(?dCdZMqr7mEea z_8Z@4c#GUBpx46}hzzu~Hgv4xQxS!Yh=1q37w%-K@!;7EAYt>=LdHvYG)HtGb*L%7 z?|IpKzcXpy#i^~Z#Raa*YteeME;0mWjeRd;aGkd59>Cyp2gS7hwJrb^$ATev20s!u z=H2kYnRCBqoepf zh$6R8XCCISH{%g8z1L^s3uEnN?gvSlU-qX)pu=l zfS^hu8tx;RWJ-$=uK2^Vp7x#c$f=w0ns%FawQcqGdu=zG|7L1&Z$hQMo{Bd}oVu*F zX}#DiV2}a5%@!h&@r|L|CS=9&XXA_32iEmpSQ@KxJai5nZ}8~@mEE+v4Wc$8ZmC39 zX28Gt=+zR=<^H9;_C7LP;_&kP8?LLMs%gxY_x!Y$+i$Cd&dQQF1IIP+StIa+^X6tL zTK>$I1q9Cqv30W}F=S29HWl-wdrz(j`p&F(x{nEFC_P{6%dz0F6`sHj16wGaQB>Km zz=ySjXI?5DCk*MT#+HF&ZrPLZt7Vc3@5fT-i&D0U>mZMD!RD6>sBdsOO=!fuXye1- zuy7d^RJ?oj@HkwvC`VsqorvwzP`8nT?cr;e#gO$&ES=M>Q`v*Q4n>Z-K356uq^zWy zk$NI!GwW_(;+# zDI3S{bLQJ1oXxlmKT&3y@N>~1wVYs+Q9J}Ot(eD~S=^yix4+Oa_9?hvLGiW72{+5{ zV%m1BFA43t7K%^ps#rd7nV zDAisjlAse+^Xn{PUskwl4X^V+4s|UN#v4S%_|ikW#s9IDTT!tmMT$UYlkD)M@7d^U zTq~L)brBkhB~8NCEu-N;j!5UdleEKc^4rIZ*8W>FA)RC{@g5V0PGYP}eO)|&XHT`L zCx74awaoT1$|#@yvSkoOB9E6o`w6lL*#L&#@dNtG$9~p6Um_BGq*W5w!-qs)AFzbx_l?!S zClTEY-vXCCruc5&oy_@}9Z9ksfw}`JPq`=v^Afn2df$>nqDsDa9al;Yq5rDxyf2%8V_}f5k=^R@2B5g`L(4lvN zX=uQXc2nKexfy@p%VAaiuS{V&$eTjpFnfNU%FJm8e{#JCte&{=!fuxw!@uq7Kc^96 zjTMnmVVYgOfEp@iodYQ#caZC|Z~x^DPRjE#ojt%EY}i5iL(=^DCY{)qj&c?Ha!?51vQ(#EeFcg>KyZ63-*NY@SwEWHq-MRj zuH5cLVLZ=Y1_>IS_IjvVdD1k|?yHIE^sAh|*FV*qb+FzaX&g-WF0x)2flGSLy{eSDAF>I)( z68?mSeSR~-;me>z$8ypPh4HqjVsxSP;@~bMCrd3?YV7P87sGr)ApWKL`lDuz^dO-o$lc%m< z0>2IUG}7t1CiyE0zp<}AE5AXi`j%3t;J(d?KR*@LipXH zCQ{P1G;Ajlv6YMI!_6W@t7bROS{}hv1Ssbs!@aZ{Q)lF&uS~y1Yxi*U>6gI;DT545 z8^eZn)pEl;q=?^Vwo=54T_M{N&(_UAhm-3;&?C=q1;(^BK))6FJ;&*FA3wW=>cqXr zZ>VUqF+3L@(?3^uH5G{A_s|c?@heTi?kJit!GBWZ-Fl4YFjXDRH2v(k^MB;5$v;6= z9?mDu{ss*zk?Ci#`VI8HQ%`r2HwsX?B3OX^Ou;$OMH7(hYtJ)ay_&U z3mo;Pv+A5(j1RJ?I-}*D{^etFrr9i*@;e0I5g<}V3Lo)x{=G{e1|IXCmj0o)L8sT% zlb8THCqT@WQ$h3gg}!!Xc^|~&B+vfewe(C(eqH9#s-|zx<$xFT>4W7WF?ZS7yQKsZ zqhh<*A15kEVi@q{*`Su@5=qd5fD=~Lz$vd!Qk|cfw2s@j!acrhgakPJlv;WMU3^6e z{4x77ncq{l&uZ~WrN}`_?kWGjZ@44cKd#l?%jKGTV#T0SM1?lmlZ#o{^ISnpJ;w9l z2IfGVo4Sd7BUMTYN4aIC?F<(&sVs{Yxo1ZR_3)FMKyq%tfz1C~_Hd~lbtP3O;_}JV zS2sCw*x&F6YHxxN0T;XXF1N5U5F_8JVe=a(YKQ4z7K&V6RN&xPSrsSVRe#x=2;Q$W znJ)ekxmHibYkwsAb4}m}`=$M%N?)_sK^e0Zq#Na;tRDKHkq7gz)@ayWGJJRv(eLwy z(XJ1i+<>al0Fp0-6^2qPpCC6!Ee}wPIPSA+VmxnAg5e{MZ&UP&6 z+haj1yr2W3m0ageLT2SX^Q+`CD+cVf{@&g``13@|n7XfBNlAC@axN;x<*(I&1BJus(?f5cV63j} zyQ^arheIWqlDlfBxa88r{_6{?RgRDzdBd0!XAl8rw%|f8Wm9MFwO8ov(WM#`>L5%Y zc>I9k>`23dTKp5DZ{&=CleuINcz8&xZ1VdFIGZypjxbTIH|pGfrZ?!%=V2=T@y)yA z@Zk%$;%8)+O%i~C+55n&&pJtq4`fyFPNI-%1CtM>x7ut`M!)fnR@4lM9+GjqbJT}8 zxz8x&IkLmm8cKN1_>X=pIYrpOv>T0u#BrZWWpA%&+NBW%^)MbYB*Qhy{LH78Jumm{ z@Krrms$(?x;Ac)CiWc#73-6%TnS*P~>iw8x-pwz?Y*@gq2b{Iq*;VXa@_qQ!dy^k& z_zj!L9zfq&H@$Y(OLel2w01bkYU$#Ty11Q2Bvmc#w;OIfMp{`Q_bE^p_6xP~yBrf# zA0Y^-18m) z6Whol~G0KK&&&RJNQTXZo|)y7MGv(DYCB4WUdEMZ7#czO)r@m9$Yd!z!t zyvX$1$F+NJMoE6FgCeioniz*J^Svz(GjN1ceosuNo` zbJRaP48R_1+Dh0+53Bx4{mJAJ@;GDsT%%3f%kA{F+B9&L1|N!JnreYc)5wxe_=08V zJpayrV*}Fnqne6ay!Ly#S~h5{=}QO8-wd>rC&Va>uce$#fgumWXKH@iYvyH{_)W}; z{`)THRl5R~(5Rr@I~k4SDVV$WKyM^kZ0bsrUVrh~hMV#}h+5Y#b0(3eLK*ZRebj2} zr9Fi1v@sy!Ir|`G^ghca=@{E1Te;7lO=ElwNGalz58K zom&7}+oI3QpT3@)WjfiIg!(u`617iXw z^&tvGt{I|v>Q|*gQu(gxo5ejY-Q{sc)1rl?+?Cd-2do{3KBB-PCh(UkknY3z5c(=;uHXJPvF7%;u`hA!(Q%6$X?7a7w0 z1$#?TASbk2)IPh{m)7je%>{Ye1$y6hq+l!hZ=2grig2}Z4OT9R)n+Q7bdNbXVx+rV zKUN04TeI@u*A&X2iL?VHNikqXAR5p+5A_62v9NN-5}i!%oI{f$L9*OG7L#n|DnN8+ zXJ+{Q&5<&hzcP<%_d(JA5R z(az3h6L>s9bsl0llDoN>PWp7jn_GzmApHCbfZyEodPb+`9z#MTv%SP|&rj{skaDt9 z#crv3Tg2Ke>eT+uGoaw$?wZJ4RQD4>-79}(vBvkvaMyAG9m%_qP5FPD$wRexPglit z3L%Q{eV{o*)CP5YesKmpk$97n|MRPSE+lp8cSiX2kx02oTI6kFH-c<@vL-m!U-RLC z;hOT2IA-eNHXbY~DI81?Af7v!RZ&ybj1oUGA1-jiAx#d11wY94brEYOzH&|h{@wx*2V=SJTNu3ZfqRXtwH2BmcaLhcSlk5WjvuMn&r}da9I(Jp!&Kbc{Y@M$J#A6O&>8?<+xD@60b?01!PV4ZZq=g0P{Vqu?N&x zJAx%>mB^ZNAIx|h@iinmY+xk4P=IGPc{DG5`g;Uo&nef#n@?WYgOa z%$Dt2rm5=*g(<{|!W3p&laH~3tOmiTsKu2Uv;)|H{+>TS4$#NvQ-5L+`5)A0;{~pR z->xal2z6H<>tH;C{0VzjEf0nT zB_$aog{?jr?RMVab-|Ke-*zFzXd(#*kftByn?X1x}nLJ!MzE8E*Hw#>MDc8$ksGk(v;HwpRv%E--^JenKj45lw+t;xX1 zed8&5HhJx$UzYxb%IMc?BysigDoA$haJ(5cOxNovf@D*b5fuc%=9nJ5!Pn_M9%Iys zabKeUDdhL8)dx!nF#mR z{Idyj#b^%6dW-yqw{FpcwHkf?Ru$5gmirJ7qM=mGe;c0D+)a|AGpOTey(oA38v*;E zzB8bs;utInXgduGc3yLiJ-*Fkz^~=a3*I8ANvAic|Jm*f$5T~Tk>yef6z=`++(%9R zFO)XlPE;&!Ab|9a#->NI>Jd(Lj+a^7{p%?HeiAE2$Q&mr=txYV3Djk{S=43 z&EZd-$-@4i$<}1@ESAXEaYRW6-VGXICTYVUQ=kaxN$W-(rU)}%UsF*3ZuvzTxzr_NDtS6~K8HS$P94X7u6Dc_AjR-?7Gsxs7vV z$8oJqx3+wj3CHk$+xUzZE4!oPq^L*XR^ky90xBwFsU@A6L~tC9arhBrigl&54ksIq zn@d0EEqh9a(Q~5lw9lR5BJxn$v9q4Eh~2+i5|~?x80n2^VSrnZJo)5bE92v)cUjgq zmZLYJP}v&kAimv`Rv(3Rae|za0CEsJLx3U!I0?O(2puaEyzmDmOh2NR?QMq!QnTt& zvxmi6yR}Il+%5f~`LLmh^C|1k@9at+2&v3}HsZV>7!8I@KCJ|a=vv!6$F&6qMg-NV zR=sX?DNfZVXp;OwG>%04j^5jt`ODkp%{EuJgvrkuk!@>_F9VYo@Mx6`y|(5u_~8o6oRV zyTgK3o{9P<4IG8AGtc8l|99H3KRBaM-D*D?A~Z1&b{Nq@935>jK%dwOIFAlKIYZ3$f#|7FyfsIo=b&u+zy*eq1We4w430gxyIV+_~7w0C-O!lZ!u z8Gp~iK;fYbwPUUgF@}Qd#c(}mOmVWLqF54GR1-DF?x1!I<{Q@$8v4GXK8)_K7ye-? zlC8A$<|zwF=j2_)rkrJuz{SsIy4Og(WK1b^7Q4IPuLy3{6tsS%e3)MYc#bN`#*L#v#Iv zmnuG)AkX^+MMyjwcL>OJvlpy1T}60BtrW{*R^B5d3Y$K+s{Qc0cz{3L0V5|MR>j0) zh5B(OH_{ypC_(2`B4PnSm9H%6m2%!E98s_ht_C0(Hh)U(^$GB-sWBKrl@XZ=^1mOE z3_P(yV5Ufr3Mur8L%%(_uKdXMuf*E{PR!JB?TWkGDZWAJ3*wb7nB~v6g*0?;W+Dif zye3vI8<&B+8*;HF(CAb1M0J7rTdK@x|FzTz-WkBW*!^TutXxmi7koB{KIQuyL~xW= z!^&Km7axG@r_`$DJmsTRm9>qi;{ww;a``~S$%FRNQd^6;zC~(RiqJ&8uIsMzlI9w$ zWj&|V?mVvMgx16BB+xW)yZZ}GSj6F_=o3`Z2LB7plFd*8nyUp5mWMxdi)@F0eR+9B zuhup(@aU}U>~y*PY+#ogT@(94f>d~#Qzn#r&J2)%UA?Y-k^bWl={l-CgZj`D)25=& zL}@&T4DYg+PAz6JoC%bo4QcoRavh3Xk+R>TYQb!xY$!_kaKgg$m&$cQp!jWlyP%qD4~y0HU-9O=CT05N(efeW{fVimGa?^l>LRAr zalZI>P-5Kj&(G1~#AjGATau)1kM`F`-rwr#DS<-p?~_lPj;MNszAsC20YhWU_Zfc^VYR6R@Av8aY3nO2vF4|9AC{@aU2cwEb}zD=E(#zrY!)=p*#&XWR}m14 zd6p*ApKf~AjbA;0Y8F|$t!6(^6s1AVzTqLJ=d2USW1P46Ii#pdd{_2arDGQ7(fOSg zXMUa?ugUEfOVJ?aSbos~PK*F9ClT^?4=T%QW-j_IG=J>Z;LPSFqU8=-E~itbC~pz7 zRN`*I*VVZx{;Fc-?oBi9;&IbzU6YeoWXbE#>TYY>&1rqW8vdQhlU3q(2rJdaCw?CN z*CYa3LwJAae~nbvkXrlGF9)p`VE)Lkk~3EotMe=j*>$mu2J#62WJPkN=&8!|Yd@F- zH3(gW%kw2)&9$Ja^YghZAv;C}wg0*z+9=5+QycZPoPX^8 zU5ZNQl36F!ki=At^Gc=W|DaO&0p)a~mh`&&IfkiQ&%f6u=Kt!OGMGKFc1mm>OK|{8 zXMO1ZzYa$PCJ%X;#g{YDpD#>#RRaUUD|5D?jR3GLIGOJ_dcP&axRm9oRQEQ@^Zy2M z%~e$7Q_N9;nb?eZtEK&)fZ`RhlY-m!qyE>&s?1Z4R@$dIE(4y#LI2GMGquqTbC$?( zu7?ZMsOz>n*;VQ%L-_=jbjO?V27u?2Qd)`;O_2rfksmh^aPVIRw5JyYnqvH$t^VKe zub=&5*S%gzzJW^gpot=@PJ17;HWu6TWnL=s1ZE6w{f!>bXA^9Ts8k9IrZ1Amayv-KU;Ftpa{EZc&ZnA!c+P(s z8`NlufBPAa$$^#x@)!ax`}^QqyjDDdXzvp zH{|c8h^%$DhbM) zmiOmhHk%5d{xp{&3LU3Y1$z!T#lI~qdC>73xHz{@*t`8tG&Y!^g4LS>&}F1Cy{wJT zbaH7W?SPiVVMsRYJ}KVu1s6KlO3-nCzy~G&T7qD=ZjykK1{FDKEBi*OSvrhu#qb8* z$do5)82}wh*5SFMS!f%D&IEIUW&i(HxAbAiSjd`+r%FeF12&UIS`(g52Jvc50vnPXfbA#o>(!R3wB@oh&9W`CKy@6!0*F23x zc(-f|S3&Ll2Uo1!cjzvil1VlURG&M$-!wxP?m*+qZ&0q6Fja^6Sh6_5td<&}*F&{L z5o))y&p9N+2WEn2ba94t)T*>=KW200I3G}sYU%o-&9c}X2U(^@;(nG|* zm=-b4_=-pUdjUUy#vzIf35FGHh8Q}T9=&sOMR58>$t5{c%OS_?v65M6W&NDw5G4M* zBsI)mhVz}#%~G7)3Y@9-!(1ROH-HB9hsmJR77an6S(MmH1xKye`{vIA1&XMRi09 z`lRp4R~JMd@(2cc7(~)powflN6AI1(o5R`G^^Ph2GARxGA;r!`79Vv&tKIMY+Hm%- zyfZEW_1es0tw!HRO@9t$`9>@Qxocw;IK+B1$TI5>QjD^wlNnLi(Mc5iBW&VfPYz1C zrvx$95phE*5naORzu^`(a~7uDUuopJsgeuk&h<+_*(lN{Avp$*3lkK%dzYgR`0u$1 z<6PKDGc?L-kG#17TTWjVssC287j#SjMpJack2k4km+Bw~DdXvukozxD6iCHie>7NK z+Q)Eil4ryFc@`eFzJ3N%p8R^4=~OM1)DvMrQ|9nEitF4#kZvZiQryH|6iZmjm2kF0`Xv+>sZgPZY8|8~M^{>gzj5pMh<62iG{fzs&Xd zcds&nsCBxq*4O^aSOvoDo;bv%K5d+;^R*R*q6g|LZU&Ll`iQ~UyO=Ad?p?V>1vP`aA1Oc2!;a z#X%GMOB|af4v%U;E(F$cw!`#ySG30t8B=n^u}H)k8xouO^V3o6aDYSX;xotf!l5IX zY133AcS1J^Tg7mrB(yi}O37F@yxwhzt{|&#jw1MkBpr{jhb8?!l7>Yaa^wZt;74Gv(eyS+M*WJU5E1FceYL!cHF;ZR3f$ z&FilTcijg%tQ%`UCH&8pjqdNSpZSyDO7!r7 z=}#ku@+7;xx;=l+a1AeS1g_j1(Htb~Zc5Chp2s61vG%hmh0oX8%uxa+4k^w9IOdkt z+}=@*Uba;L${q002M8%su?L_rwOVDL;Iqy~pQL7dt{}X5$uPp`biM<^q;I=S0ekV{ z4@Pi;``|HHNApqA4<*8#R6CV#E&<`^<~t7v;ZHAd4gK@XRdElhoWZuJ=<}6o$7ll- z9etDczY4%17p-`>y{)1>lBUR`k5O9&^jW(s-S{3c=(MA;^!pQZiR-0l>una296tDM zsVB#G!l}Ck9UQXv@5r)83mF5gB5ci!W6`!Ad~z4?-%&FZ_h{zK673$hQELF^0WBKn zWt!ntou3k-QE1{q-20x!?K5a8``wD^C}&w9`&JKW^qlT}{XgIGxut)RPI1FXyaa5? zypFO5Imj_6B{&6GHGm;@#T%Zb&8``f#Qn{cKcew}Kq1nr4Cq!AfeF{^Vq-V(FC_;u zN_{@0O&{jg2l&6-lg8~4kcFMnxo$KTgZuMDF}nI5bAS0R3ZGL0fhr{e6%Vgadk1~z zNiFCF91~V_*+P~j1I|v2gb#cV5?6Mf;K3uVb?5SUT_Pbr4N!?){mHK3ZS_=eE>^IK z?-aqB=v|YVhIyWdUAn3FtJ|f7Y^R1t=a#x;J9z%2XeQAwD)LUo3Hl^S4o`jwvbjo{q1>0z5?HO7?_asx^KEY5GY z5|n9`5OGe|+u(1l!32`RvFdZ7f|)s@;S;sf}^I08`tX5Kyf9v>+n1SEAE6W z7sL&LqcAQ_*+Izc#g5T~S4T7mysgIj)Sk16h~JqVCc zFGL$r@*bGJc51RO z&0V%A!G$k*D=4~~p$o(FsF#2Ane7bf+8rB(x4`Cx+gh)$?U3ow6rXSnmda5tt?pYp z(AjPLi9pkqNG^c{ugFwNzWkm!W7LEmbHuA_Kzm3O6p{NOrMEmIuP1X89CXtjIcFMo zOBvPcfc9+u%vri%l(b?3?x>v8wab#66XjN$qCMcsD2Yk6l*SV>O(($Nm9wSCYL+Y* zoaJAs9_*{|PI-%p6n+ktbot4jEVf9aU`zh3x9_2ZM&{h0o1~vME5(utD}8`71bWIW z@6o;MM3cS|NGwg@ugIIeMd3Si9+U&8lL2bvn2L>JQr+*eGZ0XOsT6Hecy&jqd9t+^yEXt^zfyzxY(gHu|Iy1f2f68F5jS(Si%(%rZUN6 zACwbI-?g~SPsMz(*hKPclDm@|I+a8sqyV1v)ws+oGU}D=msy<__4hBdgmsSWzw>uX zP&o`g3UGmQGypbuEcbzNo1A}DxB3%t>2OU8HLtoGMV%SHgt|55Dw38yM>3Mpy z(`)7Tra(#!t{d+QUY?@$p!TOBI6OmMi>v=}8~QuKu_0wessc!G)YnW-!m$>j-W7eiYUoy}r3c@C6D-96Ijfk0BdA97UTR2czbpS-f0;WgQo!b7Qa-pzKkWt+tKB+gcADXx$s zeMh$3YtXB7npwwInv_ii3Lh~VKvTgPz_v;56Q2{FDZC692E2Wq}WBogG}KWT*jJ~E$R7<}9Ft$8(_5e^Cnim|Cax{uh7i3)m4+-+s)Cd0a@c7_)tZEe zrAJN_&sVHMggxA5e%_w@(EQf>De;v4dk{$D*~!@2L*JFe93=qbxzP}xVxbVa~QJ7#siJRS&pfbQDE^LVV?DnK<5)q__ z_Yu~=_7;OqApYaC_Zt{NU8oN85SNfKrcJUjvNa*+WH8+f1H+0;D>NU5|2;^L-Wpe8 zg@JG8-P0Eh-e&TAkF#9g@(Ulj6FlGS?7UrYU1yu`==EUV+Fs_REzSTb!oa#8+;Upp ze0+gv5%a~Q<7>^++v_Ey?=I-T=Lo=s7iWczvvjc>{g8IIGy)3GFwo=(os`iZ0LTvBQ>k zCfV_>;*DHUnoRR`Q+PIsaZ!OltN>e7Q5sM8euupItKHDh>Ve(c?vr>K#z=2q^lNb1QAuUq&= zmBJKCYG-j}snO^{sgo7ktC57$#?SveGeq&U)ExzacmA$%?~-2P z_%hhZO(MH1%9DfFnjf8wRn^qK^5zAB5Pd4=K{FKVWVrz;;mZH<_6?2QhReDgV6Q8H56mg$96K&=rFAXx#LNh6%NY_{E1xG9b`>XrN+5FvZm7zg}_8u z7rtPYz(lT*$V6TVm5bk!Sq)f;!I=;%J%U;NoWDtLOG% z;5oPr@UgNg*MfFq{~(l7PWqKHuyVrto2I9AV(q8kNEN*H1!;%>&YbI+xF_DCT~p3jc{1&M;(H1aR$ok?ze;dP$VGrA>f+tIpLLD@q)E(tu+DtM?@6Ax zfBrN90`zdTp0&|tI@sqn_Z z4m2()pz?0{;1W+wCy&q%CwcEc`}Jzws}~&A@9#Iyt_vG56FR<*(Up)!SlP6_AgzyU zWzwAFqDZhXgPfrz@9~PWkUTkY07qE#@hZ!9a z_Z6yd3AZ*B_v2{NfW8IPzU7lJHCDyaWrv2i=JYZA&RQ{Ykge3m2yyoY>7G1{1chM) zUP8RHC~?@!a6xvY>DN{osiGI< z+ATM*-7Q`Qa_{hqh0LZDiE}AW4qal#OLN8U{v1vLzx~_o zVG1dZe4ko052j%Ma^=#@r@^purxACXJ_2)`d$ zzy>v~?sKB{PlIyROF;b=K)J`vJ)u;h*}uDbspn}+a^+nmEZ@2rSvgVtVmK;j;=zw@ zg7mi{YiTg;Xu7;*&r>OwvrPHAo!*Zrys;|330$%q4jd}MyK6yFI!d<%wM^^rTd5@@ z=a1dpr;iTeC|6)x#9}2LCggX&ENqX)yXRe;s6qk~t7`CJ5B=Rh1LrrPg8v^=UmX_Z z_q@FeDBaylr!>;tAtfofq)3BwxAc-CNP|U#(%lV$bW2M2BKbb($M5gGF8<(xXP-T1 z&YU@CX70Ji1;j%*S+e~^2@4!nkJ_|V52cl8%~Q{@o$`OY3j?LA{nlzWD(aB5&;6aezZU z=*Fr3472$m8Fv1(29;FL*eB6ftZGa3yoI`83|_#|QAGyfZf1ONE(R z+YRHR0V*mCwjI8@x>c3XBPoQwpFcrK1RjhD(nfwo?i=)`&<}}M+ym)VfxRrBzIIVz z@!30hadyUygm58S`hpb|4)f!aN=kyhy>=aXvpyh(sR(d)iV)mCb3$$`ucqV2lxMV_ zc(aE`9706e@uP*yepdC+gg%Sc)SQOR@(IU@QN<6oYt^st$%`h_MbxbRf%oK_)m*J% zlq1P;5dW;AyD6|N9f z(_I=Ag-Fc&m`0x+IkQ3uMK@cf3leKnEM0Ng1eV;ndklhpnlY)fLE`bj){WF@pGgSM zQ`E$JYC3E0LT#_2PxC1y711?73G~}BU{9E~ZR;DwBM?+*D-QjmBVI`N0xL1xH_)ec7U~R`|DW-rRPlTzB@F>n= zlgbP43F~o%CMD*;%{~T16Hiz~?Udq9+=P^>>yMHk4_5Y5WyBoR0Y57a83Lb8 z%v)!ZGC|(fP{4h^x7{u}dvc`JBnI*jC2p25`kgRvMHQ;^yYJI&slVjQimJSYTNl)| zAuv>b6s&ID2&c)A@hRVKhYA@*M1NPb3TWd7$uU0p*zK+IGPfEi-3?4hZf~JDgB%+` z@y^7kIXQMrgRk3R?AZl!GiwY_{Fe0l`&e;gq@niAj2ToQPYFhlKz1w*lx9~&3HicEz>yuJFF_tVV@61V!a@cjXYnK zzVO>Tj>C3xoMPv1lwf*cEO2ZDnO^q0lHu_}+dhj`_lZv*HRqVw@l^%$Xab01_wON` zMT09VqI@0i2m&dWY~C&3n>%_f$meP9`U{zH@d)MAr^KrCZzDW;l(R zYV^mgH@yepzJZ5K?e#(C_@Q2~yO z&X+rQz*rX#nu;&(^q}iFQY_Z$R><@yj62P>g>ZDWncBt+8mTYSnI~1yogHKxf#SNP zpPwOSupMP-YdeB}=&Sr`{pivbzzrj+Cw+0%dp+X>bQZ2r%MyNZRcJb1ugzlq=0N3lHs#}F=n=~#Mc_> z_c$B)V@Is-CHU?Ai0P$GLvV1)7REs~Gvg|BF>U6)h>Fu(v+2brMvrVdoDLQsPHQqG z8;vwy!`UV%u9vv3OhTkcROA)#r8eoEC*RAnNv&;SgB}a5g(_<+Vp(JL(WsZ7IH0&j zK}RG#W)`#LH!;Exzw28v6#hWl2|JiyeeW4SaAruuH6DbeJE>PMz^W|EL}7F(ubGb3 ztku+tU9g2J<4eNhj>D=T_xLqZjy>b=#@>)u2AT})BTT1wUL~nR)kgjO{moqj_G9Z@~`JyV1OE`dRZq@(=Lw4+Vu!TreJ97H%B)yD;n}YGbD_FVP zT6uN8XX%HW5*sG;XCoTTb2t}W26Z1E} z#obk|K3D?3wE4RQM>ItV##Qo)S9WeT|59fOo(%KPW5EQB!L{mv@JG_;dVTvspd7tT zib@THQ*Wcu@+yf{o6VEgWF_)pJSPA!XuSzS9wMyp5WsUS~H~*EGT|SzwYJ3*&6Rr!Wk%WLN&ChjoiwI+F z%>n#Gy~oe?Nt8QW^KKTIPvFrup~`br;sgAK}n`+AQt9FlAF-7eRM$}-LgO|>*ZlGbN7yLM;7Em$M-IXU)k$#|ILEohLARt0Uf0k z2w||b?b;f~6!vjKVIx_@P*?hq>Tl;J=?XM;1)UQx(Prh47axu<0Gox@R6vY#R%SlsrwveJu_bMIyNn z9qF|Q5of61=mYoP5`vPRKL)N?;Rr8d@$VL3OgKfz)7?T93&&XU3TwRW@3G>`fwqA0 zp>A;2c7onx)>kxPM_%9EEZG=;S1ToGOU?LNN=M0uX_m(i&c@=5KH3s#zG5;nQ+h4nt!TL38!Yt;qsI&9T*5D|Oy3(kqYesG0cdNdI#T4w-%llW7q!pJYh zz)@Gox^oNh1B#-1($pwz00w3>;^7OtCZ_ve*!*+Xf2!mRLC_>FyMgxxOKkoK5w zc@#zT(J1W=L!~-ykn=aVvAT5*$zJQLCgV7Nk`4keO0A9U?575T+FQ~d9sqGj5ya)U zQLl*}dg|6VbnHQww6Y85Sh^4Dr5j^^Pq|*(#j4l+R(#{`$gv_*(2Xg5H<8FDXd*}i zfhxfkx~;NDGT1q}v$4wE!ByLC%6=kbFThp40P2vB!0Ni(f?djbl#TJu zW##kU&@`3x&cI4qI8$H*fuw?rC^#x=WuaG04up{A5f2J;cA?F#XEp+E zUV90JM;IiRO)Z$vj)qae1(*jL%^SE*h#)lm&0wi-)j>jv^%Og1}^0P_H)T)&= zR;-O(M#n|aZoiOL8a*@acroH^ zn4F-x69uo(2;w*qr~}EfrFXnArc%on+@ZSDqr>|10)ye5fLjDL6XpE4WZWTC3Iy%o z?bIg<-&*tL^k+jch$<%|AZ_-=9<7R$P^o1>>C9t#Lu1Q!)Ic(Qf{yo*^y9LFv-90} zZm?UQ5ki^tgm0TaX}%0LQbO;+_F>z+^F{ICElF5u>94R6?kbiwgxDCjq6maE-Y+T#6Elv8>|wk8t9p5CC!OwwH68ZPGLu4|S_amd6=N%+xvM#Bq^ z@~$NPDJo&lriIA__s6|N{M6MrC$hdA?*!D&CUthS_N@qb@M&MpyM<8=@e#e^x~<65 zju7PcOd~9Z@VzH5)h=hD$^GjsKqTBJNt>U|6j$8GL%q7>5pUDUiL9UGFYtjuU%AqyiOcopO zm401A-sK2!$6ehtbS;;y3VC$6%eqZer~HoTkqNCqZ*#PM&WDYhL!e~gJ%-PR|WL|m~ zLeL7t2pi1yt;?;Gf;w$NjNoXvszuY}QLO`2htDXq-G5$)LeF4ri=^3y>|!22jw-?T z>BJyIb!5L|Ut?Zv44mc_tHF3?zr`Wm(&3ZOHiA^GIiaax92US`>jS(%w{-4ey-j@c zzBI^lVQMC_T=eirbK*Y_<}u96BKq-5<>lNx_O%ULjLLUpm|M)AW-7gTiL*m&dq`YA zl?Fl)E8Z-{kWr^$NJXoEaKLq(s0^#5Iv0N9luME-{$y8wcu-Kczj6Y!?k(g&mgW~1 zzx?g}^k}7vdj?mU_D{imWC!69S8~N8Xv16T)*C;S8(=p5H;elU1E3Tsh+)V}kZUCaVu4;|C@1vkE4OVQW13{HWxT9b zkxWW5r zA0SRk3fof4Ld8~NS=i{Zu&9|GD7k$CR%+to6se0Kd@)yT?Qs7ZV0DUS`G@Me@mK`| z6uMJWk=Z~$7*LRC16iP#o28dxl6Ez};Cyq(=g#35ub1bOb_WpuH_W<7o=UJJQq;C* zZ0&(lgbA!Y1c>*)V)a|OKCI+VyT~xOcDpigEk)W0{D+=nokLI3VrtLu+_N&K&fef2 zU8FL$Sd7?2l?8YrXa-nL?yyYl7MJBueh13yqlr?pM4cateKtY(hsZ?J#fhG5vcTT; zIkZ&q?QgnLnR7#t^1}0>^#kZA=Dv3w3TT5ZTNLKd$6^#kTlXHV_b~w7g}fww^r`+6 zju2@4t8H{78J~3}D`9nWEkI1Td5$ z**<#~!*d?TMuI+~m$z@n>w-G~nu-UgEfQp&Kz0QaI?iw%Mn8?Mi*Sow4Zx)188^N8 zK5Yy?erSC3;Zlau4}0L{KTN27?@@_$UgQI5404Lkf9xjz>pb-U(0qXEKKwjHT0mMt zI+YoW0;pup4Ez8rbuKuSr0CyM0zhY(B@O^q6v03mY-}MN?!i3{wDwYjaHv zJW!ZXM6vsnd7cV-!O5C=tY9QitKY>3jx4#(}+l5p~YwtN~^WmhrWs*@s-Cj z(EY=#YT;sAT4;MKIofBH-~U+4Zp2&)2s~<(Hhw&Klt}-1=M6e9 zAElTHE=m6f8Vv{cIm{zVqL4a(sm}t8fUY3qM{*66w?nLU-%az(02&c6NXlR-emWpb zn)0&Deq1r)e^B9{q7VstB1u{&S=VL1;^oFRGI6bj?e>=;4t2)G;NMf;N1I}#l#e$I z+}e69Oh0CpzBj9R74p!fNC81Q16>+W!6i`0*bkt4VC3OI!zYq-W&p(d<{VN)Lwq~y9B zq9ya?(#^HiZ{F9drZj_h(Z1huFq;<>!t)(qzU$k$;CMayCKmFrrb+avjC1zxyOY&O z>$bOK4DBO!CWskvXp+hZeYQYhCkV2?`gt40Um_rWwo0kSarMWuuT(Fp&AtGLPwRJM zbxPHH(4ek7bt?mzbx-HOP2Vm=#X&H5<^}+q88C`MNRx-t)T#hD@%j4)6x>6(X3_x9 z7jgkxbCL5sr~$r2^Q6)sy|sLSG$D=GBws%>6|yuz0{z4%0>BmQ zNOht&zi5}sEVkVND*(j7leD$Ie&6o)I*K6|mwX1eEg)&Z8jqY;5 zIa}ugU7b;7OqF{Nw1f#;XBbA#i+pzH!ZJe_(fFLTpDvB|8$e;kpJ4-8fs#WR;9fP% zZJ2D_Ftys;p`%aotTql-YGSp^vpHWTa*h}DLlN}58dNBZfU+6_)w}l%jJkF7iq|U> zew@z~>J7=c;TvtYcp^%}_HH@Y{{+mo5Rba^*+t&>1quXUYN-iB)-`NaK)W?60;2@> zYH&~$fL&!X+KQ!Ra&)TGosv+#J?<-X>{&?&Sgr~*fe9{uY)c?!_+Hz6Cl>K|6?)zY z_ufkrRDkDMg(CO1-R@f4sOE0fk-<>|tj$|wQZa=8&Lt0YGM04|v|jo(m6vHgnlxE? zvdR|UEc(XWz%8Wv`?<=dL3_t+4RWl@Uo-g(AXCsMCswO$ZK>)2YSk@R{6j6>$WHh= zPzgK(Q&w@R$g&f4R5?tAXIrkkIY2ba&6uK&3UHitnqdFWi}(GsjcWznWu4h0t~kuL z+xQ4t&hZ7=#v8vG4inzl<=pWRxA9JA|Mtksf?v7rh8>mC+XFepE_hk!?||TaKKAL+ z>!H5zi}rNyi>_((eZ02k$U)Lsk?8xcjSLS*$M@5)dG}h>iRRyxv)4XFJdNg8QAHP{ zLW(m1Iy2$kZyXZM^pcEzteb*6FSL+s<>Z*!mV!hv1d^F#|Lj1WAWTH=Knt5NO-kPx z8V?j#VdV)ZG9`+7ubRi*tj$aV!zoa|e4=)$JM-hP)x$7RY430Dk_8@cyJilf3EqI=IDAT%EJd@P!=}gAz^D)k3YhCg(~9%*_cfcwk40bUJ?>Q1dr<*06aahc63fyq z^fuypE!{LO%i;-&1~sR&>aR;kAx3I_Hc~FvJ8|(JF(A2>E95pC;e_5MVu`83l{yOI z_LxMtA%-_8{0N zX%eX@Sk*)Y1^j19>e`?CUs7T8F1B=^AWCZaRJoD8-CK^Mu=CH${(8QD zDu7`xsaxP938#yao}ggp9YyT5^%2*YFAlhG+G4ArazysR57bUd6LchK3?aM21{rNf ztz3sCs8S>dG51QeqWLSP%`1fAliXv`3y#)BRf{b|)0k3Fi#<6Tilq>lhX!45fjzdr zT{8@nY6kBu!^VEw{mw9WTKs4Rtq>*TP@ehe3rz3Z7tUA~mN!PAM zMO5}Ry@E(WYN*^c#MD57PWN2Pr|SATs*kfDs``|^h%$84&;>Q|`7z^tcZ1RmNox7T z8{_&&X#K6FpREMibqUL)QC+@vVaJGhe6_ngjEsTQEH~!}mRuM+)HAyl&E9X5)L*Ip zeRzuVp}Xr`{^->Y`H{zB^oQ};Tk|*+BwFs2tWMwO$Df3yKR12x>!{;YcFo)N2Ld%Z z(6dUk_x5}ycNsM=pAQ6$GK&a{lhh}y9Xyl0hTIg3xJv2o7e8&H`^HtqHZ~E4dRanJ z!x5JH{Ci2_DI<^#csTEL%HV5t1qomI`)>8CNdo85c@nRWQ~A4n-FJReZUQy;4aik94Fm-nt@>mV9BS-i239PcorO&!~r446@Pdqgz zM@|Jg;6&?1=C;#Hy@6W1PmqqiT_@(HjNbNEl6ymlKZ;7{)V|x!Rkl|jO#D*tM2Rf2 zHz|?n&lX}eIfp`~zv#>_`LEi-eF(;`D`}R?n%48%uE7OOpZ~NG=!*w<*=L*pyh4d! zw`lam1_-9M%KbR7ek`~nA$UK6?yD`(GHmbO#K@LOibuUi~Q!Ycnn`;r$oyrGyM5$SKgV7aLX5Lm!k!lN~a~Jo+){`#w}1 zsD!}>ngwRlAf*7**qvWVO!)Dr5D`!kq#*i@W@uM1BoLmhjL(rWq_3TOijFUuurA(< zaj>`VI1p(5dx!XjnNSke`W=3HHZBH%w)A0^1cWbd4WpZFo#t%T!3+FR%O7v8Sg!jW zy|#_eZG^4@+O88D7p&v&re0LoJ1zR~=bz|2 zLxRa|Jc3=T?Lh%pv4|z`-`cgn$@6yJsW#+61VH*H4H)@scE4JO6eVqWr=e z`ltjPgm{53gg&1|`mwdSp(A)>21Nd-+b11q ziydX8{_7bIyN8+0gf#l8gy2)gTu)Mp6pZ*t(gU~eRjV_hs{{u|L-sV+p~5o+SP?LZMi6B95k!O_ z$m>K1ujL)&?t6OMT3ZXnP_lk7(y>^CO>gYk6R_eI7xFr8gv;vf4HxPynRcymom*BX z>Zp3^A-4wTJgsiLJ9faTFJfKqegtKjMvm9p9Md zst7kzvv#xn-N9PH@U;bAHD1FUyGNSSr-v=BnPnbX4g4e5n#mwbC2#P$w`|LO5Eov8Tk?5q}DjQ+Eo{_ST`e@T6%-NSNDHyBhs z?o$KdGSh1uE@s9IUZY*Fv&~ENq;Yl3mWs4zvVGHMT7yS;xgLo2Ls?X>C725BUms$%Z3jUnPkm&UM{QhGH8(%PghS8KvTL?nhJ-J}?Ok=r`6=|riaK~z{i zOeWU>!CUz_(XJgF+xW2LW9E1`fT#l#@=_3u+l(AlrszhzH9tTpPkn|-moSj@Zest( zTRq{|f)vmjprKcr7(Eu$J_UtyBoF18-CVikD&WBbVTI2KarV+Z-GLI*GUX@4NcGff ztyf4-q3Dsx*8E%Fq)wT*#q}oSI}(t@a2x1;+8QYkMnx<@ z575Qk0+fI;9KV7iL!p)ciVF>1ITU3*yC!D2V?rSyjvQ8j8*b+A#x(%1YUKSea<*S( zE++M1mPumR4SQ_pb8uu>J=+1lG!y(u>>z zv$CyELFeVCqs5xWqX6R!j1o%{NdE2jJdL~HhaMot-KFQ}*p69X$ds6wGtviVk#O(^P)YFGlcn=+ck$Z{Y_)0^Pc5%*xWh8D`Hn1L~Fd`Ag^Ji#MG0g!nO= zP+Jr}l;aoFX-J!+qY*SO9W=_`UJw4$ziIf|c;MZly#rQ0&5@^&6GIbq&I@JN=*eQ! zR{70%upC%Eh_%SjHs#2+6Z1vCYt$x~*2OlhNb=b96eKk7fM5V@ppk$hV zUi_Zyyr6@RAVb+B&Zf`Mo!VtX63tTf5zahdnph~kA-yI$zve(R?TXUx$$z)$hMV@4JP!XR!9qZK8EemCWoz~49 zYJ0KIaIUSt)y>b)ju*Ju)$Q=b-7vvM^WDo=RB9PgUE^i{A^w z$A`m@w=WzDcT1zVV=F5*B$1bYg9ilc9*(K#(c5i*_&(s@j-I|{`Q(?Hp8lq)>6~BT zVK(kau)ZDPOmlFP&K5ppR6@D93{y7+JJ_^s+D1fW46v>uB>lYujBb@4EYeRNs>Flz)6 z^t%^m#OY@h_xW@s*Vf!z5Ss!WnAKdERb=XGj=$Dg_soyaHp!Csy?@#*yuofyV%sC2 zlV5Lk6`6Y5Oe4!(ym5*H3b75%$6 z8PZl9sMdp0v}1^#@JalU4l-nuMr(A=V@GM9llH2hMAcl7Z18;*;GR z{T>$i9dR9vK7l$G&EQ#uvGNR;#uB#DmpqW`FfurZ4@f5b7mf_LMx4b7)HbZCsxM2ZFq9ebxWX&fxhC z_$|%9faCAdSL0(^WCB(3dhr!siNTOiyLcDe9Ila*7JCmxcdX>zjdNHbSsC=v0oc}a zfHG~*ABjNye^FHs|EWZYLww^2wyrJ|IJ&6lzBp8uNprc-9A!wa^*9P!@ zpeH5$=(?Y&SvXhRb#7mq`n{x-b~Q66dDA)M_40u=LXAApxn)j_#+W+8VxQAzAmiIh zy34-|-nc>b=qRgfot2`icpKh^d#<0piC<#a`L9cqp092JqulorKB1m+J(O6zKH##O zs;Q1ND*Ew{a~#l@CvS4soRmXfV9{dHKZMn*j*Q=GF(D-|#vO^x7|H)jAz1o)%Vs=% z21Mx}-uWqdG%C6BUykMf59j}h>;H>Q%Y~crqj%yb0n{D?oB^K9!G`}7)&AL%f^z6w znh}$f(smNPL-P*pJCRB$n8b(oXuubM`*aZ$kwJa4Coj0al6tiwD6z)?i7t z5Cv(gT)u>|#F2ZimFiyK=D4@`mUv347iD7z=Rdqd_p(e;hUvHrQCI(C@$xq!u?zH! z-waHjOG<%M1<0}(wBBEe2y+5T@hj1N)*{l7Wb*c@%WJ-FL1mllmnhRgK)N znAYE!xWw`%T&79be6ef6i4LLvTq*izNDr)P^jcL#5bMTs+%3a7HZHPk?%k(?y$zUo zuE3{j)Nbxb-aFWGf@Mv(UXw`h1;I9-SfT*R@+a$v<0Y}fpnu9CVpuCRn|9SyzY3vK zPAXh3krKj!7#~pBu*8u`pa1W9ek#dJ$^2K(GS}|cpn8iDgaa=DuJoULepxb#gUxpY z1a%rZKxX41`B7+%sHmJA0WfkS(#N)Jt>P^{9s~mIpUpcf)3L|zLYP9iO00R109ibk z)C^1rMwFzH$ChCrimQYr7eFwd2TIxpjRRy9I0ptIpWZN7Nd8^y&#QkKcJ_N+5fyiI zmF3gvC!MkTVyv_7;LpbJkqF_I82?R=e+hBiHHHd?LjU4yw06DaQQA0XtC4a?&67&? zISo?tB<%w5`iJtB+m{bHB->1~#gt9yhujN5-{9^HqCu8OwdxgX9EkV(;CCffBevbo zzFV?@2iVt#^wSqv{z%QNloU(UJ^{98abye)t55!9U%sFQy(USq$;t&9DBBeit9>h~ z{@|oZIyTq+e6JIrOJ-@J$wC5F4|o^|SGVVLKaP%urNG)J>4H5|oW`JG_%!Aq(aZ@c{(ez!n!PQZ#jW4pThdf@p$-8UiQP-Y2AuWICuD)<}W=Ogm1zgWHMM=Dy6|PQ= zsQ_g_({fNt&jOu{TE^`CTT1(l?Db6if)6L^T$0JwP(QPSY?oX7fx=NBOVI3D&BXDT z&FBFU(gjvrYO<}dZr3Ki&}q0mjoY}$@l134Qu}sp@{qH#+QjhSy2lLMBZ@ykE~aG` z<&RcEV=|95R84j1zYF%B0!avT90LD&>F!JXg6)RmG4{*{y7)glB*M{;t(+$h#`&s=ZJP;S#yRMPJ@I+mPm+ zFs(ba&)7mS5e@@HS#pF9!PRvF&EobG@2i~kS1xln;Z5SOkIiye3q(k)i?vun%<8eT zY}jjeOuc)_yN@aO1|(8%-?q#>i3+sm^;*kZ+{~ucSYW#lr-d5ljTN-|Mo_~TC7j+; z;nylRqRtmxyt%cez{^B>D@|=>$nMpAu-$yZ+~aHi!{qbS7A&#;)nVt!DqN)KI>)eR z_;7y1DCdNy%{iG{>WlANDq^u!(wHh7GwN3w2~)2Ch;- z?V-FSQKMWdQLDr>w0nE#F)(?HO`1elX3#;PEJ=VCPWw^=Jd!1na3ko-%ufAr<4D-c z>b)QYo$-#gcG)jkRx*bT)%fTG`K!Jzr&ihIPUqeb2HCqr<6e)>iJ*h#= zU`+&96C4;m1QL7i^=o&LagrnT&MVOQ9DjE0Q&_vtn9~W-Z)C?8y-&-y4qjmP96q&# z3jdU|BoC1E`1!17#L~@SDaqZHt;%-em8TY-4^^7f^O`;yeX}9=n)y`rUTEAeL|4fw zNkNOWHXA%xD%(`w@;02$a_O66s?pLRY#~^Dy5xmJeax)?ZRpcA8wZ5ng6#EkIVl-^ zSLeMq=O+RPhhjY7c^tEQ@e)yb=J(0-C%AEk;ZkY`4jOxjRunia@HTWuWV^C zsDz~7uzr-1#A?Gk8O?S$xk*mQv|A+(B2U8u)ajlD;RN9gqH*qaJi$JqrpHidW)K&| zzb$2$wlP_Zn;sKNbLnv*pI8tRn|~*8C63aaRc2D<`FTj{$QQNF95cOXwkx%dN+n7H z3qj`5J;t?EqhkdRj6m?f1PeU-)#sZWgo{XG`rb9cezU$aX1M-&`Y8C!Eko8~S<3>K z1=()s#LBMpn3=7wAGfQS!hA0#%Ef?Vw1B!nyM9gRC8;-oZdzyNm?NAAA2wPua%tT( zoc1V+=U&vNz~C*8q5UXHl(GfK z96dE@)ICZXUoEl<7@Nu*wCwBF-;D2Qp|o%BgcKpkqV{>Ohsbp|a4dXs{U&Y|jZbun zutrIN9(?MNlVgwzn?hs#Nly})d+9_&D%q-%G@Y*9Dq=>N+c9bew|MD>FwoTBX7y8D zw~zWIuibZHnUI%RGd3j{gB$b&*O|!FeDuA~By~FxI(8|X*m}$}%#uQE(WeKyev_~8 z4g~qcgu!CD!jJNc?4I?M$5kY0e6XUY+p|cP^Lg2y{>`g7>eTE8wYNY-he2Q6qv}3X zh20LTg2W#)Y~zF2LQ}xI#_wlRy9q8`2+hgHAXAZYY6_4v%}B?d ztu@B#M8l&dPX2PCK=qYPyO2wKOYJ!^ePA#Gu_`0`gK@dzmD;9%WI8;@><}=|Xbkl} zl23>-j4dWyOy4HjhzX*2+%Blb;MePFi@xz*YFqoK_oz{w$#;h6G#nWmvvd7QztV*_ z9T5z;=pA47F!Sn?xyEQMN*ExIFam7aYB>?i4ODbV(7R$#vaxvy=Myr$QpB8xugG;# zEl~5q5!T|eq4gG;cg%g_Ao`F4?UcwaoBJyrh$yn^0?OjBB5gKV*}ho2B_A9Adko)$oyzwq6g0 zL{aVxZHlblRv_wy7Kf1TK!yh%2x0G zQ-}Cqqp>Qf+7e`iJ>Kb=2wfu9bBS?xyK5c`meu2AYR_~#ZgCV8RP2pcF+nFr4r&>@ z^t|+sj3qM^A2Z{ZiVVIjQ={aW#yIlc%CPj_tc)z>Ym(!~EPpT(TZCXC zOMD!4O4z=5o0(l5G52YT1VRT17VB-!?N{Ry>Gp)mYQ^vFyJqu{q*Ld!NCqv3K zUT@@2cKnzOGFL|!M?5Br_%st1Wbow%7w3hzT3#!%!U6BE*IBO{W7oVW!RKmz=-1>z z{?$y)obxG?q#+ohg#`_1gYhauRbF*e`eN{ij6nn{nber-wOfx=(Nrrq$ZD zT+{dC4+W-@n5aIlMGaz?-H&In z_)4Ois8mefy(SqUOb!S<&L_Ih;dBEdu5!ib#$6Ay?6roZ<}*`%1jjXI~&Q2(0~O| z$lWHmyL}{Q>(%TE`Fgod=Y1A@z2WlX`sMT)uaNyt=w6!tr#Bnh3ltin_kYttFgh+6A+>FBQE5anl9Cie5ZHXwuJfyC zf-bQkeL`mN?_RY|Lv$9e7;jvhDGC=u$%r6PLSDj!Ct8wl<`CHqYB0_3T&oQlef=~J zQ;Uy_#@3GtsSWI{eh9y`Iu?$-hL`IB7W|J9m%_!FM>tus;|vX=;Hu2OHh6QiE+vGZ z(wkMgkixjqbg}3;kXX8#7~xs1Q*u;Z5Ycv&@t~lBq{mw){MOmI4sQ<(2U1OesGW^lYRqirW!aJ zT~2>|cS?)0;lPh{9!h*r#fRSG{l1WI?xpV+YE15gDr9y#HU{Ruw2z8<0j@jwNb7#C?LHkI?N#HmA0G2cB%*K`JKh9l1--68 z7-plhIuwroHW@7doiiH|z(&}ks|<)`f-a_fbiuyXK>xRM5}H08wv)uCRx@S_Ljv~~ z=s$Yer;ytj+2{y(7R_MRqAJGOl_&BxKJ7<^5x$TPAmcSU*%}R$BB0ZL7=eV8ZX`%u?7?1dohuW#2J0#y^xV}s1ttqZ*<>2R_v zD8@+siGWOQUwQj=f%!^()UKenqPX`xW$_5IVz^6tNdB|i_$~3<6=RFvz_l%qI+aGO zG2@hmSn|IU3?C`%oDW5p>!WMy6!H}48fFbIewP{R>ewBAQ)^t2ZVulPB3HdZ?(Zh; zQ)5Hff)ntVbKhAE5AZW`-Bu(I=mVDWudy7!+->(gBnsZ0M6J`w3h|vxbl6=7zdyy2 zE_YiNb4_vZaNs_8;rg0W>sY){YWrd3-(w@KtAE6yNwNEAE*OKW_5Gs9w1lxGFlwl6 z{_dx-7Cvn0DOe~C3>G4hB`PTh#(@p%5|!*hAd&t^d8T0jRC3Uc*8MBy>=!JC`x#8g zY3aU=Qk#=~N#}6u!AEuv3i4M+&|(++ko8Kw-}*+s7vhM-jpc}hr+;nw8fFwYJn6c2 zKHX1@xmb}ERyk692_Fdo0V(h zsRd?y%WKCA#)$}?Ug2;QO=L^%O^flJxwT2^R^-o~2_I?Y*k9GfNNrkEjx9SDGp|X( zGJzvCk<}k7bLT*wF-SICj!4CpM*2Tlps3j^cr&*TTB}N*w@lpPJr-JDfa1k%7F7ui*@A z9@GXW)LgTmhiA9%4oebb+*K`pt#`W&V6nwV@11kDZSDM!!1!|Ftakt8z*DzL$$MT| zGDH&%E-LI({wtLJ14}#{YuV<&CKGM3ly&p4v!g>i142jmg#ImD#1ai%crDTBhxEqz z2UygaOFRaFjl}otOTrk*=8)g%EnHOdi(K2ek%D8K?qr5~>;P z3gZ&*^4r9n{7xMD$;fwuFncBez5Q1CK@m>Vf&_oPw#Ds>j8*$8iWGLiRLIOurA8yI zpkxzK(xfIKs1;nk{Yu6TWSsMUH>`24ZXzB&M*Fj`OZ=Bdsu`T{u*zBRc0DpYgr26| zPV|La zI{Jiv{XS=epV7!Hu+|{HPwTrwFql(OZKb)RRnGDV{jBp5&**zTtAn zI%^^x5PmRwt|oXmP7I=EXD6lFjpf}%1zy+1OnCOD!Dslp2OssOEM1eMK2Z@hp~~mp zGXLjdBGMv+H<-1@u+wVg=F)d{4@~MAap)O&M0H8$SbQ-y8O-FAC}D&W6Z{5_CZzQy zrU&Q!&xP`RF?|=R+GwhXx-t>FpLKgX`tT0$4?vO+#{1zH={&(0%dR+df3b(705HoM z%pB|pJP1hZ6SkMb?T5CjAzvt107v&h2Z{N>^~^b8@+oQC*60k56%TJoTtr%jbtT|_ zKKg!m*~|jT>yG}!lM8q`4<^QF3@OZsP9|E(vOt2tG5yc;w-7K3+|P++WQZ5~1%>(l zUQP3fAjSL0Lg_LZNp=@_LA1SW&T~A87ll8DN0pBk>a}r!KLYoNhZlz_DJ~h|X%Cq2G?00Pp;t(maSO??L_k=+whP z{ik4fupf^4(1+O}ok{rq?;*tscd6}BN-gFbR7smeY2fcDC@9j{EbmP%q#i!|SM*>! zY<C@pHE)Mb`*S3l$|7}&p&Yoo=610N?(o{qa}W~jMLIpp>^~{=fQ>gJEEU4 zek*YdY($Z7W0FtGF<{$MF$^C%8KZtRD3~|wX#vWGQDJEAOOe#4{!!&!q_~W32~IJZ zkN&3y>wn6wEZH=%ACV!D#_(mCk(*LLF~k@w=7__!Lj5Q1139Xt3rJD?LHs;UF3ep@ zT1G}2_5bvO%UvQ~y>EG7MS zBr#!O3ZH2IZ>8HmG%=TlrE+k7cbHPVA<_H^%&Q6$bxoGF3Er$j+5D152kHNWl(wt$ zIYZqrEurP3wkiNa%cIU5mB=AMo{)rGFaJvi*K}zRHzTN0DnH3Q;ec6ox*Kz}#u>T)lZy69(w7n0@08)Zb>{(|MGsEnKS3?v-jF-ul+pFTAOAHgy(Ls>sEM3ak|ZAY&sm@RBhR7 zG*{yhW~E=RX!dj&@YZYFSyXT~`F1HtOyo~&Zi|G-YTxP6sb8HjTPreVrOCwXU8f!H zB*=v%CC7Pz;fQt)HIC=i6q(dUV`5Hpu40V!+3D2Qe3fY3A{$bogFbT^HEp?Jl{grs66bq9` z`g@bhX3uMwFEO6_Hy#bGEZ#BvEDjw=-?OGZU8k06?-><0_Zx{MtOiTE*@tV#TJSf`}aKzQEFShNn?1OY8TZjEu7qTiK>pXt{R z`)|~pj!$orFT5aeW#}f1NjhC$L_HlSZi}y2M;cyRBS+t-c=eF{g7tbQM3>F@gqJ7U z)2+fv+idG@W(%hp|D(^z6k6DhnWo9&$DXc!G0Ix^zpqcg71ePM(9F;m==U-lZ+^5n_s z|PyYvRU3lJVcfH15LIMbnf`cpZwo^tN3fqY0AaYB)3jB)X&guUxfV4UTE#j z8kS?$G{$d71uea-mhDTe%E(r-ifJD-m|fc;;)Z1gcw}rVmsEo4&fQlfB{s2wWfw%ZI446qA`&is;tsqubE)WP&`QP{s)xgkS=qLZ z-5j17uz-NwqR+M<`uDBGa~%q9CQL9Th`N31d5nVyK8Wt)BjS4nz07?1l%?z{xK=D| z8Nps4b!|h`FVlCGRqZrL|Kjy;N-u7;s*HL~mq~>ph?eNhU2Nlw7iPLAm6nD=leqNX z(1&s{0a%exP@u@fGei|629Ac80!QBgfkZLW0Sz5tM=&V)U5x(t{^YyoCRwAt0EbJ(BLB57 z8SmF(y1x_94laKgT5bH{cPtU40eUbH@mx^|kN(q_evGcBZxD%%5!N2h4D_43)C?#{ zLq(=NP5JX{stca7sng$}+9b}GB|!~t04AWV0a^;B^wFQe$+H=4`V}Th|7UPhs`GC& zldcZ{uHwE>m>VL$4K5&Js|gow)A6UQhpRsKvPF(bqw&j=9@=sRd*Eof! z3W|Fn|G-f+zQ^^8m*W&?hr&FKXdYcv52w@g%tPz1f5NPCQ%-kG;ljXR@C1V|I?#*9 zEEhDGIE8nqUg-YyDKcOHCD6);6wpqKuv9LEjDLmkbLwlyYNk;N>l?W$SqCG)T!QlC z$teUAE)U;GnCZY%iXc-f@!8ZJS=i)#T(4b4L}d`k+%fjU@aM8y8q z))lfjzecq9*Z{lr+l6FHSm^QQZ8JUAr?^{A-8ry*b;Dr~6W6c*?fZ#-j7pKbA^*w5 zNQ%H!%5ot@>|6J8|!Lb1|$`h=#~+N(@19-SdeaF4b=rwd0*S z-s%9B{@M3H!}phfuG9#;U!1*eudqgKD8+gF8s|BK!Kzu=46#uSlR9gG z!NsA#WB))L*fQ-$iHrW$n`rxrtvl&8pbP3Mzy>6uUsn!*bX1PhF7$;xL3lnlTs zK?a}#jM&R4jmquSA1ekKh$nlCQM9x^Y1MdXUtRp9N+I|3Dsr{Ms;W^63 z?KhJsR2NLfV6-_4w}kon%23HHeu)rz2}|ii{;kCc5?y)J*nmg^Kg;PIm^OZx-M``8 zO$-(~CK5erh1!0MGZ_Dzcn?~+8>fHeZp`%!bSsZbR~pn94O?6UJt&-XpqezBKyi$2 z!@eBg7agHmC58e*{q7>}q^0}`Sils}|LzlZ`>^Ry*F|4j1kU`r6$;V~@Rz-#Q z5QlJ>!j9lN@Lj$n(o{5hKdy+>lRHW+AY1-!{)&QN6pbg^4P8stn}kp2RP@L=^A7|K z1^=kw0%e|R>;lNY&>+x@Xp%xpotL4ZVGKmoONW-^L`(|Ptt#I4k1v95cp+(pv%%tz zrxcEAKA1QV)M%^9&>^q}ZmF_ejnPt6QfW(-bs9D9#;Vetd=3|Ei!{r7dBa7?2WHn{ znjZUC5~LKl=PPKZUBCBUDVmqP9_qe(nr{}d>8{hUewWsWF*JU|n#l}1p2+}dX8^wX zP_$XtNIansNVpa-ixnG*IIwsN)p9;k5Hd7W?V`*S$ZVJV_2uD_afG&0eEtzT_qkq^gJbMhqw&FqCiva=X~f|i?8V13#BJj=y9}?~1`uGv z>Qq+H(#`N(vnlee8oa!gu=vdual^p2PqL zp;FSO`3yGUHM#ZS5r}n~k*l_huqYRdp^SkR%lv)4u7tlFs$^LVM(9bSBmTBiS1cvD zM#L1=0TWWfx;H1m-e4+@d~eC$K*TTLLhzX}?I8P>aY8iWaPeBI7v-I%J#q3T#mJBY z{PAMMIKS!dAfmb2`9{mAUE3xD92LAjwCNbs0VFnn(9e=f6G)Z9GSuO0?_qkqFXQV@ z1$Dl39e5Cc&|iOk*{3h1GR&Yff=j7*tHGp?qESp-Xx$)GuPF|T!PWWMw;fR`gP7WZ zP$xsdrhbhLE!|~!v=O>oSk8L8yWf*wMRY>qjGb;oGWsjOq+4s0=h;2*8ZwaA_Sj{x z1NjGweIF712MLDlnFj`5@Rj$HZJZ^gtfm{RGN>Qw(TxqmHH>baMbAPxwN(v1-|=0&MxgXe>BbU<7Rf|G^+J+;4wb+{RxZbyCmX%W8Cs^F{ zip^M)CA^Ke$bR->t|tz>y7Ed^>Y`m8rqhjYI-fHflZ`XL7+)57eyXdxD`4wBx3?NG zAH?Gx6^3=P>EHW^uhtYyElA`%GTF&XH#RYEe&CeI&z#ff8XFl+L-3fG0H= zPZ>#{@()W^0w|;P_(@5q)6i|yBAOs-0nnI}4}q9yFuB!ZU^^{X^#GGpPCkZsgXmf@ zu&{Z-X;J@S)z=i!TyvpyL&KbfL{V^Y?Nm@W$QS;lv)evp;`(<_#5iHzy%bf)l8@chYU?+!vhn#)t=wX61 zPJN28e;~hhFG>n`eFK=ZB{C^m{V5Xok2|!Wml}ODGZe?T_o|A!mEf^=flGQnE1X2WS zb#^g{q{`0|8k7iRq_L=g*Kcm9avAS*DxES9$m^9JuO1Ypvf!wu)$U`4e1bp`{4AHo za7Hp);Anz~X+l@pXz2)fv6;L{(sD>gSKYq30sb04ljy22E{hW$7K2rbOPe2d*NVZT zBkQBrfUq(f%0slM)j$d4^~)^0x*BH-;(wgVfR<91r%eZHG&+j-qhNSS&~YSpW zUC&KZ_B3L&em$QQ(w#A{E?jO(H40(8jv|SF6@^^Qo~2#}^Cpc^(W^qDB+r_6^y17F zN&AIr|1sbagB~p3rpIxH?xr^H?V8@q^GTPtudz+l z+pUu0iNT2cp-(LVYrr9?mn*K!Xe}MHrUt)*X zNPq=1>2k@g1sHV{lVJXVr5pa#K#T&=*FpYgRUWxHA|f)5q&L5k2r^#$#OI*@0c$@1 zm}E-&BkIo}zC*BYBo6J>kR2_W(Eh{(y4uTsfMG03nr~n*cEXyw0~9@8kiF;rbJz6m zclq|6bRVx;l=)qm{tGY0qGb6Rz@C0L3~w_iqK5^Fb%OH8k=8kLkrPF72U_=jl7$hvNnpNz zXxx(@exS>5{J%*3FfyhxO9c{o+3}^Dv@d;f7{abIku8g~*fV$vKHe0s$is|TiM?jV zxH~aHpnZ9Y(RJQpxcWabK?ZCEL~nB=p+UmiOgUwK9SEqJX;kQmc^OOxZTAa&CaUFt z&;uXUA^z*Cix%Z#-fG|DzYA=uQo>1LHB5=rq@a`Hk)}VrTP3F&EY=p%=ix+}oV(~I@PyeW_X4Z(lRq}+Z7zp(75>kd z@c3bn*u#aP6Cmz7&Mtk&=jBkhp;{Kykm_S&uRE`G39e%TlcHEz$^OrOcwvN-KgHfR z6)c{$fk^C0s|5Z+^PzhElu*_n4S`VG-t7Ne&k2J>tMhGRKjzjgz6TXYEg3r;hyk1U zj+agecx2y9V&Mm2Yj#QYxwB074g7!jwR}Zyq$rv&@OO7A%TXWclUz1@q~1!at32f~ zL5as$XiI`D$D!x@0t&6-kj}UUnBTM8^ieh8TFbZy z+=&GaIfdDL$>tMMxhd?*{QiKHYHP8m|D%27+;6;KOvzF>lB}HecqZ8L+XH1wg7_sP z4wM48Rhaib>wooK?R1qKC}oE+=N7L<&^93c%%g@AQ4;rt<0SYiLgBb!YWLHvgnM{o zneU%_?M6T3{heHAfxcq%OknxrdRP3!?MKDhV1*@yx{#xg&pziFwf>4qhp;?R4vinv z26B5Ro!8U{e?A5(g+HOD?G%avs(l{l;@V;@$CY`iEP@vKH*&C#j4;qKsWD^AEGNuX zFsHVz`*0kle!*f+ZtfRK6&Cn|YEEMKMjea%1@L=9CF2Vb)87_IYKgWGrSOFuas__) zX0o@8F~v2!x3bS^LjSeDsh~6gxOwEJgY2?)5=f?n<5^UPhy$evjD=s_5WOz%u9xzEVTw{$Ot~Ka^W>0b~Hc4h4~%GrXvSZggU;%$|f;T2BF}cWNdGvd?)`aXp;sH z&4usy7g&y_>&=BVw6~;)ge_7AI{!!QMcaLbyub+J0SlXqR_zM7@5a*NTK-N08bZdmSu&&ZD52YxUrzfunzaC{z< z>F7S8{X{+B*Gy`w1igg%A!5juLQWi~1QE z7-V^dCUtF6Dt@=pAd5XV1^7G&_&aElf~OmU#!}+L?*!x5wP(Waogo`X6y*JvVMOo> z#9dc;Zc4TC5~w>Aro)LRvHw995a3MK{4XSE3l}ER7K3W{+>pHuYEy*%Iohd?+|%|n$H@k^!Ob`1On^K`C4=Gc>joE)m6zV=9Ix(fZsEd6RwZu|uz zqUknKMq782ee^DTrS{x-sldALio7y_uP=Dq&p-&2=VgZBvZ7)Y|IuFz$#Xlc%9B!~ zB|!qWh?Kg%fMIO2)BE!EPSYD#lMXX>1}lr9HKO5GNj-Gei3CO~PQ0?k<=@7}q^rhYxozKA7-d_j5AJBx6glM<`8ka&Qi#o`8uc^_9T*$FY$wYRc7m-DwrSPrzIF%26Sx87$p4262<^Fe*lZMgs;_uRVv809f*5YQ8(v5+8P z0VQZMnbI6he(RdG(=9PtGorsEluSEv`GK`KcB6#bH+ej#{@Zz0RAQ1MGDGOD1#xez zih0*__Fld+TP9QuY0!YQf6iyz6aXT%(jcRsTmNIaL;&Zv@u9C*yohVp0y7rd^%Ra4 z8O*_NB`)?TpFG#qZgw)cOx%t@JayJ>_idgv7f&hol-(Y#TvxbsI#5;J^I&ZA!PsM$ ze^zv}6e0Wk?tY(gFEYN(di2Ab-#T4mW26}POvSB6&U8?N6Li^axxcq$>pJ+lhHFTo z@nj#;qE!#OZ%K#UtKMOgGJH$IHq_8CxfS7CdxHv>ziIJ>W5f46vsGdRRx?ij?HoFq3>KBP~i6J|x7=JpX}< z4${FFw+4bJWaDFXvF403ACgLSt0bTzQBX|GGJS6SPa1s8HF+>vxjt?G$-V{54WWaz zUR@u}w^hBlrqXR!ox?Zv`q5;*kGA_sQ;i`q535elNwfZjb#EGF{R%kXSyS3aWRWEl+Sh5zh?TS9ZyMD<;e6vz-Q^1ev z5J$MNW;1Zpoe|ad(~AC*;EL<&Rm>D_Is09b=aW3#*crib)9LknqW~My3G0fH&!gXZ z$Ut~+{;R~Wo?y>Aik`&d`I#M0wp))wS@chw)SCq-EvCGe$2J4io@E!VojquvU9ZAN zM3yI}Mxm8^mxg;lT7!YD-O&Nd$I>J}V9@KxS@Y@6JNE?8cS@UMYxbNe(x`aemW2Wf})7pCaHmP-Jb3p-PPGLEH#P; z)d8OgbmR$6(quq`usFs?-_`-C3*8h~gSa$a)icS)4FVmy^%*;^0@!DFVC472p@T4h zwbtIk__;SjWP`qS3iU)|+XwYtkO0mOYpz|}VQTop=uLUB6tI}#NF28!k2B5jC*+4H(n4f>#Gi0yns5YB#+EXaYLIB+tK&;ZY z)tb6#g$`KUJSHy@04%S(3@hleo$lI2*k0-J9{71*%grRLB|3On-{#$B2;U@?D6I!~84 z@cT%F!;yjl%GC;Z#l@s~tj&7Xnx5KjzDE9D(Y|&1z`XwQBB|M#1TJjQQ@F?fIr==!rUb$zQEB11Wez>C z(tS~kPKe8LT0EC`OK%odu&n~jMoq%^MuxK@>PVK{R$SD>^v!ztO6hkHIKQc^(;bvD@-}7>R4vO#GEjgD6M#h(}XzuK~@D5 zHb-DHM?4r8VJs%RHm!)vpoKEqQm+#ucJrmsTAAlmw(GAZ1}0@YV_6BLchbjwdqQvt3(@spWy3=dQ%BTfBb^zc*ma+X$+Sm^cs1Jmp%MS5hlbH1 zr=O->>Z1Hava|iESaL|0S~O+O(M+|-BWn874KMuiS9s&#Xl__oDv#eE9`hs#xA zPyXm`0j)kYU$%C0WS;cyhlmTq4`$0(T+bfo^2C((Vp!5oGvr?} zBzj^YfZ-8s4PTSZUa>(a@x_K++;ds#0JP9dw9us0{7~jxIlVB5Kb@WB7Y>t-i+ay=Vj*8|D&sbM4aI47P)&rdVq7bJ z_=X+?N3O3hQ=KoK2NT>^cg%RJ!D-I|g0rR~aA&~F8o`WR$%&l)=9puNJ#)&v<#C5z zA`zBO^fMqLGmT<8;?N;-Mf0Wj95gYa)6@TosP;p)-Rpw@@_XD;Y%Vmj$WdW;t8>Bi zO9`VjNL~EnqS>MITJR!V;Mpa=tI44j5?%po@zVG6?SskJv@WD1b>sPfEe`=Mn~J&g z2p|Qc%p&wqSz?3Urq@jJa!sCuS@t|F$gSzVM6Z2)xjkdEuU2PIXNZG$97rc|CdeX! zM{>rCs&Mh<&OUP#00FlI-8~)Yd6z5GZ}#&L$Osp7;2XXL+g*K5Cz2izS}5gNjQ;p- z8^cy=83T*@6!e(<#^7iwXrvRRQfnDjqxPxuv-2#K&65Ffw0|uB+aZVD@F}RMU&Ou~ zBIK~0EF0(G+FuQ?Zgpf z&UO!`YskuU$v!hVj31)W=Mi|^)W8#Tv1pDsV6Ux2O=dKLxD)_gWn?w=&DIFk=|k95>MNGJ{9*hu z%-RXN6{Xdp{YYY3tA2k-FKtX}D&dd|^1-DoBnS|LFyiPEPhL5G)xKacof`PbavVZ^ zXiQB)+vl=bJ^d?{+7Bjy-R>ZG{iyr?!KRAg!&6>T@q=`S+A5T{#t!!xe)t_0vX`pb zvPDT4-QmMCl+kf}D!aMO+HJ~(7`ES!GHPt+xzr)5K9)^Otj)5l&D7I z-@&>UC;Dn4IjQ2yx#DWBgG6ssxUvn6-o4I`vDx)TTFO~X?^$LX7P|LvI69wMlIqp# zS00%bCaVM1xref|@zH4#=+Sqe>X2|AN0eP7cmb6vGoe1zmk;q1v8rP8F#QTTT}TT* zzoI1#Q2B`7)Ff(>IC4D59`rX2}_=Z`zd8u9Fqt<5kT> z9dfDQK`czafTkwbdxlMteOVAQkoWR{2v1fui8{?%Jjvwc+Xa=#-%&@D$22}QoF%aq zG47(r!tveVVBsqY(seh@YkCHbFO7V;przT99AUp6R*$9jL!A5=QSE_+e#T%y>+3Ks zAkn~U*1fh(!$+u=Q8G(4F0Y&V$@fQysqfu4V*Nx-K-an*WKgP*xCB283&-n_OV9Pv zQ9IU_x(SfIE~|gQ+OwB`u+|@b4!YDKJaiVFn9pKcX&N8p74_DNB%1u489g&6d+#~C zT}rs+I2j#B9>!o`z7Rgc06`8~BccF8HCVW5uCIsvoUhyX+!dEU9#A%|P0DUwkI5T7 z-1UEbvVY$IO<5ZIisbL8(oV>XF>&$sZxZ2C9MFkQW|SZmWpgtzQ#w>;qEF2-a&r}{ z70Cy;oGC?AxDI<8OX4KrOljSBh!Evlk~D8Hb{;}xmn>JD#;@vA%syfSjZf_LC6S`w z@O(+I0W_iO1&*YxzRS>P!=Y-soDcUT2R-OJIknXhIzZ3-9(JiL)%puO1M8?kuSN9w z-L*o&L1N}fn8O1=q>pP>)uo0VCE3{d^S;jThf0^lh;LWhzZAMJ++lDDwNfrAmVf2j zt7#i9e^}uJ?LiOb=(OxB_>h7lHX5m{qdnB^%wmrVkvt@zJFX41RtWLs{^gM%W>=QV zl%kG7#o@L|KWtjQK&m~e6TJZEN{%R%PYPIT%sOep`|ZS^BNEt-h`5cNtp=$6PG0Yn zK(T5^f1cO`|77FBbhe*9Hrul3vmatoO}}-}(`L6aF2>2+_kxwAC=FHJ-WH`~t-NlU zeOoYJ7S}i~oSNiHdp!8T=lG#K5kekWgE*en!_=d2ROWdX($nifg8bcsUHhNP ze^qDhB!PNE>eB?pR!00T`He>I)ekQS!BXv+ZPHo3?|fJxXhY4DLA+liH1YfdkJw|8 zB2Gw*5I~-6?{c$YUFyjbl;{NjMp8j)p)9ujwMi2^AzWZ9e&G#nZ`d1rW?{;-6WkK@ z(z-q;|Dc0NjW2A7tS*Kc4l>Z=d%`t-3DP-;xnQ6d;ld^9_F;I1q$ZnIiln-w9=Mn> z^EqN~cRTYM7LAuBp~3~Gr54w|nc-MKwZx8pRf$iU-6;lFn0}Fq@)}#aFw@jy?i?{R z!9PVEo9;3J*DAISLft>P>V8C}DCv@r_Gv<(G}h`Rp0Zp7u|wp7u-4x0#jnOaVX04uoU!R=K%hH+g>Hq2+El@(0$a9@eqMTG9aJb~}7ii8Glm}psu-?tjnoeTc zdW*K?|8V?ePFEs(?Xr~Vk9YMH;Hk;w7fw6X`KcLG7#)3@-5{r#8F2bl9-LvN4w3?? zp2u~-)k&zc?aYsBdOMNFFvE>QvVj~=UvBz`F9+1Z6uj3^YQiU)l3C_T7Ep7Y0 zdu2^)@gdXMKeBYK4aV3mGlOGD0U&ZyytBfy?<-kVIE+*C_WQ$7*f=Bxdobm)X8x41 zRS0VPw!KD~uiTfci#~7?l$1KJH9HCt^$)5-Ge|9hbIv}8Z3n{#CbQWBMAFiWM8Q&U zw=IYRRq}Ect(bE&(;k;uHBURk#$7=W zCDiU`x-Y`hBEml9T|L&fE3b~h7Y~DL=ZPK!(A?xh4*yLpbZ`zAZ7v12!Yd^^PA{U5 zb_FvAjA%c8nuqUeG!XWStgLY?)3Lz-4Aqd%rIB>C;civ}Jpq zU;oi#grre_wP|1P!&nsw!j&-VKqd*y>KT+Ep6s#i`_S{F!HZCcc)CKPV>t+X+$Lc| zH|o3^Za$DGkNqS^{j!G)=!7!D0OS6sPX*K=?31m!{;a0b`=$hTfLeNnQtvJXXSoT1 zxxNESE{te>{){NS`s8trCQI6Kla((`ly9Bfg}m5<^{@CJ16H}>Ft5@VBD~Yjx&AbQ zb@$BvYNpnhiarZoH-u!t#W~+kI~&o= zmU0XH2s}=ms}~(+qaPnY7!jGOMJ{wdT@V{L1yq+0iQC6%vZ)UmcGxk96f|gFY9`RI zSbr#2FOpL%=R*__1^83!DJE7geI;sO9TMA2VG<%5M-n-L4~j{P?{bu$U8V1!u#c8x(#*!!f6;QRUWjpI40y zmi?imo%SK3p&b6;mBu@=)HyhL+gg9aFZaB(vR_Qt*0FHPR<>;9$nXfz(dm4mO#?K) zNJY!JP$o2=C#p@1t53e0zj$3dv3-;pADnW5aa}k&055)0qM069{q72XEUG8C{od39*K&l(Vj!XVG3?aQ-qRiFBKlyE;_mvF}Yo)@NcT=ekQcE$WO$%iorLfrC*Qw zBiWW7#;yAp_w3M_Ae|6!;jHIK!o`UpljP3URf<25X>ML>bwkt zC-&H8FJFp1D;eb+6PW6mgxj`N%rS|0%5K&V3FQ~wrrs1ypGd8p+DYgs!Ct&=v<+X_ zEsvOIMq8Yl`Gd7O!oV}rf$(scKsDYE%lW?qnxL5KM}wk8pBdt;#%Pun>&DEJ-+rEl z@jkK8N~y^lg&wyvq6ktpKd=nt|3exS!37F#mC6gl|9~@J5S}Q75f+aGh8fuHF+e!3 zrypx|<R8;Y!{jjSg?w*`pTOESx?!bUo`tw`EDT%4Wf&;r*ubw)NEnUV{ zj&d_C-8LLNsaE9g^%j0)A1L}wcOlor>-04V_c}DwVxJycJUSnkjq7j z?=1vOVWuYx+?;BJM`CHG02 zGU5Og9?b4)G>jqn3w~x56yp_4iVCcNPViH9mCxnzfzaho+|n7eZ!#wtn6UA|zTdiB zK!|{@2U+?EG5~%^VAP&@Je5^VJeAWYa05SmR85F)rAr8L%;XXRjC3_pXaXXcE;NJK z;`c9d;E9Vva5#-bV;BhE(!@x(G8sXb?dGZ%ki$2v1$T2aI{iqo+Jc<#-;+I_3&%ht zH)C}>n`T8`lqcw5$D^-~ zt%}Mjz+CLJ%+(huPt>L?E`E~`C}+j8*fGLKF_W?9C6jJ2CZ zOX3A=*a%0)Krcm>;^O0Z|0H0b;6)O|SA>p^S=y<>rFnW(c?m?~)kR){3uJ3Bmst;> zy=$UIbgmlf=T}E43g-*kAs1yy@tEA_^&CtPc-6lN%wph`=E-!Ue*Cx??Wmq^N}_CG zu(CbZjfTd=S;a$}HuTqt(-ThDyaP7gA5mNrFVjjww%3nI<|^%yU+phz24C(|rQ?or zI)mkq^?D+F!|;d0sv@!J3!S0*H)u5$4Wv+&et-Md3pxC@z9Q8G$V`@s*fp@t#Ii6r zDs%}>Fh;*F)myEX8pb?^hbX3Y6m%Oqu_+_#S1>*Ak_j~!uNz)V#xksFA}nVd1#$#F zuoWDEXhtLNfEYCEUuDWr|6jn!-B@ zU{2VB-L4u!vjgi&t+r4&7;)VTL#fsezue;)ta@8-TIV0K;=Sk6RHQWa7=6gY4^PtK zitQCFbLCtEoc)s7rcE?EJfhN2X3Y6@#_49^(%=G<>2dECg0|&lu@>Imb~?b0yl+=v z#59Y#g`19IHn-ud!l+fY_9r^>_rk3y!vwuKBA+%w*lH!QY=J$qIa}c5EAJ%-?nl@d zXE2-Q%0)&EZ6_gr`q@Xg+G;M8S78R^GSrPJu=o6|7RKaKYAu4tAn2;ac3ECv`kq4% zvy}a+I$GhRCvg^)x|bunTjodMTx7i^i@L-t@|;gsmJ6~z-E*$hHgd5TACo$1#~qcC z@Z}r&e%hC5-9w#n8V;|xYlnM62f_k?q?Pdvw$_KViaEaOB7cHt9V+1Ad8TSKJxr1( zDXTqZdm?u;(TO!Z&PK^Lm5SG>bkXpgsNBcc?kz_4?LP18wpv>B_f5L)S6IfR^z(ZfbIGGEs7iy$OSQX6 zZ1tWts))p{U$qU$a$ltgzr@6$TP)08rX7zAMXj#XiQH?_s4|tVp@O&yPJM78)DrX> zTlo2oU!~jQhv>-<=~+JU`W?25!iz=H1y3=2zpRUTtC_Jl0i-fs^3tj50nBfs?oDEGMxuBLl+(URls zg@~~P`^r$P^t=JnZfWaYVr2@eXL2u`V%i{7Cd5uGQO~P)L2^dpf+VSjW9}Xu>RTxf zIK5;KX-ZA4=R|ba;6Ls5#~*}Be&1dcIrv1T&{uLk9TZ+x6HIx))9W5bRByj!z6H(N zepiia+=3S5A|038I{dNJso}@?h=vfs=uh{`DIh?X8d+V7Zd zuG<&v~<(HwXaHU?nO&*%60qZ`#ZhTHh;g{f7YDAoWW zw-5NUL|92ol1bxJE3Yn96u4#STrbg@=$roXyq5ua7 z4i!{w`f(>nBqL93h<{Nme0!)M{J;O`#6q_M)4>;f5TrcO_xC;LDF8v=)+FKXCmBTj zDXwvq97D~fk`eg-s3cbl86tBgD(%AVt)f9*yN!ml(A-pPO$ySgj|x&sqbH746cr5L9;GxaFa{Ma(S?O{p)Xv$O$^PW^8G9 zE;2aB;k^?MQcQ--?s+>k>`Dk>@*TnF^($j< z$pi|mDtPbTqxyDG zwg)wk11|Z8a-AM@-|-dhKRR0(aG-eiwF}$lA!iBAP(qN5AhZ`RUw}Z~G~O!Bhh4Vv zNUAd9W&h7a8X52T$Uoh6ZNtX|y}w8tap<0-%$j5;vV$e;S+yw6e^Utn)Ic)vUn#n+ zp<*A;Ly&+`2f4@z(6N;`_r=+ejXSlCtXiz>`d_6TCM$qZ^;BYFG4qzxBD#_()P0z+ z!|+&@mf*a341c=9L#bCuIM7fus=Li1iN$rdg8N;% zuElY56khuxV@%{Cb;>0lLlCc~2}r#RI_;k&UeG&*gh{sF-%#SMjo$k~U8|JXpNJM( zE~F_xPZ=h)%`I~vtH8l*`1I{{zhKs4t4Or94w?2$X)+XZ8&-QjBPfxMe72kCeG~M3 zM{}0dvDMKqU(xlxA`UH-!a5X;Ee(_T`d|(;4E)7Lp_OA<1vJudZ27-Ic{p zsZ~XJ(#2Z?!<1znB&^Xk);C19`Bag3+JiL~ORVn80X5;zTCDyKSQO1y5@@n)Y}~_T z@qC7FCrg{~vI4JqIj{V_ z(Uv#DpPFu>_GjA-W1*Rkf4ufUf*CS^uIl z#)Tp{-$Lh#`(qOk0lH zB*f@}{#f-ief8q@@ zN>~ax%w=Pi8h!eKA+jmgM2J+}YmS-ow3&%3<4xCGTM!yXG1tFsRZIW^vEY;PB^7la zuCo&WMgvKQ5JSl?R|8Xc+hPmo4JI1kc5pBphJZBYu;YIy_%x$RpR*E@;Cu z?3^{?U*xqMg-3yeA_UK&2OSqjI`6;!vd<#f3%1oFWM!*iC02ntm}%&|u6Du9LdG zve}xCSdILb+Z>!1attPAztTyBgQ5q@#wgH?b2_wn5B=v_^df%b?zDwslW1CFmgn2k zVpPdSpLaIoi3Lsu#=@H^UQ|cW&I-i0Dm7D$4h#K*1;8(n~_5sPJoo>28p| z#FQF+->1TyZRVCiKuI}G>pw54m?S%};oHV|u4xc`6l10ywpRSW3XWLtF|=KJ$NP+> z|7YFD4UvJ4>r+i?+a69`W`*H&4xVK4VcL&hd5!*Ei5)PC&~R`nvH7)Ey@|Q(+^f7_ zB(y)n4UItyy?Bd-{(FSYxR#>9>=~x|b-J4gfI@#)o#yjT`tlkrZmJCVy@4eFK7pT) z0Ej1&En*fMTFHl`31goc<8%Sy}bNv6fPE zqeBPgV_<+KhgN+X1YMEOM@~0E#rS4@^GuO!S@$l@8^y0!g>qh0^3!CZEKq+Bst(wr z*5r(|T(p#@v(JvW1V%kb7JpBPmaDJNoy|a9u%v-|b(4Kr8fmI`Q1$kySngF?=ymtAZ>@NA| z%*%x<8$2oo%Oh5v!vj<)VUfMuqMq&%Tojf3Y%V^0mKfnmk%xx+mhb1W5Q5k zTHGed$BAYhOZJs`DrOy-(j3G2D!jP!wZ+p++d+bY0si z9B(Hf^x;$U$AAifSg86CzH$&T)G}e;=zV8w{ZfM(!*{0VwzPx)EId4M89;!r>4ee= z69-212mmj{#an%gb0Wz%3UqG?-o67Oo}Wt)?1kCADf@N*tybk%XKdiFB`&_`C%98N zs3vS~R;Ks4-}#Tfy!ezRidLXG$3XI}{Dv`g@j&Op)ajNp7_WP$T^b}OS{pOM+ zy$4lf{+(v=c#^n~j`Mv%=F-1iAtPEOH@x%(j*zVDpADvRioxYd0}YFY zz4`B1F;9o8|BKb`LOsp680ulT%sy6>&x`!i6=k#w$If0Kb_%LY-p6>*v6Q-s9KUW3XvC7KBPNUL?CLf$cSEx>!>WR9!bal)Gr=5fdLPpCWm; zsc(G-LmNjns+ZK9SxSrG1B{<#Vwuzb#}fY(&A4moQ+F&cPzu;8>o}l#hY9NIMcJyB z|J){goUjfltFuG%P39>Nb=4Jfo5kM|bSke+e3^SxSmXWj_^x^^J&t1fqApLhgKOQu zc8XN5G%UQ3XKFnN(vp(K9?*hfDzOx<^Y*i-ld3<(jkd&(mWDaD7(}$LDX~jday9?h zjH7r~!t`9%IFu@x^Y5MPztODo z9#$H{*=x8LB|m;J^J@=s^ghN{Z_rV+ZnJp1?^m7 z66`i%`X{ZeuG?rfGnu0&a&ix$#dgo@9BY%_?znM;hw$nmnO2ut6bqJ4w9+r^xGN}K zlN!G>Spze1NUFMnCqi+qnlcf-R!OzA~!j8X1o zgIu24vk3j>)VO*8RRe6cEVvx$g%zQ+{DZbXIX%%@-kP&x*am;WDB7V}ZxLQ6Uz!lnqM1q+=qmM0-A;K)5ztgKdjF=dX6NS=XGNkrqj2tUF&waML6^2EPka ze*d9rrdsk0*n(bErk*jDmNWJPNLIRXlwkH7wQ@%=mK zYb`mqmP;CVR7>Ktq{uMGDgpW!V+WE~=K_3m*}U|=Fh^br2Na2lm#Vf*RN`Fj0Um#i zL%F(DaRv+Ia0d|pK*8Urfe0KhlZ`%pi+NTk&0tQJleU)MzRH4izKZ%0t!$Gqn9_8u;nA#MSe+dZO81Jh8s| zBkAo1JkC{)#d)4rAZu;LoYw`s<`UVmLg#6VGn0plH!=ns+Jf%Iu=@yn=DZZ-l(zkp z73BADaPiH5q-0bI-(x%t|5rEs_iBDd?mZV#k!lpIKX>?pIqDAR9a5?M7XWqj;Ci+( z<}gmEp@Crx$6m5db6V(h)r7SFo8p1upWEQ$=&jZL0EA80HIr9pH*=ItocbsSTDW7pJc0RK)Ue8(XFbhHfsG9)H z>-H{@mfLuWue>YGT`L6s_g%YF$)un4nAyx2((MhtBSbBnE_4eov<{xNa}4tE$U50B zRwcTcgSgoq_ZOav!dkTJt^PIO$&e)N;9!Uvm%O@%*qsi~wkMo2AT%oXY@6ms(Zgzj zsAk!XM2sqPDB@1loo@M}pgRJMjzcEXM@;SGI7=mJDry#ZzR8s9(1_2By4&tFoL>aj z$#F+5O}RyRSr7$%k+1HKZp~}HR@B$o76fAr)Dx+F(~@)KaY6wIy(UDs8jnTQ5VVKN zazRo9fmTZq7cr06GC?5m4JkTsGN{HN5;F%OT5$}&m{xIP=oeCT{d zNFx7vNe|WJLCMu0`D-&at4`Ym5jX5wqVnfFzbnl;vSS1GU(Ce_25U)FgemDO3x^Gv zvV`BwC?gPG#-;QI$8SW_tJhA5WLE|`Qwo*<0;N?I{pUzZ?4CA8KEdOFC}p`<23#ab z&jA9Mo!`IteAJvO5*a24G-5m zT=XR%by~h+5$~Ypqup%570|)_eSZZ)+Ef3ktXG7u8D!{9~P@xY+xdX#J zAf>fIy?(~#YD82Rme1CIarW?Qde!$AMihVe$|kw_b`%#^(X9ISsl=>r(M8zoddHUX z6!7;<;(hJ8}MJX1fixDwC&DH{+B)-gGNmlHyB>6GE%*+G8`=<{fYo*`f_VH z*VGe%a?K?FXXvKrDNnzQkW~`JPdFlPy|a46hg z-%kIF&Y)C#E%D5G*F}5P_u&q+NG$cxx-V7}8h|Ng5;181IxZ_r%T5C$y|Ix>F z(Cb!)Uo{5DC@VD?&-^kLWnK2pKHXeH&D6Lkx`6S&fb0?5-j7xP{sJ0uQdW3NDC@Yu zg$PtJb{YDqSp$_3#r(scao3$rSXgW=HGuuuBO&_f&@)^@4lH!w|HXJb2T&FO9fzjK zmI7*f31!+b!YPQb3Mh3NKKA6UdSfMJbDN;VzSuKH^(fZ2+&F{SvKng8MG9P9yZ>QR zw1(iSO~$bnsl6>bzBD8g1&+6Q_E>q8oUncE04{Sri+w~-ig9aDgO^IEd0>P@TKtfi z`(OE)gjOFL2l5OL(s{u}vI(hK-|Tplwjeh19|FBhhU{4+?RE2YEB;Q==% zn~H6THi5gTu(-r8-x$f1#k zVrZz`qafgUFk0|mcmw0AsCCGFc4!6_?z*zIL`B;1w&tjNTz}C27fw4W03QU6E55~G z$9ywW9G=xl*{0BBZ92k@+4G+Va^E}_qSR(+=t}gQ%nPe)G1ke0S7SuO`ADNH188vll!&~oFz0+H9#lBK*LR4BIhyreb#C_lmaXR zvMI{->_5u=?08@yJUd}5?`nEjb<2SJPk;Jp>3`%Om^cJ38;?@UoX&uN?{aP&8}T&} z7Dtzd;If4%+c{OE?@bT=1YUk_t9sK`v^H8-)gv0>xn9G3bb zCkg}vzkV3MZWk3i5R^bv0&G>5q^?ja$VTe*;*#JAFB(^^*Yom(Ri~)|+(k@4`v2r51FY#vJhd=8>6%~M;JFjm0r)3|GOyz;Ivsr2{F|V4Kz|-(}$K=P(41_dIwfVbdpwX=h}Qnrr56s>;;SQLP_DopN#$ zd2NDi=x>QY4;+VHYRG{$e5!5VxvQY2UIfnHt5KBOT)!_ z&mTC>#4YsmaTL7UEcC0kZm(I0#kYPBdF66vnM{9=)uuwdl)Y4EHvs(=nA3jD@gz91nj=Mc;jASKG{)DX*qpUPDehY%w>qf zJVlx-{}O1vYG%Fz%~r#NW5V5Gx3$dHs>9>eQrI#mb)13wa4!q%R&?Ejn9;K+ty%4} z11-hz3c&*TS$i|EvNQiyZ%lmbzK=D&i^;;xxEs2IZ-6!!PcCF+$1km^sy&o#uJP)N zdvg6cb#Zf3_c&js@Wjq#w-KY@?JGghm~6(Shc;P6&fEZ;AJ*Cd$=yS7)Drie10K%T zr;C-2qdu0lBVzgfv(w{v`C!Z7yA8Z?M>|Ck!9Y4jm8 zJcFC-?WQ#=^LK&ME5o$o%s4jYk~XjSMuGt>?x~xyA5`~&Q^Ri?-hr$ zopqBgI@&o9IL0J$K^HKT?KkQigtQt4d&A)Q9YGKFqcWF#?ky8tS#eJuviSv+-y|Q` z@sk;RZBXx`-AYP&Z~gqEt^s;N;ULGJqKbQa7@Jh+Rhk3xkr6Kc@uSD)P?@*`Oe2Zj zO~#nb#(45+-Fnv6Z<+DLuIYVd-|h-K@4G77%fElRyvUW{@md%hR70WY&TjljkB-9!c}}*m3K_?v2ue2Kb(Z)Y*hN3we;#mYg1rnlVSV3%>1o$ z#+xb`DtMBdwSM>no`f{h z6`8=!C;|I2B3PXy7%xw*o3J}4Jlu6li`_KIdM1AR3gYRi@x5m%#Zh}hlH^E|^cH0f zUYX#)j}}E68YCP+SuU`jxfqmjWXJ96Is1^yD@4+jUVjL}aQzG)n&i z0#x?v*eAwWNcSs^PP!W9SDB{O>*cutpP+}i$g`yx-eG*1Bd`8bi45ma$n+7H@-jzR z^>xzhZH}xj%l)Wu@gqm*2_gj+37(@=WKxI?zQdD8$a1{wcyhm$0L8@n=DOw7WK1q~Msy&HnoCk(*LEQLaDNadZ4#`__fjg!3%{5Cd3#;FomWLY`EPoc^pao@ zBX%2K9heb2C5@XZch78b0K;qkoExySGXS0EK*Rlk$@Ti_rv=P7?&SRX6qyOhkfjwB zFO;LM6)-2e_9J+a`Y80MSYGD)O1x+mqvl5Y$``yFV9ZW~vNc(=rVHXg>@an%mp;TR zo~dmW?67AR4<3(na;OqtF-Nqu%%9amWM28V2Tzx14tE{~@yykEoum|ioqcTrbK*`u zYsPC5HFwl5-+Q0%J7l<&1akWNlq8GxmlH!=a`g@&9>@&)1U<_*uOa)fK2Q+!@Mzzp zdAw|v{o=#IbcNzB!bNsq+^sdBS~nijc+M~_m|pGRYzf}lzRhw&-p7;ql$aOtN=^rt zRCSVPZ>w4`f-jbl_U^5R7tPo)VyNo z_E2&6_y-gue)1SqeQlR+b)~VNV!=o)-CSW$F!Js3JWsb~c)Jw}d6Fhte=An+e~g-u z?%@;n0~^G3i+Rnrb*$ZwX$%~?=ww#(N$~;jMP4IT#zd60j%^^k%pXPuQ$Q^7OZfiExgzXLSOLEI68cq+@cYa2+RB_mt z1ln@DyNJqyHe?XHEaUlfWw0gCXw@O=ll!|4LCZ)#X~X=92GG1rz)@5ussP|oRRR5; z8K4oj@ja@n^1p+m*>_zpn?g4d&T1j+0sA%+%bp|I%Pa8{4jY}2KxsXs%<_RhPv>QA zwXlXePzTAt?HfSxCP%i^9rq|$+v$1k7rmaZ|jb(4i@r)YZ z^NbCxytj1!DhLD!I6sZ<2)#_6@wyZ>_=2b_hgjJnFJ6Vwb7fv=P0+j(xm@jPgiQ3W zn1AtfxIE&OL{*$f9l))aAYze%WVeY3?T>FMk%fwKTj$=EI7X2RybcxL#RfQ3K7S4f z5L-r7TTwZa{iieIw{(yP5iOO#mPZowrFf=yop{Q>d@&YTh8K}gCFU)bk_!!Xq6L>` zyphU&56#%i7B?ea_oC1~*g%rc5Hg;~l~V3r+UY+!&f#V<{z2C}crr%Y z{}xQy+#xwVNU-INX|>_dpLXB7ax~5Y_Zh9tc72w1o&_u(vP|7=%S2-H@MuChDK|w;^^tIyJf6 zD@;X@f(QGZ*n!pVyZk;a8y6PM2TtR~X|orvo(A6Y6jj)LKIz9P~B=$ae%voAj zeQ`6_p7_cf_{dXoE$Maeb8cMb(f~mZ&99%ODIVN==zMocr-rAlHey?LjAd5q7Ocg* zR{c_bhlz>FiL=t-{FY)g_}KWGXKZ|BUG8yZaQKn2EO=V+Bk*Iu{Uhn%Rj5p1JWSN6 zcx?6ttKKcNO4skye#_WSg_PKvxa5U9V1m6JRRHe1>^@w#LeTA_nx|#9j6z9BnuBt5 zw~W{TXe3GJ!y}Sb=J4l`P)38Dndk zWUL9Q5Yz}$b*g(iE}oxzCN;~k8PE{OJMU#laNn&*Z;ot(XfwuGAf$#%BE$gD5pVVF zI<2)fu@esO1#J#b)YJWN7|44;=bgFdVNVC@5VJhJF)384<_~1zzmT4^IPJem9-D17 zn(eIJNp#>y9IuZF+sBQ$ylbh-Z7ywNsG#FV8)t$gPDHCCs6W79{(;k`dcpo&{O?d( zOCxHju|}=1a}J*~>Gx>EJ1lNxj{Tnm7!VmdwNr%dbZNjP@-<@O+|yBs1f|d12o9Tt z%H4@4E{{CExT%WsPwYQDvLwl%`(CHPQNLF9-Dq0_MmgP9ub{MPpzQ|3d+5P>4c+oU zXj@A0th@I9x?Cl*8@d82CFAAH#L^1*JJ}7Y_0hJWX>rJw&SUhI7AP5{U60fx8nz^Dp<1_Gvcd0%vkJe2ZK|6V z3D~ZCl?EUAFCnZYi&uEtKJA&6HVBBX6y`!(szjvjeIYxG+1t)X!j@G}5d&W9H%lR{ z9@2aV(7p=3A%h0wjTmT0dR9AVDJ+{Cb@WHn-Q z?}%l|JNLd?w`AjB!_p!j^m}N+;uQHx68pGfszH$sr{X&+U~{)A6==A`_lKN}RY;0? zAxLwgab`=d`@wLk za@toRel`4x@Ky-@>x^P;%_SHUKx!i6=mAGXg~Lx6M><5P1B&k4QFyzA+GzpdigE(; zsnm8uIKN9pSR%9GfMTKhT1a#XJDq`+hPkETu=J8Tv+T{&;U4FhofhiYC+dR+V4>}n zzA#7of!&4~l6VXf0?w_Owj=_V^pQ5#l#w>~6wNmGNU|>D@2e&XUuR&pGrP9PpAV8I zfdlJ)!t8g3Y_2J^{w_(Tey&NMU*A=$_1udwLj1W3#@=ir6QQ&lC*6A+@B+~0i9Bet zNrrag^bkgso?}WFDiEuqiqGHFaVRc^$Z4fAmN2m~C)m6zv7p`jBfq!N`UkY(6z{bX z;`REssC89#LGJ>1XWN9a^ii9`roXK}z6r5UJzY_FAq|s3BvVFvRe}}PC=^FI7gmvC z%L~5cphQ!>Javb-LEm50XKT`1^Au8rWA;nC*7W&|O$K>%bq0s~&C3-&Z2t5-;vHMF zL&AI$ZN_zeml2vlNIGe-&(Lm#vC9CD)7Bp|@ZTCu*z@w!+1=u;NO2cW*?>+X@%}?6 z)W84SFQ^vPs<`2muoF~rSi1;H-Ob_g`RsL;B03LWFFVxfR4IdvnJy=qy1;=O30@<6 z^8+0Ie&w@*7b(qp!>!MRWBK$bm&N2sd zJI4e_3__igL-l2mX&jokY9Sb`h2Mfu)k6j*Yf=LFcB_?EV(2C5yMHJbsPWa*^;%ng zUqGnQ$u3Uv$&~SNaHG2^J`FwZe_&W*+B6G5j77dTn{j1Hy&&{7%)bD(uSocQ_+jFU z^Wh)7Tj{{rkumAn5n%wuOuI`@woj>S`NVc&c6^VSIH~)ePa?xl?qM4D1?8KYq@azg zZqU0&tX48q7vNWAd$*lN?OkG19?N)3Ue_-3=lMac3VGCZDsC9Y-=^%qc&#UcUE(u7 zpVCTymgs{ux(&b;IGFb|gQqxKzuxU@#DC)Efm-lZLyUNQF3ewKykBDVD7(?37KF`M zR)BeDj7-fui=eZ&gL@viY7ADn+xC?@V+^eJv~s;7R?^K>0)GzkdkgVkyBbM9_Wa#a zX=^V<&+8Tx-7epd@996?yEsppImLxlFEwix?--73M!W@WP&6PejQEVDPE!I}U{n5q z^sUoX)s^So$1=@*dpUvb*hde6($&8YriYVn#7*->ulGloX|nYWZuJi&it@k}vx_;k zz^yf#2kJph_*B*8^OZo~zok?2Ri3@e)N_a``m zEMyc;Pm@SSXlMtI>}zVVjNfp6#1$Kh@5u5h#5o`H1q|EQ@IKG-Wq_B_IrKqf3p2vS zCkIffiDLZ@s{HZFjJN2)ns=u<7v6nWtjUt?)LI8D2oQh5IaI8fk)F~*A&&&NKfqDX z5=vb4`Vuta;MP~40~_@} z2d8ms_49p#^aDLCIdq6j*nBQ6xMo-LzQ@pNF&gBf0(>kNbqV;35#<>#jl4z5tDPeC*{a&@^zJNH?L@QmNzKJ!gLpM6`u zcf0j$b0q7NLn7=#Blm4YcP1Z^DO)a7Go7@HCq=%CyL&Nxr0|KsNSgVqWv)wJ#)W7;uTbO}n*jujJ=UnoqFe`Id*gtMU zdk%vd16uZk&X-1f#FwTl6GX;rd-Q^olC}^|o&@o?)xlZ?RyIy;lrd6R0MM_rD zF=D@eDJvt}WW%WM(m5MZr`!$`m_a0F>ouMw{d072Sus+guhgyERw&Ktqemk^x?cF0 z>LF6hFdKwbmgf_tRdsQ3Pd7EV<;PHlNc9VX_Q!f7_Y{}6g={%(d<#40i>`B2ENo1+w84`r_32NuNAzRr|l!w?dvUDN-M-f4ONSB?9W!VLZi2`xJX};t6M? z9Pu)=b~Bco4bSW4tB*|E-rX{v_U8t~(;~PFWl-nD-|m5= zN#{}#0XvhZ;cs{Lq}}hkXf1UM z623(%oY%Hybvq8MH)=O;Yda*JvlbUJG#(`yjNNetC12-A1~x1C-M6UC2iEIb&_c}) z_v^6&KT^G~u}wH^nM@BZR94$R<0o1~F=* zn^UxY_v;H_eY!iujF&jn_I0`jDz?ikrNzSSpw%FcrUkgnNQk;5WpzVYfdzcgkt^X| zT?89Do+04}Gk>^>4n$E2%M|Ks&2jP@H87)rkv6w~PHH!fN4rOz!Wz>LME$n5(?#cJ z{pK{@Yb?B<_fmtq^V0)iqWx|Ni$W?S^nJc&V>)d>4!C(CwQlP`)VDw0V`yv7%VA3kqv$jg|SQS*==mJ<#OGMmBK{Z z*Is|fYqJn%|D8rgwlU9Doz(8$rIi;@l-O~#KYeNvhS*HNy4c)A><&$%q6X%DR@j8) zHNL+obHO`J<2FX$VB_Atk#MkKbU@C7bH7bXVDx%)d&ZJt0nwJSLmWx`Bv4zYP{-lK zA>jSzZ}F`}#L@S*Z0$2$Cxuym7_lD(gDEIra_ zZQG-1?HDmBn|V@Y9A+@=|2kckp>?SBvC=@zuaA-F1FgU z@SiauC!Mk1FIvs_H6naSlC<}VRhk>^6RX1(h5E$^nUMI3=_BTyhC}4$Fm>h2J(KLr zOK(f>U|hMrMA+S$q=`+ffY4D)_f-eq%#9yPE?>`a+r!OhC>SY1T>ugk>>=0D>$N9{ zEI35j-YzGVO1#sXa;`YQa}p9UZVPHwyLqU2-DWi=%h0Z$*E_$w7{=``S=+^e{e}GQL{T4t+gN%D7pFW&PiOfx~ zZu*M3E=7A+hIR>`{t$PN)${4fLmbSgem?2ANw}Ph>Z-L4IM2@OSmfFnqCF5!m-V$V z3%vRyIuGgS9)-gfCWE%%fjXb`ZHd;TZMi zm6>kRIJRA1JF(~k*RV&8@{0-bl#E=s@MGMq7#*M94)9HZnQxgvW9;v?))J|+IhNC| zS<5tv`~cQmlOU$0`KF{pS5u7)gR!D9hlI^_pXC&+2`MMF;mr(#jO}k~HsZKjY+&tY zAI~pDGnQ^M`KIa7*SxzupOOSu8SWJSd4oO7Efrv$>tn zIBbmN+&=U$1CAbX(Cg;d2~}|Gf z8wQW?Q4VFUYz;#kWj7GluOBi7!vFw7Z)2Vr$)5>0N*hoMuFb5_Xk)65#YM1T^_$2q z`Uj3fMvc=F(@lN|VPNI7Ntw%FgfO;XhPRsFqD=8YpQ9<^H|rHkYK)CKrIg$^z-HNg z>bh5XKaEn?Bi+g;5fbdb_bT4^ZHrO_K40~J6aR)DX`bAIwbx)$wcBRGt5c-leqo7w zKR_#<<7Mu^Rm73cLp_@%qJJe0k@U0fROL>~ljTmTCMd|}%I&gX zpR#Y=?<6|{;52k2Z(O z&|VSerDKx-{N;_`|C@u&X|3vPvdLI;U=&!$y3fyWy;D zb~;M4NeD4t4IbL`YeFgT$)aA5PMZnZjSPFzX9<_$)m~+!Upk!n&-oq75B#bTf7}CS zi}ULDf*vB3l0$?nS;>zVfQK=#nvmZSm_-u1#A*Cp^6^i^P2D)*y6<@*Lv{8c0 zz7c#<6>x7in-gZfvj2UIw4!|xzB~ZuQ8hrxFwgwo&nqc~uWJQ4m6^1rEP9_MoT5i7 ze}c%SG8`-nekoF-p06(_*qOxK=2Z0e`cxoxskIMqg*tLq|3uZ0^v&vCBpII3U zZF;i!4#a}YCHa#c=pAOkExv{!Wd$7ou#953e3Qdb^VZiMbF-X|$5C@M!Znh69scsc zvm-5_rz1Ds@5n#Kx$Q^n6Q^d1;a-!%4%XEV)X#1f`~X;Jc%VH#%Hf*)Et=Dl8TWd- zRmfSHJ;ep}>xRFzjQP1Pr|+ z6;?bF%x3M#Q~%gap&zK;3#dY|ov7nwXbZa}?hQh$DpE9GKFqw{KMGfPFj}z#Fh&n; zH=DUdy^@;P%P8pD`*O9i7+AcRj)5=lvuDz%4f=9t+RK6>1?@Dda8$twVN?z6#kZU! zU*EhgF&yd3g;9}t;2%~_Q?iym3Y5ip9PTtKIKMY{O?AH{oej!m(xEKmOY~rwUx^SQ zJ`XLYIP|9yI6af@tazyIrYrYh{!@481%q{tPj1zF#e;}9>A`KZflx_nT%0ATYwsSH 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

Q) zY6`3&#ANfm+3=}Qil@oTX!m&1Y`G7z-j4ez^W%`|HOOoT4B9od+rHWl)(gnN>m)=k z;rn|7;r29inwj6{z-L3PV{_co4&!tiJ6U>;ntCq{#s#- z)}ySkILB5arpl*~;VrB$*X&-9vYH*|$+aC8$PFFln{m0Gd?swyV#HLlMjsBIF0WuM zo`Y=905x0l&zuDW1f*^c5|AYx*`k|gB=2JDoNI30@{hYC6k&Pyr-;}b?fq*>N7%?C&0#Z8q ztP+s_k`n9uU*iykJMOqcKK$@QY2UuRBqk=xC!c&Gk3RaS`9F+p_EziTi3{7t z#l=a31`VWHvu4tzOBZR?s+GL)#v5|YHP@KyxpU_}r&80af`6fax>+~~LMap=jFzgG zULnula}x+id|(9R#ga1PHAKm{v!?z z#~)Xj3LqfWjWSRQZzYWd#1N3LBpL)Hyzy))^Vxi9insRjr%sTmlQLG){siVjIr|x@ zO&dVzysI;nPsBY8rgAz(+K!kEWp=VO8ZuR0>pKJFW0pMB4Q^OTh(G8(Lp~Td4T|;@ zD6>=K3$%F`O7wFeDUT(=T?cI%^qC>=52SU(YC|IPcK_+-U~%#%>Hbo7wU-qufKMK(U{KaVMMkcEy-I$4!*( zIJU<34+c#G0m0fN&X%j&&X+1J7fLJ$NOZFWMsbS)Dz;c)2;5DW3uU2_PvyNc$P?$# z3G#D1j{PC}`v~}a$P{TgoK}{}AU{)Jk(mZUF~h9w9ax*1nA?pV5F3KePhh>?gzTRU zAz_&!&4-Z~O_i6iz9fv#;QC9h=h2d+5oG0^{?m=@b@0p{0Qmg4P9H-K%ENI#9&D33 zkTkY?6!JfhwR(TRH1jMt9*>5AV4PZ5_badtm0K>b)&XzM>AGVnvDW7(tWA{j-8t9P zYGc|rUF5kh%2s}(ojzRWoO@z0PO(pr%?#_CIRY{P1Z1{^e6l!2j#M%)NHeBqPUbl; z@+n(XGnd?+bE(%Ox~Y#fa*x@}OCFMgrYZM&#^hK{U1Rx?m;2Iv&bPb^QsnSpo{9gk z2*_7b4%Sr?kWx22EhVboBH_{1;079rVuU4Aez!b9zQG3o2lDbKJL4&`^n0AeAapnR zNJvO9Bw^mXd9rx%Vso57f4(eOus{|rTqxtljgvd?ywkMh|8xGb6ggIo=bwLGe*5h= zS+Zn_>BqsMMT=y{j2Y6jX;bt6BHISy@1GTAIkPb*S&fm&Y^wWUZu%Mr@0y@*?##g&kp1G^0>zv_`1b##N#lmn9BB0JoATnbPs{yx z-6hvvd8Jg0j{^ZI>q$?W9oD{cVIR9)u)JTeJMFwv@unBH;I@n?0m+~ex-Wk=_d;{w zoh(=m0dYSl#{%NK^+_+)T%h^agZa-U&_4YBp@-Qdgl`(*a~+BR^sw@A5*`OD(dBnS zDR@rGJn*rUf3~|szA;LQzw?VJ9@YVG*_X}$`Iz`ezzQ1M&6zU6C~8#1U+4t|dEitK zipd5a4}$X9e=4jW)1_|r=^!8=7~Sz^9pB&T$F@`Clfh7kaio&Wc2D-e+x#9g&==wh z23T#_&j;xDl|Iu90l60neXWib`1uJa-n`ZbeYF@iNji?4D2bydN{5kuN~__Mr7`Y* zz3()68u#9xILi=_TRO}(r0LOaAUnOML1~_9#%VN&)|jbKwx=0+o`XCuLGga4ztulU zN3)@mjk5mvPzy~lW~<>CchqEHqO=<^$;|&9%$+3WuFkXM+IDm0;+FFy0r56*P~u{s z*u~*w6Zy$-E;8t z;W{5}_aE)u-X;dleJSI**3KoHyMK?oOaW-?&0 z3VPXk-K6Y;ADeiyh)Zw7Z_i~CRxTFFFv=n+MucUZ_58jCuC!z&-D+ljO9M?)n^Rf0 z+~lKLwQBOyPd~|u6)R-QlquFrpg;di*{c&L8X_@wE-btE++*(XB`@8oXhmt*u%WD3 zv&OV{_vIW(K-R5WC;j{PH~+WN&CA;olF|AGljX^~Muoq%^hX9W`%L`>X=gU&ZZJW_ z|Al=V$jjA0#`0c!D*(NOsm~UJfbsZh)#ZuXu9LmS1uHUO0#g5t_vGXE-;s~seM{bX zW4IOn5mvf_gjJ|)iV&8# z@;)hb%kxkU8cDgQJ4u0hgCzR>?-5_{r>vYcL8b&jKHMaPO5OBHe@F)?;IH+D0^fg% z!RviVK0q3hsL0Nchq}&?x;WPBF-=}XyVv`Gc=WZ}y@c=2_nc;~5mf$P?nA}eYWK3a zKHU(Q`#>UY?>N)o?!=j<@8@vuoBd!77&KX$44H^G{S&3>&`D61CqcOeIfBCd7~0*- zdpq&oS#mFk!6RKQdD#D(eW`fUVncbR8A3(*dF}Onw9-rgIRK#cffqHU!)+E!)_!DuqyQhE*fnCH3f zz;n)SXW;55+P=niROX8}1_1%#%(MlB1f;P=ejK@?UBoE5$$}Jlo6NHnb89|E4s&in zs(E=xirv;NujhJ`)a{(Mk*432F%1c@$1+FP{b|N@pYx3Aj5W{d-%GZXxhzOMf7B3) z2Kk8kY=&k1c<+1E02yk2TT0jd2=Qjm;ibpjRxv`P0S_w^DPj0cVrD*zgk-%&MP^c( zX7%^jp8^p~jf(WzyJhA}HU57zdh}>nwQ3cTflM&)wO@b#{dYq`e*XDq6DUgeDesJq zBqmQh@q{5CGiS~;_xSu>#~36vYuB!o=FOX%`>1?mwnl}&|1&eIV0%}1cOQd!7xIuPFvE z^qeY>cbhH`c9|~sbjF+c&NHNTBCR3Q@a7$gbWbSOy{E`aX!|_cKG}UL2+DNa1Esb* z6=V_tkPp+>6mz{!ml<+Lrx|in``T&2Z5=Lb5CGQ%K8e%VOz@nTo2p>V)Aqnlx%!v-)}*A z{~!8mIA9{IDwAL_;nDj1367s(%ujJ_IB*i$PB!vC(sjDr)?tQR+h&$j2LY+rVlK$X zT#0Ks7uJxuQndx#l3LBiTxQ9AovFlwWMKT)K)PPJK+2MU;5Viu5?++J>@EqfcoklPR5C9^%x{v1fT)ju zMlLQ?{Oi@LC#zSlHiRI<-(nDll`B^o_bDeH#OaT&S4=(n<(FR?7cPH9#!YBQQfMW) z_S$Pre;N;>I2#DJQ}C9?evN{{8yR0&>Rf-B?0qR#{tl3UOa}pZ76jz2S6-IaUU*)f zd-8FqbN@Y3>&BXL<)xQO#e{g1VT*qgmUZAf*ZaH(oG;zhY3I0L`LlTVgIYiW3_|y| zdIUm1yepw+XRdT_#+;erH{ML#=i3UCNg~Yp4?esE2uOKT2rMGuN+}5fQsTyECC|<8 z$Q7^kKw-N-Bzg8^nB9Z7eE1?EQzucu`vX~^{*=eMOp)51p?G$lE_Xlyzop#_xfQsx z<8*VbZr7>uOm`^FNt5Ln;E8Ti<>4+=RHw;(~&y?%ifK;@HvfX8x>FQ;I{2g2X+@Hv~k+^Vf zAbDu>Tu*B)>vo-D#(EfY=d*aqGyln^Uu#UPH^=P6{y;Rk+UtZi?2p8P#H2Q5!+7^~ zo@V;wv#f_cJkJgH-3_^KXgfnLZ#7G*V9xPo4dy_honzjjM^c&n!ulNb`5g0^3a)z*@_-+^FY9DR)SG3Vwxd8-k3ikPIxD5Ut1OZt-6G7;(?i6igxf(^;{icjL*CR)y zOSVW~vVHEBZLaIwTO%}ujLQD69I=VOhce9B>u`MJL_ojK1hk(qPGsn16MZujvH4X{ViXvP_kk_IDwt&=o`7L?%h5FK<-c#}f zs-fR=$8B=`wO32^YE_M8#fbr7zNXWRwN#ysCt5;y}Wz_>U5$B(yZ#9wJc%z4CPudg)z~>$1nB)@yCxjslg9yR%J*x9Ft|uGNLoPX+$=_R~O;WVr;kj%sZGImh=QuSd==W~V6spQo%tq^rGiJ<>fd8!04UmX~ZUS)4Wc zd`{}M@gCDzFI#R)4j=Nm@BMtHW&LP88AVNhLjd~MQtqWeQufIXARr%F7Ldzn0lC`z z28ALS23@esZ&PS$7c8xWp0*FB)n(xMFTea^Vlo2#9iBFAn#`ItOKR4v=?NfrQtmQ) z770Z#zv~QeXSOZJ!yvQPoUFWE)=KFAjY{a@i1{j99Ik+cupbM;!dJjL<}DK9x$X%< zCjmkHQQ0zOB%*w@+;&+-5RjO_2*}H&WJ-gpTC5C*ri?~?Y5=l{w+_9h_SE?E8uNP5BO?n>xNKr)er*U5h64nlWZK-^ga+$1EB zV6p7}am!N0QbRr1Zsg0@O!QH zQ=t4>*9f+~iG8#oiI@fgG2P(WRy;S&5Q*DKUOG^zruAit+}B~U+>7sbbm09YL2Pf` zcTG$50}^sQ?!B?iR3lHVcGC=DxQ*ksx5&fokmD{K??E5;b(mrl@P|52mPetaKb8oh z(Pfe$0FQN^gmc!l+MOnw_O;quV_w~Inq1yuhE#1f6UyvNsR)HO9;uIctkQIbRBt|0 zuE6zcTT&K_6y4U|2G^pUCEqPvH?Bh)>m0A$VaUN$1J3hyp6@W-jP11HI&yvQXg5Xf zH1}BN%n|2qcby|@;an~Ae5P6B+TgRX`b?4SwzgKgTiZF9YRk;F)?8|~v54puSo2Fk zwyI(c5}M31>7QeuJjYPE{R~Pp3fWo8w1r5Vi*|iCpIJE5{v7>Ub8*tqTJ^`OPOn=*EwfihAi;h=QCaF<(x~sZk}`QYXQm@cKqsZ*yK*D0p!CFyV!4u1ah(@!NiIXS4` zbXrV$^yp#!59R-{=PSwkH!7i@tvz@y?_*DKWRQzo1&d4W!XZ*CK0+E@S4vvnR7Re= zq@+|R2@75R;&M^35Gi5nUexL6f>o|uSwlc-U6LSsUW}15fe?^a%gTg$mq^Wf>d3u! z-6?n6db8YgLk*LD_tNSYOCd>6F+f&l00wsD>uBeyE=NXHwp1o zAH?mZr52D(T0oqIc2e*<56u05+{g5)cAnD~kWkC@%DibTjY^+U6{TRAiju4J#q!+y zO=Rw@8NhVJdrZi7^5I=8gjuyl|L`Z2YGlZPo5mF_ron14%_!Q}0oS*h3PLhfY8rBa z&rqyy;JH>)@ZCOV<2szb7N9bJ1#nr5>2g`~=}_#a$yF_=;7&95-`sWz6yhmHQLcsK zEo~=50iG%~T3PMbp7#-y=c<+@BfLJVVsLW!YVbHAqij1gyL->{)-tPAs{BeCC%*hX<^A~ z&EHxB%EtL!Yu3(Mi|gz*Bu~Um_L1^Z;ZHk{DW0}9owly)R-2U1*SEITgR*ce%231e zyj<pA+iHr@{fHBV5>#(+WzyJGozYX8|{3ldZSNEN{cjih2 z?@G^eo~k}w-Cf;xG*fTC=RK!8-YY$aihZx*VjYbZw^Tu!7Q8$5quJ6o)`d!pK0y_}+?2+T``!e_I zxmWh@Y5Y8jvpl2XJq)k5-C7U>LLpd`miOezldK`3EL#8F7RTo+ zh3*9gB-eR;27DAp{P4voDfqt|O98f&0bGH$xfFh~ycibON0<@m)XmRXsU$ij!Xj}W zzDym_y%hdL0OZm<)|(rX@YK?J=sRixj2<}xh7TD81NtHOsPE3%ugWp}iZWou5q#(@ zSbE*}_xw4|20ZLFtt~?LrsB;NHDm*m3nKJpMCeU{51R$a6)TqweB{z^WXqJ*REC6H z*)$4Gjn`yW5z2t&$9upOcAs0eTQY04_%R9D0eZA1=82skSe+eQ^;^Ci`BN{k%=U;U!$C<6{1xuqt(I zFSD=LK{{3zyMqwG@S^?5iws)m9KF@C-Eq7=uHHTt&)-+i=dhfsAJ2tA51#k1oNwq+ zT*#x1zy(7cI$QgP4Sq2@nZ-`oS)A@SQe6M{OYWBZ^;Nw*&$3=G;FTAB+f&MDA z?zkxLL32^hrmwpHK8IgY_x>_8@LaJy^pbgodTwL{?E3RFc-hQdKSP=i^=W*6mi8g!2Qt# z7e^%kLRz(aGWX;YBb|$-&h>qKzOxk-`rV&T962ra=?9;}pNO@{R|7(f1-101lES$3 zc?p0_nly<;<%MWK-hcmn1}>US$u~u4Q&}4e$=a0f=OSNCMRVt9ss>2D_gu()3;7(M zkE~lwWzj6;bDa0z6#t*M>R1Fdi2(d$B`z?pEQ9~Jv=si=dRZI(%LZB>ma%Oc5M`iJ zq=e|fkYvN^5{kp%sx;2A83G@a z{mRn)`mLAEe=ncoYz&CaglOi&Ue|il@Ot$g_S)I&yTE|7AOy<`K)hn2Y_!$+Dok^} zirVD&2102+sQP&>(-wdpvTL!CNbk88E*>(hMXd^9gQXJ0&5-$O4z z|3hbC0Ja0s29X^WqwN8_pT@~CbbmBwx?c6Zm!M+rOHjT?tc=>dFGB^kmAJ1)&8uF` zL!OPyo9DJ)jP}>7d)0I8ZCS5tId{pmx@~(IQafMbLY3ctO+p3P zeG!uDKFtF3#O!?#pST&K2tX+Hcc}X?t_4Eb_yX}_tOpWT*|0(%S!ML|QE~dC{yosF z#oW1bnYG9lG!S6ewrv|9OTTw|aYHZY=(p{&pZzSn_uhLsQ}EhZu!u>a>ryCKQw0fI zQVg$9q3tK__xF=nvHX+xIqryzMi;clW~BkHDu;j0vOfF^gN9Q0PqYbDVbq8?b=pXX z-Z>bBL6u2lK=K42mu27^^Q$0L*Ox!L^>ww(d{mT`LNRJTIP?kuNJQy>3(0)?N&Q@S z!ADbTS(^dL#&|T91?vI>(n0`YhhJsOJMHaz^NqKpFi)YC(DV7w<_x{!)Vom#;tzbQ zHXWgJBn`(;-wHqa;C*-re?*%5!TB)Rkng@Mi?+pQo`cZV=b&O2zGdF`Jak8^-}fB0 zwEZ0S>-Vcx`Dsku-shnft!D3YP`d|PGV<-gZS-~DOXHtsqx1CG|GYYf`0DgI_Rx7= z!1e_`hd!S6b+_hI&*zXiku~fW>xI_)+GnA!vOZQz{$Bf^v?nk{4Dl5&qUu__kGUus^9O-zh2!-4|~79 zH?MEMoR^O8q0XtVW7_@Cn{&!Jo;UO0{nmV`t>foP_x~K;+Y3;IRMX>!pM?`&dJfZ2Ka1yn7QTYuqh{|}XtzbKU5s;}vC*r~LdPx7 zV~v~VP#f|Ly!EnNqq%vI(ReCmIPA#tIFGY@PP)Hhb+2s7moeMaKWmRS$>|bu{*uzKWp|GUn4()j_uE)=HnSII+(r+vtDg^1X7oN0mbL{KoScO z#ur?Ng-*9aZ2Tn<9kxUONc||x!q*QgqStXzRMw`EMvb!cF#rjivjF&9zmLyl5mD$O zqmb|y`oSkAF5kI(VB0K8Aa=a?9c`E?Nl1*PzBmz3sQBmM=!1zc4IU!Rde z&=P=dehR?~aW!-TAOkA|fcz~V0J6ClzBU&NFqa|gQB{r1M+KB)IAaOwK8XDwT}eC| z<8#{pJhbTtpACH2t=%sqF7I65 z1{E%N_gUa0$Uo}zV-Zdi!`=7X%go2wvu8gx@L_(?Q1DI*x3^z;7S`VSEOfp6X-Hr5 zG}P>V2C8?V?S2+b_oc02-_uaFOSUU_J&g|cXkBs)$?UuRl zHF>^d&q6s`8NM|x!KIi%Ad#%B1*Q$B*+;=yA z9^}{eXYSMLSM#ydKI^&`Kbzh5Gji^;+Ir5_*0ZeQ=PiG)a=cf%&(iJB;Qc=fCA64D zE5YZHK_B&t*|3lMi*bCHEf~Iconki5=AW^R5-bo{p#qzSKKm>bUGWU~uaxT+^EJ_T z<+Bjk_ADHI@L9O`(PyD2g2(oopXIrfs4>y2pM`dto`Fkl$5?m_Cw%>EVfAt-4Dm+@ za8}&>40OEwS-!6{p1*kev*w<)FQa_L=6N{d*tg?Z&og??99OK(<$K0FOYb;2mwip| z+@AILa4i0REk?n42Ej+>s>g)+*!*QkZ~QDI*WQin$0>-%DeucJ`dy@bt5>h)dLfkFmwq2Ku%Y&a z7hd2ntzZ1&7jWXl30`!N9);dUH&xX+pRkkjSwXs`BJ_M0`h~nCETj_p`S=_c@)`Uv zKgZ2Iw{FDZp}73am^g!r=GKXSLk8rJYf7Lx5ybFuCyc10KLY(q8y)+E>sZ~du&!H)bE5fG;&#<`Y9EKH z9cb8AqrY19#fM{d$e4=lG8ei==`~^{c+C=wmoL8h367gDCLg9REk(Z`Q?^~^QE`oT zZci$6->W@ex-QMP!t$|S&0ogo`N=b`P}gEJ=X=sT5BnPSHJkI<&%E3`1H8|xpD@oL zvrV2uhWq$N9osbeGNdU``?_5A1dKTR6a$Y}&lZ+4`e{|0=7ZOtgKO`58hrS9^I!fr z{vDp;YtkITS3C)kE1!h;)~6tN#S_lo23zuXy7V#F_^BuPGt1X6FmoIwV|eG)XJN_d zXQ1=uC-@#S`kt?T%G@jawrSrJ%rNjmf15L&$9a6bZCa0y&aKaH`7(`sPpRu=8OMG3 zTT!@GX4_*3KE8!DKM;Ie{xGDG{Yb697gDQlgT#`XB>Zaf6%ZZ08X|+{Lbzc(1Th6T zi_kd>7N!M{XdQ@(yXJJf`Ny(1w@@s!Mny}%kI$tNdLj3x^&132s46*u3`&hl#RLgJ zy!F;wtoyj{eE(*&ZoRVY! z@|R}TiT_W5i+;r+XoabHgX%Ne4#7y@k|=9H@&X`RO5iIqilKEl4GCN@Q^-{k|NoHg zBN`Rp5%Q#`ZL0oBp`Y#Z@i}hpyoH2cWn)0}%XwR(;LUnv?;{_*$v zx9z^#r{`O)=Ii$9d$G3p`993&aGtL`^HS>^dM@H~o^M&Bc|2nLWuEz#s6O8xhU*mL zb_NB@^c>hO*X^VDOuj01xwIL4MqSoF0>k%zoj*5)0ucRqBM|a^1R?wHc>=m@co_Vb zJj~BJrREUd{8flv_Eq&+ls3HS5$L-9Vc2x*w?c9;f{(e^a{Z6!xDBZPSPGE=Ga%e^41@@Pl=b8^ysQDCf`p0zVGyF( zkHCcr&`rH z7Q64;w-1&sT?*Y%uuJk-Frt9Xo!s-8z90z5(##9{YoDKM#BF`Wkdy@fnD$y$`SP0AHKufcH+< zPNOe&@qN%``NUi%(!og=xy9`}Gbr}vskz2BY>0t{w1P~VYS_ZhTLW2n`gSnK09 zNUpe91m}ycN8oV);xl(bY%-?a9lHS{BbFokF%KerF#}dl)PGbDhEREL2#^K@>k|26 z3WRV`LQ9N(VWHdXLPGDOZ2tX8T zhhU*yQ3(2I1|%;4QYrw%pMYpAE&zl?=ahCAL$4xP3Qzxc10c39n*iM#f|Uz&ctz+J z07xDH#GCmlmk2!<2+3xjWB}5xLq~`w)9~rf+yn2u`wqPI=6B#bC^95Fi!r?)rv^kX z8ee+}V~bxs3*Ua_EWGvFOK2~`s_VZ1fu)~<^x8Y1*w~$7>+a<34BMTMS#u}1;=4;TOXI?VSI@avB_uZM}JlcP|x~AjPe=B)@a{e^mgStn0=IY*4Xi4l# zi?$jUx2sjl{yU-L!cW1lZTAZRdGYxc0T2yB2mt@=?U!KZZOCpc#)5f#y*uSCKDG&L z$=7MoZLsQwFTs0nya2Bw_;~sp3U&$rc@Y*J{ycQRdr9bP(tWO#`%aj9R?lJ0ozC;% z=X9s?IrBB`TI+oFIG0)b>}%QAH2piQdE9|>!|m0#Gw5KZ1BK>^WhXJ*>KKBL>mV`j z03>GahWOO25Swr*#73=#=+K1_9xxNay(XakV;F?0P=H?A0~rv^f|W!K2o)owOjra! zOemISLVOn%Zh0&==(mi(hz>Vysi0Z|5j)OXXU@9tyf4_f0}%f?01$@(Y1=Iby)qH_ zLmmKxt^rq+!k4F|p;cE5w<6XfCZHp%$}NN&m0gfxiGPpZKTRE&qDt~hP_ zsTImc+snv*8dA%se~SAq-*R=VI!DSr-wJ!&ne4|dKW)vyy6y^RAI&p^ZLw;3Ta7DT zd76D@Jk1}s>HI0Wj%CR#J{fn0`)OsV<<|UH=&_z>)abdLZajZ`-11Y|kM%tJbfbNz zT>DbXPd0u=*7(#4bx&-k&3)0mCznxshFjW~KwpAe$C7y7j6PgwOKd8b$34uzr?ZU0zL$QJO}T*@e(Y=&wl&a z$JDh>@x3SLS&%JleE-R1dTwXbcq~Q;mFle%HR!>RfK0Ip0$EvAm5;M{)_W z9gA`Pi*JO)!lPL0;}FE>?8l5(J232uz{e)keXPaMt0fQ_I2+jy6rcAX_G1vTADDu- zxDM0sRv`Ew4M^ZdBdw*F7F|E{0o76XtBhG2D8 zpa4IAZ7>9@7lM*M763rLG%bbcd?_(ch}VadQOjXGbhv#0ico*nsVIP9UOp~@==(bc zAlU#(w*SLk_QR_KX(|Nk0szSqfOx@2a|}qfkgI$vp|>OpO1>E@yr6>wn}pbX`iGlB z7_jhQ5P#G=;C~`Y!P}}mW;~=?J>s+KR%0PJeKzK)2{ou$+5+b zB^PJkPMh(^a?f{Z_Ian&we7j2tob#1t~sCCjRidq#~RNk+kLx?gv*N@i&Lw7w7F+;Q6TiK=z|IvLE#$ zMgLLJ8yS##6rtnyf1*r42{^AU;nmlt z-!WqNNs~cYv9g6sQQBP^LrjKO=a}pF&K9NHM%QTHzCFM3^rqjQ{?Bnf=P2ZbdA2mX*}#Ywgy=N98O$bj0f6KP z!LlD-Hqenxi0=IlY5xJe@qvY;u*y1Qd?US3+SEe5eUyC} zmrpEZ`BG;4h}Bp779BO`mG-FFpYohHo6o*xI?Ft`zewgt=hpp{-u4`8&X4z&T5uGS z3uv3#qoz$Rbo!Zv>b@4`n(xsj=jQm1xO^G={^*%_?>WbF$og#Td(CkU``(l4Jg$3R za2?-wT(t@HY!dUuC)-D%!;}Lsbki9I&#%5zH~`V(fAH3;@VSS-h1b6x+D^KbTe=oq zhp##RI=)_N1}y)ZVN~*?#!*`Td|i zfejlFkiQIT8T9GX2S$w=#p3aW3m3xp@#A6Oz=2R*UCkm}(t_BagnkRX>E!jb=r^;z zzMj+aE?c$?rcIj$!-o%tUcGujG1g3=-%=Zx(0K1X0*8evWh9gZ(*f?&YdzKzwlj!~_>1%m;w{d0jCA5DdZUs;Z$gFbF_Hx)1>C<~N3r(Evvbn$WjyBM-cbfWtvdNsSeE}2 z|2fVkJkK`XYhLi7tE1~yhh<(!!<#1q;-!nz`Ft@ocZ^QC>+|Vc z)w=#i2*F2~-zHLQH5dBAIv`!68E6+w!>Lp&%%gHPeA9%yCI2j<7{)uuEqXANMS#PK5of3SN3ZkZ>!@HINlsT&p8M0 zv&YWWyMb)1}E&qc14P}|yX zj+<-E!@BPzp5Kg{XU*3&_MqJBJm=XYOy4=Lc}|V4b**(h_uRz}T5~$+-Z%F^)@PZp zo`wEfh~eDkSliT}bFFFV933X^h9Q@n5C-I>mN6hd{O;@UrLR2(B?!tc8n=`0Ij){n zbk?=dZv0MYix!!+-#kB>L)!_v@R-B!rAHrw_uqU?WtD3Q0C@!g$Q{rQ&qs@SeZO)0 zzUQjzsy067fc0z+W_?C9CT{t7o6m2Z!+ZWYp6BeE1D=EbCUlPd*zQwo#~x-pV$*kE zjgPA#HuXw~O~Oj&r1=_@o&ObGRvh~o3nSOI+~hF}dq1_VQ}O1pC! zUM@r!FOlyk0v|>P5^@zKEcE-b&@iEVQ#z8OkY22VegJALE#c=rW zVfftVJ_ip!{4hNA)Kl>4tFLl3b1FPY1qJD|`L(Zo4ZirrFT$<2-U@5iu7xpU#$ds< zq)Vjkoe%j4Xxw+-eef^;@-KW&swwis6HjnKL%QakJ$qo*tXT|7Y_=qu_M{~*-OhzE z$+b8>p9S^uxz@Qb59h0Z;K3_n9my&0P$0iD9R{9=`E?yS3C_} zBPnR>PYM9}{=0dHU{S^_60Oss&t>G(_RP}-gkT{6dHy*Ve#wo{Y24M2#5bvlS-X|( z;WmYBayAZ$K~UDo~fP(37BW@G0(*I(b#tQc^SUpM)@4I0D!#z<}2`(uYC)u79yY+ zv(5Tk?18}4ozQv0H86kYt*~tGZP0Df4)9Ih!Jk9@w`n(a8)WA0g?qpFRd^52^?ZRK z+_(W$4u+{8m%^`D1A>JJ{hIxt?DW~j)1U#ruwL#u^;|;Fip=*QCabN!Oml;5e9Xr;r89G~*X84IE zA>YxXM;Xx2xv1D79Z$7J=$zE20)?OY)TiL$i!X-S+FAodE{N7I=!bGy*A|P=B?L>a zdDT}K;_g-tZ^Bnlz8LaI$_pg24XVY=Q4(Pq=D7=7G&AwQd@4x>(w|C!tH_V$ikFRZ4N~eXH1||eB2)x+m($&#vUb^@p zu`pCKgnoPJSkjAli=DMp3)xhd)443BTcXqOhL{!dS!(WcaW0?Bmb@MRFh0l4-Mdc1 zdtZS7q<2bbKvW1;8xFw=7LWxC0mzgTgAE@65OtpRSkSO5zQBEHUYd0xe^ukX$Nz5v zCtJ$k(C|33AVnX;=Q!WbTXSpHY#~@S0MV@-f|ZK}xe$VtX9$*;UdpBa@W!v^0}=|M zm|OB?==Ry!t^$VjpqObNGaedvBoKI{z)yv~D8@Qn1znSs&^}gy8jw3s1M*I@Ay}`x zC}CAYSM7mT{Z>KOF`J>=xGhjLek*jFunmePZ^y;i4(Kv@Cx)%;fLrc=7`}(`?fHga zjk@d64Zs ziQ{-1$0n6g-}cG&A@MCZEXIDi?h!NB)I!;p_RNFlvOx9KdBu+KIplme7iAP*PjU9P zB|QFwHD5ON9~PUhT9@yT8hgaqZ;n6W9&dbyEZ-5&_0+!k>f8$sd&cYYd3>I0ijF{x z?@OC?zlnLyc0xU)xax=J9EPIl*TU|bA7m{B0RUn(zTbrX;O$r81046+uY3b4mt7BS zChRrOnEnodSqGv0ZA>_dECaqB)4YMXuYygqzx^W<65zDCEY z=N8w`Z-LvFobP_tiFx{SmF4_qTZQm(n3e*F#E_8oV>$tmZ303jT!sY)kp&rpEXXJc z!HNu7fa!N!#)D49ohGB&&kO@H@NPx0or6?4u3=lFch zw9_J?h$zVjhFKlp^v`oBy^jC=U8wMGV?t~ z;6eMbP0v&9f&Psuz+9=kaTV+l9=DU5)ISxo)9hcJAP}fXZ z8WG#)IzP9El)m7g(y&-QY!hmq_(bQDu+GD#<|rBw)mK^)`(E_<++z+|=TaJw`R?Wfm_Fe=M_sBN($+z|R{jl!Pr=bj!9kic_;c;{gJU^Ywk6@KKx7_;p6GpPLuaSWcC4Ab>ME;dg6Y$p1!Uz z*`_&ex$%COy8}~A<9+yM?B{dPeZ~3txbHcxpUYh5-u1JI&pp`a*~HCrJJ_U8&T*)b zPwasC`#8E0)ZQTQa2T515{kv?cDJGa1I6c)u8^7^0(mW2%ooZ=LJzU-L(=627=SdS zLxqdbDGOFerQl@%;)mTs;tVeSXlZ%pk+zSNH=?Zxbm4R-%;S zt-B@45rC9o2-fWd0gwqBu0;THF{Dv!nwpLvWY#s1nY9Bl7|%~2B!w2mH=?(Hwh#dF zER5cCf&oZo{sG74S^Wi0Kke~p(KneshQ;6WoYt5TjC%y^bKTmlhM#Nu9TB${2OF@U=RL=ozdDaSE}?|#M%=D^wxB)R z91^xz-=6EdYhAvixu$!*jpuQokuR=A=X%jQ#}Z1=x=r0DKuU@A12ZrrYrI^OZQM>}a!qa8Pje37b(8vj=UVr!1m?!4?muC~ z`UhQN^|&=Au7%}ve{-zk=GvgbGfp2%ttCK@E8ro*bS*yLr?er+e9YL1><4K;5P%^2 z5ubRu3xGr@1Z&u06rs;U5&8@SAd^vqK2GUC1|tCJFSS5Oh+d4v2r(0upS2)T6C@C| ziV}uY7?ut*wS?*Bd-fdP5PsZ?V=exsWA3@<9$vtoZ^olJeIJ1kx@KKn9fJ-V6p`?q z7!$H)3w+|a2-N)SXFp@$LQDuPRtim1e}Mt{@5+Gq3ui!Z(cc$E=&id3EC3QLm;w3n zRH*|(FEuCyFTK!c)kU&i!DXfJ&&|x`-!8#1$dZgK3z>{q`6dzgqIg5tC}d6naI#1K%bF6z~XQ zwwX|A9Ta71p?#t{?+`2vKqg&s5W0=p0L2JCN)UXM%-#v5b9bZdfwKAgpm?4vQttTN zSK;l~U&B}?LVa-ob#E|mRA)u%RLjbX!M6M7tPtFhMjl*cD69;eSu;}$jcWxHlV z9qa77!5puzrG4&Wt>cs>c&@TU_!c#OPWG6D{hZbF%XZDg0%hDk%0&fDN?;Df(u|1$jHD4EJqUpiO20exY8IkL zCtk)vbgKVB)z2d%mT?92$iO)mf;AoMfFKBI7$>zrj25I11W=G3EUAM)T7XC(St8$E z6h2DdWfY2KiWKVXSRtbe@zV>MfZy}|82DHVxizKxKCWP705 z1UF5Ak&nN+xe{S&;1LKZ@Zr&XFz~=1?nDX3Rio|$f6#*^H4w%(jp6d1P*l`Kc?Sb+I`=DaswNSQD7>YX{%ol)2 zA;Jk;KLycw*Fp7)V^Br5{3cI(3@TULgof>M)#7$J`YYIOGA;SajSsh%k%_O2Y}s)% z>Z=y56n&-KYCCTEj(f%&H$FOt`xxazD_N#n+_(G$ZxoF zk5_Y#W7}o+4Y2+jBwpg9ter9I;F;#%@Mg%f9DsXqbfDx(( zGGB#*5i2rVW!B;_tZO(7D`v4EF%H98!7NB*2!&x$C3Mn(OoUL+v6zlmn2=DF(t=P{ zEEJ^&N~-yV39%s*Ix2dQq{@&*-*bu)QMwSR6B5i)IX&=ql|6_S`(zJ3_#o>tK91T< z#9UDL)Z>po4iyy@EP~f*fJw(e8Mr9xRw2NM!nU?=-_GaKVa^xqf3~%>5_2grx1X=TL=Kbx4vUGLfOo1P=)}cV%{#a zJy5Y=KU5+BDPKq-P}jnp3_$V-!8$AHA}3yTE5uL;TfKq+2ic7Ze27&W-;KOoiG2nl z%cZSQ{R*^lvSl|a07Bb0iQzG2287@?E~LxQO0jx)DQ=fx%Rs~UG&r%0kGV<4uwnDQO7K!frre`2vS553S%+CV{_ z+nz^Kjg`f?H6OD$KW6Ta`f;;h*3aXZ8KW&}Z6}vFi)`w5o_#&^y!Z^J#C;Y+uU_Iz zTFt-JrQ`_$LMB~(2Xvfy)SB0EGiQ6g345MP+;dL2=BMw~GjDsGI(O1_-!_1;@7wY% z_MYpw>u)X<(p9_2Q}JB0BDx46hl=gzRMxBo(Ex;s5Kh7(gcGp>`dAf)g#aWvbcw2j zJ_`ZJRIY{|?l}g+-G^gEbOIp#q$)ZCkXlU5TZu1C%K5vCSP)9jO8|sx8F7Vll^x5Z z=@kpuOmTs4bkC&{dZAg6av3oW^k$c|A3EdIM{NWwUVr^{c=E|7`8QODVNv)L*&TP> z0pI)H_woiH^!-kNW&i&DoJv^N2x)2dpYu@_{9LM4pU*Iv^T}#7H{Xx)bDV!A^g>1G z#V|ktkZ3fFzySeBAYuWKJl2~UfE2~>cmg0X1|S!;7=ZX4(4krlKztu!_*6?j$4$Ll z&jmodAz5BQx=zD;0f6MmfY_BDn`1z-y|HPo>S;dd(Q<>8##)bnT>+S@oeS{rQ3wJ9 zkBC!jkc>pmVn3x75#Cn+aII|zjfRHVdHl_N^eh`zOm;=p5qzof)!o`Fn7Q5LI zz3{dfjifcsK8O3*#^+6WeV%d2Y}Z%gT;ugUs5kv7*ELTtJCQJN=}%&dKAXi*+cHiw z2Pb%3!eSzlOHVpJb3Pf@9>K$~%WsqHJ_Xhi`5rQS3-{lH0OWc;XI$U&;uGflaTm*D z%`L}#lWM;4#m6ncbX=Y5gvFGcu*Ru-wXT`4j!W?U+YF5w=V4dOJtz>8L>45j84wEf zG8O4XFwdGDObN{ONT%;p3<%Z(p(^MTHZcH+ja~~8tb`sNwghz`k_jt9nXr0eLBfWy zEJhF34B?`L0b)QTNWdcAXD^`G55R;xa#NUS$6YkUXk5o}s z0VLKBtlwvSm-;_36{NL~GRY9jKt=vOZU90B2Q>iUx(#ZPK>&ogy#kO8F;XzwQg5h2K95Tce90Jc?%TU8L%!e zAk6>}dUN9ypL^?nWUB|_rKrwlY-si`5WfnsazY3Kx~h4=3Av)|4S}GD%sF2^r`k7-4FZ~eW7z{9|RzG7XUz>gQ*yT6&!O3RLt56m2<9v z%6U5wfb7O%Zu_8m5wRc#pacO3F(7Z{6N04x$ds#Z$2aFUK=;)rplMuXVZAMu!ZfDTa zWGhZ1AR#-6{Zo)yrtKu8)EH`$%g9dhzGSm@6796IljfYV?TkzDI5mFxN#oPkOS#S` z^T<6HI){5633Gn5rDDd%eZ5bQJMFoT(=u-9X|z*p`Z%_w*1b}H`Dy4l>qZ!K`R&Yn zyjB1JAu#^tt7l>EzI&n5>|^HqJm00K)%~dZTI#fBZhRl!`O4hPx%54#`?SY6&*`+f z=1I>rPs%+mbFP(G>iqo}l<4!Z2`EV}vBRIixP4e7G}h%K`ltlKnPX##TO*K@cXI< z)&@a62-XJ)vL2*VRY^~)O6dueAuFbmZA2vXxT%^Rw9@t3EOMYlZ>!IDU8h_NG|hle z2-YV7fb{6mg8>MEB3fviF9xK!1$OS=$HM;i;Mp}t%h0zMKgh&Ru@3w(qn9VPwfvLI7fk061MD1}@R>yd#_suZmp zLL@pT?FTX+r2QZO5<>tIAOKR*2hJ1-K&D-aS%=1KfQs2yLDihAp&9{56#|gzg?pi9 z@wHgk?EsV#0Qr1j0A$)Vcc3WyM(BwEqMpEqZr5VFwy}?Gjbn9ITdP{_tIcMsrL9rG zq>*opSheok?P_PAwkoSNMj&MMDFz|Btypym%2yK*!FJVY1R|%PbS1T?5saMT?Gm=r zP`u(4gAZym)JO1s)MSJlm%{+w#0R%{>N#x7-O&KGkvn(izW@ z$Z?JA^UY>wnw)E)mTEKy{ftg2;CI>pMFZ*-5V1q#5{s=cEMz}YD)q1q!IHv+lnraU zWWt(!l~hBYxJdvAG9Xc8Kq6cV1cm5><}eEq>Zii68dOHCx?u`{U?^6(gkl9t>yZh; za4f7_L@!e)kw(DO2T{Uw3O6-X(^vi zODGNlD&qNvU~MUZFV853R)HiW5=lrU6WAu8Edh`bDFh%Tc{3oRD^NSqHOSyY1CStR z>T_#BY~RPJ{m7*O@kR%E*T%Wz3%1dB!vz461AurnAT0qP=etU7ZUB-c)0M@37zTt> z>?!~fNpRkL0U*T?!XNBVS^<#a8qt0b0IBQ^v6}u6z#sZ9rG*2K>6;EgcH!AAP#tgZk@E zb6c;$3EL@S-7Q~tV+cs7U8DMIq+e%DfsnP-p5n2!7MQVp3`EqpS_Bq0D5;@s1}CQk zkRZ??@KLo!+DZf+1VSpfJuM())fomL3_@_507(fhjv0ikJY#@|0U+ojfZ%`+?615T z7t{h8(h7LUwzaTbk;S)Mw#6J@dbvIBj2V|y<5HH-Io5stRIYjC@X`E|ULV=AGZrXO z+siD!@+Ejtea3ZMVwrWE@tqNXgxBjd=Qs?$905oR8IU>q?!$8&lk1$1`7X~g-z?7~ z`+eo`*#Kvmr|)7@P6{X?5Te7fhyfv6cq3=Ul46lM1Z%%kRVNYpbW4OjNkXt<;}C#g zCama4%!D<383K?+2tZJXJ`n4HkPf7egkgnxj1mA+JqUu8{apYgn5p5ysiX&C76f0e zP^EMcq)WId0T5r%0v{?nmU)qrBW3R=QkaWB;*_rT_SukFu5=Q zG8n-|r=YMFNwlsAKn7MM3j!by&qM$cOhG)EgfwPuN?_X#&v_tE0P=q?p|%vpRL0<< zu0g(^P*Am@V55rT-tAAK2t5}FX%2W?03a;@AlV*rQzG=HC`j*zD%Xdtu}|_x2Yfz- zl&P?w-(A_9Vwn{S;xlO{MfVZNqWcKZk8`4!-xxX!NG)f-ieP*-1CVL~AYIG)!l&-K zCocf<5(1DHo_`KzZ9W2#ahF0hvme``X2C9~TeJu27Vm@ZOAbKol7mpS_#k}dOJBafp1#p@%(bJVWI?KNk3Ozj#Pds-BM?Clg5%0o-;99dW&|QnWIP;+MsPmH#`w2a6x$>zI3d0U$mWA(RiGB_S(1H z`CCxm{`(}=GjyJ<27fZg1RbjZqlXPK$pDB6(K--H%d6Az&Q=-_Qx8NmAaP2?JMI#Q zjiqYnt1$#?xmA#Gj_5%8Ou}qf;{<@97(K{hbe)p7fdL5V)+lv&fB=YMKuC}tBmhE* zHt2hgG$9uI;ZtE)IwdBBUAfa^227Z1fS3@USRmj@rBd^F5c(alT`7 zg%UNIi(066#kCHFV10f{iUG)9ngbvkDZHu}hE`D6m4J^F0^}lm`8uR3h2dGv1CYNe z0P+=NKw5{=kW8f^gNx>5G6n5JNjNkzT_6B)7?5BXL$UC?M}UabDUtj3{!RS+UE|bp z^PltQI3E#uwv^vC1CmRM&{X0kn;jvBG?U3(03f*lNH+0#HjzzJpd%L$DLf`J;BGbJ z;gb)pA3wmRzDGb94@x~5Ks`%P={^D+g5YI7N(FpmMEfCGuj-Ng=mF8HJ`kuf6;N*H)Ok^)_TcZa@G+jE7i*YI`xT zI3<3yzd`#HDCuGQl-0Xf6K!gH%}E1N7^rZ20^8GuIpG$yB^sP`U+b_Y1WK3{StB5Y z*bxRGt5v(^lmZ~9g$+R#i1uV9nWo z9|MqtW`vrXuV-$qG1_N=DSMpl(|^Zo_blOMXWXn3hs51%u_LFIPUp1Is2Ju$3*eRh zgKLE-{YR1n=v*X{*bfQ6N)Y&%ir`}kfe);N&UHX8RU&ju!#i>nrsBmAtYM2F%nZnE zsRz<`GV4G>Jx6m*kZ|2l{9Zy9q`JRk#3~mMV%G*?CWI1epw7+DOh`%!7V=A&m{YV+ z=|KVJWfi#)=5NxpgAd`1sS>V(3*YtOsc~k_v$IEENU>nh~KB zuz<}aaAtf4Ej@zcy0|{XaLBz#rC>z`(L7w8e~ERP356 zs)rO4!hj?o_ZigpuI^i&jW6$vYv(KUD%aXJSN#uf2v#;QV*7{zxd1?#$byxv%zR52 zkfyXC`2iCPeCRiGIz)i0n7eCyNVru*gCA&Co;<$FE_ z-+A>VOjY_SeDB+@aCPbLqB-qL=zkeLz{=9Zmej4fkuzO2tUH0>S0@B~sFsab5!$y- z`y8f3gB1-}1eBa~0Tx$Smjz5rc$f0kuamwG?doB|yG~jmUK)&?=2ln{4MI*yXcqda z*PLSGuq*~42tbq(0I6CfZN+Lk9P5+`%VO|B?Mey9A^=jdiol43V^NzSTVVkb3k}-0Fa#X_1;(3xixWrO&#lfUdywEU3o*Vv>;!F zTf`m9NZx7LekRY8hW2Gu3 zxrV9_;-^A|F|7wtY>3jvk@;+0i1}W%1nOCfy|%0n-T4U5)ocS9u>};e^l=!05AW}m z7NWQ0d{o<{sT8jtH6Un7;k@(xxi}xGpg+p_<_kJLB6012}gJ;e7GvhUS0H=AL%g=y3B z{T%0#733R&)tnAQ@4o;*vKUd>UJ-h8Vw`Mwk#nUn%a;Dm{zCQoC^e+ccI8v3*cb2{ zvAK_^I|3p8pcQTv#t*c-)uSKRApOV^^Fe7T(J1UHgg?d_fCN$d5vI&n6nez~q$fl% z^)3OBXpI1n1Okv){c!Nt4uk0{Ho?hH-3_O zy(#<(tv7~SQJ-zSgp0$r#MfZ?dT{@==uT94mw*(< z$KhOSov^NYtRX>Gw^l;C>eflP76A}#H3Ue|$6;8?G!sJLqmo**a$-c*+$=1}Y6-t0 zCZr7g1U^bJ%t}}g49CJg>qD?juauB0&4O_F6@!vnILt`Au<;V_(p z3T2WIo?9g}XQdVPqu=h6Z@G1>_N|cPDC{V)T!mGs);>0A#@+1rmOIBLb=a2nS=Tb{ za_gG3pT{{q?|hRcRLk*62-YbK!Mgh#G$0s)HUFd&-lpfFL%ytgcAlj(U(F_^^nC66 z^2|47J)^`5`}yALzSrevoUkkd3U77+718G?Vfs=#bJhu!4%wXnD@hg7H3*p}AS6C} zFT@Cda1D^FAwdktBm^N7Hgh4u2m=r$LLY`2kfDnhfJ6sTCM*iUnhX(L52OdOAa%nT zfKW=_5GKh8p%x@iDgY!{EMoKk7bh%Z7KE#$qXi8Bks^gb#e(?g#SOlh^aY$^g+714 zr0aFQdv&@@#XkFeElO3|oX^gr)ZA}HQwzIXp*6a%S%#*@HML00wz#q9*^=|-dT#mp z@<}n9&p8VDn|@g5&2}&OjBDz=dJXeo+_UTRkmGag4IA=)1~vGgmNQ0Ci`$*?|7H=c zb)KJ#%)>U(f&4Ygf}hwA*jx%TyQ5f~!mm&`u8jah`%nUA_DC_1Apqe8A%E5E$Cah< z+`M9lBI6NBQutL07tJXsPA4IP8L>KI7}l4k<3jhUQutr%v(M!}Hp*Ns?vvo+g;WeN z90`eqgbfKPAVOx}JFWAA!CWDE{`2~I^VapqRqMkGK(ZaH&1OP$Ujvg18jxnPU^P|g zv8lo=-moj%mk&kkj`LF=EWb(*>0&?R4IRfY>+ma`@k+hXqc?m(&U%%UtXDCW^(tAy z!t<~Zo=f;uq`V%%2Lce(eh>hO*A0MpJpqv6knA-Y;tivrYt>LFsvQY|p5q|cYZ8R0 zQgQ#8m@;!N=kAYU730v*rH~%82CAoRLIAQEs%LG1YRrVi00gxlb;N)y+>HQaFZ5V; zEz~W!7K-QY#f(_{xj13P!b4E8_%K`LlIx&y*-@xmdOegaJ_lSt>esM)&V9dTko*)7MB*m9+&O>T8EI#;!D}b zx_nj$*^0);CYL+95Ob_&9@-}wkh@w2KwcpROSK0bOAz#0g2Bf?Z_QWAXJpFmH@~=6r)QvtPpEKdSG$FIs_rr zra++x(kUZWM#8Xkm2|~|IH6dLh3P(5cC3I^Ff8Cnfv#Q@A@Ig{ z7jllK>QUueT&}5c`2dJQ3i{?#>^Gm7_w!X)IG<}3a?gc?p0(ufobTs2-+CX-f#iTC zI=4*&5Mm8lbqR8H^FI)?fa!RN38BS5+5d+|po08IN2Q>(KL#-b3Z(sD@PWD_0w6I8 zp+fL*bQA)aE998}Z@qJ#f88M9;}007HLN-f9V00L9~6RxEioX}?}V&KZE+IbUn(Hv z-!Ca~ori%ChKqfAVj3%{N0?!aGW($z5DyDti_FpW~)Nt-R;U zCPQdS^Wja$dw~II0RYMN@N@ma+<#2Jv8KPct!!2SuUTPM^x+IjMRP4M4}^7{j~HjU zGU;|X>ciQuVs!%%fDDCrPXr(h zqaf9LETsC5heY3rkmx@dk^`neYS2tb4V?p-Ve=s~Vi6RNS_-9OS3vpr)le~U9aK)) z0F@YuRXOc448^(}!N?V8TQL+1!?EUF!IUe6)^qiZ+~-!?nw!v$DZ~C+)uJ`5InMqb_a)54^nA$ntNtchV+hO*NFcj;6upX%Z0P-9HkhfoZ5f<#H zIv_V?xrTcljpo*9z9%iqK41IZxxd7@Zw{eacES{KlzJW~o#K*9JeAbB(BO@bM3BKn z1~t&2aH|EX)`w2FJNH_XayLFxRXxYFy9uoO5yz}o9D2pIKS=wrQH5TuW$}4zxO zi0ns{z{fxopbwZSB6J;sr2q(5MOQiyW6#5mqd+}n z3Klv7^{DzT%>qbt-4N<${f-W}zr#NPnt}^V(>mD+Zl30*9)MeuE z5Ed&WQM;K7hF$$H1TuSuqV5F0OFCmMk{GTnqd5PFGQJ;+1qlX2CPlBL>2-%;8I4E| zp}AdEy`|Z%np)2`WlaguvxQ|{03dk)5IfAurkk1qAla%$78MByp|<%#FhL2u3OaAy z2>ps6QrM0Fe^}+mF-Teu{?Uv|pEF#E1xfc2PqOYKM51%Dlw`aL696IR0|7|1tUDUA zAC(P?{pbVn+5rea1~C9hAOJ}a0O>Q10Z1CbM|$8?C>}fmiigccn+v5Q7ed*n#ZWqC zIh2iC31#C~F#xHUEC8fx8iEjJLns{UD%68qjUeP2W<*GoUaK->QCL=YWJKx_fYdKN zh@j&TTaOh-#1MoutU~ay;(7rh1U#r^;Bf;qF!;DpT4N5t;Qne2NRBzJ1|Vn+YjyuP zk0;QxYrT*SSetn27v|}6))ue2>~EvSYf?# z<#8!ghYBfr!OIMjKToK$0U zd&>CC_$6XV`?#f!kNTYvJoLKcR;g_M#)}4AJnymRJoXAEPI&LzFTvz%?#5zXamu*|EfUxFrTUJ3Lse9_3JOw1_QYb9$x49_s&dZk1{VEf z@IfpGg;%LMA5`T$sVkk&J1Eu85qu<#<^zikPTQe$A5wTwv>%%#_3qe>B0e8O1qe}m zt^i2H0Fc?J|8M|E1OZ40ixGw~6IK`t5{5AyZ@8ASVGV$Am97bb0Hj33=)sa&7Nk>Z zUOxg5f1;GDr4thpj5}-y3Df;yN>3gW@WG*35ydF0Oj#O;@Pa@A5d2>DY2ZP9_5JMz zAilg~>YK}2lW!rq<`{vd!gUI%Hl9x<>*lJMpN~r6=j$AWFgeYIvouvmu(@mHbAP!$ z7cKc4oeyTjTN;2Iopo4K@BhZPQKLtfz(z?71f&rhqf?sEjFOfX6>z|SQ8H3Oq@`QZ zk4lYh0V$=FMo|F~MSth}`)lXgwLi|a=Q-zj-tXtWUw5RP>9I}9-Fs=YH(=Bcz|c#1 z!xD~z)`)azmN{iug0|XrAXzJ~V!Gjgd>qS+DYGUHy&*WZA*e$EWjk>(6yhXQu$ZTI zTfxCmV=T>4Ufcm1Ex(N2WSg1g`J?|hdGVUo>&w=FpfQXT=uGjK5=;XHfX3lw$U~vc zo(#FCtVg^Bu~;_Qr&F8^{5CmD`fk^(*crN)iLm%-i5J7s?9q%j-4pMuOs7Y^oOU;u z{P!;;q*A1{;r?*}e7SV-6Z|PDgoW3_d5oJC+%`ZTWOQ1^l|DS=8AtV zAX$iJvyMh47cmKn646Kij~G$Hg$H&t_MznP@~5a}3>f~I#o8X^E@)}IKKKwgA8p5Q zRIpR*w}-Hip$mxdkCcS!qDR%`z;HDf?i3RQeJB9hPueKoO+JMAU5lrr659wU3SP;7i!;HgXw*^LZOEm{&7C?qB3ssA+0)RHimUE1Zlx!dfSk- zW)TLIa-(<$EePwTpcO;3f~a#6Og+wWR`AqVSgSb*T6plZVFvz5C=P&^8nC@91?wfO zX3;6&sg<#3m9Y=Unh~wdyT_GN0*c)eHPz4M=!W$Zd1uw-oygdaLolo--C8Pg2OwZ0gpq({gE%Oiy-F%+T_o9;a=g!V5 z^GxWQQ`KGj8^Lc*rQ@d>^h+Ap$6mCDGIB@iEwO>qOZEg=4dEamav3_0gDnmPe1D;y zvxdL@?N&N7S9QV}LAf^$zeg=5pa+V@q|rfAv}kPU{=9u`2Jh?t-oaU*y=j~M^7>?1 zh(EOgJt{&~Y}ddoLGt#S6aUWxD*T-13oD8H;jgqe1^D;X${ga0mKl$9VFc;lOhKHy zVE%$D(^5?Bq?pk?ar!1It&UIHnih2W>Lh64cy1V=#6+O44<1p#jny`GwvLyoIAOfk zk0M2bXRzQ&T!h3k)pj+bjJ{?F;#oLHOrm~w9Vd}9Y3gQwbji8kGiJa!*v>zQ(~>qq zm@gK!IcHqlvR<(F=tW=Y{?tIC?gT;?^#G{`FeN!*bZ=cjv2=R-)!L>Cp7|iaAzk|n zkHBQf&;vcDgZ-y1d={U+Dq9#>V3;S-ZJ$`5!<;F+5w}ESVPNU+-Buza%KF$;OC$ZL z@vy_vRc4mxuzud;%4G&xVud`WKT(&!*z=PlsPt@hq&`T{d}$8@|j%k^{x}8!5PIz(`tds->9(LEmWJCJRdr~ ziO4NDh5z|+?V)+v63dT`b0v% z;n9Q@#uPW4MyIt!YgOp258g% zjR15>`V_YazhJgMeyyBH#E!3MG8AndYrPGaJLBm+(FvNK_$xi*2Ug<5!Wb zb@J^mB;{zWJA%%CNr8wEPS{Vf^EzVfEf66rwaNB4QTqcG>%zUIC&a9(=dJef$lV*bP_kA8Y4v85j+f*--Lt4yGpVtkZZP#4L6zjjXZp5XsNd-!Z2D}&`qKl zUl}U3B{%ZfJ%)vA(Jm$-N(B<~dOB4(WdB>lsCA0F`*J1tN@jJa`shYHQtp7d^tc%= zx{eyeq?~+fCRZicxOndv9 zzBNx7o=3iBs5Qgfv2HWEwDNgH^V6!#s^#Rb=ue5}1{9Ne`)9)uQ{tVn$fKu{xgFV& zUh}yd;WC|GU2i!h%kArnGi@Wu?p1N{Y7d0BU}&zy)_`2nGvz-!54Z1Zc6}099_C6P zVNbeI(*_qaM27yMzIjghG)QT>jEB2O5IePbF5LP|vvK#CAl7;P=0|s*?-PCU>(_pw zbf$%G{Syr>2;x*RQYGhoQEsd%8s))TCGmFUJ@x9$e~0sJ|Mf*VPfm7H7r(x-`5<6N zy;_PYHvUt8d9C&gDq#cB-Rs?b`_96bjTvz^Yf?DM{6IX43QX5w`>4BBIo?hf<|XtZ zYjK;K6z=EIjFtPJ5!&EPy?O)Q#&;-m{6&BhwDbRXECu|-O^&j5iMyPfyy* zWWv;rbmtvh%~--or8bv*0(_K%Sxge{WU_TSdNbukvnz}Z^xrz0lP`af!Xb%0 zAX$3<9vqC6ke!NwqsTQ|4f2@~W|!ikh0T;>OoZ$^cIgw)1W#jxbSw2hn_kJ2OBjXD zNbQb8Jlnk02N=1KJPmOVozQO3<&J^9ut4(EH!;PFOmIbCer*}J8`htIl-Un(vTx#^SpmxEi)(ZAC%S2K6aJlPD_%d zovC(=7<}n{nuO)=wAj0|{}-}i{o-li3C`s za+8F{XD28+sLs2hSV4W^{AolO@A90wA|FTKjhAtdTSxI-4P;3P3j*q89N#ONU~p!u zr~##}UIK(_wwfmu=0!LNY{+Yga9E<{&T38t=^}TYX%;&>zkj1JIo-^c+>I@!eoNEF zK1hp-U3{Hrsj^ivc}=X1tI`4e53PQ08Km8~g*T3Q;;`NR6)k)k3nFk34b>G4D)iWqA$qDDvqm2X+NPX2=mQtj5@|p`JAf-)`E6 zwJoEqd9GtbpyYoV5@9X5K$oxSN0_ItL1bLssww&CxBz3)aaT-PJcLHV1839GiJINR(Kd$U*b-=f3rQ%8{(B=5%0t$i2LHPZ2mw;m3S~4Jo=|ZW0 zsMjrqlAi_;XftmhK;-Ll+l41`ol^>{=w0J(Z(5Khi;S27sCLEW{clQwBGJH_2>L*lI zH}3{@Gv^Ig8QM8gB7kma-)T?%k0r=A{ldz*U*r_1A%7UGtkubE%+d39f&?hm`#-_B zU4yd_*5brAFl-E`4XStrA`+)!fr~Q6M6AAw6Furci>e<)URQoS%u;wEn7Re<3^99jKvZ5iGGl)#T9 zv7G@*c$zHM7Boov1|9xF8UV>>GS$IA|Kp^nl>7czZvGAy2Y87g2uvE^3zPCg-`K{o zW(f(7HWE%R9D3c5oR%X>+;hoQ{g28~atcjCy(Q7Q$B`7hXRur9g-)6(^4Trzs`x<9 z1f*$&ki+w7vaXWb`5k_jzpDK=TY_#T#|1*!t2TN2u^9a+ytWEahPa5uT!{dl@-hsJ zwSrMw<8r3^S~3alF64uT;sZUASdCPrA`HxAwhrC;f`z5bmM8&BbwE(i?N(>M9>h;9 zY}#5Hx>MO$?jG6FWW#vOs|H@C9%m6HKS)_49J2il3n?X&#WJjKiZW!GSJ`Hh`YYze z`P3oyU}`6OrC2yD7Kh?hU+K;?{hed`xVS>!kWM+5O(UXZqed52nI`dy-x` z)2cf5!OvHl)~BvFME9>wjR!Nd-w60Rt`PkubyOuF`p2-s%HpQ}kA@Jt?Je6Kp6Q=| zJl{|`{@w<@S)xmT&=*Vw{$@1T%U;&K^5yM_JLL`;+~W3{SRQwY>#s8scXU^Ct=~0` zC!ck-oF>apUy>t58of4ebuja1gz&MDM+}MD8^qViJ?9DyxXMDM3@duBVXSesi9^(cG z7daH!oR059=H60+e}0Yq!xu5o9=Th8$7{dvED}$O|F3Ae(`mRHnfs%mGg$ppGJZaM zG|@v`PId8DJ>$Dizix3g`oS~m`1CEbrG+C$7)S!Ib!W=K)XJMSrNqjtz&tWVSPP2a zsV)HM%&;1+%jj0Qu4b?fyR#7)BMCp~dM+=pbE)!4yljby2amTB%{A%c0Z12(^qHE( zsp)i#u;kISneE53`x2(_-Z@ATclsOttBGj;2Y~)4QGQG+YSJFd=(=YwdrX4F&&|AY z4f8lp+&eP)g{J&IGmfS+$It_Z9r_7%CDDiM=5~yJz(DnrF-t9Kntyqb_YKN&GP9DN zZFwslegVZoA@MHM7qIgJJiw)xYDq;7zwSpvql}$*4%+MaS^BbPyy!W zRx%!fi;Nl#BcZL6L$!DPVhr4kYCWC$Tq=D;68uV=U(+0>m@ehI*`y%6YM#gSQl#PN zei3YIo*S;NF4vCk9OK35&dLItd{*vVszx}sFEkarA{+jKUagt<@)d8;;bnAT4&jjM^o9cqdn1LrirEwF&fnHP z5c7@SsI7Sh^4oI%_CB9I=Q}FD$Da0qOw7;QndYbP@<^xQW!trK#q}EHM_tBSTk{v5 zb)8#n9>pKOzVtd+`E8--*Jr*4rDcVu zw|ZD)a(CZ^`hKuMr?(6ZpFKEJvk$qczUXvh z=||qd$<9_>0|a6f7l;k5T7pauqLCQUHgb~If7nJp_ydm&nSh|J5y6y^HEN;CsmKY*(K7kVCs6_W*)KrrjxRs`3wLD6-*U<`{)H>V#HP*b9N6oaFgU_p12PCGPtDjKFRZl4jmMUp^*5ek9AyM8M@&N_f!4zM z)w6z^VZYy#(Yu}fEic%g|6)(|^;R-REVmR$WWJwQ{?1mgTPV;)6nHSn_6RA*+EBS% zZkL%~O>AyM(@^&e)jX{M`>sB!myDju5m}_!eH+n@axF>r*hp> z#ZP0dXd~WiBwVXa_pj#?<4u$66kc0jpV9ic*WsTVa%B2DDCm3w9==f=9MqSni7V5~ zr!Mvxj39ru6{~Vf0$7nb&Ki9mRd>2QQ&is@WTt`~=uY76;*Go5QYO>(9LRUM@#FwZ zsrlp^~ zMwEe~ZvC(OI+#G0KLyhAMJLN3>o~bGGR;yj9Oem-u*C$^h(#sd=kb?BYR>2K`>qOL z1dsN0w7eFS;L>INIdz;9Z@R?Jq3|pQP9CGT0JJacW}MU>Nm!OzO?QBj4p^Wyvm5S> z9losaZpuCqP;dBkg2v=2vn?mHuB?vM`}~E!)IF2Xf$MLk-3nT%|7xypTEf#pkH zog)2T!Q5R`-|bg<*0D#4og<*LGXH9uI6A1)Z+QQjI7iyDzALl+`c(V7R6F6LaOtg^ zx70u1E$kluwjVMvx4SG!>-%Uu^}~+R>h;~H-E!x)ZfdIl@#(|vw3@T}+ui?`cj~6s z_Z}V;eA%Wj63V8GOAFBh42$?4~PbNRjGRgS0hxr@gk(PUg!8#$koq&)X`$Pf~r7 z*_+vD%s)7E>KL#eKpUk@@=Cj+Q_u{wWid&fnnrn5V9uSpqM9Fy>zA^H58$@yMFnfjCX8F1L3gtE@sN;m#&}TA(PHYdCn1cCIby zujG#4OzgB?$8jWQhMzX|4ZMr|0B$DHgbY?p!pZ$5Tk7XM<@hDp*L^33quAc>%ecU; zpHx;pjzA6aOQx;v*>5XR6uc}3ng9)))qwC>U$D{6qzL~>e#w6!$kW$#cPctwgboTJ zGE?ES#zRSe>yFt zRNr%j9FLTP^pZ&?nEB1GK42lsEG;mMl0T#)q&PoQ`8{WDg$_9DpgX{AMn<<+FXy8* zNXwpd4QnDkan3-(LqS2kqb32=5!qrJrS=f6$}wmt6tw&qmtjj2IniO~dRq?G0wPcf zij8N|L<-e3^->is+`+6SAw{^c~x z-zSShs^5S$@30r|7Zs|14G8hy{TuG_cE`x~%}uo*MftoFBQgvd#5c$9aBfd&anQZM zI2eSF0XmzII!s4;NF-bX6D%dJ!-Lt*DR6m4)>)lOn^r7EFbUoDQhB~Za$KrLX*U=S zv?%4(g+7U^Xi-nGfi_cZ$aq1_BA~K&UjPxVUgbx&W2zS)Nk=w_+J7-ex|phs26H-S z<)#PIL&jNLpd`_*5?mAP6I*djlEDA=`V}xluAv6ghn+WFTlfZRviaz=i=JvaVIR&& z7`$Kqp?nG-y8F-Mlfmc1S0#75T=?&V*CA7u{1DboB0`V2ZJXjPKQP|sv|geiZKYxw z%kbek_056?yQH^^30}qJjI%EN4CBGn3&&C7Yh%Kmit=g#3}j^#yX*i2gz%ItD29!i#PX`J*+EZ+!P_QNxs@g^Lh>Tl)XhzO`hrjKejXW}m!NLi2JQ zXC1sXLu(x&{OV^4bt7k<5__(wu7zKpj(hm}nuV3#i^1hD2x2LPiXj>Uk%V)>YKyNT z)jPU1uBfs2s}dM;3>SZoTu_9fDT_kFGZY@BMKHl)D#-Rt?1+8Dqtd#vbd-oYE6_58 zARG`;0={V33TgygmY4@47tp+$q@cxyMDo2sp;wVJgIOk*wd4A&_uClP@l}DU z8gKSnIV%-E={uDK#CWRT+BGrADHk6*-dAK{Q-b=2{S4L-HL2#f(O^9G)` zgAc%k_-Y_U@La^aSJrwp4xe!Or_hEb+*7W%k(oiKg6FfRRl%7f&6 z#{-88+*XJ|jflHe;!~tbA1u}Q1w=2AN0I|uOWhSxr;*CCEqN{iM^n%y zv2op^)fn}2*CDcTJ#o?6*VJovLSGUy443q}oRU>C%vqbBnoBZ4gtw*BZgBbPETXs| zEFIL@iyUdEf+Nqe@2tQR=x7$MZT1LOT+cTU!Bsx%rQrcT9S`K8?=z%;JWcj4yP5IV zgU(Yt;?d2{&+kU0?%R_yDQ2nAO#} z@}6VAlM_T*nx0YkEtQxmb9(1>zwEL};W>?-@$wdD!1dAL=%ex*%G#H$4SwI*+tQI( zKibaaNLQON*IZ-vPHL9^HWL23khGzB?5afSogr08UY@qdAYWBa{%t!w=Y8dm-JWYS z!ruV_yMNFr!}A|KjWt8VZBy?H5@$`8e!Om-U32Z;skc}$dGpNpwmn}}Uu^4z`-gQu zWFt;%LUz$#)D&?vY1co*uaHQ`9Mb~DLLO1$y~LXN?@-# zBqIM#F?6?j{4zo_CGviwSoo^Zd*v$b(wnsIYTQ~G@XzZe{OWZj!Jh#ZWp2(}Y=|9Z zWcwsGscS(Ze?9$fb$TdzY15{A!U@L$qmGZWZb&Vu3(#3&nPa8twx^j)#+)et0UmxH z<#YRyVaaQR_i{Kw1lQAMh*oekFU<~p)!e3A$DTtKhXOLaj?!R+6e~x1=uQSt`>SK@ zKIkK5bx+D=cK$Cd=+iZc(z}lcU+6H*;h)>0S@i-jpF*mfPsRGWRqx#T3;Gq;n7rf4 z0HXfRqfm4#en6O3J~BW-+Xo}bxAe(SsTa>`pI;vrx@x3^yORva%*()fyb$6;PYpS; zemmG)3>>OIUu%j4s7LG?5AQhgIxbLZ{BP&tP+{tezBEjzKgHFUU&qt1GdxeS1rS=$ zO+Q<5Eg`qusRH5sM{H0t5}l!Kb0Y|v=+_Wq4iOl9Qi3a538woXZnNAzmIEvU4zw%O zsiN3dgjFVjkp`^H|3JjkRGc+SAZoTK+s(caq#qAKdfbY>`J18_zLD3eZ+9vqns1;J z1?HL0Y|8dq@!XckKi~w@K_q&dZ)w{>gy>XWFacUNklw>&h=2vFXrF@GgPULJl#eiPfia*Sd1_XDWk%l{~B z8n5ab*Lo2BtTsFoL<6QPNSje_$s?I6`H?)!M`8RibmSaaH$kP`aC!*J zpaO;k9pd(kFfpmpaIhnhC|=%H^FOfI$tyY7!p6YdvX~^nxpI%b2M|wbP`p;6QG~!5 zUP*!mcNrfZsMk=SXDAULPmpi31_zrs*mrZkRSPfY(0H)6QnyZf1Uc*}PwBG#h>YLg zr2$P>o$ol*<=wR(@r-))oC-85o_Y>qut=RLf7HAjW2)pXIaL&h6g2uN3%7=5)6@8Y zm^*w!mc)Y9_JakVZ$Ar(r|-p@btnFUE^D(ME3f{%TeV8>jr&|7#IUCV=L5}M`<*Re zBvm{e6ap$Y1#LA5|8GV3f0R`n*!3nn;j$x?_gbvSoFt{yUQYQ>=pO$yK)4SCAuW}C z>9a7F9XaSQmVxaE!&#KS8>*TlvAs+VA%S|U(EG&gf=@B%ZuX2u2I z-$~$_-L$t@E5UOy`;F&|A#g!8WCkw+WOZ=(n0T;Y+Ha3{3Nm^KocYkUy!0|2L{8sl zFq%Ey%qEfFYTHreG$grd`HijohNk3`QBKYEPm_>aoPi~!x3#0_(KF^2*B)mc2cKum zhC?`7^dZ;R0z6IoOJc!sM|X@C8*sT@=Xd5-w^9n@n^!zv_kQ+~`N~z*AMO6_KU?;d z#eO?q`mG)Rw{v{%XO3Sk<~hHt*5l5N$3C|KSOUZHpvE6{zmu1Lj3_v(1( z|B;FR;#IQa&Z0AHCJ*kXxSwT7toYwl40jzQSWYP3<{yw2lV9a}c8aS=aeS=Ktz zyqa5>8b;xLqf<9tzOsxUE-^MnHd=fQK2DD|xnlIZ%?+T6!96u(=HuQG)Hrer;O!{V z4tuR7US4N}`QQ2g!k@wa^y`M+|J&>+IM|r`1c=L+r}?&d|J6XWFQt|&mJ3uyaiDOB zHTUv#1Kh*N$0_el*abWT7yuey%65pdZYdowD!XrKM|@5EiVyuCDF8WK4x&$`i!__i zY0EHOGUiY+m~Te0@e(h!?fyd`^pg5PtA}#E?tJ5WtnGZxg7}uJb!gsG#riP{^nZVe zWEK5<=L1+2#Gr)V&m0$UcaR2ClNs`2+rMwOtNS5*vhwSci1}Mn>es-nxgmIxX3{za z!2H_a>oy$~3qZ`6)!T&{PWcV!Np#M!K~;d|N_vUa{u)NhH9d|=_*S|w{Y6Q=4ISzv zG0XQcQ8*0B{F5k6Y(bFDR7~rQjAFk+K^@LZY-;WJ6u-V{IoU@$uKGaLmLrjM#UBU2skEJO*u|6 zYy-i4N}RXOmPw9WXl0C(NNm{5eq$aM)ll=s=|yUP`xqy1Pm(L{2TgZ7DvZEv=RyCN zKkB05e~(mTBlLng1DtETa}WdOWp?{+Db}+3m!z!9&wquM!~Iy?Mf^WS>l_=F-$=Wn zJL}HzS2(H?G3U2mGcj2aiaK|s)c3RKGBs}9|66&{;Sfo!07UwIw?8%ZbY5Gjvj6Zj zzBzTb^C)-vzj&LgE^nUSUQEVVwAtr(!`jzJwpPxSX-|w>*X5^<-wk&UOtrD_!K1<8M4L{w(81@5+Ucr8Ob&;SB2?!t4 zVq|KLYn+$HWMtrq<9sw6L~YH;d`uO~SbK#4RVdn^c8_cZaoKtoR@EN?H9 z_A|>AM{cx+u60x#TKzU!xlirUqCqg(T(#tOy7w9gG%~IXn#?H`TYW(5!8-Lbl2%RE zf~$JUBOv~n;_B;9Hydky>=cI8iS3k&6)#Hf+wpe~9*EH26ZMh-8pKc`H9xA`jFK}y zZ{52AYYF3%Dn3&jIqN=&P4p8ub$H`o$7DbAWg#5~(yw~Q0V1f6QDq3yr7B4Dy-W$N+TwO1o()b3x#2^FjX3?C@Z&Eie< za!G`WQE6n#L43vKotrQ7?G&sF1mb;VRp`r2`nPu^d3na#{v;C z7->9AX+|iCA+AR9*si^?QZcFbL&ma^iw)%&+fHse%r%a>`j%!NX4l6v`?HKLmOd`} z-oR3*cTDp6?b?zw$KKYkn;SXriF`cd*OVyde@BS_eE1$};P1uRoVc@3tY4e)QisJd9Njgj1O`szagS5j{))-1c0Vm?&UVpm>D+BjS)6ZbP{HDh{I>Kjb(4n%M> zP*)|3eN&3J)Yd^-OeD}W%pDC$R~~Pih`-b@ST8+%P!gZCKZCV4aN*m(nPYL7VC(** zgzStjBY~PS6fbuIe@*49t^+-B>H7s^3zvt23DW$C$}6b#xmkXb&>sWZ88QPLpcK|i zV-@`LKNwS9ES@cyB15{qWGq1#sh1E22UBSMssE?PElIFvWR~B55T#KSo;7dc&CyYj|6afhcJFUdYfM*Gxxu5)19!5>l*ii z-xSa4+AiO+$+MEu86-@QMFXd4%}1gCF~F(a4TpW-j|YO84GlN-v8$p-qm8#3Q?9M3 zFiX(paL9E5iqDj3hW78xvIyblj1(XC1W~LbpA(ctO0v!%ithRld4s-_4R8D*0 zA-^#nx*yCEyq!a!?93pj9IL3hz%mJO-jz`?tGtQJag3!6(3nFb*#5*dHI3= z`tNt!Ql7W{+k*bNl5>3GFhmgbN^i?QIdUau-ZCt^k@V(M#5es{PkvK-eA@oIbhc)$ zmNH>FeAvW8d8Zp6k3$-4-oNx)yVQA~`XuCu@2wkm8Fp08Zw*nqxRh+D1*D!u zzWjoYqiN?2`z3Uk4Psc8n}Kbs(+=skwTzLx23gCQta=591cE74fJr=4%Ed4jPB)uh z|FZd+(Y`9BcpBCFAEshqOp#hZdl0Ki9*NKYhB~YP6XqhNL1r6(u)*Pn8$4x7GlyLL zQtaDQ<)c-}H-qOv-4Q1NRA_8$?QNOedOb zMI!&)9`h|~`t@Am!goKikmcDf_b!NtvIdn6E0x;B3;`YL+~f@gxS7}^Wee+VZf=pm zQA$p}=2>WS1ZfM=xd-4#)ZfhBibc>yR6nAjaIjC~5q)TO5N^+;#|2u3r^O$tK;UW9238Cr`+mPuBJN5HmK z)}Ufa0fQne5?F7tlr0k+L5QwJYP4Xz7WSs{90U*Ar9x|gM{KiMl3p*@(6d3N z3^;o^g2oZqAgH0_8OPocaSC;71kn^pZAaaDUHHFyX{2W}T?-JSAu$|!b?I(%U&Fg; zPJRgUO-cX~NA?wEz$13rJCaZdqis0pwbhBtR0F@O)FI)X)$P3K%&5XunCYqA3ZiydJ zl;EjC*hD?X;}WOrDwm#!(vHZyOim$}@&KVr;ts?1X2hkgi2_ookw`Wl`Ds`6>>)tu zA$qr~U`Qoh&zT-YxXK%3*J#kyy8FtfxtEGdhW{+{o46jmFC$OcWe$hp{k9k)K(e=#4=emN!#>I+{+U9GDeQ^qlOPSA z6Y{oZB~N=W5oz1&u%C1ctJgthU;R@h-ZZo}w4IC;FMTx7)*2u5U>NY&ErXy5E@r}~ z0gkV18XBknA_8B>XLdPFMte;r>i1R4^Cu*C&VA{Lt}ip0WMqr>;DqIz0rDmG ziw(t4yWbjcV2BI`B#=-rjBa2o8$g|Ah5?xqfRsJnmf+MB3I|}DrF2Y-G1X;waaM^j zxI0c7F%jEk@k3;Gi-w@5#J-QtM!i;yVIoHq&~Nr2G8+};QE~!Y43lL8ygL=C{yG8LqB+I<6@t6?tHq79kaP!?R(eB3yfgZLTU% ziu^k1rCI@M+(1<1BzAS}`?*2YZ5{t~4PtCAR&ZVX+yg1W_li5JuDjSeSHqb*%6s9v zf}KyQUsZO-jil|G;z4O1Z<2fJwjrmz+mLB7Qr+&CPSd7LknERt0+{%()!O&^k+}EO z6f#fRE}t}fR@hnDRbTXV&_w@iAeL6IDBL^EQSVa@Nc*jnLLt57{m9uuy&-Bwoxvv9 zd75oX>q_Q4vgpB3{V!P<=Vv~ag`anAjqc{nq3S}B zi{M0V!W!M$3Qo|eEhFv1}F z3$5~~<{vv2W*XJfjxkK$mj_~>El6Hb3UF$2$4kayVe_B+6j}t<^OeHC@CHf0Oy5uWGyHuSYwB9~qtrNG=TMW%BZP$?>0izD;7RCAENP zA1_+APT42f2P712-&qJQP&A9q0^Z4B#^?Q<7*&h^B|5Nx0oCbVY3sd`J zQma*b6@M>MK$I2c8gEBo8D58@P(eR`$e-4mXzqHF!id# z%Lhaa>CD*@@_}|)IumwjrPw){(QMtGSUWVDV;NbfHYRrTEk0M-lta z--Vm+Y=;{DW-iZ3o9lqAKTkH0n#RBCvYxBqCu4mO;9=W6)=p5x_0M`C+srqlLY8QS8Q!y-anaVLPA#durB2%QvG*2*oUq!x&Fx&9dNMrh|M)}x&u9VOo zc8)BXqfW~E(bbo&gfuxs4D#x2dI2xT(e`{pSAN?NQYUvt;@;U0)H?*m$y#WyCQ}L| zqT2wor$TRQYTPGSu^f$-FdAQv72gBGQtlb3W{%(2Aj?z)QTLeduf&ElO{Xe?gxuM9 zUvj29fP{`H;eOb_XUfb{a(unR4mAMma<{dfo} zH0<=Fi70y`hqN+e-z`;!UkLNxAW{42i zYhz?GL?l0h=2@zP56*xx<+>+lHB=M11wN_PSvyf zQEJDg(|YjdtX(FZl9}%H$i21u;J9SYuT>$E7Jl&uzVF~}gXSNfc$H|-4N220;TL9% z5^(hXDHWpdcvJ6UBD<`Bf5|avBeKNmt7Z%%&1=__*+jtg_gAp@NS84y z+UDS~*NIsjy1CX$ICL`FQWR8n6Ppuw8SF@_braqr+p`#Rp#~CixjSfHidhB|F268p zaqoj1L4!?POm%iWIWu@$7XB;T{Wz%$!H;RJ<9n=M|99{d8>IvivT=mHHvN)ZJo*H~ z(GX>GJ5>C8NW{Yt1IEI-2q!6LH_yS>ruPAKKRpU<3?T-Z{$*r3sn$^DqylgJltEYl`y@(?A!ZPLcY}seC2RvXT0!h#D*Ve z?|-TRBS2drR*LsQ2_OdhpG=`iGc^a@H@s|KpRw}LiLnd86j-C+z^tARyB)eHVRd!O zg?fg}j2<-yIs6jn&Cjt^{y5bS|<$kXU}&*jLtuj+9F%p2sBvxgm1V2UbK}n zGnRgP>_V_u=zL(FDoATz#uc4M&sE#sdJTqNfyugRGQWo5Pv@|pg_TJDMco_p~&dv#uKzv^XL@TGow3nRyi zq>OQx7E+VHc|ZT zkg=odzP#Hk<7?}^9U=4kh$!?`;I@zByM0v<98dd4`o_8ZcJsW-d-L(m`H(M_I}gb@ z_ndrQIMB6Qn1-sO4<&PZ(B)-L?3x~>%nF)?G=+0GO^=#nx*(sRJX3LUE;Bd4`A^0` z$=i|V(87y#?9}vl8I1pIJ|MXEo;lAqEzzKEoNbai;CFO>OtxOsY@+&<6w#`TgU)0@@lf!H0$H2u7r~xkXM?D{4e)oS9wPROZUrNiO6|o^F`YU-o*)fso?lWx>Oc&+c_u3xlt-1$%@JA!?I@t z#6&a~*nXq*6nZ^ngwkZQY&Qg5WINayPzB;zOO`?XFKF0(m@X43PzId1>_5j}IdQDr z?+y;?ZNOE%CDVAfWl|+tR%iH(@|M*U+XXSgr79u^_k@sROrl2#F}@zt<`1D^H21>Q zTro|v$HwQfQwlv3=DlZDcFo|`&-eu%g}!=iiM*>4e*b}37mOz7r1Ki@kcl(M_r@z` z?gV3;z(m_L2#;?0Z~ws|Wk^eZ#C-^20K-!jqi5cNP(h}|Ko=NfQ0|a60kNXirz?L| z!oIQ&6WKOllCD~GsrpFZG8A?jzhotg06s7$yxE!!XP;-zRO5Nz%ex z2VP5e22QFd&5LF9)(LcD4BVTOTG8ZVI`}Gf6gkWYGbm%oJOK8)QMiv|90EVdQ zldp5%IZ%gldF=70;A`J}j6q_Te)Bwxg|HSenjbM2Ll-F)W1;FV6reFwR~ug_z(R#n zNf^}vryhsSRyBCO0UJ(O)m(?|&>5^$h!q2mehPH-o9-BgSxx0|t4JT6R(B!;4+^!S zzGggFWX_C-3cEtBN2s2}<|9~a9!BsHtaCD5kp(g2D##&M5_T0*;Df`iDDAGrd{Etw zV5t_LJM4!BAt3@G1VGZ7{m=|ZxvLVopX-1)ASA$taAcR_K+xAH-wYcj&}Gqpq$ytlzK!jvP4*Cr%uPUAuO{jF~f`Q|B(c zU)K{6;NrIm83uBIlU)4^_TR}`l0hqAg@0`VIQLc^WZlM@se(?3ln(If{X@ETyY!BfxB7jyDumDKF4L}-!HV??i1wcf*(-?r{XFgZ^ zcM3rM_PLEE|MhnYKoSao1TE%6Ydh>rC7~>#RzVe)YgIT8h0Ko*1COx!F$!z;BjzeL zD5fGokbogSm5ZC)0 zUqo5d>wP#r=BpmqHWxcbN$_}$Om zhwpypb(paF8e~sq7{e^t3GA z9-{ghOepXWv8-dSnFv7E!gpSO4PJfuMgBWw1h~Bdtde*^XfSC{D2}z(cbh2s&73j=-aKkP~uM-Cr>uT6FFKA7vDJ)u4puRQIEv zEm+*0jY6;j8A`!hE19q|0zkMDx@JLC2$mny@cNSiK(skwSYiPMM6?*)E=*{&Aov~b z3rlSf(S$?|BO+DO>3d&5h);)Q1(jCNBrLIBSOp|adxuV)p+m>caPh_K;oIN-HvIb6 zzlJy7cmrO3`DOUQ4}Ji@`ORX3T1774w#46FZlx>xE?QYH8(mv&h8-XdsKASucEBBlw{9 z^HWj)n@a(%ECaY27xdSlU0uf8|8Z$4Tt6btj7W!WPDob!q5xDTf^gfoBz$pd3Xb9! zTF6rfmsw!*f;>wa+F)Zg#MYd&MVCj!H7z^ z8+NDMXRyrRrkex(7C^t&2_U?wd5p=474B)|*^Wx~P?Soi}Qq90iTAejnJ2v#+; zLjclm*ckZ1_uqquANeZ8Py^C6UM36(i_z;DfV7X4!qHSMRKA70Z5#O$L#e-zK}US(LIxxWY}s_5_bousuuy=XTtVGOW2xz`t`^;f|%~!wvO?db1Z^O$korN(twr$VpN^rf9K?e2x15u07dlqy; zW}~S8TnHgk5aYD73;6mprd8!c7`t*S0-q1yb67)U-H$FaeAO5EwWQ z&ozUAM%R9``FwI70T!JaWhLN9JVaO?a)nq;QcQ;um^V0?twiTBmNgzy(HucX4^>>SUYHMIJ%%aPV=xyP z3{u#Ym1>s&NPt4Fs&v?u0FVF|9CW}38!{guv;YE+kP@H=IP8kV=hbfg2US8(QUSsW zm4a6@ASF&Z-ngR!k%ELN3xK2~GghO5gz9@+hhr%nh|Y@T(=VS?rF5q{y7#w2`{cK! z3l_y~bx|9*;>xSww+J){fUIA?0UGePs(beyFmlvrIDPsw{Q6hFf+wDM5^8Jf;G&Bz zG7A$DlXmFP0U46cytwIxzin+WbgM&$j*ZfyQe1Z1w(X#G>(2uL`n>KCuJTylyK+)HteVsaW;;}R*s-T=t zHTCAw@OrP64M;R~j(iFw7FzwixwO4aouhFUtCnRjV?WK?v(UA#K|tXmTs(hqYEnQ4 z0+9c;z68EDBMtXVOu`eh)9`;UK~RDVe7LF%b`6R#JK$4cTdmp^L47iW`^%UO_%((k zb?zo1TSb2TWLyx~#>5xoP$!!O35O(vk(h>A2q@^fu&)B%SeQYv zd4QRafJ)a(Yz46(W6Q(PD-*_$EMXCJRw~VYP&5mTqwp-!jCAz{o$BoBT+D8?^}(?6 zh=8x%74ZADC9EqUP(y%+#?hMbB0SH~(hv+P4nf;)RNlew0X4#0P}o`Tua zbnn4{N86#Rp(_TYGmask*BY&3kxzxSslQ*qUtkLDrUAtH0w5n&7OaxKJ^t%+mz4a+ z-)SZExB(ze&h?-x^vbWotO9|?8B79!u%!Xf{cxiYtbix|F6%#(=^rw;21El8M}Qt6 z0eXxW5LJvYAq)rskgy8F3K|AP3KHs6yaYhn7R4BVeE;2d;GwTPf|`&zWI#$eBUS`| z(4!Prjc*a#BLi~XjVIuP_rDLb7O#ejPzw^T*0n+UL6=k=w2f9`8s5QBH+Vc$_8$#J z7#h(ojwycejV6U*c|k}D!?9@b(XqHUeqhEy&9JH9s~Qac>LC!p1xv@${wOAz0NqE; zf*3L-oe`kKdW}T}WTFYtqFN&U?xUeY#Zc6POojTf3!r-B94M+E16^tn%%~b8DND$n zvX~Kv6~X=x)gK}(iD65I2wOs|34;{{PEyLakG>=Vk`!8UhyWA@A?yxQA@|(UK6I1;d z?u!kPW2j{yf^Bq&_+xY&E%tf8Skz@fbQ! zV8A>CFH@ikf(c3xP=U2zf&<0Z6&Lt1oqiVYy?u{qc>I;{!Mkt59rt}6{0LNh{pYAL za<3r-2CeHRBbbx5}8X~4;6CNW0Wc^Xlp$zy@yV-t3>Cz(z#^2>Sut5=stQe0HM$;(ta4> zd5I3asyCUh4D*rJ1qiDerQZ!$8L&kEku3vO#tFYtB6NQ=VcLL7$IGlWg<*v(L3%i9 zUNV`&ggOM*13cunLTdw^Ff3v;#*G^fAAIluf{!<#Z~y)-9f}Fy{_r0S39!usRDG zUnBN|jw1jeER7#Zkg=h8(KZ1RyIz3?DYTD3O=)Q`8l$9s*Ih8&$s?TzNf zW@CiTwOC_w71IkTG}y?m*sn$aL@jtJbZU562>!N7K*ldumcX=X3AfU=tOqX0FT?#i zG301-8C1uE?C0Y#?5YaI*neJE!c56`7G;nj2`~WhYxYBhO?4_#;Zzvv6-8iB8Vm7D zVH&FeOUPnHXl@kx^{*T7+*`{qEG)&xwo-Zv8XIA@CBVRe&RxV{LWNC*WF5!H;Q2cv zkSM{qCL;(Sy2xCJ!EwU61c3BMPyzHjt{`1WF@qM;!T5BjmJSVT=jZ$H;r^CciQmt98o#cL9`rMt!=YaYJQ6rI6A>Lwt9IS^I8Mv$_vQJw zx0yj-&Wu)tR!+}${D;Yal=kiM|31H=U(N@@S84A zQ7R)ikC?Y)rl?g!F(45u1S{%fzcN{`;wl77S3gfU0`y?gorX7PXTkEM;-wI*zC#Is zyo&(jVXg_%If}<25DBx@gD+hJ?Sdt6!~l?0$bb+4>BHvB%(z z*KpBy_64}>p8H|^oMq4<*&RX101m|}D(?%mLnp(R9(n|>KXD6WdXIvGH=cx-Uwjds zd+s?ne)H{|DXUey9=7f~f{Vu&aIy9Rd=clitr~$$uW=ljMKwfQ#SOzA8omPXCr~)cc?rUH&-)iR@K{WLv zL!4R@&VIdb0WRWa@c74{d=ehRx4d6`_)+}KoQ0|hE1@GU`eO>T`1;M^?azGf%e=_H z_wx_Iw_ke&8IUUxfK27{1#ki19@&G5tG2;?xc|B5p2bj>7g>|B_25Yc4qXt0bVXJo zh2d_u-SZ$a7SHqN^NA;)f+wGP8Xm;YZ}mjEHi@^})lY%J^EScFcYl_F1%+3A<6Doz zo*QrF=h42$6n@SGKx*)~7tfxBM-fbQ>oXm$K75Kn63v6=Gi~kF2tsgiKS;7r5wPfj z>_yjJ(_q7n>u{dmg4bSo37MT2;ob+o1S1w+3T+Trg!;`??8a>9(0w9*rVgFB4MQuR z;_E&0%rkJ)t)GU<(Tkvc?N|qR5a8%H#l?0=)p7wIAqF0HI$aBRG&sN`#5Fy{7<_QJ z)kr7P6@iahOYc#mO_&c6oLjX%swC`6hhFJ|gBpMYH3OnEUzJkbk2(pxvH(bc0f=Hi zQk7!NepGk>hyo!x49jLfbiE}4A`xLhbXcsbE{I`5w0U$Osy2u_C2z#@n-MZEu)5-# zOcI)(Ide1o@%Mj#O`9&01vwVVH3bb7NJ*EJ!X07|!4$RKcGgAW?JZrwT_a~40t&*T5Yd+)s$h71|Pb0T)6(8W)ozFZl9 zT6(TrZ;taxbK2Z}eH2;}W-!_m!Bqod09%k{*is7jP9(4@i{vgON+%G4KwuY!KYd}U zge46q3GsrQ7V`ICcocz-zuVSZu1T$KFd8*vc|6VWm^9Q`2r*Z5nc>Wo5Zk!|8+Fnt-$27c({x!X0e4ot9 zaC%<3*JVAT@C^h_?=F?=zKdFwub^IJ5IsKxE=4{a2IprD4!uCwKQsG7XmxVYqB;gSytfb9FQ z7!Uuj0%29z++jM5$ULaRtT@~%#<~x`6?PSj+BH9%uqzJ3 zib>WhKZRb!b=7lWJ{W)`iyiPm`VVG6%9Q@2T#3-73OZLpcL9(D1CaMI1nW!qBh?|4 z#t$sMDGR2dT`0rWst5&IZ3A%a;p^dtKX{)3NGk*&F$5r8k~NU(J^;S(#V@0dPw+rqLwpcbo%HNCwS9AKGAPX&pz%C7UMCv z;MM)O1_guWG3XEgqQ-G(keC1v$4_ITI($e03LQ!mHOD#q$Y43Y%SRzaYF`%yAoFnn z@*FSzr(e7se*FFK!p7a#!$ozI7zEHY+8}$-fA$7=@4MfD%l6#_*Bm(wKX~UY1Rz%+ zNSMsvg22LMdvAh&{MAq36%3V=!ih3P4~$R8s2&9+c>B1!Tn!&2o9gV6Ta}3N8xur z{ebl_;Vvdf`$)fleJ(FvK4sxeDATvI5#xjlz&C#dMe~R-)|)^^!2FkYYN*4H9NWz$3`O zV=UM75Vk{yTd7Ls^&&J6a(Z0?9@=zq!J(?S;9w&-4^`{XE4$W*3cae-p;tQPt{Z%W zNdJN0gF~BA-$%4goK&UEu!mR<}qJ+92A$`v(Fd`vXPG&4$ z)GkbzQ0#~&GZtGUizwauaw^OPYc&{Y)4n5QO3UF}_}ToS_Z1`~a$&Y^w_doCe+;;oz2)18>uYK)NxC%qM+9)<*;GjY9 z$}6wHPk#Cnxc9#M;JWLM!h@gxJZnpydXmDrYLRWZh!--#x5a=-;YUt9ai<$kN2)an`K7h%cJXy`gW`N>b|P3Wj~r_g>nH9453<7AA$d(H~tuYMT_L_7*fS=;yVfu zY0ufP0?@9jyrriwpmrE`l*R@7zi%wzP$gQ=5exD!#8y!F(%uTxNkn;}-9e@Dy&prm z;0gpf+sm2JV6DlvGVcEkL%25ejS1jEwxS^&lCZBGfbji76!%U1Tk)G+zW-JO>>AtyyV)#ssozlR=pi z&i~Kqn*V3Lx}O7;aC!fj2<`FN+%O_x!nBT}PK2IgKrtWfyZYc(6vGo+#NlJxtb4^U zw?E=}37j$L2>5wC0inlnE^w97-r(PYS*dGe`yX*0Q>w!Jd`wa8CfPRn{N(-&+7-^T zeFk$0&a;jCuo#e90wBG6{>K;Bmi_Mn0LU{0K>jgb0CErkNZ=!2K-hvoC)~=)ZY6?2 z>&;cbsqNvjs-1HcT$AxCqN?OZOv+uqsr%tDAPhj1=EEOLi0Dxj9~1y0ObCZy>D0S% z8-SD;@wur3qC&93nF=Qa%ZDLY2teL?^E>buvKLEMuZQ`|R%5$C*(I=W<;5^($tw8F zefPun-hN8}2!>!$ZIF)93fO(%2>jEZeh;_b{TU9)B7u7AP&opRjqu((--VZOk=Jt= zhN5J8Ko``8)DNG`3(5E2dxzPNu4Qyg1@ss>4Zi-3Zz2f!2?CkNpl4|oFMj+3 zc<_r4@j{6fNhDfN_9G)8B0_dyMNmV+U__Z=M`oyP4N8P1Nirar!Js9jfC>8sX;31e zT}fq$L1F?zXv}Q!F+kDaM11i<9v}PXIDG^iG$xKd3aN+ZW?w9E++q^ij*lW0aqS&$N$B>lAqWK=DN_ku>`TSw0d> zt8ra$;Z7~F1jH;*7P5!F`gQo)H@?MVyY-oYVM~~zw`v^hzWxln|GhUk9rEt$Z-x)v zc^k$qMF7%$5_H3bJcTgba@YL~IQq@RgbJ18pjF8z@FRop&{w~PfaOi-H)}n#t{Kns zZB;fJ2F=^ZK<3uZd=}c&PDGo)=jnu?f@;V-_V^Rz9zf85^DY|&9g(%zbHmN>kH7v2+<42U;i9UssM(l~ z^BaR9WxL^b2#!AcrLXYcxmD>1Xq6cTit*6(JQVN<_ZX?dtwtyS;)GoVk@*NJ=0k^F1vuntAnQFsD)dS-A3+8l2tdk3 zcuoK$poHhHx*tk>9#EODsQP(8Wxom(EB1qg=cy{Lg098q27n~2ELd^Tffy0GPQ@G7 z;aFM&qFxF`?CR(gf|XDr^thE!MCm}7{cu9Ee8H#+!*yyy`9dlTOBrcD`VSlgZ@&2^ z0)hu29F0L+WEmtgRtP$F>g0rDS=JFn>y$Z*`hx}!VfNs?_uj+ISx30eRXfyOkQSsp zvJ6GYvOMz0BfO|zyLO$E))&WY-MSV2>92ou`|{*H-evpBR$4-6Jr!E&{iYOTa(V zT5xMQ{A^`0hABzt6|oVk8)7JKPp~HCzi>hR_Tmg&f#s z2p%FljsXqM=RYnjfuYERwCOB>X3yZ502I8>2av7lk6@^8DhSsiBl7R0!P#5MObUfs zw(XKz+u?jJe2vEVe1BgebOIn1y?g%qS67$)a{&P4aRMNJ$QOVdnSimq2tay#SOBER z=Kv7D6Jn*sfj&FSm5$+6`+c0bB;wJ1L`>1afb|y4=sh9=LQF;#(tpHs>Rri#<&SCr zk}^PqeiR9K1T6iBON6dK2)*SCsahc6w4~t;p%9$`$gr_YZNGs(0>p6q4}_AtoS zf*hPHE?Qc}QD`}98T{-=@586>`z$YJI+kJ9EnNIOj0?seBb$=JaI9ACOQ06dfMA0b{jE~?`6?bE{jR;>%4?6opMUccScnV$R^_Ale61?S!pMb} z!TShIZol_)91hh9uNA_5tx;n!?~& zM=(JejN0+bI2`KRufGb_H7?G;l71=d6dHeef>ab^qrfh}o#x)sDk!O+eP= zi+Hc^vzDV(r#hVPZ~+w^YhmY+Q}7#PTBfhQ3eSb1DW$_;>w%l#pMU=g*n7hnXopNk zt77yg@c%}1wfW40Mdp52mucQAd@FgHo6YF2kLL$ycz!R zhd=PK`Wj=#jA2mpr7wNSXjE*YH?UgZo^MFf|0Dp?oJOQMtw~cX3IT~$9g1Mbps27D z^rl|72uS`B7w#`$nA9m;lnXOb#K%x7UJ4m%bx{!m5gJFwyuKhKV5PN>H6L_s3X@uh zKxGdCl`R8fm|iy^VP389v)RUnp;2kcw1o`Ego-c&hyZ_1d@uyT0<$W}Ry>NJLDKzF zsFpB>1T^lz3|uY%(n-?i)+3AZ`!&T31}N;RRVRI2AFu5wL~1jFg=sZm=*l(UWPfc! zYe32v^zb!X6ZrCTYGArQ13+-zdl4j%kF$f}Io?Cv2tPvv6FW(?ukMr1ebdOeup9_N zj*p59qk`xEDu!keJMymxe1@0O|Lx9bUGcbXFd3PTjTpMNvS$QRVbO(T%WTyYDE0aN z{<2^Z0IBTN^WVO{vh1(0F>e6!4FVwlkQV^ioPirARsUzWy4T-&d}@pzK64iNLf zW~bLRnh&Y@5eV4qM@Z4=5sBdqS-IZT4~~lgF)4UsoVJn0=DPj|7adeO5FL&c(<}(3 z<4qe8dWb~mst$+=!%C7V4M@@pKokRl*0v~W7?5uv1G0G4#V~KlN^Tb;^RZ;rdRVZ0 zE!PP7%)R%)_rCi!%tQb}VObrb6B@J9S4rWj}TByTYNFJ zOZViOAtX{CHETKgabb4v0}!nr4i_aGpx2n${N|aizxU_~*t+)!>^giCY)3uFReO$L z*uvxR2V_T9ZQh9suijiwB-t0Mt@oY8mQX_Wq{^(tz=T1`6a_-2c>2heQ1}*ul&K1g zOch{)V8qR$2rwZ4k}!Z}I`_3NF<^$W=^Wz4{(<6)Q>%bXT!E4}_h%W9qRrlp8Q(0~ z9_0991O`lB{M-&u0AqlF4FU)RCZgPzecTR^?Wh?y%QMdLnR*ff^|@wSegQX8Rbe|a z&^l(IRf}T4Yz6={pUyod^FE3#e+pyAyP+N;iD{21)avAIpMkarKxiR9>*8zRR~Tlr z2u0|v{C(l%?Vn-hVk|NRZEMFfhzepRC;}XGj?s%RgN-|{gR2f4hi$0;_|n5)gCD;4 zHY~YpuK*AP5(Fy7A%OWlvMP5V03lYQ2#+Oz(7JjoY~FJNhBm#2Y{LmWW)$BKiM;7r z-5RDaThX!mcz!+|yH9{x1RWI4^)!NzDE|%T{G0 zIOzd}7k(FC01%+KV*ib>FG7^ok=m_xjN z|H~ia|Fdr~6Ebu46%faet5&hT(4l%H#F+V*VAzgugT-_-NGe?cAS#t^k1?u<;20Bf zqdpBEo_MBf^Y_tSaf6F%Q@bNNd(`d>g};XdzB7$J(~*z`sef2w$^yE&T4c zzlHbT$8^*9-TXt;cKrI+zk;b#r<;ZP;2}fdT}(1^67?5tFvArAkAOg?y*P2=1pMPa{v*tuJ=*~w+X;aD2mweg2IQ|61JZ^=un2UM=7WUf z+HTC=83VDYRIj)WZMp5C6cSTLiG^oRyW8jyT?0OkV&X{$@2R=Ys*! z*|CV#pwOP>C^jdp1HJt>AcWrJBRfI;zhJSyB{+r_%th+lq)VvBxAp(HPL6pK^%E3s zbrI?$0;&c^nCp!A9ngVn1NjmW`P@8D0A!1Z;O8MwA%H=mZUQ1Ci2s)jl7Z`6vr-(+ zMd4pupwQo#0a>d6NSm&bjfz6bD1?c0B==%!T?*Z*At2SsnGXrYqhUw*J_MPGzabMu z=X?h>D3r;H=C3osHDW*rfOL>LD#OacD4H*2@b+8G2$qgWcvqOh)-cp6g7-~;VpeUK zwIFm46uxy7SrVEjgU!`5y`ZAYUT@^3!|)$f>E-{}!uh_^9CjQq0Kq5{EmS#bMVaY8YbQQaDa?dmSq0>UDLWBWbjF5gj?Mzr)3q&$ug)K3< z1|bAM`VJYz8jvrd2Bdv3#s5*-1(IkfG}MH2i!+iZ4G1wJ3_yHI%#2k6BPY#4stG?*kEh zBTD*^J%?{Z76ygx%Qry#WKW1=wyX}tyq!(RQyR)ASt$GzJo4z*;OS?dffbv!L)&y;PUD;CgN7hP+6fAfOcWm(X4o<; z2?CY`0~Hmz)nAOZ6BM?Ej7dW2N)lx3n`-Gyl#lmKhj@PhDT)5d23RdxoZ5kU9JXxA zr+`b0d;~VK>+6a2xM+YL3#j-@D(+no&+;SwXPhEz~wlyaNmP9Td#$S za68=3sTfYFZ3BG}tn{ABDQ-Jr2C79Ni}@WpVlEzW5dX z`?V?_3gsi_!^5aS`3|y%1gamW&-s&2Dna~Hm>KLF++TCmeic?V2|Cq`Vi0oZ*sbsk z>P<)|@=FX!eCC;FVbjjT5I|tjt#-7F?Fe~mcqna$$!JwC8V{=H!D)4Sj5NT*n9gve z!mYwaY(AKE9)T)HXf6c?2dGrLeI4e5LakJ`D*_!MWfKtS`v|JygTb`LevsaSS&wqXcsLobbm)~7B2?j5Q3<^Y8UT{?gkB{K0O9%{p71MS zKU6J{u!Ldxj0oMsfZ%qKr2%P+#Rrp_V$=ye$}C20T|F);TJsAr(kT|B@SIrt8ce-g zjXI5c@4J^Z5<`a$gNtzC?*Nc@;n?xxSS_8hV|6jbb!q?3UAq}DtXaKA0T2v5aU=WRdh0D@f_{NonD3xQs1t3sL z-o9xo3l_FLQ*Ho4H84nYt}|`%A{)oif_on>)}KHi@nZ~a`t_<34vnG^EDlY=kfqre zmPO%AK?Pc-*F=N?K>+d?9!IPSF%3ageVxFA01ycuTiYw9#M%;Gwj4vM{+-y2tz{;} z>6aMl^&*0v0~mT$laPDys}#Bf76?SJCI-*>JqmmBODbJmSTQ>TQpEEmp*m;nLjO}J zUT220n^SF`>WMHIV{MIq2`cWGLI6a-L$oRa_~_ZZg$&Hy;}fVE33KQbu`pitBR5be z$~z%LO9~O{&o2QG%7S;k0Z3JS1Jok`d1XoYKftAV1CTEe0C_K80CM}Z>VHYpH2i1x z4*`HsrjV{aq1&j=hcBQ3hXx`}%@5Ay9&iANtKzu@K!g>EcmRl#a+ihZ3W&&?w7AlM z2n#|#cv6Va1|TUFf|X$wBxniJjSeJHVgLy1L0no82Y{F?SXi8}OQaZ!6k?%5e2W;y zcxoU1aFZzg$PLHg0|W;%kqsdRq+_HE29BD{S+6K2H(l2sIwz_jhKq?vWgpgwTzb_G z`19|73;U1U2wl_Np?$mt>W55V0P-~iAeo-S1%Tk&&`#+du;5V^`YRjYSggM`1xnPmfQxDDWALFYW{k$jaj|~W1%#+N5bm)v z*cZ|L{>~WkMf7;fr;nHZ4EK0inCt4=c9m`0r}{cgY-iL*(0Leu;KH41u(V1IhVcjt ze)@xVV8O>&lUE z$@atWtDpP;uD$72)?Y-dXV?Y9r`qB*{SA}&*>%M1Q#E52F#sV3B#vV`p>BgRP?0FS z=ftI$LF*;>ECLV$kEGk6a6Qs^5QwN7i(+62Z0I65i&INpE-G>Gs z5^`0eYJO+{qQkBz{jP*x`I-69#Rnz)DmMU0x$A)7cd<`>ANzFpRoDU`p}1H$W>TyB z6aevS9fG*$ z23nw3R$+~&_8klWdFP#X;Ka$39G0a4NI(IQ)d)O@Wgt*N+gqh{TT)Dx7>0Ik0Zf)zHev?^%V*>@;QGY8jeCUbTusm z_MLN~MH#Pz=#(0^tumc{w}a0J&;U9D3*7+3uUL}#-NPaV zCm?_!NWa94RIXcvWo5ioEuAiYEb zLd;;1O2IoG!@BN90sIf}9{%4(VNj|CqqlaJV(Btj{d9wgi`UEj8z>7fFvvp zhz1}&0U(zMU?NdD9ZNt%0}z@s)dZn=bx>e}K@C2~WY~|O2s3&i5aD~iT#3+CSll7p z*Sd2N*9pnRZa7H?&i(V2@Ba__zM$0F9|i#F)zI@_-d(WNM1NTuY};aDO{SK(MFMsHgbK>#umzW<&DK%&JE zQI*ok1c0Ql4u}AdSqwlDP=r79shYkh82={x5{2WVr_AGQS>4coQJ@$)#w+3G+c0y_ z?|u!dH(m*CBbCq*wISUHPvDTRuQLD{3ck`_5JnLy=|eOCAqJ!!rthT+>K#%&VD!wT z3V__ti<*uly?K#C>3M&O+K`4(7}MV|4IN7QK>K0@KT#~ChybMf$Qe+IU?fVF*L#n_ z6u)D|7>FoSU?kDk0w#UO3rm8Q>|+Czi5$9Rm=gm;CRt!bfC@7u*pK&jz=}2oCjF)u zvw=#ypViVn4NiF6RQAXFE5Gr{7zQHP7jybi?IY09Pb{X)+ZUT^^=+T{BV^XOBFY4a zsJ=GK$AE&5RjuB3`Ox}m6JKX!4x-qXx2R8ZYUI}CBXMCrnbX-mh#^ZmkDSD;P~U~2 zsH13AG923A!k+;M0*A4SE@dD<3;LB;?1lgHr(eP4d#=aNYb67fR>?uEskoIgMWLQ! z;l>>dCa5k(8)P*mEWM0Fx$eUZSnaAu!$sv-P!E}q)_CmX6r3(v&YIRXT1w35fgR)%pmjZ*#c=UC^M@4TZ&8`)86)3d@=iL?aQD?x1 z$$F*I?uzNcg9JLjjgOiq~d7A`VNg z0Eh-38jR2aoR|jEfqe6u-+(Blv?U*fQ)!(C*|Oy;;8$3T@XN?#Q#LG0)hnXy#sI`` zF(Ca141gd0@Q1AR(Ap0zHc#VkA%#ED@%8of=2{yzY+yEm(&y5)uFcU2^(hoaMIl{| z282ZD|9^XL0w-Bkm5Db^H%%{*=d$$=@n2wM#hc7 zQAA-B9Z^AsT?7Pl{y6H);OICbiXws{1IpsYF3>BzSH1r^_nvd_xi?;9zR1d~rR(PJ zcYg1^`<94|jEuP7`_A`$&ElgU{ip&hXu-?ld_81M@SIn@>Q!nR!3P2r%p*Z&MQT5A z8`&Vm2%$R{0ieycM{P9O-w1>ZYS$VxRz)~og}ta^lj^Q-4I6@ORA{w(1uz~j09)B- z07yVRhqjajAd2ljXGW_12kl{1TNX@;QB;i+_JjZkI#w|N`3nFQr=Jz6AU)iVK%@qG zk*@&AK#jxKK$G#9SpeiC`ffhvZXmGWYdZi07>p+{0|LP1zk;PLx?W-KM>+_A?5wNv zu!ReC9STTc+t(wsZSa9f{k#6z(-4e|tLKDHSZJ-QTCD(p9Dqni{P;00}iTe)UCkmV`alj?P>5@BO|h> zn-y6=O&E(|dmIIJ!Xu;aOx^nO5 zo;&&NL)BZbeiZ@8A5{V%w~iIRbM5qZdyA|0%`a_z5Mc+X-5sa_Nr?T3t@W-BkkVj7 zvmfwg$TA0jC=q()b&}BQ+TM|^A5&3U97zBK+p!3I zpe7_|CPW1jYCVVwBSa8_0Axq4*mW)ekPm&hr~~tHCIoLG0I7}7S^yFQ0QuQBY5?-| z=cu-tD*yr-kSASt1L#E-A-M27U_dkgL12O{SU8!9VIuQLU_q{b z>8n8J@s;93kPET%(kBJT5WST)jjwB28pP zc3rAilGaWEOcVgQjKIhhV(fCKjSE3YbJvx`kcd_;0xB)FUxSh+ffHRi$-PPIP1@gt z^~P=sQn>Wk)wF%J*mt!7GYxgF1}=5HCISxFuJ6%>>k5SI*5hiqhu8IXefMJx(5UgY zx`sZlhU>W8MN3nU)5jy=FxPpUS@QlG1>L!0k2UA2u|1D-$6%s=#^R-F{g3{a1|aA@ zcKQP9KK2(c{-M_@ea08Ta`vt7dLMw5%Zjs>FIV8;jc{bpboE>vRdCxTe} z-~Q!G#oOQee#Im_YUW}9GFKKq2v)V9__L3z^z^6Q^uqu^_N(WLBJK;Wy#X{Be_4F$ zlb--Ea!auTu8+?P!2>3QzvunGrLOst|LM(&sX7f>pvEB^2F2rt?)-LfBd`xAjqL;N z#YM&Z#ZOZiB_I34k15c2`rO5Et;YZWxu96S{23a6!1eHNat45llg7_29{b#vLM!7J zRIAlFk9%%$252}=nc82hUhxbtV)&>6Gplg!N!`80sZ-|_ul|p3gx~wq#Sj07pDRWn zkn`j&m^_T`E^dbB@!hZgQ}HukSAELF-XfX@&4y~Tg4QYu4b)5r>pQqm-*LVXmow{O zK!m-m*G4AL^q(Kq-G3DA_+n=%ch?OIUT2h9q%u{`OU@cz$|y;fZdCnVQhcbx)2*e14T&mIFbuD<$e#pa+@ zFNP!X_&ETW@Uf9mQI1~F_B9L}u^#Z)%&{8@zqh(~{_t2D8$7vQ68d^$s_hEeiGCX$ zp};m5S%F`@w5^2YiVacX>k&1fN04ynWttVZWp`ceOAonh{sv?f=hG<`zo|n-3hI1*p7Cx zVv^$Gu>i`R0)XR+=}g-nE8PbyAF-qO*po-~^+1dB+|{}grlGLhoY) zAU((!+G+p-xS%+DZRP$iJ%94fhpGdRpF;rh+m!$a&?hJuNI>#Avy`tRSQ;Y!muEzU_lUwoP1_loO9sP;@`gY4b{qoz~gkt0?{p4vx*Uk zpk?8a5Lo!jzw(yid*AsMh|-}~_>5Z7?5z|#+B3zD(OK1=^(Ao1`t0984#InXQ}w3* z^FMw`eMwyWSO{vXO(~1s)0#8I^8PCzGvq79$6=z?1qNhCcUcKfPXlm*86tOl=bObd zuD`W7xjw5HkN~DYS-(@73&rKvJ{QKnQG5V0L(nxR!S)RRB533Jn%Dn)@sD5pg0cvH z_iwzvco)>?VDk0_$ePU11fIGP@5VW@-QN5`OKnMa61R)Gem?81Oh+hCg znxYVhG!2V#h0&MjaScEir08wjccm^IW5BXYuQ#dXO9K);)`0Z}ffRoom-PYr>I7(1 z?b208@UV;b;ksVd=y=?&nK65AP1V(UN$08KciS?pZ)ZwioXUiHm2C4*c#b^>5HGLfWzJ2{@3CuH@r##2LuJUd>a6g z?|$tci>sdVlH!rQ3sn0OUiUx0^_|K&3Ihn=`p)+$UBxf{+B;zVH;TLd?W@Iee*i@6 zoxSSuN1%-gnF`#8OvjhM@L45RpT6+g;!ywuP6d`?*JG|z*1BH>mI8w?-wj%nzXHw1 zKY#J_YOQeBDoHd@OMQ0 z$j|-fw#8B@z`s?M>egqJ*?1tmj)jcFqm=12eTha>jA(+3C@xESf&;%YP;&XZC9H4m=l(} z(`p%adPe&Z3)d?XKB$t| zDPRIHujAt|v47^XH0yvi@(Hy!9k}o!rQvw{+uyE&0#ApDznTO@+=lgtqBk=Q4ETqX z?Jc%Rz2hD4DE{ov{!Cr>J@0*Q(En@-J2E)F1uPAFH6j zH@@)=DhK2RFL;4rI#`7Mk&k>tjU#)3dJz16z-yq(7HU0Ee2xqU>OW8`@@ruKi%wYB zvWSm|ZC41UFtY?*vZR(|*x|mrP~Fvtfzg<3VH#UZ!2KW}BeBAW=5n^+%yK+VJ9p z{60AUcL31bva6v001BrkA$|ONFVguN-+j@93J#nH2H+3TElBc?T z3RBwgIUyr~ZAtjto(Gfg>1GD`8QO05*DfUnOl8-Cnlgoly41uK>_-KImV51b%PSb*Rh|I1hh+JnvEPn16gNisgH%&FvS!acmM^ z(;5I1%>F=thTsFAFACG~@ni3OqW-41Tg5B}5j z6AwOA-G=u^5P-a^5&!{I^QmV~eS2+Xk!|;@aomT)Y)*cTrdJJOAHD;o84koPGIIiqpn+ z7CGFtRp4Xg!lDUxdR5^zB(57kg6jZ6+G_+%R9$LXws2j86$?z7Si5j}xzUz1sT3HY z^~O#HDOVT((%|i#Jbnd@6G$Pjg4>PVdTGXJyG~<`U0#{}074LGP&LH1S>I{*D?qX9 zDz|p)F-*j+iSoDW-oC!$;W=^EL~UpPHF9~LvWBIiv9o{y!R(e>@tSHHG+C)^PDJrLNx3mBgpUisri4fArw zK&Q20nU0)VtWr_B)#`lVYPFw4<^VdByOjkWiLuq?Tn}ouBIZK_kF%X%L2S2533%v$ z!8H>wm=O3-R=bl+hWTLdk;$+@rTdr_frB%G`LM26+{{!F<^&g9crDff|L}7&Zopj2nr$Bh&TJiS(^7i5-V0DYSjx*2PAp+(! z6N2Y8+byueeHmyhep9teA*i_Fh8ql!iFvXD+XxhpeZbW7cR@ZBJ`Zf8!fcUiu6ZJy z|GUNImtU?x3j+|edjA7>A0oIo`|Pt-5Fvu7U;WizRcr^gaUr>GrKQ7!_$?rm=1I2- z`TH>lBE(?9M`{M;N6)3}zd~z3SSNwP>rVr-p>-Kk#Z#3F)`)7sLKXuj^&flEsCMFd zDFqRNg)K58$V4DucsGC&rImOEvNKwrg6HBsv=3H#j~~)4USGR@y!gfo$Ib8gk1)Ak z2B3t13LkR^Ie5M8^0s|Uy!LCRDOhntJ+5-C!rvF3%THgRb3{-g}NU=#tl1bN_(R~3osri{J)(;9ABXw$NouyAaWvu*X{?;*5K;Qk|09K zdZ_nIh2YEe*bqOQ&^KR@?_XTv|M6A>kVya_7wuk#w!Mksf$9L{B?v&?ROR4<06_lX zd6ReSSzCDk(au%_kX~Ss)q}(}KN;Nz zAT4slYHRj`v>>Jx%jAME0GSXqY4jj95TfHRQ`c}K2<=?FqH6;wE*vO=&Gs}5iI zDkc3)_`-x%hUOG#EWmd^pIj^&iU|R0L`YRXtp?d6Fj*J@R^;RuG#MaNuk}_zn7$K& z3wHtt0l|514T1_Mic{mT40G3!6 zs?wkY!N`TgifD#}fr(;8R%v~eTDR6LOTr+fslW$rUuJ;{ff5B$)@W(QE*E3Os3@SK z_cbKLqPDNl=MZqI)3QPP^t!vO@51Xb5YgwG%JO?KCj|O%^jW1oQem5M)a}bQ2G`3eQ5nSLgXTT(%#}SMmBZSW@!{-K% zjVuHnhmU`14<_Z{7^R-?E*;qSC>XxmKJGK*nTtEV)irsnBpC57h~=}}fy*XmeoPSX7&GGYg!CVp@jxKr0g#%Pes1(14LAEE zZ+HO26`@DI2BZXlF!PSgI%a_2#QRim$7+psiZ&FFp=B?&$EcfTabk>8&L9m1x?-7q z1U?iHAxmD)06FEM9Zs{tAD z*pSU7repihX{hr65b_*g2>#;f9c5YjkZM7iRCnZ2JpR#Z+B%=&RGkBoCi?G+lXkp= zAHh0?=Kb-tqs6~oKURDfbPG>itf~13>OFAcjLuq^t8piQ51fR*>#9+;4|NXThV5^{ zIgf=lB-Vgnp~hnZLJ8jhL5BYe0t~+iOv<;Qb?O4pT08=-eF{wWf8pY0@huRSe;wwO z*TL`b2-I94!#AQCnioS`7CLVs3!+-VfVucPu-APvc_<6k;VB2up{4s=l#lkngL0Sz0Pp+QL)$4dBy^aXx@cgqu-|_YSi3_;&oURY~S2!05Z0)T0C*z(jiQxzppv~xefuyk5)POLAdBYUq5kh@7nUA?EoON zvvcqP%m5^_B~#FyAi}I9l(38mskwH%$^}LD2Peh>%a#Ekbt^_sjT2T|tal6(k_t=S ztR+S1;{u3G8W5rc>G0*e16mG70Eno35DF^PEXa&$#lkQ15%?0vHisHa3~~iP7Swuu zYEgj^yc2m=tEXDCuur=V;G_-!qz0+!byKTKOq#(RPG#8(>_=T?hwLeG)eF7`z~pQN zNb1na(SS(~E)#6sfMc2fOqu{n8VE!HgdiBf?F`O|;0`MSkQ(k=-Vghr0E9G`E>M=f zP9YcpP|{MM1c1mg0TWdhDS*%omng8(5UpG-hc%(LE>oA${!0y5G3#rWiDFQK zBH~L8U||5$Pz6G4*shyxJ*Gg%PFmtIRQh;azru{wX$+6AVezqeoB|nk46CLl-EqPn!Z`^{(nl6A zrtQnkWAL~F3#*jsttR}q540k{mYf9uA;JA{P7K!`S-3}ff1DF3%-r+ep9K@cu<=aC73(nau%4I<=Hk=aK>hP7`+F!U741vRbo9j;yPTbm3(El(RGwf_MKLpo3`U{9a3x z%`dkuA;Yi?*TbZ9WJZu}K;1+es+A!Ch?O&(w!GEXKIu$-?wJv0hh#+~PY8VL<4~8; zhH7LQw8WIxk!J`(w5|j79VkNI18L^iN;N_n6KwNJ$%2<{b}?k}k@T4OdNgbL_Zi{; zHv(SGR6l0~9gzrz#NPn{2r?!3JW-^79)PzMSe`MW87F)lveYKhN3ni9WJS^>Qm@fY z(5;}J<`HK`#OkaAKByAfUeEksD>Wc^g9Bgd#l=Ns!M&ApcyPxpUU2@x-QT}q{DFIJ ztPDV|MgVeCm4lI1K|1WRJVgHSdu~_^K2V6>Y+C?AeakFJ&)QlGk{AF&?O3W6i-CyNgK$PjCV~oe%>p1n zHiU%fWY3#V%qtM0m=KsG)Fv0zvJUJ>9a^($ssMms5%54Z!~hXuMKlP})dYZnT9JlY zo~^2>KnT=4FZZg}ti}Q^5s1M0B7qTDwiXe1FgV!{`*8bw4Mx=R{GtKX5 zu&u@~Q^y+cVa7B_L10o}#pR{66l1HG>T%kqfeKE#`51kdT`%=mO`UhSSl7oZPyxr) z=+1pk>ovM#Ut8nj=)ASd1R&Ap*Vitmi926|0E|DziQEKcOggt3v*CF)p5U*Eb7)L~ z1DxcGWN!s5R=lwlyHADitz7PotzK%cxuTaku629%oaUIlEi!(LiIG9ImFhk4bH{t5VGofGFJu zhYJz_p@eg-`B-o@A7i%dDn`)3;DeZtnC*5+`=K1K+7oW*U_*osHuTM#q%Pa9MqTHt zddp=$dIYdv81Z*Vl8YN)?8umzw%~-=k(kn*HM?O;w@kUU9ssf1 zF54jmtDFHLlai&dnYZnDOfFb0)q;f#2m%ls+bn>nqIC!WWcvY#0uxk^!in=4dLpb# z+wq=0!mNkX9dN`uYSJ2DPCB zu{|*|69{1N_c{4Y4Zbo0D+mToR(86&-HRVnzBZA1J!6ymfyEgnK9JzY#n%jl_52#0 zd`3jJyJTy;9{8x>e6`g81oa=tgsy7f{U|H;f;A=6Q<`jm~fFlSed$s4RsqijmlF!y3?nW!kRvwi2OdnF~P5fJn{& zq~-#Unn*`CVss%$uj}?JU8B^7Wo>zt7K8x^iqV@k9UVpKnGvN=8b%~1O-RZ>WK05) z8CBVs6{ch569h!YH49RkT+o07dbUv?Qd7080SK33Lo6fGU?7480HmSV5UQCy1Vpe! z>ug)|1V#{uP-zgdPXQ7QN~jift5!p`Y#|$>SrG&v&E@k|3l}amFu6cgi`WtbC0v>% zIbc{4T(+o{s{uen)v5+34b}3cTe=!6k}bK|uqSE^_pMkaMF9_3uZv@FtS+iy>QdUi zRDlLw)(ODWX}?`wBDVFI0ui)bqy058j(6YdX20I9(Xq7^eJwrlzLf6N)5M#`YrJpO z-sP{+M7_3RC-HW|eyKBN)3_}|peFq*0tkr5)B7*=j?={eKv~XG84w_HFmi9n>kJ}f zUWRUWqHS8wsRc?0_+4yM#8>pTW-{3J)-4SrsFtNT+;ymO1mlasBG(g+XR4J-)S?GI z=J#7|2eBMV*D)^u$EtS>rt3vNV0fUnw z5!_=mQ{4SN}nu z)lnvZ2eTn*N$8+#!OFZG5R-~70Z8fq5C$AP#_d(Q2!JGI03>k%N7N5U900No17d+j zG!THGs62!3!}GzNYybZJY8}S{0697U#OgsL0Ewz6p_gWal;?&dB@N&*k%c7<<30Y21St;|~U8dt1b)8|Tr zUN?8a6!1V0Qmb1HNKM~KOKKK`q(t*uJ6>J5o~d9$5~eF5`lxEZN=!b8wwF}wN7HM^ zf;OzQMXgw)nhmLqPLWNoZpA`PNUf{akp; zi48#jg3AT~5Y?I`fCvJR+O!5CoTQFmqz2j#)Q8mPGze)T06{LoKJjYR?^$d0Hbf{+U|V*-=B#u9;(B@0m0F#tyD zD=vG2`6G3;eUTYc#}T7~;~I!uq{b1%)D_Eeu?01>AIIv;8tl|zthREo1`R73wA5+4 z4inrO9EW3k41yUohQNVZ4(mDVI2L#enGSNWTF`7qj=BzVuu=d7Kn7aqDs2aWkA&K* zRB}1CSd0vysq#MD#fyQShMFdQcly;@+r=c#PVxG$6?}tC8xKDsux&-5|>} zKp=L+1t6(qG;p0PNMl~&c%<*xq9YcI%%g~a3r-fqq$N`8kv`T;DtMxrn8~fKNbSQh zocN4Ts=5kMJj@oV06;bmKy+Eqm?U~zPn@H50}40en58Dzd=2&9i&WqsKCYdtN6v)2 z3IOpd7GOCQfF$)M^od~+5(k8&+}4zGi&iXv233co==er&Nk)X=F zZuI}TnZJkG$2Srr_&5>(1drp#hW~#AAZ@Vu-nDDjmd@X?cEEh{*B&=>uz1upazdqTc(n*Uk(v;Znwtnq-lS%8K~ieLN^6`Cg3L!tTk@(e&9)m($gNnU1yM|h zU_+E6R%_g{A=08(RZnX{5O{Q?Fdf~o=2T%jR;JjHd1}SdORW*nZCT8Qeei+7tx^PY*iYJoUK3zvLeioC}xD&k@KGc+K;$9| zNN6Ijzz9CxGEekr8}}O~fX?9-qa{6==W}iF9UZeo?MF2E=P?Eq=D20e7^v&{V+0Ix z`4|EeUY4jOldvFg$7VC zdy#_7Yb;Z4FVdb&ZV$GcCbRgVcV+^c*x*Dn_iBo z<+{bnq?apghc7PQr9g)gnD^LL7k~&cA4=yj!K??jTP>QUWj(acgPD(%*p3*OSY@?K zdJhC1vDAHF>(wX$j}}?(lHgp~?K1OW!UnsR`5+L&u2(ELkLn)#L6*C${jj+onz@c7 z^P!k-03W&5`g3=nHzB3rHm!;umYq1Ipx8ZxSsz(^{@=04+*D8S(`A5niR z7K0Rr4T%WM5V(k@zfRwESMTh&GhkcDS0Eiq$WDo;V z1~ke*f^&UdverPbYDv=1plmc*A2?wznea>T7B;i$zDppF$A#RD15N``&h4^1)8od$O z`tDSc2>plCc9j|6fgmIi3AhgUV8@iqYC#g?ghe34IAIB4dR+$;YD-?$fsi#X0uKTr zvK>q1gS357`nVOPcbE;Cax@{C5vEToJqWg9nWDsW4M2bi8D|i}8j(fKjt~&3Pg+K# zK83mv-I}GDku}YVC;)xt-!~U2TY*qOPWzZkYd2dl3pUfU{4^o3pEf~)}W?N$JEq50wK!;P?j}-$q9Jm0(8`P zjM{)|%l2G#%#uD&*Tu9?gBg7ejnRbN&7g40>=Ph>&r@IkC+y4a@!66%cG*5=-?bO} z#~pTp6Tmr?j{t=Q6BnwnY}slqa-+K-mV#TL7Om41j_2GSMaSe$<_5P)aog1SrhO_G zV1vgs0AY}!K?jEd_JI!4au|kVp7k92l%6AErRrwx5Xr7Y8Rm$Ol061a*9I*l*bGGG50TAnQrNRb@`B314+OL$;6AJ*#BZ>Ojh?4m50Z2UH_{3`s>u<3t0U#v+rfh6D01`W|vpGgG9|HhJ zl@xOKG3f6a5txx|#I^wt?|gn9xQ@2IpaGehnksf}LkjxB^2$U1=NVHEVqRcH0P^1$ zfMESqB>)2G=C_|bU7!X89&pP6$i&1XrJ<*#f^%!l>xs~*XIHmi`Cz2xxnb2T@Zc{g z1wfh(3zA9zQgZ=F!b0?V+k%fqn?kfk9RR{?h}MA!00Ljm`RIgc$udkxXNt<|K@32rld)rgn>$f z^d($%tVLR?x2B7HJG7whE9e z@v(Xxfe22Z5kTlMUHXo_96Mn5EordBlWKj}|3bTzWyTKBxd#YLT ziC-)^me&`>V-ll~FS_GKpv~=0i@uJ+W@6~NkQ}1=br!kQTP$ACw{F^^7KO`{Da}~q z21p18D$fR2feaFhXH-VF!7fz@C>EI6*hf~m`_y>K$>h{prS%2#Sj?CES63c<@ zRzl-}E_BLTS86;I@L<5PQv(fUr>h0#8S6Z_nE9Z#tJGNR5(rW4R_t^&tMfg&B^J9K zn{b}8;Cyt-2+pPELxGMqEgLp$Fd+b9nGfB4cGaKQ_mgiT@5^v zRDAX)0(f|O54&`4c(D#7mf2JUKG;Ur)qsc=E5Ux0YCsZU$y+Kwk1A+Dk^$q@Q@V%A z=BR2D8j{efyl!!yFkQE0Rk!G^su$^-`13?Lk*vkw3HU~Uq)a#AADc>m5_=+YUmN0s z7Ow>>kjE8zF%s9`%xi9M23Q6v5-nKU^FEGCTCnJN03W!Vo0}`vwitkn zgDKVdyO!_!%JV1h9wGzemm~oBt*UA0pM3Vzy%0wD;C5K?PD4P-2!EIp9o{cOPw6gJ zYJ#6M_{fcAqVD6(Z4$aky{(!4U=2EI_KQpDKpF%>w7@Y@Em+iwMUGf8r=sJMlhH+S zKw;J*d)|glO6PnK1wxuSDIHs~a@2!hDN*{Q2`fYZqHCIf$V`ba9YM&PamdQZC9B3R zSqMM`6QbI(rgYWGElW9O^;QHBS<{S2Z%wynk!uz*BefYTSg+04)+`N1m?7b9%ZwN& ztvM@XmrRMSeWq=zzMxBMM+8fv%7PKamN?tCovSWDirQYXV;Y?7C!oUn&Q}1!0G36q zOR4*y1}3sK0cvntpR3PTOFTv#XSNsl7(GG8v7EMRG-=MoSneH{i!n99_KxFod0);> zOln+DJL2&<3pfy5 zsFo@Y3sl=WFfbwe+{DT6fOadWWLmdaX{JLvS}CoEU^)^i4irpPpdclgt3-3nd?@V) z1q-s+Jf?gPWItl~T)}oLt@)TyAOzd3Qf59nqUEa1Emxd$ZZ#h|=R*t6;}*4DDXU%9 zfXKEhDLg0LN8Yk52z?$$%z|XL1&hH)luHm&b3gkj0X^c@UA`$Lz(+(aSj>X30ZJ4z z^DZ?W{j7%rK)6WH$XXB6dX>aN8)5-T6tU*RpYSA3euM@ZcFeLP{ViIFFi1}O-@+&C15~E;<6n+D-sz^2m=l; z3na@t_Ji88a@&R_*L4nvb;IKR;CRDG7J(4el4Su2i`8q89ioccvJjLYE7D`Z`l@lxLLh>y zNDc0`>h+z}szvO`G>g{>jPSZ_)gnhNW=Iq>;3-0rn-o&YK^js;_Ci2#C@`a1i?`1wj` zY>%P!1-o9SZFStj`Q|(x!f*nE#!Q?Z}#A*(%QLk5l8 zl@^?vq;nHCI4(3F!g5yx4x-irKR=D_u1GwOnDwYNUE5t|Kv;0j7V4>Bxl?x;`S!ad zu2)uso;ps9vD1EKfk;09iTeOasSU3bp_ke4I&C#PF-j`f@NV7YH~^6C2Oxg?T$wPv z3=|BStPawKlum4Uf-W^8j!tCr0AvtYINb9O4}i$AsMJ9$9su&p_5-+5XYItCjA$K*7N#4UUTn+iXb^&7g*oX$@-fYZ zFe9P`>N8p&g6&vivlfVSbxT%_bRqfVymHNAy@+njTC~ntlQu&npIosyA_|1)_N*EO z8!Fc)(IS_^AVh!ryP#3 zYCJa2V|u+N0D~G^;4!_P&!0!*dOuH`)i^zt1|Ig<%#7JP_`GRwZU^w^P|PxmQWhAv7HswOQ%qs$e`;M23fGu^L}?G#(fxsF;rN1qv0Ub}OUv zp!Loiu^lst`H1_H&3n{-MQjJ$C~-6&O$H$2)M};ec2NVu;3KBIBn>{sDCr!Xtwinz zwOd8CmSLP@!*=w857zKSB5c;^K#b0#<}x4-0LcUZ@feUk0FrnBByn>;*dZMxfqP7MMyG z!tGf~8!|&|$gBb&$ckhnRr=}j)Ns|fXCVuc8!$rcT0%Ec zo3SlhiXCBlU(6brAy+M0Du!gnf|5G4a4{IsE?dl)P|XrJp;oRsud_Aqyapzy2< zAkghc=c(taC+z15k@dN10@SLj> z1vqwET}My1S2+xa(sq!ToJs+ZaScAWwMs3!R@b53tN?(FApn`DKtbJZ6?f(w*25;7 zv%q|YfX9>p9kFS(vh7xhER}AqTdqvj2ixs7$#R#oKDh0w=CL0PIek31ivfsnVbS0t6~c4_K$-+T zl*j$303ZT{P+GbUEbIyZLW~Fk57m;T!AOdMg`++Qp?0j!w5t(efx2V+&t$&dNo)y0-Dvnh^y=rl?h`w?@{!9w=c!J24}=G+TlorAB~6i`@6X zwgx0M)R`EK$!;3kqX7z3ZBDP()Vc;CHMQ>?U2=@q#Zs^D)gZ%+?KR^FQtUngHwXmi zoEmL&<#KF(uNb$>oUWORbL4)W80Q0PuL3J&$7NorF`8g!CCBBnx~wacKECf-v;EgD zAKTl1%YVUMuuA?NJOUtnDoW zi_DZ|F;I`eIt@LxN9^Bi!T@dU*1~ais^TaLr#a<5p|!D4cw?O3$Q z<>NNNJR#5#J89+|DyTsRvmGfXo6B%P(QXy1R;x(|Y$Pq)Zl%X4T(Ic@5CuFsv>f$X zt|a)-pRJJ}HfY!nk#?TfMVpoW{8q&+R~$H~)-xyVydQw%<~wCXeD@3jAW0bjaTpB- zDi&yzC!yO3WuFkeg4kS5GDch%oa(}I*|xF1)6PbKq6&c7NNhgL_-0+J*1PtR03g_l zKlt(DElo_X%8G0$09gktR0kk~Gdt1&IVApd`rWlQ4shIjGJRBXlVCdlh;L#rQqpeK z?}jx(8jxAgSZ_50f@V}xAVUAsXHFqDsLFo)IpGciK(Ibr)d}lkPn$Z_gchu&Ee0U? z;>?l|eT4dHO&$n=59^SXiYyQgC=?kXj>TebLI~N0F%jC3B;!={nziL+XBAv0U5G9W zD5NjNI%k83wyZ|mwqzL=WK;kU-IA5HI3I+B=|ZHQjZ%U-YeIxJ#Fop3WTri9+DTGJ zMg+y`N*_Xr>baAsu5}{$gmuqS4q6jS28gKjsU#rT{CI(GaVv#o#xhRDrou;P!IbDS|+H)Fc^4ty>r&~%)$^xA`RaSmUX+lJ(w zeP=1hRe6(m$F<3ds@-(%{>O3ldCPQmU;p{^m^SHquhCCvK;UnSL~y}IWHZvnmVkt` zww=~x!34EQDd52D#U5&%;`QAQxUh-iS{$A*&@lG6HnRcsL%Jk5nBNfh8n(ffQBbF^!Z3#Xmt;U1w zbxpuv)4E(ajEAa@$oc4y*j!|OaL{0_)tC8^i1sVA*^Pwjl`3w%O7$|z*2xI64m>XfQ}|z=y|vMExn}MsO~dk+)w2*O`z)XJ6z17XQv@dBuI9 zc%BM10ZKW$vC;oO>OU|+etCI$ z%k>}VfOXOC<%j;|`iX-NR(HU9R~Z2LaFvq}-rOzz{<#x}_U>FhG_}P}Soq>B!Hbl_ zmj>GLsxOB)af6{!-Dm6A@D8x()vj1ICo4odX4OPGIx!(R1r;i=Q8&ON&gu^M(D@)u zPnfR7=@?KLtL;$-gy5GfvLd?39ji(1SRyMVVP=GwkfcpOgg{6xf(tWFQAhAG+OvQJ zmNf-FAWfZtNVhyg#1=ScO;{k3QJYpiY1_1a(dMPCp8kb z*BFqP^_>QoNKnG;i5g?}gx9BOdsZ(kNZF&7IRO;4oTaf@y`D2TQOE5uV+x3e}bfHS9jMq_K>S%hlwX?#9pR z$#u>XZ#sr6o!vu|biJLcF@0S#iJ#TiGuN1*bNRZn%mk2rVO9j=F*`ul&BP=>n_(Tq zIh0>U@RKY z!9w!bupPR+N{x*X(_!*FW<`p5NvoAgGq)O#n8oF4U9%pB{a}rU5SS+td^Bvx@$k{4)zC*08 zBXh;&w4TuR2mz51PC6HWV)G&b z1$)tVJ$kH!$11c94GUHVxjdD&Z+RfZ3G)-ywsD!@-Q=MpE<2G#ZnlW8Q7O@_Bo4?) z*8QEU?CWo5v(8qWtsz4OlOch|MnH695jwvIM>hOFMF7%hG?c_)s{sh=Kc2IH@u5RE zcOM!;|MBuN0P^Eih3Me*`{2{gU3{>y#X@w}f#^i^NC!c2;FDxKQel%Q?p(#GXxU06 z`;i$2gj=tenzt-SPPV)?L*;AxUIHJ|6^mQ37=SPcp``SL+_6$2OxN0wQF6x`H6dI! zHGPa)vS`^Jw?g$6C8!hlu*)fH+bi0$a><5triDgC>qRoBH48N&8kE#XxUN8m2sAXg zBIC@ANX^J10TL3j6FAX8WZ8rs=Avy&3fq;SeQMRXZPiQ**O~w;1VnmT0H62z0ZT4g zy)<~)<&3HAnOy`-cH8B&t{MRr1vaMj{@kqZq5bw8T;c>bpJ6aV=NfQBAcZO;@Q~9v z`80up8C@Aoq7~@iV`g|=>^Ivq!KSfHJO)p?GaA>Eak~3I>xSH!Nji<0>&~8S07xd< zj-2byxRrX3Z%bUa?|E8=!L&OWD_Zwh{rm1Vso)t`kH%(fQg~*Td&IV6E^Mn*W<=l& zI0#fsX^n;g9K>oQ%xoaYP(_-J-kK1NuL)aR02<70Osx>WfWBFBs!Argor*1Um+X>S ztXM#<7>^0dcBI0^DwQFEpzla&J?_{xtCZKN)hcdN+m!$xiD5mUT9d}z$^;7<_JctP zJ6(;D&F+{2A8Khr21f<>5V{XyjpGdj=Mhy*tOvJWMJY2Lb@6$gQxGAs-AV2ml?cs8 zM2=TFbWoT1o?(z6Td@dqjL4QOYN;BD=-5cMQ`wfQIEl@1++Gz6_QTv+6}GxEoN%P% z?)ykzuvx4?g>1ztbI4-wA@2lN&9c}CnD`(-p0nPVyq4dlw2}6s3t(O*G#nPC8QJFKDVNdwEMg3O0n|V)E2_IykxvK$-O5eYHKI=cWIstu| z9I#${`5bgcb&Ky+2Ot-g0g%U3Ir)344Xa!H@Fnx$WVEWD#MbLTCO`+WL!{A)4}7Kf zNQepHar!dJasxsl(Rw9=r(_x~J7Xo>hNY@*bs@}vn6N_Iik0Rqof{&93Tq-MopmAP z^n&0cmhD(7yl~9wLR3qZW3`vc{5ILEBN{ZXLeQVXSB-F~4 zi)~#y3Aktw;sX;o&g;2hQFt9eh1R3g40y3DOWw0%IgMrNTm~uv%pfokrNN4x0Ozs@ z+^FNGC8*Ksc!xcclkAz@?snhU9s^vQiM|{gQ0aiNRJ0~#A{5U!I0+!&k6F?6ZlQ}< zzcT3zMZhHSuEn_+>bRb-uh3Z;>?oy{Lin9c+tw%pB&LNPV{)fxomz9n;S4MsJ6zpH zl^C%&txs`F)ry-$PT3rp$>k!kSZ@|Rlb`|yM zK2Y<~w3#2d%=w_UD+C<1x?npb1Hxg0toL9R#9Hs#G2x~dGqau(1CrU+DkC<}M0=HJ zyYloO(tg)66C!9ZvO;wYF6fxZwqYUQ@YxQw@{}w|ERv3+*gEZuP@4vWkpAGiGBIns z>6WPVSdl8M#~>zQBf)wZd$Hd0U60`z1cnB&F6-%0wkzz>XFy~nL+C%EXnhB$DlJ^* zd3dShehU`^g0i+O8H6Z-h@V!T#L>VOti)qT2DM*RVWP?bSK_!?IYM)I-)JBV;PZVS7=1WO?F7eEm zrqw#PW$7#t4Mb`TLKvWo&-Q1FIM%)lO6Ex~;6luL+@h zjkP9IHo0AouUYUSfJqJjCU>?qc;TuED`5mMdTf^kDm^L#S~R0##(Lg3Eg7gFK*^>V zsAv$An|%amXi{9ZKb^MwvL0QlXU|dBpOMGxrb)J*s5@i5-Oh12T}y!-+Rw|>EZHK~ zb8e#N#(D?E7)+PxA9i`bfbC@|RL>-OYoL&MAR;xagFIelWB6ijvE35_Z$6&34S*1B zQpuzcfcM0hVlmdVPGd@IGuQ$*_12RK2{x9sQCg)(!T>pePF zY%Vk(vD0$Za@(&&%6X(dhi%|sl-FJR^qc{R&HRWA01-E#cr5W85);dM_<0{X3nX!L zAr8<;l0IEX2ffNVcREY(4S%pvnKb03?q4n2?Rmk2lbIBwPMFmN;8^ ztkYHjkn+E2)MprB&l{=KB8cr*8FT=##9=Gv>T^qa`MKvz9vT9Gd|Y4-2Y@^R>XTIg z$Y-vbJh-sDs#Ne>tpibcAn;|g1KY6DtOS5$w)M*F7k9Q2n~-k8r&w@E0fkb8ZU9KG z0SK=%AYtbfW7(TG95#equ^5b`byt|q;`CItVQFnh+#Dqqgc%VDKuDyn+Oo!kOO^yA zI{XV=vYbFep%2NWXr09BCdja3nGwtqVepX&Ouc1TTS2$}o!}IQ;uhQ`xDT)XmI!76u06OD*rs^yzh0MFZs6DH8Xqm?CiDf^}AWPkfjTKFqL!J z=n}Rudy91sm8Xc>DXGU$piC$_o~n+HD_mGc*%xG89w*J5s+xfr8-PrGapqj&;K|xX zHWPZXJR9w1=bWz}$5FY0)P;uCdhl2}Z&nkTd-FuN%j5V{>>bqICiYpe1}Kk6Kp!SG z-!o%314#S#l_Y$}WoLvN-vFmm&f@P1pR zw1AWx*+zrIv-Wk`#;f0Vv2FHEX+0jgw{pKIn07Lx+LvR{e^FsN#%(a3k4=oFDXoi{ z5iOK8HSNPTZH?3LyflN?9W^e%`a%g5sTFPr`D1F_(ST$+ob81TQ z4B|Xuoe|%sb7dcr(o>@>@xL(~NM8mV>K}6>ir+6Cv81G7uIh)4G`X1tb0+u|il?QZ ztq!_rQUx0c{-hYoMlQQRqJ66}0q325um7*=;HrlJFH!G>w*R5dx2N~u!muzDH!n1X zw|M{WDbigBB2!`X&EkL_Z#F{0<7%&T`Zwa`>}l^?h-bHND}-4!UfEUF z*p5-&x7pe+v#GUOjs4wa{L*u2G=ihHde1IYaq?=>o`dA$*fJAF>5sb+*0=@J*E*}r zp!v7J=*j4JXp!xvi2S^!G4osMRs5xprTGTq8WcLT#MOuTOocOS#YIom9tTYKGSiMX z9G0F7p2&EPI2dnt%3Xje%S#A{gh5Zb36P<&=CX6ohwO<_uYS_=;}nYVomE=q zDBnKivP$cQj9R$Mx!nV)aG`5sFGF;t#l`{E+1*Ax<2tc8C10R!tfx0x3|8><)*}uY zT4{UohO5eg0K31|3i~Or^#?eB+CyFT>=b+u0sxN5j|EJ7aQpMF{N!@3oc$0lGgOO; zpCQKdhJ)NTG%e0usyEY}AV z$01MJV5IpjbFCd>clnecKrAiK zPmdz4XG#JjB&o_UHBjxMi-VpmW%nA?Yc?3WuE8CkVp#yXSGi3t29)>ox?B!H z+pAnTW)C&7sg2~R0g1P?>Q#g)KU{4>nJ5;%GnMa?egEOyTnkhi5v<7(O*+az%2l5i ziXaI13S?lEE-u?AE6Kez#2E!=xTCQ;n1$yOBRikV2Mwza{Ob0!DV|4YbiZMFPnv%O z7Wya3yydfpr;uSY>V9p=i;Rq)(MMpmF)<7vXX%(L8JOEb?picCcS!^<+Co($QBfB| z=^0eTv0&;SpNDtW1DwZ9w&Lq?jFSz@>o|yILSGpruC=qfB-BlyAv>p9uh+6Nrjp}c zSSbWhbAn(LOIhjda#&+;wKdgYtWILA(!3C@09P0aQ{DuqzYz#hSqR710pB7+q zx9Fi|S4AZg2l-|1(Y5#igP>bkB1Pd$-*v>uorY3F`8)!9O;#a4b=6wwhaJBszpVcN zodDgX`CCJ?#!aYDA97D|s*i;AgJOg1*@0s{%N>ouxrDM=Uz+)4;7s}HtXLGY7jpr> z_0!*Yiywo2sw}YQ+hPEp2Lb_hrOo(%Ds6|~OL{zOqX&hO=5(xMCagC}dv`L#Q}g&1 zNV}k(o~p5s2m~T}A=~tVnCk;t@&R;1@pgNf`S_KlX^6B|r@BiqM>ZOxGp0RfAPztM zhDD~b`A5;ujM|RSz*=v*a#`9kcyp%t`@!``PnT@Mx(=V(ZnwF7d=rAX?4|tK3nOgx zLo5#nTXIq@(FCwZ!3Vas8!b9%aH~M;CdOEj4WzJ-w)&ji=p%i_&u^*T>mAb z%@Kh$ibTiZt-ba@5>RMtaO>9#ahg~6!h4SK$@%4xPoT@g9ozYzg5lm;C zp5om20>DHf@*Nz&gp^&a){aR<5O{t+wUs9Hgz20s+pXd=kqC$1Mhbug6k$nZ5GBrY zf36)e4?rR=gB_)XZ|8h{jMOp@(jyElZun1dI-Sw`#Hc1piRGpl+gU-Oz&^?(9KvzK zfWGz8(QjT7o_h0#_mS(6sq|#c4L)X;OKgmBSO4H9ZQr0Q7uN$HVej^vP?djz6>$9@ zy>67>M&PK@6_gvi|7bnqE({wCTuj%$RMCaoKAx&x4Vru<{ zk2&AzSq(MO`xKNFtKcYaJ}vMc#~L?jUUJv46V~wa>$ngw%nNB6*BBk~d~lF$l|(UZ z7ONnFUK%$`aJVE<_IGO-IreuiCSoYcL+S0#)EbP*!!kA)8$XB)fX{#T`+G%v! zyG$azo=W}sT<^ScWBj^}yQni)|tT4ouSGp9(_hqZ?~`J zz*%4<0CNoY8DsYUkS6^q#h5oEZ|n;IET_jlZsEArRlG=H$Bbjzfte>%f|-}zYj=4L zx6MwPs`H{TSE_R5=eL4b=M>&A7R(m>*#d_!?fEZjte#^%KB})#I}h;Tw%*7fO~ljLi7-G-Do(R7YxP zJc&oF-5c@I4&0A7(f7giIdx{7Bu=!%QVJm}Ys{Xm?hS(PPvom2foxI+TLCqMh0LX0+jDOX?hS z3>c6Bpqw@6b4TL^@htkhkS=BzZ$|6g<>eX6*{TWG=bEd|FFJ%W*5H?6z4rqusy}6V z52-5XxUri-mo01G<4&!3ZqX9ux#}{Ic8U*r2uEXON|Pa?2Wjm$j)j1HTezAEowS% zOSQRl{+gVWI+@|{E;stdshKsT6a{#*Kt`n3W}uW1U`+L_pl!Wrk}{^*aZMpS}M zYTYy40f?q;>yQ`h(7ZRwJzocVSfqsnYkA9e!>6bjWMh%=Jqk;o?+_XL{U*jx0Cg@l z5)~9ceO+C*KMSxkX?vT+lu_p~XOczM6t<2_k`3QTt`^*F*B6Anv{94Mtdf-n(YryL z_imKqC*ST{1C&43>C1P~q!DEEKfTLD!bcU;>5J3tko8*d92Sl`UA~WRrDeW&Lm-?% z=que?-|^dxjLwe(4fHnMD3z|LiGIboL+W}1nL=fckq(BdO)zbE+6}dq3JRTL!R2Y$ zqQ3T${5^?Bx^btKT4(R#nyJfMFA{|Rt|lF&mqvLN179CVLHXxWANB6QfrnNh{jS&*^?POGUDjjQhPeR=8-|G6TTZoM?+XfvzOmza*Y5B7QT-Lo3?; ze#Kvo5izD)#41`=#+$dA*veMXUU7}(cAJ@3M{vh6I~?0wvz3|G@Y9&+)u0Trt!~m| z$C1#Rsb|6!9}WcZ<$Ne}C(to|qcu?IeI)zEQ-di#NvJm>7vX@=lxsjcB^cPY-3MyJk~U*(Z$$bg zipc?XFda;*Lh*Yn#UV}@+3!*DXOV1dGPSSb|D5S1p~q&r8sjY0_sU6A2~gA&m7Oy< zRNlf=PaOcFdCW!K_-yf!(CM~|aaw3+n8@vOcvh;bg6k><7Q3Cbc&6A&)9c$qj~DX9 zfaZ?-@6qGyxl2~z&B8WpxTL1-nRi21KBnI;;Wf93;z)LuqtPA?FpJ94k)t+czdv1Rhb3s;0(Q zyFb(SFfdP;yEUkuCxNvh-PY@EJ|v@o8h18YomDoK_LxhRppTsvr(MK3Fl4iaXVa#3 zxq69Ff;v^CU%V>E`o&61+b-IKflDsfo(r`%K`~w8miLVx^gEaWTt6zt!gMmJI>@2V z1{hm)ysT;JDmlseOzWxlkw5fh8CE`URrWSPzMY|iVqUgPuKxIrkUPFEFE5Y(v+De^ zN#3+w6xsM$DnJpB%7f!f3Rh;z00=U#M&~$@-s%7MJ5RTk)-}-S!+KNq{{C>D<3$q% zJ~{3|tEK%il(CJiBiW0=vXxRa*{|^2fIW-T(MqtrJX!Nud>*z z#u?jwJ7rR)kdT|^z37m54C$Rz7A_NH&?QMtbiTkq&M5R$y1`9Zvyyj0bzSZWY<4gr zKw@T#AOaf9H`;5GwOZjxbokWx@^}*P^~VntSDIWeO6b` zDe$;pc9w%GE~l+#G`_fk5$v5EaJRvESbU~8Vbz7o+SK@0EU@AX7jb**b?!#-Lg|N! zx}9%nKnn9T;(xbL(HKlU%B`Z zBG20RuF806#qqcw<%<>y{~RZSK;M;@rXtvE^9t~HV&NMm3J`sI7=v}w9EG1CjpA8< zeT;)>YolBfb;a8RyJGY%Q>XUwhNvF_YVRaXRB!tsh6J0bago{6fHb{GoL3*r$D-vo zJcqke)H_W)R$Xl((8?pDjtmz1x3Nszi)a0iuwc3kzm&VC3_pHjor+;lU)l3)qwWg7 zH44ubDTPL&95yaT6xAw{@yh@BNyHS+21W8hV}y2QI1e9O=JE(|(^8U~d^fkBM90^k z9}yOBpSu+)JQ8PR^{6X0%`&L9UWeC4Z|Dcq%S(Qo$#Y6A9zf?^njhI8U!nF+nm>!* z4(nGIU_29c-Ld@D=IRhb`R@2H&(nI%;2%q?$GW_{JV?uS?`a_uDtq+1Z_jYT`nRv7 zoBn$0{#j*l>TRnQ_G^XPLQDMkdtvzQj$fo*>pBPmO_O$UpM3ft~IRoG4bD?0aZ zQ}vVmrX&lX0}}8=2|F8=V`!;NjI}6hIRkNGw6$R2g-7|3 zc7wi!dx?Ws$#AVGvo{TO-D3$QdHpRfXN>Oru4=**@%QS0b97|fujID5cy;$XW_W`k z%F+Ys%FbT7s~6*ttOikoo=N}J0(G6+w1)R>b$wEV3(>?L317B-nObR0+%H|;V7U7S zfP^qN{rVAS&6^t&Dc1=SjpQiYij9j}sZi}x!q>CpY%_RditnLw)bM-e%K|5HQ8UV| zsnvVj!6B+kuR40St=J{jj_o9lwi(EV1gi4F&Fv~SgXp3->LbdIJ@oj8&y?~ zZn9sTX2wqqD3LCVCu14Ah-*I6E135^6i(ogUlEM7Ux~v}`{i;-aB*wp`(~y=TCM#x(xC0w8QhAqjs>HY2r)B+F2DRzqZ8 z7B0ho+C0D9nGVph;DM-4!{b@fj=8X81WYI7Bg*Qv95xpjKPY^I0F(^SP@K zB5ttDpPDnMb#h$RbS>&RYjOBw{%K*Nk&J)kQ_FtHFIdtVOd#c8_3J#CI)BG6GNg3B zor3AGYesZsfyl>?GYg_@{wT`0C#XEK;mhPz=xSZIp9_gKZk-z2E>1N~9!9~pLBp}t zqZeloywEP*=^4b1#<<^?_i)Q_e&qa#Z^dveNLkK^?bt7Z{;$ndT%WU9gv@)jz19OL zIiesY%9P&mEJ&>~xa2#eqkUPC4Hx2|W{v$W8<7+nrZlC-{m3tI(`--|OV+m%=tWLX z>qB#5FJmVq;O0`^O+1*JpIq-M8Crb4psU(+piTt*1_nl1%g+p|CkuHcP2IuXM~jjT z;kvF|b?9?RQEH^G*os7lOtP-yM^fqP-vpueD(WW^)<$DwcQ_~%8D6c)ON|6O3@g*J!7n1n1(a6DEZTRNA z^!GwxxVSuaCDsdzdBC|uWu;boV+o9eWg=vuZluuTxP+y64ER>I&$Oy(_8;XFO-^Kj z{gS0?AbLZ}X?wk-^@q<#Ky>Fhz6( z3j9;lt@~CCB~HCM9JJurCE-J(n)D>|9pWRev7_#u6w)@;GfbWeSSj!e zF?6ta-Yk`0rHQ~Dv#>JN_gfZ4vqX?!>>JP|d^u&X6Z&BelVlNDM!b}qXu{Glf)tCg zmB8pF2rp&X$a?s__Jk8&?6Dc{gu6NgIDnpT%tw4FlQ_MjYuLFk@*smGG1j0iQaa9~ z-B~&9S1uZ7^fg&aeoD7bdptIowVFB4cKKF&$q*nto4CZQ$Eg9KI(o*A-S^MJgmEl~ zy6=fP$*6Y+=y=K6=KYDS#+hifB8Lrbcqk+WE56Yj%5C$%LT9b9-a=Sf*l6XtnK#*F z?9btu2sA0n>jZKplLn?X&&sg;GKn=is8A}-iG@mfG<+eB>m9o5 zjJ4=cIWf82ZKkgIl)tsJGmzbOe18WLs&-#QBc)g#eBV!TW&38s2aTjvGca}1Yf4oK z(pk!(cO@E#@7AxXQMZ(7&5PYL2h}ujQsN_BK(KZ9Iq{(-L*a3)6&K^@S0;aAx1+Os zC75kD+I7i)?uG&Rg$~>8t{LHw1y6XTCta!^Jn!&%{WG8AhD*PV6?khqJ1gGza~}-! zUAr;Py(gEe;)CD_~(6Y(hY>K!n>|K((C7N_5e?Bm0_w97U&X6mKR3BvFqC~+QtKIhw9w1@ z<9`Gygwg;4g&xpI@?8cZgOxcMwq5r-1??zF5lhNo4QxYYa_u&Y}*c(X#$9G+L1r;y|~rz z+jHgutkMQ#SNarcgxulaWUT;5u5TQdL>7KwB`uU8sw3!PduuQfqNwyEHoHzUe5GS+ zGq<#QeoIi@-NtMnSC0lR?Wc1HVuoXM$il(cRyE`AoL-HhR{3cw z`GI5d_h2&1c@Ra}pHq(lAm~WXZLqu2^!KJ0bAo--RFUaA4K>Ed*yo=I%|=h6wS{S z1akVJ9z#{t-y8Glkd`oZgx_Vh$h;;a7tEtGKrRC+FE?2+GT_9j>k1q6q9_uk)w`X4 zh-32@KBY+A`JveH&Id=WOyMkJWLdbJge!&%42YD!P#u-D-)vncDP+|SUur*_EUqZW z7N`o#s>2UEbsdApm8pq3Oa{!coRQ^xo~4_M}{6LD31*BjE`CnV+CjF- zG48vo>kG%a#H=Fm<3Jt!Vt<3a`7G6rH}O!Q>`n7oj)W!hZ}e4a!+_0YTc+BtZhyVJ zhHsy*>R?KV3Rk>ihm>o^YG<2VSMuQlxSt&hJB&6ydimu()P2Eo{2ML;#F-xj`xt+g&@(q%1z~FES214^oly7 z2>N00^saCAF6Wbn9ncT>I@4t&f^gmoiLHxL_1)!p+D@Tq3n9@6qQY57-F!#d(|p{3 zm4v}krRx^UqkQEuQws;k6;SfAe~*RqDw}khbMRwh0@DpvIEmHfsdyl8RZ+u8A4XZJ z^!Bgc<&YRh<_-1O0V>Pc=NLc&o(74mXTot7l`$j{d+px##ZT3?Em>r zB>O(E-S77=+;4+`Rq*Xg;#53z?eD($!r`MPP7BDq^v>Umk9o7gf1Xxc*8N2!C`kPy zKNevin!HgRym%94iwzQ6Xe7#V%_-CKK*I-zCFXLv8xNMYOHeDR=i@L4ymu0=>&#rr z6>yCf`@&|7OOlaN(9TXtvwDF?z=&lor9Hb6z&IIF((BeMch1&AE4x4^e}oC8j>9B* z9d}5-F9%H8a9;1EcNSN`AJ}1FC-|fW_q6RTSike?TO%U4?H7*LV^*$xPo}_kP$)Ii zYfy*agr2q=kZTW^;M>02L&G&OwUBT~>3A_486d9dF-EB%23tp_|JsSmB+i9VnN^!K z5GsA$T6wwLrW3p{v|la>c^{&8t?AYVYPY_WeZP3B%S0E*@3d5~!+u%3YE%X06EdKp_ zUw&rjL|`k;Cnfcb>l`-U?Dp;X9yarOc!J&Wqg5|NA`wae_*KJ>cVqsF>Gw`XRRUT? z8Bc>N4_0%;l|WjL3g@MXin($jwuxg{pj+grYcHjJ7mM`FrU55Q;p{?^Kjw*Mf`LY> z{Zc31Iv$&=m~XG9TDB9+`5_G7LBZSK8om(U#J^mfL2a|%mcP+>(B)9Wl(5+A%cX0J zRNZME^Qwtgci!_NNHl9R*`u$&!d|CPop7S80%=Gjk8vc-MYT}Q_0@^44qddNRi%Xe z@D;Y*P;TGf)?Tz0uJQ*FWRu@MF{Noc(P1;Kd5rtuxDCfu3P1IZe~7ATc2XsEos4pT ztQM?NryO*3<9ALLv)5(2CnCnf^d|xd69Ru_=o>7$)mNE`_r4W!BSK?K-7o@q$pjK-lvT#Vx@EtB zFY8_0>Ds6>*XCZc9cY}m3Obn9QFU+-X4fUA@Fi>}JMf-z8M<3=w5-_&$E>(58RBS# zPJc?kP&{{JiXa&Cl@G=|&KnF8dFYup8Uj;aU-%Dea5!~wguB}RMMqBSoQYnkDxb)_ zGphIm8we5R_L#l_s!?UNYG$?C3>ObBbvG(io}B){oar<2UA?=uE()w|f6>eHH>8Hw zPZ(w$nKB{U{W&7RYjxU;2Mr8*c&sNP8@|RN$@l_K7X0pX<_;gI?M&APmgtA9IA2Ze zQt#IO)|mZOyW|W}`w23@Gx_pR&rNC>@^`2-LKtr;#Aj(2keXGCcQ>oCxo65l#lyYc ztCz@A@0P&C)7QCAM6{l6co;CcW$pyajpZqye86O>Q6F!k_wgP}kLxzbc`cACPT!mR4jWW%*SXM;D#kS1(MF6S83*PIUvd7>{>uq$ zWdew0IQ354M|K~qBBz+^rXAanHeZbGWH;-t4LP_xD5&xMS__OEZiZLg+Lb%klt)$77EgwgCtdssp9qUf$r3yv z^PQp6w{Eo}!zDTuUfbFpF_O=>A{UyLJ^3)pZ6GA?UjMOv+P1v$vi$JXq(+Z^(v8G1 zKeLcJ2AIZ&P3ZkA>Ak9=i5a23Ya93%P7Y3mBSkqSfIL5y5JtA{45T1Sn7Mv|!CH^r zC#;)VjrS;AAxG$IA-N#^S{kDug4Zrd$Wm<16Gf2xL=Hll?9? zryXkDn_bJ!B|lgZ^kTvg^uFdyABa@ez)pdpzD&*$Y=JDmkS07b)1i7smNMpBZ*8$H zgL!rE@rb~1P+umqZ|eho8?A_>uy6<0Ir{X0ZS2}psoG)I!+s+rdqm2|FtG!70LC(` z?#(LoXm}{kPc2LE=i>8mAt*@gd$`?C`!)tus-{xYx|@()Q6wB9&Rp{A09j)izH`-& zX~t7Z>VA8KNW_HRnenqKc+1U(a2Gt|y zSSwl2kv$>ov-nDWne?g&S39mT&&2x{ibV^10gzexCJ3T@cp|0Fk&QxLcF(?_Du+tN zOx-@vgjc@YD17#0tIJe&UyO{4UGnpuzBrmOqd}dT&W7|tXCzDQSdOoha`##tW4j0n zeiUg;^kJelZV6to@@S(j@IhIrYM6+HHdHZQOd4sZIx4=CiBsn}pjn}mxx>0lWYaQWCD!XhEVHvL^JZ?slVRKxH!g|5WZB6DPf8D;Q=@hdZ4-Sp*1EQ3uj_AUumyM7LU zQI*j&J;Aqr!+wNFn4g`nG2Vk#ZSPQ9g~X0gRbD8IxY+c2dZ#f+l5&riCB(k~07`4S zN!st6=^EGkYoqn^O{at%+2bd^>pD=)7Dyz7WPuJ97MwzDVt&!D)S=LMBqw+vG}F%AKTG1<*ISO>#!JPS!YOE z;ubSR8Qx6oEzAcwRtdL})Jsq>UA=P_k_Tomw^<90b?2CVu|g^fQ-T2qv*`9Z%mv$? z-Z;JDu-t$-opMe2vWCj~z31-_su1W(f9M;lCfTMC=30vvtYvX*zGttL{BThs=!B5X z0dtDo*PFA*60ABV$$-Sc8?AE*O~s7mW1pA(n%ch~W{nDQ^zDDTZ__n4#9m7$HxU%Rmm* z@f)dFpml;`^VU+Mf%+y~73JdnNa7iBL`Ju@ycwE2V=0!4itUVPi_M+h`i-Z7^7Kx* zeS);Asxe)&AV_jpypPmt zVLu;Y+UUZlV60#pQ!cm4%}Yl29O@fN)aaogq$?4EC3QDgs(fBSxB1=k%L$Wc$60$^ zfVpw0p5LI#dUv}<=vz6M&JF1$|U8_S`XNl)}Po_~Tp>heg^;$D%mpUH{w97cXh+AK3fllEt z{NP>sY9XIwp#g`ZX@}VwB}HMV=CpymSn5|Ml%wv0ab8gJQsZow3V-rsbj$dRs_$Sk zIY?0WF(MClP!-;^$~vX+lk*^yu?rT8fc>yAuwQuTES4}{51k6pnR7Go+Yl}gN%?Cx z)1L8zl6{9d=`a;5Qh;d?eI^9kMEMr{d-K=L*!}W$(RM6wEmnqHk%%wRz@`OTnONp- zgmYo}+epFEttA)$j#R;ov)C?&tblYA)Indyg47Yi9Tmdf57;8 zeMH=(zyt`tzqC%DlX_^im_wUrjDjdD9(muLoRBjpYP}vVj^`Jb_P z03obcco-Pb!9nK88GYW~&4>DyjW+6x<)5)-6EEeEh_K|1NXy`DCNq@Njd(?x(WwoK#39dN&VQ0bJ50nBL=)}mCaHVCf{F`1cF94TNnOD<y3om9OYILeA7pIy;TAWlJa<BKSVIemwprB@*IuHsEZCg2gO|CE41t z#438$MNa$Hf?kr86Fnj|)~&2_zzau`J}qWQ*s8uK3!A(?&VFhx)SV;);g8oq!@rvL zuA!L%pRhimkd;V)3_fc@{;mK6HpF)*_i8~Yu{gqqBrfCEZil^s$~PkkdQ;1CHa1Mg z%$=boQe**88X14tgFJI77L1bzylHKqdLvygu507^!Tza~y2Z*7e`42#eYxNXhk?p6 zrT1sb?I(C({bb3Jc)kCsz0!vG)>$5Artwz;ppd;mi~SeNto>zMTOp)Z_IcF$4IUli zH7;cMt;G$E|AIQWV|kmqQ&;UJg#y2MoQmf2LzGTM4bbm45MEW>eaNK|kDCIoU#@>Q zpnzU#C4X*OjeU^9nE!+u(yzSf8bd~{|5sU9&=m4+IQ}K_=xY%MFmR7){{e`PEb@jf z@DL4uJ$0aaA|8W<(~Z&!kRIC}A#Zdec7`I9DEI}597njd=@JQ_O*^N-cs1I74WC0( zOH^tIna-))vcA!z#V)p#)_L^8L~~s%EXBdFq7loTp1L_P7V-A;SaVIooX978up5A! z5Uvwp>ez{twE=vAv5>QT{80HOcILsM!%RkOBb0*lQT2>=R8Vq5lgJ7ctUvLh7{Hx@ zD>8fGkiiYwIg)LVJ^y_`3xhkEhGPPo6r)~+*j?uxTP!O`X|vc9jnzu%%Xc2)YwmCFnw90hAl`ONWz5Dk;7AfT760Dh?6Ak;taW zi}-5~9+0+M3b{;I>&((G>UqhIy0t_H7(pgWNH)6h8Q*bi6v-qYHTrcyPk(qE0*WVP zryYui%3d)ohm@|~MBO&>J-cpb^=dhCOD-C>8#EM+_X9QCV%r+hJSqw~&-g%Ts^}rV{!?T+6-((-32x8Gu0Q=z zWx|_Y@0#i2(iS|4a~LaOXGT*G;y{J7^<1|~uO;3ix2%1`wm-yeJ332r%BNB1LNhC153-syQlga{6juSbtnC z;m`g>7ilv3?sBM7kj}UM!`RnWi}Y}sgZa7PKlGXvpp3rnUH9XN4x4_7WxF(|FeSKC zk#Z2AOd8SW8A)duosuV zMzXgt>GDMt9v;U^`M6#~hHd0x24-d%8)#o5h4$FC6OXm4YfwJ2^~|(Q`JB5eRT91K zvW6xP&go6w#Z_$nd~+ot#UqzkStPUKlj6lEtmycBPm16OZA&ij2||#Ni++SyCBr#4NX)Wgbl`>G;=x^x)+Ar?$)IN8^>Y|MjQFWZ<_<;D+Q==UXcl8 z_n2^m!_!8Q;!fK+G3I2w>=ft;OX?sPC?ndu2Oz4|>(zSw0QL>d*v zEXXpYaMYxYb}Vu&NEivpU(#NuP_oUbCU$0&riJCdvO#G=mw2H05IKmemW(Lq>NT9_ z-pgUf)W{sYKk%6diMjcy@Yq&+L#8iFJ@IK_G@358fZWut%slXS;0oFAzSZOI!M`Dc zUzN~K;@VH4<3?@PTi;d#^}np_D*j$?Z=zMEQU|>=`Ab&-@E|Wid7AjVx``KqIq{7CO+VuTw08THCWozEN_xI*TAKF06!Q`6zZ08o$n$7VB z5~|O)QaWkq>2K)<`_J;sV#Z{vt6L0n+J{4{a$E27cxa9nqusu z(uEOs;fVjnn?5V=*1^?Ch-gN4exLRz=7+EUo*MqTUHvc@_%1mw*T+VFYA#HtHdOmT|k|R|*kGS-mtQ%?6 z#yPk|-Fo*Yl5fAz$@e4ECXmq{1=Pl`d_4C_j@xHHqWN|6$uR%nA1+(3P>p}m_{i^I z{gI#7bu^X+XGP-Yx0}ac;g_H~$&}iexKA(#T9@+2z1`m$=n{B;y4M~_TGDTCz2H@U zjOZ?4GZuoM!_nV=yw<)j+(fvZ9Ur|copO#EU5DT|E;_F0#qas9-Pnken4~W4U{$ZV zk|ZfIEP5FG)LN(H94)Ce>Tdt|6)}Rg#0$eUjVOlm&UBqV@uv82ekHNL`gA`{?fqBr z>XQsinBB~;{L$m-A09EgUbQx*e#_|Y$g6e>NX`X!3#}va%XQX~7W>10K6q2G!`Pw` zt)5ak#HgjXKe(-A8-XMhZ5k%{oWB{Yeg`!e=w|BqM?}B+pGc*$QGp`F(_Yun;x45f z34dZ8eM!D3Js`(MibvZ@aj$9u(xo>=v9WGUwW7EDtYkKW*aT|UGV*Kwoe6vt%gly|n5c9w*j^{o8^e zf&w%|v#!BC=2l#T(GJsZ+ng!l>$?X!k?nlpW10V1^8cM@N_R?JTpR?Q)=L_@m9FK= zR_l!IVZUe4NvctT0#JeJ_=w0M-n#%20G(yC za&zO3o&T?87v3pfaweXbn1I*5NdE-)mGn=M77Nz^MpM^QCQ_IIYry-WTFz04S;Gg= zBLB2G=X~Bp%Rv^XV&x3=ZQ%dEoAj#p6}|h48Vot#q=f$QpV)8x`MZ7hI}Cce4@u^0jp~H#8b?s={cxL8|}zg#72$`P7Hw)n8y!3h1DM05^F{ zd-=Ty!x5l2u#G;twUjJdVCWmdQ`%@5O+>f)@Qk^jDI-6eL)j5O{Ix*`9H;E={}yOC z?%030!BE1z@&btYbIehT?ejWa)X~)z(s>gTVrSP{8>OO`;GDf^YlTMMF&lksaO20Y zcI140hk{S|zdI7KHBXIzw4*^Kc2?pU)AncjXeQ^vl8P+F+u*{Vzcs7Zp(qG)o5?-t z6F27kzrD4LS5Xi@j%@XmA%QV~?0?;ItVsk}Khs9Cec^h%)dKkBPlykwo=}vv8eOi- zaV2(JRRzq41y-N(c%a)y{2o|p88%)JPpE{TfeJIH$?0T>{%b_iVA4ku2?!*3PBl8O4S z2ZZD{Y$w7V2`=$(_$h&UC-9!*IPg9_nI0+HyHD)V2o1y{7wl_fSkLpuuh}S^6s-tq zV3>@Jfq7x{UqPY|_m$hso#dD|1AYGd!Wx!w@9jPsDK-5P0!g?Y$VSGm4;}>7UZv6e z==f5ECiBcLKR_#rPakzc$MSz?h@LHFgRjSQT=*>ms^oIX`mM`wmv~OX`#yKs&8L5t z?mPQunJ<2mh+v;+(Ly(ZBbFn657~PSV;sw5rvLzHAQY}ZC>~E}s&;9ue#@Ho<&Pb7 zXT;XjOdR+Z@VD>BOgLg==p)lEEG#I!4l3EaJpS!`4b!@+>3VpKe%~87>1!2rfdu+2 z8*EQzSRccSf%^Zdy7G7^ySG1MFc{2;P+~|=DvDC}#xN=^7%60zvQ$izH4I~rB}<;l z6S5Ukc3HA-d4{ajj1tD0Wz;a3#ya!f{oa>;@BR1vIoEx@_xHN4?>XoCoNGnij8^^9 z;!~o$KuasCzL`iAx+)TU;QZxupAU!I&nsm}02~poSX2k;!*~P)ci(bZ3}5c5sj2bo zTT7}0Ek%i?S~ShkO|CJnH@KzUZ3Qm#FKob6Umwx2+-zGu7(3EmFhKAtR8+X|EN1TE z1?`vOS6&rs9o8C89UJmQ@xVOm!IKh^E(WR9ICH*#6`kjuyY4yFqXVI%W0zSBjkp* zc~qm2?*J2Mhv=Yt;M3*9bKH$R7HBE3GB{^Nv7HFaSCc=-BD9T&Pse84O;4I92K{{k z*BsMf?>};tn7Jq(YC4=*x6oJ@FuFm@*AXy1&7%A!`w{Qj)`d&=9Zx^*hSHi#!e=*Q z-#&{Qa`p-l0Clh(PM+NGX8K(x{sf|A=DsMtnv5j_+8S{WHTG0>g^!WZ+zI6y-rnXT zb0XJ(uOE!fA!$v~){WWoFtna`zx5&N^*lZ%rB{`w9{J%?1Q~6`fbW=w6Ca|_6DWc%DzeJ_jxt*NL^k1+@(9mTF6?F zBAkz(^C==*Ls3#0cz(JV9129*bm!1OiB~Rqn-SiDIyQct#zD>TKIrf3NF{?x6h?b8b`qE&GkjhCBFu- zUfg!2JlfQa2J9ejEg3sSDDt6Aa}X(XdEVKaiKoRu%;Ld167gigIcZ|4mh7l;db%8g zLDWeGcR=-5Thu-a=>x`Awl-Uko8dm~LZAbbm~TFjks0dcDbvP;#K8OYgqkIpVjgnA zv-sCuIVRQ&6w7#=p!lD4-yyd`DGxUlVN-4V7oTLFH@cU5twS$L+Om8c9ap1azWaHS zteV!T&Uw25z*grr0!QW@@==O}xEmz#WEL6{1vDd9chvhd<|5Wi76l=>jK_g|zw_m6 zsX?Km&g0ZEV@T35iYI1hxixO>CgRhNk($dVrxWbXJ{)}-RkRC{nlwwfEj-5!68Je4iuMnHKFe zD6zV#b7j&9ByX*Xlnfg-m7hxKdvWE8#quEnqF30U&Y@m$Un>lgaY$Q!wIxolBf~U5 zp!1?b&Iu5T!%URIZ&c%LgBkZSVZWWb9jY8I_Eug@M=W9uIT5Er6Eq}?K4mTX8lqQu)Kv-neAFe) zx2|=)%jE_Q-wi?(La=a=jqCLEBrm4tDh6oh{5U5sDMv>V{g8M6>cO*n;pUYu*{%Bc zZB0f=cGE2_wcv}$laiE7I6T%e=5pP+vLm}|#;y3dh2{vHR`0RM^v9ZmuzKGf&0i zZOlAgEY!4ofJYUU7_t&7*EnTBMtjkC4Y7ncU?8dbQxdqm`O?QIeFvHTN&1H}sNn(S zRvWQ9AD^eD&bplCkr&)H^M+sRU4sx=`hJI`vYlK(Ge+A!Ja12BPi6??rB6u1z2&h< zUF>J_gdNu!P*#1z5(43uvsD(M8*TaQSo`KMr;7tiA3hw18A-<*3n9*6SK$#73gwFB zj>+Kjpue_BD8Bp7-(b=Dn7E9;zB)u+f{y+;ZD|mFr^c{Mn_n0ub;r+qDBjbm+EX+@ zZTWaeVefL{O(3gKdTtpq%a zZRy0lxjIw8?xRB_b6G=U`TVsvZ=gfjhiw*^%_eDnwXN$sl=o$*CVe@;ea>LnIG`uo(XP_J=G)9(9Fu%z zb@k#v*$wIgt)DhanWF4*eMK4=eV5=5SHN&Gu}m*5WG*>a-o_tK-= zgC9Nhb+5kFTeQ0*`f0(&N3`I?fkyU38xIl>@||X$DA9ib%uph`&ScB`#>D{{q8u4j|BS?ecyII4 zn~d6Bwi>g0slxky(0+z$G#u(hl$5?fVL7>1{sQ7O>tS%1?8W2z+sA zb5j5&12C0D`*( zH1hdT9w_U6+6!OS`wN}D<`0Jl1jFc`CIdzB^$ohjA7lvqf{Xd9iFef(Iyh+WDjRGkMkt!;`&2^+Iw8u&nf(~B>3Rj->8>- zjXf9t3$cvFQ;?tQvw1+fI_k4tDaT;iOM0I6yHoq`6*fhF+q#=pqQ4I;FmQyzMGfoM z3aK5C_kqh>zx*TzN59m_5AX0QxOC#+tE;{)LHtiun*thFSA0{}|79JG zmOXT6K0`v^`!YzLY}LR|?;mdjFPhwk&tVum@=IxEM)KvP&Ga;o5#j6(JL%)N*KrA! z+H(<(;O5DczJp`n^V8Khk=f?;y%cq1@4c01T~JG{G(FB1Y*@;uI}Z^PR^RMM$$#RD zgM}GiSg~D&ifn&bP{80^P61WGL$9ASi_6TlE$TnRDwe5=XEv{UlBU~2LPPfhiBDbB zDvJ@3yupW9Lz?~Etto4bJ!!{_z7ec2YqZVL?1Y);5jA$QUMF%3sNo}B?J{UP4!bW+ zEuNfV3)5o|YrpgU^DI*hWK^zzZ@h{&x@A;41K;3=3K3k75j8y`(%()$ZPmZK%?k<> zOIm1`={%%D){1g7NFd|%yz^G4VM^V>3sq9M!;8)9{cQ?EilC%N^Hi+A=eSJ%J4kp( z(JX8DXd{Op_)5HnLpak;%zC6+<#CkP@(+Nix8FX``B81|URf*cb)ac_sb<0~Q~Q;U zJtDwqrpwb7rc>GoVy%dK9}CUlK@`d<^j=rCeai?7O8WK|@fWwpHzk@T@b?Jd?ni22 z-;RSvhrbr@=FIJE=_KflHOssgS5v*6lpw`7t!b#c6^$OieDlR@-ilx|zxbjXb#*UCggWFqUb*>Zksg`?w z$B?(gg3h5oMO7VL$vx{-jEVRnXz7}XTRdH2zb5PkW zj?1i|VH|^iGSFx*x*U%QS>aBZp}F?7-|(*q&yo_u1|j-KX9rnON9idzs{lx-Y?&wE z7$4hrmABUs&KoUU_HZYLyX?^rfy1}1G=MIMI@ICBWcM@0L=%rZPZ=BLojIgs)uP>Xvd0;#8W+z`5Wa*Q zJzf;fACJ^=^Zd?H?sW)V)Sgk5)DQVSjA>%MoZI+VNx!X{swE&yHaPw4Q_=_97NXsQp=`$mX}?su+tLi86|$#mn+alyH)p6W3of1rJa{ zko?tA)u_wX$MF;296V4~L=L_iV_6 zC8rQCmV%Ro=>A+nZHm^8A{W?A5J-=hx_29zrlu60mJdhQQ9`o5ypx(%VK)zdcSvp1 z3!njqSY=Mbzqg(l+_J7|FUZdyrx$8n^H#U=e~E@LYEsx^A`=gMl{yttm1GT@!~JTi zku5dPNqv}xT}R-{(;#$JtqoS6pYR;+oAFampFlVOq9v_ZS=>cy=j_t3UrR(&+~I=LGKO0a7;BlNM% z&_;;VtPisMG~LlFa~)x-L?$5VxG8>!o!hEMnd)+rc>MtaI@`P)F6k zKiDt0n{U>gp$d8QP|C*A_Q8;DoJ%4k@v(CMnvYYzrN;Mtmer}I& z%EIhEvDf|Uy)VDw+M^FseuPTXW7U*IK~wHjFv(wT?pNU-{c)~>!$;32ozm|Phk&$Q z)89Jqv+%9@?mMx%Er$`Yj-b3Xo0?hzp%W6niLlhMcv+73pP*Q`4j~~4d*RF9fETKD z_R#fw`q%HTx`}S*A|2Oxvn&Ub1^ER^WT-7 zU+e{S#9&X8q(<^0L_ZF&TNVuv+uO#Ko~#g(+2yp&&sm?;kRqTdqvFq5l38An>%OEW zVvu|=c1Ia`*7j$w;0?EUDC%CHqYRvBdqBn{-&?!r7f4^wTN)n53?byf9SlQQo+SN< zAXQ4&`G_H*rDhQa^+p-&(+8dj(yW2Vd z)JRA|qV5hxCe~)o5Mwh7D?4GD-TG!4h?S`@jrKD|PDKX^GfOKOPe(I#PbCc#Piqr? zQyNhbh>*Jgz`)kb*$CopYh&jm;4Vya&sPArzWbSj269j0Y%NS9em5XQM^ObLVee=L zdCJMo$!5aI$qC`(XE){KF)?|{%m17e!o|t;jDwSpgOiKxDVM<0=K@c;A%A~pfDs){ z%>~pXrT-oe_$Ewa>Fn$vz`^0>=Em;E&2H~#!SR%zpC4er!NtV}P_Q|9*f|@yv)MV( z{)>a8nUjg5m4maDy&dF^qmi+_i?c8dAnjk%uyy!{t)0`~ssfb8;cn!>@syqOZd&(* zrY8T;Ik-65+z)PQ!eM4(W@~2W>;%w0{fE}U(%#wL$>X}l#Pp9gX^gP=W_vWUKUQ^ zg7Ys@MSD{#bC3T@$|b5UclfAjKn~|fLxCNlC{|$%Y0L16Gi^acY!twu{F{a)W7ke>LWhco;S&J!B?7;k8`; zw!da(W^QWh??0DGNNxSTJ8?}DW6@QzsUH(WYD+HVQoYXgW>*_Vmrfraq=sN17BjpM zObAKDLqt0;@jr z7D{zjDg-57DDn{j>|h}jho!4h2r1$$y^f583VwPq3hs0vO3%o`kat%v_^|J3(w=r6 zmahsSPBQ!}UH}xRW*Lu#PBrO#H_agc4^X+o+2yH@e+H^>Z?953(#wxb2ao1GTDc8L z>w&va$;PE`VH>(j^StqREXaeuKM}UgW?Z^F#kph7^W2~q6i3ZouZ5B;BB3^vmq97a z?Xqw`Fe{?yHoaBdeDlSG>2wgNbKY`t*63R(BXe72jQ@0|`Yl2~PZDdKEyHSwD~@bfbF zC21mJLpayV^)&mSRzEDLZm>>H9{%Gdo1C zyz<*DA}>dtIGM z_azX#t)*NeUn19gwG$>6T(?+}Rnq>4!%my`NHpl)D~AcpeLrfA(~UEXGmSHkvj)hS z@Zz4esIOuw>ucNpao(#|dWV1eE{5yfR>=RReJR1qFGD5=4p*0utrPiZ8jw~UvvmyF{>?gP#Qx%|EUaOV_kTvE8f z79PTeFIXD#Qwc3-76_a()i(jdzVpv zr&yg@;0vrf4;yA4#z9^Tl<5*~G2v?PTDxLPV1c^1W^fD!oF!4?j2sx7zENtVksR4l zRsAi4A}I)^!m3KzqS_qr66p{H1JNOt#r+$K#tsu6%j@~ z-*?s!4=L9OsbU3$VpCUN1~MTeB0NHf+Emva?pSNUAE&Vs@0{<^Sb<+!v4Pi4FXwQV z$6&*yR|K$cGRBOj3CN4Ki5$?-8SmZ8=o)?Fj`wRF31(CK%7`06NVo{9FyAuW_ck2- zlx4lmLjm5?^1zz25I(wOy(~?@W^gbbD)WcIFYplJ17~j>wADhZj&0%AN}oO-?c;bl zF%m`B5|xyf1XLOo*gO2bG(JmCf=Vas^~Be*Z$g)(%VfZKW22eBy^s1sX04cCk}iRS z%P#lxVpWSSQ!0@`K-;E&_I|9H;w5`XN>j-Umq}>vdJ)k=S&<(er6@FKUg#U_A!IPy z@MHViK{S|S{4>pWlO%Sf`}`x7U_@L?qcK2ZXqv8CE=14+1d6#rU&;&9rd3X?=%5!b z5X2LE?pGw;`|dNHx7+K1n0C)K_U6^-HJ6kgjI#0QTq;yU^Y6pykkZI0$u!s1aOiF(@YL zFvACmS)U-Fx%I4$LHatkHJ_}jyYQ4qJ7sr4e0=1qNNrkNp}tfbg@@3+lSpcWM58M7 zqW7FBQK@ekOn8Zv(T8TA3k#k@E#&-$mHU55uO9qH9(pHYw^vdXACwqWpykX=tyO}f zaIZm)blUgetjBFFO)3N0ahJiCDajMv_#Q3lOvq}YWEupt+J8_lHc!s&?4)W&!c*}; z-a<0$Ukc)dsP5f?hA67*HFb&d`D~1QLT&HplMkA|Ch1A^)#afF0T%Dkx?0VORy!$h z@L39V-@+cPQue6~6vUBIGk;;Z7yk`2?341_UnSF)6NIN5B&hHE_&dW1Fq*B`@g{Up zOcyx6RYSE)S~vH*exgbcwVV)pP%(e~>(PpM>i3}aO=z?eYcl!7+lGNA=)d%TMBvy4fEKm5yq7 z!6gr8E@}|f>$|*1n05N7h+~5g;gT<6;8Sg3;F8TB93JXtHhJrn z8Z_!fQ3>mv?#$?qmFVjymgwsxvg_-uvZvq2;l?8y0-IR7nY!8?;W|uR^wiIWKBC$x zD)Sh46iZ=YVS2K%vSq$y?|!XVt+lqNkPXh)RTWLo)U|wqz%1YE;}CH5R=!7*ab4Rz z|C9&S&e}>woYqXaV(K)u_p!@ldz^n}aW@0M@2 zQ=@FL(PI6}lWlzi0|PLN@VgV|>x*NY z#oU@2cVwf%-)LC1&}%PtM>pztr~F;Y*udx_@{DJ6Vs9|}v_!tfthR;Y*D3d($i*Ji zJ<=(_=lK})er0Ap{gxbgZLZmu?6H_-mGv0A-bcMpdNpjXszMCQyk_$hDeqGPM#O}G z5#*Wi?jApC35Y0L@Zw~f62m+cO&qQR(v|?z;)ao)dzluLmx$K2dn?F{mVDbF=R#Ea zqsjDjbn-n@?1BzlS#ZFrsfciDnOTeHpxSy6*K&siuyo)h!RNVhlTHT$1|kYV%6mt! z$!`C_(8`NqLyKX#|1k;D@-u8w`}idsoF(x#_w&{3bCV_=Lg>p|gdkEtfa}Bhh4}Det;^6=GDO5ngVJ(mLF4$sT zB}od?k1OFWawQ2m%!_GjX=y#tC~V^8*jlD_^?bMXX~%VYb!D{V?SeERWc}&yLtDl6 z&JSTXRQNVLzw!2|qU-{CH;eb?QN+9;0vAW?M6Cri4y+_<@9%?yM({n{%~4k2!|SMI zHm$kVDj8Cy{IyR$!0weV^XG)%X>kPTr8Y|Ln+tc5V%duGqQ@pi+KEN_Yfi#J=*!QG zGFDu`nKJIgn)$3%*bkNH??t9m_>g1)M}F;S(3~N7t30y=MJz;rx3Ci@zN|$7F zgpEcc$?Cs3O-~8ImrH<(M4oPMe{~#buDPL0ec>dy=c-a3Ca1YV^>OV!{`21@K3JudNa(!lP?5mg&VvmOiJ1M4bzEPOH5u6>9&+Q6$65 zQ7USr1;UU0#1z*nOI1AkDb??eV|!~`K`4p=!6c<*TjhrQ>Cpp`FUiv@i0V+yu8T%< z;)$uW+mv&mj+XO23wK)j!7B zeDRs3u)uHcQ*3+(MbFgz>N4QqC`I<1!KzUNi@-5;-I~v9T;=p&<<x zN3Ur27lf&~8_vd^C$RU+qXkoS4+yigG%C5!i^Fy9LvjI!psrNcV7FC4>jnIXH4Lwz zx$I?eYdO`MA{5g0Thh2LJ0S+50jIDpBiuZY=tX?Zy1KE)P_sEZ ztY3E+O~!vUQ^B=0b4!T2*L9>FHa1dNC*IWNaSoH=S(RLbznN{QZTNd(|ICM`8)LVD z`pBfi&vNMDVyg_q7D`yrv+KjvB^2cSlJhj`-tH6@<-B}$q zExtw6F>PS)(;8tAUjoh7csVa6! zknFmL2(@Wjm{+u~+bcInQNd94?LJS z>W50)05ge;cxxq2X$Cw5j7MFv8u?goG#QlDY%nD*AM{>%DL?_C;P-3)=xY>;>6k)0 z=Jo^&Y1^CZD|rzoZEoex|1FM-V}_(L30hXmGk5 zT&YB&9ODe89N?wYC7((P_lm|XG@j9%LzB@)7_Qs>$RwtBQ%>d_ccBt0>Mzhg-k#!{ zE~6KLTh=TFY?9gs!-K(3OGEAiG=xVJ8C#*$l0av|gK9%_`K+t3%>Q#Oek085Xm`#KYZb=hu+XCTs#PLniHZQHZ%|kwBJ zIEvo1q5016xPY~DBNCngl?Z~P7BU3Dcog=brNQ9jcM?U$2|M&Ko(2&pPZ!lwW65-l zj!DxALcZXJt;gJNRL<0;=9&W;#C}?69QUvk;d@;h@d}A{YL^&{ zI+hE>$0Vc)mu2Izfp?-ko1exov4mG5Nnkvzh~V~M@Hczs5a>{ezTk{5+)_+uSn2KC zw@ST-4-SvW)pn%WUamAvRyU_MJ4t8hJj~o^;zaAhAg9lGXLh_NjjGQvhuxI#Y}t<% zqS-(b^Z-?wu>wp;4U>V(z(E7QV+RGD*HjpnJ>KFz5-4Fh!Z_#V=IHXkk??EC+`$ft z3>Vq=5;i;tA2eL%R}$c0Vp1su94;Rz<_t`8Nh8S*g;iNaM_>cHbE*bNt(;sZ0|#rw zF@{G3+}ZH!$@lFc63C%&s~5eSm7n zG+kbyKmr(#<4O7|jqG~uFHCW`^JBf8YTYI}xY6}9dRmUIa~FEC6wg^jw+^P-%Q$Vd zUUp5A#a}&6NvFs_zK|0j&GtVzSNX;Qb;Qj1N(cdrnd_VpB_$=r--r3+#30&kR@GrH z*Z(Pp%ms>RKm^N`()W0V$dud)qx?1JW9`JWA$$Vv~(_ljKtbC76%#j zRexG702BWKpVqQBDC;*1RC42>0lR}R+lb*a_wS5e71o{u*Atqhm19hFOc(~rlCrV^ zJ9<~xx~FKK_L5IpnP<$VPK~LO{LX>WXQV&_tUDfXSUFth;h{L0rNs|n?JS+=*q#@h zMWM4e2Z^VCSDWE7X3;o~DgYZ>fX#}>Zl}f6!HUeGZYa@k;uu{0n2p~;L zJ~N>3AsiSJ330h2ahT>Sl3w&$qs9-7kU4h}L?F_-wyIs>#Wa2cbyLD#=ZzVq zW5sWlSZ8NP?18d&%(3DR;?N~@0$45w3^?bcR;sW*!VvaCG=&176RV-jo6+G94G`TW zm|t4T4)*-@nNR(VUGgJOQH5)ljbYhYeCX0O7-kAWMIwX(<|@!>z$fRTv&hmhgFY;r zo+XSFHY^W_uX1-64i|GOimBs; zKH_kOqv>i#uFZQcYVjbAA>+IKoBtXrfyLnpCB+T6+kKk;Kpn7axn|3ws4iE^e0R4CuD*~bN? z*Eo3z#ch3%-as{GwKw}Jtr~vhkBYhS3rB6sN!-(e;9yUB7Ke+C7TM8*7rhH-ojnO2 zZ$0+-p`&QeNB3EX$^Jg8ZQXjFUGw#cQ}AQgq$#T}>C@OOMPMb@)I9xq*C(r;Zqw04 zD?&z&(`f>3JC6*tZ0$X(shpeUOyd-%#W5c*oy@+o|9&!Q9h~}FVDlw0gRzdq=;QL< zxnIioTU)PJL%_xhF~#E0n8wwobSF|9vyJtXe0FJ59;@jyZ#y5aDhY1$xUD2x)Tt}+ zcRco3im|)g{*I5Z%24l)wC9a_>x_h@YZLKo)It4=lFQ|8bF<*pUfYc7i^t26A{Ul! zzn*q3JxoBhxoyFu-Z~jK!T)}~l8Q+=Flw(VqFq)h;JQVIvFx;fp2Y#GzEWa&@V5Vp z)>U#7Qu4xjEFLl!tN#9e6vxD~HpW7QS9$IAc8){t4&C&LxYCT$MTCe-C)%e*s%mPB zCABLQr-um9`u4Fjey3?bj$PLom$9=5w*4S;KK@IeoCsd*=JSoh(&^Pq-<_uO70U1Z z0-G8h>iHWC0F(t@gWUHku^DhUMm=I(D~Xp6)(1`H9wcd-f+Pit?7yrp#a0ZN{aovWY$E`P*z=`^Mwx zpOp4nuH#0SZtVmw;Kvhh3X5SOgW2q`8lS_%L#Kpjk+R%rypzX+bJN*B`Z5z#*}Ebq zz!1jI>A>E`@HF3TAZS_ez1{!QS#Rij{cZBt>*jnlK%RGoQsrnR>bJ~^C!mNw zRD{A+Bkn38QuMg;r|>W`;#@b zUUsCrFNTV{Lp~N@>z2q{4hKW{0f(5etKTLOdQr5S?djtr6!QDi6Soo|Ngf$Qn{<+* zQ~G*dpe!X%VuLr%ed7CDZ&G5ZjoVKQ%w!xUmU=E#H8dWwYj}uOppvrk#kP-8`(7lgXFRrhk1ut3pH-sk4FEOC{Ukz9#P$Wly4El^UhOIPs1|JiEyGj~Q zUL|gmA{1cNHewHQzVR+}OUl2VS5D<+6H(T2oiGc4Kv}Whs*$ESv|{c2mcYjg$Uo{V zb9rg?Ilk3R*RIy=c{Ay<*MeTcaz_H<^n98HpTkAeHgR{wd^D-7h!@55xJrKa;#Etg z-H`81h>=-~SzLHUy}PJN<$;eWre6N^nSsywvK$|a^sVeh1rB-CPzR}D!w<7UnZ2q6q2OpK>TL&})thkI@K^~k6g@Z(A=R>S#Zi;S;4&5RlDG)M2tUG$y$ zo{{cFMpGN}%@k0fD749-WNE3k>`z*k%K9@%cU?Mv1==wB72K-Hv(f$i!k_NCyIbg_(8+wU_gD}AY}BrD+-e6aSD^&m>S zH6?-dTu%2!reNdbPru?xb9pq{DOT(XEEUeI0b?gkf}+ER9yA|BU~;^w|D8Ddn52$r zh32TIfm#lwKjYM7IbOTO8Cmq^>`%P$VUDlp@vwS)p4o6q6YVV5#iF#Fkfkw`mWE$a z+5EyOpm@!c2Z(Six_a5t=9`Q7yz_%zjz4o!V@|DbtoXdk{Z49qM24_>SdgX6Z*)>U zm36l?rvaBZB-NW>a1ScML=EZUHlt7o=hp%Q-`i_9_Xkgtr2E^}2680WZH$bJI0Zt5 zevC7mr}{T+I7*#NSY%RQDep{a=r2wn4s57GQ3G%;1B+kRrftQ^#xVpsH9U0}m;OK& z6USM^K3hHKb559vImj0m+ps&V;m5jg4nVEHjzU+R<)_=naPr>DdPH9MFrCs~)>3QK zg*8>rdTydGO7_W@|A`dTN;&z!-5(l7DRu!TI6+nkUz*8iQ1tppy~iW2NMGMntU_GA9e*}THAgz|)@{O! zRC~?<2)?&oeneAfdxPVCtJ!ac2wDhiHDeUJHrXj(?aasGgf*E|aV-p6tEZ=L7b-wQRYeh0wAA;@Nta%@v=sh2XQ(X&qT!`FIxC zw8fDNuo!f7C{(C2B^<7#+G}BNSEL?J**63A!H(zvOMVNelvhN}6+V>W&M6qzumnzm{kcA#=HIjYACf*!ONtqJ&pA{)Eeb!ux-S z7=4QK?iZ1-LM0(CGjV)LP?+k*nO6RDUO_M?Q;!H(<6kXkPjw1pQdhoG1vU3*jyWA) zclB913(y)Rqaq`*_0nL+8#nzn`q$qgf4Od6jN+s zoGs)*Q{B{U7yAL}R~kRJh%mj2;xD>Gw8suVkoT?L8tVGs@UeM_4f_EpnjB`Wfn~h_ ze_eiCTC*5-#vSC(X_L`z(#}oDA&fPvp!{{_1+_QNk`0Zqd(gtU4DSyKkQ$G6`vDC% zUdtk1VQG^m$a-<2t1^@8_;}xp4V8Dwrn0OtggY*mAo%#`^kWrz7iKaxxV5xNneXaNong#KBD+gt(8tx>O%E$8s|LeBJH3fh_-n8u zZH4K9DGfR@S#eMY2rn}kYDe!}%$yLhqroUfNVK2*)2fPRVW~Tgr4JJ!R}jriq&h%J z3pMzFD;XHTmiTIYz|@1;dR*Z5uq=usiX;dN9Mem8B)Hqaz2u=o&-gBnPyk+Yww4n$ zeRY0VxQz-UmWypCih5d0Q`&GKN48dIMJUir8~PZz)zgSuW#hX@6Nuw`K?1y-AOkH? z-}U9V=r~sRhPb(yp%f6INXU{li{^tlw1hBbPh; zjYTsfV6gs2h#yd)!$D;4zdn+B#`@u^fRL1%7&1cNtL`LpApq?A3Lio~P)V^kT>%@g ztVQjkAQQ89IULL%#xG?3Wc)x-WSWguqSnKYt0dJA_@l_Wzj>>YBsM+bw@=mgtKhg*$@JRKR%jt|;@NP~mBOwGhM9TPu)DLPkDvGUHZ^#Fe~#$Tj6huO^4~7sj>+bH2C28IKa}0;3dQWn@|91d#eC zIv^5a!EBBKTQkD>c50hmDQBcxZkUu%gr;vz5wg`>H3HJM>-X$oK5f15Zl}*GO4Ekm@a(Ox0k{)~Qwd^zN z9I<7=9fp7E4F6y^{`8US*MyQZ2mVM|P;GGn%LA!=a|J~~^6OS-w66H|Aj9(czJ#3f z`LZ;)Ay8)!Tg-WYCjo%lzENv9q%6#n8^*n{I&H?nM;VFw6BR{^?=eucZ zQiGwxn7Ja9ucnoY!b~dUA_q3aqzm5hB0^FW68mmU2R5R{#g{|};S=!e$J`$*Gn{7X z-Ad``JQ$CH^e_wasX}h)mbLp1n#RBmvgf6fJtOvx7Ki^Pe!$102Hwp=z#LFhoxWuw-f( z*`d&Ufx@rzPgtf5i?l?@#yQ-p>23y}*Vh)`XjZ$g>YW{r8UC5OJFe`fI##4E0Sl;s zm5+03gouMZ;6i6^Bk{Zn$28qDj?&IlUy16#8*qcuEC#YMvPpO^p}7e$d5$siS)^6c zC%5Q7yeHz7~xGVvAa0y^5OmFp!x(L)<_qI{Iq*PgigS}V(EM6dUOrJYfa$j8b zm7e=R8B4uGVZGlF0mL;xO3w?(3OKA&?V-ig5s9%84wClcyxV{-46R-Xkq=C60JjZ` z?Hxbze?8ZlhiFBH+rbYg>2H6MFX+7L z+|`2z8Re)3Is)e`oLi!Pg@@wap6Ty)YWFMJj!?5G1y&VIdKvpQ$w-#YhrF0zifqsysaJ!0b z$gl7MZMysyaTDi}YV9>O1U$^KDo#b9zeKRg$BUw;N%E_2a z=N@BldEFSWM3Pg_cX#+$Ty|ZLTbDLY_Y3YmqNX$DIINK_2y|rR+3Cw^9KYri-zX-<@g0J})`l-*P&wojYo*q2NnicC^i z_lH%fZ||k`m;Cb|mV%jEbSaVFXGQpjzU}@*G(RIoHvet@rr$eg+?R-$_c4E<5R1)6 zvNj4-YUoq*UrC&JyH`<)##HEee|+0N^x>Rk&aHBN>~n+`yUTIyi|+<2^h}SnAGTjj z7%;0UC2>N1sGt~6rV!jIE1^Psp{9@+k;Lf4?$>mxcqHpcAUQ|TJ-^q=ygy|EEuXP= zxoRIRRydxnkf0xOt%cnfYoaVoRMll(1~%54wOnyE6H4(jHTMdZaC?Y38d}jltrbj3 z(w_-GQ)fRgnbO$*5?X5Cd_AiFwu87uI6VomKl^Ss5Qp>CeygYI z-b)u0_&|o`Gd8pkZwuK2fkduTzob<;Q2E}WD8(!EA_a61g1;#o8|*Wsf)=uzO=q29 z?JX`RC+BEDHQO+TOS4_`Co=05!|bQ_OMZmbW=)25tj7?RU^X_1Dz;W*%BHonl7 zC7XBRWw+kgKd&f9AM@~`B6AH5(Iz9Uubd0&BRfuA1gxAK&PG*KYy}&ZR}vC+OWH|u zIi!ys13#t@>nj|vPv>(Yo)p4uk_cHJR>FcZ<9 z@k)HKxJIY(e5A>bc|-Pc7*dFWP0T>fi{OoTjdhew*V!b@%32KI90C=qyDV9|Eahrn zg`f7)5qQJ6kSo+Ku-2}pWB!DBozEPU5l)amwpcqx#v+iQ4I98g8QX)f`RYJ^61*Gg z=AUZEg*s;}VP!7EulK=yb__sp#OX`@G@<$cHYoSedp}YBaoZA`` z3Sd+zVvf_24e>tSy;ANfQ*1lB>Sw-M7VsL$@CUFrWspmS>0X@;ofQonY?Gj@1d1>B zyOJY9azXE~HPKSgB6nr|Nc zfs?8Nd{yX#(#Xyowg+Ai&bIbsHzN0YfusD83Y;-i?Mv~>PQ9cdFfC_X3NRb07f$4W zd_v!?W#P@?>gPH9r94x>U7dY|IvGFtKC8WLAP!FK>*HWY)FG*!9@aJb5A%}O6sRV) z3#?2ypK?bPz}($yhN}zYv&WwfKh*)`X2oX3_OKa{hKDZFYPPjb@{;{BqiuEG%_K1^ zY4e6bO`R*!u%9X$7E;GIyuoGjVrhly)!c`f zz=;0vVGqc}PMEBU^v1#k0?G5a>s0&b|c z9>Mf;4FaP{B|%wBPEg5hbl@mSzJ&0h>f&_!F%CUk(W+XN8N#X1)A0NFCH=PCsrkIK z)Zobed-gOBgzl#SaB}nzhl3A%K+uXIeE37mgQ7~S@23Y)ohHUlmliRidtsz=KQw2}tp6F&V4ZKS@qLC{a9KnVU-%KYQoajf*qP^&$ zm9w}l)4%zUtPa%2I$xl7QLSHrT>dmdoJPrB3UEw4{;g_ex*qpjZwyNx781w;D|!!|PsRb^V`!IhU5vZ+WM^k2_EEPHXELmUIA*!F8z5AtR zR#~BsjH4+%V@^+qmDL1+g-m}M%!Tpva~A2*W#c~y_Yk+6dmY{TiEy-671`1L71o-; zj8JX2AAi%u$h0{9@=L_+C!b1zPdEeag|$o%u=HW;>;xTS)KZBcH|DZl5|>#ze8GUjcyw#isz(oxW4etFeyxXUC0l~H2T2u$YyFntGyGJZW5#oNh2UqI0 zShG)BP!D#W5MkU-KzmWpp8b4~g_0lyfprnl043U!_F%ak?136+V-`@yEy>NL+l((` zlKXbiJ%8g05&nB0<&M3=k)l4#%Ji-PT=opg# zwkQEeB&Q=0gxl>&&l;vy%$xn|T&*EX^F<1Z=?kMY9bhyC-C>b4;z)1NAli zxkn%8rQ(z2hC*rJWoh7s?1D&oNpq~#o^vpa4jWw1XRhmqdxT=zUY1oUI$1ZboQWA* zg2a!CTwz@&EC#%_(5(B`J(;CT9LvDduj>*Dm(hG2j`4JQT9T6FZkGOksT>fmX@l}LbRV{+Ng7S zFO_B8KKNxs1WTubg>1kuG-ix+t3_@D@pR{ijN9pr2I}SsoOV04gtIg@*{yWS4si z(E)8?wp^CdGR=*EAMai}T!;1EHoh@l*yUkWR`+XwBh?BOGr$E;ol5OQ=Ial#ByORz zEK?}C_H#`DCJ^!g4wBvAt&r$o4J9bg4}b6hg!3(S4-8|qK~`HtmnnrVS90hS?s0s# zo#3opz`^C4Z5bXe3dx{iF!p#2z8U`}To-m7_Jq!bHPa#vKHG zLn8)sMx?kPt8Jjm0I$AySd{Re&EcYTb%LS=hX^4eXq*0Q7*{;w!LNyz#r&elXpwI&#nG5o0yNJpHNZ)(!QCyeX`zOryqUr4GSQf&Ts=g zjFr_{7#q3)^8@;F_$>fzeM<`2s zZ^^Nu=LjJ9Us%LS=AgdPx1W1f9{!68iX2;ul$-(72qzKxe9wHfZWqj)!o%ss?pws+ z(Ma7oepfLuNVVpjR}<%Ly(<8=aL*oi@Evl6`pxtef!X1IkblKN=28aceouoHEkFR# z-c1vo!vQk_)3|SzLz8(7iuNhV1T1;i5(vIWiT>(-ZUuMpwaU`EKEoMQU4Fq{-e)-6X-wB?7tcZt?Z?4 zl_df0CDTdre`x&MUA4W$<8Y+}DC3L_R@>@g{bQIn81Ib%$ifZiNV%)@xsd8P_zMD6 zsTp9aP68BI``OsBNe|APN=bm4wvJnmpMDUnrLF5_GL-7V3G)s_I%yAB2m3NuRQ=sBoJE45; zhvns)k6(>!b}kAQ11M9=`%VZGIA8xj;xp@c_0`7vfH)c@!<|dw|{j~ z1C?{`ssp8q&4Z|yK!Fq&b{Fa8obADZ@^5`NfaB5?Rre|b16jT&Q2i|+ zhTPs<+F#WolQf~@non@maEx^b*8mCh#hvF7LKO90zD!Q#vo{zF?(SyHOj8x&z$f0Z z%JjLg8ax*U4uVELaN3c;v4CT8LD!=Cv&Hb4+SLq7=5KqaCG|TLk}CQ$zKVWD0HC#i z{McI#WBr`e>WZH;u_7+*f@!?6N3o{(>>}I&RQbH|XLXw;^~`-7 znjHyiLLNG?&9QIN$3?&5?kk|lRG96(%p*1}f`}Cy(_ca3JSMA?2V(nrtN>jPO_}^k zdTM9X2=vA5y4wMH@-79SXAEz70a_F}OU=KJ&ox-QnM27fz^2bO#3k1X>MMGUNv@>@_Os$t@ z@eZP2BpftC=sd#wr#p760(P z8l$$LKnrCCtn**o%o|CJn_VYPHd=abJIbiHggA3xFv*aMCnBu1X%54I#}@!3c~`@B zdPOXMziteOp@T{RnJVRwjc3Dv>Ry#J3f;yxvDeW*&U#o%;ifQrTowRgEvf(ij(L|Rr;q1{aY->Y^HK!}g)IiJwQ9s~^4hjGK?YLYg9jShkU{hOR6FnOfsc z^R3TVvF`U8P&wu%!HY*R0}{~%`eYLWDvY{c`go^Utq9F3#(@0TT0tZwqlp6V;T&M* z8F3*uZ+a9g*(Sm)0<>C{*2om>NZI;Q{q9D~d#18fe+U0=m_DUQ$=g&6xj;U} zdi|OiJ)5C!UNSC$kwn(e^XD>6%=8 zEba?s!R;#am6)|zWd^aWQ=x`82cAH|yG`O}>(?YwGdgY$Z{TY@S_lB}ezZQQIOrIi zX<$Zn?0oE2a|d5;d(g78j?pB4U-`w2_~q{XRC4mWeY2liM}rz;ngcB2Bp@_e@25Ks zlq=vJ=4l;JiR3)8mOBmXq@A3jog5y)VBTwx7B10jWV-GDfz$l$-RHk@Hvvwx@X2_a zV%qcaL5sT*0)39a8=XTwJlyRLiQ@cxCb*m?Js_~N!j~{u%4Imy5sN(cA0Kl~BU>iKz6$-v!&b+x_yeQ1p-)@cLinIO1d++r-d#`nV>zw~svnHOnd9LgF z)SV2BMY%gQKeSXZoyNYXq-x%Z=*TMee4@k75S|ZB43)|RiX)zOnYjemBodOapf-~h z=sf2H=Y`IHNj3ghqeZd8e%Ompquu@poNxq~rs9d_oX_zvUdYg|9e}(gI{&eq(3{7U zF*jOt)L@QnkgZon@}2EZ(@3Bi@SQ&s0Z8sXD(5&<4+|wnKgB~n6@=NHLqg^q`wfRmReGdH(9QVQfW69_R3>)vsLD_^5%R|Did!AcsNE}ameic z`h9y0i1gUW@hOZw%)X4z+l_Cwhv z&D%DXlhfP-QF5ge?Jy&F?|`S5(ULHr3tK@OSRB*D>cN?fmd@3{B63~0ECYu6bR)dS zQ6tkB9Y9&E>uAb!{`To4( zqqLUn3ea5;EffJQnW*ug)H9euqIM|wl!#`xBUsgQz6e99sh1TX>ed#2b|@L)tN!ag z{DX}Fih17#RpMRGdFDX9#fCTfR46w^IY3VFdcca2HOiPVBK^K^T__LMEVk4!0JBm~ z)si#5SV>U`Eo?f=r9J<5*@xiqs}$Dbwx-;A||_>hJYOA!|G z?#P{l37b{lV;U%SwChh}@!^zlApRwt=Q5OtlWpA;v-QiiAC^d zMkSFvtIp+sX7h}(@4ye39w;sdB$VI2)zoE^R;sJN(SMFA1Df9bSzSGzCGyN#pHCUE z_i01$(}M}cIQ{qlCI2&jZZl$q44xkXFAGOy1d5Md9%O|UN?xud0-|8)1Oja*#B-9S zzs*eo%CcD(r%2xH7_o!52kTiToPYFZM6Hu4|CwA_ zrMajYB8kYjOR3#{KA-ZxOBdF?ExL~ArfV} z`nN}V8me>Gqr<*zfQdacXZbt(m*swI{U7k6D}b`R`951YAT6BPDJLHL!$mGNWtgWRq1ZOvKX<(V;X@~uj&7y~ zblmo}zS3{GrNLAn^ty-q+QVW5v$xgmb=@$bslgD>3VNT{$;G)W8Ic3014Suz4a;Gj zqz`i!x++5SE@oOkw5dP#bb|D_bV@i(8@UrKd*c!8#QM`Lf*>Pm;W z$Ku!Bb}QlRkNXR+l1jA5KB+g7F+P||Dq3c46lZ57#vAi}BMQ@i9m@4jdYp_Y%AP`Y z3c4yk4~iR&66XlASdEA!m=*<@v{RYM5~6(p$r3btf2kfKLp!r zWe1?QqoZ(VQ$bOdt?HD$mdL#1p#-;(d*Leu2w`pn=8h}}YPM7fLy*FBCit`%b-BW< z`@u&PrglgoR`}nNpujH8L$(2^;MA`enc}(?8Yb=!d?8qy&3NE(bi*el4Aym)ICx%cQl z*5q#$Tm=(6SALsH>;t1C_3%U!JcB|BxL$VKMij0xtfV=pYt>`Hn>7>a#g+XHhkZ2j ze#kuv>H+q)zBmRG4zu)s!7W_U4Ge7Fj;!ohFZfM5_X ziL+m);jziyc0aCjVJcOP4FE!GsW%Ly8AS8_=?-F$o@t;qXVnN)mI~)2LbN6ipUx4v z%G6o#9s=Uko_!Z>Jj;sEzOR6))wktQa_B$;OUk#|j0-Qouh9+5y>ug6TWUNyU-WP0 zE^Ag7QufFOCLty|p|V zxeIw=1o#xp#4;dH=X@x5t!UIDK4I}h-^m{F%F-iDPz5OJ`h zh@IJbhjAFXKrSk(Z1003W{|v$9_)P1Wxt}E5YIS$6P=$rEaZYY6@yrIlYICBG@45b z^`!9Nzn4;15DpaC{FG$UCLn%bf z{~$HxcNzZ67A{CtE2Uu7R^D;M2uG?;`S!~I+LUyZbiRAY_JeaR zW$KF?Py^)4qli+iq-3|!w+oTSrDZfi$Mr2SUpp#K`B%l9+O}NBYWK`;E+vjJXBS-k zGL)sEIotU52IoDeWp8uRq*brgidGYCvz|X@v6M`Yz?i*TPk$<;k;1kNSRU!(i@5Z& za!Ds!`zfN!bRrmZ1W>`!OR~6^OOogOt$O!hIDvKu>-q*;UR&~f%AdP- z|6-K1dPFPDshiP%d?7#<{0Bt*pOE|iIr#m+33VKpzIO5AA3>zUlA0~1xLoZi{>=!; z8G+*6{(Vwlz{xn3@^5_qf5fBz5)A(>X#YRr|C_A;8-D+v;Pn6assER(!Dn^r`KH>x z$6l)dTuD|o6`o2tJ;{Umf4#`|)`XAe2{Woz90rI3l>;67i`{HpnQS;=8DNzvb4M%y zMP?B&mX88*%nkxt5zRl8Mnp|#N>4t}1s4ns4!Qt22zYfIXZApn43ON%EUotd8-1*^ z>fVk6=z*?dd0f7H`LgWrmkW7|E5ugEhEETh0YHeVzb`P;~iCeA<9i=0vClJGmu;AQ;x7DUJP3t*ghEFS5S z6RP9BoxpEBr@g3(zT0SjPYDl?2A_ii!#nK<%B><)DL_yf)!b?%4Km2MfqodclJu|W zq952iJW+G;M@L6XILmjo?}4urBVp7gW30?X7q#q<*Brw={6uQ>=Pvz#UxSZiDvS;z z^p0hKpJtX$Bf=&YP6;(SY*csrb32}yNHF22+*1Xg3F8^M0-7+C(1{s$Ey>mnmb<%s zE>+ER|D1Vl8%M#h`Zh}N=5C)7(^`Czj@$04q@m0`R712WIR9Y?9!(S$y|ILjOT!Zp3;zyyr zyDcj$T&Nj~=2d$E*C8>Wc{5$J_!6tC9l8xFXtTdK|E!R?omQ?(_u)fKd4J zL#xc11X0&SBx8Udh8_ zw|dC`UOrI_yishl&w!ov@62<5$<|&3e4iymmEi;oL;saJ``54jd2am&mHHn9*?*-Q z??3nd_mj@D&F}Uk_Esv|sV918_3HmDyZeKR`UhnIcrbY0wz}<1mB~k?l)b5b6}Zm( z^1{uAE`RGs;Y63H=dn35_osPOW4>BO*y-D;nx`|1 zagbfhMp!Yo9WoWsvYldGD|eu|wa$LOW`QCR?*)+t6?9eD?WKDEc!F$1Nczk+>Q7{4 z9A>!qUvJKpFM76}`rj?hNwtfeBXagPG#1@C7+mB)$mM!B^4nnSR|o$D?&neD;O?9v z3lO5h$HMO8%i%mnXqGsLW$TshvN9NgXXExtv~KVACRuSG?~{{_?d@#p}EB=GQvk9`}7w>6TQ|=S^i-0;NtzD`vW)n%!#{vE#?w2KWEbB z*6w>$mT|nQYu{I&)8y+u|C4}+^Wc&xOEzt)f;)=&k?x#K`Tkitwm_ z{TK4?mfSF|ooG|*Z5Ne;D$Ux$dui&MwMNXHVZBCUp(VyJKu#~ zPRj&1+B@NsOn;cmsk57X(HL82AH}->tGXGMF@Ap&`&)5iP)y}BsM1>Z_o~=N8)fTR zp=SSax$MXDw!XexX6fA-q4Uwk-kmp(6$}_g6h~CV6(7D#+_Nwp9q8E!v@%0zTbUe) zPw`)guRouBY&mUmtmO2Msr!Y+hmm6n0|BR;AM*S(_bb+;xA=LiN+ZPec8yRul&^z)}v41>nqLbKv-t8ed>(=H$cq(0kAxE1RkjN&!G z3I|8!UqI3G0kM+(J-rE#6gbgG=Pvs(K5&83w)gQ+$2G*TTW$7kIlY8e13IBd$GvXa zY^i`LoM6_)?E61Y>?zeg9ZRP(tT*^>0>f^I=voP_?YoQ5AMhDRL+< zQPB?%HT77Ut%R#@V9T@=I*5rBVzy_F%LM7?e>AG`dv7!vrsPsgAb<) zB~ZG-W?YH3zZ%fw6YQ+i3-e^S7kLj~&O+Q3pyNL|D3N1P4o(aYdND7rR*CxR;CPRXQ?qu^gF#XdLR-Hj6*erf65!j4ZSxhm(L8E#yrFmX z&G7i<(9r&e63{k27~)5o6yeDayGoFp)6}72arK#~VJPJz zd1)F`3oD?_E+eAwd#lJpOeLXMH?^ts)nGO|dr?{0r}OvzHt1Fa5kC%y zAJi{+*?_rKpBo$R-%~wH$@hTYJRmHh9hrC_%C!dp9$zcJmiSIMI244j`0}RxeGko` z%nS{eVyOrn$1e>sa^ZJswrhEAL!9SXM`$lcV*@0JKYad+#_LBFwYI=^v8N~*#nI0|vN8ntiypaKXzD?#j2&PFVc zvc303-48mkv1P^h>r2{4sd~WP0KgyA`T87fe^^KYA=Dm^SVtg)mMr^@Nyu;Fa-Fsd zS7v!JtPhnNL)BLLzTB`k5!#g2zJLnj z0lb`@O-ej``q9&c&%BFAsH)d;{;52$0(N?Eip%&@j!=s%PU#{s`bcD~MUb!AA~um< z7ouoTr-Zf^oPlkOs&IxAr3_O9P=A9zc^eR8!H^bqndt9ga>5Is=$%bxJtCOgIS|HE zLA*!1Dmr`!JNYg<55VJ;EsSG}#C;LMYd|ywQDXxrNVD>44Q%YqWT z_9vE0%hiicLzl=NQVslE@0kiSyj@a^?|6`wrFQ@q?l`i}{8{}TdhrYXWme4F(t1~) zu^i)wzbHk_v;e(1ncVPA`|-rS+im(x6h~HOM*Bq0%BZm-p_j4`NFLI_>J}PGjc0Jc z5XikN7rtd^`7P$&`G%v>fUkYV_k3Zev*Pafm?+puJnos7LqNI6tDnlg3gZCFI=>Ur zO?cLK7!7`KTE8gy4adZ#^G+tV?<;Zl{M+IZvcbZOW5v50xP86}q|W!-l!5l6Y_$N` zK8-+?1W#&a`l6I4L>mjaTT3xF;73O|XQAs3uT5?CZ+#Yr%@VuN;j;hI#BA3bB9bj5w_JK)oXa5P!LnPxsFeVUS0~S-4M{q@ zfkA}6z7$$4A611oj!2!#3BOtSWq(sU?MUH$C z)7m8${5zEYD%#0^Or8Q$mIfWfk^qjocK}i=D)oeQWHaa-@L*(t5h zHn50!Ja^BVnkA*_!WXYo7ENs*p{Y^gvNW4Xb0vU=#15j@^IOj3`~m5oE@0qZ?ewcyec}h6U}Jyf zqAJ1w4x(L+uilJ#?fjlyJ(DsPZ)cY4X@q0Zagts8QV?EHYSd*VtXlsfXEiR>9?($6 z`kOpQU?a(h1HbYcu*!wX!R#o{JaG45OV>;=e6y-WKcr4ov2EL~Kp9hP;|*Vk1d^7t zg_g#?!R*?_@AbwG&?;;IDy-Y3r*B>ozZluLj&rO$t%0%D(FJF_k2tJ5Ob6a02!lHA zcIq7*(31H%)9XiC^!VO#C|2&RotL!?mwqEO$-2nv;D@ue%PG_^=rvl@X=9Yxq|+e& zciW2`WtCoR`~p8X4BD4A;;>P>{lr*~BrUg#@a}Zq2ud2Eb}a_uVPot53^{%%SIY(+HUQ(q9OrDCpH3%58p&XoI^2Tr0t};Di2eX@p z;Un49SX8mYqBjex6U3Oz)%SJlZO#Vem5qq;f3f9$Zu z0uw|gO(-2D(o^RpX50@vNx-Ulx&wD;_V>RYzuB3#%2RSewb)+c4Q{xc_6`V=&Xk&% z-)JsP#Iw*TOTdYDgyAe6Z497#?{8yW_y*{f%15m;eJ%lVt8YENvKD}&KAxiofBX&> z*wyOoIksiOp;)C42AIG|8@NXor&Z5sAU3^YdD~Ty_(2EyYM7}9-^Ioj)$2@Rd~rE6 zEb?W+AtH+(&MHICyN(kPKmgJ&==N|;bbv(&3H>Xk7eg6$>4bbhoDx{3C*ts))WjFX zgLHXVyp$u`>4fPM`Gr5TZiGIQ{WuCeJ9LHeilTt(0NzdlL=k-o$dh?_QAx7N$;YsP zATa`Dpe9{i)H7Qc5#X-%@o7)5NAHexn*+27L8h!c@Gc)c4)Ys*3L3i6e3Z(ucV|qE zL?zgRuNEsAW>O;>t(Qq}6)Y?4Gwka0l_J*NX-SXBpyTH=7I6)5rYsk7r&rlw)`7GF zA@+4n2x^nTJ zmSX&sCJd)~7TzIOBR|TNftWIIpgW`LnkE?$y#pe4kdA~E<$3fERV3s5@@avIbxw%6 zq(6~zY5q5>YPco?1WoDtZSXUDhmKV$oIJ!Dd;G*wyW-cmCDJPR1#xjtkxn5-KmJwN z1vrbYZmy;4@f^%hL`A!ytB~<@uerSO=Yn3Wo5)>v>&=kGE&KRG?P1&?MgmlG;p)}` zH3F=wMGx1OPpT^oY-1KB&-bT_ybqfl7JTQ2&-+fKI?)d;1nT=%map$L&MDy$+~ z86^20Ct{kz=yiLBe3XoWlgGjx>*V4SLAFDAHYU~Hh^H=5Xg+J8^G#~GIv#tiRj~az z&ak(`#qd{LcSkN%k`{UY+m&}&RYsp}O$QwpSkivg*%gpv%J9fIwy$3;0JBJNU>tF^ zo=lse`9(}9L;5qT$|Fiepj&$d?cq;>VtM*~Jnz7VBslSpLzNEW?`25)wbRDMWJ2A} zdVNU`pU(jcXBUW|+k}p*<4YbMd(c9s_`#*uT*f5XlRd2#Yvw2BCCjyuWz8|R79uPn z(2taKeG%+F*!)&IW(xG=(IAcPfLAZ;Fd>A@0jC^wIX!!>7!g!2wMV>w0IK_BJ+dj( zSrm&0Oh-Vl7WN0rQSQOVPxP4Zff1ykA}hLXm3-*}_-{~Q3J+h^pLn*fjn)%w8jIa^ z^ffQ`Jp)mTPzgoefzJcFtc?qnsTmD8y|*psxSMcA#7R}OE|YtmN`=F6xDN7?V7!G} z*VxkvT<{8G`lKl$EKXiRkR9uCH-uCjG^=36eJof(2a=0rn*GVcWZof%;>ndM%oBV= zL%>vXM;awtL4?!2k`{vYB?|@%TU|Via8T1*214@DDt7#vS zdbY;~2?C;crQF{T3D#r}4UV?>#3bo(6DN$4fufQ4_uH3^DrQp?QfBU$LfcdK9P?K7;Y zT%WjsU6Q71!!Zzv!n3R(TxSQF%?zSY@!wx(>HvYADQ`)UL(am!IAnbN=ETjgLJm;0 zdAHB!U*243fZtb+f6Hmm(KYl7{PwDj-oPIAFrlQ!gw{HCo;cRcc)U$xJ^NpWK z1U{T3P>)8p4V-)1EkWOn6MP0F2NJUEOj6m8y|NuUAP&J);Kr#Rd#1ZSs>GvE92xe# z{Hu9I$Zw{Xln*&*2fF@gxQkyC_dHr_h|n)FU&89nc=k%+d%EzB#l+GlGvgF=bMg;E zc|q8H<^YRpNuA(EOd4Hd-~q-W4`ay26frI8TdXbcY_lt<%07enh`6 zL$6E#sPmB7^cJz$s3xRWuSI)+hPF0w9(=y0W%8Iy|1qaPW}L)Y$I{~tN5X6h1m;ic z`AC3cX6sUG^@YarCj?s`g`K`Gmp~-$l)J@U$Q^MK&3m5AGOGM0&d>Y~mQ8}W=}!je9S4!8SJP2XWmiIc}iD*GJ+WQ>D>x~vs>6Ar~9X4Brh zmqI6o4Ly24is0wmJ0E+t+}rh!QnfP9bO~gjZLWCsg-0~JY<<1;&!hnpzlJD45^sVci5u>)mS3WX&aMlhvWmjh3G z9|o?Ol6LjVb^mAAvg9mzrIi75D#{g)8XgMv*}R*xXt+)Ij5$MP={wq?0EGzVl7sbU2_->vSaoCxcq{qwcCs0H=->^CKTt-Q!ic8OqYp#Q-pjU&mCq#qmZhcQzmTJD| zvQM_t=OMs8+`w3i!WTUpK=9dE9WKox|c4h8GM0zvc-JxEy! z9!wYqJ&(2+M~sy5IxLy6-Axl8W6T%{54}ui51OgW z#T+wa!azf!5P_z(xQIaJsO8kN@wO6byJ@D9J0;aY^{mwNZ#GC4pS?{rg0JG~Lh>(|$I zoK#3f`LASHCy(+{Zp)QraZ#PmaNs>PrJ6m4HVebY*P~k6 zJbI}cl1(}is`q%zu#s1~xPs6_K?Ff;GwiH6palRJmQUgoYp$NaTQKcK#@;}r&PzNH z@lw9JcF|+Q++uzOL#T&+7n2JX;1JcWPMAG}R{MpD!$?igib&P5hsoY%X-WmCPW3{EWKRX4RiUA+@1CW`f0KutNQQ*3<+y#*yQv}$?sV$9u}L2J29{<}jh>A^iHOp26G zc}Q6>gGWsL=F0g;x?9HGz06={DAhjr(sFXHJ*`}*<~sw{5(;Achm?*( zkS6*Pik$#{t5L;-&xZl50=xPe*;|zPAl$*iLasFe^e9KRsl|kkq=?0o6ZHwW91%zq zOGR6|S@mT9Gq?1v@R(K|yYvu?!Xsgp6Q4epl$&7wXiYZku2>+orJYHMhlu@IKs+=@ zH9!@Jv9&`rZ`IUGwZxfxK(C-j4-a0|GGh7WD&a#b5KA$c-@m6+=Rb_aXc7$O#q)gs zqSM@0#GROvRnx8F@#BlUxll>P;9JTU=deTJ7stNs^DRz$ulkA%#(GBM zs>*Ax8n`g~eN3M2kS=m}$pq#m(+u5EP#;}NGO23Z;o{$nsl@g3;ACM(wL3Z->om

C-I6PK0EGgMitbvP5FM%UlFngBoxGwOX&1xF{wruS(s%nsDwOo@O<=6 zVB3)2S?No~qGaS_n-VS@-#EI05LVZ96@Oyo-7*O?AKMHr{J>3go}`si<76shj2oRw zyXRc*@mP26t-Ero7_#wTN_=?*t6`65p?!gF5KFKR@yCk8U1(l8a9eL^z?hVoDHELn z%t@4SfIhB05XfcJ^SOU5o`gX&w4Qm|BdNYg#*ZMnv7I2Eo&TtwQWdv|Qm@7r)Y zj<+KG0^i_U;V;ZLIg2|P+hbqEDLW#D8_%+ zPbv?U@!OYV7@I-EFRw1!k7m&QwA+2bxald&U&JVu)k2(^UU3G~sP*h?J3X(+SQ(d` zwjx*zaG3kX-Bde8$)LRU(Jadjm1I^?ZN4Muc7Jf%9S+U7c&uq_PDR6 ztC>umQabkriwMtgkQxgUvR&(tmrDmM%L$fwwH(U6%ji^5)}-*^Iy+uqgaRgAr#h0l z`IuzSsJn6{(^R5_IWy9Bgh*yq)ljdN&!%Lciul~4UlrwNm8~cH_%J%$v-2_%``gGH z8|Q&V5b20UF=c^52niz)Ho*1g3y*`*~<39fg%!cMN)*pm} z9$uih7^n>ZJ!nnp0vI z^JfZ;T2U2|QYnnFp`06Ie(z-I;6}IWovz2@1)rl2P`knJ<*e@}OlgR%PAog|5{gL0 zj^)WvbB0qh33Z+{%s9>2__xNUmhqI z8DoCtKX95KnFa9=)KJd5GQcZ3J3e&_Do`uXUV_guYkvddlV;!ZZZFa(hCR-hep91# z$S3s@>{+D&6F)^CKS9wI#(@gc6UPUyVZZWRyybD2_+spuBc-0m}$>kG*R z;i4{;K7Mo7tkpo&;X_6zhBzEJx*3?9aYlpI1+Y?(F|JKJMo&DIsqgbT`MCu9Tq3YR zhW23<&R>6NK3q*k>o}C$t;M)|y~%X`VYc5OOL!1-%6Aqy zSB~AC=!2ObqZ4!0S^C&-Qn{?}Gd&oh#~CV~^H#gs&poI0DAW5Yd)AlZ5H7l<<&245*}UBVeeKJd#~&p z1T(IAgx&1N@fvf&I8!dl!8}YoXjZeWol2Ypc}J8Ql%H6s1gJGQ$?{gTL(E+#zh!>x z3}re4Jc`&XBI$=VeNx$k$^%-p;ZUj$=`SI?VV|j#rcl5ZxWTlD_ip%blnv4Moi+;X z^W~+&XjqWR_t5pPB9?g*l=hTuly1>)1x%t};M>$up?~x>oeblt3AgL3?y8xR$Z})C zz?YpPnE?_x=SEB2ap>93xQ)@)J0&@$JLE##mR?=*gxi^$r1O%HGp^D50G6JoE~p8f zPi7SG&DIBm%syB7#A3q*uC8lW120xQ93^KC88h)ez&T+uJ+a}D>dyK@6QtyfnGTc} zLs7R}lWdB!eoG?bQ6W~J{1HW6kzoiPlufuL4)QJdO5Dnj3sk?GVxY=^`5sv z7Yq)J0HOl3ofQcyNu_(f9{62h)A@QnjeN7uXBtH9vxWO)gHFpA`|2)Easot1ni zesn*vSw|*5z>+Xt8U57t%h|1&7wX)6-DcfY@(N!Y+@cV6qiA z(>KfZ*QR}bq|tW8%37RwAT@d?)=%}QzxJfLzz7Ufi;UzUSX!k33Z zLIX>bZV$$LVYVlt)aN7T9ZLKQLRs1yY1ey0p4=czUCpKH)PK z{*?~78~@ob;%@bmX}hy=B`>ht9{06H|KfPZlMVq~n!1M7 z9c^)8?m#dvhLXAj_CEwrS?9CxfkB>N>#JVj_$-qtT42xTNA5?F*v+ zu%kn2{hyn8RTvat#?5jV>95;vr_04ZX52doqVpM&R22>ALbd3cV&cYZ~U5O^{J zicvvzV)L;4-v&%dTv)88r^#YOI7m3 zPl%Kmr9#%Lq&SDt|tK8Ndb2?=WktS_l=+-Z!oD=hQXK?cA@zL`pGz|nQ z?XGGi(^;_{6tn10pY|O09(^2d3@c*!*``_tLy9|fNZ)G#3SvMOc^H-7$b+x@$(REx zvK@RH2+UrDC=OpPbDu{!tixZAN;sy9kJC(}W0Uoe4&-roD5I_@9zcrvw?G5xHtGkL zM5&F!**-Jp8y-9@CO%Vz_G?-yyo_&i=R1%{y0uGM;M@QBB^RF4)-7jF#kv1j9Tb&_xu?49tDIYjZ&cbvM+HCFHUNWzG3U-`C4mzXzY#(0S)yOhZ9|f?%d~8n#P*u zYya0F?C%kh#|?`dM2&zD>U)fd)t8H=N<@zLTHB1+#ktC;q{O=g)@atS_pIc?g+bST zlDoEw=RHRCVZJw&i~DgVUVW|SbE|DM*D>}5cJ=S(eN-K+m6O)i7rMLyyj&6M_N`Z1 z=R?8n$k?OGo3`@N-*1ecg_~fdgJUT0%pzm=Uo~SmvL6pm3RJW2eAsg{^Be1|3w0|I z&<}62&d=QUQ>j~c@KIqO%Pho$LQ4m|)B#ynhh$BiF1^RKUNW=(+CUF(uJMSVS)HHX zxi~7d(a;;_6@L4f`*cUHLBmy!FQwQl!FzC~5c z2sat{_gAi2kD7;slU14%%*!u~cHZAiiV3>BHQ7T9h0@7nLz|qeyg}vf**A3_$JOES z)Egxu`Nc|gzV#R9Pw*hadqKY=Fc|Hs4 zubQV0NMJ+Uh%k)N$4Bq_U7iX{Dc-xR*5snEUy~_5wPF244cH)@v5uGpi#}v4Gzu7pwnCHzQ%xkNNWX z?ReZt%98w-hehm09%cVBGu&$uFqGgt?)nbDi`m`Wv5{f!1q|*<4wfGOKw72`^d|9-ZRK8{{sCoxTH7^OnH2o47HX6FXW#fg zYJGXb|32#NU&rwGv;VCb?BAZWzmYQcC-h(6eBXfl+rshxv8LU73h&>3e|~@d_}7K_ zb4~s?zeiTXfB*WucLc=rf9nJJ&m;LiIF|T6Y~*JkLEBhN?i2>L{L?L-$Bxn4&X+M;Ew7~tTue;wT<9Go9sL38$n&Y#$LCz@vrT}N);feOgG;Q-g0eQwU;hMMtZBxFVAKKeJ4J?m zpV-RLZfe<(yZe1nrB4F0hfjf?)wtd7W)6riUp zZo@bA=~IW~OJHZJIUuNL8|doWD>TOW#YEw0u`V9K`&@u6&l+h2UPT)Ky3FqD7XTYw zzgsmJc03;Idy=_C7x>8Iz|sb)g1N?S~ z%Pp|6niH@yOZ9z@TbGmRN4Ypscw&a&^f$oDxpbeF1vL^XBUrBn!ta~l4E}R=RRio! zak{dz@VVw04O=3aw?HPmeJJ^h{{O|=TSrCNwr$@uLk~Sjw~~V>-7QiE0@4f!O83xR zlA@HvC@7%PNDtjo0@9rW(jZ;$Ie1<7bARhu-&)`L*1Pz}HO|a=&Qa%a?EAL=wy*l= z8WQxZ?Tcz&n*(S*GibLvEwKe0PoRRi8o=C0$nbPwPa&BoxwYH?9mgk0K+HLV=CG;M zYld15gIcT2z0jhpx{LjunN~8{O|;L0+0(r%KqyiJuz9A?&JyO|$6`u5c;uk>(3S0G zpUUQjgg&K)!>RyMT*Rdppm?eU68`M{nVz%j+chXAPk>BNjgG;AWGFu{u*+Sr%B5Z* z5BiBjft2NB^fth&n=$s?YftL;xmpEs{nc7PX(KH-jNysOA$d07Tb2Q&=SRwT!|H7MmQNZOa4SLoaRiZX0*xjBNrQ-p z&cb0(DMvtB4IO&@Cg@SCWDWxI1yClY*RAKKqhVR7tK-INT+D<*{3<&0%@jbM%^&j{ zP_Aq_030SV_5%>R3NJZVijhl{51_1`4x=@JXxSZv-g`#Y1*l`w-r%?4fPyL6Z}4aA zQ;?JnfThNGv;&MQs(z9qX;e%s@<5dB-N6cAP?do31=mArSIIfk*^iY}yb>U&IRV-X zq#+>Y4ar*ve8>n)^3Xm~ONd_VU?%{aXE!R%V&s~^U0`cGou{$+0%k%}Sp!g&A~1=! ztupE|mTs0Rbl2mPc_c?SyP(zQXaEA_58&66RtJbKLLdvSqu8x5psoR3?e8i&=j(cs zwZ5ydTgT`*EhIyc9!r_zWnVe*!kL|@HF|);9Kj5jMgg4mr7EBxbpc0{`bGFc^Rd}E zlBcz!p_~%&=E*8h&dpDk@v`?}!jGQ?uTHy1QyQOe!pEKkZUTd)S)WnV!N_-xjSo6{ zLQgghfC#54wWY}8B+Yp@qXCNjd0S=ok=3Gz!4>x0=O4| zTGR|)?{$3s5hN5cSDBaV^@uOtFV?JSI7sy+fDm{v;4?}j-!D`L6l1iIWMX1TUITfl zku5{XF8iCgwT($h}iB=T7S%tCS zXp~i%9r0}<)(06?1k_q83IWjDAhKo_ksvdb1kOU35zFIhFkfCX@w(+XK5WQeHT!;J zdFYm9jo?L}?MB@#XXKj~e;Q_h|adYY94EHs1K5A&R$`rivdeoYJnwDVp zd^E(~f~k8ycU+*qc}?iGcjS=tjsdp|80{kVSB@LGRji~qnV3t^>J6aDrh#UmHhlqj z4;+ffCu`gu_Zsk5qcVPk8H_)KL%z}C-Y!$N%SGv2QFzsUM)9h{gT>eOeU5qd#;3Ph zE{@1O6%ex(Vs8SdexVFSA5(8;;jbY4(2%Hwz=g;JGmf93xE~47?uueBp|_z}U=|QI zB@dF4MIzq)>qw9-P|SqJ3nVJ=j#`qE2y;B9kjY!pX>jdRP%udWrY|}@`DPb72}*6rmYyp$9W!~?(NN3HuN}TSE#e44AjY8*%*_4%F0+JCrYm5rry0) z?9RiMyMX^@!F(EYFzbOXXD&D0`vk?+Ru4cCuH;C7iw(+LzF3wLDOTpeY(c>>Ag6QI z2)`EhH@7z@$TAK1#I(Dz+6QaGRAJ%)Qkh81_ZHySdO$88+H*Tm7N{$FvqA*c@{{vtOF=L zVm#t(LPruj%8!XxCgBtR3X3sFkWD=o+~%q!s~L*mY_yZe(m~` zL7!o`saizVf;Zgv20B;*Xnm@IZV&;o?h1M%B#hvejAOg_s2za3clhzCu=!ia^eVMF zl>&n`5+{;3?sF6sB})c2FjHBy!_saR&k9BWiH((ZCH^i00%UWJtVDlv8j+lKg= z4*M`pO#xt8C#}hv0Y7ZAo82b*!S?G7Mrk6VKr|dTr&=n8?ju((P&%W&?J_U)9V!O7 z-v;SyTBw^`4M^SV^5-aJ49WTQ>C+^+cC-(wYVeIG{iDYHAG|YwK^0Y^mXJ*E&vqNw zcN%uu5W)AY!Fv&yQM7oiq0xA)`1*L^65(te{IrxkWeE&FKC#V0{Isc9ATYl4AI6ZE z$x{~Q7QNA4Wm=KU>XXm40P9GolYs#H)u7i{622wcUAD*C`$$=r3H&Xg-4pT!QV%JJ zl=koRZ-S`UmDcl3RYrN@U?AT5Bto8bUSH5SN9vRsk?##9g@jB~dKl01+!gzgcbQTbaX95#;MR!e^XeLEUwBmL45wpF5J%G-$o#^76(4=CKb2SbRA}u zQlVge$0jNAP$KjEeZwByl5sda<{Vm)6lC97EP@3@TV>GLn$)Tljoq5C5cAFbx+mJw z_cKHX->d^!NtFtIf5eVP#&d1L7(bQ9zLEj~{LpkO|dg!3?W*q|IcQ?#} z1MN{#O@_hdU0yHP54m)}U6I5+$|aX_D(3}7#wl1#tOZ*H3H`^VWu3b zV&gT<*9^z#qyc0uInSIe^_rX&j!~VJlU4C_*GGwTA;?bnydW3lSA+{Pj|QnrDSFtK z1dKOUUS4FqgmlR{aq$vA((Ux@k+-Pnr5pfbg&xdpizXwU4hNAPfF7XFY{2oUO99OC zti6MHHh-`kHFy}w^@9F|uazQ5NS2rb$r~dFL;m{3qNcGXl0zH9^&T8MZqAXuWbK6m z5r>CDo#^~3*7>WNRIcnTW!}FtdIBKQzCZK(ksDhiIBd=W8&_^EDbvO6N&H#URd^tR z!a#A(;#gdFJC<7M>EZSqMQ`y^-WzQi+Be>nNI;lR^S)4S zX(0A@9QLqblDNXi5VZi&!$1~=J^%Oc*CM>UG|Z2TO` z0nGD$6%>$ih+<24<6jxIE1~k8U_+gXWze3DmL)FUd+jprI-Y=e`iAYnX)!mpyTC>wS23YH63G3OK5ztpIkrJQf0Y5kea6 ze4YmC+YACQG;fW4*0=uv;#mgzG^qAXycG9!ozu%ooxp>F$xw zB7THpupWn6IctzJG|e@61B0xT<~|qDnwykI{CMmev2W}c_nk4H*?Xw0JB#V#8wbN~?N<-c)gClTX1jyQu2zafS2m^LM ziCKUX!(OCIpG(8IXU0w_dl^F5-XBfCzS$AGv&dzu+}(&SZ4F^;rGz0G>HL&^cjG>G zppF>vq`2e5lv&iFwI@uifq>x#fD%7a)~ppY%#hB;!9C^D=nY^J1P;w#Ex-s67El*f?WWgvWLH=|@=_uhg#3ueYHcVZ!VwH+l2_B3$ZqjYXUATH=IqCK#(SK3%$1SN^aT*aGk&w=jN^~^3~bZ(Scv)4FiJP@-b7-srtoAcxmAWO zJ)n^6LHVwp%`-LC$X7Ei#$EP#HdV$lN!LEUFNF?Dp~FyLRI%C;zeUBW-i8L-keR5Y z=4gTnJMj?*(jAh+2U>~6QD9=K7=he&vlo_03dVP1VWLa8A*3NmaQ}x4T2@L< z3XAtyixBp$&~h0PNEO5_g2~%P>}BCmW3!{s>%#Q!Nmdo%4jwHBl0-FZq0y%nmW$F0 z!DT#V>mV@8yU;f#fCw@f*6R4cp#xlD^lt5}%pNlK$EHh}6x4wr5RWd$Z!; zfu_vZcY#YyIS#tEO1-utT5Lv2KDAd@jZ7cIkne3!xR`i`#HbPfNZBSK76LOeld@<^w^?AsW`Nalaf%7?Kvpc7;B@1S zgW&-$q*7BtcA#3OUMopvjv}(^Omt%g9Cj5m8 zIa{~NH_bq(dh~)-W`TWuAA8en>2QhjA>jNL6nfkIgnX9rvXE{G(#0UzvQ)+|2cY>4 zjc2u<20F>O+KoRWswwM;eH1eMex3EUm>{Jziw6U_(Y+d&LFjO4eD;E^M+oeig6F7( zNHFxxnT@bqYaB1al|A|h^NUuXl4Mc2!yv#kxZR7tL)b$5@fQD%5p{;ors@wBb}daY zr7(njNM^)SEFWOo6ap{TDf@~Osaw+86EzsSXP+%O33|KBgQNv?jdRW#VCZU4*}*TV zV0dE}J!e@bbk<_?~4#j|GY3w;oJ$AJ73iEn$#${*%S41(|U8eCj6(79-nD*f%yj zkD_$$h=VBGG31kf$KenNH}ZZh`yVVAX^7Ahs1)=HphuHoEhXxFT62Rq!~`x_ykHZ@C$e$jogL@%0N;m*5#k=%Uo2T4mRSJ<66WCR_OWAEuQxa6S7 zCj<#Lk@G-Qig{K0iNc0)b4}P@U#ay~fu}?)C}$y*f%2A?7le)E3DI8j!UO~rmn zVwWP4%1$NEYz%oEv=X?YRWj=5im$>iA;&oS^VbJ48*vB1y6g&4&z7G!3$mi34`EkE zDIls!#73D&_n$|YEfrnPrI_J>!BLUkzl&@48~jjr%Viq!<}TMhzovoyje2{yPF%TmUnR%oI^nlKb`{}&GJ$==e^jj;g_zlA1IAbCXD_4i|M!p!H-}06i^FYO7 ztj~3}RaQ;W?$1)$@w`p?eodwOtf7$;K-`rbp3X-+ctp_j@z_vtUfO&Q zQr%g;q>|euM~InGO~-g0VXJ)5mA{)q0ZXul%@lB}NQmP08{jbHY}ho%nFzW%(>BoROzyv1kK&0A8P4`CxsT?mmS2x zUWR}++50t*K6~wmjKYwErX(5*LGdr1;6Qx%8De9(GvGobpY$rH!s=SM(=)nsdr(;uw7X_LW$g5{D+; zA!i+Ut)npZ%rMyb`$ionjUngl=p=1jKkiaP4K zR3vo_AB<}Flqiiw9L5xBOX#=wmmR(qsgH4Z%O4MenQM;nOFGZk2e9ZsPV@GR+><`r z$v)Q#k6oOS;F1*085#b%F`Wr_(62F;tU8f(mi_hVkEDy8 z+IzA;lZo3GWfcuCBA-`Bc@f^FBWZ`1?xy8C+w7f>7)yC%Y#y(Rge{4#zA3TV7wsu{ zC8JyDShn@z{nNS6uCDnGenS(Dy8Kg8gfy>SOue(K&!JAkh{s}82z~sfIN?D?!FNZTf#Dmj7Y=0r*HI%zevRtYw$~Nie^rlR9Bw~)WxfHz@1q% zKXPYPK<_B8S`ki+lb#@+R50(ay`P0Yj0f9Ti>~)&v^%2T0PhSTDt?F%C~_U>FLD+9 z`+V@63dO2uElV2=1@acIq#I?sLT&0ZfZ_9ZOHeWMNPtU zhldpj>f?px7Y3!T*xa;62?j7{S25ndjGNN;vo!eFLD)9_0K=8J8r> zGe^tLglmNy&T@W8c5OW}Ij-$Na2V2Yicq-=L1~7!M#p zwqb?FrDWDp_}>@1J?(H=d*?3~G`m!<{r5!s;ogEC6*r-|J}7|{Jw6S7T(3>$edB%Z z7|E;uGO*Zp9#^g5?<`l!A#L3sDOn@A8TTc=@;1*%Za&g=ZNsc}_skz0PVMcV|EK8Y z-g6vv#&b&Qc=vH%;}uCjlkw3ownUPy>ou7YpRVgJ)7*gkYqUuHW)&QQm1rv=*6e@k zq6ai^w8L{FBT)Hso$${(fxgboDFAr;-&OTywESI4|Ah|&!xb2?Pu&C~2g?jS$2f}X zY)9`1pJ<+&%oxRE%|LH1h5mjHxvw7|%3P|})(o=ORTJ=fIP(gm$nbhS1MIqanI=b8 z4o67-!c%Xq^@(RE0)I#OJZom=67}7AyMku>82@>VER#mOEc45i)rOxfTQ%;gW1nF0 zCsOVQ=pXctASNop$bEaPuVSB7FWU2n^{Kt|!#_^(#*>pZjVJ}iCm7}GKRfd zm7i%@G`+(U3feEErr`3ho>%#_0ms4HMX=&Hhp7ICCzm7Q7scs|*_fSoNA{Kv1TJf< zIcxbAB>rrESQ7ZRRX&OQfy~!4*4Nc=ZTVEsUhQzE{9Yt{SX(WxY&=6r>qFKh*_Y{q z{Oqdzsau#oWNf)4Q=;0$|7zu-hqIMpU3H~2GJk!1#=S2HwEiC9-+2PHmpJGvma-oR zk~Xf}-kM%yr1A9f+czrr=nH-{36mq6fs~tFloua(qiT+%Cw+Ddea31WQ74}6rM_|Y zZ=Y!zykURgt?C88m2qRtc?T06CkB;i0R_?0&7_nAc*qF zNgSatPeP+*gp3$ta047TWM&>NlM?#r=`^P$?6TvvuHfsx_Y)vBpbi8 z?Xc2N-}u>Q@9U^T3s0u;Fml^~m^M20x#)oHwzP;QmVI57ag*5h!L9ZwK_=n5Q}>)R z&)lBNN$tuaV7}p}74{Uw<}#gfRt+h}erZ0(^`0{VK3j{=-Ct41Jeh&m-u5TDxZ0lT z<{$MJ8vCTYS^a%`XtHAS*IkbcDLCWTeXU<6fyYk#5|yAH#;Q@Vs;#)G+Lu0Bt{aY( z{<|)$B75+?Q^}o%rJ}lZiLv5*gzZ>PX52?$oB$kTDwfQ83~~R=7@RIq3YJ6Q?3gs( zgR-rz@>}~=H#@brx7hDz5;U;l6#wG3+-~r^kk{0}M)d1bB*9bH7fU}>l5yiB6@FIZmnnMClM3!__jeen zN#do~UETJXm!b6o@}H(fu897kZVS!ngwNsC0oK>_*V~axaZZ}=MFyRzfXRdTI0EZa zG%X9aHJ4liFgyU(GLP=NNxzNXoEhi&HR+f7508IS7tZ9Ms+_e=$GPA_)2{q?j{~Kq zhWvb=*dA9S$b3Db5!VMokIJr(7!|Aa#x6EN3CWCxwfM|lPzQ!A_+*qkUux+OpJ*-q z7PaF%M8GYC!`1^^{MO1u$N~HAx5D!0zVFuqG(0&Urc@_;`71RTyk&9OJiH{Es|!-Z z4%=i#^JX5f^^U7)c&YR}EOcLck~U-Uz!ZXV>E%zryLESw(p)@ARUXnGh4H>f`iI1x>SFm!OE98I5p?&0ty z-GXGFziZECvhqva)#?T><6Bez%XYs%d#c;R12XOhsDa`?Gb)DmR5-B8wyd!26$oY4I{s;kEgGWPl7#f3M%&#)aF+7PNV6&<13->wl*j^xz~5E+E)(W96Ov`e zWJ&@qcjaH5L@(4rl<-2@_&`f~8XJ^A_KHPr)^6Kl3V1bn_QY|bl@aM0G46}R5TEAG z6Mczb#0(BnYv{PkD@YlmYJ%`PP1_L9w}zOYIUb;@u9X>mM})96E2y{{W*TleM=MhCMVD1&Gc=ymXUr`mf9;?CUCG1IB7? zH&|%&MTRXEF<34@&gHb7+v9KJ-P>EEjf>^$jpmyDX7<1FGsnHDZ#ciI1B;C1`lP>W z$JM`1KrJ0ppEHm>Ot}ysDk$G#?vEbijrS-4c~XuMo1ta~#Imzd$Fgu)hk`g`S3Bfu@|-P5i07=2 zH7Dl&`JXxC^`XxT$B^*k&5KF;;;%1O8 zGzFiRb&>EeFMHD-k+QEtYJ1`hXJZj!v$6XAN+--AGJ~m|I@^Z7L@%;3uvbTriU%xs zU2mE~LP{BsGItW!S}!jA+t=D%L*yIxZ}HaYjy)gYuh@KCs;+GkQ^G%JRW8tLD>o5X zauH;Ot>_}Q@gQ|#yrQGls#Aboc$)VISqNt|>?F^SBnGCu?|*M|J^P^`p+(@9g^$qu zDS{z0Ugq?+%*^-t+%U_-wnZ!uf1K#KT}^3E&E7@~**WsVcb49_Fa~4UBlkwuOQUn- zk;AaPNbJD%$e1a~d9eNJ$#c$o$<5abuFP>GJ~}(l_2AfxCv-YEMy_ z-DWC3`4p3`=0Bl=p?q8r8-|cmN5dBE!IBKYW%Appvq#riMPJC?djH9OPn6(Sl|!Z` zI96Qp?fj4x@o@jyK>~i+nZE3PM!UNH$5%VnnF!PTraJ+pNj||n@O+on_&G8qrvaj;nX#G2tSEX%4Wc0b2STo7R5pcRa?R5JZBOkqy1x}kr&1z+FtIvwx^+A^9WB@hX$e&bE0W3NU8yyrDxYER0Q^rCOal(w zeGwOD8^zlV_&cuOimSZGO=EtgW5%=G<`Z-qkh<2;4@hhx$CBJBEk8dQj&I$Oz1}}C z3pMN~V#30i4mY%eP_!G2xy9IieOEe{<#SbYQfpswiYM>1>r?WRoA_*mt7!E|)-Awu zo*W-9q``iyGKuGd5J~p#=0QJcXK&mbV8J=fjqs;%(Exkcl^2?pSM~wVPe*#B)$;zh z?P@`q{O;~Vg{U$8fy&@Pd-0C$nDGjLsZ~Ah_t~i)88zXLl%izj+N?~gjr9Rmz!_^q zz$#GmoBaK1Y%T!Tyd3546Yl#~qwW38W*2aJPtocsy>%tYM}zwW&6Ds#EpsN%jLF<=!qLU;y@Sc>XR}K~MS3)@gm`TV1-Y9NoDOP_ zH3_g~A^Ec`rar9|FoF(ORBh(bcz6BjQTjpv4t952vyI49N#CurSWVkoqdd=CoQ_@4a-BaA4@m^nZ=)MVw3Q9GQ*Q|ZdO>A{g#8%O6DBrAuvmWwk={XRjZoLPY@Y$^D#A;+j zF3+1OQTA7~R8uc@oIe?mqOJ@{$a{4VcX8EX7O*>beKeAJJWba!Cl=R>cv;Y?4*HU< zs@ED!g*F^SFBtP@S7YtdTfU)UF7J zmAJXW5TEy2YsFPvKqevbr;kLxbbfu^YPE;_&w1sv4O!-LyA&Nv-t<_I(BlUZ%rYFVn0MbS?{0^d9t{{m4Dv<6hT+(1D%m^El{_hT|Zgi0kz&IV{Op429Q_ z?yB8Pa^9Fo`m{7cFi{GRVJ%It36cl-3V2f3NtQO0grQ@;DF ztoLHJP$$pVC>HeW1ZVkt$Z15qKM$4ybuX3m5BaO!ou8&4mWDNE++RuEi!Tw+r4#nh z_{;#V9O=hTj<9*aDL0OnJM}7}P~q^tl>SBEPOHBylVQB8;DvSpD^ef-e#y(LN7Uip1_NCv#A;j7>Xfj&qH&FTZqqNxd(qVHq|} zFchR^W)*(8*gH_)pU(OocM4AlOiK5&Cd=CYfvE$ z^k6~H$VVBh-W!69b*q0C3HfUL#*q9F%t6U5bB(9{>7|K1{^^SQHMA0Njj#KG`pW#3vXLoVLYS2K zVE@pbiH%>v+9V%6Z{id;TdfL=D7uM;?01gpkvfn%Uu)0qg{>Ks=gIP(o?)AkTCMR< z#PP7~*pPI9fvxBFook`|YTGs3#1!^Da>1?Nv5hv$Im7+p{E&cj$11Oj@+9s81{vGA zZ}mRct@bqBlD=%7^|eCFhy?8P6&eE)V|1uLG$0dh(} zCOux_(hkTOc#{}@2%j%0XJ3uq@2KsooZxeFnR|6!7>oj{>4BKaO~6@=kbJ1dRCMf@ z-k0nsGwtgM$+1(Z1hVuz+Si9}J@ew?F9(i_9@H_hE)xzAw&eK4rB9Kw-E;f(6HMB+ z5tWw(!drcihoBM`nDZ9a=(#OnvDnfhK#X7qgd69KNYfRZoz-hyO#tCcfajck&11YE zq(;T^O+%kECXt(x1)tGb2l}e-18EHp0hVQXcX}9@Z#1cGO~bVL;V+)iZ)`krYZ3Bv z=4WZkwd@k-U`NnmkT21`23LV>Go$OG(DtyPOyT#2&;)Xm_Or)?X z?uBXKJ8#TI_vWY#vVHecPB|Lj)Oe?$n}{6A`mJz!qK_T1)W?%Jc*-CcMav^-IylK4 zaQ^#wW}S86nCkPHipwrByn?V59fy>!n%Xj#mM4h2^)x;M=c`i=Oas`gUQ;bqT{BIf zT;H957Cu+ZmM))cjD^g{rR$&s#W;yiiL~KX3FYL4@2F{6_$|V}ucXX3vkYFn-zat- zn}Hj1p2UzYi_Ut(@_&bkvOWs@8JqFOH#voOkh~@7edjH_4xdn+{_$ugBDxL3@iFPc z=_g5mQkhwC-PrVb8jN8e!oWW46BbT!$`-9Uc}mRfDAe0u&jR(onEe1z4!tO@n)Ty- zcemj%&TytZ#gsu^5TJeEM3g>b+&RRuR3u1HejYeq0irHLa$8Ov?oShcHPpRFNt_kO z&1U6k8ov^Q^tPfGH3QWv*Wx>>XPTr!_GUjwZ@*izpw94>jl?FCgqnyG!e%HE2>7!n zm_Mo`NhMcHsz09pWG4$NVd=Tf-@(FBge04ouU8+V3O#3EqkKb+LfhHA2sE#-n^j!f z+rR~YvMEX?v4lU5Epw?&h8-D=d~+yjC<_;W?&rkPEoI?0#{GE} zuf+u5LR+sfI09TfH|&KMz8;ek*Gb*=hy8}F5@Ggx9nu7wN42{{M6G`+5f6$`*F*xB z#quk_)@6%kry8CbV2=yJ3h|TmJzdxatS94B&h8Hate3Kr>x<}tl$%H~uu}k{%%$9) zazrIAqiX&{7Hy|R8%FHc{<#oys5){;*zxE;=C5m)VxFNLsyS98Bm3OF59x+2S|B>FzuP!)i!iex+sEaV-mmz6w%eM3Jnzj2uAD))ZQ>JguDe ze<*r6aQ&VqoacpG!ZAwUVwR{SaHuI#l{X;zxUIJ9;C=O88yveC&?-w=xrJP>jF~Qu zbS{1la#&P!!`#E!gRP+sL7Nqe!@SW}4?{OzZyxAGdFSug_TutJUNW(B+Zjd2NU}^Am zBq2T+n}bVVUDBHRlY8rIR_-`#XZHvI;f1}FsL3)uFZL4)$?)cm!}3s`NRV$m8|9UhEO9?e~+wmj@&D{Tqj+ z8H>Z~K|yQ-VM~4^6?$QhJCABFe)oiQVmayn=F3=7?(@}e(t zgVj3bfGa^g+)}QaivgJPAIAgzgyiy$$3Z%$O1K*NJXY(mSCCGQC~G$Xa66Pk25+rIb>9I?hkF@(XH zV+%#1VnSGk*{-b)@F|e#>K0puq7S z4hgGyEbZI+H5aCq-skQ6w*h<5$Tu093Npp(!+CX>R@e&us(|--)y`V<-HyS#)w%=; zT7Htag6&7cmGP*;r-#{6J557D&1>;`Tn9S^%qFznxla!je05I0>Y990Z?wKnl(Z<` zX}A`MBso}Skpss?ChM8_tTa;eqyucLv?Uq%_`Ld@s;TwWjz-nSY+c87gZ7;UgW1RAF$vrdu{NyC&rG2f4f34B+rJ8ay zDZfI9thXQwDBnLUh*^_IRPjBb4kSWD)!Ipla5ZS239-D zA{lROm&TkkH_XKv+8P;gKmpM;FU5DySw9r??m+&P4>J;#<#k2pIopn^dBYn++|kHs z0kfp6RnfhJBi@g4LK0{i!4L&MNs@KdQV-l2l_Q$wpZN+9Der1|)V0ey;8HRm~B1I-{gLNLkH88-%V^5x)1_U?^k){{QT7UgP{ZlCH%k z$Fjee(|rENjh1l_fni{u)W1-ERL_&U_x)I>!}B9Y4%r&h&O1$)dke}CpQw&+m+`E0 zxd-eM@H;1dUr#Mk!#n)^vt9&RG)-MVtgL08PP9Z*80TKbnt_H-tk}%#l(J6Cea}gQ zbY2=0S{$(KP34+@l1Y2yK!EzF=xtsMeim*6lD>CQYp$c}YLtq<2x8CliYQur^Yv*r z4o-I9*5}tWY#8!y95@Ts?oN=7MmIiGeTVl(HNs>6$vCrJ#C=kY3V}_0C5(-J-!AOM zx}TXy_uibO&0`M@1AMjBy;46pv0DdAC)^IUYCn$INcXJIlh+NnDf26dH|&c4J+}h` zH6PVV6dyO621WHr5(&Bk`o z$csNZqHms!f%?sjZxv*u)=chdD-)EnYuTF`c`r4;~`$Qjz zYqsn!ZVU+?)`CT7c$5#n`TGeK3C)rdL7GQ2O-Cv@Nj`r~4Y(VW@^Z~+&1qYiQAH*g z?<4i0(x;KS4uBT&3Itv4yk6&%%yi|fb^IzJ5^0LGkL=0+sea7xpV;eX4Ax&?3yWSCEMO+GRTPg+pE1SabH{yKYUe%GH-RWG)?G9^Qq*o+U{htWZ!e-esc zu=d43^*|(0$*k8{=^@-^OVPV%Is875Q$f}B&q!{xpu0QNreHx& zhNIC(UKA}A(W^c)OG!zgRVYCp49h&R;3>~h4w*A%T4fcl6?6*{h_Z?P5eW>|sB({4 z!%g*S)0i`u(h%-D5$J=@#?MkkvC=c*jin!zw~xEmaEl%e2&k*j-droRhI!`9^ALMj z`6CvM2y4g)y7?z$2_`G!IdimcyS39N)tY>+H%c)fY`>Ar*ifA$d=v1i3%#8h^o^A8 z<7s`wQFqj_BJec*^jJWx%74aao$Iqh7Y8E2WKmg-?C@{*>n|V3AW4go5w!wrNIK{Nw$Ky(x-hnz@*FL2#Z|WAc(Yamrk$gohAI z;5(NnooBozL&px6+1f;J+f8K`_H0bvacgX&RJi-NTZL2p9kITZnbYt}{137g^zscz zfLxQiJ#l$yPB;#Nifm?BKX$WF#R(E)_X2Vy+9sNJ==uahObTgn-%V4W05*?xK;9v+ zv8B7;^t#Nhy$Ieql)xJd{i}^SgxHA)ii8)KQtbQUdkqc-qy>Xt#M?*huKjF)Wk%lI z*{gb1R`Hp!0Mggv0i!k6DE+cTvccan`E?sIH^WKcmo1N-NMavB>yM3hwDdMdZZ?Jy zm7meQ)$!oB%snEZmhM~AZiP2%hEm8!_qx=z4@ifIIHJB>^v(Xglm9KbxcRaFFY2`$ zO&oey{y(K|H|mW4l9An9@}Fhxzb^CloB#XGK#u}{f8UOt2{+5(zrwr!T;{*-=$|+L z%_08p%l!A!gcgwe-}q!1hzQ_#xZ@h@|NY_UdGs8xq1d1?^>s#rL2ySu1Ne|T0q8}b zp=z!y&Nr7x<3Bh5=@Vc%dt+L?KFoa)%ObD88&_g8^yvXybkMvJcK$j#dIqq9SgV|J zkQ{3axGveQZTe4xs6Ae2eo%70T~`+^*f5^ycQmoxgiYoKxZ_1i0GpJ zW_)HhGO69bIsjDBdX5HrY}X%~0NjVmfmjCdvcx8v$?snb(GG5fRkObZ8ZY)s8dmT8 zPq%)eC@?KHsSmEM-f1|W2E5xg0LQbJqAz+=n{F)MCSQGH5dgCR))b%VrQl9Rp{W@1 z)keVg=@Nn~BkW;maFgt;ceiQIbafxsX};x?4fEPJOg8WN$|D-KlYL+zafNDo;rFDF zy%Ut(I2@~d)3QJ(aFAfS^oygaxwGIcXg~vN0S~!S2bxEaI|0~L1n)NO7HI|QC)V~w ztdufFVqH0o78r0k|EzIE?J^>`d&GsDn>{00R%d|X&=b$z=(#dLTYrVhv=WjY=I9?t zTr>P`L%!PQc7eDZoSF=SZS>7m7WsC}RSNviIJkuw908lMuQHaSO4T0+YNK24aU*

hfqR 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Ìf2g}$>#Sr4ocgdZ#i2v&dsK+Ep2 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

hfqR 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Ìf2g}$>#Sr4ocgdZ#i2v&dsK+Ep2 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

Wn( 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 S*nb8ApX++Yy2Uz95&s7~x=UaH diff --git a/artefacts/screenshot-4.png b/artefacts/screenshot-4.png index 34e75bd9eb739ca96618a63987ca780065f587a4..ef00e29c7c5d4839157da009ebc37fef2482dc5d 100644 GIT binary patch literal 301410 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�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%0ATYwsSH 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

Q) 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


wF|0dJ^huLmKLxqp!MWgw~5*S(} z3g*h*{Fd2%|J~-gHLm?Ij>37WCKv3D(X5lHAJz&2e|~ln{`PB0aDr%^ZKF7vO|L4k zdO+gGaeG0!Ig4dZicMl$*r=u~S37>iVOu|P?u-y|n#mvjs2O|_weocgz3oE^r^%8+ z!kbm038E#s0W6C$S_I`)N?x(#;tPV3cK{^>89CPlu%UVRn*g!)FWORPky1}3nIOOQ zn(xT`t+SJDKPoR{b+()lz`w237AnV?j+ZAPyRIK89ZI*LK$WnJ?l%^TZYbztP{ zty@I)f{smbc!oSS{ot628eIX}a=-42T*{c74(1GQqbR z0sC)ctIkJ=5RV9PY%)z;>En?V3*7QlG(=Q*IIIFA<49r!v_bvwS^@1~t>^_a(R_bx z!fVSr$c1jbw3H!*<*6>J!|;$8Dh&5cF6t?MPnA3ZX~W1+NRIh5-4s3OhVy+K77=9H zi=>!jSI@UOM!D>2j@vLmZ|vqfxGaG{Mo{H2)0#^-Jk?JTfY{-iA;}XLq8N z-NZ!8HBtM;B=0nddPl;tGK4}|panKDz5|0!M=^#ff`@duO6mwIYTAK74!&@FjB%vs z=}g_$rQ6LimzIY-Z72DkD_9JB=)G8(Z}>6gUd}@x&0uvnCQ&K004oDpxrE!fdT#Cr zJ4-xWclmV>kqrox?eL-2^p7S_x=Mr!-d~1`v$ab@ycEt@Q}W^iKV*U_#8N)>wnHl> z_bts~tb;&M`afj#-snhyikXGSIXSyx61yc27!Un((p!5o;nG<9H!=pKqLj+*ZHTb6 z$m+~m()s0f1LI`S1Op^jGj%>(Pz3cV3^)^lHo9tMn0`qKo=OBh3jPoWoz+*xC832` zVY4&SmaYT?cCoZNwFV;U1RH2nrKMCjkw=1@f*SK~#kC(g6Hq<;hjS#05JU#)5k&L} z=_~?6fKr0+phgwxe^9W>IvDhQlinOP?PsYUzz0CYi7?1KI7ABmK!kC=CDBO6>NZIi z1@m`3J*{+?T1r~O5&P#9z;13x3>X{^>hC2*D+1NPB9tnF*reZ!8&a;|iZiwrLvfwU z6!%1}%@j%wpb{M+lL9uhZkmbXmz(9973Tbh0qNY*(w}})%}T><*GROT@P)jiHF+AT z3~Kj$qRZS;Qf#-J?|b1S6nfv6Lyl#IG_UBkU9xE&TSSdniUjwH9IdcezIT?onAgL0 z=vtYkTM;(8G3XWY{qX9JpT({oEpE=u(W2jzpx zR2Lq@_U=1**&-D3LYjHaHD7ENWmnZEC5XNJ8*}T$ z-{rPMKd4=J1br5TR{FS}6|A1T;E9MxqAl^|hy)rFx{1eGJ`C(t$~-tn~xb6@esChxM_sEsaA!kNk1cr@TIW#6R&tb#601Mw7V`9JBd z2BZ1IM8{C&`P)T4tb{3s()UIAhedQ>!QHDiK^V5ZQThcQ z0komC&b9826E;5udi{$so~ay{Wzi^$Gs6sGi@`8tg5U>Z>1U+=`j7zNNG4@NEe$Ey zS|3i3)BqWZGIlh{BZaQ!)T$$HDdVmJO|qle=Cj_> z)o9ybPSHz7IbSUd%;ddE=WNrsNkwjoN3A8t<95o3EL9XFfmpP52p(b7f14PLtq$Am zfkyB=*-u;ZN%%hi?dR=DjT7l|ObdkE|A(}<4vJ%o)_4yV+}+(RI0PTuCAbEMU||Ts zEx5zr9w4~8LxQ^p3+@CN+~sx7x%b`o|Epb06;;qP-Lty)-fOMj_W`?gMVlRE9+S45 zxFf*26^jqS!m_i#+=enZE|N^%`aeYb2^&jKZ1y|h5BuW1^g}{O02YuHkglck^ZgQN zmmU$Rc`hXZk(Br&z?Z57`wqqCElf5*g4e7Sn`$`#v!P*TJU2Grs0mMpfsC|O!t*|H z+}mbPiC78n?JLoLmWUj)MK=4Gm|fP-q`4gtFlYbq#Y;L?|12 zT>PQ}O@w|JO>oKYOIuMI^=jRCjjLh$W+%YM172MO7s}|kOS}hHpOu`l(OQ3L<#b9X zSe07a-tOhtBvC2)q)dzp0JJBUR2y6?!Op9ccf)^}`@hd#`RD`Vip(nj)Jq50?zCE6 zciu#2q17>uGa8<4C}BEtbGFrh(U)+hWCCX5FREQW#TNpXW}=3Ntu@pe`)4@_D^%q* zu!0+X3?Q+YF#rn`c<&@StK8n4n(ig%&T~3B$n5Es!%0u=q72Bol#RIRvVp19a@zxq z6UTraDE>sJ(~m{spSsfTr~0i&$VJB%?PGa^La+eB&n4c?TgD0KvcpdWE1#~$^YE}= zxabf`g#@FOzj^aFm-Fw`%0mAc(M^RtOn=D|bUh8aXghCgTp?8qw|-%T4ff7SO8-FR{`Y%4>_11Iy*5ixS znu<84*=tyw9B+vdwh>R35o2~&qTJxJ3TG&!X1 zY^ZPAU6E!3prEp%jPzdg`IV(O^FpAihupcvicG;F*9mBs*Dth#l^+bEGPT25q7cKv zio?2*N)vqg=E#v7KdYfirolkT%I@I9XTgih1Mjt+JOUW(|2xYh9y6lzsi8wX;hRh( z$#%zUZuHdj`?yg$#2uXao$;{o*z0myvF4`&8|Ch8(!&8#(VV7q2D;wadZlOq!+8uk!n+#OHx#pQYo@+yjRzVghG za+I7a#tA+G51Y0xvU!}Va#f8*+^vK%_a^;76J-@Z8D^Tg7LiBerM}POruu~fcTFnc zppOV06rgFw!r1d;_kGm3RFO+CG_N4W8TWFEgPV6t#x^$M2F+V;Jg_rUQ-WbE2#7IT zg8-hg$7`YS6oNjD_U`6B^dJo)Y5~ea_9#<=7*Y^3i)*_yTT$;MQYcvxg66bxvS(-b znyeo>CG>Y7#i!e;f;pOd73*A$!2QB;z0w@RBb&Z1@VY}o1^9IS@3=uj_^bIae(Y~d zYPXv%sLo%;U-Wv84npx+w>V0hPNk%Asln|aaEhqS0n`f~(rY%FliXK7s5+HFRa!Qs zHMAywecw@lti%R?38wo{aP3_2Mz zDwRenLTfMUyIFtpvT%iqfV~jq9qoDSt;Jq{f$Ll{7HUWP*+dKZZ!2oV^dn3<_xV8L zI7fmg#pFOUYT@F~+Kb~~&1KaQ4u_m3h)h4l(H`kQ697E^i^I80*q>I8Z8Ii$C+>B& zmPXhs?eO-NKhgQfdcfqD0={uDCWf|EvtW|&x9-t*unPBP2XbOk=d&qW|QFuOj@ z5!n%Wo!R#%(_zpLBdO^DPioG;1+R4QqrUaBsOWBs@z`IU9$k2t#XbnnKORL%*5JZ^ z=l;=-3&o@P{Pl13s_uvvJ*wANbE&AVGX~*4hrSsFw)Zm^ryzrv@SptW>qp64cJ^qk z-fhdL-(9B1C<{l7;O_E!iz5a?7-B%t?|()eW57Qlgl5~(2{|#~qvj|r>JZq&NkA%x zAU}byiKpAiXuHu;$($ldWfbD*2vUDnOU&kdyAH^H9GV>6o~~wmj}HE#wcKOPJGM4v zrXBRP%Wjjm-t$~p#pEXR)W?Q@JeQ5MALsH}pxVC9X7N$;dnDpO%u2#|RFUUIRNq`o zy=o90z4oR+E3C1Kuon|PBU+5=$f6<-WlOmc8lewc!l}tbFDih zxHvsKMTF{?;7`;Z{I-N0LE*orcYZRiR>HN+<{G|hV#~Ej>3$7%I6!2VBGmYn_g(Vma))KnQk_H9z03ftc>s$}klG|0mq;(O%6$P=ydz*__FIQNd3#JV zKlJgNv}P6DPEjt?SKN?3v#bgG%lyL!vQYM#ze~NseZ7FIs;4KJYHDc|@*hKie4Ez; z27vq|7J47_vGO;ZM*adv<+~mo>2qZcpL?fzvj=&;nif-khkJe3X)3rk;Vy4-`!8dl zF`aFRL#eeXE6W|zmz|~pFD3h7KF_K>__a=1k%|+y)Q@{&E}iR? z5;J*)_ZmqopH+VSsP|e7Ycg6a458v@PjevX_*9HjcfLSb&22MUC&WVPM|4w5Og-r8 zZT*?UVRHD%=7j<5oJPUO%b;+!UVAFsNiZh7^Qul~-Ht@uAt(PNH?csFfEo`xtGz+x zOcUOF)enI67`NHsD+Qk^h0&;TXL0k`Gzc9zbpPWhWC`>%5#OqMg_ZSFlfmy;n|vHV z-P28_oi;BGbvc0bB2?$bDAU#O@GfD2DCaU8f(j1z_=MR!@c(Ju<&qGbz7r=eR&0Fa zgO+CU^)U}Y;$k|XTyA3{ak^ES-9%*MY`3b2zQqc)K$u>H~j;RJ2(>w0_-+ zMCVN*JJ^bE(k@l@HIJeJhU_Wd(gI?}JLgr2F|( zPI`-vXMf9dl81q8|MU_(%_z{~;yn3RcSc`v0g%CvRc%4$U)O$KzX|<3boY%;CRz!k zCJ|d>_h`yP(W2h7OA@@bwz+u__IP-y45(4aDyWt6LHWKHH0n|O{+%-VL5;)(;pJX1&AA_Ik3`m& zI0mApQz=R!#V!BAThO>5dyL_pHc?vhlAiyVpR&}iHq@a9SWO<=s})k{C~Qa;7nV`) z0+KYz53A$mV}VQkJVUB8ONe>~M>qqy;&8A%rfDBRDP(Fichh>*wNy><`KkQxp0_B|d z5r6n~YR$U-YsbK)kd`p1rv~DvlGYn2Vzd>m^Pes9eL~KR$=?gyiB6)uJh}h7D+1(s z^}Z0o`sVDs_dvMw;*ovu7d$=qF-2DkF-uIlKik!`f2FyG1ss4hQmCKuqEGd1eJ!_Y zI}nvT``$3n*;WJ#{oD%0Nk<|@(*JFQQf}et+Cd_Z)F6VPqkQ>RBaIgSd3Dd`JPlBA zaOv}0P>>-*hXI?nc@z9861o*%Kun~sWyq(iO*HB>=wbWP+Ch9o#|$*+!ox>~7@_W& z|1P7)9)vx2ZNHI%IdR4^&A!~p;;)OVb zv!RZdF0q(_GNfEWXVr@J2LGX7J~4LdUIBj`Kj7>uC%s{l5_@-#$3oag8-Z1YJ{yV% ziCJ%k*A4H<0;Ri0mbifFlT!kX0MXK;Gxb|L#^8W`V>Cy+!f4X zC#2VMJ-r}pUeH`=u(#Ub|EiK$l3)X~ar>5e>4cWb?#pGZ2>P~x=$$C%Ppl(~o??lu zZ%<5=c=EMJ(2D1GRGdp>8$UyI>pro_U`%pgR251 z%xAULlJy)D2)A#(N-lwj6`81Zso$tNp+SW9!}~o?69qB~p<)c@_fb8U_rI&HZ@ORU zZre4C7``P291H*8j>{)9=^bDhcb~dgq31J@ISu?G?`+P;kz}ENuh##t7LCYp#?YWd z^a~IZ(!r#(MBBmW!CkH9gA}~6_z5Us@#UJ&R2F9?QSY@g zQWL0xU)8!k)m2(gbXW68g&?6NK3nBi9Omw;p6MT$HbvuIxD%;UxlbMSy&CWx7@vpc z6z;%-8OcbRe#=M{c_7LACxkK49{aODZiwS#cm@+QgY6@O9ce6Qw>2JI3cV!RF{R(a zxTJ2q=zw(gMIQx{F#-G+gib_-^&Tp;AhqF_7;ieHWK1Sf?Q8PJ(GaBAS^^Tr_jBJIM=`bHn z(&(cQZJu7S;qYlbl?*LaxV|g~V$T+qU*NeR*P$bC6S)lB$|hR->zzt6lb%tnLho-L zVD1wce1f^%OtS36+^thDKy3>Se|otL9YT@WI@b?1N{zyt;=&Xbt_G9p1IlpXury%% zwONx8Y!g_KOR167%sh$Rd1(c~0fR7y9Nj-weqvolcI87C#NvZvZvo0uP(GHSG4f2e zekqp8y zf$WdW8d7&e1Mv4-x1T5dU--)xLr)5kXsC`DFyieeXFr;;H1AvjrqIr1(=s=dJNcgS zKMQmZ_domtr;r{!#kAnN*x?b1Q=4`<+;CszQNp=62?*^a531CvBX7#&+l*baOC{$ z24$L&ZebE)tYfMt#PQ&E(t@`GQ9r-Wx*keiQ&G(b2rSv?$k<@+`?g-IBRB=9v$R4K z1r(CgarqkH@|65En>?q{$aMu*@`hLnSuK7Gx_*8OlW^a=zL|Wca|pl)ggTAoTk8EB zcyMR?l@c0IcO&D`L>zi}RB7s@298e^WfP*Zpg#ttXaW_!&nGj@RPW3CL4TGGLIUiV zl!P)H%&G>BeZPOnyXjW<_;5csnU;=eVwrp`E%2G2h7N`qj!K+BDG+(mAm02{G(lXLUClO*4sX=y!gp$Vw?}rl6=BOlSqb6 zKZTc|2g~3rn;_)y6m~T&Xx#$bQ#swDdjqmW?Z}&jp!h!_8 zJsM2NO^yl>T&No=PI|hTeb)%`yWRD_E`E8rF5kL&t-il5Zp=a9nLRzROC}?T+K%hG z^krS2#$tDusaZ?8{XyBY$4JF0cJu1{p+(2H1Xiib>7hK#?;snK+VWW~e#D&Vk(IP9 zH^65ds=_Wnvgl8rRKk4Erna(i{YiceB`M>l&G)0$X=r~zgZy1mp>i^hf*xBuQmTXx zzsN@>tBAL4#@$YrETTA?u!Ytivc5<${xx=i?=wNM@`#2Xwf>!#x8%*#966_S#I#&8 zB_IbvAnf|wtpD_|u6=0Cs(mgZ8?x(KS#@kdOW_dZ3{*fD&`cw4cD3>q3Psn;7+!A$@sWt@)pLf2<*KEulikRtWH^N8L5LJ(3y+vGuG;VjD2Y*(5 z_)6|vj zkZk^~L(P#7$^fi}*qkQxFv5&)P%!c zJgO32-;*J9akZ>gpEeh`CkbXnuwX}0*+_V{%_?~qQQNoe&L_WKOrqB^TGe*vEVaO zo>6ae!KnjU91fI1SQ5^@(*i9rQu2RWL1~bOh#i%e{r)b}y^B!@_`5wPAId&Ns8cdF z9#dx(==^;5TT?Yb>FvvM!7rv}h-(ZAlc2Ir$*@6B zrGTC6sB`T<%2InIMzE*MBFXNzoi}7*=Q;5Kw(eqfzrod6L8ZB7+C0n8%Jz?FCoksU zx&ldI$S+u;0y$7-@u78&c}T0mLAV8d2q9AKxrfP=?HOr1PD(e@Kk`{tt!)1mbV^YO z6qO%iNQQ)i2HNS4H5+3ys@yv}kFe6L*_LahwVTy9b8XgpxVW^Vanw_9wQG8y6F zcN-nR8;&&lB-PVCRd12V^vkT(YLtU{FRwf57<6c~vw$wfE>(H2wEkifEMS<}=)2~y zQ*xJhw+auxne%e7Chrthhi<;XNEJ_ubPgQ@B#N)ysImC zS@eMKje--##hvwo{3H(ZhkW`p3ufEAoR}hP1jLQn{w_Y_9w{3Uk6QB!N1H!>+oy1_ z=80z zQR{(E!?D=zv&0#QTFG<pxs zGvWXPr6_!PDX;BQTy@qCmN0yIVeuql)#V`en&o3-LHEo#S`5zDkdGeZfOS=s* zYfi6+WIeKkM8Mch4QGli>=!NZU@(SoA-P!JJtNgJA7 z=6P2azn%3o#$Ys+yxFd{#65;lz>AY!4`5+McgQovinPB8v#Lmbf~#cZ91$G~dcTP< z61ojS{I(PHRwClZoyN;dH4>Pc}nZFRexKw z_S;azhLpbAI%c5yRm3?TG8I_-J$UO6pPy0B@HZ_7Y-notS)g`%?%&#P(-U9CEPie$ z)^slHbI?O%7IFwy*$T^4BT_%<(JXD|j{av9MF|DDmJ;vPxXz-)##40diS&g(E#p(+Wt?+7wwFyhHGU z5eL6RFc4-R#(j!B4f%@M;zZ{r#gPZb&%k&hNkR{c0w$h9s{e?=?ia9a}R8D^iRt2&?V@%5~Avl%aLJn&qdf%a4up4M|Clt>MGAx>V9x9*s^~H2?=kdQ4F^3bIB zynO9#*~_U$Y|@&-rAt<1LgT+xf>VH7;TfX&_BP^3N@awsoMJ0GTMWS)B$4!E$ffIX zk56~-+G<(u$7&WDHKGn}^WtSVmKVb4*#!AoUCseqkcHhYkCs$oRsWC>sN<2tw4mXh zbH#~I&Ju|LS-v8>TxR}TYN)uJ#bX@n_xx347JFWyN6T_G?0J!Bx|anXyS{f4$(LFu z;isvT1qrObh9j@#TJZ2re+8|v(!-Z0=MeTSLpMX70#gUhx!(;hpGCKkpr%{lEJr+X zR2X8>brQg^EJ`~0at^-vnf}>TSG2mYqS($t=M{BaZkozv3_ncqx;09ssWSSQ9;n_3 z5)52l_LO2jOK<%ADPpT&nqbJ}ddi@tiu)ctBx)x7E$}U0Cw<&d0EcBsaze=MdkXzi zyDmA~kDVpcSxU!K)>r}c>G>={qR_7aCiE}dy=Q)#&VciItz8S4^Z$0W+|2PLYqXhU ziW{uJv{gmvx$LaI{6Ys)8>JZjHR{r9zLSVe$L}WJOUCSb z?T!ws_Fge6S2z+hp(Av9h7+;yGviZXz5byR_xkgoDvyDD2*b>66A5z<>K2r7=W5+$ ze-LgF3y~wPy%5@@ZDT#Vyq50C!G25#O1>^L*va)k^*_G!G{?RM z5a_`lu-t!7h3y?xU7Aww**2=&Hi{Sr=|I8i#r|>{j1xcEA#J_OIN7f(F(*YgxcqRE z|HEFgEBXsPr|UKA(S6`8^Kz|{*SO!Y0qbG5FEEvkz>c@t7Evqv1%cQ&^`$O9mPd8qG~q_?{C{kR*lxjO4w^csJ>_ z)dtrTC+$JVK+IcNAp`|ja1wo(;&uBO!p9Nbr3iQYU(dVwtE-^wUXeHOr+Of!Jr!CZ;xDM@jq56%iQ9QYLpfx zo(Az1r8n*+1k(o|Bl)m55t;IA>5Ca!SbXq9-#vXq_rA~kqM53K2M?QPW%1n{gP#Hm ze&^em|6WS?UZ5hyO5^SBqC5`yazSBe$TuNMh%q)!;0qZQA8AqC)LQ|pJeY|zvR(Pu z5OmT!gEP%TpW(&=5xNU`b5)|$$HIuRE{xsZh2MV2BXcqPbH;wcL8 zmS&aIldyToBwr%=2w38=Zr&6?D2L!!g!3NA+aR>2e{2#2l<2CF2e5+CoU-@~tgv=c zNzA9#r3QKT5^g!D+#bW__;$&j}?BjJAya|i4<^mDXIDUjl}=Y%J3 zJaHI?*DpmDK45ozP8OZDRJ)T@jI<#8z2L)W@u0E$#uA%kG`98WZL&-bmzfAyl!vl) z2C{I;-ilCH!Y!O)-CWW^zrd>r%Kp+4X)Bo5azGPz#GblISEQK0Ov3$Cuf-rWL@^Mj zt~XR^CTj4%5e5KLNix%AMl*V>RaAB^fRI{)GMzl~$DBCXdQR+-aF=<_^68AXOQd0q z8hb~zyhS?v9!xnp2a>Ey!LDY~xZth8{rPcp*9n9T z0^8qBk@?O0z!vZOYv1Ii6XykQWME}*U7xysPR#kDrdCTpQLRu}L-zH%U0s{;uhCrF zHlvZ#GVpf&&|#XTYuIm!eK|3-fglt?DuFvvwmPJ3B(0&7G9Ibj6;(pBC-D>py%q)^ z#Nh^cUiYwQeG9*lkFi8b=+Bx-2xI6y3ZG)sz5e>0Owi_#Um2-8$F2~fd-js`=j{gp z+HoNXpoBr5iZxkkBwTt^iwwOToA8S`SmF}v!VCE%%ZluhqX7mCmICQei6u(kL&*o> zwfCO0_3Hj#B_y2C-P)=Vhp3~D1;MPpPQR@hW$q#Pncx{FyE0|7n&6k)4A+(gYzyCI zlKA@U_g>Q$n~fOLG@rgR{1l7BokfTste)Uh!!AID_(bn5IUzytG!B!kPQQwK%n)Ny zEjAOK7^%lpEH<{psj70#n~%PpNz+-B_XQus$6&Xpd3ZztkFYKC6Jtf3@s@+vnrmm{ zA#?y_c_UF|<`lN5g5maLvpevd@&9HEA?PTTJ68lG%kWWT{3ck)4v{4M8xER!^*W(ngFA9Q82|bhS`+1{+1bBN1kTbL0&HwF5yZsj`7ppal+>0( zHX0Xi%Au{5TNxfesE&Un$t%-D8lCB)P+@P~C1U4osHb9RMIc77dN2Ac+AeQre=2=J5itk$6DbY^H?*RG>xCKnLwqiv+ zCWk8!*D`O3k-j<9Ea%bp3+n$ZXFD5fA4L&<;b%y5X6AGU3Gut~>PpLS@Us4H_~i9L zHF~}~Zi&yd^)g}{C)pr=B@SccB{b249cVzw2-`#^-oBKA)y&?}SxHfPsq z9K(}ay8ro508;^=bPd0qi}uX#9E9MkE}=>vc4?zf-J-JQQSn!&3^9!1%Xw_QuhT9GNFT=F{4&fYR2JUU_I2t2-=my!?=VOcT`j3&z*~P?ds%_~DUL+@9vHC-tz&lTG@h1LS!4Di2p)Q@^ zIM$Z4_0tg_Mnq=Ws-2`3B0M1+VuCMaAC)*)Z)ay z{=I_KWqKgLJO*FdKoYL`l28Oq*sV>w3_W~-K6RcNhA%iD;j|SS=B%@Hzx@j`DYC*( zgRJl%=hXEQg6it&MV1VTyBTVaIIGMJzhd6Tn z8+=x*vDTKxR(&+AKQMV5azKdT_?P^q8@BvTm)Wd3$urAg$;~M_NB86CUglP($Wu15 zbXAbK3n`q5f{;Ak$~t@nHe&0UE<6LK;`Xrav|3P5X;%WrO$dncctJWUl|*F&MTqBR zgNX6ef7rXsMc0}*&pNM?62Dsp0MFaSfADH{wk{gsi$3l31}y0iEFSREhY9gA#2y9y z{RUtnba|5(hnI0e-4+sBttq64k@96>WW!Qb?U=dd6pAEg1!<|!amS}CXMT~q+Z5TW z1~7CKa&lLbyhEcjYA{vaz|p^Ub1ulNDQ%^p+-xlsjRQKGLqK2s;*d8%hD_a_Gc?KK z<6s_sZIkg&=;$ee^&h}a5a8#LkVKl-vy4B0dD!4s{=2#zI9M8Ds&?6C)<#+m12<;r z5&)w?#BNV+-zE23S>-@Ag2!`_iCW=&Wte?@EQ&}B@V-Of;pE_-9Bp%EJL;AM;rw?X zBhcQru3!_(V#dtd3EM*C>;^g#8q(Gb zfw#h%JTX6CSz|WaZX~5oD~g!g{+o*1B4|qxkWVTyS<-x;3xL~m@MEpt7ezcATu%_@ z=$M%?9*Oh;!`u`*5(rmUwMj&uE0=2>wPLRG0L@NhZK8le4LN**|)}!S%mX zI?mS^GL+#?x!sQtLRU$o{EU#dNGT>xj$79xG=V(KRl8IJIUjW|g!RCZ494meZ<6w^ zHgKdHQ93hN?7cg7JR2tzHDDo-|GFDB9Rt2kEaxZD(a~kZeHZ4oCkPABUg2u5_aaF7^71j2a@fnAZ#Dns72iE%XJkX5O6bE&61i#L1s z*T0A4K;Vh@@N1T~{`SW>sAWR`zk7%|A()OnFqoH1PC>p`PyfkQN7kN3vXAp#;(~$y zd=z7hyYUY%A2N=Yb~e9@Qi`FKr|T?ayx69Z8@1nD5y0lpmBeJPo4ou)Jk3$xce{M0 z%VE?)t!77-N2jGqo9pY7o^5h8d~alAR9WGloDg3{jqa9F()d|^5|-!DoV6nGYXa34 z;^L2Dg&rYD{i}~{6U)H?MV2P|u4#C%ypKn0e0*H{E-Nz3J;`+DB&=i~s_ckYHr3j4 zYd#=!2|}I4+9{wOmScneE)|BMC~+gL%K#Grl6WhGjEwwFLsC2_pqtNbrtf=EQQ2)l zP0iHz!b1HjZ_i1|p=_x4iVk)3A9(gYxSWSR2tBLbxxULTI!o3mnzM6By_bj?ucX+#T z;J9-QyR%~($$!n;IB+uLh~nM$r?>^*>fU{}D`VF@o3)kwi}l$lk>gE|u&@C`tsaln z*W0xMY)Sh(vTgEdR$KPF0egSzqza7+Z4YrVZ08^3Gkk*7KUrEcGe}k+4GHw$6WkM? zIOEeVtXO#_CRWn@lIr)k@JST`Y>RbR>eZj^wQ`3VvFI2(?DLq+PcYWE8;=a#t&H0{ zl}u27ZnLwwbkHg$@SQf2I(Gcrzp88xXxvyA2f5;Mt=ZZ)GmR|AH2JsOq-)Nfo)IlL z+4{lV#?h>c#xRgRFX-N!%ZlMjZnIwuMcFkB9AiPz3tm#SYcj}+1F zdYlVxKveiNPq`aQS|Fp|n{h=8_^gIZSFidSchW#h_r+SPS$QcIMBQRWc?3Fr7gmMA zWC^agPYyC!3ztGrJtY$8r%4ag&RgoOB^DI2YVX()ev?LD5!x)oD_1Vt-hs-zJj8{K3laBD#Q>lrO?6Yr_rOscdZhp``zL8u?tem z)%2C8uKCf=8*0U7@80t2>F!_UezuJ6!@=_LBy?Wss!>>ED;*P}P#E3pKKwUm+X;-e z*)>85WJc82MZx0GUJIl4UfKbTgN*i`fO7)R0n%CyxOt~i?&0n)zV<#IY+xE${q3b7 zZ^Y;YKE_@pBIw)O9OA37s~f0A2+X5Xg1i5d_g^b*w8!QO8c(Xn+=CqF-Dd0 z70=ErW^X$Ck%!iqaH$G#WyPDUy6A;_-ff@w31v)qW_Wm~LR(zo zzT=fDdJlDj#*g?kRDP@zv?G$F(OEZZu zb4*XRHEV8iwF&fyL}~}LRMKICDr~-U@8UObP%qZM1--?@T#i3$UE72PC-)3phQv=L$xY`Wgz>%G3gcIyc7<~4!tE0Q=*Q^X0VV;}0{Q8<4yH_{vNi1OKIL0b)4 z955VdrOC-Xkmg+G3PlusuQ5n^MMn6>H1(*y7cM92B1Qnru9qTbj~-hmaM5Kh5$lx9G5&_#*&4#McW|$n` zIKRoEl^#zqruA;^teu{BGW)UYRw*@kdHk$;wj5J;I@0+CHONYZ4V-VoRyW{Qg<{ao zRoSjN4;tRS9yhG+sjFx#^_Z zmX{$aRC?eDhokY4ka%l4-9bi=je`?UBtqq6j?J4OnHURgN0zq}=wPFOK=`3EJ!Iy- zM7Ne5wcO9&pl0W^jPP8c>^zWh7X)IEG?e_OlOa@wt+?sJ`&4ZK<+96O^#&K zefkF64aGpLTR(bFMBKFdnzet|RRbIM8@OS^U1dUPgVzvOHm!3m@nk5KHaw#8{fqi0 z5yn&+j&9=wKE?Vl0bgjsC&LSlne>U5;P0;GO(iGM(v{=AUb6~5wH5Qf4l;nEK+btu3{6_o5f!7 z!AQR%#Y#xGuQq-g7A`V-GKHD0B1rGOche;IE&1xoQ?q>zLm8$>GZl@Gm8Jf?Q*{r{ z8Y|oV(jW3|119Zx_+c!=P@SFS7@7Gi6ayZ~x+eHm@*@xLR!c7hSG>_>cA5F;E3)or z`{p=rzbL>xI5*(!E{>IohC?00vfDKao9~+9Z};ch2DKk#2o-S&{1QfQBG%4YgXOzi z403d;+a*S9DU&ika?e7votW>L=*db&z%(guiy=E3IR`<7*pRx=)ArYt#KZ!4cxo*x zYO2#)7Ge0K#yaeHF72EEcu(OcC^ZcEIwB8ze8u(z95XaX&%npTbJbgpCwY}_9pn^K09%o&$Ew{7B}Ot%CcTcHtX!s{$%{B zM(=>?a(TP0xP4t3ibtZJ_%k!(nf{6EkcgicVec|M=9Ef{Oygu0g z#ZK&%Ek6ExW<~?C?WH z-}ttNvStRnby(w!?s+3CBED3q!7Uj7X#9LRv0Gf#$?|9U#00DMi#YmYD{hV9%({{`v)X3ubs$#?Uc-z)K&pS!9KC?a!KMm8$vC~_&%Y*uItQ^Pu zuei*35a^wgAlvUNhlMe+Sr(~i24)7@Uk3FGUxFjI@56t^la}|GYJ}PxB+&0h9Yd5ZnO@Kj?U%+;C;^~BXjZzjAwxZyrot$>dy-`Jv#;de=2UzyaJYBoM1I`V(Muw z_yWFJ-qq1r>dbo-uqzMZM~;igC1shrBvQ}}=P=60BK44QVACHMls36;Zwl?D0MaCm z`9!N65;(^v*3{4Xt@<)Gwj|z;QaR<9g=li9w&Pq3sp)Sf{zj2 zs|dp+uO7~~mBuz|;Oa?<*1h!RtRIg)a*R-;$Nd4?h5V6-tg}vVOfP$Z^X;hSYwJ6i z(@E@Y(HUVAdorPf$zpr9)BBD_+qMwdf&+F?VLXe0 zz>-gR0-*(2r zK=t<{!9J7F!$K3?;sDRt*XApV0*g7%n5^|!uB`foNw={$KXGAMV!1&dXh-Wl^_Jd! zZ8UA?-1)oPJPSXs^uZ$^O#43@1f|xmMp2*ehBBnqQ61LQt2WO+i6jrx4<*+PH9&Tx z*)Ga?;}rD836(tTrrbemScXp2t&REy5W9pN^T@u7Ws{wGNt$MLucvUP+g}NMd9QND zhKCwCzOS9CoEi)%o+q-NO*E6a6fV)R?6dhJ10~!nDfUcuF@qfhGeG7*i%sy|?rwLQe2Ck&39(~Qp4M^&T+hU|j-h_$phTX#a z$r90j&-hD4A`6SnKTSj3_}&&%reRX9d|qAW>!z5jdYzBLI=iC-eKza-c34lH)~Cft zH70#D-!~A;Ah|^;2u>33lX(AwI6TJ2)9U?UM=Hrf#kJ_OVcoU2*FmS{f_viinSJ4oSED%$6~Qt_*1sPlkvKTFZ6ye^ABaUXzbjS&@r^Ndh%6h-vHu!xk2&X z)-Un+=+-3FwQFu?X7H$0_r;|p&Tz)#{a4^$+M4rR?&6Mo1eR`BEpJ7yV+B@k9Xtm! zZC@M8T0HkwE`8`^L@+0wFIU3C?LY1P78R(1%8GQq*swB>JTZhpOV`RR*L|DUl$w$c z=#1S74&{}VQL4vrEOmK>uunQ6{6F+8RqS$6z3o_>I_R%aTrw&{EeZG7hwD0umT!6b zFO9qwoHEq@9{}4xB)@K@yX1vO_Jp3nlGbi=md} zl7p%KxeOX_ihB&Q|n)s3%f$ z(kz`JWXyDoCVQZBm8R>&`uVcxP-Qt+N!Jx*EGf&_+yta7Ay`2)Il(-IKu?4MN_jN_cq=4}T$;KqNtnpvFYb+&P9*_nN8bocd;`V-^{;~US zxJmdv7$R;^R#ukYplBOgH19=OAFOB(QAvcr?Ug8tRkA#!Ce}q7ouOO*PfN9u$Ix#e zTaYWEAtI}jsN*SAml~p#DZs6KYEw`+RI?l|+ygFy7`Rj5k8o1kPRLwX}#b-cr|s=YClG zSZ;c%t}o~anSylD8Pc#mlf&{V*(JA1(rW^Z3Z)n+_EgrC=NKi8H534qlTQGAu#geI3yqe9uTJwNJ)$?Xu=%=;`V^Js~5!TJ}VD14a%)3NvSVS zjAKcjkCK#xn7VzYq*|d>DfR|#3k(R5Y*B(Bq>7{}R{Pv^bBN|PWSFB1GR?7)n0}lj z$aXHo@0t302>Sm_{o8RNWZ1~`e$EDt(b@T2k@Yk5UXcy=v5GPSj}iWRcpUn-BHx%? z<2|-0%DIZXpYO`x?CC4ZT+wFy5f^xaPt6UT5b$ z&)hqo%dr3EolE!UjtjcSzVROC8)N6d@%rwu`yPaj5q%uTdgd|cbG|tV_?+`hd!8+O zyvIgdr+?lueD|}Y@n*QrC2Oe2IzDieREs%6*4QC}{hOzo*0T0mHcL}dl96hACv~kR zhphdvhUA<2_eKpsb0$b~B1d^aH`hEt_`B z40F5)nKRpFncn+no68Q$mMT~|=6b1ubz?`Ve4)s-e_FWN^*jD{bHrzIJ^#O1;s1ZM z&xZehv*)wkF(^8DKkGT(5dr5q!ZqGb?rX^nJpRoAzuz3X-pKL#&lmC8PPqYdnHzbG zPSNJtdyW2cMUFk!cWt>5_w(k^JbK4_b7;KL?|W$OJ9+O@wCBNl{K#Wl*PZJ+hWkF} zxXu;uEcibcF*pA4<_64_|Jrf`=l#_PG4zGKKU_!j}z*kw{p=DY*4O}G7;=^DgZ z+)p-i7z8rYEJeFC0#cC)n`M2kBF?Xskt zc(zu-LY1EDqsXh0)^6x|>ExGd!E52Bfct&3d+i<(w03g?pO?sSMLvU3JOC|mT3^i=QK-CK$1v4m&sDKRN;UT`eOcL)gdTSWNa?|u(RkQZcc zmEo-x1jOA5y(Gfneh=}ETCK^xK>!E{{vT_Sc6k$*%Cm4{iE-Xj4@s=}(7Uua=TACM5$rH4c-&^QU z;Ki=^Y5!e%hdkdU{5KCmpR+!z$LMMw!~TrE-!=Rl^dj*e=Xv-4-RJ6>Xa62Phcn(6 zJmYnJu8aG-Ej*v|jJHb(;|+Z$&puvW;CS`3UHtRrTxSc<=iJ}-j<-d`*g~H>C43*A zcdof>_}ZTj8dGSz*0sNgYX}&}^MT{_-RCae@rLKErDq(`#~c3Ki$UYmouPuy#{Yk}EU`y`=oMSaVJ)qPRwMZ%As0c)+^a zQo=%DFoEZ&tCaujBgT?zL>aoZQ*-lw(hKC#<6D|1q>1CxGOy2dv7f0D*KXv!deQT2 zg=Nw6fzM2^%nMw*q4m}>P=PdH=aWvN|vF`n!7NK+qgL@3}Ab z^_Mu_XtJh-@0x?2GuOQe*q=+<$2`xs>-a(U-hHhYJJ!|HDz{qddb|Ia7P|iapS}MK zljBIzgu$NanVu%uWC@^907_&Qv?yp<&{Zg{pd|@_BnYiRf?9wC6|`2RQ3Xwas+%p@ z)Gep=bkFMB`@Vbb`?I@qyWi}snAuxDd(F%vJR&2rvH-BBcOU$)Cn6&wBRpNaX0MsK zJDe$42D_5>Fq%ji6hmm7B9#kHl&l^)cT=UE_hb%7y0%n0xOO{^obJl&;vVc{5Dz%n zEdjBc5vH<_!!|T*?7JygX>LTAiio(I5V{Nzm1_w|Pof+>jVSb_Bi`=7NoSCzJux)! zIg`^m;8h(#UJ4jD^JzC>C~uICHwZ{h5U4a&6`Bs(9PJWqG=xnEuhPaz*LXuOY?Ora z7@fy>Bcp4)VO@-m*BWB_InMX7)XRoP*S-7nce=UZb>}zNyyw|x6p83FuGwA_)`+{XlC~t$?mT|wF+D2FF zig?q!3pD1iiQdV%h31V}1w1AnqYd`p)yG&xidJEtEY7>m`VyQgx3dCFPcb+Bg*UR8 zaP@-IgmTXZ5fPh6=~b0Oa@g~_V^W^kOT_JPnUIFI>KJeAc%?2zn-KbKkaFyL<1UB= z*Xx70WcyaIO`S3B_RA2~*s&YLf@EVR9vI_pzjgbyk2SHBVL{nOP?{yVYB=Vih! zZ2F0DhmBMZlOts>krC{_vw|X#<+Lx)cp@SL)q%qEL^6Bsg#BYVa{p8u&#;eO`_`sl zC0iXf*+lfa5s)+{p(oq{e6005!U@s!?CO`bz+BJ?B~ zIf!(equop|VAu0H+4b}$?SlHwydv{1oxg`8$$RtS=Kc9a{MnZ{%e%CDD!zNSG45aE z?+19l6>+Z3cdyBB<@wGveoj2$8ovwI=KI&|Gi-U^b;~)wC{PZZzdwIKpuGO`i}W77 z#`i^+*L`>JJRYi}B7KH?U)(FB`@46Ol-Ij&emvrx5!b?XwfG?8x4pYM;7z={-k3!G#0{Rw=wuT7e5oQW}afw{6x%47i-?1AM9^wmv??qXpF}L z_a?)d_ae#>z~j)^eXqN*8+wP2H4*&z9 z^AhchzGY&6vuFeyC^=?$|6V+iU7{fwf7A%btvYi5DI*}Red|U*QW225b3l4H2|d-m zA5qZ}8vzM7kQ)I>XAbIzncJNQA#9e@Vfx|Zh#0RAqEb}hTmyH^4$cb9i_;_?@RWsc)~ja z$|K@8$*+aWo2=gA3D5BVTe!Tb>Nmn-X( zMAc8a<$W(u-o$neE9iG4>pA&Y=&ro)r6_L{iSiBAB6a}4>)1&|1fG4QIUolc#`koJ zh76&})>uJ{Nyu&HNZ%<;N@wAX9z8EpcRHttEjB%?ByTF5CeKaFH%H52Z0KAj;&B7c zlE!FK{9YP;Fx*FaGIqP~gGCX)508&{%CQiB-@9pG&3oNoO?qRu`*G@h-XNd z3ysgiWrgM$8n2Ix>BmvaG5J_z11tVzrJU1tJM%1VXQS3s88PW@c6}%2l)#>KQ?SAj zkaTS3y96YSeLzy>v$@OfCQHGBU|03-Qn2obLX1$b$ySuP-N{Y2J84RmrIg8<$iW;& z2Fpw`T#%o+n{qYZoKtAdSH{?5frtmZ7;kgbBd$OqVB(2GPVBXJ8-w=+emBqlw#bo~ ze_umfJ#2Ec_sTP33C~M;pZ6ZOyhVCn+$nE7R9>fi^P>J!%(-?ur< zZ8a}(>?X(KsPcyK_*TmsabIM;6{T^XU*5<*olJjpSKff0k^2ydyh_diq;g}t?xkqu z23iyXi)>7!-P8vlit8+{@yA%u;>&)=KafHtN1R3H=Tckf?bfE&)LU zLBa&&c00$NBrvI%`<-}KR^&!yS**l+XJ<(2LjP=@XuhJjuX%#V2PTd+SIHcYYplf8 zIBk$LkhdK`emljrce=Z;F^&6Fk@(mA^T2Nto^P)erB~jNLXG?njqZJ-pZHwk#&@!P3QT~dMC17Zm+!l^NO^*@s#C#y9ecU z>%+aryRRXlyy5#o? z7~7cB)g1}x={oecqjYZ-)9k(hFiJRGl$O<X)LTHdH~G!~`A##_Of@YsFlmd0+9 z`x@`W*o`ODkxO8bw^clKops=Azxxv$e)^{C0zmn`_`sl!TwEW@4UMNqz5~pr?dK% zjefXuK->oUvLhh3k_-69Q0&QeHn)QsX&O^vIcE7NkdOZ65KR(8>H^R8sF!f5RmL|h zz=e!uPZ}J<+X4~)&R6s|o$v9yo6ht6=SzwSAH&aRaHP?>U+1ORXWaCj7x$jw{^q95 zP33!w{C5P(oA|$OIsh9eyHk$9e`zf8|FctnH}yC6-Tr;H9L{g;yHb?*W@G4oH~8iC z>c;&q`W*W%zZ{|e;+Cn=|9@`Xc<-}y-53w{lc@R))JKu?e?#SM43$?ES@1s=h5ATh zdA0I-k7cQ?e7QAw~WoihQDcC=6T90DA zO!hoN6Rt5YWF?Jh>`O4LUlxz^UYVAJ+@7-ivhGc_p1!+J0Hs?v7$@^R zkc!q-Be~``>x;a)eLFBVf<{$%?A{FY9lt-^bjGoLM$)nC_JgQ#-Qf0-VEMur<-aS4 z34yWeVrpX|R=fYlFK-y9!eb$E?A{EGF&BRm%G+3!FkYfCB=y)WO2Fe(laVCm#$j^>Hy*Qj`WV0KrbAZvzQ*8xvG?6@?`sH_C;T6y z+SD!Y%~1Wi$Amg;bjur0=to|gCe&TrGZ1ey`o`kT#sOMp`#J7i3;!>-Z$-X4^q+5P zIc_E?@6AyE4ff%dHoc5IaFlMjRN^UhA30U@WDWz0Sr#&zRQHo_> zofG2iM4YD6q&xgcXBXjAn-->nYwY>VkX_94DQa7sCv!g5(wvW%reg`wLSAj>TD{vw z!7-D7A2>#DQ~bYWAcvrB;zlvpXy`5_p-i=r5JY+xEQLB z8{YVL+A3mBSl|CO}7_3@N-6sXIHYj4#jj+w;&<(I?lmu}s-<%Q?}3NP0ir?vTG z<`wcLZl=6y?BO$oNXTGBLMU~qR|>32XE)(nUh+Fa(WmQu#Hu)0A{?8dj-<3Q%yB`4 zXV29B=HP5`oOIQSA@f#!7?a|`KAq6tqWWNxF%!bAw;Y4&E$$=XexH2o-bguS;)z(3 zFcv~%Dn)rC@vT0pj$#p5UKF_Rt%U!TM54+YH9peRA2%Yf#vLdASSU(8b{oQD*RPM% zSmTtfG2Tsi^}N0)QKwj}30w=7*Z@^-GU* z7dhn(jxDde^?sdSBizDbH%&B-kpliCMR2iU=p0(r4$g)G-f%T5t+{MbSd-5EsW30q zN`O7t=sA@wm+mt_Kw#6tzJ-8*;F_C)m5hi)EyJ6ipa10%kWGdEYp;S8RhdzFZY}|_ zIdX0T;dyAJFJo8nbUOI0?5=(*&rRBCN$$Bn(|qM?515t3Ip)7?pf=o9Wd6sdxG`Je z^f_+6Ge2g|li_lyu1HCTFE?~8clWxzc0-LH-&hL$-T^wSCGI{qnOs-U3SajWMU;fz z87^<|`99bN?hm{xb$PD`e(RRkf390M!RIEHEm?W({n6zOzblsVKPR?FJkVbDKfCX8 zm2=>E4awRl`G0t;KJi(JZ5oTHk65rx9pn5O2t{pyxw&eJd3((?^Y-egBqc02`CNq0 zAD(V*t{88wSLB%MRk`LZL`2g04-x%7)%dXeAyu0u_TQr9_12KOzu$27q_|9q9I05x zXoZ<)OZxK?y@(c!A#Y-g6gf8Q%hrV`{#dD0x0A|{l_4pkSgCJt-)vJtlT;Us=)=1$ zzd9?Amm|iq#8(11lsN8eyM*iTy4xNNsc|B*J<`CMlw-jiy9vKf91DT+MwBgF-o*Z! zPI*&fjn~K1C~w%ZHpclB8t)kQ zyiZ8holj%$kt6pupL@HuBF-%Vu~869K=8ethLFl;c2|tO=bn4M+z813jszstwNwP; z%bF1MW#swYYJ?@KgJaPC<$Xjx{_+8{X=H>L>J$@U?4hSsI+pz_d<+b(EsKf!~JOE1^vjH|$I3Z-MekIj+v_ zZEg_J_}--!^TQ8+U_Si8_sxgj`!355zfVUi-;<-<^8@q2$(PM_A|KbP`bM^M;D1Gw zH*tf(xc1v%y#>l!-%UH$g*TN8{@1|9m!W#|H?Wh{WiFB;KTng=_s=dgyC&z!^1KuU z8A6J@UoS*MGnjy6++nP_qZn#e70k@k=tm}}WK{5SyZvan-8|lHxxHG_Mz6W!Dhg}d zx@-vdRR?S8oK4-lYl%2`J))0ak9cQdpAL=Px|oj_2^;nmC17t5YvYPZ@gy5xhA}zZ zFH@B_0z(^;_ra(-3SyppW>KKL*F(6TSijM@bei9F*T;zBRD_)*bd^J&H;%cAT|OLMK+Sz%y$V$H#?zsM?Bm~ zH#iTcU_rtuSa)K@gWKH+y{GT$=}zc2UlQcw&+dJ|eC6vI=Eag+V>ZWG{w~y>`27DR z67pY(g#2O-zY)^Dh8t~>R1ttQ`GsmL|oZar>3{r$f-AASB~^U-HtbR(aekALzD^U3f2rFrkg zb>{NS`@HgA_xhOj!G@xw<#q4#+B8g3>O$qMPwX$(0(~Q@O@m`0_|8yybu7pZ#Bpbd zOWHA=R*AyqqKJY>IzwjUI{UY~6M9d6+ieP#<3PcZoLCiSY7yqF^))-mJNhQgSvy}T z6VI>Ixpfo|^n0&ghWkHV`wrQ^vYWw*0FvYUk&K7Q2(t9I`jhNt&7q_iC7ct&%yFuRpQ{4 zH)IoB3zgT`&+a>;>M|C<%d0jOi?#sRPpOqVX>X&&?lQY%`D}ItEE}dm13_E@k}8k+c6UPW zNk_chozT0>NwkXlD_?(r2uOxGKewNka`hk9Mz<+Q$lntQ`EN9F=x=UMXGqR@R&zm0q4m1DRZiNC{r zSL}cAl(?3+KDxYD9A$i^HoCl5BL8RTKh*lq3zs*cY^lo2&vKp-`k#D%gMXc$Q6CGo zRb5fwe+AmqEw3v3q~)!RCI1i3v$) zKP35K_wwO~=F?yO!F+J)Rdadv1LkT?L1g_#^;78&MUicqP?w?dx_wY074hU_p*~oS zYoT|B$B|oJq#|9e7XosI=XMpC?Yv20Uo%6aAlUl{Q3W@pp}U>Xd%7{#?e2u0rKw_A ziW3WFfIL+aiCRq)&!48v%dm-AldgOP&*_yA)}*Xo=UTF{YwI#O=5;@I`T1_YuM?x+ zz2-eH9jtNR6~@`Ri2fGF0=ND$;p;DP6zPVjx+5UBItjhI37oew z=_pxe?#a6lro?=YuYV(h^5gp(^Y{Ss-!~*DA1(>`PwQglA1D&?uU8c^n6y><0DYw{ zEHM@5T7Aqp#=QI3NT`=w?ZoG}&$9Q#{Aa0LR-j7yPUn4B6Rw5cq2m3odTYeQg5|A? zF7H)+?qx@D2miCLJfr_>Jox@xL4lGbxG>DKC!LbcU`W`HCI7Eu5}Or`FVQeL*{$0hmH=gB}nFh}+VSu>_Dr7!jI z=Yr6r&g?WCBdJyiyj=yGG@7i}Fk!ww&;7{aiS+X*Cma*&u~N=)T5cFihF`38>byQ3 ztO>T$)%xW9IB{$xY12roi6>%G3LNSl7lRmcwLTg4#yo6FR^F@Kls94Q)<=(p%iZEc zxZG*zkA(X0arR1GDy)fz${SBo-gp}2jdxSth%$%9_?6n^ZEDBv)vz8&(08f&uyd?U z)ME*HH!wz$-Iu(M?ehaVI8<**^>fr%NYG>WEiK7QDU~g=dz&MZ?laF8f6Y8L?0(ZY zq?aiv>cewE`l<6ovOLnaje6q9P3Ky&)lYkhdFeQw-S6E9h)Y0lkBx$)S}8U>3H@#g zRtf@=Y7%;~JwRLn;zmF$drW8Pwm;S~yy=pPo-D(Q-083U)dMDn2IsdM^NiV9Wd8H| z?#YKM|B2)uC=&92u93-XSRLzRlA40UdKV-fH2?+YuX$amI7mBUwxmm`%-VtKEGuDRt6D_FOVuGEFg8%t8& zSVVbaf#*fleV~ri>v*L$T$a#tYJ(?c>#DsNZ=8O0u?h-gzZrECky#VtmlO zm}6U&=w>_**}h{w)*Kdv-avn=4HJq`J=b?b2NLHre zL~wPibVby4o2-Nhh#R7c zih%Sa@9uUdTz=W_%FvZ!a75%|2zd;Du`J)19YyB)3MtvZHSa!0VL89Iz;>xFbWNXeDRk|!KI>9#lIOeE@Z9iyUKwJ6`!3fd zf8M3qP&vHv#++x`=Q;1R|Dn6`I{!8CKWM!=#?+;dQIb&J2*PnG{GQsF{;ybM*`nGn zp>1lDls8Y*R}>8V24n0r?gYkS-!1m#PcAwsgyTsn)HpSn7V6 zqP%$S#k$n>8?2{@HdRs)cyHub@Y|(}2uK@62(UZ&KH6n?+r<865hkM#$f3;%k%pD& zr(wCu{5Ds-x?__q$-~*F7t*h?IBJ8*=c_3l1JRs=JpUs`1O%Am)LU)pdJB(_#IYN? zuhz%3Dcla>a@59xIF+KjmugeAbEv$RyVJY15p9zWHoE0?>ikk=Khsr~W8QvhwfWxL zSIx&XU+>c&{lxt6yWcV=U)XIb2V|RJSzk9recd#y#Q7k93Y(|i?gaEynL1$t;;w>a zHzQ28NK@E;zMF!TMg$~PCA!~-Q?P8FTsm_={#O?m5#Ip$`0D*;DlJ?0Z`TxZkY)~IFmUbB~!lX{@3z99-hCdZ7%TheUy8ro<^F5Tv($rXQQ%}1i zV}r71h=5>%>gl=Ix2RAT%t($&$@_SE{XPA$knTP4;5GCoA_^B~K0y8P0n<4*$8?tW zWn=8Z%==9zk>ra+k}nde@W(tug!1&*}pR9558u`=MVwueIG5P zkUKAixf6Sd zq_c8XclUw)_o6}gb=ukdD}Q#ssTtCnqaBER*f|~lpF1ERA^(xc%y$>Y)$^zzM!?bK z02&JbNr4CxM7tEA_?q6IAbOwwoI*CDyx-dAYHCSW=zSOUom~zfO4;JhZ~dbS!uGzT z<*kV>ulJrh=UoZqwe^u$W?NpbJl&Qz9{s-p?~EvKjax^dcSV%Iu5xp?4O=iFR#u^thSTO%OvTLMDHU$9LJ6U(DzyjUAc zEN{4fCbXY(E!0=T?VLCk;vS)hd{<5MIN}8)XpA-!0Xa#A`s+kM9-q?RtQy^y_XL?p zX;_2Elh~i~se9?tmRXruJzC8#9lT1FCmpq}ewIf-5dFyF6}ymrHNA-De+=(q){mFv zcd=O+Qn1>poVuxT>ZmTNzI<}#)o-$~TN^PJqT0{9uP|wwUJPSWoztd7Dmu%0n~rJs znkx@YGw^jc_>Rc*g&Fs8pT7C{ zaw6H!^D1#4ki387IdfyjBGW}_E*(Tp(9b~(633)7c56c8vnE_Osm5+BFm~N>6vUbo zW5MEkcnl=8m5zmgK8h#&uY`K54Px{~cf3c8-JotuXY3}?cTr>4!MAkFn}|u_@)ibg zJKQe=<*kcH>)qO5na3clX$m`$6+t}Qbk|LCXYqad@c`hMI_4mftTrUB&JEe_J0H z17(SalwUk>Ezm|d-WCD*tq>5(H}0&;_mzH)U%#C-v54}@NHWO+>F5n#1!zWI`t#7@9+!p)1Q| zemOg#cZ;FU{vVi|f;0;l8Y78-%ou>>cXQ2VN+WxbCZHdos17FB1B1M=Rg+>Y)P(wx zZJU&1w=l&x3XTOkc00pkSAW|{hNiyWsh=l{oo`hf2%^bFX}0Ny9|{fpdI@!&X! zz?FpehsJJa`2W-faVs#E+_CFACTe^f@P5P_F4Ba0pU4pid(n3vv^My)VLF?pQbZMF4=FxDOf#?fP@Li-3UmU zlhDJH&%|3K zYwojbc{`IlKX5H@Up(-Rgx@Cl4^idqbnmZCtkb}~Ny}T9w2l(X=GT39<-MTBOJ_tm zQvK)d+cc`YiT|s8ZXeSH0&=D2b3i_&2*`VfUodS*dx6(D+-G}K-l+dv7-;(oA?b4J z*RQw4aU+q8!ie!ym{8~8_JMJZeKJl^1mrcE1F{DMgqEbW`4_ zvD+C{-s)Sxnk2Z*&+4YU7b0|SN_}VlLv3=b>5S0vk$NmbKXchCC?ZEGhlu=vfdBA^ zA4OvJ&;I%s=DoLXn8^eCnfwR7&e7Z6*@9iSlh$-AJE8wEaImKl5PS~;5}t&fjELOb z3B4Nvg33vE7j$Zp-PqxSm_1tIs|j+#Q2Fo9^@{&qeO*ROxgmg7Q*L|9VTQR6-<@mf^bleLH2R)MmF|6_GL&}ZZ~vWJCRZx;e} zt_F5lA9JB@z%3CFn}XF!1f-)fPv4hV$9{PW1LgJFIM5z${U(+-W!-51ybw7S;z^&; z5!E);(idQypP}dnq6M!|)Zp>S{mjEeKpH8PX%-QX(KNAp0L=rzo*+5BB<(5dHg^K< z>7F4`xQ00?AVr9NVE)HMn*V{_keAW~`c3082L!8N9} zjyoSG?Dz=x!DxIdOgeTGu#8A=D@7pQJNPt_kAKC{5A08qY~LCt6~FwQxxRauX`S{B zzfYonkrCHAGt*pJKGA$c9Kj>y3oWC(2e*b%>Ytd-aK07<2o>K;K_b?41p1`?eJY(zZ;RAVfmG)pVE$ z$gh$Tke~kiug&{!-!!v_$4or)9&(;w4jV{FbQ;#3vbEBAZcnmbZk61)5s)Nm3 zG_0se>2|5!yOYqniGV~!J(69EA|S5VhDt?3ZYK}$PIvHRofMu*EVKJ(_hgtB8n~G6 zk!pj%FN1_&Wv%}~B;*ed#@GNjTka@|>Le2NT}|9Gn8M%5wZe#J6ne(2e=KC9S$?C> ztSXEwM|S-C?Yn`_g0eS!EOJulZ zn062lTMwQ=V#}M@E*EN2_e=X9E~M3_vFNr;)}~4Nba33s+=yn9GZh8qs7^wEVoIKQ zlqPY5fXoB|$;;*lgY_h4>s*jzE6dzUs#VV&IuiY`=~qlZ3W$JE1Z3GrL_qqRXK4~T z2ngo3oUf25Yh}w(>|xnqxQN*@coCM}*ZNC4_cTDHJVWw?%FBxC>pH;LU%8X3&%@g~~XGmd5XG2aRDxdxKUzm3fKFedE zqcT5)9bv4A2gYu6ze_Q8Bl~uWx=wb#`~1kUP#D7P!t};iwbL)E{A-c_s|RDZJt;O? z47GI_50tk(@Qk3o>qv$_3H4E!yu8&t)5UImTu4#B7b5g?G9AnR3;&M@NPBrd^R06S zyCop+-FVB)8k)}p#BNH+(OZirA^b_#ru#Bh_q$VMC|L?tlw;jSK*Bb1`19R4AU#aM z>TWW+OF(R6g~>;E1SC}_=xK+%6@rn@>M)tQ!5}v1`qq3|X7|5ri2c#XN5Y1Mv`p{6 zS|tE;syr3|+%{GAt|VTI2R~QYbG@(12js-x7Rvoq*eo&lEC#kJAK1P7DhuT~5oK#n ztGr3R)AP3K!oc_PuIS%)gr4O+uPS_BJiYQ(IrSD%ziny$XSdG7<+ab?@+P!ds`ADo z%Nt$4p|-Db>eacwl_DVRHAS=&`ej-*<=3gbz9A3rXTSTG=DlMto92@Hs88g}f2nc% zQC!dUe^%)==l>_Gx3-A-4fmCf$UYUSqpFDUkfML%c1gMz5gLZKqgQM79t?aXb+GrlV}n;uYyGcq+FKb zZLJFT$8g=G=!2pD7O3B<)a@Ls@4}>Gye;rt`91pG%@;PBPk#E#$W*Cl(m?4`KmUz+ z>&b^q^VECgS%h<~6v60RILdtZoezl2{4_lRLSx_)njiALcW;=Eh9Rbv$UNg^nq#sf z8Fqy0vg+2cCb6%_Q|gp9cPvz;Ti)0$mA5U`Gg9`qc(e|TC~u-ZD2({e`dy8Ky@9&1 z&yU9HggQ@Bzim~~SQ8jC)rBc_W=B}h+42(kXq(&5e3J;sr`-{dn{Sz!L_lJQfDk_9 zgbBzWS<+p!9(Zc?z4O`u6dKx`wq4P_g!rxU|(b<@J` zCO8G78d<5=e^$c)YqkpHMFWMRWXtYLq$T)?WW$_Fm1 zpj)d8gV)%&^Y4ct(W=+ly?bS;P5*uYy*4rk+iD<1A~Z3xy>>u^3?wOHMa}oIVHx+{ z+v=6U6~Dagk>$1J3X+Ug=ePdc)AueOG0HX`Yp3ZoagMA{xKtWgENq zB!9@0aghsu`LRmVGBb<%PF(xQ0G2kd-wg2kmn*gpxouIM*e3%0JvMT%i(l=YH zLj5P9e*J6hRen2zd>}muM*1OIG3sSa!NMF65Rlmedz*2Tf;G^lU}a}|t6{m$j$2(R zCf%Kg1MkYn)XfJoOm1)4{{#D#Op3`KAlQU((*#MudY$I994nKRu$oC)D`UZaW65JG ztZ@u0zs+I}Hn?r2?U2yU{@6`u(*!&y3XPy%99nsnh?ggW6-HfZ)}FJ zCOigOUCgX5jPCOR?6LLj*K2EaEG5>o2F6FY{Dl!17{aFNaGOVCX5`onV6l&B?WwTQ zt-A!A2)(~5^t&3>f2{WuyBypSEGv?GfK@dvP824TIsNj+BJ^`CLXSDW4UdKDSU_5d zfV7qo0Xdr<0hv84-wepQhw-7W?q%fRi?yq6bMc_=()828x1QLU=}vgJj&yg9b9icj zode?9#$lV;Ub{;`daw+yJ$EbAUHvL515mpf_!}S z0aKipW&XuOL_T&8xFdUf+z9~*`9~rl|9)+uxltdZeFr2h!ZjFMDh2dfD^&>-foS!v z#rSiJYmDMrwOniQeiLI*ZG{lfw$%+X?X+WRd*cw(Mqa!QN=@jPH=I6?Fdg$p(s7u% zK-bzEhnjZ!zP({E{Z2r-RSn5j&6Q_^1V&6%Jh8k9*J57zt>Mfd>=2?>6(|QWYOLX^ z|I7Z?F|u1KU1cqG2ld*BAF(+0tm5W@SqsY8YzTsE=Hjhki4h<-+_C+?OD2joOFmsSnjlpKBup z-wLu~`?9S!uMgY*;1h|qN_Q;SwulACLb#4>+f+x?Z*{0Y;96zeG*!qdb*IP~aJV#| zjdkpuv29X+vxb)8oj*L+%%#0RCKmQGBl=4eq<^n0o_B$HAXwZYDXP_>felBCiH302zg9O=cQ@;)U{t#1K7{Iv2*XH&$-@e!^^EJ{X zAei4lD`UNL=y}sTr?+V-&*S$sQUAZPZK3(}XTM-#oi+iXaq!^}zHcr*TFL~3>!7yC zGi({hsua_zVv%)Z`?1>x1w&jcFAQ7@V~tM;EdUKc^1dedSQf^bw#q1MbjlXOpP)|h zamvR~i*Nq_kpC4bZ)Hp|)W=@iAEf`p0vPSymvZd7<37+Yow~$%jiX=Chw4cGLH7ZZ z2%Dh$+DR?|zX-27SmzBD{YaSAhWphS$7QXFJN0eL5et;JH4X2yVAj z#e(C*(^(X$rRYa<8U*AgOh9g!xg!e9uwGy1=xAYYod=R78xv+*8|pT8LhlLYrMt}d zt?q=L;cO1;+OO_pbT_ld?uBPbh-))P5t6$pSho-XNf!M;#oI=7nPOB!rL#O*Pv?Q8 zyMIS_p*#0G7zFoWgTX()-%KM<;Q#q>;T_-O<4(yx(wvb0M923UW0dycPY`9JK!K;F zy3ivP)>vSviY1D3T?|oC;%&8q2!IE((b(QdgagLnf?{)F;b?PV@feXsV@=0G97pkY zOh^czTZxFk=ma3cfaK>|1))Z7i(_Q8RNL!LxvK5CH863_k`6U8lpwV#@VBbL%J)?J z?`W|`PNn2V9u3%!<@r$+Wm4Yf#Ccba;-$9X-*%ft%`_9!mWHO}w^p>NoOQM7>o;jfqg(JI`val-21F8NeKg!xa6% z3RurF0ij9gV?aRqn6iPg6fai7iuaLuAZ`>S>o(@drIVVPplmGxA<69}=~n}Z7-6D3 z6ObV?34I+CkbX=+-kdE_kkg!sRmclsG;95|hU=`-soTm}^cV{F<3QaPMvOnjrpj=; z*s*8{zTg654jF{4zy&h8zSVqGSN-Y1;t7;$`1YGmn)5TW^__8Zjv^oz*ViyP=}`oP z(zSRZ`a{#1&@g5xZn43N^41Q}@)rgBd9wal9UAB1u~1ouvtQ#s*VPoi?%2>pBw(p92x)0>g5|1{J3lI0CL5r3>dY(euKx z33Sg`25JB@e#?dcJ*%a9fIJ(9aFr`cJSu~RH@<7q{Cc^kh|ATYQ5iNaSV2%;b-hGp zTI)z^2eT1k?`>9P<<&!#>{=ZxLtNhz_v#Pz)TDLRRAK9^K%R%P1)kxSH~8Ep+Xkux zyysM+90htU=D%N`??2a(O7~vB4O^<5Yx>)8J)fJ|i&AK40_^h1<^mZ)7alAz9V@4j zl$Z;yte8sQO*0*IY$7snZdNa^EKSq~O+;eOP0utpUf$00K|XdPA&7jaadvs@e2SQ4 zN*^N9(ZPguEGy`)RnyItt&Qf&#(HykV;vpq%;gQW=F<9Vb7@_bx%60t>3XD$WGZ$YSz3!VCP+RAIc?%GuFtts4o_P6L4Uc^?N zCS)|i7`yTER`Ut%&w(Xz(;*GKgf8{%t4}=01f8*mo_~&vyjF_degA{^>3KizJ`K^1 z2_iq=d;1#WR5KZi?9@S&*uyU+OJwviZdDgK<6i2!C4dJ}SQGQ>qspnD3dNeL!VsP~ zI8hl-iCY%00&V2J%RbAIFn)V&>FA%P0CvTL|I4;%2nQLb) z6eje`X02aoXOdbWuuLeR$4H++_gz>zf%P2pA9UV@<*N6VjwfP5*hXZejrs?-DRiFd zp=M8~`NTar))a>Dsn8i?{@9Xh)F;VFb9Pz==~l`DAV(l{>^b_3>-L?to}0@0n)9W7 z(>NGbvn#S~M`1G&?3J1fFqgPpJ5M|*tyRfgF*A=muF<{0ns@ux^UqBbnVQoSE9 zl067uAhal;HH8eUMBsG|hd2XRGkM`!NIAB^phv`G0TBr@96JbjFMwo_(Ry*!40Cby zEOT+qY?3*0e3(A3p2;4*PBLmQEF*AU0#F`f+9)E@3L>J4wwV-dbIm|c1f*4J@mZzT zIRebNTqK;vL#xw}anVMeCy=8y@~q<=UUpn>rSI_{@Eg3Zh5lDFJ->-biM*@1b|7Dq z&-T3o*ofh}P!VImy%y)+$$if6YwhplS^l$&yl1wAp6$y3se4<7TDN`%N*S!wgv!Rm zP8Fy9Z(0spzfe3E9-MAI=xXALxF3D?Igx}A|j|JvD(ypMuK|IiZmQCdJg==KgegB*9nvZ_;6TbI{ zNM(r-E)SIhsVnaseUS~crn!0iUz@5D$v{G%u9T&#TSC{wD2p~iqMqdudBu!tOu&6i!!tCfH}MsrwpOzuy+q4(#B_1F*OI7M4e&n;kQ2U5?P z)S=OoPF=dh#l7a$um9U7&ry;{7@J%osJJEAF^I=Jum*V0zDRJZo$%)(%|ZIXcfVsk zNoy4>S~?em;pP>>lu>NJx6}bk2Jsj>M-h>C4n1c+`z7u1@lhHP5F$OF{pt_q=BvAT z9JVrc32rgI&L1WC1w5NKoJmSc{UCXt#RDDpEwy2+8mMD^fKOap?5ZmA>ZqwY9>59v zJH{FhZ{+#SwTf>wLELLnlIK0&!y5;y0{Cjnsb#1sVkbtkmZiDImdAa65C;SL!7X~wykJO(p9Xt7{dp6#L6Q?30M<_WwDU>`aCLN?v)+L*~wT*KKt z;RuLb1*%UJ9(<` zeJd-0k@`M7bBHLHI{&@)-TeLrB`pm?Tv$jUHA8CjSSyABjN#^bA!@DqKismndjD^T zN9ep~vJ4U;#_t#`22O)M%S!z)E|Yz}{Vo5dZlILK5;I({m;WbXpEJxOLmzaWH(&g- ze``Me{6|7CXd-zsu>|Dv-~9_xY@PI+;pPmyY))OAqfq`CS|RA#3!7-Z$1lw1w87iQ zpMFl{V|idTCuA}Q?MST6tb;Eq@JP`yh3L)^n&)x?B&58MBR}Wdx^}T9 zqAtC2?^=v8$+n-gL$IzBe(PaZT*MN7;1T4d0}P z2dr(0!Y=E?QQWiG)nc)WpA#&LS7wXjwp_J?eTR@fOUgS$N!Jh`M_p{z|L)6B@3+lb zHb|3-;FBdZ;_PawQIb_n=WwLBWT-~!2vI4o4=t2FbbQ~h^oU4^;y z=v>qF@Ep@g_i*HxeuMT!Gy?jE^%%;@uX_SgHL}2r&bgPOqvAX% zBoflESC->E$x1mH{dShjz1^MAZzWydX6r=Rv&mAhToRIOH*`xt?xtX+ISD-#0kIO5 zg5@?^s@1U4-6SU66|=g_EsW~8Q2KvBf&GkIF7;=?T zX)bT7moyrDPv8u&1_|kWNB|j1ww*%Mt?ca^DGD9r0HgvTYr58g&sO>3GoKgBwFMv@ zqgnB{L3vYzg$)cuTUJhE;O}JcpCSqXo=;Nvq6FlbE%cri@=D>@+$isF(RcaZk6>dP zzz#*)TyGVqC~JIft`{ZU+%Q~!GgALcu`ha!-_;=hQAn3QQwc^>y^;hN8}OLTx6cY5 zTN<5bG|DrYRADzONkh3&Ccdw6ghYZ!5V>euHi?ZO81p?@LYMb2pt&AQLg-y*;8F7o zk|Au2ohDLn?S=K``|rPPE)n^F!b3UR7mxSa2yJ)msWnVcI2Go@^j9O|rF^Lj?>8MW zXDO`!02!) zD01;THq>NE-j8%*`bQk8z&;@$74IH?UK}6TJdkh%_#DU4-9Bke6S7)J_mLwh6xUhQ0yJa&L(+|Jqp$Uw_2102@VcZ#|AzNmNA|Jo4ntl zEXC3mF6LS%P`!_#&5DQouEyaB|4Tj>d;gh_s0Zu7^8TkhtGV96=(-{NxmgKPGm#%A zCwvrQ(!_*7BQ+pIS{C%7HpVV;ygfuZ3=#gd6|CDhU37B;%T?$<)_amVdQpi8(py;v z(KA{#64I;@v?h%rL!>{)62?bVzxT$B%2_ynD8l^y`9tg^;sp`BG}sUM^B2GW*XG?5 zuhM*ocnRL92uRdEAZ~u(o#=?^ zE{N2s}7#kM;{=pan8H@xQ^31x2Z_9i~k-AFNk}T8(JfJ8qM9alx zT!`{Zss?`3tmOcaYVnK^JY$qTN1lP_K_RzOoqhM_RmofL!BV8S7dt+~DErR!E;bI% zk^+N4(*y!Sa$Y@aQ0C{zAZNpZ-rJ7o+43ozKYjg~M@cD?f!9;=VK*}*uikrS_M3C` zZt;K@Nxw!8bX8o>wQpDW{a*Thfp_hkGZy6DmYANyV z7U&4v=cX8BW_j~Jcm=GSOj?;smf#&v5s;Z6AhZnc5{iI;fNbLkNFL7v0RcHY2hNQG zUiAxgz;#hk;1IZ&Lo5oNIxh6<&>@D zG90@eF5}cIHX3O@(q%FfVK}~j`gJDZh;)E(fRuks5f7wifh@fJ#uG{uCJ8YhX9kaJ z9_OQZT(wZ2hBvzNv1;=Hd73|=Xd$8|NI_)z$KHAHVwU%u(TrP+r}L#;9)>FU;qSd? zjPd`|B4D2Ww}pb=EsD*pjDw1WjU(9cg8%E`qWuhU96wFFaI;BqNOp zg`evuC5SdQzoeh3A8~5s-WDz4vYeBvk|?DtzRUj_?Xt;gthYrD25| zt|xnY-0JFB-KB70pN|#AImSFakm|U|{P&G3JZSDF2_=`||he zWMaCZIV|5^5aT@w&Q~NFQ0J_&SMqV5fcQK>8OjO@1&VLEC~-FK5pIT;hsed1Z3_f& zcPutnh=5!nFy?bwniAh#CLl(Hq-$LbdHpIVSGJU%Gm|Dd%cSPErIXnk-%7@58)O-d zlZc>9VUhwv8Pdkb5)z7NtSI4$(jAC!fLyGe#e}2l(Q*NNB0CpZDorO{>m%lfmDZ)!jkXBc}I&mk=eN*sp7;t5<{ z5VxyOJ+1H!girI>lYNa+0pC6Hg85eK zN%Ng69dtZy-roO|xlB05Q9F{-xGMF)0{T+&$e9(TD zNXHrT_MvCZmE9|Nd?Pw>L2(NX6L!onZdDSt5^j;;GjOZ(5qjt98T{UML=KnP@jsD` z;x@%C#w*1x{$BA77yvx6_|U@mHCAzAoQD%|KYCqi{px=g5y#qd6r*i>&@XK7{BQQjC?r!s!O$asBZX<|+w} z*LE$V>r2@Ac6n0+-Cs?=E93stPI?D8i1(w9o`Re*^UcXA-{7>-)3f`U6D04RNpB8Fem4S=1_8;* z$>9iy%hsZz9&Yp_ihx8lU^uLGCsr@GQ}R`s`!T*C+x+dSLi6`TKK|XKF_l8|@7C(( zf9wAABOm_($F+VGX$erQARiYVRU$y%zK(}xkq{vu zQqxA@-cH`7jt6JRH4p_-&KKxD7I=_ATp;9uf@1EX6oyWg3Rc=oI_OB=&_v;B02JF(MnhOirmgJ#>QBUjg~`Vv(uLHoXhlCJ zAXvE%?E&W(5jha9X2QZIip)UQqVJv~-ODa1T zEe8z(f@s{O9m~w|srR$P0OaGytX%UpO+x=HjX5B-#f4@<-+MVaIzkuG013&{NJuz} zo2C1y{V{h!zf%+5Q%x6$vR&OdAW`!`!k=Md-z6Yvu7VY=#PB5aC zX-D+V8rc~ga-~)#slh<9M%Ec?AYkGw0FUNNxS*$eHkYa|x z4-lphG>8UPH-eY&k{&VP7~srG9UdT3_PD>3l<5Tm@D3&+Wdz8jqLS;s|seB!*=;s8F4?E?4q}(sN^ZW};!Ybr@@0q3gOchJCyl1IA>YsP& zZ~2~w{ohG>N|jKRdgZduv}K2qMykm7-nmW$;w0HbQYmmH8Qm zJOsu;Xlz*H*#B+JxnJb8Mm|oKD*-8$xgSVPdYR^aJVyj%4-=4n=FxFNK;{k0B?8ii zQ=29gIs}BGAO*dB0@5o)K(d_8QEz7@m@H@hhY%3j`-4bGe#Orl>;b6IxKo+eM0^rQJL5(U}M1VmELn1IYx@}YA>&S+{@xD9Omo(_@EE5pIEwn#8*+>gQdL>6~rwEBaS|*K07=yq9#w{`see7Du5nC}D z8x$)nUQ~O|la5Dp{I3>+U$9HZzc+U0$`}WJDAuvl1Q-Caf#)&FsAX(qYywVhR_sy- z&PBqlF8Z#^;wO=mPQ@*YBTP(O413JK2K-^Hcvx`@j-Q7Wue>r_e4y_=oGIt$`?yuE z@0%OM!H3H{%(Ng-7 zyAkn#;pp0YYTr6)mnzYDM5bDa6d_`R_cf8D=6wAy#x6Mj z&Q=c)0#X?ZjD@oSovqi(gV#<_1mx1r<-AZxN&-SDuU*@gnB!9(;Bk6 zR@5q3cT=!>I0-#mxv3%`;XJu;=qjC!346M-OSXJELg zB0rB51}rzZNQ_5-H^3gs4cxVXtGXcClxj0Y|UyiV{)K{1e_dwIL0 zgI(G#-(RBeG?$5f-?c#$JIW;lhR!#*?^4ANLj>PJ`Lh8)iUeiDajhjNl_E-x#8{}+ zXX|sk=h1O}9se&OWz}Mk*ypbEj~>b5=h-Go;gqFm`B;F6d_dU}>1|QN2nn;mL^g|3m^r7=)7+&AIjmU~l(7gi$ z%{w5I+q+c-s!4kZbw)6-^K$bHB>B9tM1}$%k6sKaI2ZALnd-41W*%QQHTOX+m zc5jgGc0y0Nsg^hA!xE4TCOI+zJzLYSXaagJ(!zv*Od*0)iWICNeayn)LO?cH0-_O+ z*O-7%+F2RW&oCi9pXwy$5s%Xe^_$opex3Wo&a3-`^8zK7F)`NA-Z0!~GBF!-dlf#OtfL3vLXIhHIF|w@PQeWK69BdYmwsCBF2!5TLdF6Zfx|%9L87&jj0a8E^DX< z40m7}#+Z_ePD?JxNz=8-Vpju`ic1#5fL%<2i2P6)E&)dgyV$TL0d8H~s<^dDaZ7Qe zld-GL$0)_Hu8oQ{_zpO;-o=SZiMV*=rBbn0qcCvHtXJZ-q0YgrdU@XlsSAr+9$x7) zTnxPMnBw5NAa+?o=VM+qw+sK4v8qDxs#@_%aLYSK{dQ1mpy|@Y1IFTzA0aj#YE`nTX6W(NO||zAM-TJskISbprlaot-$2 zPEbVS(#~Z(_o!O}LVfMn6pDZlZXH7e1O((vdJ&N7k%eYlpL;2Nv^S@Z4kYX<=p*>y z5fF8rWQH6ksnVQobs>#($wyBnriXVx58JBYYf&j!Q3NEsnfKiktR8Mem@4`aCLmEA zCRz03PHaeXCpRI?$_l>gFNlylKpX6QZ~mVy0r_u4K>nX=WWt*4P+S<0Q|yft@H!2E zW3MlPU8N9@vy{GamJGRb^^}`RljLATHZKz6v32Eij#jXDi#>VOtdyW!nFvr$smMIe zFYVeS(GO8zwQ4Yn(z;+H0RUusbkY$ntgG>f0Y5_&b{7+x`K*vxwk}ZeA;jY{D{)oi z+msCP`63}8bpJ&N3=EWW(>!^m8U$T>6lFh;KeKFXP*J7K%DvW8{;ZhUAQ0jrBt{Gv z|9S4QL5+z9CUU-#w~F3My&4tu-aT?&=NSlM6o@ebQiHm);?=noR`{amnM~5NzIz8E zAfM85yC2d7-it)|&e432CQ7$zS^}9!ihLsVA5!wmOPHKMnSYaV>_7eaFDVl8>FuRp z(Y_4t5dlH81AX=^mIVe8K|ih<$o={>M?rk@?T!Uj=oMlBixhgsGUSwFIQ#b$c%%c* zI5}60ZV(Sd05Bio^;t6a19K#vEa}h2`o{6H3;MF+zDz){vEOVm?5D(fu_7PtrZV)F zWi7EMM{jR;be-Ip#xlIoQ4eRrd8RxM`P!KGk*j-uApHxIN(b`>guN)@E4!f2r3gqJ z5s*bhKpvz?^pDY8mMt`=1uJ_!L;vq3je=m#%R!POTp#&VFW3(S_2}1Iu#VLUQc)PH zemO@KoCu4+){jXFvMbve=Uq#^&TPV^l-~MN9?&^3vjD* zqvEaS?3w4`VwdwB&O6na(&b{n8hu{F4Xs< zqAxByLPwAgl6KUyl9RwSzCM@R4t<~v5qA=#&9zcGRO^aqj7uOQ%^(F3#w&_atQ7Lm zPEi*;i^&!KGon;zA2_)X=^!F+PkFVkN&mS@)ZJzxGx0 z=U@4X`6|ghU;itUmEmAlR{Hi>ce|6{sST)8%?(L52PD}hi`@~B@bPX0B#lYv;W-~s z?W90B6Fd6b_DZxDO00mcN@7L1{YK^)ivR^u7pof{fdfi)=T zih^OqqQ-HDDia(#)``ck14?F{C?8QmVtmVUlz4zNY*E6Yq~qc?pK!23*uF&0cP!@X z7d0AlX^RpNj)E*y;v&z&Gexn_*Y`M|x9Byi^fwD(ff5FJ;j(RVL`luX%~s~~^SU_l zBG0?1(xu<=eOrXE+25k>>^rUU@6>mChQ%f|0B~f(K?%%8B{AzPF>y$VdK^*rZIs5) zNxx+R@}r;L@*I#)DU}MVu3RL~8;rna>MPCGv&hFOriuDa3n|@JN|OMYMSps~^#o6N zWJP(alhEn+@0~qFMkqz?D7td4ffRZD2qqz?$tXQd*SU|YGUqWs{ho<9EAs+>Y`6+O zG-j-Vmq>@s_b8K;t7DXMb(Ba4R)Rtrk|iIA3_M+e{XhEgz8UMtXkR_1pAwKu(;N%zwShD&?23-`r+6RP6QrL_X~?o3Ma`?u3hp+Xjz>?70Q@#X(yp>(vU^`z z`nNwKAN0N=B_CK`a~z@{lzug{D2JB}uA>yJg)|9$(^-uPwf5Widi5YOg;p=Kt9e;zdJ*7 zKhDzJk8|WvZdxEIG%zMx;BCg7Cy)v@NXywv&cp%^74nXAl$EgK@}4!kf6ZI3?lLzI zJZs+Cx7%EKcD=d$_(P_X#w(25HtNH`LXeXVGJttpDQMbLIIGt?Alq-%U8>U|!c|7n}6EkU&3pQJjswuIO^{ zYlG+ukB~5S31+c8TA|S>pNOyoKI=K@s5Th=j|v%Sqqc4%64FXhkXCB@7HUKE4LH}D z*+DXm`%4RS9qB_XHLmum(Keo-F>5#hei%X`PXb04Ryqoj}{8eLR| zlqp!Beri6Y2uR1)CFa1yZ}1Y@`=|9aua)GQx0ryWNWuEq&&~TpKPMVdT(9$swn2DKn$jqo)>+5mSZ5Kt20HG?99(&^kR z#|r>y5EAv|gH&`7cz2M(?O=scBLY%_=iok4LKpBXC@EH=WV{2!w+Wemk#Gqq3gqQM zs2TaLm*8oliGMg=Rt0d$72LaHseiQ3K#Bw9!Lp*jv-x}pe~l|7Dy1E_sI%DbMq{NJR_~`z{e1%@M-H zWJwK=PBkXDO{hLEp#D`lln}O4o;r-G?;-{3RtN}|bi}fvq|my^>j&b>N}N23%_~4W zrjkK8l8wXjSoH;p9$sZq<{&0e^6$5uG@oG;xLYJ4OhC>ZVk49lINn!}D9BJHAOqM- z4uh4+H+Cp5k9o%MDJCG|p${6pQHHS0^Ej!K%}akScrgtfRxZmSQC_h3`IIat{(-#&gi_d45u_?aO5I86rD{= zi7HvKdyB}tj|@)p!d#R7^d3Y%Fb4$$1ko7mPlEX=NE4e&6Xt7O0z#=|8!-``{@0!< z{mgSEc}hU?IQ8tH5;Cleg*rM>R^Zp0MvdIMJsBc`LiB9A*zc_I1&K3mar>g3$zVGR z0#ZMM9Vh3>ae_Vv^2^2~aElC1_I4wup9ly@#apjEL3<_~G2earn)&{>-ZLM5|GP}4 z5fMamjTdL2zKQGK`{uiJ-*ujIbe)LA#oa3z3t_;5)Uff4vB!>#g@S|h8TTXQ@Uvh4 z-dmaI2jBh{z3*M~ZQ7msofEGy;kiW5vniX5A;34_8jM*M#S9mpEM{!?&jqs!t&3Ezklxv~g4^#h;ov0_{!H!1^|NIGu=t8fk;GVkz?nLSO->h8IJabM;wr(pd@yE4^Uk-vM)mpeTN1SwdU zoOaalJOZS|a~tDab)SrgB4@Cp{L@o41b$HDL_p306e*42{9^LbfPk6vIVU5GqVe=vg2yR_HS;4gHQ~r+x;h*(paZ$ByMvCN&B` zY%cCtCbDz6|6El{^3D~M53J?H(O$>VzS}8}yvLF(`)qyZPD^B#s)1k)5~?dGJW`BM zj%*B&bW(k?!qhflWk^J?jl8#=bpQ9>yGaD(Cp{w|mVD429+#ea#GECguNewlm3R{w zd1ojZae z5fG%I!LR`VImSdy>g%KuH^0u^Hb`s_d)=nGozzs6Q-oV5D+Vxbou<@Lc#O|j+@ih+ z+-d@D5eaT40s=mkgg#4}79%o$X#Oi^-m)#bRmIs_GmldD>qs7oW-f?a}N zAajCSs!zzF)j^Ib7S$Ua>+9JG#^;EhK;LL8ndlxl;yw_Pc50(Ga-g*lX>0|7B%Rjc zk&u~8KAMptg=-JZk$aHNh4ehU6Br6?1qnlaG4YV}tIMpDRCcYD|A#(67~DbSYe(dn z^e3L(Ol0^xr3jwG^5yf#FkZ6rq(-8*ARi|y6uXpspDcHEc@W3&87WnrJGvntybP~T zKsW+2ogyI9`g9)w`ME?uunN{BA|R6x0ilWLvHQPfhUND$ogMAwU;L|oZGJ|Pl26Go z^~D!onBV{559YVO`Hfk$Z~;d`GBO^xV=GjBSu0BjTT8)0#N?g&d{a+K{836@*hCXjcVZGJdk<+x z;c5M8B4-|XQ1i%hNJlbaK3-I4{$YcVmmU$2)sowO#8LDxnvSaiKcNwjljRCR!V=&U<~*gCh~6U82M>a;`KL)u2_8|??BjR?qRzxa(9 z|7i*o7?#n!^z>R*p3P9!l;YA%{iBJ}7|@5h=)YoPw=ZZ%-VZLeGC4U*sWB~UZ2zfZ z4L$t`wAHgC(46{?uoJj&pUt8OR=JBART4?wPRl7Lsq;xOh)#h*+M>EBiTnw z(qc};vn5#liuV7YG^NeD1n)yM_ALRiDOgzMc4DCz{8&+D5KRD&>vFtE!|IC_v2>|i zZ+CRN&VFcBt3VVaoJOE2SV-eSIv1y3WoPp4>mWN=#bzL_=|6`WrNys5D5~B4sSL)72LcH@bJD0{rNC>;i zeB3%=+lwP0MeH~^$&QnOUgY)^^|{kX!2@m~0z%$p^fzEx2N|*0<@v+!e~-xqJis4O zUqc_lGSX?2Z(Vj8tGMC!7zZFF-~aYEX%B_{JjQuk!HJ?qH@yEadfz$q29u7Dyq(cM z^mj-9_!A}~G6p^~-+Aj2rEWdLhAzgaheeEAOFgGdm&LA~OBpk|wlDLri|^a6V()ja zZC~m=&m|y?L7pRKWe~#@Z{Y~?$`m**6`b0>OmJ$4BlxV*6n2z&vWSKME93qGc48rV z#7-&TmSPth@$2fuakb7DTm(6t=w|5X6BThLA}7ji6fqXUDG?Bm3p>(?fKWecCEfbQg!?#J`P%ec z^9n^ku6H*FY``3#52Dw_Am~R1}mN0b&3w zaf|@{4rGFqGk)j&hpkSTw=Cc?pbo5p_6dfhEOaQ*U`4$i^(b}Prev>8+eMC~49TMh z;&A=-CwO;eObY*u(oR18*)N0gb6>DR3Rb)N=%Y`}xP?7kPkAfJ|%?(UL@jiTnWhWGG9PCj+M&14-k)oJnsVrcODzwFOw7D1tuT)I zhV4p9|EXdexB%IrvU#Crw2LTqd7u637RxRuhF#d=VU9X58xX=c=%v<2Dj929NLN8;p?#Xkk=9H)4A|8K0`ibZ(?k9_zJtT0 zh3;>8SoIvgvqnjeriVda(SKU4VME^6kr}Ow`s+6j?QreWYGihYMnELZ6CLx2kuXCSQA|m5K_4!mnp{KjKU^@48x0+VCJmGoK$;gNO?rsWJHyaVUl^7LPN;UxRs;rk(1_?d|<_xuRS2F{gxsibpMs=JTobtW9rF^xP&(J!fG2PL$r=d(`Dj-FX9Y!y3(CqiEuHbB+IPmgG1}daJzOCksp1>(|MiK13>(am0l^k~_sS*11!> zV{%*}=hkbc_jNknLtn}J?}hQe0v*fAX>mLPC&=K#Cno9fTGH=E~mfv=roidXKzc-o1~? z_KLZAlqT|0D$84kUoto7{OYT_$)Kp9zo&0 z8J%|+mfg`2sp#7)TOuJ@S^lb6*@8`2*(%Gyt4v*W#-?3mXA4>Bt?68Sc;mrrNxjOE zos0(%=^4^bHy|W~VuEf$h|Ll!bQ1df;UFNi86jcUqeMV9(0|)T1mp?&uN=)K0n0E>hD;Ye`G1m_aY*;EhJ)M+bE{k6_++-0s;rhKp~lAu$@E% zg!1T5QzYzU4anyZ^Umr0L{xt(8(w;Q*8K2G5Q&U@iWDu1uDpBZfRc~~#hS(JsJZ^? zv!D-H zKdh@)2THB#l4?)4v?>`8JyRpjFLkysA))(P9u-moLec`PAwAW+TCfKsqzNR1B@C*WcTU{o4?olBiz)W%K)G^k24l_$WKt#O%Q73wj-VeNMrf1>#=PAwWJUR2u zE}3l35&=0)cz6l~ga|ZrF#0kw641ZlBs^ZB{eEs-iAUUXo*Z`^Cx<3|gZ0lRX%Udc z=9O_oK*&L`cPbH($vNg)cLe0;4gu+ZpP4?Oj~V*FS54X2VdnjJ-!(t}$xoB^>pxH` z){}eoXd2f2y1!9|hgYs0)}8H_%<-HKsYtcFZ+B!RncWzk`w=xEJ#0tYsSS4{ASnn) zI09lT&8<*(%Xzmmcu|BDsZQa}lTK73)#Rge-ql@41jz_QKr&?MN{)cg_3z&z0l7>B z1k2Xd56v};NA_WFCTl04H2>o^2nf8h*3-yJ-ljOf@PZLW zfOecbE62$|J6<)&9EY(6uQ3^PCrOc?qMZ8E6NE>^->J_->u`%5a8@}a@?*2L5T`0U;3`YDsOu|O16s^@WOT*MOoyNob67OV!L_?x2e)r(qR=g zjBp4Hb)+J7?R-#o%$U~r;?OTeFhXfLh1bfEWzUczF6u(h3jUMDD!qAAtLik z8`WbQ*QF4VwsrL$0g*PSlOtVgq4t8;?>yQTdCAMkJEww(249DOfU4IH3bdI#f-Iz* zn}|G|q7;J8-K#j_ffSd3u?J5vA|jMu{K2(OR`zG8UoiD!@Lj<=tzgjJA}?ac+rMdU)~ZupygWq26n zuXd#y6=wJgXk;^4k@PD|K=3?7R`M(X$<5~UtKn3J(FNINVoV7L%~P={SRf!sAzMZN zLkLJ;CLow-|Mb-UoKA|>zc>OiOD3cvH4Owrq995_bblgSuUzM))|gWAQR=jZ7sXZF zqVy{mW@uX`nbg)N(dOhqh5*;DA9&t;@vGmPk3ZA2zAuG%gd-w9;Q1Y&{`BYOtwYbV z!O9T;8n^6Np)rdI?;n5u<1{z;q{t0LA;15@d*%XR38KX=UUh`9t0RPG9roJxC5(ZB zU4mPTEjxs4F!oqdp}2)8X6Me8f@O?T{?R&7x?JaqB{AEU>T!t|iN2uN+o4V*#x5oy zf?w^M6}L7v`o=pGkcJR$i6cvNiaiI8seZw|z&6$`&izVAL`MN@Dp+qd)4UxfA*+ON zoYx3Q(}Q#5$U3f6?Fk_p1aefuF#+vxHrz z3DZu2fHaO4-HU!q1RDMNIIs)2g+7nIPjalh(9`9n8ZstxLX}OA z!2RFwQ%J2H<{JO%JV~`TTsn^DR5oIFDfm(Mg>Blfy&FY9q9&q;BOrGPND=~q$_Yn5 zT*8qo1uLDoAYaDBqIBQa-Q;(hqv&}MNxuFKQTpG%g;lUP0#ehTCT;cRc_51@m0>x1 z5+#*k!+2S$6H$=eQ?PG9f7WYMpl(FA!$;uZdp@7=LGbR zlzZUaOrh{57@Uu&B3N6+qy?bfLQ181El3M_t=5UOS%N}f&PFwP6kGXRKX3G+>awa|0q_x5-8Toj9h+2@-!dqmV>%Ypz|YFEPK36w37AU$ zNc9hC;Ul#Rec#0GQ^91?wiPSthbxtA%w=gJ?_m=u((}~b=b^MI@^P|W$OjbHr%87> z7ccQ=ls<(W)0>F6oWT;5cn~O8 zK32PWbCygvN9q*}?w4r(1Li?IT_QW5Bl-d3d;^h>$9M_eT$(?Dw98yhzr@bs*k1z? zh7!UB82niJ7V|H#xffQW;tAeoq=kz3Z33vR&>rSbG$%gJuju)+co@_zd% zP6J|R0^>lVkAW8JqOgn{I&GYysaT@e#YVr1M+Phwsl%tkb95|nt}PT{tW)QQVwZ=Drl)oqMJ>Tqjb1ILSfzhG<2S}mi8uXukszYoti$IqR~ zPCQ`O8H#?KCY^eE!FbWLz^;11u9J*igGDz(N2|U*$^;~)*aZypaSL*=2L$BYrbXt3 zG57K~eU8Y-QxkK{m6Hcj6A&i_tEB(EoK8MG;yG%gl7BWadj=;z&7ca0?;zwbak%0y|4r7fK`7rUskVpGu zBN=t`Ktjf`p?7BSL=GFDCOJdi>9ZgrD?mhM(2*t?uLNk%R&Xz+a{^v9RvC!bSRsV~ zgBIk335qInt$@|bwQaPAx7;sI+}C*S+`39)evb?Yr- z;sei`_qk54J?2De)=4y>l{{Y{LapoTJ*C>p6si=(DO&PgCFM*s;<}K}nhB!jpJEHlI^I{2ld_KM52$A7x8%YQ0d>6 zfG7!p0>@Z5GB@sw57|r*gac#ch>{MUc*rul9Pz+}^O-_EkZuI8|MRpL#?u_V%v16~ zbGdZ&t4GOLe~8G(GKwBx>^BktsihRG3L+qLNQq;v1)?BWj(2pP?85;PGN`X?@C6cr zXh?s|2hrVzb98y$9F<-!UV(h*d=XjgO6HH?w;&#Qz2$j4_k)PeV33b~viab+0?hxQ zc_~CdW>UGzh=5e<9FTb+AS3%Qky;Js3H`72^#2g$*`dx8AtC*kjGVgd+)zvT8TVx#CffF{@Gwx zylZ*P$FbJHHJg5^c!IPbL>CmhaNcSi8y34*9Ne;>HA-Pg4`bj4>lCVwz^+;kyHMt) zwTfSg=ayJ7);}W7jwZz{7rV}r!G9k3_3&KQAE<-#7PFXGlqO);*;RsDj9;r}v!jf$ zg^7mX%vqX~28{9W$CDX8#yx1s$ZXMVtlvu20b_|tsgjyf&oOh(k`8(Y>qf?~64sli zIr2eK+XWNYd2*5>xvX#5c_RH7`uJGYV3I+crErYosOs;d>Of&fN}2CyJTU12)4o0R zJ|G`!3f37SAkU1xmp4m&dQy&ge0+|%LH&rTDSZp>C_5-;~KvL`j zk}UEOwGm;u6VlV2Fx1n{2z#;?bV9yg#FCZbMU+)z?zumMmHDklK=R1T*_%9xIlP(- zj1d?mkMPdImVihq7FL&e|27E-6#WtPBm$g{l!>9mpatWre1JJpX-NnH9S8`FHh7OI zm;VF-;t4Y9*tmm-8O9zwHULj1AY=%_n*#$80%K7D8=!xdK>sW&fKnwPbJ>IBkq~PP zL&=b`Igf}5l+nZDN2`NIXu&UTI)?_0kII5BrGU6-bbR_WGgx?YQK=_;q zOC8?}<=R4uwV9-a6>S3@8-+k@Q1Y?CQQYhW^rh812ES`nG6Hha!epd@pUs8>-bu&i zb*`Zy|DA~#>PJ0M|9am+O&am0Ul^UOQ3j=U1sh zw}kS++1$<$C{rla53XJ0T>G@V&66mdF$vt>Tku;k5u{Nct#BaAs^HEd%Wi~ zls84;xDOHmL7zN1e=PS=^wksaAkrjG^kMYnW8@t_N`3n%6gUVs$&vCRRp2p=4#w2r zm59e-T~-&nnjg|stAnMMfD~xtLnc`x?TQHqML(XKhSaNkPQ5}j087+v9xnt08~1qx zWH=%qG6@~a+s;-3GPw}T@%G~VKrjyj5s85yAbo^@f6Ay*Kjr`&sdoS>cF-xD*LeB(7wpb_4`Z~taW)GuX+!9Q0(x`?Au&bQ$>pWvu zxrbd=&aKvS#w$H~cqZ6&&JuxDt|LXACyZZ;VZa+;%?fd#F;T!AH9iU!F%IGA>9*PO zyj9{{3%^T94|JbIZ7q(Sfh?QKy7Ls_*QtdQ*s;g>Md?@2x5uG(fnD5}g@7Eb9ORG> zAG<)zS+CF4aYJKfKSe;=wxyng?h%lUi_EhiAT)37=}CRe6BBaG<&*oOrsPm zL_kIm0jV56B0U1K#}bhHz0Fl65|YJfqFG^EOjF`}y18IFtEArQ9(3U;24O-HMLNRi zSZ-F)T>{e0B=jiq(UTM`+>>e&(XA|Bei16GvTI-wtL?gh{3yN&rhUIptPh=Bat)sh#w zpCTXtrNh><2rn;rPYzS)7Dm{S3dlePxTEA{ISRmo#~9uh0>WcVLdd8CI5G(tXHJmE z<|L7jlZyyIVF zaC|~?4&>xfHLlsvuBP)UB`8&%azD==HLKYCYfTAK<$cfci2t1Pk4SVyh>sARW+ggJ zYin7FTWPV!bv`kHQg2bQik+1^l(ToP$Mra$r-ncS8wV|xByDbDYw*PA#E+vLeqI1`W}R^*4vYzkJPDsYj*q|gu3xH$y! z;YB_Q*<%kv4+HuQ_U6;1b6)K!kC)tif%g2svb#@Bk@;Ilr9?_4#xa}=50C9f6VP*c z0ykEYs@I*+u?iOU0s#S;R4Ds_jLruEkxdC@GCBx|%m)E^=+|3Tu*%h_MlVZ3ybT6L znFFhO>vy?!&Icx*YXqc_h)q1l5|C`3{Ei3+mfywxA5$m-g83;(!Kz>aBCB^Hg={&c zVIh6=QTktqfMA(n;1*W>+A|gNLHaQvgLjovu~1(#^SItnfBQKSf|M+o$bWElKG*qS zD`k@Q=HV8TkRle_j>jqniGfz7xK$&9-(RPN3YZZ86BCeY2cBaC6k`)(7KHt+BQM_q z0r?SaT=+hvd@kg1=wqH@8Sud37KHIiu&asFF>!9Oq|R}$B;uA}Rf9xuH-t#WM#VDk zeu9&rcvFSN(&>mK;9nt%;Pi^wq7YWjX2p8u!8t4-EN3;0 zE{a7J5EKz9AC^^RETXWi(d~Z^7_L3++~bKpM@i3F?-_J%l_8=7WIUWBMR`t1 z5i3nZ8y*$~dhTJIlTaGLc_ldKI2sWq3-X;uisU`IG$QIgW49yY1+mm z)E8*}1%3Yk&FR2KYdy+qrxku~oOr_=Mamz%fs3bbKRU@rlEu`g7ENZ7b7CR&u?0Ai z(kA5%#eE!#yMd&BG%N386iGQs-ovBRchQHBF!_LiI+*(UVCm}>==&rX13VVuJT`=I z6f)U3sAPi)$84Fu@W!kHP9u7CCN>!?V9!1_8bq2Ay#03Jh~1O(IP$TT4DyW_$26uN z=Jcz+W;s^C8X?XH%mV`fDQ5zb!*eaLranl>INcR}B&A{v)fKS@P=o@L(y>=ZzU~hq zb3!tCPDid{6hzXq{P`YzIck#0>05a^?*q>%qWwk&k_=(;Ars)S`?<{jpr{O`i_Rnh zQtC!Ph=42@k;_Z*+B7VX5MD@Qg3e>3CZDJDV{M#Sto@W{S;{sd=V@Yyb_FJ zQRj{Sxyp0s@aKoc2_(2BPLOjd=k;AE!&zH4TVBO1#%v(~4ad%TBGB81Lt-R%t{+M}f!u_U&2*@Wt>W+Z?wK=h2k=Zr!9$tBKC#7F)8{6AlBm(l|v{JBQ zl7cm;k15Xj3sXI*m?oijLqLA}JM#b{`XszQ%Pdfgb<;ib~w3Q$OewwJ}Yb+(Y2*QHdrw) zvBxQ18>2tqo?9Ux*m3v9iPyQmF{z+FBmyO^q(e#W@dY3rxU}VGVzndc;c{=x_FE6kCsP2A_F}{4Hq%Y0W`5#p_1R0jU{^)G?%w<}#7OA{q~k#-@biJQ**0f?zej z?Yudm?2r!Q=9#IoDdP*?6219cm#-1ALn<5Umx&1KzEq-3)}R6bIZ!5T1;@!j&vD{n z*I;hv!<9q%9MKe{_I*Kn&-~NP0r`lR{=KsQS?bS3q#qJI!+5zy^HXk#fPDK~rir2s zaP;`NCV1szSefEixnP`wQyu|O2a8CBhh2hWLP|V5a>Qbn+^_hx#>K6<>hST2#yNEq zarqc?eY|2Uf6#Z5SnS8~q&i7Xt%P2fsSd1}{N1VL);R*~k|PW7Y?)w}=O`gz%)(I# z2J0ooFC0%S5whXqnj?$FsdfTR5!GiW)yc-kB~!g4-?v2c--*RjSr?w5)gw$_3*+&GVxw}c| zbo~q3U+LI}#b(Fwdw85~AJ^M#8AAl*L^lM4R>At_yKhSh7VQHvTM00R|{Cuu2uM=1LSq6#77O2!Q^@OlJ{=F++`Ch*db&D^F=YE0vtA5alE?TZxLwgN}Hg=Q!ege#jAxxSWPk zbgm0wQ6qm9q)f>QWUe`_%KgkLAtNG|kbsB~c>sa13f>c|^eg4NhlOOYXcWeKuKP|d zU#VYSi1+_z`Srr}Bz1UF>k^9j&ju&LffDNomP`Fx7oXSyoxX{11vc&MU1p-TD0 z5^3L~SfpU7%mMlI76`~&w6Dk^q|k6wP5RKW1wuGHnLmM}Zb#AI$be%aOz%Ag0>Yld zV(F*sJ)}NM3jA=D5D@g~Lqt9f!C+?_rn|DAj;RuKjr1HTMv8lJw+YypZ_7E>6t}FSCQvyPBL3U{r1oJ_# zDi{dJ^F-8M;?=P*FGNTPCh@JLXS(5|WRd;~kODoFgs!`x&KJeetW`nG4TuV2rdz^)WI$-#Y%9 z`O&ZchSRF#{#5cgKlew!`De6z?{zWIXTPlgJ1RjPi5p0?OUf=dfAjm_n=KpH^D0<(6NE!qr970MK^+-iN(%l>6PA{*P zuqL###IApjl8{W92O{~@GAMG?qxg-C+fTt7PXwfTh)m|hWKQ7(5pv=Pe=e7!mDSF*kkXcCS*2a7<B^Bw~j&@$BMAxmdFS9N01MSd>pA6L49?Y^jTHl=*uurEy?D-?kRAI zez1W%N65#UG)CZse`5~FMn^15CL(?N3J*5LsGA7B!r_NI`KR|M*jYKL-0N_xNgv%3K(Y?Kfos7-Z7H*+RvHKDFTxE{hzRW{PCyk$^PzpZ=3eV*YNld zJae$%!JuQt!>yGLcJNU#Ew;#~>xyf?d$p==%qNU#0PY z<3z>`IZ3AUGW#orP_*oul;Zl!gk8x${J{^*Pl)_}=iM9T*;z$q=a@_)AbGs-&0|Bp zZuW0jW`0JCgM311TH$@15V8B!@Bh~9f9`QJHRr2lc2PDvC?@4)&_wjFnbSuPncx25 zZxaZ}59pmg``OQElfs{v+0&+)umAa1yp{YAwe6j)f(=$-dpYS>VxuJ|4jEtavb)JL zd7_T#%!Q7UyK_L25Rg87`lMWjH`Tr$VMgd)OT|#r*$KTTxq$xs4rh5?U3c29yx^^$ zuR8@>($ObdJc_L3N#SQ?iX#8;HXMZl9u(uu%u-!?+3D!^Qrstq|S%ONY40! zbbhTa&-~BLu^tnUe?tTWM$}6)3R$@$73*~}vRA~D47@{R=p7=kJXANz9EK2(LJr~BIL;g< zfITvAyg4#og#h>n0q{{e9;L|0Q3C3t1nNg%xWaqBh=dfwF~}kuOXyk&DQS_Ti>J|X z8lS^JKDJaoA16h`=X@juzjOu*pD&xi-}7-9uG#PK*}s0Al-x1*NOA)AFUPf+^qB-k z1J0Mb=d;X-6~6FiQm%ZyLe7t`#F6s7$q3-@9<$JoAe(HPNm$?5>KWZRpM4uW^;~MdpoCjDsR?TtIlN5NUsf zBON3&MD~JkP_*NDGM=9+k(I9C)koCh3EgaPyN!H|?@tlT{=7UboCp}x7~3$`7Y&#B zA9cI}mZUXdBSM>kHAPdfFb88yKIVaBGYP@!R73h^$&$Q%ggh`2$&vXSAS3y_L@!pj zqGOKkaNawcB`?Rn7r*7m2PU3VxES~U=Wq*Aegw@QP!W!o6-eV`oJMFfPLCcwG#Inzk$=QgkALAarYjJ zdG?tk$Cl6X@ruhhlX2F?+G7@{8M_qAf$fU-M;Dibj#C}%QrvPe%hM^71K0%;!5FsC z!LWrE!)`?;s7&;aq~k>2O)!U5_W{d%JR56{5SB4^St0y7)2_6`D(?z2)Fu}D@|w2umAbKF`rVT#Qye^Pd{byf%L0+V~Z&L>g$}E zIkPB-abj5JUzqwC6U--{d}4n4`#%r~|HO-Y{Fu_R{^h^Wfu-c%5LlN9=XHtdEA zNLCYA5?~&z9c2y@2|2(r+8iJQ@c&u+$xOcg8 zjh=CY1)t@)c>htABa5|ci=}-0zic@dmxM&?jfCrQA?i{E^}N8!B=7T~`IA`qnzoa) z)dX(8gVcTpaYTDI+Vcr!KL`N*=3BIc0R0Jl2mPpitn?@JEmGD8 zY(FFNyI%#0dw(@a6=axsllmz7Dhu`9H!9GF2b^KKVIfe7+2p{kw7hSk0>@gDWCNjFzTL}cg0JTEP4&s2$uJTnbZqiBEPvAP1N`7^EKVGp6Q7r7;!V}=F zQ-+N=!NNCS;4uyk(q|HRg;W3&(WmfiyaWA=`dgLux60unRVu*AS|Z6bo@5MK94le$ z0$!r;0!R0=6pK`o)D~+WFXm_P_jCl7S{ys#jQyia6~C6MxHtwZ;mK__N{{eFkm`o~aI+FIa}-p?N-zp?)pC9dxcA^1c&YcF>W)XV!OC z#CHfp=t@MW*ZQ3G<_${hU&+e#`RLzxkbc=h|iS(Co2hYOg=z)KL(S>4@GA z$l+zX2h)z|E9&N&Z_;G+U;g?x=GVXZEgygJi(i>nUw)BR+@pmt?)#dF(ZUz`>NtUI zc8a@bP++C3^j618wX#(*2Y64H-%T|UJ!&4v-8mpB2nfPMsZy+> zHX`h94oEl>($mdjqB@cLzNnNd+i^29?arH-%&xPPgxC&mLxFvCb(y}J!hjrV{JuXC zkWUunb426s(j*`MVJ+G!Zr-ZvPez5E&?y9D{_q@L4NFq7D5shX7m$#pqx#YP1x$4Q zV-E?)|FNc!bJm4`6tEJ1WwuX1UWK>Uf*C9Gfer~7=qqzdYuH~Y$`%TJf3+%CM{yod zMF~T3KR~uY0T;$3d9rb2pl%%Rf%^d*p%eh{N<DoNIXIQcHlQ^E*K{4hO_7t0-$x(o?lgq#jUjhgmuM zN3P$6s;KFB(5Z7#*z|dxD(v~LA|CH4;R8^vXg^QUjyG?RA%(X5=GC4PkS{<$j_l(; z$$iNZSr}*_B(+vyj}oH{3R{WC0rGM)@u*Tm5TpajyFv^_5DyrUOhBN#S%DAmNeIRO z$On%LNmtxUM(@ir3fTyLiN*~Rkm(Znc%~#z=X+4(gJd_SEnv<^9G9T5<3B`l;zNdyFQ zK`?QA0HmnM9bTidu*cpAaMnNnA;dHG2IwyqciO9!pA|i+wVZ#1XIyVFnrRSA| zyfjlHBB*~RAeeV!aSQEbNeFp^U!8;K)c|f=kV{0lUZ1OE0nQU53HvLhe+X`kkUmyZ ztj2xNak5{XCkGm&Uk8oO2{JZtTrkl$co&ILe9+>RCG!|}p3$sh5M$57FTtIIi|p8) z%D5vkmB;p>#d6Ofi)V}F`!JT_z9UOYg4nRAB!F3r9gHvbnk6Vo6c$_T^6~3%7^9Z@ zxOLdWIl-kPf#)f9S={ub#K&em2C#gwI!9Eb?iBkMSnQgpxHVDgd%j+q@5%(mGmk*b zcQI^&;Fc1GL#m6yZEi^fj)HmP{BzvXpr0GY`u8@7?5F-Dq=PU_opbwZg?vcAQyk-n zheKM`aRP$-I-Dm=J_afI80cZws~qw0aSKO`6<`-I>qQWFA|%gF>TRAVzSq1lf2wJD zcB{E`^i^~Asf}iD{Y0~I$k%Aas~j4W`MggN#wiHMTE?#aW^vKi&C;P6=E>!?=EUBo z&6zh|GS57+)XXo=Gt+zjIj@LUM%XpWbDZ=tQ|UN9FVn>C`HGo3G-fufUTNMS((%mh z9j3l?rs;FfUznVG|I!TT*PHRkCm=QgBCGi2SQ{)`76a<#EDj`-(lZilx~w}i2|d~N z5aE?wdol?9A_3XqayYiLY z;49Zjze2usj?M$QL8(z@caiz~b&?*HQmCE&>jrA8?Ub)MyFV#p40im`H?vE(Bn_zm7nefcZ@V?fsBOdmJwUFFGmr10?$!C(8MJ6;=>9pJWb@qB%gy z=KvYZ`$_nml+XcEVBR&HFPNg&MGh)~VZrzK%-3+#@5ul-NDA@5LXm^yrNp%Zq{v0+ zoDBvmVlW&e#d>hDJx-JF*l3`0QpATAPv>)y>3ogvTOz{uEt;;+kmnr2cZ;S;8Pq7j z`=oqRoHB}WgZ~<+53M7SNrAdNIA80Tl=6N$e-m}zs7hGRZMz(381J>$o7`sOrS0$; z?TNOfjQ`iEPoe+3S!1Qx6WhQ|y%K`H zIfUgk2=!a^-&fI(sXw!zf3p-(zaPN;U%ZCab6Ch@1j_qGp5H;lV_JcE7Q_R)1k+f; zc-o`8oFnqF(~Exe=S}$RoR76S@qE>2nIC~j<`SLzfz_{M`CVDocCPM%j@`zm#X&%1 z4hZI8jOBSC*-Ai=DkX$r5EBTSilxM&PqsHP-4c*|o+~2zhZOR%yFywl`52TdyPpr` z2#7>lKtRS8ND3H;5GKV>kINhtL~0PRsTw4!_|(?lX zYq1Oc;dS;X595CNh8lZ6}$H9=L7Qvj}Ex9P;m=b#@D7Ke!pH&`5F z>|(5<&yBXOacz81uQZO2)HiQhOluGv+h0#dlKla(Z7;H)@6&7ba=st^gakOqSjeBz ze^mc@{R;S1ta@@J6Jhj2!LDJVTd9w7UoDru%cA(TuMB;>NU^KP$FA8bG&WvT>;i5* zr%n^-e(c4wdvu1`Ir2WUz4(4kx!OV#&9}2tAdjQA7@u$!JT^|82WvEPyJTpVsW14t zsVVp?Q$72x^>tHl-=CTM`@U-W-Sg)r z=j(rF3VVHnBd;-wRk|0Ex2I7rT}Is9T-9c$cq?ONc=nv1UZ0WLF1!PCjZDIUs4KV5M4GEX?du?SkIj4(YcuF+D0QmzCv8R*-Z!gu~nGLzk}1^>Pzst$pz( zN=gF=NbQi`=KuXL)&Gt-M<_hmoJ5Fx{A5W185@1r$Z*pc>X?N1%AE76HDv=k4gYj0 zq98He59EJrgh-U*AL;xby>k(>S%}EVx%p-*c{iRy+6Wm^&rF9DnrF$o`y3IF=Vy@2 zEHcm2B(xW1#m$SP%wL>6z`RHb{iQhr%}b?&%-*uWDnrc6bFBquRA|sv<(7y^HMeut4c=|k^KI1sSyhg?@ z3n`4(8}WI9d6kZ@lfrq8lo5`vH;~|b-XuQ0hHH(J=r~EQO{RPGoRm6_udz(l&-VMt z<_*Yvk=OY+MbD?G(D?!!rk^h*164(dRmxkEL^IBW|l& zX)|1V73Ve7mbGKJP4`ltc%7byIUt|)kbwN?m%lYvj=jc_hL@>Nq5r&Ejea!Jyh27I zWS<_<&-PUeXF>nN{d)=fxL=a7xtEUUuPCo zF&YapCZ46Sf$@Q{@)XIFQ$aQg%;OyC$Tz!4gm6%_1Bx3voO8-me@|KCx6ue#X9bvc3Sm~pE+Y0C0 zhU0?zN3m=lzN;O_824(e;u^_5l~-BlKEk|LYjAC}UK{P{w|!REQU7_x_9d$ip&MC% zUxZ_fUnGQG5a6fPuX{@evoLm1Uq-)v33{0X*o8ii{{KAT7RJIeid|2WJTf2NK0)^|!u+*j!j|C_wZ$AWnZKqBY2*qCDbzV^c{yTVSt8=E z=BKGxnvr5{HEX+NX9exM%}Zhw%w1SAatlB$x^iF|~2jf@Iw zb+=kUcN2_)OX_Ahk&diDN6mKTeDtyr4+;VLb3d|m$KVhF>7DK6QfJchOKErD!*lwY z){1_nsl1;#U*6v|SM)b6B&`*Brj4YdD$jJ1?4Q+-Ne2`>1}}RPp~xu}1L+v`!*yQ} zoev^Q^Y-Npzt)ffZ>DE`i*`l-U|xZDgnV1&yYmao_ZJkH_Zwv;nT?ch4TZi3#uO>^ zC#U5zKmn+pA>ev?I>0M#o`oSc3sOYJ7!>*d^E|+A4#01ad7%_CM2)&3=0%d10F@PDJ8KuY3A~h=2W6UcA>QEk1;I6Y{z|R{m4Gqknx03x7un__g_RzRzB>_s_>Q|F_;V8b$Vn-^*pR z<(OGG$cBHVj%F8ZeQ%NNURe z;z7#$NjmN+Dd4fgb3Bk{MM``JDRE5Hl*yWTG`@&@Oz0noc!(137bG7f3x-SNLsG9~ zDcg!cvj0b^u7G6;2qu0{B*T9^6A;-8q*w{aFrBXf0)fZ{EA+k+4H>{hL+5ztJP#0% zcy3l8>M<}kO9)86Y;XPt(z`}-v_&Sqj|Tza6s%sHT7k&S3?fFDC|^2Aa0^~g;FdT~ za?E_BV~v!(K``HCh0bML%^p?VsBo;LWx?Z$obxSOpCENRrdT2(b8DU`5$qB&Qoz`S zwt9w~C(oeW2&hm@U$(l6&qv9zYLwS6;AFG?gFjQBd6{J-^(*uz?Nh1~_m+=fJ<0vALUbo% z81+l(o76{%c%bjT2>hBefaUqw=-a@r0fJjI1-lrxW(eu*N}{yl zI674Qqtulev0bbYTR26Lp}~$5U9}Iil2=(pQ`$b`gy{-W*j3h$SI?vVE~6B*&W*lHqMw=x-dI;Z0BvX1Zkc zIFlyI9!=NIO-4eZrYpGiGj>G3I|n2U0uo*cD_NK+S>9a~!@QlH(7lL>o!?=vc}xA; z`5rRYBimWt4V_q4y^_4c9GiNTWmB&*brY{_p7+5K5M4VT>^&nR%iQ+>R>qRu)U&fC zk1-eb=g=f8@;YL&6~c}fbTB3`XlED6&cd9|fGEgNL_uU&o9?m z@#~4D)`}=*savi0YN_MBq;U7rXJ6=Zby!Amd+x0o?YAej?X%RE&OY&&`HWUO!DPoD z{q?VSqpKg0e4+9qSLpkn{^s}Qdmnt$yt!-+rQcAx4f+kpEc%m@+Ly|$vL4C?*Q>{f(T&yXmW`COD?~Ks(|B$eE@NDjc#aSdUHu9h{Y|G; zWH^nXP|_I2+r2>YB|3p91)>$=O_XJM2RTdgVqQp5PPRrt1f$}R9Q~e%$3Sd4NO&|T zSLTv10qL8~>0Q|H&=L^L0U2KigQ6GDNhwhR0_=j*1-Ml?2y;RFCb<0uHyv9O|F zvD5=Rs;kHL<)w(%j+GQO)Ef+;O-NmvCEF8A{*4vy_hhFu=!O!TF}#UUTpylV|X4D+#XqJv`-L+`fd zQl^&!Wgq9`vh)964&ZwtX1(I#m)7?yZd-)$OEK(ai(S>D0$3)5(`o0*QGs@Ui9Wx? z`fDWP9AjVLNPVSB`i$3aR0qOoA{b_6SOC8~0gf?-4PpW$U-yVd+#3sf zAT&0fD6!C<5(?pg9=ZNjZJe}*&pHm}cp$yqXRMJKJ@wgSo36YNxGOjVcv1kUy zyEslX{c1pOZ}U`Sbsz%bIZpC~fWWyi)LX$1c-2dtBYp$~j@|yfvK#`E=@Ad?50aDR z%n8ZP^j9wRNJfT#WZN&8qLrCs1=VyWoOibzZ?bEtCZk7PyGuZBfq*326*4NlsyhbR zU8l%O(TT#lo8y?B8CvZs%MZ`VCWGkA#H6!j&FS8{`a++qOn>QJogmd;m$3v>FVq!h z#LL)=6uh0(DNAGyr3qHU`pX7l#dcMh!ff^quqTo8sWE_|$a_mV!(j0w)(^9(SYo&= zE$-{BjP;-zHmitetl|Aa;CYqw4=nqMozpi>$nzBX&M6|hriwy;8~{~P$Y~`2ERYca zF%k9%&k&{l^i1-$%n}mv3@ddQbR-0l&yg~JZjLDQ=jr@;G60`fPli^u_Dz_ zE^@w?ykDYh#(LlHC8hNe$zGKg`M$B{MN(RONy$N8BIUN1l-`TD7oTx2D?WQJ_q|*v zBxbL3Z7(U%z_}U%_I?lrR;D*B3qit0wB$AK#uF_r~$w##JGt_Sm zJyLI4UfN|^_dae~Ufk)(4!Z7tZhiT2bN<;a=5@*|he!Jb?l&X&2*dD&GU`i8axK~A zzDCOWdGtLtE{9NG97G}p=X0|LvEmk^6n&QzH%JHiv_?J9*Pqlr&xS1&IEV+04UCc9 zZ2T6mAq-*iL1Sv$gnVA6a??Z^YmzhFpOrXd^=R=RV(u14KSqfo0TE1_dR0ebTjqYq zrhcWo19~4;;?vwEcxj&?kPqZiLy?bE0)o9dkb*V1Zu=z1r{h z7y}}sc^vT=ve?DrZ?reo_FBBE4&fAyRlZiM*BGzH3tnMt^EDUO#(S9XlEpYZXKbh& z7r-g+numFUPcCi={@801J?wee;**C__Pz-b*L>XCtIvNafL#+5pQQZwPkZafdH-#% za}?Yf6A-^HZ9R_(>Iz%`z@_TZid#w^9K4eD@-fT(j&)PjNdAs-u0qan{e=p9ZG`-` z!WZr<<-=I5J9U{@sGH>2m4%;-q2RJLRdLQ;L8iToH9s%ja>7pF5?I+O>V3D<>@}0RL z;_Q`$e{!>BcXY{4(LLF8P6)4D>SefOslAw?6VfAgOt*HX{hY+63}3V7$)*y7C!vQY zm`9P3WZP5RB_L_e0ZBE>-(A%zoz$vm65`$$!A9MbD`!{pz~pjoxwcGi={7rwiC4J_ z%=^gnn06l<_3)O4%jAjYdCn>_tl)Fhqo`g;tH|w2GNX6^iUEPiq?1UAPxdBs%CeTT zh=9P0fR!XFyp)DqZ)sk59^ipkq^sw^E3tf3U(U~bP?zZicmPBm87E`}ihUitvlH_; z1#1(@W>V~1CSyKGf!Rjhk?kynX2;Y*v$I5GS4qt5hD?i_$ERButq-?l(n&c@`>QA$bWO=6Cm!}D=pCLl> zOgTx#C^;v27Uz|aF?y8qXRGKl$+LR?Y&DK!`I^XBx;EB4ha=0F&}TZY#y#WcDDtcd zf36YnuJPyb-gkW6UaN7>!y?z8=kp2P_2+Bd&lC8*=R?nX);`0&vnE(JDTn+I{xA6d z)z1HQg@}ZIK1SPt51B z0|R*jl=cLPbgUiUpI3-s#XVNitsWXBDObGDhmO-lyxNuIPIKggh=)yI;ECtDg3N49 zV_*Uj>+R)HPqe8F`4W*Bov*85Azez-rbK!%_6&B!Mny2ee2{m&m!@qAfq{c$m_7^3 z?}B*1S%UX)1f)Qg0fy6LN=)**F%M)0c|2zg%u(DD5>@HV2gwx&3L7r|T(+e=pG{Ib z;9*@gN+Lx_E45CPwK|Vxz1BD5mWN$}TWBA&6WVJhwHw-R*HpzWw5^9*E@ll>aj*-x zHD@sQDd5)AbB21j^)!V0A(82_5h8O(Xn$9n;(o8=A~0qIr=G2l@nyxstI7~=IoRcm zQN|&`FpE_dr+{J4Rnge5a&c>{gAHTlSRH{E&bf~(;{*3R=VFh=r|R*M827A$Pr-ML z=idZy%PYT>SN^+?T^6^V31e3nx2l{vtyJ8q5Znr2SNSN>9|0@_ZWVj_#ltR7iuE|c zzeer;bh*egF3zDppnuHO{=s_A;+LMQ4n*I2+QBmDN{eUchfgYgJ&C@lef5c%13bMe z*j2>+TX0LTYe$KXTZ~=M?~@96yli5$ zt8ut&I0~Dj+QF?-jedZ9cxj_Ce**gW0&%*IRtM~eJi!}YLYzrRFSeU_0gaq&XZi3< z*;rLcNMDD=A-Ls>aX zj@><2*4;;5H4_kB#&U?RBs09fD)hWwz9$iD>K6zB!9Yd61;gZDIpM-!i#S zgg|T?OWbTDrM?}&Mn)RTv?8;El=&`C2AW+nNC+f%lR|%d=3w*qEENJ)k)Z*3V$LwL zhd}v>QpgBC?xEwJG8F>!CrI{`k&qIAJUN#{&-ct7MaNO*Nm4d@%184tK}Z>S$I7vE zKE^zyg7YWK$C{_;`qNc%*y)1yFK`f`kae8mAd76#b>Jb zJ$y~;AMFy5VreICJ368*=W08a`XX%%8O9=QKb-r5C#C2cB-%$HkI#{7(szdVg8t?7 zHS|4K&@Xq+uzi$v^|gZj>-A;o+vwj@sh>}YnXOZ#?{6XHy_t@iNO`l;CfT54W*wz5 zg3z<#Cc)U^3Ff*&42TCjhHwgCOfJzyBak;eU*~*a4A%|KWhHLO2k-kaNIZzMimVrr z6nQMiOJm?%>H=MgH(w{BYlH$$4n!;grdc6tl+KN$AdAAX8(#y?G#5t!uX879u#9$5N>~q)RHPk6Q~y^i>B+ZqR|kP86v} zcA{9^g0Y0US6M$naEq~vaBDMR)@C|xol?MU2+Xp$wH@s}EzYuYn)V0u3t-lC!L41| zX99i7!7i_Fa^D@!*d@midL9}N9!?d@7%F$fey$juRGzZfWwFYRYaGk*#=G5^Xubzv2 zvGwkKmUeowECS2sDwfUFwk>n8OmXfB6}jf@?uhKYWaehci{St5NI__ZCveO>hR)~SU|%rO==1G`ACZ=f-^w&Jh4J(V zJ52fuZjBLp;X$5gE^|GWy7N7-N}r}&0k>+IeB>%__2IPf*@3wqHvP(-fG(J2mk%G2 z=ci!>=dDSqXiOLO$=A6c{d2MsCZpT^LHcB8daGmQWMzh;B0+mEY!6268`2E{xfNTs zI~zEe+$A8lI0?NcB%`~XBzrV*Z!ix%E zU;@H(Lj*XM7xz;V(w7xEPxc&}$BO(B_0~$NgC!yPs>~I*u>Q9tA|zYMFoSWn4My5j zYq$~cu~Hx4k&&G<2D0n|a9R+ZHQ13MA{KlJly|d%sWO|qI`Agn^&Q zNwE-=@{#f#DVQh9i}m^_mOZMB_K;`m34A|S$cig`jTPA_J-TAAjZqmZ3a?T=KY{P~ z9LKTxy^t24^o;e6e6M@0(z#EM{C$;tx2Hm{sUi-(Q>8LkUP~sPDA#LBB>1zf4>pcQ zDTxz9>4~|;s(hthpD0ry!|HLZf0nu02DV*10!cE*y#``2T$Qi3YpK)LR&Z^$ijobV zs7gQCt%`crOxuSB%lXW~+|O8MI5J&~%bn_&VG(wE-#$hsX6Jxk`i0?tf_~wb{ z17+WjncfnXvf9*SC;Bm-Q?Pn_Z z;Z%seLPBKnc`uFHs?)@q1EP)-B|}p*Iy23i3nJ0mQoAbFAo+iGWh{1{49oSLCyPf& z6c@O)f+xE6^XG?n&XYW@<41K4n@d6%yR3&7?PZ-PQ-y?V#}RE^LTz87D6O)ljFOhWoLOgED6f=r|JGvUpYO;g=n6dpuI_VwaBBicvClJ?zr& z<_56}2KpY)nc(Br6Xg~s{G*E@Pco*AB^l#k*prH5PdLA`*u)rTF|1;22ph-x80O$% z_?>%fnJN;o_la@`hZVP;D0i@Yt`(o)dAL<3_4+uD>#;xrj8S;;o(ulAR<$ATLa!hxK@t75q}T@(Sy%*segKr&O2kTiEaPiH6es0Em! z=1kuuAZbQG!Xc*coRD-^vPukbWqK)C_B=DQo5|=I8Q$b`FYQWm0kgxMGBe9t@yd!n z=R@XwIXTvT3RW-9$sX$LC@f1_W>YR?FHUC|uMs=!NQMi%5S(8Pk1F!3hf8|L;*qjU9upBL^wByQo${<#!P^0a z&fo(t2mmSHtYxnVK&rs3Cq=#>ssBMga?awktQ8E#vr7MZOCgj=WK zSY);lNN$@p&}<`xzI_H{5X%k%*zF`cWk``js)tv2*`KM z8P2kkk0Z=(0{q={+(k-dcNsq8D6-2v^7T=AET(HBkCWosMG9&+9d~<2k;hebmqSMD zk*)akRDYlY$#1asR^&!}&Zkw;k+x0sCNd+h~b+?s50t59(( zrtNQWtB7$+Fw4iSZQPdzv7n!EzjJVF=WM5s^0{JGsp3_sjD?+ZbgY!(+6W#yz$1*a z#~rMavFKu0v7XDAs?WJh2L8&b8yQSi$Oumcsy`@j0%08>th+q+%X|6ve#U! z(q|Ic2;!3e+}#eg?$XbXYk7B-+y7R~@Am$?;@ED*uw5>G&9(Jb9KbIRugZMv+U2!{ ziaker0h8!l@N1ZlWu?RQ`{5p*;rpFLD1dQ0t-hKyTy@q^#Vw0(Ls;DN0G`dTqF6RV z`rI}T$85i(K000c>lXA|7SX}nueFb(zcY5R?k@01$66clAnfvSix#FK!MMW4#w%%z zvD3sxY;DSwjo2dXigC+#npAO$WiC%TFC8d$3L>_gG76^&M{WIx?RYzHEnm~G`iqle znBtF(esBs_uHC~(_A1Kf6f6?8xi|{aTL_5VpsGS;lD zCnB1Xe~`YbM6sk|Sbx6yxb|Hn2`&Re}}#qwY06ic0y>QO&$)w7h6XUY-%L#_|jd!+Ad zLBFBCw1pJ)7CLU8X8YGb?|c*WzfC3RgL>pXDgARjg!=0SlJ%3~)Q98Lr>QTKaQ`M* zOY-OhNC7Eo8VlnKbX>?7Sw-XJAs#z80;L7aV`l_B2uhmVWdV`N9Zauo>1Pk zq-9Bj1Y~14MNEdf_w~zW&m^Z_v9mMMhr)v~sw$5X- zsaWNMbG=9i>HzcE>J__S-~hYeNI~6UWxvJ1E)WvbFJTs^XK}qt{jX9Z>S2pp)K-FB z1%zEOZpXD2x6sbi-s>g_W^q4Y+!`R5HP!YR>Pw1Un-#kluUP1Oro}E`mXBd9ie0wv z^Z2mX1<~=u7=|$rEyV{mpcAjuZuW{Sjb{{5s zOLZ3ai$MPn{9+8VNA#mTJkW6siI5G#uCX$HR?_)$#V*(dOO$lLURX$W!+gfBzRm&}61}V%(w8Qi z=ki9$utUl;(m8v8I8A2if*B=>TayZa5jpBKvFTUYvVkhwLxey5vUDXZf1cU^O=FjR zi^R6dCjyeMTOP0tmLqmqzh1H`sYFDwb-%VuFMFl8vyrr&7t$+a4`zp>AQ>6XCWfw^ znIVKDBk1T(MK%(ySxK=%>|FwK2bbXuGrCkcb;&n)QNoes-j_JZJkyPKWMm|=-K>ZS z=UHylL+5}f0qJ8yeLV3glcOI90m{aMBD|Zh<}2D2uVkWU788&meY3quox{~QDAtMS z@G6egRb?g=h=BoPV@i=#=n@5)%^Uml(X@s>I>D0w0bx+h$E@ePa)5>yKJ!PYAp~Wv z3VkVo&N5Qw%i*a75g83YBExEIK7-RLHnhm-Qe|!xx+wKRR_tph`SKWyH~``lNL-9O zQtIm&JOQEu%?1M1jU|KV2pMcP65z5-A7VC5hrubwO)x$Q)HlrlDS-^5&%;TEv25XU zD2owh3o8wg&G=5sB=(_)T6ieW~ zvQc{7|K1h3ca+}eJhL=>ZB+1DS@4-#<|LMJOGxC}NIA|fmjCaH*3(v}j!>7IXO7Ui zmAd3Qcf|iJ1{d09lODOfX6U)sjzhU^H&NUAZ9Y`md^-Ar^Z_QQ(;?JPxQ_^7-K0vI z`%K9|?niPQ==HA+QwOrbUhhc}6XbO&>(%&NNB#FP?z^hAVW^@{lRQES{E_j6((jdc zFzL{-A<8?C$@>aAV*EgfFV$2ljITu_WTNH*HKykcQzbr34DK4odx*s)WX^}(xT_DZ zfH#A4sC#=GcunC&DzNi-4jcWf%nN&KL_(Id9F;Ga!jTXU|&SRTvqqswC6jzq-+d%zsBl@i3RS>s^c(~<`2RmjqDP9Q{$+gWo{dc7>0AjuM*qm2AcIH1Efz*wK`S$Ds-*%UFpAq zUE(ld9X-B4Nk@U=R)LHQ9wYgz>me&t|68ZYl47wB7Af(Vuh`W{*adr{Zm5r4Og;wZ zc&VauoW(MLS<~Y({$=8MFLqEⅅ=#wevrUEdgO?2na})M?g3YtFOOQxJ|{9NQg*( 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�&LNt%MX_6~q`N34z= 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 Bz<>Y% From 92f2b4db957de0af1d5003c3ea2ebc15160cc675 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Fri, 23 Jan 2026 22:14:12 +0100 Subject: [PATCH 110/198] Added placeholder LICENSE and CONTRIBUTING.md --- CONTRIBUTING.md | 1 + LICENSE | 1 + 2 files changed, 2 insertions(+) create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..808c478 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1 @@ +`//todo` \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..808c478 --- /dev/null +++ b/LICENSE @@ -0,0 +1 @@ +`//todo` \ No newline at end of file From 81c6c377d48fa97b25ddbc66074a53e37eb32a0e Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Fri, 23 Jan 2026 22:14:12 +0100 Subject: [PATCH 111/198] Added placeholder LICENSE and CONTRIBUTING.md --- CONTRIBUTING.md | 1 + LICENSE | 1 + 2 files changed, 2 insertions(+) create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..808c478 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1 @@ +`//todo` \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..8371f3a --- /dev/null +++ b/LICENSE @@ -0,0 +1 @@ +//todo \ No newline at end of file From fd7dbd1155cd6e4a60feb97e361ee57c28acf9cb Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Fri, 23 Jan 2026 22:30:54 +0100 Subject: [PATCH 112/198] Added gnu license --- LICENSE | 166 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 165 insertions(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 8371f3a..153d416 100644 --- a/LICENSE +++ b/LICENSE @@ -1 +1,165 @@ -//todo \ No newline at end of file + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. \ No newline at end of file From 58dc5d8c2ebf20264d15630076b733cdaf3c1e3e Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 24 Jan 2026 10:32:00 +0000 Subject: [PATCH 113/198] Extend workflow to include build stage (#185) Extend workflow to include build stage (#185) Reviewed-on: https://git.yannick-weigert.de/liquid-development/game-tracker/pulls/185 Reviewed-by: Mathis Kirchner --- .gitea/workflows/pull_request.yaml | 83 ++++++++++++++++++++++++------ .gitea/workflows/push.yaml | 73 +++++++++++++++++++++----- 2 files changed, 127 insertions(+), 29 deletions(-) diff --git a/.gitea/workflows/pull_request.yaml b/.gitea/workflows/pull_request.yaml index 5b88cdf..3a54367 100644 --- a/.gitea/workflows/pull_request.yaml +++ b/.gitea/workflows/pull_request.yaml @@ -4,44 +4,93 @@ on: pull_request: jobs: - lint: + build: + env: + GRADLE_USER_HOME: ${{ github.workspace }}/.gradle runs-on: ubuntu-latest - steps: - name: Checkout code uses: actions/checkout@v4 - - name: Install Flutter (wget) + - name: Setup Java (Temurin 17) + uses: actions/setup-java@v3 + with: + distribution: temurin + java-version: '17' + + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + + # Required for Flutter action + - name: Install jq run: | - wget --show-progress --progress=bar:force:noscroll:giga https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz - tar xf flutter_linux_3.38.2-stable.tar.xz - git config --global --add safe.directory "$(pwd)/flutter" - echo "$(pwd)/flutter/bin" >> $GITEA_PATH + apt-get update + apt-get install -y jq + + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: stable + flutter-version: 3.38.6 - name: Get dependencies - run: flutter pub get + run: | + git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.38.6-x64 + flutter pub get + + - name: Build APK + env: + GRADLE_USER_HOME: ${{ github.workspace }}/.gradle + run: flutter build apk --release + + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + # Required for Flutter action + - name: Install jq + run: | + apt-get update + apt-get install -y jq + + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: stable + flutter-version: 3.38.6 + + - name: Get dependencies + run: | + git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.38.6-x64 + flutter pub get - name: Analyze Formatting run: flutter analyze lib test test: runs-on: ubuntu-latest - env: - RUNNER_TOOL_CACHE: /toolcache - steps: - name: Checkout code uses: actions/checkout@v4 - - name: Install Flutter (wget) + # Required for Flutter action + - name: Install jq run: | - wget --show-progress --progress=bar:force:noscroll:giga https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz - tar xf flutter_linux_3.38.2-stable.tar.xz - git config --global --add safe.directory "$(pwd)/flutter" - echo "$(pwd)/flutter/bin" >> $GITEA_PATH + apt-get update + apt-get install -y jq + + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: stable + flutter-version: 3.38.6 - name: Get dependencies - run: flutter pub get + run: | + git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.38.6-x64 + flutter pub get - name: Run tests run: flutter test diff --git a/.gitea/workflows/push.yaml b/.gitea/workflows/push.yaml index 20319e2..0c4a75c 100644 --- a/.gitea/workflows/push.yaml +++ b/.gitea/workflows/push.yaml @@ -13,34 +13,83 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Install Flutter (wget) + # Required for Flutter action + - name: Install jq run: | - wget --show-progress --progress=bar:force:noscroll:giga https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz - tar xf flutter_linux_3.38.2-stable.tar.xz - git config --global --add safe.directory "$(pwd)/flutter" - echo "$(pwd)/flutter/bin" >> $GITEA_PATH + apt-get update + apt-get install -y jq + + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: stable + flutter-version: 3.38.6 - name: Get dependencies - run: flutter pub get + run: | + git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.38.6-x64 + flutter pub get - name: Run tests run: flutter test + build: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Java (Temurin 17) + uses: actions/setup-java@v3 + with: + distribution: temurin + java-version: '17' + + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + + # Required for Flutter action + - name: Install jq + run: | + apt-get update + apt-get install -y jq + + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: stable + flutter-version: 3.38.6 + + - name: Get dependencies + run: | + git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.38.6-x64 + flutter pub get + + - name: Build APK + run: flutter build apk --release + format: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - - name: Install Flutter (wget) + # Required for Flutter action + - name: Install jq run: | - wget --show-progress --progress=bar:force:noscroll:giga https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz - tar xf flutter_linux_3.38.2-stable.tar.xz - git config --global --add safe.directory "$(pwd)/flutter" - echo "$(pwd)/flutter/bin" >> $GITEA_PATH + apt-get update + apt-get install -y jq + + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: stable + flutter-version: 3.38.6 - name: Get dependencies - run: flutter pub get + run: | + git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.38.6-x64 + flutter pub get - name: Check code format id: check_format From b2e58f2539e8a74ada73ed41860e3f6579605e11 Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Sat, 24 Jan 2026 10:33:32 +0000 Subject: [PATCH 114/198] Updated version number [skip ci] --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index dd01e83..9f34085 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: tallee description: "Tracking App for Card Games" publish_to: 'none' -version: 0.0.12+240 +version: 0.0.13+241 environment: sdk: ^3.8.1 From c5c9a434591d2b124595946cf26c57aeab78e94f Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 24 Jan 2026 11:41:07 +0000 Subject: [PATCH 115/198] Update licenses in push pipeline (#184) Update licenses in push pipeline (#184) Co-authored-by: Gitea Actions [bot] Reviewed-on: https://git.yannick-weigert.de/liquid-development/game-tracker/pulls/184 --- .gitea/workflows/pull_request.yaml | 39 ----- .gitea/workflows/push.yaml | 146 +++++++++++------- .../settings_view/licenses/oss_licenses.dart | 110 ++++++++----- 3 files changed, 165 insertions(+), 130 deletions(-) diff --git a/.gitea/workflows/pull_request.yaml b/.gitea/workflows/pull_request.yaml index 3a54367..26f4404 100644 --- a/.gitea/workflows/pull_request.yaml +++ b/.gitea/workflows/pull_request.yaml @@ -4,45 +4,6 @@ on: pull_request: jobs: - build: - env: - GRADLE_USER_HOME: ${{ github.workspace }}/.gradle - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup Java (Temurin 17) - uses: actions/setup-java@v3 - with: - distribution: temurin - java-version: '17' - - - name: Setup Android SDK - uses: android-actions/setup-android@v3 - - # Required for Flutter action - - name: Install jq - run: | - apt-get update - apt-get install -y jq - - - name: Set up Flutter - uses: subosito/flutter-action@v2 - with: - channel: stable - flutter-version: 3.38.6 - - - name: Get dependencies - run: | - git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.38.6-x64 - flutter pub get - - - name: Build APK - env: - GRADLE_USER_HOME: ${{ github.workspace }}/.gradle - run: flutter build apk --release - lint: runs-on: ubuntu-latest steps: diff --git a/.gitea/workflows/push.yaml b/.gitea/workflows/push.yaml index 0c4a75c..75e1dc0 100644 --- a/.gitea/workflows/push.yaml +++ b/.gitea/workflows/push.yaml @@ -7,32 +7,6 @@ on: - "main" jobs: - test: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - # Required for Flutter action - - name: Install jq - run: | - apt-get update - apt-get install -y jq - - - name: Set up Flutter - uses: subosito/flutter-action@v2 - with: - channel: stable - flutter-version: 3.38.6 - - - name: Get dependencies - run: | - git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.38.6-x64 - flutter pub get - - - name: Run tests - run: flutter test - build: runs-on: ubuntu-latest steps: @@ -67,9 +41,98 @@ jobs: - name: Build APK run: flutter build apk --release + + test: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + # Required for Flutter action + - name: Install jq + run: | + apt-get update + apt-get install -y jq + + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: stable + flutter-version: 3.38.6 + + - name: Get dependencies + run: | + git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.38.6-x64 + flutter pub get + + - name: Run tests + run: flutter test + + update_version: + runs-on: ubuntu-latest + if: gitea.ref == 'refs/heads/development' + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.BOT_TOKEN }} + ref: ${{ gitea.ref_name }} + + - name: Increment version number + uses: stikkyapp/update-pubspec-version@v2 + with: + strategy: 'patch' + path: './pubspec.yaml' + + + - name: Commit version update + env: + GITEA_TOKEN: ${{ secrets.BOT_TOKEN }} + run: | + git config --global user.name "Gitea Actions [bot]" + git config --global user.email "actions@yannick-weigert.de" + git add pubspec.yaml + git commit -m "Updated version number [skip ci]" + git push origin HEAD:${{ gitea.ref_name }} + + generate_licenses: + runs-on: ubuntu-latest + needs: update_version + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install Flutter (wget) + run: | + wget --show-progress --progress=bar:force:noscroll:giga https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz + tar xf flutter_linux_3.38.2-stable.tar.xz + git config --global --add safe.directory "$(pwd)/flutter" + echo "$(pwd)/flutter/bin" >> $GITEA_PATH + + - name: Get dependencies + run: flutter pub get + + - name: Generate oss_licenses.dart + run: flutter pub run dart_pubspec_licenses:generate -o lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart + + - name: Commit license update + env: + GITEA_TOKEN: ${{ secrets.BOT_TOKEN }} + run: | + if [ -n "$(git status --porcelain lib test)" ]; then + git config --global user.name "Gitea Actions [bot]" + git config --global user.email "actions@yannick-weigert.de" + git add lib test + git commit -m "Updated licenses [skip ci]" + git push origin HEAD:${{ gitea.ref_name }} + else + echo "No changes to commit" + fi format: runs-on: ubuntu-latest + needs: [update_version, generate_licenses] steps: - name: Checkout code uses: actions/checkout@v4 @@ -118,33 +181,4 @@ jobs: fi - name: Verify format - run: flutter analyze lib test - - update_version: - runs-on: ubuntu-latest - needs: format - if: gitea.ref == 'refs/heads/development' - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - token: ${{ secrets.BOT_TOKEN }} - ref: ${{ gitea.ref_name }} - - - name: Increment version number - uses: https://github.com/stikkyapp/update-pubspec-version@v2 - with: - strategy: 'patch' - path: './pubspec.yaml' - - - - name: Commit version update - env: - GITEA_TOKEN: ${{ secrets.BOT_TOKEN }} - run: | - git config --global user.name "Gitea Actions [bot]" - git config --global user.email "actions@yannick-weigert.de" - git add pubspec.yaml - git commit -m "Updated version number [skip ci]" - git push origin HEAD:${{ gitea.ref_name }} \ No newline at end of file + run: flutter analyze lib test \ No newline at end of file diff --git a/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart b/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart index 363ca24..758a6cf 100644 --- a/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart +++ b/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart @@ -57,6 +57,7 @@ const allDependencies = [ _flutter_lints, _flutter_plugin_android_lifecycle, _flutter_web_plugins, + _fluttericon, _font_awesome_flutter, _frontend_server_client, _glob, @@ -160,6 +161,7 @@ const dependencies = [ _drift_flutter, _file_picker, _file_saver, + _fluttericon, _font_awesome_flutter, _intl, _json_schema, @@ -517,13 +519,13 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// build_daemon 4.1.0 +/// build_daemon 4.1.1 const _build_daemon = Package( name: 'build_daemon', description: 'A daemon for running Dart builds.', repository: 'https://github.com/dart-lang/build/tree/master/build_daemon', authors: [], - version: '4.1.0', + version: '4.1.1', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -724,14 +726,14 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// built_value 8.12.0 +/// built_value 8.12.3 const _built_value = Package( name: 'built_value', description: '''Value types with builders, Dart classes as enums, and serialization. This library is the runtime dependency. ''', repository: 'https://github.com/google/built_value.dart/tree/master/built_value', authors: [], - version: '8.12.0', + version: '8.12.3', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -1185,13 +1187,13 @@ const _clock = Package( limitations under the License.''', ); -/// code_builder 4.11.0 +/// code_builder 4.11.1 const _code_builder = Package( name: 'code_builder', description: 'A fluent, builder-based library for generating valid Dart code.', repository: 'https://github.com/dart-lang/tools/tree/main/pkgs/code_builder', authors: [], - version: '4.11.0', + version: '4.11.1', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -2369,13 +2371,13 @@ const _fake_async = Package( limitations under the License.''', ); -/// ffi 2.1.4 +/// ffi 2.1.5 const _ffi = Package( name: 'ffi', description: 'Utilities for working with Foreign Function Interface (FFI) code.', repository: 'https://github.com/dart-lang/native/tree/main/pkgs/ffi', authors: [], - version: '2.1.4', + version: '2.1.5', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -2450,14 +2452,14 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// file_picker 10.3.7 +/// file_picker 10.3.8 const _file_picker = Package( name: 'file_picker', description: 'A package that allows you to use a native file explorer to pick single or multiple absolute file paths, with extension filtering support.', homepage: 'https://github.com/miguelpruivo/plugins_flutter_file_picker', repository: 'https://github.com/miguelpruivo/flutter_file_picker', authors: [], - version: '10.3.7', + version: '10.3.8', spdxIdentifiers: ['MIT'], isMarkdown: false, isSdk: false, @@ -2571,13 +2573,13 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// flutter 3.38.4 +/// flutter 3.38.2 const _flutter = Package( name: 'flutter', description: 'A framework for writing Flutter applications', homepage: 'https://flutter.dev', authors: [], - version: '3.38.4', + version: '3.38.2', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: true, @@ -2701,6 +2703,44 @@ const _flutter_web_plugins = Package( devDependencies: [], ); +/// fluttericon 2.0.0 +const _fluttericon = Package( + name: 'fluttericon', + description: 'Flutter icons from popular web icon fonts. Customize your final icon package using fluttericon.com.', + homepage: 'https://github.com/ilikerobots/fluttericon_pkg', + authors: [], + version: '2.0.0', + spdxIdentifiers: [], + isMarkdown: false, + isSdk: false, + dependencies: [PackageRef('flutter')], + devDependencies: [PackageRef('test'), PackageRef('recase')], + license: '''Copyright (c) 2020, Mike Hoolehan, StarHeight Media +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the StarHeight Media nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL HOOLEHAN OR STARHEIGHT MEDIA BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', + ); + /// font_awesome_flutter 10.12.0 const _font_awesome_flutter = Package( name: 'font_awesome_flutter', @@ -4164,13 +4204,13 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// path_provider_android 2.2.20 +/// path_provider_android 2.2.22 const _path_provider_android = Package( name: 'path_provider_android', description: 'Android implementation of the path_provider plugin.', repository: 'https://github.com/flutter/packages/tree/main/packages/path_provider/path_provider_android', authors: [], - version: '2.2.20', + version: '2.2.22', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -4203,18 +4243,18 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// path_provider_foundation 2.4.3 +/// path_provider_foundation 2.5.1 const _path_provider_foundation = Package( name: 'path_provider_foundation', description: 'iOS and macOS implementation of the path_provider plugin', repository: 'https://github.com/flutter/packages/tree/main/packages/path_provider/path_provider_foundation', authors: [], - version: '2.4.3', + version: '2.5.1', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter'), PackageRef('path_provider_platform_interface')], - devDependencies: [PackageRef('build_runner'), PackageRef('path')], + devDependencies: [PackageRef('path')], license: '''Copyright 2013 The Flutter Authors Redistribution and use in source and binary forms, with or without modification, @@ -5503,18 +5543,18 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// skeletonizer 2.1.1 +/// skeletonizer 2.1.2 const _skeletonizer = Package( name: 'skeletonizer', description: 'Converts already built widgets into skeleton loaders with no extra effort.', homepage: 'https://github.com/Milad-Akarie/skeletonizer', authors: [], - version: '2.1.1', + version: '2.1.2', spdxIdentifiers: ['MIT'], isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter')], - devDependencies: [PackageRef('flutter_lints')], + devDependencies: [PackageRef('flutter_lints'), PackageRef('coverage')], license: '''MIT License Copyright (c) 2023 Milad Akarie @@ -5737,13 +5777,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.''', ); -/// sqlite3_flutter_libs 0.5.40 +/// sqlite3_flutter_libs 0.5.41 const _sqlite3_flutter_libs = Package( name: 'sqlite3_flutter_libs', description: 'Flutter plugin to include native sqlite3 libraries with your app', - homepage: 'https://github.com/simolus3/sqlite3.dart/tree/main/sqlite3_flutter_libs', + homepage: 'https://github.com/simolus3/sqlite3.dart/tree/v2/sqlite3_flutter_libs', authors: [], - version: '0.5.40', + version: '0.5.41', spdxIdentifiers: ['MIT'], isMarkdown: false, isSdk: false, @@ -5772,14 +5812,14 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.''', ); -/// sqlparser 0.42.0 +/// sqlparser 0.42.1 const _sqlparser = Package( name: 'sqlparser', description: 'Parses sqlite statements and performs static analysis on them', homepage: 'https://github.com/simolus3/drift/tree/develop/sqlparser', repository: 'https://github.com/simolus3/drift', authors: [], - version: '0.42.0', + version: '0.42.1', spdxIdentifiers: ['MIT'], isMarkdown: false, isSdk: false, @@ -6525,13 +6565,13 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// url_launcher_web 2.4.1 +/// url_launcher_web 2.4.2 const _url_launcher_web = Package( name: 'url_launcher_web', description: 'Web platform implementation of url_launcher', repository: 'https://github.com/flutter/packages/tree/main/packages/url_launcher/url_launcher_web', authors: [], - version: '2.4.1', + version: '2.4.2', spdxIdentifiers: ['Apache-2.0', 'BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -6539,7 +6579,7 @@ const _url_launcher_web = Package( devDependencies: [], license: '''url_launcher_web -Copyright 2013 The Flutter Authors. All rights reserved. +Copyright 2013 The Flutter Authors Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -6932,18 +6972,18 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// watcher 1.1.4 +/// watcher 1.2.1 const _watcher = Package( name: 'watcher', description: 'A file system watcher. It monitors changes to contents of directories and sends notifications when files have been added, removed, or modified.', repository: 'https://github.com/dart-lang/tools/tree/main/pkgs/watcher', authors: [], - version: '1.1.4', + version: '1.2.1', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, dependencies: [PackageRef('async'), PackageRef('path')], - devDependencies: [PackageRef('test')], + devDependencies: [PackageRef('clock'), PackageRef('fake_async'), PackageRef('test')], license: '''Copyright 2014, the Dart project authors. Redistribution and use in source and binary forms, with or without @@ -7291,16 +7331,16 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.''', ); -/// tallee 0.0.5+127 +/// tallee 0.0.12+240 const _tallee = Package( name: 'tallee', - description: 'Game Tracking App for Card Games', + description: 'Tracking App for Card Games', authors: [], - version: '0.0.5+127', + version: '0.0.12+240', spdxIdentifiers: [], isMarkdown: false, isSdk: false, - dependencies: [PackageRef('flutter'), PackageRef('clock'), PackageRef('cupertino_icons'), PackageRef('drift'), PackageRef('drift_flutter'), PackageRef('file_picker'), PackageRef('file_saver'), PackageRef('font_awesome_flutter'), PackageRef('intl'), PackageRef('json_schema'), PackageRef('package_info_plus'), PackageRef('path_provider'), PackageRef('provider'), PackageRef('skeletonizer'), PackageRef('url_launcher'), PackageRef('uuid')], + dependencies: [PackageRef('flutter'), PackageRef('clock'), PackageRef('cupertino_icons'), PackageRef('drift'), PackageRef('drift_flutter'), PackageRef('file_picker'), PackageRef('file_saver'), PackageRef('fluttericon'), PackageRef('font_awesome_flutter'), PackageRef('intl'), PackageRef('json_schema'), PackageRef('package_info_plus'), PackageRef('path_provider'), PackageRef('provider'), PackageRef('skeletonizer'), PackageRef('url_launcher'), PackageRef('uuid')], devDependencies: [PackageRef('build_runner'), PackageRef('dart_pubspec_licenses'), PackageRef('drift_dev'), PackageRef('flutter_lints')], ); From 3b01c4623c4fdf2792221896db249a9f07bc7b83 Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Sat, 24 Jan 2026 11:41:50 +0000 Subject: [PATCH 116/198] Updated version number [skip ci] --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 9f34085..894c239 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: tallee description: "Tracking App for Card Games" publish_to: 'none' -version: 0.0.13+241 +version: 0.0.14+242 environment: sdk: ^3.8.1 From db2ba2571fae0055ebf71036334017b658f29ae6 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 24 Jan 2026 12:49:21 +0100 Subject: [PATCH 117/198] Added pull --- .gitea/workflows/push.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitea/workflows/push.yaml b/.gitea/workflows/push.yaml index 75e1dc0..a709ed2 100644 --- a/.gitea/workflows/push.yaml +++ b/.gitea/workflows/push.yaml @@ -92,6 +92,7 @@ jobs: run: | git config --global user.name "Gitea Actions [bot]" git config --global user.email "actions@yannick-weigert.de" + git pull origin ${{ gitea.ref_name }} git add pubspec.yaml git commit -m "Updated version number [skip ci]" git push origin HEAD:${{ gitea.ref_name }} @@ -123,6 +124,7 @@ jobs: if [ -n "$(git status --porcelain lib test)" ]; then git config --global user.name "Gitea Actions [bot]" git config --global user.email "actions@yannick-weigert.de" + git pull origin ${{ gitea.ref_name }} git add lib test git commit -m "Updated licenses [skip ci]" git push origin HEAD:${{ gitea.ref_name }} From 90cc4d4c2a896ba0066bad476b23776273314790 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 24 Jan 2026 12:49:40 +0100 Subject: [PATCH 118/198] Added missing flutter step --- .gitea/workflows/push.yaml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/push.yaml b/.gitea/workflows/push.yaml index a709ed2..2c7c162 100644 --- a/.gitea/workflows/push.yaml +++ b/.gitea/workflows/push.yaml @@ -104,15 +104,22 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Install Flutter (wget) + # Required for Flutter action + - name: Install jq run: | - wget --show-progress --progress=bar:force:noscroll:giga https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.38.2-stable.tar.xz - tar xf flutter_linux_3.38.2-stable.tar.xz - git config --global --add safe.directory "$(pwd)/flutter" - echo "$(pwd)/flutter/bin" >> $GITEA_PATH + apt-get update + apt-get install -y jq + + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: stable + flutter-version: 3.38.6 - name: Get dependencies - run: flutter pub get + run: | + git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.38.6-x64 + flutter pub get - name: Generate oss_licenses.dart run: flutter pub run dart_pubspec_licenses:generate -o lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart From cf5883b4305ac6efaaaa84c0698093d132d02423 Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Sat, 24 Jan 2026 12:03:27 +0000 Subject: [PATCH 119/198] Updated version number [skip ci] --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 894c239..a3a6af3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: tallee description: "Tracking App for Card Games" publish_to: 'none' -version: 0.0.14+242 +version: 0.0.15+243 environment: sdk: ^3.8.1 From 2dd7d0285d2c8b48752dbfd77f3341f15a6f6b46 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 24 Jan 2026 12:20:55 +0000 Subject: [PATCH 120/198] Pipeline Push Error (again) (#187) Pipeline Push Error (again) (#187) Co-authored-by: Gitea Actions [bot] Reviewed-on: https://git.yannick-weigert.de/liquid-development/game-tracker/pulls/187 --- .gitea/workflows/push.yaml | 4 + .../settings_view/licenses/oss_licenses.dart | 186 +++++++++++++++++- pubspec.yaml | 2 +- 3 files changed, 182 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/push.yaml b/.gitea/workflows/push.yaml index 2c7c162..cb604b7 100644 --- a/.gitea/workflows/push.yaml +++ b/.gitea/workflows/push.yaml @@ -92,6 +92,7 @@ jobs: run: | git config --global user.name "Gitea Actions [bot]" git config --global user.email "actions@yannick-weigert.de" + git config pull.rebase false git pull origin ${{ gitea.ref_name }} git add pubspec.yaml git commit -m "Updated version number [skip ci]" @@ -131,6 +132,7 @@ jobs: if [ -n "$(git status --porcelain lib test)" ]; then git config --global user.name "Gitea Actions [bot]" git config --global user.email "actions@yannick-weigert.de" + git config pull.rebase false git pull origin ${{ gitea.ref_name }} git add lib test git commit -m "Updated licenses [skip ci]" @@ -182,6 +184,8 @@ jobs: if [ -n "$(git status --porcelain lib test)" ]; then git config --global user.name "Gitea Actions [bot]" git config --global user.email "actions@yannick-weigert.de" + git config pull.rebase false + git pull origin ${{ gitea.ref_name }} git add lib test git commit -m "Auto-format code [skip ci]" git push origin HEAD:${{ gitea.ref_name }} diff --git a/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart b/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart index 758a6cf..2720de4 100644 --- a/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart +++ b/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart @@ -31,6 +31,7 @@ const allDependencies = [ _cli_config, _cli_util, _clock, + _code_assets, _code_builder, _collection, _convert, @@ -62,6 +63,7 @@ const allDependencies = [ _frontend_server_client, _glob, _graphs, + _hooks, _html, _http, _http_multi_server, @@ -81,8 +83,10 @@ const allDependencies = [ _material_color_utilities, _meta, _mime, + _native_toolchain_c, _nested, _node_preamble, + _objective_c, _package_config, _package_info_plus, _package_info_plus_platform_interface, @@ -1187,6 +1191,47 @@ const _clock = Package( limitations under the License.''', ); +/// code_assets 1.0.0 +const _code_assets = Package( + name: 'code_assets', + description: 'This library contains the hook protocol specification for bundling native code with Dart packages.', + repository: 'https://github.com/dart-lang/native/tree/main/pkgs/code_assets', + authors: [], + version: '1.0.0', + spdxIdentifiers: ['BSD-3-Clause'], + isMarkdown: false, + isSdk: false, + dependencies: [PackageRef('collection'), PackageRef('hooks')], + devDependencies: [PackageRef('json_schema'), PackageRef('test')], + license: '''Copyright 2025, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', + ); + /// code_builder 4.11.1 const _code_builder = Package( name: 'code_builder', @@ -2573,13 +2618,13 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// flutter 3.38.2 +/// flutter 3.38.6 const _flutter = Package( name: 'flutter', description: 'A framework for writing Flutter applications', homepage: 'https://flutter.dev', authors: [], - version: '3.38.2', + version: '3.38.6', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: true, @@ -2902,6 +2947,47 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); +/// hooks 1.0.0 +const _hooks = Package( + name: 'hooks', + description: 'A library that contains a Dart API for the JSON-based protocol for `hook/build.dart` and `hook/link.dart`.', + repository: 'https://github.com/dart-lang/native/tree/main/pkgs/hooks', + authors: [], + version: '1.0.0', + spdxIdentifiers: ['BSD-3-Clause'], + isMarkdown: false, + isSdk: false, + dependencies: [PackageRef('collection'), PackageRef('crypto'), PackageRef('logging'), PackageRef('meta'), PackageRef('pub_semver'), PackageRef('yaml')], + devDependencies: [PackageRef('args'), PackageRef('code_assets'), PackageRef('glob'), PackageRef('json_schema'), PackageRef('path'), PackageRef('test')], + license: '''Copyright 2025, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', + ); + /// html 0.15.6 const _html = Package( name: 'html', @@ -3861,6 +3947,47 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); +/// native_toolchain_c 0.17.4 +const _native_toolchain_c = Package( + name: 'native_toolchain_c', + description: 'A library to invoke the native C compiler installed on the host machine.', + repository: 'https://github.com/dart-lang/native/tree/main/pkgs/native_toolchain_c', + authors: [], + version: '0.17.4', + spdxIdentifiers: ['BSD-3-Clause'], + isMarkdown: false, + isSdk: false, + dependencies: [PackageRef('code_assets'), PackageRef('glob'), PackageRef('hooks'), PackageRef('logging'), PackageRef('meta'), PackageRef('pub_semver')], + devDependencies: [PackageRef('collection'), PackageRef('test')], + license: '''Copyright 2023, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', + ); + /// nested 1.0.0 const _nested = Package( name: 'nested', @@ -3958,6 +4085,47 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); +/// objective_c 9.2.4 +const _objective_c = Package( + name: 'objective_c', + description: 'A library to access Objective C from Flutter that acts as a support library for package:ffigen.', + repository: 'https://github.com/dart-lang/native/tree/main/pkgs/objective_c', + authors: [], + version: '9.2.4', + spdxIdentifiers: ['BSD-3-Clause'], + isMarkdown: false, + isSdk: false, + dependencies: [PackageRef('code_assets'), PackageRef('collection'), PackageRef('ffi'), PackageRef('hooks'), PackageRef('logging'), PackageRef('native_toolchain_c'), PackageRef('pub_semver')], + devDependencies: [PackageRef('args'), PackageRef('path'), PackageRef('test'), PackageRef('yaml')], + license: '''Copyright 2024, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', + ); + /// package_config 2.2.0 const _package_config = Package( name: 'package_config', @@ -4243,18 +4411,18 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// path_provider_foundation 2.5.1 +/// path_provider_foundation 2.6.0 const _path_provider_foundation = Package( name: 'path_provider_foundation', description: 'iOS and macOS implementation of the path_provider plugin', repository: 'https://github.com/flutter/packages/tree/main/packages/path_provider/path_provider_foundation', authors: [], - version: '2.5.1', + version: '2.6.0', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, - dependencies: [PackageRef('flutter'), PackageRef('path_provider_platform_interface')], - devDependencies: [PackageRef('path')], + dependencies: [PackageRef('ffi'), PackageRef('flutter'), PackageRef('objective_c'), PackageRef('path_provider_platform_interface')], + devDependencies: [], license: '''Copyright 2013 The Flutter Authors Redistribution and use in source and binary forms, with or without modification, @@ -7191,7 +7359,7 @@ const _win32 = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('ffi')], - devDependencies: [PackageRef('args'), PackageRef('path'), PackageRef('test')], + devDependencies: [PackageRef('args'), PackageRef('hooks'), PackageRef('path'), PackageRef('test')], license: '''BSD 3-Clause License Copyright (c) 2024, Halil Durmus @@ -7331,12 +7499,12 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.''', ); -/// tallee 0.0.12+240 +/// tallee 0.0.14+242 const _tallee = Package( name: 'tallee', description: 'Tracking App for Card Games', authors: [], - version: '0.0.12+240', + version: '0.0.14+242', spdxIdentifiers: [], isMarkdown: false, isSdk: false, diff --git a/pubspec.yaml b/pubspec.yaml index a3a6af3..69dcd0e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: tallee description: "Tracking App for Card Games" publish_to: 'none' -version: 0.0.15+243 +version: 0.0.11+243 environment: sdk: ^3.8.1 From c644ccfb0640be9e6c6c2c6d1ab4f5f0f80f078c Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Sat, 24 Jan 2026 12:21:35 +0000 Subject: [PATCH 121/198] Updated version number [skip ci] --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 69dcd0e..0f1922f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: tallee description: "Tracking App for Card Games" publish_to: 'none' -version: 0.0.11+243 +version: 0.0.12+244 environment: sdk: ^3.8.1 From 6065b53ce9f4f79072f547875e03d163232ed946 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 24 Jan 2026 14:53:31 +0100 Subject: [PATCH 122/198] Updated workflow --- .gitea/workflows/push.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitea/workflows/push.yaml b/.gitea/workflows/push.yaml index cb604b7..4068ab1 100644 --- a/.gitea/workflows/push.yaml +++ b/.gitea/workflows/push.yaml @@ -104,6 +104,10 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.BOT_TOKEN }} + ref: ${{ gitea.ref_name }} # Required for Flutter action - name: Install jq From e4a2ac6b47f1908ff012c2138774bb2fc673ded1 Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Sat, 24 Jan 2026 13:55:18 +0000 Subject: [PATCH 123/198] Updated version number [skip ci] --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 0f1922f..53ea941 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: tallee description: "Tracking App for Card Games" publish_to: 'none' -version: 0.0.12+244 +version: 0.0.13+245 environment: sdk: ^3.8.1 From 7f356b0c8646f9e3aba7bb5fcaa3be7685e92c39 Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Sat, 24 Jan 2026 13:55:49 +0000 Subject: [PATCH 124/198] Updated licenses [skip ci] --- .../views/main_menu/settings_view/licenses/oss_licenses.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart b/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart index 2720de4..f8d17e7 100644 --- a/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart +++ b/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart @@ -7499,12 +7499,12 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.''', ); -/// tallee 0.0.14+242 +/// tallee 0.0.13+245 const _tallee = Package( name: 'tallee', description: 'Tracking App for Card Games', authors: [], - version: '0.0.14+242', + version: '0.0.13+245', spdxIdentifiers: [], isMarkdown: false, isSdk: false, From 8783d0ac44a5c136b7fd7b55bbb0fe72a746dabf Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 24 Jan 2026 17:30:56 +0100 Subject: [PATCH 125/198] Version badges in one row --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 53089ca..e957490 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,6 @@ An open-source app to track card- and board games, manageplayersand groups and g ![Version](https://img.shields.io/badge/App--Version-0.0.1_Alpha-orange) ![Flutter](https://img.shields.io/badge/Flutter-3.38.6-027DFD?logo=flutter) - ![iOS26](https://img.shields.io/badge/iOS-26-white?logo=apple) ![Android16](https://img.shields.io/badge/Android-16-3DDC84?logo=android) From 34e442dbe99e3a1405b74966fd6ccaac95879515 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 24 Jan 2026 17:47:32 +0100 Subject: [PATCH 126/198] added white space --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index e957490..8f4b2d5 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@

Tallee

-An open-source app to track card- and board games, manageplayersand groups and get statistics about your played games. +An open-source app to track card- and board games, manage players & groups and get statistics about your played games.

- - ![Version](https://img.shields.io/badge/App--Version-0.0.1_Alpha-orange) ![Flutter](https://img.shields.io/badge/Flutter-3.38.6-027DFD?logo=flutter) ![iOS26](https://img.shields.io/badge/iOS-26-white?logo=apple) From 481afd7533d21cfadc5e866d17267945b27c1ee4 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 24 Jan 2026 19:17:33 +0100 Subject: [PATCH 127/198] Added example CONTRIBUTING.md --- CONTRIBUTING.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 808c478..d6e91f5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1 +1,13 @@ -`//todo` \ No newline at end of file +# Contributing + +## Code of Conduct + +`` + +## Code Style + +`` + +## Repository structure + +`` From c162e245bd720839680674f48d83eaa06b94cb62 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 24 Jan 2026 22:35:11 +0100 Subject: [PATCH 128/198] Updated license name in Readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8f4b2d5..70ab8e6 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ to [CONTRIBUTING.md](CONTRIBUTING.md). ## License -This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. +This project is licensed under the GNU LGPLv3 License. See the [LICENSE](LICENSE) file for details. ## Contributors From 3bd6dd4189dbfcd158bea9b4a24b60cf31304c18 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Sun, 25 Jan 2026 10:15:50 +0100 Subject: [PATCH 129/198] fix typo --- test/db_tests/group_test.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/db_tests/group_test.dart b/test/db_tests/group_test.dart index 307fbb5..ada0430 100644 --- a/test/db_tests/group_test.dart +++ b/test/db_tests/group_test.dart @@ -147,7 +147,7 @@ void main() { }); // Verifies that updateGroupName correctly updates only the name field. - test('Updating a group name works correcly', () async { + test('Updating a group name works correctly', () async { await database.groupDao.addGroup(group: testGroup1); const newGroupName = 'new group name'; From 96ef70b209040f80db86648f8410bd96f25a76be Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Mon, 26 Jan 2026 08:45:49 +0000 Subject: [PATCH 130/198] Updated version number [skip ci] --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 53ea941..ed88c81 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: tallee description: "Tracking App for Card Games" publish_to: 'none' -version: 0.0.13+245 +version: 0.0.14+246 environment: sdk: ^3.8.1 From 03a2df4fdfca3b13aa0d1d4d8e5bb4a6b4e4071b Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Mon, 26 Jan 2026 08:55:12 +0000 Subject: [PATCH 131/198] Updated version number [skip ci] --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index ed88c81..d68e761 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: tallee description: "Tracking App for Card Games" publish_to: 'none' -version: 0.0.14+246 +version: 0.0.15+247 environment: sdk: ^3.8.1 From dde617d429d9578fe87ac24258a82f59dd4a18a8 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Mon, 26 Jan 2026 14:37:23 +0100 Subject: [PATCH 132/198] Tried new workflow fix --- .gitea/workflows/push.yaml | 1 - pubspec.yaml | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitea/workflows/push.yaml b/.gitea/workflows/push.yaml index 4068ab1..f330b2a 100644 --- a/.gitea/workflows/push.yaml +++ b/.gitea/workflows/push.yaml @@ -107,7 +107,6 @@ jobs: with: fetch-depth: 0 token: ${{ secrets.BOT_TOKEN }} - ref: ${{ gitea.ref_name }} # Required for Flutter action - name: Install jq diff --git a/pubspec.yaml b/pubspec.yaml index d68e761..7b5bcae 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: tallee description: "Tracking App for Card Games" publish_to: 'none' -version: 0.0.15+247 +version: 0.0.13+247 environment: sdk: ^3.8.1 From 03ce304a0a49df52e16644d79e351d1f212b7044 Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Mon, 26 Jan 2026 13:38:01 +0000 Subject: [PATCH 133/198] Updated version number [skip ci] --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 7b5bcae..6c22769 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: tallee description: "Tracking App for Card Games" publish_to: 'none' -version: 0.0.13+247 +version: 0.0.14+248 environment: sdk: ^3.8.1 From 9c00b48de5925cc359701d9eb5cda1c00cea2c1a Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Mon, 26 Jan 2026 13:38:35 +0000 Subject: [PATCH 134/198] Updated licenses [skip ci] --- .../settings_view/licenses/oss_licenses.dart | 171 +++++++++++++++++- 1 file changed, 168 insertions(+), 3 deletions(-) diff --git a/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart b/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart index f8d17e7..b84eacc 100644 --- a/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart +++ b/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart @@ -7499,16 +7499,181 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.''', ); -/// tallee 0.0.13+245 +/// tallee 0.0.13+247 const _tallee = Package( name: 'tallee', description: 'Tracking App for Card Games', authors: [], - version: '0.0.13+245', - spdxIdentifiers: [], + version: '0.0.13+247', + spdxIdentifiers: ['LGPL-3.0'], isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter'), PackageRef('clock'), PackageRef('cupertino_icons'), PackageRef('drift'), PackageRef('drift_flutter'), PackageRef('file_picker'), PackageRef('file_saver'), PackageRef('fluttericon'), PackageRef('font_awesome_flutter'), PackageRef('intl'), PackageRef('json_schema'), PackageRef('package_info_plus'), PackageRef('path_provider'), PackageRef('provider'), PackageRef('skeletonizer'), PackageRef('url_launcher'), PackageRef('uuid')], devDependencies: [PackageRef('build_runner'), PackageRef('dart_pubspec_licenses'), PackageRef('drift_dev'), PackageRef('flutter_lints')], + license: '''GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library.''', ); From d1458443eb98143f8b2d71c3350da01794f6cb37 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Mon, 26 Jan 2026 14:47:26 +0100 Subject: [PATCH 135/198] Added ref again --- .gitea/workflows/push.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/push.yaml b/.gitea/workflows/push.yaml index f330b2a..e24f7ad 100644 --- a/.gitea/workflows/push.yaml +++ b/.gitea/workflows/push.yaml @@ -85,7 +85,6 @@ jobs: strategy: 'patch' path: './pubspec.yaml' - - name: Commit version update env: GITEA_TOKEN: ${{ secrets.BOT_TOKEN }} @@ -107,6 +106,7 @@ jobs: with: fetch-depth: 0 token: ${{ secrets.BOT_TOKEN }} + ref: ${{ gitea.ref_name }} # Required for Flutter action - name: Install jq From 1d352821fc53f9d659ae04d3b1fc9d0adf9e2dea Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Thu, 29 Jan 2026 15:39:52 +0100 Subject: [PATCH 136/198] all parameters are now required --- assets/schema.json | 36 ++--- lib/data/dao/game_dao.dart | 6 +- lib/data/dao/group_dao.dart | 8 +- lib/data/dao/match_dao.dart | 23 ++-- lib/data/dao/player_dao.dart | 4 +- lib/data/db/database.g.dart | 127 +++++++++--------- lib/data/db/tables/game_table.dart | 2 +- lib/data/db/tables/group_table.dart | 2 +- lib/data/db/tables/player_table.dart | 2 +- lib/data/dto/game.dart | 4 +- lib/data/dto/group.dart | 4 +- lib/data/dto/match.dart | 15 ++- lib/data/dto/player.dart | 4 +- .../group_view/create_group_view.dart | 1 + .../main_menu/group_view/groups_view.dart | 3 +- .../views/main_menu/home_view.dart | 13 +- .../create_match/create_match_view.dart | 3 + .../main_menu/match_view/match_view.dart | 11 +- .../views/main_menu/statistics_view.dart | 4 +- .../widgets/player_selection.dart | 4 +- lib/services/data_transfer_service.dart | 12 +- test/db_tests/game_test.dart | 13 +- test/db_tests/group_test.dart | 17 ++- test/db_tests/match_test.dart | 18 ++- test/db_tests/player_group_test.dart | 15 ++- test/db_tests/player_match_test.dart | 29 ++-- test/db_tests/player_test.dart | 18 +-- test/db_tests/score_test.dart | 10 +- test/db_tests/team_test.dart | 16 +-- 29 files changed, 227 insertions(+), 197 deletions(-) diff --git a/assets/schema.json b/assets/schema.json index 3aab588..a00cd6e 100644 --- a/assets/schema.json +++ b/assets/schema.json @@ -17,13 +17,14 @@ "type": "string" }, "description": { - "type": ["string", "null"] + "type": "string" } }, "required": [ "id", "createdAt", - "name" + "name", + "description" ] } }, @@ -42,22 +43,26 @@ "type": "string" }, "ruleset": { - "type": ["string", "null"] + "type": "string" }, "description": { - "type": ["string", "null"] + "type": "string" }, "color": { - "type": ["integer", "null"] + "type": "string" }, "icon": { - "type": ["string", "null"] + "type": "string" } }, "required": [ "id", "createdAt", - "name" + "name", + "ruleset", + "description", + "color", + "icon" ] } }, @@ -76,7 +81,7 @@ "type": "string" }, "description": { - "type": ["string", "null"] + "type": "string" }, "memberIds": { "type": "array", @@ -89,6 +94,7 @@ "id", "name", "createdAt", + "description", "memberIds" ] } @@ -137,10 +143,7 @@ "type": "string" }, "gameId": { - "anyOf": [ - {"type": "string"}, - {"type": "null"} - ] + "type": "string" }, "groupId": { "anyOf": [ @@ -155,17 +158,16 @@ } }, "notes": { - "anyOf": [ - {"type": "string"}, - {"type": "null"} - ] + "type": "string" } }, "required": [ "id", "name", "createdAt", - "playerIds" + "gameId", + "playerIds", + "notes" ] } } diff --git a/lib/data/dao/game_dao.dart b/lib/data/dao/game_dao.dart index 95ecc70..0fd761c 100644 --- a/lib/data/dao/game_dao.dart +++ b/lib/data/dao/game_dao.dart @@ -56,7 +56,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { ruleset: game.ruleset.name, description: game.description, color: game.color, - icon: Value(game.icon), + icon: game.icon, createdAt: game.createdAt, ), mode: InsertMode.insertOrReplace, @@ -82,7 +82,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { ruleset: game.ruleset.name, description: game.description, color: game.color, - icon: Value(game.icon), + icon: game.icon, createdAt: game.createdAt, ), ) @@ -153,7 +153,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { /// Updates the icon of the game with the given [gameId]. Future updateGameIcon({ required String gameId, - required String? newIcon, + required String newIcon, }) async { await (update(gameTable)..where((g) => g.id.equals(gameId))).write( GameTableCompanion(icon: Value(newIcon)), diff --git a/lib/data/dao/group_dao.dart b/lib/data/dao/group_dao.dart index beecc9d..cd45c12 100644 --- a/lib/data/dao/group_dao.dart +++ b/lib/data/dao/group_dao.dart @@ -58,7 +58,7 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { GroupTableCompanion.insert( id: group.id, name: group.name, - description: Value(group.description), + description: group.description, createdAt: group.createdAt, ), mode: InsertMode.insertOrReplace, @@ -108,7 +108,7 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { (group) => GroupTableCompanion.insert( id: group.id, name: group.name, - description: Value(group.description), + description: group.description, createdAt: group.createdAt, ), ) @@ -136,7 +136,7 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { (p) => PlayerTableCompanion.insert( id: p.id, name: p.name, - description: Value(p.description), + description: p.description, createdAt: p.createdAt, ), ) @@ -196,7 +196,7 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { /// Returns `true` if more than 0 rows were affected, otherwise `false`. Future updateGroupDescription({ required String groupId, - required String? newDescription, + required String newDescription, }) async { final rowsAffected = await (update(groupTable)..where((g) => g.id.equals(groupId))).write( diff --git a/lib/data/dao/match_dao.dart b/lib/data/dao/match_dao.dart index 4ec5b4d..2df0bb9 100644 --- a/lib/data/dao/match_dao.dart +++ b/lib/data/dao/match_dao.dart @@ -36,7 +36,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { game: game, group: group, players: players, - notes: row.notes, + notes: row.notes ?? '', createdAt: row.createdAt, ); }), @@ -66,7 +66,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { game: game, group: group, players: players, - notes: result.notes, + notes: result.notes ?? '', createdAt: result.createdAt, ); } @@ -75,15 +75,11 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { /// This method assumes that the game and group (if any) are already present /// in the database. Future addMatch({required Match match}) async { - if (match.game == null) { - throw ArgumentError('Match must have a game associated with it'); - } - await db.transaction(() async { await into(matchTable).insert( MatchTableCompanion.insert( id: match.id, - gameId: match.game!.id, + gameId: match.game.id, groupId: Value(match.group?.id), name: Value(match.name), notes: Value(match.notes), @@ -113,9 +109,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { // Add all games first (deduplicated) final uniqueGames = {}; for (final match in matches) { - if (match.game != null) { - uniqueGames[match.game!.id] = match.game!; - } + uniqueGames[match.game.id] = match.game; } if (uniqueGames.isNotEmpty) { @@ -130,7 +124,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { ruleset: game.ruleset.name, description: game.description, color: game.color, - icon: Value(game.icon), + icon: game.icon, createdAt: game.createdAt, ), ) @@ -150,7 +144,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { (match) => GroupTableCompanion.insert( id: match.group!.id, name: match.group!.name, - description: Value(match.group!.description), + description: match.group!.description, createdAt: match.group!.createdAt, ), ) @@ -164,11 +158,10 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { (b) => b.insertAll( matchTable, matches - .where((match) => match.game != null) .map( (match) => MatchTableCompanion.insert( id: match.id, - gameId: match.game!.id, + gameId: match.game.id, groupId: Value(match.group?.id), name: Value(match.name), notes: Value(match.notes), @@ -205,7 +198,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { (p) => PlayerTableCompanion.insert( id: p.id, name: p.name, - description: Value(p.description), + description: p.description, createdAt: p.createdAt, ), ) diff --git a/lib/data/dao/player_dao.dart b/lib/data/dao/player_dao.dart index b8b5000..e6607a4 100644 --- a/lib/data/dao/player_dao.dart +++ b/lib/data/dao/player_dao.dart @@ -46,7 +46,7 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { PlayerTableCompanion.insert( id: player.id, name: player.name, - description: Value(player.description), + description: player.description, createdAt: player.createdAt, ), mode: InsertMode.insertOrReplace, @@ -70,7 +70,7 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { (player) => PlayerTableCompanion.insert( id: player.id, name: player.name, - description: Value(player.description), + description: player.description, createdAt: player.createdAt, ), ) diff --git a/lib/data/db/database.g.dart b/lib/data/db/database.g.dart index 3faa308..b77c4cd 100644 --- a/lib/data/db/database.g.dart +++ b/lib/data/db/database.g.dart @@ -34,9 +34,9 @@ class $PlayerTableTable extends PlayerTable late final GeneratedColumn description = GeneratedColumn( 'description', aliasedName, - true, + false, type: DriftSqlType.string, - requiredDuringInsert: false, + requiredDuringInsert: true, ); static const VerificationMeta _createdAtMeta = const VerificationMeta( 'createdAt', @@ -84,6 +84,8 @@ class $PlayerTableTable extends PlayerTable _descriptionMeta, ), ); + } else if (isInserting) { + context.missing(_descriptionMeta); } if (data.containsKey('created_at')) { context.handle( @@ -113,7 +115,7 @@ class $PlayerTableTable extends PlayerTable description: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}description'], - ), + )!, createdAt: attachedDatabase.typeMapping.read( DriftSqlType.dateTime, data['${effectivePrefix}created_at'], @@ -130,12 +132,12 @@ class $PlayerTableTable extends PlayerTable class PlayerTableData extends DataClass implements Insertable { final String id; final String name; - final String? description; + final String description; final DateTime createdAt; const PlayerTableData({ required this.id, required this.name, - this.description, + required this.description, required this.createdAt, }); @override @@ -143,9 +145,7 @@ class PlayerTableData extends DataClass implements Insertable { final map = {}; map['id'] = Variable(id); map['name'] = Variable(name); - if (!nullToAbsent || description != null) { - map['description'] = Variable(description); - } + map['description'] = Variable(description); map['created_at'] = Variable(createdAt); return map; } @@ -154,9 +154,7 @@ class PlayerTableData extends DataClass implements Insertable { return PlayerTableCompanion( id: Value(id), name: Value(name), - description: description == null && nullToAbsent - ? const Value.absent() - : Value(description), + description: Value(description), createdAt: Value(createdAt), ); } @@ -169,7 +167,7 @@ class PlayerTableData extends DataClass implements Insertable { return PlayerTableData( id: serializer.fromJson(json['id']), name: serializer.fromJson(json['name']), - description: serializer.fromJson(json['description']), + description: serializer.fromJson(json['description']), createdAt: serializer.fromJson(json['createdAt']), ); } @@ -179,7 +177,7 @@ class PlayerTableData extends DataClass implements Insertable { return { 'id': serializer.toJson(id), 'name': serializer.toJson(name), - 'description': serializer.toJson(description), + 'description': serializer.toJson(description), 'createdAt': serializer.toJson(createdAt), }; } @@ -187,12 +185,12 @@ class PlayerTableData extends DataClass implements Insertable { PlayerTableData copyWith({ String? id, String? name, - Value description = const Value.absent(), + String? description, DateTime? createdAt, }) => PlayerTableData( id: id ?? this.id, name: name ?? this.name, - description: description.present ? description.value : this.description, + description: description ?? this.description, createdAt: createdAt ?? this.createdAt, ); PlayerTableData copyWithCompanion(PlayerTableCompanion data) { @@ -232,7 +230,7 @@ class PlayerTableData extends DataClass implements Insertable { class PlayerTableCompanion extends UpdateCompanion { final Value id; final Value name; - final Value description; + final Value description; final Value createdAt; final Value rowid; const PlayerTableCompanion({ @@ -245,11 +243,12 @@ class PlayerTableCompanion extends UpdateCompanion { PlayerTableCompanion.insert({ required String id, required String name, - this.description = const Value.absent(), + required String description, required DateTime createdAt, this.rowid = const Value.absent(), }) : id = Value(id), name = Value(name), + description = Value(description), createdAt = Value(createdAt); static Insertable custom({ Expression? id, @@ -270,7 +269,7 @@ class PlayerTableCompanion extends UpdateCompanion { PlayerTableCompanion copyWith({ Value? id, Value? name, - Value? description, + Value? description, Value? createdAt, Value? rowid, }) { @@ -348,9 +347,9 @@ class $GroupTableTable extends GroupTable late final GeneratedColumn description = GeneratedColumn( 'description', aliasedName, - true, + false, type: DriftSqlType.string, - requiredDuringInsert: false, + requiredDuringInsert: true, ); static const VerificationMeta _createdAtMeta = const VerificationMeta( 'createdAt', @@ -398,6 +397,8 @@ class $GroupTableTable extends GroupTable _descriptionMeta, ), ); + } else if (isInserting) { + context.missing(_descriptionMeta); } if (data.containsKey('created_at')) { context.handle( @@ -427,7 +428,7 @@ class $GroupTableTable extends GroupTable description: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}description'], - ), + )!, createdAt: attachedDatabase.typeMapping.read( DriftSqlType.dateTime, data['${effectivePrefix}created_at'], @@ -444,12 +445,12 @@ class $GroupTableTable extends GroupTable class GroupTableData extends DataClass implements Insertable { final String id; final String name; - final String? description; + final String description; final DateTime createdAt; const GroupTableData({ required this.id, required this.name, - this.description, + required this.description, required this.createdAt, }); @override @@ -457,9 +458,7 @@ class GroupTableData extends DataClass implements Insertable { final map = {}; map['id'] = Variable(id); map['name'] = Variable(name); - if (!nullToAbsent || description != null) { - map['description'] = Variable(description); - } + map['description'] = Variable(description); map['created_at'] = Variable(createdAt); return map; } @@ -468,9 +467,7 @@ class GroupTableData extends DataClass implements Insertable { return GroupTableCompanion( id: Value(id), name: Value(name), - description: description == null && nullToAbsent - ? const Value.absent() - : Value(description), + description: Value(description), createdAt: Value(createdAt), ); } @@ -483,7 +480,7 @@ class GroupTableData extends DataClass implements Insertable { return GroupTableData( id: serializer.fromJson(json['id']), name: serializer.fromJson(json['name']), - description: serializer.fromJson(json['description']), + description: serializer.fromJson(json['description']), createdAt: serializer.fromJson(json['createdAt']), ); } @@ -493,7 +490,7 @@ class GroupTableData extends DataClass implements Insertable { return { 'id': serializer.toJson(id), 'name': serializer.toJson(name), - 'description': serializer.toJson(description), + 'description': serializer.toJson(description), 'createdAt': serializer.toJson(createdAt), }; } @@ -501,12 +498,12 @@ class GroupTableData extends DataClass implements Insertable { GroupTableData copyWith({ String? id, String? name, - Value description = const Value.absent(), + String? description, DateTime? createdAt, }) => GroupTableData( id: id ?? this.id, name: name ?? this.name, - description: description.present ? description.value : this.description, + description: description ?? this.description, createdAt: createdAt ?? this.createdAt, ); GroupTableData copyWithCompanion(GroupTableCompanion data) { @@ -546,7 +543,7 @@ class GroupTableData extends DataClass implements Insertable { class GroupTableCompanion extends UpdateCompanion { final Value id; final Value name; - final Value description; + final Value description; final Value createdAt; final Value rowid; const GroupTableCompanion({ @@ -559,11 +556,12 @@ class GroupTableCompanion extends UpdateCompanion { GroupTableCompanion.insert({ required String id, required String name, - this.description = const Value.absent(), + required String description, required DateTime createdAt, this.rowid = const Value.absent(), }) : id = Value(id), name = Value(name), + description = Value(description), createdAt = Value(createdAt); static Insertable custom({ Expression? id, @@ -584,7 +582,7 @@ class GroupTableCompanion extends UpdateCompanion { GroupTableCompanion copyWith({ Value? id, Value? name, - Value? description, + Value? description, Value? createdAt, Value? rowid, }) { @@ -691,9 +689,9 @@ class $GameTableTable extends GameTable late final GeneratedColumn icon = GeneratedColumn( 'icon', aliasedName, - true, + false, type: DriftSqlType.string, - requiredDuringInsert: false, + requiredDuringInsert: true, ); static const VerificationMeta _createdAtMeta = const VerificationMeta( 'createdAt', @@ -773,6 +771,8 @@ class $GameTableTable extends GameTable _iconMeta, icon.isAcceptableOrUnknown(data['icon']!, _iconMeta), ); + } else if (isInserting) { + context.missing(_iconMeta); } if (data.containsKey('created_at')) { context.handle( @@ -814,7 +814,7 @@ class $GameTableTable extends GameTable icon: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}icon'], - ), + )!, createdAt: attachedDatabase.typeMapping.read( DriftSqlType.dateTime, data['${effectivePrefix}created_at'], @@ -834,7 +834,7 @@ class GameTableData extends DataClass implements Insertable { final String ruleset; final String description; final String color; - final String? icon; + final String icon; final DateTime createdAt; const GameTableData({ required this.id, @@ -842,7 +842,7 @@ class GameTableData extends DataClass implements Insertable { required this.ruleset, required this.description, required this.color, - this.icon, + required this.icon, required this.createdAt, }); @override @@ -853,9 +853,7 @@ class GameTableData extends DataClass implements Insertable { map['ruleset'] = Variable(ruleset); map['description'] = Variable(description); map['color'] = Variable(color); - if (!nullToAbsent || icon != null) { - map['icon'] = Variable(icon); - } + map['icon'] = Variable(icon); map['created_at'] = Variable(createdAt); return map; } @@ -867,7 +865,7 @@ class GameTableData extends DataClass implements Insertable { ruleset: Value(ruleset), description: Value(description), color: Value(color), - icon: icon == null && nullToAbsent ? const Value.absent() : Value(icon), + icon: Value(icon), createdAt: Value(createdAt), ); } @@ -883,7 +881,7 @@ class GameTableData extends DataClass implements Insertable { ruleset: serializer.fromJson(json['ruleset']), description: serializer.fromJson(json['description']), color: serializer.fromJson(json['color']), - icon: serializer.fromJson(json['icon']), + icon: serializer.fromJson(json['icon']), createdAt: serializer.fromJson(json['createdAt']), ); } @@ -896,7 +894,7 @@ class GameTableData extends DataClass implements Insertable { 'ruleset': serializer.toJson(ruleset), 'description': serializer.toJson(description), 'color': serializer.toJson(color), - 'icon': serializer.toJson(icon), + 'icon': serializer.toJson(icon), 'createdAt': serializer.toJson(createdAt), }; } @@ -907,7 +905,7 @@ class GameTableData extends DataClass implements Insertable { String? ruleset, String? description, String? color, - Value icon = const Value.absent(), + String? icon, DateTime? createdAt, }) => GameTableData( id: id ?? this.id, @@ -915,7 +913,7 @@ class GameTableData extends DataClass implements Insertable { ruleset: ruleset ?? this.ruleset, description: description ?? this.description, color: color ?? this.color, - icon: icon.present ? icon.value : this.icon, + icon: icon ?? this.icon, createdAt: createdAt ?? this.createdAt, ); GameTableData copyWithCompanion(GameTableCompanion data) { @@ -968,7 +966,7 @@ class GameTableCompanion extends UpdateCompanion { final Value ruleset; final Value description; final Value color; - final Value icon; + final Value icon; final Value createdAt; final Value rowid; const GameTableCompanion({ @@ -987,7 +985,7 @@ class GameTableCompanion extends UpdateCompanion { required String ruleset, required String description, required String color, - this.icon = const Value.absent(), + required String icon, required DateTime createdAt, this.rowid = const Value.absent(), }) : id = Value(id), @@ -995,6 +993,7 @@ class GameTableCompanion extends UpdateCompanion { ruleset = Value(ruleset), description = Value(description), color = Value(color), + icon = Value(icon), createdAt = Value(createdAt); static Insertable custom({ Expression? id, @@ -1024,7 +1023,7 @@ class GameTableCompanion extends UpdateCompanion { Value? ruleset, Value? description, Value? color, - Value? icon, + Value? icon, Value? createdAt, Value? rowid, }) { @@ -2783,7 +2782,7 @@ typedef $$PlayerTableTableCreateCompanionBuilder = PlayerTableCompanion Function({ required String id, required String name, - Value description, + required String description, required DateTime createdAt, Value rowid, }); @@ -2791,7 +2790,7 @@ typedef $$PlayerTableTableUpdateCompanionBuilder = PlayerTableCompanion Function({ Value id, Value name, - Value description, + Value description, Value createdAt, Value rowid, }); @@ -3133,7 +3132,7 @@ class $$PlayerTableTableTableManager ({ Value id = const Value.absent(), Value name = const Value.absent(), - Value description = const Value.absent(), + Value description = const Value.absent(), Value createdAt = const Value.absent(), Value rowid = const Value.absent(), }) => PlayerTableCompanion( @@ -3147,7 +3146,7 @@ class $$PlayerTableTableTableManager ({ required String id, required String name, - Value description = const Value.absent(), + required String description, required DateTime createdAt, Value rowid = const Value.absent(), }) => PlayerTableCompanion.insert( @@ -3274,7 +3273,7 @@ typedef $$GroupTableTableCreateCompanionBuilder = GroupTableCompanion Function({ required String id, required String name, - Value description, + required String description, required DateTime createdAt, Value rowid, }); @@ -3282,7 +3281,7 @@ typedef $$GroupTableTableUpdateCompanionBuilder = GroupTableCompanion Function({ Value id, Value name, - Value description, + Value description, Value createdAt, Value rowid, }); @@ -3550,7 +3549,7 @@ class $$GroupTableTableTableManager ({ Value id = const Value.absent(), Value name = const Value.absent(), - Value description = const Value.absent(), + Value description = const Value.absent(), Value createdAt = const Value.absent(), Value rowid = const Value.absent(), }) => GroupTableCompanion( @@ -3564,7 +3563,7 @@ class $$GroupTableTableTableManager ({ required String id, required String name, - Value description = const Value.absent(), + required String description, required DateTime createdAt, Value rowid = const Value.absent(), }) => GroupTableCompanion.insert( @@ -3664,7 +3663,7 @@ typedef $$GameTableTableCreateCompanionBuilder = required String ruleset, required String description, required String color, - Value icon, + required String icon, required DateTime createdAt, Value rowid, }); @@ -3675,7 +3674,7 @@ typedef $$GameTableTableUpdateCompanionBuilder = Value ruleset, Value description, Value color, - Value icon, + Value icon, Value createdAt, Value rowid, }); @@ -3909,7 +3908,7 @@ class $$GameTableTableTableManager Value ruleset = const Value.absent(), Value description = const Value.absent(), Value color = const Value.absent(), - Value icon = const Value.absent(), + Value icon = const Value.absent(), Value createdAt = const Value.absent(), Value rowid = const Value.absent(), }) => GameTableCompanion( @@ -3929,7 +3928,7 @@ class $$GameTableTableTableManager required String ruleset, required String description, required String color, - Value icon = const Value.absent(), + required String icon, required DateTime createdAt, Value rowid = const Value.absent(), }) => GameTableCompanion.insert( diff --git a/lib/data/db/tables/game_table.dart b/lib/data/db/tables/game_table.dart index ce71a59..a55b8fc 100644 --- a/lib/data/db/tables/game_table.dart +++ b/lib/data/db/tables/game_table.dart @@ -6,7 +6,7 @@ class GameTable extends Table { TextColumn get ruleset => text()(); TextColumn get description => text()(); TextColumn get color => text()(); - TextColumn get icon => text().nullable()(); + TextColumn get icon => text()(); DateTimeColumn get createdAt => dateTime()(); @override diff --git a/lib/data/db/tables/group_table.dart b/lib/data/db/tables/group_table.dart index 09bf79d..2f30cce 100644 --- a/lib/data/db/tables/group_table.dart +++ b/lib/data/db/tables/group_table.dart @@ -3,7 +3,7 @@ import 'package:drift/drift.dart'; class GroupTable extends Table { TextColumn get id => text()(); TextColumn get name => text()(); - TextColumn get description => text().nullable()(); + TextColumn get description => text()(); DateTimeColumn get createdAt => dateTime()(); @override diff --git a/lib/data/db/tables/player_table.dart b/lib/data/db/tables/player_table.dart index 3e061a0..15b29a5 100644 --- a/lib/data/db/tables/player_table.dart +++ b/lib/data/db/tables/player_table.dart @@ -3,7 +3,7 @@ import 'package:drift/drift.dart'; class PlayerTable extends Table { TextColumn get id => text()(); TextColumn get name => text()(); - TextColumn get description => text().nullable()(); + TextColumn get description => text()(); DateTimeColumn get createdAt => dateTime()(); @override diff --git a/lib/data/dto/game.dart b/lib/data/dto/game.dart index c74b8aa..4081f4e 100644 --- a/lib/data/dto/game.dart +++ b/lib/data/dto/game.dart @@ -9,7 +9,7 @@ class Game { final Ruleset ruleset; final String description; final String color; - final String? icon; + final String icon; Game({ String? id, @@ -18,7 +18,7 @@ class Game { required this.ruleset, required this.description, required this.color, - this.icon, + required this.icon, }) : id = id ?? const Uuid().v4(), createdAt = createdAt ?? clock.now(); diff --git a/lib/data/dto/group.dart b/lib/data/dto/group.dart index a69c982..00ee280 100644 --- a/lib/data/dto/group.dart +++ b/lib/data/dto/group.dart @@ -5,7 +5,7 @@ import 'package:uuid/uuid.dart'; class Group { final String id; final String name; - final String? description; + final String description; final DateTime createdAt; final List members; @@ -13,7 +13,7 @@ class Group { String? id, DateTime? createdAt, required this.name, - this.description, + required this.description, required this.members, }) : id = id ?? const Uuid().v4(), createdAt = createdAt ?? clock.now(); diff --git a/lib/data/dto/match.dart b/lib/data/dto/match.dart index b71757a..a9b81ba 100644 --- a/lib/data/dto/match.dart +++ b/lib/data/dto/match.dart @@ -1,4 +1,5 @@ import 'package:clock/clock.dart'; +import 'package:game_tracker/core/enums.dart'; import 'package:game_tracker/data/dto/game.dart'; import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/player.dart'; @@ -8,20 +9,20 @@ class Match { final String id; final DateTime createdAt; final String name; - final Game? game; + final Game game; final Group? group; final List? players; - final String? notes; + final String notes; Player? winner; Match({ String? id, DateTime? createdAt, required this.name, - this.game, + required this.game, this.group, this.players, - this.notes, + required this.notes, this.winner, }) : id = id ?? const Uuid().v4(), createdAt = createdAt ?? clock.now(); @@ -37,17 +38,17 @@ class Match { : id = json['id'], createdAt = DateTime.parse(json['createdAt']), name = json['name'], - game = null, // Populated during import via DataTransferService + game = Game(name: '', ruleset: Ruleset.singleWinner, description: '', color: '', icon: ''), // Populated during import via DataTransferService group = null, // Populated during import via DataTransferService players = [], // Populated during import via DataTransferService - notes = json['notes']; + notes = json['notes'] ?? ''; /// Converts the Match instance to a JSON object using normalized format (ID references only). Map toJson() => { 'id': id, 'createdAt': createdAt.toIso8601String(), 'name': name, - 'gameId': game?.id, + 'gameId': game.id, 'groupId': group?.id, 'playerIds': (players ?? []).map((player) => player.id).toList(), 'notes': notes, diff --git a/lib/data/dto/player.dart b/lib/data/dto/player.dart index 6c3ab6d..13e4123 100644 --- a/lib/data/dto/player.dart +++ b/lib/data/dto/player.dart @@ -5,13 +5,13 @@ class Player { final String id; final DateTime createdAt; final String name; - final String? description; + final String description; Player({ String? id, DateTime? createdAt, required this.name, - this.description, + required this.description, }) : id = id ?? const Uuid().v4(), createdAt = createdAt ?? clock.now(); diff --git a/lib/presentation/views/main_menu/group_view/create_group_view.dart b/lib/presentation/views/main_menu/group_view/create_group_view.dart index 4b34095..0bda8b9 100644 --- a/lib/presentation/views/main_menu/group_view/create_group_view.dart +++ b/lib/presentation/views/main_menu/group_view/create_group_view.dart @@ -84,6 +84,7 @@ class _CreateGroupViewState extends State { bool success = await db.groupDao.addGroup( group: Group( name: _groupNameController.text.trim(), + description: '', members: selectedPlayers, ), ); diff --git a/lib/presentation/views/main_menu/group_view/groups_view.dart b/lib/presentation/views/main_menu/group_view/groups_view.dart index 81922f5..24df3b8 100644 --- a/lib/presentation/views/main_menu/group_view/groups_view.dart +++ b/lib/presentation/views/main_menu/group_view/groups_view.dart @@ -35,7 +35,8 @@ class _GroupsViewState extends State { 7, Group( name: 'Skeleton Group', - members: List.filled(6, Player(name: 'Skeleton Player')), + description: '', + members: List.filled(6, Player(name: 'Skeleton Player', description: '')), ), ); diff --git a/lib/presentation/views/main_menu/home_view.dart b/lib/presentation/views/main_menu/home_view.dart index f28341e..752cf75 100644 --- a/lib/presentation/views/main_menu/home_view.dart +++ b/lib/presentation/views/main_menu/home_view.dart @@ -1,7 +1,9 @@ import 'package:flutter/material.dart'; import 'package:game_tracker/core/adaptive_page_route.dart'; import 'package:game_tracker/core/constants.dart'; +import 'package:game_tracker/core/enums.dart'; import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/dto/game.dart'; import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; @@ -40,13 +42,16 @@ class _HomeViewState extends State { 2, Match( name: 'Skeleton Match', + game: Game(name: '', ruleset: Ruleset.singleWinner, description: '', color: '', icon: ''), group: Group( name: 'Skeleton Group', + description: '', members: [ - Player(name: 'Skeleton Player 1'), - Player(name: 'Skeleton Player 2'), + Player(name: 'Skeleton Player 1', description: ''), + Player(name: 'Skeleton Player 2', description: ''), ], ), + notes: '', ), ); @@ -114,7 +119,7 @@ class _HomeViewState extends State { MatchResultView(match: match), ), ); - await updatedWinnerinRecentMatches(match.id); + await updatedWinnerInRecentMatches(match.id); }, ), ) @@ -214,7 +219,7 @@ class _HomeViewState extends State { } /// Updates the winner information for a specific match in the recent matches list. - Future updatedWinnerinRecentMatches(String matchId) async { + Future updatedWinnerInRecentMatches(String matchId) async { final db = Provider.of(context, listen: false); final winner = await db.matchDao.getWinner(matchId: matchId); final matchIndex = recentMatches.indexWhere((match) => match.id == matchId); diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index a97de75..30107b7 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -203,6 +203,7 @@ class _CreateMatchViewState extends State { description: selectedGame.$2, ruleset: selectedGame.$3, color: '0xFF000000', + icon: '', ); } else { // Use the selected game from the list @@ -212,6 +213,7 @@ class _CreateMatchViewState extends State { description: selectedGame.$2, ruleset: selectedGame.$3, color: '0xFF000000', + icon: '', ); } // Add the game to the database if it doesn't exist @@ -225,6 +227,7 @@ class _CreateMatchViewState extends State { game: gameToUse, group: selectedGroup, players: selectedPlayers, + notes: '', ); await db.matchDao.addMatch(match: match); if (context.mounted) { diff --git a/lib/presentation/views/main_menu/match_view/match_view.dart b/lib/presentation/views/main_menu/match_view/match_view.dart index e85bf77..b5488bc 100644 --- a/lib/presentation/views/main_menu/match_view/match_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_view.dart @@ -5,7 +5,9 @@ import 'package:fluttericon/rpg_awesome_icons.dart'; import 'package:game_tracker/core/adaptive_page_route.dart'; import 'package:game_tracker/core/constants.dart'; import 'package:game_tracker/core/custom_theme.dart'; +import 'package:game_tracker/core/enums.dart'; import 'package:game_tracker/data/db/database.dart'; +import 'package:game_tracker/data/dto/game.dart'; import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/match.dart'; import 'package:game_tracker/data/dto/player.dart'; @@ -36,12 +38,15 @@ class _MatchViewState extends State { 4, Match( name: 'Skeleton match name', + game: Game(name: '', ruleset: Ruleset.singleWinner, description: '', color: '', icon: ''), group: Group( name: 'Group name', - members: List.filled(5, Player(name: 'Player')), + description: '', + members: List.filled(5, Player(name: 'Player', description: '')), ), - winner: Player(name: 'Player'), - players: [Player(name: 'Player')], + winner: Player(name: 'Player', description: ''), + players: [Player(name: 'Player', description: '')], + notes: '', ), ); diff --git a/lib/presentation/views/main_menu/statistics_view.dart b/lib/presentation/views/main_menu/statistics_view.dart index f87a3fb..908b10a 100644 --- a/lib/presentation/views/main_menu/statistics_view.dart +++ b/lib/presentation/views/main_menu/statistics_view.dart @@ -167,7 +167,7 @@ class _StatisticsViewState extends State { final playerId = winCounts[i].$1; final player = players.firstWhere( (p) => p.id == playerId, - orElse: () => Player(id: playerId, name: loc.not_available), + orElse: () => Player(id: playerId, name: loc.not_available, description: ''), ); winCounts[i] = (player.name, winCounts[i].$2); } @@ -231,7 +231,7 @@ class _StatisticsViewState extends State { final playerId = matchCounts[i].$1; final player = players.firstWhere( (p) => p.id == playerId, - orElse: () => Player(id: playerId, name: loc.not_available), + orElse: () => Player(id: playerId, name: loc.not_available, description: ''), ); matchCounts[i] = (player.name, matchCounts[i].$2); } diff --git a/lib/presentation/widgets/player_selection.dart b/lib/presentation/widgets/player_selection.dart index 58b62ec..68aaa7d 100644 --- a/lib/presentation/widgets/player_selection.dart +++ b/lib/presentation/widgets/player_selection.dart @@ -62,7 +62,7 @@ class _PlayerSelectionState extends State { /// Skeleton data used while loading players. late final List skeletonData = List.filled( 7, - Player(name: 'Player 0'), + Player(name: 'Player 0', description: ''), ); @override @@ -260,7 +260,7 @@ class _PlayerSelectionState extends State { final loc = AppLocalizations.of(context); final playerName = _searchBarController.text.trim(); - final createdPlayer = Player(name: playerName); + final createdPlayer = Player(name: playerName, description: ''); final success = await db.playerDao.addPlayer(player: createdPlayer); if (!context.mounted) return; diff --git a/lib/services/data_transfer_service.dart b/lib/services/data_transfer_service.dart index e659e45..4bd8635 100644 --- a/lib/services/data_transfer_service.dart +++ b/lib/services/data_transfer_service.dart @@ -61,7 +61,7 @@ class DataTransferService { 'id': m.id, 'name': m.name, 'createdAt': m.createdAt.toIso8601String(), - 'gameId': m.game?.id, + 'gameId': m.game.id, 'groupId': m.group?.id, 'playerIds': (m.players ?? []).map((p) => p.id).toList(), 'notes': m.notes, @@ -160,7 +160,7 @@ class DataTransferService { return Group( id: map['id'] as String, name: map['name'] as String, - description: map['description'] as String?, + description: map['description'] as String, members: members, createdAt: DateTime.parse(map['createdAt'] as String), ); @@ -192,11 +192,11 @@ class DataTransferService { final List importedMatches = matchesJson.map((m) { final map = m as Map; - final String? gameId = map['gameId'] as String?; + final String gameId = map['gameId'] as String; final String? groupId = map['groupId'] as String?; final List playerIds = (map['playerIds'] as List? ?? []).cast(); - final game = (gameId == null) ? null : gameById[gameId]; + final game = gameById[gameId]; final group = (groupId == null) ? null : groupById[groupId]; final players = playerIds .map((id) => playerById[id]) @@ -206,11 +206,11 @@ class DataTransferService { return Match( id: map['id'] as String, name: map['name'] as String, - game: game, + game: game ?? Game(name: 'Unknown', ruleset: Ruleset.singleWinner, description: '', color: '', icon: ''), group: group, players: players.isNotEmpty ? players : null, createdAt: DateTime.parse(map['createdAt'] as String), - notes: map['notes'] as String?, + notes: map['notes'] as String? ?? '', ); }).toList(); diff --git a/test/db_tests/game_test.dart b/test/db_tests/game_test.dart index 040d607..e38b85c 100644 --- a/test/db_tests/game_test.dart +++ b/test/db_tests/game_test.dart @@ -44,6 +44,7 @@ void main() { ruleset: Ruleset.highestScore, description: 'A board game about real estate', color: '0xFF000000', + icon: '', ); }); }); @@ -133,7 +134,7 @@ void main() { // Verifies that a game with null optional fields can be added and retrieved. test('addGame handles game with null optional fields', () async { - final gameWithNulls = Game(name: 'Simple Game', ruleset: Ruleset.lowestScore, description: 'A simple game', color: '0xFF000000'); + final gameWithNulls = Game(name: 'Simple Game', ruleset: Ruleset.lowestScore, description: 'A simple game', color: '0xFF000000', icon: ''); final result = await database.gameDao.addGame(game: gameWithNulls); expect(result, true); @@ -374,19 +375,19 @@ void main() { expect(updatedGame.icon, 'new_chess_icon'); }); - // Verifies that updateGameIcon can set the icon to null. - test('updateGameIcon can set icon to null', () async { + // Verifies that updateGameIcon can update the icon. + test('updateGameIcon updates icon correctly', () async { await database.gameDao.addGame(game: testGame1); await database.gameDao.updateGameIcon( gameId: testGame1.id, - newIcon: null, + newIcon: 'new_icon', ); final updatedGame = await database.gameDao.getGameById( gameId: testGame1.id, ); - expect(updatedGame.icon, isNull); + expect(updatedGame.icon, 'new_icon'); }); // Verifies that updateGameIcon does nothing when game doesn't exist. @@ -460,6 +461,7 @@ void main() { ruleset: Ruleset.multipleWinners, description: 'Description with émojis 🎮🎲', color: '0xFF000000', + icon: '', ); await database.gameDao.addGame(game: specialGame); @@ -498,6 +500,7 @@ void main() { description: longString, ruleset: Ruleset.multipleWinners, color: '0xFF000000', + icon: '', ); await database.gameDao.addGame(game: longGame); diff --git a/test/db_tests/group_test.dart b/test/db_tests/group_test.dart index ada0430..09b7466 100644 --- a/test/db_tests/group_test.dart +++ b/test/db_tests/group_test.dart @@ -29,27 +29,31 @@ void main() { ); withClock(fakeClock, () { - testPlayer1 = Player(name: 'Alice'); - testPlayer2 = Player(name: 'Bob'); - testPlayer3 = Player(name: 'Charlie'); - testPlayer4 = Player(name: 'Diana'); + testPlayer1 = Player(name: 'Alice', description: ''); + testPlayer2 = Player(name: 'Bob', description: ''); + testPlayer3 = Player(name: 'Charlie', description: ''); + testPlayer4 = Player(name: 'Diana', description: ''); testGroup1 = Group( name: 'Test Group', + description: '', members: [testPlayer1, testPlayer2, testPlayer3], ); testGroup2 = Group( id: 'gr2', name: 'Second Group', + description: '', members: [testPlayer2, testPlayer3, testPlayer4], ); testGroup3 = Group( id: 'gr2', name: 'Second Group', + description: '', members: [testPlayer2, testPlayer4], ); testGroup4 = Group( id: 'gr2', name: 'Second Group', + description: '', members: [testPlayer1, testPlayer2, testPlayer3, testPlayer4], ); }); @@ -262,14 +266,14 @@ void main() { final updated = await database.groupDao.updateGroupDescription( groupId: groupWithDescription.id, - newDescription: null, + newDescription: 'Updated description', ); expect(updated, true); final result = await database.groupDao.getGroupById( groupId: groupWithDescription.id, ); - expect(result.description, isNull); + expect(result.description, 'Updated description'); }); // Verifies that updateGroupDescription returns false for a non-existent group. @@ -324,6 +328,7 @@ void main() { test('Group with empty members list is stored correctly', () async { final emptyGroup = Group( name: 'Empty Group', + description: '', members: [], ); await database.groupDao.addGroup(group: emptyGroup); diff --git a/test/db_tests/match_test.dart b/test/db_tests/match_test.dart index 80a9fa7..7bcb0a8 100644 --- a/test/db_tests/match_test.dart +++ b/test/db_tests/match_test.dart @@ -36,26 +36,29 @@ void main() { ); withClock(fakeClock, () { - testPlayer1 = Player(name: 'Alice'); - testPlayer2 = Player(name: 'Bob'); - testPlayer3 = Player(name: 'Charlie'); - testPlayer4 = Player(name: 'Diana'); - testPlayer5 = Player(name: 'Eve'); + testPlayer1 = Player(name: 'Alice', description: ''); + testPlayer2 = Player(name: 'Bob', description: ''); + testPlayer3 = Player(name: 'Charlie', description: ''); + testPlayer4 = Player(name: 'Diana', description: ''); + testPlayer5 = Player(name: 'Eve', description: ''); testGroup1 = Group( name: 'Test Group 2', + description: '', members: [testPlayer1, testPlayer2, testPlayer3], ); testGroup2 = Group( name: 'Test Group 2', + description: '', members: [testPlayer4, testPlayer5], ); - testGame = Game(name: 'Test Game', ruleset: Ruleset.singleWinner, description: 'A test game', color: '0xFF000000'); + testGame = Game(name: 'Test Game', ruleset: Ruleset.singleWinner, description: 'A test game', color: '0xFF000000', icon: ''); testMatch1 = Match( name: 'First Test Match', game: testGame, group: testGroup1, players: [testPlayer4, testPlayer5], winner: testPlayer4, + notes: '', ); testMatch2 = Match( name: 'Second Test Match', @@ -63,17 +66,20 @@ void main() { group: testGroup2, players: [testPlayer1, testPlayer2, testPlayer3], winner: testPlayer2, + notes: '', ); testMatchOnlyPlayers = Match( name: 'Test Match with Players', game: testGame, players: [testPlayer1, testPlayer2, testPlayer3], winner: testPlayer3, + notes: '', ); testMatchOnlyGroup = Match( name: 'Test Match with Group', game: testGame, group: testGroup2, + notes: '', ); }); await database.playerDao.addPlayersAsList( diff --git a/test/db_tests/player_group_test.dart b/test/db_tests/player_group_test.dart index 8959092..fa270bb 100644 --- a/test/db_tests/player_group_test.dart +++ b/test/db_tests/player_group_test.dart @@ -26,12 +26,13 @@ void main() { ); withClock(fakeClock, () { - testPlayer1 = Player(name: 'Alice'); - testPlayer2 = Player(name: 'Bob'); - testPlayer3 = Player(name: 'Charlie'); - testPlayer4 = Player(name: 'Diana'); + testPlayer1 = Player(name: 'Alice', description: ''); + testPlayer2 = Player(name: 'Bob', description: ''); + testPlayer3 = Player(name: 'Charlie', description: ''); + testPlayer4 = Player(name: 'Diana', description: ''); testGroup = Group( name: 'Test Group', + description: '', members: [testPlayer1, testPlayer2, testPlayer3], ); }); @@ -186,7 +187,7 @@ void main() { // Verifies that getPlayersOfGroup returns empty list for group with no members. test('getPlayersOfGroup returns empty list for empty group', () async { - final emptyGroup = Group(name: 'Empty Group', members: []); + final emptyGroup = Group(name: 'Empty Group', description: '', members: []); await database.groupDao.addGroup(group: emptyGroup); final players = await database.playerGroupDao.getPlayersOfGroup( @@ -230,7 +231,7 @@ void main() { // Verifies that a player can be in multiple groups. test('Player can be in multiple groups', () async { - final secondGroup = Group(name: 'Second Group', members: []); + final secondGroup = Group(name: 'Second Group', description: '', members: []); await database.groupDao.addGroup(group: testGroup); await database.groupDao.addGroup(group: secondGroup); @@ -255,7 +256,7 @@ void main() { // Verifies that removing player from one group doesn't affect other groups. test('Removing player from one group does not affect other groups', () async { - final secondGroup = Group(name: 'Second Group', members: [testPlayer1]); + final secondGroup = Group(name: 'Second Group', description: '', members: [testPlayer1]); await database.groupDao.addGroup(group: testGroup); await database.groupDao.addGroup(group: secondGroup); diff --git a/test/db_tests/player_match_test.dart b/test/db_tests/player_match_test.dart index 0e5fb27..b8d3313 100644 --- a/test/db_tests/player_match_test.dart +++ b/test/db_tests/player_match_test.dart @@ -37,26 +37,29 @@ void main() { ); withClock(fakeClock, () { - testPlayer1 = Player(name: 'Alice'); - testPlayer2 = Player(name: 'Bob'); - testPlayer3 = Player(name: 'Charlie'); - testPlayer4 = Player(name: 'Diana'); - testPlayer5 = Player(name: 'Eve'); - testPlayer6 = Player(name: 'Frank'); + testPlayer1 = Player(name: 'Alice', description: ''); + testPlayer2 = Player(name: 'Bob', description: ''); + testPlayer3 = Player(name: 'Charlie', description: ''); + testPlayer4 = Player(name: 'Diana', description: ''); + testPlayer5 = Player(name: 'Eve', description: ''); + testPlayer6 = Player(name: 'Frank', description: ''); testGroup = Group( name: 'Test Group', + description: '', members: [testPlayer1, testPlayer2, testPlayer3], ); - testGame = Game(name: 'Test Game', ruleset: Ruleset.singleWinner, description: 'A test game', color: '0xFF000000'); + testGame = Game(name: 'Test Game', ruleset: Ruleset.singleWinner, description: 'A test game', color: '0xFF000000', icon: ''); testMatchOnlyGroup = Match( name: 'Test Match with Group', game: testGame, group: testGroup, + notes: '', ); testMatchOnlyPlayers = Match( name: 'Test Match with Players', game: testGame, players: [testPlayer4, testPlayer5, testPlayer6], + notes: '', ); testTeam1 = Team( name: 'Team Alpha', @@ -226,8 +229,8 @@ void main() { 'Adding the same player to separate matches works correctly', () async { final playersList = [testPlayer1, testPlayer2, testPlayer3]; - final match1 = Match(name: 'Match 1', game: testGame, players: playersList); - final match2 = Match(name: 'Match 2', game: testGame, players: playersList); + final match1 = Match(name: 'Match 1', game: testGame, players: playersList, notes: ''); + final match2 = Match(name: 'Match 2', game: testGame, players: playersList, notes: ''); await Future.wait([ database.matchDao.addMatch(match: match1), @@ -760,8 +763,8 @@ void main() { // Verifies that removePlayerFromMatch does not affect other matches. test('removePlayerFromMatch does not affect other matches', () async { final playersList = [testPlayer1, testPlayer2]; - final match1 = Match(name: 'Match 1', game: testGame, players: playersList); - final match2 = Match(name: 'Match 2', game: testGame, players: playersList); + final match1 = Match(name: 'Match 1', game: testGame, players: playersList, notes: ''); + final match2 = Match(name: 'Match 2', game: testGame, players: playersList, notes: ''); await Future.wait([ database.matchDao.addMatch(match: match1), @@ -793,8 +796,8 @@ void main() { // Verifies that updating scores for players in different matches are independent. test('Player scores are independent across matches', () async { final playersList = [testPlayer1]; - final match1 = Match(name: 'Match 1', game: testGame, players: playersList); - final match2 = Match(name: 'Match 2', game: testGame, players: playersList); + final match1 = Match(name: 'Match 1', game: testGame, players: playersList, notes: ''); + final match2 = Match(name: 'Match 2', game: testGame, players: playersList, notes: ''); await Future.wait([ database.matchDao.addMatch(match: match1), diff --git a/test/db_tests/player_test.dart b/test/db_tests/player_test.dart index da5b904..8ce0e66 100644 --- a/test/db_tests/player_test.dart +++ b/test/db_tests/player_test.dart @@ -24,10 +24,10 @@ void main() { ); withClock(fakeClock, () { - testPlayer1 = Player(name: 'Test Player'); - testPlayer2 = Player(name: 'Second Player'); - testPlayer3 = Player(name: 'Charlie'); - testPlayer4 = Player(name: 'Diana'); + testPlayer1 = Player(name: 'Test Player', description: ''); + testPlayer2 = Player(name: 'Second Player', description: ''); + testPlayer3 = Player(name: 'Charlie', description: ''); + testPlayer4 = Player(name: 'Diana', description: ''); }); }); tearDown(() async { @@ -265,7 +265,7 @@ void main() { // Verifies that a player with special characters in name is stored correctly. test('Player with special characters in name is stored correctly', () async { - final specialPlayer = Player(name: 'Test!@#\$%^&*()_+-=[]{}|;\':",.<>?/`~'); + final specialPlayer = Player(name: 'Test!@#\$%^&*()_+-=[]{}|;\':",.<>?/`~', description: ''); await database.playerDao.addPlayer(player: specialPlayer); @@ -293,14 +293,14 @@ void main() { // Verifies that a player with null description is stored correctly. test('Player with null description is stored correctly', () async { - final playerWithoutDescription = Player(name: 'No Description Player'); + final playerWithoutDescription = Player(name: 'No Description Player', description: ''); await database.playerDao.addPlayer(player: playerWithoutDescription); final fetchedPlayer = await database.playerDao.getPlayerById( playerId: playerWithoutDescription.id, ); - expect(fetchedPlayer.description, isNull); + expect(fetchedPlayer.description, ''); }); // Verifies that multiple updates to the same player work correctly. @@ -340,7 +340,7 @@ void main() { // Verifies that a player with empty string name is stored correctly. test('Player with empty string name is stored correctly', () async { - final emptyNamePlayer = Player(name: ''); + final emptyNamePlayer = Player(name: '', description: ''); await database.playerDao.addPlayer(player: emptyNamePlayer); @@ -353,7 +353,7 @@ void main() { // Verifies that a player with very long name is stored correctly. test('Player with very long name is stored correctly', () async { final longName = 'A' * 1000; - final longNamePlayer = Player(name: longName); + final longNamePlayer = Player(name: longName, description: ''); await database.playerDao.addPlayer(player: longNamePlayer); diff --git a/test/db_tests/score_test.dart b/test/db_tests/score_test.dart index 9052a32..bbd7729 100644 --- a/test/db_tests/score_test.dart +++ b/test/db_tests/score_test.dart @@ -29,19 +29,21 @@ void main() { ); withClock(fakeClock, () { - testPlayer1 = Player(name: 'Alice'); - testPlayer2 = Player(name: 'Bob'); - testPlayer3 = Player(name: 'Charlie'); - testGame = Game(name: 'Test Game', ruleset: Ruleset.singleWinner, description: 'A test game', color: '0xFF000000'); + testPlayer1 = Player(name: 'Alice', description: ''); + testPlayer2 = Player(name: 'Bob', description: ''); + testPlayer3 = Player(name: 'Charlie', description: ''); + testGame = Game(name: 'Test Game', ruleset: Ruleset.singleWinner, description: 'A test game', color: '0xFF000000', icon: ''); testMatch1 = Match( name: 'Test Match 1', game: testGame, players: [testPlayer1, testPlayer2], + notes: '', ); testMatch2 = Match( name: 'Test Match 2', game: testGame, players: [testPlayer2, testPlayer3], + notes: '', ); }); diff --git a/test/db_tests/team_test.dart b/test/db_tests/team_test.dart index efeaf18..19338cb 100644 --- a/test/db_tests/team_test.dart +++ b/test/db_tests/team_test.dart @@ -33,10 +33,10 @@ void main() { ); withClock(fakeClock, () { - testPlayer1 = Player(name: 'Alice'); - testPlayer2 = Player(name: 'Bob'); - testPlayer3 = Player(name: 'Charlie'); - testPlayer4 = Player(name: 'Diana'); + testPlayer1 = Player(name: 'Alice', description: ''); + testPlayer2 = Player(name: 'Bob', description: ''); + testPlayer3 = Player(name: 'Charlie', description: ''); + testPlayer4 = Player(name: 'Diana', description: ''); testTeam1 = Team( name: 'Team Alpha', members: [testPlayer1, testPlayer2], @@ -49,8 +49,8 @@ void main() { name: 'Team Gamma', members: [testPlayer1, testPlayer3], ); - testGame1 = Game(name: 'Game 1', ruleset: Ruleset.singleWinner, description: 'Test game 1', color: '0xFF000000'); - testGame2 = Game(name: 'Game 2', ruleset: Ruleset.highestScore, description: 'Test game 2', color: '0xFF000000'); + testGame1 = Game(name: 'Game 1', ruleset: Ruleset.singleWinner, description: 'Test game 1', color: '0xFF000000', icon: ''); + testGame2 = Game(name: 'Game 2', ruleset: Ruleset.highestScore, description: 'Test game 2', color: '0xFF000000', icon: ''); }); await database.playerDao.addPlayersAsList( @@ -344,8 +344,8 @@ void main() { // Verifies that teams with overlapping members are independent. test('Teams with overlapping members are independent', () async { // Create two matches since player_match has primary key {playerId, matchId} - final match1 = Match(name: 'Match 1', game: testGame1); - final match2 = Match(name: 'Match 2', game: testGame2); + final match1 = Match(name: 'Match 1', game: testGame1, notes: ''); + final match2 = Match(name: 'Match 2', game: testGame2, notes: ''); await database.matchDao.addMatch(match: match1); await database.matchDao.addMatch(match: match2); From 2ea68dcc89b6446cc3889fafeeca10dfc6a577f5 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Sun, 1 Feb 2026 17:29:19 +0100 Subject: [PATCH 137/198] fix errors after merging --- lib/data/dao/game_dao.dart | 54 +- lib/data/dao/match_dao.dart | 4 + lib/data/dao/player_match_dao.dart | 1 + lib/data/dao/score_dao.dart | 4 +- lib/data/dao/team_dao.dart | 8 +- lib/data/db/database.dart | 20 +- lib/data/db/database.g.dart | 1070 ++++++++--------- lib/data/db/tables/match_table.dart | 4 +- lib/data/db/tables/player_match_table.dart | 1 + lib/data/db/tables/score_table.dart | 4 +- lib/data/dto/game.dart | 2 +- lib/data/dto/match.dart | 2 + lib/data/dto/team.dart | 2 +- lib/main.dart | 4 +- .../views/main_menu/home_view.dart | 52 +- .../create_match/create_match_view.dart | 1 + .../main_menu/match_view/match_view.dart | 2 + lib/services/data_transfer_service.dart | 2 + test/db_tests/game_test.dart | 7 +- test/db_tests/match_test.dart | 12 +- test/db_tests/player_match_test.dart | 5 +- test/db_tests/score_test.dart | 10 +- test/db_tests/team_test.dart | 12 +- 23 files changed, 632 insertions(+), 651 deletions(-) diff --git a/lib/data/dao/game_dao.dart b/lib/data/dao/game_dao.dart index 0fd761c..b656266 100644 --- a/lib/data/dao/game_dao.dart +++ b/lib/data/dao/game_dao.dart @@ -1,8 +1,8 @@ import 'package:drift/drift.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/db/tables/game_table.dart'; -import 'package:game_tracker/data/dto/game.dart'; -import 'package:game_tracker/core/enums.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/db/tables/game_table.dart'; +import 'package:tallee/data/dto/game.dart'; +import 'package:tallee/core/enums.dart'; part 'game_dao.g.dart'; @@ -111,20 +111,14 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { } /// Updates the name of the game with the given [gameId] to [newName]. - Future updateGameName({ - required String gameId, - required String newName, - }) async { - await (update(gameTable)..where((g) => g.id.equals(gameId))).write( - GameTableCompanion(name: Value(newName)), - ); + Future updateGameName({required String gameId, required String newName}) async { + await (update( + gameTable, + )..where((g) => g.id.equals(gameId))).write(GameTableCompanion(name: Value(newName))); } /// Updates the ruleset of the game with the given [gameId]. - Future updateGameRuleset({ - required String gameId, - required Ruleset newRuleset, - }) async { + Future updateGameRuleset({required String gameId, required Ruleset newRuleset}) async { await (update(gameTable)..where((g) => g.id.equals(gameId))).write( GameTableCompanion(ruleset: Value(newRuleset.name)), ); @@ -141,31 +135,24 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { } /// Updates the color of the game with the given [gameId]. - Future updateGameColor({ - required String gameId, - required String newColor, - }) async { - await (update(gameTable)..where((g) => g.id.equals(gameId))).write( - GameTableCompanion(color: Value(newColor)), - ); + Future updateGameColor({required String gameId, required String newColor}) async { + await (update( + gameTable, + )..where((g) => g.id.equals(gameId))).write(GameTableCompanion(color: Value(newColor))); } /// Updates the icon of the game with the given [gameId]. - Future updateGameIcon({ - required String gameId, - required String newIcon, - }) async { - await (update(gameTable)..where((g) => g.id.equals(gameId))).write( - GameTableCompanion(icon: Value(newIcon)), - ); + Future updateGameIcon({required String gameId, required String newIcon}) async { + await (update( + gameTable, + )..where((g) => g.id.equals(gameId))).write(GameTableCompanion(icon: Value(newIcon))); } /// Retrieves the total count of games in the database. Future getGameCount() async { - final count = - await (selectOnly(gameTable)..addColumns([gameTable.id.count()])) - .map((row) => row.read(gameTable.id.count())) - .getSingle(); + final count = await (selectOnly( + gameTable, + )..addColumns([gameTable.id.count()])).map((row) => row.read(gameTable.id.count())).getSingle(); return count ?? 0; } @@ -177,4 +164,3 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { return rowsAffected > 0; } } - diff --git a/lib/data/dao/match_dao.dart b/lib/data/dao/match_dao.dart index 06dd335..201fc52 100644 --- a/lib/data/dao/match_dao.dart +++ b/lib/data/dao/match_dao.dart @@ -1,6 +1,10 @@ import 'package:drift/drift.dart'; import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/db/tables/game_table.dart'; +import 'package:tallee/data/db/tables/group_table.dart'; import 'package:tallee/data/db/tables/match_table.dart'; +import 'package:tallee/data/db/tables/player_match_table.dart'; +import 'package:tallee/data/dto/game.dart'; import 'package:tallee/data/dto/group.dart'; import 'package:tallee/data/dto/match.dart'; import 'package:tallee/data/dto/player.dart'; diff --git a/lib/data/dao/player_match_dao.dart b/lib/data/dao/player_match_dao.dart index 106f23f..48bf282 100644 --- a/lib/data/dao/player_match_dao.dart +++ b/lib/data/dao/player_match_dao.dart @@ -1,6 +1,7 @@ import 'package:drift/drift.dart'; import 'package:tallee/data/db/database.dart'; import 'package:tallee/data/db/tables/player_match_table.dart'; +import 'package:tallee/data/db/tables/team_table.dart'; import 'package:tallee/data/dto/player.dart'; part 'player_match_dao.g.dart'; diff --git a/lib/data/dao/score_dao.dart b/lib/data/dao/score_dao.dart index 5fa29da..04e8fcf 100644 --- a/lib/data/dao/score_dao.dart +++ b/lib/data/dao/score_dao.dart @@ -1,6 +1,6 @@ import 'package:drift/drift.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/db/tables/score_table.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/db/tables/score_table.dart'; part 'score_dao.g.dart'; diff --git a/lib/data/dao/team_dao.dart b/lib/data/dao/team_dao.dart index 6a40d03..5c2aadb 100644 --- a/lib/data/dao/team_dao.dart +++ b/lib/data/dao/team_dao.dart @@ -1,8 +1,8 @@ import 'package:drift/drift.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/db/tables/team_table.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/data/dto/team.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/db/tables/team_table.dart'; +import 'package:tallee/data/dto/player.dart'; +import 'package:tallee/data/dto/team.dart'; part 'team_dao.g.dart'; diff --git a/lib/data/db/database.dart b/lib/data/db/database.dart index 4c70b21..4ab053e 100644 --- a/lib/data/db/database.dart +++ b/lib/data/db/database.dart @@ -1,18 +1,22 @@ import 'package:drift/drift.dart'; import 'package:drift_flutter/drift_flutter.dart'; import 'package:path_provider/path_provider.dart'; +import 'package:tallee/data/dao/game_dao.dart'; import 'package:tallee/data/dao/group_dao.dart'; -import 'package:tallee/data/dao/group_match_dao.dart'; import 'package:tallee/data/dao/match_dao.dart'; import 'package:tallee/data/dao/player_dao.dart'; import 'package:tallee/data/dao/player_group_dao.dart'; import 'package:tallee/data/dao/player_match_dao.dart'; -import 'package:tallee/data/db/tables/group_match_table.dart'; +import 'package:tallee/data/dao/score_dao.dart'; +import 'package:tallee/data/dao/team_dao.dart'; +import 'package:tallee/data/db/tables/game_table.dart'; import 'package:tallee/data/db/tables/group_table.dart'; import 'package:tallee/data/db/tables/match_table.dart'; import 'package:tallee/data/db/tables/player_group_table.dart'; import 'package:tallee/data/db/tables/player_match_table.dart'; import 'package:tallee/data/db/tables/player_table.dart'; +import 'package:tallee/data/db/tables/score_table.dart'; +import 'package:tallee/data/db/tables/team_table.dart'; part 'database.g.dart'; @@ -23,7 +27,9 @@ part 'database.g.dart'; MatchTable, PlayerGroupTable, PlayerMatchTable, - GroupMatchTable, + GameTable, + TeamTable, + ScoreTable, ], daos: [ PlayerDao, @@ -31,7 +37,9 @@ part 'database.g.dart'; MatchDao, PlayerGroupDao, PlayerMatchDao, - GroupMatchDao, + GameDao, + ScoreDao, + TeamDao ], ) class AppDatabase extends _$AppDatabase { @@ -52,9 +60,7 @@ class AppDatabase extends _$AppDatabase { static QueryExecutor _openConnection() { return driftDatabase( name: 'gametracker_db', - native: const DriftNativeOptions( - databaseDirectory: getApplicationSupportDirectory, - ), + native: const DriftNativeOptions(databaseDirectory: getApplicationSupportDirectory), ); } } diff --git a/lib/data/db/database.g.dart b/lib/data/db/database.g.dart index b77c4cd..a11c224 100644 --- a/lib/data/db/database.g.dart +++ b/lib/data/db/database.g.dart @@ -1085,265 +1085,6 @@ class GameTableCompanion extends UpdateCompanion { } } -class $TeamTableTable extends TeamTable - with TableInfo<$TeamTableTable, TeamTableData> { - @override - final GeneratedDatabase attachedDatabase; - final String? _alias; - $TeamTableTable(this.attachedDatabase, [this._alias]); - static const VerificationMeta _idMeta = const VerificationMeta('id'); - @override - late final GeneratedColumn id = GeneratedColumn( - 'id', - aliasedName, - false, - type: DriftSqlType.string, - requiredDuringInsert: true, - ); - static const VerificationMeta _nameMeta = const VerificationMeta('name'); - @override - late final GeneratedColumn name = GeneratedColumn( - 'name', - aliasedName, - false, - type: DriftSqlType.string, - requiredDuringInsert: true, - ); - static const VerificationMeta _createdAtMeta = const VerificationMeta( - 'createdAt', - ); - @override - late final GeneratedColumn createdAt = GeneratedColumn( - 'created_at', - aliasedName, - false, - type: DriftSqlType.dateTime, - requiredDuringInsert: true, - ); - @override - List get $columns => [id, name, createdAt]; - @override - String get aliasedName => _alias ?? actualTableName; - @override - String get actualTableName => $name; - static const String $name = 'team_table'; - @override - VerificationContext validateIntegrity( - Insertable instance, { - bool isInserting = false, - }) { - final context = VerificationContext(); - final data = instance.toColumns(true); - if (data.containsKey('id')) { - context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); - } else if (isInserting) { - context.missing(_idMeta); - } - if (data.containsKey('name')) { - context.handle( - _nameMeta, - name.isAcceptableOrUnknown(data['name']!, _nameMeta), - ); - } else if (isInserting) { - context.missing(_nameMeta); - } - if (data.containsKey('created_at')) { - context.handle( - _createdAtMeta, - createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta), - ); - } else if (isInserting) { - context.missing(_createdAtMeta); - } - return context; - } - - @override - Set get $primaryKey => {id}; - @override - TeamTableData map(Map data, {String? tablePrefix}) { - final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; - return TeamTableData( - id: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}id'], - )!, - name: attachedDatabase.typeMapping.read( - DriftSqlType.string, - data['${effectivePrefix}name'], - )!, - createdAt: attachedDatabase.typeMapping.read( - DriftSqlType.dateTime, - data['${effectivePrefix}created_at'], - )!, - ); - } - - @override - $TeamTableTable createAlias(String alias) { - return $TeamTableTable(attachedDatabase, alias); - } -} - -class TeamTableData extends DataClass implements Insertable { - final String id; - final String name; - final DateTime createdAt; - const TeamTableData({ - required this.id, - required this.name, - required this.createdAt, - }); - @override - Map toColumns(bool nullToAbsent) { - final map = {}; - map['id'] = Variable(id); - map['name'] = Variable(name); - map['created_at'] = Variable(createdAt); - return map; - } - - TeamTableCompanion toCompanion(bool nullToAbsent) { - return TeamTableCompanion( - id: Value(id), - name: Value(name), - createdAt: Value(createdAt), - ); - } - - factory TeamTableData.fromJson( - Map json, { - ValueSerializer? serializer, - }) { - serializer ??= driftRuntimeOptions.defaultSerializer; - return TeamTableData( - id: serializer.fromJson(json['id']), - name: serializer.fromJson(json['name']), - createdAt: serializer.fromJson(json['createdAt']), - ); - } - @override - Map toJson({ValueSerializer? serializer}) { - serializer ??= driftRuntimeOptions.defaultSerializer; - return { - 'id': serializer.toJson(id), - 'name': serializer.toJson(name), - 'createdAt': serializer.toJson(createdAt), - }; - } - - TeamTableData copyWith({String? id, String? name, DateTime? createdAt}) => - TeamTableData( - id: id ?? this.id, - name: name ?? this.name, - createdAt: createdAt ?? this.createdAt, - ); - TeamTableData copyWithCompanion(TeamTableCompanion data) { - return TeamTableData( - id: data.id.present ? data.id.value : this.id, - name: data.name.present ? data.name.value : this.name, - createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, - ); - } - - @override - String toString() { - return (StringBuffer('TeamTableData(') - ..write('id: $id, ') - ..write('name: $name, ') - ..write('createdAt: $createdAt') - ..write(')')) - .toString(); - } - - @override - int get hashCode => Object.hash(id, name, createdAt); - @override - bool operator ==(Object other) => - identical(this, other) || - (other is TeamTableData && - other.id == this.id && - other.name == this.name && - other.createdAt == this.createdAt); -} - -class TeamTableCompanion extends UpdateCompanion { - final Value id; - final Value name; - final Value createdAt; - final Value rowid; - const TeamTableCompanion({ - this.id = const Value.absent(), - this.name = const Value.absent(), - this.createdAt = const Value.absent(), - this.rowid = const Value.absent(), - }); - TeamTableCompanion.insert({ - required String id, - required String name, - required DateTime createdAt, - this.rowid = const Value.absent(), - }) : id = Value(id), - name = Value(name), - createdAt = Value(createdAt); - static Insertable custom({ - Expression? id, - Expression? name, - Expression? createdAt, - Expression? rowid, - }) { - return RawValuesInsertable({ - if (id != null) 'id': id, - if (name != null) 'name': name, - if (createdAt != null) 'created_at': createdAt, - if (rowid != null) 'rowid': rowid, - }); - } - - TeamTableCompanion copyWith({ - Value? id, - Value? name, - Value? createdAt, - Value? rowid, - }) { - return TeamTableCompanion( - id: id ?? this.id, - name: name ?? this.name, - createdAt: createdAt ?? this.createdAt, - rowid: rowid ?? this.rowid, - ); - } - - @override - Map toColumns(bool nullToAbsent) { - final map = {}; - if (id.present) { - map['id'] = Variable(id.value); - } - if (name.present) { - map['name'] = Variable(name.value); - } - if (createdAt.present) { - map['created_at'] = Variable(createdAt.value); - } - if (rowid.present) { - map['rowid'] = Variable(rowid.value); - } - return map; - } - - @override - String toString() { - return (StringBuffer('TeamTableCompanion(') - ..write('id: $id, ') - ..write('name: $name, ') - ..write('createdAt: $createdAt, ') - ..write('rowid: $rowid') - ..write(')')) - .toString(); - } -} - class $MatchTableTable extends MatchTable with TableInfo<$MatchTableTable, MatchTableData> { @override @@ -1979,6 +1720,265 @@ class PlayerGroupTableCompanion extends UpdateCompanion { } } +class $TeamTableTable extends TeamTable + with TableInfo<$TeamTableTable, TeamTableData> { + @override + final GeneratedDatabase attachedDatabase; + final String? _alias; + $TeamTableTable(this.attachedDatabase, [this._alias]); + static const VerificationMeta _idMeta = const VerificationMeta('id'); + @override + late final GeneratedColumn id = GeneratedColumn( + 'id', + aliasedName, + false, + type: DriftSqlType.string, + requiredDuringInsert: true, + ); + static const VerificationMeta _nameMeta = const VerificationMeta('name'); + @override + late final GeneratedColumn name = GeneratedColumn( + 'name', + aliasedName, + false, + type: DriftSqlType.string, + requiredDuringInsert: true, + ); + static const VerificationMeta _createdAtMeta = const VerificationMeta( + 'createdAt', + ); + @override + late final GeneratedColumn createdAt = GeneratedColumn( + 'created_at', + aliasedName, + false, + type: DriftSqlType.dateTime, + requiredDuringInsert: true, + ); + @override + List get $columns => [id, name, createdAt]; + @override + String get aliasedName => _alias ?? actualTableName; + @override + String get actualTableName => $name; + static const String $name = 'team_table'; + @override + VerificationContext validateIntegrity( + Insertable instance, { + bool isInserting = false, + }) { + final context = VerificationContext(); + final data = instance.toColumns(true); + if (data.containsKey('id')) { + context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta)); + } else if (isInserting) { + context.missing(_idMeta); + } + if (data.containsKey('name')) { + context.handle( + _nameMeta, + name.isAcceptableOrUnknown(data['name']!, _nameMeta), + ); + } else if (isInserting) { + context.missing(_nameMeta); + } + if (data.containsKey('created_at')) { + context.handle( + _createdAtMeta, + createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta), + ); + } else if (isInserting) { + context.missing(_createdAtMeta); + } + return context; + } + + @override + Set get $primaryKey => {id}; + @override + TeamTableData map(Map data, {String? tablePrefix}) { + final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; + return TeamTableData( + id: attachedDatabase.typeMapping.read( + DriftSqlType.string, + data['${effectivePrefix}id'], + )!, + name: attachedDatabase.typeMapping.read( + DriftSqlType.string, + data['${effectivePrefix}name'], + )!, + createdAt: attachedDatabase.typeMapping.read( + DriftSqlType.dateTime, + data['${effectivePrefix}created_at'], + )!, + ); + } + + @override + $TeamTableTable createAlias(String alias) { + return $TeamTableTable(attachedDatabase, alias); + } +} + +class TeamTableData extends DataClass implements Insertable { + final String id; + final String name; + final DateTime createdAt; + const TeamTableData({ + required this.id, + required this.name, + required this.createdAt, + }); + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + map['id'] = Variable(id); + map['name'] = Variable(name); + map['created_at'] = Variable(createdAt); + return map; + } + + TeamTableCompanion toCompanion(bool nullToAbsent) { + return TeamTableCompanion( + id: Value(id), + name: Value(name), + createdAt: Value(createdAt), + ); + } + + factory TeamTableData.fromJson( + Map json, { + ValueSerializer? serializer, + }) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return TeamTableData( + id: serializer.fromJson(json['id']), + name: serializer.fromJson(json['name']), + createdAt: serializer.fromJson(json['createdAt']), + ); + } + @override + Map toJson({ValueSerializer? serializer}) { + serializer ??= driftRuntimeOptions.defaultSerializer; + return { + 'id': serializer.toJson(id), + 'name': serializer.toJson(name), + 'createdAt': serializer.toJson(createdAt), + }; + } + + TeamTableData copyWith({String? id, String? name, DateTime? createdAt}) => + TeamTableData( + id: id ?? this.id, + name: name ?? this.name, + createdAt: createdAt ?? this.createdAt, + ); + TeamTableData copyWithCompanion(TeamTableCompanion data) { + return TeamTableData( + id: data.id.present ? data.id.value : this.id, + name: data.name.present ? data.name.value : this.name, + createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, + ); + } + + @override + String toString() { + return (StringBuffer('TeamTableData(') + ..write('id: $id, ') + ..write('name: $name, ') + ..write('createdAt: $createdAt') + ..write(')')) + .toString(); + } + + @override + int get hashCode => Object.hash(id, name, createdAt); + @override + bool operator ==(Object other) => + identical(this, other) || + (other is TeamTableData && + other.id == this.id && + other.name == this.name && + other.createdAt == this.createdAt); +} + +class TeamTableCompanion extends UpdateCompanion { + final Value id; + final Value name; + final Value createdAt; + final Value rowid; + const TeamTableCompanion({ + this.id = const Value.absent(), + this.name = const Value.absent(), + this.createdAt = const Value.absent(), + this.rowid = const Value.absent(), + }); + TeamTableCompanion.insert({ + required String id, + required String name, + required DateTime createdAt, + this.rowid = const Value.absent(), + }) : id = Value(id), + name = Value(name), + createdAt = Value(createdAt); + static Insertable custom({ + Expression? id, + Expression? name, + Expression? createdAt, + Expression? rowid, + }) { + return RawValuesInsertable({ + if (id != null) 'id': id, + if (name != null) 'name': name, + if (createdAt != null) 'created_at': createdAt, + if (rowid != null) 'rowid': rowid, + }); + } + + TeamTableCompanion copyWith({ + Value? id, + Value? name, + Value? createdAt, + Value? rowid, + }) { + return TeamTableCompanion( + id: id ?? this.id, + name: name ?? this.name, + createdAt: createdAt ?? this.createdAt, + rowid: rowid ?? this.rowid, + ); + } + + @override + Map toColumns(bool nullToAbsent) { + final map = {}; + if (id.present) { + map['id'] = Variable(id.value); + } + if (name.present) { + map['name'] = Variable(name.value); + } + if (createdAt.present) { + map['created_at'] = Variable(createdAt.value); + } + if (rowid.present) { + map['rowid'] = Variable(rowid.value); + } + return map; + } + + @override + String toString() { + return (StringBuffer('TeamTableCompanion(') + ..write('id: $id, ') + ..write('name: $name, ') + ..write('createdAt: $createdAt, ') + ..write('rowid: $rowid') + ..write(')')) + .toString(); + } +} + class $PlayerMatchTableTable extends PlayerMatchTable with TableInfo<$PlayerMatchTableTable, PlayerMatchTableData> { @override @@ -2682,19 +2682,17 @@ abstract class _$AppDatabase extends GeneratedDatabase { late final $PlayerTableTable playerTable = $PlayerTableTable(this); late final $GroupTableTable groupTable = $GroupTableTable(this); late final $GameTableTable gameTable = $GameTableTable(this); - late final $TeamTableTable teamTable = $TeamTableTable(this); late final $MatchTableTable matchTable = $MatchTableTable(this); late final $PlayerGroupTableTable playerGroupTable = $PlayerGroupTableTable( this, ); + late final $TeamTableTable teamTable = $TeamTableTable(this); late final $PlayerMatchTableTable playerMatchTable = $PlayerMatchTableTable( this, ); late final $ScoreTableTable scoreTable = $ScoreTableTable(this); late final PlayerDao playerDao = PlayerDao(this as AppDatabase); late final GroupDao groupDao = GroupDao(this as AppDatabase); - late final GameDao gameDao = GameDao(this as AppDatabase); - late final TeamDao teamDao = TeamDao(this as AppDatabase); late final MatchDao matchDao = MatchDao(this as AppDatabase); late final PlayerGroupDao playerGroupDao = PlayerGroupDao( this as AppDatabase, @@ -2702,7 +2700,9 @@ abstract class _$AppDatabase extends GeneratedDatabase { late final PlayerMatchDao playerMatchDao = PlayerMatchDao( this as AppDatabase, ); + late final GameDao gameDao = GameDao(this as AppDatabase); late final ScoreDao scoreDao = ScoreDao(this as AppDatabase); + late final TeamDao teamDao = TeamDao(this as AppDatabase); @override Iterable> get allTables => allSchemaEntities.whereType>(); @@ -2711,9 +2711,9 @@ abstract class _$AppDatabase extends GeneratedDatabase { playerTable, groupTable, gameTable, - teamTable, matchTable, playerGroupTable, + teamTable, playerMatchTable, scoreTable, ]; @@ -3997,276 +3997,6 @@ typedef $$GameTableTableProcessedTableManager = GameTableData, PrefetchHooks Function({bool matchTableRefs}) >; -typedef $$TeamTableTableCreateCompanionBuilder = - TeamTableCompanion Function({ - required String id, - required String name, - required DateTime createdAt, - Value rowid, - }); -typedef $$TeamTableTableUpdateCompanionBuilder = - TeamTableCompanion Function({ - Value id, - Value name, - Value createdAt, - Value rowid, - }); - -final class $$TeamTableTableReferences - extends BaseReferences<_$AppDatabase, $TeamTableTable, TeamTableData> { - $$TeamTableTableReferences(super.$_db, super.$_table, super.$_typedResult); - - static MultiTypedResultKey<$PlayerMatchTableTable, List> - _playerMatchTableRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable( - db.playerMatchTable, - aliasName: $_aliasNameGenerator( - db.teamTable.id, - db.playerMatchTable.teamId, - ), - ); - - $$PlayerMatchTableTableProcessedTableManager get playerMatchTableRefs { - final manager = $$PlayerMatchTableTableTableManager( - $_db, - $_db.playerMatchTable, - ).filter((f) => f.teamId.id.sqlEquals($_itemColumn('id')!)); - - final cache = $_typedResult.readTableOrNull( - _playerMatchTableRefsTable($_db), - ); - return ProcessedTableManager( - manager.$state.copyWith(prefetchedData: cache), - ); - } -} - -class $$TeamTableTableFilterComposer - extends Composer<_$AppDatabase, $TeamTableTable> { - $$TeamTableTableFilterComposer({ - required super.$db, - required super.$table, - super.joinBuilder, - super.$addJoinBuilderToRootComposer, - super.$removeJoinBuilderFromRootComposer, - }); - ColumnFilters get id => $composableBuilder( - column: $table.id, - builder: (column) => ColumnFilters(column), - ); - - ColumnFilters get name => $composableBuilder( - column: $table.name, - builder: (column) => ColumnFilters(column), - ); - - ColumnFilters get createdAt => $composableBuilder( - column: $table.createdAt, - builder: (column) => ColumnFilters(column), - ); - - Expression playerMatchTableRefs( - Expression Function($$PlayerMatchTableTableFilterComposer f) f, - ) { - final $$PlayerMatchTableTableFilterComposer composer = $composerBuilder( - composer: this, - getCurrentColumn: (t) => t.id, - referencedTable: $db.playerMatchTable, - getReferencedColumn: (t) => t.teamId, - builder: - ( - joinBuilder, { - $addJoinBuilderToRootComposer, - $removeJoinBuilderFromRootComposer, - }) => $$PlayerMatchTableTableFilterComposer( - $db: $db, - $table: $db.playerMatchTable, - $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, - joinBuilder: joinBuilder, - $removeJoinBuilderFromRootComposer: - $removeJoinBuilderFromRootComposer, - ), - ); - return f(composer); - } -} - -class $$TeamTableTableOrderingComposer - extends Composer<_$AppDatabase, $TeamTableTable> { - $$TeamTableTableOrderingComposer({ - required super.$db, - required super.$table, - super.joinBuilder, - super.$addJoinBuilderToRootComposer, - super.$removeJoinBuilderFromRootComposer, - }); - ColumnOrderings get id => $composableBuilder( - column: $table.id, - builder: (column) => ColumnOrderings(column), - ); - - ColumnOrderings get name => $composableBuilder( - column: $table.name, - builder: (column) => ColumnOrderings(column), - ); - - ColumnOrderings get createdAt => $composableBuilder( - column: $table.createdAt, - builder: (column) => ColumnOrderings(column), - ); -} - -class $$TeamTableTableAnnotationComposer - extends Composer<_$AppDatabase, $TeamTableTable> { - $$TeamTableTableAnnotationComposer({ - required super.$db, - required super.$table, - super.joinBuilder, - super.$addJoinBuilderToRootComposer, - super.$removeJoinBuilderFromRootComposer, - }); - GeneratedColumn get id => - $composableBuilder(column: $table.id, builder: (column) => column); - - GeneratedColumn get name => - $composableBuilder(column: $table.name, builder: (column) => column); - - GeneratedColumn get createdAt => - $composableBuilder(column: $table.createdAt, builder: (column) => column); - - Expression playerMatchTableRefs( - Expression Function($$PlayerMatchTableTableAnnotationComposer a) f, - ) { - final $$PlayerMatchTableTableAnnotationComposer composer = $composerBuilder( - composer: this, - getCurrentColumn: (t) => t.id, - referencedTable: $db.playerMatchTable, - getReferencedColumn: (t) => t.teamId, - builder: - ( - joinBuilder, { - $addJoinBuilderToRootComposer, - $removeJoinBuilderFromRootComposer, - }) => $$PlayerMatchTableTableAnnotationComposer( - $db: $db, - $table: $db.playerMatchTable, - $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, - joinBuilder: joinBuilder, - $removeJoinBuilderFromRootComposer: - $removeJoinBuilderFromRootComposer, - ), - ); - return f(composer); - } -} - -class $$TeamTableTableTableManager - extends - RootTableManager< - _$AppDatabase, - $TeamTableTable, - TeamTableData, - $$TeamTableTableFilterComposer, - $$TeamTableTableOrderingComposer, - $$TeamTableTableAnnotationComposer, - $$TeamTableTableCreateCompanionBuilder, - $$TeamTableTableUpdateCompanionBuilder, - (TeamTableData, $$TeamTableTableReferences), - TeamTableData, - PrefetchHooks Function({bool playerMatchTableRefs}) - > { - $$TeamTableTableTableManager(_$AppDatabase db, $TeamTableTable table) - : super( - TableManagerState( - db: db, - table: table, - createFilteringComposer: () => - $$TeamTableTableFilterComposer($db: db, $table: table), - createOrderingComposer: () => - $$TeamTableTableOrderingComposer($db: db, $table: table), - createComputedFieldComposer: () => - $$TeamTableTableAnnotationComposer($db: db, $table: table), - updateCompanionCallback: - ({ - Value id = const Value.absent(), - Value name = const Value.absent(), - Value createdAt = const Value.absent(), - Value rowid = const Value.absent(), - }) => TeamTableCompanion( - id: id, - name: name, - createdAt: createdAt, - rowid: rowid, - ), - createCompanionCallback: - ({ - required String id, - required String name, - required DateTime createdAt, - Value rowid = const Value.absent(), - }) => TeamTableCompanion.insert( - id: id, - name: name, - createdAt: createdAt, - rowid: rowid, - ), - withReferenceMapper: (p0) => p0 - .map( - (e) => ( - e.readTable(table), - $$TeamTableTableReferences(db, table, e), - ), - ) - .toList(), - prefetchHooksCallback: ({playerMatchTableRefs = false}) { - return PrefetchHooks( - db: db, - explicitlyWatchedTables: [ - if (playerMatchTableRefs) db.playerMatchTable, - ], - addJoins: null, - getPrefetchedDataCallback: (items) async { - return [ - if (playerMatchTableRefs) - await $_getPrefetchedData< - TeamTableData, - $TeamTableTable, - PlayerMatchTableData - >( - currentTable: table, - referencedTable: $$TeamTableTableReferences - ._playerMatchTableRefsTable(db), - managerFromTypedResult: (p0) => - $$TeamTableTableReferences( - db, - table, - p0, - ).playerMatchTableRefs, - referencedItemsForCurrentItem: (item, referencedItems) => - referencedItems.where((e) => e.teamId == item.id), - typedResults: items, - ), - ]; - }, - ); - }, - ), - ); -} - -typedef $$TeamTableTableProcessedTableManager = - ProcessedTableManager< - _$AppDatabase, - $TeamTableTable, - TeamTableData, - $$TeamTableTableFilterComposer, - $$TeamTableTableOrderingComposer, - $$TeamTableTableAnnotationComposer, - $$TeamTableTableCreateCompanionBuilder, - $$TeamTableTableUpdateCompanionBuilder, - (TeamTableData, $$TeamTableTableReferences), - TeamTableData, - PrefetchHooks Function({bool playerMatchTableRefs}) - >; typedef $$MatchTableTableCreateCompanionBuilder = MatchTableCompanion Function({ required String id, @@ -5261,6 +4991,276 @@ typedef $$PlayerGroupTableTableProcessedTableManager = PlayerGroupTableData, PrefetchHooks Function({bool playerId, bool groupId}) >; +typedef $$TeamTableTableCreateCompanionBuilder = + TeamTableCompanion Function({ + required String id, + required String name, + required DateTime createdAt, + Value rowid, + }); +typedef $$TeamTableTableUpdateCompanionBuilder = + TeamTableCompanion Function({ + Value id, + Value name, + Value createdAt, + Value rowid, + }); + +final class $$TeamTableTableReferences + extends BaseReferences<_$AppDatabase, $TeamTableTable, TeamTableData> { + $$TeamTableTableReferences(super.$_db, super.$_table, super.$_typedResult); + + static MultiTypedResultKey<$PlayerMatchTableTable, List> + _playerMatchTableRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable( + db.playerMatchTable, + aliasName: $_aliasNameGenerator( + db.teamTable.id, + db.playerMatchTable.teamId, + ), + ); + + $$PlayerMatchTableTableProcessedTableManager get playerMatchTableRefs { + final manager = $$PlayerMatchTableTableTableManager( + $_db, + $_db.playerMatchTable, + ).filter((f) => f.teamId.id.sqlEquals($_itemColumn('id')!)); + + final cache = $_typedResult.readTableOrNull( + _playerMatchTableRefsTable($_db), + ); + return ProcessedTableManager( + manager.$state.copyWith(prefetchedData: cache), + ); + } +} + +class $$TeamTableTableFilterComposer + extends Composer<_$AppDatabase, $TeamTableTable> { + $$TeamTableTableFilterComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + ColumnFilters get id => $composableBuilder( + column: $table.id, + builder: (column) => ColumnFilters(column), + ); + + ColumnFilters get name => $composableBuilder( + column: $table.name, + builder: (column) => ColumnFilters(column), + ); + + ColumnFilters get createdAt => $composableBuilder( + column: $table.createdAt, + builder: (column) => ColumnFilters(column), + ); + + Expression playerMatchTableRefs( + Expression Function($$PlayerMatchTableTableFilterComposer f) f, + ) { + final $$PlayerMatchTableTableFilterComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.id, + referencedTable: $db.playerMatchTable, + getReferencedColumn: (t) => t.teamId, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$PlayerMatchTableTableFilterComposer( + $db: $db, + $table: $db.playerMatchTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return f(composer); + } +} + +class $$TeamTableTableOrderingComposer + extends Composer<_$AppDatabase, $TeamTableTable> { + $$TeamTableTableOrderingComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + ColumnOrderings get id => $composableBuilder( + column: $table.id, + builder: (column) => ColumnOrderings(column), + ); + + ColumnOrderings get name => $composableBuilder( + column: $table.name, + builder: (column) => ColumnOrderings(column), + ); + + ColumnOrderings get createdAt => $composableBuilder( + column: $table.createdAt, + builder: (column) => ColumnOrderings(column), + ); +} + +class $$TeamTableTableAnnotationComposer + extends Composer<_$AppDatabase, $TeamTableTable> { + $$TeamTableTableAnnotationComposer({ + required super.$db, + required super.$table, + super.joinBuilder, + super.$addJoinBuilderToRootComposer, + super.$removeJoinBuilderFromRootComposer, + }); + GeneratedColumn get id => + $composableBuilder(column: $table.id, builder: (column) => column); + + GeneratedColumn get name => + $composableBuilder(column: $table.name, builder: (column) => column); + + GeneratedColumn get createdAt => + $composableBuilder(column: $table.createdAt, builder: (column) => column); + + Expression playerMatchTableRefs( + Expression Function($$PlayerMatchTableTableAnnotationComposer a) f, + ) { + final $$PlayerMatchTableTableAnnotationComposer composer = $composerBuilder( + composer: this, + getCurrentColumn: (t) => t.id, + referencedTable: $db.playerMatchTable, + getReferencedColumn: (t) => t.teamId, + builder: + ( + joinBuilder, { + $addJoinBuilderToRootComposer, + $removeJoinBuilderFromRootComposer, + }) => $$PlayerMatchTableTableAnnotationComposer( + $db: $db, + $table: $db.playerMatchTable, + $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, + joinBuilder: joinBuilder, + $removeJoinBuilderFromRootComposer: + $removeJoinBuilderFromRootComposer, + ), + ); + return f(composer); + } +} + +class $$TeamTableTableTableManager + extends + RootTableManager< + _$AppDatabase, + $TeamTableTable, + TeamTableData, + $$TeamTableTableFilterComposer, + $$TeamTableTableOrderingComposer, + $$TeamTableTableAnnotationComposer, + $$TeamTableTableCreateCompanionBuilder, + $$TeamTableTableUpdateCompanionBuilder, + (TeamTableData, $$TeamTableTableReferences), + TeamTableData, + PrefetchHooks Function({bool playerMatchTableRefs}) + > { + $$TeamTableTableTableManager(_$AppDatabase db, $TeamTableTable table) + : super( + TableManagerState( + db: db, + table: table, + createFilteringComposer: () => + $$TeamTableTableFilterComposer($db: db, $table: table), + createOrderingComposer: () => + $$TeamTableTableOrderingComposer($db: db, $table: table), + createComputedFieldComposer: () => + $$TeamTableTableAnnotationComposer($db: db, $table: table), + updateCompanionCallback: + ({ + Value id = const Value.absent(), + Value name = const Value.absent(), + Value createdAt = const Value.absent(), + Value rowid = const Value.absent(), + }) => TeamTableCompanion( + id: id, + name: name, + createdAt: createdAt, + rowid: rowid, + ), + createCompanionCallback: + ({ + required String id, + required String name, + required DateTime createdAt, + Value rowid = const Value.absent(), + }) => TeamTableCompanion.insert( + id: id, + name: name, + createdAt: createdAt, + rowid: rowid, + ), + withReferenceMapper: (p0) => p0 + .map( + (e) => ( + e.readTable(table), + $$TeamTableTableReferences(db, table, e), + ), + ) + .toList(), + prefetchHooksCallback: ({playerMatchTableRefs = false}) { + return PrefetchHooks( + db: db, + explicitlyWatchedTables: [ + if (playerMatchTableRefs) db.playerMatchTable, + ], + addJoins: null, + getPrefetchedDataCallback: (items) async { + return [ + if (playerMatchTableRefs) + await $_getPrefetchedData< + TeamTableData, + $TeamTableTable, + PlayerMatchTableData + >( + currentTable: table, + referencedTable: $$TeamTableTableReferences + ._playerMatchTableRefsTable(db), + managerFromTypedResult: (p0) => + $$TeamTableTableReferences( + db, + table, + p0, + ).playerMatchTableRefs, + referencedItemsForCurrentItem: (item, referencedItems) => + referencedItems.where((e) => e.teamId == item.id), + typedResults: items, + ), + ]; + }, + ); + }, + ), + ); +} + +typedef $$TeamTableTableProcessedTableManager = + ProcessedTableManager< + _$AppDatabase, + $TeamTableTable, + TeamTableData, + $$TeamTableTableFilterComposer, + $$TeamTableTableOrderingComposer, + $$TeamTableTableAnnotationComposer, + $$TeamTableTableCreateCompanionBuilder, + $$TeamTableTableUpdateCompanionBuilder, + (TeamTableData, $$TeamTableTableReferences), + TeamTableData, + PrefetchHooks Function({bool playerMatchTableRefs}) + >; typedef $$PlayerMatchTableTableCreateCompanionBuilder = PlayerMatchTableCompanion Function({ required String playerId, @@ -6174,12 +6174,12 @@ class $AppDatabaseManager { $$GroupTableTableTableManager(_db, _db.groupTable); $$GameTableTableTableManager get gameTable => $$GameTableTableTableManager(_db, _db.gameTable); - $$TeamTableTableTableManager get teamTable => - $$TeamTableTableTableManager(_db, _db.teamTable); $$MatchTableTableTableManager get matchTable => $$MatchTableTableTableManager(_db, _db.matchTable); $$PlayerGroupTableTableTableManager get playerGroupTable => $$PlayerGroupTableTableTableManager(_db, _db.playerGroupTable); + $$TeamTableTableTableManager get teamTable => + $$TeamTableTableTableManager(_db, _db.teamTable); $$PlayerMatchTableTableTableManager get playerMatchTable => $$PlayerMatchTableTableTableManager(_db, _db.playerMatchTable); $$ScoreTableTableTableManager get scoreTable => diff --git a/lib/data/db/tables/match_table.dart b/lib/data/db/tables/match_table.dart index 5deb5c5..0dd0eed 100644 --- a/lib/data/db/tables/match_table.dart +++ b/lib/data/db/tables/match_table.dart @@ -1,6 +1,6 @@ import 'package:drift/drift.dart'; -import 'package:game_tracker/data/db/tables/game_table.dart'; -import 'package:game_tracker/data/db/tables/group_table.dart'; +import 'package:tallee/data/db/tables/game_table.dart'; +import 'package:tallee/data/db/tables/group_table.dart'; class MatchTable extends Table { TextColumn get id => text()(); diff --git a/lib/data/db/tables/player_match_table.dart b/lib/data/db/tables/player_match_table.dart index 08eb16c..3ff55ea 100644 --- a/lib/data/db/tables/player_match_table.dart +++ b/lib/data/db/tables/player_match_table.dart @@ -1,6 +1,7 @@ import 'package:drift/drift.dart'; import 'package:tallee/data/db/tables/match_table.dart'; import 'package:tallee/data/db/tables/player_table.dart'; +import 'package:tallee/data/db/tables/team_table.dart'; class PlayerMatchTable extends Table { TextColumn get playerId => diff --git a/lib/data/db/tables/score_table.dart b/lib/data/db/tables/score_table.dart index 93542c3..a7bf122 100644 --- a/lib/data/db/tables/score_table.dart +++ b/lib/data/db/tables/score_table.dart @@ -1,6 +1,6 @@ import 'package:drift/drift.dart'; -import 'package:game_tracker/data/db/tables/match_table.dart'; -import 'package:game_tracker/data/db/tables/player_table.dart'; +import 'package:tallee/data/db/tables/match_table.dart'; +import 'package:tallee/data/db/tables/player_table.dart'; class ScoreTable extends Table { TextColumn get playerId => diff --git a/lib/data/dto/game.dart b/lib/data/dto/game.dart index 4081f4e..b463a82 100644 --- a/lib/data/dto/game.dart +++ b/lib/data/dto/game.dart @@ -1,6 +1,6 @@ import 'package:clock/clock.dart'; import 'package:uuid/uuid.dart'; -import 'package:game_tracker/core/enums.dart'; +import 'package:tallee/core/enums.dart'; class Game { final String id; diff --git a/lib/data/dto/match.dart b/lib/data/dto/match.dart index 81a3771..20852a3 100644 --- a/lib/data/dto/match.dart +++ b/lib/data/dto/match.dart @@ -1,4 +1,6 @@ import 'package:clock/clock.dart'; +import 'package:tallee/core/enums.dart'; +import 'package:tallee/data/dto/game.dart'; import 'package:tallee/data/dto/group.dart'; import 'package:tallee/data/dto/player.dart'; import 'package:uuid/uuid.dart'; diff --git a/lib/data/dto/team.dart b/lib/data/dto/team.dart index 46eb5ca..56036b2 100644 --- a/lib/data/dto/team.dart +++ b/lib/data/dto/team.dart @@ -1,5 +1,5 @@ import 'package:clock/clock.dart'; -import 'package:game_tracker/data/dto/player.dart'; +import 'package:tallee/data/dto/player.dart'; import 'package:uuid/uuid.dart'; class Team { diff --git a/lib/main.dart b/lib/main.dart index 0002531..59384ac 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -29,9 +29,7 @@ class GameTracker extends StatelessWidget { return supportedLocale; } } - return supportedLocales.firstWhere( - (locale) => locale.languageCode == 'en', - ); + return supportedLocales.firstWhere((locale) => locale.languageCode == 'en'); }, debugShowCheckedModeBanner: false, onGenerateTitle: (context) => AppLocalizations.of(context).app_name, diff --git a/lib/presentation/views/main_menu/home_view.dart b/lib/presentation/views/main_menu/home_view.dart index 6753ab6..f8c39f8 100644 --- a/lib/presentation/views/main_menu/home_view.dart +++ b/lib/presentation/views/main_menu/home_view.dart @@ -2,7 +2,9 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:tallee/core/adaptive_page_route.dart'; import 'package:tallee/core/constants.dart'; +import 'package:tallee/core/enums.dart'; import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/game.dart'; import 'package:tallee/data/dto/group.dart'; import 'package:tallee/data/dto/match.dart'; import 'package:tallee/data/dto/player.dart'; @@ -102,9 +104,7 @@ class _HomeViewState extends State { if (recentMatches.isNotEmpty) for (Match match in recentMatches) Padding( - padding: const EdgeInsets.symmetric( - vertical: 6.0, - ), + padding: const EdgeInsets.symmetric(vertical: 6.0), child: MatchTile( compact: true, width: constraints.maxWidth * 0.9, @@ -113,8 +113,7 @@ class _HomeViewState extends State { await Navigator.of(context).push( adaptivePageRoute( fullscreenDialog: true, - builder: (context) => - MatchResultView(match: match), + builder: (context) => MatchResultView(match: match), ), ); await updatedWinnerInRecentMatches(match.id); @@ -122,10 +121,7 @@ class _HomeViewState extends State { ), ) else - Center( - heightFactor: 5, - child: Text(loc.no_recent_matches_available), - ), + Center(heightFactor: 5, child: Text(loc.no_recent_matches_available)), ], ), ), @@ -141,40 +137,22 @@ class _HomeViewState extends State { Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - QuickCreateButton( - text: 'Category 1', - onPressed: () {}, - ), - QuickCreateButton( - text: 'Category 2', - onPressed: () {}, - ), + QuickCreateButton(text: 'Category 1', onPressed: () {}), + QuickCreateButton(text: 'Category 2', onPressed: () {}), ], ), Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - QuickCreateButton( - text: 'Category 3', - onPressed: () {}, - ), - QuickCreateButton( - text: 'Category 4', - onPressed: () {}, - ), + QuickCreateButton(text: 'Category 3', onPressed: () {}), + QuickCreateButton(text: 'Category 4', onPressed: () {}), ], ), Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - QuickCreateButton( - text: 'Category 5', - onPressed: () {}, - ), - QuickCreateButton( - text: 'Category 6', - onPressed: () {}, - ), + QuickCreateButton(text: 'Category 5', onPressed: () {}), + QuickCreateButton(text: 'Category 6', onPressed: () {}), ], ), ], @@ -203,11 +181,9 @@ class _HomeViewState extends State { matchCount = results[0] as int; groupCount = results[1] as int; loadedRecentMatches = results[2] as List; - recentMatches = - (loadedRecentMatches - ..sort((a, b) => b.createdAt.compareTo(a.createdAt))) - .take(2) - .toList(); + recentMatches = (loadedRecentMatches..sort((a, b) => b.createdAt.compareTo(a.createdAt))) + .take(2) + .toList(); if (mounted) { setState(() { isLoading = false; diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index 149371f..35bffc4 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -5,6 +5,7 @@ import 'package:tallee/core/constants.dart'; import 'package:tallee/core/custom_theme.dart'; import 'package:tallee/core/enums.dart'; import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/game.dart'; import 'package:tallee/data/dto/group.dart'; import 'package:tallee/data/dto/match.dart'; import 'package:tallee/data/dto/player.dart'; diff --git a/lib/presentation/views/main_menu/match_view/match_view.dart b/lib/presentation/views/main_menu/match_view/match_view.dart index c340c43..b2ef367 100644 --- a/lib/presentation/views/main_menu/match_view/match_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_view.dart @@ -6,7 +6,9 @@ import 'package:provider/provider.dart'; import 'package:tallee/core/adaptive_page_route.dart'; import 'package:tallee/core/constants.dart'; import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/core/enums.dart'; import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/game.dart'; import 'package:tallee/data/dto/group.dart'; import 'package:tallee/data/dto/match.dart'; import 'package:tallee/data/dto/player.dart'; diff --git a/lib/services/data_transfer_service.dart b/lib/services/data_transfer_service.dart index d002cdd..9cb38ce 100644 --- a/lib/services/data_transfer_service.dart +++ b/lib/services/data_transfer_service.dart @@ -8,9 +8,11 @@ import 'package:json_schema/json_schema.dart'; import 'package:provider/provider.dart'; import 'package:tallee/core/enums.dart'; import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/game.dart'; import 'package:tallee/data/dto/group.dart'; import 'package:tallee/data/dto/match.dart'; import 'package:tallee/data/dto/player.dart'; +import 'package:tallee/data/dto/team.dart'; class DataTransferService { /// Deletes all data from the database. diff --git a/test/db_tests/game_test.dart b/test/db_tests/game_test.dart index f7da1cf..27133ec 100644 --- a/test/db_tests/game_test.dart +++ b/test/db_tests/game_test.dart @@ -1,11 +1,10 @@ import 'package:clock/clock.dart'; -import 'package:drift/drift.dart'; +import 'package:drift/drift.dart' hide isNull; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:tallee/core/enums.dart'; import 'package:tallee/data/db/database.dart'; -import 'package:tallee/data/dto/group.dart'; -import 'package:tallee/data/dto/match.dart'; -import 'package:tallee/data/dto/player.dart'; +import 'package:tallee/data/dto/game.dart'; void main() { late AppDatabase database; diff --git a/test/db_tests/match_test.dart b/test/db_tests/match_test.dart index 7bcb0a8..2544ccc 100644 --- a/test/db_tests/match_test.dart +++ b/test/db_tests/match_test.dart @@ -2,12 +2,12 @@ import 'package:clock/clock.dart'; import 'package:drift/drift.dart'; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/game.dart'; -import 'package:game_tracker/data/dto/group.dart'; -import 'package:game_tracker/data/dto/match.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/core/enums.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/game.dart'; +import 'package:tallee/data/dto/group.dart'; +import 'package:tallee/data/dto/match.dart'; +import 'package:tallee/data/dto/player.dart'; +import 'package:tallee/core/enums.dart'; void main() { late AppDatabase database; diff --git a/test/db_tests/player_match_test.dart b/test/db_tests/player_match_test.dart index 43d7e3d..164dbf9 100644 --- a/test/db_tests/player_match_test.dart +++ b/test/db_tests/player_match_test.dart @@ -1,11 +1,14 @@ import 'package:clock/clock.dart'; -import 'package:drift/drift.dart' hide isNotNull; +import 'package:drift/drift.dart' hide isNotNull, isNull; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:tallee/core/enums.dart'; import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/game.dart'; import 'package:tallee/data/dto/group.dart'; import 'package:tallee/data/dto/match.dart'; import 'package:tallee/data/dto/player.dart'; +import 'package:tallee/data/dto/team.dart'; void main() { late AppDatabase database; diff --git a/test/db_tests/score_test.dart b/test/db_tests/score_test.dart index bbd7729..1490dc9 100644 --- a/test/db_tests/score_test.dart +++ b/test/db_tests/score_test.dart @@ -2,11 +2,11 @@ import 'package:clock/clock.dart'; import 'package:drift/drift.dart' hide isNull, isNotNull; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/game.dart'; -import 'package:game_tracker/data/dto/match.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/core/enums.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/game.dart'; +import 'package:tallee/data/dto/match.dart'; +import 'package:tallee/data/dto/player.dart'; +import 'package:tallee/core/enums.dart'; void main() { late AppDatabase database; diff --git a/test/db_tests/team_test.dart b/test/db_tests/team_test.dart index 19338cb..8092d02 100644 --- a/test/db_tests/team_test.dart +++ b/test/db_tests/team_test.dart @@ -2,12 +2,12 @@ import 'package:clock/clock.dart'; import 'package:drift/drift.dart'; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/game.dart'; -import 'package:game_tracker/data/dto/match.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/data/dto/team.dart'; -import 'package:game_tracker/core/enums.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/game.dart'; +import 'package:tallee/data/dto/match.dart'; +import 'package:tallee/data/dto/player.dart'; +import 'package:tallee/data/dto/team.dart'; +import 'package:tallee/core/enums.dart'; void main() { late AppDatabase database; From 2a3ea32193734d3771ae2c901c1d424784c4e80d Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Sun, 1 Feb 2026 17:31:40 +0100 Subject: [PATCH 138/198] change how optional parameters are defined --- assets/schema.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/assets/schema.json b/assets/schema.json index a00cd6e..252fb24 100644 --- a/assets/schema.json +++ b/assets/schema.json @@ -146,10 +146,7 @@ "type": "string" }, "groupId": { - "anyOf": [ - {"type": "string"}, - {"type": "null"} - ] + "type": ["string", "null"] }, "playerIds": { "type": "array", From 415cae18cd005f3c912c5a1e632ab80df38166b9 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Sun, 1 Feb 2026 17:55:42 +0100 Subject: [PATCH 139/198] added endedAt to matches --- assets/schema.json | 3 + lib/data/dao/match_dao.dart | 18 ++++++ lib/data/db/database.g.dart | 74 ++++++++++++++++++++++++- lib/data/db/tables/match_table.dart | 1 + lib/data/dto/match.dart | 6 +- lib/services/data_transfer_service.dart | 3 + 6 files changed, 101 insertions(+), 4 deletions(-) diff --git a/assets/schema.json b/assets/schema.json index 252fb24..8021012 100644 --- a/assets/schema.json +++ b/assets/schema.json @@ -142,6 +142,9 @@ "createdAt": { "type": "string" }, + "endedAt": { + "type": ["string", "null"] + }, "gameId": { "type": "string" }, diff --git a/lib/data/dao/match_dao.dart b/lib/data/dao/match_dao.dart index 201fc52..3f5a7a1 100644 --- a/lib/data/dao/match_dao.dart +++ b/lib/data/dao/match_dao.dart @@ -38,6 +38,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { players: players, notes: row.notes ?? '', createdAt: row.createdAt, + endedAt: row.endedAt, ); }), ); @@ -68,6 +69,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { players: players, notes: result.notes ?? '', createdAt: result.createdAt, + endedAt: result.endedAt, ); } @@ -84,6 +86,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { name: Value(match.name), notes: Value(match.notes), createdAt: match.createdAt, + endedAt: Value(match.endedAt), ), mode: InsertMode.insertOrReplace, ); @@ -166,6 +169,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { name: Value(match.name), notes: Value(match.notes), createdAt: match.createdAt, + endedAt: Value(match.endedAt), ), ) .toList(), @@ -346,6 +350,20 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { return rowsAffected > 0; } + /// Updates the endedAt timestamp of the match with the given [matchId]. + /// Pass null to remove the ended time (mark match as ongoing). + /// Returns `true` if more than 0 rows were affected, otherwise `false`. + Future updateMatchEndedAt({ + required String matchId, + required DateTime? endedAt, + }) async { + final query = update(matchTable)..where((g) => g.id.equals(matchId)); + final rowsAffected = await query.write( + MatchTableCompanion(endedAt: Value(endedAt)), + ); + return rowsAffected > 0; + } + // ============================================================ // TEMPORARY: Winner methods - these are stubs and do not persist data // TODO: Implement proper winner handling diff --git a/lib/data/db/database.g.dart b/lib/data/db/database.g.dart index a11c224..fe14e93 100644 --- a/lib/data/db/database.g.dart +++ b/lib/data/db/database.g.dart @@ -1155,6 +1155,17 @@ class $MatchTableTable extends MatchTable type: DriftSqlType.dateTime, requiredDuringInsert: true, ); + static const VerificationMeta _endedAtMeta = const VerificationMeta( + 'endedAt', + ); + @override + late final GeneratedColumn endedAt = GeneratedColumn( + 'ended_at', + aliasedName, + true, + type: DriftSqlType.dateTime, + requiredDuringInsert: false, + ); @override List get $columns => [ id, @@ -1163,6 +1174,7 @@ class $MatchTableTable extends MatchTable name, notes, createdAt, + endedAt, ]; @override String get aliasedName => _alias ?? actualTableName; @@ -1215,6 +1227,12 @@ class $MatchTableTable extends MatchTable } else if (isInserting) { context.missing(_createdAtMeta); } + if (data.containsKey('ended_at')) { + context.handle( + _endedAtMeta, + endedAt.isAcceptableOrUnknown(data['ended_at']!, _endedAtMeta), + ); + } return context; } @@ -1248,6 +1266,10 @@ class $MatchTableTable extends MatchTable DriftSqlType.dateTime, data['${effectivePrefix}created_at'], )!, + endedAt: attachedDatabase.typeMapping.read( + DriftSqlType.dateTime, + data['${effectivePrefix}ended_at'], + ), ); } @@ -1264,6 +1286,7 @@ class MatchTableData extends DataClass implements Insertable { final String? name; final String? notes; final DateTime createdAt; + final DateTime? endedAt; const MatchTableData({ required this.id, required this.gameId, @@ -1271,6 +1294,7 @@ class MatchTableData extends DataClass implements Insertable { this.name, this.notes, required this.createdAt, + this.endedAt, }); @override Map toColumns(bool nullToAbsent) { @@ -1287,6 +1311,9 @@ class MatchTableData extends DataClass implements Insertable { map['notes'] = Variable(notes); } map['created_at'] = Variable(createdAt); + if (!nullToAbsent || endedAt != null) { + map['ended_at'] = Variable(endedAt); + } return map; } @@ -1302,6 +1329,9 @@ class MatchTableData extends DataClass implements Insertable { ? const Value.absent() : Value(notes), createdAt: Value(createdAt), + endedAt: endedAt == null && nullToAbsent + ? const Value.absent() + : Value(endedAt), ); } @@ -1317,6 +1347,7 @@ class MatchTableData extends DataClass implements Insertable { name: serializer.fromJson(json['name']), notes: serializer.fromJson(json['notes']), createdAt: serializer.fromJson(json['createdAt']), + endedAt: serializer.fromJson(json['endedAt']), ); } @override @@ -1329,6 +1360,7 @@ class MatchTableData extends DataClass implements Insertable { 'name': serializer.toJson(name), 'notes': serializer.toJson(notes), 'createdAt': serializer.toJson(createdAt), + 'endedAt': serializer.toJson(endedAt), }; } @@ -1339,6 +1371,7 @@ class MatchTableData extends DataClass implements Insertable { Value name = const Value.absent(), Value notes = const Value.absent(), DateTime? createdAt, + Value endedAt = const Value.absent(), }) => MatchTableData( id: id ?? this.id, gameId: gameId ?? this.gameId, @@ -1346,6 +1379,7 @@ class MatchTableData extends DataClass implements Insertable { name: name.present ? name.value : this.name, notes: notes.present ? notes.value : this.notes, createdAt: createdAt ?? this.createdAt, + endedAt: endedAt.present ? endedAt.value : this.endedAt, ); MatchTableData copyWithCompanion(MatchTableCompanion data) { return MatchTableData( @@ -1355,6 +1389,7 @@ class MatchTableData extends DataClass implements Insertable { name: data.name.present ? data.name.value : this.name, notes: data.notes.present ? data.notes.value : this.notes, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, + endedAt: data.endedAt.present ? data.endedAt.value : this.endedAt, ); } @@ -1366,13 +1401,15 @@ class MatchTableData extends DataClass implements Insertable { ..write('groupId: $groupId, ') ..write('name: $name, ') ..write('notes: $notes, ') - ..write('createdAt: $createdAt') + ..write('createdAt: $createdAt, ') + ..write('endedAt: $endedAt') ..write(')')) .toString(); } @override - int get hashCode => Object.hash(id, gameId, groupId, name, notes, createdAt); + int get hashCode => + Object.hash(id, gameId, groupId, name, notes, createdAt, endedAt); @override bool operator ==(Object other) => identical(this, other) || @@ -1382,7 +1419,8 @@ class MatchTableData extends DataClass implements Insertable { other.groupId == this.groupId && other.name == this.name && other.notes == this.notes && - other.createdAt == this.createdAt); + other.createdAt == this.createdAt && + other.endedAt == this.endedAt); } class MatchTableCompanion extends UpdateCompanion { @@ -1392,6 +1430,7 @@ class MatchTableCompanion extends UpdateCompanion { final Value name; final Value notes; final Value createdAt; + final Value endedAt; final Value rowid; const MatchTableCompanion({ this.id = const Value.absent(), @@ -1400,6 +1439,7 @@ class MatchTableCompanion extends UpdateCompanion { this.name = const Value.absent(), this.notes = const Value.absent(), this.createdAt = const Value.absent(), + this.endedAt = const Value.absent(), this.rowid = const Value.absent(), }); MatchTableCompanion.insert({ @@ -1409,6 +1449,7 @@ class MatchTableCompanion extends UpdateCompanion { this.name = const Value.absent(), this.notes = const Value.absent(), required DateTime createdAt, + this.endedAt = const Value.absent(), this.rowid = const Value.absent(), }) : id = Value(id), gameId = Value(gameId), @@ -1420,6 +1461,7 @@ class MatchTableCompanion extends UpdateCompanion { Expression? name, Expression? notes, Expression? createdAt, + Expression? endedAt, Expression? rowid, }) { return RawValuesInsertable({ @@ -1429,6 +1471,7 @@ class MatchTableCompanion extends UpdateCompanion { if (name != null) 'name': name, if (notes != null) 'notes': notes, if (createdAt != null) 'created_at': createdAt, + if (endedAt != null) 'ended_at': endedAt, if (rowid != null) 'rowid': rowid, }); } @@ -1440,6 +1483,7 @@ class MatchTableCompanion extends UpdateCompanion { Value? name, Value? notes, Value? createdAt, + Value? endedAt, Value? rowid, }) { return MatchTableCompanion( @@ -1449,6 +1493,7 @@ class MatchTableCompanion extends UpdateCompanion { name: name ?? this.name, notes: notes ?? this.notes, createdAt: createdAt ?? this.createdAt, + endedAt: endedAt ?? this.endedAt, rowid: rowid ?? this.rowid, ); } @@ -1474,6 +1519,9 @@ class MatchTableCompanion extends UpdateCompanion { if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } + if (endedAt.present) { + map['ended_at'] = Variable(endedAt.value); + } if (rowid.present) { map['rowid'] = Variable(rowid.value); } @@ -1489,6 +1537,7 @@ class MatchTableCompanion extends UpdateCompanion { ..write('name: $name, ') ..write('notes: $notes, ') ..write('createdAt: $createdAt, ') + ..write('endedAt: $endedAt, ') ..write('rowid: $rowid') ..write(')')) .toString(); @@ -4005,6 +4054,7 @@ typedef $$MatchTableTableCreateCompanionBuilder = Value name, Value notes, required DateTime createdAt, + Value endedAt, Value rowid, }); typedef $$MatchTableTableUpdateCompanionBuilder = @@ -4015,6 +4065,7 @@ typedef $$MatchTableTableUpdateCompanionBuilder = Value name, Value notes, Value createdAt, + Value endedAt, Value rowid, }); @@ -4129,6 +4180,11 @@ class $$MatchTableTableFilterComposer builder: (column) => ColumnFilters(column), ); + ColumnFilters get endedAt => $composableBuilder( + column: $table.endedAt, + builder: (column) => ColumnFilters(column), + ); + $$GameTableTableFilterComposer get gameId { final $$GameTableTableFilterComposer composer = $composerBuilder( composer: this, @@ -4255,6 +4311,11 @@ class $$MatchTableTableOrderingComposer builder: (column) => ColumnOrderings(column), ); + ColumnOrderings get endedAt => $composableBuilder( + column: $table.endedAt, + builder: (column) => ColumnOrderings(column), + ); + $$GameTableTableOrderingComposer get gameId { final $$GameTableTableOrderingComposer composer = $composerBuilder( composer: this, @@ -4323,6 +4384,9 @@ class $$MatchTableTableAnnotationComposer GeneratedColumn get createdAt => $composableBuilder(column: $table.createdAt, builder: (column) => column); + GeneratedColumn get endedAt => + $composableBuilder(column: $table.endedAt, builder: (column) => column); + $$GameTableTableAnnotationComposer get gameId { final $$GameTableTableAnnotationComposer composer = $composerBuilder( composer: this, @@ -4459,6 +4523,7 @@ class $$MatchTableTableTableManager Value name = const Value.absent(), Value notes = const Value.absent(), Value createdAt = const Value.absent(), + Value endedAt = const Value.absent(), Value rowid = const Value.absent(), }) => MatchTableCompanion( id: id, @@ -4467,6 +4532,7 @@ class $$MatchTableTableTableManager name: name, notes: notes, createdAt: createdAt, + endedAt: endedAt, rowid: rowid, ), createCompanionCallback: @@ -4477,6 +4543,7 @@ class $$MatchTableTableTableManager Value name = const Value.absent(), Value notes = const Value.absent(), required DateTime createdAt, + Value endedAt = const Value.absent(), Value rowid = const Value.absent(), }) => MatchTableCompanion.insert( id: id, @@ -4485,6 +4552,7 @@ class $$MatchTableTableTableManager name: name, notes: notes, createdAt: createdAt, + endedAt: endedAt, rowid: rowid, ), withReferenceMapper: (p0) => p0 diff --git a/lib/data/db/tables/match_table.dart b/lib/data/db/tables/match_table.dart index 0dd0eed..83b6897 100644 --- a/lib/data/db/tables/match_table.dart +++ b/lib/data/db/tables/match_table.dart @@ -11,6 +11,7 @@ class MatchTable extends Table { TextColumn get name => text().nullable()(); TextColumn get notes => text().nullable()(); DateTimeColumn get createdAt => dateTime()(); + DateTimeColumn get endedAt => dateTime().nullable()(); @override Set> get primaryKey => {id}; diff --git a/lib/data/dto/match.dart b/lib/data/dto/match.dart index 20852a3..4f919b4 100644 --- a/lib/data/dto/match.dart +++ b/lib/data/dto/match.dart @@ -8,6 +8,7 @@ import 'package:uuid/uuid.dart'; class Match { final String id; final DateTime createdAt; + final DateTime? endedAt; final String name; final Game game; final Group? group; @@ -18,6 +19,7 @@ class Match { Match({ String? id, DateTime? createdAt, + this.endedAt, required this.name, required this.game, this.group, @@ -29,7 +31,7 @@ class Match { @override String toString() { - return 'Match{id: $id, name: $name, game: $game, group: $group, players: $players, notes: $notes}'; + return 'Match{id: $id, name: $name, game: $game, group: $group, players: $players, notes: $notes, endedAt: $endedAt}'; } /// Creates a Match instance from a JSON object (ID references format). @@ -37,6 +39,7 @@ class Match { Match.fromJson(Map json) : id = json['id'], createdAt = DateTime.parse(json['createdAt']), + endedAt = json['endedAt'] != null ? DateTime.parse(json['endedAt']) : null, name = json['name'], game = Game(name: '', ruleset: Ruleset.singleWinner, description: '', color: '', icon: ''), // Populated during import via DataTransferService group = null, // Populated during import via DataTransferService @@ -47,6 +50,7 @@ class Match { Map toJson() => { 'id': id, 'createdAt': createdAt.toIso8601String(), + 'endedAt': endedAt?.toIso8601String(), 'name': name, 'gameId': game.id, 'groupId': group?.id, diff --git a/lib/services/data_transfer_service.dart b/lib/services/data_transfer_service.dart index 9cb38ce..fb69e12 100644 --- a/lib/services/data_transfer_service.dart +++ b/lib/services/data_transfer_service.dart @@ -61,6 +61,7 @@ class DataTransferService { 'id': m.id, 'name': m.name, 'createdAt': m.createdAt.toIso8601String(), + 'endedAt': m.endedAt?.toIso8601String(), 'gameId': m.game.id, 'groupId': m.group?.id, 'playerIds': (m.players ?? []).map((p) => p.id).toList(), @@ -195,6 +196,7 @@ class DataTransferService { final String gameId = map['gameId'] as String; final String? groupId = map['groupId'] as String?; final List playerIds = (map['playerIds'] as List? ?? []).cast(); + final DateTime? endedAt = map['endedAt'] != null ? DateTime.parse(map['endedAt'] as String) : null; final game = gameById[gameId]; final group = (groupId == null) ? null : groupById[groupId]; @@ -210,6 +212,7 @@ class DataTransferService { group: group, players: players.isNotEmpty ? players : null, createdAt: DateTime.parse(map['createdAt'] as String), + endedAt: endedAt, notes: map['notes'] as String? ?? '', ); }).toList(); From ccfea71a35c50aa8cfd8f87a1c6f0e800a05c8b4 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Sun, 1 Feb 2026 17:56:24 +0100 Subject: [PATCH 140/198] reduce line length --- lib/data/db/tables/match_table.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/data/db/tables/match_table.dart b/lib/data/db/tables/match_table.dart index 83b6897..9ed27b7 100644 --- a/lib/data/db/tables/match_table.dart +++ b/lib/data/db/tables/match_table.dart @@ -6,8 +6,9 @@ class MatchTable extends Table { TextColumn get id => text()(); TextColumn get gameId => text().references(GameTable, #id, onDelete: KeyAction.cascade)(); + // Nullable if not part of a group TextColumn get groupId => - text().references(GroupTable, #id, onDelete: KeyAction.cascade).nullable()(); // Nullable if not part of a group + text().references(GroupTable, #id, onDelete: KeyAction.cascade).nullable()(); TextColumn get name => text().nullable()(); TextColumn get notes => text().nullable()(); DateTimeColumn get createdAt => dateTime()(); From dbef735a821564485989f16a0101534e9ec08ad3 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Sun, 1 Feb 2026 18:13:03 +0100 Subject: [PATCH 141/198] add color enum --- lib/core/enums.dart | 11 ++++++++ lib/data/dao/game_dao.dart | 12 ++++----- lib/data/dao/match_dao.dart | 2 +- lib/data/dto/game.dart | 6 ++--- lib/data/dto/match.dart | 2 +- .../views/main_menu/home_view.dart | 2 +- .../create_match/create_match_view.dart | 4 +-- .../main_menu/match_view/match_view.dart | 2 +- lib/services/data_transfer_service.dart | 2 +- test/db_tests/game_test.dart | 26 +++++++++---------- test/db_tests/match_test.dart | 2 +- test/db_tests/player_match_test.dart | 2 +- test/db_tests/score_test.dart | 2 +- test/db_tests/team_test.dart | 4 +-- 14 files changed, 45 insertions(+), 34 deletions(-) diff --git a/lib/core/enums.dart b/lib/core/enums.dart index a6bf274..d3e0610 100644 --- a/lib/core/enums.dart +++ b/lib/core/enums.dart @@ -37,6 +37,17 @@ enum ExportResult { success, canceled, unknownException } /// - [Ruleset.multipleWinners]: Multiple players can be winners. enum Ruleset { highestScore, lowestScore, singleWinner, singleLoser, multipleWinners } +/// Different colors available for games +/// - [GameColor.red]: Red color +/// - [GameColor.blue]: Blue color +/// - [GameColor.green]: Green color +/// - [GameColor.yellow]: Yellow color +/// - [GameColor.purple]: Purple color +/// - [GameColor.orange]: Orange color +/// - [GameColor.pink]: Pink color +/// - [GameColor.teal]: Teal color +enum GameColor { red, blue, green, yellow, purple, orange, pink, teal } + /// Translates a [Ruleset] enum value to its corresponding localized string. String translateRulesetToString(Ruleset ruleset, BuildContext context) { final loc = AppLocalizations.of(context); diff --git a/lib/data/dao/game_dao.dart b/lib/data/dao/game_dao.dart index b656266..8e658ed 100644 --- a/lib/data/dao/game_dao.dart +++ b/lib/data/dao/game_dao.dart @@ -21,7 +21,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { name: row.name, ruleset: Ruleset.values.firstWhere((e) => e.name == row.ruleset), description: row.description, - color: row.color, + color: GameColor.values.firstWhere((e) => e.name == row.color), icon: row.icon, createdAt: row.createdAt, ), @@ -38,7 +38,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { name: result.name, ruleset: Ruleset.values.firstWhere((e) => e.name == result.ruleset), description: result.description, - color: result.color, + color: GameColor.values.firstWhere((e) => e.name == result.color), icon: result.icon, createdAt: result.createdAt, ); @@ -55,7 +55,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { name: game.name, ruleset: game.ruleset.name, description: game.description, - color: game.color, + color: game.color.name, icon: game.icon, createdAt: game.createdAt, ), @@ -81,7 +81,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { name: game.name, ruleset: game.ruleset.name, description: game.description, - color: game.color, + color: game.color.name, icon: game.icon, createdAt: game.createdAt, ), @@ -135,10 +135,10 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { } /// Updates the color of the game with the given [gameId]. - Future updateGameColor({required String gameId, required String newColor}) async { + Future updateGameColor({required String gameId, required GameColor newColor}) async { await (update( gameTable, - )..where((g) => g.id.equals(gameId))).write(GameTableCompanion(color: Value(newColor))); + )..where((g) => g.id.equals(gameId))).write(GameTableCompanion(color: Value(newColor.name))); } /// Updates the icon of the game with the given [gameId]. diff --git a/lib/data/dao/match_dao.dart b/lib/data/dao/match_dao.dart index 3f5a7a1..c2e9d72 100644 --- a/lib/data/dao/match_dao.dart +++ b/lib/data/dao/match_dao.dart @@ -126,7 +126,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { name: game.name, ruleset: game.ruleset.name, description: game.description, - color: game.color, + color: game.color.name, icon: game.icon, createdAt: game.createdAt, ), diff --git a/lib/data/dto/game.dart b/lib/data/dto/game.dart index b463a82..437d98e 100644 --- a/lib/data/dto/game.dart +++ b/lib/data/dto/game.dart @@ -8,7 +8,7 @@ class Game { final String name; final Ruleset ruleset; final String description; - final String color; + final GameColor color; final String icon; Game({ @@ -34,7 +34,7 @@ class Game { name = json['name'], ruleset = Ruleset.values.firstWhere((e) => e.name == json['ruleset']), description = json['description'], - color = json['color'], + color = GameColor.values.firstWhere((e) => e.name == json['color']), icon = json['icon']; /// Converts the Game instance to a JSON object. @@ -44,7 +44,7 @@ class Game { 'name': name, 'ruleset': ruleset.name, 'description': description, - 'color': color, + 'color': color.name, 'icon': icon, }; } diff --git a/lib/data/dto/match.dart b/lib/data/dto/match.dart index 4f919b4..559914e 100644 --- a/lib/data/dto/match.dart +++ b/lib/data/dto/match.dart @@ -41,7 +41,7 @@ class Match { createdAt = DateTime.parse(json['createdAt']), endedAt = json['endedAt'] != null ? DateTime.parse(json['endedAt']) : null, name = json['name'], - game = Game(name: '', ruleset: Ruleset.singleWinner, description: '', color: '', icon: ''), // Populated during import via DataTransferService + game = Game(name: '', ruleset: Ruleset.singleWinner, description: '', color: GameColor.blue, icon: ''), // Populated during import via DataTransferService group = null, // Populated during import via DataTransferService players = [], // Populated during import via DataTransferService notes = json['notes'] ?? ''; diff --git a/lib/presentation/views/main_menu/home_view.dart b/lib/presentation/views/main_menu/home_view.dart index f8c39f8..a7f5cfa 100644 --- a/lib/presentation/views/main_menu/home_view.dart +++ b/lib/presentation/views/main_menu/home_view.dart @@ -42,7 +42,7 @@ class _HomeViewState extends State { 2, Match( name: 'Skeleton Match', - game: Game(name: '', ruleset: Ruleset.singleWinner, description: '', color: '', icon: ''), + game: Game(name: '', ruleset: Ruleset.singleWinner, description: '', color: GameColor.blue, icon: ''), group: Group( name: 'Skeleton Group', description: '', diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index 35bffc4..163ebd2 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -202,7 +202,7 @@ class _CreateMatchViewState extends State { name: selectedGame.$1, description: selectedGame.$2, ruleset: selectedGame.$3, - color: '0xFF000000', + color: GameColor.blue, icon: '', ); } else { @@ -212,7 +212,7 @@ class _CreateMatchViewState extends State { name: selectedGame.$1, description: selectedGame.$2, ruleset: selectedGame.$3, - color: '0xFF000000', + color: GameColor.blue, icon: '', ); } diff --git a/lib/presentation/views/main_menu/match_view/match_view.dart b/lib/presentation/views/main_menu/match_view/match_view.dart index b2ef367..1f50342 100644 --- a/lib/presentation/views/main_menu/match_view/match_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_view.dart @@ -38,7 +38,7 @@ class _MatchViewState extends State { 4, Match( name: 'Skeleton match name', - game: Game(name: '', ruleset: Ruleset.singleWinner, description: '', color: '', icon: ''), + game: Game(name: '', ruleset: Ruleset.singleWinner, description: '', color: GameColor.blue, icon: ''), group: Group( name: 'Group name', description: '', diff --git a/lib/services/data_transfer_service.dart b/lib/services/data_transfer_service.dart index fb69e12..4995c77 100644 --- a/lib/services/data_transfer_service.dart +++ b/lib/services/data_transfer_service.dart @@ -208,7 +208,7 @@ class DataTransferService { return Match( id: map['id'] as String, name: map['name'] as String, - game: game ?? Game(name: 'Unknown', ruleset: Ruleset.singleWinner, description: '', color: '', icon: ''), + game: game ?? Game(name: 'Unknown', ruleset: Ruleset.singleWinner, description: '', color: GameColor.blue, icon: ''), group: group, players: players.isNotEmpty ? players : null, createdAt: DateTime.parse(map['createdAt'] as String), diff --git a/test/db_tests/game_test.dart b/test/db_tests/game_test.dart index 27133ec..6038690 100644 --- a/test/db_tests/game_test.dart +++ b/test/db_tests/game_test.dart @@ -27,7 +27,7 @@ void main() { name: 'Chess', ruleset: Ruleset.singleWinner, description: 'A classic strategy game', - color: '0xFF0000FF', + color: GameColor.blue, icon: 'chess_icon', ); testGame2 = Game( @@ -35,7 +35,7 @@ void main() { name: 'Poker', ruleset: Ruleset.multipleWinners, description: 'Card game with multiple winners', - color: '0xFFFF0000', + color: GameColor.red, icon: 'poker_icon', ); testGame3 = Game( @@ -43,7 +43,7 @@ void main() { name: 'Monopoly', ruleset: Ruleset.highestScore, description: 'A board game about real estate', - color: '0xFF000000', + color: GameColor.orange, icon: '', ); }); @@ -134,7 +134,7 @@ void main() { // Verifies that a game with null optional fields can be added and retrieved. test('addGame handles game with null optional fields', () async { - final gameWithNulls = Game(name: 'Simple Game', ruleset: Ruleset.lowestScore, description: 'A simple game', color: '0xFF000000', icon: ''); + final gameWithNulls = Game(name: 'Simple Game', ruleset: Ruleset.lowestScore, description: 'A simple game', color: GameColor.green, icon: ''); final result = await database.gameDao.addGame(game: gameWithNulls); expect(result, true); @@ -143,7 +143,7 @@ void main() { ); expect(fetchedGame.name, 'Simple Game'); expect(fetchedGame.description, 'A simple game'); - expect(fetchedGame.color, '0xFF000000'); + expect(fetchedGame.color, GameColor.green); expect(fetchedGame.icon, isNull); }); @@ -340,20 +340,20 @@ void main() { await database.gameDao.updateGameColor( gameId: testGame1.id, - newColor: '0xFF00FF00', + newColor: GameColor.green, ); final updatedGame = await database.gameDao.getGameById( gameId: testGame1.id, ); - expect(updatedGame.color, '0xFF00FF00'); + expect(updatedGame.color, GameColor.green); }); // Verifies that updateGameColor does nothing when game doesn't exist. test('updateGameColor does nothing for non-existent game', () async { await database.gameDao.updateGameColor( gameId: 'non-existent-id', - newColor: '0xFF00FF00', + newColor: GameColor.green, ); final allGames = await database.gameDao.getAllGames(); @@ -460,7 +460,7 @@ void main() { name: 'Game\'s & "Special" ', ruleset: Ruleset.multipleWinners, description: 'Description with émojis 🎮🎲', - color: '0xFF000000', + color: GameColor.purple, icon: '', ); await database.gameDao.addGame(game: specialGame); @@ -479,7 +479,7 @@ void main() { ruleset: Ruleset.singleWinner, description: '', icon: '', - color: '0xFF000000', + color: GameColor.red, ); await database.gameDao.addGame(game: emptyGame); @@ -499,7 +499,7 @@ void main() { name: longString, description: longString, ruleset: Ruleset.multipleWinners, - color: '0xFF000000', + color: GameColor.yellow, icon: '', ); await database.gameDao.addGame(game: longGame); @@ -522,7 +522,7 @@ void main() { ); await database.gameDao.updateGameColor( gameId: testGame1.id, - newColor: '0xFF123456', + newColor: GameColor.teal, ); await database.gameDao.updateGameDescription( gameId: testGame1.id, @@ -533,7 +533,7 @@ void main() { gameId: testGame1.id, ); expect(updatedGame.name, 'Updated Name'); - expect(updatedGame.color, '0xFF123456'); + expect(updatedGame.color, GameColor.teal); expect(updatedGame.description, 'Updated Description'); expect(updatedGame.ruleset, testGame1.ruleset); expect(updatedGame.icon, testGame1.icon); diff --git a/test/db_tests/match_test.dart b/test/db_tests/match_test.dart index 2544ccc..4935f81 100644 --- a/test/db_tests/match_test.dart +++ b/test/db_tests/match_test.dart @@ -51,7 +51,7 @@ void main() { description: '', members: [testPlayer4, testPlayer5], ); - testGame = Game(name: 'Test Game', ruleset: Ruleset.singleWinner, description: 'A test game', color: '0xFF000000', icon: ''); + testGame = Game(name: 'Test Game', ruleset: Ruleset.singleWinner, description: 'A test game', color: GameColor.blue, icon: ''); testMatch1 = Match( name: 'First Test Match', game: testGame, diff --git a/test/db_tests/player_match_test.dart b/test/db_tests/player_match_test.dart index 164dbf9..ddc36d2 100644 --- a/test/db_tests/player_match_test.dart +++ b/test/db_tests/player_match_test.dart @@ -48,7 +48,7 @@ void main() { description: '', members: [testPlayer1, testPlayer2, testPlayer3], ); - testGame = Game(name: 'Test Game', ruleset: Ruleset.singleWinner, description: 'A test game', color: '0xFF000000', icon: ''); + testGame = Game(name: 'Test Game', ruleset: Ruleset.singleWinner, description: 'A test game', color: GameColor.blue, icon: ''); testMatchOnlyGroup = Match( name: 'Test Match with Group', game: testGame, diff --git a/test/db_tests/score_test.dart b/test/db_tests/score_test.dart index 1490dc9..2ad4671 100644 --- a/test/db_tests/score_test.dart +++ b/test/db_tests/score_test.dart @@ -32,7 +32,7 @@ void main() { testPlayer1 = Player(name: 'Alice', description: ''); testPlayer2 = Player(name: 'Bob', description: ''); testPlayer3 = Player(name: 'Charlie', description: ''); - testGame = Game(name: 'Test Game', ruleset: Ruleset.singleWinner, description: 'A test game', color: '0xFF000000', icon: ''); + testGame = Game(name: 'Test Game', ruleset: Ruleset.singleWinner, description: 'A test game', color: GameColor.blue, icon: ''); testMatch1 = Match( name: 'Test Match 1', game: testGame, diff --git a/test/db_tests/team_test.dart b/test/db_tests/team_test.dart index 8092d02..17ceff9 100644 --- a/test/db_tests/team_test.dart +++ b/test/db_tests/team_test.dart @@ -49,8 +49,8 @@ void main() { name: 'Team Gamma', members: [testPlayer1, testPlayer3], ); - testGame1 = Game(name: 'Game 1', ruleset: Ruleset.singleWinner, description: 'Test game 1', color: '0xFF000000', icon: ''); - testGame2 = Game(name: 'Game 2', ruleset: Ruleset.highestScore, description: 'Test game 2', color: '0xFF000000', icon: ''); + testGame1 = Game(name: 'Game 1', ruleset: Ruleset.singleWinner, description: 'Test game 1', color: GameColor.blue, icon: ''); + testGame2 = Game(name: 'Game 2', ruleset: Ruleset.highestScore, description: 'Test game 2', color: GameColor.red, icon: ''); }); await database.playerDao.addPlayersAsList( From 7aba8554c05bf83e22c8ea0887c49a1ebe8a8d99 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Sun, 1 Feb 2026 18:23:58 +0100 Subject: [PATCH 142/198] players cant be null --- lib/data/dao/match_dao.dart | 55 ++++++++----------- lib/data/dto/match.dart | 6 +- .../create_match/create_match_view.dart | 6 +- .../match_view/match_result_view.dart | 8 +-- .../views/main_menu/statistics_view.dart | 14 ++--- .../widgets/tiles/match_tile.dart | 14 ++--- lib/services/data_transfer_service.dart | 4 +- 7 files changed, 46 insertions(+), 61 deletions(-) diff --git a/lib/data/dao/match_dao.dart b/lib/data/dao/match_dao.dart index c2e9d72..063ac32 100644 --- a/lib/data/dao/match_dao.dart +++ b/lib/data/dao/match_dao.dart @@ -29,7 +29,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { } final players = await db.playerMatchDao.getPlayersOfMatch( matchId: row.id, - ); + ) ?? []; return Match( id: row.id, name: row.name ?? '', @@ -56,10 +56,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { group = await db.groupDao.getGroupById(groupId: result.groupId!); } - List? players; - if (await db.playerMatchDao.matchHasPlayers(matchId: matchId)) { - players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId); - } + final players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId) ?? []; return Match( id: result.id, @@ -91,13 +88,11 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { mode: InsertMode.insertOrReplace, ); - if (match.players != null) { - for (final p in match.players!) { - await db.playerMatchDao.addPlayerToMatch( - matchId: match.id, - playerId: p.id, - ); - } + for (final p in match.players) { + await db.playerMatchDao.addPlayerToMatch( + matchId: match.id, + playerId: p.id, + ); } }); } @@ -180,10 +175,8 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { // Add all players of the matches in batch (unique) final uniquePlayers = {}; for (final match in matches) { - if (match.players != null) { - for (final p in match.players!) { - uniquePlayers[p.id] = p; - } + for (final p in match.players) { + uniquePlayers[p.id] = p; } // Also include members of groups if (match.group != null) { @@ -215,18 +208,16 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { // Add all player-match associations in batch await db.batch((b) { for (final match in matches) { - if (match.players != null) { - for (final p in match.players!) { - b.insert( - db.playerMatchTable, - PlayerMatchTableCompanion.insert( - matchId: match.id, - playerId: p.id, - score: 0, - ), - mode: InsertMode.insertOrIgnore, - ); - } + for (final p in match.players) { + b.insert( + db.playerMatchTable, + PlayerMatchTableCompanion.insert( + matchId: match.id, + playerId: p.id, + score: 0, + ), + mode: InsertMode.insertOrIgnore, + ); } } }); @@ -372,15 +363,15 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { /// TEMPORARY: Checks if a match has a winner. /// Currently returns true if the match has any players. Future hasWinner({required String matchId}) async { - final players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId); - return players?.isNotEmpty ?? false; + final players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId) ?? []; + return players.isNotEmpty; } /// TEMPORARY: Gets the winner of a match. /// Currently returns the first player in the match's player list. Future getWinner({required String matchId}) async { - final players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId); - return (players?.isNotEmpty ?? false) ? players!.first : null; + final players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId) ?? []; + return players.isNotEmpty ? players.first : null; } /// TEMPORARY: Sets the winner of a match. diff --git a/lib/data/dto/match.dart b/lib/data/dto/match.dart index 559914e..31f45fc 100644 --- a/lib/data/dto/match.dart +++ b/lib/data/dto/match.dart @@ -12,7 +12,7 @@ class Match { final String name; final Game game; final Group? group; - final List? players; + final List players; final String notes; Player? winner; @@ -23,7 +23,7 @@ class Match { required this.name, required this.game, this.group, - this.players, + this.players = const [], required this.notes, this.winner, }) : id = id ?? const Uuid().v4(), @@ -54,7 +54,7 @@ class Match { 'name': name, 'gameId': game.id, 'groupId': group?.id, - 'playerIds': (players ?? []).map((player) => player.id).toList(), + 'playerIds': players.map((player) => player.id).toList(), 'notes': notes, }; } diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index 163ebd2..7096702 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -63,7 +63,7 @@ class _CreateMatchViewState extends State { int selectedGameIndex = -1; /// The currently selected players - List? selectedPlayers; + List selectedPlayers = []; @override void initState() { @@ -178,7 +178,7 @@ class _CreateMatchViewState extends State { Expanded( child: PlayerSelection( key: ValueKey(selectedGroup?.id ?? 'no_group'), - initialSelectedPlayers: selectedPlayers ?? [], + initialSelectedPlayers: selectedPlayers, availablePlayers: filteredPlayerList, onChanged: (value) { setState(() { @@ -259,6 +259,6 @@ class _CreateMatchViewState extends State { /// - Either a group is selected OR at least 2 players are selected bool _enableCreateGameButton() { return (selectedGroup != null || - (selectedPlayers != null && selectedPlayers!.length > 1)); + (selectedPlayers.length > 1)); } } \ No newline at end of file diff --git a/lib/presentation/views/main_menu/match_view/match_result_view.dart b/lib/presentation/views/main_menu/match_view/match_result_view.dart index 75015f0..981a196 100644 --- a/lib/presentation/views/main_menu/match_view/match_result_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_result_view.dart @@ -153,12 +153,10 @@ class _MatchResultViewState extends State { List getAllPlayers(Match match) { List players = []; - if (match.group == null && match.players != null) { - players = [...match.players!]; - } else if (match.group != null && match.players != null) { - players = [...match.players!, ...match.group!.members]; + if (match.group == null) { + players = [...match.players]; } else { - players = [...match.group!.members]; + players = [...match.players, ...match.group!.members]; } players.sort((a, b) => a.name.compareTo(b.name)); diff --git a/lib/presentation/views/main_menu/statistics_view.dart b/lib/presentation/views/main_menu/statistics_view.dart index af3eba6..5b3ff22 100644 --- a/lib/presentation/views/main_menu/statistics_view.dart +++ b/lib/presentation/views/main_menu/statistics_view.dart @@ -202,19 +202,17 @@ class _StatisticsViewState extends State { } } } - if (match.players != null) { - final members = match.players!.map((p) => p.id).toList(); - for (var playerId in members) { - final index = matchCounts.indexWhere((entry) => entry.$1 == playerId); - // -1 means player not found in matchCounts - if (index != -1) { - final current = matchCounts[index].$2; + final members = match.players.map((p) => p.id).toList(); + for (var playerId in members) { + final index = matchCounts.indexWhere((entry) => entry.$1 == playerId); + // -1 means player not found in matchCounts + if (index != -1) { + final current = matchCounts[index].$2; matchCounts[index] = (playerId, current + 1); } else { matchCounts.add((playerId, 1)); } } - } } // Adding all players with zero matches diff --git a/lib/presentation/widgets/tiles/match_tile.dart b/lib/presentation/widgets/tiles/match_tile.dart index ab65e5d..7862000 100644 --- a/lib/presentation/widgets/tiles/match_tile.dart +++ b/lib/presentation/widgets/tiles/match_tile.dart @@ -91,7 +91,7 @@ class _MatchTileState extends State { const SizedBox(width: 6), Expanded( child: Text( - '${group.name}${widget.match.players != null ? ' + ${widget.match.players?.length}' : ''}', + '${group.name} + ${widget.match.players.length}', style: const TextStyle(fontSize: 14, color: Colors.grey), overflow: TextOverflow.ellipsis, ), @@ -106,7 +106,7 @@ class _MatchTileState extends State { const SizedBox(width: 6), Expanded( child: Text( - '${widget.match.players!.length} ${loc.players}', + '${widget.match.players.length} ${loc.players}', style: const TextStyle(fontSize: 14, color: Colors.grey), overflow: TextOverflow.ellipsis, ), @@ -241,12 +241,10 @@ class _MatchTileState extends State { final playerIds = {}; // Add players from game.players - if (widget.match.players != null) { - for (var player in widget.match.players!) { - if (!playerIds.contains(player.id)) { - allPlayers.add(player); - playerIds.add(player.id); - } + for (var player in widget.match.players) { + if (!playerIds.contains(player.id)) { + allPlayers.add(player); + playerIds.add(player.id); } } diff --git a/lib/services/data_transfer_service.dart b/lib/services/data_transfer_service.dart index 4995c77..526a459 100644 --- a/lib/services/data_transfer_service.dart +++ b/lib/services/data_transfer_service.dart @@ -64,7 +64,7 @@ class DataTransferService { 'endedAt': m.endedAt?.toIso8601String(), 'gameId': m.game.id, 'groupId': m.group?.id, - 'playerIds': (m.players ?? []).map((p) => p.id).toList(), + 'playerIds': m.players.map((p) => p.id).toList(), 'notes': m.notes, }) .toList(), @@ -210,7 +210,7 @@ class DataTransferService { name: map['name'] as String, game: game ?? Game(name: 'Unknown', ruleset: Ruleset.singleWinner, description: '', color: GameColor.blue, icon: ''), group: group, - players: players.isNotEmpty ? players : null, + players: players, createdAt: DateTime.parse(map['createdAt'] as String), endedAt: endedAt, notes: map['notes'] as String? ?? '', From 70d617882927abfd5f40f63c60a15f32f9528e8f Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Sun, 1 Feb 2026 19:51:57 +0100 Subject: [PATCH 143/198] restructure tests --- test/db_tests/{ => aggregates}/group_test.dart | 0 test/db_tests/{ => aggregates}/match_test.dart | 0 test/db_tests/{ => aggregates}/team_test.dart | 0 test/db_tests/{ => entities}/game_test.dart | 0 test/db_tests/{ => entities}/player_test.dart | 0 test/db_tests/{ => relationships}/player_group_test.dart | 0 test/db_tests/{ => relationships}/player_match_test.dart | 0 test/db_tests/{ => values}/score_test.dart | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename test/db_tests/{ => aggregates}/group_test.dart (100%) rename test/db_tests/{ => aggregates}/match_test.dart (100%) rename test/db_tests/{ => aggregates}/team_test.dart (100%) rename test/db_tests/{ => entities}/game_test.dart (100%) rename test/db_tests/{ => entities}/player_test.dart (100%) rename test/db_tests/{ => relationships}/player_group_test.dart (100%) rename test/db_tests/{ => relationships}/player_match_test.dart (100%) rename test/db_tests/{ => values}/score_test.dart (100%) diff --git a/test/db_tests/group_test.dart b/test/db_tests/aggregates/group_test.dart similarity index 100% rename from test/db_tests/group_test.dart rename to test/db_tests/aggregates/group_test.dart diff --git a/test/db_tests/match_test.dart b/test/db_tests/aggregates/match_test.dart similarity index 100% rename from test/db_tests/match_test.dart rename to test/db_tests/aggregates/match_test.dart diff --git a/test/db_tests/team_test.dart b/test/db_tests/aggregates/team_test.dart similarity index 100% rename from test/db_tests/team_test.dart rename to test/db_tests/aggregates/team_test.dart diff --git a/test/db_tests/game_test.dart b/test/db_tests/entities/game_test.dart similarity index 100% rename from test/db_tests/game_test.dart rename to test/db_tests/entities/game_test.dart diff --git a/test/db_tests/player_test.dart b/test/db_tests/entities/player_test.dart similarity index 100% rename from test/db_tests/player_test.dart rename to test/db_tests/entities/player_test.dart diff --git a/test/db_tests/player_group_test.dart b/test/db_tests/relationships/player_group_test.dart similarity index 100% rename from test/db_tests/player_group_test.dart rename to test/db_tests/relationships/player_group_test.dart diff --git a/test/db_tests/player_match_test.dart b/test/db_tests/relationships/player_match_test.dart similarity index 100% rename from test/db_tests/player_match_test.dart rename to test/db_tests/relationships/player_match_test.dart diff --git a/test/db_tests/score_test.dart b/test/db_tests/values/score_test.dart similarity index 100% rename from test/db_tests/score_test.dart rename to test/db_tests/values/score_test.dart From fabb7bae196db885a7d897d875c94e604bc970c0 Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Fri, 6 Feb 2026 12:31:47 +0000 Subject: [PATCH 144/198] Updated version number [skip ci] --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 6c22769..4faa4d3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: tallee description: "Tracking App for Card Games" publish_to: 'none' -version: 0.0.14+248 +version: 0.0.15+249 environment: sdk: ^3.8.1 From a4d4703069fae17160d9acc6a64544e6eb9ddcae Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Fri, 6 Feb 2026 12:32:19 +0000 Subject: [PATCH 145/198] Updated licenses [skip ci] --- .../settings_view/licenses/oss_licenses.dart | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart b/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart index b84eacc..b69e065 100644 --- a/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart +++ b/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart @@ -1396,13 +1396,13 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// cross_file 0.3.5+1 +/// cross_file 0.3.5+2 const _cross_file = Package( name: 'cross_file', description: 'An abstraction to allow working with files across multiple platforms.', repository: 'https://github.com/flutter/packages/tree/main/packages/cross_file', authors: [], - version: '0.3.5+1', + version: '0.3.5+2', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -1628,13 +1628,13 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// dbus 0.7.11 +/// dbus 0.7.12 const _dbus = Package( name: 'dbus', description: 'A native Dart implementation of the D-Bus message bus client. This package allows Dart applications to directly access services on the Linux desktop.', homepage: 'https://github.com/canonical/dbus.dart', authors: [], - version: '0.7.11', + version: '0.7.12', spdxIdentifiers: ['MPL-2.0'], isMarkdown: false, isSdk: false, @@ -2015,7 +2015,7 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice defined by the Mozilla Public License, v. 2.0.''', ); -/// dio 5.9.0 +/// dio 5.9.1 const _dio = Package( name: 'dio', description: '''A powerful HTTP networking package, @@ -2026,7 +2026,7 @@ Custom adapters, Transformers, etc. homepage: 'https://github.com/cfug/dio', repository: 'https://github.com/cfug/dio/blob/main/dio', authors: [], - version: '5.9.0', + version: '5.9.1', spdxIdentifiers: ['MIT'], isMarkdown: false, isSdk: false, @@ -2497,14 +2497,14 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// file_picker 10.3.8 +/// file_picker 10.3.10 const _file_picker = Package( name: 'file_picker', description: 'A package that allows you to use a native file explorer to pick single or multiple absolute file paths, with extension filtering support.', homepage: 'https://github.com/miguelpruivo/plugins_flutter_file_picker', repository: 'https://github.com/miguelpruivo/flutter_file_picker', authors: [], - version: '10.3.8', + version: '10.3.10', spdxIdentifiers: ['MIT'], isMarkdown: false, isSdk: false, @@ -2947,13 +2947,13 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// hooks 1.0.0 +/// hooks 1.0.1 const _hooks = Package( name: 'hooks', description: 'A library that contains a Dart API for the JSON-based protocol for `hook/build.dart` and `hook/link.dart`.', repository: 'https://github.com/dart-lang/native/tree/main/pkgs/hooks', authors: [], - version: '1.0.0', + version: '1.0.1', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -3271,13 +3271,13 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// json_annotation 4.9.0 +/// json_annotation 4.10.0 const _json_annotation = Package( name: 'json_annotation', description: 'Classes and helper functions that support JSON code generation via the `json_serializable` package.', repository: 'https://github.com/google/json_serializable.dart/tree/master/json_annotation', authors: [], - version: '4.9.0', + version: '4.10.0', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -4085,13 +4085,13 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// objective_c 9.2.4 +/// objective_c 9.3.0 const _objective_c = Package( name: 'objective_c', description: 'A library to access Objective C from Flutter that acts as a support library for package:ffigen.', repository: 'https://github.com/dart-lang/native/tree/main/pkgs/objective_c', authors: [], - version: '9.2.4', + version: '9.3.0', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -5869,13 +5869,13 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// source_span 1.10.1 +/// source_span 1.10.2 const _source_span = Package( name: 'source_span', description: 'Provides a standard representation for source code locations and spans.', repository: 'https://github.com/dart-lang/tools/tree/main/pkgs/source_span', authors: [], - version: '1.10.1', + version: '1.10.2', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -7499,12 +7499,12 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.''', ); -/// tallee 0.0.13+247 +/// tallee 0.0.15+249 const _tallee = Package( name: 'tallee', description: 'Tracking App for Card Games', authors: [], - version: '0.0.13+247', + version: '0.0.15+249', spdxIdentifiers: ['LGPL-3.0'], isMarkdown: false, isSdk: false, From ee1962ef9caa431261b6d782bc5d8488c10b0583 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Fri, 6 Feb 2026 14:03:57 +0100 Subject: [PATCH 146/198] Implemented new nav bar --- lib/core/custom_theme.dart | 3 + .../main_menu/custom_navigation_bar.dart | 149 +++++++----------- lib/presentation/widgets/navbar_item.dart | 29 ++-- 3 files changed, 76 insertions(+), 105 deletions(-) diff --git a/lib/core/custom_theme.dart b/lib/core/custom_theme.dart index 9400d3d..28ea385 100644 --- a/lib/core/custom_theme.dart +++ b/lib/core/custom_theme.dart @@ -27,6 +27,9 @@ class CustomTheme { /// Text color used throughout the app static const Color textColor = Color(0xFFFFFFFF); + /// Background color for the navigation bar + static const Color navBarBackgroundColor = Color(0xFF131313); + /// Selected color for the [NavbarItem] static Color navBarItemSelectedColor = primaryColor.withGreen(100); diff --git a/lib/presentation/views/main_menu/custom_navigation_bar.dart b/lib/presentation/views/main_menu/custom_navigation_bar.dart index 9e81a34..7eb9b66 100644 --- a/lib/presentation/views/main_menu/custom_navigation_bar.dart +++ b/lib/presentation/views/main_menu/custom_navigation_bar.dart @@ -1,5 +1,3 @@ -import 'dart:ui'; - import 'package:flutter/material.dart'; import 'package:tallee/core/adaptive_page_route.dart'; import 'package:tallee/core/custom_theme.dart'; @@ -75,103 +73,62 @@ class _CustomNavigationBarState extends State backgroundColor: CustomTheme.backgroundColor, body: tabs[currentIndex], extendBody: true, - bottomNavigationBar: SizedBox( - height: 70 + MediaQuery.of(context).padding.bottom, - child: Stack( - children: [ - // Dynamically generated blur layers for ultra-smooth transition - ...List.generate(34, (index) { - // Use cubic curve for an even more natural, smoother transition - final progress = index / 34.0; // 0.0 to 1.0 - final cubic = progress * progress * progress; // cubic curve - final blurStrength = - 0.5 + (cubic * 50.0); // Very smooth from 0.5 to 50.5 - - // Height goes completely from 100% to 0% (all the way down) - // With extra density at the bottom for softer transition - final heightFactor = index < 25 - // First 25 layers: 100% to 30% - ? 1.0 - (progress * 0.7) - // Last 10 layers: 30% to 0% (denser) - : 0.3 - ((index - 25) / 34.0); - - return Positioned( - left: 0, - right: 0, - bottom: 0, - height: - (70 + MediaQuery.of(context).padding.bottom) * - heightFactor.clamp(0.05, 1.0), - child: ClipRect( - child: BackdropFilter( - filter: ImageFilter.blur( - sigmaX: blurStrength, - sigmaY: blurStrength, - ), - child: Container(color: Colors.transparent), - ), - ), - ); - }), - // Gradient overlay - Positioned.fill( - child: Container( - decoration: BoxDecoration( - gradient: LinearGradient( - begin: Alignment.bottomCenter, - end: Alignment.topCenter, - colors: [ - CustomTheme.boxColor.withValues(alpha: 1), - CustomTheme.boxColor.withValues(alpha: 0.5), - CustomTheme.boxColor.withValues(alpha: 0.2), - CustomTheme.boxColor.withValues(alpha: 0.0), - ], - stops: const [0.0, 0.4, 0.8, 1], - ), - ), - ), - ), - // Navbar content - SafeArea( - child: SizedBox( - height: 70, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - NavbarItem( - index: 0, - isSelected: currentIndex == 0, - icon: Icons.home_rounded, - label: loc.home, - onTabTapped: onTabTapped, - ), - NavbarItem( - index: 1, - isSelected: currentIndex == 1, - icon: Icons.gamepad_rounded, - label: loc.matches, - onTabTapped: onTabTapped, - ), - NavbarItem( - index: 2, - isSelected: currentIndex == 2, - icon: Icons.group_rounded, - label: loc.groups, - onTabTapped: onTabTapped, - ), - NavbarItem( - index: 3, - isSelected: currentIndex == 3, - icon: Icons.bar_chart_rounded, - label: loc.statistics, - onTabTapped: onTabTapped, - ), - ], - ), - ), + bottomNavigationBar: Container( + height: 115, + decoration: BoxDecoration( + color: CustomTheme.navBarBackgroundColor, + border: Border.all( + strokeAlign: BorderSide.strokeAlignOutside, + color: CustomTheme.boxBorder, + width: 2, + ), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(30), + topRight: Radius.circular(30), + ), + boxShadow: [ + BoxShadow( + color: Colors.black.withValues(alpha: 0.1), + blurRadius: 20, + offset: const Offset(0, -5), ), ], ), + child: SafeArea( + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + NavbarItem( + index: 0, + isSelected: currentIndex == 0, + icon: Icons.home_rounded, + label: loc.home, + onTabTapped: onTabTapped, + ), + NavbarItem( + index: 1, + isSelected: currentIndex == 1, + icon: Icons.gamepad_rounded, + label: loc.matches, + onTabTapped: onTabTapped, + ), + NavbarItem( + index: 2, + isSelected: currentIndex == 2, + icon: Icons.group_rounded, + label: loc.groups, + onTabTapped: onTabTapped, + ), + NavbarItem( + index: 3, + isSelected: currentIndex == 3, + icon: Icons.bar_chart_rounded, + label: loc.statistics, + onTabTapped: onTabTapped, + ), + ], + ), + ), ), ); } diff --git a/lib/presentation/widgets/navbar_item.dart b/lib/presentation/widgets/navbar_item.dart index 0b08371..3cc7433 100644 --- a/lib/presentation/widgets/navbar_item.dart +++ b/lib/presentation/widgets/navbar_item.dart @@ -87,16 +87,27 @@ class _NavbarItemState extends State mainAxisSize: MainAxisSize.min, mainAxisAlignment: MainAxisAlignment.center, children: [ - ScaleTransition( - scale: widget.isSelected - ? _scaleAnimation - : const AlwaysStoppedAnimation(1.0), - child: Icon( - widget.icon, + AnimatedContainer( + width: 50, + height: 50, + decoration: BoxDecoration( color: widget.isSelected - ? CustomTheme.navBarItemSelectedColor - : CustomTheme.navBarItemUnselectedColor, - size: 32, + ? CustomTheme.primaryColor.withAlpha(50) + : Colors.transparent, + borderRadius: const BorderRadius.all(Radius.circular(15)), + ), + duration: const Duration(milliseconds: 200), + child: ScaleTransition( + scale: widget.isSelected + ? _scaleAnimation + : const AlwaysStoppedAnimation(1.0), + child: Icon( + widget.icon, + color: widget.isSelected + ? CustomTheme.navBarItemSelectedColor + : CustomTheme.navBarItemUnselectedColor, + size: 32, + ), ), ), const SizedBox(height: 4), From 3f790cfbb111cd44fa48b6480e5c4390b4d0627a Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Fri, 6 Feb 2026 14:04:16 +0100 Subject: [PATCH 147/198] Renamed variable --- lib/core/custom_theme.dart | 4 ++-- lib/presentation/views/main_menu/custom_navigation_bar.dart | 2 +- .../views/main_menu/match_view/match_result_view.dart | 2 +- lib/presentation/widgets/custom_alert_dialog.dart | 2 +- lib/presentation/widgets/text_input/custom_search_bar.dart | 2 +- lib/presentation/widgets/text_input/text_input_field.dart | 4 ++-- lib/presentation/widgets/tiles/custom_radio_list_tile.dart | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/core/custom_theme.dart b/lib/core/custom_theme.dart index 28ea385..25adf0f 100644 --- a/lib/core/custom_theme.dart +++ b/lib/core/custom_theme.dart @@ -19,7 +19,7 @@ class CustomTheme { static const Color boxColor = Color(0xFF101010); /// Default border color for boxes and containers - static const Color boxBorder = Color(0xFF272727); + static const Color boxBorderColor = Color(0xFF272727); /// Color for boxes and containers displayed on boxes static const Color onBoxColor = Color(0xFF181818); @@ -54,7 +54,7 @@ class CustomTheme { // ==================== Decorations ==================== static BoxDecoration standardBoxDecoration = BoxDecoration( color: boxColor, - border: Border.all(color: boxBorder), + border: Border.all(color: boxBorderColor), borderRadius: standardBorderRadiusAll, ); diff --git a/lib/presentation/views/main_menu/custom_navigation_bar.dart b/lib/presentation/views/main_menu/custom_navigation_bar.dart index 7eb9b66..6d18091 100644 --- a/lib/presentation/views/main_menu/custom_navigation_bar.dart +++ b/lib/presentation/views/main_menu/custom_navigation_bar.dart @@ -79,7 +79,7 @@ class _CustomNavigationBarState extends State color: CustomTheme.navBarBackgroundColor, border: Border.all( strokeAlign: BorderSide.strokeAlignOutside, - color: CustomTheme.boxBorder, + color: CustomTheme.boxBorderColor, width: 2, ), borderRadius: const BorderRadius.only( diff --git a/lib/presentation/views/main_menu/match_view/match_result_view.dart b/lib/presentation/views/main_menu/match_view/match_result_view.dart index 75015f0..214c500 100644 --- a/lib/presentation/views/main_menu/match_view/match_result_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_result_view.dart @@ -74,7 +74,7 @@ class _MatchResultViewState extends State { ), decoration: BoxDecoration( color: CustomTheme.boxColor, - border: Border.all(color: CustomTheme.boxBorder), + border: Border.all(color: CustomTheme.boxBorderColor), borderRadius: BorderRadius.circular(12), ), child: Column( diff --git a/lib/presentation/widgets/custom_alert_dialog.dart b/lib/presentation/widgets/custom_alert_dialog.dart index 84843b7..bf98f2c 100644 --- a/lib/presentation/widgets/custom_alert_dialog.dart +++ b/lib/presentation/widgets/custom_alert_dialog.dart @@ -32,7 +32,7 @@ class CustomAlertDialog extends StatelessWidget { actionsAlignment: MainAxisAlignment.spaceAround, shape: RoundedRectangleBorder( borderRadius: CustomTheme.standardBorderRadiusAll, - side: const BorderSide(color: CustomTheme.boxBorder), + side: const BorderSide(color: CustomTheme.boxBorderColor), ), ); } diff --git a/lib/presentation/widgets/text_input/custom_search_bar.dart b/lib/presentation/widgets/text_input/custom_search_bar.dart index aeb71f2..313fc1a 100644 --- a/lib/presentation/widgets/text_input/custom_search_bar.dart +++ b/lib/presentation/widgets/text_input/custom_search_bar.dart @@ -88,7 +88,7 @@ class CustomSearchBar extends StatelessWidget { ], backgroundColor: WidgetStateProperty.all(CustomTheme.boxColor), side: WidgetStateProperty.all( - const BorderSide(color: CustomTheme.boxBorder), + const BorderSide(color: CustomTheme.boxBorderColor), ), shape: WidgetStateProperty.all( RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), diff --git a/lib/presentation/widgets/text_input/text_input_field.dart b/lib/presentation/widgets/text_input/text_input_field.dart index 16f5072..541ae6f 100644 --- a/lib/presentation/widgets/text_input/text_input_field.dart +++ b/lib/presentation/widgets/text_input/text_input_field.dart @@ -44,11 +44,11 @@ class TextInputField extends StatelessWidget { counterText: '', enabledBorder: const OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(12)), - borderSide: BorderSide(color: CustomTheme.boxBorder), + borderSide: BorderSide(color: CustomTheme.boxBorderColor), ), focusedBorder: const OutlineInputBorder( borderRadius: BorderRadius.all(Radius.circular(12)), - borderSide: BorderSide(color: CustomTheme.boxBorder), + borderSide: BorderSide(color: CustomTheme.boxBorderColor), ), floatingLabelBehavior: FloatingLabelBehavior.never, ), diff --git a/lib/presentation/widgets/tiles/custom_radio_list_tile.dart b/lib/presentation/widgets/tiles/custom_radio_list_tile.dart index 2b8e855..53d0a03 100644 --- a/lib/presentation/widgets/tiles/custom_radio_list_tile.dart +++ b/lib/presentation/widgets/tiles/custom_radio_list_tile.dart @@ -31,7 +31,7 @@ class CustomRadioListTile extends StatelessWidget { padding: const EdgeInsets.symmetric(horizontal: 2), decoration: BoxDecoration( color: CustomTheme.boxColor, - border: Border.all(color: CustomTheme.boxBorder), + border: Border.all(color: CustomTheme.boxBorderColor), borderRadius: CustomTheme.standardBorderRadiusAll, ), child: Row( From 487efb4d61da01d87411e8e5d57d941813d535f8 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Fri, 6 Feb 2026 14:07:43 +0100 Subject: [PATCH 148/198] Added type annotation --- lib/core/custom_theme.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/core/custom_theme.dart b/lib/core/custom_theme.dart index 25adf0f..0e9fec2 100644 --- a/lib/core/custom_theme.dart +++ b/lib/core/custom_theme.dart @@ -13,7 +13,7 @@ class CustomTheme { static const Color secondaryColor = Color(0xFFf2a981); /// Background color of the app theme - static const backgroundColor = Color(0xFF0B0B0B); + static const Color backgroundColor = Color(0xFF0B0B0B); /// Default color for boxes and containers static const Color boxColor = Color(0xFF101010); From 25699dffc042709977d813d9c8e2bd7eb6862278 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Sat, 7 Feb 2026 17:25:49 +0100 Subject: [PATCH 149/198] add replaceGroupPlayers method --- lib/data/dao/group_dao.dart | 40 +++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/lib/data/dao/group_dao.dart b/lib/data/dao/group_dao.dart index 7b52ceb..c5abfd5 100644 --- a/lib/data/dao/group_dao.dart +++ b/lib/data/dao/group_dao.dart @@ -231,4 +231,44 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { final rowsAffected = await query.go(); return rowsAffected > 0; } + + /// Replaces all players in a group with the provided list of players. + /// Removes all existing players from the group and adds the new players. + /// Also adds any new players to the player table if they don't exist. + Future replaceGroupPlayers({ + required String groupId, + required List newPlayers, + }) async { + await db.transaction(() async { + // Remove all existing players from the group + final deleteQuery = delete(db.playerGroupTable) + ..where((p) => p.groupId.equals(groupId)); + await deleteQuery.go(); + + // Add new players to the player table if they don't exist + await Future.wait( + newPlayers.map((player) async { + if (!await db.playerDao.playerExists(playerId: player.id)) { + await db.playerDao.addPlayer(player: player); + } + }), + ); + + // Add the new players to the group + await db.batch( + (b) => b.insertAll( + db.playerGroupTable, + newPlayers + .map( + (player) => PlayerGroupTableCompanion.insert( + playerId: player.id, + groupId: groupId, + ), + ) + .toList(), + mode: InsertMode.insertOrReplace, + ), + ); + }); + } } From fa9ad9dbae30c3154a5b8c991cb9a9a79145326b Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Sat, 7 Feb 2026 17:26:07 +0100 Subject: [PATCH 150/198] add test for replacing group players --- .../relationships/player_group_test.dart | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/test/db_tests/relationships/player_group_test.dart b/test/db_tests/relationships/player_group_test.dart index 7e97871..051daf8 100644 --- a/test/db_tests/relationships/player_group_test.dart +++ b/test/db_tests/relationships/player_group_test.dart @@ -308,5 +308,35 @@ void main() { ); expect(secondRemoval, false); }); + + // Verifies that replaceGroupPlayers removes all existing players and replaces with new list. + test('replaceGroupPlayers replaces all group members correctly', () async { + // Create initial group with 3 players + await database.groupDao.addGroup(group: testGroup); + + // Verify initial members + var groupMembers = await database.groupDao.getGroupById( + groupId: testGroup.id, + ); + expect(groupMembers.members.length, 3); + + // Replace with new list containing 2 different players + final newPlayersList = [testPlayer3, testPlayer4]; + await database.groupDao.replaceGroupPlayers( + groupId: testGroup.id, + newPlayers: newPlayersList, + ); + + // Get updated group and verify members + groupMembers = await database.groupDao.getGroupById( + groupId: testGroup.id, + ); + + expect(groupMembers.members.length, 2); + expect(groupMembers.members.any((p) => p.id == testPlayer3.id), true); + expect(groupMembers.members.any((p) => p.id == testPlayer4.id), true); + expect(groupMembers.members.any((p) => p.id == testPlayer1.id), false); + expect(groupMembers.members.any((p) => p.id == testPlayer2.id), false); + }); }); } From 07b9b7825296bfa3d903f69c2caa0f2ff6aa7f9b Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Sat, 7 Feb 2026 17:31:19 +0100 Subject: [PATCH 151/198] add replace players in a match method --- lib/data/dao/match_dao.dart | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/lib/data/dao/match_dao.dart b/lib/data/dao/match_dao.dart index 063ac32..8f7a2c0 100644 --- a/lib/data/dao/match_dao.dart +++ b/lib/data/dao/match_dao.dart @@ -355,6 +355,38 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { return rowsAffected > 0; } + /// Replaces all players in a match with the provided list of players. + /// Removes all existing players from the match and adds the new players. + /// Also adds any new players to the player table if they don't exist. + Future replaceMatchPlayers({ + required String matchId, + required List newPlayers, + }) async { + await db.transaction(() async { + // Remove all existing players from the match + final deleteQuery = delete(db.playerMatchTable) + ..where((p) => p.matchId.equals(matchId)); + await deleteQuery.go(); + + // Add new players to the player table if they don't exist + await Future.wait( + newPlayers.map((player) async { + if (!await db.playerDao.playerExists(playerId: player.id)) { + await db.playerDao.addPlayer(player: player); + } + }), + ); + + // Add the new players to the match + await Future.wait( + newPlayers.map((player) => db.playerMatchDao.addPlayerToMatch( + matchId: matchId, + playerId: player.id, + )), + ); + }); + } + // ============================================================ // TEMPORARY: Winner methods - these are stubs and do not persist data // TODO: Implement proper winner handling From 0eb8e2683c429797044b190134e9a2a908cead5d Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Sat, 7 Feb 2026 17:31:23 +0100 Subject: [PATCH 152/198] add replace players in a match test --- .../relationships/player_match_test.dart | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/test/db_tests/relationships/player_match_test.dart b/test/db_tests/relationships/player_match_test.dart index ddc36d2..397f1b7 100644 --- a/test/db_tests/relationships/player_match_test.dart +++ b/test/db_tests/relationships/player_match_test.dart @@ -884,5 +884,36 @@ void main() { expect(playersInTeam.length, 1); expect(playersInTeam[0].id, testPlayer2.id); }); + + // Verifies that replaceMatchPlayers removes all existing players and replaces with new list. + test('replaceMatchPlayers replaces all match players correctly', () async { + // Create initial match with 3 players + await database.matchDao.addMatch(match: testMatchOnlyPlayers); + + // Verify initial players + var matchPlayers = await database.matchDao.getMatchById( + matchId: testMatchOnlyPlayers.id, + ); + expect(matchPlayers.players.length, 3); + + // Replace with new list containing 2 different players + final newPlayersList = [testPlayer1, testPlayer2]; + await database.matchDao.replaceMatchPlayers( + matchId: testMatchOnlyPlayers.id, + newPlayers: newPlayersList, + ); + + // Get updated match and verify players + matchPlayers = await database.matchDao.getMatchById( + matchId: testMatchOnlyPlayers.id, + ); + + expect(matchPlayers.players.length, 2); + expect(matchPlayers.players.any((p) => p.id == testPlayer1.id), true); + expect(matchPlayers.players.any((p) => p.id == testPlayer2.id), true); + expect(matchPlayers.players.any((p) => p.id == testPlayer4.id), false); + expect(matchPlayers.players.any((p) => p.id == testPlayer5.id), false); + expect(matchPlayers.players.any((p) => p.id == testPlayer6.id), false); + }); }); } From a12f4eb1c16118d0eb89eb14b5bd9225c5bb89c6 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Sat, 7 Feb 2026 17:35:43 +0100 Subject: [PATCH 153/198] implement winner methods --- lib/data/dao/match_dao.dart | 78 ++++++++++++++++++++++++++++++------- 1 file changed, 63 insertions(+), 15 deletions(-) diff --git a/lib/data/dao/match_dao.dart b/lib/data/dao/match_dao.dart index 8f7a2c0..5726df5 100644 --- a/lib/data/dao/match_dao.dart +++ b/lib/data/dao/match_dao.dart @@ -388,38 +388,86 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { } // ============================================================ - // TEMPORARY: Winner methods - these are stubs and do not persist data - // TODO: Implement proper winner handling + // Winner methods - handle winner logic via player scores // ============================================================ - /// TEMPORARY: Checks if a match has a winner. - /// Currently returns true if the match has any players. + /// Checks if a match has a winner. + /// Returns true if any player in the match has their score set to 1. Future hasWinner({required String matchId}) async { final players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId) ?? []; - return players.isNotEmpty; + + for (final player in players) { + final score = await db.playerMatchDao.getPlayerScore( + matchId: matchId, + playerId: player.id, + ); + if (score == 1) { + return true; + } + } + return false; } - /// TEMPORARY: Gets the winner of a match. - /// Currently returns the first player in the match's player list. + /// Gets the winner of a match. + /// Returns the player with score 1, or null if no winner is set. Future getWinner({required String matchId}) async { final players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId) ?? []; - return players.isNotEmpty ? players.first : null; + + for (final player in players) { + final score = await db.playerMatchDao.getPlayerScore( + matchId: matchId, + playerId: player.id, + ); + if (score == 1) { + return player; + } + } + return null; } - /// TEMPORARY: Sets the winner of a match. - /// Currently does nothing - winner is not persisted. + /// Sets the winner of a match. + /// Sets all players' scores to 0, then sets the specified player's score to 1. + /// Returns `true` if the operation was successful, otherwise `false`. Future setWinner({ required String matchId, required String winnerId, }) async { - // TODO: Implement winner persistence + await db.transaction(() async { + final players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId) ?? []; + + // Set all players' scores to 0 + for (final player in players) { + await db.playerMatchDao.updatePlayerScore( + matchId: matchId, + playerId: player.id, + newScore: 0, + ); + } + + // Set the winner's score to 1 + await db.playerMatchDao.updatePlayerScore( + matchId: matchId, + playerId: winnerId, + newScore: 1, + ); + }); return true; } - /// TEMPORARY: Removes the winner of a match. - /// Currently does nothing - winner is not persisted. + /// Removes the winner of a match. + /// Sets the current winner's score to 0 (no winner). + /// Returns `true` if a winner was removed, otherwise `false`. Future removeWinner({required String matchId}) async { - // TODO: Implement winner persistence - return true; + final winner = await getWinner(matchId: matchId); + if (winner == null) { + return false; + } + + final success = await db.playerMatchDao.updatePlayerScore( + matchId: matchId, + playerId: winner.id, + newScore: 0, + ); + return success; } } \ No newline at end of file From 278544788e57eacc1ad65cd7089ca124f3afbf99 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Sat, 7 Feb 2026 17:40:27 +0100 Subject: [PATCH 154/198] fix formatting --- test/db_tests/aggregates/match_test.dart | 40 ++++++++----------- .../relationships/player_match_test.dart | 18 ++++----- 2 files changed, 23 insertions(+), 35 deletions(-) diff --git a/test/db_tests/aggregates/match_test.dart b/test/db_tests/aggregates/match_test.dart index 4935f81..0718e0d 100644 --- a/test/db_tests/aggregates/match_test.dart +++ b/test/db_tests/aggregates/match_test.dart @@ -122,19 +122,15 @@ void main() { } else { fail('Group is null'); } - if (result.players != null) { - expect(result.players!.length, testMatch1.players!.length); + expect(result.players.length, testMatch1.players.length); - for (int i = 0; i < testMatch1.players!.length; i++) { - expect(result.players![i].id, testMatch1.players![i].id); - expect(result.players![i].name, testMatch1.players![i].name); - expect( - result.players![i].createdAt, - testMatch1.players![i].createdAt, - ); - } - } else { - fail('Players is null'); + for (int i = 0; i < testMatch1.players.length; i++) { + expect(result.players[i].id, testMatch1.players[i].id); + expect(result.players[i].name, testMatch1.players[i].name); + expect( + result.players[i].createdAt, + testMatch1.players[i].createdAt, + ); } }); @@ -191,18 +187,14 @@ void main() { } // Players-Checks - if (testMatch.players != null) { - expect(match.players!.length, testMatch.players!.length); - for (int i = 0; i < testMatch.players!.length; i++) { - expect(match.players![i].id, testMatch.players![i].id); - expect(match.players![i].name, testMatch.players![i].name); - expect( - match.players![i].createdAt, - testMatch.players![i].createdAt, - ); - } - } else { - expect(match.players, null); + expect(match.players.length, testMatch.players.length); + for (int i = 0; i < testMatch.players.length; i++) { + expect(match.players[i].id, testMatch.players[i].id); + expect(match.players[i].name, testMatch.players[i].name); + expect( + match.players[i].createdAt, + testMatch.players[i].createdAt, + ); } } }); diff --git a/test/db_tests/relationships/player_match_test.dart b/test/db_tests/relationships/player_match_test.dart index 397f1b7..890e74e 100644 --- a/test/db_tests/relationships/player_match_test.dart +++ b/test/db_tests/relationships/player_match_test.dart @@ -140,7 +140,7 @@ void main() { test('Removing player from match works correctly', () async { await database.matchDao.addMatch(match: testMatchOnlyPlayers); - final playerToRemove = testMatchOnlyPlayers.players![0]; + final playerToRemove = testMatchOnlyPlayers.players[0]; final removed = await database.playerMatchDao.removePlayerFromMatch( playerId: playerToRemove.id, @@ -151,9 +151,9 @@ void main() { final result = await database.matchDao.getMatchById( matchId: testMatchOnlyPlayers.id, ); - expect(result.players!.length, testMatchOnlyPlayers.players!.length - 1); + expect(result.players.length, testMatchOnlyPlayers.players.length - 1); - final playerExists = result.players!.any( + final playerExists = result.players.any( (p) => p.id == playerToRemove.id, ); expect(playerExists, false); @@ -164,18 +164,14 @@ void main() { await database.matchDao.addMatch(match: testMatchOnlyPlayers); final players = await database.playerMatchDao.getPlayersOfMatch( matchId: testMatchOnlyPlayers.id, - ); - - if (players == null) { - fail('Players should not be null'); - } + ) ?? []; for (int i = 0; i < players.length; i++) { - expect(players[i].id, testMatchOnlyPlayers.players![i].id); - expect(players[i].name, testMatchOnlyPlayers.players![i].name); + expect(players[i].id, testMatchOnlyPlayers.players[i].id); + expect(players[i].name, testMatchOnlyPlayers.players[i].name); expect( players[i].createdAt, - testMatchOnlyPlayers.players![i].createdAt, + testMatchOnlyPlayers.players[i].createdAt, ); } }); From e881cf055529aa9d03ded5b5a6df92350c1e0d0b Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Sat, 7 Feb 2026 18:17:08 +0100 Subject: [PATCH 155/198] fix expected null when empty string is correct --- test/db_tests/entities/game_test.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/db_tests/entities/game_test.dart b/test/db_tests/entities/game_test.dart index 6038690..924a60b 100644 --- a/test/db_tests/entities/game_test.dart +++ b/test/db_tests/entities/game_test.dart @@ -132,7 +132,7 @@ void main() { expect(allGames.length, 1); }); - // Verifies that a game with null optional fields can be added and retrieved. + // Verifies that a game with empty optional fields can be added and retrieved. test('addGame handles game with null optional fields', () async { final gameWithNulls = Game(name: 'Simple Game', ruleset: Ruleset.lowestScore, description: 'A simple game', color: GameColor.green, icon: ''); final result = await database.gameDao.addGame(game: gameWithNulls); @@ -144,7 +144,7 @@ void main() { expect(fetchedGame.name, 'Simple Game'); expect(fetchedGame.description, 'A simple game'); expect(fetchedGame.color, GameColor.green); - expect(fetchedGame.icon, isNull); + expect(fetchedGame.icon, ''); }); // Verifies that multiple games can be added at once using addGamesAsList. From d4fcc8106f33668e0dd5c95c51610640ce5e40eb Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 7 Feb 2026 20:21:46 +0100 Subject: [PATCH 156/198] Removed spacing in navbar item --- lib/presentation/widgets/navbar_item.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/presentation/widgets/navbar_item.dart b/lib/presentation/widgets/navbar_item.dart index 3cc7433..17c055c 100644 --- a/lib/presentation/widgets/navbar_item.dart +++ b/lib/presentation/widgets/navbar_item.dart @@ -110,7 +110,6 @@ class _NavbarItemState extends State ), ), ), - const SizedBox(height: 4), Text( widget.label, style: TextStyle( From a4bc03111d5bd8e5aea464d447ec26dc4f6bcde3 Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Sat, 7 Feb 2026 20:19:24 +0000 Subject: [PATCH 157/198] Updated version number [skip ci] --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 4faa4d3..f3a50e3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: tallee description: "Tracking App for Card Games" publish_to: 'none' -version: 0.0.15+249 +version: 0.0.16+250 environment: sdk: ^3.8.1 From 048fb0ef433f732642809b3d2cada14d7a23ae25 Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Sat, 7 Feb 2026 20:19:54 +0000 Subject: [PATCH 158/198] Updated licenses [skip ci] --- .../views/main_menu/settings_view/licenses/oss_licenses.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart b/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart index b69e065..8fb2f2c 100644 --- a/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart +++ b/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart @@ -7499,12 +7499,12 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.''', ); -/// tallee 0.0.15+249 +/// tallee 0.0.16+250 const _tallee = Package( name: 'tallee', description: 'Tracking App for Card Games', authors: [], - version: '0.0.15+249', + version: '0.0.16+250', spdxIdentifiers: ['LGPL-3.0'], isMarkdown: false, isSdk: false, From 8e4cff19d1b62ae40fb76f31c3a8b6aa5395bca2 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Mon, 23 Feb 2026 19:29:20 +0100 Subject: [PATCH 159/198] change comment --- lib/data/db/tables/match_table.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/data/db/tables/match_table.dart b/lib/data/db/tables/match_table.dart index 9ed27b7..191e72c 100644 --- a/lib/data/db/tables/match_table.dart +++ b/lib/data/db/tables/match_table.dart @@ -6,7 +6,7 @@ class MatchTable extends Table { TextColumn get id => text()(); TextColumn get gameId => text().references(GameTable, #id, onDelete: KeyAction.cascade)(); - // Nullable if not part of a group + // Nullable if there is no group associated with the match TextColumn get groupId => text().references(GroupTable, #id, onDelete: KeyAction.cascade).nullable()(); TextColumn get name => text().nullable()(); From 527ffd194f5fc33f33733ddab23a0b010c202033 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Mon, 23 Feb 2026 21:34:29 +0100 Subject: [PATCH 160/198] Fixed PR problems --- .../main_menu/custom_navigation_bar.dart | 2 +- .../group_view/create_group_view.dart | 94 +++++++++++-------- .../group_view/group_detail_view.dart | 15 +-- .../main_menu/group_view/group_view.dart | 2 +- .../create_match/create_match_view.dart | 10 -- .../match_view/match_detail_view.dart | 32 ++++--- .../main_menu/match_view/match_view.dart | 2 +- 7 files changed, 85 insertions(+), 72 deletions(-) diff --git a/lib/presentation/views/main_menu/custom_navigation_bar.dart b/lib/presentation/views/main_menu/custom_navigation_bar.dart index 6d18091..cbea02a 100644 --- a/lib/presentation/views/main_menu/custom_navigation_bar.dart +++ b/lib/presentation/views/main_menu/custom_navigation_bar.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:tallee/core/adaptive_page_route.dart'; import 'package:tallee/core/custom_theme.dart'; import 'package:tallee/l10n/generated/app_localizations.dart'; -import 'package:tallee/presentation/views/main_menu/group_view/groups_view.dart'; +import 'package:tallee/presentation/views/main_menu/group_view/group_view.dart'; import 'package:tallee/presentation/views/main_menu/home_view.dart'; import 'package:tallee/presentation/views/main_menu/match_view/match_view.dart'; import 'package:tallee/presentation/views/main_menu/settings_view/settings_view.dart'; diff --git a/lib/presentation/views/main_menu/group_view/create_group_view.dart b/lib/presentation/views/main_menu/group_view/create_group_view.dart index 262a6e8..be4ed70 100644 --- a/lib/presentation/views/main_menu/group_view/create_group_view.dart +++ b/lib/presentation/views/main_menu/group_view/create_group_view.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:tallee/core/constants.dart'; import 'package:tallee/core/custom_theme.dart'; import 'package:tallee/core/enums.dart'; import 'package:tallee/data/db/database.dart'; @@ -40,7 +39,7 @@ class _CreateGroupViewState extends State { void initState() { super.initState(); db = Provider.of(context, listen: false); - if(widget.groupToEdit != null) { + if (widget.groupToEdit != null) { _groupNameController.text = widget.groupToEdit!.name; setState(() { initialSelectedPlayers = widget.groupToEdit!.members; @@ -66,38 +65,54 @@ class _CreateGroupViewState extends State { child: Scaffold( resizeToAvoidBottomInset: false, backgroundColor: CustomTheme.backgroundColor, - appBar: AppBar(title: Text(widget.groupToEdit == null ? loc.create_new_group : loc.edit_group), actions: widget.groupToEdit == null ? [] : [IconButton(icon: const Icon(Icons.delete), onPressed: () async { - if(widget.groupToEdit != null) { - showDialog( - context: context, - builder: (context) => AlertDialog( - title: Text(loc.delete_group), - content: Text(loc.this_cannot_be_undone), - actions: [ - TextButton( - onPressed: () => Navigator.of(context).pop(false), - child: Text(loc.cancel), - ), - TextButton( - onPressed: () => Navigator.of(context).pop(true), - child: Text(loc.delete), + appBar: AppBar( + title: Text( + widget.groupToEdit == null ? loc.create_new_group : loc.edit_group, + ), + actions: widget.groupToEdit == null + ? [] + : [ + IconButton( + icon: const Icon(Icons.delete), + onPressed: () async { + if (widget.groupToEdit != null) { + showDialog( + context: context, + builder: (context) => AlertDialog( + title: Text(loc.delete_group), + content: Text(loc.this_cannot_be_undone), + actions: [ + TextButton( + onPressed: () => + Navigator.of(context).pop(false), + child: Text(loc.cancel), + ), + TextButton( + onPressed: () => + Navigator.of(context).pop(true), + child: Text(loc.delete), + ), + ], + ), + ).then((confirmed) async { + if (confirmed == true && context.mounted) { + bool success = await db.groupDao.deleteGroup( + groupId: widget.groupToEdit!.id, + ); + if (!context.mounted) return; + if (success) { + Navigator.pop(context); + } else { + if (!mounted) return; + showSnackbar(message: loc.error_deleting_group); + } + } + }); + } + }, ), ], - ), - ).then((confirmed) async { - if (confirmed == true && context.mounted) { - bool success = await db.groupDao.deleteGroup(groupId: widget.groupToEdit!.id); - if (!context.mounted) return; - if (success) { - Navigator.pop(context); - } else { - if (!mounted) return; - showSnackbar(message: loc.error_deleting_group); - } - } - }); - } - },)],), + ), body: SafeArea( child: Column( mainAxisAlignment: MainAxisAlignment.start, @@ -120,7 +135,9 @@ class _CreateGroupViewState extends State { ), ), CustomWidthButton( - text: widget.groupToEdit == null ? loc.create_group : loc.edit_group, + text: widget.groupToEdit == null + ? loc.create_group + : loc.edit_group, sizeRelativeToWidth: 0.95, buttonType: ButtonType.primary, onPressed: @@ -155,7 +172,11 @@ class _CreateGroupViewState extends State { if (success) { Navigator.pop(context, updatedGroup); } else { - showSnackbar(message: widget.groupToEdit == null ? loc.error_creating_group : loc.error_editing_group); + showSnackbar( + message: widget.groupToEdit == null + ? loc.error_creating_group + : loc.error_editing_group, + ); } }, ), @@ -166,12 +187,11 @@ class _CreateGroupViewState extends State { ), ); } + /// Displays a snackbar with the given message and optional action. /// /// [message] The message to display in the snackbar. - void showSnackbar({ - required String message, - }) { + void showSnackbar({required String message}) { final messenger = _scaffoldMessengerKey.currentState; if (messenger != null) { messenger.hideCurrentSnackBar(); diff --git a/lib/presentation/views/main_menu/group_view/group_detail_view.dart b/lib/presentation/views/main_menu/group_view/group_detail_view.dart index 802701a..ad88d66 100644 --- a/lib/presentation/views/main_menu/group_view/group_detail_view.dart +++ b/lib/presentation/views/main_menu/group_view/group_detail_view.dart @@ -1,12 +1,14 @@ import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'package:provider/provider.dart'; +import 'package:tallee/core/adaptive_page_route.dart'; import 'package:tallee/core/custom_theme.dart'; import 'package:tallee/data/db/database.dart'; import 'package:tallee/data/dto/group.dart'; import 'package:tallee/data/dto/match.dart'; import 'package:tallee/data/dto/player.dart'; import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/views/main_menu/group_view/create_group_view.dart'; import 'package:tallee/presentation/widgets/app_skeleton.dart'; import 'package:tallee/presentation/widgets/buttons/animated_dialog_button.dart'; import 'package:tallee/presentation/widgets/buttons/main_menu_button.dart'; @@ -189,9 +191,7 @@ class _GroupDetailViewState extends State { context, adaptivePageRoute( builder: (context) { - return CreateGroupView( - groupToEdit: _group, - ); + return CreateGroupView(groupToEdit: _group); }, ), ); @@ -243,8 +243,9 @@ class _GroupDetailViewState extends State { /// Loads statistics for this group Future _loadStatistics() async { final matches = await db.matchDao.getAllMatches(); - final groupMatches = - matches.where((match) => match.group?.id == _group.id).toList(); + final groupMatches = matches + .where((match) => match.group?.id == _group.id) + .toList(); setState(() { totalMatches = groupMatches.length; @@ -262,7 +263,7 @@ class _GroupDetailViewState extends State { if (match.winner != null) { bestPlayerCounts.update( match.winner!, - (value) => value + 1, + (value) => value + 1, ifAbsent: () => 1, ); } @@ -277,4 +278,4 @@ class _GroupDetailViewState extends State { return bestPlayer; } -} \ No newline at end of file +} diff --git a/lib/presentation/views/main_menu/group_view/group_view.dart b/lib/presentation/views/main_menu/group_view/group_view.dart index 2c9a1fd..cf6f550 100644 --- a/lib/presentation/views/main_menu/group_view/group_view.dart +++ b/lib/presentation/views/main_menu/group_view/group_view.dart @@ -8,7 +8,7 @@ import 'package:tallee/data/dto/group.dart'; import 'package:tallee/data/dto/player.dart'; import 'package:tallee/l10n/generated/app_localizations.dart'; import 'package:tallee/presentation/views/main_menu/group_view/create_group_view.dart'; -import 'package:tallee/presentation/views/main_menu/group_view/group_profile_view.dart'; +import 'package:tallee/presentation/views/main_menu/group_view/group_detail_view.dart'; import 'package:tallee/presentation/widgets/app_skeleton.dart'; import 'package:tallee/presentation/widgets/buttons/main_menu_button.dart'; import 'package:tallee/presentation/widgets/tiles/group_tile.dart'; diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index 3f46c8d..cf7ce86 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -266,14 +266,4 @@ class _CreateMatchViewState extends State { } } } - - /// Determines whether the "Create Match" button should be enabled. - /// - /// Returns `true` if: - /// - A ruleset is selected AND - /// - Either a group is selected OR at least 2 players are selected - bool _enableCreateGameButton() { - return (selectedGroup != null || - (selectedPlayers != null && selectedPlayers!.length > 1)); - } } diff --git a/lib/presentation/views/main_menu/match_view/match_detail_view.dart b/lib/presentation/views/main_menu/match_view/match_detail_view.dart index 05fb6c0..6336bd0 100644 --- a/lib/presentation/views/main_menu/match_view/match_detail_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_detail_view.dart @@ -1,20 +1,20 @@ import 'package:flutter/material.dart'; -import 'package:game_tracker/core/adaptive_page_route.dart'; -import 'package:game_tracker/core/custom_theme.dart'; -import 'package:game_tracker/data/db/database.dart'; -import 'package:game_tracker/data/dto/match.dart'; -import 'package:game_tracker/data/dto/player.dart'; -import 'package:game_tracker/l10n/generated/app_localizations.dart'; -import 'package:game_tracker/presentation/views/main_menu/match_view/create_match/create_match_view.dart'; -import 'package:game_tracker/presentation/views/main_menu/match_view/match_result_view.dart'; -import 'package:game_tracker/presentation/widgets/buttons/animated_dialog_button.dart'; -import 'package:game_tracker/presentation/widgets/buttons/main_menu_button.dart'; -import 'package:game_tracker/presentation/widgets/colored_icon_container.dart'; -import 'package:game_tracker/presentation/widgets/custom_alert_dialog.dart'; -import 'package:game_tracker/presentation/widgets/tiles/info_tile.dart'; -import 'package:game_tracker/presentation/widgets/tiles/text_icon_tile.dart'; import 'package:intl/intl.dart'; import 'package:provider/provider.dart'; +import 'package:tallee/core/adaptive_page_route.dart'; +import 'package:tallee/core/custom_theme.dart'; +import 'package:tallee/data/db/database.dart'; +import 'package:tallee/data/dto/match.dart'; +import 'package:tallee/data/dto/player.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; +import 'package:tallee/presentation/views/main_menu/match_view/create_match/create_match_view.dart'; +import 'package:tallee/presentation/views/main_menu/match_view/match_result_view.dart'; +import 'package:tallee/presentation/widgets/buttons/animated_dialog_button.dart'; +import 'package:tallee/presentation/widgets/buttons/main_menu_button.dart'; +import 'package:tallee/presentation/widgets/colored_icon_container.dart'; +import 'package:tallee/presentation/widgets/custom_alert_dialog.dart'; +import 'package:tallee/presentation/widgets/tiles/info_tile.dart'; +import 'package:tallee/presentation/widgets/tiles/text_icon_tile.dart'; class MatchDetailView extends StatefulWidget { /// A view that displays the profile of a match @@ -81,7 +81,9 @@ class _MatchDetailViewState extends State { onPressed: () => Navigator.of(context).pop(true), child: Text( loc.delete, - style: TextStyle(color: CustomTheme.secondaryColor), + style: const TextStyle( + color: CustomTheme.secondaryColor, + ), ), ), ], diff --git a/lib/presentation/views/main_menu/match_view/match_view.dart b/lib/presentation/views/main_menu/match_view/match_view.dart index 4929f0c..c6abd2b 100644 --- a/lib/presentation/views/main_menu/match_view/match_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_view.dart @@ -12,7 +12,7 @@ import 'package:tallee/data/dto/match.dart'; import 'package:tallee/data/dto/player.dart'; import 'package:tallee/l10n/generated/app_localizations.dart'; import 'package:tallee/presentation/views/main_menu/match_view/create_match/create_match_view.dart'; -import 'package:tallee/presentation/views/main_menu/match_view/match_result_view.dart'; +import 'package:tallee/presentation/views/main_menu/match_view/match_detail_view.dart'; import 'package:tallee/presentation/widgets/app_skeleton.dart'; import 'package:tallee/presentation/widgets/buttons/main_menu_button.dart'; import 'package:tallee/presentation/widgets/tiles/match_tile.dart'; From b84a8937065b38f70bd4361fae663d6c58b57e1c Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Mon, 23 Feb 2026 21:35:26 +0100 Subject: [PATCH 161/198] Typo --- .../views/main_menu/custom_navigation_bar.dart | 2 +- .../views/main_menu/group_view/group_view.dart | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/presentation/views/main_menu/custom_navigation_bar.dart b/lib/presentation/views/main_menu/custom_navigation_bar.dart index cbea02a..508463d 100644 --- a/lib/presentation/views/main_menu/custom_navigation_bar.dart +++ b/lib/presentation/views/main_menu/custom_navigation_bar.dart @@ -38,7 +38,7 @@ class _CustomNavigationBarState extends State ), KeyedSubtree( key: ValueKey('groups_$tabKeyCount'), - child: const GroupsView(), + child: const GroupView(), ), KeyedSubtree( key: ValueKey('stats_$tabKeyCount'), diff --git a/lib/presentation/views/main_menu/group_view/group_view.dart b/lib/presentation/views/main_menu/group_view/group_view.dart index cf6f550..92d4489 100644 --- a/lib/presentation/views/main_menu/group_view/group_view.dart +++ b/lib/presentation/views/main_menu/group_view/group_view.dart @@ -14,15 +14,15 @@ import 'package:tallee/presentation/widgets/buttons/main_menu_button.dart'; import 'package:tallee/presentation/widgets/tiles/group_tile.dart'; import 'package:tallee/presentation/widgets/top_centered_message.dart'; -class GroupsView extends StatefulWidget { +class GroupView extends StatefulWidget { /// A view that displays a list of groups - const GroupsView({super.key}); + const GroupView({super.key}); @override - State createState() => _GroupsViewState(); + State createState() => _GroupViewState(); } -class _GroupsViewState extends State { +class _GroupViewState extends State { late final AppDatabase db; /// Loaded groups from the database From f07103a5163ed277c8ed9452a547e9ede9e06bca Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Tue, 24 Feb 2026 17:49:24 +0100 Subject: [PATCH 162/198] Fixed theme issue --- lib/main.dart | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 0002531..8818444 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -40,10 +40,17 @@ class GameTracker extends StatelessWidget { primaryColor: CustomTheme.primaryColor, scaffoldBackgroundColor: CustomTheme.backgroundColor, appBarTheme: CustomTheme.appBarTheme, - colorScheme: ColorScheme.fromSeed( - seedColor: CustomTheme.primaryColor, + colorScheme: const ColorScheme( brightness: Brightness.dark, - ).copyWith(surface: CustomTheme.backgroundColor), + primary: CustomTheme.primaryColor, + onPrimary: CustomTheme.textColor, + secondary: CustomTheme.textColor, + onSecondary: Color(0xFF000000), + error: Color(0xFFFF0000), + onError: CustomTheme.textColor, + surface: CustomTheme.backgroundColor, + onSurface: CustomTheme.textColor, + ), pageTransitionsTheme: const PageTransitionsTheme( builders: { TargetPlatform.iOS: CupertinoPageTransitionsBuilder(), From e71943f6e2f09f3203ff1220c12f6974f4120b1c Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Tue, 24 Feb 2026 18:01:10 +0100 Subject: [PATCH 163/198] Implemented Radio Theme --- lib/main.dart | 15 ++++++++++----- .../widgets/tiles/custom_radio_list_tile.dart | 6 +----- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 8818444..ab0f34d 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -40,14 +40,19 @@ class GameTracker extends StatelessWidget { primaryColor: CustomTheme.primaryColor, scaffoldBackgroundColor: CustomTheme.backgroundColor, appBarTheme: CustomTheme.appBarTheme, - colorScheme: const ColorScheme( + radioTheme: RadioThemeData( + fillColor: WidgetStateProperty.resolveWith((states) { + if (states.contains(WidgetState.selected)) { + return CustomTheme.primaryColor; + } + return CustomTheme.textColor; + }), + ), + colorScheme: ColorScheme.fromSeed( + seedColor: CustomTheme.primaryColor, brightness: Brightness.dark, primary: CustomTheme.primaryColor, onPrimary: CustomTheme.textColor, - secondary: CustomTheme.textColor, - onSecondary: Color(0xFF000000), - error: Color(0xFFFF0000), - onError: CustomTheme.textColor, surface: CustomTheme.backgroundColor, onSurface: CustomTheme.textColor, ), diff --git a/lib/presentation/widgets/tiles/custom_radio_list_tile.dart b/lib/presentation/widgets/tiles/custom_radio_list_tile.dart index 53d0a03..5559d10 100644 --- a/lib/presentation/widgets/tiles/custom_radio_list_tile.dart +++ b/lib/presentation/widgets/tiles/custom_radio_list_tile.dart @@ -36,11 +36,7 @@ class CustomRadioListTile extends StatelessWidget { ), child: Row( children: [ - Radio( - value: value, - activeColor: CustomTheme.primaryColor, - toggleable: true, - ), + Radio(value: value, toggleable: true), Expanded( child: Text( text, From 866f79998c801fb5b803b407978a537bf796995b Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Wed, 4 Mar 2026 13:35:04 +0100 Subject: [PATCH 164/198] set description default --- lib/data/dto/game.dart | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/data/dto/game.dart b/lib/data/dto/game.dart index 437d98e..2eeee1e 100644 --- a/lib/data/dto/game.dart +++ b/lib/data/dto/game.dart @@ -16,11 +16,12 @@ class Game { DateTime? createdAt, required this.name, required this.ruleset, - required this.description, + String? description, required this.color, required this.icon, }) : id = id ?? const Uuid().v4(), - createdAt = createdAt ?? clock.now(); + createdAt = createdAt ?? clock.now(), + description = description ?? ''; @override String toString() { From 5094554475a2f80242627c609aa54babb9560c52 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Wed, 4 Mar 2026 13:35:18 +0100 Subject: [PATCH 165/198] set description default --- lib/data/dto/group.dart | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/data/dto/group.dart b/lib/data/dto/group.dart index 0738417..7676b1e 100644 --- a/lib/data/dto/group.dart +++ b/lib/data/dto/group.dart @@ -13,10 +13,11 @@ class Group { String? id, DateTime? createdAt, required this.name, - required this.description, + String? description, required this.members, }) : id = id ?? const Uuid().v4(), - createdAt = createdAt ?? clock.now(); + createdAt = createdAt ?? clock.now(), + description = description ?? ''; @override String toString() { From f04d57382ccc0afe97078be993af1a5071dc377d Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Wed, 4 Mar 2026 13:35:43 +0100 Subject: [PATCH 166/198] set notes default --- lib/data/dto/match.dart | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/data/dto/match.dart b/lib/data/dto/match.dart index 31f45fc..3976d36 100644 --- a/lib/data/dto/match.dart +++ b/lib/data/dto/match.dart @@ -24,10 +24,11 @@ class Match { required this.game, this.group, this.players = const [], - required this.notes, + String? notes, this.winner, }) : id = id ?? const Uuid().v4(), - createdAt = createdAt ?? clock.now(); + createdAt = createdAt ?? clock.now(), + notes = notes ?? ''; @override String toString() { From 5d45339337e2d9b0731063901a3234148272f199 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Wed, 4 Mar 2026 13:36:07 +0100 Subject: [PATCH 167/198] set notes default --- lib/data/dto/player.dart | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/data/dto/player.dart b/lib/data/dto/player.dart index 13e4123..c405de9 100644 --- a/lib/data/dto/player.dart +++ b/lib/data/dto/player.dart @@ -11,9 +11,10 @@ class Player { String? id, DateTime? createdAt, required this.name, - required this.description, + String? description, }) : id = id ?? const Uuid().v4(), - createdAt = createdAt ?? clock.now(); + createdAt = createdAt ?? clock.now(), + description = description ?? ''; @override String toString() { From 5b8dd6adb2cd789b619aeb01691450b217755157 Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Wed, 4 Mar 2026 19:02:47 +0000 Subject: [PATCH 168/198] Updated version number [skip ci] --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index f3a50e3..e13f0cc 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: tallee description: "Tracking App for Card Games" publish_to: 'none' -version: 0.0.16+250 +version: 0.0.17+251 environment: sdk: ^3.8.1 From 5ed35362acc6b3d28df523bcf88a8115de367568 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Thu, 5 Mar 2026 12:25:01 +0100 Subject: [PATCH 169/198] Fix: Setting & fetching winner --- lib/data/dao/match_dao.dart | 117 ++++++++++++++++++++---------------- 1 file changed, 66 insertions(+), 51 deletions(-) diff --git a/lib/data/dao/match_dao.dart b/lib/data/dao/match_dao.dart index 5726df5..cc30b03 100644 --- a/lib/data/dao/match_dao.dart +++ b/lib/data/dao/match_dao.dart @@ -27,9 +27,9 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { if (row.groupId != null) { group = await db.groupDao.getGroupById(groupId: row.groupId!); } - final players = await db.playerMatchDao.getPlayersOfMatch( - matchId: row.id, - ) ?? []; + final players = + await db.playerMatchDao.getPlayersOfMatch(matchId: row.id) ?? []; + final winner = await getWinner(matchId: row.id); return Match( id: row.id, name: row.name ?? '', @@ -39,6 +39,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { notes: row.notes ?? '', createdAt: row.createdAt, endedAt: row.endedAt, + winner: winner, ); }), ); @@ -56,7 +57,10 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { group = await db.groupDao.getGroupById(groupId: result.groupId!); } - final players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId) ?? []; + final players = + await db.playerMatchDao.getPlayersOfMatch(matchId: matchId) ?? []; + + final winner = await getWinner(matchId: matchId); return Match( id: result.id, @@ -67,6 +71,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { notes: result.notes ?? '', createdAt: result.createdAt, endedAt: result.endedAt, + winner: winner, ); } @@ -94,6 +99,10 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { playerId: p.id, ); } + + if (match.winner != null) { + await setWinner(matchId: match.id, winnerId: match.winner!.id); + } }); } @@ -112,20 +121,20 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { if (uniqueGames.isNotEmpty) { await db.batch( - (b) => b.insertAll( + (b) => b.insertAll( db.gameTable, uniqueGames.values .map( (game) => GameTableCompanion.insert( - id: game.id, - name: game.name, - ruleset: game.ruleset.name, - description: game.description, - color: game.color.name, - icon: game.icon, - createdAt: game.createdAt, - ), - ) + id: game.id, + name: game.name, + ruleset: game.ruleset.name, + description: game.description, + color: game.color.name, + icon: game.icon, + createdAt: game.createdAt, + ), + ) .toList(), mode: InsertMode.insertOrIgnore, ), @@ -134,18 +143,18 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { // Add all groups of the matches in batch await db.batch( - (b) => b.insertAll( + (b) => b.insertAll( db.groupTable, matches .where((match) => match.group != null) .map( (match) => GroupTableCompanion.insert( - id: match.group!.id, - name: match.group!.name, - description: match.group!.description, - createdAt: match.group!.createdAt, - ), - ) + id: match.group!.id, + name: match.group!.name, + description: match.group!.description, + createdAt: match.group!.createdAt, + ), + ) .toList(), mode: InsertMode.insertOrIgnore, ), @@ -153,20 +162,20 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { // Add all matches in batch await db.batch( - (b) => b.insertAll( + (b) => b.insertAll( matchTable, matches .map( (match) => MatchTableCompanion.insert( - id: match.id, - gameId: match.game.id, - groupId: Value(match.group?.id), - name: Value(match.name), - notes: Value(match.notes), - createdAt: match.createdAt, - endedAt: Value(match.endedAt), - ), - ) + id: match.id, + gameId: match.game.id, + groupId: Value(match.group?.id), + name: Value(match.name), + notes: Value(match.notes), + createdAt: match.createdAt, + endedAt: Value(match.endedAt), + ), + ) .toList(), mode: InsertMode.insertOrReplace, ), @@ -188,17 +197,17 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { if (uniquePlayers.isNotEmpty) { await db.batch( - (b) => b.insertAll( + (b) => b.insertAll( db.playerTable, uniquePlayers.values .map( (p) => PlayerTableCompanion.insert( - id: p.id, - name: p.name, - description: p.description, - createdAt: p.createdAt, - ), - ) + id: p.id, + name: p.name, + description: p.description, + createdAt: p.createdAt, + ), + ) .toList(), mode: InsertMode.insertOrIgnore, ), @@ -253,9 +262,9 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { /// Retrieves the number of matches in the database. Future getMatchCount() async { final count = - await (selectOnly(matchTable)..addColumns([matchTable.id.count()])) - .map((row) => row.read(matchTable.id.count())) - .getSingle(); + await (selectOnly(matchTable)..addColumns([matchTable.id.count()])) + .map((row) => row.read(matchTable.id.count())) + .getSingle(); return count ?? 0; } @@ -315,15 +324,16 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { } /// Updates the group of the match with the given [matchId]. + /// Replaces the existing group association with the new group specified by [newGroupId]. /// Pass null to remove the group association. /// Returns `true` if more than 0 rows were affected, otherwise `false`. Future updateMatchGroup({ required String matchId, - required String? groupId, + required String? newGroupId, }) async { final query = update(matchTable)..where((g) => g.id.equals(matchId)); final rowsAffected = await query.write( - MatchTableCompanion(groupId: Value(groupId)), + MatchTableCompanion(groupId: Value(newGroupId)), ); return rowsAffected > 0; } @@ -379,10 +389,12 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { // Add the new players to the match await Future.wait( - newPlayers.map((player) => db.playerMatchDao.addPlayerToMatch( - matchId: matchId, - playerId: player.id, - )), + newPlayers.map( + (player) => db.playerMatchDao.addPlayerToMatch( + matchId: matchId, + playerId: player.id, + ), + ), ); }); } @@ -394,7 +406,8 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { /// Checks if a match has a winner. /// Returns true if any player in the match has their score set to 1. Future hasWinner({required String matchId}) async { - final players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId) ?? []; + final players = + await db.playerMatchDao.getPlayersOfMatch(matchId: matchId) ?? []; for (final player in players) { final score = await db.playerMatchDao.getPlayerScore( @@ -411,7 +424,8 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { /// Gets the winner of a match. /// Returns the player with score 1, or null if no winner is set. Future getWinner({required String matchId}) async { - final players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId) ?? []; + final players = + await db.playerMatchDao.getPlayersOfMatch(matchId: matchId) ?? []; for (final player in players) { final score = await db.playerMatchDao.getPlayerScore( @@ -433,7 +447,8 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { required String winnerId, }) async { await db.transaction(() async { - final players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId) ?? []; + final players = + await db.playerMatchDao.getPlayersOfMatch(matchId: matchId) ?? []; // Set all players' scores to 0 for (final player in players) { @@ -470,4 +485,4 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { ); return success; } -} \ No newline at end of file +} From 37955c5701bb3c180baedf7a4960b2a8378ba7ab Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Thu, 5 Mar 2026 12:25:09 +0100 Subject: [PATCH 170/198] test: Setting & fetching winner --- test/db_tests/aggregates/match_test.dart | 49 ++++++++++++++++++------ 1 file changed, 37 insertions(+), 12 deletions(-) diff --git a/test/db_tests/aggregates/match_test.dart b/test/db_tests/aggregates/match_test.dart index 0718e0d..ea80369 100644 --- a/test/db_tests/aggregates/match_test.dart +++ b/test/db_tests/aggregates/match_test.dart @@ -1,13 +1,13 @@ import 'package:clock/clock.dart'; -import 'package:drift/drift.dart'; +import 'package:drift/drift.dart' hide isNotNull; import 'package:drift/native.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:tallee/core/enums.dart'; import 'package:tallee/data/db/database.dart'; import 'package:tallee/data/dto/game.dart'; import 'package:tallee/data/dto/group.dart'; import 'package:tallee/data/dto/match.dart'; import 'package:tallee/data/dto/player.dart'; -import 'package:tallee/core/enums.dart'; void main() { late AppDatabase database; @@ -51,7 +51,13 @@ void main() { description: '', members: [testPlayer4, testPlayer5], ); - testGame = Game(name: 'Test Game', ruleset: Ruleset.singleWinner, description: 'A test game', color: GameColor.blue, icon: ''); + testGame = Game( + name: 'Test Game', + ruleset: Ruleset.singleWinner, + description: 'A test game', + color: GameColor.blue, + icon: '', + ); testMatch1 = Match( name: 'First Test Match', game: testGame, @@ -99,7 +105,6 @@ void main() { }); group('Match Tests', () { - // Verifies that a single match can be added and retrieved with all fields, group, and players intact. test('Adding and fetching single match works correctly', () async { await database.matchDao.addMatch(match: testMatch1); @@ -127,10 +132,7 @@ void main() { for (int i = 0; i < testMatch1.players.length; i++) { expect(result.players[i].id, testMatch1.players[i].id); expect(result.players[i].name, testMatch1.players[i].name); - expect( - result.players[i].createdAt, - testMatch1.players[i].createdAt, - ); + expect(result.players[i].createdAt, testMatch1.players[i].createdAt); } }); @@ -191,10 +193,7 @@ void main() { for (int i = 0; i < testMatch.players.length; i++) { expect(match.players[i].id, testMatch.players[i].id); expect(match.players[i].name, testMatch.players[i].name); - expect( - match.players[i].createdAt, - testMatch.players[i].createdAt, - ); + expect(match.players[i].createdAt, testMatch.players[i].createdAt); } } }); @@ -282,5 +281,31 @@ void main() { ); expect(fetchedMatch.name, newName); }); + + test('Fetching a winner works correctly', () async { + await database.matchDao.addMatch(match: testMatch1); + + var fetchedMatch = await database.matchDao.getMatchById( + matchId: testMatch1.id, + ); + + expect(fetchedMatch.winner, isNotNull); + expect(fetchedMatch.winner!.id, testPlayer4.id); + }); + + test('Setting a winner works correctly', () async { + await database.matchDao.addMatch(match: testMatch1); + + await database.matchDao.setWinner( + matchId: testMatch1.id, + winnerId: testPlayer5.id, + ); + + final fetchedMatch = await database.matchDao.getMatchById( + matchId: testMatch1.id, + ); + expect(fetchedMatch.winner, isNotNull); + expect(fetchedMatch.winner!.id, testPlayer5.id); + }); }); } From f9edf64e83fc4177c3269d74b4e96bc69549d6cf Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Thu, 5 Mar 2026 22:21:50 +0100 Subject: [PATCH 171/198] Small changes --- .../views/main_menu/match_view/match_view.dart | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/presentation/views/main_menu/match_view/match_view.dart b/lib/presentation/views/main_menu/match_view/match_view.dart index 7741e29..e5a4e29 100644 --- a/lib/presentation/views/main_menu/match_view/match_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_view.dart @@ -1,5 +1,3 @@ -import 'dart:core' hide Match; - import 'package:flutter/material.dart'; import 'package:fluttericon/rpg_awesome_icons.dart'; import 'package:provider/provider.dart'; @@ -38,7 +36,13 @@ class _MatchViewState extends State { 4, Match( name: 'Skeleton match name', - game: Game(name: '', ruleset: Ruleset.singleWinner, description: '', color: GameColor.blue, icon: ''), + game: Game( + name: '', + ruleset: Ruleset.singleWinner, + description: '', + color: GameColor.blue, + icon: '', + ), group: Group( name: 'Group name', description: '', @@ -96,7 +100,7 @@ class _MatchViewState extends State { adaptivePageRoute( builder: (context) => MatchDetailView( match: matches[index], - callback: loadGames, + onMatchUpdate: loadGames, ), ), ); From 89ad6824e6fa747d388196918f5146e257d0a318 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Thu, 5 Mar 2026 22:22:13 +0100 Subject: [PATCH 172/198] Added import, removed unessecary player add --- lib/presentation/widgets/tiles/match_tile.dart | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/lib/presentation/widgets/tiles/match_tile.dart b/lib/presentation/widgets/tiles/match_tile.dart index 7862000..ddc7887 100644 --- a/lib/presentation/widgets/tiles/match_tile.dart +++ b/lib/presentation/widgets/tiles/match_tile.dart @@ -1,3 +1,5 @@ +import 'dart:core' hide Match; + import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'package:tallee/core/custom_theme.dart'; @@ -248,16 +250,6 @@ class _MatchTileState extends State { } } - // Add players from game.group.players - if (widget.match.group?.members != null) { - for (var player in widget.match.group!.members) { - if (!playerIds.contains(player.id)) { - allPlayers.add(player); - playerIds.add(player.id); - } - } - } - allPlayers.sort((a, b) => a.name.compareTo(b.name)); return allPlayers; } From 8bd251ac7d09786c4b1527d5feb9322a3ec60534 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Thu, 5 Mar 2026 22:24:14 +0100 Subject: [PATCH 173/198] Fixed match result view with new db --- .../views/main_menu/match_view/match_result_view.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/presentation/views/main_menu/match_view/match_result_view.dart b/lib/presentation/views/main_menu/match_view/match_result_view.dart index 820dcca..3d4587e 100644 --- a/lib/presentation/views/main_menu/match_view/match_result_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_result_view.dart @@ -35,7 +35,10 @@ class _MatchResultViewState extends State { @override void initState() { db = Provider.of(context, listen: false); - allPlayers = getAllPlayers(widget.match); + + allPlayers = widget.match.players; + allPlayers.sort((a, b) => a.name.compareTo(b.name)); + if (widget.match.winner != null) { _selectedPlayer = allPlayers.firstWhere( (p) => p.id == widget.match.winner!.id, From b68c570d47c49bb3eb19e9d08c56a0b3124f998d Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Fri, 6 Mar 2026 16:49:56 +0100 Subject: [PATCH 174/198] Fixed issues with match.players including group.members, added callback --- .../match_view/match_detail_view.dart | 74 ++++++++++--------- 1 file changed, 41 insertions(+), 33 deletions(-) diff --git a/lib/presentation/views/main_menu/match_view/match_detail_view.dart b/lib/presentation/views/main_menu/match_view/match_detail_view.dart index 6336bd0..4ce66da 100644 --- a/lib/presentation/views/main_menu/match_view/match_detail_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_detail_view.dart @@ -19,18 +19,18 @@ import 'package:tallee/presentation/widgets/tiles/text_icon_tile.dart'; class MatchDetailView extends StatefulWidget { /// A view that displays the profile of a match /// - [match]: The match to display - /// - [callback]: Callback to refresh the match list + /// - [onMatchUpdate]: Callback to refresh the match list const MatchDetailView({ super.key, required this.match, - required this.callback, + required this.onMatchUpdate, }); /// The match to display final Match match; /// Callback to refresh the match list - final VoidCallback callback; + final VoidCallback onMatchUpdate; @override State createState() => _MatchDetailViewState(); @@ -41,15 +41,14 @@ class _MatchDetailViewState extends State { late Player? currentWinner; - /// All players who participated in the match - late final List allPlayers; + late Match match; @override void initState() { super.initState(); db = Provider.of(context, listen: false); - allPlayers = _getAllPlayers(); currentWinner = widget.match.winner; + match = widget.match; } @override @@ -90,10 +89,10 @@ class _MatchDetailViewState extends State { ), ).then((confirmed) async { if (confirmed! && context.mounted) { - await db.matchDao.deleteMatch(matchId: widget.match.id); + await db.matchDao.deleteMatch(matchId: match.id); if (!context.mounted) return; Navigator.pop(context); - widget.callback.call(); + widget.onMatchUpdate.call(); } }); }, @@ -121,7 +120,7 @@ class _MatchDetailViewState extends State { ), const SizedBox(height: 10), Text( - widget.match.name, + match.name, style: const TextStyle( fontSize: 28, fontWeight: FontWeight.bold, @@ -131,7 +130,7 @@ class _MatchDetailViewState extends State { ), const SizedBox(height: 5), Text( - '${loc.created_on} ${DateFormat.yMMMd(Localizations.localeOf(context).toString()).format(widget.match.createdAt)}', + '${loc.created_on} ${DateFormat.yMMMd(Localizations.localeOf(context).toString()).format(match.createdAt)}', style: const TextStyle( fontSize: 12, color: CustomTheme.textColor, @@ -139,7 +138,7 @@ class _MatchDetailViewState extends State { textAlign: TextAlign.center, ), const SizedBox(height: 10), - if (widget.match.group != null) ...[ + if (match.group != null) ...[ Row( mainAxisAlignment: MainAxisAlignment.center, children: [ @@ -147,7 +146,7 @@ class _MatchDetailViewState extends State { const SizedBox(width: 8), Text( // TODO: Update after DB changes - '${widget.match.group!.name} ${widget.match.players != null ? '+ ${widget.match.players!.length}' : ''}', + '${match.group!.name}${getExtraPlayerCount()}', style: const TextStyle(fontWeight: FontWeight.bold), ), ], @@ -163,7 +162,7 @@ class _MatchDetailViewState extends State { crossAxisAlignment: WrapCrossAlignment.start, spacing: 12, runSpacing: 8, - children: allPlayers.map((player) { + children: match.players.map((player) { return TextIconTile( text: player.name, iconEnabled: false, @@ -197,7 +196,7 @@ class _MatchDetailViewState extends State { style: TextStyle( fontSize: 16, fontWeight: FontWeight.bold, - color: widget.match.winner != null + color: match.winner != null ? CustomTheme.primaryColor : CustomTheme.textColor, ), @@ -227,8 +226,10 @@ class _MatchDetailViewState extends State { context, adaptivePageRoute( fullscreenDialog: true, - builder: (context) => - CreateMatchView(match: widget.match), + builder: (context) => CreateMatchView( + match: match, + onMatchUpdated: onMatchUpdated, + ), ), ), ), @@ -242,9 +243,9 @@ class _MatchDetailViewState extends State { adaptivePageRoute( fullscreenDialog: true, builder: (context) => MatchResultView( - match: widget.match, + match: match, onWinnerChanged: () { - widget.callback.call(); + widget.onMatchUpdate.call(); setState(() {}); }, ), @@ -261,25 +262,32 @@ class _MatchDetailViewState extends State { ); } - /// Gets all players who participated in the match (from group and individual players) - List _getAllPlayers() { - final List players = []; + /// Counts how many players in the match are not part of the group + /// Returns the count as a string, or an empty string if there is no group + String getExtraPlayerCount() { + int count = 0; - // Add group members if group exists - if (widget.match.group != null) { - players.addAll(widget.match.group!.members); - } + final groupMembers = match.group!.members; + final players = match.players; - // Add individual players - if (widget.match.players != null) { - for (var player in widget.match.players!) { - // Avoid duplicates - if (!players.any((p) => p.id == player.id)) { - players.add(player); - } + for (var player in players) { + if (!groupMembers.any((member) => member.id == player.id)) { + count++; } } - return players; + if (count == 0) { + return ''; + } + return ' + ${count.toString()}'; + } + + /// Callback for when the match is updated in the edit view, + /// updates the match in this view + onMatchUpdated(editedMatch) { + setState(() { + match = editedMatch; + }); + widget.onMatchUpdate.call(); } } From f07532c1e2fbb48dc793294e393c6ccf81acc902 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Fri, 6 Mar 2026 16:51:01 +0100 Subject: [PATCH 175/198] Fix: Added correct localizations --- lib/l10n/arb/app_de.arb | 3 +-- lib/l10n/arb/app_en.arb | 4 ++++ lib/l10n/generated/app_localizations.dart | 6 ++++++ lib/l10n/generated/app_localizations_de.dart | 5 ++++- lib/l10n/generated/app_localizations_en.dart | 3 +++ 5 files changed, 18 insertions(+), 3 deletions(-) diff --git a/lib/l10n/arb/app_de.arb b/lib/l10n/arb/app_de.arb index 1995e19..cec565c 100644 --- a/lib/l10n/arb/app_de.arb +++ b/lib/l10n/arb/app_de.arb @@ -23,10 +23,9 @@ "delete": "Löschen", "delete_all_data": "Alle Daten löschen", "delete_group": "Diese Gruppe löschen", - "edit_group": "Gruppe bearbeiten", - "delete_group": "Gruppe löschen", "delete_match": "Spiel löschen", "edit_group": "Gruppe bearbeiten", + "edit_match": "Gruppe bearbeiten", "enter_results": "Ergebnisse eintragen", "error_creating_group": "Fehler beim Erstellen der Gruppe, bitte erneut versuchen", "error_deleting_group": "Fehler beim Löschen der Gruppe, bitte erneut versuchen", diff --git a/lib/l10n/arb/app_en.arb b/lib/l10n/arb/app_en.arb index c56d5de..aea47f7 100644 --- a/lib/l10n/arb/app_en.arb +++ b/lib/l10n/arb/app_en.arb @@ -80,6 +80,9 @@ "@edit_group": { "description": "Button & Appbar label for editing a group" }, + "@edit_match": { + "description": "Button & Appbar label for editing a match" + }, "@enter_results": { "description": "Button text to enter match results" }, @@ -347,6 +350,7 @@ "delete_group": "Delete Group", "delete_match": "Delete Match", "edit_group": "Edit Group", + "edit_match": "Edit Match", "enter_results": "Enter Results", "error_creating_group": "Error while creating group, please try again", "error_deleting_group": "Error while deleting group, please try again", diff --git a/lib/l10n/generated/app_localizations.dart b/lib/l10n/generated/app_localizations.dart index 7dd5eb3..586ac30 100644 --- a/lib/l10n/generated/app_localizations.dart +++ b/lib/l10n/generated/app_localizations.dart @@ -248,6 +248,12 @@ abstract class AppLocalizations { /// **'Edit Group'** String get edit_group; + /// No description provided for @edit_match. + /// + /// In en, this message translates to: + /// **'Edit Match'** + String get edit_match; + /// Button text to enter match results /// /// In en, this message translates to: diff --git a/lib/l10n/generated/app_localizations_de.dart b/lib/l10n/generated/app_localizations_de.dart index bf7a628..501f9c6 100644 --- a/lib/l10n/generated/app_localizations_de.dart +++ b/lib/l10n/generated/app_localizations_de.dart @@ -79,7 +79,7 @@ class AppLocalizationsDe extends AppLocalizations { String get delete_all_data => 'Alle Daten löschen'; @override - String get delete_group => 'Gruppe löschen'; + String get delete_group => 'Diese Gruppe löschen'; @override String get delete_match => 'Spiel löschen'; @@ -87,6 +87,9 @@ class AppLocalizationsDe extends AppLocalizations { @override String get edit_group => 'Gruppe bearbeiten'; + @override + String get edit_match => 'Gruppe bearbeiten'; + @override String get enter_results => 'Ergebnisse eintragen'; diff --git a/lib/l10n/generated/app_localizations_en.dart b/lib/l10n/generated/app_localizations_en.dart index 348b37e..cdebc69 100644 --- a/lib/l10n/generated/app_localizations_en.dart +++ b/lib/l10n/generated/app_localizations_en.dart @@ -87,6 +87,9 @@ class AppLocalizationsEn extends AppLocalizations { @override String get edit_group => 'Edit Group'; + @override + String get edit_match => 'Edit Match'; + @override String get enter_results => 'Enter Results'; From cff95aff00bfb18aee1ce0089102d291715388ae Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Fri, 6 Mar 2026 16:51:26 +0100 Subject: [PATCH 176/198] Updated view aligning with new database --- .../create_match/create_match_view.dart | 255 ++++++++++++------ 1 file changed, 177 insertions(+), 78 deletions(-) diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index e8ba856..ef843e9 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -21,11 +21,19 @@ import 'package:tallee/presentation/widgets/tiles/choose_tile.dart'; class CreateMatchView extends StatefulWidget { /// A view that allows creating a new match /// [onWinnerChanged]: Optional callback invoked when the winner is changed - const CreateMatchView({super.key, this.onWinnerChanged, this.match}); + const CreateMatchView({ + super.key, + this.onWinnerChanged, + this.match, + this.onMatchUpdated, + }); /// Optional callback invoked when the winner is changed final VoidCallback? onWinnerChanged; + /// Optional callback invoked when the match is updated + final void Function(Match)? onMatchUpdated; + /// An optional match to prefill the fields final Match? match; @@ -52,15 +60,11 @@ class _CreateMatchViewState extends State { /// If a group is selected, this list contains all players from [playerList] /// who are not members of the selected group. If no group is selected, /// this list is identical to [playerList]. - List filteredPlayerList = []; + /*List filteredPlayerList = [];*/ /// The currently selected group Group? selectedGroup; - /// The index of the currently selected group in [groupsList] to mark it in - /// the [ChooseGroupView] - String selectedGroupId = ''; - /// The index of the currently selected game in [games] to mark it in /// the [ChooseGameView] int selectedGameIndex = -1; @@ -86,24 +90,12 @@ class _CreateMatchViewState extends State { ]).then((result) async { groupsList = result[0] as List; playerList = result[1] as List; - setState(() { - filteredPlayerList = List.from(playerList); - }); - }); - // If a match is provided, prefill the fields - if (widget.match != null) { - final match = widget.match!; - _matchNameController.text = match.name; - selectedGroup = match.group; - selectedGroupId = match.group?.id ?? ''; - selectedPlayers = match.players ?? []; - if (selectedGroup != null) { - filteredPlayerList = playerList - .where((p) => !selectedGroup!.members.any((m) => m.id == p.id)) - .toList(); + // If a match is provided, prefill the fields + if (widget.match != null) { + prefillMatchDetails(); } - } + }); } @override @@ -130,13 +122,16 @@ class _CreateMatchViewState extends State { final buttonText = widget.match != null ? loc.save_changes : loc.create_match; + final viewTitle = widget.match != null + ? loc.edit_match + : loc.create_new_match; return ScaffoldMessenger( key: _scaffoldMessengerKey, child: Scaffold( resizeToAvoidBottomInset: false, backgroundColor: CustomTheme.backgroundColor, - appBar: AppBar(title: Text(loc.create_new_match)), + appBar: AppBar(title: Text(viewTitle)), body: SafeArea( child: Column( mainAxisAlignment: MainAxisAlignment.start, @@ -178,36 +173,43 @@ class _CreateMatchViewState extends State { ? loc.none_group : selectedGroup!.name, onPressed: () async { + // Remove all players from the previously selected group from + // the selected players list, in case the user deselects the + // group or selects a different group. + selectedPlayers.removeWhere( + (player) => + selectedGroup?.members.any( + (member) => member.id == player.id, + ) ?? + false, + ); + selectedGroup = await Navigator.of(context).push( adaptivePageRoute( builder: (context) => ChooseGroupView( groups: groupsList, - initialGroupId: selectedGroupId, + initialGroupId: selectedGroup?.id ?? '', ), ), ); - selectedGroupId = selectedGroup?.id ?? ''; - if (selectedGroup != null) { - filteredPlayerList = playerList - .where( - (p) => - !selectedGroup!.members.any((m) => m.id == p.id), - ) - .toList(); - } else { - filteredPlayerList = List.from(playerList); - } - setState(() {}); + + setState(() { + if (selectedGroup != null) { + setState(() { + selectedPlayers = [...selectedGroup!.members]; + }); + } + }); }, ), Expanded( child: PlayerSelection( key: ValueKey(selectedGroup?.id ?? 'no_group'), initialSelectedPlayers: selectedPlayers, - availablePlayers: filteredPlayerList, onChanged: (value) { setState(() { selectedPlayers = value; + removeGroupWhenNoMemberLeft(); }); }, ), @@ -235,51 +237,22 @@ class _CreateMatchViewState extends State { /// - A ruleset is selected AND /// - Either a group is selected OR at least 2 players are selected bool _enableCreateGameButton() { - return (selectedGroup != null || - (selectedPlayers.length > 1)); + return (selectedGroup != null || (selectedPlayers.length > 1)); } + // If a match was provied to the view, it updates the match in the database + // and navigates back to the previous screen. + // If no match was provided, it creates a new match in the database and + // navigates to the MatchResultView for the newly created match. void buttonNavigation(BuildContext context) async { - // Use a game from the games list - Game? gameToUse; - if (selectedGameIndex == -1) { - // Use the first game as default if none selected - final selectedGame = games[0]; - gameToUse = Game( - name: selectedGame.$1, - description: selectedGame.$2, - ruleset: selectedGame.$3, - color: GameColor.blue, - icon: '', - ); - } else { - // Use the selected game from the list - final selectedGame = games[selectedGameIndex]; - gameToUse = Game( - name: selectedGame.$1, - description: selectedGame.$2, - ruleset: selectedGame.$3, - color: GameColor.blue, - icon: '', - ); - } - // Add the game to the database if it doesn't exist - await db.gameDao.addGame(game: gameToUse); - if (widget.match != null) { - // TODO: Implement updating match logic here - Navigator.pop(context); + await updateMatch(); + if (context.mounted) { + Navigator.pop(context); + } } else { - Match match = Match( - name: _matchNameController.text.isEmpty - ? (hintText ?? '') - : _matchNameController.text.trim(), - createdAt: DateTime.now(), - group: selectedGroup, - players: selectedPlayers, - game: gameToUse - ); - await db.matchDao.addMatch(match: match); + final match = await createMatch(); + if (context.mounted) { Navigator.pushReplacement( context, @@ -294,4 +267,130 @@ class _CreateMatchViewState extends State { } } } -} \ No newline at end of file + + /// Updates attributes of the existing match in the database based on the + /// changes made in the edit view. + Future updateMatch() async { + //TODO: Remove when Games implemented + final tempGame = await getTemporaryGame(); + + final updatedMatch = Match( + id: widget.match!.id, + name: _matchNameController.text.isEmpty + ? (hintText ?? '') + : _matchNameController.text.trim(), + group: selectedGroup, + players: selectedPlayers, + game: tempGame, + ); + + if (widget.match!.name != updatedMatch.name) { + await db.matchDao.updateMatchName( + matchId: widget.match!.id, + newName: updatedMatch.name, + ); + } + + if (widget.match!.group?.id != updatedMatch.group?.id) { + await db.matchDao.updateMatchGroup( + matchId: widget.match!.id, + newGroupId: updatedMatch.group?.id, + ); + } + + // Add players who are in updatedMatch but not in the original match + for (var player in updatedMatch.players) { + if (!widget.match!.players.any((p) => p.id == player.id)) { + await db.playerMatchDao.addPlayerToMatch( + matchId: widget.match!.id, + playerId: player.id, + ); + } + } + + // Remove players who are in the original match but not in updatedMatch + for (var player in widget.match!.players) { + if (!updatedMatch.players.any((p) => p.id == player.id)) { + await db.playerMatchDao.removePlayerFromMatch( + matchId: widget.match!.id, + playerId: player.id, + ); + } + } + + widget.onMatchUpdated?.call(updatedMatch); + } + + Future createMatch() async { + final tempGame = await getTemporaryGame(); + + Match match = Match( + name: _matchNameController.text.isEmpty + ? (hintText ?? '') + : _matchNameController.text.trim(), + createdAt: DateTime.now(), + group: selectedGroup, + players: selectedPlayers, + game: tempGame, + ); + await db.matchDao.addMatch(match: match); + return match; + } + + // TODO: Remove when games fully implemented + Future getTemporaryGame() async { + Game? game; + + // No game is selected + if (selectedGameIndex == -1) { + // Use the first game as default if none selected + final selectedGame = games[0]; + game = Game( + name: selectedGame.$1, + description: selectedGame.$2, + ruleset: selectedGame.$3, + color: GameColor.blue, + icon: '', + ); + } else { + // Use the selected game from the list + final selectedGame = games[selectedGameIndex]; + game = Game( + name: selectedGame.$1, + description: selectedGame.$2, + ruleset: selectedGame.$3, + color: GameColor.blue, + icon: '', + ); + } + // Add the game to the database if it doesn't exist + await db.gameDao.addGame(game: game); + return game; + } + + // If a match was provided to the view, this method prefills the input fields + void prefillMatchDetails() { + final match = widget.match!; + _matchNameController.text = match.name; + selectedPlayers = match.players; + + if (match.group != null) { + selectedGroup = match.group; + } + } + + // If none of the selected players are from the currently selected group, + // the group is also deselected. + Future removeGroupWhenNoMemberLeft() async { + if (selectedGroup == null) return; + + if (!selectedPlayers.any( + (player) => + selectedGroup!.members.any((member) => member.id == player.id), + )) { + setState(() { + selectedGroup = null; + }); + } + } +} From 598b8d0f9e66a02d035643776d50714a7baffcdc Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Fri, 6 Mar 2026 20:59:04 +0100 Subject: [PATCH 177/198] Updated player receiving logic --- .../widgets/tiles/match_tile.dart | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/lib/presentation/widgets/tiles/match_tile.dart b/lib/presentation/widgets/tiles/match_tile.dart index ddc7887..6ac382a 100644 --- a/lib/presentation/widgets/tiles/match_tile.dart +++ b/lib/presentation/widgets/tiles/match_tile.dart @@ -40,12 +40,13 @@ class MatchTile extends StatefulWidget { } class _MatchTileState extends State { - late final List _allPlayers; + late List _allPlayers; @override void initState() { super.initState(); - _allPlayers = _getCombinedPlayers(); + _allPlayers = [...widget.match.players]; + _allPlayers.sort((a, b) => a.name.compareTo(b.name)); } @override @@ -93,7 +94,7 @@ class _MatchTileState extends State { const SizedBox(width: 6), Expanded( child: Text( - '${group.name} + ${widget.match.players.length}', + '${group.name}${getExtraPlayerCount()}', style: const TextStyle(fontSize: 14, color: Colors.grey), overflow: TextOverflow.ellipsis, ), @@ -236,21 +237,23 @@ class _MatchTileState extends State { } } - /// Retrieves all unique players associated with the match, - /// combining players from both the match and its group. - List _getCombinedPlayers() { - final allPlayers = []; - final playerIds = {}; + /// Counts how many players in the match are not part of the group + /// Returns the count as a string, or an empty string if there is no group + String getExtraPlayerCount() { + int count = 0; - // Add players from game.players - for (var player in widget.match.players) { - if (!playerIds.contains(player.id)) { - allPlayers.add(player); - playerIds.add(player.id); + final groupMembers = widget.match.group!.members; + final players = widget.match.players; + + for (var player in players) { + if (!groupMembers.any((member) => member.id == player.id)) { + count++; } } - allPlayers.sort((a, b) => a.name.compareTo(b.name)); - return allPlayers; + if (count == 0) { + return ''; + } + return ' + ${count.toString()}'; } } From 688a8a1706a1f75fdc0d591475455151adec176b Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Fri, 6 Mar 2026 20:59:13 +0100 Subject: [PATCH 178/198] Added comment --- lib/l10n/generated/app_localizations.dart | 2 +- .../main_menu/match_view/create_match/create_match_view.dart | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/l10n/generated/app_localizations.dart b/lib/l10n/generated/app_localizations.dart index 586ac30..eb8a609 100644 --- a/lib/l10n/generated/app_localizations.dart +++ b/lib/l10n/generated/app_localizations.dart @@ -248,7 +248,7 @@ abstract class AppLocalizations { /// **'Edit Group'** String get edit_group; - /// No description provided for @edit_match. + /// Button & Appbar label for editing a match /// /// In en, this message translates to: /// **'Edit Match'** diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index ef843e9..3217669 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -321,6 +321,8 @@ class _CreateMatchViewState extends State { widget.onMatchUpdated?.call(updatedMatch); } + // Creates a new match and adds it to the database. + // Returns the created match. Future createMatch() async { final tempGame = await getTemporaryGame(); From a8ade294b574e5348a9a3b31324daf9d3cfa3664 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Fri, 6 Mar 2026 21:53:46 +0100 Subject: [PATCH 179/198] Added common.dart --- lib/core/common.dart | 45 +++++++++++++++++++ lib/core/enums.dart | 28 +++--------- .../create_match/choose_game_view.dart | 1 + .../match_view/match_detail_view.dart | 23 +--------- .../widgets/tiles/match_tile.dart | 30 +++---------- 5 files changed, 61 insertions(+), 66 deletions(-) create mode 100644 lib/core/common.dart diff --git a/lib/core/common.dart b/lib/core/common.dart new file mode 100644 index 0000000..a27daf0 --- /dev/null +++ b/lib/core/common.dart @@ -0,0 +1,45 @@ +import 'package:flutter/cupertino.dart'; +import 'package:tallee/core/enums.dart'; +import 'package:tallee/data/dto/match.dart'; +import 'package:tallee/l10n/generated/app_localizations.dart'; + +/// Translates a [Ruleset] enum value to its corresponding localized string. +String translateRulesetToString(Ruleset ruleset, BuildContext context) { + final loc = AppLocalizations.of(context); + switch (ruleset) { + case Ruleset.highestScore: + return loc.highest_score; + case Ruleset.lowestScore: + return loc.lowest_score; + case Ruleset.singleWinner: + return loc.single_winner; + case Ruleset.singleLoser: + return loc.single_loser; + case Ruleset.multipleWinners: + return loc.multiple_winners; + } +} + +/// Counts how many players in the match are not part of the group +/// Returns the count as a string, or an empty string if there is no group +String getExtraPlayerCount(Match match) { + int count = 0; + + if (match.group == null) { + return ''; + } + + final groupMembers = match.group!.members; + final players = match.players; + + for (var player in players) { + if (!groupMembers.any((member) => member.id == player.id)) { + count++; + } + } + + if (count == 0) { + return ''; + } + return ' + ${count.toString()}'; +} diff --git a/lib/core/enums.dart b/lib/core/enums.dart index d3e0610..6b33124 100644 --- a/lib/core/enums.dart +++ b/lib/core/enums.dart @@ -1,6 +1,3 @@ -import 'package:flutter/material.dart'; -import 'package:tallee/l10n/generated/app_localizations.dart'; - /// Button types used for styling the [CustomWidthButton] /// - [ButtonType.primary]: Primary button style. /// - [ButtonType.secondary]: Secondary button style. @@ -35,7 +32,13 @@ enum ExportResult { success, canceled, unknownException } /// - [Ruleset.singleWinner]: The match is won by a single player. /// - [Ruleset.singleLoser]: The match has a single loser. /// - [Ruleset.multipleWinners]: Multiple players can be winners. -enum Ruleset { highestScore, lowestScore, singleWinner, singleLoser, multipleWinners } +enum Ruleset { + highestScore, + lowestScore, + singleWinner, + singleLoser, + multipleWinners, +} /// Different colors available for games /// - [GameColor.red]: Red color @@ -47,20 +50,3 @@ enum Ruleset { highestScore, lowestScore, singleWinner, singleLoser, multipleWin /// - [GameColor.pink]: Pink color /// - [GameColor.teal]: Teal color enum GameColor { red, blue, green, yellow, purple, orange, pink, teal } - -/// Translates a [Ruleset] enum value to its corresponding localized string. -String translateRulesetToString(Ruleset ruleset, BuildContext context) { - final loc = AppLocalizations.of(context); - switch (ruleset) { - case Ruleset.highestScore: - return loc.highest_score; - case Ruleset.lowestScore: - return loc.lowest_score; - case Ruleset.singleWinner: - return loc.single_winner; - case Ruleset.singleLoser: - return loc.single_loser; - case Ruleset.multipleWinners: - return loc.multiple_winners; - } -} diff --git a/lib/presentation/views/main_menu/match_view/create_match/choose_game_view.dart b/lib/presentation/views/main_menu/match_view/create_match/choose_game_view.dart index 447b9c5..d4d7f4d 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/choose_game_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/choose_game_view.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:tallee/core/common.dart'; import 'package:tallee/core/custom_theme.dart'; import 'package:tallee/core/enums.dart'; import 'package:tallee/l10n/generated/app_localizations.dart'; diff --git a/lib/presentation/views/main_menu/match_view/match_detail_view.dart b/lib/presentation/views/main_menu/match_view/match_detail_view.dart index 4ce66da..d5791a5 100644 --- a/lib/presentation/views/main_menu/match_view/match_detail_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_detail_view.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'package:provider/provider.dart'; import 'package:tallee/core/adaptive_page_route.dart'; +import 'package:tallee/core/common.dart'; import 'package:tallee/core/custom_theme.dart'; import 'package:tallee/data/db/database.dart'; import 'package:tallee/data/dto/match.dart'; @@ -146,7 +147,7 @@ class _MatchDetailViewState extends State { const SizedBox(width: 8), Text( // TODO: Update after DB changes - '${match.group!.name}${getExtraPlayerCount()}', + '${match.group!.name}${getExtraPlayerCount(match)}', style: const TextStyle(fontWeight: FontWeight.bold), ), ], @@ -262,26 +263,6 @@ class _MatchDetailViewState extends State { ); } - /// Counts how many players in the match are not part of the group - /// Returns the count as a string, or an empty string if there is no group - String getExtraPlayerCount() { - int count = 0; - - final groupMembers = match.group!.members; - final players = match.players; - - for (var player in players) { - if (!groupMembers.any((member) => member.id == player.id)) { - count++; - } - } - - if (count == 0) { - return ''; - } - return ' + ${count.toString()}'; - } - /// Callback for when the match is updated in the edit view, /// updates the match in this view onMatchUpdated(editedMatch) { diff --git a/lib/presentation/widgets/tiles/match_tile.dart b/lib/presentation/widgets/tiles/match_tile.dart index 6ac382a..2f990cb 100644 --- a/lib/presentation/widgets/tiles/match_tile.dart +++ b/lib/presentation/widgets/tiles/match_tile.dart @@ -2,6 +2,7 @@ import 'dart:core' hide Match; import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; +import 'package:tallee/core/common.dart'; import 'package:tallee/core/custom_theme.dart'; import 'package:tallee/data/dto/match.dart'; import 'package:tallee/data/dto/player.dart'; @@ -51,6 +52,7 @@ class _MatchTileState extends State { @override Widget build(BuildContext context) { + final match = widget.match; final group = widget.match.group; final winner = widget.match.winner; final loc = AppLocalizations.of(context); @@ -70,7 +72,7 @@ class _MatchTileState extends State { children: [ Expanded( child: Text( - widget.match.name, + match.name, style: const TextStyle( fontSize: 18, fontWeight: FontWeight.bold, @@ -79,7 +81,7 @@ class _MatchTileState extends State { ), ), Text( - _formatDate(widget.match.createdAt, context), + _formatDate(match.createdAt, context), style: const TextStyle(fontSize: 12, color: Colors.grey), ), ], @@ -94,7 +96,7 @@ class _MatchTileState extends State { const SizedBox(width: 6), Expanded( child: Text( - '${group.name}${getExtraPlayerCount()}', + '${match.group!.name}${getExtraPlayerCount(match)}', style: const TextStyle(fontSize: 14, color: Colors.grey), overflow: TextOverflow.ellipsis, ), @@ -109,7 +111,7 @@ class _MatchTileState extends State { const SizedBox(width: 6), Expanded( child: Text( - '${widget.match.players.length} ${loc.players}', + '${match.players.length} ${loc.players}', style: const TextStyle(fontSize: 14, color: Colors.grey), overflow: TextOverflow.ellipsis, ), @@ -236,24 +238,4 @@ class _MatchTileState extends State { return '${loc.created_on} ${DateFormat.yMMMd(Localizations.localeOf(context).toString()).format(dateTime)}'; } } - - /// Counts how many players in the match are not part of the group - /// Returns the count as a string, or an empty string if there is no group - String getExtraPlayerCount() { - int count = 0; - - final groupMembers = widget.match.group!.members; - final players = widget.match.players; - - for (var player in players) { - if (!groupMembers.any((member) => member.id == player.id)) { - count++; - } - } - - if (count == 0) { - return ''; - } - return ' + ${count.toString()}'; - } } From 8e4fe26ad9878054d5a26a9de9acbadb065f7db4 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Fri, 6 Mar 2026 22:09:58 +0100 Subject: [PATCH 180/198] Updated theme --- lib/core/custom_theme.dart | 24 ++++++++++++++++++- lib/main.dart | 22 ++++++++--------- .../widgets/text_input/custom_search_bar.dart | 1 - 3 files changed, 34 insertions(+), 13 deletions(-) diff --git a/lib/core/custom_theme.dart b/lib/core/custom_theme.dart index 0e9fec2..d1b158e 100644 --- a/lib/core/custom_theme.dart +++ b/lib/core/custom_theme.dart @@ -27,6 +27,9 @@ class CustomTheme { /// Text color used throughout the app static const Color textColor = Color(0xFFFFFFFF); + /// Text color used throughout the app + static const Color hintColor = Color(0xFF888888); + /// Background color for the navigation bar static const Color navBarBackgroundColor = Color(0xFF131313); @@ -65,7 +68,7 @@ class CustomTheme { boxShadow: [BoxShadow(color: primaryColor.withAlpha(120), blurRadius: 12)], ); - // ==================== App Bar Theme ==================== + // ==================== Component Themes ==================== static const AppBarTheme appBarTheme = AppBarTheme( backgroundColor: backgroundColor, foregroundColor: textColor, @@ -80,4 +83,23 @@ class CustomTheme { ), iconTheme: IconThemeData(color: textColor), ); + + static const SearchBarThemeData searchBarTheme = SearchBarThemeData( + textStyle: WidgetStatePropertyAll(TextStyle(color: CustomTheme.textColor)), + hintStyle: WidgetStatePropertyAll(TextStyle(color: CustomTheme.hintColor)), + ); + + static final RadioThemeData radioTheme = RadioThemeData( + fillColor: WidgetStateProperty.resolveWith((states) { + if (states.contains(WidgetState.selected)) { + return CustomTheme.primaryColor; + } + return CustomTheme.textColor; + }), + ); + + static const InputDecorationTheme inputDecorationTheme = InputDecorationTheme( + labelStyle: TextStyle(color: CustomTheme.textColor), + hintStyle: TextStyle(color: CustomTheme.hintColor), + ); } diff --git a/lib/main.dart b/lib/main.dart index f5394b8..f159ef7 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -29,25 +29,25 @@ class GameTracker extends StatelessWidget { return supportedLocale; } } - return supportedLocales.firstWhere((locale) => locale.languageCode == 'en'); + return supportedLocales.firstWhere( + (locale) => locale.languageCode == 'en', + ); }, debugShowCheckedModeBanner: false, onGenerateTitle: (context) => AppLocalizations.of(context).app_name, - themeMode: ThemeMode.dark, // forces dark mode + themeMode: ThemeMode.dark, theme: ThemeData( + // main colors primaryColor: CustomTheme.primaryColor, scaffoldBackgroundColor: CustomTheme.backgroundColor, + // themes appBarTheme: CustomTheme.appBarTheme, - radioTheme: RadioThemeData( - fillColor: WidgetStateProperty.resolveWith((states) { - if (states.contains(WidgetState.selected)) { - return CustomTheme.primaryColor; - } - return CustomTheme.textColor; - }), - ), + inputDecorationTheme: CustomTheme.inputDecorationTheme, + searchBarTheme: CustomTheme.searchBarTheme, + radioTheme: CustomTheme.radioTheme, + // color scheme colorScheme: ColorScheme.fromSeed( - seedColor: CustomTheme.primaryColor, + seedColor: CustomTheme.textColor, brightness: Brightness.dark, primary: CustomTheme.primaryColor, onPrimary: CustomTheme.textColor, diff --git a/lib/presentation/widgets/text_input/custom_search_bar.dart b/lib/presentation/widgets/text_input/custom_search_bar.dart index 313fc1a..e5fc498 100644 --- a/lib/presentation/widgets/text_input/custom_search_bar.dart +++ b/lib/presentation/widgets/text_input/custom_search_bar.dart @@ -69,7 +69,6 @@ class CustomSearchBar extends StatelessWidget { constraints ?? const BoxConstraints(maxHeight: 45, minHeight: 45), hintText: hintText, onChanged: onChanged, - hintStyle: WidgetStateProperty.all(const TextStyle(fontSize: 16)), leading: const Icon(Icons.search), trailing: [ Visibility( From e909f347e316d2a9b44d64695f1fce52d184feae Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Fri, 6 Mar 2026 22:11:15 +0100 Subject: [PATCH 181/198] Removed unused function --- .../main_menu/match_view/match_result_view.dart | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/lib/presentation/views/main_menu/match_view/match_result_view.dart b/lib/presentation/views/main_menu/match_view/match_result_view.dart index 3d4587e..8a46f13 100644 --- a/lib/presentation/views/main_menu/match_view/match_result_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_result_view.dart @@ -148,21 +148,4 @@ class _MatchResultViewState extends State { } widget.onWinnerChanged?.call(); } - - /// Retrieves all players associated with the given [match]. - /// This includes players directly assigned to the match - /// as well as members of the group (if any). - /// The returned list is sorted alphabetically by player name. - List getAllPlayers(Match match) { - List players = []; - - if (match.group == null) { - players = [...match.players]; - } else { - players = [...match.players, ...match.group!.members]; - } - - players.sort((a, b) => a.name.compareTo(b.name)); - return players; - } } From 2bd5c30094959da41f2bf35ee7e5bcb03b268750 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Fri, 6 Mar 2026 22:21:07 +0100 Subject: [PATCH 182/198] Fix: Setting winner --- .../views/main_menu/match_view/match_detail_view.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/presentation/views/main_menu/match_view/match_detail_view.dart b/lib/presentation/views/main_menu/match_view/match_detail_view.dart index d5791a5..ced982b 100644 --- a/lib/presentation/views/main_menu/match_view/match_detail_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_detail_view.dart @@ -252,6 +252,7 @@ class _MatchDetailViewState extends State { ), ), ); + match.winner = currentWinner; }, ), ], From 664af7ffee55e9d64f13727f0dbe261a62d9a5d2 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 7 Mar 2026 16:47:48 +0100 Subject: [PATCH 183/198] Updated dependencies --- ios/Flutter/AppFrameworkInfo.plist | 2 -- ios/Runner/AppDelegate.swift | 7 +++++-- ios/Runner/Info.plist | 21 +++++++++++++++++++ .../main_menu/custom_navigation_bar.dart | 2 +- .../match_view/match_detail_view.dart | 2 +- lib/presentation/widgets/app_skeleton.dart | 5 +---- pubspec.yaml | 2 +- 7 files changed, 30 insertions(+), 11 deletions(-) diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist index 1dc6cf7..391a902 100644 --- a/ios/Flutter/AppFrameworkInfo.plist +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -20,7 +20,5 @@ ???? CFBundleVersion 1.0 - MinimumOSVersion - 13.0 diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift index 6266644..c30b367 100644 --- a/ios/Runner/AppDelegate.swift +++ b/ios/Runner/AppDelegate.swift @@ -2,12 +2,15 @@ import Flutter import UIKit @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 7e79382..b320936 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -31,6 +31,27 @@ LSRequiresIPhoneOS + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneConfigurationName + flutter + UISceneDelegateClassName + FlutterSceneDelegate + UISceneStoryboardFile + Main + + + + UIApplicationSupportsIndirectInputEvents UILaunchStoryboardName diff --git a/lib/presentation/views/main_menu/custom_navigation_bar.dart b/lib/presentation/views/main_menu/custom_navigation_bar.dart index 508463d..16316ad 100644 --- a/lib/presentation/views/main_menu/custom_navigation_bar.dart +++ b/lib/presentation/views/main_menu/custom_navigation_bar.dart @@ -141,7 +141,7 @@ class _CustomNavigationBarState extends State } /// Returns the title of the current tab based on [currentIndex]. - String _currentTabTitle(context) { + String _currentTabTitle(BuildContext context) { final loc = AppLocalizations.of(context); switch (currentIndex) { case 0: diff --git a/lib/presentation/views/main_menu/match_view/match_detail_view.dart b/lib/presentation/views/main_menu/match_view/match_detail_view.dart index ced982b..57ec2ed 100644 --- a/lib/presentation/views/main_menu/match_view/match_detail_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_detail_view.dart @@ -266,7 +266,7 @@ class _MatchDetailViewState extends State { /// Callback for when the match is updated in the edit view, /// updates the match in this view - onMatchUpdated(editedMatch) { + void onMatchUpdated(Match editedMatch) { setState(() { match = editedMatch; }); diff --git a/lib/presentation/widgets/app_skeleton.dart b/lib/presentation/widgets/app_skeleton.dart index 98f2ca7..8a21320 100644 --- a/lib/presentation/widgets/app_skeleton.dart +++ b/lib/presentation/widgets/app_skeleton.dart @@ -47,10 +47,7 @@ class _AppSkeletonState extends State { : (Widget? currentChild, List previousChildren) { return Stack( alignment: Alignment.topCenter, - children: [ - ...previousChildren, - if (currentChild != null) currentChild, - ], + children: [...previousChildren, ?currentChild], ); }, ), diff --git a/pubspec.yaml b/pubspec.yaml index e13f0cc..6192380 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,7 +34,7 @@ dev_dependencies: build_runner: ^2.5.4 dart_pubspec_licenses: ^3.0.14 drift_dev: ^2.27.0 - flutter_lints: ^5.0.0 + flutter_lints: ^6.0.0 flutter: uses-material-design: true From 4bcb10df8157dcacc6bf7983eab4731a59136b90 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 7 Mar 2026 17:03:52 +0100 Subject: [PATCH 184/198] Fix: Winner gets resetted, if player gets removed from the game --- .../create_match/create_match_view.dart | 3 +++ .../main_menu/match_view/match_detail_view.dart | 16 +++++----------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index 3217669..314b37c 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -315,6 +315,9 @@ class _CreateMatchViewState extends State { matchId: widget.match!.id, playerId: player.id, ); + if (widget.match!.winner?.id == player.id) { + updatedMatch.winner = null; + } } } diff --git a/lib/presentation/views/main_menu/match_view/match_detail_view.dart b/lib/presentation/views/main_menu/match_view/match_detail_view.dart index 57ec2ed..451a08b 100644 --- a/lib/presentation/views/main_menu/match_view/match_detail_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_detail_view.dart @@ -40,15 +40,12 @@ class MatchDetailView extends StatefulWidget { class _MatchDetailViewState extends State { late final AppDatabase db; - late Player? currentWinner; - late Match match; @override void initState() { super.initState(); db = Provider.of(context, listen: false); - currentWinner = widget.match.winner; match = widget.match; } @@ -184,7 +181,7 @@ class _MatchDetailViewState extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ /// TODO: Implement different ruleset results display - if (currentWinner != null) ...[ + if (match.winner != null) ...[ Text( loc.winner, style: const TextStyle( @@ -193,13 +190,11 @@ class _MatchDetailViewState extends State { ), ), Text( - currentWinner!.name, - style: TextStyle( + match.winner!.name, + style: const TextStyle( fontSize: 16, fontWeight: FontWeight.bold, - color: match.winner != null - ? CustomTheme.primaryColor - : CustomTheme.textColor, + color: CustomTheme.primaryColor, ), ), ] else ...[ @@ -239,7 +234,7 @@ class _MatchDetailViewState extends State { text: loc.enter_results, icon: Icons.emoji_events, onPressed: () async { - currentWinner = await Navigator.push( + match.winner = await Navigator.push( context, adaptivePageRoute( fullscreenDialog: true, @@ -252,7 +247,6 @@ class _MatchDetailViewState extends State { ), ), ); - match.winner = currentWinner; }, ), ], From 4c479676d288b7e8616df708d626565d602ef044 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 7 Mar 2026 17:38:32 +0100 Subject: [PATCH 185/198] Added properties --- .../main_menu/match_view/create_match/create_match_view.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index 314b37c..3205883 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -282,6 +282,10 @@ class _CreateMatchViewState extends State { group: selectedGroup, players: selectedPlayers, game: tempGame, + winner: widget.match!.winner, + createdAt: widget.match!.createdAt, + endedAt: widget.match!.endedAt, + notes: widget.match!.notes, ); if (widget.match!.name != updatedMatch.name) { From 90cc9587ca8c835083d9d57386b653934cf969b0 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 7 Mar 2026 17:43:42 +0100 Subject: [PATCH 186/198] Removed import --- .../views/main_menu/match_view/match_detail_view.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/presentation/views/main_menu/match_view/match_detail_view.dart b/lib/presentation/views/main_menu/match_view/match_detail_view.dart index 451a08b..b4ef952 100644 --- a/lib/presentation/views/main_menu/match_view/match_detail_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_detail_view.dart @@ -6,7 +6,6 @@ import 'package:tallee/core/common.dart'; import 'package:tallee/core/custom_theme.dart'; import 'package:tallee/data/db/database.dart'; import 'package:tallee/data/dto/match.dart'; -import 'package:tallee/data/dto/player.dart'; import 'package:tallee/l10n/generated/app_localizations.dart'; import 'package:tallee/presentation/views/main_menu/match_view/create_match/create_match_view.dart'; import 'package:tallee/presentation/views/main_menu/match_view/match_result_view.dart'; From 0b118800e4fb0f0f7f1910d019d3c9969e5f657e Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 7 Mar 2026 21:33:51 +0100 Subject: [PATCH 187/198] Fixed issue with group replacing solo players --- .../main_menu/match_view/create_match/create_match_view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index 3205883..84087e2 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -196,7 +196,7 @@ class _CreateMatchViewState extends State { setState(() { if (selectedGroup != null) { setState(() { - selectedPlayers = [...selectedGroup!.members]; + selectedPlayers += [...selectedGroup!.members]; }); } }); From 0822039a5f031574e77c6d1568be82906c55414a Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 7 Mar 2026 21:50:25 +0100 Subject: [PATCH 188/198] Fix: Not updated match view after updating matches players --- .../views/main_menu/match_view/match_view.dart | 2 +- lib/presentation/widgets/tiles/match_tile.dart | 16 ++++------------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/lib/presentation/views/main_menu/match_view/match_view.dart b/lib/presentation/views/main_menu/match_view/match_view.dart index e5a4e29..8cca4a0 100644 --- a/lib/presentation/views/main_menu/match_view/match_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_view.dart @@ -144,7 +144,7 @@ class _MatchViewState extends State { if (mounted) { setState(() { final loadedMatches = results[0] as List; - matches = loadedMatches + matches = [...loadedMatches] ..sort((a, b) => b.createdAt.compareTo(a.createdAt)); isLoading = false; }); diff --git a/lib/presentation/widgets/tiles/match_tile.dart b/lib/presentation/widgets/tiles/match_tile.dart index 2f990cb..7231787 100644 --- a/lib/presentation/widgets/tiles/match_tile.dart +++ b/lib/presentation/widgets/tiles/match_tile.dart @@ -5,7 +5,6 @@ import 'package:intl/intl.dart'; import 'package:tallee/core/common.dart'; import 'package:tallee/core/custom_theme.dart'; import 'package:tallee/data/dto/match.dart'; -import 'package:tallee/data/dto/player.dart'; import 'package:tallee/l10n/generated/app_localizations.dart'; import 'package:tallee/presentation/widgets/tiles/text_icon_tile.dart'; @@ -41,20 +40,13 @@ class MatchTile extends StatefulWidget { } class _MatchTileState extends State { - late List _allPlayers; - - @override - void initState() { - super.initState(); - _allPlayers = [...widget.match.players]; - _allPlayers.sort((a, b) => a.name.compareTo(b.name)); - } - @override Widget build(BuildContext context) { final match = widget.match; final group = widget.match.group; final winner = widget.match.winner; + final players = [...widget.match.players] + ..sort((a, b) => a.name.compareTo(b.name)); final loc = AppLocalizations.of(context); return GestureDetector( @@ -197,7 +189,7 @@ class _MatchTileState extends State { const SizedBox(height: 12), ], - if (_allPlayers.isNotEmpty && widget.compact == false) ...[ + if (players.isNotEmpty && widget.compact == false) ...[ Text( loc.players, style: const TextStyle( @@ -210,7 +202,7 @@ class _MatchTileState extends State { Wrap( spacing: 6, runSpacing: 6, - children: _allPlayers.map((player) { + children: players.map((player) { return TextIconTile(text: player.name, iconEnabled: false); }).toList(), ), From 27c6d8b29385f7fc7da4a4f98bc76f4d7853fc40 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 7 Mar 2026 21:57:51 +0100 Subject: [PATCH 189/198] Small corrections --- .../views/main_menu/match_view/match_view.dart | 10 +++++----- lib/presentation/widgets/tiles/match_tile.dart | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/presentation/views/main_menu/match_view/match_view.dart b/lib/presentation/views/main_menu/match_view/match_view.dart index 8cca4a0..a090b46 100644 --- a/lib/presentation/views/main_menu/match_view/match_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_view.dart @@ -58,7 +58,7 @@ class _MatchViewState extends State { void initState() { super.initState(); db = Provider.of(context, listen: false); - loadGames(); + loadMatches(); } @override @@ -100,7 +100,7 @@ class _MatchViewState extends State { adaptivePageRoute( builder: (context) => MatchDetailView( match: matches[index], - onMatchUpdate: loadGames, + onMatchUpdate: loadMatches, ), ), ); @@ -123,7 +123,7 @@ class _MatchViewState extends State { context, adaptivePageRoute( builder: (context) => - CreateMatchView(onWinnerChanged: loadGames), + CreateMatchView(onWinnerChanged: loadMatches), ), ); }, @@ -134,8 +134,8 @@ class _MatchViewState extends State { ); } - /// Loads the games from the database and sorts them by creation date. - void loadGames() { + /// Loads the matches from the database and sorts them by creation date. + void loadMatches() { isLoading = true; Future.wait([ db.matchDao.getAllMatches(), diff --git a/lib/presentation/widgets/tiles/match_tile.dart b/lib/presentation/widgets/tiles/match_tile.dart index 7231787..3c36587 100644 --- a/lib/presentation/widgets/tiles/match_tile.dart +++ b/lib/presentation/widgets/tiles/match_tile.dart @@ -43,9 +43,9 @@ class _MatchTileState extends State { @override Widget build(BuildContext context) { final match = widget.match; - final group = widget.match.group; - final winner = widget.match.winner; - final players = [...widget.match.players] + final group = match.group; + final winner = match.winner; + final players = [...match.players] ..sort((a, b) => a.name.compareTo(b.name)); final loc = AppLocalizations.of(context); From 7810443a002ac178ba6acecf1702d0d02041337b Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 7 Mar 2026 22:11:51 +0100 Subject: [PATCH 190/198] Fix: SetState Error --- .../widgets/player_selection.dart | 88 ++++++++++--------- 1 file changed, 47 insertions(+), 41 deletions(-) diff --git a/lib/presentation/widgets/player_selection.dart b/lib/presentation/widgets/player_selection.dart index cc3a68c..b51cadc 100644 --- a/lib/presentation/widgets/player_selection.dart +++ b/lib/presentation/widgets/player_selection.dart @@ -110,7 +110,9 @@ class _PlayerSelectionState extends State { final bool nameMatches = player.name.toLowerCase().contains( value.toLowerCase(), ); - final bool isNotSelected = !selectedPlayers.any((p) => p.id == player.id); + final bool isNotSelected = !selectedPlayers.any( + (p) => p.id == player.id, + ); return nameMatches && isNotSelected; }).toList(); } @@ -224,49 +226,53 @@ class _PlayerSelectionState extends State { db.playerDao.getAllPlayers(), Future.delayed(Constants.MINIMUM_SKELETON_DURATION), ]).then((results) => results[0] as List); - if (mounted) { - _allPlayersFuture.then((loadedPlayers) { - setState(() { - // If a list of available players is provided (even if empty), use that list. - if (widget.availablePlayers != null) { - widget.availablePlayers!.sort((a, b) => a.name.compareTo(b.name)); - allPlayers = [...widget.availablePlayers!]; - suggestedPlayers = [...allPlayers]; - if (widget.initialSelectedPlayers != null) { - // Ensures that only players available for selection are pre-selected. - selectedPlayers = widget.initialSelectedPlayers! - .where( - (p) => widget.availablePlayers!.any( - (available) => available.id == p.id, - ), - ) - .toList(); - } - } else { - // Otherwise, use the loaded players from the database. - loadedPlayers.sort((a, b) => a.name.compareTo(b.name)); - allPlayers = [...loadedPlayers]; - if (widget.initialSelectedPlayers != null) { - // Excludes already selected players from the suggested players list. - suggestedPlayers = loadedPlayers.where((p) => !widget.initialSelectedPlayers!.any((ip) => ip.id == p.id)).toList(); - // Ensures that only players available for selection are pre-selected. - selectedPlayers = widget.initialSelectedPlayers! - .where( - (p) => allPlayers.any( - (available) => available.id == p.id, - ), - ) - .toList(); - } else { - // If no initial selection, all loaded players are suggested. - suggestedPlayers = [...loadedPlayers]; - } + _allPlayersFuture.then((loadedPlayers) { + if (!mounted) return; + setState(() { + // If a list of available players is provided (even if empty), use that list. + if (widget.availablePlayers != null) { + widget.availablePlayers!.sort((a, b) => a.name.compareTo(b.name)); + allPlayers = [...widget.availablePlayers!]; + suggestedPlayers = [...allPlayers]; + + if (widget.initialSelectedPlayers != null) { + // Ensures that only players available for selection are pre-selected. + selectedPlayers = widget.initialSelectedPlayers! + .where( + (p) => widget.availablePlayers!.any( + (available) => available.id == p.id, + ), + ) + .toList(); } - isLoading = false; - }); + } else { + // Otherwise, use the loaded players from the database. + loadedPlayers.sort((a, b) => a.name.compareTo(b.name)); + allPlayers = [...loadedPlayers]; + if (widget.initialSelectedPlayers != null) { + // Excludes already selected players from the suggested players list. + suggestedPlayers = loadedPlayers + .where( + (p) => !widget.initialSelectedPlayers!.any( + (ip) => ip.id == p.id, + ), + ) + .toList(); + // Ensures that only players available for selection are pre-selected. + selectedPlayers = widget.initialSelectedPlayers! + .where( + (p) => allPlayers.any((available) => available.id == p.id), + ) + .toList(); + } else { + // If no initial selection, all loaded players are suggested. + suggestedPlayers = [...loadedPlayers]; + } + } + isLoading = false; }); - } + }); } /// Adds a new player to the database from the search bar input. From 16aecffdbe38768ec5abda402fb181ec3ac3c536 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 7 Mar 2026 22:43:24 +0100 Subject: [PATCH 191/198] Change var name --- .../create_match/create_match_view.dart | 42 +++++++++---------- .../match_view/match_detail_view.dart | 2 +- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index 84087e2..3ae8d05 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -24,7 +24,7 @@ class CreateMatchView extends StatefulWidget { const CreateMatchView({ super.key, this.onWinnerChanged, - this.match, + this.matchToEdit, this.onMatchUpdated, }); @@ -35,7 +35,7 @@ class CreateMatchView extends StatefulWidget { final void Function(Match)? onMatchUpdated; /// An optional match to prefill the fields - final Match? match; + final Match? matchToEdit; @override State createState() => _CreateMatchViewState(); @@ -92,7 +92,7 @@ class _CreateMatchViewState extends State { playerList = result[1] as List; // If a match is provided, prefill the fields - if (widget.match != null) { + if (widget.matchToEdit != null) { prefillMatchDetails(); } }); @@ -119,10 +119,10 @@ class _CreateMatchViewState extends State { @override Widget build(BuildContext context) { final loc = AppLocalizations.of(context); - final buttonText = widget.match != null + final buttonText = widget.matchToEdit != null ? loc.save_changes : loc.create_match; - final viewTitle = widget.match != null + final viewTitle = widget.matchToEdit != null ? loc.edit_match : loc.create_new_match; @@ -245,7 +245,7 @@ class _CreateMatchViewState extends State { // If no match was provided, it creates a new match in the database and // navigates to the MatchResultView for the newly created match. void buttonNavigation(BuildContext context) async { - if (widget.match != null) { + if (widget.matchToEdit != null) { await updateMatch(); if (context.mounted) { Navigator.pop(context); @@ -275,51 +275,51 @@ class _CreateMatchViewState extends State { final tempGame = await getTemporaryGame(); final updatedMatch = Match( - id: widget.match!.id, + id: widget.matchToEdit!.id, name: _matchNameController.text.isEmpty ? (hintText ?? '') : _matchNameController.text.trim(), group: selectedGroup, players: selectedPlayers, game: tempGame, - winner: widget.match!.winner, - createdAt: widget.match!.createdAt, - endedAt: widget.match!.endedAt, - notes: widget.match!.notes, + winner: widget.matchToEdit!.winner, + createdAt: widget.matchToEdit!.createdAt, + endedAt: widget.matchToEdit!.endedAt, + notes: widget.matchToEdit!.notes, ); - if (widget.match!.name != updatedMatch.name) { + if (widget.matchToEdit!.name != updatedMatch.name) { await db.matchDao.updateMatchName( - matchId: widget.match!.id, + matchId: widget.matchToEdit!.id, newName: updatedMatch.name, ); } - if (widget.match!.group?.id != updatedMatch.group?.id) { + if (widget.matchToEdit!.group?.id != updatedMatch.group?.id) { await db.matchDao.updateMatchGroup( - matchId: widget.match!.id, + matchId: widget.matchToEdit!.id, newGroupId: updatedMatch.group?.id, ); } // Add players who are in updatedMatch but not in the original match for (var player in updatedMatch.players) { - if (!widget.match!.players.any((p) => p.id == player.id)) { + if (!widget.matchToEdit!.players.any((p) => p.id == player.id)) { await db.playerMatchDao.addPlayerToMatch( - matchId: widget.match!.id, + matchId: widget.matchToEdit!.id, playerId: player.id, ); } } // Remove players who are in the original match but not in updatedMatch - for (var player in widget.match!.players) { + for (var player in widget.matchToEdit!.players) { if (!updatedMatch.players.any((p) => p.id == player.id)) { await db.playerMatchDao.removePlayerFromMatch( - matchId: widget.match!.id, + matchId: widget.matchToEdit!.id, playerId: player.id, ); - if (widget.match!.winner?.id == player.id) { + if (widget.matchToEdit!.winner?.id == player.id) { updatedMatch.winner = null; } } @@ -379,7 +379,7 @@ class _CreateMatchViewState extends State { // If a match was provided to the view, this method prefills the input fields void prefillMatchDetails() { - final match = widget.match!; + final match = widget.matchToEdit!; _matchNameController.text = match.name; selectedPlayers = match.players; diff --git a/lib/presentation/views/main_menu/match_view/match_detail_view.dart b/lib/presentation/views/main_menu/match_view/match_detail_view.dart index b4ef952..c6e30d2 100644 --- a/lib/presentation/views/main_menu/match_view/match_detail_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_detail_view.dart @@ -222,7 +222,7 @@ class _MatchDetailViewState extends State { adaptivePageRoute( fullscreenDialog: true, builder: (context) => CreateMatchView( - match: match, + matchToEdit: match, onMatchUpdated: onMatchUpdated, ), ), From a846e4d7eaf72772e1da97da3b78551222c18238 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 7 Mar 2026 22:44:49 +0100 Subject: [PATCH 192/198] Removed dead code --- .../match_view/create_match/create_match_view.dart | 6 ------ 1 file changed, 6 deletions(-) diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index 3ae8d05..4f1f796 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -56,12 +56,6 @@ class _CreateMatchViewState extends State { /// List of all players from the database List playerList = []; - /// List of players filtered based on the selected group - /// If a group is selected, this list contains all players from [playerList] - /// who are not members of the selected group. If no group is selected, - /// this list is identical to [playerList]. - /*List filteredPlayerList = [];*/ - /// The currently selected group Group? selectedGroup; From 0597b21ac191c6bd8cbd20d6f9ca05e715a575d1 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 7 Mar 2026 22:45:55 +0100 Subject: [PATCH 193/198] Added condition --- .../main_menu/match_view/create_match/create_match_view.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index 4f1f796..21045b0 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -231,7 +231,8 @@ class _CreateMatchViewState extends State { /// - A ruleset is selected AND /// - Either a group is selected OR at least 2 players are selected bool _enableCreateGameButton() { - return (selectedGroup != null || (selectedPlayers.length > 1)); + return (selectedGroup != null || + (selectedPlayers.length > 1) && selectedGameIndex != -1); } // If a match was provied to the view, it updates the match in the database From 588b5053e864c25e96c26819cf11277bab914fc2 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 7 Mar 2026 22:46:21 +0100 Subject: [PATCH 194/198] typo --- .../main_menu/match_view/create_match/create_match_view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index 21045b0..d3f756b 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -235,7 +235,7 @@ class _CreateMatchViewState extends State { (selectedPlayers.length > 1) && selectedGameIndex != -1); } - // If a match was provied to the view, it updates the match in the database + // If a match was provided to the view, it updates the match in the database // and navigates back to the previous screen. // If no match was provided, it creates a new match in the database and // navigates to the MatchResultView for the newly created match. From 9d2b6a0286404091057d65136894d5cfae13e05b Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 7 Mar 2026 22:47:28 +0100 Subject: [PATCH 195/198] Adapted getTemporaryGame method --- .../create_match/create_match_view.dart | 32 ++++++------------- 1 file changed, 9 insertions(+), 23 deletions(-) diff --git a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart index d3f756b..1bf732c 100644 --- a/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart +++ b/lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart @@ -345,29 +345,15 @@ class _CreateMatchViewState extends State { Future getTemporaryGame() async { Game? game; - // No game is selected - if (selectedGameIndex == -1) { - // Use the first game as default if none selected - final selectedGame = games[0]; - game = Game( - name: selectedGame.$1, - description: selectedGame.$2, - ruleset: selectedGame.$3, - color: GameColor.blue, - icon: '', - ); - } else { - // Use the selected game from the list - final selectedGame = games[selectedGameIndex]; - game = Game( - name: selectedGame.$1, - description: selectedGame.$2, - ruleset: selectedGame.$3, - color: GameColor.blue, - icon: '', - ); - } - // Add the game to the database if it doesn't exist + final selectedGame = games[selectedGameIndex]; + game = Game( + name: selectedGame.$1, + description: selectedGame.$2, + ruleset: selectedGame.$3, + color: GameColor.blue, + icon: '', + ); + await db.gameDao.addGame(game: game); return game; } From 73c8865eb541af25f98467960fb8a52123d83b66 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sat, 7 Mar 2026 22:48:57 +0100 Subject: [PATCH 196/198] Removed todo --- .../views/main_menu/match_view/match_detail_view.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/presentation/views/main_menu/match_view/match_detail_view.dart b/lib/presentation/views/main_menu/match_view/match_detail_view.dart index c6e30d2..1deba18 100644 --- a/lib/presentation/views/main_menu/match_view/match_detail_view.dart +++ b/lib/presentation/views/main_menu/match_view/match_detail_view.dart @@ -142,7 +142,6 @@ class _MatchDetailViewState extends State { const Icon(Icons.group), const SizedBox(width: 8), Text( - // TODO: Update after DB changes '${match.group!.name}${getExtraPlayerCount(match)}', style: const TextStyle(fontWeight: FontWeight.bold), ), From 864fde35ef7c53d516debfe8403d4128ba354126 Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Sun, 8 Mar 2026 08:28:54 +0000 Subject: [PATCH 197/198] Updated version number [skip ci] --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 6192380..bdb1efe 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: tallee description: "Tracking App for Card Games" publish_to: 'none' -version: 0.0.17+251 +version: 0.0.18+252 environment: sdk: ^3.8.1 From 244c1b0bb034ab9d23e1d2b3c2733ee13beff295 Mon Sep 17 00:00:00 2001 From: "Gitea Actions [bot]" Date: Sun, 8 Mar 2026 08:29:28 +0000 Subject: [PATCH 198/198] Updated licenses [skip ci] --- .../settings_view/licenses/oss_licenses.dart | 30887 +++++++++++++++- 1 file changed, 30592 insertions(+), 295 deletions(-) diff --git a/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart b/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart index 8fb2f2c..55bb50a 100644 --- a/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart +++ b/lib/presentation/views/main_menu/settings_view/licenses/oss_licenses.dart @@ -20,9 +20,7 @@ const allDependencies = [ _build, _build_config, _build_daemon, - _build_resolvers, _build_runner, - _build_runner_core, _built_collection, _built_value, _characters, @@ -56,7 +54,9 @@ const allDependencies = [ _fixnum, _flutter, _flutter_lints, + _flutter_localizations, _flutter_plugin_android_lifecycle, + _flutter_test, _flutter_web_plugins, _fluttericon, _font_awesome_flutter, @@ -115,6 +115,7 @@ const allDependencies = [ _shelf_static, _shelf_web_socket, _skeletonizer, + _sky_engine, _source_gen, _source_map_stack_trace, _source_maps, @@ -126,12 +127,10 @@ const allDependencies = [ _stream_channel, _stream_transform, _string_scanner, - _tar, _term_glyph, _test, _test_api, _test_core, - _timing, _typed_data, _uri, _url_launcher, @@ -159,6 +158,7 @@ const allDependencies = [ /// Direct `dependencies`. const dependencies = [ _flutter, + _flutter_localizations, _clock, _cupertino_icons, _drift, @@ -179,6 +179,7 @@ const dependencies = [ /// Direct `dev_dependencies`. const devDependencies = [ + _flutter_test, _build_runner, _dart_pubspec_licenses, _drift_dev, @@ -236,13 +237,13 @@ class PackageRef { Package resolve() => allDependencies.firstWhere((d) => d.name == name); } -/// _fe_analyzer_shared 85.0.0 +/// _fe_analyzer_shared 91.0.0 const __fe_analyzer_shared = Package( name: '_fe_analyzer_shared', description: 'Logic that is shared between the front_end and analyzer packages.', repository: 'https://github.com/dart-lang/sdk/tree/main/pkg/_fe_analyzer_shared', authors: [], - version: '85.0.0', + version: '91.0.0', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -277,13 +278,13 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// analyzer 7.7.1 +/// analyzer 8.4.1 const _analyzer = Package( name: 'analyzer', description: 'This package provides a library that performs static analysis of Dart code.', repository: 'https://github.com/dart-lang/sdk/tree/main/pkg/analyzer', authors: [], - version: '7.7.1', + version: '8.4.1', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -330,7 +331,7 @@ const _args = Package( isSdk: false, dependencies: [], devDependencies: [PackageRef('test')], - license: '''Copyright 2013, the Dart project authors. + license: '''Copyright 2013, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -371,7 +372,7 @@ const _async = Package( isSdk: false, dependencies: [PackageRef('collection'), PackageRef('meta')], devDependencies: [PackageRef('fake_async'), PackageRef('stack_trace'), PackageRef('test')], - license: '''Copyright 2015, the Dart project authors. + license: '''Copyright 2015, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -441,19 +442,19 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// build 3.1.0 +/// build 4.0.4 const _build = Package( name: 'build', description: 'A package for authoring build_runner compatible code generators.', repository: 'https://github.com/dart-lang/build/tree/master/build', authors: [], - version: '3.1.0', + version: '4.0.4', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, - dependencies: [PackageRef('analyzer'), PackageRef('async'), PackageRef('build_runner_core'), PackageRef('convert'), PackageRef('crypto'), PackageRef('glob'), PackageRef('logging'), PackageRef('package_config'), PackageRef('path')], + dependencies: [PackageRef('analyzer'), PackageRef('crypto'), PackageRef('glob'), PackageRef('logging'), PackageRef('package_config'), PackageRef('path')], devDependencies: [PackageRef('test')], - license: '''Copyright 2016, the Dart project authors. + license: '''Copyright 2016, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -482,19 +483,19 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// build_config 1.2.0 +/// build_config 1.3.0 const _build_config = Package( name: 'build_config', description: 'Format definition and support for parsing `build.yaml` configuration.', repository: 'https://github.com/dart-lang/build/tree/master/build_config', authors: [], - version: '1.2.0', + version: '1.3.0', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, dependencies: [PackageRef('checked_yaml'), PackageRef('json_annotation'), PackageRef('path'), PackageRef('pubspec_parse')], devDependencies: [PackageRef('build_runner'), PackageRef('term_glyph'), PackageRef('test')], - license: '''Copyright 2017, the Dart project authors. + license: '''Copyright 2017, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -535,7 +536,7 @@ const _build_daemon = Package( isSdk: false, dependencies: [PackageRef('built_collection'), PackageRef('built_value'), PackageRef('crypto'), PackageRef('http_multi_server'), PackageRef('logging'), PackageRef('path'), PackageRef('pool'), PackageRef('shelf'), PackageRef('shelf_web_socket'), PackageRef('stream_transform'), PackageRef('watcher'), PackageRef('web_socket_channel')], devDependencies: [PackageRef('build_runner'), PackageRef('test')], - license: '''Copyright 2019, the Dart project authors. + license: '''Copyright 2019, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -564,101 +565,19 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// build_resolvers 3.0.3 -const _build_resolvers = Package( - name: 'build_resolvers', - description: 'Resolve Dart code in a Builder', - repository: 'https://github.com/dart-lang/build/tree/master/build_resolvers', - authors: [], - version: '3.0.3', - spdxIdentifiers: ['BSD-3-Clause'], - isMarkdown: false, - isSdk: false, - dependencies: [PackageRef('analyzer'), PackageRef('async'), PackageRef('build'), PackageRef('build_runner_core'), PackageRef('collection'), PackageRef('package_config'), PackageRef('path'), PackageRef('pool'), PackageRef('pub_semver')], - devDependencies: [PackageRef('logging'), PackageRef('test')], - license: '''Copyright 2018, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', - ); - -/// build_runner 2.7.1 +/// build_runner 2.12.2 const _build_runner = Package( name: 'build_runner', description: 'A build system for Dart code generation and modular compilation.', repository: 'https://github.com/dart-lang/build/tree/master/build_runner', authors: [], - version: '2.7.1', + version: '2.12.2', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, - dependencies: [PackageRef('args'), PackageRef('async'), PackageRef('build'), PackageRef('build_config'), PackageRef('build_daemon'), PackageRef('build_runner_core'), PackageRef('built_collection'), PackageRef('code_builder'), PackageRef('crypto'), PackageRef('dart_style'), PackageRef('frontend_server_client'), PackageRef('glob'), PackageRef('graphs'), PackageRef('http_multi_server'), PackageRef('io'), PackageRef('logging'), PackageRef('meta'), PackageRef('mime'), PackageRef('path'), PackageRef('pub_semver'), PackageRef('shelf'), PackageRef('shelf_web_socket'), PackageRef('stack_trace'), PackageRef('stream_transform'), PackageRef('watcher'), PackageRef('web_socket_channel'), PackageRef('yaml')], - devDependencies: [PackageRef('http'), PackageRef('package_config'), PackageRef('stream_channel'), PackageRef('test'), PackageRef('web')], - license: '''Copyright 2016, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', - ); - -/// build_runner_core 9.3.1 -const _build_runner_core = Package( - name: 'build_runner_core', - description: 'Core tools to organize the structure of a build and run Builders.', - repository: 'https://github.com/dart-lang/build/tree/master/build_runner_core', - authors: [], - version: '9.3.1', - spdxIdentifiers: ['BSD-3-Clause'], - isMarkdown: false, - isSdk: false, - dependencies: [PackageRef('analyzer'), PackageRef('async'), PackageRef('build'), PackageRef('build_config'), PackageRef('build_resolvers'), PackageRef('build_runner'), PackageRef('built_collection'), PackageRef('built_value'), PackageRef('collection'), PackageRef('convert'), PackageRef('crypto'), PackageRef('glob'), PackageRef('graphs'), PackageRef('json_annotation'), PackageRef('logging'), PackageRef('meta'), PackageRef('package_config'), PackageRef('path'), PackageRef('pool'), PackageRef('timing'), PackageRef('watcher'), PackageRef('yaml')], - devDependencies: [PackageRef('test')], - license: '''Copyright 2018, the Dart project authors. + dependencies: [PackageRef('analyzer'), PackageRef('args'), PackageRef('async'), PackageRef('build'), PackageRef('build_config'), PackageRef('build_daemon'), PackageRef('built_collection'), PackageRef('built_value'), PackageRef('code_builder'), PackageRef('collection'), PackageRef('convert'), PackageRef('crypto'), PackageRef('dart_style'), PackageRef('glob'), PackageRef('graphs'), PackageRef('http_multi_server'), PackageRef('io'), PackageRef('json_annotation'), PackageRef('logging'), PackageRef('meta'), PackageRef('mime'), PackageRef('package_config'), PackageRef('path'), PackageRef('pool'), PackageRef('pub_semver'), PackageRef('shelf'), PackageRef('shelf_web_socket'), PackageRef('stream_transform'), PackageRef('watcher'), PackageRef('web_socket_channel'), PackageRef('yaml')], + devDependencies: [PackageRef('stream_channel'), PackageRef('test')], + license: '''Copyright 2016, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -730,14 +649,14 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// built_value 8.12.3 +/// built_value 8.12.4 const _built_value = Package( name: 'built_value', description: '''Value types with builders, Dart classes as enums, and serialization. This library is the runtime dependency. ''', repository: 'https://github.com/google/built_value.dart/tree/master/built_value', authors: [], - version: '8.12.3', + version: '8.12.4', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -785,7 +704,7 @@ const _characters = Package( isSdk: false, dependencies: [], devDependencies: [PackageRef('test')], - license: '''Copyright 2019, the Dart project authors. + license: '''Copyright 2019, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -947,7 +866,7 @@ const _cli_util = Package( isSdk: false, dependencies: [PackageRef('meta'), PackageRef('path')], devDependencies: [PackageRef('test')], - license: '''Copyright 2015, the Dart project authors. + license: '''Copyright 2015, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -1244,7 +1163,7 @@ const _code_builder = Package( isSdk: false, dependencies: [PackageRef('built_collection'), PackageRef('built_value'), PackageRef('collection'), PackageRef('matcher'), PackageRef('meta')], devDependencies: [PackageRef('build'), PackageRef('build_runner'), PackageRef('dart_style'), PackageRef('source_gen'), PackageRef('test')], - license: '''Copyright 2016, the Dart project authors. + license: '''Copyright 2016, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -1285,7 +1204,7 @@ const _collection = Package( isSdk: false, dependencies: [], devDependencies: [PackageRef('test')], - license: '''Copyright 2015, the Dart project authors. + license: '''Copyright 2015, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -1367,7 +1286,7 @@ const _coverage = Package( isSdk: false, dependencies: [PackageRef('args'), PackageRef('cli_config'), PackageRef('glob'), PackageRef('logging'), PackageRef('meta'), PackageRef('package_config'), PackageRef('path'), PackageRef('source_maps'), PackageRef('stack_trace'), PackageRef('vm_service'), PackageRef('yaml')], devDependencies: [PackageRef('build_runner'), PackageRef('test')], - license: '''Copyright 2014, the Dart project authors. + license: '''Copyright 2014, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -1488,7 +1407,7 @@ const _csslib = Package( isSdk: false, dependencies: [PackageRef('source_span')], devDependencies: [PackageRef('path'), PackageRef('term_glyph'), PackageRef('test')], - license: '''Copyright 2013, the Dart project authors. + license: '''Copyright 2013, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -1528,7 +1447,7 @@ const _cupertino_icons = Package( isMarkdown: false, isSdk: false, dependencies: [], - devDependencies: [PackageRef('flutter')], + devDependencies: [PackageRef('flutter'), PackageRef('flutter_test')], license: '''The MIT License (MIT) Copyright (c) 2016 Vladimir Kharlampidi @@ -1551,14 +1470,14 @@ 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.''', ); -/// dart_pubspec_licenses 3.0.15 +/// dart_pubspec_licenses 3.2.0 const _dart_pubspec_licenses = Package( name: 'dart_pubspec_licenses', description: 'A library to make it easy to extract OSS license information from Dart packages using pubspec.yaml', homepage: 'https://github.com/espresso3389/flutter_oss_licenses/tree/master/packages/dart_pubspec_licenses', repository: 'https://github.com/espresso3389/flutter_oss_licenses', authors: [], - version: '3.0.15', + version: '3.2.0', spdxIdentifiers: ['MIT'], isMarkdown: false, isSdk: false, @@ -1587,19 +1506,19 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.''', ); -/// dart_style 3.1.1 +/// dart_style 3.1.3 const _dart_style = Package( name: 'dart_style', description: 'Opinionated, automatic Dart source code formatter. Provides an API and a CLI tool.', repository: 'https://github.com/dart-lang/dart_style', authors: [], - version: '3.1.1', + version: '3.1.3', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, dependencies: [PackageRef('analyzer'), PackageRef('args'), PackageRef('collection'), PackageRef('package_config'), PackageRef('path'), PackageRef('pub_semver'), PackageRef('source_span'), PackageRef('yaml')], devDependencies: [PackageRef('test')], - license: '''Copyright 2014, the Dart project authors. + license: '''Copyright 2014, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -2015,7 +1934,7 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice defined by the Mozilla Public License, v. 2.0.''', ); -/// dio 5.9.1 +/// dio 5.9.2 const _dio = Package( name: 'dio', description: '''A powerful HTTP networking package, @@ -2026,7 +1945,7 @@ Custom adapters, Transformers, etc. homepage: 'https://github.com/cfug/dio', repository: 'https://github.com/cfug/dio/blob/main/dio', authors: [], - version: '5.9.1', + version: '5.9.2', spdxIdentifiers: ['MIT'], isMarkdown: false, isSdk: false, @@ -2056,14 +1975,14 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.''', ); -/// dio_web_adapter 2.1.1 +/// dio_web_adapter 2.1.2 const _dio_web_adapter = Package( name: 'dio_web_adapter', description: 'An adapter that supports Dio on Web.', homepage: 'https://github.com/cfug/dio', repository: 'https://github.com/cfug/dio/blob/main/plugins/web_adapter', authors: [], - version: '2.1.1', + version: '2.1.2', spdxIdentifiers: ['MIT'], isMarkdown: false, isSdk: false, @@ -2093,14 +2012,14 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.''', ); -/// drift 2.29.0 +/// drift 2.31.0 const _drift = Package( name: 'drift', description: 'Drift is a reactive library to store relational data in Dart and Flutter applications.', homepage: 'https://drift.simonbinder.eu/', repository: 'https://github.com/simolus3/drift', authors: [], - version: '2.29.0', + version: '2.31.0', spdxIdentifiers: ['MIT'], isMarkdown: false, isSdk: false, @@ -2129,14 +2048,14 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.''', ); -/// drift_dev 2.29.0 +/// drift_dev 2.31.0 const _drift_dev = Package( name: 'drift_dev', description: 'Dev-dependency for users of drift. Contains the generator and development tools.', homepage: 'https://drift.simonbinder.eu/', repository: 'https://github.com/simolus3/drift', authors: [], - version: '2.29.0', + version: '2.31.0', spdxIdentifiers: ['MIT'], isMarkdown: false, isSdk: false, @@ -2165,19 +2084,19 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.''', ); -/// drift_flutter 0.2.7 +/// drift_flutter 0.2.8 const _drift_flutter = Package( name: 'drift_flutter', description: 'Easily set up drift databases across platforms in Flutter apps.', homepage: 'https://drift.simonbinder.eu/', repository: 'https://github.com/simolus3/drift', authors: [], - version: '0.2.7', + version: '0.2.8', spdxIdentifiers: ['MIT'], isMarkdown: false, isSdk: false, dependencies: [PackageRef('drift'), PackageRef('flutter'), PackageRef('meta'), PackageRef('path'), PackageRef('path_provider'), PackageRef('sqlite3'), PackageRef('sqlite3_flutter_libs')], - devDependencies: [PackageRef('build_runner'), PackageRef('drift_dev'), PackageRef('lints'), PackageRef('test'), PackageRef('async')], + devDependencies: [PackageRef('build_runner'), PackageRef('drift_dev'), PackageRef('lints'), PackageRef('test'), PackageRef('flutter_test'), PackageRef('async')], license: '''MIT License Copyright (c) 2024 Simon Binder @@ -2416,19 +2335,19 @@ const _fake_async = Package( limitations under the License.''', ); -/// ffi 2.1.5 +/// ffi 2.2.0 const _ffi = Package( name: 'ffi', description: 'Utilities for working with Foreign Function Interface (FFI) code.', repository: 'https://github.com/dart-lang/native/tree/main/pkgs/ffi', authors: [], - version: '2.1.5', + version: '2.2.0', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, dependencies: [], devDependencies: [PackageRef('test')], - license: '''Copyright 2019, the Dart project authors. + license: '''Copyright 2019, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -2509,7 +2428,7 @@ const _file_picker = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter'), PackageRef('flutter_web_plugins'), PackageRef('flutter_plugin_android_lifecycle'), PackageRef('plugin_platform_interface'), PackageRef('ffi'), PackageRef('path'), PackageRef('win32'), PackageRef('cross_file'), PackageRef('web'), PackageRef('dbus')], - devDependencies: [PackageRef('flutter_lints')], + devDependencies: [PackageRef('flutter_lints'), PackageRef('flutter_test')], license: '''MIT License Copyright (c) 2018 Miguel Ruivo @@ -2545,7 +2464,7 @@ const _file_saver = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('collection'), PackageRef('dio'), PackageRef('flutter'), PackageRef('flutter_web_plugins'), PackageRef('path_provider'), PackageRef('path_provider_linux'), PackageRef('path_provider_windows'), PackageRef('web')], - devDependencies: [PackageRef('flutter_lints')], + devDependencies: [PackageRef('flutter_lints'), PackageRef('flutter_test')], license: '''BSD 3-Clause License Copyright (c) 2021, Hassan Ansari @@ -2628,8 +2547,8 @@ const _flutter = Package( spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: true, - dependencies: [PackageRef('characters'), PackageRef('collection'), PackageRef('material_color_utilities'), PackageRef('meta'), PackageRef('vector_math')], - devDependencies: [PackageRef('fake_async'), PackageRef('leak_tracker_flutter_testing'), PackageRef('leak_tracker_testing'), PackageRef('leak_tracker'), PackageRef('web'), PackageRef('clock'), PackageRef('file'), PackageRef('path'), PackageRef('platform')], + dependencies: [PackageRef('characters'), PackageRef('collection'), PackageRef('material_color_utilities'), PackageRef('meta'), PackageRef('vector_math'), PackageRef('sky_engine')], + devDependencies: [PackageRef('flutter_test'), PackageRef('flutter_localizations'), PackageRef('fake_async'), PackageRef('leak_tracker_flutter_testing'), PackageRef('leak_tracker_testing'), PackageRef('leak_tracker'), PackageRef('web'), PackageRef('clock'), PackageRef('file'), PackageRef('path'), PackageRef('platform')], license: '''Copyright 2014 The Flutter Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -2657,13 +2576,13 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// flutter_lints 5.0.0 +/// flutter_lints 6.0.0 const _flutter_lints = Package( name: 'flutter_lints', description: 'Recommended lints for Flutter apps, packages, and plugins to encourage good coding practices.', repository: 'https://github.com/flutter/packages/tree/main/packages/flutter_lints', authors: [], - version: '5.0.0', + version: '6.0.0', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -2696,6 +2615,18 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); +/// flutter_localizations null +const _flutter_localizations = Package( + name: 'flutter_localizations', + description: '', + authors: [], + spdxIdentifiers: [], + isMarkdown: false, + isSdk: true, + dependencies: [PackageRef('flutter'), PackageRef('intl'), PackageRef('path')], + devDependencies: [PackageRef('flutter_test')], + ); + /// flutter_plugin_android_lifecycle 2.0.33 const _flutter_plugin_android_lifecycle = Package( name: 'flutter_plugin_android_lifecycle', @@ -2707,7 +2638,7 @@ const _flutter_plugin_android_lifecycle = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter')], - devDependencies: [], + devDependencies: [PackageRef('flutter_test')], license: '''Copyright 2013 The Flutter Authors Redistribution and use in source and binary forms, with or without modification, @@ -2735,6 +2666,18 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); +/// flutter_test null +const _flutter_test = Package( + name: 'flutter_test', + description: '', + authors: [], + spdxIdentifiers: [], + isMarkdown: false, + isSdk: true, + dependencies: [PackageRef('flutter'), PackageRef('test_api'), PackageRef('matcher'), PackageRef('path'), PackageRef('fake_async'), PackageRef('clock'), PackageRef('stack_trace'), PackageRef('vector_math'), PackageRef('leak_tracker_flutter_testing'), PackageRef('collection'), PackageRef('meta'), PackageRef('stream_channel')], + devDependencies: [PackageRef('file')], + ); + /// flutter_web_plugins null const _flutter_web_plugins = Package( name: 'flutter_web_plugins', @@ -2745,7 +2688,7 @@ const _flutter_web_plugins = Package( isMarkdown: false, isSdk: true, dependencies: [PackageRef('flutter')], - devDependencies: [], + devDependencies: [PackageRef('flutter_test')], ); /// fluttericon 2.0.0 @@ -2797,7 +2740,7 @@ const _font_awesome_flutter = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter')], - devDependencies: [PackageRef('recase'), PackageRef('args'), PackageRef('flutter_lints'), PackageRef('pub_semver')], + devDependencies: [PackageRef('recase'), PackageRef('args'), PackageRef('flutter_test'), PackageRef('flutter_lints'), PackageRef('pub_semver')], license: '''MIT License Copyright (c) 2017 Brian Egan @@ -2836,7 +2779,7 @@ const _frontend_server_client = Package( isSdk: false, dependencies: [PackageRef('async'), PackageRef('path')], devDependencies: [PackageRef('package_config'), PackageRef('shelf'), PackageRef('shelf_packages_handler'), PackageRef('shelf_static'), PackageRef('test'), PackageRef('vm_service')], - license: '''Copyright 2020, the Dart project authors. + license: '''Copyright 2020, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -2877,7 +2820,7 @@ const _glob = Package( isSdk: false, dependencies: [PackageRef('async'), PackageRef('collection'), PackageRef('file'), PackageRef('path'), PackageRef('string_scanner')], devDependencies: [PackageRef('test')], - license: '''Copyright 2014, the Dart project authors. + license: '''Copyright 2014, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -2918,7 +2861,7 @@ const _graphs = Package( isSdk: false, dependencies: [PackageRef('collection')], devDependencies: [PackageRef('test'), PackageRef('analyzer'), PackageRef('path'), PackageRef('pool')], - license: '''Copyright 2017, the Dart project authors. + license: '''Copyright 2017, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -2947,13 +2890,13 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// hooks 1.0.1 +/// hooks 1.0.2 const _hooks = Package( name: 'hooks', description: 'A library that contains a Dart API for the JSON-based protocol for `hook/build.dart` and `hook/link.dart`.', repository: 'https://github.com/dart-lang/native/tree/main/pkgs/hooks', authors: [], - version: '1.0.1', + version: '1.0.2', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -3037,7 +2980,7 @@ const _http = Package( isSdk: false, dependencies: [PackageRef('async'), PackageRef('http_parser'), PackageRef('meta'), PackageRef('web')], devDependencies: [PackageRef('fake_async'), PackageRef('shelf'), PackageRef('stream_channel'), PackageRef('test')], - license: '''Copyright 2014, the Dart project authors. + license: '''Copyright 2014, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -3119,7 +3062,7 @@ const _http_parser = Package( isSdk: false, dependencies: [PackageRef('collection'), PackageRef('source_span'), PackageRef('string_scanner'), PackageRef('typed_data')], devDependencies: [PackageRef('test')], - license: '''Copyright 2014, the Dart project authors. + license: '''Copyright 2014, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -3201,7 +3144,7 @@ const _io = Package( isSdk: false, dependencies: [PackageRef('meta'), PackageRef('path'), PackageRef('string_scanner')], devDependencies: [PackageRef('test')], - license: '''Copyright 2017, the Dart project authors. + license: '''Copyright 2017, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -3271,13 +3214,13 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// json_annotation 4.10.0 +/// json_annotation 4.11.0 const _json_annotation = Package( name: 'json_annotation', description: 'Classes and helper functions that support JSON code generation via the `json_serializable` package.', repository: 'https://github.com/google/json_serializable.dart/tree/master/json_annotation', authors: [], - version: '4.10.0', + version: '4.11.0', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -3337,8 +3280,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -This software or document includes material copied from or derived -from JSON-Schema-Test-Suite (https://github.com/json-schema-org/JSON-Schema-Test-Suite), +This software or document includes material copied from or derived +from JSON-Schema-Test-Suite (https://github.com/json-schema-org/JSON-Schema-Test-Suite), Copyright (c) 2012 Julian Berman, which is licensed under the following terms: Copyright (c) 2012 Julian Berman @@ -3485,14 +3428,14 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// lints 5.1.1 +/// lints 6.1.0 const _lints = Package( name: 'lints', description: """Official Dart lint rules. Defines the 'core' and 'recommended' set of lints suggested by the Dart team. """, repository: 'https://github.com/dart-lang/core/tree/main/pkgs/lints', authors: [], - version: '5.1.1', + version: '6.1.0', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -3539,7 +3482,7 @@ const _logging = Package( isSdk: false, dependencies: [], devDependencies: [PackageRef('test')], - license: '''Copyright 2013, the Dart project authors. + license: '''Copyright 2013, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -3579,8 +3522,8 @@ const _markdown = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('args'), PackageRef('meta')], - devDependencies: [PackageRef('build_runner'), PackageRef('collection'), PackageRef('html'), PackageRef('http'), PackageRef('io'), PackageRef('path'), PackageRef('pool'), PackageRef('tar'), PackageRef('test'), PackageRef('web'), PackageRef('yaml')], - license: '''Copyright 2012, the Dart project authors. + devDependencies: [PackageRef('build_runner'), PackageRef('collection'), PackageRef('html'), PackageRef('http'), PackageRef('io'), PackageRef('path'), PackageRef('pool'), PackageRef('test'), PackageRef('web'), PackageRef('yaml')], + license: '''Copyright 2012, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -3621,7 +3564,7 @@ const _matcher = Package( isSdk: false, dependencies: [PackageRef('async'), PackageRef('meta'), PackageRef('stack_trace'), PackageRef('term_glyph'), PackageRef('test_api')], devDependencies: [PackageRef('fake_async'), PackageRef('lints'), PackageRef('test')], - license: '''Copyright 2014, the Dart project authors. + license: '''Copyright 2014, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -3918,7 +3861,7 @@ const _mime = Package( isSdk: false, dependencies: [], devDependencies: [PackageRef('test')], - license: '''Copyright 2015, the Dart project authors. + license: '''Copyright 2015, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -3947,13 +3890,13 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// native_toolchain_c 0.17.4 +/// native_toolchain_c 0.17.5 const _native_toolchain_c = Package( name: 'native_toolchain_c', description: 'A library to invoke the native C compiler installed on the host machine.', repository: 'https://github.com/dart-lang/native/tree/main/pkgs/native_toolchain_c', authors: [], - version: '0.17.4', + version: '0.17.5', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -3999,7 +3942,7 @@ const _nested = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter')], - devDependencies: [], + devDependencies: [PackageRef('flutter_test')], license: '''MIT License Copyright (c) 2019 Remi Rousselet @@ -4138,7 +4081,7 @@ const _package_config = Package( isSdk: false, dependencies: [PackageRef('path')], devDependencies: [PackageRef('test')], - license: '''Copyright 2019, the Dart project authors. + license: '''Copyright 2019, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -4179,7 +4122,7 @@ const _package_info_plus = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('ffi'), PackageRef('flutter'), PackageRef('flutter_web_plugins'), PackageRef('http'), PackageRef('meta'), PackageRef('path'), PackageRef('package_info_plus_platform_interface'), PackageRef('web'), PackageRef('win32'), PackageRef('clock')], - devDependencies: [PackageRef('flutter_lints'), PackageRef('test')], + devDependencies: [PackageRef('flutter_lints'), PackageRef('flutter_test'), PackageRef('test')], license: '''Copyright 2017 The Chromium Authors. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -4221,7 +4164,7 @@ const _package_info_plus_platform_interface = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter'), PackageRef('meta'), PackageRef('plugin_platform_interface')], - devDependencies: [PackageRef('flutter_lints')], + devDependencies: [PackageRef('flutter_test'), PackageRef('flutter_lints')], license: '''Copyright 2017 The Chromium Authors. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -4251,19 +4194,19 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// pana 0.22.22 +/// pana 0.23.10 const _pana = Package( name: 'pana', description: 'PAckage aNAlyzer - produce a report summarizing the health and quality of a Dart package.', repository: 'https://github.com/dart-lang/pana', authors: [], - version: '0.22.22', + version: '0.23.10', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, - dependencies: [PackageRef('analyzer'), PackageRef('args'), PackageRef('async'), PackageRef('cli_util'), PackageRef('collection'), PackageRef('crypto'), PackageRef('html'), PackageRef('http'), PackageRef('io'), PackageRef('json_annotation'), PackageRef('lints'), PackageRef('logging'), PackageRef('markdown'), PackageRef('meta'), PackageRef('path'), PackageRef('pub_semver'), PackageRef('pubspec_parse'), PackageRef('retry'), PackageRef('safe_url_check'), PackageRef('source_span'), PackageRef('string_scanner'), PackageRef('tar'), PackageRef('test'), PackageRef('yaml')], + dependencies: [PackageRef('analyzer'), PackageRef('args'), PackageRef('async'), PackageRef('cli_util'), PackageRef('collection'), PackageRef('crypto'), PackageRef('html'), PackageRef('http'), PackageRef('io'), PackageRef('json_annotation'), PackageRef('lints'), PackageRef('logging'), PackageRef('markdown'), PackageRef('meta'), PackageRef('path'), PackageRef('pub_semver'), PackageRef('pubspec_parse'), PackageRef('retry'), PackageRef('safe_url_check'), PackageRef('source_span'), PackageRef('string_scanner'), PackageRef('test'), PackageRef('yaml')], devDependencies: [PackageRef('build'), PackageRef('build_config'), PackageRef('build_runner'), PackageRef('shelf'), PackageRef('source_gen')], - license: '''Copyright 2017, the Dart project authors. + license: '''Copyright 2017, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -4304,7 +4247,7 @@ const _path = Package( isSdk: false, dependencies: [], devDependencies: [PackageRef('test')], - license: '''Copyright 2014, the Dart project authors. + license: '''Copyright 2014, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -4344,7 +4287,7 @@ const _path_provider = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter'), PackageRef('path_provider_android'), PackageRef('path_provider_foundation'), PackageRef('path_provider_linux'), PackageRef('path_provider_platform_interface'), PackageRef('path_provider_windows')], - devDependencies: [PackageRef('plugin_platform_interface'), PackageRef('test')], + devDependencies: [PackageRef('flutter_test'), PackageRef('plugin_platform_interface'), PackageRef('test')], license: '''Copyright 2013 The Flutter Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -4383,7 +4326,7 @@ const _path_provider_android = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter'), PackageRef('path_provider_platform_interface')], - devDependencies: [PackageRef('test')], + devDependencies: [PackageRef('flutter_test'), PackageRef('test')], license: '''Copyright 2013 The Flutter Authors Redistribution and use in source and binary forms, with or without modification, @@ -4422,7 +4365,7 @@ const _path_provider_foundation = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('ffi'), PackageRef('flutter'), PackageRef('objective_c'), PackageRef('path_provider_platform_interface')], - devDependencies: [], + devDependencies: [PackageRef('flutter_test')], license: '''Copyright 2013 The Flutter Authors Redistribution and use in source and binary forms, with or without modification, @@ -4461,7 +4404,7 @@ const _path_provider_linux = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('ffi'), PackageRef('flutter'), PackageRef('path'), PackageRef('path_provider_platform_interface'), PackageRef('xdg_directories')], - devDependencies: [], + devDependencies: [PackageRef('flutter_test')], license: '''Copyright 2013 The Flutter Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -4500,7 +4443,7 @@ const _path_provider_platform_interface = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter'), PackageRef('platform'), PackageRef('plugin_platform_interface')], - devDependencies: [], + devDependencies: [PackageRef('flutter_test')], license: '''Copyright 2013 The Flutter Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -4539,7 +4482,7 @@ const _path_provider_windows = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('ffi'), PackageRef('flutter'), PackageRef('path'), PackageRef('path_provider_platform_interface')], - devDependencies: [], + devDependencies: [PackageRef('flutter_test')], license: '''Copyright 2013 The Flutter Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -4567,14 +4510,14 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// petitparser 7.0.1 +/// petitparser 7.0.2 const _petitparser = Package( name: 'petitparser', description: 'A dynamic parser framework to build efficient grammars and parsers quickly.', homepage: 'https://petitparser.github.io', repository: 'https://github.com/petitparser/dart-petitparser', authors: [], - version: '7.0.1', + version: '7.0.2', spdxIdentifiers: ['MIT'], isMarkdown: false, isSdk: false, @@ -4695,7 +4638,7 @@ const _pool = Package( isSdk: false, dependencies: [PackageRef('async'), PackageRef('stack_trace')], devDependencies: [PackageRef('fake_async'), PackageRef('test')], - license: '''Copyright 2014, the Dart project authors. + license: '''Copyright 2014, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -4735,7 +4678,7 @@ const _provider = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('collection'), PackageRef('flutter'), PackageRef('nested')], - devDependencies: [PackageRef('leak_tracker'), PackageRef('test')], + devDependencies: [PackageRef('flutter_test'), PackageRef('leak_tracker'), PackageRef('test')], license: '''MIT License Copyright (c) 2019 Remi Rousselet @@ -4771,7 +4714,7 @@ const _pub_semver = Package( isSdk: false, dependencies: [PackageRef('collection')], devDependencies: [PackageRef('test')], - license: '''Copyright 2014, the Dart project authors. + license: '''Copyright 2014, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -5711,18 +5654,18 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// skeletonizer 2.1.2 +/// skeletonizer 2.1.3 const _skeletonizer = Package( name: 'skeletonizer', description: 'Converts already built widgets into skeleton loaders with no extra effort.', homepage: 'https://github.com/Milad-Akarie/skeletonizer', authors: [], - version: '2.1.2', + version: '2.1.3', spdxIdentifiers: ['MIT'], isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter')], - devDependencies: [PackageRef('flutter_lints'), PackageRef('coverage')], + devDependencies: [PackageRef('flutter_test'), PackageRef('flutter_lints'), PackageRef('coverage')], license: '''MIT License Copyright (c) 2023 Milad Akarie @@ -5746,13 +5689,30443 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.''', ); -/// source_gen 4.0.0 +/// sky_engine null +const _sky_engine = Package( + name: 'sky_engine', + description: '', + authors: [], + spdxIdentifiers: [], + isMarkdown: false, + isSdk: true, + dependencies: [], + devDependencies: [], + license: '''vulkan-validation-layers + + + + +Copyright (c) 2017-2022 Advanced Micro Devices, Inc. All rights reserved. +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. + +=========================================================================================== +File: layers/external/inplace_function.h +File: layers/external/parallel_hashmap/phmap_utils.h + +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +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, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +fuchsia_sdk + + + + +Copyright © 2005-2014 Rich Felker, et al. + +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. + + +Authors/contributors include: + +Alex Dowad +Alexander Monakov +Anthony G. Basile +Arvid Picciani +Bobby Bingham +Boris Brezillon +Brent Cook +Chris Spiegel +Clément Vasseur +Daniel Micay +Denys Vlasenko +Emil Renner Berthing +Felix Fietkau +Felix Janda +Gianluca Anzolin +Hauke Mehrtens +Hiltjo Posthuma +Isaac Dunham +Jaydeep Patil +Jens Gustedt +Jeremy Huntwork +Jo-Philipp Wich +Joakim Sindholt +John Spencer +Josiah Worcester +Justin Cormack +Khem Raj +Kylie McClain +Luca Barbato +Luka Perkov +M Farkas-Dyck (Strake) +Mahesh Bodapati +Michael Forney +Natanael Copa +Nicholas J. Kain +orc +Pascal Cuoq +Petr Hosek +Pierre Carrier +Rich Felker +Richard Pennington +Shiz +sin +Solar Designer +Stefan Kristiansson +Szabolcs Nagy +Timo Teräs +Trutz Behn +Valentin Ochs +William Haddon + +Portions of this software are derived from third-party works licensed +under terms compatible with the above MIT license: + +Much of the math library code (third_party/math/* and +third_party/complex/*, and third_party/include/libm.h) is +Copyright © 1993,2004 Sun Microsystems or +Copyright © 2003-2011 David Schultz or +Copyright © 2003-2009 Steven G. Kargl or +Copyright © 2003-2009 Bruce D. Evans or +Copyright © 2008 Stephen L. Moshier +and labelled as such in comments in the individual source files. All +have been licensed under extremely permissive terms. + +The smoothsort implementation (third_party/smoothsort/qsort.c) is +Copyright © 2011 Valentin Ochs and is licensed under an MIT-style +license. + +The x86_64 files in third_party/arch were written by Nicholas J. Kain +and is licensed under the standard MIT terms. + +All other files which have no copyright comments are original works +produced specifically for use as part of this library, written either +by Rich Felker, the main author of the library, or by one or more +contibutors listed above. Details on authorship of individual files +can be found in the git version control history of the project. The +omission of copyright and license comments in each file is in the +interest of source tree size. + +In addition, permission is hereby granted for all public header files +(include/* and arch/*/bits/*) and crt files intended to be linked into +applications (crt/*, ldso/dlstart.c, and arch/*/crt_arch.h) to omit +the copyright notice and permission notice otherwise required by the +license, and to use these files without any requirement of +attribution. These files include substantial contributions from: + +Bobby Bingham +John Spencer +Nicholas J. Kain +Rich Felker +Richard Pennington +Stefan Kristiansson +Szabolcs Nagy + +all of whom have explicitly granted such permission. + +This file previously contained text expressing a belief that most of +the files covered by the above exception were sufficiently trivial not +to be subject to copyright, resulting in confusion over whether it +negated the permissions granted in the license. In the spirit of +permissive licensing, and of not having licensing issues being an +obstacle to adoption, that text has been removed. + +-------------------------------------------------------------------------------- +harfbuzz + + + + Copyright (c) Microsoft Corporation. + + 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 +-------------------------------------------------------------------------------- +vulkan_memory_allocator + + + +Copyright (C) 1997-2020 by Dimitri van Heesch + +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. +-------------------------------------------------------------------------------- +freetype2 + + + +Copyright (C) 2000, 2001, 2002, 2003, 2006, 2010 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +freetype2 + + + +Copyright (C) 2000-2004, 2006-2011, 2013, 2014 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +freetype2 + + + +Copyright (C) 2001, 2002 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +freetype2 + + + +Copyright (C) 2001, 2002, 2003, 2004 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +freetype2 + + + +Copyright (C) 2001-2008, 2011, 2013, 2014 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +harfbuzz + + + +Copyright (C) 2012 Zilong Tan (eric.zltan@gmail.com) + +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. +-------------------------------------------------------------------------------- +libcxx +libcxxabi + + + +Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT + +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 + + + +Copyright (c) 2013-2021 Niels Lohmann + +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. +-------------------------------------------------------------------------------- +json + + + +Copyright (c) 2013-2022 Niels Lohmann + +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. +-------------------------------------------------------------------------------- +web_locale_keymap + + + +Copyright (c) 2015 - present Microsoft Corporation + +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. +-------------------------------------------------------------------------------- +node_preamble + + + +Copyright (c) 2015 Michael Bullington + +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. +-------------------------------------------------------------------------------- +equatable + + + +Copyright (c) 2018 Felix Angelov + +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. +-------------------------------------------------------------------------------- +inja + + + +Copyright (c) 2018-2021 Berscheid + +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. +-------------------------------------------------------------------------------- +vulkan_memory_allocator + + + +Copyright (c) 2021 - 2022 jothepro + +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. +-------------------------------------------------------------------------------- +ceval + + + +Copyright (c) 2021 e_t + +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. +-------------------------------------------------------------------------------- +glslang + + + +Copyright (c) 2022 Google LLC +Copyright (c) 2022 Sascha Willems + +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. +-------------------------------------------------------------------------------- +glslang + + + +Copyright (c) 2022 Sascha Willems + +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. +-------------------------------------------------------------------------------- +glslang + + + +Copyright (c) 2023 NVIDIA CORPORATION. + +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. +-------------------------------------------------------------------------------- +spring_animation + + + +Copyright (c) Meta Platforms, Inc. and affiliates. + +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. +-------------------------------------------------------------------------------- +freetype2 + + + +Copyright 2000, 2001, 2004 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +freetype2 + + + +Copyright 2000-2001, 2002 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +freetype2 + + + +Copyright 2000-2001, 2003 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +freetype2 + + + +Copyright 2000-2010, 2012-2014 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +freetype2 + + + +Copyright 2003 by +Francesco Zappa Nardelli + +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. +-------------------------------------------------------------------------------- +swiftshader + + + +Copyright © 2008-2011 Kristian Høgsberg +Copyright © 2010-2011 Intel Corporation +Copyright © 2012-2013 Collabora, Ltd. + +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 (including the +next paragraph) 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. +-------------------------------------------------------------------------------- +skia + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2021 Google LLC + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-------------------------------------------------------------------------------- +angle +boringssl +cpu_features +flatbuffers +gtest-parallel +spirv-cross +spirv-tools +vulkan-headers +vulkan-tools +vulkan-utility-libraries +wuffs +wycheproof_testvectors +yapf + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-------------------------------------------------------------------------------- +abseil-cpp + + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-------------------------------------------------------------------------------- +include + + +Copyright (c) 2013-2019 Niels Lohmann . + +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. +-------------------------------------------------------------------------------- +vulkan-tools + + +Copyright (c) 2015-2017 The Khronos Group Inc. +Copyright (c) 2015-2017 Valve Corporation +Copyright (c) 2015-2017 LunarG, Inc. +Copyright (c) 2015-2017 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (c) 2015-2024 Google Inc. +Copyright (c) 2023-2024 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (c) 2015-2025 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (c) 2015-2025 Google Inc. +Copyright (c) 2015-2025 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (c) 2015-2025 Google Inc. +Copyright (c) 2023-2025 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2016-2025 Google Inc. +Copyright (c) 2016-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glfw + + +Copyright (c) 2017 Sean Barrett +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. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +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 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. +-------------------------------------------------------------------------------- +ffx_spd + + +Copyright (c) 2017-2019 Advanced Micro Devices, Inc. All rights reserved. +Copyright (c) <2014> +------- +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. +-------------------------------------------------------------------------------- +ffx_spd + + +Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +------- +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2017-2024 Advanced Micro Devices, Inc. All rights reserved. + +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. +-------------------------------------------------------------------------------- +vulkan_memory_allocator + + +Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved. + +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. +-------------------------------------------------------------------------------- +vulkan-tools + + +Copyright (c) 2018 The Khronos Group Inc. +Copyright (c) 2018 Valve Corporation +Copyright (c) 2018 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan_memory_allocator + + +Copyright (c) 2018-2025 Advanced Micro Devices, Inc. All rights reserved. + +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2020-2025 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2021-2024 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2021-2025 The Khronos Group Inc. +Copyright (c) 2021-2025 Valve Corporation +Copyright (c) 2021-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2021-2025 Valve Corporation +Copyright (c) 2021-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2023-2025 Google Inc. +Copyright (c) 2023-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2023-2025 The Khronos Group Inc. +Copyright (c) 2023-2025 Valve Corporation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2023-2025 The Khronos Group Inc. +Copyright (c) 2023-2025 Valve Corporation +Copyright (c) 2023-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2023-2025 Valve Corporation +Copyright (c) 2023-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2024-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2025 The Khronos Group Inc. +Copyright (c) 2025 Valve Corporation +Copyright (c) 2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright (c) 2025 Valve Corporation +Copyright (c) 2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-tools + + +Copyright 2014, 2017 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + + +Copyright 2014-2024 Valve Software +Copyright 2015-2024 Google Inc. +Copyright 2019-2024 LunarG, Inc. +All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +flatbuffers + + +Copyright 2015 gRPC authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +flatbuffers + + +Copyright 2018 Dan Field. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +swiftshader + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-------------------------------------------------------------------------------- +yapf_diff + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-------------------------------------------------------------------------------- +flatbuffers + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2014 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-------------------------------------------------------------------------------- +shaderc + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-------------------------------------------------------------------------------- +perfetto + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + Copyright (c) 2017, The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-------------------------------------------------------------------------------- +perfetto + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + Copyright (c) 2020, The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-------------------------------------------------------------------------------- +freetype2 + + The FreeType Project LICENSE + ---------------------------- + + 2006-Jan-27 + + Copyright 1996-2002, 2006 by + David Turner, Robert Wilhelm, and Werner Lemberg + + + +Introduction +============ + + The FreeType Project is distributed in several archive packages; + some of them may contain, in addition to the FreeType font engine, + various tools and contributions which rely on, or relate to, the + FreeType Project. + + This license applies to all files found in such packages, and + which do not fall under their own explicit license. The license + affects thus the FreeType font engine, the test programs, + documentation and makefiles, at the very least. + + This license was inspired by the BSD, Artistic, and IJG + (Independent JPEG Group) licenses, which all encourage inclusion + and use of free software in commercial and freeware products + alike. As a consequence, its main points are that: + + o We don't promise that this software works. However, we will be + interested in any kind of bug reports. (`as is' distribution) + + o You can use this software for whatever you want, in parts or + full form, without having to pay us. (`royalty-free' usage) + + o You may not pretend that you wrote this software. If you use + it, or only parts of it, in a program, you must acknowledge + somewhere in your documentation that you have used the + FreeType code. (`credits') + + We specifically permit and encourage the inclusion of this + software, with or without modifications, in commercial products. + We disclaim all warranties covering The FreeType Project and + assume no liability related to The FreeType Project. + + + Finally, many people asked us for a preferred form for a + credit/disclaimer to use in compliance with this license. We thus + encourage you to use the following text: + + """ + Portions of this software are copyright © The FreeType + Project (www.freetype.org). All rights reserved. + """ + + Please replace with the value from the FreeType version you + actually use. + + +Legal Terms +=========== + +0. Definitions +-------------- + + Throughout this license, the terms `package', `FreeType Project', + and `FreeType archive' refer to the set of files originally + distributed by the authors (David Turner, Robert Wilhelm, and + Werner Lemberg) as the `FreeType Project', be they named as alpha, + beta or final release. + + `You' refers to the licensee, or person using the project, where + `using' is a generic term including compiling the project's source + code as well as linking it to form a `program' or `executable'. + This program is referred to as `a program using the FreeType + engine'. + + This license applies to all files distributed in the original + FreeType Project, including all source code, binaries and + documentation, unless otherwise stated in the file in its + original, unmodified form as distributed in the original archive. + If you are unsure whether or not a particular file is covered by + this license, you must contact us to verify this. + + The FreeType Project is copyright (C) 1996-2000 by David Turner, + Robert Wilhelm, and Werner Lemberg. All rights reserved except as + specified below. + +1. No Warranty +-------------- + + THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO + USE, OF THE FREETYPE PROJECT. + +2. Redistribution +----------------- + + This license grants a worldwide, royalty-free, perpetual and + irrevocable right and license to use, execute, perform, compile, + display, copy, create derivative works of, distribute and + sublicense the FreeType Project (in both source and object code + forms) and derivative works thereof for any purpose; and to + authorize others to exercise some or all of the rights granted + herein, subject to the following conditions: + + o Redistribution of source code must retain this license file + (`FTL.TXT') unaltered; any additions, deletions or changes to + the original files must be clearly indicated in accompanying + documentation. The copyright notices of the unaltered, + original files must be preserved in all copies of source + files. + + o Redistribution in binary form must provide a disclaimer that + states that the software is based in part of the work of the + FreeType Team, in the distribution documentation. We also + encourage you to put an URL to the FreeType web page in your + documentation, though this isn't mandatory. + + These conditions apply to any software derived from or based on + the FreeType Project, not just the unmodified files. If you use + our work, you must acknowledge us. However, no fee need be paid + to us. + +3. Advertising +-------------- + + Neither the FreeType authors and contributors nor you shall use + the name of the other for commercial, advertising, or promotional + purposes without specific prior written permission. + + We suggest, but do not require, that you use one or more of the + following phrases to refer to this software in your documentation + or advertising materials: `FreeType Project', `FreeType Engine', + `FreeType library', or `FreeType Distribution'. + + As you have not signed this license, you are not required to + accept it. However, as the FreeType Project is copyrighted + material, only this license, or another one contracted with the + authors, grants you the right to use, distribute, and modify it. + Therefore, by using, distributing, or modifying the FreeType + Project, you indicate that you understand and accept all the terms + of this license. + +4. Contacts +----------- + + There are two mailing lists related to FreeType: + + o freetype@nongnu.org + + Discusses general use and applications of FreeType, as well as + future and wanted additions to the library and distribution. + If you are looking for support, start in this list if you + haven't found anything to help you in the documentation. + + o freetype-devel@nongnu.org + + Discusses bugs, as well as engine internals, design issues, + specific licenses, porting, etc. + + Our home page can be found at + + https://www.freetype.org + + +--- end of FTL.TXT --- +-------------------------------------------------------------------------------- +etc_decoder + + * Copyright (c) 2020-2022 Hans-Kristian Arntzen + * + * 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. + * +-------------------------------------------------------------------------------- +harfbuzz + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +expat + +! /bin/bash + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + +Copyright (c) 2017-2024 Sebastian Pipping +Copyright (c) 2017 Rolf Eike Beer +Copyright (c) 2019 Mohammed Khajapasha +Copyright (c) 2019 Manish, Kumar +Copyright (c) 2019 Philippe Antoine +Copyright (c) 2024 Dag-Erling Smørgrav +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +! /usr/bin/env bash + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + +Copyright (c) 2016-2023 Sebastian Pipping +Copyright (c) 2019 Philippe Antoine +Copyright (c) 2019-2025 Hanno Böck +Copyright (c) 2024 Alexander Bluhm +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +! /usr/bin/env bash + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + +Copyright (c) 2017 Sebastian Pipping +Copyright (c) 2019 Jeffrey Walton +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +! /usr/bin/env bash + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + +Copyright (c) 2017-2022 Sebastian Pipping +Copyright (c) 2018 Marco Maggi +Copyright (c) 2024 Dag-Erling Smørgrav +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +! /usr/bin/env bash + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + +Copyright (c) 2017-2024 Sebastian Pipping +Copyright (c) 2018 Marco Maggi +Copyright (c) 2019 Mohammed Khajapasha +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +! /usr/bin/env bash + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + +Copyright (c) 2019-2021 Sebastian Pipping +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +! /usr/bin/env bash + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + +Copyright (c) 2019-2022 Sebastian Pipping +Copyright (c) 2024 Dag-Erling Smørgrav +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +! /usr/bin/env bash + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + +Copyright (c) 2019-2024 Sebastian Pipping +Copyright (c) 2022 Rosen Penev +Copyright (c) 2024 Dag-Erling Smørgrav +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +! /usr/bin/env bash + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + +Copyright (c) 2020-2023 Sebastian Pipping +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +! /usr/bin/env bash + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + +Copyright (c) 2021-2022 Sebastian Pipping +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +! /usr/bin/env bash + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + +Copyright (c) 2021-2025 Sebastian Pipping +Copyright (c) 2024 Dag-Erling Smørgrav +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +! /usr/bin/env bash + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + +Copyright (c) 2024-2025 Sebastian Pipping +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +! /usr/bin/env bash +Creates release tarball and detached GPG signature file for upload + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + +Copyright (c) 2018-2019 Sebastian Pipping +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +! /usr/bin/env python3 + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + +Copyright (c) 2019-2023 Sebastian Pipping +Copyright (c) 2021 Tim Bray +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +!/bin/sh +USAGE: get-version.sh path/to/expat.h + +This script will print Expat's version number on stdout. For example: + + \$ ./conftools/get-version.sh ./lib/expat.h + 1.95.3 + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + +Copyright (c) 2002 Greg Stein +Copyright (c) 2017 Kerin Millar +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +!/usr/bin/env bash +Clean source directory after running the coverage script. + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser + +Copyright (c) 2017 Rhodri James +Copyright (c) 2018 Marco Maggi +Copyright (c) 2019 Sebastian Pipping +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +libtess2 + +** SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) +** Copyright (C) [dates of first publication] Silicon Graphics, Inc. +** All Rights Reserved. +** +** 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 including the dates of first publication and either this +** permission notice or a reference to http://oss.sgi.com/projects/FreeB/ 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 SILICON GRAPHICS, INC. +** 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. +** +** Except as contained in this notice, the name of Silicon Graphics, Inc. shall not +** be used in advertising or otherwise to promote the sale, use or other dealings in +** this Software without prior written authorization from Silicon Graphics, Inc. +-------------------------------------------------------------------------------- +libXNVCtrl + +/* + * Copyright (c) 2008 NVIDIA, Corporation + * + * 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 (including the next + * paragraph) 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. + */ +-------------------------------------------------------------------------------- +re2 + +// Copyright (c) 2009 The RE2 Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +// Copyright (c) 2011 Google Inc. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +vulkan + +// Copyright (c) 2018 Google Inc. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +expat +harfbuzz + +// Copyright (c) 2021 Google Inc. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +// Copyright 2018 The ANGLE Project Authors. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. +// Ltd., nor the names of their contributors may be used to endorse +// or promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libcxx +libcxxabi +llvm_libc + +============================================================================== +The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: +============================================================================== + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +---- LLVM Exceptions to the Apache 2.0 License ---- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into an Object form of such source code, you +may redistribute such embedded portions in such Object form without complying +with the conditions of Sections 4(a), 4(b) and 4(d) of the License. + +In addition, if you combine or link compiled forms of this Software with +software that is licensed under the GPLv2 ("Combined Software") and if a +court of competent jurisdiction determines that the patent provision (Section +3), the indemnity provision (Section 9) or other Section of the License +conflicts with the conditions of the GPLv2, you may retroactively and +prospectively choose to deem waived or otherwise exclude such Section(s) of +the License, but only in their entirety and only with respect to the Combined +Software. +-------------------------------------------------------------------------------- +include +json + +@copyright Copyright (c) 2008-2009 Bjoern Hoehrmann +@sa http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ +-------------------------------------------------------------------------------- +etc1 + +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the +copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other +entities that control, are controlled by, or are under common control with +that entity. For the purposes of this definition, "control" means (i) the +power, direct or indirect, to cause the direction or management of such +entity, whether by contract or otherwise, or (ii) ownership of fifty +percent (50%) or more of the outstanding shares, or (iii) beneficial +ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation +source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation +or translation of a Source form, including but not limited to compiled +object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object +form, made available under the License, as indicated by a copyright +notice that is included in or attached to the work (an example is +provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object +form, that is based on (or derived from) the Work and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. For the purposes +of this License, Derivative Works shall not include works that remain +separable from, or merely link (or bind by name) to the interfaces of, +the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original +version of the Work and any modifications or additions to that Work or +Derivative Works thereof, that is intentionally submitted to Licensor +for inclusion in the Work by the copyright owner or by an individual or +Legal Entity authorized to submit on behalf of the copyright owner. For +the purposes of this definition, "submitted" means any form of electronic, +verbal, or written communication sent to the Licensor or its +representatives, including but not limited to communication on electronic +mailing lists, source code control systems, and issue tracking systems that +are managed by, or on behalf of, the Licensor for the purpose of discussing +and improving the Work, but excluding communication that is conspicuously +marked or otherwise designated in writing by the copyright owner as "Not +a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on +behalf of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this +License, each Contributor hereby grants to You a perpetual, worldwide, +non-exclusive, no-charge, royalty-free, irrevocable copyright license to +reproduce, prepare Derivative Works of, publicly display, publicly perform, +sublicense, and distribute the Work and such Derivative Works in Source or +Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this +License, each Contributor hereby grants to You a perpetual, worldwide, +non-exclusive, no-charge, royalty-free, irrevocable (except as stated in +this section) patent license to make, have made, use, offer to sell, sell, +import, and otherwise transfer the Work, where such license applies only to +those patent claims licensable by such Contributor that are necessarily +infringed by their Contribution(s) alone or by combination of their +Contribution(s) with the Work to which such Contribution(s) was submitted. +If You institute patent litigation against any entity (including a cross-claim +or counterclaim in a lawsuit) alleging that the Work or a Contribution +incorporated within the Work constitutes direct or contributory patent +infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or +Derivative Works thereof in any medium, with or without modifications, and +in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that +You changed the files; and +You must retain, in the Source form of any Derivative Works that You +distribute, all copyright, patent, trademark, and attribution notices +from the Source form of the Work, excluding those notices that do not +pertain to any part of the Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, +then any Derivative Works that You distribute must include a readable +copy of the attribution notices contained within such NOTICE file, excluding +those notices that do not pertain to any part of the Derivative Works, in +at least one of the following places: within a NOTICE text file distributed +as part of the Derivative Works; within the Source form or documentation, if +provided along with the Derivative Works; or, within a display generated by +the Derivative Works, if and wherever such third-party notices normally +appear. The contents of the NOTICE file are for informational purposes +only and do not modify the License. You may add Your own attribution +notices within Derivative Works that You distribute, alongside or as +an addendum to the NOTICE text from the Work, provided that such additional +attribution notices cannot be construed as modifying the License. + +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a +whole, provided Your use, reproduction, and distribution of the Work otherwise +complies with the conditions stated in this License. +5. Submission of Contributions. Unless You explicitly state otherwise, any +Contribution intentionally submitted for inclusion in the Work by You to the +Licensor shall be under the terms and conditions of this License, without any +additional terms or conditions. Notwithstanding the above, nothing herein +shall supersede or modify the terms of any separate license agreement you +may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, +trademarks, service marks, or product names of the Licensor, except as +required for reasonable and customary use in describing the origin of the +Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to +in writing, Licensor provides the Work (and each Contributor provides its +Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +ANY KIND, either express or implied, including, without limitation, any +warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or +FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining +the appropriateness of using or redistributing the Work and assume any risks +associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in +tort (including negligence), contract, or otherwise, unless required by +applicable law (such as deliberate and grossly negligent acts) or agreed to +in writing, shall any Contributor be liable to You for damages, including +any direct, indirect, special, incidental, or consequential damages of any +character arising as a result of this License or out of the use or inability +to use the Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all other +commercial damages or losses), even if such Contributor has been advised +of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the +Work or Derivative Works thereof, You may choose to offer, and charge a +fee for, acceptance of support, warranty, indemnity, or other liability +obligations and/or rights consistent with this License. However, in accepting +such obligations, You may act only on Your own behalf and on Your sole +responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any +liability incurred by, or claims asserted against, such Contributor by +reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS +-------------------------------------------------------------------------------- +lunarg-vulkantools + +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as +defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner +that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that +control, are controlled by, or are under common control with that entity. For the +purposes of this definition, "control" means (i) the power, direct or indirect, to +cause the direction or management of such entity, whether by contract or otherwise, +or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or +(iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions +granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not +limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included in or +attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based +on (or derived from) the Work and for which the editorial revisions, annotations, +elaborations, or other modifications represent, as a whole, an original work of +authorship. For the purposes of this License, Derivative Works shall not include works +that remain separable from, or merely link (or bind by name) to the interfaces of, the +Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the +Work and any modifications or additions to that Work or Derivative Works thereof, that +is intentionally submitted to Licensor for inclusion in the Work by the copyright owner +or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. +For the purposes of this definition, "submitted" means any form of electronic, verbal, +or written communication sent to the Licensor or its representatives, including but not +limited to communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose +of discussing and improving the Work, but excluding communication that is conspicuously +marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a +Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each +Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, +royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each +Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, +royalty-free, irrevocable (except as stated in this section) patent license to make, +have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such +license applies only to those patent claims licensable by such Contributor that are +necessarily infringed by their Contribution(s) alone or by combination of their +Contribution(s) with the Work to which such Contribution(s) was submitted. If You +institute patent litigation against any entity (including a cross-claim or counterclaim +in a lawsuit) alleging that the Work or a Contribution incorporated within the Work +constitutes direct or contributory patent infringement, then any patent licenses granted +to You under this License for that Work shall terminate as of the date such litigation +is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative +Works thereof in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this +License; and +You must cause any modified files to carry prominent notices stating that You changed +the files; and +You must retain, in the Source form of any Derivative Works that You distribute, all +copyright, patent, trademark, and attribution notices from the Source form of the Work, +excluding those notices that do not pertain to any part of the Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the attribution +notices contained within such NOTICE file, excluding those notices that do not pertain +to any part of the Derivative Works, in at least one of the following places: within a +NOTICE text file distributed as part of the Derivative Works; within the Source form or +documentation, if provided along with the Derivative Works; or, within a display +generated by the Derivative Works, if and wherever such third-party notices normally +appear. The contents of the NOTICE file are for informational purposes only and do not +modify the License. You may add Your own attribution notices within Derivative Works +that You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as modifying +the License. + +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies with +the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution +intentionally submitted for inclusion in the Work by You to the Licensor shall be under +the terms and conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of any +separate license agreement you may have executed with Licensor regarding such +Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, +trademarks, service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and reproducing the +content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, +Licensor provides the Work (and each Contributor provides its Contributions) on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, + including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, + MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for + determining the appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort +(including negligence), contract, or otherwise, unless required by applicable law (such +as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor +be liable to You for damages, including any direct, indirect, special, incidental, or +consequential damages of any character arising as a result of this License or out of the +use or inability to use the Work (including but not limited to damages for loss of +goodwill, work stoppage, computer failure or malfunction, or any and all other +commercial damages or losses), even if such Contributor has been advised of the +possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or +Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of +support, warranty, indemnity, or other liability obligations and/or rights consistent +with this License. However, in accepting such obligations, You may act only on Your own +behalf and on Your sole responsibility, not on behalf of any other Contributor, and only +if You agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your accepting +any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: HOW TO APPLY THE APACHE LICENSE TO YOUR WORK +To apply the Apache License to your work, attach the following boilerplate notice, with +the fields enclosed by brackets "[]" replaced with your own identifying information. +(Don't include the brackets!) The text should be enclosed in the appropriate comment +syntax for the file format. We also recommend that a file or class name and description +of purpose be included on the same "printed page" as the copyright notice for easier +identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +-------------------------------------------------------------------------------- +spirv-cross + +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, +AND DISTRIBUTION + + 1. Definitions. + + + +"License" shall mean the terms and conditions for use, reproduction, and distribution +as defined by Sections 1 through 9 of this document. + + + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + + + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct +or indirect, to cause the direction or management of such entity, whether +by contract or otherwise, or (ii) ownership of fifty percent (50%) or more +of the outstanding shares, or (iii) beneficial ownership of such entity. + + + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions +granted by this License. + + + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + + + +"Object" form shall mean any form resulting from mechanical transformation +or translation of a Source form, including but not limited to compiled object +code, generated documentation, and conversions to other media types. + + + +"Work" shall mean the work of authorship, whether in Source or Object form, +made available under the License, as indicated by a copyright notice that +is included in or attached to the work (an example is provided in the Appendix +below). + + + +"Derivative Works" shall mean any work, whether in Source or Object form, +that is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative +Works shall not include works that remain separable from, or merely link (or +bind by name) to the interfaces of, the Work and Derivative Works thereof. + + + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative +Works thereof, that is intentionally submitted to Licensor for inclusion in +the Work by the copyright owner or by an individual or Legal Entity authorized +to submit on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication +sent to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor +for the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + + + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently incorporated +within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this +License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable copyright license to reproduce, prepare +Derivative Works of, publicly display, publicly perform, sublicense, and distribute +the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, +each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) patent +license to make, have made, use, offer to sell, sell, import, and otherwise +transfer the Work, where such license applies only to those patent claims +licensable by such Contributor that are necessarily infringed by their Contribution(s) +alone or by combination of their Contribution(s) with the Work to which such +Contribution(s) was submitted. If You institute patent litigation against +any entity (including a cross-claim or counterclaim in a lawsuit) alleging +that the Work or a Contribution incorporated within the Work constitutes direct +or contributory patent infringement, then any patent licenses granted to You +under this License for that Work shall terminate as of the date such litigation +is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or +Derivative Works thereof in any medium, with or without modifications, and +in Source or Object form, provided that You meet the following conditions: + +(a) You must give any other recipients of the Work or Derivative Works a copy +of this License; and + +(b) You must cause any modified files to carry prominent notices stating that +You changed the files; and + +(c) You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source +form of the Work, excluding those notices that do not pertain to any part +of the Derivative Works; and + +(d) If the Work includes a "NOTICE" text file as part of its distribution, +then any Derivative Works that You distribute must include a readable copy +of the attribution notices contained within such NOTICE file, excluding those +notices that do not pertain to any part of the Derivative Works, in at least +one of the following places: within a NOTICE text file distributed as part +of the Derivative Works; within the Source form or documentation, if provided +along with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents +of the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works +that You distribute, alongside or as an addendum to the NOTICE text from the +Work, provided that such additional attribution notices cannot be construed +as modifying the License. + +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, +or distribution of Your modifications, or for any such Derivative Works as +a whole, provided Your use, reproduction, and distribution of the Work otherwise +complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any +Contribution intentionally submitted for inclusion in the Work by You to the +Licensor shall be under the terms and conditions of this License, without +any additional terms or conditions. Notwithstanding the above, nothing herein +shall supersede or modify the terms of any separate license agreement you +may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, +trademarks, service marks, or product names of the Licensor, except as required +for reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to +in writing, Licensor provides the Work (and each Contributor provides its +Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied, including, without limitation, any warranties +or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR +A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness +of using or redistributing the Work and assume any risks associated with Your +exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether +in tort (including negligence), contract, or otherwise, unless required by +applicable law (such as deliberate and grossly negligent acts) or agreed to +in writing, shall any Contributor be liable to You for damages, including +any direct, indirect, special, incidental, or consequential damages of any +character arising as a result of this License or out of the use or inability +to use the Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all other commercial +damages or losses), even if such Contributor has been advised of the possibility +of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work +or Derivative Works thereof, You may choose to offer, and charge a fee for, +acceptance of support, warranty, indemnity, or other liability obligations +and/or rights consistent with this License. However, in accepting such obligations, +You may act only on Your own behalf and on Your sole responsibility, not on +behalf of any other Contributor, and only if You agree to indemnify, defend, +and hold each Contributor harmless for any liability incurred by, or claims +asserted against, such Contributor by reason of your accepting any such warranty +or additional liability. END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own identifying +information. (Don't include the brackets!) The text should be enclosed in +the appropriate comment syntax for the file format. We also recommend that +a file or class name and description of purpose be included on the same "printed +page" as the copyright notice for easier identification within third-party +archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); + +you may not use this file except in compliance with the License. + +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software + +distributed under the License is distributed on an "AS IS" BASIS, + +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + +See the License for the specific language governing permissions and + +limitations under the License. + +-------------------------------------------------------------------------------- +fuchsia_sdk + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + +--- LLVM Exceptions to the Apache 2.0 License ---- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into an Object form of such source code, you +may redistribute such embedded portions in such Object form without complying +with the conditions of Sections 4(a), 4(b) and 4(d) of the License. + +In addition, if you combine or link compiled forms of this Software with +software that is licensed under the GPLv2 ("Combined Software") and if a +court of competent jurisdiction determines that the patent provision (Section +3), the indemnity provision (Section 9) or other Section of the License +conflicts with the conditions of the GPLv2, you may retroactively and +prospectively choose to deem waived or otherwise exclude such Section(s) of +the License, but only in their entirety and only with respect to the Combined +Software. +-------------------------------------------------------------------------------- +json + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + + (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. + + You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + +To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +-------------------------------------------------------------------------------- +skia + +Copyright %s %s + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +glfw + +Copyright (C) 1997-2013 Sam Lantinga + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the +use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +zlib + +Copyright (C) 1998-2005 Gilles Vollant +-------------------------------------------------------------------------------- +zlib + +Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) + +Modifications for Zip64 support +Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) + +For more info read MiniZip_info.txt + +--------------------------------------------------------------------------- + +Condition of use and distribution are the same than zlib : + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not +claim that you wrote the original software. If you use this software +in a product, an acknowledgment in the product documentation would be +appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be +misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +zlib + +Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) + +Modifications of Unzip for Zip64 +Copyright (C) 2007-2008 Even Rouault + +Modifications for Zip64 support on both zip and unzip +Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) + +For more info read MiniZip_info.txt + +--------------------------------------------------------------------------------- + +Condition of use and distribution are the same than zlib : + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not +claim that you wrote the original software. If you use this software +in a product, an acknowledgment in the product documentation would be +appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be +misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2000-2012, International Business Machines Corporation and others. +All Rights Reserved. +-------------------------------------------------------------------------------- +swiftshader + +Copyright (C) 2001-2006 Bart Massey, Jamey Sharp, and Josh Triplett. +All Rights Reserved. + +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 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. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2004 3Dlabs Inc. Ltd. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2018 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2019 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2018-2020 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Copyright (C) 2015-2018 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2024 Valve Corporation. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Copyright (C) 2015-2020 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2015 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. +Copyright (C) 2017, 2019 ARM Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2024 Ravi Prakash Singh. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2015 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. +Copyright (C) 2017 ARM Limited. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2016 LunarG, Inc. +Copyright (C) 2015-2016 Google, Inc. +Copyright (C) 2017 ARM Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2016 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Modifications Copyright (C) 2020-2021 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2016 LunarG, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2018 Google, Inc. +Copyright (c) 2023, Mobica Limited + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2020 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (c) 2002-2010 The ANGLE Project Authors. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013-2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013-2016 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013-2016 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013-2016 LunarG, Inc. +Copyright (C) 2016-2020 Google, Inc. +Modifications Copyright(C) 2021 Advanced Micro Devices, Inc.All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2016 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2016 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2017 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2002-2013, International Business Machines Corporation +and others. All Rights Reserved. +-------------------------------------------------------------------------------- +swiftshader + +Copyright (C) 2008 The Android Open Source Project +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2009-2011, Nokia Corporation and/or its subsidiary(-ies). +All Rights Reserved. +Author: Siarhei Siamashka +Copyright (C) 2013-2014, Linaro Limited. All Rights Reserved. +Author: Ragesh Radhakrishnan +Copyright (C) 2014-2016, D. R. Commander. All Rights Reserved. +Copyright (C) 2015-2016, Matthieu Darbois. All Rights Reserved. +Copyright (C) 2016, Siarhei Siamashka. All Rights Reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2009-2011, Nokia Corporation and/or its subsidiary(-ies). +All Rights Reserved. +Author: Siarhei Siamashka +Copyright (C) 2014, Siarhei Siamashka. All Rights Reserved. +Copyright (C) 2014, Linaro Limited. All Rights Reserved. +Copyright (C) 2015, D. R. Commander. All Rights Reserved. +Copyright (C) 2015-2016, Matthieu Darbois. All Rights Reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +cpu_features + +Copyright (C) 2010 The Android Open Source Project +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright (C) 2011 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +include + +Copyright (C) 2011 Nick Bruun +Copyright (C) 2013 Vlad Lazarenko +Copyright (C) 2014 Nicolas Pauss +-------------------------------------------------------------------------------- +harfbuzz + +Copyright (C) 2012 Grigori Goronzy + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2012 LunarG, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of LunarG Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +xxhash + +Copyright (C) 2012-2016, Yann Collet + + BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +xxhash + +Copyright (C) 2012-2016, Yann Collet. + +BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. +Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2013 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2013, MIPS Technologies, Inc., California. +All Rights Reserved. +Authors: Teodora Novkovic (teodora.novkovic@imgtec.com) + Darko Laus (darko.laus@imgtec.com) +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2013-2014, MIPS Technologies, Inc., California. +All Rights Reserved. +Authors: Teodora Novkovic (teodora.novkovic@imgtec.com) + Darko Laus (darko.laus@imgtec.com) +Copyright (C) 2015, D. R. Commander. All Rights Reserved. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2013-2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright (C) 2014 Google Inc. All rights reserved. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2014, D. R. Commander. All Rights Reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2015 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2015 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2015 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. +Copyright (C) 2017 ARM Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2015 LunarG, Inc. +Copyright (C) 2022-2025 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2014-2015, D. R. Commander. All Rights Reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2014-2015, D. R. Commander. All Rights Reserved. +Copyright (C) 2014, Jay Foad. All Rights Reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2016 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. +Copyright (C) 2017, 2022-2025 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2016 LunarG, Inc. +Copyright (C) 2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2014-2016 LunarG, Inc. +Copyright (C) 2018-2020 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C) 2015, D. R. Commander. All Rights Reserved. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2015-2016 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2015-2018 Google, Inc. +Copyright (C) 2017 ARM Limited. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +lunarg-vulkantools + +Copyright (C) 2015-2021 Valve Corporation +Copyright (C) 2015-2021 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. +Copyright (C) 2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. +Copyright (C) 2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. +Copyright (C) 2019, 2022-2024 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 Google, Inc. +Copyright (C) 2022-2024 Arm Limited. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2002-2015, International Business Machines Corporation and others. + All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2002-2010, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2001-2003 International Business Machines +Corporation and others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2001-2010 International Business Machines +Corporation and others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2002-2005, International Business Machines Corporation and others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2002-2010, International Business Machines Corporation and others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2002-2015, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2002-2016 International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2003-2005, International Business Machines Corporation and others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2003-2010, International Business Machines Corporation and others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +#################################################################### +Copyright (c) 2009, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +#################################################################### +Copyright (c) 2015, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +* +* Copyright (C) 2004-2006, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 1995-2002, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 1995-2003, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 1995-2005, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 1995-2006, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 1995-2007, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 1995-2009, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 1995-2013, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 2001-2003, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 2001-2005, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 2009-2012, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 2014, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 2009 International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +***************************************************************************** + + Copyright (C) 2002-2015, International Business Machines Corporation and others. + All Rights Reserved. + +***************************************************************************** + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +******************************************************************************* +* +* Copyright (C) 1995-2001, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************* + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +******************************************************************************* +* +* Copyright (C) 1995-2005, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************* + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +******************************************************************************* +* +* Copyright (C) 1995-2010, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************* + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +******************************************************************************* +* +* Copyright (C) 1997-2000, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************* + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +******************************************************************************* +* +* Copyright (C) 1997-2003, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************* + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +******************************************************************************* +* +* Copyright (C) 1997-2010, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************* + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +******************************************************************************* +* +* Copyright (C) 2010, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************* + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 1999-2016, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2009-2010 IBM Corporation and Others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2010-2014, International Business Machines Corporation and others. +All Rights Reserved. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2002-2016 International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016-2017 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016-2017 Google, Inc. +Copyright (C) 2020 The Khronos Group Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016-2017 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016-2018 Google, Inc. +Copyright (C) 2016 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2016-2018 Google, Inc. +Copyright (C) 2016 LunarG, Inc. +Copyright (C) 2023 Mobica Limited. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +zlib + +Copyright (C) 2017 ARM, Inc. +Copyright 2017 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the Chromium source repository LICENSE file. +-------------------------------------------------------------------------------- +shaderc + +Copyright (C) 2017 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2017 LunarG, Inc. +Copyright (C) 2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2017 LunarG, Inc. +Copyright (C) 2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2017-2018 Google, Inc. +Copyright (C) 2017 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +shaderc + +Copyright (C) 2017-2022 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2018 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2018 The Khronos Group Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (C) 2019 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2019 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +shaderc + +Copyright (C) 2020 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2020 Google, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +shaderc + +Copyright (C) 2020-2022 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +dart +perfetto + +Copyright (C) 2022 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2023 LunarG, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2024 The Khronos Group Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2025 Jan Kelemen + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2025 NVIDIA Corporation + +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. +-------------------------------------------------------------------------------- +glslang + +Copyright (C) 2025 The Khronos Group Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C)2009-2014 D. R. Commander. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C)2009-2015 D. R. Commander. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C)2009-2016 D. R. Commander. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C)2011 D. R. Commander. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C)2011, 2015 D. R. Commander. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo + +Copyright (C)2011-2016 D. R. Commander. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) %d, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark Cooper +Copyright (c) 2001-2025 Expat maintainers + +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. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2002, NVIDIA Corporation. + +NVIDIA Corporation("NVIDIA") supplies this software to you in +consideration of your agreement to the following terms, and your use, +installation, modification or redistribution of this NVIDIA software +constitutes acceptance of these terms. If you do not agree with these +terms, please do not use, install, modify or redistribute this NVIDIA +software. + +In consideration of your agreement to abide by the following terms, and +subject to these terms, NVIDIA grants you a personal, non-exclusive +license, under NVIDIA's copyrights in this original NVIDIA software (the +"NVIDIA Software"), to use, reproduce, modify and redistribute the +NVIDIA Software, with or without modifications, in source and/or binary +forms; provided that if you redistribute the NVIDIA Software, you must +retain the copyright notice of NVIDIA, this notice and the following +text and disclaimers in all such redistributions of the NVIDIA Software. +Neither the name, trademarks, service marks nor logos of NVIDIA +Corporation may be used to endorse or promote products derived from the +NVIDIA Software without specific prior written permission from NVIDIA. +Except as expressly stated in this notice, no other rights or licenses +express or implied, are granted by NVIDIA herein, including but not +limited to any patent rights that may be infringed by your derivative +works or by other works in which the NVIDIA Software may be +incorporated. No hardware is licensed hereunder. + +THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, +INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +ITS USE AND OPERATION EITHER ALONE OR IN COMBINATION WITH OTHER +PRODUCTS. + +IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, +INCIDENTAL, EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, LOST PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY +OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE +NVIDIA SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, +TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF +NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2002-2006 Marcus Geelnard + +Copyright (c) 2006-2019 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2016 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2017 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2018 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2019 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2019 Camilla Löwy +Copyright (c) 2012 Torsten Walluhn + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2002-2016, International Business Machines + Corporation and others. All Rights Reserved. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2003-2005 Tom Wu +Copyright (c) 2012 Adam Singer (adam@solvr.io) +All Rights Reserved. + +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" AND WITHOUT WARRANTY OF ANY KIND, +EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, +INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF +THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +In addition, the following condition applies: + +All redistributions must retain an intact copy of this copyright notice +and disclaimer. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2006-2017 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2006-2018 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +icu + +Copyright (c) 2007-2012, International Business Machines +Corporation and others. All Rights Reserved. +-------------------------------------------------------------------------------- +libXNVCtrl + +Copyright (c) 2008 NVIDIA, Corporation + +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 (including the next +paragraph) 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. +-------------------------------------------------------------------------------- +angle + +Copyright (c) 2008-2017 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +angle +glfw + +Copyright (c) 2008-2018 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are 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 Materials. + +THE MATERIALS ARE 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 +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +angle + +Copyright (c) 2008-2020 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +angle + +Copyright (c) 2008-2021 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +include + +Copyright (c) 2009 Florian Loitsch. + +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. + +-------------------------------------------------------------------------------- +libtess2 + +Copyright (c) 2009 Mikko Mononen memon@inside.org + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +accessibility + +Copyright (c) 2009 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +brotli + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +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. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2009-2016 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2009-2019 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2009-2019 Camilla Löwy +Copyright (c) 2012 Torsten Walluhn + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2009-2021 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +libXNVCtrl + +Copyright (c) 2010 NVIDIA, Corporation + +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 (including the next +paragraph) 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. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2010 Olivier Delannoy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +accessibility + +Copyright (c) 2010 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp + +Copyright (c) 2010, Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2010, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +include + +Copyright (c) 2011 - Nick Bruun. + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. If you meet (any of) the author(s), you're encouraged to buy them a beer, + a drink or whatever is suited to the situation, given that you like the + software. +4. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +skia + +Copyright (c) 2011 Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility +angle +dart + +Copyright (c) 2011 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2012 Marcus Geelnard + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not +claim that you wrote the original software. If you use this software +in a product, an acknowledgment in the product documentation would be +appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be +misrepresented as being the original software. + +3. This notice may not be removed or altered from any source +distribution. +-------------------------------------------------------------------------------- +accessibility +dart +flutter +icu +skia + +Copyright (c) 2012 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +accessibility +angle +dart +skia + +Copyright (c) 2013 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2013 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are 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 Materials. + +THE MATERIALS ARE 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 +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +khronos + +Copyright (c) 2013-2014 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are 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 Materials. + +THE MATERIALS ARE 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 +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +angle + +Copyright (c) 2013-2017 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are 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 Materials. + +THE MATERIALS ARE 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 +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +angle + +Copyright (c) 2013-2018 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are 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 Materials. + +THE MATERIALS ARE 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 +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +skia + +Copyright (c) 2014 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2014 Jonas Ådahl + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +accessibility +skia + +Copyright (c) 2014 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +glslang +skia +spirv-tools + +Copyright (c) 2014-2016 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are 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 Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE 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 MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2014-2017 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are 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 Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE 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 MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +spirv-cross + +Copyright (c) 2014-2020 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are 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 Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE 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 MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +spirv-cross + +Copyright (c) 2014-2020 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are 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 Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE 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 MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2014-2020 The Khronos Group Inc. +Copyright (C) 2022-2024 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are 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 Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE 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 MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +dart +skia + +Copyright (c) 2015 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2015-2016 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glslang +spirv-tools + +Copyright (c) 2015-2016 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2015-2016 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are 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 Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS +KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS +SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT + https://www.khronos.org/registry/ + +THE MATERIALS ARE 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 +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +vulkan-tools + +Copyright (c) 2015-2016 The Khronos Group Inc. +Copyright (c) 2015-2016 Valve Corporation +Copyright (c) 2015-2016 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2016 The Khronos Group Inc. +Copyright (c) 2015-2023 Valve Corporation +Copyright (c) 2015-2023 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2015-2016 The Khronos Group Inc. +Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights +reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2016, 2020-2025 The Khronos Group Inc. +Copyright (c) 2015-2016, 2020-2025 Valve Corporation +Copyright (c) 2015-2016, 2020-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-utility-libraries + +Copyright (c) 2015-2017, 2019-2024 The Khronos Group Inc. +Copyright (c) 2015-2017, 2019-2024 Valve Corporation +Copyright (c) 2015-2017, 2019-2024 LunarG, Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +vulkan-utility-libraries + +Copyright (c) 2015-2017, 2019-2024 The Khronos Group Inc. +Copyright (c) 2015-2017, 2019-2024 Valve Corporation +Copyright (c) 2015-2017, 2019-2024 LunarG, Inc. +Modifications Copyright (C) 2022 RasterGrid Kft. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2017, 2019-2025 The Khronos Group Inc. +Copyright (c) 2015-2017, 2019-2025 Valve Corporation +Copyright (c) 2015-2017, 2019-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2017, 2019-2025 The Khronos Group Inc. +Copyright (c) 2015-2017, 2019-2025 Valve Corporation +Copyright (c) 2015-2017, 2019-2025 LunarG, Inc. +Modifications Copyright (C) 2022 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-tools + +Copyright (c) 2015-2018, 2023 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-tools + +Copyright (c) 2015-2019 The Khronos Group Inc. +Copyright (c) 2015-2019 Valve Corporation +Copyright (c) 2015-2019 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-tools + +Copyright (c) 2015-2019 The Khronos Group Inc. +Copyright (c) 2015-2019 Valve Corporation +Copyright (c) 2015-2019 LunarG, Inc. +Copyright (c) 2025 The Fuchsia Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2020 The Khronos Group Inc. +Copyright (c) 2015-2023 Valve Corporation +Copyright (c) 2015-2023 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2015-2020 The Khronos Group Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights +reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +lunarg-vulkantools + +Copyright (c) 2015-2021 The Khronos Group Inc. +Copyright (c) 2015-2021 Valve Corporation +Copyright (c) 2015-2021 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +lunarg-vulkantools + +Copyright (c) 2015-2021 The Khronos Group Inc. +Copyright (c) 2015-2021 Valve Corporation +Copyright (c) 2015-2021 LunarG, Inc. +Copyright (c) 2015-2021 Google, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-tools + +Copyright (c) 2015-2021 The Khronos Group Inc. +Copyright (c) 2015-2021 Valve Corporation +Copyright (c) 2015-2021 LunarG, Inc. +Copyright (c) 2023-2024 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2015-2022 The Khronos Group Inc. +Modifications Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All +rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +lunarg-vulkantools + +Copyright (c) 2015-2023 The Khronos Group Inc. +Copyright (c) 2015-2023 Valve Corporation +Copyright (c) 2015-2023 LunarG, Inc. +Copyright (C) 2015-2016 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (C) 2025 Arm Limited. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2024 Valve Corporation +Copyright (c) 2015-2024 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2024 Valve Corporation +Copyright (c) 2015-2024 LunarG, Inc. +Copyright (C) 2015-2023 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2024 Valve Corporation +Copyright (c) 2015-2024 LunarG, Inc. +Copyright (C) 2015-2024 Google Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-utility-libraries + +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2024 Valve Corporation +Copyright (c) 2015-2024 LunarG, Inc. +Copyright (c) 2015-2024 Google Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2024 Valve Corporation +Copyright (c) 2015-2024 LunarG, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2024 Google Inc. +Modifications Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-tools + +Copyright (c) 2015-2025 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2023 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2023 Google Inc. +Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2024 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2024 Google Inc. +Copyright (c) 2025 Arm Limited. +Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2024 Google Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2024 Google Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2024 Google Inc. +Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2024 Google Inc. +Modifications Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Copyright (C) 2025 Arm Limited. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Copyright (C) 2025 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Copyright (C) 2025 Arm Limited. +Modifications Copyright (C) 2020-2025 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022-2025 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Copyright (c) 2025 Arm Limited. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Copyright (c) 2025 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Copyright (c) 2025 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Copyright (c) 2025 Arm Limited. +Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Copyright (c) 2025 Arm Limited. +Modifications Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. +Copyright (c) 2025 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Modifications Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022-2024 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (c) 2015-2024 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-utility-libraries + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (c) 2015-2025 Google Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +lunarg-vulkantools + +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (c) 2015-2017, 2019, 2021 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +lunarg-vulkantools + +Copyright (c) 2016 Advanced Micro Devices, Inc. All rights reserved. +Copyright (C) 2015-2021 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2016 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2016 Google Inc. +Copyright (c) 2016-2017 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2016 Google Inc. +Copyright (c) 2016-2019 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2016 Google Inc. +Copyright (c) 2025 Arm Ltd. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2016 Google Inc. +Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights +reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-tools + +Copyright (c) 2016 Google, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright (c) 2016 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2016-2017 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2017 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2017 Google Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights +reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2017 Google Inc. +Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights +reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2017 LunarG Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2017 Pierre Moreau + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright (c) 2017 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright (c) 2017 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2017 The Khronos Group Inc. +Copyright (c) 2017 Valve Corporation +Copyright (c) 2017 LunarG Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2017 The Khronos Group Inc. +Copyright (c) 2017 Valve Corporation +Copyright (c) 2017 LunarG Inc. +Copyright (c) 2018 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2017 The Khronos Group Inc. +Copyright (c) 2017 Valve Corporation +Copyright (c) 2017 LunarG Inc. +Copyright (c) 2018-2021 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2017 The Khronos Group Inc. +Copyright (c) 2017 Valve Corporation +Copyright (c) 2017 LunarG Inc. +Copyright (c) 2019 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2017 The Khronos Group Inc. +Copyright (c) 2017 Valve Corporation +Copyright (c) 2017 LunarG Inc. +Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights +reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +vulkan_memory_allocator + +Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved. + +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. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2018 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2018 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2018 Google LLC. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2018 Google LLC. +Copyright (c) 2019 NVIDIA Corporation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2018 Google LLC. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights +reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2018 Google LLC. +Modifications Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All +rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2018 Google LLC. +Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights +reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2018 Google LLC. +Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights +reserved. +Copyright (c) 2024 NVIDIA Corporation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2018 LunarG Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +icu +skia + +Copyright (c) 2018 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2018 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2018 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are 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 Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE 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 MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2018 The Khronos Group Inc. +Copyright (c) 2018 Valve Corporation +Copyright (c) 2018 LunarG Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-tools + +Copyright (c) 2018 The Khronos Group Inc. +Copyright (c) 2018 Valve Corporation +Copyright (c) 2018 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +volk + +Copyright (c) 2018-2019 Arseny Kapoulkine + +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. +-------------------------------------------------------------------------------- +vulkan-headers + +Copyright (c) 2018-2019 Collabora, Ltd. +Copyright 2013-2025 The Khronos Group Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +angle + +Copyright (c) 2018-2020 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-tools + +Copyright (c) 2018-2020 The Khronos Group Inc. +Copyright (c) 2018-2020 Valve Corporation +Copyright (c) 2018-2020 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2018-2021 The Khronos Group Inc. +Copyright (c) 2018-2023 Valve Corporation +Copyright (c) 2018-2023 LunarG, Inc. +Copyright (C) 2018-2021 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2018-2024 The Khronos Group Inc. +Copyright (c) 2018-2024 Valve Corporation +Copyright (c) 2018-2024 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2018-2025 The Khronos Group Inc. +Copyright (c) 2018-2025 Valve Corporation +Copyright (c) 2018-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2018-2025 The Khronos Group Inc. +Copyright (c) 2018-2025 Valve Corporation +Copyright (c) 2018-2025 LunarG, Inc. +Copyright (c) 2025 Arm Limited. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2019 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2019 Google LLC +Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights +reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2019 Google LLC. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +perfetto + +Copyright (c) 2019 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); you +may not use this file except in compliance with the License. You may +obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied. See the License for the specific language governing +permissions and limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright (c) 2019 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2019 The Khronos Group Inc. +Copyright (c) 2019 Valve Corporation +Copyright (c) 2019 LunarG Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +lunarg-vulkantools + +Copyright (c) 2019 The Khronos Group Inc. +Copyright (c) 2019 Valve Corporation +Copyright (c) 2019 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-tools + +Copyright (c) 2019 The Khronos Group Inc. +Copyright (c) 2019 Valve Corporation +Copyright (c) 2019 LunarG, Inc. +Copyright (c) 2023 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2019 Valve Corporation +Copyright (c) 2019 LunarG Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2019, 2021, 2023-2025 The Khronos Group Inc. +Copyright (c) 2019, 2021, 2023-2025 Valve Corporation +Copyright (c) 2019, 2021, 2023-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2019, Viktor Latypov +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright (c) 2019-2020 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-tools + +Copyright (c) 2019-2022 The Khronos Group Inc. +Copyright (c) 2019-2022 Valve Corporation +Copyright (c) 2019-2022 LunarG, Inc. +Copyright (c) 2023-2024 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2019-2024 The Khronos Group Inc. +Copyright (c) 2019-2024 Valve Corporation +Copyright (c) 2019-2024 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-utility-libraries + +Copyright (c) 2019-2024 The Khronos Group Inc. +Copyright (c) 2019-2024 Valve Corporation +Copyright (c) 2019-2024 LunarG, Inc. +Copyright (C) 2019-2024 Google Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2019-2025 The Khronos Group Inc. +Copyright (c) 2019-2025 Valve Corporation +Copyright (c) 2019-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2019-2025 The Khronos Group Inc. +Copyright (c) 2019-2025 Valve Corporation +Copyright (c) 2019-2025 LunarG, Inc. +Copyright (C) 2019-2025 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2019-2025 The Khronos Group Inc. +Copyright (c) 2019-2025 Valve Corporation +Copyright (c) 2019-2025 LunarG, Inc. +Copyright (C) 2025 Arm Limited. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2019-2025 The Khronos Group Inc. +Copyright (c) 2019-2025 Valve Corporation +Copyright (c) 2019-2025 LunarG, Inc. +Modifications Copyright (C) 2022 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2019-2025 Valve Corporation +Copyright (c) 2019-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +ffx_spd + +Copyright (c) 2020 Advanced Micro Devices, Inc. All rights reserved. + +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. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2020 André Perez Maselco + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2020 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2020 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright (c) 2020 Google LLC. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2020 Stefano Milizia + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2020 Stefano Milizia +Copyright (c) 2020 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +angle + +Copyright (c) 2020 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle +spirv-tools + +Copyright (c) 2020 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2020 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are 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 Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS +KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS +SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT + https://www.khronos.org/registry/ + +THE MATERIALS ARE 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 +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +vulkan-tools + +Copyright (c) 2020 The Khronos Group Inc. +Copyright (c) 2020 Valve Corporation +Copyright (c) 2020 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2020 Vasyl Teliman + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2020, Travis Fort +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +lunarg-vulkantools + +Copyright (c) 2020-2021 Valve Corporation +Copyright (c) 2020-2021 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2020-2022 Google LLC +Copyright (c) 2022 LunarG Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +etc_decoder + +Copyright (c) 2020-2022 Hans-Kristian Arntzen + +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. +-------------------------------------------------------------------------------- +lunarg-vulkantools + +Copyright (c) 2020-2022 Valve Corporation +Copyright (c) 2020-2022 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2020-2025 The Khronos Group Inc. +Copyright (c) 2020-2025 Valve Corporation +Copyright (c) 2020-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2020-2025 The Khronos Group Inc. +Copyright (c) 2020-2025 Valve Corporation +Copyright (c) 2020-2025 LunarG, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +lunarg-vulkantools + +Copyright (c) 2020-2025 Valve Corporation +Copyright (c) 2020-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2021 Alastair F. Donaldson + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2021 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glslang +spirv-tools + +Copyright (c) 2021 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2021 Google LLC. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2021 Mostafa Ashraf + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2021 Shiyu Liu + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2021 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are 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 Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE 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 MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2021 The Khronos Group Inc. +Copyright (c) 2021 Valve Corporation +Copyright (c) 2021 LunarG Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2021 ZHOU He + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +libwebp + +Copyright (c) 2021, Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2021-2025 The Khronos Group Inc. +Copyright (c) 2021-2025 Valve Corporation +Copyright (c) 2021-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2021-2025 The Khronos Group Inc. +Copyright (c) 2021-2025 Valve Corporation +Copyright (c) 2021-2025 LunarG, Inc. +Copyright (C) 2021-2022 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2021-2025 The Khronos Group Inc. +Copyright (c) 2021-2025 Valve Corporation +Copyright (c) 2021-2025 LunarG, Inc. +Copyright (C) 2021-2025 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2021-2025 The Khronos Group Inc. +Copyright (c) 2021-2025 Valve Corporation +Copyright (c) 2021-2025 LunarG, Inc. +Copyright (C) 2021-2025 Google Inc. +Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2021-2025 The Khronos Group Inc. +Copyright (c) 2021-2025 Valve Corporation +Copyright (c) 2021-2025 LunarG, Inc. +Copyright (c) 2025 Arm Limited. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2021-2025 The Khronos Group Inc. +Copyright (c) 2025 Arm Limited. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2022 Advanced Micro Devices, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) 2022 Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2022 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2022 Google LLC. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright (c) 2022 Google LLC. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2022 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2022 The Khronos Group Inc. +Copyright (c) 2022 LunarG Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +test_shaders + +Copyright (c) 2022 by Selman Ay (https://codepen.io/selmanays/pen/yLVmEqY) + +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. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2022, 2025 ARM Limited + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are 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 Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + +THE MATERIALS ARE 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 MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2022-2023 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2022-2024 The Khronos Group Inc. +Copyright (c) 2022-2024 RasterGrid Kft. +Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2022-2025 The Khronos Group Inc. +Copyright (c) 2022-2025 Valve Corporation +Copyright (c) 2022-2025 LunarG, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +lunarg-vulkantools + +Copyright (c) 2022-2025 Valve Corporation +Copyright (c) 2022-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2023 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2023 Google LLC. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2023 LunarG Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2023 The Khronos Group Inc. +Copyright (c) 2023 Valve Corporation +Copyright (c) 2023 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2023-2024 LunarG, Inc. +Copyright (c) 2023-2024 Valve Corporation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2023-2024 Nintendo +Copyright (c) 2023-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2023-2025 Arm Ltd. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2023-2025 LunarG, Inc. +Copyright (c) 2023-2025 Valve Corporation +Copyright (c) 2025 Arm Limited. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2023-2025 Nintendo +Copyright (c) 2023-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2023-2025 The Khronos Group Inc. +Copyright (c) 2023-2025 Valve Corporation +Copyright (c) 2023-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2023-2025 The Khronos Group Inc. +Copyright (c) 2023-2025 Valve Corporation +Copyright (c) 2023-2025 LunarG, Inc. +Copyright (c) 2025 Arm Limited. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2023-2025 Valve Corporation +Copyright (c) 2023-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2024 Epic Games, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2024 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2024 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2024 NVIDIA Corporation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2024 The Khronos Group Inc. +Copyright (c) 2024 LunarG, Inc. +Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-tools +vulkan-validation-layers + +Copyright (c) 2024 The Khronos Group Inc. +Copyright (c) 2024 Valve Corporation +Copyright (c) 2024 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2024 The Khronos Group Inc. +Copyright (c) 2025 Valve Corporation +Copyright (c) 2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2024 Valve Corporation +Copyright (c) 2024 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2024-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2024-2025 The Khronos Group Inc. +Copyright (c) 2024-2025 Valve Corporation +Copyright (c) 2024-2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2024-2025 The Khronos Group Inc. +Copyright (c) 2024-2025 Valve Corporation +Copyright (c) 2024-2025 LunarG, Inc. +Copyright (c) 2025 Arm Limited. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2025 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2025 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2025 LunarG Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-tools + +Copyright (c) 2025 The Fuchsia Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +glslang + +Copyright (c) 2025 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2025 The Khronos Group Inc. +Copyright (C) 2025 Arm Limited. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2025 The Khronos Group Inc. +Copyright (c) 2025 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-tools +vulkan-validation-layers + +Copyright (c) 2025 The Khronos Group Inc. +Copyright (c) 2025 Valve Corporation +Copyright (c) 2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright (c) 2025 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright (c) 2025 Valve Corporation +Copyright (c) 2025 LunarG, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +dart + +Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +glfw + +Copyright (c) Marcus Geelnard +Copyright (c) Camilla Löwy + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 1990, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +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 +OPEN GROUP 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. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. +-------------------------------------------------------------------------------- +re2 + +Copyright 1999-2005 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2000 Computing Research Labs, New Mexico State University +Copyright 2001-2004, 2011 Francesco Zappa Nardelli + +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 COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY 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. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2000 Computing Research Labs, New Mexico State University +Copyright 2001-2014 + Francesco Zappa Nardelli + +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 COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY 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. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2000 Computing Research Labs, New Mexico State University +Copyright 2001-2015 + Francesco Zappa Nardelli + +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 COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY 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. +-------------------------------------------------------------------------------- +freetype2 + +Copyright 2001, 2002, 2012 Francesco Zappa Nardelli + +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 COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY 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. +-------------------------------------------------------------------------------- +angle + +Copyright 2002 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +re2 + +Copyright 2003-2009 Google Inc. All rights reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +re2 + +Copyright 2003-2009 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +re2 + +Copyright 2003-2010 Google Inc. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2005 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2006 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2006 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +re2 + +Copyright 2006 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +re2 + +Copyright 2006-2007 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +dart +double-conversion + +Copyright 2006-2008 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +double-conversion + +Copyright 2006-2011, the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2006-2012 The Android Open Source Project +Copyright 2012 Mozilla Foundation + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2007 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +re2 + +Copyright 2007 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2007-2020 The Khronos Group Inc. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +skia + +Copyright 2008 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2008 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +re2 + +Copyright 2008 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +etc1 + +Copyright 2009 Google Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright 2009 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +re2 + +Copyright 2009 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2009-2015 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2010 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2010 Google Inc. All Rights Reserved. + +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +angle + +Copyright 2010 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2010 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +re2 + +Copyright 2010 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +double-conversion + +Copyright 2010 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2011 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2011 Google Inc. +Copyright 2012 Mozilla Foundation + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2011 Google Inc. All Rights Reserved. + +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +angle + +Copyright 2011 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2011 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +zlib + +Copyright 2011 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart + +Copyright 2011 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2012 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2012 Google Inc. All Rights Reserved. + +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +skia + +Copyright 2012 Google LLC + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2012 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2012 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart +zlib + +Copyright 2012 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +double-conversion + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart + +Copyright 2012, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +node_preamble + +Copyright 2012, the Dart project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2013 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2013 Google Inc. All Rights Reserved. + +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +gtest-parallel + +Copyright 2013 Google Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright 2013 Google Inc. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2013 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2013 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart + +Copyright 2013 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +accessibility +skia + +Copyright 2013 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +flutter +tonic + +Copyright 2013 The Flutter Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility +dart +flutter +spring_animation +tonic +web_test_fonts + +Copyright 2013 The Flutter Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +flutter + +Copyright 2013 The Flutter Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2013-2020 The Khronos Group Inc. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +vulkan-headers + +Copyright 2013-2025 The Khronos Group Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +skia + +Copyright 2014 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2014 Google Inc. +Copyright 2017 ARM Ltd. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2014 Google Inc. All Rights Reserved. + +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +flatbuffers + +Copyright 2014 Google Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +angle + +Copyright 2014 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2014 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2014 The Bazel Authors. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +dart +zlib + +Copyright 2014 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +accessibility +angle +dart +skia + +Copyright 2014 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +flutter + +Copyright 2014 The Flutter Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2014 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glfw + +Copyright 2014-2022 The Khronos Group Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +swiftshader + +Copyright 2014-2023 The Khronos Group Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +vulkan +vulkan-headers + +Copyright 2014-2025 The Khronos Group Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +skia + +Copyright 2015 Google Inc. + +Use of this source code is governed by a BD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2015 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2015 Google Inc. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2015 Google Inc. All Rights Reserved. + +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +flatbuffers + +Copyright 2015 Google Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +angle + +Copyright 2015 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2015 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +accessibility + +Copyright 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility +brotli +icu +skia + +Copyright 2015 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +shaderc + +Copyright 2015 The Shaderc Authors. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +swiftshader + +Copyright 2015-2023 The Khronos Group Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +swiftshader +vulkan +vulkan-headers + +Copyright 2015-2023 The Khronos Group Inc. +Copyright 2015-2023 Valve Corporation +Copyright 2015-2023 LunarG, Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +vulkan +vulkan-headers + +Copyright 2015-2025 The Khronos Group Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +skia + +Copyright 2016 Google Inc. + +Use of this source code is governed by a BD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2016 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file + +-------------------------------------------------------------------------------- +libpng +skia + +Copyright 2016 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2016 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. + +Copyright 2014 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2016 Google Inc. All Rights Reserved. + +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +flatbuffers + +Copyright 2016 Google Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright 2016 Mozilla Foundation + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2016 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2016 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +accessibility +icu +skia + +Copyright 2016 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart + +Copyright 2016 The Dart project authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2016 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +re2 + +Copyright 2016 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +shaderc + +Copyright 2016 The Shaderc Authors. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +swiftshader + +Copyright 2016 The SwiftShader Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-cross + +Copyright 2016-2021 The Khronos Group Inc. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +skia + +Copyright 2017 ARM Ltd. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2017 Google Inc. + +Use of this source code is governed by a BD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2017 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2017 Google Inc. + +Use of this source code is governed by a BSD-style license that can be found +in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2017 Google Inc. All Rights Reserved. + +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +flatbuffers +gtest-parallel + +Copyright 2017 Google Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +cpu_features + +Copyright 2017 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +cpu_features + +Copyright 2017 Google LLC +Copyright 2020 Intel Corporation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +angle + +Copyright 2017 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +zlib + +Copyright 2017 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the Chromium source repository LICENSE file. +-------------------------------------------------------------------------------- +zlib + +Copyright 2017 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +accessibility +angle +skia + +Copyright 2017 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart + +Copyright 2017 The Dart project authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2017 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang + +Copyright 2017 The Glslang Authors. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +lunarg-vulkantools +vulkan-tools + +Copyright 2017 The Glslang Authors. All rights reserved. +Copyright (c) 2018-2023 Valve Corporation +Copyright (c) 2018-2023 LunarG, Inc. +Copyright (c) 2023-2023 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +Copyright 2017 The Glslang Authors. All rights reserved. +Copyright (c) 2018-2025 Valve Corporation +Copyright (c) 2018-2025 LunarG, Inc. +Copyright (c) 2023-2023 RasterGrid Kft. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +shaderc + +Copyright 2017 The Shaderc Authors. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +io + +Copyright 2017, the Dart project authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +io + +Copyright 2017, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2017-2020 The Khronos Group Inc. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +flatbuffers + +Copyright 2018 Dan Field + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +flatbuffers + +Copyright 2018 Dan Field. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 Google Inc. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2018 Google Inc. All Rights Reserved. + +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +flatbuffers + +Copyright 2018 Google Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 Google Inc. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 Google LLC + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +glslang + +Copyright 2018 Google LLC. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 Google LLC. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 Google LLC. +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 Google, LLC + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +cpu_features + +Copyright 2018 IBM + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +cpu_features + +Copyright 2018 IBM. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +angle + +Copyright 2018 The ANGLE Project Authors. All rights reserved. + Use of this source code is governed by a BSD-style license that can be + found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2018 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2018 The Bazel Authors. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +zlib + +Copyright 2018 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the Chromium source repository LICENSE file. +-------------------------------------------------------------------------------- +accessibility +angle +skia + +Copyright 2018 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2018 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright 2018 The Go Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +re2 + +Copyright 2018 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +shaderc + +Copyright 2018 The Shaderc Authors. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +swiftshader + +Copyright 2018 The SwiftShader Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +swiftshader + +Copyright 2018 The SwiftShader Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +libcxx + +Copyright 2018 Ulf Adams +Copyright (c) Microsoft Corporation. All rights reserved. + +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +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, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google Inc. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +flatbuffers + +Copyright 2019 Google Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google Inc. and Adobe Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright 2019 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google LLC + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google LLC +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google LLC. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google LLC. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google LLC. +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google, LLC + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2019 The ANGLE Project Authors. All rights reserved. + Use of this source code is governed by a BSD-style license that can be + found in the LICENSE file. +-------------------------------------------------------------------------------- +angle +xxhash + +Copyright 2019 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2019 The ANGLE Project. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2019 The ANGLE project authors. All Rights Reserved. + +Use of this source code is governed by a BSD-style license +that can be found in the LICENSE file +-------------------------------------------------------------------------------- +angle + +Copyright 2019 The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +zlib + +Copyright 2019 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the Chromium source repository LICENSE file. +-------------------------------------------------------------------------------- +accessibility +dart +skia + +Copyright 2019 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +accessibility + +Copyright 2019 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +devtools + +Copyright 2019 The Flutter Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +flutter + +Copyright 2019 The Flutter Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2019 The Fuchsia Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2019 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle + +Copyright 2019 The Fuchsia Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright 2019 The Go Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +re2 + +Copyright 2019 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +shaderc + +Copyright 2019 The Shaderc Authors. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +swiftshader + +Copyright 2019 The SwiftShader Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +swiftshader + +Copyright 2019 The SwiftShader Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +swiftshader + +Copyright 2019 The SwiftShader Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +spirv-cross + +Copyright 2019-2021 Hans-Kristian Arntzen + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright 2020 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +flatbuffers + +Copyright 2020 Google Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright 2020 Google LLC + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2020 Google LLC. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2020 Google LLC. +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2020 Google, LLC + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2020 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2020 The ANGLE Project. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +abseil-cpp + +Copyright 2020 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +devtools + +Copyright 2020 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +accessibility +angle +perfetto +skia + +Copyright 2020 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +devtools + +Copyright 2020 The Flutter Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +process_runner + +Copyright 2020 The Flutter Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +process_runner + +Copyright 2020 The Flutter Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2020 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +angle +swiftshader + +Copyright 2020 The SwiftShader Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +swiftshader + +Copyright 2020 The SwiftShader Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright 2021 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2021 Google Inc. All Rights Reserved. + +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +flatbuffers + +Copyright 2021 Google Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright 2021 Google LLC + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2021 Google LLC. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2021 Google LLC. +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2021 Google, LLC + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2021 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2021 The ANGLE Project. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libjxl +skia +vulkan-deps + +Copyright 2021 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +devtools + +Copyright 2021 The Flutter Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2021 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +swiftshader + +Copyright 2021 The SwiftShader Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +io + +Copyright 2021, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2021-2022 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +vulkan-headers + +Copyright 2021-2025 The Khronos Group Inc. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +yapf + +Copyright 2022 Bill Wendling, All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright 2022 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2022 Google Inc. All Rights Reserved. + +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +flatbuffers + +Copyright 2022 Google Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +cpu_features + +Copyright 2022 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +flutter +skia + +Copyright 2022 Google LLC + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2022 Google LLC +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2022 Google LLC. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2022 Google LLC. +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2022 Google, LLC + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +cpu_features + +Copyright 2022 IBM + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +cpu_features + +Copyright 2022 IBM. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +angle + +Copyright 2022 The ANGLE Project Authors. All rights reserved. + Use of this source code is governed by a BSD-style license that can be + found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2022 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +zlib + +Copyright 2022 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the Chromium source repository LICENSE file. +-------------------------------------------------------------------------------- +zlib + +Copyright 2022 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +zlib + +Copyright 2022 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the chromium source repository LICENSE file. +-------------------------------------------------------------------------------- +dart +skia + +Copyright 2022 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +devtools + +Copyright 2022 The Flutter Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2022 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +re2 + +Copyright 2022 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +swiftshader + +Copyright 2022 The SwiftShader Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 Google Inc. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +flatbuffers + +Copyright 2023 Google Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +cpu_features + +Copyright 2023 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 Google LLC + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 Google LLC + +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 Google LLC +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 Google LLC. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 Google, LLC + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2023 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2023 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +devtools + +Copyright 2023 The Flutter Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2023 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +vulkan-tools +vulkan-utility-libraries + +Copyright 2023 The Khronos Group Inc. +Copyright 2023 Valve Corporation +Copyright 2023 LunarG, Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +re2 + +Copyright 2023 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +lunarg-vulkantools +vulkan-validation-layers + +Copyright 2023-2024 The Khronos Group Inc. +Copyright 2023-2024 Valve Corporation +Copyright 2023-2024 LunarG, Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +lunarg-vulkantools +vulkan-headers + +Copyright 2023-2025 The Khronos Group Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +vulkan-utility-libraries + +Copyright 2023-2025 The Khronos Group Inc. +Copyright 2023-2025 Valve Corporation +Copyright 2023-2025 LunarG, Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +vulkan-headers + +Copyright 2023-2025 The Khronos Group Inc. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +skia + +Copyright 2024 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +flatbuffers + +Copyright 2024 Google Inc. All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +skia + +Copyright 2024 Google LLC + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2024 Google LLC. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2024 Google LLC. +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2024 Google, LLC + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2024 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +devtools + +Copyright 2024 The Flutter Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2024 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia + +Copyright 2025 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright 2025 Google LLC + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +dawn +skia + +Copyright 2025 Google LLC + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2025 Google LLC +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2025 Google LLC. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart + +Copyright 2025 The Dart Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2025 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +spirv-tools + +Copyright 2025 The Khronos Group Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +angle + +Copyright The ANGLE Project Authors. All rights reserved. + Use of this source code is governed by a BSD-style license that can be + found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 1998-2004 David Turner and Werner Lemberg +Copyright © 2004,2007,2009 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Owen Taylor, Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 1998-2004 David Turner and Werner Lemberg +Copyright © 2004,2007,2009,2010 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Owen Taylor, Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 1998-2004 David Turner and Werner Lemberg +Copyright © 2006 Behdad Esfahbod +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2012,2013 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007 Chris Wilson +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Contributor(s): +Chris Wilson +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2010,2011,2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2010,2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2010,2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod, Garret Rieger + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2012,2013 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2012,2013 Google, Inc. +Copyright © 2019, Facebook Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod +Facebook Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2018,2019,2020 Ebrahim Byagowi +Copyright © 2018 Khaled Hosny + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2010,2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2010,2012,2013 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2012,2018 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2012,2018 Google, Inc. +Copyright © 2019 Facebook, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod +Facebook Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +swiftshader + +Copyright © 2008 Kristian Høgsberg + +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 (including the +next paragraph) 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. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2009 Keith Stribley +Copyright © 2011 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2009 Keith Stribley +Copyright © 2015 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2011 Codethink Limited +Copyright © 2010,2011,2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Codethink Author(s): Ryan Lortie +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2011 Codethink Limited +Copyright © 2011,2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Codethink Author(s): Ryan Lortie +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2011 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2011 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod, Roozbeh Pournader + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2015 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2018 Ebrahim Byagowi + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009 Red Hat, Inc. +Copyright © 2018 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2010,2011,2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2010,2011,2012,2013 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2010,2011,2013 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2010 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2010 Red Hat, Inc. +Copyright © 2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2010,2011 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2010,2011,2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2010,2011,2013 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2010,2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011 Martin Hosken +Copyright © 2011 SIL International + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011 Martin Hosken +Copyright © 2011 SIL International +Copyright © 2011,2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod, Roderick Sheeter + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2012 Google, Inc. +Copyright © 2018 Ebrahim Byagowi + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2012,2013 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2012,2013 Google, Inc. +Copyright © 2021 Khaled Hosny + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2012,2014 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2011,2014 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod, Roozbeh Pournader + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2012 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2012 Mozilla Foundation. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Mozilla Author(s): Jonathan Kew + +-------------------------------------------------------------------------------- +swiftshader + +Copyright © 2012 Intel Corporation + +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 (including the +next paragraph) 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. +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2012,2013 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2012,2013 Mozilla Foundation. +Copyright © 2012,2013 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Mozilla Author(s): Jonathan Kew +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2012,2017 Google, Inc. +Copyright © 2021 Behdad Esfahbod + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2012,2018 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2013 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2013 Red Hat, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2014 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2014 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod, Roozbeh Pournader + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2015 Google, Inc. +Copyright © 2019 Adobe Inc. +Copyright © 2019 Ebrahim Byagowi + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod, Garret Rieger, Roderick Sheeter +Adobe Author(s): Michiharu Ariza + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2015 Mozilla Foundation. +Copyright © 2015 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Mozilla Author(s): Jonathan Kew +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2015-2019 Ebrahim Byagowi + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2016 Elie Roux +Copyright © 2018 Google, Inc. +Copyright © 2018-2019 Ebrahim Byagowi + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2016 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2016 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Seigo Nonaka, Calder Kitagawa + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2016 Google, Inc. +Copyright © 2018 Ebrahim Byagowi + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Sascha Brawer + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2016 Google, Inc. +Copyright © 2018 Ebrahim Byagowi + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Sascha Brawer, Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2016 Google, Inc. +Copyright © 2018 Khaled Hosny +Copyright © 2018 Ebrahim Byagowi + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Sascha Brawer, Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2016 Igalia S.L. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Igalia Author(s): Frédéric Wang + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2017 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2017 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2017 Google, Inc. +Copyright © 2018 Ebrahim Byagowi + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2017 Google, Inc. +Copyright © 2019 Facebook, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod +Facebook Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2017,2018 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Ebrahim Byagowi + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Ebrahim Byagowi +Copyright © 2018 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Ebrahim Byagowi +Copyright © 2020 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Ebrahim Byagowi +Copyright © 2020 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Calder Kitagawa + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Ebrahim Byagowi. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Garret Rieger + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Garret Rieger, Rod Sheeter, Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Garret Rieger, Roderick Sheeter + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Rod Sheeter + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Google, Inc. +Copyright © 2019 Facebook, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod +Facebook Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Google, Inc. +Copyright © 2023 Behdad Esfahbod + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Garret Rieger, Roderick Sheeter + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Adobe Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Adobe Author(s): Michiharu Ariza + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Adobe Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Adobe Author(s): Michiharu Ariza +ifndef HB_CFF1_INTERP_CS_HH +define HB_CFF1_INTERP_CS_HH +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Adobe Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Adobe Author(s): Michiharu Ariza +ifndef HB_CFF2_INTERP_CS_HH +define HB_CFF2_INTERP_CS_HH +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Adobe Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Adobe Author(s): Michiharu Ariza +ifndef HB_CFF_INTERP_COMMON_HH +define HB_CFF_INTERP_COMMON_HH +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Adobe Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Adobe Author(s): Michiharu Ariza +ifndef HB_CFF_INTERP_CS_COMMON_HH +define HB_CFF_INTERP_CS_COMMON_HH +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Adobe Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Adobe Author(s): Michiharu Ariza +ifndef HB_CFF_INTERP_DICT_COMMON_HH +define HB_CFF_INTERP_DICT_COMMON_HH +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018 Adobe Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Adobe Author(s): Michiharu Ariza +ifndef HB_OT_CFF_COMMON_HH +define HB_OT_CFF_COMMON_HH +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2018-2019 Ebrahim Byagowi + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019 Adobe Inc. +Copyright © 2019 Ebrahim Byagowi + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Adobe Author(s): Michiharu Ariza + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019 Adobe, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Adobe Author(s): Michiharu Ariza + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019 Ebrahim Byagowi + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019 Ebrahim Byagowi + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019 Facebook, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Facebook Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019 Adobe Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Adobe Author(s): Michiharu Ariza + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2019-2020 Ebrahim Byagowi + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2020 Ebrahim Byagowi + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2020 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Garret Rieger + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2020 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +include "hb-ot-var-common.hh" +include "hb-ot-var-hvar-table.hh" +HVAR table data from SourceSerif4Variable-Roman_subset.otf +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2020 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +include "hb-ot-var-cvar-table.hh" +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2021 Behdad Esfahbod + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2021 Behdad Esfahbod + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2021 Behdad Esfahbod. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2021 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Behdad Esfahbod + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Behdad Esfahbod + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Behdad Esfahbod + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Garret Rieger + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Red Hat, Inc + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Matthias Clasen + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Red Hat, Inc +Copyright © 2021, 2022 Black Foundry + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Matthias Clasen + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Red Hat, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Matthias Clasen + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Behdad Esfahbod + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Behdad Esfahbod + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +ifndef HB_GEOMETRY_HH +define HB_GEOMETRY_HH +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Matthias Clasen + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2022 Red Hat, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Matthias Clasen + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2023 Behdad Esfahbod + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2023 Behdad Esfahbod +Copyright © 1999 David Turner +Copyright © 2005 Werner Lemberg +Copyright © 2013-2015 Alexei Podtelezhnikov + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2023 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2023 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Qunxin Liu + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2024 David Corbett + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2024 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2024 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2024 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2025 Google, Inc. + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +harfbuzz + +Copyright © 2025 Behdad Esfahbod + + This is part of HarfBuzz, a text shaping library. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Author(s): Behdad Esfahbod + +-------------------------------------------------------------------------------- +glslang + +Copyright(C) 2021 Advanced Micro Devices, Inc. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +harfbuzz + +HarfBuzz is licensed under the so-called "Old MIT" license. Details follow. +For parts of HarfBuzz that are licensed under different licenses see individual +files names COPYING in subdirectories where applicable. + +Copyright © 2010-2022 Google, Inc. +Copyright © 2015-2020 Ebrahim Byagowi +Copyright © 2019,2020 Facebook, Inc. +Copyright © 2012,2015 Mozilla Foundation +Copyright © 2011 Codethink Limited +Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) +Copyright © 2009 Keith Stribley +Copyright © 2011 Martin Hosken and SIL International +Copyright © 2007 Chris Wilson +Copyright © 2005,2006,2020,2021,2022,2023 Behdad Esfahbod +Copyright © 2004,2007,2008,2009,2010,2013,2021,2022,2023 Red Hat, Inc. +Copyright © 1998-2005 David Turner and Werner Lemberg +Copyright © 2016 Igalia S.L. +Copyright © 2022 Matthias Clasen +Copyright © 2018,2021 Khaled Hosny +Copyright © 2018,2019,2020 Adobe, Inc +Copyright © 2013-2015 Alexei Podtelezhnikov + +For full copyright notices consult the individual files in the package. + + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +fallback_root_certificates + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. + +-------------------------------------------------------------------------------- +libpng + +PNG Reference Library License version 2 +--------------------------------------- + + * Copyright (c) 1995-2024 The PNG Reference Library Authors. + * Copyright (c) 2018-2024 Cosmin Truta. + * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. + * Copyright (c) 1996-1997 Andreas Dilger. + * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +The software is supplied "as is", without warranty of any kind, +express or implied, including, without limitation, the warranties +of merchantability, fitness for a particular purpose, title, and +non-infringement. In no event shall the Copyright owners, or +anyone distributing the software, be liable for any damages or +other liability, whether in contract, tort or otherwise, arising +from, out of, or in connection with the software, or the use or +other dealings in the software, even if advised of the possibility +of such damage. + +Permission is hereby granted to use, copy, modify, and distribute +this software, or portions hereof, for any purpose, without fee, +subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you + must not claim that you wrote the original software. If you + use this software in a product, an acknowledgment in the product + documentation would be appreciated, but is not required. + + 2. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + + +PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) +----------------------------------------------------------------------- + +libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are +Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are +derived from libpng-1.0.6, and are distributed according to the same +disclaimer and license as libpng-1.0.6 with the following individuals +added to the list of Contributing Authors: + + Simon-Pierre Cadieux + Eric S. Raymond + Mans Rullgard + Cosmin Truta + Gilles Vollant + James Yu + Mandar Sahastrabuddhe + Google Inc. + Vadim Barkov + +and with the following additions to the disclaimer: + + There is no warranty against interference with your enjoyment of + the library or against infringement. There is no warranty that our + efforts or the library will fulfill any of your particular purposes + or needs. This library is provided with all faults, and the entire + risk of satisfactory quality, performance, accuracy, and effort is + with the user. + +Some files in the "contrib" directory and some configure-generated +files that are distributed with libpng have other copyright owners, and +are released under other open source licenses. + +libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are +Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from +libpng-0.96, and are distributed according to the same disclaimer and +license as libpng-0.96, with the following individuals added to the +list of Contributing Authors: + + Tom Lane + Glenn Randers-Pehrson + Willem van Schaik + +libpng versions 0.89, June 1996, through 0.96, May 1997, are +Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, +and are distributed according to the same disclaimer and license as +libpng-0.88, with the following individuals added to the list of +Contributing Authors: + + John Bowler + Kevin Bracey + Sam Bushell + Magnus Holmgren + Greg Roelofs + Tom Tanner + +Some files in the "scripts" directory have other copyright owners, +but are released under this license. + +libpng versions 0.5, May 1995, through 0.88, January 1996, are +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +For the purposes of this copyright and license, "Contributing Authors" +is defined as the following set of individuals: + + Andreas Dilger + Dave Martindale + Guy Eric Schalnat + Paul Schmidt + Tim Wegner + +The PNG Reference Library is supplied "AS IS". The Contributing +Authors and Group 42, Inc. disclaim all warranties, expressed or +implied, including, without limitation, the warranties of +merchantability and of fitness for any purpose. The Contributing +Authors and Group 42, Inc. assume no liability for direct, indirect, +incidental, special, exemplary, or consequential damages, which may +result from the use of the PNG Reference Library, even if advised of +the possibility of such damage. + +Permission is hereby granted to use, copy, modify, and distribute this +source code, or portions hereof, for any purpose, without fee, subject +to the following restrictions: + + 1. The origin of this source code must not be misrepresented. + + 2. Altered versions must be plainly marked as such and must not + be misrepresented as being the original source. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + +The Contributing Authors and Group 42, Inc. specifically permit, +without fee, and encourage the use of this source code as a component +to supporting the PNG file format in commercial products. If you use +this source code in a product, acknowledgment is not required but would +be appreciated. + +-------------------------------------------------------------------------------- +libpng + +PNG Reference Library License version 2 +--------------------------------------- + + * Copyright (c) 1995-2024 The PNG Reference Library Authors. + * Copyright (c) 2018-2024 Cosmin Truta. + * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. + * Copyright (c) 1996-1997 Andreas Dilger. + * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +The software is supplied "as is", without warranty of any kind, +express or implied, including, without limitation, the warranties +of merchantability, fitness for a particular purpose, title, and +non-infringement. In no event shall the Copyright owners, or +anyone distributing the software, be liable for any damages or +other liability, whether in contract, tort or otherwise, arising +from, out of, or in connection with the software, or the use or +other dealings in the software, even if advised of the possibility +of such damage. + +Permission is hereby granted to use, copy, modify, and distribute +this software, or portions hereof, for any purpose, without fee, +subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you + must not claim that you wrote the original software. If you + use this software in a product, an acknowledgment in the product + documentation would be appreciated, but is not required. + + 2. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + + +PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) +----------------------------------------------------------------------- + +libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are +Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are +derived from libpng-1.0.6, and are distributed according to the same +disclaimer and license as libpng-1.0.6 with the following individuals +added to the list of Contributing Authors: + + Simon-Pierre Cadieux + Eric S. Raymond + Mans Rullgard + Cosmin Truta + Gilles Vollant + James Yu + Mandar Sahastrabuddhe + Google Inc. + Vadim Barkov + +and with the following additions to the disclaimer: + + There is no warranty against interference with your enjoyment of + the library or against infringement. There is no warranty that our + efforts or the library will fulfill any of your particular purposes + or needs. This library is provided with all faults, and the entire + risk of satisfactory quality, performance, accuracy, and effort is + with the user. + +Some files in the "contrib" directory and some configure-generated +files that are distributed with libpng have other copyright owners, and +are released under other open source licenses. + +libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are +Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from +libpng-0.96, and are distributed according to the same disclaimer and +license as libpng-0.96, with the following individuals added to the +list of Contributing Authors: + + Tom Lane + Glenn Randers-Pehrson + Willem van Schaik + +libpng versions 0.89, June 1996, through 0.96, May 1997, are +Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, +and are distributed according to the same disclaimer and license as +libpng-0.88, with the following individuals added to the list of +Contributing Authors: + + John Bowler + Kevin Bracey + Sam Bushell + Magnus Holmgren + Greg Roelofs + Tom Tanner + +Some files in the "scripts" directory have other copyright owners, +but are released under this license. + +libpng versions 0.5, May 1995, through 0.88, January 1996, are +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +For the purposes of this copyright and license, "Contributing Authors" +is defined as the following set of individuals: + + Andreas Dilger + Dave Martindale + Guy Eric Schalnat + Paul Schmidt + Tim Wegner + +The PNG Reference Library is supplied "AS IS". The Contributing +Authors and Group 42, Inc. disclaim all warranties, expressed or +implied, including, without limitation, the warranties of +merchantability and of fitness for any purpose. The Contributing +Authors and Group 42, Inc. assume no liability for direct, indirect, +incidental, special, exemplary, or consequential damages, which may +result from the use of the PNG Reference Library, even if advised of +the possibility of such damage. + +Permission is hereby granted to use, copy, modify, and distribute this +source code, or portions hereof, for any purpose, without fee, subject +to the following restrictions: + + 1. The origin of this source code must not be misrepresented. + + 2. Altered versions must be plainly marked as such and must not + be misrepresented as being the original source. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + +The Contributing Authors and Group 42, Inc. specifically permit, +without fee, and encourage the use of this source code as a component +to supporting the PNG file format in commercial products. If you use +this source code in a product, acknowledgment is not required but would +be appreciated. + +END OF COPYRIGHT NOTICE, DISCLAIMER, and LICENSE. + +TRADEMARK +========= + +The name "libpng" has not been registered by the Copyright owners +as a trademark in any jurisdiction. However, because libpng has +been distributed and maintained world-wide, continually since 1995, +the Copyright owners claim "common-law trademark protection" in any +jurisdiction where common-law trademark is recognized. + +-------------------------------------------------------------------------------- +libjpeg-turbo + +Portions of this code are based on the PBMPLUS library, which is: + +Copyright (C) 1988 by Jef Poskanzer. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. This software is provided "as is" without express or +implied warranty. +-------------------------------------------------------------------------------- +expat + +Read an XML document from standard input and print +element declarations (if any) to standard output. +It must be used with Expat compiled for UTF-8 output. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2001-2003 Fred L. Drake, Jr. +Copyright (c) 2004-2006 Karl Waclawek +Copyright (c) 2005-2007 Steven Solie +Copyright (c) 2016-2024 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2019 Zhongyuan Zhou +Copyright (c) 2024 Hanno Böck +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +Read an XML document from standard input and print an element +outline on standard output. +Must be used with Expat compiled for UTF-8 output. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 2000 Clark Cooper +Copyright (c) 2001-2003 Fred L. Drake, Jr. +Copyright (c) 2005-2007 Steven Solie +Copyright (c) 2005-2006 Karl Waclawek +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +rapidjson + +Tencent is pleased to support the open source community by making RapidJSON available-> + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip-> All rights reserved-> + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License-> You may obtain a copy of the License at + +http://opensource->org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied-> See the License for the +specific language governing permissions and limitations under the License-> +-------------------------------------------------------------------------------- +rapidjson + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. +-------------------------------------------------------------------------------- +rapidjson + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. +-------------------------------------------------------------------------------- +rapidjson + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +If you have downloaded a copy of the RapidJSON binary from Tencent, please note that the RapidJSON binary is licensed under the MIT License. +If you have downloaded a copy of the RapidJSON source code from Tencent, please note that RapidJSON source code is licensed under the MIT License, except for the third-party components listed below which are subject to different license terms. Your integration of RapidJSON into your own projects may require compliance with the MIT License, as well as the other licenses applicable to the third-party components included within RapidJSON. + +A copy of the MIT License is included in this file. + +Other dependencies and licenses: + +Open Source Software Licensed Under the BSD License: +-------------------------------------------------------------------- + +The msinttypes r29 +Copyright (c) 2006-2013 Alexander Chemeris +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +* Neither the name of copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +Terms of the MIT License: +-------------------------------------------------------------------- + +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. +-------------------------------------------------------------------------------- +fiat + +The Apache License, Version 2.0 (Apache-2.0) + +Copyright 2015-2020 the fiat-crypto authors (see the AUTHORS file) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +rapidjson + +The above software in this distribution may have been modified by +THL A29 Limited ("Tencent Modifications"). +All Tencent Modifications are Copyright (C) 2015 THL A29 Limited. +-------------------------------------------------------------------------------- +re2 + +The authors of this software are Rob Pike and Ken Thompson. + Copyright (c) 2002 by Lucent Technologies. +Permission to use, copy, modify, and distribute this software for any +purpose without fee is hereby granted, provided that this entire notice +is included in all copies of any software which is or includes a copy +or modification of this software and in all copies of the supporting +documentation for such software. +THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED +WARRANTY. IN PARTICULAR, NEITHER THE AUTHORS NOR LUCENT TECHNOLOGIES MAKE ANY +REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY +OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +The majority of files in this project use the Apache 2.0 License. +There are a few exceptions and their license can be found in the source. +Any license deviations from Apache 2.0 are "more permissive" licenses. +Any file without a license in it's source defaults to the repository Apache 2.0 License. + +=========================================================================================== + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-------------------------------------------------------------------------------- +sqlite + +The source code for SQLite is in the public domain. No claim of +copyright is made on any part of the core source code. (The +documentation and test code is a different matter - some sections of +documentation and test logic are governed by open-source licenses.) +All contributors to the SQLite core software have signed affidavits +specifically disavowing any copyright interest in the code. This means +that anybody is able to legally do anything they want with the SQLite +source code. + +There are other SQL database engines with liberal licenses that allow +the code to be broadly and freely used. But those other engines are +still governed by copyright law. SQLite is different in that copyright +law simply does not apply. + +The source code files for other SQL database engines typically begin +with a comment describing your legal rights to view and copy that +file. The SQLite source code contains no license since it is not +governed by copyright. Instead of a license, the SQLite source code +offers a blessing: + +May you do good and not evil +May you find forgiveness for yourself and forgive others +May you share freely, never taking more than you give. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This code is loosely based on ppmtogif from the PBMPLUS distribution +of Feb. 1991. That file contains the following copyright notice: + Based on GIFENCODE by David Rowley . + Lempel-Ziv compression based on "compress" by Spencer W. Thomas et al. + Copyright (C) 1989 by Jef Poskanzer. + Permission to use, copy, modify, and distribute this software and its + documentation for any purpose and without fee is hereby granted, provided + that the above copyright notice appear in all copies and that both that + copyright notice and this permission notice appear in supporting + documentation. This software is provided "as is" without express or + implied warranty. + +We are also required to state that + "The Graphics Interchange Format(c) is the Copyright property of + CompuServe Incorporated. GIF(sm) is a Service Mark property of + CompuServe Incorporated." +-------------------------------------------------------------------------------- +expat + +This file is included (from xmltok.c, 1-3 times depending on XML_MIN_SIZE)! +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2002-2016 Karl Waclawek +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2018 Benjamin Peterson +Copyright (c) 2018 Anton Maklakov +Copyright (c) 2019 David Loffredo +Copyright (c) 2020 Boris Kolpackov +Copyright (c) 2022 Martin Ettl +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +This file is included! +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Greg Stein +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2002-2006 Karl Waclawek +Copyright (c) 2017-2021 Sebastian Pipping +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +icu + +This file was generated from RFC 3454 (http://www.ietf.org/rfc/rfc3454.txt) +Copyright (C) The Internet Society (2002). All Rights Reserved. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1994, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1995, Thomas G. Lane. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code +relevant to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code and +information relevant to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +Modified 2009 by Guido Vollbeding. +It was modified by The libjpeg-turbo Project to include only code and +information relevant to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2009, 2014-2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2009, 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2009-2012, 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2010, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright 2009 Pierre Ossman for Cendio AB +Copyright (C) 2009-2012, 2015, D. R. Commander. +Copyright (C) 2014, MIPS Technologies, Inc., California. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright 2009 Pierre Ossman for Cendio AB +Copyright (C) 2010, 2015-2016, D. R. Commander. +Copyright (C) 2014, MIPS Technologies, Inc., California. +Copyright (C) 2015, Google, Inc. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright 2009 Pierre Ossman for Cendio AB +Copyright (C) 2014, MIPS Technologies, Inc., California. +Copyright (C) 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +Modifications: +Copyright (C) 2013, Linaro Limited. +Copyright (C) 2014-2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +Modified 1997-2009 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2009, 2011, 2014-2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +Modified 1997-2009 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2015-2016, D. R. Commander. +Copyright (C) 2015, Google, Inc. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +Modified 2002-2009 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2009-2011, 2016, D. R. Commander. +Copyright (C) 2013, Linaro Limited. +Copyright (C) 2015, Google, Inc. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +Modified 2003-2010 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2010, 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +Modified 2009 by Bill Allombert, Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2015, 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +Modified 2011 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright 2009 Pierre Ossman for Cendio AB +Copyright (C) 2009, 2011-2012, 2014-2015, D. R. Commander. +Copyright (C) 2013, Linaro Limited. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +Modified 2013 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2010-2011, 2013-2016, D. R. Commander. +Copyright (C) 2015, Google, Inc. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2009, 2011, 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2009-2011, 2014-2016, D. R. Commander. +Copyright (C) 2015, Matthieu Darbois. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2009-2011, 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2010, 2016, D. R. Commander. +Copyright (C) 2015, Google, Inc. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2010-2011, 2015-2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1998, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1998, Thomas G. Lane. +Modified 2002-2009 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2009-2011, 2013-2014, 2016, D. R. Commander. +Copyright (C) 2015, Google, Inc. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1998, Thomas G. Lane. +Modified 2003-2008 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2009-2011, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1998, Thomas G. Lane. +Modified 2003-2010 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2010, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1998, Thomas G. Lane. +Modified 2003-2011 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2010, 2013-2014, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1998, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2012, 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1998, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2013, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding. +It was modified by The libjpeg-turbo Project to include only information +relevant to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2010, 2012-2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1992-1996, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code and +information relevant to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1992-1997, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code and +information relevant to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994, Thomas G. Lane. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +Modified 2002-2010 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright 2009 Pierre Ossman for Cendio AB +Copyright (C) 2010, 2015, D. R. Commander. +Copyright (C) 2013, MIPS Technologies, Inc., California. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +Modified 2009-2010 by Guido Vollbeding. +libjpeg-turbo Modifications: +Modified 2011 by Siarhei Siamashka. +Copyright (C) 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +Modified 2009-2011 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2011, 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +Modified 2009-2011 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2013, 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +Modified 2009-2012 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2011, 2014, 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +Modified 2009-2012 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2013, 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 1999-2006, MIYASAKA Masaru. +Copyright 2009 Pierre Ossman for Cendio AB +Copyright (C) 2011, 2014-2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2010, 2015-2016, D. R. Commander. +Copyright (C) 2015, Google, Inc. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2010, 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2011, 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2013, Linaro Limited. +Copyright (C) 2014-2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright 2009 Pierre Ossman for Cendio AB +Copyright (C) 2009, 2011, 2014-2015, D. R. Commander. +Copyright (C) 2013, Linaro Limited. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1997, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code and +information relevant to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1997, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1997, Thomas G. Lane. +Modified 1997-2009 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2014, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1997, Thomas G. Lane. +Modified 2009 by Bill Allombert, Guido Vollbeding. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2014, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright 2009 Pierre Ossman for Cendio AB +Copyright (C) 2010, 2015-2016, D. R. Commander. +Copyright (C) 2015, Google, Inc. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright 2009 Pierre Ossman for Cendio AB +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1998, Thomas G. Lane. +Modified 2003-2010 by Guido Vollbeding. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1998, Thomas G. Lane. +Modified 2010 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2014, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1998, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1998, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1995-1997, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1995-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1995-1998, Thomas G. Lane. +Modified 2000-2009 by Guido Vollbeding. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1995-2010, Thomas G. Lane, Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2010, 2014, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1997-2011, Thomas G. Lane, Guido Vollbeding. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo + +This file was part of the Independent JPEG Group's software: +Copyright (C) 1997-2011, Thomas G. Lane, Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2010, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +expat + +This is simple demonstration of how to use expat. This program +reads an XML document from standard input and writes a line with +the name of each element to standard output indenting child +elements by one tab stop more than their parent element. +It must be used with Expat compiled for UTF-8 output. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2001-2003 Fred L. Drake, Jr. +Copyright (c) 2004-2006 Karl Waclawek +Copyright (c) 2005-2007 Steven Solie +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2019 Zhongyuan Zhou +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +freetype2 + +This software was written by Alexander Peslyak in 2001. No copyright is +claimed, and the software is hereby placed in the public domain. +In case this attempt to disclaim copyright and place the software in the +public domain is deemed null and void, then the software is +Copyright (c) 2001 Alexander Peslyak and it is hereby released to the +general public under the following terms: + +Redistribution and use in source and binary forms, with or without +modification, are permitted. + +There's ABSOLUTELY NO WARRANTY, express or implied. +-------------------------------------------------------------------------------- +icu + +UNICODE LICENSE V3 + +COPYRIGHT AND PERMISSION NOTICE + +Copyright © 2016-2023 Unicode, Inc. + +NOTICE TO USER: Carefully read the following legal agreement. BY +DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR +SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE +TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT +DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. + +---------------------------------------------------------------------- + +Third-Party Software Licenses + +This section contains third-party software notices and/or additional +terms for licensed third-party software components included within ICU +libraries. + +---------------------------------------------------------------------- + +ICU License - ICU 1.8.1 to ICU 57.1 + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2016 International Business Machines Corporation and others +All rights reserved. + +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, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, provided that the above +copyright notice(s) and this permission notice appear in all copies of +the Software and that both the above copyright notice(s) and this +permission notice appear in supporting documentation. + +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 +OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY +SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +of the copyright holder. + +All trademarks and registered trademarks mentioned herein are the +property of their respective owners. + +---------------------------------------------------------------------- + +Chinese/Japanese Word Break Dictionary Data (cjdict.txt) + + # The Google Chrome software developed by Google is licensed under + # the BSD license. Other software included in this distribution is + # provided under other licenses, as set forth below. + # + # The BSD License + # http://opensource.org/licenses/bsd-license.php + # Copyright (C) 2006-2008, Google Inc. + # + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions are met: + # + # Redistributions of source code must retain the above copyright notice, + # this list of conditions and the following disclaimer. + # Redistributions in binary form must reproduce the above + # copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided with + # the distribution. + # Neither the name of Google Inc. nor the names of its + # contributors may be used to endorse or promote products derived from + # this software without specific prior written permission. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # + # + # The word list in cjdict.txt are generated by combining three word lists + # listed below with further processing for compound word breaking. The + # frequency is generated with an iterative training against Google web + # corpora. + # + # * Libtabe (Chinese) + # - https://sourceforge.net/project/?group_id=1519 + # - Its license terms and conditions are shown below. + # + # * IPADIC (Japanese) + # - http://chasen.aist-nara.ac.jp/chasen/distribution.html + # - Its license terms and conditions are shown below. + # + # ---------COPYING.libtabe ---- BEGIN-------------------- + # + # /* + # * Copyright (c) 1999 TaBE Project. + # * Copyright (c) 1999 Pai-Hsiang Hsiao. + # * All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the TaBE Project nor the names of its + # * contributors may be used to endorse or promote products derived + # * from this software without specific prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # /* + # * Copyright (c) 1999 Computer Systems and Communication Lab, + # * Institute of Information Science, Academia + # * Sinica. All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the Computer Systems and Communication Lab + # * nor the names of its contributors may be used to endorse or + # * promote products derived from this software without specific + # * prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # Copyright 1996 Chih-Hao Tsai @ Beckman Institute, + # University of Illinois + # c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4 + # + # ---------------COPYING.libtabe-----END-------------------------------- + # + # + # ---------------COPYING.ipadic-----BEGIN------------------------------- + # + # Copyright 2000, 2001, 2002, 2003 Nara Institute of Science + # and Technology. All Rights Reserved. + # + # Use, reproduction, and distribution of this software is permitted. + # Any copy of this software, whether in its original form or modified, + # must include both the above copyright notice and the following + # paragraphs. + # + # Nara Institute of Science and Technology (NAIST), + # the copyright holders, disclaims all warranties with regard to this + # software, including all implied warranties of merchantability and + # fitness, in no event shall NAIST be liable for + # any special, indirect or consequential damages or any damages + # whatsoever resulting from loss of use, data or profits, whether in an + # action of contract, negligence or other tortuous action, arising out + # of or in connection with the use or performance of this software. + # + # A large portion of the dictionary entries + # originate from ICOT Free Software. The following conditions for ICOT + # Free Software applies to the current dictionary as well. + # + # Each User may also freely distribute the Program, whether in its + # original form or modified, to any third party or parties, PROVIDED + # that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear + # on, or be attached to, the Program, which is distributed substantially + # in the same form as set out herein and that such intended + # distribution, if actually made, will neither violate or otherwise + # contravene any of the laws and regulations of the countries having + # jurisdiction over the User or the intended distribution itself. + # + # NO WARRANTY + # + # The program was produced on an experimental basis in the course of the + # research and development conducted during the project and is provided + # to users as so produced on an experimental basis. Accordingly, the + # program is provided without any warranty whatsoever, whether express, + # implied, statutory or otherwise. The term "warranty" used herein + # includes, but is not limited to, any warranty of the quality, + # performance, merchantability and fitness for a particular purpose of + # the program and the nonexistence of any infringement or violation of + # any right of any third party. + # + # Each user of the program will agree and understand, and be deemed to + # have agreed and understood, that there is no warranty whatsoever for + # the program and, accordingly, the entire risk arising from or + # otherwise connected with the program is assumed by the user. + # + # Therefore, neither ICOT, the copyright holder, or any other + # organization that participated in or was otherwise related to the + # development of the program and their respective officials, directors, + # officers and other employees shall be held liable for any and all + # damages, including, without limitation, general, special, incidental + # and consequential damages, arising out of or otherwise in connection + # with the use or inability to use the program or any product, material + # or result produced or otherwise obtained by using the program, + # regardless of whether they have been advised of, or otherwise had + # knowledge of, the possibility of such damages at any time during the + # project or thereafter. Each user will be deemed to have agreed to the + # foregoing by his or her commencement of use of the program. The term + # "use" as used herein includes, but is not limited to, the use, + # modification, copying and distribution of the program and the + # production of secondary products from the program. + # + # In the case where the program, whether in its original form or + # modified, was distributed or delivered to or received by a user from + # any person, organization or entity other than ICOT, unless it makes or + # grants independently of ICOT any specific warranty to the user in + # writing, such person, organization or entity, will also be exempted + # from and not be held liable to the user for any such damages as noted + # above as far as the program is concerned. + # + # ---------------COPYING.ipadic-----END---------------------------------- + +---------------------------------------------------------------------- + +Lao Word Break Dictionary Data (laodict.txt) + + # Copyright (C) 2016 and later: Unicode, Inc. and others. + # License & terms of use: http://www.unicode.org/copyright.html + # Copyright (c) 2015 International Business Machines Corporation + # and others. All Rights Reserved. + # + # Project: https://github.com/rober42539/lao-dictionary + # Dictionary: https://github.com/rober42539/lao-dictionary/laodict.txt + # License: https://github.com/rober42539/lao-dictionary/LICENSE.txt + # (copied below) + # + # This file is derived from the above dictionary version of Nov 22, 2020 + # ---------------------------------------------------------------------- + # Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell. + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions are met: + # + # Redistributions of source code must retain the above copyright notice, this + # list of conditions and the following disclaimer. Redistributions in binary + # form must reproduce the above copyright notice, this list of conditions and + # the following disclaimer in the documentation and/or other materials + # provided with the distribution. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # OF THE POSSIBILITY OF SUCH DAMAGE. + # -------------------------------------------------------------------------- + +---------------------------------------------------------------------- + +Burmese Word Break Dictionary Data (burmesedict.txt) + + # Copyright (c) 2014 International Business Machines Corporation + # and others. All Rights Reserved. + # + # This list is part of a project hosted at: + # github.com/kanyawtech/myanmar-karen-word-lists + # + # -------------------------------------------------------------------------- + # Copyright (c) 2013, LeRoy Benjamin Sharon + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions + # are met: Redistributions of source code must retain the above + # copyright notice, this list of conditions and the following + # disclaimer. Redistributions in binary form must reproduce the + # above copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided + # with the distribution. + # + # Neither the name Myanmar Karen Word Lists, nor the names of its + # contributors may be used to endorse or promote products derived + # from this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS + # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + # SUCH DAMAGE. + # -------------------------------------------------------------------------- + +---------------------------------------------------------------------- + +Time Zone Database + + ICU uses the public domain data and code derived from Time Zone +Database for its time zone support. The ownership of the TZ database +is explained in BCP 175: Procedure for Maintaining the Time Zone +Database section 7. + + # 7. Database Ownership + # + # The TZ database itself is not an IETF Contribution or an IETF + # document. Rather it is a pre-existing and regularly updated work + # that is in the public domain, and is intended to remain in the + # public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do + # not apply to the TZ Database or contributions that individuals make + # to it. Should any claims be made and substantiated against the TZ + # Database, the organization that is providing the IANA + # Considerations defined in this RFC, under the memorandum of + # understanding with the IETF, currently ICANN, may act in accordance + # with all competent court orders. No ownership claims will be made + # by ICANN or the IETF Trust on the database or the code. Any person + # making a contribution to the database or code waives all rights to + # future claims in that contribution or in the TZ Database. + +---------------------------------------------------------------------- + +Google double-conversion + +Copyright 2006-2011, the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +---------------------------------------------------------------------- + + +File: install-sh (only for ICU4C) + + +Copyright 1991 by the Massachusetts Institute of Technology + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of M.I.T. not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. M.I.T. makes no representations about the +suitability of this software for any purpose. It is provided "as is" +without express or implied warranty. + +-------------------------------------------------------------------------------- +libcxx + +UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE + +See Terms of Use +for definitions of Unicode Inc.'s Data Files and Software. + +NOTICE TO USER: Carefully read the following legal agreement. +BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S +DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), +YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE +TERMS AND CONDITIONS OF THIS AGREEMENT. +IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE +THE DATA FILES OR SOFTWARE. + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1991-2022 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE 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 OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. +-------------------------------------------------------------------------------- +llvm_libc + +University of Illinois/NCSA +Open Source License + +Copyright (c) 2007-2019 University of Illinois at Urbana-Champaign. +All rights reserved. + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +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: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +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 +CONTRIBUTORS 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 WITH THE +SOFTWARE. +-------------------------------------------------------------------------------- +libcxx +libcxxabi + +University of Illinois/NCSA +Open Source License + +Copyright (c) 2009-2019 by the contributors listed in CREDITS.TXT + +All rights reserved. + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +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: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +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 +CONTRIBUTORS 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 WITH THE +SOFTWARE. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2000-2004 Fred L. Drake, Jr. +Copyright (c) 2001-2002 Greg Stein +Copyright (c) 2002-2006 Karl Waclawek +Copyright (c) 2016 Cristian Rodríguez +Copyright (c) 2016-2019 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2018 Yury Gribov +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2000-2005 Fred L. Drake, Jr. +Copyright (c) 2001-2002 Greg Stein +Copyright (c) 2002-2016 Karl Waclawek +Copyright (c) 2016-2025 Sebastian Pipping +Copyright (c) 2016 Cristian Rodríguez +Copyright (c) 2016 Thomas Beutlich +Copyright (c) 2017 Rhodri James +Copyright (c) 2022 Thijs Schreijer +Copyright (c) 2023 Hanno Böck +Copyright (c) 2023 Sony Corporation / Snild Dolkow +Copyright (c) 2024 Taichi Haradaguchi <20001722@ymail.ne.jp> +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2001-2002 Fred L. Drake, Jr. +Copyright (c) 2006 Karl Waclawek +Copyright (c) 2016-2017 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2001-2003 Fred L. Drake, Jr. +Copyright (c) 2002 Greg Stein +Copyright (c) 2002-2016 Karl Waclawek +Copyright (c) 2005-2009 Steven Solie +Copyright (c) 2016-2024 Sebastian Pipping +Copyright (c) 2016 Pascal Cuoq +Copyright (c) 2016 Don Lewis +Copyright (c) 2017 Rhodri James +Copyright (c) 2017 Alexander Bluhm +Copyright (c) 2017 Benbuck Nason +Copyright (c) 2017 José Gutiérrez de la Concha +Copyright (c) 2019 David Loffredo +Copyright (c) 2021 Donghee Na +Copyright (c) 2022 Martin Ettl +Copyright (c) 2022 Sean McBride +Copyright (c) 2023 Hanno Böck +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2001-2003 Fred L. Drake, Jr. +Copyright (c) 2004-2009 Karl Waclawek +Copyright (c) 2005-2007 Steven Solie +Copyright (c) 2016-2023 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2019 David Loffredo +Copyright (c) 2020 Joe Orton +Copyright (c) 2020 Kleber Tarcísio +Copyright (c) 2021 Tim Bray +Copyright (c) 2022 Martin Ettl +Copyright (c) 2022 Sean McBride +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2001-2004 Fred L. Drake, Jr. +Copyright (c) 2002-2009 Karl Waclawek +Copyright (c) 2016-2017 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2017 Franek Korta +Copyright (c) 2022 Sean McBride +Copyright (c) 2025 Hanno Böck +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2002-2005 Karl Waclawek +Copyright (c) 2016-2024 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2005 Karl Waclawek +Copyright (c) 2016-2023 Sebastian Pipping +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2005-2006 Karl Waclawek +Copyright (c) 2016-2019 Sebastian Pipping +Copyright (c) 2019 David Loffredo +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2016-2017 Sebastian Pipping +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2022 Martin Ettl +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2016-2024 Sebastian Pipping +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2017 Sebastian Pipping +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Greg Stein +Copyright (c) 2002-2006 Karl Waclawek +Copyright (c) 2002-2003 Fred L. Drake, Jr. +Copyright (c) 2005-2009 Steven Solie +Copyright (c) 2016-2023 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2019 David Loffredo +Copyright (c) 2021 Donghee Na +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Karl Waclawek +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2017-2024 Sebastian Pipping +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002-2003 Fred L. Drake, Jr. +Copyright (c) 2004-2006 Karl Waclawek +Copyright (c) 2005-2007 Steven Solie +Copyright (c) 2016-2023 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2019 David Loffredo +Copyright (c) 2021 Donghee Na +Copyright (c) 2024 Hanno Böck +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2017-2019 Sebastian Pipping +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2016-2017 Sebastian Pipping +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2016-2018 Sebastian Pipping +Copyright (c) 2018 Marco Maggi +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2016-2021 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1999-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2007 Karl Waclawek +Copyright (c) 2017 Sebastian Pipping +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Greg Stein +Copyright (c) 2005 Karl Waclawek +Copyright (c) 2017-2023 Sebastian Pipping +Copyright (c) 2023 Orgad Shaneh +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 2000 Clark Cooper +Copyright (c) 2017 Sebastian Pipping +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +expat + +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 2022 Mark Brand +Copyright (c) 2025 Sebastian Pipping +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +inja + +___ _ Version 3.3 +|_ _|_ __ (_) __ _ https://github.com/pantor/inja +| || '_ \ | |/ _` | Licensed under the MIT License . +| || | | || | (_| | +|___|_| |_|/ |\__,_| Copyright (c) 2018-2021 Lars Berscheid +|__/ +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. +-------------------------------------------------------------------------------- +expat + +d19ae032c224863c1527ba44d228cc34b99192c3a4c5a27af1f4e054d45ee031 (2.7.1+) +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser + +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2000-2006 Fred L. Drake, Jr. +Copyright (c) 2001-2002 Greg Stein +Copyright (c) 2002-2016 Karl Waclawek +Copyright (c) 2005-2009 Steven Solie +Copyright (c) 2016 Eric Rahm +Copyright (c) 2016-2025 Sebastian Pipping +Copyright (c) 2016 Gaurav +Copyright (c) 2016 Thomas Beutlich +Copyright (c) 2016 Gustavo Grieco +Copyright (c) 2016 Pascal Cuoq +Copyright (c) 2016 Ed Schouten +Copyright (c) 2017-2022 Rhodri James +Copyright (c) 2017 Václav Slavík +Copyright (c) 2017 Viktor Szakats +Copyright (c) 2017 Chanho Park +Copyright (c) 2017 Rolf Eike Beer +Copyright (c) 2017 Hans Wennborg +Copyright (c) 2018 Anton Maklakov +Copyright (c) 2018 Benjamin Peterson +Copyright (c) 2018 Marco Maggi +Copyright (c) 2018 Mariusz Zaborski +Copyright (c) 2019 David Loffredo +Copyright (c) 2019-2020 Ben Wagner +Copyright (c) 2019 Vadim Zeitlin +Copyright (c) 2021 Donghee Na +Copyright (c) 2022 Samanta Navarro +Copyright (c) 2022 Jeffrey Walton +Copyright (c) 2022 Jann Horn +Copyright (c) 2022 Sean McBride +Copyright (c) 2023 Owain Davies +Copyright (c) 2023-2024 Sony Corporation / Snild Dolkow +Copyright (c) 2024-2025 Berkay Eren Ürün +Copyright (c) 2024 Hanno Böck +Licensed under the MIT license: + +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. +-------------------------------------------------------------------------------- +libjpeg-turbo + +libjpeg-turbo Licenses +====================== + +libjpeg-turbo is covered by three compatible BSD-style open source licenses: + +- The IJG (Independent JPEG Group) License, which is listed in + [README.ijg](README.ijg) + + This license applies to the libjpeg API library and associated programs + (any code inherited from libjpeg, and any modifications to that code.) + +- The Modified (3-clause) BSD License, which is listed in + [turbojpeg.c](turbojpeg.c) + + This license covers the TurboJPEG API library and associated programs. + +- The zlib License, which is listed in [simd/jsimdext.inc](simd/jsimdext.inc) + + This license is a subset of the other two, and it covers the libjpeg-turbo + SIMD extensions. + + +Complying with the libjpeg-turbo Licenses +========================================= + +This section provides a roll-up of the libjpeg-turbo licensing terms, to the +best of our understanding. + +1. If you are distributing a modified version of the libjpeg-turbo source, + then: + + 1. You cannot alter or remove any existing copyright or license notices + from the source. + + **Origin** + - Clause 1 of the IJG License + - Clause 1 of the Modified BSD License + - Clauses 1 and 3 of the zlib License + + 2. You must add your own copyright notice to the header of each source + file you modified, so others can tell that you modified that file (if + there is not an existing copyright header in that file, then you can + simply add a notice stating that you modified the file.) + + **Origin** + - Clause 1 of the IJG License + - Clause 2 of the zlib License + + 3. You must include the IJG README file, and you must not alter any of the + copyright or license text in that file. + + **Origin** + - Clause 1 of the IJG License + +2. If you are distributing only libjpeg-turbo binaries without the source, or + if you are distributing an application that statically links with + libjpeg-turbo, then: + + 1. Your product documentation must include a message stating: + + This software is based in part on the work of the Independent JPEG + Group. + + **Origin** + - Clause 2 of the IJG license + + 2. If your binary distribution includes or uses the TurboJPEG API, then + your product documentation must include the text of the Modified BSD + License. + + **Origin** + - Clause 2 of the Modified BSD License + +3. You cannot use the name of the IJG or The libjpeg-turbo Project or the + contributors thereof in advertising, publicity, etc. + + **Origin** + - IJG License + - Clause 3 of the Modified BSD License + +4. The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be + free of defects, nor do we accept any liability for undesirable + consequences resulting from your use of the software. + + **Origin** + - IJG License + - Modified BSD License + - zlib License + +-------------------------------------------------------------------------------- +libjpeg-turbo + +libjpeg-turbo note: This file has been modified by The libjpeg-turbo Project +to include only information relevant to libjpeg-turbo, to wordsmith certain +sections, and to remove impolitic language that existed in the libjpeg v8 +README. It is included only for reference. Please see README.md for +information specific to libjpeg-turbo. + + +The Independent JPEG Group's JPEG software +========================================== + +This distribution contains a release of the Independent JPEG Group's free JPEG +software. You are welcome to redistribute this software and to use it for any +purpose, subject to the conditions under LEGAL ISSUES, below. + +This software is the work of Tom Lane, Guido Vollbeding, Philip Gladstone, +Bill Allombert, Jim Boucher, Lee Crocker, Bob Friesenhahn, Ben Jackson, +Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi, Ge' Weijers, +and other members of the Independent JPEG Group. + +IJG is not affiliated with the ISO/IEC JTC1/SC29/WG1 standards committee +(also known as JPEG, together with ITU-T SG16). + + +DOCUMENTATION ROADMAP +===================== + +This file contains the following sections: + +OVERVIEW General description of JPEG and the IJG software. +LEGAL ISSUES Copyright, lack of warranty, terms of distribution. +REFERENCES Where to learn more about JPEG. +ARCHIVE LOCATIONS Where to find newer versions of this software. +FILE FORMAT WARS Software *not* to get. +TO DO Plans for future IJG releases. + +Other documentation files in the distribution are: + +User documentation: + usage.txt Usage instructions for cjpeg, djpeg, jpegtran, + rdjpgcom, and wrjpgcom. + *.1 Unix-style man pages for programs (same info as usage.txt). + wizard.txt Advanced usage instructions for JPEG wizards only. + change.log Version-to-version change highlights. +Programmer and internal documentation: + libjpeg.txt How to use the JPEG library in your own programs. + example.c Sample code for calling the JPEG library. + structure.txt Overview of the JPEG library's internal structure. + coderules.txt Coding style rules --- please read if you contribute code. + +Please read at least usage.txt. Some information can also be found in the JPEG +FAQ (Frequently Asked Questions) article. See ARCHIVE LOCATIONS below to find +out where to obtain the FAQ article. + +If you want to understand how the JPEG code works, we suggest reading one or +more of the REFERENCES, then looking at the documentation files (in roughly +the order listed) before diving into the code. + + +OVERVIEW +======== + +This package contains C software to implement JPEG image encoding, decoding, +and transcoding. JPEG (pronounced "jay-peg") is a standardized compression +method for full-color and grayscale images. JPEG's strong suit is compressing +photographic images or other types of images that have smooth color and +brightness transitions between neighboring pixels. Images with sharp lines or +other abrupt features may not compress well with JPEG, and a higher JPEG +quality may have to be used to avoid visible compression artifacts with such +images. + +JPEG is lossy, meaning that the output pixels are not necessarily identical to +the input pixels. However, on photographic content and other "smooth" images, +very good compression ratios can be obtained with no visible compression +artifacts, and extremely high compression ratios are possible if you are +willing to sacrifice image quality (by reducing the "quality" setting in the +compressor.) + +This software implements JPEG baseline, extended-sequential, and progressive +compression processes. Provision is made for supporting all variants of these +processes, although some uncommon parameter settings aren't implemented yet. +We have made no provision for supporting the hierarchical or lossless +processes defined in the standard. + +We provide a set of library routines for reading and writing JPEG image files, +plus two sample applications "cjpeg" and "djpeg", which use the library to +perform conversion between JPEG and some other popular image file formats. +The library is intended to be reused in other applications. + +In order to support file conversion and viewing software, we have included +considerable functionality beyond the bare JPEG coding/decoding capability; +for example, the color quantization modules are not strictly part of JPEG +decoding, but they are essential for output to colormapped file formats or +colormapped displays. These extra functions can be compiled out of the +library if not required for a particular application. + +We have also included "jpegtran", a utility for lossless transcoding between +different JPEG processes, and "rdjpgcom" and "wrjpgcom", two simple +applications for inserting and extracting textual comments in JFIF files. + +The emphasis in designing this software has been on achieving portability and +flexibility, while also making it fast enough to be useful. In particular, +the software is not intended to be read as a tutorial on JPEG. (See the +REFERENCES section for introductory material.) Rather, it is intended to +be reliable, portable, industrial-strength code. We do not claim to have +achieved that goal in every aspect of the software, but we strive for it. + +We welcome the use of this software as a component of commercial products. +No royalty is required, but we do ask for an acknowledgement in product +documentation, as described under LEGAL ISSUES. + + +LEGAL ISSUES +============ + +In plain English: + +1. We don't promise that this software works. (But if you find any bugs, + please let us know!) +2. You can use this software for whatever you want. You don't have to pay us. +3. You may not pretend that you wrote this software. If you use it in a + program, you must acknowledge somewhere in your documentation that + you've used the IJG code. + +In legalese: + +The authors make NO WARRANTY or representation, either express or implied, +with respect to this software, its quality, accuracy, merchantability, or +fitness for a particular purpose. This software is provided "AS IS", and you, +its user, assume the entire risk as to its quality and accuracy. + +This software is copyright (C) 1991-2016, Thomas G. Lane, Guido Vollbeding. +All Rights Reserved except as specified below. + +Permission is hereby granted to use, copy, modify, and distribute this +software (or portions thereof) for any purpose, without fee, subject to these +conditions: +(1) If any part of the source code for this software is distributed, then this +README file must be included, with this copyright and no-warranty notice +unaltered; and any additions, deletions, or changes to the original files +must be clearly indicated in accompanying documentation. +(2) If only executable code is distributed, then the accompanying +documentation must state that "this software is based in part on the work of +the Independent JPEG Group". +(3) Permission for use of this software is granted only if the user accepts +full responsibility for any undesirable consequences; the authors accept +NO LIABILITY for damages of any kind. + +These conditions apply to any software derived from or based on the IJG code, +not just to the unmodified library. If you use our work, you ought to +acknowledge us. + +Permission is NOT granted for the use of any IJG author's name or company name +in advertising or publicity relating to this software or products derived from +it. This software may be referred to only as "the Independent JPEG Group's +software". + +We specifically permit and encourage the use of this software as the basis of +commercial products, provided that all warranty or liability claims are +assumed by the product vendor. + + +The Unix configuration script "configure" was produced with GNU Autoconf. +It is copyright by the Free Software Foundation but is freely distributable. +The same holds for its supporting scripts (config.guess, config.sub, +ltmain.sh). Another support script, install-sh, is copyright by X Consortium +but is also freely distributable. + +The IJG distribution formerly included code to read and write GIF files. +To avoid entanglement with the Unisys LZW patent (now expired), GIF reading +support has been removed altogether, and the GIF writer has been simplified +to produce "uncompressed GIFs". This technique does not use the LZW +algorithm; the resulting GIF files are larger than usual, but are readable +by all standard GIF decoders. + +We are required to state that + "The Graphics Interchange Format(c) is the Copyright property of + CompuServe Incorporated. GIF(sm) is a Service Mark property of + CompuServe Incorporated." + + +REFERENCES +========== + +We recommend reading one or more of these references before trying to +understand the innards of the JPEG software. + +The best short technical introduction to the JPEG compression algorithm is + Wallace, Gregory K. "The JPEG Still Picture Compression Standard", + Communications of the ACM, April 1991 (vol. 34 no. 4), pp. 30-44. +(Adjacent articles in that issue discuss MPEG motion picture compression, +applications of JPEG, and related topics.) If you don't have the CACM issue +handy, a PDF file containing a revised version of Wallace's article is +available at http://www.ijg.org/files/Wallace.JPEG.pdf. The file (actually +a preprint for an article that appeared in IEEE Trans. Consumer Electronics) +omits the sample images that appeared in CACM, but it includes corrections +and some added material. Note: the Wallace article is copyright ACM and IEEE, +and it may not be used for commercial purposes. + +A somewhat less technical, more leisurely introduction to JPEG can be found in +"The Data Compression Book" by Mark Nelson and Jean-loup Gailly, published by +M&T Books (New York), 2nd ed. 1996, ISBN 1-55851-434-1. This book provides +good explanations and example C code for a multitude of compression methods +including JPEG. It is an excellent source if you are comfortable reading C +code but don't know much about data compression in general. The book's JPEG +sample code is far from industrial-strength, but when you are ready to look +at a full implementation, you've got one here... + +The best currently available description of JPEG is the textbook "JPEG Still +Image Data Compression Standard" by William B. Pennebaker and Joan L. +Mitchell, published by Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1. +Price US\$59.95, 638 pp. The book includes the complete text of the ISO JPEG +standards (DIS 10918-1 and draft DIS 10918-2). + +The original JPEG standard is divided into two parts, Part 1 being the actual +specification, while Part 2 covers compliance testing methods. Part 1 is +titled "Digital Compression and Coding of Continuous-tone Still Images, +Part 1: Requirements and guidelines" and has document numbers ISO/IEC IS +10918-1, ITU-T T.81. Part 2 is titled "Digital Compression and Coding of +Continuous-tone Still Images, Part 2: Compliance testing" and has document +numbers ISO/IEC IS 10918-2, ITU-T T.83. + +The JPEG standard does not specify all details of an interchangeable file +format. For the omitted details we follow the "JFIF" conventions, revision +1.02. JFIF 1.02 has been adopted as an Ecma International Technical Report +and thus received a formal publication status. It is available as a free +download in PDF format from +http://www.ecma-international.org/publications/techreports/E-TR-098.htm. +A PostScript version of the JFIF document is available at +http://www.ijg.org/files/jfif.ps.gz. There is also a plain text version at +http://www.ijg.org/files/jfif.txt.gz, but it is missing the figures. + +The TIFF 6.0 file format specification can be obtained by FTP from +ftp://ftp.sgi.com/graphics/tiff/TIFF6.ps.gz. The JPEG incorporation scheme +found in the TIFF 6.0 spec of 3-June-92 has a number of serious problems. +IJG does not recommend use of the TIFF 6.0 design (TIFF Compression tag 6). +Instead, we recommend the JPEG design proposed by TIFF Technical Note #2 +(Compression tag 7). Copies of this Note can be obtained from +http://www.ijg.org/files/. It is expected that the next revision +of the TIFF spec will replace the 6.0 JPEG design with the Note's design. +Although IJG's own code does not support TIFF/JPEG, the free libtiff library +uses our library to implement TIFF/JPEG per the Note. + + +ARCHIVE LOCATIONS +================= + +The "official" archive site for this software is www.ijg.org. +The most recent released version can always be found there in +directory "files". + +The JPEG FAQ (Frequently Asked Questions) article is a source of some +general information about JPEG. +It is available on the World Wide Web at http://www.faqs.org/faqs/jpeg-faq/ +and other news.answers archive sites, including the official news.answers +archive at rtfm.mit.edu: ftp://rtfm.mit.edu/pub/usenet/news.answers/jpeg-faq/. +If you don't have Web or FTP access, send e-mail to mail-server@rtfm.mit.edu +with body + send usenet/news.answers/jpeg-faq/part1 + send usenet/news.answers/jpeg-faq/part2 + + +FILE FORMAT WARS +================ + +The ISO/IEC JTC1/SC29/WG1 standards committee (also known as JPEG, together +with ITU-T SG16) currently promotes different formats containing the name +"JPEG" which are incompatible with original DCT-based JPEG. IJG therefore does +not support these formats (see REFERENCES). Indeed, one of the original +reasons for developing this free software was to help force convergence on +common, interoperable format standards for JPEG files. +Don't use an incompatible file format! +(In any case, our decoder will remain capable of reading existing JPEG +image files indefinitely.) + + +TO DO +===== + +Please send bug reports, offers of help, etc. to jpeg-info@jpegclub.org. + +-------------------------------------------------------------------------------- +freetype2 + +version 1.2.11, January 15th, 2017 + +Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not +claim that you wrote the original software. If you use this software +in a product, an acknowledgment in the product documentation would be +appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be +misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +zlib + +version 1.2.12, March 27th, 2022 + +Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +zlib + +version 1.3.0.1, August xxth, 2023 + +Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not +claim that you wrote the original software. If you use this software +in a product, an acknowledgment in the product documentation would be +appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be +misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +xxhash + +xxHash Library +Copyright (c) 2012-2014, Yann Collet +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + + Copyright (C) 1999-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + + Copyright (C) 1999-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + + Copyright (C) 2001, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + +Copyright (C) 2002-2006 IBM, Inc. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1996-2013, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1996-2013, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1996-2013, International Business Machines Corporation + and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1996-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1996-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1997-2005, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1997-2006, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1997-2006, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1997-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1997-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1997-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1997-2012, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1997-2012, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1997-2012, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1997-2013, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1997-2013, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1997-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1997-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1997-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1997-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1997-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1998-2004, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1998-2005, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1998-2006, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1998-2006, International Business Machines + Corporation and others. All Rights Reserved. + + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1998-2008, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1998-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1998-2012, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1998-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1998-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1998-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1998-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1998-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1998-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2001, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2003, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2004, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2006, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2010, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2010, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2010, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2011, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2012, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2013, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2013, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2014 International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2015, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2016 International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2000, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2000-2003, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2000-2008, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2000-2010, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2000-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2000-2012, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2000-2013, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2000-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2000-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2000-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2000-2015, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2000-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2000-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2001-2008, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2001-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2001-2012, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2001-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2001-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2001-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2001-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2002-2003, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2002-2006, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2002-2010, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2002-2011 International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2002-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2002-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2002-2012, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2002-2012, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2002-2013, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2002-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2002-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2002-2015, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2002-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2002-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2003-2004, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2003-2006, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2003-2007, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2003-2009, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2003-2012, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2003-2013, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2003-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2003-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2003-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2004-2005, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2004-2007, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2004-2010, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2004-2012, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2004-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2005, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2005-2012, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2005-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2005-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2007, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2007-2012, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2007-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2007-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2008-2011, International Business Machines + Corporation, Google and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2008-2011, International Business Machines + Corporation, Google and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2008-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2008-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2009, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2009-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2009-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2009-2012, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2009-2013, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2009-2013, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2009-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2009-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2009-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2009-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2011, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2011-2014 International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2012,2014 International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2012-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2012-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2013-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2016, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + +Copyright (C) 2001-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + +Copyright (C) 2001-2013, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + +Copyright (C) 2001-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + +Copyright (C) 2003-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + +Copyright (C) 2003-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + +Copyright (C) 2008-2013, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + +Copyright (C) 2009-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + +Copyright (c) 1999-2002, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + +Copyright (c) 1999-2003, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + +Copyright (c) 1999-2007, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + +Copyright (c) 1999-2010, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1996-2015, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1996-2015, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1996-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1996-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1996-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1996-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1997-2006, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1997-2009,2014 International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1997-2010, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1997-2011, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1997-2011,2014-2015 International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1997-2012, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1997-2013, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1997-2014, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1997-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1997-2014, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1997-2015, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1997-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1997-2015, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1997-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1997-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1998-2005, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1998-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1998-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2005, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2006, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2006, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2006,2013 IBM Corp. All rights reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2007, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2009, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2011, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2011, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2014 International Business Machines Corporation + and others. All rights reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2014, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2014, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2014, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2015 International Business Machines + Corporation and others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2015, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2016 International Business Machines Corporation + and others. All rights reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2016 International Business Machines Corporation + and others. All rights reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2000-2004, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2000-2006, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2000-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2000-2011, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2000-2012, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2000-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2000-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2000-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001-2006, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001-2007, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001-2008,2010 IBM and others. All rights reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001-2010, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001-2011 IBM and others. All rights reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001-2011, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001-2011,2014 IBM and others. All rights reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001-2012, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001-2014 IBM and others. All rights reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001-2014 International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001-2014, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001-2015 IBM and others. All rights reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2002-2015 International Business Machines Corporation + and others. All rights reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2002-2016 International Business Machines Corporation + and others. All rights reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2002-2016 International Business Machines Corporation + and others. All rights reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2002-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2002-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2002-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2003-2003, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2003-2006, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2003-2011, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2003-2013, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2003-2014, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2003-2014, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2004-2011, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2004-2015, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2004-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2004-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2005-2006, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2005-2008, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2005-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2005-2012, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2005-2013, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2005-2013, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2005-2014, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2005-2015, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2005-2015, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2005-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2005-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2006 International Business Machines Corporation + and others. All rights reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2006, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2008-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2008-2015, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2008-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2009-2013, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2009-2014 International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2009-2015, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2009-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2009-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2010, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2010-2011, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2010-2012, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2010-2012, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2010-2012,2014, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2010-2015, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2010-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2010-2016, International Business Machines Corporation and + others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2011, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2011-2012, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2011-2013, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2011-2014, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2011-2015, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2012 International Business Machines Corporation + and others. All rights reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2012-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2013, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2013-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2014, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2014-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2015-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (c) 2000-2005, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (c) 2000-2007, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (c) 2001-2007, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (c) 2001-2011, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (c) 2001-2012, International Business Machines Corporation + and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (c) 2001-2014, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (c) 2001-2015, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (c) 2001-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (c) 2002-2005, International Business Machines Corporation + and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (c) 2002-2010, International Business Machines Corporation + and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (c) 2002-2011, International Business Machines Corporation + and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (c) 2002-2012, International Business Machines Corporation + and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (c) 2002-2014, International Business Machines Corporation + and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (c) 2002-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2002-2008 International Business Machines Corporation + and others. All rights reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2002-2008, International Business Machines Corporation and others. + All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2002-2011, International Business Machines Corporation and others. + All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2002-2014 International Business Machines Corporation + and others. All rights reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2002-2016 International Business Machines Corporation + and others. All rights reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2002-2016 International Business Machines Corporation and others. + All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2002-2016, International Business Machines Corporation and others. + All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2003-2010, International Business Machines Corporation and others. + All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2004-2015, International Business Machines Corporation and others. + All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (c) 2001-2005, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1996-2012, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1996-2014, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1996-2014, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1996-2014, International Business Machines Corporation and others. +All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1996-2015, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1996-2015, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1996-2015, International Business Machines Corporation and others. +All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1996-2016, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1996-2016, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1997-2010, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1997-2011, International Business Machines Corporation and others. +All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1997-2012, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1997-2013, International Business Machines +Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1997-2013, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1997-2015, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1997-2015, International Business Machines Corporation +and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1997-2015, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1997-2015, International Business Machines Corporation and others. +All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1997-2015, International Business Machines Corporation and others. +All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1997-2016, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1997-2016, International Business Machines Corporation and others. +All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1998-2012, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1998-2012, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1998-2016, International Business Machines Corporation +and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1999-2007, International Business Machines Corporation +and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1999-2010, International Business Machines Corporation and others. +All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1999-2011, International Business Machines Corporation +and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1999-2012, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1999-2013, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1999-2014, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1999-2015, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1999-2015, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1999-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1999-2016, International Business Machines Corporation + and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1999-2016, International Business Machines Corporation +and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1999-2016, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2000-2004, International Business Machines Corporation +and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2001-2011, International Business Machines Corporation +and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2001-2011, International Business Machines Corporation and +others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2001-2011, International Business Machines Corporation. +All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2001-2012, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2001-2014, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2001-2014, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2001-2014, International Business Machines Corporation and +others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2001-2014, International Business Machines Corporation. +All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2001-2015, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2001-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2002-2005, International Business Machines Corporation and +others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2002-2014, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2003 - 2008, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2003 - 2009, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2003 - 2013, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2003-2008, International Business Machines Corporation +and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2003-2009,2012,2016 International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2003-2013, International Business Machines Corporation +and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2003-2013, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2003-2015, International Business Machines Corporation +and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2003-2016, International Business Machines Corporation +and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2004 - 2008, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2004-2012, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2006-2012, International Business Machines Corporation and others. +All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2006-2014, International Business Machines Corporation +and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2006-2016, International Business Machines Corporation +and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2008, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2008, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2012, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2013, International Business Machines Corporation +and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2013, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2014, International Business Machines Corporation +and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2014, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2014, International Business Machines Corporation and +others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2016, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2016, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008, Google, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2009, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2013, International Business Machines Corporation +and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2013, International Business Machines Corporation and +others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2014, Google, International Business Machines Corporation +and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2014, Google, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2015, Google, International Business Machines Corporation +and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2015, International Business Machines Corporation +and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2015, International Business Machines Corporation and +others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2016, International Business Machines Corporation +and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2016, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2010, Google, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2010, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2011, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2012, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2013, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2014, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2015, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2015, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2016, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2016, International Business Machines Corporation, +Google, and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2011, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2012, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2012,2015 International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2013, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2014, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2014, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2014, International Business Machines Corporation and +others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2015, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2015, International Business Machines Corporation and +others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2016, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2011-2012, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2011-2015, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2011-2016, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2011-2016, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2012-2014, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2012-2015, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2012-2016, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2013, International Business Machines Corporation +and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2013, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2013, International Business Machines Corporation and others. +All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2013-2014, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2013-2014, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2013-2014, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2013-2014, International Business Machines Corporation and others. +All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2013-2015, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2013-2015, International Business Machines Corporation and others. +All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2013-2016, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2014, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2014, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2014-2015, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2014-2016, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2014-2016, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2014-2016, International Business Machines Corporation and +others. +All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2014-2016, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2014-2016, International Business Machines Corporation and +others. All Rights Reserved. + + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2014-2016, International Business Machines Corporation and others. +All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2015, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2015, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2015, International Business Machines Corporation +and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2015, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2015-2016, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2015-2016, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2016, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2016, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 1996-2012, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 1996-2014, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 1996-2015, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 1996-2015, International Business Machines Corporation and others. +All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 1996-2016, International Business Machines Corporation + and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 1996-2016, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 1997-2012, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 1999-2002, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2001-2012, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2002-2004, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2002-2006, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2002-2007, International Business Machines Corporation +and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2002-2011, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2002-2014, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2002-2014, International Business Machines Corporation +and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2002-2016, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2003, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2003-2004, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2003-2008, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2003-2011, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2003-2013, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2003-2014, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2004, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2004-2006, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2004-2014 International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2004-2014, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2004-2015, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2004-2016, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2008-2015, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2014, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2014-2016, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2000-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2008, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2008-2011, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2008-2012, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2008-2015, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2008-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2009-2013, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2009-2015, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2009-2016, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 1996-2008, International Business Machines Corporation +and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 1996-2012, International Business Machines Corporation +and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 1997-2005, International Business Machines Corporation and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 1997-2013, International Business Machines Corporation and others. +All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 1997-2016, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2001-2005, International Business Machines Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2001-2011, International Business Machines Corporation +and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2002-2016 International Business Machines Corporation + and others. All rights reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2003-2014, International Business Machines Corporation +and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2007-2013, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2008, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2008-2014, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2008-2016, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2009-2011, International Business Machines +Corporation and others. All Rights Reserved. + +Copyright 2007 Google Inc. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2009-2012, International Business Machines +Corporation and others. All Rights Reserved. + +Copyright 2007 Google Inc. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2009-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Copyright 2001 and onwards Google Inc. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2009-2013, International Business Machines +Corporation and others. All Rights Reserved. + +Copyright 2004 and onwards Google Inc. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2015, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) {1999-2001}, International Business Machines Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 1997-2011, International Business Machines Corporation and +others. All Rights Reserved. +Copyright (C) 2010 , Yahoo! Inc. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 1997-2012, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 1997-2012, International Business Machines Corporation and +others. All Rights Reserved. +Copyright (C) 2010 , Yahoo! Inc. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 1997-2015, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 1997-2016, International Business Machines Corporation +and others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 1999-2012, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 1999-2016, International Business Machines Corporation and +others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2001-2016, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2002-2005, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2002-2006, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2002-2012, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2002-2014, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2003-2010 International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2004-2010, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2007-2012, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2007-2013, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2007-2014, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2007-2016, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2008-2010, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2008-2011, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2008-2014, International Business Machines Corporation and +others. All Rights Reserved. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) IBM Corporation, 2000-2010. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) IBM Corporation, 2000-2011. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) IBM Corporation, 2000-2012. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) IBM Corporation, 2000-2014. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) IBM Corporation, 2000-2016. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. +-------------------------------------------------------------------------------- +icu + +© 2017 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2017, International Business Machines Corporation, +Google, and others. All Rights Reserved.''', + ); + +/// source_gen 4.2.0 const _source_gen = Package( name: 'source_gen', description: 'Source code generation builders and utilities for the Dart build system', repository: 'https://github.com/dart-lang/source_gen/tree/master/source_gen', authors: [], - version: '4.0.0', + version: '4.2.0', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, @@ -5881,7 +36254,7 @@ const _source_span = Package( isSdk: false, dependencies: [PackageRef('collection'), PackageRef('path'), PackageRef('term_glyph')], devDependencies: [PackageRef('test')], - license: '''Copyright 2014, the Dart project authors. + license: '''Copyright 2014, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -5980,14 +36353,14 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.''', ); -/// sqlparser 0.42.1 +/// sqlparser 0.43.1 const _sqlparser = Package( name: 'sqlparser', description: 'Parses sqlite statements and performs static analysis on them', homepage: 'https://github.com/simolus3/drift/tree/develop/sqlparser', repository: 'https://github.com/simolus3/drift', authors: [], - version: '0.42.1', + version: '0.43.1', spdxIdentifiers: ['MIT'], isMarkdown: false, isSdk: false, @@ -6069,7 +36442,7 @@ const _stream_channel = Package( isSdk: false, dependencies: [PackageRef('async')], devDependencies: [PackageRef('test')], - license: '''Copyright 2015, the Dart project authors. + license: '''Copyright 2015, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -6110,7 +36483,7 @@ const _stream_transform = Package( isSdk: false, dependencies: [], devDependencies: [PackageRef('async'), PackageRef('fake_async'), PackageRef('test')], - license: '''Copyright 2017, the Dart project authors. + license: '''Copyright 2017, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -6151,7 +36524,7 @@ const _string_scanner = Package( isSdk: false, dependencies: [PackageRef('source_span')], devDependencies: [PackageRef('test')], - license: '''Copyright 2014, the Dart project authors. + license: '''Copyright 2014, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -6180,41 +36553,6 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// tar 2.0.2 -const _tar = Package( - name: 'tar', - description: 'Memory-efficient, streaming implementation of the tar file format', - repository: 'https://github.com/simolus3/tar/', - authors: [], - version: '2.0.2', - spdxIdentifiers: ['MIT'], - isMarkdown: false, - isSdk: false, - dependencies: [PackageRef('async'), PackageRef('meta'), PackageRef('typed_data')], - devDependencies: [PackageRef('charcode'), PackageRef('lints'), PackageRef('file'), PackageRef('path'), PackageRef('test')], - license: '''MIT License - -Copyright (c) 2021 Simon Binder - -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.''', - ); - /// term_glyph 1.2.2 const _term_glyph = Package( name: 'term_glyph', @@ -6227,7 +36565,7 @@ const _term_glyph = Package( isSdk: false, dependencies: [], devDependencies: [PackageRef('dart_style'), PackageRef('test')], - license: '''Copyright 2017, the Dart project authors. + license: '''Copyright 2017, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -6268,7 +36606,7 @@ const _test = Package( isSdk: false, dependencies: [PackageRef('analyzer'), PackageRef('async'), PackageRef('boolean_selector'), PackageRef('collection'), PackageRef('coverage'), PackageRef('http_multi_server'), PackageRef('io'), PackageRef('js'), PackageRef('matcher'), PackageRef('node_preamble'), PackageRef('package_config'), PackageRef('path'), PackageRef('pool'), PackageRef('shelf'), PackageRef('shelf_packages_handler'), PackageRef('shelf_static'), PackageRef('shelf_web_socket'), PackageRef('source_span'), PackageRef('stack_trace'), PackageRef('stream_channel'), PackageRef('test_api'), PackageRef('test_core'), PackageRef('typed_data'), PackageRef('web_socket_channel'), PackageRef('webkit_inspection_protocol'), PackageRef('yaml')], devDependencies: [PackageRef('fake_async'), PackageRef('glob')], - license: '''Copyright 2014, the Dart project authors. + license: '''Copyright 2014, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -6309,7 +36647,7 @@ const _test_api = Package( isSdk: false, dependencies: [PackageRef('async'), PackageRef('boolean_selector'), PackageRef('collection'), PackageRef('meta'), PackageRef('source_span'), PackageRef('stack_trace'), PackageRef('stream_channel'), PackageRef('string_scanner'), PackageRef('term_glyph')], devDependencies: [PackageRef('analyzer'), PackageRef('fake_async'), PackageRef('glob'), PackageRef('graphs'), PackageRef('path'), PackageRef('test'), PackageRef('test_core')], - license: '''Copyright 2018, the Dart project authors. + license: '''Copyright 2018, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -6350,48 +36688,7 @@ const _test_core = Package( isSdk: false, dependencies: [PackageRef('analyzer'), PackageRef('args'), PackageRef('async'), PackageRef('boolean_selector'), PackageRef('collection'), PackageRef('coverage'), PackageRef('frontend_server_client'), PackageRef('glob'), PackageRef('io'), PackageRef('meta'), PackageRef('package_config'), PackageRef('path'), PackageRef('pool'), PackageRef('source_map_stack_trace'), PackageRef('source_maps'), PackageRef('source_span'), PackageRef('stack_trace'), PackageRef('stream_channel'), PackageRef('test_api'), PackageRef('vm_service'), PackageRef('yaml')], devDependencies: [PackageRef('test')], - license: '''Copyright 2018, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', - ); - -/// timing 1.0.2 -const _timing = Package( - name: 'timing', - description: 'A simple package for tracking the performance of synchronous and asynchronous actions.', - repository: 'https://github.com/dart-lang/tools/tree/main/pkgs/timing', - authors: [], - version: '1.0.2', - spdxIdentifiers: ['BSD-3-Clause'], - isMarkdown: false, - isSdk: false, - dependencies: [PackageRef('json_annotation')], - devDependencies: [PackageRef('build_runner'), PackageRef('test')], - license: '''Copyright 2018, the Dart project authors. + license: '''Copyright 2018, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -6432,7 +36729,7 @@ const _typed_data = Package( isSdk: false, dependencies: [PackageRef('collection')], devDependencies: [PackageRef('test')], - license: '''Copyright 2015, the Dart project authors. + license: '''Copyright 2015, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -6510,7 +36807,7 @@ const _url_launcher = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter'), PackageRef('url_launcher_android'), PackageRef('url_launcher_ios'), PackageRef('url_launcher_linux'), PackageRef('url_launcher_macos'), PackageRef('url_launcher_platform_interface'), PackageRef('url_launcher_web'), PackageRef('url_launcher_windows')], - devDependencies: [PackageRef('plugin_platform_interface'), PackageRef('test')], + devDependencies: [PackageRef('flutter_test'), PackageRef('plugin_platform_interface'), PackageRef('test')], license: '''Copyright 2013 The Flutter Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -6549,7 +36846,7 @@ const _url_launcher_android = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter'), PackageRef('url_launcher_platform_interface')], - devDependencies: [PackageRef('plugin_platform_interface'), PackageRef('test')], + devDependencies: [PackageRef('flutter_test'), PackageRef('plugin_platform_interface'), PackageRef('test')], license: '''Copyright 2013 The Flutter Authors Redistribution and use in source and binary forms, with or without modification, @@ -6577,18 +36874,18 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// url_launcher_ios 6.3.6 +/// url_launcher_ios 6.4.1 const _url_launcher_ios = Package( name: 'url_launcher_ios', description: 'iOS implementation of the url_launcher plugin.', repository: 'https://github.com/flutter/packages/tree/main/packages/url_launcher/url_launcher_ios', authors: [], - version: '6.3.6', + version: '6.4.1', spdxIdentifiers: ['BSD-3-Clause'], isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter'), PackageRef('url_launcher_platform_interface')], - devDependencies: [PackageRef('build_runner'), PackageRef('plugin_platform_interface'), PackageRef('test')], + devDependencies: [PackageRef('build_runner'), PackageRef('flutter_test'), PackageRef('plugin_platform_interface'), PackageRef('test')], license: '''Copyright 2013 The Flutter Authors Redistribution and use in source and binary forms, with or without modification, @@ -6627,7 +36924,7 @@ const _url_launcher_linux = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter'), PackageRef('url_launcher_platform_interface')], - devDependencies: [PackageRef('test')], + devDependencies: [PackageRef('flutter_test'), PackageRef('test')], license: '''Copyright 2013 The Flutter Authors Redistribution and use in source and binary forms, with or without modification, @@ -6666,7 +36963,7 @@ const _url_launcher_macos = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter'), PackageRef('url_launcher_platform_interface')], - devDependencies: [PackageRef('test')], + devDependencies: [PackageRef('flutter_test'), PackageRef('test')], license: '''Copyright 2013 The Flutter Authors Redistribution and use in source and binary forms, with or without modification, @@ -6705,7 +37002,7 @@ const _url_launcher_platform_interface = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter'), PackageRef('plugin_platform_interface')], - devDependencies: [], + devDependencies: [PackageRef('flutter_test')], license: '''Copyright 2013 The Flutter Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -6744,7 +37041,7 @@ const _url_launcher_web = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter'), PackageRef('flutter_web_plugins'), PackageRef('url_launcher_platform_interface'), PackageRef('web')], - devDependencies: [], + devDependencies: [PackageRef('flutter_test')], license: '''url_launcher_web Copyright 2013 The Flutter Authors @@ -6989,7 +37286,7 @@ const _url_launcher_windows = Package( isMarkdown: false, isSdk: false, dependencies: [PackageRef('flutter'), PackageRef('url_launcher_platform_interface')], - devDependencies: [PackageRef('test')], + devDependencies: [PackageRef('flutter_test'), PackageRef('test')], license: '''Copyright 2013 The Flutter Authors Redistribution and use in source and binary forms, with or without modification, @@ -7017,18 +37314,18 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.''', ); -/// uuid 4.5.2 +/// uuid 4.5.3 const _uuid = Package( name: 'uuid', description: '''RFC4122 (v1, v4, v5, v6, v7, v8) UUID Generator and Parser for Dart ''', repository: 'https://github.com/Daegalus/dart-uuid', authors: [], - version: '4.5.2', + version: '4.5.3', spdxIdentifiers: ['MIT'], isMarkdown: false, isSdk: false, - dependencies: [PackageRef('crypto'), PackageRef('meta'), PackageRef('fixnum')], + dependencies: [PackageRef('crypto'), PackageRef('fixnum')], devDependencies: [PackageRef('lints'), PackageRef('test')], license: '''Copyright (c) 2021 Yulian Kuncheff @@ -7152,7 +37449,7 @@ const _watcher = Package( isSdk: false, dependencies: [PackageRef('async'), PackageRef('path')], devDependencies: [PackageRef('clock'), PackageRef('fake_async'), PackageRef('test')], - license: '''Copyright 2014, the Dart project authors. + license: '''Copyright 2014, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -7233,7 +37530,7 @@ const _web_socket = Package( isSdk: false, dependencies: [PackageRef('web')], devDependencies: [PackageRef('test')], - license: '''Copyright 2024, the Dart project authors. + license: '''Copyright 2024, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -7274,7 +37571,7 @@ const _web_socket_channel = Package( isSdk: false, dependencies: [PackageRef('async'), PackageRef('crypto'), PackageRef('stream_channel'), PackageRef('web'), PackageRef('web_socket')], devDependencies: [PackageRef('test')], - license: '''Copyright 2016, the Dart project authors. + license: '''Copyright 2016, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -7499,17 +37796,17 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.''', ); -/// tallee 0.0.16+250 +/// tallee 0.0.18+252 const _tallee = Package( name: 'tallee', description: 'Tracking App for Card Games', authors: [], - version: '0.0.16+250', + version: '0.0.18+252', spdxIdentifiers: ['LGPL-3.0'], isMarkdown: false, isSdk: false, - dependencies: [PackageRef('flutter'), PackageRef('clock'), PackageRef('cupertino_icons'), PackageRef('drift'), PackageRef('drift_flutter'), PackageRef('file_picker'), PackageRef('file_saver'), PackageRef('fluttericon'), PackageRef('font_awesome_flutter'), PackageRef('intl'), PackageRef('json_schema'), PackageRef('package_info_plus'), PackageRef('path_provider'), PackageRef('provider'), PackageRef('skeletonizer'), PackageRef('url_launcher'), PackageRef('uuid')], - devDependencies: [PackageRef('build_runner'), PackageRef('dart_pubspec_licenses'), PackageRef('drift_dev'), PackageRef('flutter_lints')], + dependencies: [PackageRef('flutter'), PackageRef('flutter_localizations'), PackageRef('clock'), PackageRef('cupertino_icons'), PackageRef('drift'), PackageRef('drift_flutter'), PackageRef('file_picker'), PackageRef('file_saver'), PackageRef('fluttericon'), PackageRef('font_awesome_flutter'), PackageRef('intl'), PackageRef('json_schema'), PackageRef('package_info_plus'), PackageRef('path_provider'), PackageRef('provider'), PackageRef('skeletonizer'), PackageRef('url_launcher'), PackageRef('uuid')], + devDependencies: [PackageRef('flutter_test'), PackageRef('build_runner'), PackageRef('dart_pubspec_licenses'), PackageRef('drift_dev'), PackageRef('flutter_lints')], license: '''GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007

@@ -21,8 +21,6 @@ An open-source app to track card- and board games, manageplayersand groups and g

Wn( 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 S*nb8ApX++Yy2Uz95&s7~x=UaH literal 362382 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