From 3215fa47d5bd11ba0fcf6c91d4f75d4d05560cba Mon Sep 17 00:00:00 2001 From: ganfra Date: Tue, 9 Oct 2018 12:30:01 +0200 Subject: [PATCH] Import old SDK as legacy code to replace smoothly --- .idea/caches/build_file_checksums.ser | Bin 651 -> 651 bytes .../features/home/HomeActivity.kt | 1 - matrix-sdk-android/build.gradle | 4 +- matrix-sdk-android/libs/olm-sdk.aar | Bin 0 -> 1281913 bytes .../libs/react-native-webrtc.aar | Bin 0 -> 6783535 bytes .../src/main/AndroidManifest.xml | 5 +- .../matrix/android/api/events/EventContent.kt | 3 - .../matrix/android/api/failure/MatrixError.kt | 8 +- .../android/internal/di/SessionModule.kt | 2 +- .../internal/events/sync/SyncModule.kt | 2 +- .../events/sync/SyncResponseHandler.kt | 538 --- .../internal/events/sync/Synchronizer.kt | 6 +- .../legacy/HomeServerConnectionConfig.java | 532 +++ .../internal/legacy/MXDataHandler.java | 2137 ++++++++++++ .../android/internal/legacy/MXPatterns.java | 138 + .../android/internal/legacy/MXSession.java | 2578 +++++++++++++++ .../internal/legacy/MxEventDispatcher.java | 738 +++++ .../android/internal/legacy/RestClient.java | 415 +++ .../legacy/call/CallSoundsManager.java | 797 +++++ .../call/HeadsetConnectionReceiver.java | 235 ++ .../android/internal/legacy/call/IMXCall.java | 337 ++ .../internal/legacy/call/IMXCallListener.java | 75 + .../legacy/call/IMXCallsManagerListener.java | 61 + .../android/internal/legacy/call/MXCall.java | 706 ++++ .../internal/legacy/call/MXCallListener.java | 53 + .../internal/legacy/call/MXCallsManager.java | 1295 ++++++++ .../legacy/call/MXCallsManagerListener.java | 46 + .../internal/legacy/call/MXChromeCall.java | 687 ++++ .../internal/legacy/call/MXWebRtcCall.java | 1733 ++++++++++ .../internal/legacy/call/MXWebRtcView.java | 520 +++ .../legacy/call/VideoLayoutConfiguration.java | 90 + .../legacy/crypto/IncomingRoomKeyRequest.java | 76 + .../IncomingRoomKeyRequestCancellation.java | 30 + .../internal/legacy/crypto/MXCrypto.java | 2776 ++++++++++++++++ .../legacy/crypto/MXCryptoAlgorithms.java | 136 + .../legacy/crypto/MXCryptoConfig.java | 26 + .../internal/legacy/crypto/MXCryptoError.java | 139 + .../legacy/crypto/MXDecryptionException.java | 62 + .../internal/legacy/crypto/MXDeviceList.java | 835 +++++ .../legacy/crypto/MXEncryptedAttachments.java | 270 ++ .../crypto/MXEventDecryptionResult.java | 52 + .../crypto/MXMegolmExportEncryption.java | 370 +++ .../internal/legacy/crypto/MXOlmDevice.java | 830 +++++ .../MXOutgoingRoomKeyRequestManager.java | 371 +++ .../legacy/crypto/OutgoingRoomKeyRequest.java | 124 + .../crypto/algorithms/IMXDecrypting.java | 79 + .../crypto/algorithms/IMXEncrypting.java | 49 + .../crypto/algorithms/MXDecryptionResult.java | 48 + .../algorithms/megolm/MXMegolmDecryption.java | 468 +++ .../algorithms/megolm/MXMegolmEncryption.java | 714 ++++ .../megolm/MXOutboundSessionInfo.java | 89 + .../algorithms/olm/MXOlmDecryption.java | 272 ++ .../algorithms/olm/MXOlmEncryption.java | 126 + .../legacy/crypto/data/MXDeviceInfo.java | 225 ++ .../data/MXEncryptEventContentResult.java | 46 + .../internal/legacy/crypto/data/MXKey.java | 140 + .../crypto/data/MXOlmInboundGroupSession.java | 60 + .../data/MXOlmInboundGroupSession2.java | 172 + .../crypto/data/MXOlmSessionResult.java | 43 + .../crypto/data/MXQueuedEncryption.java | 35 + .../legacy/crypto/data/MXUsersDevicesMap.java | 186 ++ .../internal/legacy/data/DataRetriever.java | 423 +++ .../android/internal/legacy/data/MyUser.java | 446 +++ .../android/internal/legacy/data/Pusher.java | 37 + .../android/internal/legacy/data/Room.java | 2939 +++++++++++++++++ .../internal/legacy/data/RoomAccountData.java | 83 + .../legacy/data/RoomEmailInvitation.java | 49 + .../legacy/data/RoomMediaMessage.java | 901 +++++ .../legacy/data/RoomMediaMessagesSender.java | 983 ++++++ .../internal/legacy/data/RoomPreviewData.java | 275 ++ .../internal/legacy/data/RoomState.java | 1334 ++++++++ .../internal/legacy/data/RoomSummary.java | 593 ++++ .../android/internal/legacy/data/RoomTag.java | 92 + .../legacy/data/comparator/Comparators.java | 40 + .../comparator/RoomComparatorWithTag.java | 50 + .../data/cryptostore/IMXCryptoStore.java | 310 ++ .../data/cryptostore/MXFileCryptoStore.java | 1748 ++++++++++ .../MXFileCryptoStoreMetaData.java | 31 + .../MXFileCryptoStoreMetaData2.java | 75 + .../legacy/data/metrics/MetricsListener.java | 52 + .../internal/legacy/data/store/IMXStore.java | 645 ++++ .../legacy/data/store/IMXStoreListener.java | 61 + .../legacy/data/store/MXFileStore.java | 2607 +++++++++++++++ .../data/store/MXFileStoreMetaData.java | 91 + .../legacy/data/store/MXMemoryStore.java | 1666 ++++++++++ .../legacy/data/store/MXStoreListener.java | 42 + .../legacy/data/timeline/EventTimeline.java | 235 ++ .../data/timeline/EventTimelineFactory.java | 91 + .../legacy/data/timeline/MXEventTimeline.java | 990 ++++++ .../timeline/StateEventRedactionChecker.java | 175 + .../data/timeline/TimelineEventListeners.java | 105 + .../data/timeline/TimelineEventSaver.java | 74 + .../TimelineInvitedRoomSyncHandler.java | 68 + .../timeline/TimelineJoinRoomSyncHandler.java | 298 ++ .../timeline/TimelineLiveEventHandler.java | 285 ++ .../data/timeline/TimelinePushWorker.java | 91 + .../data/timeline/TimelineStateHolder.java | 149 + .../legacy/db/MXLatestChatMessageCache.java | 168 + .../legacy/db/MXMediaDownloadWorkerTask.java | 1157 +++++++ .../legacy/db/MXMediaUploadWorkerTask.java | 569 ++++ .../internal/legacy/db/MXMediasCache.java | 1522 +++++++++ .../internal/legacy/groups/GroupsManager.java | 802 +++++ .../legacy/interfaces/DatedObject.java | 25 + .../legacy/interfaces/HtmlToolbox.java | 49 + .../legacy/listeners/IMXEventListener.java | 265 ++ .../listeners/IMXMediaDownloadListener.java | 115 + .../listeners/IMXMediaUploadListener.java | 116 + .../listeners/IMXNetworkEventListener.java | 26 + .../legacy/listeners/MXEventListener.java | 166 + .../listeners/MXMediaDownloadListener.java | 45 + .../listeners/MXMediaUploadListener.java | 43 + .../legacy/listeners/MXRoomEventListener.java | 237 ++ .../network/NetworkConnectivityReceiver.java | 317 ++ .../legacy/rest/api/AccountDataApi.java | 48 + .../legacy/rest/api/CallRulesApi.java | 26 + .../internal/legacy/rest/api/CryptoApi.java | 112 + .../internal/legacy/rest/api/EventsApi.java | 101 + .../internal/legacy/rest/api/FilterApi.java | 48 + .../internal/legacy/rest/api/GroupsApi.java | 196 ++ .../internal/legacy/rest/api/LoginApi.java | 70 + .../legacy/rest/api/MediaScanApi.java | 63 + .../internal/legacy/rest/api/PresenceApi.java | 35 + .../internal/legacy/rest/api/ProfileApi.java | 176 + .../legacy/rest/api/PushRulesApi.java | 78 + .../internal/legacy/rest/api/PushersApi.java | 36 + .../internal/legacy/rest/api/RoomsApi.java | 410 +++ .../internal/legacy/rest/api/ThirdPidApi.java | 68 + .../legacy/rest/callback/ApiCallback.java | 26 + .../rest/callback/ApiFailureCallback.java | 45 + .../DefaultRetrofit2CallbackWrapper.java | 48 + .../DefaultRetrofit2ResponseHandler.java | 24 + .../rest/callback/RestAdapterCallback.java | 274 ++ .../rest/callback/SimpleApiCallback.java | 139 + .../legacy/rest/callback/SuccessCallback.java | 26 + .../rest/callback/ToastErrorHandler.java | 60 + .../rest/client/AccountDataRestClient.java | 92 + .../legacy/rest/client/CallRestClient.java | 38 + .../legacy/rest/client/CryptoRestClient.java | 308 ++ .../legacy/rest/client/EventsRestClient.java | 603 ++++ .../legacy/rest/client/FilterRestClient.java | 73 + .../legacy/rest/client/GroupsRestClient.java | 436 +++ .../legacy/rest/client/LoginRestClient.java | 360 ++ .../rest/client/MXRestExecutorService.java | 76 + .../rest/client/MediaScanRestClient.java | 175 + .../rest/client/PresenceRestClient.java | 55 + .../legacy/rest/client/ProfileRestClient.java | 495 +++ .../rest/client/PushRulesRestClient.java | 89 + .../legacy/rest/client/PushersRestClient.java | 166 + .../legacy/rest/client/RoomsRestClient.java | 1023 ++++++ .../rest/client/ThirdPidRestClient.java | 255 ++ .../legacy/rest/client/UrlPostTask.java | 140 + .../legacy/rest/json/BooleanDeserializer.java | 96 + .../rest/json/ConditionDeserializer.java | 74 + .../rest/json/MatrixFieldNamingStrategy.java | 58 + .../legacy/rest/model/AuthParams.java | 33 + .../legacy/rest/model/BannedUser.java | 24 + .../legacy/rest/model/BulkLookupParams.java | 26 + .../legacy/rest/model/BulkLookupResponse.java | 26 + .../rest/model/ChangePasswordParams.java | 26 + .../legacy/rest/model/ChunkEvents.java | 20 + .../legacy/rest/model/ChunkResponse.java | 25 + .../legacy/rest/model/ContentResponse.java | 23 + .../legacy/rest/model/CreateRoomParams.java | 254 ++ .../legacy/rest/model/CreateRoomResponse.java | 24 + .../legacy/rest/model/CreatedEvent.java | 24 + .../rest/model/DeactivateAccountParams.java | 26 + .../rest/model/EncryptedMediaScanBody.java | 29 + .../EncryptedMediaScanEncryptedBody.java | 29 + .../internal/legacy/rest/model/Event.java | 1339 ++++++++ .../legacy/rest/model/EventContent.java | 49 + .../legacy/rest/model/EventContext.java | 56 + .../rest/model/ForgetPasswordParams.java | 42 + .../rest/model/ForgetPasswordResponse.java | 27 + .../internal/legacy/rest/model/HttpError.java | 44 + .../legacy/rest/model/HttpException.java | 14 + .../internal/legacy/rest/model/Invite.java | 31 + .../legacy/rest/model/MatrixError.java | 160 + .../rest/model/MediaScanPublicKeyResult.java | 27 + .../legacy/rest/model/MediaScanResult.java | 26 + .../legacy/rest/model/PowerLevels.java | 169 + .../legacy/rest/model/PushersResponse.java | 27 + .../legacy/rest/model/ReceiptData.java | 42 + .../legacy/rest/model/RedactedBecause.java | 43 + .../legacy/rest/model/RedactedContent.java | 25 + .../rest/model/ReportContentParams.java | 31 + .../model/RequestEmailValidationParams.java | 38 + .../model/RequestEmailValidationResponse.java | 34 + .../RequestPhoneNumberValidationParams.java | 38 + .../RequestPhoneNumberValidationResponse.java | 37 + .../rest/model/RoomAliasDescription.java | 33 + .../legacy/rest/model/RoomCreateContent.java | 62 + .../rest/model/RoomDirectoryVisibility.java | 24 + .../legacy/rest/model/RoomMember.java | 349 ++ .../rest/model/RoomPinnedEventsContent.java | 40 + .../internal/legacy/rest/model/RoomTags.java | 24 + .../rest/model/RoomTombstoneContent.java | 40 + .../model/ServerNoticeUsageLimitContent.java | 39 + .../internal/legacy/rest/model/Signed.java | 36 + .../legacy/rest/model/StateEvent.java | 50 + .../legacy/rest/model/ThreePidCreds.java | 31 + .../legacy/rest/model/TokensChunkEvents.java | 28 + .../rest/model/TokensChunkResponse.java | 25 + .../internal/legacy/rest/model/Typing.java | 24 + .../legacy/rest/model/URLPreview.java | 124 + .../legacy/rest/model/UnsignedData.java | 44 + .../internal/legacy/rest/model/User.java | 279 ++ .../internal/legacy/rest/model/Versions.java | 36 + .../legacy/rest/model/bingrules/BingRule.java | 361 ++ .../rest/model/bingrules/Condition.java | 49 + .../ContainsDisplayNameCondition.java | 41 + .../rest/model/bingrules/ContentRule.java | 25 + .../rest/model/bingrules/DeviceCondition.java | 29 + .../model/bingrules/EventMatchCondition.java | 113 + .../rest/model/bingrules/PushRuleSet.java | 205 ++ .../model/bingrules/PushRulesResponse.java | 21 + .../bingrules/RoomMemberCountCondition.java | 102 + ...SenderNotificationPermissionCondition.java | 37 + .../model/bingrules/UnknownCondition.java | 36 + .../model/crypto/EncryptedBodyFileInfo.java | 35 + .../model/crypto/EncryptedEventContent.java | 47 + .../rest/model/crypto/EncryptedFileInfo.java | 50 + .../rest/model/crypto/EncryptedFileKey.java | 47 + .../model/crypto/ForwardedRoomKeyContent.java | 37 + .../rest/model/crypto/KeyChangesResponse.java | 29 + .../rest/model/crypto/KeysClaimResponse.java | 30 + .../rest/model/crypto/KeysQueryResponse.java | 37 + .../rest/model/crypto/KeysUploadResponse.java | 62 + .../rest/model/crypto/NewDeviceContent.java | 28 + .../rest/model/crypto/OlmEventContent.java | 38 + .../rest/model/crypto/OlmPayloadContent.java | 48 + .../rest/model/crypto/RoomKeyContent.java | 33 + .../rest/model/crypto/RoomKeyRequest.java | 32 + .../rest/model/crypto/RoomKeyRequestBody.java | 29 + .../legacy/rest/model/filter/Filter.java | 55 + .../legacy/rest/model/filter/FilterBody.java | 54 + .../rest/model/filter/FilterResponse.java | 29 + .../rest/model/filter/RoomEventFilter.java | 69 + .../legacy/rest/model/filter/RoomFilter.java | 55 + .../group/AcceptGroupInvitationParams.java | 22 + .../rest/model/group/AddGroupParams.java | 22 + .../rest/model/group/CreateGroupParams.java | 32 + .../rest/model/group/CreateGroupResponse.java | 26 + .../rest/model/group/GetGroupsResponse.java | 28 + .../group/GetPublicisedGroupsResponse.java | 29 + .../GetUserPublicisedGroupsResponse.java | 28 + .../legacy/rest/model/group/Group.java | 277 ++ .../model/group/GroupInviteUserParams.java | 22 + .../model/group/GroupInviteUserResponse.java | 30 + .../rest/model/group/GroupKickUserParams.java | 22 + .../legacy/rest/model/group/GroupProfile.java | 46 + .../legacy/rest/model/group/GroupRoom.java | 41 + .../legacy/rest/model/group/GroupRooms.java | 53 + .../legacy/rest/model/group/GroupSummary.java | 43 + .../model/group/GroupSummaryRoomsSection.java | 32 + .../rest/model/group/GroupSummaryUser.java | 34 + .../model/group/GroupSummaryUsersSection.java | 32 + .../rest/model/group/GroupSyncProfile.java | 34 + .../legacy/rest/model/group/GroupUser.java | 56 + .../legacy/rest/model/group/GroupUsers.java | 71 + .../rest/model/group/GroupsSyncResponse.java | 40 + .../rest/model/group/InvitedGroupSync.java | 34 + .../rest/model/group/LeaveGroupParams.java | 22 + .../model/group/UpdatePubliciseParams.java | 26 + .../legacy/rest/model/login/Credentials.java | 78 + .../legacy/rest/model/login/LoginFlow.java | 26 + .../rest/model/login/LoginFlowResponse.java | 25 + .../legacy/rest/model/login/LoginParams.java | 23 + .../rest/model/login/PasswordLoginParams.java | 146 + .../model/login/RegistrationFlowResponse.java | 47 + .../rest/model/login/RegistrationParams.java | 46 + .../rest/model/login/TokenLoginParams.java | 16 + .../rest/model/login/TokenRefreshParams.java | 7 + .../model/login/TokenRefreshResponse.java | 8 + .../rest/model/message/AudioMessage.java | 25 + .../legacy/rest/model/message/FileInfo.java | 33 + .../rest/model/message/FileMessage.java | 111 + .../legacy/rest/model/message/ImageInfo.java | 63 + .../rest/model/message/ImageMessage.java | 131 + .../rest/model/message/LocationMessage.java | 74 + .../rest/model/message/MediaMessage.java | 106 + .../legacy/rest/model/message/Message.java | 44 + .../legacy/rest/model/message/RelatesTo.java | 26 + .../model/message/StickerJsonMessage.java | 28 + .../rest/model/message/StickerMessage.java | 53 + .../rest/model/message/ThumbnailInfo.java | 39 + .../legacy/rest/model/message/VideoInfo.java | 54 + .../rest/model/message/VideoMessage.java | 108 + .../model/pid/AccountThreePidsResponse.java | 25 + .../rest/model/pid/AddThreePidsParams.java | 31 + .../rest/model/pid/DeleteDeviceAuth.java | 30 + .../rest/model/pid/DeleteDeviceParams.java | 23 + .../rest/model/pid/DeleteThreePidParams.java | 29 + .../legacy/rest/model/pid/Invite3Pid.java | 39 + .../legacy/rest/model/pid/PidResponse.java | 20 + .../rest/model/pid/RoomThirdPartyInvite.java | 65 + .../rest/model/pid/ThirdPartyIdentifier.java | 45 + .../rest/model/pid/ThirdPartyProtocol.java | 36 + .../model/pid/ThirdPartyProtocolInstance.java | 43 + .../legacy/rest/model/pid/ThreePid.java | 293 ++ .../rest/model/publicroom/PublicRoom.java | 53 + .../model/publicroom/PublicRoomsFilter.java | 26 + .../model/publicroom/PublicRoomsParams.java | 47 + .../model/publicroom/PublicRoomsResponse.java | 43 + .../rest/model/search/SearchCategories.java | 28 + .../rest/model/search/SearchEventContext.java | 53 + .../legacy/rest/model/search/SearchGroup.java | 30 + .../rest/model/search/SearchGroupContent.java | 38 + .../rest/model/search/SearchParams.java | 27 + .../rest/model/search/SearchResponse.java | 28 + .../rest/model/search/SearchResult.java | 40 + .../search/SearchRoomEventCategoryParams.java | 37 + .../model/search/SearchRoomEventResults.java | 56 + .../rest/model/search/SearchUserProfile.java | 31 + .../rest/model/search/SearchUsersParams.java | 27 + .../search/SearchUsersRequestResponse.java | 38 + .../model/search/SearchUsersResponse.java | 32 + .../legacy/rest/model/sync/DeviceInfo.java | 70 + .../rest/model/sync/DeviceListResponse.java | 29 + .../DeviceOneTimeKeysCountSyncResponse.java | 23 + .../rest/model/sync/DevicesListResponse.java | 25 + .../rest/model/sync/InvitedRoomSync.java | 33 + .../rest/model/sync/PresenceSyncResponse.java | 30 + .../rest/model/sync/RoomInviteState.java | 30 + .../legacy/rest/model/sync/RoomResponse.java | 57 + .../legacy/rest/model/sync/RoomSync.java | 54 + .../rest/model/sync/RoomSyncAccountData.java | 29 + .../rest/model/sync/RoomSyncEphemeral.java | 29 + .../legacy/rest/model/sync/RoomSyncState.java | 31 + .../rest/model/sync/RoomSyncSummary.java | 52 + .../rest/model/sync/RoomSyncTimeline.java | 43 + .../sync/RoomSyncUnreadNotifications.java | 41 + .../rest/model/sync/RoomsSyncResponse.java | 38 + .../legacy/rest/model/sync/SyncResponse.java | 67 + .../rest/model/sync/ToDeviceSyncResponse.java | 31 + .../android/internal/legacy/ssl/CertUtil.java | 270 ++ .../internal/legacy/ssl/Fingerprint.java | 133 + .../legacy/ssl/PinnedTrustManager.java | 101 + .../internal/legacy/ssl/TLSSocketFactory.java | 134 + .../ssl/UnrecognizedCertificateException.java | 43 + .../sync/DefaultEventsThreadListener.java | 50 + .../internal/legacy/sync/EventsThread.java | 707 ++++ .../legacy/sync/EventsThreadListener.java | 49 + .../legacy/util/BingRulesManager.java | 1106 +++++++ .../internal/legacy/util/CompatUtil.java | 319 ++ .../internal/legacy/util/ContentManager.java | 229 ++ .../internal/legacy/util/ContentUtils.java | 187 ++ .../internal/legacy/util/EventDisplay.java | 620 ++++ .../internal/legacy/util/EventUtils.java | 127 + .../internal/legacy/util/FilterUtil.java | 152 + .../internal/legacy/util/ImageUtils.java | 335 ++ .../internal/legacy/util/JsonUtils.java | 664 ++++ .../android/internal/legacy/util/Log.java | 306 ++ .../internal/legacy/util/MXOsHandler.java | 64 + .../internal/legacy/util/PermalinkUtils.java | 103 + .../util/PolymorphicRequestBodyConverter.java | 61 + .../internal/legacy/util/ResourceUtils.java | 192 ++ .../legacy/util/SecretKeyAndVersion.java | 57 + .../legacy/util/UnsentEventsManager.java | 577 ++++ .../internal/legacy/util/VersionsUtil.java | 42 + .../legacy/view/AutoScrollDownListView.java | 88 + .../internal/legacy/view/HtmlTagHandler.java | 315 ++ .../internal/session/DefaultSession.kt | 2 +- .../main/res/drawable-xxhdpi/matrix_user.png | Bin 0 -> 510 bytes .../res/layout/adapter_item_icon_and_text.xml | 30 + .../layout/fragment_dialog_icon_text_list.xml | 13 + .../fragment_matrix_message_list_fragment.xml | 22 + .../src/main/res/values-ar/strings.xml | 76 + .../src/main/res/values-bg/strings.xml | 76 + .../src/main/res/values-bs/strings.xml | 2 + .../src/main/res/values-ca/strings.xml | 67 + .../src/main/res/values-cs/strings.xml | 2 + .../src/main/res/values-da/strings.xml | 67 + .../src/main/res/values-de/strings.xml | 87 + .../src/main/res/values-el/strings.xml | 60 + .../src/main/res/values-eo/strings.xml | 16 + .../src/main/res/values-es-rMX/strings.xml | 87 + .../src/main/res/values-es/strings.xml | 87 + .../src/main/res/values-eu/strings.xml | 76 + .../src/main/res/values-fi/strings.xml | 66 + .../src/main/res/values-fr/strings.xml | 76 + .../src/main/res/values-gl/strings.xml | 75 + .../src/main/res/values-hu/strings.xml | 76 + .../src/main/res/values-is/strings.xml | 70 + .../src/main/res/values-it/strings.xml | 76 + .../src/main/res/values-lv/strings.xml | 67 + .../src/main/res/values-nl/strings.xml | 85 + .../src/main/res/values-nn/strings.xml | 75 + .../src/main/res/values-pl/strings.xml | 44 + .../src/main/res/values-pt-rBR/strings.xml | 88 + .../src/main/res/values-pt/strings.xml | 79 + .../src/main/res/values-ru/strings.xml | 87 + .../src/main/res/values-sk/strings.xml | 76 + .../src/main/res/values-sq/strings.xml | 2 + .../src/main/res/values-te/strings.xml | 67 + .../src/main/res/values-th/strings.xml | 5 + .../src/main/res/values-uk/strings.xml | 11 + .../src/main/res/values-zh-rCN/strings.xml | 76 + .../src/main/res/values-zh-rTW/strings.xml | 76 + .../src/main/res/values/dimens.xml | 3 + .../src/main/res/values/strings.xml | 86 +- 400 files changed, 72167 insertions(+), 551 deletions(-) create mode 100644 matrix-sdk-android/libs/olm-sdk.aar create mode 100644 matrix-sdk-android/libs/react-native-webrtc.aar delete mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/api/events/EventContent.kt delete mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/events/sync/SyncResponseHandler.kt create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/HomeServerConnectionConfig.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/MXDataHandler.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/MXPatterns.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/MXSession.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/MxEventDispatcher.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/RestClient.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/CallSoundsManager.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/HeadsetConnectionReceiver.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/IMXCall.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/IMXCallListener.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/IMXCallsManagerListener.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXCall.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXCallListener.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXCallsManager.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXCallsManagerListener.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXChromeCall.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXWebRtcCall.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXWebRtcView.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/VideoLayoutConfiguration.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/IncomingRoomKeyRequest.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/IncomingRoomKeyRequestCancellation.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXCrypto.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXCryptoAlgorithms.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXCryptoConfig.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXCryptoError.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXDecryptionException.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXDeviceList.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXEncryptedAttachments.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXEventDecryptionResult.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXMegolmExportEncryption.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXOlmDevice.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXOutgoingRoomKeyRequestManager.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/OutgoingRoomKeyRequest.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/IMXDecrypting.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/IMXEncrypting.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/MXDecryptionResult.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/megolm/MXMegolmDecryption.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/megolm/MXMegolmEncryption.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/megolm/MXOutboundSessionInfo.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/olm/MXOlmDecryption.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/olm/MXOlmEncryption.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXDeviceInfo.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXEncryptEventContentResult.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXKey.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXOlmInboundGroupSession.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXOlmInboundGroupSession2.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXOlmSessionResult.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXQueuedEncryption.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXUsersDevicesMap.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/DataRetriever.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/MyUser.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/Pusher.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/Room.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomAccountData.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomEmailInvitation.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomMediaMessage.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomMediaMessagesSender.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomPreviewData.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomState.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomSummary.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomTag.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/comparator/Comparators.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/comparator/RoomComparatorWithTag.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/cryptostore/IMXCryptoStore.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/cryptostore/MXFileCryptoStore.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/cryptostore/MXFileCryptoStoreMetaData.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/cryptostore/MXFileCryptoStoreMetaData2.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/metrics/MetricsListener.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/IMXStore.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/IMXStoreListener.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/MXFileStore.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/MXFileStoreMetaData.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/MXMemoryStore.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/MXStoreListener.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/EventTimeline.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/EventTimelineFactory.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/MXEventTimeline.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/StateEventRedactionChecker.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineEventListeners.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineEventSaver.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineInvitedRoomSyncHandler.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineJoinRoomSyncHandler.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineLiveEventHandler.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelinePushWorker.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineStateHolder.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/db/MXLatestChatMessageCache.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/db/MXMediaDownloadWorkerTask.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/db/MXMediaUploadWorkerTask.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/db/MXMediasCache.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/groups/GroupsManager.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/interfaces/DatedObject.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/interfaces/HtmlToolbox.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/IMXEventListener.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/IMXMediaDownloadListener.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/IMXMediaUploadListener.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/IMXNetworkEventListener.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/MXEventListener.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/MXMediaDownloadListener.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/MXMediaUploadListener.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/MXRoomEventListener.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/network/NetworkConnectivityReceiver.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/AccountDataApi.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/CallRulesApi.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/CryptoApi.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/EventsApi.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/FilterApi.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/GroupsApi.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/LoginApi.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/MediaScanApi.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/PresenceApi.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/ProfileApi.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/PushRulesApi.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/PushersApi.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/RoomsApi.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/ThirdPidApi.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/ApiCallback.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/ApiFailureCallback.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/DefaultRetrofit2CallbackWrapper.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/DefaultRetrofit2ResponseHandler.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/RestAdapterCallback.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/SimpleApiCallback.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/SuccessCallback.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/ToastErrorHandler.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/AccountDataRestClient.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/CallRestClient.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/CryptoRestClient.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/EventsRestClient.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/FilterRestClient.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/GroupsRestClient.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/LoginRestClient.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/MXRestExecutorService.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/MediaScanRestClient.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/PresenceRestClient.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/ProfileRestClient.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/PushRulesRestClient.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/PushersRestClient.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/RoomsRestClient.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/ThirdPidRestClient.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/UrlPostTask.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/json/BooleanDeserializer.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/json/ConditionDeserializer.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/json/MatrixFieldNamingStrategy.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/AuthParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/BannedUser.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/BulkLookupParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/BulkLookupResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ChangePasswordParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ChunkEvents.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ChunkResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ContentResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/CreateRoomParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/CreateRoomResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/CreatedEvent.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/DeactivateAccountParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/EncryptedMediaScanBody.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/EncryptedMediaScanEncryptedBody.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Event.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/EventContent.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/EventContext.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ForgetPasswordParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ForgetPasswordResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/HttpError.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/HttpException.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Invite.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/MatrixError.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/MediaScanPublicKeyResult.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/MediaScanResult.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/PowerLevels.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/PushersResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ReceiptData.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RedactedBecause.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RedactedContent.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ReportContentParams.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RequestEmailValidationParams.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RequestEmailValidationResponse.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RequestPhoneNumberValidationParams.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RequestPhoneNumberValidationResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomAliasDescription.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomCreateContent.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomDirectoryVisibility.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomMember.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomPinnedEventsContent.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomTags.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomTombstoneContent.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ServerNoticeUsageLimitContent.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Signed.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/StateEvent.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ThreePidCreds.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/TokensChunkEvents.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/TokensChunkResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Typing.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/URLPreview.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/UnsignedData.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/User.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Versions.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/BingRule.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/Condition.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/ContainsDisplayNameCondition.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/ContentRule.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/DeviceCondition.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/EventMatchCondition.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/PushRuleSet.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/PushRulesResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/RoomMemberCountCondition.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/SenderNotificationPermissionCondition.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/UnknownCondition.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/EncryptedBodyFileInfo.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/EncryptedEventContent.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/EncryptedFileInfo.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/EncryptedFileKey.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/ForwardedRoomKeyContent.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/KeyChangesResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/KeysClaimResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/KeysQueryResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/KeysUploadResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/NewDeviceContent.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/OlmEventContent.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/OlmPayloadContent.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/RoomKeyContent.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/RoomKeyRequest.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/RoomKeyRequestBody.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/Filter.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/FilterBody.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/FilterResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/RoomEventFilter.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/RoomFilter.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/AcceptGroupInvitationParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/AddGroupParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/CreateGroupParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/CreateGroupResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GetGroupsResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GetPublicisedGroupsResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GetUserPublicisedGroupsResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/Group.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupInviteUserParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupInviteUserResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupKickUserParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupProfile.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupRoom.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupRooms.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSummary.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSummaryRoomsSection.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSummaryUser.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSummaryUsersSection.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSyncProfile.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupUser.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupUsers.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupsSyncResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/InvitedGroupSync.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/LeaveGroupParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/UpdatePubliciseParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/Credentials.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/LoginFlow.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/LoginFlowResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/LoginParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/PasswordLoginParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/RegistrationFlowResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/RegistrationParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/TokenLoginParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/TokenRefreshParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/TokenRefreshResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/AudioMessage.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/FileInfo.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/FileMessage.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/ImageInfo.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/ImageMessage.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/LocationMessage.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/MediaMessage.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/Message.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/RelatesTo.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/StickerJsonMessage.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/StickerMessage.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/ThumbnailInfo.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/VideoInfo.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/VideoMessage.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/AccountThreePidsResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/AddThreePidsParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/DeleteDeviceAuth.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/DeleteDeviceParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/DeleteThreePidParams.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/Invite3Pid.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/PidResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/RoomThirdPartyInvite.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/ThirdPartyIdentifier.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/ThirdPartyProtocol.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/ThirdPartyProtocolInstance.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/ThreePid.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/publicroom/PublicRoom.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/publicroom/PublicRoomsFilter.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/publicroom/PublicRoomsParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/publicroom/PublicRoomsResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchCategories.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchEventContext.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchGroup.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchGroupContent.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchResult.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchRoomEventCategoryParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchRoomEventResults.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchUserProfile.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchUsersParams.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchUsersRequestResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchUsersResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/DeviceInfo.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/DeviceListResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/DeviceOneTimeKeysCountSyncResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/DevicesListResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/InvitedRoomSync.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/PresenceSyncResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomInviteState.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSync.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncAccountData.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncEphemeral.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncState.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncSummary.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncTimeline.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncUnreadNotifications.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomsSyncResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/SyncResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/ToDeviceSyncResponse.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/CertUtil.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/Fingerprint.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/PinnedTrustManager.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/TLSSocketFactory.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/UnrecognizedCertificateException.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/sync/DefaultEventsThreadListener.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/sync/EventsThread.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/sync/EventsThreadListener.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/BingRulesManager.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/CompatUtil.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/ContentManager.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/ContentUtils.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/EventDisplay.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/EventUtils.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/FilterUtil.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/ImageUtils.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/JsonUtils.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/Log.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/MXOsHandler.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/PermalinkUtils.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/PolymorphicRequestBodyConverter.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/ResourceUtils.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/SecretKeyAndVersion.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/UnsentEventsManager.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/VersionsUtil.java create mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/view/AutoScrollDownListView.java create mode 100755 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/view/HtmlTagHandler.java create mode 100755 matrix-sdk-android/src/main/res/drawable-xxhdpi/matrix_user.png create mode 100644 matrix-sdk-android/src/main/res/layout/adapter_item_icon_and_text.xml create mode 100644 matrix-sdk-android/src/main/res/layout/fragment_dialog_icon_text_list.xml create mode 100644 matrix-sdk-android/src/main/res/layout/fragment_matrix_message_list_fragment.xml create mode 100644 matrix-sdk-android/src/main/res/values-ar/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-bg/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-bs/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-ca/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-cs/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-da/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-de/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-el/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-eo/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-es-rMX/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-es/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-eu/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-fi/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-fr/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-gl/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-hu/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-is/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-it/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-lv/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-nl/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-nn/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-pl/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-pt-rBR/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-pt/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-ru/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-sk/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-sq/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-te/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-th/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-uk/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-zh-rCN/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values-zh-rTW/strings.xml create mode 100644 matrix-sdk-android/src/main/res/values/dimens.xml diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 11f62eee628b448186dd46b55ea979c4562da5e0..9d3f20134036acc4db93b8b4c7770cebd46719a9 100644 GIT binary patch delta 36 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

y`Y;dzo@OkFcbT)l88 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

UQ_(t{B85;e?6V??5xg<=LePIPJrA{ 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

NK~YAIu)B-tX=7gHNkx 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ⅈt?!XLJ)2nP(O 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

W~+VEd-{$70+6kp1f(1i0}1c-0)M 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

  • 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

    xRD$ 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

    NoE)_K6L=^?k8 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

    T378ffrySGzhZw^9S|a>~C-EZcjVxmT`_uc<`Z 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%0DMQH6t0rG7& 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 XF^GO#^Znhez~5a!sQ1A8N=p9^YwW@( literal 0 HcmV?d00001 diff --git a/matrix-sdk-android/libs/react-native-webrtc.aar b/matrix-sdk-android/libs/react-native-webrtc.aar new file mode 100644 index 0000000000000000000000000000000000000000..ff5bb99f86f10ca727beb81abd779387e61cb6c0 GIT binary patch literal 6783535 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∓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¬a1PF9 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�p$YJod1V433t~EW7na1`n1v5v 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

    {Tbe-)ol?6HD_wKcxI_n|kFD9Mzddv)i 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

    R?);|?| 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 z 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%0A`}QhV;!K*fdb(R6&ug_KLivL4H_klM|4B%zr{ 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 z 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

    #F4&9H$dDhX5R#H>mNWY{{x6u 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%0D~xY&oG6g4=F^pCAU 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 z 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íhdbOgT3yw@3dBu#`IwQWTBl6Vw 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ℑ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

    g9XA44I^T%FKB+Mpj8jxSQQ0 zr1(qj<_{voW)!)VOVZx0!SkHF&L!~F9}Po5BfOqRIB@TByg|$sfQF7XP-|%hj~g~Y zuY9)1xM?8;P_f8zT0oN9|3g5xw{;n_KdB8Q$H(zyG za$O_MV*crE%WZrn2IkDE8(exgNJ{H+4wvZB`P>9rE}`eV|eV;ji`6gxcU*ZI<#yX?MK( zZk>eW=TN=7@+EU9PzUOLl%pVLJt1eqO-k0=>L(k;(a%HusYl8jlE(oIJ{O|N-qM0+ z48+AsDBHsN$N5wV`SgW+hL~uxk`=4EU(0)!r@CG2rIj8Km#RFjl{U-NA83y) z5<|-4wK5pNAvsR}KZW$qcBNl9_YGOf1IHGI<5_w~qTd>`BvMzp6 ze`v$KDrMm)9P8^$ooE*-NMIHyk{(c9@p|}Aoic-xcv5|flw@DQcH90s6&auf38yOQOP4T->xOOUw=8HbpX<8I2jmj4=Aer9e!%Xb(3`oxW%f*-hQ0U^Cmb;5E+c z#lV7oaMu8%EKY4wE<%y`Ei8YJe?ho;V3{2JT_qkTx_KKTnN1i)egmV(H?dt--C(<} zdX4kz7r3fO>VEFKB}afyS$rvv6mmy~|Ej4{x(dHH8d^-L=xb2=b=X^tHA{D)2=@X? z`8yZ7(WAhpK(@wvwdZQDHBe{jHjj{1_F-Nq&Sj{A;f#`T--%X>z8S^T*~=Wi5=$?v z6SGqd*bkN%BlV-m+?dL#)_N621@mo*q`04O0?&4v<8FUpZr^qp>)Sb8%HVag!JyIi z>wJ{aW~3Aq&`R-MaRK^zfnwAHiAc1|Y5%U>Xb`Q%de_!vD!ZFk_ow9ImD_ED>uHA7 zALWp4fdYMIo8i6OM5!Ou(EK{pgxl8j6$l~a{BTshxYVs+4;LhNA1%$Fr&(U>h1_oRHfOv%+WoSw)&&F(8i&kSgfwEaZi<6gOFT$xBM&*u~_WbN+O}FlI$5{pkFETt`#YdCgYu`AUjkx5ap@@yy@D zMX9~kctfaGqm^n##hkTwZQaPY=cA|>jANiz9>BEQyS2L)9%Fq~U9b8n+U-jm?)j{N z$A9j_r%#+BD}>GN#Yj=ix|ak)t%;UTStNq89U%AEiB@^Vd+ns4TrYAFgS^81tYKKuN5yr@dj!ky5&#nyXFxL~}FE zo9V$ynZ%X(+;~4pK^HyrI^1}*w4^UXS<0KG#ld73rDnle)@Lu(U(HZMy{&TDa(kaP z{03_chf0^*-)Z-&sOHus-b@Q&X%%`Hy8wLZkgmIv!f7SSr}9Plb2V~irM!efw=LTLAnE||l}?D`05MBIyv9{?GYR5Fpr!#e<0evi7F1*) z)hm!z&m9z`^=E=?8Pb9L8Xyk@;`*E`Ah8DuOHWK05N9g#5(s84{pbYuSP%@spucj);=l5%rG z2kM`Ing*!poluJbRU@GG1*~BNH3F!CK<&Np4VR!!(R&uh8~D`Tbl?>+3vxf5O~rbf z5;LX>{0oGCEf?R9R}6ExiCOVw{C}rNS|+*DvKZ2GHK^;6V1=K;H*c%?}sn{4|o6&&!N2?l8kqh+=KwS-}b336%1FB9yJqTEH2x=Kn9};S> z6W{e>d&UiqVzCN6z-OU|TEq|iEuOyfpp3ks<`%Z%9ISq>Lsk^XN&s28on$q&R&x=8 ztXz-~N+f&=R1i?o8{Wl8HC`z97l>ApT$t@SP=~vB-Tg%;%wGZ1+?~fv1Eh=HF*OmW zDxj`i_W<7{(!^s15X^?b9hg;sSqhkoI$>@E%yj~093ZVGn0v`E>WeIUbTs_# z)TtRSQdcc4IGq|-I(3jvIbd(>l+Lk`PA?&ym)om3nn*bZ6awna>t3MG&y3!C@M+D< z?Q2LWH4N%NeHBoz26o-OtrMyOP)`Q(sQUoxXdtF`0(B6mf!Do3qkS&&8qI7)QKL=O zT%ij!8cdsE6wid860d)aj%^|3t1N9+L?$<@GQW{Rusc|7vfH(;d_jE%19T1ZQ z#HoOjKoDO8N)43R><#vsW8(D;BeK38Op;|A(J|D2qG9tuSN+$4&OpZZo$EiyXz0ev z=nKfVx?w5;sH;HjHDe9WcWL+*L0#rT-2$iwyLH`txD#qNpl%UR+o8Q(M^JG;SqM~~ z8EZIF(D0!a6g3hwJWxQLdlfVWm`6KdGJvTSFslG5jbQ!>)FhxLn?>v7PH16(79pVR0gOi=7nr``hN$E99^`Avl00Y~ETX*DOiI<) z#Mio(8`XlGULeOD&~^9Qo#fO*A9y-|mopd8j|X7tL!b^5>fJVc7jjU&`6T3-)n z9dPe}EX6v$51!JDqW)$4h8s%S)p z&!5%RfLAw;SEJtGTd$KA4AXC9H)~~jkv)%-Ge29OZd%|nc7G$Fesz^g z?YcX=6Xvw$hp9Ybz2iYD4r?4%2;*-r7M^?2{{Fsu@Z_aVPrlfES9tOdM-6%MSH~R) zU#;O=m`aW_%yD6i-)9DlzW`&d2JiO&oul*d2?7`?xcRbxw8L?UAZ>MAgiu|BZU4ol z>GR*=$I6q4wVQC!pTyl(GlhuL53<;}pUB)Nv9*S&erwo?)d_3c*gF z2eff6wD!G~fL7ZH?KiGMK%3$)5VY4E2O+$E$GceMLJ9(;=Uqsb_UZwtp%c^%q@bDdM>y**Wg=XcOyG;1fc&$;yinvbKHpm{ioAY60Ddp#Z7 zfpi*>y1S5;?=1kNN8u{wNu(*@ZT(?0VcC0CR6 zTCb0LW6bB8e{f>mp;Ek4(v6YL8B*ZIbYqaEZ?iN?%!rJ#s6^wx%yh~0(Am8xi=11} z`Kc@P@pIj*GFq}HMUPit;j3c}mY2DML%G&vQRV@2Mf&*n;^!jON2cV_htj&T;^^$F zNvVEM=r8F(x2{;*FSjQWJq!_~BFmUoEOoQ~Yi^)gvd7JuK*#HOnPR{f3o@}hJ}xrD zopKNTmvBFR2C0UcA_S>}uJ(RP>bRz_NE!RL%b75u^-axkb2OtStJSnl31ilG8`BCU zCsK6>U%2}dPmgO_`MyYr%dV-dt59}%&3&2ewrvjF!gb+>6k)yM`MhnmfZCzLe9(c* zkK3@aS_L`><@P*;iy(B?D9{HGTFSpDbz`U!Unq+oIBK0}{qAI`aXPz+RWn00cptXc zz(+MyA*&Y^OGozzUMw4(@~*{`3b!OBQ>~(SQNal-JN3WXC6(Tbb6NC0Sn6tOwP>{( z^7>huSE`!i)w>zTH-PUSTcl!(l4;{s+ot=TT1sxKi7U-MGU`Mu`uSum>H&G$S+79I z5{B@4WJ`G-n_sI&u_2)$iZNUKrllxGFDzZ1?8f*qvWq+YCZ^0pRQ$T+gvwB6pdOin z$9l=NDJQJk+wp#IFQr5yS|e_y>7M#;g!9hNbLi*?tkcHT7ih;{+GG`bNcK${@!}cxdRkmGhl&<%HlAj*iJ> zcd`Y^GGhqIRUTZKtXF)d*3FDhl!kiiq|CIHl4+PDH5kPWP=YD}BZdZy?=ePJ6hr15 z7vi_&K8%E=!l^-hnNjv`txC54oK380Qg3ZG`G&0z(}ks({u)2L+97mq?IQjHVgi}5HaSu61n`QS_S4Sw@SmrF8dOt*df%=Q z3*VdxJQPXJAC)p*@<3)0gCb5?Pqj%HUF~?JW=>eSwi500+5^dh&%}p_RI+;7;{y0* zp_hU{N52`0I7(dxzaq6*)zx%~L*rpwj&lL|(6`{#vxhk3cZrk9#RE+fPQm||YWTY- z;jRtjt|H+sYM^NnzU${2el-_f?HmB@@;pbB9-n1^-&roRe{h(rVNLO3R+P&2;C%~H zCW_f=8`uaIx5Im<(|!}$@pPk{5rdz(%)Yc0uLBhq%Na!GKWXfJa^dP__Rrv-aYowp zk7UPkP7eHJ2Z~BDO2D_#0*c#?W%eP!8ESMZPB-*oysa{sqc<~XRQ23u+__Yy^W!oL(r;m}qs{4WAI5=TOXo7oM< zNpeOC@wV0=15zetC%!k^3|1KGpN!9vret`PXNZ2P41epir3R;oc9()g8DQe?885T@ zLEf$#slg9xM0@dBYs>5x$QO8c+643&BbI^Xx4=l{H>1?02lpK?s^Ju%iF@$Rk8qzS zq@_RT;Gog7I5<9Db>Je8vj=eY3Ygo0E-~Ufi2&0GPksk64%axX^8^n`l7urwT6SX{SC+NomE?zL<%D+iehxGx%{ zJMDMdk&;>`VW@%_vI61)v~?$}MUE&2w;9m40tS9_yy&UtsTKu!Z+w9~-SMn}Jo^cG zR(&M9d{HS)-a5~QXX!m_VN4dxiuNwE-)N2^Igci#q|8>n=WFIU3jE!BV-#56GJ8lX ze!ot^|Kj3wEy!6<6~yYX)GwS-AZHZxKr(29?a&g)7;muT%MET(eN1>CnP2!e8(k|a zJGMViHLlJt(&K7?s@G*tRac|vs)wqZDah=t>Uy=CIa)WZ+cW{%Is9fw$xz{9j#i0wcD*Y`_=~X;^O9tdRVF!ajAqO=aPhp<|zqRCdKd6uN8*M4ayEk8A{n^E(`0U<5#*@8gpj2K)x3eP1QB*3u zCkpy3nK@FR#AX~ukRE@ili!E%8)z=pEXkI<7h|SX-sJtHpV;5c9fgdUukkSl!>=d# zl|jD6+2Z$t%y{J*MSi=FMr%ZS=4t4CQbiQ=mvx4-FN4=5cmg`Mv2{)y`-+nm#eN;NuH)8DE~*z3Hq?`&@oBOd`&3m>4bG)OOI5R^xHqRM==>pkbRdE zv^t1|RHbmclRZoWg_`6CxhW88lFY39T+LjOj;)+No3{3(oc8nW;-W-WE#zQlJ^wB+ z_ed;SN5zr-kA(*!5d)#6yt}aLC@}SlQWZN_!!qK6?Y7)@HIbi*>a z?^G;FizT7C8fbkRN?UZ6BzLl&kN6l^W_CUA*PK5bi;kB?qRG3-H*v@LG8z`eykdNQ zPUI)u@OK0%FK~3}xVl-MffmX=pt6b!*f_54Ef4T(2oriQ=stqf%T*pEl}6cFC=a@Q6eA4?#y^$?>JOYNh`y*4-ftJHK7vuocd4O!J4PvD<-6f((9SUT750rzY)9K{@3pMw zhNkYfGTlj>w}7-4N**Y zh<)cw13!j}jsoraL;O^GM-OQ*ds{zf14~l z!~Z`Ac-M^7b4@i-Ob@sx8{+4Td}-vgqo_ZDb_f1U;GY8818AsWQOAJpM#^X*+;!O4 ztypE?pLz@82LuFdJN9Gn8fyHe(yPF`z^A~sV5$8b;BNw-r$UcQdZ~So6Z!9e!| zdNt5KK=%duD*)eT|ig*tn^*wRpedl zuelfOQ{-FRWsSe)XmD@n6}sk2u!r@B?+JW;EsVNG6kP^CyQ44LQae(Zr&x9<7WqJb zu*|GL3b=Z}MH^z#wQ4dSA^1#<&5wPirS`Ymc%R8#@R>Shu8}>mP0k#*nw`Ag#J}^O z^bfe6`&9EPC)SmbxeFigI;Bj1(C%05#~7N?;&-dh)sq<)>KckzaI>0==`P!o^q}_> zb3;+g3VUFCH5bqw`vlu;Tbl8ECro_{l#EbC&G1Z@ZMMUXYK{wp*3Z1ROwCBwF10`3 zPBU{rj&U$A=eMi)z07SyxEMOvpAz} zdRv2Jc;tm^{rEPT84nVt2@+R<#7~ICKAj})0*S03aR|uK64Ze}r4gzhNbCa=Ujd0@ zfpelJ(ty7m<82M_m}HhI)eI_dD?-Yp_E*~Q>KcownyVdDFU(;5V_!8F^h~+$;`aiA z+%~S7b9BQL2UHWG9&)_gZXmZ7IE!mufzm$!GAw!&H_DX2;P`GL^Ft#(rD1~(=N?Wfe$~0mrSTnp@<;Edg9E0Bcv(NxMfK_-zx9`!b+i48T+>UU@($ z4QN*d+I_2)f8%ud4xjp3qPfqTrhs1LE;%29oGs6kvkc@c6XXN~`T~O94X-{Rl%F7H z0LaP4oI4N3bfBgJs+OR}c0!$wZH=IAwcU4CbD985)d4k(P`91%44_H@RSlf^cc>@q z&|Am@z3+lcmj7P-KI&PrRF1Y(UeY0FYbp-EceaplzaXWm#SZb*JHr_X*w*G&nu)6T zw+s2s9&0Kt*}_gG>uhZhaKCca5xgbNyCnS533o%8mbBpaQ9bW`Tqb!U^?M2a4j2CS zd;WSR{-3Rv1pGIg7YObY=XnyoCg9I$IScW7w{fk&DQ5`sDi`wNJ*Nrs+D^!uT7MCc z`#XOoh_TKSBa8hIpah=1x7HmtKDj z#+`d2QCMvl+6(j+xQ4(r19%lRVQ4ha^WpmCssh~GNR$e^i$JFWZybbkfM>cBhO|IC z;M#XZfiCWfME!wx6zFC6UI^a@-fy?V&=jCw2cGq^0tEx_1K^2(_Xk{yfwzBWB=Q7a z5zy;_7Z2ey;FaGBLmHs-fcMKK1$wX}61@bxzknVMymuii0^XyWVdzVs!-3}u;ZWeM z0bV4~_u%>Riwa~eiA0IOI}J1oyjLOA0q@FR{>dGu}DBZb9EV@j%(W7$%?;dUMQdjw0%L){Mr_f(5nsZ z1{;gxav*-mtR`Nyo}hjppl-i9pQJUlQ(C7qe=MNhb$mq7ZaY3C;dKYx4QUl~@1^3k zC~C$J()wjHu5+)uYQ!h|W)s|(I^o8Fz4N$795V@?!I4hFa=?A5%U0V3rxxP50`3%o zJJN+ae&1xGh3%cRAZnf@;I4E`BzVgm6G*t&0e8Q*)waty4&tu?E&|**g4^GP8?kQ` z!QIgb_dJ&(;LdU+6TIn;;Us(=aCZRi=gt=(9&N^J5tc$aXl7JJhzpn7`y9dD*$H<_p*0e7M^mT&(Z`2IsJu|?l7G?N4=IGxC+;79P?FNXN+*&hC6xqW5-1N@=mA$-YA19^u-F!c|h z4iaiY>voX*5lG%0f=44bpK698GUhw^5eX~ESOzi{fs7rUWURxhAO#uGfSg5;djrK1 zO5VByWTb$MX(S%hiY;VE^LGqo`QS%2bD5L-IqlyOpLn?C?JvP!9ok`!6T!!f0-3uy z$(#W)0|c3t7Q9j!Q}sZ}2z94r7szx6nU3JOn&UNiT{iA-r$G5twPTyF=JEw8)Wc|y zc`?{$&%RDl`eE$_3-uqc4+mrFAW#PgRo1c(q@0IQKncWG)_h&Y>rYmM^>;;(6XlX) z`vSb*XUJ)VbY=^376Up<&==sfYJ~cn$k~KfsX_ep8d)&~7V*1|AIUATX9|*z4(X8e zZ;%uNlJ<9!^m992tISK91o(age;n2zp+>jt2TAXMBn0s&$PsUKe2(51Hhn5I=h7>oWNh`SB3sEON=|4RX}akP{7Z zLIpVo0X=}Am*LfHgxX8wm|#poLwwmCew4YyzM+km5aE*0w4j>1738zW&`APb*Jupl zCE)e{CxbAB*Z&_S)Thk`kgyRX9Dw*#$O-jCPPPhi4tLB_JUj|=@}D8+1jzYBkTbEF zU%$N7_A*degi0lHvOta&;(hL1L{T=FCa&RbqDbyw>wJbPlr(cE(yKy?hKGn*}44j?hHY~LBO3uaLYKnnwgY8 zSBc9Xw|Nj>cKhklIWNeOyX08&pr?3-9Ge5rEb(#{0D1&L|D3}sn=v(y$XVZtXPM?| z(r)uDL3|F*5e+$dOOSM6P=}<$AgLkHXU|WaB>fvCT@2(U;r0K1-WcI4(&ke~qx$2;X_iUY4_#uB#JYN6GR3d9s%{~tl9 zznsTG0@aFVn&xT_-+H=y+=QIyTyhk6k4Cq@%ZbE$G`jI}4&c@E-7vKeC?lbE5;=Iy z^>K(Vx`oRpoz$El$j>)Ieu7+b?%{nJAm?N!IS(MEiv&43K-UrU`9OU_sE?f|LC)G1 ze$Hvqt*^?0p2*LJR_q-#bolrW4}p}i&yZ5tiq|#sQeFaVHNhT*^+%`_BIT_Xe$GkZ zDwlYYk17}b62M1*f4X!12mFQr9=|7`-U`4}5KvbMp$Qd1Mn(0YsJ&$GL*39kqW-ve6RDihI%G2lc7~x zOJupmMGxg5YZA!%vy&|B*CYwD%J6!6B4KYkKg+bmwxj(|kafBluYbm}7FN7LW_Xv_ z$C9~^FI^Ju=ipV(f0xkI;z;H3^V;!j(-zz3?JXpnPp~&MV zJ(goh_1RUj(!Ha6YNWut$JF@va!4+3@SWf`K)wpmobN&F_vz>6?Yxz~cMeQdEo}=v- z5^`;40XL-i1i`&<=$}v7jGUmyy3mK^9DW9Ra?1|_x~c7Zg8F+~ISEe@^agG}K`%MP zTgp4R9ll9VX9 z)gE~~E?Q`UvCVgp$o*;MEvu7sgpK&QYsXopdO>NZ9q74QxLt%tG9 zAP7GO-Vc|<5Ciloc=pdf703^GuK>>sv;v-g8^V%rBhlSUVQ3D}x8UBkKNRQ%;C&7} zAK>M{wFY?SH$H@rtKwk%b9|&3C?KmHX5`f+Uyc55H z4B(9f-g%(A1MhVRHxx&r>T_Y}pFm%RdmsL)Km&pI5%6f>HGzzUz&lw4It5-K&}G2u z4dGkB+g=rh1_S*sxcA5@1!`X#iCzTWA3zTU-m4IP4ZI6y!_Zqm>p|}QlM18;-h049 z!21{QRshdf2>AfsMxd_)zYl~g@OGSmd;q-#con}WkmH+3^gQrR16>6C$q=psUbQI< zWdr>$;E5q*fVUWU!9dr+wd-dEYWzA9^#|ThK%WBML&*_;8m@GvIJfU(9c6!Haz7G=W+b|pbv#nEqb_NA$WzMf4A(-&~vAS^0wU{ zdc^Uer2YdnicozV=M`IQqw!pPD7J8kp`-Q$3Nrj$GO`xpQLxXR3!Upf$dCy#oY3YX zg4_ZW7lNrrtrrx0U(yhQWt=_ubZ$ZgNhOILlAc?L$HIS?Gz=t_hVYW`KDiQtkKfsB zA=FVK=_a)Bg+$VZgM3T2*uKxn%h0%FNEYI;u+N@Lon&}`46Pue5RlUdazQKJyNju> z{y)0D1ip!)eRww69K8cAP}%}Hpae=Gv?3KeLfS4Z1p)B@LEW~Xo3>yDRK$ZKhec2e zK`kvup`aj#4N$d04GLcGEB`mu;>#%!)ZQV%l5Cqa`#m$8R>b$q?>Cv*+1YuXd1mH0 z=JZ_v7*>FhMPL*`Y5wAB8@#naNarW@Lb8L+s{RM0x4h>BYz>Q$@*#hku?e6t>AvBkSZgyix0|3%= zcn)~&wh-Xgh6cQzB;bwe65;HCZdc1cx^6>RLU?}l!)WIT*_kx!2Ue9Jcnm|IE zx~~I_kMU>%fl*-VrCKPV+OZ&{#PdD`TqVQn3{1bcO<*mcEaOC0EJK#M7@J_~x@NRX9mhfJW3qprTsI99N z;6(zwDgy8OFaF+(`UfFx?SquO4)5jtC!`dBv@i(i6y(2v_Hcew$E5nwz_VEF3sh^wJ*WOai# zJqW9FLNBZ**J5ip^6*dQ!7a8?z8(9VmiEcSYu_?rML6jN>>hV^xQSY_o2 zailTeE%J#PTngk~+6POIX$O|2=MGrOn07(S@&qrgv4Hx=GJ}Myya!-4VrfBOy;Coa zlWg!-`Ni@K?}On1t8y*C=)MDn&yOu(5yl3*dVu7N?SGbpR`J~cV-J=V1jZBfJ8v5) z+2H*k2 zpNIRPyuAin!;y#mcR;b=J@`SpQiDffh&7pjsYgPCct1dygyqEm4CU6z*NDxr!TUL} z#QizF5T00r*IxV+LY}{O~3?GpEf9uOX z8IQw2{((FDKOTn(=6?#0B9L59KuAqOp9lfm|GUMVzR>^sN-&Q=_@NJiAMD7^n14c` z`c_|5d)^Vm)fd&CHwDoauJ)`W5cYSAYcB%c{9p+(A^*82j`!vN1LVIS@}JpRvh?o| z>^^J>ix8d^L|eGpGfxm#U{re^7T}xb_Ih3b7|RKa@h9I7mcrx1P%8SMYztb$|Aexm z&mOM!BnhHDTc}qX|Mu?-niMfH!bLEQtePq@7sZ2jiL7MSFN==juCP6#7Jq zxZ2ZAEa7U8C(uRwn*m4-xyN*SvWfgZ@pP~R@A~jOXF*@?X|LbN{$F|D=W7k-{X?Lc zP%8_9bQ-i>o$gLf^-c}`!>VXt3-oQ*fb`u{y=mG68o=UsvSk{l}o zKNJ7`0Hp4>*HhQ^6Uq5`$T`|IpF_@n?L8}9D$(JbKk2Rw z=A0S8&p-PmI=Uj71x|1R&qQt@>nt$$%wHYdhv%EC4-neEc?WIZ>E0X6ZD?Q*!7q-i zxv2IG1lqm{v`y>UN$~9a9NWI1ex*VDmPB;V*xOV0#H|DWo6U(x0dem^_`i@g9{dFmx8vW#&=?4pL)@pQ07e`_I3Ip(i1n1#!RIG$;|`o`EAI|VfSebdI0n?iKE!=`W*A~1oC9&^>YyAD_ZY7 zxXlpP_y*Xt5Vs$~{|B_02>wcltN(HsdJw|35O@6(ue`J*tE8@80b;(jSxQcIhl{1`r3?DWDQ46 z&16o_jI)#i$E5gKt(0`I-N2N3eFB0;ra(AGMPhCW@EjsLU|^;}+FYKja3i-17+t$d z@LEiq>Z*XhC?sE85Y&3TO|4$d%x1)|7#{Qe+}l=%Jmz>RTMj%Z{|+9sn}0k=34?zw zp}-jbW5n0{A$7lMu>T(>&uTwTZ|zPYr#7Fol&&(T|N`Z^_Fi6@!dWVS~OYL@NE+{d|Ytl!DB$_lGd@ooVQ(`2szK}{CFuozd_uA zO89?pWdrbkpF!mRzHuV|_d#l?(LVxX;JKpdFT6{=9fG)i@ZpaK_N|>Tf2`|+a69hd z{LmnTO5YHX|N9b%ZwW%E4Ge~7bCZGWRzS9eyKdXldldNE>%gz-hoOH#_$g=~nc&Zb zxPPACNp;mVH!+SvnF{7E87QZ*chgW3x3$Cgz^_~pG?bk4V?~}p~o--)k!{?dkSKrSJ zy4jWtOY9&-3(c6oSsP7VItfQ zD?>k4mCXYTLXH>#W{QA!?oEQ0IftLbrE-9g3XKl8#W9a3%w;xkdpz4)CUM%jR8FC# zCa1ErJ0(#=X0RUhTb;*g=1-U z;^DvQY&qy^o4f{LF{!tq4tZq)CmDlW2TNq-c<0MFup_^#TiBP!mCFnN_Wf(*dzGMP zo+9DatsW{W-vorPP(nUlnW(0 zDN3MUpL9RR=&*@4c>jkSlW4keqHh;+WLnhS)S=%G1 z%9LhPL%r&GIfLtSkLR1_xy-+KCEMf4@6iC)RU*2=@4eb39gf3#Ymeu#9*HA?fjS(H zbjlq{%YD}U+(A|eZ>II&HbV1?%9+4N)j>YGrFk~tqk-*z^_O!W13!g!{x0~Zfd8k1 zU-l{94=)JIKO2U`-OK}+PS4108t7lm;xoGwpV#H?%f%vaoz=8kE$)BK@OwNY9l|eaNwxb2e$s z)#eJ5^_TAHf(&%$X@Gr8mo7)oyquv-O~N}i-)+lHB46rWjkZ$dot_!p z;gJ3=NKcjTXH`})-)im&d`kekkA0TanW=IrRhMh%drR%_^o;YzIP}cB%}V+-PgfOk zvv_4v98Nn~m)l8r`Il~^@Cfrx(_-$eCWCmRI`FLf-xx#gW1#Vl##AG(oZRUN@#8(R z$oBa$@txpx3YcbUfy9$@j{61EkC`lWeaKe>?H8GK=FvcV+O3jf+K(o*ugy|M} zp!v!`L{9ht46UR&7L8`6@M9t{1c~cEct1)xWx@2G4`1WlqOCMgeYr29#!&ymQLzk0 z+`=f80lAQm(n}gx4)6G-)T(-Atr5b0Y~rodmEM9-XXPY>W-?t45h3iuR_zj(<`^Lpzs^G(7_QaQsNyyPh1CCoo~$!y?@ zdprp0YmaAyFpTgLiMHCa#*c96dNL;T2Mmqt2R~)Mp-N>O%1W4%FkfX<%}qBViH}0XQ{mrb4Em_8 zH&lYprBD}7J+7DAYi_-R-w^@$pjECYrh%+#|J>PZcxgvHfdx(v-;`;`^bPug3w*^fxaWZaw&7<*en`q|V zAJ=g2#8ZCnP?eMITC7QFve!)0`Hm6LfjM$rIOKY zjmu?i=bm4vTC9@!Xs>~J2?^du1)T3)!rk0lW@1LvwiHIkp!cz^D}DDV@8p205}#N` z6KLTjGJqCYE(ch%83jN~VUz$5y&nR2Q(HqVgDS%;QeC)3$1L_f(M520$52bpn8LoA zp`0LNUuRFV2H?G)j7TPYD=ce8hSIPWG(BmhE>~8WpDU@X&ZR4_=gKQ}d5X$dj?L?p zHJCg9LcUXyI}eqqQr1{N-U7E_3wnDoPWJ(%!#B;uvU36EZg;5U=&f6;N^PN)j}!VEg4a{OCh0d#skShwOa zD_)@}HbSW8@HsbM zG4rjM+imAnx4Mh*9o#jh=h_s~Q#VhP;P^7$bW^ny={|{lYRY=ki*1xN>|$<`Dhg2GU5yw2sKbCX0MMB{(@Vm3%9)=uZ zG~#!ZYhnPWo6nzVp()I-z1?zryFAoH6!4uVSsjit@GW!%lL%*dbhaCII(Y+v4ZR}j+O55O!XV$O3FW z@Bt^`Kp*NdFq^#TzAA14*}qz0>IX80Y3rp-{~VFVAoKCr4z9gDnBO-yO(cEk;;YH1 z=J`ZaeOQBD1Ahnj`%9A1Ch&haq(NuE?R+H}m4ZKgc_R89e6=-wsMHh=tpm%GWwqgq zoKe;xb&Nv^ZPg{GH9$4)7E?V~mLSyj8fM#|BL zE}1C?OEhw-%SVFugmASZB>qZ=B+27MVJ66FcDo_$7k8O+X6MRf)b{H>nv&P32+qj( zj&W73l<0>NPI7243()sPn>pIX%x(44_ z(Tf)-l2g)Zqh`FCk+cGzn{i1I-H2tK5a)3T9zd!~2Xms7%sJxP-E#N|oZp@${9moiecy<;3;*@tZOelKJ}U)bZR03B8h{pfys zC~n!)$7EESWtRNDew6g!YZ>u(Q;yN#Ux$7a)1dem-?n+!eXS>vSfIEUmE5*hKMi`3 zvFi-(MO%kuZ|&Qwp8~xo9(vKeifH~imugL8C`}4{z4dQjNATjAHuz5C7?54mF$(HP4qujfy~3Z|M(cCt z!PXSBHseiG#Ca`)PY?jjwiu0nj&MfIQ^e>;n=(gL z`*McVt&|K;r5OpE&MFP1-j4*NyUyxz^K)^TSA2kJ6$^AhJf_(1#I9Rbi|>M^4uPdc z;c=rQ!jfF<9~C5hX9z_ygP>HOHP_rKc{c9HUYeD9%Z2M)Vcnp*uxw~Uj!=ApDx{-Z z94wsx5^*@jSPyw^A}5oG7$cj1t_Cfs9Y*Ty6sNTA_MC6Vc&dW+tjOst2`-1=Z4b6S|* zSe1?j3Hx2<@9c=&MY;QOf6pC}wcKuL5@%j(i*{*eb0w;zNnb`_k8p63$Nu?Dq?MiWB267 z+J4W)+~Vi2z;+T?v z9OFT2*yH(x$ERxU@f_u6!_zrmBzZc>OZ#@cRe4M|WI>))^L#S;rbdU}1AjTVr@>W4 zXwX8H8Z7{S__Shj=2SFTLNZHwAs4 zi;tUYnmff%k53Ub)M6bU4M!tHJ^xe-oq4K7o>{`H;ccl&_McIdc~#Y2=2_(IO@~nGRE1UDC@-1Q9-D+lF9W@1(j^77 zYQeijD8alFZ6IeN88e@23z3ew=(tfXd#v41IIt~L{y`f}L%F9-btA=RZ3vmcmiWy1 z%*J2b`8r24fxn z7k5GPxej^Q6o`4w=?FX5LC4=-E4Q4dh*qU&6g8m8R=V^65U6+ z(VOGLcED~=LZDaoi45vK`CKC(Th^=l+y^?(SkQg${fF+euq!R7`+V+}^z`aJuY>OM zx%(?W=ss0w>-aw1Ckx*J=N>Bs9Xw#Hi@Zbk`I$EYF6(;qV8JE!q&OCH%bKb|cMEG! zb5hO(7Gha*IEurT(&TFPlzW3eR(;An(+@IYByua|6<}Yl2bT{$HjaCQjpIhML)b!M zSyi)8XT^f|#XuS(&N)_?q|m4R?MUrux~HbTU9wT+Nv}Kyd}w(x8n8!$j_lT;55O%b zPDVw$@!6{PeD-(!sLJzOM^IMoyj?#!<(@>wcxl5`cj9OGKZ*Ps$oH}wr0LB;udVVN zZx{0@f;^P9ph+33JXIayscg#nwAwLH&PzU;^jCb!VF$h)zD@__6vy+@>eb+oc!v`= zj7fqPTgmC62VtA#TVYt_z??HJkdv&t zpJ{B-Lz++shl8&Ke<(P$ZY|HD-3xzR`0LYnP6Uq*UE*S=A{#1s)Ch!mz#hE4TksZv zE`-M)sux~gc>QTgE77UhGaZp(kb@fIqI(AK)kW&~Y%%Xx3g;hH{S&#>=}e1O7fHed zx0d0$h~U#ecuLfTiBBzhT?#XqoW!VR>_9uhjHh=PiT_=l=+8ZYef3jS5);M|^Idz( zK%Jp>L4wkD)Ga(9Z9ux!i%u^x)T0rbP0zPUY1zd$16TEf-Yc5whsFl}?Fej|`A!=sp^_RW}&UnQ= z)QP#?^(AS*7g17{UHh!X6!&9eOANeIk#}iMcH`BKk%V(%J8gwiP3*KQ?vpnfTU41b zZAh8fMum)ZZ0(R#UhNnfcHHTxBsSu?#+JwpS_k|?Zp|Hy9sO5gd4zLp?4XG+^5l?> z250FVxo^5r!farqSd&fzcMln>#`814ttB-gXD(jTXV*cU2j$lT>Fwi_fTPCSI}!<3 z{n_SrvSHY&?Q}Zgam-ws%b6Qy?-&YchEE0#9DlVVHt9L%b$C|ibUO2ZEAJ)W7CWoM zvLJOHSjBnpg?2KI?Sz!y;aHO96y$TNLmei+>~`i)hIb@Zb`Ii_;9U|K9U>z{;!l)- z@{PD{(hTAvcZf3-KusOK@3JH=w@nHZo7Hi(<5?mzdhw39g89xRGS)U3IG5m^8Nf04 zYs!K95~lbkZA$qwZ6S)O?Sl(}a(9m+cZdEExL#E4lRtA|5Y(=2RouWfnG&RA2;til zeW@(-r8X(>@Apc!@|*$c^57clY>3;j>Dh_ZY+!-R-?{ z^oqN)9oI8Xja!?+`5mt7_z=h;&6&GV&0wi6c$0h-79Tz$J7^XaL$USgpR^}svAsjW@H{$G09sH!ypx6Hu1kz6x-dgr>5r^}dE zGIYUFh^R))p$GDFtu&+^+a(8k;(LBXjv93Mp&(gi^E%-0Lpf}n{Fj#`(+z5PPT-j90?%nr5V-B&-URm=xE0`v!4-jf6kJ*@ z8WEC{$%-S!>)5YZEH6&-i*nV(2BF<*u0mn9NDbPy?xAiJ^3~qtnH26(rgKXtpt3J^#%8-lfpI)Qjf-O8GHZp^yrCp z#d&J9!7dp+qe01x1Y01}p@e7E=uCLV=fd9SI0}~TM0?12@K=qqAH9WEO@wzt;oUg= z?x`U-?kPF`e|9vyiG?>>uolC$YE6}AAjksUvIKa>tBwYOk5?V_2frWqk>F!{BoutS z`bZ8wwn!x4M}S}DIoT2pHX^nYn*jF*Dl{kr+(2-z!1LSSEa1w)?Etq2+;MQYg#GYJ z3wvBl<`>iLZ6!5Pzs+8u8;C*~A~{$Rd7!$5i4+IvC=IIx>kb zcVvh&hYmH9j!%wp-|#)@7&L0Zd5mi~V5%NIMh`e<%!gmvy;<|8&zk?Rno(;8gHBS= zjCA=gFpdd9-0uqFo*KkGC5Zd@Ant}B?&E^Ej}79U9K?N05ci}Y?xTaaj|$?h58^&D zhaZ3O5={eL`tYt{0QX_C8?%*qT6lgeCh(>|o9E>)Q%SFqlb z^ay1rt{3l$UR@&I$4N7#jO^7x47T!PZ0pR6RfR)QQrMMH>#yV_+yT`03&xJ38ip_u z2Q}H<)ZMUTC>pDP_t(Yu(#j{EN|H3hL3*i!y5H4=zexd0eV1p`4c)5>auV=$Gft^& zlOw2KCJEZfrEYv?u4{EI(2%diCtG9bxyw^@gB}`tDIaikA<-N-cQrfhWOxcfBMB^J2^&i>JP@Uc8$!mcwzy zQw!E(em2u1EZb(nV@Gs@o}3^rc;o6NdcHyMHVbNFXG2;&#YiBx7BV^o=|RKy2x(Sq z*^U=5|NEYdRAH*Bg6jg39;C^-fWtS#XQXna495W9qc$^VdHSw5yubCR%>nOwff27h zi>WS)w;|m%^P=aYi^FXrp0CcuGpHInK8?7aozhWnxV|g@W2V3heZNH!e_a zrQI=T6cg$=!-tot&3I)>z#ADzvrb{~n?0TtJ~UzAAww!&AwfQIvg` zr^Xop_~ALP{rQ*{GE%y5fU{mOTD9aP?Q&AWxdP_sxP;=o-TlGxA#*AzBQDozZUer7 zASu_rhntYI7+@q{z~|7P;gux;@ASYmPFtroi<*tvL8V+{%|wf-4`6CU1$3{PnP?X! z9RO`5|9QM-LHB&D?F=7VqBi3a@9shRR68!2nc3qB^)*7im{J28uzb73jRO5RJwd`m z*h4ik_&O;Tpz&0K6yD%@712V=W+pLuXhHWokuFr*_K4ctHW*Tk5mQZKdee!N66uuC zN2jXw6#6bNncR{6*O;-I0vibE%llc*08(rU^AnFwO@jXCn2JvfPa$_c=pn@of8VXt zGm{@Yd^2VSp`zsqpLSOiLs?Qe8DoJ~5`LH9JrGDU9c3olBi!NSJlsi;%Nl8{z45k70MOG+9XvD2I@@Fx|o5J|fjKp%@ zoz^{vL5?H_-&Q@I!D|}??@~eVY62LxE=c_+dm&GyYVcZ(Q!H+)Avs?cV7-E7q%1xy z{|)arzn-zVt$y65PWyp&fGO96zSS2>74#eePC8 zh1m`j6crrFTat(4&iXQ}sqx3$B~QtJ44Y;#>21-#3w3zzKsSj~X1~>(fh3kJ!1Z(P zW$uD|JU>v~Ke#4r7qrzEw`$0|h~U-wLUU*}rkIYkxtn}4$o+NS?|B?xxXaVp0hm@+ z=jG?&(QagWT{_+Lqn;C)!sb!~ZX_tLeU(ADGXou~Qh8^JrN2iL{I;5TF8 z8{FV@C}UbP?TpR`ZP z4n2ZbACDxn+v<>jH_?x0x2rt=@rxr<4~VmJWOiG6+w6Ao%vBjN6Dh}-+h(^D$n5qZ z(CBal!HKH=j&K zFIzOo08S6?)Dy|5eGBLm;37S0gr(oCX7s@03C7!QsGgfpJhku5(7(MI3caqj?_Dgs z8~X+DU9b2ymfQl~`~JpznbHPG5si|>_u^bRNy8zl@g>MhYhtnGTwE(>vbYE)Hn{4f z+#0U7xhuLUUHWrjeXCNCZVkKE`))VK_1XtTEXVz|YSMtmQf+7xZjb34&7@nA_VMS8 zeW^jeWL5ROV`eOOyOn{Eg3PmFIAF=?j9fnZxA(TsHukpjR?^O2C-;s}I#=x*HE;1s z1JX&4$QY_j`X2qB%z|9f9_qj@&(QWAywW(_x}QTD%5_hdw+XpCehu(}{_XUxPfbzw zdhQ9}S(IxtzrX0v!oSwc+1#_cS8*LpvdT49x?EZ*;pTC86{du&!jxHROtd|Nv$^jF zJoqMjbBU@pnp1%khyfX(Czc+zljeins;XDi&g?9i16tyNDLj3j1mMe^;$7@m?<*@B zz=+Zq)$L!1T>JdHJSW=}%xS#tR+*j|Zm-}zGASAsa2c5cK&F3W>ff-CiT|6Dfu7xEeKmUyUf`q#7Bc14+@|It4Th zLxV1xI%3k|dD8XXWdRMjO$+3Q53lLuf@?Yty6HeXxvvBBh&^4sYdRI671p`)y6yof zQRS)X#{aq9;_YKqo(vz(^IVTq7SaehhQ`#1@<3y2rO4VOFgkUo0H4eQ^jUMue-|2K@MbTcX_H> zB;)>I@#?MyYOL{z9l5_jF11 z!fOk)i}Dvq_k+}KS1_f=lCxz;{s_|NdQVc2K0lK+^peAvK3E4i=w8+{BDm_c&fV`e z3h9AD4ZKL9C_*87SA38{$GUN@89mZ+JoZGx|7d}(lve22n4CQJ`GciXK7W-qxU9;8xB}Mz3uchE7Pt z`I^}eT5GVzhIM+H8D|l^j=(WS#+>I-Rf!epD9f~*vk|>yud_0o|nExtZey8Q}nlgAhYYnR_0(vUvf-hy&3s3QMNp(>g1KQ}q_1+%^ ziOz6<;t$`a<|wEqc^jplZ6DV+2NQicIa{3dl^=d7!+3LCf2j_yR@fBK6UtV3;=A?C zo8Ch_*0t7q_Xzn#Vjq7fQ_=7Qmzf!AKfrB<{=PWa$1#rY3&R`-p*P3bNB^xiA2C^> zhgTQj-dqi}e}Pw`?|~oo@`5bp3wOKF)|ABj&@}EgDYc@Rtp9z-{#Y`4$}b4lpkMNv zG>CbN+=(+aoGAetLhw!qNPw?4@~8~y)9heHgicqV0lI$Sep8S!BXdsiS!FM0oadD) zY_q@BtVeU;tBXCzW$NDLncG4$;p#8k%Y}7pH5WH+F8q%NJyFM`^UA1nR%ZtOm8#4A z&?nJVgy5A)k}XnS|D|)%rNF}lf2>2zs^I&Fg@~Lt*xohIG*C0iH=c2@Mn={BB_?<0yz$eFJk>ouK`38`*Q0<2=QgZqPR4fk8*I@bk!r#Zr{pg`hi)xgb{HdFc(doJ{`nVp|36?>V% z|75V2>AG+)qi^eFr+jmRz3emhlfv!2>@)XJLF{DF(vpBe0Bs0-)1*@y3klO!1$ zMsX2tmGa*4Mu;s5AWafCzi1b?jg`Ki#4RY&ax6EC-P$ZeDz>7CnpCl{iramgO#QUNXH zUKJc2w}Ygw=Jv3X3VJ`iMPhM#%0LUv1ui|Bo5$wkb)NBq**S};$#WLDJ+J#P^gRK} zv5>n!+V-e`WV>!xZG)cIqm0ox(v@5yFCuzAfWjLW-vFK78U7&Ul>FF`eGPU zy>LcmL<5!&>%C9+U>jyLv~dS_on2x5!hNkL+_9g79IHNN|I!=2aR1!%2y?AzWZ!*S zJ3V<$ebA2CGbb5I-_#(ZDGDWQ!1rltr)#rBdAzS?MF!I7EIU2=8zskvf;1iwls1RD z<4Hf*<=G|tT^irlJuoPZKXYH|xm_B6=C16)yB9+*!?Q&!U&_E($^lC?U>O(0a$fh) zAePhbz_PU~whznFJFv_OV!57RIW-U!#Bwyj@&5kC2gdb-*~#d)cazan zK@j2q*XO};5Lfj2F!aK^c)UG^u@wDSg!?JhAuqeP+9uZ8`Gk~kCe?~=DT<}vp%M5d zu{cL0kvq$*l-kVf^n89p#u)2RB~`9tv2A`u>TP8lPvrAl0u zjQmTJfkrt)=PTu0o%K;(H>GCp#>APznSo5WJw@?sV^~4jw0poV&O($Lukr+2*|o1H zzvzfdokvYHcAzr6`h`R=12pQ&c32a{BL9_C%IlR`efF18R$H%0c<74xv)SV{TE&9cT zA0w?VAmmUc?lh&@hJvN9l33AB&+v}()~_M_HKYv%O)iy*$c~(bu_gCz8j)*yeHx>M z^fCQ&62699#dyKH$R@72Tb`AO=DndoXV+`cH&YYIc+_8%2yF-}cx>8ZcThpwM+K={ z2+~1E=pYNy!RT6766e_39F9V*b6Cm&G)Tcuk(dsX+t@wabuQHU6H7aC3o#8e>N)In zZV&YQWsYhylz0V|y2LJ0L6t{M#+dImL+z?JTX9`O$nbN))q+or`Ij_&+{YHJ(`pxdV22$4qB0;9Jwa2w;9# zog0JUC!)j)O;qB4n?zi$HQ{{?>;}z?JbCT^Tr!_=`$)BOhC})6?BH4f3ise~chcgRYKJ<8fcG zll&kJ&D4ZT^WxZQ^QC$7*=tRBrr1DkN*x7wwr3_HE%+C~PphTWGdn|`0}0kaGln{C zwyqC;3&LdcLZDMOiY+DJn^#Y~SUcHX}8DBe%_0<>ZTb z;yZP}G1JV?pnd)fI(QV*Vofi)qKIq!8Or@LANvrMy2BLxV}x}v?%N}FK;Iq$sa28# zP{((-sp@b(a~$75%r}sF-=+bsNLhb-eo?e5G%BJ2bY+8)jM;)7XK1$L(H@Cb@NVlt z4m1Ldn*b>2QmoMi1R1fCK;$6QF zfPBR|`1?mIn8^yfQX__m*qPKwsb@hu^|t~4J{Dd{jRD=e>h!{}hJkg`_ayI0jts~_ z@9G(B?;tI{Pjiq<9u;ZNW>h(-jCRQ-FJ}neB*92#6VgG-&8?#yJ3ZT5F_l8deW-#r z6XI1?J;;)>R%m@h^4E0PROgL6UO1>so^8BKUKqGySMyr6g#Rs1;Jznf# zi&QQNim>a0)Lqh(#Bm(HBe>XzXZ6K7FuXriRX2*vnd@`F-jLw=^{pn_1~6C->RrZN zlv9m@_oSd_JWY+z{$n|V6|XC9ELYtF9i<7v86qzN%CbQ66 zaH)ZAORw;%Q&;#H2c0&^EleEn(=47I7hTv;aI7s-`a>Hr_+o2sD5WG8mltFTMwB1)g zS6D#q+*2qkUv2s!hYLQq5IV$30+a?!E{(-*~@P`yzH*BD7(_z5oYaaAz@aNRs$JJU7Zn`ADaSqolZZQsDdlNOe@+eNH zFKAm^+htT8ENm?-pPFw*N!RTd(yGq(BXSodMUFWPN_wF4_ag`_@&pMD`ilf863+?0 zkbBtQ*#bK7g2H5U+1+^}trltVm>F0gEs~*%i{V+L7|ip(=kaa|d>gVjvbED=YDrI^ z8CioYnBp^DTq&DYf8;d{+669+tnmNYJ){Te#$?bub#GdI_;E!oeQ*v>Cs7tWzDvgJ z+9Wl2KOzlKE7~yZ?QQE!VGTPyJIT`?c%mEBWUlwJ`=b*`+>1D+lo^vPCmOesJA7;P z;XOc9!IVz91lnwiwSj_PeBpoCY@6+*-9t!GxYS!qd^_A=9MHx3@}i z9fMZ_&$9|~;^>UkK)8K^LpnD6{MBZ;D^em;#!Oq85$cGBe+Buc9eCw9MgIF|_0I+x za4%)-H|QYek`_E0Dc-BP!}Ifv2*6I2-$s+~w=&O&uce8`Fg1^RVT9E6O-@z%ZJ3JLP)Mo6z zcY`JVmK#;XfBOcWH%rj&@H~E_*A{uO4(nKWPVFHpwlQXLF&w(tWSE|Q(Y^A9HkQnC zr(6JeeSr^0QvjRet++)+HSF-5x*_H0B)NSYXdi-iqo5`_5k58G4ZqA$_-r&eL148% zrVim132)#U?gG2%?dB=WMfc}7@c2_C^Ht`Ji`3mrrV_MHfMJlfeIvbC8hv!xvHq^u zs05qIC6h!SjdoG8A+`&=N-Y`r5T7_}924!LX@&g)A7hy6q7`%aMB{+E5XUa-yVlyS z;i`L#QhdiK^up+#>DEIgh5dLiR!w4+J)v$Y^i&hFz4!{Yec#z6WfU%@?C{YMR%{a} z0dwU^EOV&_q;}O;n3V+&@oIMI&?$|VIXki`=!_}04@*b7D8+{*!^~N>sl0a9TbmXu zrr6NPeWfE@v}|8VhV2P+Ca*0%-bEYHn2QY&1>4M1_z}i=9Cgo|rg?0G{VJzu`;v;_ z(lVy9_9e~cU~Sia^R zp0!S-ciGjs_b@Cxy#h}yb~bken_94sJ7^jRIY}<7K{KN+FGfC)r3WCt0!a0r;IJ}76Tr#o1$fp*w=8@*9 zyiR2VXDHYW6jIMZnuZeVrYxZ5=F%xHn%Z2F3pAd>>safi4Z&CnVzm%!f>^vt1=;?! zQsieLqa5c?3{A@-rp z4zUlpI>bKI-r*pAGoIPisG%<%?-2XaCHH*U64KojX4jrkmb$k2{I-U`cZ-t_am8oEWx@7bjLaPhAh`_-P0V)pcmorFWoyl zH=P=e+{rZlqC3tx(?x|wF*5?dC^CM^Fnw7Tw47_KD8i(1ho3mWBat=R|%_Kc0ww0oK`^-zeN3BOpO8X~$@dgsV z*oSWvJ=27+Y)Zb~;B695N|_t4LB+M3HqkDnWXn-4ISm1~#b-VbE0A$JOo^BFDx%I& z!`E?7_LBl`+l`O#i3VLOEzJZ!ykLzvogc2=xM{wk-#JPfR&a)Uf~2c3K8&rgR*5tN z{LliVISnbbDzH>Qw(#jw!8UwbX;YSP5zNe1CU$1))WJJE>JFq&w^y;FNSls>r+cAI zk7689AN}EJg53e{aGivAtT^VO*xd0<6+F=$#$#0wc0f4Lt~!>-IdZEwq)}yj6bIa{ z9iIE1K5PHJO)0N33)Cklg-Odm(8`XqJIqLvmXX5j@a%72#A2?;uaS~k_4{#O!_UiJ z#BFrrCK(f_2q*nEjnL}Fy08KX$fDSbCQh9y9lgoc52X0~kV>@8ME#fz{cW>J(x59y zVigXofvggc-fPFXj&f9Qs>JlwX$uZ;v-(L~!z30X@C|izI`k!jw%{P9nz3pVa?z;d zXsH#aZ26xl+rVS7<`BDX^4RXee#@lEpxA;;JDWXus0e+ z>oPKD)Uz*V3}Nr7lK~9_-XEbSxEm;4(lbb{&i(V*d~gY@>aNab@EV5i0A9siiKwYZ z5V}_-16(v5Xf|HU%;7bxl1b+^#_>>|&pL2>pg~i{RleG|O%dxDW z3TU&G`N|wN-e?ZDvbhq6r0q+Z&6{gZFhfW}v;7N3*I{{Z-aNQK@P22*>ywcdYgshZ znCTgG>x&oBE&ofCxzsv(;>=9it)%$|%tgNi3ODj4vxXi;$!`0>P3L%3)g`&45%+dI zuV<7RyyER3{|Mu3N~^`Tr_QQ22;MjztjuT72&nb(J50)p!I}W8UbHgT3)BR4@{NY7 zC8h)#G+j?C8J~OFu_T>5JIV9)r*RHEgWi3N-ZgR=|42f2U}Bf=#1^A{kDYQ4sab~FyF)6 z1P=WssRyiImbHrdyhEix*7zQ znb?0mXxY7K2}8M*z;$D-*p~ezV035;3W3kxd-2OZjne6gEL*yZmX713E?M|Vw=7E0 z_Elu0{k%eQ?iZd`Jy$mmWa49dit0HlH5{p>8XXgkZ9@&su4Hm5!hrpUv zf!z(-q#*|U|Kn+c-kb`!{04jr_n%m3k+K>WS#OH5l|k)sfbR~^gDusYT9}~<={Yqy z4=~3uvS11KsVVl-3+M}z|B9Y-L)n+M80s{nMz(a3m8*_IPS4&1-S0H$em_Er(Jf2Z zbI_LO@)Hfpwr}N2p-#ex-A!qvn*LU)2A6oxCdvC{r1X?@R*(wFqAk#ya{${-?WTk< zJCPpX^dvk$O2R3y!V5S*!`RvylX&8lGk##qe~;%+7A(4o`7A=20QgmI_*= zTw;>jK9r=J(3Rp4x%tr+%*_X9jc0KDs4hw!12Qh96{w=WXqV^C>_o+&^)<_x{cLQV zp26Y&Yf_I?YHqM;@RZOBnk8$f!<^!mX8itgGwpbm#qIJN{}_hYM5{jmJhy`z2acSI za3l(N3+*nU)_OMxTluxKlC9K;(z~`cOVJzP49r^ZIp8Mx~Tzo6y{&y`)_ zi%Qmd#|es$6z?jxh92A!95H&2U#pV4OC=hs1)g39CwJfwrNiO%{93~-C{w&3CpfM0 zt%ARkDmKu9k?1bZ{ zTMZP%AN=T}kBVy}nX+aBI%JaD)nugln4qkSz01?2k0)nDk&z<>BjaA-s5?O`fK@kuWvdxje9DIy7JU$>E&&4S*ENh%6jR_i;A$7({0EcV!+f3 zF^7!b?m6Y`-4Be2jvK+?@oaGx7q1*nD%9l{7Ut*Uei{dP_og{3)L0A6(bhb3g-O)_ zsjS*UG@80nVG3y|EX*sUlBo04X!^oWq<+Pk5!Y3&5F~xMtLpdW;q{i%l>^A05!#I0 zA+(x|$!+&6b)K@SvU{HjoaNTYzNdxGVry96(*m&c!)-JKQ+`&2*NP&`tmd@?T$rq zcPxdiO2NDC3sD~{nvjg7D}dV2j!QU-P*syH~`f+m^f)=2p+_51iO^M84 zyOEs8B6zP0rPlvP+MCBmQEUyv)w5?KLkKV=fy`tAOqfI`1T+Y0GD$jwu)87PbwWTo zK_TLD1GpqCirWb(<1AHZ;(D|!P2Faz4%vw!DQcNTn> z_j`ZuA2l`AU0utms&h_NoyEE`j@D*@nch>|foOqyGUPEpo>>w75!<+*I+1_HeOqLl zq^GB1`!w}*wpVzU2y;ofh*}ESRUz35L5#byqDRK{=cuX|4#25ZR#qa+Y!!XBJ^N;Y zN|rpUtiU{?Bb&T9z6YMi|HpijKguSSTd;k@+1Oqg-$KVgR%hG6*91_GFio+j;#`G! z!D|(j3wA9yN88xp=xM`G{o1H-nJbkpY~_paUPEPh(T+kYK(|EOI5SAMDf zFZ@0AyX5+Z(E4*}{Wn}!|J%Lw&xiWEZ_XiSZvH>jzvd71uafJ3QLcY|Z~gP+`o9lg zKA(v7UlIG)U)|UL8*&H-bDuq>eBDMnAV`T-md&&)YTZ8(k{3?$jmy z{G!=}8MoP<-j`XBb~zqIf0E^H-lix65aUALQ8%*mymJBGGVZ&;^W>FBOUUOIrFr9{%ef zs4f|9S8S_ff9!mOgOchVbKLAuI^T6D8|q3_9z(uzLzXZ%AavrXGFs%JwZ9MvEA3WA7d{#CVukBVp+Xa`?L z^=&`9uV;;PM2+kRzHC`1qihO}qGaLb&DN35xLUMu!z3oRm2>m-2~=n6&z`98T!>g6 zX@7v*#qF>U@Jx4S(Y5iWh-*Vlp|w-2Ks;wkv<9#3wW^1uXY({_z; zC3*w3*U`-Xi(0p3daY%*_@0VdsKiqY_nt2;*xyq2d%lhU-jp=+TIBg`|8KUkTYUeD zAg_xufzAA(pd`uF%r}Ivg;~*&O%pk3=H1XWiq5>0oE#Ed1bgQPOk_iL4w-ykI?04x z>-}w#rPOjx4RbY-E$H4^r&t-cGO3$UCAWRd&DH}nndG)0K(onS(7mxP-c72AH^vs@ zo>0YjwZ0f8`3RFATO8xv&L?*jxS#gwMP^1^?RNXhb|!bDU1+baS_PEzk@hjw6RVr- z%i8x=eF)e-O;=n};mLR+?+K`DKyurHs-C(YslvMEwSP!$t?s0Hm;*_S+YSFTzJUxr zSF~fDu~6rki^NjWuEkn^jjP>Ja=Tn>#?yIEOC@Ji_mrGhjV0e8m+YYSpoT-q4_9N! z!~2ztz1e^9iz9vI4wB2oyP#2i6`emBehusDR09^!`Z5`mq5*n)RN{rA!t6HWAPly_ zY@$#WNgKD*&ai5ag-y%d!T&BYMu}69xQreAEn&Q+KIbq$W`5lK=e45IwpPr9V1bYg z!Dg$h+*Nt55+%~nF361Tr|vK>TEZDwa|PP>+QEM*E~(0Ra#uy{5yotO3|CDb2eV{J z#?$5n^v$2qei^=%)>B)Qp=snw)j(g=NAiz3IB8`%99hB=QRp;sANU^eqoi1+!|cEt zMR5koP>_)t?v$w7d3VV@p2?Jh{4PK&Gukyio9cC+A?{4c>pq+IR!_2Mo0Ko>Ki(-? zCaJ_5Ck?Mr!Baz9v6wv{wY2v8U4V_Ag^(;}PI}#!sm1&T$e%W;STxKp7Ly_9=f}0F zL^J(56P_FA=TjZ8m;K3rw+!R(`(iP3KE5dy)8-%Tg!YkV?R%g%U%Q)vKxznn{8iyX?8XaxuBO@p1XqDsXMZW~lnv>f()%ZUkfbLRnm)hV5_ zrvWl*N!5PG6~_$~|Ej92K+M(5?~3d}zE-iTqO0m$MOL+GLClfYfUj+Gz?@g^skl;c z!vYnh8>P`Dz}HqT*i*f0L09#;1;pI7V9$aj3u<5_5?B@G$E{0Xd}Xdw8n4|{9~b2r z4Ym>?Jz%1zJ^QsFmsF`EQAv>%&WIKe7Lybgt z9e?svu#ZQ=UP$^za{%w`y+^|1u`p_qExf3(OSajLr*qiva!zL}5LJ_Oxy^hMaayQ}*#SUH@L@2`AgQs_TmR5f!S~i>%GwaS(TV{OL6{G&5OR2o9|3Uv` z(W;_md*-QK)$k;C#>I=u`-_g*Uut7U{tf2uJH>aGBzVyBS~G6|JwU?0jp~3J07YP$ z`H@k>O*){JzjmsR?yRmWF;hBa5q^#col&7Wa;|zowJYTZ{ryD)%3raoPCZQy0FAzp zCEmCh2J`(zXt{D%R9n1rfnz}@jJJiL4ro-!2}<{~*V9F5w4eTOM*Fc|*dQ;hVol{b zn`~`<62K`J;nd9A!w97`ZDj>9zeV}W{Rp)f#IkHjtViS1D<-g$VSJDIaXdeZXxOWr z#4Pckd#aaK$4=RidJXuGc#jQQ&PFw~<^QHFud05#Ix2VqM#_PcHf;OayZiP>?*CyA z_5EEvG<)ZDdywtD&o^K9JamZaP!_RM_sAMaYMA32*eqwFusfJGzQtb8KH?#xZZFpz zz|)s_=#w#TaEoTsV5fF#i|KyV3^AS*ioGrPbD>P6dKS5<*2MC)ZWEa=i;aQYNh}f^Yj1xJ7%?S`I5t2k^FWPzB!6yW!l%ut>RmFwWQsdwjW1beE(gIwR1hJxW zywOD16v(z5@%`80_6=9~?(n4R;P!97-ki{-)Y#Z$$T4-p4*skkeUDt><0((_a8Tc&W4vnwe2N%ho?|G z_}3y^0n@I9fF2$7bzh6g5DazA{G{Maz{vYWYpq45Eqk~nHOMbnYYc6limEzdf^m*) zMoewS(+4Aq7TlE1W`0C4OXiVW{Prspwl61V=8&}e&7|9$L%uR2T%(0UrfFEzFIx|s zWOA96!?EUACBWeke>Gc3d}eWJJLC!JOO60iH?UB=J~)D<)(o!X0ro0W|_{hIA%H= z7o$98%1vL3FV+ooUg3v?t>y9Zn5m$x@i1l_tB3KLRJVgy`_VSR6@DCTcVoa*hFbVP zifcElC@x^P^N&US#Z_E0zb#M(sijfmE}HpULYP_{t*Qd5K;KkEvz9dTYw7=a(W)g^ z_|Jl9D`q=?XB2JQUE$A%P14ZRZ;!^=!<3w8(`rOSypWoB8{LxF+9%J@GTb z@bH<=i11-V=Vpv|;(bq^)~SPe6tnN#91A;)RRd&nB49RF`!?#g*RyqQm`D51&9Tw9 z&AdN~`gJ;ZYlXL1@=8CRw*T3W_B_7zXkEIdCi_3mq{uCQt%GEymBsHbxN1%6^Nodi z90vf(Hrndjpw$zo1qU_ku(8eRAeK3e>SlcsGP2{FPRTlUF8;Gi)V}$elX-o9d8+O; zkz){we~(6|LO43dM6&KR{a?(X7V-Z)haL>}pF_?3f@t3yYR36b=g{*(oI}5g{pZlv zVVpzVqBMs-3rlloQ$U(SABLqlG&_iMs5H`l4o$z*GlxPWa>$UmW^x|l6A(D)M2_pe2pOoj8le#Ee!E;i(Ot*eu4QJ~1$8N^%+Q_>%w|lQDvHSP zYtWO!C}Jd|Nk&ZBCl@q}Ke?b_KDnS{QYuc08^{T9gU#qZcHUEfcLat~k6bUV$xYL; z<#WYR^lqofF|vFe#A_UxXgSMMk+%=Dv)R;%W)-UTcKuf#KyNrmQMHx4^tm zFD;59k_E zKDt8U+>GpC;iG`1*ZM%V1Np=i+)-{|aU*cW!`L;#Ab&QunA^qOT>OfC&}n7Y9qME7 z=2q(Yr#MiLmWDYO|I&?2!1+kH=;I!Nz*5 zP$KzcYMcE@e;cAleTG2q-l8yd>L!`5tYZf{hm{X2!_}-6Y-L~=9I?1Sf)-HS&8rY9ld-Ni;Qc~ZY zl0%*WJ|fwi^M6r)X>a{%TK|7U{=53u1ocPy>VM|C`p3!j*FgOmsC#pURKIlAn3I~8 zYAMegIKOE0lxJEu+tGfm?$nrpcN8roOx|`Fl{9+NXqsv>I*QQ#KAtq%%y`nM460Pa z-BJrYK|BxqGiMuLTB2x(_1N;?g1x@NgVaYKP`GRp6;5C0Bizm0V-A~iX6SmwuJ!B! zoN)*2{FNKf!o_c$H@fp#$yd%%U*VA+-#EC(*!}j~io0Ns)P2Y}&DpEvKhO#5t*pm> zhJ@u(%M}NtlX!$ z)I@Cn#dE=YfcL=2z<&7YFBb+;owS>V<&ZfaWs|9ZE8aJue&6sJ2V{<0!=in!9A{LB zkD~X!p}l(RX&r;hRI>NJKWCuM`ikOpz!MIXDfaOI(&brxomb<#leEC-qHiO+kRN3L z=4b~Yr^@puQd-h+P0jBfC!cOT;ACH=NeDK7v}qd&J>hr8&;2b$u;bcE&q(uBA&7 zoI0OMX&aArqZ^C&+sCqTo-evoO0>-Vji@_53wGwJiH~#M((cZid*Qv|e7>xsyV=^u zYrHVaM9x9jelVS!h1dk)Z3s3zhc1%Np%1hU7@>vvFql<#Sm|6C!Hr`r#`k?qQOgu^ z!^+~rZNClIjs01#a1=YJWpX3(9k>S@UY1fJQ7z4LNV)zK=+@^zw|a2vu<{;%9H||| zJhV);cgAn4m-kqvR#3<=kt7*18~nL2qYs7>DeRx~BZN}K9GKsXQR?N0^EXP|IMBgO zLvqNU0B3Zt+2rpq-_)a zt0A7vh1F1k_aX<=sa;NKJ!EyHmFe~^ff4NEVAlz|!v=Xh6rJ_p$eD`hiXDZ9cwDLCa&szABiH)y(yw*fA1vb9fR)`4db%d%lzrk82Ws%h~J43V$AoRU-q3?X9KM2(YsA-k?^d)Yndaj zYq8Rc8i4Bsb#NlgQ!~_^26Z3FP+V8{{?Jgl?px)$W5UU_j`4q}+ZDq6A4VACjlE<1 z@fGUPwmv&KhrB*Chx|CrM7pM%h#$fg2$hh2AL1vcOMYq54*iefi8Y_MsyB5{5sT-D z3gZjxK)~H48#T_DO@rKwSpyurh<)^-Ll5bkd+o0R?liB|HQ=4S2_*!WCO-L!!EGDY-HG@M*J@1wcY~(( zZN2TfU6_AhN7;n zb87cPoN@f2-?uKiozFk8PWYF2%9nEfmCH|18_#uD*1zyQtkW!NskudXS5&dw(OS7~ z2I?MhpuVi&>i8t4*LO0Ozcl!STx&Rjvy2O_pwQ+cP?~L6)n(W_KTe-qrcdtWF7tN- zhcKb@H1J~V?g3654Gmy}Lh7dMu)ccizBlG_^FMb`9gOm6!SN16aBrrRejL0Z%9R#_5urgPe^* ziNAo=_>9bI;pbpYwGr@T-0oB^>20)szFPPR;MOP<_z^DBSiL3u9@V%|GZR-`T+3zN z=#O!g^m^cJ;yss2`}q{;@2Bg5QGN9I)u|>j5Z3q(gNbM%E`#)WSo^+m6KRL|_;1nZ z{qX-!@c---6G?_R140S=0`t5(f*x&hw$*o@~x84>QOj|ks53T>$kNJNI_Q%-g zyLx<(e=s12j7!QP%O=B^!Pq=kW+G2PSPOXEU1}nWVNAY+cTXQ0z%m;F%4*ea6|_|M zkOd(9Q@FvcLYr@pT04%}_q<>ap~d*&LQ#Nl@B7k&cz^${ur0tC(U+R`5cN|xd>C76 zdtS&6p%o&Ox3suZ+(q*l;~+;(sh+JVo$S8FU1XS7TL{mJE;8nx=lVmn?rL|jp%UJt zs^CqLV+)Qcp*`4#xwJj`hXw)f z_p~*cO*?f5ckuVR+YR3wcGsD$HD*p>!u~C(d2M}EsE#_^s2Tejhkh<>@c$={YTrOf z3#tFixGeQ)Qd>80%?OmIlY9|8ZFy1l&Qo(pQ5#pA)Xk`q+w78jf<}_|XtJx=^!5aI z9bi_*Ho*NH#<_!K>4YZ!vx{}oeg6G%wJ1$4-RGODe&SpyE}i7VV- zyY`VRN;~47_LHdoh+!OXg(EGjBs-PJZeWMY`3A_jS^-w)xQwcAQnX_fr&BmPO394t zk&m3mSsjv`q`BAkUOn2?7@5reDAw(iZf+T;YJZ>@&kwhqk0-8_LtVQP&EL!xN4Cyl zZOEO5=dyU)juvH)M%TbI7yn-5DA3#io=WaD&I#PHvPtPqaa3|DS)!$o75Go1%=qs* z8JCv&ZoxG<;$n>84=4Jo^w?h)d&wl;c>1?m3OW}<;5H2DyU&nl$aGj$C%xc z&ntn?iz;1ImtOt?Qh7?J(wom>{>*5CFIktx7El|jF8-OwWEl0)LPik%hc(+1JSA?l zGVJ14L{JW^4BjONcU2qmb}hhKGf5%4NjUAF49~{|5q@U?zmFC&gK^NynKI?O^Flnu zlxZ>a+@^G5-x>A+ycb%}t}32D&!_8q?}gss8+)gyO1;E?5V_o$M9=zN{Nw<_>k{zG zcz4hqz_aeja<5OFA0^X=d|eKiU1TPsAl5(#Xmdziv5EZtN;(;!mF`R?&Ui~ceNpX4 znAFMV`p*GGa@ii3d=UEo2a|(7A^JbVVHmw5aPeCr`0d$HlAQk-y+6Ig&x)cn7aKt7tpXV; z)6Yw{Wtjkj+w5kN1o2f(4*55P*$0iJy2wPLgN?*~kiuog+FrPzCA*Q%`to?T=iayf zY`IZ}%*t{ysy}4@+#fPq5i-@$NBSVMRl8NUHD+t<*0`+*8E-&_%+~GvnLrh+i%WbA zh0M~>;xgqv+}I+ zmGj)_M@|DE9lnR=8tu2qlEKR(xpbvn3C}9~QJn0?w+27rLR)Bt{I%YHQq0^LEZ$Y! zRFdqegkRLHy%+K*{j=!Z?PVAb;O2ZWe8}e`3p*V5=s|&wm#2 zWZ%WNhHs{=>VSNcY^SjG4`RMNIiCmeO@e&e>8{$ve*yU>+Yl1xXg;f)?*qs;8Sj>e)5Vq8SwEXJ}-iIW)?rr9ce{1^0r^; z+<7@3=1OLvnTYBfatgv%5c1zKl4*7m`Ojn{84Ix+Vkd-I&FMreG?60szYpS6h+lyC z+8`r&5aKT(E{9kHd~*LY_&F2ng|o6P>=EPopTQsT-7TMAB=*`P?m4%WZl~%*qpeP~ zK(Il`w=L@?MJo2A3gx1rMRRQRLbF_Mcb+64f_r%tyQWq0?Ky`jf?Y+u&=SV6syv8Z ziDq9^GNV14MWYub`Z7HyFUQ8!MAsY8!yWb1t)ae}&Uk!8SJ71%v(-@4rPQ{Ttmx8e z63#G~gGoDsex2$J_ZBMHI2QeRF`0wBrxPX5#ptss`m3Ad|7u*n_HyhCSkIMq#*A`% z7dz3DXuYsFj9x_LJa!M1A`XnbY4s`=AQI3kasK8gS)3^AkK%na>H@dYpaSK$};-~uo7hIh2i0e zwQ=rM9Q9^jRJmwut-}2XXI_Nu8ycqe)+pWpc(+b<{U{c{t94Fy1&d>xGhFN0Sm%%8 zxN(Us^F*Zs%gf`2vbQ_WisLrc3*8~~aChfU2Iw_HK4GiX{o0aqOYSIYDrsqJV&4ad zjC@FY_UwfzW|Z>Eh^jXb%d&O{w~L!=I-c^q?};lUYhgQIK9BBZ71miDWFxatvGHoz zkbQ5{y$5jkLR0WpI@g={tmwZu7e6&{sSHyY(N`f=61YfHsnH5Z-4^JispP1s%EjLt z_=TntqJ@YR0zc7|COQF9SphFiMI+cgweU4PxoP5s2=--=`{ZSP9OFeFZ0IXcEgTDB zTb>BVd(|5gTk3@sp#<0Mz(=VYn(U;zuD+44y^J=jyF2lFVkO-*^{*`8{G3DouyXU|#FgTe&XtF+e7^GYE6=XfUeVM4qpyr! zc?@E_r-NtDOYcXo3`1V6%MK-`IMA>0&?_5mISS?e2T)-MHFuR**_O6DSe;YrO6B66 z@lB|;bw`oLscF)=oOZFrg;s3VrV2Q|nvF4PpeqeR`IYjUL!>*2O} z_Ix^b#(R^RH7<2f-92c>oFYw7uUcGcN@n(G^y3!p>{TrQ;lc1hnHHK7vLt_IhJ>hBMKMLb~{#h)dGw=N{&gZjYAx#|&<9z;Jyp5*z zhH*asL!3lYZ-fhBw{X7B#eXJ>K--&uzTlj06K|sLw}i7Gby&=!slSACA>|fxY3kW< zjB6N_yj#TY>cX)!^_n<_zO4=a_p|@DAhtXljB%l^ODz2Es#x`JtqW%!&bH70T`2D( z?!N1;yV${f=QE3LGm&}-e}S-G{{Iw&6%ZbRPz~XO;7IZ=gl!W|BxaI{dVy3ZP8Qrt3Yq`%kNt#3b zUnDwU4;Q1_|ABp|$GjrW4Y}&fEA!ka)wt^5Pn^=#WVilcegdE9frc)qQo|F=4~B8S zbZYh{i~3tt`=xiOZlz1z)MPiFLFqjci(Y4&p+1y>Uk5Nr79NG2Pd2QgWMNrE(gB%F z^}UjX#gVT&k$cm_|B8sG6Xjl#h53=wok+J5*&+Q#<0C(MmNBAb&j3=7=cD-aLqAfi zN2tD9U*0|bT$*#K-$*59@!4)ag%71|KZ-BDs$~PkXGF5|qgM3#lHjw&4PfW6S}5Um zXT9*eKgfM8rtMS%y<7O|z2yOv-f+hH#wcT)_mm&wRu#uO?*@Ds=Ty6z?P`y81+gyi z9ITpmg!9gU+LrsZlo}u{c&V1yT_a<@J;MlV=|*utiwRaB z2{r@AL#(%YhM-jFq_pB)RVrtt?42XFEzWgTv}{oN#>AYHeRGV{;d$R1zR8h1**C{Q z-@pAmzBx1-3fP0bH~kvdxrJmidW}^zFiyPTjBz#b@xjSQhPZ~bU`+Q+!{yRDkZG-xGH5uO{r>%r0+^H zRy#g+C@Rp8&)h8Jfj{Qf0G%+fD$gCFq5MU=*iLAfakYvSJtdlHc_~L2Gw~|iQ2r{# zDl08n;jSr_pFTqUP#0?0_3Y=|YVLjeAXei^VP}hm)WQ;>9ql(vVkfdk?SnicfyOaD zgYqcs$)B&Xm*_l3z+45Q$~v4ijEf2%MXz)YV=s4J#A^ZMstd{U2pTMpLb{Bfc@Bq?Pu`FohGf(pI_0av#qc zyCUV`us(?u=vX6Dg0zx|dhYt-zVK3}~!DQ(B^M={*K(jOQNFki84$ zK@r4n`I2F;cY9RfGTd&MsBm_5S~#m?3Afj=)S+}Lf&0LgE1mvMqg#?9IpP~}SUM-_ zFJs?*=%rRQ;21pV%!}3>W%irs{x2ySzgG*`w^%ehi5{Z6xG{K^^^MD|X-aW4i)qG` zhnvOW#<}ooG-CT>n$Ey;ixGPe*EF}Hi!ei^LdPo1{qktzZVzo(yYIWz%;n6=`iB`&5b)2hPT5;fV5~>5_DVnpJL1nZBO= zt38<=!KzLxfy4iyx}kKq*CT#V^Z5~GPgH1+uC)(tM_*qVY=bb_k7xM0CoL?~)F2f4 zEiC>Li=yLG_ySKXsYMc-Qa=4_;J^5_$9|0-`ndCV$=}kA({VS5Cx9yUAY1pVzAlez zY#r)Ua&h|-VO^uX{szE3$}ND2jLI>2r`3C;liKH^>Sn}F>f$~2dUo`;YlK6AmoDpG z`1*o|(d>D%TII`(RXFc1$zu~d$|jT*d7LAg6ip_U*#tQ8_$_QX>n**47|u956>yP} zjQPrw&#oBOz_0!F^Uh}A2T6UD26BICJtoenOV~JsEkA-fn3{I< zJ&;;eMlJBBd(+T%?f3+rDz>=9(1B+I!>d{ZwLgPp*qLmLa9bdsoyE44A~jdD*j^>H z_sIy!QTZ6v&p#wI^?1~4;B~)JE!Jm8{g#b(TG0ZHF!@LWhyIR`56Pb1$Vzu*2U=0{ zGRIj*eG4hMtg3lciVWaeSYnyz!TVpN6Jx0N>8(*>v78wp(@T{#4d`WBnQGs}UcOmn zwy6U!=zuEHUc5@50>wDXd28l)^=LAMMQP zolCD>k)>YRHeAalJfBUtToZXQSCSPdo9=E^JIl(SD!w-7mgbFY3OBf0pln=!ZOX?DH$rWbW4Wkd258i(5>`juaWn_YFz`o&VAmf@BqN!l&IIw zt70f5Y7VMhGg;y^v38hAlCS$wXR_t8Q#*3XH2dz#pii;;2LrSBqE`FeivWi|g*5<&H--4fI2PZ#9#o>muF@si8QmVD{qC@D zS{Q8&qkPXdVU72&uS8Ba2sT)oH};#osw=rNuV0|)~M{5rt(b~ zhdbFMFJsk1p6!t5+t3;o-w-F}WFY5kHgEWw!obLUc5ruWq5&vpi|}(0TQFQrVVA+E+f82|3?ajHcdQ0<%n;)dN1VB z$a!*Uj^8_Ls9v4X_Ox&|M9k+Z^v49eWo91)7|jxOiDyNlw~UK=?o@J^SJ?Q+ym4s%|0 z0*s-;qHRA3aLS^VuK{vP4S2ixzvo#d7hAQgYOfLYOY2#@x7sE=Ba)26 zRfVh)DAfH`V_C(X!=-BX4Gtr_O;{%~#(3E;=e0r@H?PD8HL$uJcxtI_$1zZG*sFzA zud}1Qu*a;%b_{MG(#4~+-79hBg^p5*J4g7piyg$+>*Y?;Jw{!^-NKKeuKW#Iu3TY8 z>wM=b7}Jd3$bzSZ7}@XT#jV*StJnX`#`Ah6gJvCe=QmdNIW% zW{YWU9k>{-#ie_rYmHj5<*@HuK-=r#rGa1GrK7Ym<8n5s zIg~VY0JSm!)QEerHEyGFcm4TzqNTqtL5M4l-@U51P)xg3XVYvQEgTc^zTGU`6OEJg zZX5W?UGcD^ef&~3dAQ_S6zT2r)5%DQ-nv?cIoFpbvZ%N4Y&r2|GN`$*uDoyo>MqnT zK1tyiYnC$*DNeq^vR-i4=5KGF0Nnv>Eh$!hMC93*JrBPrHuF+z$VD z+Nz-i>lqxw<6@ohxVRa@di`9OqK69(!@U(E-60=vlDvjRBU1P#DAG)GqEQ`GV6q>f}oqVR*Z*`Fe@sI zj7}_9ZCO=2GM{6FdGmwzYIK|KYII`2 z7ro2pi+V{Kiy++fm_NFQ5b{zC@^#lr*8|mVV&it4KzmMf zCmrXBZ9=@dkV7A>g={l7g}no~$ZpvZZQrgMsDaN$Bpvm1;m0HTV?YN?O7?lX+EXXS z4=lC~W7CCikH|b^Vd2y_TYG%&j&vGr#Qe1IYJgbgwNENj9;l=?IGz@=BNM13QX`)p zyxs=K>%I@dd9n?TcYJgG{cUi(<4f`5nNuTQ68L|&!ST8;J#2%r{_Z!z?=}BWndkeS z%0xBt-vqFwmErMK8ehEjnBB_8cyN!1dxulPu2CAVyD#+UdriHN zP2wyj@+hB9;^F^^Vd=y<8trusf_>d8cf57b>3^>rxvJ!%W~ADepxI%MJ2kF&S$DkV z@zlKHE1e$k3nIzt+(~71Qp;;(+W`Apb2b4LFpglax`+14W+TU$47|vz8U3{jR|`Kx z^fJd;9T-6S^#J8F1ySieF8-`XZ;eK_kF(~_-$4BZ|JIpJp6bdbuZ%L0pCJ%v`}J)A zeu1_D>HZ7$G|%9EZ5i5;1Z~;(hqi2q43OKBN!xIUw!!;f+VHO2h8k$Y)r;9=5Y)eQ zlyqjCAm3L$IB|;bL{R0ML#7C|5En!IXb|V>6rm=FXUbEA2Z7$C3*Y;ZK0PJ-S~m9h z4F0{Y=Bi*0B4%mig^DF-SFc9$7@oQCW*R9>7w1Wt3<9*0Nj$rR)kz(gB&? zYEIK&<(&3m?08QMr^>6hi|v-)vOVrQV7^FY4ez)M%IcG#p7Gm3TGo?c_)q6-JW%n~ zLUR=LY`!8bFdC?5(=2GBOlBUv8AFWusAn6$746~cwEL0QemGEA{-daJuPP1#{@y}m zu?~0bN;H1MWZX-+@uHBGL#>iKM2jAG(<1_SGW4ys{JZ$ZxF*aoHZ&8kLub&&svDV% zCVor^Et;O{G|TWD3-HW>))!p8FR2Hns3){q7!l5tXZt?UOnb3gly(Jgh?>Sm{)=Eb zP3;gz(6~t)PUEd&F4R~VPNk`rMJ&r0MNIX2aDC@&eS$BGad(cF_i%Oo>|UP#$xIWu zaiodd4DoP?eP$C`3-P=HSl8eJMmq8BcBq)lrM_< zW~o&cpat1`48?k}Wm5KTMtu8L^ibKz-xsn{D%bb^b^3m{{C-*}3C5s-|2m5DJs0_k zu(stQpA@n7%J*#J|8ymrV*D4+Ws^VsIFcy-4k+*EY;qf<$3bWUn7<0a@Dqh^(VX&o zr>rV|We#BQf?K$Qt!g%R(*TZS&-Hl34&zq)>?tmoS0mdMuw&j(htlD?{pLN@Sq(Rvmo+9dx)>Cr-VGE&D-F>Uw5QM{SV^s20|CRAKU0hIMZMt?o-)xwv- zNpe|puPe(Rk;+OBji+UmN5|2)6kyTF-ygtlzYE{yeaek18g~KT^~0P@=BHwZV;%G{ z$2)@dNMRk_ky$3ytJ}MoN(UIBj2D7NN_QLhlxQ8R-fyF|zaK%1E{(i5IE>aBA2rZe zN7sQdfM0G6Gnu(C5=MC>8ZPI_yi&{WeQV+$MibecVIrRlN+&Ns{4AvJgZR&oc0kNP z`mD)B{7LC#Af#`^eMzB2<=$z{-IP5=#Y(!$BUolk9$oD^SncgeeG>b)LPrOs)!x9r z7pbEC6Y$t*CEeIX%Ah6Cj$knQWy}*hn(+FOlJvi7Ejr% z)MK`UiFNJ$^CLBx80^uQ+Qz3`9xL-5&wH~;8qB|m=_WE5`jrd)dJJM4_Nz$h*FoqP z?Bh);;NlWt$2HkAruVjMJU!FE9`4S#zK8DxGUOhXM0#cl_VMSiG*e=OskCo5MN()y zHnLev7^oCp3l62}F%j5R3a%iI>+Q6cheE)sKRjCIFh>ZjA*9>*Z%?SNZ+kEGjO#l; zW|MqaQ}>QAkvtf;X#>;ADTr_SD4mS`L;pPDVPjAKrh2lk>z_1&@BN{FY@lZZzYF*8 z-=lK>ngY@oeioL-@Z<1F@i5?;pG9eoz8}VsJ}YAX{z0*JN$4ci13z4&@~zjElvr6U zpWpm5o6Pwso2(daB6q+zKBP}4anR4Zk5e2nV*~r{v=QvP z)x^n2MVs<(hq~=L(4q=wU!n2TFhXFVh~J(GBJTqn0s5e|Fsz2&w%s0; z{N#NZF?1^uN%t#tm<#R5D7gs-(Cc)9&k*yis6Re|#nS*hduJ?z+ktj(s25H}bbAPT z1N&7^zP_Mi7$&vlmQNiVZ%&WBA1bj?i-&U0Ap>O4X=-UGSqjKMTA?({Y zxo;cfzP;yvi1z8H(1SGoXJ|6e3O^^W++HIx3*P8NVej zSM<|ES}lz6&zI{v5?a%*zBy3e9H{Rp|6R16w?lW*_|4E6k?0%vFQQoQ`?Ox0TyJ&+ zEvH9?27sb2k@HATO_5t@8k+jqap-dW&hguu>Inc8PehRJQctGk`c0}zu3$rv;p7S4G zOn~`|oQ%WQhqGTwGm*ux#_JQ)$vBw*?o<q=!QKNDA;W z@QphmojeK8?}PNskiG-b9;?4q*i9`U$dI&C@Bn&*t;v~21!bxT8O@w8?!xd7#} zN%j;^0sq%L&Gv<4yIt8aHv4ef*i6P-z#krGg&8mo;4^{pdjFAeJ$x+UI2k^F4I=JH z(-qJ=s=I>{?s!7Xk??;oTf+a8KlwZ|hNhZ>n#KnHIM9j){+$RdFYuqRdQ7l0{^6m9 zQmYqhw{)b-^fPvE!PURZ6trHr7)_BW=!#$+tKDazH4h7B(XqK*Or~`#2@az1;vjH4 z{L>MnpuhX`da+O70_7;zymJO{Ea0D8hndJwfOBqqI=K;GSpuQWU;+->ME)9=PA;WN zaD9HdO1?7!tm}*lWl>!B&rAbKwX~sBl6tQ@sIq1O?CL4rU3%TUP`&Vc^a&Yu!-9R3 z^GE>aRs;WI^l{qmxZq=~JG9BQ9(5Ynq2E6(aE&7R|2IpcF|f7(ps~i){~-cAk=A!2>*@} z%bo4Osaj`s+)5$13is8$JFj}-LL^^?U~Qlef(99aw?%Vl4b=e~#G}1Rz+}XH11;&P zjQ)F;df`MQOD^e-ekEP=OC=49nrTTTfeacK223=*HGpGsR~X0SOA);clH5MJ_SN|w zx;FoGHu=gR_A-ZeNhc^WcrBE1i0}n;b;KnF`iM9R5#F9b~d-6^urnOY$ooG)*YP) z<6-GIS|;5aCIilVak%4lDIk_0I=SiXFB&vL|?kwXm(FxXKulk{hyr-a`#EbyECUujFpq z=ju&+A)N}TE#+T}h7EmZm@)JWQ#uiSxg7H1S?K0xAXOr^+^X=YVimr4lEsb`?u8xK zEH*>97JLTEFmAw8Of4-#I!R63gJ0vnr^^R#URC@IJqMknQTU4C`()=xAwP_k=`)0H zfNMB!Bi3RMwoT>xjZtuTk9_yilVZ2Am3k4lsh#nXQDeLa+d#*IWxZCXD4j#dJ{n#u zLsr=jvb#hHvi}j5R`Tznw32-yLN+FZUp^hZwMmkPLK!b--B!Nt*OTH`Mm*hVvggRH z`icPoE~yDilIiv>VlFMo5tepcFH%|127bMWbbDtIzZ??nDK`foH6iKx za(@iFMhkmpNHI?03eSq|yZkS>CB zJA9{v^x0(CYpK)8Taez91Zx-4uR?m^P)T2R1iNd-uJWgg?-7-C@3rEH4Q5et?KyV5 z6SY^~^Cd)3{!6!EE5G*&?2=|Sio`*3Ccp@uH)>o>_HnRN>L$9zt^EEgHAj6~<#(v> zJ?O|7?;|>^=Oub>qp;2axV=yozyI&o?XByDqR_K+KfI0q2KK`-bYvsK@~AYj4WYU+ ze0L)HG{k@MUezjS>BRep{)MBDPkDb%5~mn5x?@FI{J!rpt{;&hp-1V6Y~$aEYN?$! zEV(2qjmVPFQd;u1=tDGiMsY;;1SEWd^023D%*aLFhmPJSpTOPUQ3>roEA8hg7Q*(Q z3*Ilce|f+5C&}&456z*aFO1$pV+ZBYY6JM?mGDholA&<{933ZMt!iBe#}ncuo6e=% zbVBU5>D*U&XMi!2k+6PaXR>9i#;M)Xz%L8o>fzi24&t4TbOIpR;2!6f;^QLSBZSc( zjH_Lu+N1oM7N4*{l&r&{j7qU*EC1eQC8vIyY`SmhEEX{XVvUwk{I0WogxvGd9a&`( zPKe+CEA2nF{{h&6OFjQR0`T2up*`Oc$)fN*8XQ4;+!+~8<8u+@gMxni^5L-5qO+p9 zxogCI_WKImoj1w4Y|s3=k1u^>AnZ9|4p*ttNg>dnVUWHCb2t&wNs#`l-b7x4^loK3 z`3mO!UlUEl33(1EfKN@9WGXtRH?p1OPZi${^ZQ_{M1gXhN-h!h`GeVpQiEGzAy?h? z8@)eHK?-!YsMs*^Af9mIiO_5HXUcT@XZ*(Z+k;>a&Ii7e`~K$$?m?1abg=hBBC}u* z(!fs&{+;%ki=ah{EbnP5OO?~{B`r-@-p2)CX&(hXlS`XEn zYvdS>Cq!n#+gTK*pNHaew5KQ54za4*2j(bFuUf@e7khg8QCLsRZpwi~|A4pF1oq0S zBnd`QEw7Sy!qO@^6?lWzq>8)_@lD?NoPw)+>L%7EPqbRe)i>+#&TS0jpBf~Vg6;wJ zf03ne$TeMkBdssy54=-(V6$A`nQ&iyE9Lrj2414|eHDI@#$SYSReDAI^6t=CuhgF# z0GF%-NETeZmUKNfNek4;klaJ}*~xTo7!js~aWC4y*92D3a<_+TY1|P0GmSTgakcIh zv5bt6#8I6TRk_Xfp=f(ev)`WIb_2Ca{|xLmdU(aHe8wgC&zul-8*!~36Hkb$ij(wP z9W#M76pvxI^7=~>XG3NY>l5wBSrBWjhe{PKVNAGkqe69XnYZuk$?BOT!*L<>bS8yk z;vcy9xBTTY9B=9e$L~WD97FzM+Aj;GjNACkFjB_5JL7WtOC~U81uWBxI;)(b!rR}`mq#^>D5zq3EL*DB>!eq~pl ze4hU1xxV#&bbyI$gEj4D(uo4r?=nc2LAnysNb7JbdQe}=UA{dSgWK&o(mCT6>{|P+p*gu?C-uPe6E3+xY+}E8~)(ig-N6QfVQ>cg2 zj|h<o~l&bfm z#(o2D4?j>If1pQ`dsvGxFK*K?=WD(N=nptA+vzAzXzA0;9p=2RJWjs~C(K9V*Mf_Dvka#(NH0R=NShi-1*6T(QtF7T857J&GxkvLa^FZ;i-&%BM_ z5y9R61pt9Se!o86-z+BE(5CW`HmwWwN78EG2}y3#Y<@``Y&)UVeW!M58qAO*)}r)9 z^X8padJFWimQiP8&3c=$JCWE&G}+TVv13&2+EwV8R3`;Ihbu+4XH$3;k zb1ghEwri)hX_{v1C$P-et^7YPB)jtg!V~;ksO@I7wQpf{&KPH`a~od}!E?BGg81FH z+LZ6KjhZHe@e>gxtNmg<^)h8+Qyg<0P0**T$YkjCs0icAX-cK{E;^VsuU){Ku))kv zow3&a?O%4@D6ik&{+3N@f&Q*no5`Qx|7{S){Y|=SRrlKMdQ!Ls9Lbx)S5z}~_VS*) z*h^6(wECZ7kBqi*75be}cobDh?pW_!U2MDJsguytkE>?uV~?POSd3d$MZEL%gQrNV zZnHi4+ZeYJp3Tz_l%F~6v8R+zK}jl|=cB3w`RPWx@*C78xL5ysXT19p`h}Lh({pR= zlC=!|v7g$r$u|&=LuhG7xp4HzG?Tn*w|FvYt!PI>o7}db*U!fiYDdG+p6K4m5w9aH z#=RTjsCM z)S>OM)KShVgVlFLJ1)%g7QgHjHZO|+1jQsokqL6mI4s%uJW*42Dk zqkedu<5P#a0%f8;txzv0S+H)wrwi1TC6)QMTZJP*)$a{8w+e@Xc>a9i@{4gNE^mlC zAzEgi5VL2m74soXhA?$D%CBYHCJ0B4=nj2Stzh%qI#%J!W+n)&e#WRfW?&_MTv+!I zc8F|=cCc)THo2cA+9Y`{rcK<&7lqe~mYFuryP!v+PV#Ss-a^)j1-7+fp$$ETsC<)^ zl?#p3Z&%DuzUb!=9y;lZju5OAM~#SY47&!Pr^E$(ODVp) zFNAsLhN!07(uPtf->BqfRpW_6La$8B7XGVW6Xmt(`81n2;!J;NtLDG7)%D=_V*UoS zpR$HUyCvA#?eyF%Dm)$09AGxYNUe=U3iNs?23k84{=Gt5TOhYKAw*mgkY6pucbX99 zRfeur=SjMG4{2cB0McH@m>|pOZQ&p9ZEGg9^&Ox?L;K0RXxN-hY3wi<^IRzFxA4GT znfD~1vx)sAflD)xFR2sK!WNqMi7=*ajpjg2M21VjuPEj6#EER8_#&Ic#Y*R?8B^<7 z2`=kel>nCkEKs^7r$w87DD=d5B(-cQi&pAWf%hCYGmpE-eJjqdLt7;o?v31&u*d4+ z&T#O~_5-JM&*RWf(s9^7aYyjG1iIVj{gRFGjZrm=V^|whLc1g_fi3)RS9<({#zWgY zF(&e14BB$COiN>>^IWBK%@Sh0$#Z-OvE+GN)pga+9Z_0U9;4j09IwKnJQd#tJ4Lg> znNNPu)AB++JR&@+QmA2Y8vxH9(gJIh3*;S3R`q?JM{; zp0C)uP9+PVY6TnLXt*bZUXA7rO2Mh%qBFh&^cC+1(4oU6=nTi9EL7}(t(^1T%%<~Nq? zlAlHW_^cV8Em~4pIn9kDd!An&K+69*&Hr-PTiqvhlty6J5HPZ7!UAeB`lf5vUO#t6 z$Xy%mkt-64h|i)ytMBXC*M)si?x+pop8FF!QdpXF#mqdp@7{kKZ5rx$I}}wXe_GYwf)* zKo6AzC6lIg=|~n$lm>gxHN|opY54teukUvLUG3F0$rAMrGTLibIr?$k#u{;>ha?Vi z9P2E5q~rYb(Q13n^%MPfnH2VL{$1_Ba{n11N&i9LV|;X%aJ^lefzzNbvmty7{W%@N zBN~*S`=igx%7D(sGDIi(yCfv9=NuT)(RGVs;6D{@ z^dma`F_+D^j*g^nNV&cT7q_sC^6nmQ;|_dwgnsLHJ&t^?4&vUFq8&6Sp?&y(=!+s3A#)I-ni`9sg{a>s^xHih?W5to$MCXV1e`;Ir-foGIkrI)%knUu7z9jFP;vleN z#1QnMP-uy;+&wvVs3Ge9JhYYfs2%6(F^^y_EislHEvdd-PBJt0xH1*HO%K=~vyjpE z+Xt}B?0A}7I)IJKR=P6DVtBeUdp}&qX1BvNBRhHdY-Y^fUoxAeWVe@~PqgHDvsq&H zVz}zF_s>JGXYFu}&Q6{`n+?cb3|C$Dez-dIC_6(eaISth(c3-9Idu7meUX+v#oY(Uy6HYII^ zMd%!`QqehJ#fp+`P9tSNCmtL+rJ`FOcsjXrXzb9u!acgVd8Uv)FxrlP`%n77*;8Wm zC3(kO2_Ee6SOaNSX})BdGPEC$T8cXRcshd#S?gzLTmlJ5lLA=_KV>@O8n_NHo`7q# z(PAODDX4t+8AeWOT(N!La>dFQIDF1ED< zCBgHUZb=>+03muw)Vx_t6FUR0LTtsn*sRzI7n}npe;iY%nU(iQ$56SUBPUPpRje2j z(knj21c$<^sCf=nhXGIYz3`bDc>7nY&) zx{5|O<+{o$&?gr_2qQ@v+U8r+Zuv)-1OSyZx~kst>ycx*sfzbQ!}iZaT$SRdui*!>Yrpw~NpF zLe|RQdA)BstghR|RHmz4Li?-xR!5!L#f;Mj0$)iwUMlNT7rASgxo@@B)~614DN+?G zD{5ezQH|(MCm+%rxvNjzQXPIxHutqA*dlhsLw?zK;s}eMPD#RcaZMMb*4x#VGXSwR z#vER$s|~YOsI}JE<~c*ctk@^#x-vty(zc23dT%#L4jkn0A1`5L|-q)20v0J*(Z`tE)M94a!7OH|bzvxHMl4ee<71sFD1# zU(-ZxD|8ff$h2+DTm~yv___QD`#Cm1H-Y!shm2g+YIC4Q@qseh;Y54aKiPpYNtY!n zzO4doAg?LOfoI+efvSeYsm7*Ya)(SryQeKJTTF{yshV6rM?EWhv@g z8oBOet{ks9a*R30^)N5NE}f{ zt?kvIPg+^`o>i4t^IMLsZ_l1pw{2OaD~SlMBGzY(o%-ZCuXZ@tPe zLK*M%lyNLnMm4hlOiKvn)gG9aILy}oX3`@Fb0NTte*|GJ>;+Q=Fw1*jZs~!!5@4E9 zl^YSpUk+EZDk!BYRLU7vqwg-Kjnx=~CFLC+WIMxl5-h8lL;+p2Q-`Hh_bP1I5`&y8V+kFv|;7`tp78pEv^2Yq+~Z7_(E#G($EtVP7NQ@f38 zm0ZxR$=hj)I<4^v$!A!7{b%{Js0Q#!@GrTao@YXR&BWiGvW%a(-&)fA{hHrCXk}Yd zhuXeo8xqMVIq(pQ5Gkd8KJ%3^T8Q^z%m zk>|ns_%snk&||VQtSWVAOdYRJIM#>!Zuto4WkoCU%CGu$O|p!uA#29Xzj;5zfBPA! zj~l%Rone;TGi=EW>8826}8`Gjv)RNGJbRdhJcaH%qWGP z&1$M(*%<~~1-r|P{A9ki7>GWt+?ayivrEN3YRcE(aq+hD~py>1$OVW7j#bf%-7 z^PU+&8=8x5%zF$iY3DQ4)`MQ3dr;D1x;KLd^uI;r6U1%$q=yY0xY9wq_asjzKmm^H?~Q+vTIw zc0Ke@n@r~l@G}TLCQ3YOEGGm1 zoHx3jmc|6o#%U65xw6)P^G4h8{c#-iT`)h}Sa#ZFXE^=IiB|U8SW-ejdL=*%GWwm9 zkPbfo?aUm%u@UXBEA65A2($TQ6Hs9D`WEz^oNkdHM2cp$`5%j36YBzs1Y$5!)O;Ta z5MvYIZ(nhIqO!5$gSOzG5fQXO@W0ONeIv+hNe|`7I;{)7zC!Zl!TZC(nV`Dxrs;`x zrQ&F_juL&x2O8S(0rc)Ffuen_NSar=WmTq;0Qdd*s?1aZ{C5;^-vq)8;J~K?s0N;V1B5fclea*q2A+Ha z=gZFkPu>Cn#}=uE%_ap^+2bq&ErRio39Wt+M>yRIxINq+J8UbbtVUP{Sz?DBGf8%+ z!<^p%n^c&BHvS{+X81$)#6-cYtP(TYQ_L&4-7g_)MTy&)M7f2DiRH95rVo9AR_Msc z=YTrjLDiPk-)*$ySdwFG?XUN}Lmc_$WLlW7wa>G_ z*tKhI|7655&myGGEBW0??zsQEE6zWES#P@W_3@ZgsLQWc(U0z;m@4t|RkNdgs9|!Q z&T7(}`)KGKB5Qw5xeK_NVRWnwZP@1IH;|()(M=plR2r%_PoQ~}v~N@v=JT01RBnqZ z5z-`QyaoM#KN|BKBx}QKGROb@|-y0e8iD{7wEqU^uro*?Fk6jZKdS$~UTw%}zy|KEe0dskI>u-`S~> zvs+d;YwAlOyX}##ByFS>|HLvXSe5YfY3d}ZwhpG6L)GGffWT#9QTp{e7F(~~IXi!( zeE^G10V)+KmOcZTXS3*(Zi*$m4(XL~tsio}W;PoTF|rA@IwKr=Tti7baH04GM%IC` zNV&uT0r+2W$O3f4l(K5^guejhQ?>Z6pBT_PX|yquo}7p=2EPTa zdVjY!`zrC3E83ua^}Rvc(*HNOlK}3^A-G%q1Xt=pxHr0P!hJLZ_lt%g-0G064uKA* z=^S=t=ybOtbh=w!SWa)A@4i_0JncT=rP5g+>bOzqv=24asq~c(Wt^z=nGd~>QRx$( zo<18oDJp~XA3}T;#J}f5y>cqO1NZmg{x;n0a6bh1AK|_a?hNj4`h?EsN~!dkZ+T$> z4O&y(oSsn90!2xbVAAWVTU9l~q~#SrE~D1q<*1Pg>E5K1Aeg0L3C1_+xWY=uw`p$bCH44?!d z?1JY#5E^C(oo7q8iMzc*=S8^Jc|C>}b}iKiSC*P1w)BU;8L+1=4Qa>$fKj6%=+laB ztX@H{H$>q{y*#0XC8putQVSFMr4(#nEdV*TUur=M`xKtOfMAEv2H`RUAKD0+xq(GM zz;k^gKih9%*>KN+kPFY|nZm)AUsi>;{IWJ2c<6Y*_)tnl+LPu;m!QENoxgfIvhg`vG;ZMpYM_l1g*eqkj1SV+kY1*z-F7O6Q!KNL`>+{m3rL#+Dm(?b4JZ$w zn}a$tPX)@4`~_Ci%nXQ4w3_7SgR~gn?DO3vR|EZ91+;dUZA;T{&Na5IRV2B?{>>G+ zLD{)|Uh5Sid)Bm~T_)3=mnEp`VoCv;phx;9V~ve-CmbRf)7tu(Q|QUDCHJfIKRc`0 zT^UtCWe&9=ZH?)2Oq|L*rm#dzsk117W<{K{(ijh;Q0^{n>gGA(`50_+cT;~z>5=BL z29)E`K#L=}ol+IwlR6g|WYagHZ<-80RG+H8ffnlSotjRT1PdU#LsDtzwN9A=wYRvFWCaqn#XO!(5Mo#_5{d7y+ON<*79 zueWbfptVvwC0H1=J(?fRsoj|2ipo4DOd&}(?7{uS4rlkCWAMD-h^y^`;CTVk5=a~T zy-46^sHmS4NwX}kG-@ovtZmF3g%q&da$iipCC}^1C*E6#Uh>dlk?c=)h>8kFS%w^n zbgj~?F-LR#o1hh<*f2TwG?O6h@XnxU!zA644{&tlH|-g9+aVfd!TUXha=vdKgd%rk zLhixV1nEgH?qLp>`g_I|CRtDe2sMF}J=TUI0%<&6ZAI-Kv`$pa<4IsNl$TVF)`_&d zy#BnrfuZtlFO2Td_F19|T0O$@a=my`K3uxs#$JHl0Io#{aTIlnQ7;K&r^H)LVW)@M zNc)f|8x4{kdvc9hltsA}1tYq{@V~o_F+tjwh3Tw|eq*;XY7fh@*b=cCF zQ9$`v#pqwgn$aq9tOIG@UA<^tpow8*9)OY2*k#;v62=IyvceTcQk$r zUt^^Qe3)($?@b@KDE#N%6zslCMR_0T?_TMaK6IVv?nB)B8m@VkF4$RpTG z2htZLvma=pmG!2<&3Ow^5;M63ZOI4u0>P4J`TNus;6T<}o@;62 z)hjy(tlHD5S}Am@R@7o2ls{l^>KyRct>@BvJ5{Csf1XRnN{79BJIndGbgZ=3`~Pw- ztpzy2bLj#;PJ22BtbDz5zzVsw%DKjJm*rnfC<7c_uCRVsqS*O{DclYzR_uY&6xKe{ zdJnX|w2$KWu6m0o-nkP_Qzq{7_`)&NZ^SU8dXZxJDRh zE>(6s;`xScO)WuAR6ffzD>uFLbxVy&6Y@cRAh5uq;Ly?9G43z?M}KFkj_W?5daj0O%_0~CnW6iIXKp&h2E9j5DrzZb{YvHUxs z{ND=jv^!XXoa>K3`6v_iw6u<0<+JRq4`yZ}VB2OL$@J@4hIoF@+ zrN4vuve_3Qc%K720pR`O|2MDE$6owC+mmD=Np}HUlD6J79^evrSiId;b~P>OcypQ_ z=q=!eEx=b@lc7&K+~I(<@_({6L3AGKRfD6v21PecJ=(hlPf6au;ZO};fEo~}!2$n% zUV~?O4f=bM*8oS8R#zw%qy1d$ojoB~pZ)>XnZWK4tOvYRETUgPY-0$+u#u*4(e6nM_8Y`lb@<$0|3rFc4&DN_CSRx#-1J; z^L4k3`R>q|KLvFE+7P@!-qpN){k%gR$oX~G>t{cA1DbyYV))KA6X@eT?lEO8-0c#EDgZY z1FRo>-LPhdW{$1jt*}u4KM3m(z)A#Ib`C4cy?+tz!3O&|si$@35S(}a0LSaUr+fSX zP7;nkhcnn+#ZnT`XUPOxI$&C3+Ni~KcrIihj#)Y3P}gv%YYNnLE3a!b*Ao^F=3M{a z7LB{7q|f|8o77d}eNciCN?6mC1SR~;M)%NOS1*qVo#EII-IO28fq#EDgcb;WAiM+N zy&v`DdAPp{ArqeOhWiu<*DmQv9Ng>SE<*eixPJrp8xUgP`4Zf}_(4xj!MzObZ^Atj z?$5ye?0@v+t{;Pb1HWe_6$5GUWViV~CNDYImVYY9g~C0u8CJp$K}eBN(! zBi!44F{@r=I(>}oYv5tOyrMFY@_3p_M{%#A^O^3%H|(5DmNcjpsOQ8pY*I$8Df-;N zuZ7NP++BZO8N3@z`77GBvhWM#`A@bh6v_*k+-|#Hy2}%^&z~HUrmGa$Z=*xB(F6N} zW6T_SvIfRxGd#cfuQ;*|-ZS9c49_?gn;L^WreFFYfOg^AU?tmclC={3SjX!}lBm#e zzgtZqRwi`Z>)vFNe+yi?ka^@O=`8%I`ZV<677lYaF-?|myj?*SwqIKQh}M`Ms!h9?Li^LLCM7>} zL(9TKy5uaU4-dV)L!lmQKAs|mEMXj!H-zx@w8GQ-_q;~>38|2NB zIf~($Tq2D9(J9<@)I>T)t;6_yCfp-A`$8%2LMeakRf>GSyh2g2Hs+>ZFX0f%LaFv6 z&xNsrcx+;aLKtAy97Io-Vf&*GYz%$vQ;B}&`c_69=(B%AC@zNQ2zue_x4qxK{@Zak zInq@c1{|n1(p9EOIGlLs1&BjGb}tG%agCeZmv>*rP8W4-E(uPdf9D@qm) ztAlGwK)UE3QEP0H;oC41#K&8ej$u7-!>l9fgsc(PXPl9)hCVNa%1YYT-J09>-^p9^ zN~lhgds>sh(@g1UO&YK1w4T-&50Cj%Yf}D8Yc%%M+R;6&Nv#|Wt(g;)BO;~8MoksC zgjQo?vPF4FS&;_+(rlCmlA)Yd6X5yT@iHoOHkA6M|MB2?2&R}T^Go~jjek1?-~Q=| z4pEHqWIg&pDo`EDxt{xIZ!PDifH#QZlFn8!Gk|<$8&IM5#XPV3Nqof{UV!l_0ZjKn z*Bv2BvQqr$7bCav`bk9!iK|W_RTuQ6@PGB>ehB8mj$^%PT1`UkRM`aCD1pZDR^53H z?IA6J`egGJ?VgbQRT4#;NKZ-gyyG}dwu&8ozF)Se+tWmq_^vmV*XR=ea-r83;z{OT z&T^|vR`IkSSH}finGU&O6wscRfsP)1kt8JEq9Z~RFjbOwc&Nm8|5W1B+=ii5-1nyv z|K%RQzwF{Ajp;&LvGH_>l+rc22P=>H1u1UQtbu+iuSy{V`stVN^yCVJixB(}s?GzR zhWir`n!gMBk*%ZY+)n3E3rQSKD=AvVvop&)J6lqbS~)F0-agiX``9z-9Khe%>^R?F zech()tXiP#w9dn|1NT77O*?Y6=Sj+VyUok7j)k6un8 z{>l`x@>^*8MSW23ImGw9+c?CcwBAuT$g;+)vW_X7Y5ATVFNaXS#yqw{s8n0sW{+8@ zdj)9Hv%uY<2W-Fe5Ug2a?IU{Xe+Se*;y}*z!cgs1JLJF*Jta->sCVe8Rs5`LJw=Ui z?ZLXG=mn={;z(KyHGj!d0AEjZeFHQ9o1U2;@0kIyjX+6NiJvlrbGJ{p^L?kXZfwYV zccqwfZ5(gg4=<$#0Zjhc{?{_}6i`M|^jooqal^`>aTy z@{*HGpIQy;@fWgz2m8>^DMOBq+133jCoGD zvz{JZ`y6XY?Z%>U?cIKGp56-cr96c^eHQ+Izz26gNID;+nKu_54*8T;(b3lDxJT*W zoF5FeUk~`K=*C-r_-C8h)1iNMnlJuozu3(G&x@Y3?28#^*{49~Jz$R=J>Nc%#inq* z-aZ4G@9lNQ9n|cd*%~~_zLyP%kU8FP4JF+gzC6A)D3w`<_iH&(H5;$C|NL_WX^5|zv#S*S zSAsL>_?8qh8F1{$GkQ`DxCr-{d;91hiWtjBjk(-M#}ZhFgDaroV5IAE*r%|XAQe1R z+U7ue+8`*ZFE7M32|F&jyt}(rqFr7)6b_6+;7qyL+QM*bM}yQ-VT${io0l0 z@Q3ec)_u?c|N5rJ0s6tfwY=>*$`YuG5`!=nD7(ezcav1_3Q?x=AkEFMxE`g?lNk(; zs$nH&#}umsik20kn~5Qk4s3qbl2_WlR8bn;oL55PtHn{==D`MT#h~3Xs$@~gzLHBN zhP8rAr^0*#n_pkJU}a3HVP$ml{CP%-d30{2OQ*0xp67VJQS%nf+c(efi~u+|m}kMF z1y4YpC!(7Z<_GhLOzDcfnddg8D@pe2yfO2a%@xaj8F9zsa10BJ6Vw27B~^}$gOEqVy$gawx+RKDSn4Q!z?2J%@T-wzK3 z>u?luT6)!c-$Pd)8uc(r0}HN|p`4c>=VLtQO33-z!@-=}A?M0oITt;=@8PSEvkY>U zg>tsB&BhIE9nV_^d0W^9eK7Yb$X(Ve_Zha;c#4(jPeF=PY_q-v-p{adfK>%+Sh*1; zhmEuw>P~=K&7oFts5N?oISpV|-O``+vQw<8Ayu&grYzMSyX!r=33njPH1jE^-)-P&);Haj{oB zQ6Bjey9h8G5PsC}f%jwVD!{s?+5`70cCA-CZvfO^IMiz#Y6rBlN<0s^?HY#}w99b{ zzMf(o5N;Up47uajV7jqUMWgkR)aHs0jJF6>HgAnZR-QL+k!7E)|H2(6)%pIGa9a#z zPEy&QMmn~bl;>wzNOET@ybn`4g#CF;H(KUM9!9J&mdd7tlKCa1_O+7Ol2NdF%59@c zhFC0?DpBU%Z%LrC^!+8cZ$%7gCF#qj3(^w8X9HJiVgEq^#Dos_ViUQmJO2#;UCfNZSJnN8ZBMO+|L|ymLUK zeb0`T3)YlExYt8yTw^}Rrq5Gx8qv$C#0mCsmhV_>8R9bZB$B{Ae~mt$5TX?o$+sh| z2&?8}J+va)&s-}db`|jT<0#98>o;Dc0S~cwxVC!lgKGoJf_h(AoJoULbgbejFXl4_ zgggHkq78%g0V+h}Z{tFGAsri1$d{+}e_WVf($G9TS;w6R*3;?ZZnjWSjI!oo7w9Y*)Cc7>!F@E(y`F@ zK}l`Ilev?2G_Eoei^9^zO5+Dx+t`v+S%uZ4rm}--yTUf41Y_`ga0x#jJX$)E{wA*U zjiO{k-$Ur{_2lw^bSNOJZDVbzLiI;%N(Szd_pADdwPhq1-aN?;o`na`mv1XX-gk{T zdT%a237?{pyJi!;G>~gx50egi;tFLoc#f^A##8JPV?1?BcX(rXY`2G`;y9mr$5 z{p)1%*dg919vg0rs1AqNl{~hOS7sPoyMgUW4X%q7;-kL~;e6MI^(kaye?n|u1_J;7 zIS_dMbRh7?U_y%e5fb#?j5?-@VTuxz=HJM7#1`AWW}8Fyj<}c1NIe}OwfO)`r7B9U zpq%}@Gi=H7NS8+Qp{WmQ;LJJGlOvwKcsZU-hS_mc8UQP{o(46!akPoyGL;<)>a_~o z2Eqpc*)I9v4@@!k#S2jqoLKK~va-7pO}6=#S1m7?w060zf5`%i0IM#}%)LG(bvjX7 z{5Nrzw-e|A`3|M@Z{SdbkdHC+`=?uvUO8`CNj(VdO17?*JS_KGbU5zI*-)lEqmD}q zt#8uPS=XYIyCj8sI#B&vXC(L7^dlW}*Hwt0{h|lD<1I##rr8xCTa?=au=eg&?BaTP zRx6VQ_w0pp?QX9y_9v%$m#S{RX^=gJ z3TgXHgK3mK(=r4wgtbHlT&(>H+0S{_{59<|ncOAFubt1Lm!11fss_P6%n~O}1Pn97 z5hvxrJxwA}dZGrYs&h_o{(f;0( zQj7aZz5`MT{6Fpjs}ABWa1xC-zv7zhUco78t!2OKy03c=SPgh$zw2$_4D_^8?C8R) zt!okI7%IgoKSCYhR@bQ-fZJ&%BSu4AUH+L)C7li&PT35h^P|U)nHFJxEe!V8{cQRP z9O2_$C3Rt%RJBVN{)%ZVo!6QUxH+ezs%$J(Y&*k9IqJJDvu8r;SG{UV>UNucZbc4^ zb7Im*0kk-`a(N51w}q`rMQ=A{GlJu!I(!W1<(s7rXRB_G(!!ggBselD&@{5=#g z)l#U{f1H3-%T>Fk=2zOs&~z%?IW7N1`#&rrfx?;q^W*idO(sqASg1Y9ClbI9ZBPrq zB&%iC1J1FQu}x{T+Jd}~vUL=7I~T(mG>m$kqZVc@tTk=@dODTuxF7J~xGp8#;=G@# z8c-8f@T%$*wI4&PKW0LCZAo$o_RUbpi;|DPgUUu)tm6B?VQx;90Y2ND`lwS;EsR~{ z9NpvP74X2i6jJ_~p1cY;IJ+!`_M#c)RA2NskOL?{=nnrz6DQX2=Fj7^=FeYT2cV@yLDoD&9 z!~(`+XtP09vD_v*Aa781zPCI9%Jukmu?VBVrUb4!p6-|29wpz^4&({|G14EB`%2wn z;u25Er%@9mNwS}2jzsyW-!IBWz#1?@4{6W%@mz^C<->o>QpqT4Z)3)p`%U2&avc-! zoN4B<&W>k}Hy7RLcueNN>l*1df7_L{hM7b1+J9P6Zd%^1P()lnZu{FV70t9E=JrX} zK=6!wcc6`3gI>>EzRMI@&}VW(^Drtulw~n;?SijaV%ctSaR9w*Wpe$3R5}WEiB_DP z7{pJ*=qFD9lOxE<&ylxfc_-UtntNl4t~RI-=-x7^Xax;#4X2x7Hp(rrmK-J&=0ST! z)Vf-aXCGg=^w;!MYl{HdMb*ARal{lu2ib+JXgZS#QxxqQd6Y#~@=?21_Pp+8Q$zEU zF*Kf*A3boW*t)Z9h+OOsnlBW{~{ef zl#x3~$MDUQv-H!ZUzbncgd0yN8?TR@%l~rh8uZW}P>F4c&QfWP?J7!b1pIKFO)uIV&->g9I z_Uf7;mit)}l=Xx+sp*lc8cldzgIVDc!tw#{f8HLZsMFm`l~$uec897Jy}~9~K8Ly) zN?vfhM%C@#KsiclIFzHZ4x^g7xS{Xp-m$6L&-N-s1*Je4x)_UJGJBJ3!BQG|DHKZi z3r!zd2enn!yD7FusaLjZ$N-07*ej-p*7-v}f;6x~9>Cqo3i0^WQ; zT`RYm`kz{*~_Yh}fx6XV~TpXTwp%koc*MJMMF*(1#TqYmWw^fI>5MmRcH$L#7 z58Mr921_v$QW8o~N@=a5Y)tG$bN(v(h++BpkJFKAyeeb%m02<_T%rIl2tUDVV20B_Esd(EU{ zDo~tgJ+l~Mly#&dpM6S|?a!&E<`1?v=BrxoWkS~8d^23#t?7W9VSUz(f*L>I(bDYU zo}rid)uFzVie$+s=~+SJXv9v1U7oDAw>NEdC@ds}bUa^XD0$8i>_x0ojK?r6$@W+5 z6e4KY)Gvwd zdRw|>MM-`B%uqazN(20Ve(AECBu&ItW}l;<1Mh#$3Ezz?N`yPVbrxM+5MFe3OBiVn z)8x`QfQNLNfaLdo&U-&hj(7=e!l3P%-~E*4=c`*kG>t$yE(>cTWJt~rP3qSC{Gs-H zd&NznsTOSCKDQp~#bfVOIFf@;V-eS59X^GB@`O_nI?F-X8uL_gdr%JreR7!!!wv*} za`mA@H^+0ITzCI}`{dfb%Qdts=#%SC?q&W~pIn10M{d_zFNxm=j6I&X!mL*Dj5pda zaJv9&+8}uQ%8NA0C9x}z2{g+5uGY(DPQM_?kZ$pUdO-@c6wDzs(<2fV9sb4@!Ms688nv z4L^!=SaNN0$Qn?E_~zx5kQ@SgB89xLas*j6-$2NdDP$kKPx?ep49E3k-{V0)IZqUQ z5Zd=FqgmE+pzcWm`fxZ~)~!*gs#I5MDpiNj^4$T`Kzo8kTX~vm07lw@s@Va2t-Uwp zX`}`8S5f8{GMrA;E~I9r=97-SWyBD6Aj}#L{3gEFl_gtlasXjFRKP)o(_EWoVWVk6 z^CU|Y)mXx)jCML-Goi=qsD&??PIg$!UNenvJzuAKmTyEQ`(T}t^jK5!B5b4U+;P*S-aeN%pARV6YY?rq9&~{&?=Ny{ZL4Plm*>Ilkv)2>oT;$^E{hnR@S%uaQ!^QaNp3DV|_uR2|}MMsV+C zmEyXtWZvF`Y!tumWh43h4Q7O|A9xW$dI0?u0zLGqVVYs`d9-77@M&`@U2O)c=gB10 ztZv*b{@|Go{XCh<(L!?BmrN)-Hxcth^BkBOQzk;nFFgvwbih~|*+^&&>SmtfTG*Ls z>7hN}a#8p#=sobGl_?}~RSK#7P)~**)03<>&eRygykd1lW>3PlveRVgC*g|JPnI2}jxwR=RuzOD&bhu|W^ex} zYowQbE4Y7@N->T-%Vl?hx*nUlrUP$UDPHm|DM0U0m?Dxb;{B#&>nYmJ7CN?i&=Ps2 zX!lKrYqS@8d!QHLZt-`Q`}cw{;LskL+54<|jWo-5ALrC6#2*4>R0w%)n9_y#yi#oN z&BRhQ`2BQXdI8?Q3asOjC_r;`O!ow5a+MEDyy!uU_^k)w7WuiHi>pN){Oi$P@~0&q zn$oG-t_u15GSSERPBubA>YpS}wd*;3j=W~FBR%NPp+Z(6uSnyyUolh8t=q4WB<~%e zdOrvCR)^}{;Tz9q+7w?Buj{J7?fkxyQiT6mc)D03xXx*4 zemZc>Sii^78%I6*whemSa!l-S2IWu(OFwpf=S&Zs+?R_#{?hGxa^;E?LICfUe4r;k z9nll-o;dR5M|yJkeLYzU?;GL$ad;mC@5kQOlh)Vc$i;sK&!k3AC5bqnjx;7)Drnk1 zIkQbw0d19P?UGu%fG0h2ThISDu$Sk+D z@GBj=*kEIS+cu_8OK(br`ey>ex4QOx$nJW%_~A8eXfD+}l0pnnpFjI4 z%uV?3ehS@>_O`yWMw%b;Q&=IoZt>%Hzc={rzT+9n|B)ZMV)*@kyQ)}jKc6^_`zfpt z&jR)06DM+<(#{a#Jl_VE`)IeH!okwqke|ZA(qDZyd%3vBe_t2?Z9tO0w59yf6ryU< zlP!n!jT+a*`+hgs1{mffe9aqTOeT7(d zOAD`ruv5NgByY*`t{_%e+6C}|E_<1c;O`G|`fM}97Ov(k?C`cQ-*S{Kz*b%JB8JN4 zdwT{OVyO4MGSte8N3MQMAhatsW0z?ZV7Go2VQeMKP9&p5yDXkKNIdTKy}@qw%ojoH z`spe7rl3?1#1IKv9rhTiVkvO^xGV_Sw2{=gCq5<*h?IBL8mJ zC=cq&Mk}lMPLy@Pci*$kuiimDW|&d+Vb=K?Q+L6I&w$n#jrYcIixLD z*G&SRP*ax+yo+*QGWy1It7Q_a7k)iOr37GDe*LxGW=rB z_1{f1XwcsQtmfsYBZjsd1vl=}M7mPKXR+IL#Z=KTIB*~Tx97Nvf%|e|^N!#p~Y#(~1e|}gxF(_^EYcrlS&kc?L zW}1#T)QS{3TEE$EilKr%$|9ua=Cjs;KndYqCN=_OYWqI-}809?fD=y*DTd5K=yE`<>Uwd!*>j+5MZlpUZ#Tqt_ zk9CXpPJTb>l~dGoMO*wa=2;d)$7Drbhek20L?ylN$8Vzx@Y|E-n_uPd6-Lr~>nzf; zL=JJgcM^=;VL#Spgolq@{_s|;HEL|c0zSB@^)UKT#0RUTD}liwe6Whslv+>FZ=}JC zfvNQ+@m4hcp|t? zJlrEk@@$U}hUa_vU=UWxwh!Pw7|fOjbOQImu+fsweK0KO_Q9ZuKxGjWTk`fx;zKO6$M-^nwNjkx(-|~C2Si&3Z?6>Z^`U*~OX3Em zhq1WQ#r-X4gZ>r@&G%a-h5Rj4h(B}hW|zd-4E-%6h2#R%b+BT}`Zo_RMPCc(eL=O| zD#p31_?hcQxavc`5CCg*O#-SQCFBcX5ch?EZ56v@e8vp`E~!F%3+U4daZgv!2Lf91 zQ^F|fLp~6G4tYN)U6?{{yc$R3dlJYwOA0w|;kFBkOhy0ZHbu;=Iy$H%a=j^;dWclXeEqvZ~abraSHNJ*#)Z zMRNP_0-&_6-v zSF<2wtsU;N4P4Uf6L<=f=A&)Sx``o4yK?b`%LO4^b^PHJa(Yn;nP$_IoyYYdpMXbS zjipNqJ?8tFqWowh&N3BE=QF%7%r?0zNrt|e$|y3Ga>-cLSz%}BUE?p#v_X1^KbmJfB!71d08>ml7?Vlc^@3*<9 z6{rv6Q-vELKMRm^p!5WaQlnHNf$=aiD#V%oe6BNsDc8E6<^Rn{_}<~q<=;)br(W>k zO0daigx>86yz3+>_t~@2%R^$8Wh5QCIFp}l!|I;2*KUMWLFP{Bsckmb89}~xMOtqP zWVO`Tl@uDMd)z^81U2IJ`jH!{5S9J}j>}Tr@%%p89S^b7eR2HlHuqV;d}l+L?+0-! z-xa73W87HNG#|om2*~v5TyG8~onIFB{kDx|r;_AnZv6GIJn>a$2FG5y)i-rfrT~3) z`CZ^!VN4~szXo*I?QiNy-u5_h71kjigv;*)b=Bgyy(v65p95p7<71m?3u;EBhwMH5 z{vqFIBI|ng5d`}0Ms20i8e@5?@O#GAp{yxB-KfBm=e79s>Ke11)z6q%sj)IMmpSb` zy+T{F%cQVOvCmmNa^a$dC`pieenpQY0q(fO!F&*UNfO{#1$^oqM(B^1f#=ok7{(1k!JMAb~h)H@coU0G$=JTWN8UCi}?wIO}r+5EhJHb3ug zDAn%$MO^D6x91i{Y{&ET@LTl6x#U!#wswtKe{j;F;Z-QXPJ`YhHRxS3mBvY4kNm?N!ywny%d_&nMePbJCh9nE9=T6Np|LTn0;9q%1k*bmB!vPSXp2J@1J z?AO-f-B38ZYK?g#*Gr$Rl)L6)Io3F-(~GvRhDtAcP%^a*u!f%Q0(xf@J;Rt$y94)e zePgdX1JVi4O}z24xa`+%ys`R$6tWFy)@Oi^9sY)%n774|sSuun_fG+*ELIRQ>`)*u zu{97F_HiJv_+TJ#m?(Odrrp668Q-n&si~ z3d^vC3PZz0?rCgM8_TGufoEk%BEEns;O~3!a+yqMP<6z3zGJ#_KTbpGW5BRKRB6@&BY3C&1H^)g!Jv}L6!!1ZTe8&dx zvz<@#(SyKvTFivxfE4Z*VYP~t?g{j213;T}1k?DWV}V3RPt9#u^JhafzYl6Y6IN5K zyQ;&2dR&0}fAK48u)e+P8M3U#?bQl3f;B1hP3Dj#Ea~wC|FW3zOHk(h&iN_i*#}d| zb)d^GAJLN-pv86_4$@-lX(T<^IsB;_+EDjByO^)E!gZ{wa;^DN@!nTraGhTc>-?*` zD*IdinxAdo&gSaVLz1ZzdL&aX#hbpdQK8 zsE}l;+Lc69J6@3*139)FN;OrD~+J{;m#2eRNT0-hcV+zn5W@KhSeg{MC7v^YR{+O75fX65yLA!dG{ z0Ah3i=jFh?@Dv4c#ergY>IYA=0(;rz`n~LGePrkH)wrHc4!rBx^!psG+DelD(mI|~ zBiB7%3$#|IseyVLE5xfFwJTPpt*H=yf~O=|Sj{WaJAo5R)vmd+a7a@OY0kkHi!1`t zd<{=4Ws&go6+D&6`oPn_QRm#Kc2&usuEuYG%IFLE$|2wTkfvUy1BfpM)GoU$3R1rf zaTjI%;OU^}U3S?xokFdR@3N}^;hGF;5BcgnssB;dB*tqy?(veOwANn>|8Xejw;<-? zwSt`MPb4UM`I1~MedKm>N~Bzz(e*RO4^z8-;`f3s{C?h>Y%$W|OaD`NsdxxgLtlLb zYYEw=1j@DO#-}TePc+gg|5+oAC4ZR;&D5!%Y#Z^I0u+HyR1F6MN6 zcsb6RUF?ChRbQ)fTtnB{ERR}<{$**2d*~reIj-lo`?nRA z^mvV13jE4HDwkU8ToVJxui#lgnf0Z@FPU%MrQ%E)b9Tr3G7XL8y{8&aV~rEVjX_m=>- zd9)~bZ_UK`!z#M@$S&59Mv}+cXL2tY==JltGBV=6f`1&41Ks~dLU3P`@4ZT!*=)YA zSuPIt%_@jHgirl^WfZNJj0c+bId>|b8|N67r4Q&~9&Ype&A~l6EgnzPICWm%lx&Gx zYKHRuabO6n0XR3yfKwnVxVxkq`!D` zsB(v*<5zbv(8Iplb zCzl{J91N}_D9?a+_j^`T@nz#fg+e82Rx6A#7NvDTVPPdwx$_H=!Uf7H9x10e1-O@0 zm{*%W^R#b-(i_$}%6u9)p>y0;bN=b#!uvw}Ljp?40&Tmbmqr!JwN(U=wk;Rqz3VAJ zjnW<-Y0jicsjo;c1khtwx%gus6Rs(K#5b?GAq~)?Rm+E&l`fy^L*Vz&t5%mZo}J;g zNSJXfmv}>Mqx~UmqcEw2bvnabvar{f5=M9x)48Iv9yrSqf&upS*|rMw)TM$X!Wpzd#Zvb!2giKpj>#zp~{;xJIN|0o!JAm@5#NVii@6$Tug75@7} zqa*jIU{%FG?JxYV^tf?Ewy<(Xr0b{#@kO*WjX`NqSn8L|{OT6dVtefPh4yW1uJIgD z-092a==wLA;ScN+z*=FtT}&6hpG#cE-jy7pm-1_G^{zNFL@&`AnIrOgl&;&y;;r=3 zvdcNP0X_6m-w?gDEu_iwJ8JTrnAo6nMesJnITCu>A05;wJ6Lohua{?Lpy8z(UBg1O z{Can=^+kT9*>w!}2R33HJot{cHE*p6?W24%JFu`xl4Kf?pE- zzb)asH0t|&wCEfl967v`?iw7Og+zqJDvr_~?X}M9pt{s_mHWk#qSUO}e2(_rd!cl8GGZ zH;d_EEJ^bx@Q!xi(UQEn=o#~0S>pd;?90QWDzd(-_s#|#2oSb#lMWC_kj?^zMQxf; zNeGazDeetH=mgLph=?d*Q3D|%q*+2DihxdJO;j8hWx{A2eP?9ejz$MrhB!I~2x>RN zz1917PTkJJyfe@9{c*ecZgs0pRh>Gg>YU#pqbR;>IFn(;7@LX=b;@r%;^ql>HuF?O zk%KWIlG-g8?I81Pcyf5lZBw;0(T97QZ%C(DwUps|#o}y{F|jYF_C2F8o`V#=N0dfH zoxWgwr2(&m=Z159X*K1D8d<}N_lw0I^hm(I4|<==rj)UzzbqI|Qeghe?CvQ=7@t}I zE!1>IMnwe8Rd{8ErVY>Fe?d+5rWLy_$uy~{FWqe!NRw$M{Ckw_wv;s~(ur^`c8ZHA z5Sfw0XPzx(55!>4Ei*N+b&B`h7gA%hO0rF-$emq_$elffUtK5D&@=j=WmShp@o`f! zO`roQxwG5qfI9~*D?2nQ1O2!OR~t-c9jAs-i~|~!{t;9pt#lEU{!;cW(;Q+fjeU4Z z13ax$^=fP7_C~#0EVm5Lf?jy1ZgJ~%qUaNwH|0IcM^irFs1=U0c$k1{=VBbJIqNOp z;VswI)A|f9gfBW+soG5bG(fh!mEVBA0EZsl*b<{2rMVK6+JcB)dG0+u+|i%Kz8Dcg zoSipmiu5g0yUb*Y^cAEjkp2zQSV;fEgrQTU&v``LBR;tgEACXUtP-zrZ&^H#4CSMS zd=|Rp_a1l4`8@2F^PLarJVFoRk7Gtb$ri z{iOXL;~u)!w%L|td#&N{;5P=R=BmY|mz~+q2;RLrkBN1&1(Mxoau?zP;Es*0#)= zVpUb22%!=RnW`$#8dy(M!V|7{La2m+U{E#U-|R??UGdz9QRV2-AQ=dJmCu#Xb4C6I zsog!8O9nf{HU3g+v}sP%tw3uu#EC_nbdm?LCU%HR{e5{_=tn8`MTYOXyf|j#p}l|g z4v}NHBYtp~jBv90-54}n_8 za^w;93G=Pv<#b*8~_fXA}?1CO|oGn)WMc^f!S((<76NdR@a2#$1{V-xAW6Hu3{@A@w6mp(FDyn~w3kCZ8wVT@#%< zHB^&5K6o$sdy%-u@Rq9dO`zY4ZkEi?Uh^TZLY^h$BENcg>i1#?x9iv;zTiXTmG8wL zI1RL3cnY4JoO+mDSZN2j5c6f}M%HTx;(g{URG&ny`HrQJ19@vE@ZRSFsmm3vL}J+4 zPrB~Oq&vi7uI*I1we&`NCk|kx_)m@lh&*!144`4|aB?v}g**Xr;t@CkV}_C6L3#|1 zY>wrE7!yjX%2le|mHz1xnC0jz4M^inOOOUCJJ5QK;^Zkyj6+$cl6{Gm0E17jB~XoHCF2nb!<{8?I&EK zTYcx_k~(RnUw!Apk{zJ`t6|n?Wiz4`(!DSzOy*b>W{y?CKzlSR!lWr~#HyGKoa66q zi~_Mk{8s=GC3cA4Ls|yum4MpSMs|qbLE22r(m21`)c|QKq_0Cd2GTM}NBI%sy`NMK zqs&ICrQ05q#~<(s+_QDP9J_mphSt!}*pO(D!Qd;=bO6-zQ-*ONr{Hcl=#P`9e8bGM zk69ueKUvkT$6&6k65nH(Cq8kUu?%Osj7l8^Qb(0|n046D1M3HP+CZwr*U?{GftE|4 z!!q<1M?dlX(h~pC6&lbb4n2jrR*7Zk)2+aKtHe#{r49dA!~gZ@bFIMrfGTkfLyv2X zYnP&jr!_%O>nhR4&~qBSrT0sjevQkaK#Y*mIivz;-ap6QCmb(+WH+AmprBx$i@H@n#*9@jU_ zDcl{AYi8)Dw$PIyq-7U@O0fhL#iVp~(?c(A*m^he>hJhcOUx2Gnr#8s-JR$Sldu;Thp@r;~#wX$QW%iy;m^(g#)klF#ir&E&)TiM5{%L@BTzXfsJr_%n?FF@snbQyK` zgLD~n_m>dr?zwasb@x^Xb=Q&J84b2I9izb_l03F>e_91SHv(l(T}+dsN57S&PYoT> zGN91`J(sloZ0eLf2XytW@M{e+BFTn`wQpJs-MyBtV?cj3J!(ikqj52gm$E~&1#qMo zL*M)6|9o#ce68m=>G{3zwhHm9UrADCOZOMkdW;i}1*5xrl*m{x!+5UUqoflDrn4Ru z;yb^FFkra+tm_^nsS#&BW5PmqHZFua7DF*=xT-o~?NAEeQzFubj`nLhXj@d$w~w9Ks%<9s%%18IMU_?T}$Bf``4YhBbg%6*DjyxZGng6EsPDn5g1 z92KJFS6t;)D1L3{_y$c?St(>~8}}*AUzh(%$j%C_aTP`zEia9NT*5pDimy?X4fGN# z_WEKJRUx zQQYCtIqO63WpurVTKS=3>qntn;A|5$2<7me$FHT2a(!tId~t73F697t)6O2qnA?c8 zxCYM*kJmZ(gzoBjzUIZf-v1iL@*9@b-pIAs2M54xP|+~Rrm|!2i>Sulw*-3M2;TdW*XsGc&0x59#I_8s zM>ZvwEVF8%lrx~_Bx#jHwq9(s-74E5Izj)8DPg*jZ!kWQ_DwSO$tz#ehq6AJc7Z

    a_A4xF<8fELPs7*FD#YTSu~pw=S6RXMh?BU+k!;oO)756u z@ZGDW9YNgp(L3XO=UL(bO;u83ue#o~wU*uvV$|5fYdWRTu)1kbK1~f`A^0{`h*>`$ zEmI^LT9PQX)^k2Y;6zF0y^ZiSxU$@ba?bpX?|yH-rRZaax7?-XThZ|ED*JNy?-!Vz zM@y5SCq3drJTH>8(1G?J?WM$cl{NGmax(w+g|1a&wK0>fmA>;_Wv}-`yVgo^Xp{!P9U{uWJH*LuY{3ccO!`Wj zI{5+VsgqY(Our$=5d~S@wI`hfHCPKZ@WmwY8fXJLsKLM!SbjuJ!(E9T;$Pv3wivnm zcl=k`g&6$jgnthHufwkkm0^JgaddZx@9{Et7?wu@ep%BNojk8)l1-6pzKpbdJ!S~# zX-z%+;7m}GbofqLjER@zPcW{bBqy;Xi0Fd5syoD2;R#!)Bn|L=EC2pc`1ct9_YS-z zm!z);TVRK{f|ukJ^o@dDEeeM`PzYExw!%nm@a zzn;Lds(D#I>(kxtn9CKnFIO(EpblUwgOy6y-7lr|Elghj==GcTNSSQ;zQiGm{-^i@keq zDQHhCv8R2>_A|4vpOu*8xjedSHEbx4i$!wm4-n-OEUU0)Y#8*0U9u9+v~v6%kTL5{hu z=5}|dbMtS1-eas3Kz*jVKgccMH2cceNwZA8j$-DmyVrd@H_Ej@&)eU3l+)>~?+8!N z_^@ToK(7(*DZFJ%-DX-Tei6)s-_L@W|0J)`RzQcXcmv8YkZOUKjSUFM3lCtNSlND} zfIix`HdN00p`5#*oag_ooWHWFP&r@zkL8@|-r7~p6~5Pa`HFmocXx>6-COwCqOQ{Z zFOy3USB4M#j7@0e=y;H*5a9bCO!i&*# zNc)6P-KSlCEEjR!)pz+xps&MP=^6H5uFTN_-iExnm3Q9KYAag+NvC=`)rm=wKY4$qm1%9h}pCQbmttX)y)9X<9YzU_asmvlYY$# zO2>D#+#ICD-cCxK15We;kEuRW@ga_s z0oP4%J!J=6e^DT3mdBA8xbA@S{#CM_blB^|sBvvSK35OnbAKs~ZR%Uni}nGTq_D(T zqK8p`1tSSLUtk4|7*i;0mzn#2O+vfc?4UH^WA1lAyvX7bRk5%YKSvx9p`jC*-AwUbou4JH&N9?a_*BIRvfJ zr&ILsc{_-jL}lIrzORb2WT3P>*8nr*p=Z12mrT%AbAqpideh%Ma&Jn~Bd;`vdQ+uX z7u=8=#d+nQJumT|@(DbN`#i5pV}r=YE5)tBwQ%QLo3;+U%)cnDgL!^U%hUY(gKRZa zIXd%lNv>?|Za8VamDdODPVoEs;Ih#7_j-zRG1?^l-|5*zwfl0YJ{6vD7l7P|Bdrkb zXN2SZjh@X=f&wVPF9Gz2trT-$)K-dBek@IeAN#G!jht9pn@$7Les9AWv?y05zi@d@ zuHjfG1zqk!8L(o=oWD)3g`s`_w=wl8Yw894T7Ohh3 zf$e{k@ZkJ`2T!*QP>QgUI=&E!6?Gw+cLv^kUWQ6KG^uN&j`@onG%_BKB zbET;FXzTWsRf?mzXIrI6y4qkxKyHK214e%5H>h`|7~#hetml+?nIWfA`iW6nqqTQR zXPUYRpk5H%z_EH9_if95HouA`E<~;FmTrTrk8YiO|2{?bqgE55OD?*7v?lI!~0|eiQggK z3L@TQ85~K}uqS#?pFNf04&Q>jB<}Zu`Md=Am{MUDUE7Hamu`*13kLJx zSf4hW9D_rEzOgAYg@kVv$mZt+vVTb&xmYe^6{#s1v6T*>H5Ad+BK8L)t2-~RnUz{! z%rY*W4*#~mzrv+CdAM@?V%DLhYFDZ1ho#f<;`8dJnEU zKOi0U;5zgJ(g9C1(6X6bF2(if2~d~5zVNy&?54FDsGkmb`;@55G_%{LWwvINh&?4a~y0CBi**NAQYA>S2zv%nRcVsQm0wk4BK#wC-K`%?Z3eH+-! zF8a>sqVM#7qi^1KIkxZH=$(WN7HgzakJFb8vDR4I>AjL8b&;s|Ma#Bapqn1`ykg5l+ zlA};ef-+#-KhO^gy|~X`DcVb@Y{nEFlKUc+Ay=8okS) zS5)Eb^17sS8y*W zU{YhDjU?Y{fvcVPrZW|7=^=bmMENDPN327wX&m1)%{tIlVuKkx@V;#{RiwWkLfM>X zoz#hM`udDU#B3XkUk7@82=mo3*IT~KF0@CCbz|O0hIgYdzS}U;J|j z_OVCrt`xru7QtM4Rn+@z(2^_M8M&JJ7qTkEncR~#m3z6G^3juZLsqw^t4hjtt`(r&Xz!G*tQ5VT3A92?3Vh3kL|2N_-FOxcX995Ca(-`6KX4gZy|31rJ(<4D;(d|sY1b|&uj%X_)?K;INjU!O_ZrA(m8yF7?h zQXMn#8V=_*{MI|NHkq$;Vf_+rCh=Zhdrt~U9B3r(LERp?CnY3T|9J4sblEE&*S0=y zSeG@;-j_zwbfz4vsyfaR4F$IMatD{8r}+So02k2XEXjnr&hgw{M`K~uR71J{89167 z&CfJ&b}3Mw8*}u9tXPV5YUO(`xLRsNL|blqMTWnX7v-u711SMU6VfKNUPzCxPPHfO zu5o?KE!?y0`|@(SXcr%%U265z-A4OWvDQZI`(A>1{g3WZ(4RVhFO?Y-yf2>O zSN`ck8S^Cnf7y3|MH(u^KoHNqfwL;ZRq+9S?{7Z6Yc=%CT7LF9oEhNE&d<*I1|QW` z>468vQl=B>aRw16}UpVYLv*N1Qn_qv!r{nn- z^RvA^9nZgzpH)Gv(2v9fT+7FjX#UJpiglXD?{4(bBhhphyDtNgv~F`GE$O~W(Z%HJ zllgTgzb?Y{fAQ& zGuvLJc2$vnC}-ShE)k`7+=%V8I00<{*OaW0rnAKfcm>ZlTGvPx;5|yc!r06*w`_qn z-@+!(+rsXL#dqU}6p2|_#&%qa3Gn!d5q+h_hUqb4bw??|@Q{Sm8 z{Pa3eq~&RMBSy1^YY958AIQ3b+NBRS96iq_AHcIwd6_3)%*tl<_o?rcTPJ`V(l&39 zG%Wao4Rzg`>`uJxsnbSY7ILT3{M*)NJJE15=^AN8a0u5RD@32Cltvs+;#dtY`wkUu*Qt*BL{CmK*DQM*oS#=xv}HHenn7>!-+ zx~cL@-*~<_lbz?~en>A~rWjX>ugI8hrCYdFU)CDQ>z~54*a~r*8#U6wY)Knh3t&!Y z1%5geC9_M*N5gp8#qQ6TbVjx(R<#IJ86T8B4Yc;yD;?ir;yaNV=Y*iM@fF+9k4EzE ztCQm{C*`V7=HK4BNF73)%H-ew$ZrgdvFR``{6jqD$B}m-sBJUR;qe-0zo2FadV-*J z#eR$SJLEvf?c!-4>5HI=?-6U9%HV=V)z%N#y7*d))^V7vOT{+8XFd#$;c^?cK)Lwg zubpuwnVLW*I${IXUcPdz1&jSt2V>w4M8YHt2(q5XUZa8CzoK8(FYSszU`Ah~4u_A`B{ zs_qIiH0WW35IZ96D)!EwHkRJw7`>M4>*GWum15f*1MY|Do2JlhmSHXFjrBG>k8Fu@ zg(ukJ3?eP*!-`!?au+{cFydh_+~^_%(LztJ731igde0YEiZc<$-8LJ0Q?f7XG_H?w6X=b|?qa{Dg8X2un z7kE#NR&zoo%m-?a8oYPf*GTPdd4%itr5tRg#vkTUL08reS3*o=BJZq)r9b` zni@3pK0C_GBylI*Mzv5f^ybzzmD& zjNo9N<^*v@S>_qY&!z-7(hF>eA&Kf!pObzM^KK5@)%tLro#jCa=5f0G323xUiuc?X z@^CK~Kl%BAPV6Y4$@1YT#QB^+iWb4RnHxtoz&PIt2U#nRAJov)bSum+f0$WE|B&}m zR>y*m8q{{($-%ZvIsx>mSkSB1FB$AAE(IB^L0;pYPSZKc9q?J`yJlzX zMw!=|oqad%&MjIHW>byoe|cA~p+|hcU(=F+0lvZ(;PkrM zw6$b3?rdV7)nz0(rb%g37^C6Z_od1UiqR2{t8M06ioUo*`Z-zz@PD6_wzjRAeq=$k zOYThOn2jr6T&CEpF+E+dr^5v=i~1^eIT}*h~6&v9%v@BfosejbAtqoNS1IF=%94Mt#@L zF0T8^R$9Fp!?>5jP!iqP%5EFbO6%t?TgGy+^`^NovaQpWvC~RRfUgIoeBTpo>bfYG zS&uUoMqZneYrdtmbnlF!q_D^{nM(@WW&FPoChIDe%6sSUJ>z+ee(;au=~X|jHXQRH zf4|M}{bJM<&A97fw3%t#ij=&L1p{I9L0yA$F2mrNm`Z z=1`6EY|z{YQn*#SPw#xjDyF5ar_do0CH0!j{oJ|7}_=kohncO5yOV z638m6K(@|~Bf;kd5)Rj5;9B{U0{LA*92x(-ypK2f-{#0F=(Acnln!ci@IE`yVeDEx zA0>Mg0FQXO2fi(i+>hOZL!2VdUmD_%0qJ~j0-q(LJ^eTh@AJp-bOPsvvl+hmxmRJ- zLj7L_nMCjW5a_Ey{_pALi|0Bz=gv=trjV@o6!OJNfjsbpKpxGHBZJn+@)o|O^L0vD zyP8sZ)a!$W^y*PvG5Lm4#b~U_h}>|f$r{Vuoc8u?M?DJ&X$eUR9^q9 zMqE072&z=WV%(K`oW@18h*S&)UYIu3~S!C9eNGQ0j=zd#PipC9kpA|GjmnUSIZiA zclpX(x!y|=UL8>#S&hCjhT7VN_=W&-XmbX7Bi2|)QJ*vxc-wYyW)NvOJ(%7#4_lyh zOu6~D>lXDy>|7&lWho)<80+I$z#MfiAngmF9#|n>;rnl))@LQ! za8=9zGxs>V#`%g{vn#ey<9yw#rWiA$|LTXjum}ry4Eadl*&FWiZFx=#1oK1uy27hN zEVQs39=Eg?Xs}3?IV>kP>?GcQ$(zmV{DPPA^f~WldJ*PjnKB)2#EhyCC$b0l-6h_5 zpvBg}ef;c6c(wp&v4$Z=6yy~^dOZ_BdMytiSO2H`gF9bs$Z>pd$FpIY1Nq+TmML)d z_YLk#8t#0#;M_;jI6Gvu^JZ`>KIj5U5Cqa#N2NOc=oajZ*dK0hDJAU-5 z-!9$=$r$~;@>uM{%Q-F(%g-XbCO9+lS#uxEIYDW0pgWdoxmbH$j+QlJ5bzP;Co`TF z$fu78tTUJ!M%lW{yZEi8cs`#2SUC>nlgG|&?0s? zaLmLwN=A>Ju7^1pxeZ#8_pxcH-BL!gFOh`Nz;n9i{JnDosBK)ZQ_4E-*+|tVM?ozE z(pW!QiES5G1&8J8xQz9NNA9t;o}SW_!Hvl3&^|#~1}%rXW~y@@3}Tef?c%%sKK%Ly z5016Hex%?oKk}<^cY2qc)$97W5GL)bu_>e%@S)1(P*ThK_#EFw~JQ-aq{^0>|zhZh~f*Oo}%#J7{4Me z3t->q2U(TV$!SZxaz)Y zR=#~zUc~Viv&yNWdJ10;S5qN17CH$raqFgZ%_}242#3{KVIspk7EHQ=LoAY~Fo)UH|lU zBH7Hc=TNMXFn-dWF(9R9Y`h}A8&KAbuh*yF1M<{c9)nR2Z9Nh0{a9Kd?(<-KUlG6H z?K#FbrfxRhQ_7^1vL3O?=rvcw)qae^a7C=`vP16IbjVi7(QAw)Xvcu)H5KBL;GQl^ zWD`xduCl&w-7YG9xRbQnjl9n1O+rgIx1uf|_=vzQh_{KWf0a=+Uu~Zq;{T8IPa$SF zmds8d21vIRBy{exG^(jL>k?`R4Po}j>mGYkWq$%R`Slya?ThLRCnD^KbhMSuwnrU} z1qv(eq*_%s5p}Hq#>lH)*~*5zwOzD;%qgVyJ+8H*q?|~>2)@N zl92=I&$9&wwu{NWL693tq{K56{^e4Qy;j-_)EiwtYVUS&Fz7TjE63CWFZD&az6_f} zP4M5~L;1Jet*uk;i*nu6XV%|qAHO&1PUSkJika3*5nN~c);+zxLj2l&mJKn@I(eLB zq@HDhDU%*&<5OXNbz|E+>BVwtYT}-$m6}+k6zT6@XRZD8PU)(tHeazw7-P$*s*;jTcF!}Tg|<(~Yo&Gefj*HlG>F#RD+M zWBPh<7NoDVk>UAHrq7y1T>9|VE-Z|yYmo$fJy%WLZ<+B`_jO{MP4!+4NixAWXC!H| zqm^wp9R;oM;KuP?NH-`GXXf5_BLDWeMR!XW=e_A%!YCIX3zpIt9#bG7{lks?WV@K) zOW|dk6-?&obk1KEdGO5({${qlKwiU(mRkKq-z&zw)4qVdCB7LWAl^UdpZLA(kAGu$w@y^DL?8_K z^F@)g#wub=VZiY8?JO9W>}Q#wm#CnU2+BV z@laFg=fD&`p3HkdlVw@Z`{%K2xPqf=cRc69yz9m;6)vbJqtrE_yP7f zT!S$R^3@`aP-oq<5S~qEPjQsGTFJ^*LXOF7HT)*Awe`o@<%P%DKNePq@oYAy^#6K0 z_foI213N#p#T<8Mp{I!%auwJpE|+1nknQ3jcjuGDWl*T0&o+9Y$160z={K>+I)To$ z8*R}i>7L-s1x$>YhX7_K&RA*I_$+GE+>GlpR%Z@jn{M1a*vFMQ!aY_S{lzKte1gTB9HpS zGl2J^U;O=fdV|YIN;kf@);EQ(5P7AJKs<%MOt3FUOV0ow)JRjk$fdkzCoHfUhh%P2wX>h0ot3{fM=*r!{ru-F3^nHk2j%`v}gP0xIJ zF3@32A6(0mttxRmUUSb1jpXP3o4GAzW?0>d9B%El0Op77;v`RYZj>u40-t%xKaEpl zp+AeKkNbg_Rb8?r!P65d>H$-v^PYz(_OD?c?0ria%3+Hce(RzaN(CHudDzNF=&0z!$b zTL!uS+BUHhn5)iZd^PB!jzz;pe|42zJK)KBVp<;uT#XT^qJu`SmVV~GF5AV)?%9xE zkq>j-7*veE(LR>%>XeI5`Y<0-i-vkB|CvwA-x}tFSFvvI^h3L!Ld3^_L&?;FXr{9vflFhhH=%i#3vIR ztaKhCJWUI)o~E&@FVClo$DD3jJY3N>OSBHZ$|i5_wyjbmFTMW_1Dav{n8M7r>Uyj!<-m9t&Hk91!)bZO8|6xjP*=sn2=Yr41M&!Znf;#A^N9CD zp1$Kf#nXdc++RokYG4{<63(Si;ZrAa|b2_!`R9NtqV5jNkEkig_w|(2Aia?ar~qGXMAd zJ5}FjPx3ogJV;d%K-%5%BOPsS7(wv?DUso7yke3fdHIFA=oq%x(M_qsyC^kPtP%b@ zr9SZ^rKW`_bszMr2Y^<8?y>HQR3gENAu8?g;EGrx*Ps28!H?MP<>I_xIxl&tCyl4; zJ^xOZX>1I?^NdH9;+F9`R)UTUZ}B>cOrWZGzw{nRS!r|<%$)t0{Ld>L^cZ-IkQ{&a z8p}5E+BJEN<*V=%Vgden_z94|@&qz&avbRk^435&65tpKhXBXw#|83pF6hsb;>g2` z1@br?55ch%j%9GT77C=`F_6)61oHiaIC323)x&W73_N*y7w-B;4eIJaw(OY`_*#UT zlF@pQ%wn39BNQWgQ>}AgP+m*hMBleOaT%j`p-i>Pi>Qw{hKIoH_J(EFC1Sic*Kpi? ztGH`bDjlSf)zb7pT1bZY&aK6L5x)B9mmcw?xw5lGIBI)V59$32?U@-w&0A^+sw zOx;DeR||?%pfdCJNU&_X?D{6tW)L`W(>tX*hCjjZ*D{*;;csaa3Q&@KL>6G(t)Cj9Uu08sV66>mf*Wj+|Sg zAyu@f;hxI*&$B84G25^;{xIu*8*t4c?s&SbH&p}mcG8)k`^0;3Ukc^WB#__Mo7B#A zflP{ifjZlv1pu?%0+k>f4Bem1vMeP~?edp7jz%&A$Un#XPysvVa131IO=#RiX zv;`F7K9)&ug9MFxL%8mN`);^1E6_Z;(ss+%maU3Y+aJ3)iTfb^vGnQO#FOS*OA~tT z(V?gA3t6irmERVcnXB2R|5G;{`w#l9xv|GM{}1u6m)H|LeF5Icg*kek^ph{1KWp|c zfLUu^7~U;r>V4&6g?B!Gwh*2b-p!$_q)UNZ{_JQ!_Qz+vIG;b`MLI3_W&)l58CWdu zZxy3W)+TD=J4hrsvPof7ax9IBHoIl!C6e#})T?_X@Yw`>yUsT$RG-nTvo`TmU1jF= zQP+Tc?n@8VXCRZgSwEI4>whd4p2YgR4E4chFZhzX>Z4@ByXq>e!8)h`-u)jwqM~^X zdhr@W@EU9kTx7>m73qJ0-vzWxx(qsOiR1}l+a70{x|yLdwN+g6OMYlfm1t7P1$_!h zdsravP7}zV#>bJ1R)Ne}AdvG}0{LNF95KQ9bU1$d(=d_=e5~vtf%vBiq%Yhn137XX z9BUpGNXaQJk2ax=?+5*7z2DSm;;|-VJeE0#$HK?gyqSOHs8Vrs(6M9~VWk)!j$UB} zjkz$&o_6D&FOD+Ql9t0L``o8;E)D8n?5La=@ekw;=a;^B?tHOE;Bn!Wc@+0(cB{V= zs2+N>+PTuJJublYL!Kn4e^C%Ur&P`hzEFP-3qO$)>dp6iaDF0t$Oy%rHFcA++QZ`L{Jo=o_S_uzN-LT@dTBsbQi zUl8l@1xU-eT`gJta~^L=gEEB}pe=XJ7f6&vAo1yOYVyr*WY}6XVpjwXk&%WgCsfEa3yRJ1pd`f=ex6l*6HX-6? zBppCMwnRGavE9S_nh-&K^ zvXiVTTPu6rfVz4TRW_8IHJnlvS#0~l=dgGn^rydtsnm21GZG6k8aj8o3yTz!3KtrS z6zT8ZA_YxW3L#4W;Aq)F9PQwPtYXezP?_ zkGNu#XroJv%7v-ZfpWTaS^Bi83pX!RT9+>R-6Ei=?stXlg~>TUW!>oM?Tbe~g|Q3Q zX06K_xn$`QXbasBi;Rm4pE|VUhox-`6BY@Diwdoa4=z6N)IXnUTavJJ>C)dVZDttv zVvEqsY6P|Gb!9Vq9sVB>bhT<%nGTVzn%QAE>f!1!ND=*tTlJQpw@|tGuzM7RnHx0I zb8t4t4H_!Z0{@-qM&wG;^w}U+aPweSaCnp}_%XEKShXv-U*$rbGg}AqD$XNU+4=(t zmqGKk%b?mfZJcAWZT0(e=zM0F+zd0umTP)NGm9*p5BlMJre7`&df)KK)Lsq~v^e!@ zvkq9TRzwQZ6L?|>JdqNVG(p5uH9(2N+=v8*=)>ir%6+ux(4vl_9~MornZ}vYCs{v3 zB(c{%n{~5Uf_^m3rYI`4Z40lr=s}~?bZpYbHO*%U!k?gpl^vT^^%k-R%BzFBBNX<+ zqKK^g8}g7X5~#7WhB3lu`Np1COW~>j6h)NXLsl4b)`SqPS51wYZnvl}JWBGWWj5te(iWbV zG2)4-*r$egv{_cGV0{N_GKyNzPi$&Xx{Q4p`pLqPYn08iZmOYf`3{h40aB%e9^_vg%GmQJ9L#s`X?ylqgp*rea20ixsH!SroL%7j_y}sTRNpc{4+ZCy* z;W*cw{rbTm+I)kI;nu@5a<5K=UafbT^f@ecaz~MATn>ww{0*m((jg2@r8C=}vK^Ub zaJ=m@sS2%cy9Djqt{AdSbb)lfP5dSBwkw77m!kb0NWmSa;l06*R;E7SfOn4YcaFG( zh$H-+zXuk;JFS5u{2j@6gVXm9?z`zbIQl=)*A$}fa^M)<6rPCm%@0Zv(D&$(BS+pn zazr_Q{(Q}t>r(z^8>04C(@z^!l#HCq)XSn=>Iju}s_ji{w)HjZD%(ev*rqt@n3mr1 zKJ>*n>TSn3bw2T&kBo$8!yMC|asY+3Xd%a~-~yYe8KmLSZVfzVFx5yUens6_>oeA) z*1s}RV8pe@Mx)hgyTpj0TpaE_WHVDm`XMW5ldP0}+pgtS8+twl?(?6rooz&|E4*c_ z^^|RyZF8d>&)nNSls;;c+Mj`|$+qOip>!~e4sXjc8*4|*kcXix^8oAoGDnX2g^kfbJ5 zZ?!qt2ZEaJwCL=kTkfY0cC7S4rhfF4g*Z2rqEDh+_8GnljY$+`Pz~=<(eRaxjyu*?6S*{o-0nSPSsU@tV5*@U~Ps+J^h>D;e^aMf5+K8lK5!IYyO_gAAz>|Le|&> z*@6?JIjxdz2R`JwDoq&JrmiE&rMLcE+R)>zzL!t(w=(W}>$^Y_9hz{2%T_-GQ0HZ! z>FYweBynbJ+$wsmU1Vz0MQH0*cG?QMr?4kiW3L|k=-|Q8eWLTGPM>PGRJOd*e$-~O zY3+js?Z~S(sJzO+O56Lk?b9)S=-jDqOk3T8an-eTH84idqq0Ui>?KJ>jtk5re8)_t zT1#Pz-j$&bb7h2ew2xk&zFtN|E-vbdNW{_HHr#&rq>PDNUxbKmh>6??|Fo`XMK>yP zMB7&J<7*i2K;MP4zv1@e5SGa34e1-?+(#F8=AK?G=RP`=yR8^=9}2mzEXLf2^4vKd z3FNQsk!y4)*T7GT5wAKG+OT#q!qbjz5ESn}sjeFevwgEEu2IeBhs8buec=lov^2DE z%*9rihg#W}f-D>1EEJN9x@JSfGkntfQ#;05zRJkP@RKYH-#%(tbP@HYj4+I~Koa7L zqFm=rC{7^z+NK>5>M3D6GEW0IakE#XhVvr&{@QfhWz(M+E$@QqRggZLx0y2PN zVB>j~*nl;{Qis*xy2WJ^NqXHO*RQ5sA$<0eykdd;4Cf3>WcPmFhw}vTIUJ>Md<(~) zM}mHZIJ_1I%St$KSx|pUsj+Qv6 zrB`DcNBn$_^lsd01ARNSe+VnFOq~2HN&42I@3NOwh3sX&Y=@EWN>X^FQH&&g<{%?* zUwKqMM?&tgqx|C3H!K-nbzUVl<9fYUOO&BeX(_rJOLb@nr@XX?v_+e`kyLx)l$VLO zenEeO&XLnuB4wLmd=reB{M-Aj^)At`qv!`?q(12}KUyFLq{l$JlYP%|uQ$e>d{-O= z&{H`E{XL02<0#a-^t^4V*aB1EMpEpN;y)_6D^>$&Y5YC$&AZ>b>FgU~0J+*}`fSKvx zf`2`Qy5|niO=k9T1%C@VgMEMo=T^ivo-0z>>i8GWtX*@)vGEA$4LuHF^q zm+er?#J~KEt7U!N;azs90@XM-_;h){TO?EVr$wuz7S?<{QX%U^#R2K*3mx~8ErcoRL6VU(`^%qljzqhrnE*1FvJNm(b>o`8_s28Ox#*&i?4UBG2~}m zCO-XhH0N2(POLxH*wNIv9=f+7jtX@HsM5YLPZQdEDx>|XtJuSW%1&H~5owJJ5cfoi zXDB@!D$RGQ!+IaX9`+iWpVwPJI`p<5XXYxUGr_-!&d!|AWW}o3GAnb!!Es zGscfQB^&9e;sWZH?hEc`iKa`s=f8=l8&w=xudutNbhu^`a%hWgMpIPn9D`z?(is_u ztOx$@##!K1cP`Iwp*tG#`?GH&)O)Y=eIU%G564Kud!^HX9H4M{K#`!c{LGL0hnf>A=PZSlfY6%VgV08E;*-f=+`JEE3p2_>wz!+9&aN_Q zh4Ru~@WmBA4ZX;cOp22Oi!*_qyFn^bo6t(}q7JW{>A>O{O;=cCRg_B;=9XSTsZGeG zUjuD1c0&^6@r2(DRK3J-R>i1fqoBs`GhGN_zD%5RQ_sDA&i#^1CU)&*46?o5V1)jW zk)Wnwb~5_$maELs;9yB}B2ElA>4mv9C2hZDiX&;6Te`=OsK(pGVL^-}p9yrH#ACs4 z6Z;2~a4$bB%2g1Ky#?p@NVtdXtPd)UYCAEGf>ENe>+AxZL~)%C*O<>kjn1>!1Agg% z51(Dn@XZ$(=D7xHQY&e__{9>IG44z|B0ARtH^@j+yAEqlS(2&Np$YA-ui%zbVRgpP zdRv)zv17O#vl8mtIxLRpZzU64JD6f4MJcnU0!P#u5856N+h!TkG|QOp%;=@)ctzK% zi40eH`>AHL;RR%GY*R04-qITI7DzxuR z8@h}b>$5QmYEEM-%So%Ts2uu9&G1iZuXp_pt?ags`!)VtkBw}na|U)9(nC@d1&p@#@8-o{yTf7n)@FQfLWrB?rlh{ zo0S`OLT695;ixddY+8EY3fo@Q&klXvf0k`Ap#|nyR%S}0D!Z-@xjtfcs1Hnn8Ng5_ zP_J|eM!;6_*TCew`*QC_1^QtLP+?UwP^6jNP9?^JOU6w{PmpGIGrpOT1fapQNExhs zGc&*ulZNzeW<%f*;7Eic362yvOldf>nptKVwstc!!;zJSeWIDofTIA8YthZj2ZuVL znduXd15fl@L0WmptpnK!ZISgD4I-_TnG^JT?H1ivs>Wefyn=C>;kQkFr&o#o-G7Po zL72~^0q%aa$sw=zGLhWqs%s`PX7G@~qw@|M z9-BI9`fCllELz%|>MtAteQz;Qq`z*-Y#Kr{8cCaRMuuRW3KE%{v4t!=DJd?xJla+NDla%(G z?W=6}+McuinUPYJ{ew^pm5fYPRjt%`R}7VUm->txL*?$ZsNbfbG*m_h(0l0JW413J zvpA0grCQKY!$3#NOoP!nelA=ON?X0q21>=aA23n|PnVp*JG!KZCQD5|6OS8)@xxJ;88MTL#C}>slWmm^QFdeACkt^+JArE;o2~JA zibZ@y+ZCfyEgY7Yy-=22Ut4H`*0wT~e$>w5;J`fP-WRhJb_KVVQgPcTO%HU1K6$;~ zeKBha8*(37K`mLN-_>7Q8^D#HzEU55RFAe-Uhft1P0GBMOkAM!om9Jmb46!x(ZFO< zL8&A6i_YV86E>Gi%B|j`sCk%wTmWgYxncv^T9yZNwBt}zl#WlSWS4g$4L{(6V z^hAGOHT~d%J~q{8@>}G_%G|hPoplwc`Bqbc%J{6LgLW#*#rp1X3sC-%Ol*sC4GG75 zB99kK>eAuT@hA4EqwuV@3OANI5SGf{epirx3OK- z=3Frf{juFBj~@Gfti5}D6xG={er9*}k{c``K*)t`vH>?N=!QfM1T|U0NkWjTRjijT z7u!h!nu4W>Rzofjq|}fNw?q_05#^Q$v>;*-(biV`ZV)X9*0tCM2x1n)%+ulsU!t#Hmz;BBqu zEUTekn>+>AhQ+%aquh`5*R{UdIiRkYy>~1{o57{htD%QjU2DZ`ACzxeE6xq#`}dS( z9xIJc=X$;iSJPcb$|5BR00FapG$!A$R{thc#!5=`DAGMX&N{+gD#`j2ynVtTH>prc(3%uc}t8McDlG(+72T+6xwqjtfhZCatoUy z&DhlQ_Wpj&?9FGrda7utbVtY*>DPxc_UC@Z=ppGR8rEObXzUeRg()zu!+m&axiE~{ zuG{5dp7=5~(z1y``OSSi#O6IFl*mfebQMSJQr3vM-W|~ZkA5^65BH>ZIw`uJ2$td>kFVcAKw#C zke5oe!J&~+j+YA||JOlNsbL>JN6YBz6S2Ur85US8b_S7Fj||{!yb%6lSD&p@+XWkO z|I0@1D=?E~(D&b9{|DGL9casL8avGpu^Vlmnz5s(anHE(Wb_!oL|N!ZGU8wLvTV{>6_a6oxrVAzdTS zvzzH%6`Q3KK4L+C+6gWNx%BZauBR}>)9pvbG4IJ5ThaNkrThR~Ftc|$TOp?+ z*8ho~u+*$@)+BdYBnRT+G|V#qN+(RfJcnV7@oc_9ELN~bXF|g~##}SqBpp}u6z}gT z{2mQOiEgvhD<7^%r+(;B5$oN#;9>YbR_==*wMIPg9mbDZaNX9w|L4EkOr}BKK7xAz z+(!?Xua366nlh$UN9JoVn=g!nHmVf;8oZP-&}Mn5v>-4tGGE^CDw;1C_ns3_|6I2p zcUci;9|%ljbJQNlV^jm_(prY27KhHr50k`p+)oWlN0qz!=c7XPSWv6^#zvaIwUOb_ z&bRMT?ZlW1=k!C$bi^xOC_IQwVMPQ7B;h4s0*WR2-mYLj4OAo_^L0Ny4x+zgw%Fer=YWq^r@`H0KUigr$d-@%=sRz0&7{WuC`I z{sn94@w?1q6!f(S?jzxzH_=R7x0}iO+g087P=pV6%jRmE@OfJSoxfzRD=aMw%QN*< zw-Is9@gw=n3gq0X-qNvq`uyCSjn_u7>l**}ky#ra#+i5{_~AGIT%tR0Mn2Pcsq}Kh zCv0=SPgwKzP2vNx(fo$j9k@_d$S7jH+Pjri>o;5V`v&6wyfWU%A%y=RxA}I^ne_jUI@Q~vfag_Je8w3 zTgI6ic}NE4>CMKznIO*`mPdR2_e)9BTcdvB_(>tR5o0ZDufMy@U94l;F}DTC_b&T_c;Tju9!&9ouAR~8Lv z`cy7yM80(><5h>T-&JL|q{dy}wesnrIB%QLwi)&Or^&nS(s@&2blyxdn+^x5evOUIH%urfxn->Nbj@Wz;5=e5URjHcOitZTR=%WCc>rF>c(f zc`SD_%a_W27Y@i>1i7b2a-WUlUIw#aHAAo4-tcbmKg9MR`9?)D`T5ohk69`{lZ!Gw z0~w$-=}7m5!O^EQ-5+b`$P-PTB|jCyk}VYF<)XT~aw<`i_`Wk_Ov$tuXiH2}>?UkU z8f!y3`*jRxNp+OY+Yo6*D~(d_s30eKf2b>1f=Yc*wJlRZU06z4b&t!MA$wn^bn@Jk{=KyEu;s5<`pL2c``DBur z?0z$i+6=h`856b746y@a&KPbP}5;7a^U;7p1Y~v3~%h^n_ z0?NUi{+J_*^uaOQ=XZn5#?wSWk$wQ^Ly6jSZ2Tpq7^Ob+7n4S}$+_FL8*i5V5}52a z^K!j0)4oZv22t`O*4b{<%%0(%D;vo~s%^w?XF}T6g-7vymfH!qrp2cNxqA`~OJyt< zl$oL3=yD`>;4WoK$3sghA5)~gN}p8jav0s(7K~*0W2s#G=C|Tkini5uz=dZQ2Vz^b zTZpSPqKWMe60707c1u{A8bmo1Pr6b(7-dy$9kxvhTHCP=@W!rnz179tzOD#K;cc z!X-duauz;z?4n$tNQE8pv9Z&T;vpq|f5}ir@5Z}^Q<8O;dvsYR;Qu~5B@1Abbl@ds z_F4wuBQyOati+TErcV!?k?p1iaY}e3!$>0og}_PVGEZ&|Vm#yPcKGsPbr~Jn>)fyQ zI4saYp0%)$E@Carqk$!7%N1$E01DQ8Nu^*FXF+s3ZzId^Fq2z=W{rZ&3|C?#&etG1 zQrO=%e#5X*1KV|v5>hCiHS9cRAueJW0<@TG!gd#2dm{rq82nPoRbnI9@B=?$!~1-y z$EZ0lD%vWrzat0Km~siDnUaoNsPm(9HZlY1EXqSZaS+uCg~FP)tqvWX*jXcd z069#jUQBw;#O3ncr=MJ8dW{SonMda&tr4Ry?G~PJrWEaQW_lh>T5BpL#ttr>+w(sPxu1cZ8scq4?b_;Jg`4+9KTQJkhPTqy- zD}@OHZ%gc$BJ<-a1wOyhX@Jo|7^)Rc2&>y%4)ldKxwBBv2pb#;XP-}MGI0|$-KUm5 zVCo>xIk;|v@sXslK=0Ow?_69cOf5<)dfoX8r^U1NMjQ7&Zv?(aYlRjnLG7+rh569J zh0sEakilBGP*}iPxI=iAweSM0)_<@TD#0DlLR_Ic1U_enQ_mph$L-7iU$w7dK>IR& z)ILi&wyv$ebqW8g*0ue2t((cy8lgZKT|P9a)ik_gM*2wl;FO=2Cw6dNCHvN*waNEp zt!o>6cE;_a=g*P(yL3=?i$mk)^LIFXU1q9#Q;~YYZJrF_8$q{kEwpr@l7X`%z&MNxVm&*(*TNT})NCq1-l@tjgg9?X)DA(r^<_tiThsEqV{#|Am9%bk z3_tr9EHg*j{n@fdOnb=^7lcwdh==iEGuj=v}bJTMaD+m!?VEYHYDn0Cg9p*R(z$^R^pN zXy5L#2&9F;Y-Kn(m^DqSN7&(1`x?vos%=c{n31!<`Hj;uzkq5sUl-khm_E&xf{r(>620(vxzz~72Z-Y7pUwY^%!j}PhituHGo~rPLy{r!G5QuG&dz5p5XMvC| z)FeF!@V(abyhFF|kyFV@t^M$j8t$L}@CN`7!}^~;3C$PYfIdNA9(o!2GU?y?@{p;O zJPLi$8=s5x<@8nTOAhp9A*>YNjoE^JsPmQF-;?M5$DY_DJxPY1XxmdG>tw0tMtKNt zy?zzm-U;1+x47^d4Bi$BM*-SYIGfn1Y0Ld<#L>o!jpSX&7&^|KvBI`O)yr8R^y%ePG996mh+fWifq0xL zQSEQSy*y>0R?ceC`rUul$}#8uR~H$By38L4q`cOV(2+<6wb21;d?k15jn4y@^QkMMIJY^`R^9OD)$lIq*{__b^B{>V;aN2zaB{ zl3z+5Q?`7_OTb+YriL>Mhb$*t&P$HGj#2cEcFyxe&k9<_?er>s0ePsVCtSDOCMNFQ)f$0LRYuiG(eHKAS`Tcep zV2Q4v0TwK%VvQTy7%pQ!pLDbt%&9i+CcH`V)TQpmB=> zYwxRj?2qccht>TutNXM*N$Cn)nEN8tHbQ&YKAT6UiF! zFYrE-LtMH>{7}L3gUZT<3-?yu)owEH^j`Go8FpXcyPdwi5VZtUZoKa-`VMv$efzZ4 z|HE1IZPO>4ol|ytPq4G-$^B>1sq8FTk@hKH0POu*n0&hmdy@h7CP!dzJHXy#2773O zqn<$9o$UPi#Wx%o?)zl^;n%#A_1aBEGXL9q+o6x-jQC2}3O)WTj1=cR-)pR&pM+oY z+I6q7ets0j^MDvXj@Zhh8ZPgGW_ zJ31@96H}C2vj7cBb?eWYvl84T*D~NK);-iya_u%|72JOPxtY=M-U?5~PMxQ(bWMa- zkqF%~9n$sd)m96}_HV?Mj6S~l>ppsWmC?mRahcz3ZN#X@z99|E#=4R zI*k-4Ftj+KErkTGR-0=7X1yuhM%vyj)mP}l;p ziY9*{$SOO%-^tj9%d!RWb=Iu- zfIagz&W&^f)6WiMQv)4K&9q*ct?*?}7bGWP>8Ky+cr8AC#!v2>Tg70*NMC7KBK^~E zrQg8)8$a^m2bIJlR+><{M7run4PYFn>;M_FusrrJtx3P{-Z41w)Es$?-AcDYofF;%!M~+;kg5zv()E^$9PjacZa77=JgoXO)~6BkG-C`sA)sJ?@vCmk-W&*{-fa) zfXXyKo^mSEX|}@h7+#yQl3Qt|Q!aDqOQd`@%CXSOXCo;)SW2|`jiV&UniPab}Td<+qF#9)tzx~W1H%O zfv1CA>na;4vHix)d5vVF)aENGD`smk$`!qt09PI79XALyk(X1GFk3KA(0k;V!)SfSuY#y@$egEe+_=4?GE^jv1?jMdhKOmoKR+GEvmcN zKuj6+V&nH{89B|P+aL929$hQ_!hc52vnQ?WH1MB)Da4MQ(3xDW^~^EFjve0_m6Iqu zC}`f&p4cK_Jv^&N$Li6udJJ}xQ`gG1%q`Hl^evj!xdnQc0p!EE1qPR~g@?P*6DXLw? z9!P(pT0d=7Kiq1TI+mVrYUVrUV|!m^#G(aBuGYETiKTs8 zWg}c3a_M+NptnA9=Ie{3hmRk9>s_UD2(HAPAzOrs)mML1t**moe8ry0@NEmUZFFRX z_I-QYmtOY9LUq1#Jy>Ubh_`%DoyyV;^O)exGa-z@W3(LqP80J%^@vCbTBm#r(=Q1n zlwn=!J7TGY_c#*sLo8khjQIk^z)GIi|7NYi^ybY-8z#fpje_g9(6=w(3c@8+sq>Gs zuNBbhr~U1>-nK;i4m{go>TP%~wxgi8x(d%1fObco8zRpH{%yZry-dZ;gy8|cOvOyG z`D?_7{p!5_>xqH1{dMo%5!(vHG-OPC#1dn1dGp06lFX=(;nXakG5s2|cl31iQD~k~ z=-0g|AuMTR2+t$dh_|4}f@72W>p8{hiSD=IxX~^nw96D}*YAGRu4};?>HF+M6v@LN z?C*~cv=4dRdp_7_^V3t9H?t+8H&YE`X{6knBVCK7-3m{Mb)MT!-UH z4^OYcQ>l9!;1kX^vhy%t6r-)M(@r&S@)?Vzr&!*JZcACzF6NWlrLmB7Q-;x1FW&l{ zrZviy=+W4+SiS_?=uYikT$v`w`7q?X*gm{W%@u7ix;6sFiP~Eazj1qy$$GQlO~m07 z=2+(zy=F_sXxP<}|7(cGr$G#Kbm zmm)o_R8zU#;59~-&}Qk6fHUH}eDo~FO^1T@z5E=*o|>L`P1D_JZ)i)7P!Os4_?3i+%uv^1V|FXiWih3FJ2>^#4CmNU)@l%zdTw&)H1J%oieahCG=L=B<&&xw1NkW?9en@m&cyTOH}0 z37Nc?k7}Qqd}c?=#l%YwPgyZ`Bv5zDoE2G*I4*M;#YXGaxyYlE%-PwY@fVYtkp%gWXjF^_3 z{5J3;D7EkG=Joo|o-}c}ebN)k?WD*_UiVr8C_UvjtQncuQ9F0zMLn65^j;F_F5>M_ z4xsw5Yop&#zb? z(|Ul4*0&*a{?3n*QEfF3{2RIDgX*DW=@A)d4RET8v{MnF&uu|FEr+Kx{}QUFv)Z*S z7aI6Ur;_q0x3ymSsgEz4Qn15mg_L_BrH<8u{Qlo7Y${C8INHA^&E|EKZ<^?O-8;(< zkQ1GbHIKHZ&!Hw)eB-Bb(e`>Vx_k7muyyyK2JM~L%x_hv4tPpwgPg!lfLDv=V0`Iq>|b&a zzwGhzo)VbxIna{50c_VTLDlC~UIc6GysX-g_8hg5^B>sAMS$(rWHWgKu8-l0q0uWk z4aFT>g`Wx!rpy8EV?jsHA^VK>{*jBLx4DAS2v|q%Bewo_PC1`ds_&1#HHw}0K2=mD z<;$7u1a`If=K%VedB}gO$4W{1VktHF&D&NA7?EELr6JCn9ONj@UUKkgxyBafj{J`aK+sPlJ>e!Wea?j3^Jj&j_M*uKmqIc~2alfjPSZ9DE@j&U{L--D{BE3aULdc+f&>crX`w`EI0_PX=%`n`useAK$su7c0Ya z#6~KP*~k#+rwgtzk+b?Fp}p-kkmrClj2%ozQU0uv>fT%|MFsPYkkL3=XeE{dWi?;Y zwVsPka*ymE1w3CLjgUPGc5Pmed1`J)E&ME46<;%3 zmzWi?c9eS2u9wd-%lgTy#Z!H8KAH^lhVR&|ZCJ|0)BsOFu)h(&Wjq@|f3T(_s7W>a zn?Lw?JF&^p=J@8J%{=5v46dT6#~rAS^UjK~(g$g5 zMndzj=HbnYrRd1Febw9KqJqR-2`pC6(AGHbRBf_QAm`rIAPowvEZgEJbCX+1&$rdM zXBhwDHhGqFcn_x?+!39guyxo=>1-z(&zqN zz&tS?Vwo_K&06!Pa%}ZHIwvUyaF8zaAg(*ITAZNR$}b82hKG`X_I9o;Z@L&w9!hF8 z#&lj5Y~`&<{)Q9X+UTg=dRLrxjMm_?dgcmS9X-Hh&IK+LR`1ru(x?7{19|kAoM}2H zk1;FK&;2}&ZZsY}#`Z~C45K30e=j`4JJVw6XMq*%(OdesS6lgIp*3ml)WWl9$GBK} z-A}BYoj6~49xYIj_0jSa`O?!fK8BnZc&a+*10U$*ipA?le zs${Kcm1E}RS2embrDRshK)QwAgA0H@{Vq5NC|8PeP^%p%S0Nn)lq)lcU$zDhbm3`u zW02pnT3ip9b3_YzplxwP!@4kDTx5bdHYRm3zc$eFJzXOiF2%haq-VnqGdeS6{>&7r z@=mR7BVF1Rdi3Txcr9>H+P&IN!=KQ1D-T$(U05ot7Ec5xr6X^7IItBs87ut)u+ zoeQf@7>u7=1gBtuuhCZYaWL(y)>B}Lw%WdmwwUbZp25U1s>PA%jvlM)bf%n^jg2#V zIAfgWHShLtvrMXu@N}5j@8dVLd*`AuR;V_ic&@`us1p}`ucj!WuX*1M4~#y5mNMw; zm@}>x-v^AlT6`~nTsZQ=Mt7Y!iNzd<Jjt!^$X-zQE=O0>#dNl89Bh2KRET7RB85g2duwEVn+=mPqbMJF5C}>xoBCm(R<6 z@J0*Jo~jCJ7bW}A_-Up?D~lY?A=8LAfnQlv<1|g<=dUa};UpP@raR_8Q)JBLopIA^ z;NQvlvC~g1c&3P7P_vMDGx-zno2MySP`7|v=vZhv*8bNXWyyc_C_~=wQ6BzwEXhCI zqwM$tvwthr)BEMTpA81M-%4}oW9{fAW+Kq-YT0nM>pkuH*k9mM< zmVPOh969KSa+?Y<-vlGg&~K))HUc_;PD=PCVX>U~zU zAN;&g7P4!8Zaad|eB*>2tz^*>vhNLlU0cQV{FlOCCsn6qK3*09GOzpLzdS@1=gDZZ zdRo2$|L4eNDoTHh$o`Ky`|L`ON32HQjhxFLW^KC?{7-hJdCVu?Q|(cLBKZ_6oe%fx z3VKZ2B&}dk$npwa^ZxbSJa#6f-^K%E5@^9FI)Z*Br&M2;HbP6qWwkhZ(DI2u@9>O= z>&ZT*`p`tF!rqSWr?4-w^t%py<3x&{cWvyAB>nQ}&_n!-q*?bO*Ni?7I5X}~qrbjE zw4hSw&EvN_lHA(G2OJ5VIRf#T_~ddslxv{-Dl%{1=g6Uken04wB7V^2W2?p8fq%f= zbf^)n73nz``Cz(RHcoKMJwt{TZFR(Va+YfNmfoIp1n~>*|MT7#31Yi8lFnk2#YkVh z+b3h+Gh-{`KXook>sr8ZnXQvcGhRli)!@nzc!tRfs0&7>dHV?0YVjQKgo~eZQZ~*}q3J`vm-E{7^k^2tVNXnzCe0EpF z4q`C#IkCQNWb33-y$je8W|OQ^Hsp`Kk{4IUxR84}CO>SSz-*G8c9cQ&%qE#5hx+FU;C!BSnBmhCia7J>NFNz~Y$NG4f#J-(Y=DdQm5k z=Edb3=yr@!YIJ=0H%7zIesgr$AAySX@#?oTy@bUJCLVi~L+KiopbSzZNW|e-j_^#j~gG;NRqe_|;;ZYz4kkQLw~c1+x41 zqw2&J-FC;6wBGV7FM=2}A z7!=lh8m~R->7rXUuZDLTZ(gL7Q%WiGPM8NJRfG#mqjtlJ-tehxy~!E{%g29{pcO^Y zH%gfvDP_Mhn_>y2;R&TNP(lopV86*CrLP1VlrV2V3C>6fzf(|qW3XfmXa2~hWuPU= zsIpr&KV5`5VZATsuj{JR+)pUktp2DlH)bY_cVv&O0Qu4^)o00Rj{JVN4Map6Sr%(1 z-*=~xsIO9q3;x&o6~!PaO7xqVWEk9^fUEc?iZUdMkoB;xDnp9$0^B8)pQtcp^Dw){ zBgC8y62IPS<*rL#gM=iykscznwY95$HskNzQjDw00MJ$^9=?<>kaW_B{xh`RCy9;5 zOJ9VE^~+B5AoZH}a~Ul$NJb8orFMP4i zEoe&=Zu3|76hvv;?C5uBuX;{0vTSN)v*&7Z$wceMjCc;Qr;7;_fapjgdC^Ri78;FULms zq?3#n*~#<`&|AU1(0kme{wMO9JbL|hNu>dMyG@8`Po=$G+{SU#?xA@M>tPxD%U((`20wL`8BUYE~GkYvb&^)AhFn-l}@g8w{x^Jhxv2N zaaIZGAi>@3KOk^92b>(!Zpfo|IrD$1`Y%{^h+HSXLQn65=ymCq0MeFPM|7vaymu+m z>(G9cGgqX~j-n6XTYqG?Y3sMM9Yy)EcLR2}mL}|(moX5xKQ1+dEfEYi!oP|htuXHW zOr9Jc=S?uiMEs-`K#eYGWf;BQ)r+TDRLFXfKe&|YCUPb4?W3@Y@vr#`;3+zU zry(s2-~UEFTme{^QzTcvWoMoE%*A^mxO3VYHgf(g8~K^hOx}g-!0$(qrLU{;MP|*| zAK7c;nT2Nv%A6kY`jjkeIl|it&zBCc@tn%`+8&pZ!&4&|?=7E|j`#4k@homJzrT3E z800}peRwkSlwL1x^yRZ2Z182RtQQXk^Vrk#zH)fl8@z)()%sAks$QHK&SB3_`|_ZN zu`=%+XWU*<$n^9dmofr7Drx|C&ziH2lJSOfr!OU19+xHrx<}MI))kIp&$H-*P`foS z{o2e4#8LzA&F2L38x=de76rcV*3r{|;YiQo@W_arrOo*vywQ2b5tsCE;6q5Wqrz}q z`)jnW{Y;*o!Sz(jebzX&;wRtV7U2_~+-V~O#&?auOeX8h|#%uH;zce>^C&I0oeZ#bl5=QtU1M82ETC*Ms%imQXRKudKl zo_RLW@4nI2_}xP`;yoMac2UM8=HF!3T|nRUNZsQlV-PXyVChx=*nZyvdCZd9w0CCj zJ2zSTJ}%uCR4u9N#0v`YAJO|-m)IHqfu|1j;;vwFBnEn&cuGO5v^w#xN)1Ks#3khi zF;W7o&miKNul#rl_N5=oofXD@;oh)Lnb;pguvVOLby9?<{OJxGnW-h@x$hMP*MX!p zlP4~uk^0lAWC5@8mABoyKcYv2`^bX<%ebUFWOKWn?K)3Wrh2|$T=O}Ye~tC-PJG`h z`-<&rEu!~kfsj&ss3kDoEVGCs?z z#H&ZGSn^#?1P}7B*vO_+sbnRL(>t)1dJgq@E5yAJi||5QoU3n^2X}&`w1C^2!{{LL z5~>G8MOv&NWg8!ii|Db{iizJ1W@m=Ox7#8y>8$;D?KC$d^5 zLHiG1N$ZD4q>?G6!!c^*0Q*rpK;TmU2)0XHCvsto{$dy)L*VRu3gWHsh}mC<;=IAASw~8!ZEKS>LqWRNB-JPgeWL>#$`Hn@ zmg%k%SW6|%rOnft%bIhVbDM8(Mtzkk|Mab8&9R0dpKrq$wmlpnJs($3Ybk9VT2$sT zwohx}JaO03;~h;?nu=V1(vQJ(g$X^JW@Ja{i_=;cnc(YC3#83xFWHKxO58-^iB2aO zxTcOOkUG87P~hEBJ*~C0C8?;mX?hEFH5sP5QaX}HQWs+35%L2pURIqb0Y;exqwys3 zp14|ig89FKa(uH&zm^L&V48nM(ku$$sq7bG89+sycwNEKw$m74@E#m%TIMSX%rn!G z6npt_xRl24su$ip*^O-26tHtZJoNc#gW%h<|=D3 zdWQBGwc1Wq|4i#~Y%OY8Ep`UucN+n!7co3DY=4~B85QTXM?VN$HR2pAokB^oW^3A-2h4GuxE-i`ow!XgZmAQIv#k?1gM7PDy2XFbuGOMGQ~>|efi8tX#*6Wg zarg9|+xOYO9>Q^s&+VGS#`~vTQLXbM7X7uN|MJ4fI_PazeX?9TlTNn7y%DZ0a9NZz z^5?u!r0B1yWSmz~UhHA<5$~No^Io<#_O<1(oow_(6Ow|yEk{bq0`t@}XnK<$nrz^V zAD3Q`9gMD|dx+P_n_)IugXmi~&5i#z!vAR7NcWwQGSJ)0oi}-=$z`Q1#)xHXl?MVy zoqp>d=E3~G3K}qWj|8ItNRRGV*p&!|VFk?{q^(UD5f@VJj_|?h zj1ML~LH`Xtxa2akN?%Vp&g{G4_vVRU8u@i7jby?7r*L~9T$mP)rsXX8*pGZT}8F@$fS8_u2S8__@SAy1SWWGM5m?wbGWaIHdIt^szC4#5; z8ap{ey0oKwaOtDvgQw*Pn!V^l0{4e9t2cn-2Ws$}iHH~;vI6T!s9pM@$p5?5XubF>hzGi`ALCt~_3#y7YzSN@x zw)H4ghdwOl>F$Qlj%c686LoF*L#E31Sl~1NEbD2>wcF6mzF&h`>l#+pr-eDisa^VkQ#&7{%OpbiEwTa1dozfd zoB}=hoiQdhy=#8G^ohS5=w(O>D*~)WcSzg6Pg*NZzl54Ro3_}XGMEmm@tgU_Sq%cMms%q=e9CHg`KB6DE~&agW1)_J6x+yihlr)F99If@Ax_b8 z`}Q~z+?rNxi_4*R|D*hdO*4;nSupM%adQ~)NDFEgc9BeOi>5Ux>0tM(Oj9%ShNfn& zx69hzWZcnRqt&=}cuQrzO|{R-ow+ZfZ-@RC6Ya+A@h(x^7fi|B?%+C!d4}g?`C*x# zb)kGqLr6N|uXkuVEkbg6l;;9_k8eBRZ8W@ns2q1VZa^+)zRi=`zh`>pJQF43$5x(HM4@xxEi6cTo8E*K_ccHwRVhyYP=-a1Gj1I-IFCNAZ{8HZ6 zHNKxud-7tR|D*dh1E1DnBY*OxkqdB1aLw2_ikSO#QueovZ*mB!l$&52dy;vaPb$+# z_5>VGj(Nct0eDNyxZ&N<43K9E$49v8mwmq!>ckU4l~>u~Lk*?m3Ovo>C}R0TLBwlj z`3AS0c@h0f2%Bu=%2pdOLz@J+mcWIQ*dzD86M?RwV<)<*X)GO%dzRXQYpvB7+bh8YFA%ap>`9(5EsF_t-(&MgrWk(S!aa>cz1^qc;)cO;Owt zFnUw8TO2jC%pK=Vh)M^lR|44KU%oHp6#E(U>j<-6O7#HmPlS0Y9L?(I3&)+m1-SSE z!22-p$kGtL&E{g^`ydk z3YcWN4eGhI9X0>hIi!bV;^=n=h$n?kjI1@IyGH!^_rwyNz6hzP_jc}!u0HwhlZ`gA z1=imuQX0vZ*<8#-8xZsXxobWLlJ>f`Ee=D|ZSGBSX2Au6?djqUZ^gk1y>~RX$n>?r z@cCsS19&2C(yNZ4pFL5|d!omYYv-$V-Z(=BKthc;32M&&iS6mLhWk4fk#Y0KEsOHl z%E>L-4P^5WiaIi{!YKbbfYR0Dq2BWE%gMOM-T5oEJzUhx%L`-F=mP;k=i)q{$_Z`F zvZ*?;htuj^2_2{9gzYmg3(-fIJ!)P#=P`Jrh`u$Z-^ahMb?#Ja$6T5OEzx{WtlCa| z!+mD(=)Y8VTmIT*Y~D^Mdi1S1?NDAdmZk6fk{UfwvJszjZhhBjoYaWCyM&Kr9#L8(S>Sh0a%ka?+>;{=`D$os!Zb7Ujr6mM4PvIB%RtXo>o3NVbZTg^(Zj{@p4ig3NSc=y zZxG}Cs_!d|>W7}MG@ge{(HZtG)%(NM#!M0;0{;Z}!Eh%TiuC<^C>a}Jeb$NS-`*yq z(;bf8g0aKuc3+nZD|Ef#h9v3~ehvE+^hZJx`6pC9%9lRm};sGcw(<%`2bRjvj>nrtBzBr}N6$KD(fLs=i?_ zk2^$lq5$=;mbNgv`Q?RuXZ&XrY*h(6<44azKxquvu2;&BIHKL3mSbDiD`dRrX7MGU zG;bH$eAbBtemhWOQG80al&@>|2siJZTgth7%lucp$syc5Pmk=L%g5XxV`95d??tsw z=zH_ffHyrH{$Av(ivRaoFUB8fy%_&5wO)(^v|fxiX}xgirbC(+H5<@+#=_3guS?G! zjb*kf1Ec!YI$<0w4yRlGmOm+fn|s4=fh_G}Iu?lqsMmlI{5&11SAp{#1LvbUqSs)I z=r!<6uc23(e;DiLT1Dypj;ceA7ZXW_@E~yP=(Rh8dF`%s?r}u9e~#MIq*>yESlWZZ zT(&=hwj3k=O@{+Lq4&=Lizy?|=CAvg9|A68S7qPZC4$&>S`KCpZAXZBU%B!BD73g& zy6VGIk$3Lt)7SWOL>uFyNWV_7ekJ@zeGQDrq62wGPkT4uR_9h?W z>)VoAZz(n2A zT_;~khw)r`QofQM@jIS=QkLNgX2(SMff_O8O5ZvBGrzNuhYF7^JUJYFq)}kiwQ9?V8nz zUxabjtWG=?{;5UXx8*ERTMe#gnoo^e&`&nk40OK{cg}F%Op=5krZ18)ccF~s-YsKo z`7+j>C+E>-=}-RA{e617`<6(bj<2_oM>|rdBtz7-vRVX*;Cfv`N)Vm^O2Jgh!2|X|6{3N-oNt$@}8Gi;O?C7nLP7qjznP zTOuB|Rj=AH?Dwv+)ojlkz3LTGop*86NY@bQV;Ogn;-rNNo(tbzhBFK^>e90OaV)2L zN_`tEeKqsVmlBP>4GSrjuuDdJnK;RzSRr>J4McZ2kF zXcqidh8CB_?Zwonj~xXVp)e$rnf5(hG?Loc^Tg0&WkdI4iabaW4R7qB1!Vw#G58MF zm~kY?C-^=y6txxCj5%~;jTyI2qZrX+F7P5APF-0?{qvx`o5Kb0+Z@h=-wk2x!SA34 zwc@()ELd5|KD60N^clDO!h^bUao(z^7+Bq{3};^%Vtp${Fi~SutAKslQjC4kg(jB8 z?ZZ~tBYim+%quhP$G+sT=g)$-mksUjEw=g3!Q1|0U)~FCu(ta8HwMUL=eI&AzRU>Y?^fQJzzIf@z z9*c4{jl_SSMz+EIH-AYZo8L_(2jG8+s3-+qMF}2FC9~k(3~BA~|33Ji*ME-P2=jfY zEvM=BX?*`lwq`7P>&-5W-dk|(jrf6QOpB!qz^*F9wfk35!+zWix-R8}P#&ojf31vR zaJIugn%!Ua7sA^UA?)G75JKHpU$cByZp;DH7B*9oE=p?w{u}Id^3^)@-I-XLI1RO* z`n`8HHj1Z$#KQ2d3-{bl%RQNv)ISyLJk9de+@VKMFLGh1&)T9!P%90MU`RRoWWD|-21=U?sdfou}pujf$8sUklx3ZnR>J9 zrTGEfrk7`|Vrhxh;m#2_8~MS!idb4pGxyExJ-PJ8y0^n9y%65Sr1e^Hl-~d=D>15s zjnm6Pv`VTKFN9wxP27*)2l>~tk&5=$P&_Lrq~`!mGmRKg8g*PZfQ*Rt1hwMF3}%Le z@Lcp2+$jZUZy>$)dgk34y}}6AizP>RS)^s1 zKGa3oAkFY&eYkT_FBJ!nv#1qa;mSz+-t(=ZI0|_b$KlR^I?uJ?MXc5PeGB0}(Szk= z`*UDy?r~!qT-A@Vart;D$g!Kb&6>?>?b`5zk=mOgwGSRpyD?Jxec@S=+Mm0rcG<7i zUKB26wO9ENt{Q?kF7-hyKcM`?qqW_8-oa}BWa$kl8o!E>KjE6! zAG4`ZzO*Vyc)yLO_cZBTsNqj~T-8ADquuiPS;P0)1k{ov8Fu0 zNQ{Szfq&!d(DDbufNf|0>ZqfCFYA}*3rd&Vw2!q|(u5{Q=3s+d4HRqWfb%V!$NNLK zvvIGH)$xB;#&O&fz_E)}N<4Pt1h(Jc1XTV-SLEs1ielwI}g;JtiQM(7~+CdM}nVwr2mhg1Z8m5^xk4Nn^wTyd$2s3fg zS-;kUIE;99QC;gjFk`Bw@i8G}qFYh^ za9vTn|JBE5c-lA6K+!qir_nDDPyf~i|LtjjUw`7-Ano;`< zgyVpR-_vN4+<_=>3O5V-SMI+*;)xkXs(K*D_7$YWe>2Ol43+bWV)}pMV0`vN2}P`g z5`ReKBD`&ojt2@EPDx@| zWPu;4@X!2M?&qP&=2yI?5c-cW+BZn|`)sXwboav3a&Pt{PW-hwL4HB45-D zUohJxoeJt&f6~8(-~H|Z1`pS2Y~-nHit_Pa6=ey``_%D@@>+E!Sr53oSEVL9N(H^*M~Z=AAd-Q;)~!_awT_MX`1WlsNacKTdy`kmg?lK>#sk0|%qyMQ>t8yM+g&Ur1m;F&Vn>YM zdg-8j_}vvQgE=urOBy8UMO&G8|0*;$)*2B-9E(yS8Sx-yl)$d}bNQVn=sthJFL-=>l8kEapC z+o^>AR~k7ze-xQ=A&sQNySv&`$;^ND!N}xQ!yA6rhK=$Y zu1lgX+H2HWoY5?{H?aUbTt6va%*D|F-Yd88T0>5>w@AMvYNr#R;K@4q%6%Y}=K}Vq zPHjhzIe!R0>bawTMc#KlHzJRu?48-WeJN*AS7W^Yw#cZx5<(bAF%~cw$dK)fw*TC3 zEj2M1*bu_KZfg|&Ul*#m2?k0S4Ez@66X9mMKNacCAZfUF%d>mF5VZ?&($|CjI_d8)>=KMy{>`neZQJ zr2D-zqHRkh*)aYi;F1q%1J1I4nf<$r}#q!m;b|pSG->T!YA^m z9xym+w-pFoT{C-McD~}>2Rtb5-R8h3{40#3Axa5K9+i*90#5p9wT;-2A1G8$eco=% zZfcb8%GA?TO2!s+Hp<@>k#Und*^YuO&z;_{i8k(hTB#a|8!Z~Tm!ec^h7mXUlGu(# zjrek~n(FrBis_Zo6_vt2=1X8JWY>?h&ZD(K6tw5?b-D)!6M@{8F3lRRSe7qe9x z1}Kk55BIB_S+r7Wm947(zL_ob;h7JYJy#T(cc{%KtfM)ArDxM~6&t9Y-u>d1;$2ij z3)-O_Ag?G=iL$}N+UUXPtYIkzwLiyC?z}gm4?upXsV1G4o+8|Arvss#*us&+Us{jQxVs{wV z$9(@Z5AI?65{Q(KnDG@PUN{v)!_ff3lTWg{Yf z1Zu>cff{I;s$m9mN@HwRMK-4!UMpNV0ngIFW}Ht>bqGo(h`7e)x!&RR9x zukqk)sh0FNFlEB!+ar5t`+j#r2HyL3pqoe2$Qyf7iT#^2G8CS#zmrA=!}CV~BNgY; z*uK6bIebiN1dMh~q9NqFujZPL{aN6~@&MsibCcVzOOxNbCXIQos#x7$_I9}CJ@(`y z$7RzHF5(Li_37Pm+bp+y(0N=AnhrT)+&_`|{4KC5lONwwtQCMCFg;X>rvi8~0ci^$ z?JV4bzVD`VtxL8P|In4kPCg>3pv00P2OZHrN|{B^LE39w>WTDUK-RnW%-0vSJ(?lr zoI&LuR{UB3s>8qTu+hvP#W@&Mu3LQPQ^Y%&eI531U#Bj?ytCNXAIC^g&kToo;>uS) zep{-}Ycdk=B7WxpE4+!+5wXHUzr;4-Ap!0D5{q%2Zuh3Z2)@x#b!ZSh`2_K<_-|}@ z@w;1YEFj+B{x>N!)O2W-Fhw}d&L;3&BC(@rp0Oyg*~k(a-lY{n!~(Dp4v5bfX}8^ zyc+r6{X5l5lUdsLZc4k|dqw$AX~(d%Cw`Rni~pF`#L}*Q^X9b2|6^J|YuTJ1mHU>W zo}KCF%-;AajGw*TTdwdFtwTSTx7)8sC&GC0RmD;?RE>h~55o6sdQtj1$h0FK{~XpF zo)4i;iRQBVi9GPlri0nx%%$_*-eBQ>mSd)uJ2 zw5+D(4cBB;p68kM`JZ#2XV_kQKYc&HKcCO#&a>Tn&b{}Xd(OS*p3|N7?fY##JH{N| zuxVO1=-UsmC*-mkkRYRFRki}z&fjOZpU#z4$gI9AJd^sr#)veMR)(JPmwd7*=LkQ(9lSx6Tl*&zJ^=@O)C@T?_oBYzuy^YGi9yPo@9IKzj| zK65!;c82dUN!hx!XdO4lxsf+bI>Tp75@V_#FK-c+?Pw8tZ)g!rF#ZOtZV{}jT7;J4 z5m_NjM5eX2k>8((XLZfYYSXjq5ofRLURfn3xs}8yta7URE2%cx(JFtn$$wYC-k`(U z#K4^)pKrVrLIMw?Z=-0KN1yT>;7z$G52wI9)xEam)XX1rq+(et8R`^-{FmcN%ke&0 z*4hvzJX3ZUYgaKS6=Cgz(TiqIDki zgw+{ui#iOovLK%I9li6w)e-td>H54RkcDUCQ| zl0k1>RcON-a5YB7e89ZV+{c_?o~~6`6;=Dw7d8&7k1^9(v;fbLpRkjVz$WPqomXdq zjPri~COZkpzA6iNhgx!o&r!>^Fx0YydOR6qYrjw8S{u8TA_rNr-&FWCw`e%<$e#=cYUVr7v3Nnh_>s2ja{E@=>M&q_-9>J_$!B(HzOw6CWKDYgir@I zkXU)F+$M`9Hbv|?{-p86bbaGFzM}ji{$$$SnRiQ3=0e+}%+)^2#yYh6YWo4Vu`SA6 zI3c)dYRzC&FiV{ux0^q0JRz23d6GX}G%#~e7F~-tjOFODobqQ`Ld#j@j>^_7@!9)f zDX9HnIkK2f$01hX4f28K_%p^g({)&4(MSB5yq=jovr^0*%CkJnp69W=N$ya|*O=u} zh6GnKEl(bEdYndFS9v^^gq_!s#24bp>+sw4y^ieL5l?2o?~CyJ^@H&sgZ%kkN8b*i zDeKuqFvD%+_EQUwuMWm{@a<4-AK$^3V#jYL({I+(Z~oooo5a8QCYgR?rr!j=(D|G2 zzxk#={bnNl=4O|AyskTcqom&qr{Db5<(ohL=9??HPt8TpZ@%gB&A+8@I?r#X3)*K) zwBK3JeoD*WDJHh+&huN1tKHA!&oNFxg<8!hIjdh|{iV3Qf6>J*iDSJi~JeJYt4VZg#h zTuZA9Z;LR{U5YS(wfu@`0A=2AVqh;MCUZ^OUwSC?mi;bFnzzBcDnbUn%)QY2x?i;tANDOmFKB zF4FU4x~eHz@&|W8Frjs!b`VfkkX`Aw+O*1)!Fuieg07GiMk-O|4IF2%(@qB#_> zC-5l##xrlI>8)qC@Vnu6cy`DU?6nYUsJPExmB4hb34^vS;ioZ~Og!@?Kh3g(>+kGU z700CH;g!Jo2}Y)j{YB`#FGli7XJKbu75zbkFE)_ji(-l5oQ`Z01R?%;%7@1cnovpY zFrHxsW(~}QzCE_uqy}kzzh#vv88F?>-tgiBrh_M;^?0jRd)o=>w4O_Qw7l3$CI~-{fk!C@d3gd?>%kJDg+BWXW}}3`b5|lH`%BA01Ia6l zB{#m+ktG3ym=B0J44R-}d^ilq9GF!Bw6)qKVqm6iKOEX#dstk9my5mx=zssc>O%ot z;D1cGQ_K4U{Mhn%3crk z3EWHy{XB2SmjCUt*z!t%e>}ANx8LZ<3Ny?n`{POS@gCVvF7nNBpzX~Sqa=L827^Rc z#-_plYP-RKC+W-BkzUaCROoA{j7_5Z{lyOCn`P_}v`OdC%W(3kKdXFvvyt-6Ku5c; z*WnZXMaStrCao%ju`&sniNGNOwK6OAHKjCaB|HM!Y?Nn6cEDk@vLP{Q$Pvokb$@HWY#nVyomDS>3#}GY6KySHANG!9 z2G*?LwmBlJMl*@l{xB9Ym?UdC=M-=xH(D@WLozdn^YfM*`k=Aa` zn+?PQ?fFfUj#LE_qOOYnKjZp|`~QZk;1O{h_78Dw_K3Ll{x4iNw&CjVBCfmKh^wg+ zuBR{gaJ{y`K(5V?CA|UH8~%hu?2D&<>cult+2$Z~aMr_puZGSTgTAc0H^wo~+s_Fq z&;s>&FX!cbg`OJn%orWRk9&ZhW9CQjNptdUHKSJiOUaE>o#*sHG)DYJ&M4~dl^y5w z=k2z3AHrkM<6TTR9`cPBgg9uu02nEKq;oU=3u4KYuXW^}ZiFZ+#W6t! z>}1r86}UuPmJ;R`(z>-6XO`{k$FA6H&F&JD+N!2dirQP?VgExx_SArO{xA*Z(Teim zJpwmI(CeSK4-^zoVy~>zypsBAAH!=6yQDMZ!Bx|lq}giFw*_v95O!z`pSn1WA-hL1 zS3KF zZM}7_fy{vR&izV9&V>o!fJ=w_R3^&DzAo zf;LUtB~M&E*v@Wu{vBnAs|VO7pc#?HjQ`$%a%#;DqXb)|JB1<88YEFiKm|}r+Z%z0 z(VMoBDd!$)TU~fT2&nmn#rP*-(s`YSztoYN`LRR=JmfKeJ;1C0?lC5Bi+Mv{K#5{m zK!IX*z#7F90c#a20_r|5_;B_PUT?HO3aHC29FxDLa6|qMehAzd0(SxyD&`c8LtJ%P zuh(v3beXavh%1f-+{xR{_ICFDN26dglT7{2A)X=GeJCI3V~uF*_sE)lR`ho*MqdE> zhtcfie)hymc)jw4j%)_JzLpV^x=WM~8i6u5m^ar}j72Zry%;4(mjk{TJyzY+-7KpM z$XjSuCN0df+WaFwxT=+J2_G|7`%Qs)3a<>1)oJqz%*up8<=siD#r`7>9wemPfOgOug(XP1%nW0M=!GpMa<8>x5F zteh*G$@6x9kA)$&Mkckd_NvlPdv&v-a;#_xtSnbphcvxEHs{JqO6>(-^x4<0ZdA&5 z$#&^%b1{lyY|fR9{<$#H{&dH-D3nSQ?zL!k<(jg_sv0Nr%D#%aK6%O{t{HdK6y>6~ z%`|vl<&js3aZ(4HW&2l0d~g+g(<|&s?K-yN`a+m5LxoEFZE}WhG2)3)7yAi+maokP4JqyAbpI~9AqmV( zY3~9l?j_?bHq=owyc#sA(*>wWX^#usO#%I^Ytt@sn@?)ty&eok+0oZUF_*cGZnSp} zmG1sT@8YWeW$tyKzrJzC@%tn_3&wG-n!)+44{(+O@0023CbU3Ehi`utG|Xrlu3?~_ zg8Q(bV^wcwt9g(%kNj^P(*iNM~s?!6$86%GggFAyv5h6%W#8Ialb4 zLrK5L%blY-)=)>EHXUmn`??sX;OW{&4aECMEV=rbjvN3T>*$Vnf^9Qbh^s5-(~N!L z|7atzDVT7^*G3PvwZ;`LLN zK5s8Lkt~gkyC!U^^?Bdw#cTpfVXu}kd-&yPgVBqBNY9419-kZ9^0?am1Q|aznu%-3 zf_L0kL+i(nCEt#`Kw?!#(C3C~mwK0GR~$FpjVoYjbbr*s^aGi~?F5NJT0={Nu@C*v z4`$F~gurQC--G-Sk{K$kzy-Fiz*TQ!=Li`L*(2LEn$g(%$rUk;<4`KH@LEatduz6V z{8=7PG9Hd4O`qr_-L*pU(RZ{KW5M@kh60bBAS$z43T=?DFmaW&jdWS~p26+>Kk}@5l{l;&e^^E?_@J_Jzq_CHC zfxVFrm0*9=JrZCaLSet|M9ZQqW(@F?tDbh)am-y2Pp>~M2Ur&Y4IceiN9>T|I{5o~ zvo>MpfGmq-B^|=Zr8O&97l_Qisk-6g-3)@G)(w=pqPneDF1j)*I9b0}SNs^go%mn=cXeA!t z-3jSwNM{CiJ;&QW3)(mrVL$GCvNa4SK^~uT<$<347`=Fk_oxqkBa?GGbE!P05M;+N zYO85sPq=#4AyhJ(2-};k5Skx@@leR6IngfL%Pr@9QQOzCX;<(ZZ}kiVF#>FbAL&Rp zfXfZ}6-W{AJGz6-3623>n=iFsfGv`V1GxIq{=F-4l}Ut7&&Xp6I2(;&L48UxdT7g3 zK8!+Rc44f5AEoofY0!F4dV}bbnJ#R_YmQ`q@>f@TzyEbvJPqxgZXo3k8_3x+(B}Z( zDoD6%|57fo*C=03*EC)#xXfj_P`_WvtC&{0W8cX4NKi2W^?~NVdh{L~V zmR#T~jmSk>H!mgSm$`JucYIA688WxgP^@T?X>+d3@e`$lbG)*a*gj_lmG*9tDP(PD zUKjYkLri}m!n7`gV_u1C#mI$(>ZTPi+QPe-|;UQ`vPnqLk_J# zMw+4ZoZs<>jk2VV;lHhbRCU)d`364$Dke|q&uR;NBfjFqvy=*AbW+j#H8PimdY7?zfns2t^o9EJempOE_Wz8W$LILBLK7Jk)G2UZIig@5 zAQhLnaW3>Da~^0>Ry9Df*j>y1cEfi*ui_yCdEO-mlbQwL$Dak^+%dag|5FgY<^>`9 zS56q)A_yAD@x0jkkS0DY>e*Xr73CpxZ{RZ5(ot8|RonrgmS9|wI@;01l$eo=-L zeveySH8AhRygz3T%%7h>A81@th3D5bR&51RcRue|B}?+N>I>%-`r^ZCxU=4vLOv-b zALGL!)ePdS0zYC#vu3~c*vWJ~dSFv4D$wV_za7n&r)hBV^6D`qbj;YzNv zbg-$K2{}LFdb1v8i_IP-bFo=dqpgImo$?Cte0%6|T;)A&{=I`GhlQO$*Kz*dqq@NT zE{JmIbM^u6CDSwHFB#ABHKDjShOyRb8U7{x8NSAN3TBAA%x#_;;v5&1 zBW^dtn|j=P!rdul${F|t;;yugH&!~sYruKlil>FW+&Cw`tzjzC2RGf<=3QbD%&4h! zMja96n@<%nt4sylJ??v`w6c!1U0VjbHcWWv>N&IEdezU2$JOmBvbm?b_N zmwpjy${QKEA|jDVh7s}LU-y}??&mr{I-0>14Y@-NddFpMl+(yu;;f#~6H5C_zyWTu z{!X+#sYpjZY!>zt_gUcaq93-yM)bq>5XK#OCB5>2v83g9%M~*|@p3mEat3GXMoW-A*&ls%j{tsjfKSft zDMgbBt_(TQ9!+L(Xjb2tc;khDy3prwr*fobTitx`%!tz{2im)RbfxYm?{{x;+f^2)w@(#ODmM-$Xzj2&@aGpk`C*#^HwZzUnSOCAWe zkr?db*ciDrH(LeY;cS!3OpY*s-0`g=;K(EfrI{&wW@d0SuK1L(2B-F@jOuh5d?k(B z)}+a9z(^;PLowzF#ycrv!<}f^kFshRJDmULF-dZzm?Q%_#U$z9=pU~XW0KU$2Kn2b zvp?h>RIF){X?oYudl-u(Ai8*Zhgc+Q+5Xpi*G+@oFLqaA9Fjp8ha`hh?N#s9?6t7# z97Y(mr4E#zS2=Rw{|bknts~X^$yvrE*%2l4;cRi8Fb*WxZR~13DSP-ouzd-#X9NfA z(k7zqOYr3o;ATNb;-USY<)*;A7 zISbO0z#aD}?Hh>^V=3B;AfE>LEXb!qo&kBTfICx0Zan0A$TO(^ydGpCJ)`1|!hf{% zAq^j_k0&=L#FDZTIuhU(gg-3tM6~BDZD?O>ea`;2OY~jPkNPe^o+OOcFpC)y8=Sof zbi9zyw_OS$_Z6#KWa0zcAa-)gpl~f*ITVx^%-`jZHbYwb z5XNCNnb(6HxGOz?32mHJ=U@DdMsZg2*+v@kN6$QCo?*7IpYjXMfk_MVl20N3E@LO2 zM4k1aiPN&znz(5ubBg(m+Vvo*?_d(FXX~eA-=enBvY$xocH5*(?U6-z=8f9LqfK-H zx5+V{T1T&Adwb%5gVwlKLtWds!>((Em-5Hgp&yb)_J)A-N)(T68tA%ONDSXKl9(TO zB~e*1!p;^>@G8vcHM*(*{YSx^R6ks*JNx1Ys8>AeSR&br7jWYpMycK(-B|A;SBeeF zGo~@q&D*)F&U5^b>Pz{!&gs|aPhmJB&^WT!l3e(;mT@F^=hDws14t zF(qk?kC){a%vsjGD6k=BSxvmvH%&Wa5%$Hc4%hk2}@1U3 z2iiD=%PeeyV;?U!F01RCDL*VbfGr&uy^bvw&~uDHeb%gFwF0gx$x>tn#RU>0J0P=a zY#EHKQV}h1FM3Jb?Isl?+drgE&kW%1_u}aK$)S=W%He#u=nA!SdHU0A(A6I>kV{hy zWPQ0fPp-;&vsP(cmA%g7nr3Ap%NbYY~+nDqJ`w20JTkMvw*PIR00UX|TuqpvScR>#AsvF^#jbwKcA3 z+N0RY>s>J=8GqYf-#aiq)iYv$`577X9`Pj~TaM8T*0GO!v$BnhYZ{jGh%07oTIb#> zmwKxlOM1g0M!MQWBVB2&epY|zt%+Vg&|Cv$8PHpg@@X(HV{gsit7vZxhj!3B=j*M5 zUL)5uBxiVX>V0^xa;$*}oW1gAz`7}}&mpqsWHTirIb+%1+ zakpv2r1u;hZPTB#&$@#xy^H&qzWYI!cNzL_vT+-C0;_M=;&Y-5GzTwRuB&SYt%NuJn)}H>CSF&MY8$L!R+exLH{k zPQ5c>E8)o+<0%Dmy_wJ$!w2m9F=lgAc=THKkxS^0=@plp`tLzMprNPYR>#x%7;Wal z>uz!f-E^)!)dEnR&wH}gKQn-O%TzL=45TaE%5pBzYnaSB7_>;U96g7jCr9CYDsbsiW~M0`)=60ehODW|XbHm#U+9F3y2#^gQ>7I}k8RqE8Z+ z_JAjSr6-fH`6?TV6GA@$vGoD31G55Z~|S zHZStMf1tsS)&UwMeg8*z|H`7ks4ykZE#~nAAkR5msZj4%w4_{GQjJv7HCKB{#SO{F z6){+IA1I0AW(YYgo2JN^4S86`_pX}4a^9ARrxP3bKN4q##?bwuWcYGsgLq;E#+F=V zCf3CT%2vN+HRJG9ih?1ny^9pBiAxl%5la=V$;)`|(FQEZ$8{U|OVJko*F@yJ7Px;J zN-yWnc6fdfo}ZJRpM~e=;rXW>o;Skt&!p#{!t*Z@>7H~>Y|d`#%Se0p6(+^p$luOy z!u3WgX-zGb*|iFpJzTYv2{%tS1Lb^hD18sZHC<&yo5w)wE|51dV)!ro)N+T(&#v`j z#)dUwB=PTf?dc%9HW+RCw?oRq*r8S1E)g|Gaam!$(%c;+ly|PGNqB=ykMrXi_M#XU z;MqUM7zp|bdV6dANkrYAgjlrF}&$|8nf+^iJ!PE30Z{yM(nanh%aol>i^DOs; z8^8F>jZ(I(X|DOV<}|o|-#q}v*<0y78en8dDyC1@7wx-x|~KwwPeg)?$wYS#d}CfW6GE zmU<=qx)FM13vb9ypuLimM+WMlUs#tI)$RBEf!Tk~DKW*&8IV12Zi#8m9Hl)~@#37A z>@&QnT-2zCCq?JIn16=Puqf^0$u{7!{j%kI&}*6Kv8R?=-3N(YnUMmj361%J0ofip5E$} z(TBm)TRk)K=d_>R3d@)`yV#^P>hro~ybQl=vqLlflV5Do=cC`qy!>j&lL6~!9z7@P znV09Ex!x}TqY1n#pp7UuqeVCluuh-QBD5?89%O0}n#Z&VxUv`mZ&i9jPn_kiO)l0i z?01I0mUzJahAV}h`&Q%m9RX*s*IZBKo#k5+r_uk4JY{R@vNL>(d<9fPKBo*ZZbxMwoZD3SE1jbH+)%KS=8Rf&bn6)m?hO z{0u)HMnEpv%Iz2aUq(QILmUALzS9V}8cg+_Y4;h(?IrQ#_vtOdL1^2t<6DGpZp4!l zt%C4*E5`Uz`ug9cVFoOO-cb-M+Az%l-mz4`{#U^`5PfJmxhGDF_PVK(PpKWXRZK*c z{D{nox>kr4cj@PHk)9VHdxMc1#x(jJ#WuU?O#mJfuEkdKv-XNfV*;a&@NvdIuy>s0OhiGQp1C;pvk z9q4g3Pl~zwk&z7U&7;q+t=uPWjMho4nyO6D&9zd@PE}P4x6Or|{0~POdYsm-WycE- zXDeIzCG9>g%jGX6{XTzM_6zf;WtEs#nAUhaHalG?s9l;S*mP}UItuhWhQ*F5$+U2silxMLD~wb9MZ1!$v~q=cx>5q zY^DcfV#voro(%bDPtI-27~~`pmw-}kCl0FuXyIEoBm(?Gxk1^QUR1*E@u1b`5RfJO zt^Sl&11Wt5`{EaBdmj3d&$Un=LeOq;ML4T=w+3)~1oU&J<&0is>#!of%6079ysj-C z=^D1*718SRtrP<}dB1_gUW+FoX)VG5NSvCGrl&+7N>5C%Qa)8#tF}g0g}^8nP_+a` z!N96+NByh@X#}88(`w64{QmNv_?qh8Fa~~x9v?}2Jdu%EPw`t}bfb^ca-#zJUupHL zQdwtWp9i#XDJ~w3==(Rso{#WcfSw=i>-jgtp0Ds~ z+j@Sd*VpsVR_-U~XvV_rbCrSY^eoH@=8z>_)#T^9BZ`LA3PQ3LF-=yFdDl zvv3uzX$<1|hxaM;GZ%ng1p{o#@@eq&85huc#ai~9*OIx)G}e{|_a1krm`U73>Qir* zr6e=w_Qy-Rdi6sn9`ZgRLGh>KPEgG10L23m6bHQpZBTsf@Ik>yQ0(;PXX2Ch9J6Wu zu45W}^Nl+f{(tSxfcAM5q!Kfi&X2Px45Kej&y>9VwM9Z%zy*4zN>Eh+RDs8^jmwy1 z8s%v#7v@wSk-@BD;R0P~6SWqj&mcs8_{Dn1dImjnSvZdqy~-qCB(qZXkH178Lq~@j2$O6e%U{rugeP<)dwwMO27dnn zNe-!DxsF_z7fD`&-=|-o>*ZsN6HiHd6B^(^J(v_4JsIV@G#Wd(gd?tGY6q`80(T@GiECI^Kx@K~w&>6z<(zQ$%EYJ5LQk4w z{J-x3cPa8RgA^k;kz(vlTAnwJDd9eGrbzaLrL6g{QIcLXB*{Sb-EAP}t94}eG95WK zHPbw26P*tKeu zCd2lCBH%_(Vi_l%&W7)d;=aLc%SP&{bW~zTKb;G>7S}pzcesXKM?Lz5ck&Ur7Urj7 zie-_o67mHg!G=Y#T!P2Km`^<3q5LzJB3k~~F6EzgEtJa7xnucaeC9Q5nlOjvsRHuC zB&er5)Dz&r2+|{(rgo_5S<6gX(}XTHZE-y))f92ZntpNR&>8}Si8R*;6KJjw(3YaF z6U*4)dDIquOl!xuMq9b=z-zW}%jr6Rmn-m+xG_zMZIFz*cpq@ka&6kp2NOF+5Lp0x zJ()%jSp)OSdVqw^5sNb@Ea+uzEnDeIfNxX%@tqI7!zdgL-n(di!n=V%`|Yh!8hI`aOUNaBJqxCySu!S!soejl!zA@zrQKP}M_EC;0Z&!Y9vv*j_+HDh&bw)g zMSDlkyuWui%_F=~%-8IbPVCoVpqD1wyxc{P0!Gr^O@rtjt0F$-Vm!4aE=lY>kD8qW zBqkuV;orn-7Z?vBwq%`sOY1&ubD91}@c9DI0gCw?cn{Af zZsiIcgXuf*&b^t)t?=nok0@JgiopY1J?{?alH(M<^+9r(9 zAZqkeKpt7?oo=hQ_YP4v;p{P)nF;s0dva{Pc#b6Qp2oDBvhHy$q1uYE2~A@uoHE1x zobecm&83h|iI#POw2vcOg0$w2kS=zZD5RC{F*M%|GTR#Vh=AY5xVqUg7?v9et!J!5 zkDsd6omA_EYgwga6J{S zU#ZlQd2qe%;Yi{Ddg^&V^j~Pn@4;+Ok6=^>lvS!Ggi`AggF`B$0dbDR(*_19CNr6oyRHKC2G zX7dpgf|ag5G+#y`+2a+Zo<%MkQ5&iJ?R3a&dInE-_`F7zvd+ti(pj3*@dlE6mw{}m z(2>lAFsIClB>kY>?}K!EuZ|oq)RC`eMv~8;^_sJ{$p4)v2d{F} zH~+RNjyY%sJ_x02LAPJa2J%?`O%I-W@yUFTT^=UMd}mYJ$8~>bhe3eR78^p0BfeC~!fS{e^)ooePh9~Y`T5`g|F7gvl!I$p!33lY@U_(cqo^EHozyf$^L&{ z5@QEM#2Lt8gMnPyts^g+VJu9KBuUT)L-vVs{>q8P)D{fmH>-f|fXce>OW(wdZdzZs zleZ;a(2Q^RhVHcz!#$0UN!;o#z;_Xy;g5I0ccpiMgs<9ZVO}d#iScw7i<;0H_H%C@ z#e#D@O7mNeM`(V-fmmrMK5O`zLN9kWzt@%qBea$Km!M$sPUJ|k1-Z4=GMU!h(53E? z-U(9OpE}f7cUw#2>hT(Oo0p+=)jP)0{5a+3_uI6G&+&2PmF6Ed>9L(XQPAFA&g;gj z_uOePj$64W1e9h!(s^uX@|zOVrJ!n8;-ANciCkV@g+NVqoz?#%&S(iiUWRvr1*d>v_e zD3Zj$y~+wv9-2OWMi%mA9QQFu1=j8`X5HS7nTaVXDdDgEQ_K75nf4PxOlT^ow@^yg9dD z%I_$n&F6Y~221e1%xeH%O@}_jG7CN8OuL5{XWE^-p61&rUwVbs*iYzgtARcgxM$r* z3%}#Flhv)Vm8a4Tj7IWGiaoZN`Wj7=PMVdlfj2~tu;Bv?2q5*<^o@i?Xi1B5*HxUj_5Zg)SG+TCL`m88iX*Iedv zCGLA99_|mVcCb*{M)x@Ttzo}*8#6V>R+(T96HpT?1^s_0&2I|pnO_T%X&)DObLp6P z$32KX`$NFJ=T`1p0ayIiuyR*4y?-9=qeaLKw|Jj*V$WQnoDn?@%;#o$s|!6`BFsWB z7q)V53L54duT59A%2vFU9s|AL+g-kw?k{66`1FPnHsi11be3HjV;~<4G!U`__dG1_ogSQjUW7cU7Qc((FU>$ z##iIBI;ji>5<#qfu?RMCNx~@tx1T>Ga`}?zJ!@7q(-PMlsR2A|$R` z3i`i@%TT~Y1Cmb~vxTd4j;5I0a)!}oIxlk7dniW3DMqimH`o6E`u$u(&BTEA*I%n>_yRi}z-x z-F&gbS>$A>Gs8K8O8lkl_ntB)#_Zp=&YD5F%zo!x=wIIt-}u-wghKv-q$6+PhSBx+ zHS9A^#H@+xMqlw*uE~9tzlb|LYK3`bLB%*-wwx(3i7~L0htBZja_gneo>jvRb=xEE z+RN=qzY>$&9!N$qp;mv+N@GN5xS{-6_--^KM#&v1$?zp?_%&ZF+Q$9{G7ac)-&P%Y z=usV6oEu5z0$=YPOo-oSUb-hVW&H8BGoMM;N!i4n>?e+f3h4h-=>G|H)@8fQx^Fr% z=qv{P5BLvW*goru99H8Tjs5RW`=73dL;rg=FxWy{xP6XEbS}N^7)hV#J=ks-|8EUD zg2(a?xrQzLp6{2hX;rU&aBLFeM}25x9CEa@m8a4}N)n>o2N{oUdX68)`r--1(2-$n`1fY;{QbW`dQdV$clMXGr*C-@ zH>MGzl6bh!J@?sQd}>ECWTA%}?~Hphs%=L=2QAefbjqCDALO_12;fZp2rp`XrR;T= z*sqseBLRm%sb7C{;akg`0~Vg+`@syZUNwGf42(CWG~Nb-UY-K8IF2`;Mp(kmzanac z(S1Qj20HtAlaAaE^TYy3k3K8Pv-jm3m*PxXKuSuoJ_C}*2FJbG>lvTC^B_Qd5AELt zUFHe}pD6Y3PS>6L_dz~h>fbWgV2a5aR~*e(xi)m@-y4o;w14m8#ojN3r?~*hbQj9A zrR*keKYITWxR3q)1TWq%^BgyM9_sm_YBliK{{&u;@t0#|ts{{YZ%@!%462|_7Hr}(Z z6YrS^x{{CgC|wq&U{Pm@zm)w<7~MAa+;WP%=Z5n>nqPIUZEBVah{UBd3f!aannilxK5IM|+PKd^3iYd9 zppFotB&c6=Y5?la+y`1(5b1B9Q>4E=PJiG&^&U|+d)A5l@G7l6($UU+qA!cGB=Vlv zJ_hm*(A@2(bfj)N$d6f(~`QEng>1hB}$$#!A_jygnNH+9A@|=MIs^ zK5=xUu~9tISSh>JE7I6I4w1%Qb%?a|om-@_!w#e|j{DFn-v757Y3wAOS?Z~FK8$at zu}uz<#=P8j9r$b9B_ECb(aS&{13EjrQAY|Mg83vPlKcwu4tZQhegK~P_!2Rehktgi z(PufB#^(-6LCK(HInj@^orN)|NRb)%3uHh}3$KmJ zp^+07RgA;fKvfYxhL(&ukbe0a@$N6Yxw>MU)AR$3QiVB}(YjP4SF=SoNE9i@80miY z(1U)&WBdgy84u7Ex% zr=uGEQoa!mbL8>f<5i5v37@ScpdSZWIj+A~5%W0n5kP*9&zP-hedURx>7gJAh02nF zzFu$|7X_Bz;2wA3e&-O%uTOc@%(dnqi9f7n!)}Dswm|zw^e~W!Ha|Dd)&`*`p=c%b zA0umYbH}`>lXKjEJW8nX4AgiQYE-tqviy|}H5N!UrqLR2d9cQfQjG?w#`Aw+jqh|f zkO7@yr=nM&=nmS2B7P{HvvHOC+ohc;b0f$gB4u{xC7(djF8*LDi=20hT7#1BMsva= zACGY%9rbi!30u7AYwsz+=LcvtyY(-hA0P%``wnO)tV~C~o}wd{O_Ah@O}>5mS?iB= zTHhE78pPDZqbF$cdUDyP1xE-XO*`H1JIZWUv1_E~ZS**E&3ei3twuV0W2Z%2!sj1?WCK8ki` zv$Lc3_Q=t`bCKF}#;}*COE;T1}PM?6^uQ93YT1ESb>|gk)2Rp{1mfKAM(R-Xy zN#miEFZqqte%u%+XF8PglOuG5=Fo1*Tc|IdA(o84(m}5=s!B}Jd&KXPB`9KDxRR;n z-g7_;Pae=BSILH&Fs4AjJs63ywmlLhmL&RI5k05)N?J}34&a>jMgD%A+li5*)Z89N zTo>Cr(bI~q4WcN3$f9hAXp;odk51G8)!Y-Ho62o6J%@_l)CePJMUY*u#n_FTx&2fd6yGU2fxpl4e5k^l&Y&e% z+?!|l+mn>7{Hh6K4Ita9B-u8KNo2+_i>Yjjme8BIIlRx}2ko}x?uj;(@s@f?TxOG= zadTDfv9`Fj^*V8%ss~8j!Lvx)M z^plzV>+%-B9l&d3y zMn{qhFh|~l`-SPU9X*-UdeRzIBzrB7JK$91=^2HMa{a;zdY)^4Tg+F|+JB{r31&_J z|2kFM$QP%l>{MCj)}h~$1m+oTomX2QW0u+Gm}fCBGW~!aPmCokJ<5zs0C3D_xW~Qd z@glJ7(XpGT9c3D|k;EN*hmFK;%nUo0c5`iq{p@7GRP9_x*C0yR-PDF5$ZphDEyles zY&+z0)1AecAxH3yjh+>>^(^ovp4;2ZU3Z8aa-4GseX`7hykZNF66_|>ulw8Z6yH@Y z%A;h?*CRCVTwIVD2GZP9(TYye+y{<)sRt){X4A4Jc<}zut}2@maR17aVxIPuz!V zVKX|2f`wB!lEr$4(BsAcD7F57{You%x{j-m9sCigU^guN`}!v8;oH2D9! zfKW_#o#Usj$9?i=xQkxgfBlj#wmbteOaH25n6;-SZsle>H8rZ%$R$|}%Y`{rRVmW$ zyaGn7>FNo_{wK92dv<%Uf&APJ=IBz;jV8jJbbll{xdG&MNLx#EWSjIm7k>M}^B8!( z6s}uV>&USQpiAEuNyfmn36egL%JexKCq7B{-j3I%n3Z%tHsfZDEXjJCGdg83k0mv& zmG;|`E|$_&_lxPiy$bC4dE9A!r8EX|+!p3wp{CPrTPfSaQAArP&HXsdQ{9izJQ?KL z5;j-B@$#`#X{#>OCJ5XVZ+Lxmp_^Ofe8ZN(^oY96IUVZ(4pZZ-Z2uz&iJb2IJpw&` zCB35s5cRtNa~g$ZG?k^l;wRI(ovukVXI;58zv;pr^QW*_oM-ts zOC0k9uMK^dSL;jI1plt9+X~>aZ}l?r?V-TqvuI0=RB=fom8)QiAI} zS6P=9LOR?4dOSWo=1QRXA(xTnuez{>8oXG>2aiC3TL*Jn=MGCkhhx*6IJVJHY z`(j~C=C}NLOAL)CqdIDoV!rFkH?ikEFBg)So^>j_Sx#&b^eiyW35u9c$0fCK$6zTM zph?%hU-#519T_)XM`n+TB;D8R$S_C*?w!ikk#nh$>$o+6{BV0cM z>5_jedALlJnVy>P3*YYzamBU17I%d1v2F%EEXX0oX~y`>s@-yfnt7N(ZLBmi7_BYR zJFdOX&_~APmmpIZCuEjJLoEw;53o<|(o6D_m zVBC%p_9I~deP)MeMu5lWM6IiY4WSm>CG3CTz8>h(Er|CO(EBB9s|UvmMkSxenH~7u z87J;qSEPqDrrkUad5^~0);;SCP5A6>=Ok$zgz>Jm;hiJW9WS?zf5P@+VFvbG-ngtJ zv--$t6OI*K;U?DOegS&Tzs{WK>ob%XWQNFCp*=&l?nv(cm!q9_Q{9#DPbR_Gr~C@sd_uFs=7zAT3pS3cWERYZ;$vH z$dy0?>AzA(e$3R78}~+%^%fl|nyn+_f!F;yM@PKcSi-K;5%vk-aTz-D*~myT3$C;B zbYvj#yA%21INLCBBk;3we%9n$(|WeZLU4^byrGfLOZ-=@wqaqYk{Pj+fGYK+rJOfQ zr??kU%L3B!p@p>iJrM_-da+YqAIGGzdnP@@+rA=_JVts zNdFF$$8ave7E9&7YgX1MVP1#_Jzp(|Ye%MwlQRR+sxJ&?yS=i#^1WyqJD2mo{3y<& zTODYTs&2E5&80m)iP{~MuxqH@K?%FcfiZ%o%CB;v4qU;4K6BiU=LP6&Sm?m>4!MB$ z_nt{~+$VVPomFn^(G_m25&gUi+)77ny@>z)+`3~%z`Pyjw3|uL26MS%FaqLft@k;0 zG^5Nu_JmPiY4;P<0HK@PA=wYaGaR>ykFfQS{P5h*J$Q`7L}HoJ=uW%YGfYWG_>-P+ zsWp2z&~B-*c|_ap=_k@`!d`mbY9-_N>*BI!LcWlEd};42-#ZBFQ+o9yM1- z7A?~e4rIb`$n7xp`mFKkd_#5yGY%8rT7IndnM~Rn$5xq?FtZP}ma_TICo|ETP#V=p zXF9(FEb&yys5<#5*--!UYboDSMJsG+j3T;}w#E)mN%mbexH=Lj*Cz$Omc~yV6|nOu z`$I0&?}k{HXM;}Tk20qCMjz{v?4TOF)+Pn)48$n&)mD4CcTskbJ(upt0B=je`^nW` z@~PE$M*U0P1Std3`07&D>j;g}9*JYZ;hkA<%~DCQgnh{qUWs@7HQmk~;B$@LTV#Z^ z?6CCO*R!g-skc>I*J~g8SDPdc-Wjqp)cU!45WZI((IS)gY50ksTHUKE=SrbJyrGx^ z??>15s6;PqvXR8*AC}zlJHMFzYXT zOLZKByt{-Q>vEb#Qpj4}li+_euLey9IrKB!0Upn}tl=sEb{v_1&^NmA>*>>S9!K*R z>`M1w+Qup#`PVmYoFgM#;Z;AVwdZ>83#&r;D!HMzwOeKHeSWs?En0=53H_tKn1`OL zf-6J!tzmocxJS2~M_%T3;>dS6WmQ8Z>C6wt+48?;hGMHMYDVu%lN8oA9qu`$fovGx zpCrNfnE`n>$d}$9MHsk05K=El6Q7SHbtS&>b*cQdT5)_)dSV7yh-JguT)uOF+ujJ(35!q{*1<|XOft0mn^a` zc`b~gz*^<*FZuBDzqs9W9$ezY9(c@&ykVge+sRDZX&&gqTewztK-D0L+pl7OzCKuL zoBQMj@`2hw-bsoiy&$LFdM7?L0oRsMLP(-^J-9QAc0IViWy$nEmUDYserIW5gR6v6 z)oM0O5T$|8F4Dkvu4R&)@@kd{sO_v~-QFUa^Io4cFo%2GBT57BxeDpCE8YT{|LGNH ze~(L?{gqC{nsp$iw;TvVfhU*IN8REoLH5l(VW8(1sw^|9q`V|u(P;)SxE`cDYc>0> z7wuCthXYWLUMxnOE@9Wv^9!rlL*9urf7OdR&!e_nrWe#;c9$_3w1&cq8MOS8F6FzN zW2Evo-?980S1K*H#G69%mELT?$yK784fI?(d`eizMowy)7rIifwOq43+v4uF4dVNt;4Ni zKfUH#zfO}G$VH%)(8qP;%h4bUBu0`$Ab;jhhwE87^7~AXH6PQFNO*P+JR1nlOpv^2 zC!D4u-zR|F3fF&te7Ya*&4hbTz`bXd>PREpn<}k$Dw!!65$0kOu6h!B4wcx;(q&=bmQfRP;i8_3Pm&C1r)6_fI2 zn&sw*JQ9Qc4QkV0Y#e8>pc7;16!Sr^+ zL3^O0m!TVlCoC)!{sMy`g$9QOhl+o}M6NFyr-F2g%d1z2K4<=it**R-t!{pL$36SG zTpx#MtGk-5ao@=%3*>W$Xsf%L-Ai}jSF=`Xi?Et~w!@zN98Tp*pfl)H&`(yg`$2bI z%~lFnM+j)UEcb@fr}?d7L$9{k0J-A{0bw|`P)8i8IudeMB-siwcllJ^KgOxsWIr;`Fi;amwg`(<^N@2K!v`WQY(? z%mtvM0!}GIBkA7q$tnLFrw6*=G`0<=vv=HkFJUWqA5I^-M4TF2B2Fh<9dSyKaI#RG zKJ_9_A9=Bk6pGW&j&__<+i?2W8BeAGo$WH~$fOhT}O-DT0=!qw% z7wE{Edv(P6|1tJ1@J&?NN`4)99&k=0t?9^9F}}!h_!Wl@(8UAe1Dwk>o0{A2Sw zr9Ii2BfH=4qQh6h6z%sg9sWh4!!L;cjSk-w#(jb@;;Y3Df-9q%Bd0~u`?ToOzG94{ z3fmBl9sO%LGg4@AI!=qxDW^qs2Kph@WKI{^M2sWn~J_PcY3i@r-!2L~)Z}F_O-=qF?KAbd%8RQ8#6BjC~n5 zjAqfn)a5{rV%Zd9&TkSLJ({NdMw#uDVcO@ZMvu_dd(=dV4ZM1z2XoV%0lZV7QI-qCVzuzP|=r= z9y28%Zk7;NygaWYzNlo5gsCJkbB?Khk=C>(UpKp75$nn!Yx3vJW?g#up4pdX51q47 z%r5?APH(9B*Iw50-n`%D>E_Ry|L*+X<_}#kZ^63@ep>)syZE@cu^9c5<@N^U9*%eA z&fxM9Y2+)W*mxS+BC;^@KU%`r zqa{+QJlqbxn>vyxwZpM;hBE2VEixUJBTt2Lh@49-Bi%kXHAfg-m6&Y^3T@3e#?d37 zoj|K9F?Lr{nJks)_D&?Af%&wcg=JV04z=%zRh)WQ9E$N2g3K5fNRIZ3=)#!E;{iH- z*Gz8J%lr)w0o^AA-Ds-N9fcYpee0qNe*-u_0(p4-;=IM!QwkdanzRXeO7evV$0n|b zs|BpilE&)R9{*%ZeK@?R0D3OZG%VbcL&H5uTyb)FNotYS5VE|`P5}MN&ALXCmxM3e zxNq&axXr-mHj1?d6~Ocw^v@fH<6?C&>#8Sf_@j`wQGQ%(gy$a@hrIM3hV)Z7j>2&q zjuUWv3x^GkRyfYWaiMslXovLIV)Wa!Hr5%uPvZ>!%s7LZ_d-7HdeMGB&+3D!qT^zl zDePqvAm}t;+gyeBod(2{(U4y}M06o9xh+8NS$Z1Yh@luE;5@D=>SfJm#Jz^R&Z;?I zLW% z*D)ArZcSh@bARkz@XoON#r~$3jIIj++nQ@(*iM3$ARaN@(2;C7ls7^=D3`m+|Fwr7 z*r>35&W!O&VTXtw=$_>t_uxo>mVeBHKGUU`4oR;Fzes*spB>s|r-M;dYh9!Lp|Zq7 zj7zVwiE$;_G={z`yc1+;{3rbimygj)9*Elcj-aOLA2+JlM7yT2>)Ef;vmCaMJ-YkZ z55XBtAE{JlvZ0jS!T2U-h}@3;w3SYV#Tt?3?3-yM4i2$XiaV0qAHG-x5FH7ssKTWu zFAH;m==*Ar6ceeqDW*^XJSJ3nLog(fAZ0!)#%0{yG{Kr}l{*=Nz% z?IK$*moi&>(*zo4=@7mNW)>k;3dvktCQvB@(WRP>i*}%BzXJ4EwHw8&aNVX=rEV0j z88(U?28`^86bW=@IDBxBjN>8;hZ>G(I5cp?rEC}N+Qh<*Vtfjdx;mdV%eVe#!~>xB zDNzk)p!~>fc;CB7vu{m)za+H(N6&pK!R*$e%qZFaUoZfTBO$AZ*ltf?m3;rJn#PJF zf9psiSKdw|?0J@1z>#VN0D4MEc&9$z(ylCs3LD4o7 zXSfv9=yObRJAUCi z{>MVWVdWQ{;y zb)zod0Qscm#m&X#3zX5bhxwg`Y>9Y_sxxOX^ayVTm63Ej3bFE%P@B3(igIG|D`Nblq|#MKx7JnDy1-0T32TeqAZq;(I%^3;ztJ3DSC&;RaKOlPfQ%x9Z@mq!hk~MLEMp_ zb3L|C$cKD3XxVzPk2Gt&n*TrVHZeY#|=+t5EBvpJxysGTK8vR91iK*$i=61E?Fwm%@$q`hGwBx^ZmWq z_H=0LY=ARe^27Dn=$^J0vxR4Z!@_xqw~8tbf(*(aKD`ylp+AXLRpY1#|9uh6g=c?w zS^>XS^SuLj*XGe-{KGPBIR4=`{FETRDfsnJ-*Wf6$eC0}{>!XnMt9%M4f#p{p8q(s z#Sd50NIz(Y*Wqx?38lYoOd_GV3XFEAwRZUZEjcdgM)Dr7Eku{l~U?~w&$Pn zBZjn!Ia1`&AH-vv4r+1ClmmC`g11`hUu_}l+f$A-G8e}2uGz`t2|eKWz$B6l?e+f- z_w+m9Ufd10-~Hd<{vr^9yTcuV`-&UkmPv3|hT(oef?F1bduR{1mxkd^0J!(V82z~< znd}*!Ope4Sk$1y(312s|=C_J!!ckfkbYe|3-9^a=;vBKAu4wRq@N=^)4d|g7qloS( zoYpyVY0v#3vxUgOR%w-gHNVTffet#DE78hv{&92$q)!L%?yo)rK%FF_Kik!Ox<7-m zKu1^e9|rKg79^}s4SI^SFr7PJhL)0A2DK6I!ebw)Fe3HMzd>$Gz`Ic8GBC%*$_)1A zXB96CoLA*C!N1?Zzpn*$ii->?R|T_CJPiN;2+!6B*qgsrs9eu6tNG{P`pPnuYm>}u zjIn($ZX%&IkXEr3q?}gf7QaP#Z@{)=H*$0+GZEbx;67W#xrPMu8IXuhil+LvjFGlv z>wt#Xf4Mva{f_{drYS-b3V zC)S+{+d{13Q~xLoucgiUJ&pVdbZ8*p=UBkY@)SZYE)jyi`GUdk6@)b0=L#12gTZl6 zClmjWWHO+C5}9I3CgZyKcWB(nK_kMm%7S1s07PwONV zJ6#=qCA4;qd`p{Jt#BQce>+BQ#?@(DnU1Sg?z)$%EH{OFJO+AG7#-9$bw&SE*iB`i zKT$>(6vp=O(Y1=N30eKW{?4T|k_Kb=>8Fy(M^A^wElYFCE|qO=L(e2sZ)(UcmD z<5>;;(MLM>HNOt$IO*Ka{1Jz-F=gwBZh%?0_&h5+lU_#BCxWE;lF%8<<7O`+=|-E` zm}A@6Ex{mH9ddA5=lkJx_ddID-F>$3mACIMlpFpOjN4VoKN4I=v6PlzjH^g7uF<21^GT8nI_e0%gRkFeQuX-TVCr9COmss=gM7G*sqlIlxK z*vv}{Fd}9p8L;mRuk~sy!;|7c4;W~Um*_x(L;(_|^RR{ibwee8yuB?`_vMOv?~?%~ zkO56l3N}x+L<<(W2h_S20tH-BJJD1&U{?qSJAIoRU3Gz)7`kfG6R#GOeY6m9tCtz) zjCj1WmsRiR9~gJ7t~iJ)mI%F6+0DB*Omzz+M~&aLo8E4P?tvMWZIK$$xXk!NxR{E`bU>tm=1W#AJ)) z)66KXD&3M4wE*Yavl)=q8a<&^r3Cx>@&xO)^6$$(HKw!-lHQZ24-3bo?)lz3v*qyK zHjkE~WmhGy3n10_*r&1UxbaP)_)i%DL)NE8zC~$g(%mhgXG;Q|jxH&5760BE_r9?AbG?p#{7^mb`v zxF_U)w37duA6L!LS{HXdRAu2`kQyNUM%srrLih*t zSAaK2GkEX6l14C|!=$3F`I4jJS)ltD3^G$_ULqtH*hx0%U7$lTNoBZq?tjma2ZX-9 z&H(})Jxh}0uGp5sl?>V)o`G($8N$+*#V8;C6xU=N{%mJk{7#lJ=qgLwO z<5KVLbo~xGf=`MXNiw>kMiS|tbMTK-`lquyo@A#1|M}KKbYbn%&~5wSI!o3FtPgeZ z@lr$z(){;oT&p`vg2Mdp8r^L8XQykwC$vU)HoX54+jCG+3JtYrVrHHxuMAt$PO#!l^N(%Q!*(CT)&HUS*kCAtM&Fqjr+TlXvu<=8VHbFA{9G&4f@&96-g z@Y4XgHNuBpgifzP*jRwzXc)FnCD@({!^VbT!}<86FixEqe@(a$VoG$TV2Q9xFU@!9xBSwt*(vkaa0Sn`oe?f z4W6_xeVXsZG6meXPOd;{%)!unv_?Iv;BFiG{tgIt`Qks)J@*hjuX?b#z7!)|w+S7d z6V`JgOMVcECLlC8+G}dwSI)6@F#)+BBOxbY#rYL5ea^QU6 z4gM$brsIKbdUo`3ZdisL{6iYK`A9N(>QBkUeh%c>$Rue^2PLB0=dg}|-hiHRpLJ`k z2FXiwP?#0ejJfW>*?w%zq6fFORWbk9?OR|B@c3y?c?8A>4aFvmGNY&W7*|}>#DWyt z{hWdOhZtS0wzdf$c~lnluF>49Mn!mTPGw;;K}xh2)0woDR|GSk&9vf-eZ>1gK^r8x z%%$u-=N&4GvaZe;YwIXexUyB~%lb28CRItEOVAgTk*<_{K}A|3>LL!-8AsZ5-5f9^6)+f}!DEh!NKpx=gieTyfeF47WLh`)TsBgua~RLJ6+4gG2wZ&RXlq+WJ!&CkWZXVBPY(M5oUTadF|0; z^8BMA8F}T@L*co$Dw=7I;?(p!U@78O4#;BhOaN%edRqNSx#a6?QW#Tn{0qY{!)OQG zQhk7!3i=M3P=u4+73>f1gt^eoWov!Xgz zwOzeEV!HzRFfmGDdBZrX$9l;47w%jS@s{Fx$fP^gL&hy+>?+qlrss;tDt<>>jy1D; zMdYqKRz&WRRz$AwZ+q0ATml(qFnsqR>K85ri9Y@Z9amHkYg0r2Dz}-9h&zcUHQ)|l zoP7pW?rY^8e%3D6O`?}fZNgeNGgOoHmP2h()u{j<^tP04d>Ab4jYdnJ%-iNWN(A0N zFx)CHy5Y@TGZQvzzUHs_LsG>WH_8jq;dzZ`1KE@n&bc$YqnNJZ)!qIBHh!N*iXKiT z*I>+L!F9GeiR^|kco@c>t2mi70WR#H9+D-Fmg^Sd%Cg$35}pWLDmP?anx{E}vI5Rc zsf7RgY?Bf5v9?J1u*eR&CdEfaI}u?T8G?H#tLZeSA?gaBI6H<-Gu# z2lXz>d&AiGRFs#!@qPU18F>YY7NiuDVTA7x)lE#+Wk)fL@@Kj0LPbCT%}KJfdA;HN z_uoex?Ul5-k);Np^)CqpFbc9G6$i7M6s|03Z)}_JZ}<9wEE}$^kDyFyP&gD+HYj#8 zX3P=eijHC|yN$hZk9$N8Erk642l?3+^aePYUKj2O7yuW0W6VJZ(G5#NJMv+s^0G$@ zG&Y4xBg6QEYGJTj54i%MA6|DLJsb^hCIpVdbwGF$`XnOM=F*r-q+^Q|(ri(Gn!s&s zjIG%&W@{NUNqeNFy=<59p_Yh)+4MPKoOc{m;Hs+dH#gev7T9!Lo-;zOGwmxUBks46 zyC&EGe$c&;k_Cm;!D1A3m*&P5pj12h>q_OWLY3yT=#$ryTb8=^_JT_fzdsrMoa)Dl@1I){U z*vry-dq$!+tN3d{J&d0h0w35z<7<($?{!*g&spUXf%+DN^PdUAx5DG=J|B9x zU&a4ZDq~gvrOZwP%A$7zEYZzm*mRLy^h8mNYf=Py_L>RMDa^5T8cRqDU3#ij+-rcE zGqEF-=0(tV#JRbuvD{U@33T_3RZ7bf%9t~;7A^4fp_7t1$1qVml@8CdCBotkdf`CL4|`RX9Cs7^%Ol#Uic!=s@rXlFivR>=+CbP z$4hat(86pb|MzQ%TT1gP$9-XZiawo2Ui&VM9GQ|#_5n@W3h4)s7M@BXE3Savm+lJ6 zPU}eJG^A72;xz-v&(@HyhIlI@%{*$3pd{W3l;fYAB3&a{`^uFOu~9L=F&4#7j3^BV zQ~n+lergT~Gd>Ln8J|{63`yjU=FmLRys7h~owT1cj^}XC0q(09XZC|Oge@Fpjy8u{ z$ybaVNe@y*7I39Ejj6UXBB`nsvkm8))OBaY2}EVVl{U6}r7hN;1O0WzA7zQ&1^;Vb zHOACb0cK!3M*-)EGP7gOIbtMArH_1=hUBu|o?ez17~#WhIYpuUsff?_7ivD3)~Q>1 zJ3jyD85hRq@&LRQ#^*DhF%mw{31FU1AFk|yPU77L?UiTkjt|mgkoNzN4Qzv!J>N7` z@=hyD>w94seCyWAQC({2TYJO1{#Wt$NaddJVGmq0U{CJ|6vNpZm;~qQz&Oc9bRhKk z(W_WCN&m*yD!x|Cx;8~US&&YTb+5a0`7sU2UK2elyM2s%F5S}qKcAdTHUn<-nwm^z z!u5|+Lh{S}sS6|z`-;W5gTJ3s7R%D{HFdPVZFbmWyA+jM_jF;O9`h7A*Do6xU5Sw6 zd0gVPdV9als%0_e9H*sfUAZ+J$sXyB8Qy*Pj(4vc-}an z^z~x_GU`X00wj%h{m9S9`YP-uX~s0dY!llIk!GA5`_DO3T-AQNJe#(PSyj>Ips?Q8 z_0Kwr^OHMV)4aE4C!;M9`($RdG<&3WeJf|p5w3bUV5dcC?)9}xXb27uYwc-a%hLAw zx}x{z-JYse89{;#Y3U-xviex&6j@LZW$DYgH%V?%Av?ojWFsGCj|)FreBwD$k@ovyM< zJxXb&GxRRbf|Ewsj+3IM>Q))K0c`y~;;pt{WY;Y|ub6Y@fg;w$s&R#a=z5uB8tz;- ziElV5&XOX`jVa1GuqL01d+$?7YaR0zC|vOo3c)0zEW`+&fNpVLr%XMr-%4=G-2nk`xC30eBU3#pRdYFryf3+Iy}3x~Q2HJM#vqNEk9;`P1+ ziTVuj;qybDN%ZaVpfJ#jSXBt+pYveZpZjiMP?0Cf@<6w|@!pj#o$)#QEgU*BF`1ky zN+w_b91MO?bv>9%lgYC{3;r@0X@M{eMhA_hbu_8SOhb`;+3|YNmdt+El_f`Oki!@= zGGfo1OLLBkS=BQ{wu}};qRb?Nwy0GJ=|05&D7O-%yqP%G$SR%-q6OST6lf`Ef_vs& znx~up38%A;gFew@yeRzLuMNwqhXW%d*$8b$FBH$!?r^Pi?;nHw5XPtLs0^czHUvXf zJ%@`=i=S2;0j`MtaDu{p9>W+x^7fN~mS(ww%HyT@&#yPeLaqG5IxqC}0n~1l4a7{v zA@_x66(3@NBWZynjRZOOP2(t=p0kO?8RI_+X-fop`yu$kWT@8(w+(tsMGr%d4rrN7 zXGqZrW(K1y>bhg_&oSuBI@5R)u5-z)3bV3y99PNfyebO=+OcNLzW~071K5tJU$YG| z;EHTjRD3kB6eNo zNBIg`gXE z@rP-hdzPYJZxZ?h^TVUzZ4Zuu(QYOMBnXtQn3s%kw$WS-$PLSyE{bvXQ{seb*0QYN z4XU(V5Xn(C^Vr@!aPhVvdz zrZlsofl=Dp1{~c499>NdGU?^;JV*-YV4-=CuDu}@C(_9Ee}dkS2RbK=;eEzr@=QT8 zc@VA_cF&D{-l(ie;8Z~QNvg^`uL$SzVHBI^7Adx_$&aduu8FCMFeBFQHZHI&;}msf zV@ZpF!+q8vTT2Dq-WExwPktidyk>e{UBSbr#38IVvJ-kR-!B~Y5Iu#_5xGyBFMkea zysAoj8yvz)(39@9MOu_l-q@DHZVg=rEgR#Sp`O&_J{WBgGo#Is zE++CX4$WAzBia&G7quUyWR(k}jHl9#f(rD?B!T!^H6A5R-U>QUul-_X)ZP@T0sU)}A3a+v_gfvg-E&8(l#N7VR5P-#(#XZ!WYP?D zxBoY3{?sr=eqx?4CEGD7EUl^7~onjS@ zf|2@j*>l1qA9^2J#sAH3lra4lF;_}|6kElOhV1uc?HlCN#p8*f|B2a<@0u6OniIr- z<>`r`y^B$?{SfmTy?Fko2mRB=*s*11dZMIsI*c49MQ%rbcCwU9^MXQU@KX8gGA2Ex z1xp%Qh|%;m8cvD!3f*M1S_$b&r^O*v8~F}Tm#iUAA*ph@rA3Zz;6p#m;S$6EZq~fWm&;T|B)?OEUCXtBNdJ`@@E)#Up)YFvm%+i%O{c# z^OMPrFLmVp{E+Nyo%)k_;=@o6v@}jLvor>DdY|A3^ziGlLzZ4epQ7WT7yeop>T1aC2erZd-+Osd7mY zGzl|(8zo6_CEpg*!n>;j4$0aw4KVbk7;mi=)rP31>GpMW{Bx=gkOCYoRk?bT5%hOq zSx{>|E3#w+=Mx?XDgc9g!uUXr72o#@b?`PBmE)|fBK9|%G9@bzqAM-z-K`_(L9WXI z%5M_-hvz^0*fAgShmza!$|74S_DWJ!Tr5Vc0e6dLM54NDKa6m|q)*_<;f4AE3t0Up77!@Nwa$4tv9(V<*6dnLFEg5#t#H;BD5(}QpS+uthc>si;3 zs2>WZQ?)HJjEiaX2jIH36K^>5(3+mW6bI1dh>smar~aV#fpk-uslkLRz4t=hE{Yu2 zz||U6r!>|K>f{gk$~ZBz%p{k5m$~?6kiwk&av!cxV#ynX^}w-{gf*UWhr%)~EG4es zw_STkqERm$OCx=NHa&2EGGW+c((h&>SpdA|qx+JH7Sb`0UILyI1E~*EAB>N!6Ozev zSu!cRkw{|Unez}`guAQm+*7oXk9YUnQ`EJ$D*Fo^`5tH??z22h0k|uA-Ya_X2 zgwTS|69Lahl&y2U@7>E~TiZEYSJaPhH@O|#T}3{5_w4ct{)ektzfMpUeXW_9 z_o3_Ys|w_LQaLQpa;g00liz;(Z410LiDNQZ={*_M9I9(lbyP=+9Sfq~y4HVN=8)uHjkT@*UVpw5n;rMs9jU1dDe z@ynpb4$~Ua@wQYBlo5%(aO-yAujv8MN%9nQGwn~AgE%)`$$#vz79^ZLBSu&4=QM@K zfg_*S{G&aBU_JQubu_;q0=?ZsOS~PN&rQvL$tXXq&${7YhTyJ5l!VQmu(q)wR7aFo z6`YaVz+Q$INgl|4!rXHNB!v6u7%Q<4nWEQn zdD~sXyadLaet1ToKrLWR14+7|n50ge4K_S@Jmw}B4%A{^g|qhT=D<}qw(1`uvHzb*YgHlS@ZFS8 zR6Xi2Ix|x~fBt+W@+2~BOxQDKBehDiadFaY+}-9%zMtn^u2qb#f3zUZmi`>HVq;%x z88N44PVJ0^JUNz{9Tf5=}P`nUoPAYclVa=4*4)I^_sX0ik>(J zap=3GlK^Hk7JXth61nx%io zoh@O&V*!wLt6!p%3e+t)zf=*#f6eZ2??cPar&9}}ZDZ(r&=XxfpdZ`S2Tq5o=-YOs zl2<>Kr`HX0nyB2X{N2m#HhvFd+Y4hG+CEx16ibOz71Gb+mL7$7OK9!F>%dx*9+Oh$Epr(Km9LgXmQ$1|Yp3=w_<4 znv!Zdz#+~jQCgt1Wk@6aSWrJ!Vd5Q#(<9tnyA3K1^#Vxn`{&#l=uM(z8JAa5#_5{U zla%%ZF4fwXCX{Y9%1()n1S+>b&XKg6EeS~^WsfPvRAPz)7`q_s4G@0mZ2(;cVXTl= zjg@qBqwHWb#h5}CS_9v17l{tF>Kh!c=N{rPHZNnAA3(fAeLBX5n(Loh`qZKqirs?W zgH|sjeQJw-Oov19Ca%vE6x?T1?b6Z@U2#_m>3X`bv`_7Bp$&3=)6TL_m8O?ImM`~4 z-Pmp1)ck8gpV~smv9b9t0|!HSXCT*8P{Yiobh?`x&7mz@CUrX!xJan0*D;tXEF)-x zQDsrq%3VRAfr=d}^D6!$kQuhSo_CL-%?{LJ+xYW7Y|9N|XeFwFLqDu?GrK(~JQCdN zz}mmusAy2qcp6J(<~Yb(4s|C(mzh2?WhP~sz6S~b7*}sA=xeJLHHN+@4^J!Q1t?GrX=~h^-FZzR~o9M6*M*7i0tN z`%+ZPppfN9$zY>#MSFyN1FfPF=MB>HzeD+Ic3yjg0>050>C#7jA1*)hw(?VK|50*N zsASduD0$0&l>9@uWaW9X14kQ4MXSD!fDELcUxEfIQK#2OT@Fr!{#COuE@SB~pyR9f z(?Oy`oYp1jOh>ryC2FLyg}B$uKpCeWBRAc2{H;BLQP`MNvMrnTg?~N|Nctj3rP5yC zmyv3}*m$dKEcv}VORk<$5E(9cWS~JR`B70jflt5{$PCc3WjeAgD43d{<^{X?lcZyey2ieWvvNO)-1@pA zF@J_AFaAVY^9y;e>QBc3HtT~6N)+2;oA#6vC~Hs2#mkd)$1kgO7cWnSG*V|O8@4L6 zKA(Gi)9Ce-=w79*mwPdN;)`-0E?CwcB_I65#-bTg>}Oeef1v8?3N;^0zm2LtEffZx z4^#EC?s4=hJ}-dud%k%5a<7J%y(pUo1yk@6_b$hpmw}|Dl+G&iQnX2u&JpHk;2bHP zqs*)&<^WpeHdYy=mYnHty{3-B`7S+|x>nAeyhfs0uSG_kye5l!Na7C2r5Sd-^)56^-5;d(^v!kL|?h2Q)SOEWtw z`Q`2rTsyzUH%;P4tiLFsP3RL2(oWa;i{H^?wihdU;%sp$ARs!Q?#i6!AH zzS)nZ{t_&(_sz>_>4L`4-JZjxnUI{Q@-Q4qfMW){@wQ*JYX)7(XGl@GHW+Bx+B&|qvwMYi!M(5B<2Dp6Cdx0BSbg2}yR6{&ZgysXism!1@dG}anV zg3c7RZHs8AK6$NIl;+e7D@*@IKWmF6vByK_-C?fX4kNJL#M)8E$F=@gFZxD5BgWM$ z_n#Ew8&8UfjmVo6+YsjvlP239hJ0*b5=Aa>)~&Wg)+x*p7FCVX9NDDUrnJ9difBNK z;vtRbVIAko3^W4re&OEF{lR@|eAtE&D}#dDdj{HF$!WQ?F!r7aV{e9pz3-JA7ZdAW zvd*v?61rsIa3A*QyW>!XKI^pO{nDV&Sbpk@156G$E(CN#{f-3ICMh43$IDJ`N z0A&;;JojMvIj(*pqg6B-j`XxMeAM~7WM}xV-$(SYGu-B~g{@nhxwgv_x^)lKSrjcf zr6F2${PG0GRN5+bE|qh4h4xcZ8AX557oBs_qEt3Qn#%`?p)7tP?icM3n8kcxgMa2a z+eP-K?-@OvB_#Wgi@s-$i)1$5Y5gcm)w?t#DE!vk7w1QFr5Fos8fGw;Uyxuk(B*t$ zhl&oZ%%JV6qUL#Axu%{oB_1)RQGN5h@b8cgebW)p9b{)iyVo^Yzc`3=b>QzIdrHQH zwqCfe80(2o2p6*F?TWF1v|IKnxtUY>dLv6OUQTStp}pu<`sTHSSI-E4^(sG5QT-=+ zt#X@c#}-jrz2#cut0yl_n@VkVR{*eakfhCCC~k)B1&o`#<@hg;ujSWtHsBKCAR}a8n_)&n922y;b~J1AHmi zDxR%JtavMkUT0>7ea{=A+ZFM%^EI>rPRXVp zf;Kdoz7u}B&Vy|~+ZWr2T6%cx>9-N&^px3}dRH{`#meSe?S_5bv)#^fUG0YcWnOH2 zAwRQH0lIfIMeRDK)c_dvh~bGd2N0+C$B8B4xIWz zK3bM;6UTG%9Wt}5fidg2D+`$eb;gL6*&y%AE{-VMYLvH>mc7Gm1^Kjn_8gF|oidVs zqB(ue9j+-S|l?{ zYsKr~yiK+@^9z%_1bO#qp~hn>IW2tRdAG2>WOY7TiVt#{g6|ZfCGYC|LC(j6Gql@W zL9c?Alz#8*=bblu65I>YdbNfLfQ<0&Y}PeWzOzk5Hozfr^>fgY8L0|0YdMaUE z`{nP>`)wZjnL#fzT|Qjb37A#IhTWi#utL;5kfaL?Yb zRqRdOGN|Y1l2WMY!_X!VXT$$ll@8|xe-15mrUa*T)>dqDWq2|ELL1a3T2@lJr46Vo zo#T8Va9niOWJ6!2cvVpL1?K~P6O@D$EkxlyW6}!KK-OSy=2V;!5?HmI#k60wK=)h-N`+9hRnTpB?Rk4`3^!ttvC=i?M~TIXX>RS;ANk zjzk6U6jj)Fn67BZ)X=WH7xLvbSzMJwDU#@grew*|dnG?0z@!YEjI()Fu0Ok3%Fz}4 z&LHM`tc^TC(&a6*jTlK{kEn9} z-7OE>WiRJDuXOnxs(*C(y)JXFd@ngfI&dEVdleR*; zbb(zDb(!qDYhSMTaZIQtY`7*2mD}_*F5^)r@6EED2I-?HQQh2#vyC>*O;1Ixi*&c8 zx~65k!D-Q1onn8u{!XHt&jT_CKFx4))D^ z<=JQoce)Yf=!YsOc)SXiiIh?&zgC<(W-n-fDKw{aH2uZ-gC97XH0OwtcgRmgJ;0`_KyHjP1gE_xvK|rHS$*xdo_+28RC@NVv9FCQ9YYq zS?5Yzb(VLI#8vU>@1RTnByQZQFiT#UiM(>U^{FY(=L0?99X{M&tJzCzEFWzs{;1`NsyZdw}37XSxi&PgF=b7Ra{gpe-pS;)VYEf+c{A~ z&>Hw>=Xnp&PonY7%+MA5mEb!1hoczk@vs+KaVT^5!n3!^Kz|jFR0EF-mk=kFAO{)b zRtaBsmyqF=Tf9x7w?lGIGQ4kt_gim+;1_3W;MV*5y5H~ZW$sQo+w=V((Cx$U{-?Kn zpLIUvzV-g*?)P1uN3Fm)2uYE1WXFYt_tHFCKamV!?Xn>bW+`Hq)Q_vDt<47=jFyGYz-9BsKXj%mQiWFUMAM2EJd9 z2%s!h3-aeUpcpdeBtMpg(TZ=C#oDJi88riEnHu|`uT`@*DCD^1wL#$@?kK>Sd~Xg7 zTLNDNx%6xzS=gRNX24OKCgDu33h+cj2hx5tk)oaZqfWn=ZN>SoG^&%dE6@p#pf%p@ z&%XLBw6E=AbI8`Ljg8X2&4XuPG-T7e0cTc%u5d;?YC0o+n-df&;cf(s z(=vB^`Jg5;7DmJ{kUxesEQY%*xRbm*B4wQ8j<#N1lw}=e-M{G8KMCEo3yBwqF1}FN zZ5?C)+2r}9GTl>x+}~H4!&$-Ch;i25k{20GA>O|t;$E0RL6kO9!m`!f-8c1g|Hf;HKFfhR%UZseOYH0CYC-D^3Tr@13Q>Rn@aV%P zpa81RfC5*PzP)HAKi_Wvyx8Jb0tIdrkHfzw!vFrf=oja2Ui|k3>0jhKzl(Z_mYoyl zm%~WuQI1h6r&P*0Y%z?3?oxhs7Kr%Y6Wyg86GQ6;&WTlF8|<4iK9gn#H4&4j`ljre z`^0lM@ zeE@ge*q!ry7~N?FKh%f4Q7%D#$$wv1GF-;DUAteJrAE1M<=;YcX&W7BiisN z(bXc8@+q`v4z#G#%SyF%yD{J6;TE0Tqeb(r&!-?4ZFJRMLpgb^Ynabk)IOuj3hZE^ z7TWgrJK8qY`+m4>tpW6ruw1Q9&5u~*!I(Wj~!Z8Qiae^slMOBnwh{DUB!~ zy_Awnnsgx_3%OHXZA94{ElD=@kh`zBCt1gXy!M1p@4vTO?oLAww^LQ-7xE3#Y}Qyw z<__?qf|*>zcC}gEpfY#K38;HZGYK_+UAUhA)u*71TC?k-hrOA#Y)hM37MiWdmdSR? z&B}x9&75WI_FSq2IaMLHN}M|&j1A;c+-=VD13gMp=t(y4r2xox^N=q^OexTShH;JG zDk29pLYv83xY7)egUI-XPx@FwiJzo+0{| zG-CT#qU4Vu5{_tSAK_3QhdUoXvPN*YDy=*fTD27&j5(3U*k3U!PK8#e;XX-Wm+j9N z+4~qfo5XAYXh4_08_o^*#02%7=gH)VD^97R@)DBrV5)&G<5SxW^bzMqk?39)XBozu z)|eQ}C#K;&*0xi)75tyVtM97t>U&66I#G0}5%;IDbzc=JXzPqO3_5Nz%{2ecUkE5% z^~y%0Y8zwws`PO?8NR4o0plRQ;1Qb%T8N0%;t=gFXr<8Z+Vu;&cGsR0Sp)8`9UtCb zdvqbO4>k0*o)gs?#vb8fZrfqIjQ{;gj&*4F4qI(_hwV?+Jw8L+Ynkg$e7cv z%!!ib8*B)x!pzuDigAs@p6l;q>)WN!Bd*?z z!ZN);-#ncrKo4xZLiF+$e8QYo*_A)&xF~BPJ?V(pHjHN4m6mkt{8B7S(eeXT*;i_$ zYn##nU$5_LtuK|?f1tRVzWaOOcKWd3VXAK)4PST!z94IP49Zv96+g`3Ncz88p!6ix zo^^nV`==0l#EvX((I;BKk?HPTk}Vf{+au^1r)5`o9#v_Nr&v0CSGyd2s_HJ4U?ijn z%N|n}NV9Jk1_9(>LJBQLG5~8Pc+ZG`F)*25!r4)xa;c-p-5~R;)Hs(Db(kt#6>^1n zLJ>xET9ekK3|J5sGc%MlIln0^4+x_D&2jw)6vC@il@i`XcFxA^n=V zu;aVSIo7)nJD!fJeA750j2+B9%-w^|4eG{_ffph_c!=g)f5Ir&_1tHor%wv=K#o=J zTF&1Diujc9l3Q+3IAaBnpx)x3~Dx)S|pF|iUw zq;hjii-Fd-W(Ox(AC#zKKW|ZZj=#qB7HF}Prm4E;_^C95djprhE+@gvjfGVQI zgZt%YLBIb=L>ibzi5Y0(Ge8UFN}yZO!IW~`y?fY;J4+rRH+f5N1XY5(z8CbJL;mg1 zN*km-9xU!(CIR81r;4VPmX+cTL)?w6ZYHVFt2K&)JKL0`m`-t(%7zr1rYP$K*`7j^4?9Jr*Z0~LE z-JmgJY@A$r-uZ>Miz7+1yt=bud~siMoVlO*te9wca!`Xh$9bV@&%)#nqVS#3xfHdi z#OhXYNF#8sccRTJ_%U9zzC8={Gu4c?Gy0k>;%kOlu{S)^YqyA7AdNGOs2Kuf#>4eU z?NF)ow3=a%YT=1NJKRik={0A?EbR$+G7_$`;VRK^0^T?wX2D^AW29kJ&0Po7t_d>L zH!lGNI4e%l-g_VeazCh5yB0B{;i?$kD>h`p)gy5Ah#?EEX28`9!x*@l1y{2SW8umK zS0=+fa5WdM<^mL)!9cTX#zBp~^_&$e4ddv20N-C0Tw(w@xy&48nGEA2+VXZOaHX5WmMIX|4Y=P;X=Ys) z_#5kQrnfsy{L0e1|1Yxo+VXf-rg6H0gXkSO|_chOk;-{DC}qUdjy z13XH5fAi;54%D_)ww3m;0oaSrG{wQU#|2a+{VfVpfoTKot|I8IC-hYte6^L}9xK3G z`0iQhyJrnEVD#>E|GWrSO*_1}$6-#eFSPUfq6WtB5>JdJuWnG-|MpV;yN&{B40r5E zBeTw@kx3^K$!QX=tl66WX39sHcJ?FA050B+0l;O3;8n=j>ecOW+> zcX0E6J7n8*z|EQe!Oa;9T3y`9%^BOi(AT#)w3~saMp=nY zZkE6Cp!H2?ok3Du^5r~wSF3TY^-t=yQ*%y?qd$q2Tc0X&=g$=7+7BE1a!Q(E)>Yzc zdEZZFPM#^sw79dI+<3Fm)*#lpDXVX?=u?@>e%)~NA70nFW9^D6$ z;;6!$>)+hw8~90Kj(3D)%e9QZ9zbZDy~8AE+XE$=zT_YC>ZH4018>9KG;fM@cQN2v zxSS`R!P4D#fsC@{yxW~9-Thm-yY3z+-C-oBCxw~*?{IyyOwL_jIIDD7S^dOYo+p>` zk6ara*1NLay(LdP-7lFOiccmV!f_}rndl%L2S*+pQ{b2pK90XKxX0eN(*KYvVkBLw zj)vrlvEE7665w)=15Gq_%N5JKME7J5x#EeiT(MHTC0CdhuH(lBRP;eD@T{sD*C-!K z7~`d=L~0pIR!Yh^cY7y+*5nud9BdW0NwjB2589(JC(~Z`54*J)xKC2r2Opd$&b?0t zqivf?vGaQ<3CBl53sN7CS6QO49EE2`L2lb%$_Bbu9i~6kK!3K8aey_vzg4W2s86k- zojU_^i`pFzh_g;}}7FSy({910h!MvZSHNIhC_ZnxBPuY0?w z&8eb8tRT4%zc4qz(z1mgEWDO53Z)&La=XGD`2k8hdXRS3c?(m~vJ0f0oTdD8S8*?L zLQwVpvGykLO;lUp@SQAex&VO!mQvcZX`u^Xpdf{!mM#OdY5|eeWzqmnxqNQ=E)}?IPDk!Kt5b&v}@1=k~MR`O(Ln$qZ!er7k$#>43X(_z-|9;>1{l4}$ znLBsx+;i@^_nv#sUCwC?2wlNp^c=fE=5obX;^qBCAysLl`g9s8{vwuC!QBFv?Y4Mo z&#gmnbn1uI=BU~J_Q!-Poq8U3>^AV4!#a-1YT!8F@V|I*Bznik=rRuxxFo-!GuGlB z8);U$`W|dsdz;d&tMl}9_s9#fzKy+oeCM?0O|%7E^1nb^0LHEWeS5=w${soAxqDXU zC9rmMIGbcQnG5q{ zL5@bh0FMbTbfU$b$AsrPA(dea`%%shFg9rpe<>a(Ox6!DZhZ;Qj|k4z8STXb#s3OrY{z@rl%lzVTKAMHnF%9hTa zaW@C&QVZ*0{1$hSuiJW52%E`narg7#-tm>fydY`(+QT>Fu6Rp($q=Wto=d!Ro1(H z1-;8bAP4PZ!n0jJh!?5mbr>!K z*R}B^9qz)GG}3t}mMrPvJ&QrY-rbbiOTw1sdE!_}!WPA8%@5I*x4Y}X9tnHAm+0pg zsd{+NTqb#fzj}ud7de!XD(ALndzNbAfj;^t+6dcr^p0dYE*)#6H1xCwO%C@+NcJ{VXw#EGm zwWzmJ7~;dH?lmJEi)>XBE`raet~jkGDb?c{yF?HJdi4kvMxA`Q!6gk_q<|xHd$^ zlb8C&lYVgDx(RsEXR&l$EBD^#d*-5B>M3?0wahG9 z{@&t2Pm6v}ZWp0+#QlrdA9Vf@c};BNKhuZ-Xfp@yEL?E|;>kaH+WME!)^|3IxJ8@X z1S1T#^=MFs_CAJq11-U(Se;x=8C8kns9d_kp_xVzj!x&||dK zXT*WJ6A;tCx=xISkP5V{X}UUb2!siQr$abKH*oKZVu9|A7^{n_4tMK78$^lh3}}`^ zcHRbg7ykqWE;ZW z^O#r&<-v$C46r!?p%V~)0#cn3rx_wYh=aHH7~ds-7_B=YiRY$APMwwM~BUFJsm`QaxaRjEI6y8 za&u5e5x#78CVNe|8c=h)%aLO}4XtvXatO!_wGe+HFojifs4oS&CbH8LR|pF(;p|Dk zBgoIQF6oywfE2a8*LV{OQdA$ut{y20otcCTlUqr4YD>E*M|-^x;en%lh?w*lvkh-!z# zXTqR=RQc4@o40g|bGaZ~?e^#W`o=Ue>w6dz4#pD4cWJ~9S9pJE57@dQl7uJmY-|?4 zt0~oLp;qk%HTGqzSHBhHIX%aYWmjntI^i-Qi>isDp6;`=2f7%BxOQ3w*!sU3n-^6R);z$5p6;h8sm-pM(;>sV(oCu{n7n?~1MB))w}tkx#vUFz zq_0)cxKjARmoq(d4_bm+DeM!`hviveZQ!oy=fo}xjuN}XJLU1>9Z}31!><&+0!ekH z@Vb~O$L|oEA@*|`YZb@Iv0KIE5Zg>+H;T8*vFpSiTUGkA!ps21uNKqf_$MJg1mg1p zf77S!WW+b`WD*f0XV*a6nGnqnQFVQ7SlgM0qpW>)MAd~kqFfrKvPC+Hjhb8dj>x*l z1&gR|JTAN%NUh7Fts@Lt$E6O5PP3h}=)KaJM)%V7I1a86ed0+R zTqz&Nl4!X1g)0QEKx91eL`rK&=S0UMxW=J{wR7UHv$OcW<-OOGY*o7fBTnruQ|7|2 zMY#@sYm~=0yLiOVI9_d3v5LLckIsor1C<{XT{{S)dM1p&3g0=gejv(-D}-x79M@BN zq{r&cbK=HvDePbKhOmrvvwL*lh6I_yZgzM0QG$fAHi*CNfpa1^5b2rWu!A(a8(_@_ zSlNHB93a8^4)V*BVg3CUSP#Ox*j}(i|IM%t$gqR}{(b_#!ReS!T@Z6l@3f0Q8CHJe zn~r7sR4!Xhr#M}Lw&50N$(>gUZ@@Zw3#_#=tRocGn!qL6O1^d;D_{B1AJef!kIN-8 zbzYDm%((@^HSeij5VqX{VWte>B?@6i;3S3cigVr4l^@w@89tNCFt+o18A9?c5RQ32 z>jiuIEOF*8TlvvvvYXa^YxOanV&9I4y1&pt_z|aZxxBEHA`e zb z<6ioGy{xG>!rMLYwlav`TTYAh5Pl?x^4@8&2Et2&sPUf`H$oV#ajhc1ExRa~f++bX zK{Cv37YL4q#hgcD4&sJMp{)&Y29fuM}qCj#L9`eW!u-!{uxPI?Sf$=c8Q_Z$J@w*rO z*sHvt!!fRTphf!ybx_h8bVp%adq0-^^NTd{ces{^O5@hddpG<~+AIUw6jItG`U`q! zv&W08d^c#r%Cz|)aDz5@%0HnTZOi=ZNBXcLQpYt*VNK_m%126uG;0lA99$J-s)U1dgPU4!Bl8 zf0(de%`$sH_68|-zUOr>T6263bdvd=dM{dty7~Q9pl$d2D*9f@lk~7(a{0pMW4wir zjWIev!@U6{1C`zKH&T^v}=J1B4Pvs~AF39N!eyD$f)CiLvR zI4AB~Lz1M~JRB!L)3llkQO|ffuOEvN@pM*~v6hW$R8~h>RW*NeX9rMf9&R-jhW1F! zN?B@FTOTZplBMS4nh+Szp7PEwT*^u@As{oG*=g(mtEMKb=2n@R)G#139~W-(@-Wh^ z4%{;x?N6mZc%g41ze0E>FpbWBtPt+^J;fgb*(P6pF7!QRJ|=t|%#ojSeR?+gp4E9? z{!_q?iP#wPSzCR-u#>Yyy*7nCCcGI;fLsl}h0x13<*4jHFL-kdMu2g04vD^3M4ch( z;265c)j(ySXy5Jf+bADN0J=5#@;)tjy5yc%d(6HzUA*?BvW@9)V3&Em>>R@)-v0{D zhuy($nR=YFws2DH}W!YWY-Qf{hu1f4aT zA!|X8wMtsh9hGV1(?toS;OR7S?Wr_!8Lqp42Tzu-EV#Jcv1B0J4=Cfw>#q+Z8VCn= z#gZ?T(puN|O`+B~HqeW#9~G)(PjP+N!s@018(W#D8LQyJ`5dl*U(1oiqnyH+W8B35 zlm9s8Lrqi*8D45`Fz$v?rp>G`-VW4yw|KpnWcZ_axT&<{gOXrOR#>t<%3*;1cdr?_o>&0<1=6Q|=P5j3DcITiSuvuruIsPbF`q3a!JMv_x>NKv=;p$w1 z;{h>p^#h`2a`^2bR@F~U?9)UeGFg$1P`5TL)zvR-8e8QK1}*G#7o&Xs(niw6WwYqd zYq{{b=nOSYWYS zgUZfDw8aFycs{dAB>D@cnT`g2_rbBeGR^brL(>y`Y-`PuzkVPvzq|gubK&cA&hxz9 zT$eMb1tFgO_5NNE=gQw?1&ZWvPI&KyZ@zTeVnWmV|BPQ8|Fxjk7b)yR@XbO`VnFIM zP0o3`+xRNCC8%cK-bT1^{@HB^*{^3uRF@4+{ z%ErHMU=xM~J%{~x?s$ce6~G>_t_xFogIpQz?ms0~89?qV`^}8ueKh(JhtpL#rnisO0{TSr8|CfK;TRcZ~7VHG8c$S!`J7sqh=*vIa%; z0Gdh5I^BTz;uXSKpT}8WQsw?C;NUZxlg*9jbLY-vqt{vG zJ`@~!Ja6B>BZA)gF?dOT=?{6~g(BRppB9%I!*CvGbHzZ&2>4ovN%2 z*(uRA`XJF~RAj73bSP^R8u0ZI9pbgk7p%o zhm2k=YO=zsB+F9$2wHkHuzg?zebcRBf}R5u!=Z9{e_0wmm6Sg#{CF78GxTL!ngQdW zl2@|^_8fm%c+aO~Q`rS2Oyhy6TsgA?%T{Z^+65|Fv%B>Rhg9lU;SKJSlxz$IJtu=p zU4Kyhv2XLjQsS_crk0`&QEL5^M{5HWP)AkbJcEjDXeN3Kgc8b`M#iXZ*Ce5zN z^ZE2dDoF@>>_O_Anab8tt>9on)&)rz# z{xJ|oJaDat>wCCRR$f&^l5wsO*E8`95!%C3u~|HE$A;}~IwD3})SLz0p1=DP-q-P64=^U8`Ka*In7pu!Cy%x(Bp#riyZ@z3UcX2yN4HiqA*g93#kdM>6U3#))m6qpjOYbT5G== zkYs~q7NySJKII;iZ2NgZq6Qhm<&U0@?fHrymjG|9x{gJvV z_a0v;aE)WaQo6cl3M4~Y&y>qta%F^Umu|+gG*YrlM<&BP7A`GZo1Ym*o`GvxIr{4! z#6H&)!j9AR1CGAdmkK;(rl`tds`5oGo_#T_5C#X*Sv+x5!fx{Df@)sLK6jARE#{KB zw>T9ymhJ!=%O$fz_zIB8m-#>9nT(IPcXCvRfrD9@SI0G@WwjN8+l!;d244!Rrl+OE z+z1|h&liG(naf2~Dp!2VALEE#Y0NdQGZvcrnqME95vFZv1Bo)d1SQHO1Mb^Vxs#Nm zTGZ|&Md%6KWit{a$|`q~FC>pM>WuFie-H;+Mw_*FybDrdZT>m?qvltd2ltW$H_#o& znd}@<6FWzY9JxX`AkG1q&c~U|+6K&;we^YA-poT(TA$sC*49<-$wcj*%p4Q)L_8HF%J!p7@)|@Iu2F-Y)W@v@ZK`iC zZE8@Xv<9)-y(1{CLCpJ~YY?-0)*wdIXrRrV?3_`kmD^lz{Ye9DZdxE(uK*q}&>97; zZb|?>O&=2~fd4KRehB8u^Z(0*eO+Tfdy4mF)0xEO!k(_>@O+#1PWk!mu8hj4gOjM{ zGl{lATh~PS-OF7T&`Tqk6wox6`ckPx^Pm?Yyd4}Pr&-^Hy!4!S0Q93V=9T7!F$dc8 z@k36guuPk#|5DE#U8!_NGn;<5F}Tt^){N_1Ojd2a(vEwgmkY&R8aJak=X^-t#~s4p zD#43l2(-?VV(*m$kb6bcm5vGLz3Rqeg0&M@1ZK$n;y*oW(-+IqNZH&3(p8>D-i7e1 zaJ}!1BLN|f*x>$mxWBz^7}=CDjLd=SKd;es>Z$kMOOhn-_PCN%Sg82`?T$n$`a&H} z1m1C@7C#P1wV3-qYw@mIYVoQ!>;G7bi~Z61s2ar{9n|9r;bG9`GogGhda>sI42+(R zcGdB8&vL=;Tgysz3BLs0at2TXbXJHz7f7a-jh73DeSevw4(e%5CeoVx*q0!`Yxa#P zSuUIoyeuYVUkJVD@V=5o+PvnW^4qt3A?_q*g|HOp%_R15hceTk2120*`cp4n$3QPd zil6bO)}`~=GR22qrfV)6VoQO}4@ac`t^iy|Jail` z8pPJJD)z&ogH0b6hHOLWgMfyX!KbnltnU||6*bK_?7d7=EXv5?)^XSuPb23fp)cze zciUwl`i272Vw46xohQlY_0#*lKQ*zpmH7ppH-fLyJr>J_(LOwRHBy7;u7VzQ5YJsL z7yb%n!!K$j3q8&BWX)io61@npzwib&5k^Cj7-r+j!>Ub-Z%F51wPDsCPnYHMVI=U12L%ZtV%gdsH-2`J9S}$HMba_#m z{i|8e!*`SQd9RuO*1X$%*=)@TZJ}N|O3^btV^Fpz9SdT28RIMR57M-ex;(}_#l8P;4kMHLC)izsxfBRhp*n=zcf}W9GN_JXv*7Ux6=&72-xt@Q6j5pWg>f*{< zLGwdiyb!d%(WPvDgqI=EQRX+p|0cxfVxiuLpxO z;L7XKJ5_AXv>1L>9%`QiT7Du&pyd~HcNGx#BDJJ}zQZZf;#fRKI}x?{Z=Uzz*MXN?ZkCp17%Y`+8O!)nV>Y;awHPB*W-jxg*Dkp2GT=8;YOP9x~D|yNN zL{J4<9j^cN)=J5xvGU%ST}yz6*iuOf@Q_)5#Ssh8OVR^*c~xMM>>ri`J@qB`eL-m* zK_jmtsOUO^U92Zi2GGs4`;V34(~cYkpK^EzJG&gu=hjapx^Azs9fv3EXOc*wn$6{3 zyflyu8CF*c8Y%gu)aNM>8~M2&cK~gRNH*D~@GbC8HKx<^SXVu~yAWU?C-h2-P~xDs zs$TmAB-rd`oS8RAi&Cl!`+#UZ6WxP}|aWv5`m`E2d7RDX}(cK>M|euaakl zT?ZulUELf{w)mE7ysr<7@~w)^;6G{_V?8STrz_p80A1q;v0f`_8X8*zNL&}VFwiH? zqCHYPKguw_9B=KbpHZ0ffoTy*7?+sIE)ynQ#j{rv>Diu4jWqv4QgZERMJsvd3gMD3 z=@#7rp=7fWyba)-6*H^))fKYVoOm|YzKT!abr~CTJS{$cRISOFRf#$XO8QiX0qrHr z+^v!9agV*qu&c~_+$TCX6Yi!7v-h)2W4~!rDrSW>wBWz1~Um zp=@8PlAl6tAN93mvie0?yrc^UJ&S|ouKR*amAvbUXV_Ds#gGl$?ks33{tjm)Y9ePr z(~!c0D&uVpi*&XNixO=Oi}j#&`~XxZu77l`7de8`&L}_A81&p3ywO^h3A;LE@7Kg~ zxMEQnnS}i~SDHV9x~QH&=Z_R_4PzLa!;LRsIH?E6v5GVp=`=W#WPm>hF) z!gQymyfRx4G4(xboTs7W-C^Y7JAJ*&Y>>-*zBrB4)TWXp*iT(?q|+5A`)yu*_{RLv zOYXJ)oBcLVC~)nUJksoM%CN30Rk2LQAU5><(e`7dOh&q$BpBFm;Qm(7f1JF!CgkOp z+^K#g`#hUgfOB!VqAFdztNN0XpvS0jJApRhk#@W1n=X*zYgIiXv4I6%K4z|G42(K+ zJrRE7aSH>b9Y*qj`{Q|3XDAu|`b~-&5IB8!EjHXuRInmyUWBLR4@f zQ2vfijD6FOmVd?vGGt2x%Y?Vu$AiXm#F$3vUr8k=p*_sH8b_YJN@blXJ#E z?rYNXq3?&oNSR@s>xqYQqP=PLb}Z?>E~%vI54y|xN>53%<&w_6rKDI+EaT^0*zzy= z%UvygHI&g@iW;;9%6QvNWgIj;eD9`SWyE$gz^9d4+?#KAxk=zN~m`c+4bI16Mb%!Q%-=yN%b)jfG!w5+}*j|`f}qn%IE zJid24F&!~~DsP$4c!i`?v|w&E;{968?}(fq-;>|xmeO1D%cA++-MNJ3_m0C@PEv=R z?WWyvIfuDDIoK=@-jqYpwYOGa4so4xX%6e5RM`g8N0@_gsgh4zdP>|V*M`cSM`>k& z=Umxp$8FGV3aE$DnFDU-RoA`wa?4roPcR=9uF{q>pzF=@!dRw-NuJ|4U;g3s&PS5% zA6~C~L;=5@MTIThn12T_jvP#t@s9d61HGooSQlN}NByQQ@Er4wmSN2DWQ8l4^Uc=lrLHa%DE2wHU1WAK251v3oN!36?n)f_8-zE(eFoge!95=Cr`zJlc?drP z_uW?{o#&G#E1O-XVpY|-b$wWMbza>CE~NUif+?>fSM1M&*0XK=wgb~ct3i7MX~r-{ z#~HbFUT-9Nld-{g!C1!GHHeuVx>K$2#b3vW!SyXp{CQXeRa=?XrRHr^RQfmQx{^y4HbKmJ~LP%B)9)ct3imS}u(6 zP6G*jSrAkI-ie(2aUYK9zwnyIVycyCY*_!A>fYlR(Q9fo)*GW*JyGwtF(!uW=pGZh zd$vtZmCASTu&M{DN)m*wq_+;Y$9?89y!|g7j(%MN@Rp*5MwMkR-9x|D1_Pt!!>&Po z+|MG}iCjo!$vp<3JQ>;?!$-3x`KqZJkUI7`;oBLYCvK^UJYCA)1<9qa^Wx{~V z6J$MU*Mn(fL3Juw`$!u3vo(%Pg8p$4#t@RR}(+wKMOd)(#qZ-qY?{{}?(05yrpZzN1HLw}340f?J?kdxenD z`I@LQ_A*ULoxA;u_h%yn|#3=EF|JFxQVI zT1fXAqD4`(4vO_|E5V$TL89rdv&`1vvOZQkKaE&kN+r9Ye!hU~_`Ec-`h{3h0d+D( zsN(tpM|nV0QJ>#g!I50=m8tZedbtg1rK#!m>Xd>Ic|CO_$il;@Hk&j(WY4U`-gai@ zd;SrKmoa~!b0U;vl|Pnp?E5;Wz|(TS#J{IfiR>qFim-d-8$c!X9^6F}&CKz99c1+3 zjw!-Eh!5`-|9Oz;GoI7|Ee;27?~&k+UXs?2PRxb&xiF0wopIz7xITw#hJKhV-_}z3 zwx8^=HYr2F<#OG&qoB=z*5DSgEzR*f8|2JA?bm!`?G63zq`jCb=l7E=FP{c^d8_+! zu(!Od-LIf~xrke*y#Ep@VkS$TkVI;^XW+r`X3*T}7Zv-n`Pamx87e+(dlLUP)gU=) z$NLDhWUX4k4`E+6r?E{_Pq&6J5jNHJKj$24B}}C4bgPCze{J|w&!g0ZYd}*3gX#Bq zQ-qNwP2F$va887AjSo%{QcRlKMF|(@?Qze$RF=!@cyM>xGkC^x^6pZ z2zwi=;KN@(DMlX|f?Qn@@mkm$4#YwKk5i# zC17tvsBskP6joD}2r07Ag5FfdHH*@4$h1{?8UtGHmN?!3;CN^)ndm{=q_*Bw*WEKs zMyw^x7@erd+L%-1A_{K{LODMJ;p49XepQK6gmG|Jz&#VOnsI&xv zWhd~KaV-cq_?zo^&gO1A?U!iXb_FD@{V$+QEt_jTE2dOM^ZJrdXdw@q&+?DwlI@4! z`^KqcxFWg1Tx{MEv%l@lenU=aFu3zGa24sek~`$9uxnT5pw_?qzqTgrEw|#nYBK7YJ%z5~rvR0_{&uIXWUKqSA6LwRp2vW8;-P=O z&`rx9DJ}o-_t>_dvW~C1G=mrlh7Pr9tvSy(q0fhR+f*T;Kkd^lB+R&1b21Odvg4W= z$1+!TUOn0BuJRLyj$JcEv5mB?R}E<G_-9{qR03>Tsl|En>mtt!ISZ{{1NfrsRS-M|!%2xN9L*3`y0>NNBmS@sE?>3<>oD5V?-ky2y$hyDf zX~u8PQFBwcW6)X_+L`qEb|!VMeJqTt|B%Pk2Rm=4ZbJAM6&QzpgH#ZG@tshIaTUp%EaAzU3h;VF6dahgAf3Nuv(SQ`D za>pvetXtg;UFtl|cJ*F$RcKX6RVs^CZ=a*{V&(v@zhOG1^+5i;cAXA-WY-#YK0C0E zaZUBVW4>ViUes2-mZLd2tQkF)kSdk6!K?zgezc?5Y>U|&6I*~SEaa#6p~y(G1Xk`2@sb zafM;lbTwUJs7RdSdDlzFei13Q48B)oy^%v)>nvHkPIpSw)&qa7+Ujoih5N#MpSc5% zsMwmrMVB{2-w7JFx(9a=y@Fksue1YC+00~kod+R}j>9xB$Z1qv7{}cd*Xd*Q7eJ4z z2Yo2A{y4xnE)E3!D7vZ`T4C}@?3w4yFXzXd{EaU*&(Br(`c6(Xb3EJ!B=AhzT1B=v zQuii*-pp(>LOkQ^J4WGCo}VEmXqno+Zl-Uxn5aGLWHNqqmX_=)QPn`(J{bkQUsWB; zm6oV7N{i83i;k#v0ypv#z3Nq!btIktU+>5MyW6Ll@T7A@j}OJALgp1|-|5>$X=Lg1 zsbsh#j?|o!bXhXug{B=jxZ4R=^3ICWszSL{KNsYi?E`g+SCp@)UfJp{q^p%_Fy@f$ zK@SORDD30bL|}d52~nj@RrfuNW7Zt?`-rLf74)$Uu^GT?9O(1=jAu09sjgM`XmZ%D zb-qxV=l9TtrvUcz0+^HfmG1JYtK+$wbBVYm7lm!4P7N(O#HzA|T7eQ)CCHsy-G6ne zsSNu`K*uL@H)a!8IR*mUi=9{wEKexfGxt9L5`S(%^e458i! z?u0TA?QZ05ujOaDNG}?evKoIzr@k|YPgI0EQ~D6Na|ZG2B@rUw6>Ls|fzq*DIXoUoH=X83~Om(^scFzGTg?oW#Cs8+EE zS`lky(Wb;YZX>&+`9*><&J1tOr4SOr&WhO(lgTa>beDDf_`DI^67C%iWwj^0=>6`C z{K@uttSaHCz;!L*-{IG???cH#nhl(ZS7n&EG>4vVj}c-97w*-*mJ|BZN7{12WV{BW z(lB^X5!eGCshJS@4oGjD%RygiF23HO8KK2J>6F}9<^vt5i$QB|9x zwNGQ2owL|dPn#cGVWiw%Mm|ziPar7yNOp(r&XA0RKmT{nXFW7y!_$!~Tm7d{Z|a0E=)RU=atj04iva8cf|$ z;a%SiO3Y*z047Ur!XybWIps%8u5>Zu|I-VTj!PqCUU6k=8sPwst3Sn&bL~S)KJFlu zZ?s33tZh?YaRcfA?+FLharw@9e>d0h@YSA_=>It ze&5bi9s)U0<(Mi2S2B*GYa};ORNVcOQ_)m0l^iC);6I2z$iC4YS$VEKvP1!JHs$oY z3C`)mO&v>0nmVSIJlgSm<#~A1?xf!af-H3LssEq8Wk@D`n~Cx>`sRvfXXX}N&e4#z zDe65r+LNj_jdGut5Cv!h%9G=~igazB*ExpW?OuOrgs6zP;-tQ{_G5pwi|Yw`Cek#2 zBV6x7zxOcydvS(1=&^WlHaX~7?Zr8apl5lY+qam)$6Vhp%R-G*qS;9Cc+tHzi1H9g z*quWqqM;}eh5ABhYLtqk)GxX#gZpKfs5@qP5F{Z>J%@V}cDcX13i_3CiSb>d(})sL z!b#wE=1ss;|KN4zhjWc);!`YPe2OtTelbtlo+tTY0^!WRVZ4FyDHD*3%n@~j8H;Zm zz!}fbe(qX>ZFTCsDi-&3?O@aScbfFp(Y6Gx7`WCEQB!q{8_a4zhWWhyta!Z1@W$=U z69JEMK|6UQMPwDlb2cO#U&B%!A7W*T^5GKK|l;yXhWUl{EwO_f#u- zBdW_$SDzJ6Ta+*Nu|Hp+ZcJbii}e)Wb<;yBzV9dYcQo*-IxJBg^z>&6RE?NwImH#z ze2`d4as7`EarJaw;KxDgNJt%Nf4pEEO}&8TxkApfDbeY~nm{|#D&Pr0&*%QdWsZ^c_mM(-&)F4pMo5U`3C;YGRM>#xkf^+ z{Qs+5aos(o3cjj8Evn$_NXN?j+w3H6RXtv6#zc zXxqO#v6RE|o^_HD=;E~1FqBO5^$h$FNM*m9w`gPCv*(x`2x(Wm0&bsD`H zeN#gyY%Zi-2x$vg(xzd`g;{c1Od+S`Z%s=QvhxZc-z1t=&!^V4$0%)!jgsx!av`om z+JPCFmqt2&0J#aS4!A6EU50D+542rPjb|A>aFxza-OoIttU$gJ-l=q9{}{|}1in%X zGJ6crQfb$TQM%q-r8f^L@?%VWuNc-3x|PKtbCvpbqF=*uz*YV*jwpT$_==utT8Sku z=f|E*Fux^hTE*sis%aTP)5@WmR$>XpD6hO_{te%ZogpUbP|KPE@6G}Je{wSVPXRWb ze?vWQlMFw^FY&|s^KbA&0B1m$zlvk=4IHm^VT_|!OdCk+I@57+oaMNfS@nl$_@YM_ zoiCNRps@_O;F8k%(uZ?@EA8fj^(DWTbaO#Rsj;k^3;t1(T>3w`;09@Ki9W_s|IT6PcZ`?k!oCsyrIlm;8N}IIEl8;9RVwzygUYh!`L9Zj8TDm2k1-ddi8&x!Ax{hVnDKu((aV)6 zfBQR(OISC$Vcog?8pJTl*aO)RmTNXPmoyL5z33J}pOieZs9e{?OjbN39@46wh&C*))UkFw2oo?TvM{B>tN|DER@N+V43 zogwIHg_0a06szRZ;ywdNv?ouCpBtpFUh*RLc#8Zx&kNq0_vuJG>|){D_%6(GkgN~I z@b5K&qz8J@wj5?#EZhHQE$Bh1loKDOa~^$UX(|JxsgYjfvH9X|o~gTEOeEbB74ZKn zsO6ButM5u94tpFqYnS-`&L(B`V!DTE0H4jj!1m`A))CtXaB~ZPR{YMgE@v2M4hRiL8qqiNaFWauf0Z#x%5*&59_D*Pax)-ly@@IQ!OYkv@%42rq~Q%Ukz zz%KD*Hy+0~uct~eARku*Jz6LU10!}OaM<;2%=n+_e2i36 z6>Z(NkhD-&O;AsExc-3aUAQj7wF0ge;JWrNX)n&OY40_y$|Jm*Uk`c_^h|5=c13jv zyZK3i`0uGxt_yz9tLG%b{rw^LHmvtr=m1J z{!eFe&kix*{%s>bqnt50jkEv`&Hs#(=Q=mC)$I2BwoiX1Z;r?`ofBtNqpiWcP3hab zc@uYpxixAvH=&N>))?>Dp)lqeK`OHxfsu#VmbpV&rP%hpNa}~Mu?F@Or)K0oPN;Qd>{aj}VfI8SfB4dknRme5zwU#4dJvV*G%LK`)--1>kT zYW4ByVRE@wqOVpG3MKy5vnz-i>T&3g*jIPt_l3SnErS>=kV0+!*0Uq1w&jYc1hvU4 z&ME9^Xfs)?)W>sz82XOPq_IKIq+kPY{cPd%un*?Y+3eY#>w)=nHhZaXiQ4dk08Rr5bb$vnl=n!!xP~ocWO6DZJf8b4g zmn2r@s9B~8XQ29@=_~i9*`7!`uM{Eors0XRJ<9^vn>P9x9rE19Yzg~Kt;ls%6Vr$e zU=M{$vp?whKA5dx44OlO3$-$=cPT6h&c=iNWjH0Ce^Pz9uM8&v;ABxav;9mhliAd1 zaUrxLZXIX}58bt_drj**XlpOJSBuh`R_K4N z59S!x8jl(k#W}^O>;7|TDiQY&VvmBhu`Ng4qA+jIQMBZMY%$MHQs0hZ;Wb=X1^Ae`7vgMc){$DW0v@r(Nx1keTlAEihGcz8Yr4dI63BizfQNs{bR5j z+BUJCfA0oebmAeD@I>lMRmFbA6Z2MfLk`ZFhrh0FiDqZPm{oNtg)MS$W<^SV%LVfT z8l{!!-!ea;QB?2FQQPkVDJoHn(lQwykZ_cBW}=wHjM+@zL=ilAn&7FP2mRQU;MJEv?p9OD-w5WtE~l@32&>pNOVsP;4EYdp8Y?Q=QpEla zCJ$g_bT~Qls@xC<$A`a6eXmX-uHXU53v1^7@Lp}Ed!_Vi;a^=S9rkVkfq(;Fui8rqENUL-`@d zN48A?e8WnZ>Po};hVeC2{y_ybYS02nZ_ny(%;@%u+;OjZ5N1X7P z%wt(%9bs(XrSsbBg7v)7oW=$`X)r=@W<9MnlBnSRn+L2dK3c3W<(Sr*DyC8io7Xg# z39(l>dXK(ZPwxY-I_O<{RcFR~N(_Po0FIBUO^r)7}ziEF<1Q4_|!)GMyY`=052 zl&JL;4rX*ri{j4kQRL4%*POdF$Q42QkbWeK=?_=;e-vT#3mppme1}p$*P+rs;85%D zcQB*i%e%rylRtIvHd!*k@~wFee{zZef5(Z{q&g*t^N*&Vzj13If`is z(Hk5Qqq1FOO{hNIp&G4f!6&apqfc^Z%03uKgQ|GgpPI{r*r5abh#bvN$9vT;nQ|}bH1J9qUf7nd)~a?j?bs* zGY8M_(v;t|*KeZgF%IH@$@YRF#&DNeb9DVaVy!k>n6&yj|S|FFdJ1r2Z zgwSXj_XK{yAx>=j9{R3~!m9JWL!Xw=C#x6Ja*&pzX$`dG^Pr?JJ25n?2X0b3epLW) zj|!{2(GGmdqj_uc`76Xmj=^oJD0MCjReJNz zv|ngaSe3Nz^koOK1Kv0*-qTdplISASve`1>;uU2T-W^w-)f8Qxs#(k8)0r!4=>5kl zFxs&VIU#OUNW{rIL{+S^c7aAG4$$5qDqVB>F{~5NoJ4WH)0~?nq<{S@H^B z8uT0qhVBkw87q0Ev2-Sz$f6$eanO(((h^b^3L3AXMPUnN!yU?6XkAxk0KB)aOoQM0 zE7@%Rg;#QvZk003K2f|)s|U!LaAzjy0j}HmEK$~eE0T&bVH5psBmHhYe0ToBv66w% z6MkEF?oyO%5Q!xzq>va%9r=ayX9}5>jEy`~z{QRA-HxSU0o*VEj$twS0o zT?u6qSOYtWLV3`e$r_2Gt`x#^yx{hzYuI{_ za>|6RHarnK2l7gQ9FGd)yh+>T{0>uHR5WuN~FNF7L6sN0BD2WQoZuw2e zrU1l~Z4$)0*G1}0xd?5N4DGwNHLL?@^))~OI)x{&AxQ?H5@PQcA&>e}UQs)fLccDe z_Og)37#M1MFi-&oy8wePgw~*hfwC=EiRteC4RBE^tqV18L6&w}+6{&G%Zl{+MgP8C(QX)Ho1 z6PC8kV84~=`=DIfuOaVf= zd>XgH_JRgWrfi$Sl<<0hemS6V&(L%@fmi#&|FUVmrJ9`GA;CPRza_o$`^|H*_rS@b%e9KPd?EVzn(n%1XzTkz*x99V|Eg(|A=b(e)oVYR4zwMz)5pj# zRojlZI@d^0xAcPg{N)6Y`4x2r3ia;@^$CR8|K!_+5>zFH8scM?D*>_ubt#2<*{QN6 zGMFNh{aK@^+YLFq7R2_8yyW4_pZ`{Lc{c5*ht_m+fiHyNn8MQh8=f$70Uy3g#(DRe zjfHRfluXg(nLzV8_K52(z*mHpIZmd!bxor$T(5UAjKmj))1BgRe4-Q?e5)S4yk5U{yY1`H>9xyP<82s5esUKG$8f00`>CyoNR;`#0GJho+tH}|M(G?tIoIK-GiDL*i!(LpIWB@CKBv-1Jl@9 zj&8_DS~pS1BiBrqA-D9~0g#hq$RD>NCvEhF>A!DP>D4x66=JZfRSkT<7DDf~TG+P$ zmtBxT!li&r1YDH1FN9iu_;pt$;t~e9ASO6YRJSIuIczCN_g@HH0J&NwyGSG9xxO`< z;)yjmD}cOpbt~mRwCDZXp(~WI>0L|zvS1G{ZtYF$I`~#9-;CBsc1Uw3Z9`yOQdulVZEe~q5gwFt+?)0m!yB_OsW+LsX%7jU+2DaAGuzB>S+jT`@yLau{ zrDK1^-Y?hLOP1+~RoG6MdP?AU&smDDbz%Q+RodPn*h0_2xV#GR>`UuTds1mDy1bFL z?w@HN4x@b-YtZk*wtdBkCugz7p4EIIeCMY%2{~T7G>x6-Pa(gFpADXV{-)gGPD#DCiRPw-+`j%l zLx(K3l)GG$v13a@3@BTXJ<-HqsKEoe`Cn zQ+8~TEyku@vnUtmYUuvtQSI8zpLCGj_I5?YwT=@JxR2rM!<#yEyU(>}M})Fz5F*3h zXutcHH`=p5LmmHIJA3&+hx0N?9^Ene@*C}wzb(4VMx(_?)ciGcca*d4K*!gcCU)Fc zm)UXOrqqtnb)UfVCmr9^rF8V!Z0?ANfalFwrRp|~>TROWTh~rD&AeiWC=(J}%^i^u zQ?A5ENY62?Z?q4$2^|FD#zge%;B4pGlOmXodfWbvY|PPy7(ZP~^QiNcAdJ|&NISwS z>CnizbX}SPcT2~{&5Wa|qhNDthsK8AGUIil*28yiv@mxhjDD%*&=u`wX}|Lae-X>~ z-{IetyQ4?t&GsdPWlQ%V@;x>Cx5|O6%4gO#p@o3k z*xZ8?n~#_iN|gNhQao$I==D$3v@15h(LUaGS{!L1qaL)MZV#(G-L4vnb0-xYzeODB z*eGLv@iJoX?{GYQTSrwmJ9Om`k`5^&bY;WO9)ei0sjQ{6nv@DZb?8{Mp^%v!^wj>HP`_94(^NZ-w<`3j^3=A3VvRvJ=7Lej zy;)pzZT$>w!U@lZK5c@7KArIFfw0abh2QmYruq_Xf`y#$)cYXrfqIi}QMQ3wgu7-B z1=CnZ2}vjwUhha_b)^`p?H~zhELU18)O28)rF7n5^#ZA{ZEJ=W9&@;ZRN}nRR~;iN zJsr+)sg9y)9eIHIjN@FpqVjlqL?zDGA|*2SE1$_~wzu}px3_BaH93#BDV59_^v)IZ zoC;D;U64j!h&Jt{(+GoDB{zjzL*XGTq*@T*hIVMfao-_4$3VMiB@Uu9@%3B-ro?`? z$pfi2bZo4|JyFq+T1xrPR(Kzt+41Nm#_>kGW)sn`Z&z;8vB^gL6YE8t!N>M#WC}WeQJH3+zlPl!;NdScV!Qey4lhCB4HE zV{B7GxU7|7>vV4qH&n&=zY$__Uj05AsfGDV$YmG=F$m&wrW{8LbZsfk(0b=oMd$gnmmVRCQ9}r$|#BIHnyl zYkC&8EA}B}-msca^0+q>KbdB_{g&|34?i(w8b8B3N7Wv{4bg2sU zedej5wJ72=i%!baS6FcgvIy+{joxT=LPo=KO^7VDvzIsEZfmCuIsT{xAwnlq!B%SHcPld|j)uOEaTi-)t zvp{!|SS2X!vvFnC=`7K-PL~ARvemPsebgQnQ6J}57LV=ksu>0?purNO(qvU+4NH_w z8<==3p}w{be?Ju}tm&Lprxp*Y%QD>l0^uvKTTrC)`{_^eL^UB2hnG_JtG4(_!_kJts{Z-jbttJJO4&<2zeuUl5wI*rkZ4& z#kR&*XEAf{;^(uuy`qtIzZ8iNNKr4?{@jmaIrzPXo+_mpzsYc#i8aY;1W~>x1Tx%j z;Cx3+zgbhNH#7NMJm$pir=9(PX3`JXY2lvHPjH!+C`7GP@2u`u8m^MmY-ZBf)6Caw zRu+nyaw$348#RyX>t8ZXO-@C z3;s%HHuJG{8|(W&ex>ueZmA;>%=!$QkZA}A}a z2?y)rsK6v+oXPoK!l1~W#QJ4mpNYmjjx6;@>eI~AkVaS{DpS{V886%^B5AstaIOZ> z_W}k-{&l+_{hD+ZQ{EUwzkBK;jYjhze^$eGHar?FOAkX0`=n?aY(K&_YoC;SM~mZ* zZ|U}#JzaWrtFy*t;rMa?tSIu$op>^ijj5z!RR&`(Se@XxZN#rgG3<}e_ZK#ojMO-) z(dm2D9?#y5n}r5SP8|Ag;givqf9UZM^ruA@ug(<~@k|(RzAk{@(17sEf@pDV$d8^Q zVECGMwR^bSle&9J< z!E+`W=QvW6v#IC&&U%37$jEGGip1A-HoJ=CAoiQB=2pLvf#1Af#%(=}eJ$Hq3HVJ6 z@tc^$?Rl$f_UGw|-;h-v-27%A@f+0AX?>@fkBDENN}U9}baO(~0I{LJoc z@n{K8mb@q2DAM&7h&F~Mds!q#@kW8}g)xHv>N*RUfH58$10&{*t=d<`N(+N69<1la zF3H~SHKDjKs@SlKDmJRHijB_fv~e6;GJ3G8k4kjmctUX2b6NdWBArCUT#8Z$XAOM6 ztNMN7MGG6^Nq>K0vP$*rm}j2KnYLhBLufQQQ6oja!S)XPtx64pvLD;z^VUY_17B(q ztSg27=;bB>^pw4is+)Hm9oal<_krf|yQ7*F=he+?&*T2ChiYka|J^5bArL|(f7mpK{0es|H#Fy! z<12jO*An05{V0&YLB4)*_T4e`NbgrEchG$ zvH<>`aVdE4!LkdkVySy_T9(gZ#>2H^ z+_db;YnimJjh5x!zXTI4hk}+v)=@3j8JgAW@D=!1tmOdEvi~}&<+`ZmUAu#uy&>n; zmS1m*+AV2Tlt(v5@6Lm5lm=6rY4M$V!JWe&dgoxcb9esEI3KuQIok(9TL1fO|24I} zH>CCAZNLBaswTAin^)2suUed_hVd${gRir3K{2#OooK9uvFczA{;G7) zrR!{1P)ya3NIbjzMB^mebv7^vm(khGQ*JXPzOK7zwexMwa@KWz#8tX6EM7BnHuI(l z|F1L|NbNG4k(=>d4_L1^-N1ReJG!~wZs3cQMSQXIo1WL38y0)*!f!cVZ~9@ecU6?iNA>R}!D5Fo#{MppPux?*W$Ilh zr?Z%-yPc|nYoLuD8tAo=w(m)A!jzYgzD5valbvP`LlBDh1Z)_AH{dWzo|i+Szwb>>SrX7jqm>*4qU9GAgwoyir|&Hjt=yl=(LUh8n~bgjbQrX)eT zF-UcxDQNM9rf5jjb=~?V#X5)adE5JtrW;9ly(v3?TT^#P-EDC{==aZT-T_y32g|<% zsk)K(v3u zUi7LYxT+Vus)%0I3$F4fSIOyBO1Mf+ui8YflEYONE5529z3Oqesvo&3j$F|Xu4u4s zhTr^%em|0T%HLYN2yy~#_0b7@Zr&A?fBY0Gdz0C)cZB*Gsibj*_l|^->X0Atb0ERU zZJ`pb&kugSi;O9uU1%7oj>_VG-wMC46osk^JNc$yYg#$?UV1)rxjCcy_+1HEd)T!v zT&T`xnwz=4u=HEkzVJF-q@Di`f9!SkgN>h6n-YJ6z6@Te+Edl1Yw zN_O(-0F`)`sPuK+PBS;7_=|036o1ZTMsabOd{dF`rtRqz-zx5$xGYc}3FAILoj?#+ z<~qN)bGBe^y`0(14r^d}z^1NVfj@0ylWd|y&NhbeYML2t0$(Wm@3`qrN}=W;@+oA=p2orcS=z# zY>%gC>3e&4ooYcOih{muiMUj%^1BvKzet~GG@J3bVF3N6B_y)5##g>A!Q)-evd(`* zkN4Q=Nv^tWc77)l7TE`^IMFzs$S~a$rOHzw?Ru7zTV2zOm-}-$Cq0!0pl?$8pRzpdbBo6l#4G{um) z&@_S3s59vK!)H>&!1ftz^I>}xHYIFhVDlvJE^;$sjLDLy@EjKvSzP%#b6W9`d_dYE z_wLV!v3A#d7yc#66)G`N|A=@D0t3zkpjOn-%SmD z@Wq1Csefc>m%Ug6J;A!b9)fE<#f@Ix;aR8Qw==BxWD(Sf-?8XqhF0MFZ(X3o*DPTL z+eD=}HXv;D@c9m|OH*Yeo>P6K5|-jQhYLn|g31V`l(okX(fsZKgcr%~6S z$DV%`($qBP!ZtG>mHX-hz6njjd|`P?lW=iqq8R=b!xfUz-vN6q{%aJ}!i&Gbe?3_Y ze-$?g^1sD(HSEvd_PYe~PsZ|dQm=%&T+0fZcDl)9u~;Kih)>|N;aUET>0&{7Z>^VD zs0d5MxY!(NY_ItgeQAn?$krv;CDn*}Dp=*q-5CE~_!JSq}1 z8oWCT8^06oY5dmftEa>|i5P3vyY@23QVRD=1hTGqTt4nqV-5De-M$BHzHbtNHWK(X z3C{W?egl84f^*ky3rG(f6*t6L6*r3FD{e>%r`N6Yk{OD7$P5DI7+ zGbd8-`-WWavtFq8-6qnnR0|EOiiHLp+*=6uSSeF#L?}@s3LK+pA45PH5glUe02{2y zthnJhrs9SNFjk4D-zb7>11oas0;{LjRW1h`c|{nCqGX13Niu`5a7vwWSEWAd(@*uv zBcJNCYAOl06XkZI+_#+E%%|(bs8Dkk|6SsgA^HD5GJHg3IQYNIuo`%k60j@yMqjXd zC9p&wmuLn24NP%iFyaLTe8RX%b%_^b`dyG#RVCE#hHF(#k@{Vb ze!O3j9y%#LI88uWs=iW^VDNuwj(&WsT3?xzUoDl`_Ly6-QeFOV-w{KY6r8T)4Jw zwG56clIzyQ9c?Ktg#1TGTM+2DD)4BF1bn|sRZ>gWsyuzy<4G-DjwkDPfeb+x#CrSt-@}&L@&U-!-Ik`u@+eWEPylwoGGRGp z`=#q=r_I$j$Bx%G&&k)>DTb6a7%U|WG* zh^@dj#D3UTV82gy{xe&7fvx&Z10M%lY=E+l%K!rXH}n9zh-cgogZ(!2gE|596_*ri zP)Q!7O{!Z}0d+{lI!$0jeq9kR8zOyYGDD~8R88d#@MBa+ z>IP-rExmHlZT*47EpQGOm_QCR81si<;dW)e9e*ij5;M`Ww_d9I6IM5O7=7Gj) z{y%50X<)BcslAqiz22qv`UvcGumkqOwn^e_L+l0iAvP@LY`9z9F?+QfKsO~&pFVbC z?9CluJ6xZx9K+SKqEaYBA93}pxMDn{$*;rpY$fPa3A$8*%$4V4hMn~wJMfbHlu&Ob z=u^`Y_33j|`oBQVzrg2jT}aU1YRcB%g}U}`ni}fi1j83|#_RXKF-!kNY`%UM$i8=U ziau$5mVOuLIKC=dpL!t&>gNPQdQ+}G@R)ydl^@i{Ak&`kWPMd^k{-*nXLO$ai?n<_ zmTB)xDSCWQEE~S>Mbi#FmhmFw4VJUtoDBVjH)iUwycbQC`isx~t>4j#Ox=p=^6XU#J-RsuI~M&3fpsuBk}Ucx{9} zY)LZTZ%tEttWO*MiGC%t3nITry|CcfI#IY#FF{I;pJatWQe9NHK6r(}=VXy)5JE>| zLDpcX3)YV7Z&*LGzo8iH<9#w!vmR`N@4NQd7{mJ4V+=UGcXf(JC_CIDiaXpQhWiSu zWO~tYfnErG1ktt#J-$9|*KU2*E0CoQj_WpnEwE07UPoFsz#iL9`*Q4^z_((XTZXm^B)IoW}Sd>*$u8u78k;b_cBez-Dk z2ecEP=|4i|mJOPtEn8sB@;;1Lf@9NLdZwkfybt4-EiiWJ89PrOoR*S1b;A+{wVkZm~$etmLyrC!w3S1+`A=~qHOV?ERXSO*!%e#zA@`hj0W ztuU=6R{ymkDp_QO{HkkqEtwe=Ap^^pL{a>EmlH(?G(BlZoHwf^tbf>oNf zKGK!?h=}(Qfk6O165i?`ogrTZkgozRU(xQDtd3*d;NJewMn4ZeAViaIer0w1XSusS zv`HtuX|XywebUAs9JW?}m_hvkWo`RAFdsFa^kJJ(^q0-D=oQUk^ejnpA_0#ho~=tr zu53xj+tG470U1oVjfCIfen&Tqml^PH>&GKvGfD0GI;Y*ZFEzqdg=%@;W+ZAXL_Ji4 zRC!F~-Dnk(A4`zsNo!Bu%S0#w&zOSe7MY>mmEe1MJwlBh{$~?sB+fN$h@N5EFkT#= zaL?d(@AjB`6@E%bg`Z&XDU+Y%kJ}%sm-ob9b(EsdbaPJ(JLv5aDMxwXDmnf#)p&>H zX0JGB{ENl!%;<+WpXuIm$W&`}!z`_HtBO^ZUqp z{FK#XRj30ah9wrFbH?rL6;@m*oAynkM5s~Y?*#LhipGqFVu@$tD$)J~N$u%IiQsQ_ zeBvZl9P5`Don-*2WqBhKxog)oa`O@G0hzEZ3J(6!Bu>e?r=5o6g)zcLk*AAp8@u&dwM^o z)dHJKIu#s0$yNlOWGiJS*`09(#VX=@P5(+Nr4TifTbs zVbc?D6*eWjRlx>N!!!OwsU{dD=Axz{ZxuBSd#jSwX5lklW+7Rrv*5Vopi=EH{_YUS zB*!0gHznLH5$+bk-|dE}sA(wNZ3Ns+Pwu8MJ?L(D*6SWBf0dxhnevS3%AFx{!Jx4^ zBsv3sUAZ$%ez_-iG)#WLq>YPG?N2y-0!ul;c+iBuO}zguAHiLQ@^={ucNxLoWdz(s z&)-E4cPXWJ@lplJ{J`tZn#3wk6*v1~A}b#GZhZj4b5#q;8aCoN=Z!N>+-ktiFKBW4 z=LccmMZJY8-;{OLOA=9;V3Y9kZFE%_F^S@MlK+J|U({12DfQmuFrIPvR0kd(7YMzK zgZ?RRk#u;SPT}W5)q~OsB5-Q&jX1r-_^G24ncXBH5Yf3C)>ixJg1rM&_|5lxrq;ZT z4UR)GskL&o2mgLgidv){FL_nh*WQ~(URUbQm{zFbR4aAGCh~^Pi+vJ5&l8n3&K3;r zdI?9QUeyKIL-?z!Od_?6#A#QORC7$(7*ZAl*;#mwX(gRWEJnSz zI<{;y$x|gO89BlD3Oh0xMdEq97A1aX{MCWvC+`I!LFDw@PjYYO%4bfWS;Q`kD`FSL z-JE%bEsVqSu;E$2&aiL8Rs!25*tWnGAH?C+EY7f%uffo7Jselb9)-W- zI-O}60^3m7hQT%he$&Eldid=LI99@z09#_GB32gBeS9Sw9M8?UU&)5V3!{tJi1;qo zIwy=103(g=P9^?Ac}w2%}dpntigwf212qz0iKN$OC8}NbsCj=fjx{$ zEh18HV&8)t?t0`sb`d&UBUg*b>N!El;yql-j7Yq$6n?+#S$iOP^B|wOWx`)LqrU0Wzek+5F@TNJf<3A->egj>72RH{O; zBQMG6%1^?WF4rPlR@a_NW$(_*{;3JeK9rTnigm9zf>YvlVV^Fn4@P6yJ$~5I-x+&2 z+~vA*^WFI&lM})bR%)Wp+0Bj%U0qq5f8CR=F z;YvW5iu3ipE@f;jEo0BwB54_`XYuhOuY95uWpMN8h6(l~d)@-M2{#9vud2pi~y^;-lrKGIecK9hGic@{W0*NXANa4;_}y=>?FrBRmXPu;E8DmvF zwkek%#m&zA2!Z^lfbyLQ`JjJQj!K3_qYvQk5wKsnPKw6B-$}3^4*L*3#tfcU8a&>M z)~x>EZ(*tsuC}S#*G31KHGt@l$9zHL39s)ggL3EyPHe7g(Z+=Tg7odUfB19 zrvQKIKjxor!>{1^0|~#J@}mg<2;o05vz338@RtJLANYrhrKlNX`19UBx5e=&X0R@ zwgOrGLDs`-q$n8MsyPfTgTHkkd+VHa*k)bFhf$k}NDUe2(yrD;iio`D%$=yb&k_mi zt=K}X%!a!ItK*KJyQe_Uw}x zAFr08uI=Jv7}m|_I4|>@W*a_!(~Yx&aM)%AS_hmF!1;Vl`#9?k zdCrSbKQp$LEiTzxtz?Tg#6v48h>R_B7!~F#Y%z>eOX4P|M2$)`AE_B@W6e|0U(S-% z_T~EsA=jYJ-mBEdb`i=KCE|B8FTfc60xK!Rtxu&XoU}%H%wRk#Y~V3wn+cykX*mFW zX~E#F`*5E+bYFZ-;2%LL_zHYq-0$R878gkI@1j3&-vDV)giJL;<-N~g{GP?VVyCv1 zjiisZ=4cc2GeO_;MN;$>=)0gVweR8C+I%WM~SUiNos@ zK6h^#YsXc|b$UZSR!Ehqsyp=8ykx}lAz-)hy6&&RTR-iT7; zx9dNeE7*7i#`;%atnZU3EWN_+44khLZNw`iiZ^azKM3?J^VnF+qLZLoV3aDOAz7rs ztAE#eZ^a{yo|>*y7BSQVT{&6a6TByU56kj&7ct0Uhu*S3sWsM<)=X*{4E2E129b@A zk=85$wXT=w19qr@ykE9biu$kO`WMe+Jez`7dw*))V0GHqFRLFbJ3UXV`aGdn6UOD)C*?hj_z$fIXTic&rM%@Mvc2zWCTqfAmPXG0!puk9DXAs_=-9^F8l< zUgdUUjl*jTp7Z`OzOS0Yt**Cnm_xza{;w5MbR6ve0qm8qPk?=I*#Fw(aB%NvkNN~Z zcQGfzh`Iu{xbMifrsK*c8Z&I3ssL5&5g2!7p1IS1ra&x5ho@QkVv@ta`7y}?<_ zq5oEZA_fJIYZQns-0_rOxzk^c*8`hqOtuA9UAQ9_;M92i8i^p&h+wRy^%Co9MM1l} ztAf?f;kO{q9!nUcGG0Rcg4JFDUD$}TA@hXIZ!Gah(`c>-Da=d0YS-o0x zQg14RBf+P-DNXoI;p^;z6<;>rUdQ!XuQzS(gnL=R+l4V#SV>KBv+S*$Ywsre=@xot z7;elL$~n(ol$ZpPmN`n2leqfdf(cg`E&F!ze;PeI;d8;3Pv#bl$1^^>?|qbc)3Jv5 zzaLx~H1o=xC*=D=WPyk(~Ls#H=qU0A349g4as9fcAV;}c^*miv-!BGAkc0c=12mcnQj8zWFcFH z(O1~O&NHt4yHVtgoOx-jYP0GM~>2 zRrsB2U-AsgpL+@>$8TZ>$-0(x*;K6aWj$4^RZ-;mjEX*UTMe7%)}&o{Y&eFsHl1q} z3BNNw$9iw^e$P2V99Mpo@1q~8PbSY8x#vjSXUQ9sKc-~|#x*FA80z~E3Z-Z_l&$Ts zZGi2skTA3q_VZyI3){&zrN{&JXO>IRLD+oY_m5$}1-3lcM%x^YTT%tW-#zzqYlnOA z?XWmHl=dsTxUJnh(Ky8J>{p&Padq51@gv&s7w~)$mq}3=*1tRGzwDpz`?k%0o`0I9`A_-B2tTzAKb_P6FVG+O zBZ28V6Z8lEv;T-cpl$y1cLn{I z{1g7Tw)xNV$5Q^2ls}U2zqh&Ne-qXJ2Ivp`k-!`U{Fj0M>_6hCw#|Q@FQR;ho#wxt z>P zPmuj6Q-6f#-5_%e$kfB}{LSTmsF8dp9C7n!%kv`hEAlUg{5yCiGrmcl-zP6l^-?Il zvyXAE>9^a*>)DmsgT2yvkQhibjN%IGSD=+yUsMOHaw1|&D|O?Wg2y8{XE{xlFgl|_ ziDc89^IuNS{v^8_i9Gajc}9Wzj2F$mWUQuUUa}8|9>zH{KHF$*jX%s}n(yLg4a{`~ zS_oz6+#)H`E#l@FkE2nUwW=8Pb@p(@XVofopE9Hil9&^x=j~4zd|9Txq2^XTmgmjP zQ>wfgMV+1ly#!@GMuAE2{uwr?`evS>=C_{M7I-ag!B!>0D<*aRO}G=U*fhh~#UxT? z*7TrXBxD%go}Xb{W|FBgjPJ3+t-TUwPCIvdkm^QW64<@+Zg!p~uQYUdPyF}vJVE64 zP^Bs!^5;B@*ICY;#_3da*SV%q4(N3R^jQJh;|ELF7vu5F5ZHVCG^n?5moje*D^9~} zm%kl{zh~Cf%2a}_F_=Z;($4EEBt2z7+dtFDaCe8{Fx*{+ZwwhQ+}+)wxD0n2 z?l2hc?(PgL?lOuyl)n8x@0WgPez~0FlFKD`x9$U;d9C3vsltBv;qOr%65>K{k1+t@ z2!YtGk;4YO3u_9~n@nVexR|HyLoQxdN__D@{v^{&2xI!CcbFNYqr&McT(gnIiiMuF z#f1Ig-OHt)m;!glgF^W?;KyVpmP18-izEpXiww8FW=WA(jzm&*cFsTW~%9nT#z=jYNec((?igkflVIlsGYmO*u2_p`N7F2A>XAp zFT%6Xm2YP}4kNss_2cdlKa>Rr8Q3KT8M?XqpR&5;C$dCR5H@&Xc+OK%1~O?LWZP)$ z;Nk~dXw|r4$zl{@&5F3j4;25U8C5@NJJ`fIO`BV~&61_dg9|0g`B_wV^f(nK$BeU4k*UB)$LeKEK6M1qPa#!jDzxOylca zyQsuOinhGzd47E}?y14BAy?=j@xA^9#}{e@c_;mQ-*`}gdTB&!;W>pYo~&yiR%cJ_ z^w?3I&;YkDT;*FKY!jK%T4CElqj|9W8T27Hdp;bWcA` zn((DK^g|}u3@R~1|2)-PuJN65eR2YswFI-@FC9e)3S-IKU!wlCD25yFBU~%!|-YKX*rXl2iVzOe@f?QP>TeGpU+ZWJj873e&R|u{%)l?--5p;Ax4+M%h#u2CtAQOGAK@LAQ?n17y z(d)$*BYbPF)!jM&EAtU!o58Or*qHLFwcB*Tmx zkc4VU0f=OhKI{P5=scwD+DxMOfdEwLN@st97TBxTkF}gl zmuZ2Hw02}5eCR-~rRBPVwEDc=w=-?%gk4k#EJyO0w zTe<#QMJR#`CoFZ*5@{wqdP77=KZmVewBxgg#t2 z794HHLj4!D*M0KD3~HZpxJ&byeTW#<`Wssc4_5lxwF}HaF!61Kt-%OUHWYJG)f|kAx%{{9yyRHhi9Az5zG7yiGu_nJ17wXYN6F6Ql+pTDL&0 zBkikwg|9kjM|!;zJ+vbP!Mz0e6J{9N;c1c{O640>%=6?ZZCAN?* zI7T*6NpSvAlL&R~-Cd+)fCdYK;1sekY}}{@{*-OZJ~bWEK?`?NAlkf2>CR6fxfvB~ zH2VWf>HbiaG(#^HD@#w-H;~*U$~ScUft88;)84bNhg1s};Z06r|AFn-d4F#Dn*4xU z!WPnWOAWH~!8*Dq*a-FqDkOVKlqiKXNmGM;D$iT}wg0T3;`Na^ydj@JZm zKGF^-@w5o$*f{C909U9TK#!<*d?jM{eNA7%C+zyb{HLa41>o^V5Q9P|+(JzN@+15N zI9a7LyMzM8rd(2&po9W~ePKKS$X9vg|3ZdoGx+fjR>^%J@}t;5fmYC$(dSV z-Dss!7E5FI^~EjY;B1v{f963tYxx3NX;deQ*BR!K$2mesNg*+_v)G&OeRxX0#AhPS zeD3q#dwz&b<3VSsjIR}jCfLio+M);BK)tjs#gMH&p$`^Aq6X0s%C_5?`jYpggKoCd znLN`6!1X;jh*7S3f%{G>+;MX`)v(R$OfFw?@zZUpLl}3TQub%}a|sf`)&f=;c*cwN z2j|#Sx221N1DyCQkEIdAS(l4|D#^(pw@-S}XX*!Ik+oD^HsFGU1KUXVY@|OFBbhEB z=QZ8`l(8fH<39NGV!=K1$sM53A-$}jAON?(TrTmJ+xB|jA$$L8@}C9m{6#WGFWnIUG8$f zuLz*tk+KKsa4svR6cf}zoPpqd*cC3z^$js;dcfk*dCUvm7YVxNRZCCay`NNz*XNwZ zd6C?EXw^}wwfN-d%IkX5VuueJ!|73f3yoJ^e$~8@#TvA~bL6uaE$V-VO;e)M)}`WYZGJY(lZHkPR;3Jj(oNmgLu_c}^i1}m|zUqelghRO_|DH+2 zvAEh%v?{rdve=Vc79<#ZmIlv?_~uJohiKk38?VRouVXl&;RrW-SK zM&8E1<%k;EB%a8ARr=6GWLFV3JLlrfe%nex)obaN=Ey~H3-Q1`<75(%HwtojdO{l4 zQaBWGa-Hznh(A;mV1sUGi8VXJ4`Z#F6UXC|kL*dcwb}mj8a*<`Z|DJ3a5-+LSjm@0 z8a=~Z{%$}0Js*H56)gD~ML;6Tzsj>kr)4*%42kX@_Vgtz;qH2d)(M7-m4=6w<%Xz5 zE8p$xB&-l``2b~{WW=6VuOD{EDOd6WW;7vlIPcZ4cKjMAc>jy^tRMS%%d^?)H+BE%W zm{a(|-Z&GHApM83X`(S)^UD# z1FYF}AR)`+@>YF}2ilkFjSE7S-kU^ip{5lEcFnv=f79VnY1W$h8x1prxU^$#3kTD~ z+LJx<8SUrnju^-K8v&0?=-08$tWS`8UT6n=?P~)BOmddTg@6-WmPlalJP8X29C#5@ zDv8KMCf$!H`&H-+?v-v8eH8y^H`$BC&;(E1<)XF^JD#lT-p~IXGAQhiO%J)C^#J`5 zV0 z6aJ(uy`CDuMMN^TI%c&>VN#Y^PVrM>86Bc8)uI_fSQh8FJjoQ2 z@ygltA5xUC64J^^6Xu{~H;!(!@G`FZUY9=eLr(<~X6*}attgP*P$$^s6_xpX6XYQuV*q@(OIolJ73B9CU9{6p)N-$s#jWAK0q z!=$=F#DO;&XidCYk-l~awaHcN-Oq6T6Q;zL95vJ`SG22&%X2gaaiWFUSQexS(!|Ji4UJ8F{6k^2A9x!o-6pkZ%oS1jHYmwu|;IXsbZswpf; z2F@Oa)EejV|N88}8@H<9EbB^HZI;}HD7AJoBQ5`up!Kla^HPVnVjlDNTA z3W7HS_E8N!a||zvMxls-4!g3J19Dfv6W;>$0m9<^*Jex}=IR3&EQ7ZnW`=G#-C3cG z$QiqJtb6hn-xd2epeO0`3m%o1${UHh!05_+^gsDx=e5RM$zdC|p*i6n62Pb+cggGw ze}+_>)$gP4W4xpbH$lRfoa@d?r$`>&S6wj8%InQOoU2_uPM)eY`P%!L`EGxAEnU)) z#$q_&@m$F?#B@uK6^wacQS~xbg4LYKj3095iM>71_C+-F+S$i&bm}?gEWO)&H8utz zQaLK86kS7!*|j8&{N8QJxs3}<<@Xg+xdS$0y|DIu`k)D6TrXe2{fc|-n}(a*6=w*j zH2i7|eRMKMp}iJG5z}u;+}kR6?;AXK0o=H^WiWeS;Zv1|v$Oh*@8H`2z78?eX!Sbf zi6Z&tBqd_K|Dw;6XZ-k!pGVNhRVMA#cribX3v1Y<^+lpa&wL zA#H@5X{BCL;qETKFF`VboTsCdY36<8LR6N_i59$ukck&8;<{`?^X= zDG~gzeV|ghX)!!X%W5bylHf37^&m8bd_z~{iWS@Yd1OU$1YY`p3HE`5(St4^*`#Ym zcs;3IMlCYSPmUl)u&6Fc{1r?-f~;!U1HJy-dx{@b`3TW5`h9FBGuwEeX(0Vn*9AA(XM_T07lg^oh`w&>TXc)=^s%Wl5LXGe(spov+hDH?PiII6N>@^)z+g%U#sak6|>7jbMKJY6Ewjx1oUH!HPX zD}bW05T|nEIdloJA~xc8*%BRHwjE`i5b08fx^6BVb}XT z-13jBX-;Dd(uF)v=m>e#&bBgg!Zn)B^8ydK8zAA#7X9f7QN%#&XG;E6lBdndl^xu6jlC0Zk`I{Wvl+X=W`hqF8m6P593jU%@_s3S}u z`g}@LbAPXoAA%0c;!voO$1annV%&6I$;RC}LZqqvUq8RGsbQkJCVB>PD5${ZJtNPo zTqq#N>+sVlTbgp*gD&(#CgcNAg7tbRiY`IZS&E}N{y7)U2^`-Td0>){zopFu!W+J) zsA-TxRQAzuK{z}_Mpp}jbv4)F@K{kCCD71N*XwYSsopU!Y|}_Pf9hdvDJAQ7rIl7O%0KNWN2!jojyqK!O7QKh4H;kL+<^jkaEwwO1>V>+)4+} z5hCBv_t~xr$?O93_qQ;7gy8AN{vOH}rF^EjbQXxBKlNs&)nVS@F=sVARc*6b?bY80 zS7(ow;RRBo%o+TodS7hk9~?|`NU9OM#U|C9fBAaq)V!u2djI26w|CY9ZdP8C$f(?L zwLX+Rue{so-^zJlitrRAG(QF=GE+fnK_&msAh<4>#j2)ao)c*! zj|~x5^8cT(KIQR5JF~Z)xMhu03BZ@-<=!&{BI0?w1LNg6JOn$FeauuS9v21iBT(dE(?6#+Z^q}N9djP4jszGB>mVf- zbJKiwS|8j;V;*T{xM+9AZ2Y^`!u!a3zo&Scq4~J*){(|CjpXnIS+Pb-92B*}qB$=I zJzcbFU$obiFI$q0t?w=yT(n=s7)M$%NzWTc0zwb1SFfDijs1vU?85Ld!riPSGzxB; z3&)(y<@cd;P+&@#>{*TM%g;DM9YHdbpK)LRU?p&r5XV(7%3-v$@aqn?04r3;$iNP} z_H>N=FOz3Y^R4_da^((B7b(yUzO@x-&D}iDX%Ejdn`fND_%il=uFhGbfek&EoL%%xW49O=c{lj!K5*MpQexKY2iKTP-sC@nHwYR^$>W&%R$ zgX|HKFmr~tn%&m@qa4`=`GYD} z4K{CY&O)&ULHC$-HSbhrCy~R@d4p?M`-sf;JI-)krdGokjB@xHvHJVXf2%^Qgm8|p z1)f^WxB*AR$UNVrv?1)jIc#DpIS(iwEZ_Qe|FT5P^>DZUyXPZWWQR#-tV<5^DAR%p z#%6@XeJXE|cq+3cIv^o&5_whA66cxnGu)Ib6P6Z|va)8SynY(CWyFY=$Wqtq9;h7$^Nz$Ux)MVXNaoH zX7<)8AJGvV&E99WAB!RQ!eved34Ndc5B4=i-l<~dI@6+J%+#MLEMzxg&ROZ_D_F~# zE~u9A?yGzDK&)uM5*aw}?s7_UPgeZW5G=vN>p7?RGX;O@>D8=b4Qyr6f4XLv)Hy`K zi|FFQ$bwU}uZ>vo93>=>CLw0GZ%?Zi&P#F%`C7zVKcJ2#Au6POF4@=r$lnyT65P%4 zYO+mHvVxIe+(L}U7hLOm{sDad4>dk$LQKKzO~J#|MKZz2zT;{5(hAk(BxsXMEL+fn zxvh@B==3h7(bXLLe!h(r4@a^Us*yto7n!qSkVt{i=pLGl92b}Y<^{qkegQHrWP@D7 z_oD1T{~kenQG#iL$mmi<5+&7V1(xMbKP58aM19%%%NOxoL2C5F17KaL?0o4dNfq9ijFOB9ttu%D@*w}`0;Fc zIk7%JbB%ueURPxHA0zQJ**VI1h{&J3e^VR}_sRR`!#>O2nhH1OcQxiI$bk)kN=M6G z3UsvK!O}S=7?Kqe5^9dTU~n&@`+qoeNpE-O&#=-Z`!05^O5YA-9EJbqb9Ci4ZYB@N1+2-<en)5i_YP?gc#HUKa1a z{?0+n7So*ad`TqQj5q#>W(uS_|vd7Gqpe+`F+8Uyx6BsAqm4#Xm# zv&809qH$?N2#xx-{|UO;bQ4f1uKV{UPLG{Dq74RlQNC>;d7l+TKKkUCHP<+HZ+AC6 z`la8Oca@`Drni5bRVQNYyH&CraUwa^?Km6rzT414y%Tj#dHwqRvkH67^;h6qssQe# z(wd%F^3+A9?cdca{a78JCvg{Ns{41A>JrsTQm3~Kx>>u*tgHovW%Rz}X=j~Xg-VWp zG|8jEbTO-}H~zN5w9wW2ak@eD^9KPxK`$fv4WjM(u^|d9m;EkfL7OmIh8$iZ<%r$L zXVU?nXr-bY7D9i~P**7*Wtu~CwHZ!<8SMd*^P*WZ$CvY>7kA5jrt%Qyz2MM|yDvpK zoD(DnqdKo%71y^-l2WIqMM`aY0fxB=#}i6?@2ALR&qAY8Z{tJXb(_D0ckYR7ndDY! zS`0qrXaBp|cvx=6=sBU4oeg!03k4vb*FL5f1Pye!DPh}=MrR*qwpU%^$|IF1*tDf z)!ydetb^4z$Jd}YEp9v7FE_Qh)@_u#B)T<50tgXf_%Q{qPWe>TQ! z7>ohp7teQ61bKsZ?Ir!@U}5rMyvlA3sbpG}&XbtqioH9~(OAigW-`YP6_107QLH?d zItO?Hu`tdx;H#Gw;AD#eVx8*R1 zk(qA}_wDpk4Pli6AQ#;8;q@2uwE!WrSlgQ3E2BPX;(0mRgHCE@RKB;~5Kh)_p^gj+ z(;o~Qj4KhfzBQC$QKm(<*V`!x_d+y@L}nP~Vtllf9A7tiow7I>emT`YmZ;s){-UzH z#$$B6Z&fxvF1{bXXM&YAs_AytD^r7cBpAhN{qp9FA)EyN&?;r%CZZNSBL!}udO-HC z4~T=?6eExR)T31(wiBa-qt*oTfE7(IypBLx?{+;xcoz4mLu$wUi1Fq=ki9bt@V%g# zIjEr_&D)&Vd)HQQMR!|;KIzG=s*qA2>HgzY%D|P|53PW@Y>tTea%j4x;PsR@jbcUv zJs4mhcPrT4vKWQ##6K7(F|RhY2jPn5UWvqn5%%>{YPgfRntM$nc~l=I*1pI+mh0j+ zNAe@+aiO5PWpfd`g8b|5*{XHHrKkQP(#Z@E=TdhIa6_ikP8c1UDyhBn0b zcw!A~oepfh!0!g!R?JhK@aLe)v=6Z>-7~ zd`FM(AJU9-{s^S)SP@dqx_2SrIyZ92+o@i*8KB*MIA`a6b*0V)_>isB)?~`MaG7uB zIF9H2_zL(&XGnzNfNPKIIM7aNi&oO!ksbaIo`aLx)BoLtm`YenB4;GF?Kn2gh&7}G z(fuoI?v%knh3qHU_5NC#jTh{0;NN;daeUPDY0js1Z-V80FFP-*XGR`6sV|oMKaesN zm)Q?aEQbO* zHv*`~i2ByWC#D}%RM%^pCn{t6Wquhvuyuioe}Y`Vf)Sh2)kfc{YyaG@3UjkWRHG2f z(3lwU2s?ASl(H?zE<5>D5htb8+=LUB=1uvcWlb>+XzYY*UTqWXj-W%f0 zkNVFOpISO`fn^50v-gW0M0+_lzr|({he2VkE;%4dfd*&JgQPoMPMh@`{jW&x4<`lfo)~HTlTjpIdXX0qpQ-=cj$Hso zE2Q*=Ju4(WS#-5C-xY6CgZP&CQEaX6sQ?^%#iTrfr`*zP$>DECZ^Sbcw)!R1Dhe;a0UG71!y#B0kIc5#C#tZ`9(o)3dum0`fOVB7X8a%nCKCUsy$L9J4;1 zZ)<9`{~Pyv>-p$KpPF`0t!5tn!c6jDPb|>;G#2~4(uqO*%U6iP0&Q}YSdd=zS=FBJ zU`^fwLNheA1bJFFV-leC-k`i(jGs_cDVL~~C1g`+;=N381Jkd|<$z<7{7PYL~Euo?PyNq+tBl1f&mDvN%-%hppENq)X1 z2>x9_jiPjqHOVcbijR9c>>Vk!S5d4`0{5eQ?O*`ssww&TJv2S7O@gv|mEgDTO3X`a z3SS+nEy^DfMPeOua-&pA!5X9XWGj>g48mKDZObvf@9S5L>CAJpsx$Ejiu1x)LccKm zAaj90O6Gfs)=Ip|Z=02dN&GciDZst{eg4eO#9~UB^<2Wohm$^dU@^;)%>EPSm|w5F z8KJi6nR)fRXsNY1b8~yUty?5HS@8A^DR-i98(1mg*!$jYovOLt^8h`tMSOT?0h?cPa2C;RE-pM4PcCnd!# z%k#%-z36M6NcGl2nN}wytQF7(t$U0^@%n$3=~L(56E!<-{0w4wOCpTA(yMvd1R$Do5J=6&Fer$_o}AyWt3^A@G*T)GXbxMMjy!2e1GG8nQ5LQ% zI=D~nc)TtSou(_hXCIcW>l?Nf*0RjWG6}qjNJAF%;thkkt>z>it2X!p2%zq$B~LsM zBzy12D+!j!v6h87`9`+KV-*(Vj+V&*IFiUny}H=^jCm?o;>q_)N-rp-9vKPyFS;Yemam)bIwEkyMcmI985a0}E@>#=4 zL|kG-sa3|XwF3dQiFjgavOwL74gyJfV7O8uSl@p#w_6NX1Hy&#^C{^nFew%U$+ocX zN~u||{gu*LNIy&`JPZzjGsRKW&x1pd!Is6T79UENmF<6#NjiSem6Vl?Vr`iV4?8@v zgyd(5d`VGz6YGTph^P2j346^5Tg_x;i4cVk+)EPec6PtKapBc*#F+){nr{kYOtOM} z$|UB0f2Vu*_E0UL%D3y>BbDRQ9{KU30!zLx0q4$=!pPyzK63D>a)=&1_mnwpYC_cC9 z+%%sv-nX}W{Rs&7)F{af&EveqVL4-M9Vu?pb!lMAY6VO`T3p38T`>elt*;0N$@r`7 ztgxR%Ruw0!3OyBN&=6QJ@5!VhKF{>E-sUE&y4^vhx5x_~7)I$&DV zBxXD~GU@KSowc!7YStDhXb6ciUs!Xz-{VEJUL=zew=V__edJ4ltqX9C=QqbDKk}9j z5x?W>^^(b1hQI-tfJ|FYFruM;xuyJw>6tASOZ zu3trKEvylekIS=5>$c^__I7M90h>0)&aN^QmK&~gR-TOAFZP}1{i*Ex0*_!LH%;74 zpA8Zf3tIYywY~JL`Yk%1F19!TkS`f+Cl97%s{ z3?R~w3WIe92uBFH4;L2bwuEU@R*Gz~Hf>?d_9d$KXc>E@2c(FsJmk`*n~LTdZyexe zrJ=uXd1PzyFM4}{XxP4ni8H~A0}!sqMt672f&;`6Ru-Le5m&&u?@r)^VsicctNUK! zklBmgpMJA%vXCk!%!@!Q5r6QdO6wei(sl2KzNYWJwP|eyk}2PO;&l=_I+#4S&Q9-1gINGS0y*)(v}n_ZH&j zU{fQx-c>whl^woB;LvxD^{(b$ZeL0ICPAFLR1(LiKxV>jpREpOf2*^Tnz|-w-*pIQ zSdO%%N-@?&lFb&ZsT@QVaxJorZJ*%Kl9VTD=U-|AlN)G8HBZBQb@E#jWohjPwj$G9 z#$nV6!Psp9?X$B(+*9wVv@QQVFp6D*Z&-g0^voB3yC{0khtJ3m zg1_Iz31k&_r+x}7fFMbyBuz$^I05^A@e?oG#41$5VRXFj1LY!Ki+AEJzS6_lJx`x>SrOi?Ke4UgA^6E7d*_6gbtDrPTh8 z08r`qImzgqN#VW8oL4=HFCOv;_p}31-lmt(EtB}ggVGVnmf4V;UgBoYZ>g^5dU49;^a z*lup1JAn25x=V`m@)lTV$6s1imCsHNIYu0Y^t`NN}{_0_)!&Qu7-Wj_dA`+AIvet$6x5Lv4sO;;yZqced7s&$S4_QQl6SngjCxe5qm-bbt zo4AaH-3<`29#L{$Ah83HnE30>Pw6@iG;;VX_ze}x{+?9q-;TGRA1wMeA4;3Q*KyQ5 z>)vtSMOg%`@Cf`kVO1-ryv4ormEfndb~wLSdeHsNQ|s;j_JtI5D_fl0I z{I}m>f<#x=2o&NRaJ|G&VUMOKw-)G>32q|}W_7jvh(>(Rjz^iX=BYtw+Z=)7v+f;>A<5e`)5gk ziq>~rU#yogQk#YC0|RxDEs)o%w?OiZBk}I0h-0u<=y}_+%Oxbni|9Ss>$!EC74vAo zv^BwtWtFfKY5xL6`P(z4;=(j-NO@L)~ zs-{9Ci~_z9tA%3=`=>p=-OQ3DAkBcLALH?QKCv!3Q|`BZ{?!D@lit*|&Y=D9=04lX z+g?jozb(z$$*+?;JBGpU{dj7gX2Xla4}Yw`at^cYDC*s-6IVb;`wYoIyfb+k&C>!u z0W{&q-e0q!QXzbb(!?TiaW>u9&T;yBahYm8uiAGh-e)HSt@y`+(;ofaWALTujjiyF z%SE7Duy+K{T5HBDX#8tP6#msJD!?)hYS*HA(zA$gSi!}^x>V;Xzl49x{R9_ij_uDD zUh8S0`h5sL$kHnlvA}eVMYWOe%E$599LE2%vb-)z=69NXL)bFKX2?zlL+~ww?#l21#Vs% zC(LaRNE8tN1j01f?e{#RJjHg8bsX9D=8@1_mka)0^3iAqT?*-K3I#5kdHI5MKXTMm zI56b0ACNcz9>Vfs4fb0mz{W~N8USbI0eYQU2;<<|z%Y(`76iHKC~p^jo;5+E0Q{Si z0-w>flD$NOQJDGZ`tD|IIO{H_QW>8l6;lJ)nD;Dw5!i(OVK*JnKzgmeSRHpa(RHr12FfG( zzo5P>f9{0qhH)7gbWW4r9yl(VitLGa<`?E@91I9=e~?V02knT>A$NT-}TNc{_Jj_@gt zV4Ad$MHgc^!v|;EcIj_|1XHDF48e+T-`IfY;8SKwQ(a-_>|kkpUYl;DV>vBD2rAgq14EnShIWi?+#6)ymJ*G+&vk7 z3!fXJtU@i!cHV>b_spDe`D`GZ!tP$KSJUVapbO4q$>MUU^>wLSU8@Jd>m3uCH_yde zAgK62i2ekO25|fl_cKUbLElM1xO<@~mz4PR!OczcTKsR@mf5WUxX{4E=(ms@S=3Fktsjm5J5ak3=*R(zb>+1 z6LG^-sv6UiSt@(E`MrSSUA0iEEh5yg_qvP_Yz*n#AAAjyM_ebURVmL9`=1Ue;NGVe9;2e{h`4&kU{23hz>Lx7Sxt<($xRJ9=D{lp~`r4B=9g;9YJCz z0{5`@UR2+b0Kesec$qNN#i6uVL>EK>TPI+kPA!Xl9)@Y`g%tv(4>vfAE3EV321+>f zN*mYiNJ~;haOHqLPz~%PkHYova%ESwF+3H_2aT>5G}dmY6-WeXA#}|KU7xJ=zn*P| z%o-GVm-u$7ielo3j?5Xrg6--IF+YeNwfk?C|C%ttA2tC56W)Iymx4t)!df!ApzhT} zC1OI<5*24=r6yJY4Tzs%FL0n}{7yKpyH%VP7Z{65jhi zysY^9z1&_5?6?W{*1em&DbW^CIiGm!UM@Hl-_2ex2FApm*gZ?WxLt(wd@Z0db_x%u zoB1ti1eQDZohj-H{IJR>I!ZNRZ%mWL`vAmo0or$1YDWK&(LPdQzLpq;MYNsO9~A6| zv}O=rc}NVM@#$l!;2g+h$pTA!U4YgF#)JTVI%7-X){hVPbA{gz+6n!lEb zbZ6{)M^ssVkl9mpM&eB_OmFy?OpvnIm)t)QNZ|OHFl~lLt>8O@FG}9Ccf3xJhu%Hy zvuwLFZvoRPsSMKO=@`ZOJUY+nEBl(PFs(%OOQ;fJYBci%7v}j8E289FYy64g({b6i{3}^gfn#)<{u>#Qh0&N55H0G{SgHkn$zH ziJ^vIZ(xN%k4ngG!cI)8-1-t>ELi-uV0;r5z9FIgddHnM35wp^gY9Eru20Ne0?y~# z5aWt9>9Nm zW7+{ZP0Ca!F)cp>>Zj*9hlSu>_}vcO6N&1a9FMCjQ>oB= zi4obPxHWeX$-{s4F}+3>%~JNhNfpUtBw&M6SyovnN=0gBLia9sBRQ8zfdinL^)EVu z;C-txNwHEyGFj9U+Z)n8+xa7Ahg@i7PJ?dUd3Nm5tUj*pX*WoF@IR&_t&qxCik3Y+ zdQ%jE`sCyrW$M1#CVTW;-U{&pHLaM5^I7gDibCjW@iyZ*0#k z9{ZkwG)-dWw-sZ{hu3tXe!@t_%QUys_~}kmA7cNu?Qzfxaz6;@RFPM1`#|x$z?b-( zu2?R7lZCcIdWpV_^K5jYz@XE&Ma-@tPxy=Vf>{Q|CJX(Pa_n> zw7DdaJ?TNu(>UI0j?rR75tiPs{qWURady5<6aCIUGN9u{1;MmG;Sx!U=gL6(dFz$( zlCLtvx?RpjXPkwJ4JRyp#bt^kIb{iVmv^#7AbSrPVR|^YzNcSPK?`iuiWmAKHCeW`{UIQgs;KxFHHI=Fpr-DbkIwx#9qg3Rn~!m%h|j|0?VGh zDSeMc_+6LZsDCxA2%%q{IBF$rWGnBf2-d~o!kMS;m9xPD;~ASaF_UKm^Xv&pyLz7V_uP*-`udM{$420IAaz@sEcZmya zs+?BDuOEjN9aZglbikH-F~j?Q^kRuEN_?Kpy}rA`;gY271Be)cV&-ZR=|m zlm@=SI1;6CpS!7^uqkMg6`)hWFwrI;_gzH#04;n#Say!pmW^`B`^lUBKLWpQRY?9VD@3e{a zJzlwS|IH(@Vx?uB#o}(Fyn1|V3B5s3U*bBes`rRTVDE>gjsZhz_wIywUPJsXr5GFp zk9xA)(;&|IG1tHlFB#W_(DfBWs%vN`{|mvR0bj>x%qexHHvHjFp83d_24{{#FUuhL zf|g+*;a5mWX_rH0RlX4ZSBc<-+or!J*~3*+H$BYvz-u)oNG;O8ME|pa{Roi=@kb1wnm(4;Lv1oT51#f@0V(xQ zWd5%-y;Q}r42g>3W5fEjQjC3DGu;)EkdT0NtQx%?V9WMz5kPHMt&zYoo)KO8d8_T< z(dSRK*}TB~=|2o@L*BPeRJwPm9$oSi=3H1XjEsVKZfOU8aJG1Afy1*TV{7Kd8A5t# z>Lqw9v>qMIq)lsfuZy$`YiFski=InSkJ%J^5kiRBSD!v?#Yk$deht?#GnsK`cw_|J z>X)t*!56$by<>`Ra(uemN5xn`IQ0!IPR-lhUdhCF|5V0r{cwf7^bCC>s&U+TBiOrQ z_G#(wPLEy?n84%9ync&O9OA2&qyLM0m=)G^ErUZ~C-Kmghh(Ba z65}OT46tDk!i|bfFU>YuB2{`$s;+Hrh!?#Cg9-L4DNAz~0RJ8Sv3CH_4C$59Nl>e_ zsO?2>W#$PZrk`NEpS*8u8zr4SuOB)2RttIrA{eVsMy9sg&aa{>7)cJ?OJleOf=N`j z?L-dKsJ@F+0MMDKm&9Ra@udemN)fYgR#KU)T)q{ftW?HDK*an>0$+J8{H+il=~JsM zSAH-afB9s##?DY`l4fX{9BhxsMG`xdj9%P5F!sw?L~wgB+qi=J`JHS(P5?cmBaR^_ z=E^o&yG{A}Jgh=&8QV^jO1MX}t2pHcolZ?)@(#75c|Q=-MWJuRra~06X>5%6#xzevU+_*=a1`n59d5<9;m@6PFWU+#7t_bom+@uAgyqEDBB`x8UW0P{=o{@cYm z8S$^t_`l#aUUdj5h4HAL`^Q1W8cB4*W`)nR0W*J#@?gpjlQ{*FIjN)lTld$_cw16_ zuwz+plaNSuoo|g#dKir6V^L_aY~on4R)EYgQmX$lh8`7vjpEMD8vj24a6pg0y?i4R zAphGg>mOOWRXs=@VH{q(TtBKvqD+SWuDT(kvB6AkP)i7nrOE;RUKmR@0Q{FOVHx!p zA3|tdS1nN6Eni}J$BpTY18Sev`{*6U2=q=S^ge61fL?s)kuka>5k~yK5cr?|hR7^Z zr!Nhp`*t(t{PodVG#KDc0hpsMVIFsF$KwSAX0)M82Rx1^Fvr`|R;gv?#pH=>2Hex&PQM;Z~Z~|n_oDg8{zNs)uPIs{0zL;qY}pLs-67!T|4=S8+P(j zD|Ye)i+1v+>QKOSq#(yG~9h<%)K3gas~ z**eCU>(71Jnq$oI=RR%CG!FOY4z-Rl;(PH9oZHtroa71_oZH(vjO5Zu?v2)=Bqt&@ zx3vx?xfqh$&^nOhdXU@;tpiA|C&@k2+S7`{<7@LRqVOJ86h`jC#5>}xNKWqM=zg#b zy-_;+s!Nt7Sdj$Z?OrC@v6k<#Yj<%Exc1y|xp*y~P|SujpEA ze-Nt#n~p~n7^6+m$8et-JRyY0d_D9j={_YBS~(DO`T-Y~>;S6Mf=rj|hY?;kwkScr z68ZGf?e~fLg#OywC{<#ep2=NkK`BGbkChItQ4=kfVhw0XGb?k&@2}8@SmWfCjS{40 zo`GLHzmds^l4o+vjf@(R<-d-2ql6j8geaHmBh8D*N(DJB4gU9Uhz2C^pJ*e7Qq__P zmj6{R0!X3$Z{E!09%_=)ej7g$d;l05p99{mfK&zPvC}HF2d+3heK^(s1t6h6ed)yg zNoh##pg%2YVVPOnJ6=3yKj4vCs*q~6Q!CS_8~c{?s! z24(Zu5^CupNWFy)Q=-Ij)hh|WoxhHIq-q4j9Wd^VHw*S|e!i6K4;{|#s}||f0MAUX z#L~wlVw4JrB?`vau>HGDmrd%Tk|OoelBK(sUS6tRRTApmC7*3@*Fa8+nZ<>; z@M&lo2A_tOtS_~`4{+bOFQ z$~2_xEBhW+VtK<^$IB~}%xUhQ9+gp*`@=P{Xt`bszSs{us=zXN)gA{P>r#6KSeQW| zw=u4(>{onb1#Zi0+wQ_`y%Es9#PUAzS~lC${O{n*}U64M{(4sF(6VRf=ofwpiJ)>@hZs6rgOnCnd zXt8CpBQ`G%yd{%q5QBA6VtLWg#jwktTkD9*>kR)l`%6|hA`QwS{QMx0^RI$BP@n3XvwP%tR*-i$T+40{3Iu1nLf<1MqQ@F z((<|BX}$&;`VUW__Zd$7Pl;vTU8U2Yw9sFQfMzKZ#dM$0-T0K=H#YWa+FKH5oL8!4 z(rHOz(?Did*=^e#$KKM;MqH{T_BxuDpLHlpALE{Ogc(i666gWP8W&|sz}oJxjyZ~I z^*~oXO;aI_gJc6*x-(tIcQLNiaT7*kR0Rep|YR**3PiI1TK zWenON+UTo$>iV5x3GpSrhkh~&+Uy5O#Gq|nTU~7i&{a{UIfDI|5aL63GfUXF7VKbE zWiUpmc9j(^kg&h8u}sz2U1h?%A0nN+K13M;UOKLStT7{VhxO`b8OK;?KMuCaNuzPd}JDR}OySDIyQB}omsVzn)?cPf!aK-a0%k{%yjQI!XmBfQo(j9wQ z=_a4{{piA)wg9|0=^N5Yq3kPCW^(Uk#g+%W&*7b@TpvfW-;2>O17T!FuSzUK-0{kl z);M=4j4)Wn%fN?eFbN*aK^H!Qb|h|jr<8awVvE6x%hKKbwqvRKboz@H-+Eyb=)o$` zX~)kB^atoe%r6QwZ;%!xl_Vg%zhowqskPo#$ z?2u93+yP$cZO_`9by_qG+BJWV^>`@l%X=Wo5P_zsD+lF^EukPIscs;RG9;iIG8#G0 z;6A#6b>o`d%odftUFx+>aY>To=X!&^!Zl`adv9QSb-!6{RF~i5x_fA0LA2G`P0; zEIkc91AG>cwWoVte1Oj)whZ)i_4_PhOCL{+A=YU2*H?L>^SVHNWs$E&4^NcAM12^s zCC0Oh`Y@{j_8w&-IuW0Umcji}nod9&+cgm_g8L^i&VGMIVo7!gK1T+bJHuYc%byb8 z1@4~z6muYA(W0>k`~vVsnE3JW;1|fKUoeBa(3(#D0v+@$O|kIRJHamqVWNy}e!&dx zL~Cj3BM>Va&}&wGGn6qf+9*RHzLQ|R%-n8u)}q=jfM2hl6sRkt$A0$t4POYcEcgwb z3{li?2q%66o;O7r`GpW=m?4b%2hq^hPqoUjZe8j1zvd}wfx+%uOhY>UH9@; zW^g=-cl+|#M|jH-2)nr@5O%)+*xLx~p#VD{V7>)u^UodoDq>5d>t4Rf4DM5aJ(Fwo zZsGe9U!@=MRXnyNcbl&Q-bhQEuhJKMm3~MQ;Hyj~xP01Ii%x^y7yyp}Ki}=Eh%G0b z_wrR{a7zgu?|bj|RZ^M+U!^~^KN{K}db%TDWxMlUzRC=49BF%{_ikV1H1R=ZIs$!_ zk4f2-fO!P5rGbnV2FI>MvE|?1KwsqynMXL4rbSmlzg_>uGKe4FiTV)FffU4GePw{5 z!HMTgV+_KaX%{+Yis{EQrfFbJZ#U}zPmPynwSe1RyQ~9W;`QsHSndFCG{D0!Er;XA zhX%+zitr=mFL?b$Gv>!_4-fiw+^sVOa=ZLGmgR{)AWPu$hBKJgG2>Y(N1^R24%{}j z1$Vc-iL`yfgOozMLaW)=1sTqRc9%iBgYSv=M~-{rJ%_Ztjo@A04)17!cNDar0PQ!O z#y*xe>ptIH8zbmR;&`!T9f6Pl?XUFrhGg0s1``PLJ@=Q!8HW=)dxF(a( zZrS!bmz74*|KakU&APH-%q^RWc(4L4-(Hi_v3{Rci@rXkK(C$_(&p1`zTf`pHs4Rm z2)>`#BKL?bHywiSC${|L6g)qVZJSqWjSleqQj4+gx0de?l!;g;riKz$;9u=v0ZS_G$fMynVd1m^JA^$?l#Xa+#c-teaj1;-yQq^ zf6tG#{?~;)zg2eZ`R%p~`>(~SnViUraqQ;)Uwl8AJ=pgXTk5>H=a%zrzMt4~f|M2W z*!LUZz`oxpuCKcz-|v1t5q!UHywCSL?ezJ69@}B!=Z)qAeZO1>E*ruJ`+i?G`h33_ z(1*+Q3MBqPf&K)&=n2Wo8_CsHivJH*c`dJ)8?qnoi_`+=4Ns)d7`&>-W(em{nJifml+2VU0fHnqtok& z`p%ofYNB?C%$=+QB_WlemGaGJLQ;LT#64;|y&kn=PBi|nTHm=+RTKGIGCVCBhRor~ z8V0FmaXJ{kbjrHW2|q!L+k5IGHbrj_uiO|KR+(6v&?CGOdiDo^fh!9zoyje<_cCC= zxYRz7-OrtIt4XfdK5YGd?gw`=$raiol`E`$ywN+P%(;-zpE_?3-x2oO_Uw$>&Xt|F z%gwPCxkOSgG3A)nm?Y+q*W}x0bC1|H%xvyQd+PRIscggQ3b`{k1l(U}m`tu8HuR?J z;y?D%qANxBp^xCY719fk)(uHS%OUAggnf}K^Y>PFWmX!W){81XEr?>euu>*MNSi`An3yNgEDOVuOI6AhiLk@AOB z_}#G_+sDochD;Kbyw77hBHoYfh>pRQWUO;+u8wgQ^k7is_B?317Z;G&15U(!~A+!wA*-vCB(m7FCEO#WoW=nmO#Fl%#;3rlYl&xeuJLwx zWQ|CvHZKCN?Z1vtCgVs9_-(>}zi-T7x|uuYido#Be_?yDA=dHYPrzrtTIaR>=ngZ6 z=b{Z-vIevQ>K|%UGI;h-27YuDq!373!S52&Jcgf`uK<0O(5P^Gu|M0dJK}PPFO>gF^lsS8&~PKR7rP2iiZTr zH{mrfnN=wc+tg>FJUwDl`1_HY<{9%X(r~<6;}nmo=NLP^O7Axm8-L(4s%fqQubFiD z*BbbhBsZ4-z>nDQ1D{#(1FzX7X3@r|_e2}Tm77_ab*f1Ie&oL}<>P?zB=;oaWT0pu zrD(C4T{sPBmcD_RMgF-ZOl;8!5_wN~dEY#b6$Hw9Y5r>DuRGsJD!9dq?F z_6w-h%iOrI55es`+lSdkCH%f?AcHo9C{vB8xwuv#x8X(x(-m6GA}yLoi@4?%S~Jn8 zpf#7@z~}FYlwHXR?Jdyt6p-s=A z*L~pog~0uBxHrSN+5p#M&<#I@`}<(b+yK{y>lJivpRq;oC6CCM<2|>gh5U-+1{sNK z3%Nlzc9+kcCv93I`K>Ik<`SzejS-!a!$_1oJ*SZSxmjX1m21J{yX7@6yu?b_UgZA? z;Il8z*)~?f=xRC{I?*V(kPE-@c6msyXi#h>O8dN4V)dq%SVR(0`tCW{9|rU)KEz`^ z;8g_IX23c0aK%E=d&2jzaBFyfjIXsTt)gv`>Y2RMiE3k^eodW%?#sF2m1yL3IN}a5 zgi>0zTf2OsWN;Zu_S)7!e1G{n1$qshk;4<0YZ3V1z5FYl|E$h3$(e{skFD4twaR6k zPp$)B6RG7NXqeqac$E{cYnIH}J?HWq_1u!VyXRh>tDaXfPh`0OeqL(9 zK2A5@R4%W%WlQy7h%4P=Z0~qP$)+ ztU_*6i+W*Njnq03Va;>fR@6oxdlc$d(Yg_aNPpdxEhP)fYEZIyVK_do1~8Rcry{ql z2%>aBzoL)jz_ZW&h~=ftlM!A$hj|5FkgPH_Uu4-y;_4JSrzvo27?s%g7Ce4G?bSS8 zaFBg^+`+1azAxNi>z3!}Zj28YaiYMw3H?sWu<-v;j$y=FMH{23wMwD$Ab9TgHSi7k zE-PQw#;G4kZ2o(K7Tq|hKxJQppAWc)1MZg~uln)sIT4X%)IH<$LarI2(HWeQ%!yQZ z1GRZOji-A8tW@0gmqNU&q1uFcr_=VMNc(C-%3bp!h1^lnzJ=(}0Wv!>fc$pzVktDt zaocu!upHgC*F1B}=g+}0&Mn({mxftkJ#NppAi2~!B2;SC%Z_Es>mKB#oxX;#5@~F8 zA90-Lc7w#fjfy2W-&jX9jcJU4K_Sz}KKsx1iXJ+7pLBQ{)^n0p>Rc7>)C}|RnstLSLscg&e_0f{JX^flcrsz!(+W62R`r$IFc?^$~R5rjQ%eBr_(H zeSw8sMibsSIu`0rh4f^#qJ#Rq0_rPC{q9hA7$if7^`ipn%SrtPu$M_tzehEeK?svD zArbueb=86=U&wLSZ%w2*!`4QBU_t>s^&#F;n zL~ev}1w@h&xnjRhU&wuX9V{jA=`g_8f2BYpAbqdYA{pSa7s@{QR+vwaF)Q*{fM>s@ z+Nb&ZuJF?Gx&*_qLBB)|5ZIUgfSiT z*q-*>9yn29)|4CkKDd-YnzO(^13V{+MU_nMSn>oD0Ie%LF_8M%_*7w!Z4lIs^+Oqv zJCZyzf8bG76NZNL*J8mh{B1$gAR{w1idh5E_4$)tXAK>ZaB)Yo342DxJ$81;b) zWrIGbApH}{PQjRU1=1|A9}mI*Ux)kskdDIt=D>9+q*5p!3fFOv9=K17mO-9}aVQ+} z+u{BM+@FPX10387klzaTRVRh($MqCB{zgMyY#}=rP;JX7`twW76LfrtU`^&eOA0n{KUfT~|7Z0?0z16U@7o26llZy|D$z%AztWf^z9uMxH+Bs_J#&< z@Yu~HUWg{KOPm*_eqj}d9?MoTq367|sh;Q~AS-agMMG{kcx_VR1vYuc*q-Ef%{7&` zMG;?sb{%xB1-l%Z8*9L}CDs@V*2Nc3Oy@R{T>_!>Tes6WeG6`D3XLo<6b*BuAq;3c z7p+BwK-?Z{{-)()6#}46q6gn#z41|02NsLDy!$y=QJuVi$V?=DwMY81t@jq2GT3^|D;s z)WZKzWtZF-QoBp8K%t6Kh$R&Q6rO1Y*&$5XZ9>=0&RVnrX!#!Wa17A33hp;R>IHtu zLvUq}-yH`a%LDFv#Q~s;tyqr|?Klot>f3t11Hb76~xq z1V)M>^{!Z8I`Q#HIcv8jnustLd-w+)tV&cVO}~Tv}ql9`k}C2{&yg!G~RLt#&HQqp3ZY1gwcn=Q5go@xXy7ElLO6pZ>St zhZIo_H%%y_zNz3LsVk>*b6RmMFoW!d-Mv`wHJ{?A5nr>ATjUP*HKX_`)Yp8>y3ZNt zYd&TzcVb_&kbB>Sf6H7(;%gRid2St(WxMDdOWs*fmtx*%TJ)oJuF0 zN&w$lT{>Fil}9UQ=ZI66Tce#)bw#5FA@v&5anl)oVuf6%oQvN`jIDc(DFAuMK^|kq z_#>|kLgY1!zfC1Fn9pER7cRFpInr2-Nr)u+Kv@cu{oyEKO|(qO`+Vx@TzOL}UBBQv zX;CG}#QcQy(BUome9D>a1ocMPm{d#F3_m~T} zDf7Nt6i?$840$?4|2S^3+BUly*jTb=E0kx_ayf}8zV@j7R=4$fDw(Irj?|*xY85E< z0Q6g+|4|qNToGD?Mkb(xH41d7Mp(xkFn%u`WqQ4rT8Y$I{N|AoR%_fra29Qo*K|LU zW&SL2bRGC;`xTV>6t9|6-`y1)zs|EB@+fHh`j~aHqiwxa1N6r@vIzYX3H@E1ag_es zn`Ex zD*QF|EZZTE(J+x<_O7!%eR_{RSHs*Y=)s68AG7}9kI+L1g>Tsh5(+Om@b50i1C+uw zP667>F5!0wEnnswOlVy~C|~3pNOI-QEXb8QCo&_=sPD-7ei*y3Au4=kS(a_Crw=(Z ztdJ|X3%fgRMF4i2+F>`DVz+@{H_6e1VlkLNAL#5xp!Xxt`#3SI&)lj0y&}`O&xOeS zIaJ%I5Y~V`fw5rdjRdmxlQcX5ZH9Ca%8tUdCtS0-CZdW5640pOL>@Wg^Csl3(%&w4 zw_44HGO3jkc0GA#RmNlhUt}PQF?C}IwR%czt2>)g`-h`FwX57C0;o-BN9}oDptc90 z_MCkXrS=%KgQ1;t3cvkmd5xnlq5lI1rvH7%IA(|$^&3*(+aURH3}BN1*u3jbCA$d< zx$SphbHBSs05)g%U~D#1Y);wnZ>8O*`%4M5B@W!W)Sc>ovu`>lzb35279mHw{Zba^UMLQ1%AcwfjNmrNao1v&Q8a2#@#rd5q5@6*xTAi8R@D*<_V5m#lea z*+#lYlU2q-PInhgKe&bk(6pc(O?@a$ETKtjA3$k}q#W+<6n^{Aa^%nu4!i7`%s}&& z&%ma9IG%FW;Zjr1w%FTa@q(*+02aN2uvlVk@CsO@5-k4YV<@!$*m1klU4cBE)hO7G z+dT!Iehap7T(iJaT}A@h3yA@K>Y+Ruc>4bR0#Ez;y`6We)s@2er8=N(p95(!!8VFM zoJ{H1>Zjv*d+^B6+m%E|h9%aoy=|6}1sc|Q1ZNpLWcLHZYvU4&k>mEibf3 z5l%i#Xl!(=g8<$XZU9tdU9 zV2pdaNn^x%Az`{EXTn%hX^nJtRmW*W8^o2}epAtP{4DURB+R0k`wU_Gp43lMDFOaV zF5gJj*^cwOoSDotZvTyN&1yz^b_A1yq`YW&q#0SGWvQ0VG8iAM-+QFY7>h{uT%%I_ ziOC4mXTdYuZy>dl57VXLlkpjWqO~{rk$x}{X!r@}`4Z9#pF`>@obNX!@1KMY*$0>s z4McNZ+bdqYqbJrP5_hf*PnNwFvIFnQh^#G)7FoRmPxh2)B-W6y{=df5{Kh9%;JqDP zsz-;mjk$E`$U(Mo^`gX6c;-xwa<6P*B z+WhMV$v@#f--0CLYJcG4H^_kopjU-9i8h6(#GCpV$s0$T{@oNNp24kj;wTWQ<@?sc z6(Y%KStZ_C@?B`?Phqbqacn>Q#q4f%;X9;eLv*;dOC63cXR4-8g}O@7z*7Lzi2e!p z08u=yHf-bcsS#$R7O6y)ak*&Y3caLKyh+JKfJe+YHxpRT!LO2$SB6!FR~C}5X%%u) zoDl(hu7fBP^Lf2gi~0kPqad9EKF3HBQSduTUfZOj2#Io6=;PT%V^!m{5D&!p-!~RP zMBN4ab+7FcH*3PtcVF+lV%O>1IfyX}xhQAbJI&L$7g}*tAeO+`4)EXjT!=RU-)HvP z#NKIV66Cer=Lu|k25I|ku@>o}-5KrLUTvyq3_${fdXKP6up_K12!w-< zz?OBbLM+2T+n0_hP~_*r-a}v8Stg;~J%7>eRMPHqLG4OuyVpfp^a8Z|-($GlEmUehONb#y9cujQ|Quy~%yt2K*??bda&GVoEUweD-8KcuVwTJM9 z{}iIPs``8ww{>*9OR|qALj#y`LZMAGeoSb6vsXb_B)AKybp}iyKa0wzvhD z*W4M*R}C0q|N0>SF`YuZ%BNF^XWi`~KF;4405PT=#8XZIVl;tR?@|$Jzit>mM$b$4 zNv(2;s4kJY{HJI~DtUJmYpA}tH+}bhG3aMX9QDOONA+qg%7)Yj?rreDp;xINJP`a~ zNC}@R&}=Aw<4OX0R+oTWkdh$(-De84LX?PZ4oE=L;C=+$SHOMS8FHbFf=L^nme&)! zjg|UUdi5sxVC7KI-N<1u5`EO1aRf(vQ+a9R_UsXW8j>JR)ze5VpHC!_ z+H@{EXl`My)$Hx&_eNF)%`Ggkjv{jl5NWya??_iCsufCi1d&jpTgPPDKJW^j#^-Jg zTA75JT= z!C+r_|2sWd)V_S*q5}-P-hSj{q#5kW&-xlB5ZW?re|Y;)+RnIwX94+QUnDs}x8hu!-Z%KJCi{G#ipRkiqItahR>Zq_}hCQ)J z?f-@;*#9PhA6Hx&^z0`JbmxcyeUzm|li+HF^aPZz?3aM{91(bOKegcCQL>^BG>p1( zFj(8IPRxx#9lYTLy4a!toS*P6c><-4sq16(m1neQ2!9G#;j2WUO!dK3!%P)^$0yS^ z0itycp)s=^pMHl}-N&buj$n^;1c}wBbIYChcQ}pJr*lc<%R$q*o~~h7H@p}^l}8;g zvh2Gq@S)DBK~H?FKtq7uEJ#~3wMYwm`ROACnh5`!+81~M_fdy1HwMx9Qp9T6cdPsT zD|MrYox)4g>iKP^B34w1SD%#ZN$wWJh*@9(IarbI4uD+LTdW>|4r-3AX=aD)A}T(b-th0>37j; zbGOmD#U4!SgOt`v2mYPvr}chHYqm@H_0gI}Y3)sD{lpze>(Og%wEk?@pqU`UX`zYe z8MuG857;?KNq$-f-ji0I(uyI={gggKDZS}Vp_E>Aw5RkLcaon{WjjjEyg+FZq4c8N zN9mUifzltG!mp3gj~r2i(gO|*HHT0t&^a!E&g;AeEjg?}kA@_oZE*j(HUY%|oiE-J z;=>H;<&nNj-d6P5YV5ctryJ6VM<(=SVYYf2XKK=s(YT5&W$~F=ru1!Ns{pUH5TB2( z(->Z%Httb(FKXk89l?DUxt0FD`vxD}cW3cJ-+kSVe`nge)4rPtZD1(5PT@C(mJfDB z6CUUs80NoS>HrVzt43cuDFwRUIjBIFfe#B0DNv~_5pA|<&^Ap1iUNMjgK{~RdHy*1 z4)P`j&p}8&#BW>t#vk2~3S8+0T#3|W8nOsiWWbe9ey*Iko&osE-G|wqd1bJ;S6O=>@a#(|BT~(fIlX{ zcLw23KZEGQZz+EmS0BosVRo5cqj0bK#p#>5UTl3lXnta`b%;ojHi->W9$Ywukh#ER&Au4n59eUL1jhk@hYA@lX35AgZZ8m2R$dnKVe&CnO9N#iIMdk`;1~Q( z{emo~&o3AZ{*I6Cfk5{uhr&F-4)DfN-o@~^&D{EGQlkaQMa zgY#lKhnNI9-)QyOlGkr(P{xM}bR1;7JVT4R0NrWs1e5{gBT^E`o&?bcQ9xm`BGb0m z{f+m&sNJPfYn-?;JEZP4wkBItf4oH+QOI%)7;dTC%nJJl#1PdAyMfkK)v8FW=Gf0VfltawzVOxR9z$5 zhLVLgGXX+|TSjI_c4sFs(RC`e2Ro4+XPV3=u(77S**YequBmh>D;nNZ^n`Vb`%Z(J z`K|%K?;t6aGU=b;F#%K3$-M_t5qb=$sA7G49u@)>SX)BeeSv$UfqQa;3b=Z?EZg=7 zuPjY1!fTLtZC6>EWgG4l-YM84_O)MjFhn8xU?77zals{0quzKm9_M~@`S^mLoacq| zMfmNoOxsD9vb49q-Myu8gZBbX)vS-^rIfQrT^QOD0;dzBu8Cmf%nrbO+gQ>5WCg~0 zw<{j7zT*1gMl|{YWU|gwQd$5>Vp20Xd|c-o)8$efBTBzqlxf@I3X~H<8HYRPO3B%m znY?s(CunV!>tkDg7gA$cn@#GX;-a^UE*Ax!Plai_T7pl`LABfaXvm(LOl1`Fg!OHg zjLb5e@ur&aJMGbja{z16@SGw^sVM#69rUQADExE|8_zyrJ?<)DrRgOmb?NRq6(#B- za<*B1zZUU}>#Ai;9%t&6W1G&S-b3SMR%rxY9m>zDV4i0t!swG})4H|*7V4UbaG&Nv z%4KHIE6Ki6QKe|d>)E60&RmnKV{@YGcd@=VME+q#66yKqCOOJ#3KNOUnT&z?>Y7x9 zYi=0xWRpZBJts<+*B-EXM|UO9VY%ek;`yxR_=w?KX1 zqNBClnERMH?9m39RVgnkJ6)4jwqU_);gk7f_d-x|U@vTU;j{zPs4opj;rYdBXaE^K$9%BS@_*RTouL8e+`5N=r(` z>@*fMRW`{~$covXCZxVxRF!?LjsduvoH~XFjLht1lfVCh4G=knw}R?4zB5TpForx~ z#gSI@F&nXbovG!!<3Q?B>~Ists;F#7&mGaKvc%dQV!Q_|Twj?jsh3)n=pq;GDK1l& z?OG74F9vyU$d=dnWDXn^h1F#9YEwy>26|yhNv7?T!`BOmC27hMt><4!&Gev2utGm``aq%T53KpXScNRSwbqZPIrO7Zd z6mUnISm=E!pyy|=SdElvCgBYIPWVZH6Ma|=kY30}RwFm<+I=gs;T3;9qu!i4k zh=v*fYpRNsFycPp7*27#?zI9j_HVo*wc3Ptq2d;4%_-y?1Oy+XI$jX3E5s*rK)UtvdX1D?dTHys z3qo6?0m3)Sd$;ylehjYNAwNK$yk?HRsX;XKj|Ob(5kezG$>G3>H)=7)J=oPX7|Y`Y zz<+UWPGmZ2%0bU$%jyo;kxt;K4WuU~TmlH;&>Mh~6vD0g0&&x7kVFF1j@L;C;XUCz z&^W)f_i{H}yF$0* z-xY|g-NXes5js&*rYLIM3)$W32HC}-MOQR8fQ8Pls#P zuh;keiE8+7PxeqPN){)-QymRC^`?EbNF`E*=ZO2r>Lh(a>O_5_>M9OInE{7I5#|Vk zh`eh$LN(gwoUOsug}CM)1d=`Pcrp-N_F(Hs_Pom_(>wd_+vjy#(Y_DvS34Y zeC@Xrvp7x3w*_&vqF$(1JQH5iR1gccAYx*uS=>hi_C!)IR*^bTGo|EY!Sw>*2YFVi z5?SLBZlnJZ(H+awP^R0E_`#jb7|K~5WwsW`tns1{r}QR{GqLV%JO<@TH9IBejqLDK zAKMWc0$dXfjn{i^E4;mVaYSna_Mnvh?_%t!MjG`d-8qFpv|mj;+R?VDo}R=jo5qa| zIsSRGee#j=S{>ibo0 z0GqM@n$#){Z)K4tAFQ%t${X3zO4-)vy3IyumF&Ic`q8$V9{kquMneRVwNc`T!%CKL#v~0 z4epZ-CPRoyprP6Q{}J{ka7|s=rHfr`LB&ct6l-Z~XWID^YiC-O;aSFlVq!u~@*qI|=e!pX z+wb@P%ja|R-n;kQ?c8(Ea#zqQ$YlBt*R^gx8af3v?x%V_(P!BiS$gAxnUT}Tp=3&; zp(iG6Py5Xk)k`$f8y9EZ>pQe})2W5?9`Ip^_B`Oj(DXlH=wID4?!nL&{$30v_%O7o z6aOds&N$f6Dv2f0NiiyD&*N>=<~8u73RlmlVsc#Gmf}oJqB+-<(srCaW5Tg1x@nwMrPz2prH}y`E=$vmH|NW=FYq;B3cc$4X&c#B$dW9{*Rs|5kyX@9V^L z|LNHz%q2bOx^BSpr?X54oIjkgSx8D$teVDa)xS@QB43 zLM=+V^EpN2PDoq}<+_j*4&b&dNV2K#`qTRR?)c<`v1q~ZHj6FD8!Q|+tgJD!QYdY1BktmhO@ z*noOo?7g?12YRudxvoYp{_pqg%AeAjIACSzgRY?4Qv^%%c$Y0@G4&Oh#9Yt!uy#e2C!z0Kjc)tM73vS${2(km7Z=Q@KpMoP0j^~E1 zFv>C|s(|S2X=mN{b)qx}H(60P8DKF~(jPjpcIn&V-Uniw?S5Z4J73uMHkYMQU=xvX zd#cEO=0Jq8gi6eFGeN&L1VrZ%0%&^&`G&i(D7G+R*kz@CRHQE zDx-J;sZP-GiAp#n{)L5r%Z)y_4czv(#XT5gY_XAn)ZN{&g}eAX!xZ5bgr~iDGV=PK zv8yW9X9Gs^by}Y-fqXDuN7R+8i5l>w!V{h6*ZL2@)?yxS^OHawb^$(_<6d_Zq=uIF z-z%fYG_ctMGEGKoV{Ear?iu`XqvWGBp$$%hg=@&h*)Y6sSz4v5tEm+E9_~KhU6q%K zEk2wMZ0m4dUVUHfLjy29gg*rBigz<-2&ulmdZ?@!%s zFWRUVdbdGKU*cz#5Y4nk^@bIr6!CFCH@8XbLxMCh8jVaQBMDRsEqtZdZ&b+DNu2l< z(=*KXmg?~vHKu9SJiI^RsWdj`LDx_lSDSV7LH{rxL>frd5RRCW`b+$&`>dCY^XG7s z;|f^2*p@^ytbP*EIPme!73&Te_I7(2Nacf|>O0@~#xa36p>1#bNONKydLaY7rjRHUl!J&5_t+Q$ZytFiw`E!WojS2OlNPi&!h6UU5Rq``RLpz2lJ|3QTM6DbXEqdaB*?|!wc#@vthi1&@mcF*%*ynlGE`@ZK0-(Lwy zIM#O#!3V&bpLCq|h&=9(edJU3@!q?AB*t@yUnTUB&Az%;z14^FV2ZUG;t^|-zk!Sq zZ(#$g7)rOiN6h`t>2Dj5en;0KJ}+C`VxXLY`kG&zhfouHhzfi6 zz!EfeiFmF2LkU8CB_Kp6K<};!rbvxv1^Ap=D7R`x?T7(AL)$xq%PTxk8}sar+B{=O ztuk|a8pGi~F%K5t5Gu46^9bOy6i4tfk{0u9#4&v;{C8T&7%Aj@r5h<%SJzz;MXrMT z0bBso3tKRvFmx{3lzh!#8si%oENy@g%x81U;O;cIT!bpwe_iiur? zr|iek2VHC0@tml4R;vrHug3ja*9(C6WdmJ;%LA96%{o>~S!dW5DbK7lgDy?vofbuA z1K<#;G9Y>e#d@6X8T-U8ezieGd7zP>U(=BM3OxH#1{^PZ6L4hEp5uJK;zq(24ClvsO2NAI#_p0-kHE9S^O!Jxxqg*V88tF^yTA$ce{_oH#HxA~qH|@muTT z=}h3Lv7P{~?>(%G^}Q4OS})Pa=!JTnVJH_*-&&91(VenUflX5kWXurY!O8)Y=IRzX zYlNE-c;B^v*qbmnqVZNvOlYZY4LJl9)5@b)B1P@nlovPSKgg7KM45+_?^A8V+ z^Z&Weht0%tPVC3YE{OL!xGHDYBZ`{AjaAN~M}pwLE6cy}UOW!#k8|Kn5s$m8g5C%| zirRw)?7dPbmByD&8&o>@h}V4vsKnJ+AxOo?c!6&rAJT0HiL+XlXAG=foy2e} zA9y-#WhOb;N8QbyAWmJlt{T6W`E-b%JOik9$}3#fonFI}jsyJjbd{0VOS{&MYT%V6 z3hg|gW2s#>B4b)c#<+3g$l&q}I++eCBlgH1yzy9ON$sc0431Gx;>7U5<&6C={9FNI zWom*jV)+s)%YmJ0PR-*?p1J`eeZg3 zKbAqe!czq5MR5kG##UV$%?s>gLGovw=4uMvl0PjhSDL@0z zpL@5RLYrW4SO!&@^atVAk2ty*&kgBKjr4=Q zrJ*(M-@Scl3`c9^L^|}X``weg;*46p4kQPe?CV>rZ-CDh9Dmpf_OzdGyx|n^pcZhq z-@tv!!=Ux$hXCm-XNZ z(Ek==Z@AxW6*Zz-K{i*T1S96h2Vm$gU1sP5+Um{ye!B&lf5H*!U1h{O0Y`OeDbhUq zfy|)`I!r^2%Z-Y}kK3dqKYa^zSwf8phd1$`JRyGCg+i}jM=!WAQ>YCk+`3w37o)3vL*=-q)kZV0exxhwu9%$@Tjpi4EM> z;Q#jP;<|uhs-Qs>XaBrzb9bn4!?dtRu2k3u3tUyCh9SK&`ZLceiG2hgP37e?fEP3N z!=1PanAj?CE(<=?Oo8f#>-LfDp+-Wm3Wq` z4rq6o>s?#ynu0a&tl7n{2W@KuXj>blY=_OKZFwyIna2tRodtUEr*5WGM{%TYnQI@O zK$X~%C!R%qwcL0AolmA>oKM}jyH{EFKjk8?sap7|Z~qEQgUugj20KC(xFaFrDS63W zp4A~OzQRZ8(3T4ZYcAmZpqSFRK^nat}BGUjlmSei<-uBQ&U_6D!h9q`4U+#f%oKYpSw{$-n- zYN}uC&$+1;@1#@tUjdq!M-@;u|MF&DaZCoBqAN{qF3!Y#912Z}{jK5@Dm}8yb=Kxb ziDr{UYgEQyES!Z`?>)f}6LzA!!4FqS+a)n-s^%ryh`k2m37;>9%1R(ionQP0KSJ<} zU=bEWDvTj%Z}1~k0z`hk;m;6aIEGdlDqkF!DyCWae9NEwTAueWS88P!v-@kirZw0R z5(vICkLo8}L_T}PxEy#l=(ieKrFv=O>S(j$AuG-* zU)@9|oUQkp^7ZfkBOC7Vb8kyEtdf)mmqqwiJ1ujCTL=5(Mae}CdAcx$yahDOLQ`IT53cti2^Jk>SQC(#pV!_RJ|L|nz2QK=M0vVX zq9Xf&l65L!?cINS<KUkiFtbFD{U!^Xp4#^2d7KK@5SUsDz3!EQ=78f%>v3dSH;Y5~D@MFEw{)&-l;cXB ze#GUwY20YM8}~kld#!OG{8>FnzAKd*e=XFeRj$c5A;u0=oAt^c@2224AcaV;c=s;m zuIaZq{h{77#k$XB!G^(GEoKO`^Ge$}U+vGh5BD6~kY6Z?A66el|DrgaF1wh}j{_Aq z32g4ZuQ2W)zg`(vdzT87oFqP|9;BvZ22}~GnKHqaxWCc=GD4_*bXtHGy)Kcf+#u0T zvb;sdQasJ>62H1a1Dwi4`BMLq-<2ktX)U%u9d zi;;khCSF$}G0)1}M{#WU2R^7|AUy>3jI0*!qqa=xudSa@1Al?L>U?!`qgAY1gqYE3 z2Vln0x~A}P#ruFwO}}4jE0oe-1$CZJ69HE>U|YzpM)!yRyET6!qa9?)q-5;JdZ|Mq z9n%=XOU8e;G=yiyD|oqzncC4R(JB!l=8WPbz_8Mxjfp%PIgTHyOynhz8hA1Zj#gq0 z8bHZ!cYoM=7cZ%RhnK;<3+@8AYv68y`~EdtuPOu0Y8^pYW&g9Y4(c=ACLv zYsHks?zup0IV9XVfZ ze6=dr{GLamZsK!`|KhLk$ee>{XlWeSJfy_zIDTUuHKv*!Z{LudU`lXJ?+iM!{HFW; z-bCYg&?!)dE1etMe?rSLSHq3LKHYTm?)F7{zXPMBCeXOMsvNW~wDd~nrbZ?-zOx}5 z`K%wAfHPx?dM0+6>)efuT1L&7D^28(#4Plz4HETWPASZuEpt`fFx2{~$svSL0d6J> zvwMu%>ptl9=M+Au*Ka6m$sxJAy_KlMGf2-RM3U{`)+dPjf5$HvL2-RFa$7(8T9wxL zN?SHF+&s=V5A~UV)$cu1YsUy!7QY+7ZVq+~1MLfE7bT!8NHogEz7=uG&()woTrn~+ zDk`pzLyZEV25MR*>57X=pC%!udc-5+MCi%5LQ-h2;l3RO%Uq*wjP&7h*98r!J{(0H z;66Sq+}i~@D&Dv8N}GX5%#n2XJ*D3Or5`e&^aY;NPLg$kACaQ;=|jPe5e$|urCR(J zX-83A5h<3!Pr%(F$m_?$BHhIJ?v@x0*7{yb#%PVNRSh?f%9OnJN*j@al?%C_6mpyB zaj!~R^H|;J+Kxs>4QUL($l*2-BiY|-$mYXnGqd!Swm~E)b0Fuibs;Yh`(8+`To`x8 z|1<7uXx-}sd%Au)#NPn!S#TkEPFp6MAoew4I97;bMQ7aKbst{wV!DGch$phEH%#o*;yaohB}Plv>U(@23{0zY6mSK z7PNps&?9C?Aa7K(vy2#GW?f- z0exz?fP>^Zkv2ByD)N%+GA2ZlQQ$hpN0Q$T{=eno@BGwz6mxtYA%?^2(^D`mSCyivz5aUelO)exS{fi5a3)9=p_a$GQomvR_R88giI9 zfTwPt)Ri3ax_|L7x>!pz)FVSEH)mA=BsrYFMjmscb(qihk`<(Sj70Ef4oD7R3Pq;o zR?Iobr@@U7)*Y}MBk)?HuFUHjOCAq6^oR0y!~+e0``L{1nKC+ziZkxP4nGE^365>N z!TTA!ZtB%k59y}@KTf;xO}(fu1_}MG#@#HezX;~kROT2jVI4^fU@-F~y&nEMfjeOz z#o4oJ$m?q}p20bYBHq02P{3M7^Y@yqCt+8v5nI2(X-oy}#5|a$6tCQki9Cf5lm*%Yn-Wri>qA+1VPJdADv|y$WtP*0dea7W@nnhoyYeM(vkJn4ely4rd{~+`LQM5|}Bu>d>Xbapl>NXDv_k$S>)cVmb_{#yN9!EZk5IBTws%b>R%ZTO+k2))E17@DItToAnbK@8 zn7#&>i|~CwsKI+hb8UV_01J-H|H-;z{y3;5Ya3Iv+q$FZUjX+n@JF~b+uKEVY+nl{ zZnQEpey+FM(tWWIq7op+6kW%*fmo13Jm6^tV133~+p(flo4N>N0XFBC41ga=zl3u9 z+e+dwmKbA>5F@8Q26Io0FRfw@|MKPVuRr8~uokFCAAAzzu%oDyvWY)hQ?T9QA?A!y zU#z>i?7SzJg7hz~JBx6Khup!+r`pDv9=E-)f^jIA=k7f4$)`3_)NCD6^hGDp5v>9+ zF&A+84&dh-@DC~)Ya3@mJi+&h?}eV=>lra5=3}q|{L8})edoEaS+i$$*^#4jQkKP# zp-W>xUJjmbuPI7{{_!~DEPjGGiy!-UDAKCKM}r(ZUEroz#cww8l(YD`|ANm=i@k0} zP7IM!drb}>qz#G+FpwC=x$E&Sc{UnT13v#W$jR+Fykh%ll-JvxmQ*8z#(c?>$)FFA zqt@^uT@7*W$R|$8V}KjL5B8b&pmpY$sO{Y%sO^d$tvld-?22!p*4QT+0b7mW7ex`0 zO+>gu5D#!}Lij#dg|0&XE5Kj0;5s7jZ&xPrHN)uyEBg`|qp+0(C~V4bz;4;_tlw$-w~RXUfl6QaVqs|50K1H2Od=}EjwPHnuhzXqG$q@J9j)QdtdG>e!2$wy3EOB zH$q5@xb%YGI4CPp2jHM+ge?|#a0KL~Gl1DSydtp0f;f^oA8xPqqgbHi zr92ynE1Q<`iik?oHzJ&tmmgYZO-hByY@{+1s+@7TT*xYppNCjnCk@g4Brao~2r`ynCbI3Wd* zs~<1IzVwst{cn2YX`lDg5Yp^~8+_Knj+79Vp34olPw8CXx|DM*cVUMnhgN1U?9jnK*jvt3Y5DneZTzdO^N|dNL#NOKy{%I&=Gnm!;nGXYv}Y#q7BVhH z^&L6jxY&lVKaWUFeV$fkc5Z7JRnqp6@$`UW;w>mc2=VyaIVjEQkZZYGIyvpH`oPOiPi(F~NhHok z^hpWFa^((2{&RhKxT6(!9O3>gc&@;mN8bW=p!|9$dCGZfa8Z&D^xrKcdZ}xE8;QYM z|C)_8!#!8U!o9&tXumM~4<5YN@mw!CrJ}1{n>w*AoVIg9TMTMCXjK5e{8so{S>J3` zm~b~&1NiO&$2ye4T{764!|caDSJr*4DxSTt!w_=*A>#Z?>VFdhs{Q8=;udy1G;~L9 zK(*g|1-HQU^Wq)3XyXm5&$2(gSUNx4uxaiO-#>8Q58r=(f7y|+*A>S(5WYv+ls8`j z+e6WAwG0u?dJDJzr&hqltY)iU5%BM=s6CYGkuEzeN3GI;akkS!N%^=C(J6P}y z>i1nw9s*xh@MSzCdSd3p3<%Lr%RA5S)t%>G26qr#1-KG&o-b9N=U)f+cJ_Jxcs4?w z=Rbn5DsX4PHGn$}aDM}sbKouj-1k1XMhLqE?kc!8a6bba2QdEycMIU`KDav&#)Bi1 z&-2{?!wxymE5HT8w{p>We%PV~uFx%&q3>j~^Z#NfGw^kPJ664tkPGL*>HFwQ79D2a z--R@i2yZWU;T*TP*8Y80ai_2j72X!t5+f7yzU#GGqTX5)MCDY1>r?K-HTxJ|*BM83 z#u&<|-*^4e$sBo0&o<(IiQ+9wTs9kWtGnUf{UQ86Heq!kq*7Lk|BHnG<+Wmq;@m&V z7X^(1dp+OP;RU%Cpo2H77x|k8-rBs_AKbRq@SlL*o2^k=cn>hxjs@PaaS_-n!ke0{ zVc>f~@CCZn-m&EcZnIt3hoNp;TX+W0Z(cwA`TBe#gZs1LKS8TD1X(Tttsb=o;4L-+ zmjv!?l@zHB`3B_Po9e{Urlo8j_VL_nMZ0DblA-_PcT$XFBtVHN-|M{Y9Iq?iuwzyT2XF1dNz0eL;%#J)Io_^Q z0-t9o^wMQ-Eeb|k5?~(+`8Ah?{@e!r`Q&^VcWgQK-=O-c`Bn3AEHB(3Yt#VFix%y7 zP#fMFr&BL*U44+ma*IfG17AEl>&`i#_fW$Um&6takjgC${L{)Cy!`>sb>jk9)RuR+O&8;*2}RxTSko-oF~B}uo$ zbgZ%f` zY17u9Q6&H(kQ0Sik)7=T{jI-B}ycFS_JUhy+vDF^ah#67&<@pmgZNjQlLr3};? zO7(I!)-(lbI_AL!UIR`CE(zTD2U#fTv(`9a%@ym~1z30ju<*7JW5*T@-3Z@*dysX0 zyYE=oS;OI+uG0d9?JsP1tj6S`*N~SqKN<-?t?AWK}u_v;5}RY`H!-)9g&Me zaCdMvF~m zuV;(T3g7c>sMm2lQCGtABS@)uP9=r_cdAl~&(q2UuD>nD@N3%wz%9^rn?hYVhvh3#qrQ8`5Dr17UwDiu#!1BdZ+Rmy1$^$*@bM~0ipI*l;b!Xk7)~O2Am5gj%=CY%@gD( zNlW(^;s$tFL!1z61;qLt_t(CF_Ntr?ro(9|#5}Fn8Uq^@?P)5%b~c){?<6AM)C;+! zBx(iw2Wpc#7&v4kC9z=XmSo*5R@CVOAdgtWwx>s@q-EWyfLNMa%#@DSL}T{MM8mpj z5{obiMiph96`KzLb%jDW>m-kLVEK1qNk&oZ$6w_FZ=xgV=he`kA5UE#QH$$(8Fl_5 z=*1x|xkQC0)1rRVl8YMJOhf*KbIv`Cd-?~{Jy16&Dah8nQwRTZ@VDp^ zjf3EOrr{&>`5IlKQELFd^u{TJe;C|=P75%PEL0o*!>d%X@*2!O^<4o_jg0Y`&kMB^}EZxvXS9>PX7Ef%J;93u28Bc{KGLTizEt z_z$rI<_F9t6T%I{>Q&J}(SmN7jdEa~g3HA_Y{KjxetvIXz|vqDkr($pvF!Gm*azOJ z>N`ahC}ne(N^L&w+TNov6n{Q?9`o_%!d~2&?qYAGZ;W{BJty-S97DV#efzXGIzGAQ z7J-e9M}-p%m%2`P@PDI6Je_f=Yf(3*`D-t(N&U@p_k5uxu3v>)0bCzyNLFzac?#Sa zc>nBbxbH4eM)jD3?V3zwAPp&K94S1zGR*$0r%&D-_JYh>j9eUje$BRn-!TY%IAs{T zy&=3M!&|BF_7J?8J)rq)CNcS;dD$xrlKCoHX4q6G>eQQRWY8w-m5(|84mt~Phgh%s zbMGIe-Hw|&bsW7{CT_bqNA(OynJHZ;`Q((#POir9*SoN#@LN@jayk+)v8j%UK`M%) zzh;No>$VFt8a_nldN8EE<9Jk z_xGy=#3r1^g+e_j>*^Ag8oH|{cHt$rjoY4VTf48r#ujO8 zAJ z?_KYBaj$-Y@BZ?vJ8fGu9N5?m{p9u;QowjjRXwTby_Po4K+&A3%OcWXSthiTr;pK4h418Y(_upT_$vAkv`g9a&12^sI z{(CI5CRi0Oop4_I%g!o=88tNd0p!gnd2&+y%*fln%9ZVBv`PzDk(<13CyyKf`GJYY zwZ>Myk1OQy!Op)IXsGN6>TXM1AGN8YLMe{^r022bUiSmuV5ck}w7*56l%0(7G}vX7 z`&hC8ywH1@RtzbFlM<>vLe$9u6aw>%W=TCz0Q`Q|pFUD!y* zzT@1n)#)46?i&xr(UT>vLAMm`aw$9YjC03xp@y3lv?+A`s}`DaFE|JNFTJ;RrA=XifR6i)&5xW8ezPdfF_G)8ti(gC}_$Dkbc)6F!OIna~z~C7t$;Vcuz>PsQnZDJWSKNxa_EP@dwu|s5!Uf zCTNFV^(!;$Q!c~zVkQyw%)jL*6G7u$JS-uMHd`}HN5MsK@$f#^1fh$RlX2_~$GrMx zRMP98w0#S;+b4{AuCJC3zrxyXuEXDU9px6Isol%qzT15l2 z=G!a4YM?)WjT$;Fz`+KDPF*o-Wp&=7Aa2c?HM4*C{`>o${NlOUj}F~A?^TN*E`0_depnW0l~wepWVIfqo9L9gY`pox^58|32Cv5<|GT2$3 z9qeq#T`r6yD0Dflvo<}&w0qqvd%no@D;4t(IFd>iL(ZQGvzg4{yQN}Ff6bjoXVPHD zECn|=g^DTVxDMKo+hE)HSyCXibG@RL(d(Yli<~K7TuUxOK9b5hcjd5&!OmDyD4j$7 z%uu`B9M@yEY~UNc?k_wFhf=|oE}~&}1D_2Lz3zW`z?R$^Mzd)EaH10)F?11+XS?;f zzx8AT*Xnh@CHTjKkE|eFuE<0Qo!44C<0?WB0jR_uBmSow3~=4+SeU z!)}}Vfx_{&Lh)1Sfc~9Pe*wOZT6Mr3z7-_1yy=eZh7iUyF)@RhEokF{MGPA2S-t;}W4TQG4#^N>pH+-@@Ue%P_^?L* zb}56rI~mgK2*sJF9nayoX@{i>G>4}+Ouyw}OpVc^ZV+v$T&$zhg>eR;0IS`WQM86b z*_m;zXm(=aR_Nmo%s$qpAtS(bw`xcdxLd!0t_|*+88O5-J%%uiY27RyL!DKo)?E{kIQdpaLHVH=-*qH5UIj&jOb))=k${A;E z-<1{G;(gNYLK}|9`A*mhaM?&vA;>2`;D9Bd`-m`S?ty_Yzkds@!3}J=RH>svI_#%` zTsinB#N=1t!$hCAjw{0PhqtmxG>$*K1+;z%Y^tNy|G^RWc$8is(M&Hu?$dyepSHCL zW7d5&T~oAE$n$GqT)xz&@7w_>5yB1-kbWxC30k!er88Q#9&@V9l{uI zR}%k#1!>~=9Dtjfm;Gz@zoB%^)=xfo()IzQa&{h$NjCG}?^we7>-aPUNORO0p>AbM zTuE(5tw%pc?QxUsCD0(b?FjXv&95x$=1zbA^4F(jru`_c3=rCBSku3S(tc2cseYM; zDIF0~Qnq0#I@?R1yKVp2{+(|&261^h@h9JGPaiJl)i+!Bf?OA+VY79QX-WNDTbv;C z5W{;jv2C`eCC~_Cs7)DOI(K)bj&4s|PVqFz1+J?gmx0&k2AfeLDjcB-;34`Hni9<= zpu{@v+ST1`-CP6|1Tv;!8LsXA2Gae;I;SWLEU#wkI*{?}%91;W>zFADfsQWh)7av` z`R{`q19DuuZqEg6pzpodPEt}Pe9IH&zm{g}N=WJXBBWSmY@mac1_Af|J_ooKlE1bjB( zHd1L|InoAl86(m$;40AUUw#}?LqD8PM!z`|{mrPu{KFDl&S;B%IciPZS7pm6gML~T z=qQ#2cYMDr(7EHurI31#OD?30rI~IUSB7)Ye=JpruT*v$Le}Y%!H(dd)~cet@b)6a zYPN<0ZcpWeCL+GD#l8Z}g3n^W!=lIpc5)}Ai)BVB`inJ1cz-edJiIv|r9gmxzGwo6 z&yUSUN?o!)I>rh=Zc)!Lc^n)2o%MVZ7&wpe@= zMtv(|_UoM%Cicmkvl+p`ayYfUW6lb`Sr|RfKt`a^&7#RbfIib2?lkuFIUibYtu0k=q zm_K{!FxZ#P)^tImJ_*uTY!iKvj%J|j*q7&u_TcuySP%r3~k7 z1~rMc+e5CUd`dNPCbX09_-16nt|BkpmH%rt84Fe#>bq&|l&eW<!7v-SGNZaMn zqOSJE4Q47}`EfheHf4-1&&73NFUBwEUjfkn0``LDcFc=D84%vsC8c6$MgV~lHbSUb z2we}MU;08n()ES+x_5ccv<8D^Dg|3tA99sDkh^|>KM(uI0V|c>oQMt#q^Xg zBB>b1j+>hr*Qh8TWvu`GkyquP2fLE}GidOU@i9wW|LM69vs(SA{aYr3KI~ZKmD3Em z#AWJHlp}07UED@y6Rp&uZzHQnoZEuFqpDGRdDv0r#WGa3?+s~y=j$Alm8MM98AI(w zo$#I^9VIg>92tsp9lsZ&jq2}6^T*w1rFvq&S&VQS5DsjiVMTcEXP<4C^7|DbG^A5j zJ~|vBRwt545k|kJkoHt5)HCtZ_R7I2zh5ZEp73`}L;vIYqx$db!zdHY%w)7@>lyWr ztJ(7ZiHI!U^Dx`??xon=+(1))Eh zp>%z|7qDl5t}(0#b>&|7i=FpiTFt6cQ;*PRELg5*J1_B1KQ)JDPpfEuZ6xMW&SR=S zubV?d?Xf(WB)zN>QrYhbb|fn_f=!Xs$#%@zDl^NmEBG?z_Tjm8YlsbFwmJA~}HXV*b7EXFSq!X<39ZmuAllF$9!Lju7)= znhCMq@dP@u1IvCR<8oU4%0~-yHWKM9Ae#mqnFw_DL3baWWdr3*==B4uX^CrUx8I-X zY;zx-kx8@ftoS6E&Vv}MdzZ8ZmN!995>F3Z?0WrnF!V-o|7+Ysuim$$R72)BX~?r1 zqR9R5oCD9SJ5vn%9Us)*-FKdKry_5$YujzsS&<)QV4ZIn8hEw<{V#z3`rAasx*kYM zTI1Sc;yku#21V^g@n#c0rg*Vy&27{|WzLGcqo5;hvyC;O9*&%U zGW{D+Gf_j>vnc&5^rJ4~6UW~e-5}7Ql~%@tmT`%&Vuu3tyxmX9zmlt;d#PD-2;*v>M);l zuuE|bN{9hrKL!a(Txru993<#ro_+LPz2fqk^e^k7N1M>nLz&AYevxjs5G}FqEcO$$ z!*5L!>9?Q_G+XDHAm*TDJUhEmue`i9eNdAR0Uut_B zG=YCvPF4HxX8Ic1#LxD%sm7Kf*e4?Z6AeYU_Vopu9I%L%p|IB=afp$)9!MBsfOgR` z3D6Q+mIEK1)EHtQ>QHL01D)+Ya5J&}l52pPK+;Hs^#)5_hr01B)t&w84T`JJZFtZ1 z5^vbpkhYxjegHHnP+KR zL1-<`8P$4a98r&_+TDppCNWVsLBH`|8gd%k^6IKijV@jrV9AaTY^;dayZ&oX)Z;18 zdRL19|9^#l{KlSl!YSJzIe|U5gvJ}ZZq7?Ivn;1OLv@Tc$ReK6xa*V2l)T0qs#ve5 zl^eY7vAy?$hPrm6dQCF$rKMeQMkWp4mUK;~@kS0X6wZ^e(i7|__)hreG(&%h13p-+ z<~B?;yytp^k24xJ;@YNO_eq}H@Th$@^PVe#Z*3*2U?@-D3RQ8Odv_H}_tE`y(3^Fg zvx-Mkr0@rKh;>Y{FWr$nQPNm3F~y#<3HDvSSg2ZxZl>WvDe+* ziRZMOEk5fQHu!9PmVKCFbk|;faM#}7LAE@19DEWK>Wy#nNyR&B%jp^Nk91;>+OdMy zDj(#v z&&35?CD8%gbMc<5B(78NtA@}!SKnI4Onxi>Z9YwPY+YEqyb0F>U#chSO3=U6d1@1; zxb@mu5xaM~wqe~AjsOLtMJ#7nTGoeZC0CimmeqQ$V!iSR>&TUO-4FFZX-%n-K(%V* z!UwIgB1L^=0dmSq))B(IO0#u;1X}ZVY}W#1R8f!ZEY9GJDDwZQ+4@ohhKSZ7u7k$; z>@RG0t$B5U{L-fbzNJmOASU5tG~aZIpH(b1BQ+6wSus*i*3CVE7t#Y8SMVC31&u%p zD}WY4Z{a>{N2_{0(XMMe%_kJEeFc4xuHJ^Pk+qe7ZOu~yPLoPbcj|P_*0tL2+NDz5 z&A(Fb<7R>IEW>tLWjhwpA*{CgRajSrE8X+@>j4zP%&BiNG1D^BTJogjx%FfmYh zmZ(4Zs-vWR`bpwpewS(GbnWioUqaQK$zPJ1YB1%dzUugI`~8~Z_4liYnp>q_jdZK< z$OYOR{ENYat29Y_3aN5NJSx4ciGJ1beLLa$ps{u-_R?bPLl5&Ug+z0&6 zyfZ)dQ8^RcYq&qEScm?-<-a$E-4J zjH5m7N4xO^1-*+i6hJ?WF7&!XJ&exP$ZdGn)!r>~=yzSKdg9gU-IYe%3+IPv>UQdf z)eEcSvhg&PqHMGZ>#Ji63JPM^pghj;GP>6qanJvzI`0z}c|N(Qu%tjTfz~EhuUN+5halD zIIA4e)CB*1+$E^#sP!RX|IbnDN)v^rZ!9;S;U2Z;OPZ{5!Kc}}#Dp`(O@OVwF`PH7 zLrod=J;J#2xA2DdFf>_%igN2ArnE25yj3l$a1HZt$Tt|$nZ4qU?Yb}TX6t<`a34Uk zb=C@Mi|xP7LC9O$1X>gNG*|;5-$DKP&KL3o2nO}gp^p5)`FYp!*efCM##{+W6Jx(& zjW9J?hYMxvD@(pXZKyP~K$`~%o9M|naAHF{^F>yAIFDPpYtMjn^Q{u-53hf`) z!|3#`YlhJJKT$z-%0@ib6m^e4;|VA83^7}HGI3Uuf=(J?hI6Bfk!lR`}q5df!i2Eg8@QpdSEhGk4H5R}B5}s-r$ot^0 zcWI4aE1ksM3-GMQ{R@3Q&Gauv?GZ&_3z#Go+G0*hvfxvRUP_>uJ-)C+FkzGc; z@k`U&;VsIz2eR%+Hsz<{%(m=x<^Ws9%p@LmjHHAdl$uGoS$}^c^SY$;8wye*g*bOS zy_OEA3g?a|B+ea=)zXvH4P`w8cG6C|mD=I?g>T0j74~+B7SVNKtW+2&HN9+wbA+h09>fEszFuHOd zVu$UtNSzY=&fKT>Smqda8D(#*4*yjd|3DtrE}Gf@r3vfGzRt|3fZE8?p^k^72S}Md zU94l&fI5C7)KU7UI&QhAj?4a+Iv)5#9qIp8$1;UevTgtWUdL22PCSX`tE&0s!@)8j zJp0^8`%%7uR}{Az#;sbrYELau#}rly_h_{k7iU}yw91T!n51=0`Aaf4$rn9 zfp@b$lu8;A)3;m61XE+yogGgGJ6HvYod)2*BLr2*IRYQlIV1@0C$;4elbB{x(;5eU+kmv*Sc>OCjXF1$x&yJi|^!Q+<0*u?;qXeaF&sg`;ST z0DZXkox*olZK&2j8Q1lfah*`cy}fu3!0uiS!qkOg7~&Jdih5O1OI&+;(C$Jjio||p zloYb`V)*C`Y%gr9iS&F`cp73kNWe0#)Em$S>#z-Ow^kNPPhtI0%Va(lu)ruAb^TcQ z%|_IHGmLo}huScF+~h8P$c;7es_#QLaN+)$S@uiPS9lSV4!-!)-wX*8&4oZH_Uu7*$b> zM=}}D&~7nC7si;r3;#~JAhmGRKD`FG%zK5&^-Mxc9+@<^kxW1wkQk`Nv#+#i$Qx}^ zvIm^>O{9#I`Voy$bh;6+y=jm~GNe==&?w9|3B6BT@q**}9j#0P;_J88YlX)O11Z!5 zVnD4kcS5ZXV7mGtjS4DojK_}YM^H6&HZ}_T*~IxtHUW1nI$Fgu2e8h`HNkWk@Y+fI zA9sogd&m-SAKCxko-upP38(a#SK8!c6!oL)abzZ1a^hyFxEpeaq0^FQj5g|zA0Ufd z3LDP;CV)oL;0=aY_PQNa$OlH#Vv4D}{D$P?69m)J(J&fMUotOp*{sa#O+f8$lX*0T zZVFrE`mYt=lA%xjW=)}!=__Sk_v=D>(CVp@s!elo>>FFY(GYP@2eWC3 z%jUse)9$&uqhpEdzaH#m7rTX%xqau-ew0PVM$!Fk{^WCdu3hR6H1ss1I%<8d=%kG` zy;PNT^L>BzfS<>|1J~ut%uwe127Xg4uEzMQi8&0?nwxL@XS+mlKpE(f{4O`|Bp~tB zqp7sa?|{6_tPg3FmIZnI+JZdNIKMJST1gu4chk?pjL}+?I0`+QGKp=-Yqk`n;`;DG z?Gpbl5w6H-OA#~@iKW@PvuFgz%!G7WQgP1NyX{)QGJWZjeKJf0#$K z@+P)p$s&IvGZU%Y)jDjV{1>KlGX1M#^({v2UxMeSyuy#s1$->$75B*?e{ff#oI{y(ni8z?+Z#o--z0<@|D6W!ITbL%u%bhAA{f5Ur=8HIt6+i^K(7ktcO&4 z5a=?Zn#6w(9EVZA!5dXR>K%ip@T$fTE}Q}#k7=*|&{$}^X<8nBiH~HzQ!3K}J&fb8 z4tfh(dFzBi><>~8vvfq+u<|%6v7hWwMa9t(WfJ?i9z2U^SW=)M%`ZVYnZ);6FF`4o z86UTbe1(vrG-1#xC2}6_FJN(X)TU^|AfRuphs5|%DfENlZPMy+1Dlwd-ep1Q2Q?{y zI)Do*S#v5V_VHBg4o07TcZi@?T(OC4>6dGY=X&frxoS(Xb+B3@;j4j(v2*wtFAO6_pEdT zNsbwE_@E%7aW>}git!~N>)08o@a6_t$9itI8jPDA#Djg5ufbD($e5sUTI1{bK^Ofz z?C%MHRY|*a(1p;8x!>jf2kf*u_Zpr_vbORl9q0N9J4VRZEPGJEOyisS=@$b$a_4sA zim>I&m*Cy5y4B$^phZswj`>)7k#O5E0R)(cVdRlO|A*? z-B*VL6gj^DQg!XDIG1ksRyB6JC$ zEtW2j#Os0;gm#MB%EG4~Zl|zk{v7`m~k2?)_bKCB=-{Z7$OOyL>TKzZWd#O*HV#6Abg#4wBS)W!`$LYbBit^lktdncwU0DJ5eq^DOUK z5}sG08OvP#$EEwnl7sb$a=d$715q`g_ug9`@d87MlZhLp>(+Aa6MZU*K2MxG!xsQ& zjQi#uZVy+=?9x(pH?xu5O%JX_8Vx?;+iD_2^1l>xKXa+XNPVUbBY zjO**fT{|P^)xEEn?-Mg{N5RgCkBn3ak&cy6Vx^GjJu-Bw@s&nKuU}Lx<~uUm&lv4S z^{K~`)u)1!zpH1*Fk^Vd&F~>v=#V3 zMSl)te`L#HwCTcfDGF6@CrMl*P<7_Oj$f<;vkE`rStvCFUY&KHYi`7i@x~3pJKB$T zrHuDsPrpyWd(w~hqJ-s!{|~$=64B%8fZn19ot;4Yxrz*Vzj3Db@$-tDRsTvVo{WL(0Nb%v7S89vc_5r~@;TZT-6Y~3)PurC@kbb2`8gYfA6mG* z=%tPFnk)rot=`LiunPJrw;5*haoB&$sb)(Aa0q!~^aa6sDz73^No(`Z) zg0J&kAIjyG(X}r9Xw5Nl%P=Sb9O_aH;q9t2l=Thr8@|pz`j`plTGZGdvlKZ|MN7}+ z62QD?C6w52i~vc9tt3eZ{mpa3h-w3G=XWR4fNy=BMLrFT;cEZLgI+8VvL{*q$gY-` zK$~6`)-ihNj7e!Updm_}=}rBezhjEThjg@{ed^6^rMCJ#INv*W+hwaDsc~EDl(j^M zwm=yoor2n?$;71T-NZB^REgbrUs6Y7m}gaRhJdrZgnFFaedNY%kS>%F40D0WD@j2(?*PiWwOy3h!iZ&P`XUSo@kkdK7WAzmck)O(Us1{$9&0*Gx ze`cyi?n@X2UkvL1ww+r~80hc*yUmAjgO)&Xgfl ziRwC_Kv7&QT4teNps%y?3sR4^{b4_k1gi6re|}VxvT?W3KmjTcY(TTHu&(y;k1XDvt-g zzFTYt8b{MR-|4HeHd{|ik2_oH$cIOxqJ0WChZwZ^VJ4L>z~%)7;BfVR!-eqDMa*FX!rkN3T59CHlsO$PcT zWE!B%S|3To^$he6S!E1uxGeL)QN_mZ=K*U!&k2}UbTH@Z-j?1l3^f5nLr5Jn;fEHq z+dw~QveZZ6_mwi2-0YuA!sr^uTcC*-dGh-L z0uMR_@m0`jLemAI$@_O-XNy)W^30d*1yJur@2U$RO(cL!iE?9l=NKT?e}lJ=ORIB_NUIGBgqvgt6XE%b1idkdzUt}f zCkLdF-=2EVp?zAZllDnp=N_n&^Qj_F9F%{6q<5D0@*Xq1*Vn~+#>24-j`48p=mO~$ zuI8JAs6CFIYQj={O;2n@l19TR3z1{-+lTm0%2Z#^# z8f4BvzJWfJLp(34iRXbJo@UW0P?vfilYqN4D@uqCw2E-(S)s?JrB%?jK%iRy@7WUa z%hSiD5<|w6Il!wXQ-v|&Sa=WX4k|bM@X8?MEt;Lu&c5jhA4(^0kPKjHcH3Z8#;4aTEjNv8;xbtg;e zx`lNi&UBEOSof{hmGm@{gegD^U*}!E;ug#|r_3J;y>Jah$%94WHbDRRLKH?XG1668Gxf;WW5{r$!;9g86WT z5L$6ah!#hH#>iT}7PpHw%)|oiIn{?ba4@T#uk$eUk|ysr(7(sbm1SA~n%2g>ygiHt zZrI^{zYil*?C|dB!>lJL8Shmj=2w_IL0(>bb=3}L=^x!A}1JNNs3v0|@h+yU~L z8O|7ARWXa{4DPH{R+zDiPtR#KTW5gjYsX9Coom^QYxp*u~8@oo|=|U+b-Icut@knPP@g zB%-oON-qtt2UKpJbfVz|JkvO)0>#^U;T)vB(4f#Xc*D@vg0;V;FCCt-eYl^>SMZ>> z#)vlwXRXyw#@X`d_pRZ@FcS7+jxS|2{k0#-Q3&ih(6pNSV@wnG>mZOT=+_z3GGPghUWyzkxVm`A~@oQ zIAVoI1Uy6TQ*$`>w>O?{(ZZJ>(p_y;$u_TS!#FtxV)msT6TvB*Q9On|?P zPA(HS6{8g}I$!64F8{0{D6>X)H}d|d?(oWZ?Gx5Wdy(gtt^itX9S0n&x6Our*=%L) z8328Ge}Z+4f6U)1&jVaH(MN8Lv@4K)lp%F>Y3WV!sDoq9cQuJ*WPpya@RL+J@-O(| z>IY`?84hqJNbDYvJ;TO<#*KaZ+5YQw=z*Mx?yM(rNW7vo@7z1qUYM<-FPMR2*r7YM zY2h?r7q?-koiBUXGY6xMrj4=B$qw9!_TgBD+rW9ov)VM3{h{ok8}P0=Ex?{oX7iMF z@W8z&y^dxA$1}_jySgl>EVwMBEVL}FEW9kDOj8zFM#`8nwk*&42Wdz}WZBR_ z&5v89^vq#yhIy(%QyH;kq&c!I$f2oZoME1coZ22_4=y_%kT6h+9Z?^#MN|2>2A}H9 zk#?OUd~+PU%}gZDV37KVF3;QD2c@+Qfm443h!xT1unj{hLhb7VL+m5#V@8D9MLN^_ zQ2&^zs-4TsGrf2ABuvF)T2I>2p>=xsd+X#oNj-7$aZJyU%AW(&KSoxBR$@Gf^!iA9 z$mYn3Am>oGn&TRih55oBfp;cS_2%G;d~Ze%x3k*&P}f+{zp;E!L#}tnd8N*8wdBdi zeJzRpy`{%(iKOj;(WGR4B1wYtQSb{MK9VHf7fX6Z$B=vyC>itLyWI;X15|; z+~576WS&3MyRC9@;>6h|)}7w%=LvaE zLm7Rkfpt&s#!-uPpOg@8dgmXzw6W=(Z^)6ikaynSi?S|Bj;5p%Ws6Wc+&=u{n>S#- zDb$EfAVF(mF^Ar*6}R}cURmS)XcIimph|6784Fr&v+lo3XBO(8Vs}7bXR z_6_xAP*T_`sSSDuS6NBs3m7#ec~K%wE*c}#j43h}6-_RYq-b0ZLTN81+rQ@M?KSjw zF7DwwMhkh~xjx=|PLt<-6pp`>Jnw8cehy=ETQ}eF4|tyEx}Qh zxrTEadWrr$(A}_K=6Uav<+EEQZET)*qLS&fe#iEKb;*Np2l~HsB_Fsy4&~>MEQeVx ztm8nQCUpo%w8tb;idVznDrEi5Vpe+uyYhjwrNlFg4cdTqVAkbJmg4b=<(uVI2t~&T z>-fVHuflbvF3c+~<-NW7u#WTd(S906W9^&gcs1|ggHdP7rTv{Rc0&ufD3F8HcE(-R zoz*^!-SIH!&G|rqkYQ=7C88bTm?PpyUI5%`gfDT?_x2!shzsh*H9w4b0x?^lx+JK4 zBivPQ=G@=(TwgX|C(DW5rU`C~*&{p*7QX zC+L$(bjq_=b|gbxY&iN&t$2m;@XX)Q&#@6T})@f^5H`k?KP$r!l0h*^exbk~RQ_9-I+V7qUR4L@_ID5-nO4aZzs+5cy zR{t2C3|O}Mj1>8CCQYMcV}EC}FASta^j||yqfDw!$?>kfNOV944)?SakF&tGKdnXk zm5QaA7%Rg2+(n{4-I`d8JNDSSS(LT1d>inK;amC91Sy;PSWOXChoefFyMSjjwWKt;3KPida^+}EEqXdi({{C&gR zpZZXGyZZ(*-P4|gew69*yifMMFU<4~$G#lMQm2q$*)FC7#^~-}L~Ix5&hz1!rKrEN zr$5fBi~-$p9a;A$(tFlI>v1WxWGjsGv7j~Vy@UBkIY-YS&b_@0N0BU`KpJJ-tGk%; zbO&1*9lb$a?OMUH_NP5J_v3g2V{Je32jlMcVXIkp70k}SYZF!h&!Lx1gQQT8xYtNT zhkYAum-fi(NJ`Fwzi%B&dUqz0z_!w8#n)nNaS0qTzVlTNa`fvdkt05{S7J;k-}E5d zfiY6Y3Pxdta7bV+MvJnBPU2ORjL~Ofeh;RMD;eoie`0b`*?3}d&S7I@)We)hMYYw1K zERlB)WN!o0UuKN<=TLopugXsJr8Lv~*^n^Gh$WKMkUi3FMBfYjsl?d0SX_TrbudLh zQO4J4^JStI3TIFFFyGa5I1_w7O6vH+r%2M#dM2%KUKxC!kh+bswSoxT8uP_=?`K2R z$)tVwYp2f*bqA3xWG3?~Q_0@O{l+cj(^PNgykbs=+3`c4ik_?6I5o_pRxdMWLhp=} z#?hg=Vfsuu$CKWpk}aav%lj%1`MsznpCfq#J5>uEByM>&qa`3kmrP^qApmo-j{*H~ zj;F4t#E+#|#`4k?EHl0T@?FKE@?&}QhFG3;0GH;IIASlfFc{hHkLbrk z0gqJo#2`Go2jOY#R`4X<5D&SPxLBMzs0+TJWe%c1>G zPJ0sY{LPQ&o^GojPk$d$dfp&Ba|hvBBjd^Sp7H%RN>A`px>{WCe9#Z~SRd9uZxGx& z2El#A5BHNB!d>W?C{syqMJnAnEgfpVz+d}+b=~8~vQ5U4F$fDc2uqS5%gP&K8K6?N zRiRSsv{8U3-H&H?SArkUe3?r6L3sYJ?(5YV43(osZ_mSFi*DiD0l>EfG6X6ujk2E2jTg^k4N=i zsZ`*nQsIKDJUQhTnJ3c-sWDb;-hb%*szg$i8cQ0sC6cG%xB!mnaEyXuBpg3^Cy_W) zVo4qxcfqm3U%$p4q(k|j`c3E^=rglD5Buv^+xOpQq*s-Bd%-IIj5J@S!fa2IZ>1m0 zJ2IA%L0H&9SjPFWthgbTLG$)P{Hiv2M!M6FXP0ljACIjEsVxq|^Y@;scslwOJTq>H z2dTY%xqseXxZe4YAMU+!{T~}Ic!vAN`tkg;8>y5q2v5c!JahecKD!|vq*Az_ zO3e$ABLn+27~9I%a;dHIdu}Jof+`L*VG%l1Tnxh$YA2=z!y5IIe(WI2`YX z<7ug3xdip{b*|_Rq$lbYVNHXUnWv!rZZ{h@1u$6p1L+i~r6||3z+cNLvZkoia;zhr zZj>~`W_vdGpO#kpAmZ#F`X5(@6!-$*hF#_y!B?@d7V4thIa}ex#-4p33-Do|+f3r`4f41jF z@Nai)l%j@h{wy88fB%?)?+-KXiMsf~-ydp>-~N+6<=Y?VxzV>za3oUD5;U_tZGD*W z%xWNdE!7LY&Tl2o`J*&)7?bjKi^`w#aE5o}McIF2rC15y{PtLKtRj)@za8^>ClWgx zZ-L`uaQu05A~C>`qk&V&AiI3v<_>b@3N>2AMwE*!s@>K)-gZ-L&gJ6gqCxk&JsIsQ zLSxY@dcPcl@he%!8r_7^UeJqfa4f1}KRz$Vcl%n736ybAZOk2ONwmW-fKr)PKJ4zbAGoh9+vsAUc<-eVj=BOB0yfs8{-4fUz#+x~Q& z?K0YETxc+XBLW$bi0<~Xzy?{gSQedd3sh`W}L9TmH+ zb)rpAA0K-LG0mJ<y^6}yqnc0h?$ORalj9yTEM$^^bM@%N~SPM#pPmp&YGBSG|NmpJ!s3hykZ%X zt~Rgp{G&DJGP{K9VdniZcN!f>4RnV0V5_QQ#ZpxVyZES!WdmG6Bn$5DZzcM#Bt8{> zDLQMjEvSdn8|kD;!Ls#E?I8b*X4&osa6GHG{$fj_svagqYn$OMYpoV7qSH1j`Wp>n zSY}%1+0@F6NutfxcZ{*e(4v6tVII`l5EjN~Z}59+FlkxI2Qk}JW3?!V%pK^F@`8!U z81NVSmmFhVv9-Q_ch}*-df@)6 zPZ=4`Vc}+)`kCSbg>Pj7J%+VTq(+JvKhTFmvAf%(=IN_a)*1z8vc9aq_2-#ZQ{X%=B1LMhXuLTi{IDHQys#Zamwf6RX9_XkT*Ni9#_mt|EGa2IFNK=mGB;sq9<; zVaxNPOQPA*8QvFv*Nbe0f$9VnG*qr)uE2p_$5-qScspCk*bjJrkwV9RZv3$^kzy`n zcP$k!MSmAnW>g=WBt9VVFQ^>13zI~C!X)8xi#r61_30bRvAUyMg9&#Zl(>g=8^F*dZ1Q^F^C*My!T5?G~B^XaUR$ zN*oHsU#Bt}ZFPvVTtgCH-y2SEqHE}!rtJXbkc$c3>-r!f{?u14R-JQUXL!-1&{Lnv z8R65+zRoHidUO5NrDkV%1AfnP?lfo7I%80SAkLKdzo{KCLL3xC-XI8Le^Kpouif|G zsrF+(Qtfl^+r9y+k$Q!0QcfVWq*U>22tm(=8OK6;0xlPeLr2UJZ<_T;4BF>^s2MTq zubxcRwKRGGZTGd;Q}dhtV!Tg=j)14?fNu5IU0aK4ip(zOhdd96q{d{@(Bo2Q;p;U42Z=y&ktPPaZb`xB5O z0y+)}>W&pJU_Q+KZNK^R`C;@UoOk}!N^BS{>TvzMwpXWNHa4>yFKK4+(fY4oo|`r4 zcbKKZJ$yLv@Z?mZhBCVt_l2%(3b1V`0Z0HBZNn?%oxk^s13?xzF=;nEx!9OYr_unB zc3_?@LW^0?AWPzv#*W5-jx2b_K8w$~20hz@(F}JFg*F)Eh`RyaC?=qN*t5`!hm@>y9?ZxD)h#i^*?; zhVwJZIVk6@S*^x+fA^pb-!_o!;AaB~Z(5F<30Ae0MzgZddiXY`B6JH{_Lxh^JIr0Y zCo?F}wK9BL>+Qu8={=N_bCffDrYGCpE#@f7*^3lBD$D@6-XE>hZrl#A z2k>YrS4yNx?O@W0Q$wdu+TA!{e<#N^?DtV6?g0GhF}ppx8|LAA`Z|wxqqfm3p!cm3 z*=RG3sN`u3vr-^qh(3H9@Nh^8%#{T+=R#1VjS_ob=ZD>Ag)x?SmbdE)=t=JufT4JY zliQ~@+`}Z&g`QrY%A7FQX{oZ@L+^BkCcI?AyB^6dfvIFGJ`xVYy!F_Ha;~)@6W;sLmk9GbyE)U$RPGek8P6!*WFf3WbH$si z*{b+dG+P22oK}+PZ6I+P-3;%`=R7SDm1uL%^#ra*Ylh>F#WCiVHo5<=wLNgLd>awIy(+ zIWS>)M@{4&7Fy;yNpo>3Fq<2wQ z%T}myQ1lwj4l6qjy-`3%wP}7rTk&9!;zN#YYaJtxl>>U(bbn+f^etUw_`X$ZOQTyQ zJ;^fb*1sve0kvKoKALj>_xvP{FjL5&tVhjy8`DLNkg;s&BJS3qCr+PJxmi_En1TKx z20MQd4Ky?*Kt4vLuui-ipW^F0(+?8%gmUw}EeTh4{IRbNH_3MC@P}iRB=6%g!X)8U z;jhAQy29}`Nr(P$e}ACti`gPni<~1?P`ojDu3GRmq6KH61+@v(<}$@}Swq7axmrM; zp4X51S*Pq{6iSG0>$y_$7h^~R?_!6>ys(Mf53=-wlFq=S?U~7>dRh`F+86uM{$d>7 zFhl%I&r-vd+}b9BQXC7cxCH3BO$j9s}GSmc|vgw*&4M+DIw?V zm0CL6)Ha+M2j%HbAPHla9x#U26Fp`QJYXyo?rjKjaLL3OoIJ4!;RORFxJ_6Ob_2UB z;G?K|j&k1woaYFx3}8OZt#VW_;GbJ@29J_;dL`QZP`Hor%2k^aiWGmY(1srr-nHG) zHqSP>Ex?8r3NY8&+$~TCA;5XNLze9_*}ZRg-mM!rAIOz?XYJ#lZ?e=Z@foB;wTQqd zN)m|HB&i>U84$$gbw;T%D4W=GE^k`G*g-pW9ab@E?5?b2wERX-jt-C>xV@NTTbnhs zHe~5aM^H8!d-V<0b(p{U#wz&@oGGw8j&pWum!jf7>jG{qcj>>iSo>HfUrZS-)4 zvjZj3MbV4w5-CM5&rJ7sCHDgj)gKg&;3w2}tav3_=xRJ6-C{T)@mgX(A*l_O(bj1v zHEa*peL~V0M4etwF(bL%p9lI{yA34^xw{c#o?%qI(~WOS zL&uZk#~QH?Q$HS753O5@k>3*N99jnw%?uk4&^8()WZMPIM2@_q@CAN7{IVF8x)u0x zTdUcIUpoNgFMdzJ$3ZSu&H*s6`jd0Ps0w$f815S!7}PKLro*5CV#NAzCo_?Z znV-<0B+X=T9z^TV{=z}qyc zXoz^Wr2u4nUV~o%z6VJ7>ZvC+vrHQES`Ul42%o{P!S^uZ3tGb9YY)VaL757DmR5*| z#Z1t&S$Q6bLfb;wM)IJQ7^3PKEv~5*)xIWvDF#nl6Z2QA$;#6;niA_wD4Q9>7}S90 z@4ts?nR|Y-kRC=Du(2$vJ!CbBJgqQ>(NPVriNA=M*6{2#Fl){-F^09C{lACmEtXlP zB(bPqNmQb+ICqw46RpB*VY9ef+$ErI5Tj+%nk@iPTO|8#q}K*#zbc}A6xww>=y3YI zWt>89=cE0dEmbhPAMa6Y6~9_KV5|5m%=ZgDM|-Z=Do!q;ukF=phl7^7(DP~!(NDUc zr!Se+6H3krnBT96*cm%(U+8(hCsR-2m{L-TzVOt{mNFIS18nZ7RAri*q|lO`Lc^qE4Wg)VWIsH0IjVlWBl_qo>Z@p%}yfg~3rC(7DrvN{_o*s=5$!=t#-nmH#~CB{f&TWX zwo2q19v%6XQH}G4GlZ@*Cc^l>4tV3Z^tq;c-0J#f0pmgJH#CboTq}o^L3@r!N3`qe zaMk{xAlSSG{)PqkaI|9FlPj6o6NP*n!m$I&w)aevU|6oaqW z6r(IUT(-x}l;Sh`I=}BqupV#}S_fhx%(dJoCc;8barcE5t#zU2x$dhm0dl=BcOhRa z@W%w0{oDXQe=GB|(0z5S)~OAHJKFB-Yy9A+-oR#Xp(mspZ3c6__jk<`lEp+?X)T{z zC7+>xzf(Sov6WAzBe6Fu^jzw?al8pl=@Drd{GzVJn^@>M*`+cI7Omwy%M;cKb%j>H zH;m;!#hX~@InwpN<4vF^(?ZYLuHP&PviFHa?CWfo!n5J)=i>Kb;Ol;#3ttO5EC$KH@3gZ(ZKj8^zOA0NCzTca8!9cU^vD045>24#@r6 zRf_fH1c$uJG-)SU=()WMV;OeF1e)(cyHnSzs_aR!W+2mwPwi}p6OXz$ZgKP>S75N- z&2bs#T*}$+_g*+(C_?`){R&2iDKv!|>HS{kd94`aLO&5wRVchCs2vME6T1FFbLl|; z$8{-?HurGn14tnB?x^fl z3I?wyg~sV^NpzM;Z!L(LRiJXc#`!u;zJW0wq;~C9-_Bdl`z9}+@mEo??PDfzcGF9^ zKL1x?NnOa&Jr0w|f}Cd(vPI~O#;}GJA}27ZD+IL@;~rq_1iO*5@GwG{o>d|vWV-*a z&VPBz`?>Hk~7gHgDN#LEa7*ipEIJtz=lDkC4TZHfaU)@AM&VTl(;t*e+FHpue z>w0`wc1A}#Fs@XAXPvKFG&zC+j|zV5f5i31HMq2XT-*J)M*4B-|0k{oeT-iJEYUX$ z)k2{Xx#3yPzf*d@_qB7pp9eokPbBxgoJbxS8cY81QX(Z%^pf?hj1B$u8(XiJRQ(!=tgjveJ{t=BxEy18W&8>lP`={CqFPn* z>U!K+T2&t+WD7(W0#Glj9+3E_`83sS%j1-$j8 z)NA-s-Vr4P*G&&fd{Pzlk{*^ z)Rqj{inY1!p9lkF>k-al(#Y|+=M*HW>>#m6PWL)5X3&~8zBmx2bK}{D!4W3CEhx=@ zE%D1YN}BN)G5bP^s&b<=ES|M*1gz-4v3&Wbo}dU-``9V*Cnm^{Kr&wvB{8?_98AR! z$4_$ns-NLMu7nNjoho^r5D%^kZZTq(B8)tRd(6(pr+y(x(;H5LhH(<4+mq5Q1mx6; z{UG16W(|xbYdobFG0xygn4yzm1ACY|F?v7qEMOg-a)x+~xhd>V>i1qoh@z2hU(h$_P8a7JW@k1RyO7Y_Z z?V0Uuw;<-g3fBIk6gnPirYW2R^>ji#$sIrKz&t7#Q|*O=u5j*tc^#gyuZsdsn8ev{ zl9>BmaB$_!<~5$bw6T>~w-Bg5<66V4_t%qg;tB+=^3{2=A}-)s0MrTTe7X^NYW@kN zF>+LpQ%?hcKmP#yzsZQbpsTU9Ws7lk!*M^XUuACHC`FF1hWe|aHR>iUohk3y%5j8p z)_G3V5gkGV?K^o3^r8%u{?edr@fF6vpRRp&s}uKz@a^f|8Esgb_!9%Xy~Q}{I=nwZ zukykOf-8nUN<|Ys1?pd2J-lYkLQnMb&IS!y;|^IGQkT6n-$C@))A?-d=b12`l*;`a zN3^3xckNAd6g7#5_cCcywoTh&5^$H}*-0PJKxKzxf`5l2K_#eQ-aKGb30XgE1+9@J z-qZM*G2^EY8?!46^yUQHC!iT~9V?1f!u)wjwum@;MQ_I3X`|#w92Z+OvOjcrUlP>= zB{azI&pMRI8`tbGz;}6$?_i(#MCnOao>jxM2>5O?U9Va1$I`goUkxoZ$#eg}IzPrl z41DP+ir#m@V!)ngp;01nZ){P~*#gtC>iOWta4li8T^OaUFjf{P>QN=lI>+PKPms z-Yl>248#^eOM;`IQz-W)%l9xM&y@P1G)BzAala)~KTOCMFxJhRmED~~ePPfB^w=)B zdmulTyEa6eCa&3wehC2|^B=`G1lU3|dyL5qbHx!NN_}%dLY@m!C2wc+>?Y36$}6@+k82NsTNOy}IX)x^ zC*lg631&`)6Zmg%v@{65MQ3fO9@j51t36sp5J~-5q%70pEH4)vFZ4PBi}`gu<}>F#{2 z4Hb-u|9#7e8+O@Yw&hZrK%j` ztBmuoIkm5N!DkBsJ3c9@j1Hc5Qj>2Yc6DVIW$arjvMIaK z*Lkilpj;`N))xkJx;ob2o-KORM!MJZYBA!dq`EKCy|Py;Vze_Q(%BkMyGw-;0TNJi zR;S>8Eogfwx7OiaIPUe4xESYctO59{xjVoN&l%iHg))}oaIRRSl)$)I;ezWFv`Hyh zf>16tHnk`cj4}@3p6zkKFkp{TGRPhUcZ4-^ToW~u>p(c=pw(CVA$eOCcusW-u{qvz zU0V46Ti12|sNVRn61st^4X^DUiJT1l408IgCMmZ--LdNBW#%Q5w!o;c#lIRU?`Wne zJDR7ZyN4xsWVk^LOcGV7Zp-ucz8X_Ly}jZ^T(7XxpkD&N(PQMEj(ki6*W-gH+1 zjFyq^_`XyztmANDw6GYC&6dM3juBm0`$+3yiPym|Zq078UPGtST!~+RaeQ+n^?Z=~ zEaV-B@p5Av)#8Zz++O2rfE8u3cLsJ|4T{B-o&vO@ea3g-dBfo6X$l{G0sMouW~W<^ z+a~SYXWT-E$hChS=A?nhqtFuD6u%_)n*Yu7EkqABe+m>&7Z>_3cw@^z3|u*Sa2u|( zHgbO02W%iWKJPHT19rQn63q7TI0DAk#MPEmuSM1x@K$fZ5h*TRP{s0p2YahQL zWYdWl_bdiDV8z$3* zsX(f<%lqr^114reo4gZE^moyXQo;d z4z?I*yEuPR6g+LX?r8|{;Y!=L5;0&D`fnxP5Y`@VngzH~2La7E&LpXmNyYj}mm3Q} za*A}H?BP8n+&*Ju!>aN7jXEmte#kkj2Bb@rC2=Oa*fNS@w(`z4#nTx%U|Z`QgCx*x zt?57^r0x%r#(7fQ)|z6&{NaY#s-64?+(%0$X=QK4zx>Y3#!OKvkVOV;SCM|-)$1rr zR{;(M{}b|)uUg6MDfOv9L+C-tr&>1p_jX?}vB~@iCO*d<8l?JYqH|m8O;CfIZ2z#@ zt*Tx8PVR$!#*1=m<_)q<{Zhum!gnfBz7ss5@)N{61!|ytD`$)13VC&Y$F&R0M|jKE zaU>Xiy1&Met99989DOXPhriSql_zmk(?kPM_gfdsPWO&H4_`bo=K`NR%Z%SYmrnOa z;XNjW7MPV$H26F-{zOX{jA&Q)9C4hxnZgLQm`_0)6x`hip&zzSzrRUZYFx<{mz>bol{M{>!vCunyR7O)do9008fZp!ORcF%tUA;QaKHa; znCB1{Q;yN{)*3@(D;15zT*N)UDEXZ;a^&vQt@CV6Qc?Um<4D;CbwKV#t_%EezyIo} zyyK^K4z^iVJdU|mz}Hd+|Btt_*J*fh=v8~y5qOp*?ae?PfwhNFwmh1ml#MkiYrW-) z7BHng*w0C=EyqFI$C%+-<^U zi5?~VA9e-PnNUw0ZO|4+-f;p-Bjqsaz(F~d0MQ$1{?0F>5XSl|9A)s8^p%ceAyu^D$itGY}~<1U+1dLB{i5|MkpdRMUyqPq~n47 zks>p`@Rp}MufsQD#ER%C^^d2r z9S;-|*Gg`V$huYxAub~c5wK*@R_}uEsEq zmO@*0w`I0hfRvb+YHBYp{4MvmbPKC-ztB$-KLzQ|0O!A9c7;So<2Y(+KdR$_KH1*4 z0LB9{%%h8WfcaY61yf#yN{1U$7VgJ1`aPMKj@o4TC172r)|IqdcP)keM#%XfA zo2gSVN@KDQzk_0feK)*gY$I_ipe8TpW_#~$BV)|%nlwgtHqYEXBn|p>=9xTYML-Q@ zZvptLGL`F4xQ=hj)Md3V2l==pD~g5LDB|f0M#9_`m&BR9pz)R%0YX*``(i4e0XGCvqk5A2PXR@jR@0ir>@INsX&u@|W!2susPG>QaZ5 zr+o@XOzJbYo70>HRo=XQCBxww&#U#C1L?Kq_9@6!t!x}mOSRj)XM8FuSc>+QYT3AL z-ji@uWl8s69fvEYh4`<&hb!&eqmC@?<8c~yLZ1pW&Rf{kpnYiEZ^~B&Hdnqn))%O) z@&@%|9RNbEwhnVUZSy74^aCdEg1LN$Ek7bn?;g!n=bF4laQ#&N?N_d!f$JrMo-c*# z=krIyb%cB^z_pM+;mY;na9x-mc;#Az>nHM){qN(RUQun1x9_=CHGGF}(kl}_tf@5y zpIB}DTYXk^Q1pnb$gJ<`Ezv=rtyuj)r*?GxQMPe&_)+Z=wMoy{wB* z8DpRle-G|QXM3gJv6rONUmo>!F6%S3zgy_cHIvINm z{AP|xd0CeTU*YH9vCqJ7=F7S48+aH;snq(GnbbKw4c5KFy4F=6%_rEv&4GuEFRGXJPy^7%(&7&>r@ZZuZgo z!smpKvL%lki>bhy591ZGNL zT-8IF)NkvX^L2R%*w50imo?8u9keux-tc zCf6}K;>7Xz78sZDe{+G$p|_rN5IxXlvEH)%QK0_Z9gnUzMmFJCAD^NY4?TKJb0`l- zd8rXgRnM;O$OMdxUT+z&3BUJ=M1s9tUCYsuf~bAi(<>e&Nz5rmI}%!>O)Z}dR7>6b zC|k4MIHU<`ySQSuCK|^LQnUF{;yOsGypyGao*+_E!_|=FGfl)9tR*#S+0OCJy&?7k zT?Gc72HJ0~WY(+gft3LpKC8oaVXLtvBxxAXm~%56uKDxJwe*W@X0sggtRhTaO^uqY z(UCC$m84_YLu@y9DcBBNnXgStypy$Oh&dNtQ|C)#NR&JqR{|$aZ zNB8pf(cLS$iE}ND=w92-ZD6}swvSFaU4Pi4Wl=WXSd(1yV|`TC6w?$FNzfvk{?XlU z^%Li7G^8?38m^6Y)O4?qVQcl3HR$mX(fwA}K8fr-AVnEe_B}PkuBzPQ8Kr8CCY7;f z9)2IzM0CH}8|q;~f0=Z;URC)w&&ZHD=1O|H{v!_?F2k>c{~gEc54%Ewsy%E_a?Oc) zk6FpHIJ$dH*9Z0GnI|$My4PGH$)CWzip-xgHPIw-LBsy~r!SE3*XS1jCAf04v9KxJ zP@WTbD*Bb4_vvrl3gYw;nAAd>Bp=;c3^2`b;B2#P%vJ#yg8f2Gwly7Wx7! zzV(daSeJ<-6(n&7aBsCsrP^i2+5`gD!zPaI>t1<@$x!GV18rQ>l|3owB-&1WQvZ#I z1d;9_cP9LBN10@1i20IQThhIv9W*{|h8VONuSwG9^_Wdetp#q)pKX&%8DfUz=P`F= z-S*1mVIQ}iMPA$fDE1ZP>z(x|jleH;M}6~bCatojIxnUsHrdid5^kd~Lgn)vb7tz& zf>ZW&@o{NgY{ZaglJsePo^iN&U)Kulz|}hAP3G1{ka*J06vXPe9+k)8qNB0jMWy7M zECu^qS))}=qvX*mMl7E^7J9+RJDX>1HGW!OVbuN{t6yT;=bAJ+rfGP#x&q5+DYLnJ zGRjTOv+PD*hTU9{Yz}gMA2-yslATf?nEIaU3_H!lxpeyGnb;1ZI|Cy@RNC2GEd5(< zn178vpfHhO3=ToS95mQJczUp)bRUkbFzzjGp1ossWpqr9!Xr3R)pQ(vW%SQqCxyXS zac^qX?8kLS<1{@S%x*8j9CTM&^X#bTFelE&&PNY*99^7iIvV%5VVid$JiQyAf}F}a z@!SbLJsl`~$An*IJM#+X1mQSXv)cGU{UH}2hg=NdTv|;@jgU`j(hs0T2zp>e&{8^_ zZl}qjg;b2dXjz;`L&BO4ca%J%a%B?UFws1hWP4AYKjKmcpk2oK7QDY$ev<8NIG-$z zGT$bky@Zm1B!Ye^mQtfQD>^TFt}s_5N$k%oNa<3`T+x@rHSK`&xq{R}5-8n8(eFvT zikXoyKg+wam~=CrVgt-o=l=?rF=xs77QDZh;FD}`+4(}iJkO6AjZa%YMZyKXN<#XO@Zre z-b+2u`+_-uqETb%fA-v$IN_&>G+=k8Ua)>Gk*cHc+vZK{MF?Zy?l$kOy>B_fJi|g} zQ3}^i>-W+yD52{m8v(!UdxMc@RZguOy-c|i=|0)d7*q{f+c=sDc>mnvBXF!_z*I!VY%DMbSQMOloo~PTr3BA6~oF0^emNJhZc_L)S)Z{5|DO9j%~gDwk` zJMPo^+&D+a6gj)^ltuXdRO2@9{XJ;ivmgbpF#_8*?~op%mHg|xAMY)to9Q~5UU8u7 zSD4K(j`PdQG27p`K@*P0n5A6 z12f;1{*VIaar?XekP^|oqU%5B_C4KNn*6`>`(QB6< zfp++F{d!YxQ{D=4O$~y#Sj_pmx1;-M{^!KF*FDECmcT4@^(~;lOmZt)6~jF5&V>?3 zF7EGA8%RyLF}xx3lA{D@Wii0F)pP@|EYhzT+QTq-J)`>w(7wuvam$}!RQ7FNUl*y# zNla=|?P4qNUM}>{N4j&VYIButn)kVjw|=I_oU)INZK%Ro#0#}#RGULw0W5y4g$-&~ z05`)-Heq~z)5u^?Rq)~lW&&5a)%acG0w-HOlOmkFi)^LJexilB^<*Q$D}L-BEr<=i zk7b+pK$o8zQilR94!XV~uhr~>Q8_0m@RVF9=wqI)08cIlGKqG-^l)5E4REc2jpa|O zp!H^%K16#)d{=sySs7hfGor>h4)bFd#XXi3bc*PLosW&{IYpAXCUeAGSRP8MjJ&u*9XPrQ0h)?zqK5)Z240<2%Tks4eg2p_e<>hR& zN*-FY^q2ELC1zm`=Eqoht>@mxI03o4zq7Z0Amj2KPG!`&Qz8k>m?Zr;ilcg!4n|Om zGREZ1gdPd!e}LoTmW1Un2EpBj;YyhKn*h8u6aCYtdB14o^dCyR@F9G0l%#x}F2M2~ z=0UzvvtI>_s;jQW8Dm9KM5Dq#;f)P)tzPaYTJ-@etCn-(;{RXe|7YO8rnbbf9^M-2 ze``o1u9qRFsOc{S)4Zjvm`fMmzM4_@*DHB-SHP@es3ls^p`T@3Mt-|7s3ApSGq?_) z=@pPc_ZU~#GlokoFk%J=wrP^k1_M1i&{hVc2^tPCoceLEOQk<+LJ~2t!pzSZHC63?j!p5tkrU4YvMlNmq=}%O}$sM9uW6w`Q95!F2eeX zX#@7VKZDF-^OW@BUge!|M{CfyYkVZ3*`}L+EV|ZpCL;Wp)^?tRm>KgA=ZU`YJYl|v zpI{~K?tW&%g%-4xG#to;>leOAm-BN6)e&v_0nA5MnB3Jw+{XS(ZQ&tVzo&#;Zga}B zL)&qDKio&$g70`MD?clOxk730y*_Unk?$>PtCH_!dp|mt1xL(={?}GgjBlI!87;0k zhG%PP2dwaerxGo3=lPy?M{-Crz2$MZ*7ge);vU*xWx;3$8u!Y6WoI_^VCmGca$Ihn zX0?lkSlPnB<~h_;0+ji|=hOLaoohiKmK=8|yR+Vx&@Ak*5PhI7^wv-7LlfQ?m@#_G z8H;Z2Dk;$rGA*ET?p%H05s8#MDXfyl!7oYpZLR?zZtf8Z@wl<4st~0kj5$q+GgHnV zsV|uyOREdj4x8um9%23y^4XtzV73zV!qq6^=?6*y%Q~Z~p+rj5MAk9-5@{SrKSboj z7+ch2cWvhV@9llbe5;r&29D9&eR`86RKLQcGz+8B%2>rR(I3-V7 ziG$bf>Xdp&VqSwmwxIk_$Ln`>GQGD=T|n_V%PGjEE3cIP1xjZ$jFn3}_p5E2W5B4W%u_ib=)MEt&_`s(Ss!; zr!E5>AihsacXh7s#a^JVNS3WLr+GhhB`9%Aft~^3iR6#xN0NH@S>X2t{3gI}AN+#g zcMyKqyNYVZP5-p5rT9g2ym-1bp;#}zyH{`L=3`{!!yX?ukX6akrnaF467F80udIq@ zS#ECA1W)tMzS!QTF2dfys>KHOLvwh+aR=>zKa^>p?v~Ut(<2ByV1z~ zKi1woE~=_)9N%Z=%rM+!QY!@1fdL%D%K%<5t#B9)7cEh{konXgUe16iSx*`D6yD0v zdQh+sG)c2Gt(ZqCsSKZ_vg^b}F z>)Ly-z4luB?7i0ayXbS=8Lah`r_(YO%D8c$<>x#Zfik$hNwm#|zIbT!BL4*XHWf;q z;eL?zz;17`IjLy7L4H<4PkE*IH31uc8MX!HmqD_>iF?(MW^JI@g*FAT&TXE|0|`*) z=z%(SdqxK8jDXUI-#NoQ&i@Z1*2DJ2&{_$FLF>mbkM|}T=Juw-+b{}=$(vlH4cKkV zcdx&gNVSV-U@ThffKxCY|Agn4@XUj!1)d$?3cF*-$zS8hYVbRz#gM1qxx6zjKwq+R z@eIgHBjFV|YFlbVU4fD#W0$x6!Z-E2{H*K@Gw~M_Z`1JevK0K={GOb1-IL2zfL{j# zI%wye#r7t8sx0Yw-z5ZFJI$u@Q&&#$yOB~rX%)W;>aQB$Ie+g@)kUu zO}W=$_-=~f5`L$53~Q?an)>pG*b_T?iS7~W?J)ND4UGMpy;B3dG02PWPkHp*LxAVQ zD4svpTVSjXRclLL9a zr+NJS7|MA7GJUw^*AiljNNzI3(HU_kLVF`>+Qw&PH>O@<>=ckwd&5 z=sitR5v(EP8ZH_xNVM+uP#yX1=Q#2`^xa-~{tC~(!?PCfZ!$br{wm?!g1g>mlLP2NlR>0-@o66MEPzpsMXy5B5I-DpVQ_Oyg?%q`5OF7usdcN*kv3r64<`vgvQ zi>yta5@MAlSYt?+wM^b+k`Lt=n=DbwMZ`vp+0zo0*j2RLIY=(kY%?5ciGvnd#j*p& zJlVUmu6_kQmjNx_E1VWH^UjIvstnrx+dQI?**e4hQ2%u3he@8PbRMR8F2LNphlY*u zOr~KvPdvQM=+A(1H}}eHvN7+sHQLFTnN~7pyjk)6_!(1x7n&;qPh*?HjhP|&=Zf)~ z!7)1x;b(lKL%(NI-S!BOX_zU&aN&Ej0&;JEig|}&lvOk9S>rT1H!d}g7|_2q)BTi} ziT5X@X*0QdTswWRZUQ9UKkDBz1m{Sc1!$M~9@kiZ(g4=;osz|bt06iv<$N6331d|_ zC5CK=C%RYPiYJ@Fwa(O$Gx>G9u zW%#;fvSWSaWXG{ekt-*hR+G2JZjljRwXC6zn6hnF`(o`a6h zDOE{4X)z>NTcK1FAHP6awXLuc?-4Hh8!bZscmExjEqesfuMXhuL%s1OGu*5DBI)=P z_96~{DhAi&Jh$VrG}G}u+BaX%L_HbPrYUvgsUPD=I^gH+KTG&If*U#GX6{-`fy2=# zxb<8dXZWxRxSLoDa4Ql!#+o?!*7N{@@Cm=YI9FMAPRebfm);M-IZc5bZFotSJKcS2@*}MS4a&PEZd- zr!4ybe)ZQL5m%-i5uXNE0d6h0_24$9l^vFJc8!3XksR9pguG8+-c(M{L4M{#$lv7h zJyg@Ohahb+yFT^dd#kuob}j5fAD(V}TGk5Xw?g@?;`%wQP`+f74LLl4}WZZ_O@*`hAH{F>?$@LPe)M*k6f=2*qG2@5P% zu_6H^oWW3P+H5gFJy%T7hdyqlYO(Y&IV#lmd>+{?tjw6@V zfK9E?(^}KDvD}!3G6x~5Cg3>3afWAIicUG`ux-G3IO)4{-SOeUx70IgZWx#E9(VCv z_lN;W=v?>kSd-(maA|%gU%YO9-x58eAnqxnyz3K2-gN|RQpC1(6OgH13kT{za|O#j z-J<4XHjtBSGc`CzRWL`f{hx-v@m}VN19z+)^%`??$&Z;Yjh&xx^i?+V;Fya;C+FOp zS+_TyU^-_L!akD2aa_|#Qdp3gws(hZV9tWfXzJt_bNjtiu zHoV}_)ZcIy>ryG6F|s{zkM%&>_b$oyJ?~f>zAp?-P?WbHya`Bi{k?6EpF$eS!Hr(!#dg z<{NAz2~+nTKmYJgJf8gI3U!vP{AU2GyB+#RS5nl^Lr7r@XG(K{_ix1QOlnf!iNH*-cA3gxCEXzktWq z54DmcEwudn(m}@)9)5tI11YvJg0Cm6S5APMBw#G0 z*IY|6_jf6Rxic&s!YqH5IddRp7)_lGb*K+Z5Jdk80_9&op!h!_=<@wOMKE59{r=-B z=vl2rzVrdWwRlpN6U~+7$V*oheOELLa3$P=PsEhprsH0cUpVfQMr(+*c}i(wK1a= zXokO&ZU4eE!gY7i$r0vY;e`D#Jfp&KHV>{pQkmOzFR{@Ii z4`a>ARUN`ufT95)N~Rc^>|0=#ph(u^cc5DViYhNN>AbyRsiMbqZyHdE=!tcPo7y^r z$-sLQnRECz%z5O1L1&HT?t@;qJ9;PdLYgS+N)pvJy;16g4nYI;==qU6@=WdGP@CqW z?eRymBhQcoMb~t8wLx)avN+^OqB!^nlP1_xjhIWqcEE7_Mi$^7zI4ZlDhupfea_gWfn}m-h4Uo3tD#F_WTb zBk_Jg>mxjVF|NY7lrp95Xz7M#4UB0`FO#6;;!B1AX0P-AQu=E#?$4ePws>{W&X0OE zoRs@~X$AKHpIkDMZx^GhZsS6_IAxPzmXnd+U_C7o^~Kor56;L|oGBEwY9{@K2URdO zdC zElpl1!E+~t=doT1)78hdOGg7d8l-n7zi_Z$yOiN$%zADPtOK%(%)~Bx*u51>k!uTVc0aZ)Vs7e5cVVuOM|ea zrP@GVhUV2l*e|8$1AQlWFl+>tSGtRag*%_1d52FNp?u*v}cV~884cL?`Yl@xuMkDSPYI!9{(vi^9br*=1*(9s}(Q;!xvq!eK-1x2g zt3El`U>Tez-`@)|iH6e)245=hL-p?JJEc{o2kb5?Xhlr{US8q6I~}i)7XVJC~P?i~I^X~xH zgEN&In5n-m{e@D{Gr|wONI?~%M9)=i5;s%@be(n0S2FMB+R#@3KE(dZ$2A(>^}fG? z`-v|Co?wMo{P50)(JEUta73{dlE7>}Dw2xghuQSvMRFV3C~FdS_5R)tC^PZ29m}bP zau%3>gmUf@waXSPlgb%#T{+riY`S*wA9EulKb*MTE|vaRuLHOZ-nG=P;@P9r1uZ90Av6JBWbvX~?nD+fL)b#c`JqKdS zIl4TWFN6O=9@BlVIl4T|Qfn^DsimQ(>3_7DrhtF>${8!la`5{i^A77OWO$e@}h9ao=CX7yCXHf2Q$^ zY5Zh_WFYo#A3#umzWaPSF8BrYS__Q>Exg0mV183@`OrU|w(WKw(MUBS@65cd<7isp z79U#ZUMq^GLSAi2<$QtzMpO^$KBh)H=26$xFl3;HLB0$wO^6q@Jj3B=om-~CXZoQ) zk1A=ca-U@3zDhL44{nz89VO8e52${c#LjiFN&&)buRVgVcX?ZI!<<*U-;U`jNRBml9(g~q{`)96r&5!KI1x< z&k?gNqzcAhnqO%4F=HTAB9o}#LLr@=Q@#A6sLNdEy6Bk7hgU^aMZ6rjl4HK#Yvgn9FEzk(a$obCOk$Y#!<=Twa|{|T$WupPCWcBPW*2&v?%slMUJb`8v= z%D!C7ZMiFrslsg{+DMExVd&?5L_6h9dG$YxIv#M_GI{3H#(1vX{bg?ouc%?G*?sbA zypf~|Rl@k>a?0wEYSiu&S{+s$4nDm;vRe7JUP$j(y4K30z6#sF4(PwqRRexp336eq z#`Z6a&xD?ihF*TqQ2~7wUF#QOe9`qGRkEo}3iP3t(JqY7;IQPdSJt`m9g$TrkVfT; zsSm#{&CzVEF{~}NE*&_>kxTWQmYWT-I^qVN)C^(edrrFl3F~E4;QU5shK__K#*owS zJO-|`EsjvVi)E|JJ}HwuVt8crBcD7XTVYtSdc`LzWREflhDRwD&05#EUA#N<({iR} zyEs2{yI5$F)iB$(iv?v%Gvzh1?d((A#hEtnZ{IHF9!bhtTfSX1Ry>wDCMz3!nN|PD zOv+-xH?85Ni!3`P>(eKJy^!d znc%<4x~6P9o--*sx&kfV8p1`qfg44v&vDzk+_O(zq;90PMU2i)rYen z-I|qJNCW9s2Gb!2r32in=tJDI1K*THZ_S@Kp*GH4MaZXo?jJcw-E^dzgtOe6!jirQ z6YIh|-#_|Umkyq1{gTaK|8ymXT3#|`)dr;%X+$(nbkS$k>27;2Kf_#MVNw|D8bd_e z%c3#$Da$FbPjgBnsr51QsQ$fL;Qg07Rpc!gcO`k#7Qq1qDx$uQ`ZVZj0RIphPl+`J zr^K~-rE95by8);|%W%ry<~F0PluAF*&2U%fqtT9gCf;`PWM<9G%6r<#PSbKv8r7-u z_>sd`gA5Nc*BQA>C95<{<*v4&24VtO%fKv9=?TyV=Oty&%TLIwwnLrI(|QkQ|VW=%XQ0uI}sC86+xlx@~%*PL31GRk!wc-8oYC{CAEt)$ej+x%r`fzRgiYpmH<>rE7Y65&7i_ucVo@v zck8)y{xfmfbX>WpHlgX!Ig))*yr(&5Ydo0=?uXiV@<+No*&C$WY2GPxZ*8z&qSI+! zj34in=(Nx@h+{dB)%8*Q32|+~yM`OuW`S=#_#)b(%B#hV;0tL}r>`+EE;ZBD7S=qJ zi?lIsWBIsl$h@du1nD^7VBnqV!AkH8R-o$s)QJ4)3uOyGStwg%SQM7OYT@-ZO;;Cv zQY2eoSg?A*Cktf7hT_%5pA<_vfhtfh&?jY0n;RoJ>C6eyMpQ>uqjq97)ov*1Ekw#k zt&IcS>srpd6HUK~b(GZRG&Hj=J&D{4ZSTLK9!~^m7b@T_ydO_=go01mFTpPBKM8AM ztT}d>b`kob&Ak3j_vL=mqORqv%g99YtSeV0=g*e1u9@;ZIT~&-td&ma^L34~w^0wQ zoc27nzZ|3&Q%JD)AN7#hDI8N@o1^8Ya1WR@u-ahwa=PX&^`Q0Ckxij9n75uXLVNaQ ziK?+LimV!M;%D-H;Tu2EC>sAJvR=|MRq*?TCbZ_jyvuWisj&Wgu$~OgGy&FoPfceC z%&QQRf&736M|qk@N5^7hlbmDr+z;iQ^KTa;iBuxhL%*Emszh@|H2=>=iDx{&T*(#k zLBE2FHrI%JAg%^x{Aw<&`uy@5F?&-j9}MMEBdfxzYs8$?2#6~*2XlvTrvqui>Qz

    d1Pu;>=cu!;@`LR7b#5Ri%WS9(~9wq1CKwDM1?pDKI9X{nA>2GJX}rgA97$v*o{; zA8j@Pr3?3j05AHEzsD>TNqp&-e&kChdCo7_aOccgkbuV&)t9u3(`MJ^07k%Slz}q$ z^l)cy3(lajCg4$0QCD8+0jpS1kivI0lb*GYqLo|aKKX?Zl5?f1fOnk&Sy#Dl$OSoJ z5>Th3yj~BSR3F1Sr-(X!+`w6zuz2LFpuYHM9=|=K2D-A$=p1Due(8Ze)}s!Hih_EJ zbaF+@hj1MfA6PB|TC@}DNdPWA)H&I|pMS^1*!J`LOw%kH2+5>(&BRRJ^;xrc7$MJz zhq5wPKv^B;+8hP92TE84C5+~n1VQ-HzsS6}h_Nj)FDSYVdPflEfW(UM@UGp>sErxY*Jvj(+>Cl6?eJA#~q;NQd^xGa)lucJU9W+4LhZMXq4X=a7ayqk~mwYcEM0 zZlk&y&1Q~GfH`YPcrt}=3(0Buk>AM|4WFZqHS3_}ObeFZE^2s^D7Be|^(B5JRNLu$iS-wFwe`->aQKzkTiGi0nQLyn{17Ycy7t!^x9x`|U%BR5U7sQ<-KBwumV zBrlRbp7r>u$B!1t7i2AXl%L2)=l?BspL$*v%MG<6mTwdlM$H0S(V_*p-ySf8S(8eJ zTdD)IKcOTdJt8e(!4*5K>vF|gAz!Y6P@;wPWKMDM`Qo)=roKU|;dT}mFWk8hp+T+A zxSpu#_sGoB;^H7q0|#r-mZ1Lbh^g8Iy>{O9oG9tHp(**|0qpcqnOw3!F1#y1+xu=L&@pT;=TA0|I1r)zi7ztG&C>DT7JeB$&UCC`Hebq{O><3~ z_G(p(QvrD%_(LA0v&DmXzJ@$kX`bf;d1~WpAcu=~Adg7%JnXNsNObsM zd^F7OLw^BXsB^XdSGx{cyx+%C>MRE-uA?N9lc;iRDW%FiZ#^ypdaUEpIfYZ>54OJ5 zmqBlwEE@>9#Tp@G~=C+Q3J!|p)tS^i+iHeZeSy}rJg?fL9+9dIKd&O1H9 z9(XB`I>R3fS?6PW+G)Blr>r;F>T+K$O_%7GLU66{3(G&2P5@ZNnX{L|Jo~Y?5c;N7 ze*m~nIdYq6)dpD`+Owb4C!L-v_ha7`no-ZQAiOIQdR7)?_w2h^YN!0U#&lldG0|p_ zqI$d_^JNCGq`x1a)Gy~qimv0F*jXiMDV4N{Qk#ciPZ|rjeD|f^bdd1px|V>XT)^eI zmwEpu-K1!p5Xw}~b?xZKy@pmOAHUdNg7LNKrFz!?uAY(C)pICNPkNx9TmO%GY*0^W zpdKh)o5{6`PW^acYd_A8m-~ZO5OdtMj-Y;7+xb!C=g~US{z)8J3C|tyl=B;)UvJ=c zxfg#F&D{Vs52gD6=fv+dUn(%Ux;I z3lqeL13LmhSNe#ybQV+ntTBV`2$<=PzzO%id#Cas_g2gHG1WY$fU&s<&`$0rK=g|f%>Ku17FK5?$AVD~FrYX^M{5=m6+ z_5ZKJKkgjhen7-4Yh6YMyEm$8NR^KJMx0Qke&rj{SmhU357F^$)7{a3-UPV2O$tqb@G8%pwk~sU?Pg%@zGOZRYd0%D4>UTx zS*KazQul|z+Fj&%vj}T=(|n~6@2m~oKQGG*Gce1^$i1e-8A?|)gQtT|K&$Xe!<(Kw zs3F8P6xNtjpx}A#iJm=X1+2*mSd$g5IJsX~?M5^uxuzwuB;ONRji!uUJx4# z7zFgckJ;1iPU*e54#!W!N!YNtdl=wX$VT6H=i4v8Tz!Sfk#=l&f>W_FDtWlcwU z1y^h_@Wc2@kRWHrO*hHAR?7?dvcqfmtp>JjFK|Ij>TY*|=OT}~ScjO#@spY(pw(OY zlqSyfoaqLeo+I(Fp1DtYST5Q^w9?uWl8-B3xp9|U4YF4W-^I_4!?Mk$LaNLDwTz2? zym!Bi+tjG!UPjAiqZe7{@+4)Ebty+sI{zlBHR!ek#u>+3wI6-kz^V7M7ouQ&GovKg zOLX~d2Vhj^HlKp=n*tL4>oT8^BI+Ubv;Jwe-+niaSN}AQWBL>@j{oT0U9`(g5>JVZ z1#(xk>TQtB_vp77!jIo4CRUMnl*fzxdBC~nxnsS|gv<6uvl2#438SW@qxLpn+hHqm zf-J#(CKb6sx_eG(*4R7OH~zz@-Zqj;q5E#@xlMstri1zPttZ!#46|&!u*#Q2XBmcu zdx;ikN&{2vF`f|#k*}O<8F?q31U})85Ftb_-y+R5C8dJnh1Fi%b@U0(^bPDfR^c3B zUwKiC&RpwiytFF&VJ@U9q>X(G^<@vC^gOsPhO3a-i&#Z~r%_R=!YAp-W_1iHgXe?b z-uRfFd&{|F=5vit8_$Xv6?L3MHSp%aHM+3~S~QuqDB3q^fNt#cV2i9EeNj3|Ta-#^ z$8q;AKiWtO?kD1IBGQjsfazwhj(&lji}xXY(I1`^U)P)z55jyN33GN2_z!`9SlbqH zzh;a05%`C+v0M*-3go)C$=%s;XJ8D~g<>LE1$^5rT#j3PiJ1UADW|rb5hF6sh^+pk zn9CGrG5i(&?>wpA$d_bI;j*}f9Fm9-{NR!AIpO|0%-0~TZA{dWBT+Hr8F(%Qr-FW| z3h1WVU_efhJ&tnB7cmFifBP`xJ6YE%Sus#-)ZdMKqnh3;#(V1^^KwUkIvf#MaH=Yt z5oy+l>)+BCn@{a)LdOWZM!s=BS1>l2UCh&tfk zF-f*8h<<~?W-Z~eC zO`^Kj30FpzxE}Ekpdbok3U@1No9^P2a?7v^=2k4Fw+$^)qIF1xDicO)LYIbDbmb`U zUdkfiWHlB#3e%Uk)_tH1eE0GB{dY+H|G*#mANai%?EmS3{+A8(zkj;KYay?s2=Gd1 zV_M;S*wc`#^b$eKGvhl-pa)u*QGZS~&%+vbDP8U3atI8yg zMgy^{mbkpVA-HDu67A3<9^n7VpsXAG!Z*NkH3s~j`+!q$FX)S~K?#rG90B?Pwdgph4xk6Xl`Ty@ zV3>S76*Y$zAzVrd*V0FpxZVXBeY}tlIi4^bF#TpqFH#1e@(YasmGcqcIf`akq}A$@ z4>^yVUX%~M=mnk4-hS;5HWuV(Gq~@DnN8~0HR$KBAH zoK2t*T@65VS-c)1rwDTNbr8J{xe6&nuLDHGDMW|FKSSgewgHbR0z_f}BDZkVix4$Y zh$aI>?EnRqccmZXf`I>0KaSe-UW7=TuA}nP8x$gGk9@rFrpN})*f?k5zR)p_$I!3MdEO4$-$O6*WLdYbYJfbaqvQ*aCSUxh7w?1GQ`w zb5nyM2tgIpz8*@-c%)ryXn+wB72J!RnQR_s;HGl@f)Dulp^$6n>|ie39Xo+vi|HQ9 zHF*V3DB!Gp=H<dK_K(=Ih57 zxVu_;b%xlEG3Y5Q?^sqMRYqu1OkfK%4 zuPRVx`k!KtKBpZ;~%F758dUw$pJ?_9JUut2?E$ zG8Zg{z*(7bLSDa|+he(7;H=CzVSnFfP6M^y+jnaoK<6HVHd-Iab>G#8vCZD|%cFVL zxz2~7N*J*>MOXTT_m*GH7#n=*?rLJJq?ueqpj|49+fA5=Sia; z+PujVY_lF(5&~`3L#=As=6QiO=l`M2d63fJllon1vrR9(p${lM%yg+I^mZwBsy!)i zZ-;X)zD)0cJU{=`C~{Yvj>zAOBgqHjNIbY(z|D`n^Rpp4>4-l zMN^H~tI2ZeA9++K7n_%_G;hra)vg^sYTb6jit&xw2u<$DK8osXr`9RiRH1Em%~ zsoz4W1yJg!KkgFzuGDZS_5S{AyCiNwBO<*@w*XDygLARCjdd*z$$)u3g6_GDN&VxV zOTVzii={kZjs-kn;`@bK4}M+QKzFZnNTaKeH$Ne&8~TMOJPfqhnj@uLugt25t4++f822{&H!;1@BHGSw=rV9}O7AsIMY#x~3O%zfvV z>tJ09t?n1HdgU-8%IbUE&-qqyI5u?`Tzn#|8fO068Qd1y!%z9ixY^d*?m`av8KcTM(m#>jll!H4N?ydfPZ~2|rgi$I z*_Q#cFUqUnFpTfTRQCpEANL1(igUWoJNm9?jKR`I4V3op>q_hNNTp5xUrWQe{HT{` z){32E^{*JX%yoR_eI!m2%KZdY#&8-4%3kz4#bfP zcpikO^+p|es4^!}cVqu5PR?g=bH#|bJmXx~U1IZ$3=V435963>lk1{a&WFV#*S7}x#^id-dq2#i z9Cv3Q{_pL3H!qi#v$20Pw~7nh6XG22-7Y3-&H`sV*vUi@=fqXvTf^#*^16F}Ustqv zKP~gnAL>{csN+3a#}j?81nQXAAG#;ky+XtmwDzI3+c^CTGgQ^D1guR)x`u|~E^`4F z>52{?Cs;j&bdPzQ@DzQmYXM77y5#@t#rC5?>Cl~@lPnDEHC2i%q!2(GIWsk74O4&I$DMg zcvG|bU+!fd3}4d6x=Q5H(7SiJKkyRW3OZKHyf{)tI8vdRSJu#x%7xUAdH)t@eFv;G zaz5m3>^+zt#yPH){<~)A0%IkEu^Kwik2sf2u6ECK=+7MY;6D66;hh<1(|di))({vg zx6ma@W2LIVu`0IWNZ|~K@5Q=wbfmDREdO*`;(5>SYuFX2;YTn2@AOUx)Ud8EbWe_Z zyB}L{*-Nx*#S;C$%JEBoonfT42HrH>T6psb2Sx0^%bo^HGW6f9tBEUu{U>;|f&P0C z`Y#8@;M-md|J+*$9NNX+0{FN0%InA1#RBIO3Y<^p#X0IoR}ypVSLwOco*J|>v**Z> z=$}TBwU_+<74OE8-Qd=Pe-%9S;O4vo{1CW7;0}R1_I4ccf-{2uIe31%KaRW!PnC9Z zlWZ@`O&8hQZWGq@u@f2$GHaH(khe8Q-T4n=%1WdXL!1nI15o6}uJ=XW5}{e_`cE&T zm6yGxU1JKFVKhm*hKpTJk;VNso?5eQ8GM6|oKfq@x8TBlSI?~L>N(aNITLsPv7U~Q zsCEsMvldo_IH+Y?uL9PJMSdmK6gb?p*wu1f4R1iXE5PyK!hcu($m_~K(j57_c0|&4 z%oTGj4AfBC8#03}3&LOZJNOMy?qG0AaG}2||FZZ0DqkBYf9mhbH~p^sAEI>R9dJ9N zbR>9Vhv#s2p|Z^Zd!?Z+RyLZ8HM1@owCG(wrg_y@1)L)K zzVOLcwu)m`trfFVTSfiswc-Sj*D@@v;lGGDjKo3HVJvu6WGHdff_PlYvVtnjK|ulZ&9 zBG(W8HQa12jgvd?@agzZMbd~8dHvGboG~>1+dw?)obBZyo~7})A5uW$KlZN%SvL*l z?`yq#AYRo#;~~GA#=k@3L!7d{PKb@5v8Y!ek;d)_#6INHnLh>IUmZB%qoJ`?G&aIH zr;mr&p$);Be_0-_IVq|d7rCB=6!+8GSBiTeP4qzRk7;m6Wsz$cq)<7Z>78i)49ds- z5|#5X(Bnm}TK}x8SIVSR4?rrVQ|ImBKLZ#smC|{K2UD%{V{b+IvF{?N?n=K9=hJY~ zJ_XX}KKUr}nH;})DM6AaWs#68-OqBk2jmwf(XZuHV+G~+sl=3s=OXk?>l&H;8ZK4X zBa(QOGk-wM*w7YdpAO0g+7a&;+FLT3i1t&EaF5cHU!l%#`Vg)uczVRVt0>rBqBWU| zi-J8wv>LOvDA=1sYva$Gf<1rTsS_z*@LWsD_2*g;1EhUv?yFdNsq7)dVZ{MuMcyb_F+8Y=G8#F zPw4VuJV)b?(RjpP=RkZ1jh{s057BtU@k;~cPoU)|)A&6;oDsS11N}IQa^3IJ9nuqS zuZX**C)|RFd$|2Vwh#Ap`-SN~+-2?;Zu8;JbH6Z!?t`CjpBHg&{Dk`)JYR=!v0tJW z=lZe!3ZOy2MUTDJy3AZ!gg0k;gdx3psGkS;#+g%Sn98|E#IOe;%)xh=FihzjMAO|3 zVejz!Xjq8z6Ay;vL)bFDl!keQXJ}X^gz5N{f%8Jx#z_$N%kuL}a5VhFMcVE$c!z-=2@h1oFbg2Nx7rDZG*KBXUNo{S9+&a)tg97| z4usPDVO3dI$v_x>uR$poxL?hS;ut;V8mq~=YMYBGUKB@>pk$9ROF1WKhVgo!wdOvQIJK79d3p|a@qYH;{_a~Tto5!yNQVcxPOW7| z;QfS$tsk@pAcvB2W~5PlAd#+I)i54pUq9ZT-Q|wz#ZwIv+G@mH&2}+Y54`c9p)Efx zoudYhg&Ep1r2YYQoguLeEv&Fs&BLRcBVBn+gpGCOk$B6{tr)IoV{918WP};RY}xKZ z-K)65<_sHJW(i;UYBt2DZZZhemh@Q2nMh6jHvSp)BIR-$^k6nER@lpC$4EB+o6nFC?n$dh#_??i92?j9z9>o4doW<8BPdOKX)nveq?>aPXW2Zt6~HKVsLc z*JnIy^cJ2IH|~t#>l=q{_899#qG36dA1PjdTpQU|fGevf*HTAu<5K@tiW?aEI6YS| zf3>`tekGvi3Th~RSlv(faX(G*a`0S1vOKB8OJc8x{^G3r#` z8V>RReIS}hkWA)f9px3SXa-l3qo&(t6mZ_cIV6@R)j95|VmPevWa}Jg$)|k<9OwRm ze(xI%m|RXV`3h=W#Jy%uzc&~@sl zNi)M+c+{2g=Of3@Pz;<7SB2+)d`Sfm`T!uH-()^Cd};a*1PI`A~58Kq**``-VBcwRj zttkI}N>v~o(xNtyil1*(xguC4tV%r0j|6%r>oLD<)H$)B5#+b9??hIAtV=GhSBHD$ zzwIzY9gpWCCKNzQzhDA-H=EvJS2yd+^pAwvn90A|(>W$VF0v_GIztGafQQ)|z%@MI zjP;VlD1K98h$})7>52j710xkTcgGp_O~tCoosU9ZdZ;!_ebXxQNNQFmL=qxPL1^vL2j{ zQh}xZ=w_l#FH3(U#>Pyr{|V+O+h{IgVlIWL+ZW7RK=Y>gnF$B&dQRGj#y07jUT9>Y z|01d0vh6^**ga2K&cayA>RpZ{%@tvtEsTPaWb_{#I>JzY=5-G)nu;a45Gw70@sOc=GWR~hPx2yL;CuG8|- zFh?X>_e^I><2Ad7I9`7Lv(LWz{wOlKE{>#wQ#ai_AXSpm3`=oot#o#+xYxeW^@ZP5 zl403JZ)2#Y?plChEkJ!UEa%Nqy7NUC*5tSG85XTsN~fh^`{>#-OXF(+| zHubdS*kpWt%-b<%)Cn`{3?ZlI5T@&wkXH;DEjM$M>8UhRjz|`|lKrUHJ!=^0`aC3+ zBN{p0?1R-rbxT}}K~zN;L^gt%B7=~gwssiNMZCQ0Gx^`MWp$C(f4Nl3-7b}4C&Wg# zZ0VE}+2-gLv_b8#YxuRD8;Qn3XMN^E*XWjzM(1Il-ybENS?l=InYB&y%-X*LXVz4K zGi#`y1n+Ca&6sYI`e^layL*ZS*$dV!_;i7yIJWo%ISPX%BpfGubZ=Sn6o%P zLjrS_4a`{;oyUJYXZedbXL*Pd9QH8OnU?Ktpjz<+hwZ87x|zz)U_A}B8MBABIALZx z9eL##@|nmsqRopPc4oqh_LRUW4WoOrV=T;T_PTkEs@IGMN0H=L;>bjBrQj5=NPKth zOa(`&pi4#Y^zIGAv-7q5+l}SM6d02*zpO^i=`GU(W0H9#ba15Y_I%y&DZ|T+evr-N zTmc<}Sy$Jsm_kQk3>}4R&*Xdsl&N&77)<$#56ej(C?|aI1v`tH-a=RK{}rPfP63Zg zHkSfcO*@Wbvx_j*A;7Ee<7=~1kCRc~h(oJ@53YjIP?Gu`hFI$Z;wa5LF;OkAWx76R z(v07M9ECl9mQu{;vDeFSWq}c)@66Z;?*D>}?#i znMpV+IxA$GPm8Pubs#ghggMkPw{DkjX6V^w`MZ(UJM(j4jW0JIcE|N0_UGp*Xb%-7 z+ypo|hR?byF7|cxV_De&{KvFFkpTav`4Imx^@4;uXwNVAV9&4bJ>yRV2a=jz0 z@{r?;w^&Z+2zv{#K72>_xO$iq4Z#`lC~ywh$EVh2yE86?!%Rrw5f^6|tGh|%)Y?&w z^_AIf{RR9gjJ%b+t5uc43yv?twi>^K^(n+Ls`7ouu}YmIbc4>J*&sMBhOLJugrTcM zErmw+OOEN6V#BZb_2KV3zWNYx`^9eg2j9RPVJ6^r*7e~2WoPO~(XVdU|Kqwx1175| zCP$Ao-tCPab_DS`-!h8a1ARZa25=diq9*uFyKptG>e7vtuNoEAh1*c>+sx%v*FcLm z2CP1x6&G#_eLKa3JY4=emHC`_>^8P)1E-_Z#V`D`A4g(c-Y7Z}IY5VM23GZoe9WiP zOKGEFj;!p*alo{>3FUMg_Vwa8w2GLkE@rcui7(H>-9K%AO=lRnKjsCso_jKjN$?9X z{fez@J*oKy=CW){0e4@WUpVDsv?1@Ln@V}*UM3~n6k%PIucsISoF>3k9Dr*?!WVWj zYDafrW$6B0=5|rlFq~&6-j^L~y$4n(7`INfWYxqU?Z_KsyEUBx)f2A{BMDUJARll3BIaLRKSo6zmv?<42izzhkCJu!Q+54$Ng-x`2*W5T2MjQsFD!)V+&8aFWz_hP~#d%GBY zWLRCb;l|@6Vb;YpgU*qdt(Ca%uywXLs9?UBpjLE!qL^Zof5D{T_xQ_pCjD1veKEhA z|6A61o=tz(pr%%*V>sk2=ZNg^&j6xS)60;WnY2zGNjxhi9;q>;SV_`<#qago4T;D9E85iaVJ%_0)-h;)T|c zw+DLoMR;zfBQ>fVwT&_pw+E=zDWFzuc6#&EU8q4_k!@68_xkU4|j13O4$6Oh>5=%a+!=T);3*@NXH;;IYl7T_eLCE$==p)0FzKKn!g{wD5lM8tR_V^H zboXJQYp=&?M@p~g`I1xgoHA-AjhS%JFbq>a{ifw^Q8jG`_(!y zVwLuF9d<|;vC#FLCt})pyQ1esZXwjAfZWq=Lo0Q)IRbh(wZPS|Q$Gct05IO?IVr}m7^9hhF%b}>nSe3*9-{5!yRN%$jJM;*fV6!|xYdU} zG{vI}*vRnNgMG)-z8m8S@~$j*Gq~R z%*0ml`vL{M=X>ebWO78bX;^(2#Qt(vY*KI$+z}W*h5K%qUvT*qJzdbB7qd=uk1T&V zfE6`BWzkX#qs1Bh6V*kAaU>z$Txl3~d@^7diJx_G^`MjDPRa4cSVH2Y84?mmXzFV z(?gHV?^POQRZNxqwQJ#r8a399|b~V%>$>7!%Glz-W1^IRDmGz@S!f z;jN)(cXU7T2b<=M4gX2Pid@#sYuO&{?3Ko&08e5n>)xYP>9fR)F5pIB?P6hK>pDJ7xv;9kaw~5!2E)7=CCY3G;K=o|mStG-^`+-;|dJ<$Vd|&HsN> zUObeR#rB*sj7iT(gEVoF1{@m~kzQ?Zw-F87^Miryxi~#DZDy(gW_nQaib$(8U>{#? z!`K-MH!RG#GIMru!CX_$mAmKUTq&Hrs{mpQ#RVr8cu%%mO@C`K*-!B zIagNB*;SBpC3DW;8MB>%w#jD+>Fu}0h~ns4ORv% zNI|^Oolnb$RlUSXOM0UO*4qiZBe?`E#O&zSqGg!6&*2?vs!VpgP|kxxoPE!sqEb*Y zaDsFvq5NETblp|QF<75QQ;dGzp(~g67@ly11|Za5(m6&~Vx8+9y2>DwDH!(e5J}T?^@-eh%PrBBUH3ruD8wmA5x?24bpY+%?9*vK$EZ!OtH~Jl>!x%C`LTF#+F za+Oav$Hq2wosSxP9PMqgU7xb3$6B@-bv)#A@@i({X`#Ol`SrEnezohRa~5k*hw@RL zHUA8p;?GexP)-r|fltuA;OEPaQa?leOxjWK+38+}*tCYP>MS5P=f}p@t8v#YihHAr zRfe2CsD6Mj6Sf<H?3~bblt(*g%S1_xezS)l~kuVbLw=rY-cA;QKMqvup;J<L!G|8+(AgGA4gISHSs%r~2|Z zl=aa6_ddjL9q`vpf!%~bXOIgIuFB`Sr^TYokNWLV9#Yt@k44DZ#f7(g12QdY=nS`D zA7Ut*jhrl{L-|4j))Ei7lov~YhRp*?hv6z3D$yp-g{uyp_6hdZ z5!Z(m2SJ*~_am;RiY7z+}L7DU5r>s4WBeceI z-P1pK?5tG7PKa4%mFn1b;n0V?O$wiMVMljHB}#Ba2O+mc({f1)T1#QhSfCwJo&-oY zu3So|qFf1t--_!4!h$l?635=kTt{dn(()bM@zCcl0DRBGdq`!fO=^=5?HGJObl4UZ z)KvNb*7Vf}SksITq}E;nsyieAkpvBd--_^HO$bp5tS+~}N|Wyh2k16HE&HIBl*&(G z6fh>e<@G7^YppSAb+)SOV&-%+B^V3qT**!CQo8I_s83S{sjB`|#$;Ls#Fsk{V+eZ^d0_*6 z55{24*K&+lh2O2Z?I9^UU2KTv`$LA|)+z&WvFy#(cuvl3GDLC_RBGKqYg$6{F)o(L zZAsxS+t(OIwlMr~USS#rGSxY|^Y8;|Tt!f}`(rC^=dc|^X**I*!fd3ixIQJugr7u6 zajxEM!*|6%8)CtV901gNP?lz zMtM|w9QTny%MoW?#X(r_f;{lmld!f@=stuI+*pB<#R)2{+G$Ieb~gR0eNs2gK|{p$ z0|xdu!h!pqm+e~((cF^b%WO5YWm1hF(Uv81t;p|B3>p4DNH`yJKl}mO$2i%^K`wUC z75hPM8f~Q%E}r}~dodS!{3V+EYxsXOTh&s`b=s$K+YBlz_G9~X{di0JYld;w7n@%* zgrCq3kF&9pF~xn|vVjze_BRbvxhrjQ+iM2(@dWP8U!8~9bd);gUYAPVUJY%z(&jv@ z89tQjvahA};~0GV{}J~l@J&@|vMtw~y2%|DYss<>D4ba@1q)qw+u!f>-rRfc+0V0`XMx$CNNIqQRG>?DQJ!MocmKp(H4yY~*%md?w|n-+OOHw9^{b$kII zt)E{Q5MK04Ck%e!$so~{^HyU-=PusPcM{ewli?YIPRryWbyUbV7-b#nc*MB{rnRP^ z@NGNLY*c=y0&4BqBGUU!DNt=Qo^D+{F2X%JBGRpmBo~uro)9&|wOk~Jof7a3Srck{D6MRhk>i01M`^Ii8WjHCw>@On zA?ees@}G99t56SO$~cq}2Ze3^JBmN5MbVFp4J+b5PC&N=9xw`wEI z!bZS~@4*U3X$bCmjJ3Foa*8EY(3(5(9%U{^#Q0Q_erg%c8p>i|+~ zJy+oldVhp3KcZhMIkfB@KD?Zt4CC}!(9ZvCx?=eqKMv#YgkxY!QCkve)E1&ce2=^t z@MvYD$Ksm9_#;%#mscRl7p}?qyGZ8lf<4{SfwG>bsV(-XAka=J!+0I9s3R%LI_UM> zCbOze%PID3o30M|Xb8!14KyCiie9)@6#-12j2-}^d6L6?*AhBcde37$bmd&ha4VB4 z#emz>YUOU8kzqwDZ6=RrNk}sqxKb(^XX;Ta0OgAlLXvcIipD-}2A-A=&htqyEIqfR zj46GrC|j@vv|P4uuK!&=dj@0uPE-%%4+u~Bu*9@biIpi12T750cy95X7~h(0vY6iG zUofV2qNMx`i7P@%7jfta{!7^H%oem^#Ml)HMJI%NgU6{{j}4tt$g40G>~Z*lo>Gka z2<}ceG8*$j=MaUS*Un|pmDtmeL8?|K(R2XP9gv=fl({-7MAynUEAdQ4ecJg*<7v^p z<(XFES)Pg-Am50Z)SzGpC@&@z5~~t;L)3aG;qOi0O-d?gd<2J#hk)B)i?2!wz(TH z{BFSb=9*`n%0>glIQXX3^;zS?Ky#R@@H|VR0!kZk=RNCGH7>Ga1W2j;V;2fNCodpv z2EP-emV9$zFm)CWb=AVt&I{WPdtlEYMH{BpVoyl#UcW#x@3KMp&<<72Xgi)GeJLi@ zX4s_?Ux4?e9n$?<7bLp))yB7=O`#S?^4N<;n28Iav$~pa8+hyo?H|zTH3)aqR%MfV zU!+z3rm86);LBVt%KD`}B?uYx^Oy@%XuV&(2B@+U9nycr!nx!VXO*1YPF z+CK~0_Y!S?i$jW|ggi3FR66n`?u~+3`$AD23^Q`9j81}jsy7RHB^SdP=$R41y;}l! znwQx&F?0&|EbNR*e*6rj^#C8v6%aJu@VV-rQ*NX?qp%-$#-hHx{ODih^@&(sMyR~M zq?~ogx&7wjuqQf2(u}+kp6F$ClJv;#qb#22MZ&JdQ@t0B37tj`;~wEYStzEim?z4o zsJcH^m2gZ0+o*yuQ&*|oYV`@>qy7ez;!oHJ|9@~W7?C}aCS@xP9J+NgNUn= zhzZh9kS0Mo1xd3iiR%87-jq84!xU$ZTRi@o0c`Si-%GvjImuj7{*-Y+;qKt;#-5H9 z@4q%PY{9O;9ToXeYXUE~zA_UqQxVFDl-8Hv{@LlPU>tVMEUbfP)}1r8<5m^%6CTZdx?qSwU(U!Z<1n_iJ z$sHFp^ZAZ)fw0JrC3rs3ZBUGDoiZ!*u(a`DYS@0 zH*DLmfd~%R8g*lwbvX6*UJ{`mTfz;iyT*F0^*U?3b%Zs+nrKb3juzRm}HdIvE7^4FQJzs_|lTO z9OAKnFw_^{G~^A`rp}B)93MS^iVy)3ln%6Yen5KDLE;khF>=2tm=Onq5@7)|! zG~jh#@cFY!qT^49>ek!EOcQzs`>X!|{}4Z)TTs{o)QZtVei=JMKQeAlRS~uqSNDyj z$#iw^N{O+LnW1#6$#DAiaf(6kT}w(P-6wDQai4tZyU6F7pH4W?{X^_Eo!4ypCy6X# zicl8P8RDKlp!br79fkRMAHZFgqlD`h)&vkv^!|*xJMU1)5G_}^r>LI1eEbc0Q((FjN*ho30jnv#?b!H1!!@A=VnA$SMlLo{eqXCLSv5G zQw($zM$=I!_8s7-Lf&@=apxMEA|2=ZB=YlZdGk%>R5m0I~F3z^nWHfUO3d{zw1L>Hi6b zfnysmca#5=Q&oju;9JF3l(HzdGUJXo@HueYK)IzTejRYJO}8s0qIoyB!R+=Zva|+GXO0{cIx<24puWk zSqtVrCMIP+>trJ(xeRbkk@ytlGVzmG`#gZI0ilSlvVS_JjK8xOSJ-04^^rWG zrx^j^1oa@ZG=S9ISM;QGQ9u5FuwU}e92EZCuBI~Q2*Bz{-5T=L+z6C0Wy84F1ci?S zKpoIgM17hs+BdmK0ke%d*-DokC(o~m|5z_-!B zw|qjshkP|SE7K$MU4}@Ei>Qo5?D>hSn#xhtRF3+P_sMDGNJl=-#qL{B@`si(2V0}+ z1i{M(7E2S#vd4c0U- z4>+dY^D`CJD0fj5^|4VL-${MZH6`*5#j%}=rrX7AJ=^^m8_&<@3q3>VSww`JiBJLk z)9pYAb;co4P0F))GIr2qpz|2xo)QsZLx~TbmEr#U68O!4;Ovt%6>uzI+a!HZIMg3r z8%Nufy&Z*LJ4aL*0shDuzG&a*s;=4LoB}I|@o5@jw;4UQUrsyot76>a)G@#h7H~7T znA+IdIZ*Nt*yoxm*#F+fkQT`)z<$~MadG&hFGW&2l-F_zsP{N2DC`bkL>IkDl3#}R zP*Nx6&E_TCLu%)WnVKu#{5gP9Pf4#*TBo>oO4?Bt@hwmy%)}{qGTy?T|5EgxJv^??M|@*e z;kC*qMeZ5=j`xi*<8}G(yj$S=1O4t^-=K&;`-X6t+)h4QnCWA5OUrbRWI~Qxd{-g{ zN#9QK{ehNi82A?B8tJ(`@Z}A@(W~TbudmX>d%aJJRy6qAQNBN{#%s#&e5;YZU5(!k z3wW=jYZ|9?HER z-gJ4%=xMf`RU~JcZ7=+vVq@MU$wevooY7-Hk9S(Q`}TZ}OWM0CmvA>?BPytCKuP*6Y60s^@F{Wzn0qu?>2j%Z~Jqb zZk4sIW%ar?9c|TEE}k#sdW1W@a?a3(x_5GpmMN!Y%5kp#G%x~#$91uH^s3QqITopB zGredXkS&yXr4dGX4U>!~J(06yD<3aXkCU5>E7z`M%8X^QM~siGedL2jWPdXLDI7lo z&%)+@oKEqeoZHwc+pBnU9Z+ETbmiRO)vdbyK$nHxwt#QoN!o3NPr3u=_Hb*tz1%v& zSi3Au{C49A;2mb4e_DOUqU?@h=km`1j7zb|8s>^ReL+z?KbQMOSl-7pbrdlZwiR_d znDI^A4~~3jwbH8!dn%i);GS&->Mhoc&RaQ~x=vUO{bMrkr z{JESG?nL36e)Kmo-?PaNbZ#wUtu(8)$*hV7W#d9!|)8ZX)HNg6Q zxfMFru-bym2f$C zW(%cae#nl5wBPa02r}(~Br>>VxuTQq?D67np^Z)qufAx}DTw`OZ=Ee@2lb%`_P|rE z%o}CAo|COXTi7O=x96nOnCo7aOq0CHq(4-f`j9yNjWwLU!ghvLUXM6og7uc zS02IZYMSFdnxmu;V^@i@(Y_@KFx_CUv_N+kC)-FG`j}f8+yFZ;3!uO;QQj&Fi~6!S z^kt=oHGWqgdLz=qD!;}zpHp{NvvXmtE(@{%Gv4lCCVuC5|Ex%(rA!Rz7!%++UTICU zlFa!Xd8O=|Koh0lD7N(FmJUxr|2T!7p#ZB`o_PcP!|1u>qFdc#`?9HpZ3Ms2Z3|xU z5~Jr9x@&{zX}Zw!u81+O{B1fOzMG;e+HT&^w%2^#418?|M)O!$S%4l}_3{q6eL>P| zW$U2j#fNF`Xl)T=F6d#HTisjzdMK+1aCV``EDk9}s!f(s==r1{Tlu~J7vaCW7~@is z%N2P3CHcc!Gw!Jja(;OdN%}()5jSLz*0)Cx@!+s4wiCJ|macMjTbcXDV7ldvHj+_c zdC@ooB?INRi}FQ)qaG(?E>jO8%YvC)nL9D)bZ9MQ?(2dWY2k*yhxNyf!S6D6^zYa{ z?4q_01KxN;mJd>lhXoiA(C6i3^ktitS`uNeb_Sddw33(X zBg)(je+$`1Trc5|4Xv^_nJxKT8OnUs*K#9aPND-lc>`S40gblIT?+gq)40J@eYS`U zY5c%s4~_c60Uf~l1-73odwDaz#4^87XK^OHp=mS9PNrFwTBh0mY*ch&45p_OgTfub z8|-8LiL^4?y(X%{(o~!to~ak0)vu$q@Fg4SkZuW-K)Z_r7aVe^Ju=QwCoqt@t`8Pwk!yqXkNsv4Yw~zJV9$gY-AI;>t9tjGy^iKCDj6uRa zs^=>HlqLM559e)f-_`VNmhg7pm?!Z1PM?I!LJ`tJv|N_(O5cqK1Ys)B9jP6)uBD9Vnk_AK_Z;v0*^Dqt7lK(SSHmpcBiz@A zWBB(zr^9Y8bHCq*Fza9Mg<;lzQJA&APl8zmCN>$U$TE_`Bx?>T2k1!Vk5?kEA>CO1 z9;F)#ao@8vqFE+g;cD_bai?0@~tYsaaQacus!8WP7*{B1Sh5QcVxXw%F zWS|mrB!7;8J2#8y_e^e`=XoNapj6>J4*6JllSe4(v$aX{J9c1x^|qMM{3=89tDy6n zPUlodXIX1!CVuE(GBUY&9#dc=wL-<#-6_ryGph0F^Z-dV5(8J@slLEWJnvw}eJMt_ z);Yr504tvZJzwER>q&`P4i;b(BZ<1o5*GUN>A2tR*FAw$l+G*%>T2j!)YVUP{7EWO zSH&>;2+3F&eUI>XKk9tQxl5Ei886E%GhK3!8}B`}g){LFjaZw| z7T;i0cP`;`McFDv+l|#rc-i^J6#0Rrs_!LIyNKccEQZ(wW%WT^_6Y z`nyD?yF#%QFz+?oc*zrfF%Ovcf{)lUIU!L6>$Q+0-NlNT#R^-VC`**J4Xu`q6&%St zS{px<@IkjKQrE+pAB$;BlRJG3_h`~;H{Xr&l34D9gPDLf z3zFpYf0}lg>HA-xU0{X(;6>t9?(NsANo+n zan=`2DPW`Lb3e9lQD89bYdRmIeOG0Wo63_&JS0z526BGvY&tp)f&^uaOw zlw8{^sC?CJhEn-Hv>{wFOs>o1nuS>3RO-(W_*Osu?((%*elpMJn|P%37A9ge4y5mr z2wK&C5Qw*5N9j97_Zo%HvfZc&W3@r_9Y!Yc2p2`9@b2(-J9JPYu@YDZqk(H|I*b(G zQ14n;?L&gcX$%h1j9)54UmmAlPDI<%=3`=ftw)&CSHP{~zNK$J^dF{_A^s}m766V? z^~uM7MJc|UDXsUah>-6k@rpfMf#;Qw9)JPHnJr5qd1XoDiqxx&X8>NWqulWQ$nS}W zonm1868QZve$n5jtr~xrNl96$<&Y*E9aPxYi_z624R?`JfweBDwVHw3mW84Z3@ZH% z#F4j)NNN57?rx>!C)hkfmw%&iL`RD`?r@p=J+Zm0fSbfMn+rS(&S7ar5ux%lvBe_Q z+Y=zEkpt2wg&gzfX`V3yaT9+pl3kg5zWDDV*%2K^PC)zq{DU9x7}Wz~4vjFOb@dT| zA=@>KK8suJ)}GUue=sq5+l}?@X=S>ye4v4%%@_rJ_+j}9`GXpJEMLm^@Si0wdt}s84KzKan#ENQ-!+g4-8v3=}&)qa+-mE z(p~VL6j2GDr^rksWsS**_XIH)Gs$X9Zbxmr)6OWWw|<05sWk~7^ADm;!eh1h5 zgOM{g@T-c@3f}~M!dQKEEMTp z6S9rFmXlhJtu8b%+E{4Mr9k8@)c_&0_(D%!far8(IaHgA$#a;NmgShVA=|P2ZRzB- zcQXdb&oY7U+-Je-*1)gjXPLsfz?jGJy7713{V}kQw)3&ydABU!r0*(!=iU6kRxx*u zmg0clzMT>H18vQ%zw>Sie5s{hP74e=J)ki%foc;*2N>OYQLk??Z#OEw>w^EX?|&*M zsbR>FDd+;fJ{iaqh6bFp#%n@liU)_!Dqh488O5U7?lqKtH~_CxHCRJFQ{<#YWf9+>pP${Dbi!erYYN?E;uhlRG9be5L}P zjexnlr9YT*ri@8hFKV@H3elC9N2L5@(mjk(&v%t~m1A$$i@ExWik499)AeEzq!LK8 z^wJu>73w~7ID=r!%PYJO%y+-;@r7+mD_^R7#i+7vhv#=usbquaJAW_mH<`jS{c?H| zLTUIn%Xl81RrMpT%@iK#udpns+$XB_EtX?qe)T>vQhz^JFKYE9^;w|oi;JUdl9W@5 zO4;aHAxhM{+kxNT+mG|Hus=+_U!Nt>-_a)}3OrLN?q6Dt*HU^){N5mXeZgE8 z7-y2R)JD=?<60`0Rw}Krdn2u}zD<{4^yfrbl}#@ir`gaypIRKc?@Mt?a~_`s{B}O4 z0?PJPuevs$yW8`2FoIrR3TAOA(HDf>UQ(OKt9Cc>Uy7P)#v0iqvqm+sR@J8qxdzXQ zpa!+%#*el$Iz9g^%x-LxT(8+P)cT%>^KKU>>Y4E<(Z>}apYWce!o2x#SNYD$iptH# z1Wsui#@j7*ygW}yB)6#znS#zRRL$kn1C?&x+dC_dKFF znf6`}{HY*J0J=sGy`C6cL$7JU+c*|E)ol%)_r3gKX1sjjw+<#JzhhVBvP!m2^&0ZO zin=ClG;*cm$JmKZWu45I4wM)ZDsf0qL9cy*GZvO3b&AH@IHpd%EgQzJ27To7Di|;I z9&A+vjM?iV8FRb?&z$8GvE`i|B+UT*kB9z84MgKsa?xBYUjbZqII@=>W~#x56tW;} z^+|Pp5V(m`0FPp%(dRFTl0WAESw6(%R`vaF@FA6+Ln1<{pnotQVsZ=b4(3B{x{410 zD&Rr(p$5;p0pv!)68W4I-0RoO(w#G+HT1K~IapYly$*`Lu&~s)f_pBJN|58k< ze%G@!sC%5`m~G{iEtO@g?blGQLe{-T-BP)&_$vJKx`cl$o*#pV zV{%}gS}ISA+nSeDvQ}Ra&g)H-uZRYG@{?~Jtk87iE2`1o^C8Mtpie`K=V;IX-$(f? z%=lK8^GrKRU=qBn{+Kw+zOB7!|4#E6Gv-a)|0S%iW8&!622W={qf-OTGSHt^`S^D| z{ecfC$KmM1(Y)V>@V(L}$$|2(OD2+pQlkAcg}Zzb<)10s=9}H7dwlX?MyKU;50@=J zvmE0G6MM$PSi%e+LhI>1qDA?la8UB5j@(J6FfKISdY^2}{eTUkQRZ_ulc%yR0m?}# zDLWX(|JW)WZI#v+j&nWbT5MPBC^>fxcingUd#k4n|Mnf@u5nY}xXk zmg6tEPaE=}76h71!ZEZQ0u=QMqiL<_1CxA)tc;`>%TQl^Z5h(A-^G45O+2XN6dd5! znQs|0xS=+aIjjM>m>+%kJ=jA#jBZ;7=XL0Kl5@e9#Q6XNoB0Eto&CritZj`uD0^Lw zv8Szwseu=fS&dm}cW$vc6;*8)(7s4+K|gu5PNfAcIgr-o=v8K^b*kWgDcrMgucr5C z7b548k}oo?=Z~UR>CE+}uN}xUX=v2+08K!$zqPG;81H=-UwT5eyBcaW0hW4eVr#GO zz8FqtBiX~+V>pr)$0_&3m}ZzrU3|NGFUC4o)G0rcTZ6(&L6Uq5zBnZw%24l?+N`k= z;FHJju!+KDtO?qo7tXLR-40iOuTh%bC1uI%3=! zwE>{gEO&Gux6}}VT(5aqUK@%HVgSfx@g5atwUYYm(t4o89xGz3bGWe_<4$4=Jpbi0 z9HzBJXHwXt0NAv;zXV!?(SxyP1)h5Y*yhjrrQc7u`_5JH%_fvwupQUlk~Hp#q8Pj6 zMKq573VRV%c4+8tjCGsC>r7dpsLlq@8|QK)e&3Qo{#BAhPC$AK((9Pa8Ds@q*Ty9i z6Qn7SWSr)pQH)NMqYr(CXg33lLR(>D$X1x7$e}k2Lr)7tc@93+a?p-kjMa@4F75&& z@R|(W8?rKqN32aaM7<`)R7u_sqN|Wctai#MUx@d}VX~AnWdDdfEo$c;amp#rNvbDL zM}9E!gzmjBznDesj!%m(YSE;_po)d z+!JUN>{RQbnIsi;vZWkDt@CFpcH?h#9$P23>gpG`9~AGL8NE+>Cbw#IsGAVuW*CiC zS+A;B*GJS#o)ly1ht$W`lX|9JR$t&57t}Py*2k$d$G3}m!*IYo57~w^#k`PI6k8wB zHlztXF6XjJtIDdbKc-9z=aP+Rk9lE8(_#(2)fL5BQ`({%lHqISCSs3F&g1~DcuoQ) z)N5_3TaH7CjR{3jb(+RV>lRgnHK{#uM5L7m8XsEFk8w~6JlFWrOCKvL@C^0k@@c~2 zfR6r(^xXu%?g=E*U#u@$d!M^AsA-aO-zrtdV;duzA{rWj7KydSHmdD$J!+QikfbN9 zUD=>+Ec9IKLk{N=Us~foLy@8*V1+$?R%&~VV=leE>BtD_ZH(eG$hek~Ln!i83lJOmtke=iCfJ?cQnsn zccWG$p<313L$)+erCeh_4lAcOq&vvgE8NkHrsKI#?sEfPt~RFBLGLq!KA;9Nglqba z!|EFRl?LkA9Qx|NsHX9zP#v36x*Vu2dO2hlLVA9x#yYn;<&8N{pro7Rp!MpqM)YOv z4OAB|?$mQzolMPfr>xNEZTYUOnzvkM={x)m z^;`LxWv)&1Yo}vy?pVkjQ4=od_j04$eJg5xMx1uuTr-Q?;hai)xGAuvI2n5A5tcyD zvZ}FXZ-}ADWNM;QcUJ>37Ht!$)#h0`!nc2W+4UK{bDzA$o>YW1`AMped|EtG3#r*# z&^DOZNoq#pWFA*EYn$d7{tJ`W?8v&}0WT2bAbmV% zX$JA#l0+hJO(J=azJ>c#xV{3{cZMXBw;*Y#&knUqGf4qE3uS3amnJ)|4SkVDwJp}M z_H{fnS$Do`Ws9i=u>QzXr=6+P^6wb6sZ6nm)NcBfs--R!^_CO1X^lMf3E+9uN;Y^_ zoJU<*#*TW<$Ef`78q36xE$3UVWpp<8yW~|R)Z1TpTq3^5{FhzR>93MOeq>O8l={y= z|6XV#%@IQqhdwZHk8-p24$%BrR%$cBv4D>kCqM2^_$7>qdE3+hOl6+ky)A1AqpE~{~`Nyqah#H!OgGFMK>Ug%JH2DzgkiQEDy z8&V1;c=od)iOPN?ytqixwh75h*O^ehTUfRZFk?RTFY?6-qi1d(MyN1)ZtcSe6-LjD zKDj%SFg>jz(WL=SN1n{+nFd_zeeN;+DCLoSlekv0pP?;_6t~zul=QSviP*_poJsVl zyu%rBWeptP;ZzOUDUw$&noxIm93h{6u;QS0RtzW2IOBp2GUV23k`+Tuz!w-J<1 zk?BavQRl-|^4=dGMvA8>MDd`E4Q-f_F2QpK2C!*PpY|3dmB$)Am3}Q}5apHW9LABp zOUz8fRtJR#{mH;%Tyrbw>8J6oNzXTZxt!GAU;3r?7Si@gD+eRMU^J*Bx$DKFxj3uq z#qXiz_A=@H%3uz_EhaC=wBmh?Q#1Az8W*8pj5BgGTHPW)@CZPW2*9OBsBdi<{N96J zd$NzfJ@N*RxL&m!fh+P7VS9PR151HAlLKdgey-1jU`DIU3{MrvZwy#}|9q=tbs^E} zueD}b@#I8`j=J4B>765xmo*uB3fBThQnSN(vT>tpQw?Gs!SyNiR%-B!J-fqc+YB&k zFF>rQf(yA(x4CMf`d#)_=pW>(*-sWt<)xUtUzVbr3RV@YuiRiZ_dw5lW~|P@&2+yC zkOiN%ikS26P=v(kzlxAZ8fLoB_>RGP+u?kh(w)ZukKURQq2B)xPhl z+I6AYNB`T}Wl;OQP`eDU#~$6t*~6x3cD9uVep&_ z{<~JN(27K8g`E15yi#-aFX-jdG*GL&>aKxWormujRO^j_EG{`^6s_}>P@Ql7+dAb? z=MUavA^(*dq1RW&-Q~KvUPaZULG|Vjs`pa=m3l3qdRPA2dKFOb%U<-oTk6^~sIPCi zqFhmpg6p%$f(uDeq4|e)jEItHUldw>7zcY-bwa7~%^jf_kS_{<^<78L`VF2@ec5)> zj(%|fem8$?y~_~%`MVpaO?>LZrSe zWsqCpIuEX5Q4(o}bQ;p+(kZt*R`dkaalua-44&8^V(g#&6H8Bv_G+x#?q}dROP_!1 z&np#+@ab{C44#SseEOCDMv4JG_p|WKMW21-&!Nx$?w7-}9|HyO>|K8befC$s0-k+K zpSAgQ^w~Z?uEIsGNIECz(Z}HVjF!~wPoz0s@Q-jsZtiz|8hZOq;9B~;)_)DXKI6wR z^ZHOyHKi}i9Z&O&I-d1wKmAEo2pTh6wjcVHofQ{QizMdRN zX*-anR=efuzdL{iwU7)2V8~=n_8RGV&VNc&*D8AdR)wwFEp9ZXcVcTd^rM~^-c{pW zE4J%1Um?)fv#KQe8gZhMwhDc{_QS8s4)otf?eyJ@irO{SeC;UZ=Ag&yY|>Nf#Sy6H z*ypgWhhPN8)4FDddfqF{z&jJxW%VhcmW{@1Y?DVKEw8aXAF^|8g|nv5J{%^Z1L z+y=Na%LlX!w*lULBpzc@I0ePfZ;8jnV?$-|HR9rDeW(uwPjVH2lgaZzVNM^mI^T!A zaP}#FWqXCV*An7mC-b{oGpsy4*F$MT+-_~&5Kg&=t&6kD>u0*1eJGJgx0+_Ec84Vr zY#r+!C)4IBtczyG)k!i4r8TX7zB^r#t=Jn);z3xrD)U zHZZJlXh<%RPvsJi*)&bDFC-NWt&eEaP`SiStlAo3jSR^p@DF80AssB{bU8$P7@KQ*Gx#6i~)x^`tJYXJ+F+S$j@ zk5OD3o~qnrmt~<`WK2hRg%3UTVTg15&{X*D4rd~j`-b<1#LXqxcQ~)5oFH(73o=|! zS*E+vaF0-$ZuaG>l}M>^&)F0rA>8t;gLHQoW6cn5x8v{Idm+dC!lw|Zs zrt$W}q$wHoYGkLKItwJAyLAf`b}dk5b>wECIg;&G>Dtg!d@v)-4099gabs-POS0F~DBn!xKIV7F! zaNn@6-#(H-{q$S{E*iZmY7Qc1k#o@{(>%@RQ7Z>wGitRQa19yYsnM&bG!qpjMu*(A z?jaljZ2^FW=~wJ8H1A9EFG-$I+eX%b{(Gj{!<I=1FA7nEJbbh4YRO<)5(`u@4ZQ)8PG)Y=KSK7GlF!m3ny7(TY z5?9-5OZoHiR!;j!TRjc6w(d*_>un9Sy+QQcz3$ch|4wTQ^|jWv;wnoDt+OoN!pC!S z6I9llJvY11i!h#_#3yKraD`29VN?xuV?@HP?wyRhdkv(uvbhPUSBmEkPq?2uj5@!n zk^6eT`~zb4AzUp$`yQ_xc(+?TlY$g$r_Sz~6Vdp_I8#h-eN{~Fvx`@lj*9YH)R_H} z#+G^x>Wp~vb}k^?>Hh@Y%WxgIfFt*O;xtr6axoVlE{wUj+%$?qKag>Q{JX33))~*BH`5NH z>v5?q@!Wow%%X5Zi{0NVFTxuwEnRJwpro|g-#f+Rz2k_1S*1}0rN2T+ z2D5ub0nm#?x1_S70%a|qd;S^7gtdoO4yfNJ=j8e!Fqiv%a@w}l{n6Tc-MM`#ZccJ_ zN>JDpSW>wx^yPc>%LRQh-BD;U3;#=U0Un5kvZK&ykxFh5Vg`iiP-8M*Q6ZIC-YK42E@v)H6Tg!?s{@?n5dMD)3D7V@+wajh1J^`bKBrt9#uE)LtT_gT`yQ zbm2Mwm@2$B`mbnG4WafUWqi7@(VyO?tBN~p=Sk0#f%JzmA?F6aq=z<)$q~lff-3^`C|E ziUN2)(~qU#36BaWYspUhF{pQwYTTR4 z`@=G57Iv7rTE4f0Lro;o^Fn|b_k#o5nHaL*SaDFn%eiOUP(Nb3F>9*(5lILhVhlAZMv3GUi8RJ|r&2U+Ghw8KEb9Z`P@1H@n zGa|YTWUbL?`x{W-T~Gf_RBGb<5trT)Bagf#s+*JiOx|~K3Gn|dF}iivw4 zCX&|K=Sw5v{80^m6J`3hL}lwx;Gq5{%Jn}~C;D0I&`mFi(ak%nKfE+MH+fCO{+8~7 zT(*}~9B@B6`w;a1(Za&w-R*_k(a5)B-uFMOJ0I3qdDTQxSu5%`M54}0bVz4qmNY+meC|QID)+i~4(QAion)O*8^R>a zmWZ~Xus%rAPK%40A+`F7{6!3utF>vg(4yLV-7|fMdVTjrx8Ke!>LYBHr18L>95QoN(S3IjJCh+<)1(Ury+4^=HvedT z88859+TFy(^V>XXpT~i3-|$Kr6QteNtEIM2$e*rjm2@ylVGnKf5}nReVQMjL^T>cR zYT>o~SuQaFtq64|EBLV-dfR`|nAx5HBaqN$pgPGu$BV|Of07hW!f#i|czX(ubBp%B zH-_wg=d}%v({Qi*IMmt#wdzbQdgr7pdU15*>d<&Is%)$@0k7OrUa%D)~P}ANw^GXrcZ%FOX16S^rf^j zHnww)sME;0*U6B!6J66SbyVZ|l`1B0E!>@R$j5)}Fu+JgNO24$-fkUf$2FyzQDCYn zQje8U4+eiX$sUrG8OtP_Go*>s8`0kE(scBN5Xzu=F^NjQ|9kBC&SeWQ3# z2~dk#0P`UWVAItas@pslMI6ZluaiQrYrUwAD#b(#$K{Bh92CBla7#P))Zn-r_qqe( z{};Bw_qv`GK*EWvowWX%yb7{i; z{b5V*TLZuaaxD`~eKo1Q`Vu}NhA4N2tBaL+v&)@|F+I)v(3 zZGjT1gFuI2+&ZhS>MWNIl*{ni&kwhlnMTIiW!_aLYm`}amNR8+Bjn&y%A5EfXe1P7 zcTm_DFhB{*f|9NAs5WMIF08H-0g`smc*-W%o)YEF_qeUWb<|(gwBQ0UZN&^Rt@XyX zeExZlHJH!c<9;{DjCVK&Qz&V|grKhKfKg#fe@M$Eo6F5Xp(U6JHH{5QR0<*2A1pKj zP6s-2a@#ud$Q;E#WxJC{_6auz(IS<$K96L#l#wPp1wZYKsFF04#Ro@tfuML#5YJjN`!1|YEx)>fZzZ4jeNDtBkWeQ#j97_TQe zr000G+&xE?vgyF$6%e&0^)Urg?xWj3#Nieloep=3UZ%`C^uJ>h{Dk^_kj_)@p z`h<}|MWeilWMgaNU7D&)Q@Fk8{~x_5i4M7Yo+1+^Z_wtS0;r?W=Uu~LYXUIhYq^Z2 z$3#PQ#d5U%L%;ktblR62F4iQIi#1w9VwL-yU%Jdslc=IZ{ue^5Ef#gRivF6xG1iJo zX8eevDD-2LAhX^MWvYX^<@L_^s_TnR4C1CGUhXJ7|I~5JIl{8TISx3|aWrNt=055i z5jt1X*I+J;3wGno_g$aXtSTBwrR&eWYtY`~emYQ~Q(N^q85d#AoEce*k~2L6yL#bf zqY?glJ4o{4lxk70iR09}OWphWw~Jc6g8NP-J07|19(Qv9%Sr?&cl%j#Bgtkv3eS?; zNR}jpPivFLsnq>Lzue7}^ajK0b}?w21HM}?%rQ$3nrq6hrW;~GGl6tqo2 z`OO=}8Dz-j3^Mk{Byy-GgRG$Z0nC4ZBzKupEWfeoNp7*6`JJZ~mAfi`{S?*;=@WDT zm{+)7AHbIO30xp;`O@VFVdimWR|eGMMF-K56y4G@iz}9*#S#O20ZAjU7Dpxb2~YN8 zuU;-go3&mcE`Y!AytG${3Ehu_dsQH9@shnD*O1G?1fK$^qB}gEAnIjTQ@!jSq02AnWuvZ{)|C+{xQ;}s58}BBP;cih zy5#gktIX9Lg&vmCQ!)CA>kq{cL7#8cdXhqPGSga2t#sc6^wb;!nO!^@_dr1&l~ zd8GC74ky8ywT5D1WZ1)Hb_|pmH&7-@+htJhUxHAo7Im1mI%Sba?^Hu?-*SCQb7@VO z=Lwp}WXhyIVsJHIssBQ^7Whhb71kfu#+o-9)i%jTjBZt08QYfsKKg*j2i{M%mjxb* z*)Hdb58yfak3nn?X=1yJnax0%=ZUhMVSd>~lxm@$XOvf5bktJ`MMf2RB(ERju{;bb zWK|XX$f6}C$t#Z(uOu2uKNzg!lZuv`FfK`anw-mqd7tVrI7OTbBI1FyV^qv>G{!@2^glP59lNFJ?^LaOniP@3#C|1lUq!< zN+0i&XePvY-qLcdx6@ycE-Y?7&AGwGoP~w>0%*o;BFUFTTh6ZW}9$L z__zKQ!dh)YjA%3$^2+YDN((7n&wV9a2o}QH$2z|fehy;!v(K-Oi0ED$kqJ*Dn!f>j{gq$~ zR`G?r8fugQ94#4(ZJNiCElk~Q+zhVXa|_gL3t3bnjze3t>!8kTb7hEL9Ralg#oGLp z@C?+Lk2ThQBWkL@5>^F2G}}bAy@|;EY}XvXryU40<1DfqrXwia)6UZC zSMBIAs0XMaj1o#x^Po?cpigi3JpuMbW~$O{QnJs{sJ_(|d|@b}uZgs{O$yeQ1>a5e^mNObOp|5S98QYp zdz5I~s8xNzJ#NFhk{2jk19#kcCj%Fm)EA6!qYp*6d8+k4#kjf0{i6?K+^iWP+k$az zMzoQX$^0bKy4$v%Eg-Xd$dHMgtVy1maQ#MOgiSszyX^!}*Pj5@{Q*+hlP)=g#CCN{ z_eK_N1YS4gm@0X*iKHPfj&=!y=jziQk*}#Q+b^M*MZ>uZ5 zcJ5^{6&Mei3Xzx+p zt7-32_q1Sfi1xnQed;P3_q*NOsg3*1o=^V=Y}`xTy8?PB>oz}1S0C|b4$$7mL~P}` zfGk_zG5vscB*6Yas(lL3H6wj%xB?iX&%71pUFI)Ed94*-M}rYAek0yoxfS z1IoCTu}YTRC6NCwVhN1tcpo$VedD(sX+WExmSQweCr8eYM4$dqzzIk8IOfr4@#h1l zB<m_fBG2QB)f$6}3yD)UnaoKX>5D_>WvI*CCwf zL#X{GnDD1-si*F~~L}A~44Zyy;2gAN`v!f~OdxvuHYeqz; zM{-Jle>oW2e2Z+$ur`fpj;Yp!6k@bY=!n)H6XkZ|S0u@{J;X6wI=|mI($?mVR$pf; zfPGgWsv*gz%oU>-!S6+LMKxU2aFxSVz6dD&DMrX+guKy{3b@mb2YRB|54wlQhLzT- zXB4LN7>pPdq=HZ9kBagmDUt+W+f#H6u(kj2_@O3`+4-8`-76;_BuH@in4F_Jqie!sJ&tgB2{ zUQyms-c_!vKx_u)*5X%midcu#q#cxY( zvB>jU%CXc`TI$nKD!YTV0+$V6>HWxMt3}NO{SB{lFyrN8nmbY|D=H1QZco^!QTi3` zsH~`yNN4@s9nB!dBxyUG6Py0(BCpN1M`sB(nY&iCr1DMUMcd0TKDhG?K96H|PqbPM zW1#9*le$L-ldHK>Xt?pft8|Rx;I83H9ys}_8e+!tpG|Msd#20d*f#q2LpPO0i}GGh$U<{ z9{gHuXR|)EMduapn~m)@`Ar2Tv{^yj4P{7o<4Rny5e8f%W6x*@^n12(6J~Ne>RqV# z&76?ht>u;A-jRsQc{JFVDF|1|ME+* zoDBdoW!*;E6wkN6khE5py5o|M*`m+q2tQ|!gnSR>wKraMf6_&XP zC+F8`y7&&E(l?V!HlN{ZjJSu@w*3H0Z+Eg)(_QMSLbzUZuoLboR=J~9CtxJlG5^&e z8}I-!#q-iHS%Y*|-X5Ppw8=?iY_b&pBmb7`sn3-hs=G3TtA+KC);`eJWDUn!FA0Hu zwn<*Q&WL?xcgty?|K%Ut=Pl6ZnY7P~{ja*^YL#0ZQO@i5d7?a)BzGoE@htk~)8gI^ zJf%@j7|WHxyUj*~9C8~#1U!F<@=%)t?0JhhqFWs~H{o_Mn@Iid_Wr=9n6=#81oC{H z=5{W^%|--;+P=f?=-8h+P_O@xn~i=y1LaIV^Dpx&VfD#!l>f}+7rE~Yv_S3_(?ti9Be%(N z6dkiKS649h*_X-6in4>o98PYF=jG!UxeWoqv5W5t`O@ryb&B-rBKNoe+RWn_lu!sf zemY9@&vD5n0^?h3+F<&~q$n#c+fep#nX>$SW1R_7!&yUa`;GwDDtd0-dNZxLUsq3i=$tKOchYDFpHlwvC_KxA-Ggz+uXCwt>VfN? z2)~i*M4dT2CtvSW*PMmjag07&23IwG&P+gUxkkr;gr9n?$Nna_$#YR_M^~e;V-zD& zwO*{(PqbT&icZu>Ve(MsCO8hd4Ajcvg00?}iV;n#Hn~((5AT3WP92nyIIjwv&!2ccR#Fz->VK7{T+zw z*+|s*8l|mR*0QW?*-^1tkA22*!dcP*^--(U^{Apy`gK%%ruit~UE+`EdCWb^nd6JR z)MC>1s3J6gvy=KXx^>*MXVvoj88^*L=BtWU6_K9FL7j7lH?6O@_*_Rb-|7zBSKnSuy|^!O$MfNQgVlBQ{?v0HdR__`xLnwur~E8H zj_Xa3TaUCP!{V6yt3xZra{bH4-)f2cJ8j6cf0e^_+7U z)lZq|%9QqWaz5;$SNX%nGnV*H#$8>=Ol~3xMR>x8-=tLHS8+6|z4V=A;lbqMcU_KE zqcHa{o*BQtJf%`SCJylZfyDuItAK8Y1hB(Ev~8ipd69_Zkx44zQk;zZu_-F^pxkXwRj5odxLf zjZgiWY;Rb4iP5Rhj^4!?E*v4JJ3D$4$t1~X2@TLza9&w^JymJW&j5CBRm}A z3+ba2w)Ixshf#3lR91LBcb!fBeOs^ZK10u%HPyNgO&_99T013w(?X~+0TADZ5UdpU*aADRxs{XrMYuF>8sO$T|7yyBU%gWHK@7SJg@L-`1iE8!eR>L{&Y|sCio)yJlX`|o<=-8 z#dFBnUM({mN(-?n_THw?L-_f$guaLcuoQ#`Hb?7U2W zb^hVrib_)`|LxFI;6KLJ5fkLz2Cca|Z$NCRY!2m}O50LLnjz=<-{d?e>XvI4OF1(s zZXU;i@oiH{RIUJt`C%asck7FQ4M^UHHg7g$=)1=Gsi(7F>vrk|5*x3&_*u z182Cx^>kE?OTGCY!2jjDw449x`gF6hdxP>RfL6@-FYxqBTe0|UUGrl5;`QPjvR=Fm z(p+L%(z0Z|xQH<5Nl1^8f8ReVuEUt>4LAQE*4_oIsbgyxo_$FOB!MVi5WEDUh(_B0 zUQoP12-{mLDD63lJv{-uY{0%n?P)7Lr$uc&SbI^i9)-4|*wz+pf!4Ox+9=r8p0?)@ z#ny_HsI6Q=HUvqs0X5%RJA~TvzW?`s-}8L>Y_eze%$hZ8X4b4Vvu4fDFfY|!)sl~Y z(31B$w33Z4?i2aB%L5iFibU-amup@$2GyrLM#ZPB8B)#Y>8k|`()COeasr}DS%dZ- zK|fZ^!F|82xxrk<*ksU2&hQ|c_cKv8Xc1!HLd|iLw!^uv8H2BAb8mny!}QA-{6_c7 zvWR^ff!elG(;Y2)#dL$cI%BL2U}W(K!JOxZ@N+AffWFPt_rNgc0Uv|>djP`606}Q+ z`>91PDFi2?O_whaV@v==Wzb*S!)W2F< z7IM4YPSJPIY)k1RL0P&(m|U6<`OmYAoyEHtgZ|*4KASD@FJ5tw(mC$14qmAI%y&29 zq|znAJEi}G`22i!+GrEX@0bJS<~i;l=>|n5$l=dJPpHfXIECX(|A6K}U2U8IR|( zQ*vK7YAglM}wmOwGSR#+WWa>MubaSu4Dg_a(fi=Ckp7EGZ9SB!4a2@oDw33B=U3#t z3Uf|Q{xv?6XY5;;aPxIOCm;0$5|wGr$J#+rEILQAf z`!?z<-ZC8D3O#q3VM+B~ak&BSq71F}dOp8P*}R@*FoWUlDnbjsa5x`piFQ{P1~B6! z?0%Je3}olu;9;c3!gnTu&oJM}%Lduc#v``Vy~v4CcS8>BvwkK~*Z3EWL!r*U=IWN!iaH0^TyHNfJXtcVL;oPk1ZR=OZZ(B`t zb*m{I%=Cte^*$@()%uFnqnog16(?zJsi*U9QMGPSTF+}6H=Af3&y{+_yV^xOx7jo~ zYOedrZH)QWi|2@!89@7AjiWi@Lp-hiq3ir}H&&1F!Ky}B-vF$ki;}wIhx%b%xEmtD z(gUoIBv>FH1FUod!mC)V8(6_ebe|W-OMa_+bQ4K)$Y?T3Gn$mZuLw`q3BR@;^oH_a zlOy=WU~b4s|xbpO1{Spob3`97A7N5};fj`W2pXIOiAw8uufTH^*~VKw`)( zBl#)Ua-;Is<)yV31&=bx`h%miT%yVA`P*G;dV5PYe~m}_N?g^vgDk1e$&>X{v5D?E z0yQ1sI2tM2joh9Vw2efax=T9i@!j0g1Ec1n4D}$PrsG_m*8YN=<@Q<(9MWw+7sBo4 zRyqH2Cz*S`bqkryE#&^?nb}Js%gu3|mQQr|IncwVxJ@I;gGGGB;N8fe?eaP^%5G(S zXeof!<0A&zLp+_rKdgAeC|ZknhCj&b_)iz$s^6ySXRF^chFlCE19YWuJxoCd)-M+o z1M6X9INCOy!~4_GTKOld?~d%C3ut}m8&^0!@g7LvQBYU$wBkf^bqe$ynHA;|!1p5u z(JD?O4vGQqht!0>S1~0+$|BLHX#5*V`D3>M2S8fXnM*B4NBidbVvgRk%IUn#>ImRe z)EYy=Ohh+oK-OW$p{#S0zi$4j8rSSVXL|%@Y1s*%Hvc!!=68|%J@pCDoASH~K+%7J zHvg7WLH;4>|IcQ~kE^tx)y}=iuX66V9l%Wnjf>KGJ+a=u@J~q^zt{7iHwJQ6-zL#R z%HA|CxkBm4M5a$J!h9lQr!PoNy3!!3$^+~QWu~Y%sI;s2wDyd^RnDy2i#VoKQ%3Fb zdIG)rahW2siz;0#GFty0o7XeWyAWV+yNwW3TFmdyZM=<|Hx2o5Z!J@l?OH6#s(#B! zOF7rxre-Rpf8IjPsA|#r>54uVwD;g=?&ZJT!dnMdd$7hI9#OJjE=X^Og zO6plS*P-o_XuZX+;3a=$G2K=cdNUQYiGSUwyFw-g^|6CA8+GLt4-^Z`5GQH%CbX`W z{}cDINz9MdZhpBq$&kLXq*YE7)4iTIA@(~fHS>IDhgqPsNuQ@ibYAS!w;vHW$xTVV*O<;kQ99_2S?qbbC6zHJoYR#as+$ z>=zkbS5AhmCpc8slar&v(|-1n(6C@)4>dp^?3zy`Uuz#f*0^ZT_(iyeXRc0yp8iM& zj=&sqqI*S$@1Duc&e30JP8Xbbg`gEc5+BPYy3;#iIkOo@^5TvhUTco1md^D|Aht1F zIsbw&r0Kr!j|pQ3Eiy6=($gK~Fj`3@#$dS5{+2lg^e`$0Emx?kM4ND0rA-7$2DHN% zPd(91;&08BhM)9$j(OW#d=^q$B@G4fZLlBawLId9F`Jz~NV;7B_X2<5 zLo(^Sg+y;@zxKot`?V)7TFSXYT$OZN#9MY&cG+?tmkhmiM<7UMisOW`2Lh)`HYK`i z?N9R`lOrUGGnhzZqWiFY7C)K8@A&m2djgMNfPaDJu-W;>Y2;)+FB@C=WS*L>7_)~Y zy36f3{223LK5{T-pB=~JB=2~j7+UDCTzNInjK>npprShbN#I;w4;ty&Lg#2+d)f-OzY96N5TB7xEjS9MIFh`N1il3 zpD>fgEZy#v!mMYxQl0?~rxY~*+%2^{HCfrTg+~olF(%QytG$9BYrdXefjr4fCg|2r z%)KbGMGYdm>$FjEWra9_6eM{)L+&nuH)=Y}!V{u%PZ)<^$>uA`a)^ssKNNV)1Pz%K z*hJZrsVF{hND_V4siwkVj{ne0O}`0wfJ#Zg}X z-shb6(SW~|^Oh~}B{CnzwW`{9$`Z-{3VOoY!eu}ih?7|?f#ImDemday{U2j#Clwr- z`?B#&_u(RHVr1UUTr%mg`Zf92@*2ePHW}!SC=u_D*pLb`Uf%Ggf7vPOH!pnafIqLx zLkS%*z|*0K#bv2y47ZUwV0X`06p7l9StX)k+RWwVFfDt50dHNv>{i z{B}n5I}7BARHn@QQ2!y?5##{<60o;ZJ|ABT25~~G!eHr?@3lPCZ%Xd*3bxRKx>QB( z^{oBSU&^ztXWMd-=lNz%aoe@rSH_+&!aN)MvQc*Rgq;oyv%t(5h^q)B@U)R_{7dS0 zgZM*RltNqNtp$zt1qFxJGSYeLlhSQITe>J}AeGc&a^dfJ(}l0{wnK|#rMtZS z=f4+P&WhwrSPLOV2{<0{95Nw=DFr8n@x*Ch46#$HNmR3Abe@KzqDR<91CPd*qoS(} zJ)qm@zozCt=1%q z6OzW6sp(Uu_E>*unIY1zMsc7Oh)JA0((C!|j*e%i?N2>#QTEAh$()qzyk${46R4fq zW?hJ~^sBx(9A}flR@7~EFn5OD_Rrz7KhvC^98(~9%nxnS0N>7TWw`=rWpvJMn_12s z1)jU2^)0j3OsdD8L=OFfmyAbljgVJVp8@`zd>dz5Mhkp{8ppd8lqQT4d)b`ZcHS6eacI5Hu%lEO|<@8n7*Jow|X1MUP0EVF$xY-Y6nt2 z{2wWOwNnk&?$N>8eS1(QP6{qcqUcNar2NXC66&$s?UQQp?gy`D z=jZ5c7t2&ZTPV8z-K&Mad3`#Lbr#Vj4l3`WBNBQu2fx}(9QP#-^Xw;umOQ+HqQsE| z@maHH3KKGC2+ZP{z{@T=k~9AzR4o3Ba07nX*}xqj{V(tw$(tdhd{)A6)BuKn9biBKCfYnd zc25a!XQD@!i-Xw70lRI09S7f&^PUuRi)RQqd4BBvA{>F|m&_-HI>Zk0a+w3zWkTLU zKfHUe%e)u6&#jVWecG}mFH}8aVvno1kZ)yeA%tj2WGdNW%;%n{&k(g*oLgyoGOai5 zA!TIbn6YD6I~~m0nZSvrXw%OkDMEX;pF~prgGj3W1;1azFYO#3{0)3#oJj#+!FSrJ zRWVMJ{D|po6Xv@Ldf-4_Dc^VS`!6Y9k_z(gqMfGTucZ9i0LD4~|2H4z!SuA#4C&4C z)p4uiCz_%lht33PZ5IFsNWbeMq@iLlbuGL>4qF|3`FqQspq7g1dQ%zsH7sllluD0} zkAl3I5AxWwCOLmU58CUQGZ0!hnvEH09&3KCC-(!to%Z>wXg{xl@#^(tfPNaup=VNT zb!}gRWb-ba+|R>($8*5>&p{X^W@%oAcen7{JuYV<4864wE#Pr&4SUc#eLk2IB-kiH zgS`2Lf1Q`!`7OV?MgCd;7F9fp(Tm(inD`Oc6HDZ zxVjr`uT_2LAWACE*+TSb?RE4Q++~X*ibOU$#wpvl1I8Y1#1)urB8WE7ekSO42c3Au zLG+YizcEEP9MRJlXg^EpF(x)yIIP@f`n5&J-xY|Sv44s3XG9XDTGkP(Omwr7ebx;g zSMTNaI{B&;YI=aZF5pC)d->6j>8R!(;CqTnT)P0yGj%{f`>MQZ6i%UqGATBMTRwK><#hs;sgH?nXA2I0j^ z|1Qq2Y1R^rO-r`_tR<_Pw50DREm>j1wgmY(FYyN zE31S>r~Y1bSu8TVX)Nk`xu~ZV*92wGVbu2kzo9Ky_k9};zjF9xb-3Pu`y{-y<97Ql z$Vd@A!apN$4o5nNG&DQr>wARjQjFs2Lk>DZgm&@Au$K-xX6@7p#XEy+&5ne@c&4e@ z5wAomyGxEBy+k`?}lF(n2 zKRQUFS*Xy*3O2}nBLcrH6e5+iLb)=AYk@w9I}TpYDldr%YlN}@=C^||M?hV&24QAN zFawldLMm#;V=d@;9jO{nHL$9`4SmvFD;)NI=ltKT?%YlDvnEU;A_^-qA z%rH#(Jg)VnseQHxoI=n9jplZu9vyVhF}F-}ut_xS8v5qpRMnM67#+CxgnK2k-CdnQ zPAbUWN>c!7K$gE^A)5qnHm7X*YFTsaA}D#@Crzz(E8_ru_b6Hgfl}GI&`whMHX}PfLGf}viM|R;2 zSsg97E438n2ugd<@i4&Y*v-1m6{_qzlnYY>E`J6&p8*+&GGJ;~3(h#08p@+Sg_%!d z8ZT;gK`!c1k$qibV(mrbjA-6P#i^XE>QGAqw9$LUoC_o>z`l)8_7oLuXM*2PU2tJe z?@-%7joSS+viWMHIOvGO5&)Aug@GU;Q1+$4=TlXe=K=nRk-rYOBZzo)Nwr9F_;c$9 z>w&og?5{v>g;bYkp)UShJyLC`IL!B93-$>uR~ZgCQp=&|EN;i%VBp>j$D7r#FD11P zv0*CKo(d_n(A(xoX=KhY%D}M$siw92Ig0-_NkSM7Ex|xHb#2%PeLkW@vH?3Io{MMT z@A-J2#7p?qZrxqq`M=%n-FH!<-|a5F%S7S|-){Fm?xwfP7`9%^t#*gp#WlgSo=wo( zM)%63+59`0%@aFQ*JpMyh*K^NXeC0tbgS~?_%ywUHYk(M{EssA3 zzy7(!XSZIEg86aHE@EH>xM16eg%$mT`d8pSqwBJkPwOdM7ByzK`)@EyIT~4ONVg&I zr#7;KvHARN8+PeAD(Xfny`#n`y8xVM2Nj1Qk7NyaE*>HJ`6u#ILTvL3PLN2JJMLDf ziHqbA*Y@Q;3%Y)5dKA&7btNT-n_1WPjJh@&X2bABzIT>Nc3%cM>=%=}FU!o!(t0=u z?S{}*IUQNPY{=pv3zb}<>1mVKGv+Sq`g=y08GTi-uA&?&l75err1g*j9rub`-&?+t z?)tdj41ZsM*;x&k`1I99Nd#oFS8iwtiPD@P00U^uhnp4Ena&a{i6K$871z@-yc6-b zC%jEMd5W!q?ZLX9&Vt&RXS>7N(sfXShjeD7dU;gAiHwxvuCB)z7uiVcTM5zSaq6Yd zn$X6~6^6D9mmEH8u7)rLw(8>``zbp?-_huXa9vSU*VkS(2FgG%UBTu^K@4c=iI1l*CKkf>D46Oizx%jAL z^nfzK>#6o0bS!$2KSp5G0sXUQyPs_>jwHI=6c~ZD(FA2nw)eI$Hr}Mi-R5p<0JIn> ziQ*D5M*$W2ihH@Z*TJ9_ZXWuZohSqpt`*+SLyxz#?y>iL)?GIXhf4PZz9VsI4)mGP zm;5UfBQN0^)>j}We)KP?YJeTeSY7DD=x{cU;NCH`r9mD;^x6Dh$ySGPj#>R-c3k{?wv;$5|C zTehAfu3=`n>m8{V%HJpZVmP(y<7L6eudfJ;)pJbO^L>ntl;GIG-lvGyOruKZz2A$f zBK99Jf2GGl`=U&^w_gqA4V(cYe!ifRteJ6)Chebs3_1HH^A{T#Oc0+P>1#v4{&jSIF7+8`u}Cq{EbS3X(Bp$R@(e?AsWxXXS0^PcaT_Jdd1C^<2Dp>P1Ee(uExJJ}*8` z*r*t3$GO}a&p8E@ke;S*fzHw+*nCpzCEQ_u-VkgnF?L%~BVs{kLkgqbUF{-byo44|+lO;yQ6>9dyaH3b5JDtw^HeF(GWJ>qH5lj%I{z$aIBgiPA)t?^LcU2H%cXRLfxLbOat?3QLCyxi zQpyXMqAqz3!rL5VXMoiR`NA|2~)%YZ=t5)oquFXSQGXI%(ETx z{MvYL>YxT{j-v&?<9U9s=M_lN&`8Z8Q+lqRMLBO^6yw=`pPwk7XMWt3X1Q%yqYdAA z7%%!^0QvB?*CW5px?Y5NDU4GXyq*t4pA>-J<6cb1n4d)wg(=3soa5WKzS$oGz3$;V zJ{TX}MqdZtdD`#V_=IX*uFo%mE~~d?r8DJ@7UFzu) z@!f)mt2Q~jvbwH~P(E)w3h69!!hkoP(Tf`gz483|J8wMZ1tMALY>;l5lbMM9>i|8- zzzEL=jhckZi@ zc|~i~>@-T=hA!Z`9^P&Ch9%%98pc45bh5=)Kc5sM@ywL`2dk^_+!3>9vUF23a?AVo zOspr)(ehE8fulhGFI@h;XQ>D}`Yw41Uu|A2J1T#-&=l!;w-0Y>`O_k`bowYZYP_u+ zX6%<%k`ktpD#4WyrgRDSz2{-^JZLB{{xN}1h8VABZa?t)U5b+8>a@iHM->vRZGCu> z2_emnTD)j8#N6!Fa*-ad$h!9ZAs+H2bJ&)wt8@kW0Mv4qMWXR~wn=A8eeZwsq8%UW zIY^l{AleCw z&>M(9>}!Pt{sKUj1IGJ}fxCiA)K|tY4m=tp;XFyIf8;>@mqs0FVWs{U%SG{bar8nS zR3+sJk@Acf$g?c!#g-gC19VHA%g;IFh4&9w9nEsT)Db&ypAX7@ep&D# zGLdw2M39M&2x5TeCwQ;HFg$j6ZrLMwSSRwvC(0}h8u)c4z`|l_xe&?>3pK! z=MyX0OhpDPK0DwCEC^3MXVDvt8@F!s*^#3?LQEq10rRBXTl=5-bcMI7-zgkfO>`9- zN7-)V8qoh2=wx9B*7$Ni|2HTL^GRwcS;^(Jsy&r%}zDSzgb(USD{?M^%ih{!`1Dl&Zd>t|19UHKfLW z-`yB4b;)s8;NS41=?*S}-^wYtqR3%flelo}{smsobr{KW7pa}&zuXAg@06WJ(Mq%*^%8@*i0D7HtTG-EX-Z!NF`!G+ zfn@ThmgUA!(_3PZmUZ3^LT{@d70)^Oaj)FqOaCs!46)rRjz2k}hD`m`@)*XXD{K@u zteVVRD|@CH38(|z`vnxUJh+8|Iv3IcO+-(j*C0) z?wPB0+r#7~F`|D!yWQihF&IZADR3kztlQsy)U11cYXBMTVlNS?=(5d0Aq0in{>f z%)9%*U_gn$FHpzx@$R?!jac-cP`YM(p{dD(tSAV zdgk_;?B((UH?{bpA7@|5n^v)^7m8Ki|FHiTIKFxsEKwgU5G?w-4l0&>5Z zeJ%6Qa@+Eu$KyYcZlmP!K2e8feP4q(g`UMFN9lpnSM*W_+KMuh;l@KB%;Mr}8bkw~ z9Cg<-xi5J%!#V4>j!x;`myN!}4nI1Hi))Xf(a)onb9l1)^t_x?mYf!+q?4Gd^+9D* zYf!@=CBXN}9G;hNW2&upfR5P}E66UOTzXKM7WA1|ki{m$xAHrfVy>5UJ)6M*H&T?0 zgC3QcF*=?t!C%(3dF9ynz+HjPIf1H@An6Xd<>JKjxF|>X!zqk?!UQt)8|WW6Ivgn{ z`d)BRbC1^q?)Q4u-le7=uX(?QG8EO!sFC*--O}jQO_=|*IKD_(%JeHlwk)Dpo>&%M zR--N%XJgA^OcBM((xRF(&LIkAd`Mrht1SF|V}+eCWi{t5fu-sa%>S*$*e4SMOULyU zi~8j6EC`A2XGEs#!(IaN+N8T|nW{9Rctr7=5g*sY*X%cjTwzLw7q6+_9uZImG2%!= zT+P&)<;EA1LX(fzl+~y}nq^9fzNVL?e+FYBYRbZ8cHQu)H7FbQ z-I-Cd$+*qfU?Eyr7e&&m7r4C}n6gntXd5^b&siGxRgSZf`#!R~ku*J-DSNlZ_sv;9 z>g2vkoj6i6+LnB4DM>QD>>hsSbni46c^^Zm`;#swK@U&cSIIPiwj++zDr}NG4G=vo zXIw=|5J&bMpWZvt5K*ltqvFeI6eUa#C?@S&*W4#TJO9{Ce9Ll=~?TzY8jqs;y^&T zA9{K;q&3eLClrkAmwN(SA@IkI&D{|ETPF$k3lTno?!w0I5hsoqm(|W zODHmRYhrO6W@p~W)YRm}G+L;*?B#)x^2oF%3!VFF5lcP=ig39JcnvO%nC>rz!8 zb(@|Y>{JB*ksDh>v|+aCVrao^QAafW0bRsJ(u)8O9a&sFv_GJmc9G>&d_mZr&}6-_ zh;p)2i}iF%oJh}~%YT?uX$-xxCiQEPrIc5G6cuq)Jgfg2eq)-bxpU3%M(b?$aAmSR zTwy!mBKKoVTKlg$rjfDN=@QMuZ0Mz5X8&@6W9VG7+V-Q!#v+V!7MXp`1Zp}!jy-2V zNG!$9d@8lpiv5s8RVVE`+WWy37$*jCXnK6|hc1$K)B@i&ed#Jn9S*IZ)?N`m5!xRu zM~+(l3DR%!WTe0^)=-!+lOkDH(8gEXO0ikIx&@xIM0fdp(FB~nsG7TtJG*Dpu9?ri z4<*DG0Y|eXb*~$`a@CN2+WAdrf;fcqg)zGV_Af6cb|&bws3JrANmo+ndm>GS*39W0 zQoh_6)K7N@+8IK}FApsO+BI2;E|Ys#EHWgDI?X)jYrFe2PN1}AS@Dd45ca-hMYNNp zJFKfXS*g-_n;d|7Z+Fqk;%&yWPC{9wuRT^-=_#DUxX_|gB5lCEqE*HWcqg%@2M@zv zh>iW5X_fIX{Njw7$=O!C?6!GV0q5KNhi0+MCUb5LNSF~`JX@4$hW1lV%0-r)z4dDB zs3NvBum-qzjyW0M#* zI#LYMekc}cW{UJwpj0<|U{7duFVR%lDHUf43=c}C`&8YrJmz0!`cDW!PCDo_XHiH{ z5#ywp8mn*iTh0+@5tZOREcoU>f4EeTmn|8X|NL>g1ke<1^8IRH<-#r{>y9=+t~sndg<)KAIs1*nE@bsSIPpT~OH+)USCZ|W z8@1Wq^D(uZ>8aVBwwUbBU&gz=hoh1p&Gi<99auc1pK&7e8!OJ<8b%LKWb9cP5j8|_ z>>)#uLx(4qCegP-Xu1e*0z%(-`ulwU-v+s3V0~2bg)r5js{D5qwTHMKUQU+`ij;@b| zaZ_3SVc)jfA$>22OrPRb-L0=PW{RPP@0{aQj9sNGs|oE7z9qBYh}R;IwZY$XD$drD z+)Qz{R+3*IVFg- zb2PRDwD7z8afX@P~Ul2b)j?G!V8@S#p=$FhWy-FP}|&DKwCSD zkJWb;cQkj-KHA(lFM;kJwkp3jZE;@bXVp2KA0Ap-$=H*b3fI<6IZ*mT-u9ypb#|Q3 z?ELQS^v+*W9`W`iFM-swJDh><|Ae@JN4%|-k9L}w%+8xfGrhMdMQjS>)WnsvPD$_S66&CCI@!0Q7bp?>u5(CW2)uve3=T}`3%mtf-p0C)XQ<*M_a>vAB(?9PWHXSjjvj+wSg5-VD$%beyW2+7AXS!3nAI^X> z@6xU!W3a1e>4i|*F3dY7hPRTMuVa)=M3-3f8@^1F?_AH+yNSiP!$!rUuat=*o%mc& z=li~%1*xw3Qib0I{n$M|4oB`zqx?c#FFlUhp9I{LitlN`QAL;DSP@#3R&}~VRq6Mo z(Fc5>1D=NOwd85!2`AwD6l>%?eo1XnK_9@$YPbCOhcE^%#H$JkS4$BYv$ ztcEsQ2d%QUH!ZKBvwX_F&hqs?b{<-Psq+x@lDL=)og-FYPr1-JgJ08mBH7$oHDqn) z$IG%iYbXx#YG#_SO=oDP{n+xcNNjV9$M(xy$3v$VMHkO49wEI?C{jWBQy#%GD~+Qr zFiwpe`pD$9*o)ykyEpAcc>kx%d%eQtwcTKyS~)=7rj66aLm72R({8jt{yB{69LTl? z(6Z{qm^qQs@02<4K8108=lcS3(JEskjNQPhuG3v7h>Lz=0`NFf2Bi9HLOjPa_5}f_ zjEgSFotohPf-(V@;GBW_LwIq0=i5`Po$st~=sc#n)Oq}Y3!P8qUg&&ckz6q7S$HmV zZk%+Xvmh`4-hb%)Do+N#4V~u}U+DaLa((BQK^GzYMMy6LxNCaT-UFB~UW7asArH_k z7DwFj&OU8=r$|zP2HF`*p>%D$cKV0Vy3<0VxVjY#j4=W|v=rJuTN*LR_&3%qrNH{u zt)N|7H~P~NyOAz|v{(;Kywo1kd}+^grjy^&Lpo9p>9-k~3(`o8?``Qijp+(b5T`Wmj`MpfHFhyyBT{_yi{9*Cbq2w(o6x0$6y-haYOJ6 z`rT#GA9OYP7k;Rf%%>7ftt5_27A23v`jc9Y?)qDwmRsRm-WMZT68+!aU2bw-zWaZ6 zclmN>Xy5<+-Q~00KZyT%cloCOM|YRcb{F3D-Ce%)e{*;FEcXw0@$T|j?oayhCa_uV z5Bp@|J zaC`at1GkrF+oQ?T(PPMB_?-;TSa?SDjUvJD{Lngz6r6|{Tz$i~Q*(cD?rrzqjXQkc zZrpL6RbIRscj(~VxZ^xu+{IgYX1V#hYN;;s`X@ms>n?u#?v8<*1dvEOu7lw!Sc3bz zHoOn_a9cE4d_IDt!m|_}%?XhC3@rb;k*W9D&Nh63yFR#{Zgr4|X2%qzf9I_0#H6NX z$K=6q)Fm=rk+9b|rrzqHmGzLCj>i3C9Cega6Y!=n;HsyC))zSF2x*9>D7&y17txC6Eq_|?ZilK45xTK@Xc_J?9;(qcG+vdl@m_q^Kb^gz_ z?rIJ&Rl1;zk9}oKY<4Ik&Vh8kE){(>1zdn{%DYe|H4`ngZndCiNE@WT_EXpC-|zdy z=_wsrzZp(ATj^9AJPg`oU2t}wb=aW@D&8i&ArxtcOp-5U+yU;mYxJLXR4H}`?imF- zaaXq5b>|_q>uh?0yP!`;#I&^BaZm5{ab ze49#_UdfgOI1LOy%MLfm_sB{wh6R)ax~LqwWE7Ohy1F(3_bFxGtPiVjb!Eqy(Asp+ zCPA`*z%m?GwKGN;_WlZvJ=G90lZA4<+POa{6C@A0E}i2X z!Ftm5eSZMdNv@psJ}H?XSzQ_=Pp1!h1EkfbWn3ILNB6x*s=OYVS6+s1R0&EiMu-n^ zbv@g$*GpT}F3WOFoZ7WDqq~)+QrlG2E%^Nv9{Rw`#vZHM^};g6exz%H zdvt5yezhwk%NH8fs)n`+yvKLmq(@$@b;WeeAFwl=UvL6t3G~7Knvr#C*dZ4l0x20r zquy^7YjUs=7&Z#ml=SpEph{Z{P{;^lg}QF_`*7IG6?4P5aUAU=8E9!jCH_q4<5<%e zZl=4w^KzR)H)0W5hz8l^(mrkscOK$4o1(ZB4*iX57DaIir-s3E<#>i_HmB!SD+282 z*uzG^kx|rVIONIRpXp`dek2mE@Es23gbE4TXTu;Ws-^6Ceh$YRAk*i(@ zu2C=bA+#nw6mb@62H||{Q`~?pWG!$Nzs0dxcnji=0Nvpo0s>;2n1yq2nX zeQ)otcjgB;E`6QS+&SOX_~VvMT!#h5{Y2U82aO}I$R%2aTtSQJeGcDU_vkr5jwhX` zqhIlxk_Q25COeId#c}T+O9vg_EN+Geely`W^SI0Nr!7?hC2E(LF)Uu~GzX30n?+5@ zdq557)4K`uT(+cFvf_EoajvjSSeN&j>!K*@?LO!S@jxHg4(SG6YUZSH9s9kR?XLe)0z=8BeksafPQIn)N3Ru!5I-V|FC~D^9@G_U? zsSI-kpTL!vZ}7~4i{`K>R!8=FJz3sFPVIU&E2w+@Mwu(-sW3iSWYx<>MIfFcKV@`V zefavZy$4fQXZF3Ac1aLdaLfTbrAc&Z*A*B!{~bRal#eU+Ieb{ud66|#0Cq72=S79# z27ey(J|AAgy=vFzkUz-f$dS2{HYD(nTb%)TEdab;MZ6-jm&jb~Mx+i?VqOBjWT=Cc zd_MtwUT5BH340{$?NLAA-M8=nKa;a2v=H1U*%gsIHeRFWAlzzI#A+tdkQeW)yJ}s! zMD2QdHNpj1tVD)ZDJ3-UAR1`@&E19Y_2eJ%t7awxUs?FdNMG^9`pLVfOS=V=x2|`bBpM2uhU9{)&o>`u}@uxxv;iP4o@&VBT~_F@RZRH z7w<{_$^28+PucC(Gi_&foN24waYoeSoDqlRNPEyQS5q9?ixAfrtFN`v>keUF8t>io zSjl*_q9!g&mhbn>!0%b6pzg%$>0GxF3yM_AcG$EZr;qSg@C=GD9qqy&DcM|(Y9 zP!8CM?|`^r(!7Y)LNnbl1GkNrD}R+*iYVVQ;#rAiD_XgW19Fl7+`RlRO=wmukvm zJ=a!BoojoYVqIf5v96^B_F`{5n!t5{c*+3QJ$->vDVTkDh1)`hp= z9yA$0=fP&j%m|=k>IKR2=9*-A6LN{N*U8c92Bb>1+Q`;JYw3Q0M{H?!OjV}Ya0YP- zSrKQU_ArYm&p1$Op!Em^<)q=9QIhmD(+Oy=07apQd(#+y0VUA|+!XE{N6px4l-J|= zlqVn`o=tJL07QK)ND@7GibjtRo={MrKb~XXG2+Y{T>l8jqCWzRE+JTCYsrj#sbMHByG9TL|9p+FxCxh*IRyr9Fp-*?P ziGayKcvNCKKt@}BUwGsa;2f(`VLrrgy@S5zogGY9?~o6|sCOu&THrg{7GSyOUL00Q z>p08miJ;vR z)#ra1eRE;Gwm!LtubnVwkj}ojT(k4I>-h%{R;6@|(t~uCVva9ykV<^xh;@ZUU% zOzBR@KI%+hXS#>lQNGq})PjsP)($i528D~>v{2%@)B4?lBElsQy~1^Slfv~$RyeoE zL3ToaRpMD0jc^FwS*1ZJ-l>S+Y1{@9hy!`UsTl6f;|NvZ%HHsnb0N^8t6j^jggN@} ztG%AdUWKcnz<0(gS5OXcg--=1aDvG|se_J7jgyd~!h>Z#4?RnECU=Zhe(wlUp0`v% z>`&YkF0D(UI4Q8FJ`qS|fUxUDQD_-}v`6sy$Nmm@%udwK2I3QhE@5#5ep@7HBd$Q- zl4NzsbMm5)c4)^dRxQZ(GM8-w>!SZkN`FEv(ar?_3~5ozYlHsd*Z5GES?2I*Hd*ld zi0>U_|1dp_EM>D5Z`wMdJivA5{ZX8v(!^a0134lX$K%hEUU_)X%JZ5d+XyY#=G9qM99hR&@zv3BY^l!^c3@4d&zV{&v>6LIpIKOgoi$ z0wV(6--BQMS?#BUi;Gnej_Mr0?E5|}w zOb2`+0#CJ@BS5MJidHDIftr49cizrOIdC5grFzVHS;E{n8D)E{4PcvCZIw9{q}j1% z6`8Ps-}sm&)*Qz=(}QIo8=zIG%sGM?zE|dIsq({^O&YOg5dTM_gQG{V@uy!(7vnx`M_h4*4`Gl!W3!3 z{s(<%$$zGAmntu*e4YiEvPl+r}Gwr5>*yflc(a8kiQ zXZnKXZKp={g)=DR0db=CDUPjI7>bS3$h0b^edLOH?lUX7pLEr1eYCO+xCK)(wi55c zCM63KzZW&-vJz6plxh+)#3+O80OKSNbI@}XcA4A&a=6#?=i4$@(54hqAfyZ2pOiR? zlSAx7w@DeuyiX(~noL^Ik^&%Zu@tv6*N}MDG>TiuDIhNCwycca4|Bn{q%1Wu)S)@` zk?`FqtVO6JxUm7a;{#>DFM)S1YV^gb>^`0eF?OHFh$>-e*%Qvit&ew^7`k*X%qvVk z(aGa+{B;X*J#tb!%T)k<6MODQ!Z(#0g=-S6=2aq}w8J>0O2!`>-SoqNJ@pT5v`+4N zY3;c-mF_19KkrafqNVu{(!2cIb8Q;H-GdG`dUD zuUzNDjh1jb*A}chV*5?5yfJ^_2cMUA|5!NBKOO)diH>mt_?(YGZ(YB~XA6`rbG>Nx zm862wlT3b0sIm&@3d-wwyk7wr23PvA`C$N?zybVdi9U~D{TtDG9LvN~CR>pPR2lHf zz_U_)vD}3m==hLzo6{DPf)`5F(5(gYkyTxHFgP0C9k0m z3X7zZ5cm+`n?|j$vuvuM#L|^7Lpoepd{9si;(yM9a^TB?w(&k8(4Glx9wMmi2I1w# zRq!4xC@S&%tq;o}2i*v5rDV#e_)|uv#OrQ2KF(2DMxq}*c8j!!p&Z7RhU3Y7-|Q!O z)b`0aL)&Ri$vr07SkH9NXh(?$&pG?gGSf{}g1L;|N6q-cc)5`-V@n%JIKt825?JL% z81>h}tUeB}-vBerz+9xqd6v3VE9pD7fwR>_yKK?*uv#dIEp2u@sFdLRCQ~$F>g!?m z#xYGqo4UxC15(2;NVUfGaYK2XsrH^wZ5vIkur1_LBR4sF9LTGHOC1Pw$^(Hnl>(oN z_>E5;!goEM-G&-O`04#>pycYzlB^j*)9 zJ8IW+IbmEfcP2_!GQ*wVKugjWmaAO>>p*|aP{hyTG;w!5rrT=Qsb!kjGf_$040p7H zb%*Itvv?UEdM~q&bw%c24R96cvtE>7Zz^S_zE;ImZT9hG+;zYksmt1=9tM4Sr=F8J zwMw+zUzOT#g_)q_mnF}blqEOt-sKXti&~*}Mg39XG$;%+W&2UjCi|$@lDXL&>4KS0 zm)7%qf!b*ZMt?v5RFZyXgThX$Kp#fgC_)ie1LdMVc*}|_3&D1VQp9VqKPrC(xfo!l zt6eFN7z`?>K{dKEXcwOKNe(;aV)KFyHakuz>3*{LkDLc)tzLk+E)`*UBv=&8?X57Q zwKq|*?4$q}yWVD19#FkUISphFH-zgF6nfgJRe(mTyr0X1QS`h72lekir>017tOM)Z z*C0MQl{jMv-)4B`_#eT)Xz zv|8`y&@07@OQ0O(X5fY22zUar9M=dEvxOu2O~T>C6=Bx_1H1zWi^KUcm50BFFF*7&5n%`b;8j^l>06^ z#+LE$9iWz71fA=mL!(a?Zou!*h!o(o028FyqpKk8DPDL>pD!GG=At94(kQ$Izv1~8 z9mDh~LVNy3p#{RD^T*ned{C85*j_WF0?=*YE^!YMK>W=QrKL=nS1<9pl+pzUzPf+RbEEv$JSFYz8<>i zms@;iQ=XW=5Zyv7a1H#*l6-Rg)q${e{*)>$iG~M8-_vT>*+0eue|XLuaKOm1uBDqb zGs$bD>o0wafPW+aX9%;aU0857jbVmcV`p7a+3_5%$OarBUF-XnK>j<+HF3D3 zgd;yCwbu$9>Ou8?+%JWEY)940t!hHFRlxf60^CAmwOJoidJzMZER{z8=WdEEisCqojel3l+}h=#TD}?do9g4 z7X}Zk?C3YaxGsYPMHxr?)>07omAKh#F=_@y;y$4ACqt77hJ##`3i9GPGhpIAz{W1eRB z2FA0mA2Vtjfqy;0_RFTxZ$8Dz?dRBLN1Rd-y*4$V@d*dL1owfddAQEyY7t@7qGpPm zDO|Y@=8n4``Wt<$N&NKBTe)2vo|gV1 zdmNsOee;}H0MFBp&Tx0Psa+QHBKXE;&v0L9le@miAth>e!hgwKb@>~)Fn%T4a@4L$ z-N$*X%+#sCIki!0*Cz7}cP-@2HIvBls2T3h+px?g@yvYmY#B%pUZ9K3o#C!(JLzKo z?6jf}lTQT2&ix?Y0(S?^<(eeZ%U$PkP-hx-HN-|uwObRpX2;VJ0Zy%Sk{o#+?h=$3 zJ=Ug{X2&LJO~;=%=n^yaACOmJB~b-S04r%Vow9)pbxNi4oionuKL*CqD5ee)F}_ z%hHI)JQ#i!xIfChb<($Dcy>y1-VFCc4org*5T-*-4ZkC&>4teg1Kb(fAb43v1f-qk zSg4~)L4wjYz(_bJt_WuIT5ALJH(Y;bx_=$Y!f5hws#gak9^bkM(PN(pY+_v9n^@>^ zJ}keJuuSJ7xhC=R`>|ELp1`}OoRso_75#dky&g#Vr>a2Dd#>k+516T=>kYs&oLSgM zX1H5hNg4Ekb!ykz|C-G)|J;}wW?pF?$)Tq0wnERyfmT}!l&ahg{G6UkO;ulJbU>+j zVY+k<>3wg>-`!C|PxMPx$aj4Fug9`sZqSbv1;5VsuXo@&cFcQPGVTN!Pwggqhj8@X za86$4_3V*uz8`mj#`s9Gm)<>u^L=??;0ps^=slx2vR7Uj0P&lp_=FQ=0?Q?d?5Z&y zqxUVd|1NOWFvhb~x-*;MNn}KB*aFRoP`sIh_j}CN{4NyyyO8pCp+G65twyUCi~(4u zi6u-ukp#n|g2%0zNP6Ho!;>zG6fE%N3|k=iOI^Ym&^l@qzuP_c3u0mGqe;SvI-cb& z2dFvr5~a<`oy_fZxAflN4+OB6Xzd{>+zjDN2s7GiQus#*M?jd>M&@Do-w?hmXD`XL zSyK3G%nxC?_K*~|V15V(Xs=1(PcT1(723#r41a+6W$dLuZI%>%r#FX>;liJ`25^=G zd?vqgH2VKqVOg%(<8C>H`(Ps<43KW>8?kgpm7b@LJ!^{N0!o<3g*q));+EeTBAu@* zald*e7Q!#x30{Pu;ybgX5XJHEtGSD5+inL8oc5gV-q(q?io_E2Wi+|(lL)dHp5QFB zck6Qq#Lza(DxGy0st)>#$&;4v2m6 zse=E3-oyKTPj7YK@9916Kj^&>!av_b?+^&@m&<_Od&L+H#!T)d(YpLM0lSL)0KjfL zV2AOgz0{2E7WlSa`nFzi&$pMPZ%Fz733L4^Ur%Wqz&!GAn8z(b$r9#SQdofSN(u8r zQuro>!zIkGN#UO%+$dr0t7(n+8|GRG^Y0M?!~{T0q!e=wVMx8jM~(dmLnedXvR90f zQhbO|p#KC7(Btn215zj-|Zfv!V*K){N&@VK@<9+tw zPY>;)Xtth29pHlsGR*}GG7G{Bkbh`SFwd}@u6mdOXXfc{(Si5KsYq513!yFtyF@z% zIg^jacs)N_h^747Xc#|VK`lpgc|+KG%o_};uQ*2ZJeMY`XPr^R7gO(0KRBW%X+DnY z!1`N2Rn|F;Oybdo2k(S17_clT5z>C<(2kkJV?XtJj##pxjII+)`4_5y+aCWnAIr(w zRHQ^2R}{zW&*md|O&1lC)@~*hcABBz2(v`32yn6iVU~wiYE7hMHW$wwU68|H=i^N| z<{|t6(gtdGO9+0BKUMxY7-H4sDuwNbQE_0$l; zilTzri4`z0?XuJwm*ow$^G@u(e0q+GxdUFZKkhJzh$UwG|RmVq9kyd+EO^)V;!&hVlQeQ}}-w|9>{+9mfTsT|X!#M_^o2ug5qbw41M5Jt5K{y zrz*^zvs){>k(Y~g-wd#Y@3s-oP`Zb;e})II&k)x*@es@_v3FkIXiJT}!_R9u+${v$ zV%;5nUTtvys&L;=D!r=8oq>$?ck)X-Q-o5yQuQ$ENy2?8=I2PPt^4Y*#+HG`_R*yQ zy2L;i*4I$GfUjNPs~slPW_P1HPN#fq^gu84)w>PLVTh|=&!JYcRCblg;hGP0O6U>~ z*{0Ufkt6UdLHR)_&*E@-bE~gB49f38c_CkJ?<&78k%825&DVH5w}kTl{ z)>rvu5;YJFB)xk{mUw<>3rI&%SXV?aQHE^2!LZkG+Ypsy$l9BQ&!_~g0_z>?6DoR% z`+Km+$|Jo<98fB*?O?z_;JQeJFpy-R>g&`8OW@Z zEUx(%o<3Ir_O)b_#58_yno>srg=<>G?ofoUR{E%d>D5#$SyP zsOk%P+;iSXm#a1OF}k9b8kX)|dVA?!!y2&RYrtyXhO1~frc))yw5|aQy9R9PZ74~Q zXJ>;he~kW`FOlWT^M5wC-|+O#S^l5AyUU8fI^e6@te48~zM{`RInTfI^Q>y|&U3%z zkI%D=pJyuWT?%^-JqNQGSA;3t`2KX-QJP;C`zGQ@pxUksha9p^MbN z;9km?eAC%GeUebJfG^=XL(-Fkl5D=@MXqNT)GWT_EEkxrq;Uy;_Yza)msS9Moj-{z zXTBMNUj8@&{e}jjE0BJK^eLpHkQP4VxDcN12+)Y(FbgG~7?x}9+1Zol&Q9%9R(*~y zPATuYvUOc4bDxY`s?NnCJsSALoc+Mh*#y=*XRS*gpR=JYkJhFLy!ug|Bkj24Z-*ng zmF?%t-g>O8lrLNVSlMR2Y|~?9Yx%MgC=0I?O)S(EdnQ}*$De+HzwJy?1_2ExSWM67 z9epdkdlcI_?=D(#eC+|gwz;eJ7om0%U;7WfHontWdr7GEVqVABuIQ@$>M_i3^0l_E z+GBjJ`h<=_gF|c30I*ewq&=ey@D+boBeRZtT10@g6eR zV+op!?LWmwQY3h0*w^Z4rC{}Q%~!Zb-WFBo^|tUTb9|00uCrdBuFvG&u5ki-JEY`QeU7XW>RWN7L4pOwcRM&7XOLij@m(c{qYUz@G8f;SX?@hg?t4%A zsB590_A{}lNb5cSg{;nK>#t>&6j*gH9SmHpGPeOLirGv0YdbQorq z2mybaYyJz&3FcW3;91~RJA*9>=9*m}lAe|0>ph|~>oLlL(&M@)d(e^1JRW)C?^V>A zQJ#0d0 z>+NkuN8S@W!{>tM1J53OLGfqiZMhhWUJa__k|FK%a2(e>$MQ(tHJ&tOXY&i3chu8h z)I61c_sM(oQao0k%D?;MJ!`3Ngopm_8{xjCz7f{{-8aJDmik7B*NVJrt@uW$>^4HB z5^xITQA(fGgFgY~;SwJ=ja}Ttaz6`V4lhKs(kJ=gdjN!4Ebz4vE%EVnhR{}p+h%*) zsxWqO7rz@(wvXRHIpr-M09HV$zl7UQ_m&UBxP|g~++HY;$JA58ifuHe_*QJV&^7_L zP4Tu(Q1aCGR9J72fxHZjKme0?N8cwsH_x{g-f4%PNH4S+LnnHn)yl_Lc0jk4J+1w} zt?c`sC!NmvG8PT}60aN7HUBaz$>2S&@ClY)4gcUP{GDczHor?g+?k!tshwW=D6n3W z`XrXvU!9oadFr;?Pcife9Z8N>SuGjs5nB{Zy( zSppoEp#1 z<9AtG9`m11%SL%deva4O2sReAH^-tXNbf@W>T}HdX%>898bwQak0+H48v{IViKB}> zZSDB|+aLHn*v>5Iz6aa$?&IxVzsC#fC%}#cSVb#_t!c;FuGn*($8m_q(U|AM@jH*B zSiph5XAskyD&)#QD4o)dV&6|Ek9qyCedz>vhbel=;`90-ccd%{yjw%Za9Tq@3s>PS zcsK7wG(NM@qz$;ND9AjH;(F228X_^vpwbgtHnFneKpWmMx5Sgh>J3COk@S|}VM86- z#mdw~Dc()I$@smD7$ZwS4_wAu_d;BLNQM4_UP4RICiEdXi*6v>1UD z;*hJ>h|GDg_PticOT|f`LLPsjnn+aXMK(FWd@I28gCcxCSVwh5ZNyxJEQt5-SH0B;t6vV}^Y@Bxt z!x6T)L2p)jp?(CYx2!N89!A~`CKF)P05eH|Q4e}mfcX?)<^arL9!A*><{5xV0+`_f zOwyoK0j3OKCIXC|htYI{i3Au8z=R1fnn4KyjInjyCor093}NgBK>|b?KyXLB5NU&g z1&H~rXDX3dN#|i0(8PAI!-h^2H?FbnXpqfNNw}mWl_0Y!X)V3QqwGL&D;s|~ieiwB zh|vK2Sq@8DC&+CO{|)jg#{hJ-j{o*1Sxmnx$ST{4zm}oX$)jFrO%Rz_sK_S&BN<-gozTM$%Rn%Et>1`Fv zx9Z8u*8SQdfm?yVtb;r z02)}!aYsLk71sG?fp@cb-W^OA3%vXAG2Z#{yj#%b<6R8!ZtVZy9SOXXckymvr`|w5 z#ydIiPOc{TmHvQV=~7tf4t}M}V7a8BIcN>qjlM!ZBY#*+w~gI7TGYkSI@Zf8dk0=) z*Nt9^j`RFFCalF^fIrK_dwnsxesLH4w*vh4Jp3sEeha_;H+NhAdtoi-;Pu~v+kNmS z>)+B?a13hz{43@o9k5n_t7S3VdLt^+K1Af|`f22U>Vg@9E_l967tF2pLSF>v+&|R? z&k4Fpe=dIJMtpIW1?2F&V9^+rM<9p5e5p zCflIY2ie|E?R7n~Kvj==eC1x*GoZ#eCcF(LiiT$!qV=SSP<5C2hwWaO*QEZL%xA5_ zGT#ei{;#XB%m<@kXd2kIt*8QBMvX{L3@4@#`NS6DQ{rc$nTQl6i?F>LzY5RpX3td) z%TxNQ?(>_l^l{7g58m=^?PmGn1nAFr=)sRc=PiBQ272W=teZUJbs!ZmY~wKmJci-$ z(kEBMOTvnn-fczPE%IV`gU3)`)E$F;>62^X8DUKf7cj&DhVuf3zwj8oE%Mp#?(0G! ztc%_PoEqRh65vMha7T(BUmME*SR3q7ugz>c>cx=+INlL(JjLVK_ymq9^^-RA=c8U5 zdRf4s0UUD$95tO7M^2GXmvpzJpC9#F($56AG=Q5R!2O$toBTxI(Q2P%_2Jk7I5Gjp zRslyQ;20?2*u&#UC=zrEL_v?>{swR}0IooQn*neE0$eE%*Yk5zbF z!=S(LzJ@nKwCe{6mTj}=WxO2F-~@U&j}@QWeeZwA8Rb4rJhb({cy7C~ zCca>N2%4AzP5d=@AEb*MJiTBSk`2|kzJNIr%hdHXU?-R z6<%#CwP8E5*)zE#iJl4hgbpuV$9ON~W1klS7`GUGIyR4wf~ULpKs4Lg{C?{qgOX0B z7v*gBTyFPD6nQX;MrE5lzjsn*lUkHXkN8X+aBg40Q?*OK; zU6{&vOd|wLHv!Yj)kAFYL!+vFdN?81JHDrROwnyavoNNixtl#%?Pn@|c$V>a@S@y(>Vf zAMopaVXYS?6JTnrzBa!@n`mfbCpo&3h6k{WG&|kIv*xa6zT8@EvW#fg%&l{>eDw4#i9#b=4<#g zhOY&Ts}}p~;L87pusMKN!!-tJxyB(H&J!f(Pk7NmDTcpWUF^^lRzt!kRGo#q#8Fge zKn(pv33sifE$A`1(Gr`Uc*UY;TisNjBe`=mku@&e;gqH)^%c2SE?2 zHQe4H4Obo{ZzvukZIF*9nncs_Dckt;W_*4M&7ZtEu+Vps4AHde^(u>;#yf}*!+)q% z^LsMk?@-hypw~CnSHO5k7}?Skpj)1}Ukf~l7rB+92h~V*mZgS48cs3+`V{6Yi-!4C zcy|bT&83l{fwDHl`t1TvFCpwj{lrbgo9}4n-gtw4E9`CUK}!$2j1t+``0sBr{!QGp zYMFnNXm(!9<_&?6=R$7_S~eeo`|mVd>tqer9(15-)rxu0JCx-z&i2V^&ekB>`TJz8 z(-xEt9HB9V&rC`6cgy_)-SWVnt2HA4KLwn6nQ9WfxD$BrGk=;Xzc&l;)}rB@sC>Xo3_4pYmZf=?V7N&hK(yClATgyi={#b@;lh$vyS^T6f4RbiX$#Lq602DVj}PiUvdzIdZ#N2 znM6&iFlXMP9)wN>E*91}M0qt1YNM^CCj)7n0XP)v{HzG=hIw2eXd=UZE!p!APfSxZwoB1u9SMPH4 zSb?e91o=VkLe3_KB5#u;a>Xu(Tqu{XI0WSsclij#SvPHR^n-dO)CaE^?7Y0mOPBS? zE{7svmm_k_CMZ9|jgQ*p2wjoooK}SEcRBh&opQ`UD2KAW6xTUK$6c8`9{LY-UKz5$ z**Uq!(ffO#_oB2(gt@pH`eru)j!RHJ*!d-lDeU`$+`rc2Hc)qOAB^V^_oE-Kd!M^N zFwPl8dS~Wdv^&VXBS8Mli>a3YBE99-Dj4l*jq`^ft@G{>v>i)o54XGr;g%Cpw^F*Y zG4L2(#aeFv5WJF2j-pwxnj^H_z9A-%&;bqNSrU+%U??kg5EG>h(ph4-2N^L~9cUt6 z=>r<5SyaQ@vx*#O))q%m?iPTHZII+b+gyMtq?+y+ilHq?;KbMlX(81RQ;1J=2Pw~m z)i4pat-CH)*VTU8 z6Zom7qO2`I1BUm(d<`S|iHF1OizZ??4CBL1JqXl!`$OI6!l&G>orO<#yyXbVJ=ucP zBVqlcgfI&};U4Sj#)k7y7X&jga2Dpwr*QuR@0SVZzel6!gDg^~n-%(}yS^HmH}CCn zWu<$P7afd645U{e;XlyQ{`gz-q!aDj_>Zv`38gPMGdF+AjlYkg_c)mE_c(HH?s4QE z-s8yoVvl3N#yyUO<~@!@0ec*;MeK3pC+u;&K4y<&arz#|lG(Q$Z`f}+mbRHDl!x)B zWQ1W`p~rTDYrVvPw$yPCCTDT=izYdL51QumMA1$ckp)TP{3V&?-q74~%+I^!U{=g= z-bkL~ygT`V^VNkKrw7_hGw7Yyh&j&Z&uW}jTy|-Jv)!=B*?IPsV_B~6zMZ3gz}L4N zGXc-66&h#zLKx4#UQ5?I?+0OD_-Ytf#D!klb$9XN}|24*?$GLXmKa!gLY<(M)X*Fg^LGoZa|GURZb8PV)qHdhO_ z5%(n@ejKc?1~kpe#>L03I5e{w8*2HvJ8OZN&Mk3ha+fuHlRK~BgWQW2x?x~0$V%Zw zOBIyk^Nz2uh`^dU(Zk-y^H~M=NvD0^0UB36ky4&WKoqPQ%7ddgXr_1-`M8Ot-6CKDx=Z3IMKu0L#lf0$@y!zYl6pyy|u>bLG%oo zZPxSWWN-7HlMOnweQGs}Y)FN5#{1w+lH15#q9#$M*iHtbUEsaMwsLw{ zZ@&%Efybgu#Jf*xv7d-7rduw$RSh1Ljd+G?TJ=WqsCl(Pz+vwhxY&;c*%{kC<)66a zNd5kngT5)Ik!oE9dJy_NKrRE%(;s_Dcr9w24;H=;W!R$6gSC#!2DEHW(Ks6y!abqm zo?l2iUtIVFmj!F(XXg~|XNR~+gxjyyIy;|EqJMpyR>b>~Saxf!=J? zbZ3r9*bmLsFn$)@5IgHa!w0-ajGBrJcqcvdATSwwN*ES3?bG93%;<&#pxIF_-cJpm zsrxmwmsRBR`&x2$Zw`GjdC%v@QY&jH_Lnut6_GUPr;VVW%FM%F&+QP6Vox-(W0uS)@C|wke2e@|d9sYJn%RLC1 zEihcp4GxwXFl-mEr*8d3{rA;7YTi&YMfV~4d^9j zXHQ&513z8dH-CsY*W^iXJ;nJTYKpV{ti<_zGVRR2o#ng&bJ=+t>&q!zqr=N{kfV55 z0rk79vAy5p7*qxr3r98h6}|&JS_9XYVO3m#xmeb)KKBCf5L;E>oPd7wPxO@41y4eJZnH4NNvg2w_%N=NGLzpRSwr10P6-UxAH%ok0F;O90g?GCO7p}s(U4;o(eY#!s5w3c7yE4z{J+V-y(BpRk z|8^i2UGs3<>4zNm3*-|zInD<8J8c~IJLH#Gj=Kl>$_E^GA98m)$GIS1(#Ua*kUtA> zEaaa+eLLhWZvJ<#@hKkt9PGhovQ&ABXU-h##ly7`^5myz6eHX1x5qfx-%k0->{K9O zr+P$N7qw*M=CovdXXOqM3tBP`&3FE@XrA-45-ay1@e6lg!42-CxEk)@5A&SAr{SHk zA^yr;0N0@NzPrgCj8l%3kGN86aF)yFI^R#rcJ7PQJ1YX_I6qC#avo1O*V0plsk+e8 zGwqv}o^jO7Pg{(cm8?;-AmwWoC68u8bz}8#uZ(1(fjdBT_PH5wFaM;)s7z#tHc?`t z9`Ce?Yg{KT%m8fJp>!roo z?wu%41j_xDBYv+1Omi`o)R|Q?PO!$z_aU8|0sSH9SDk|C8s<8UTjZapnt}WM2L3bI zU(dijN}wmoP7-pf0eVS=&2zJy_rOA&*)#{*_VAX)OSm@{vfLaE%VjA=&NmifiPD1h?Z8hk z>a%bp%r){YnsCW?I%qQmvn~+F>xaE_dtv{rDfA7lXg#a3XH2be}zt-sA}00uSv&OFt+c;`K}KA#dlRd)_1jG zbh-eMD+2o`a+gygx1NCU4uo-y!s8dYjXgweja1}5BM||gR4tod%JT9@8tpvJ%aCu( z1D*d&#?Pa)&MM$V)ez)7a|zRkntAkNp2pZoDVLExMfFraIQ@_ z5~jJAhn(alAuJ0Jl^R4Xo5oLcT8E@LT?oCFwsf3za;!6Lp%!8p+WAco#56;2JIs*<&TlR)a{lgU<$fdN!y%#;=f}f% z&Vdi}HI`_~t)#FP+6$|H0^7~})AHAq2;%KRETOJ0 z-kyOH6g@qC{r~U$l>mRU1pdx}`tJOl<81i9@^^s1Un%fcg8BOH>%d{4{Jq5xa~EzA z_>1?*T@L&$`4j$%pWrVIyu{w(3;aH|clmOiz;hpef!}poc>Z4S@^_?ih?eKC)sf8e z^bF*FJg-5vUsHO|{ya*#BMCLFXr9%gXGq4(>==Kgj!IQ3=GqBD?hdDt-AIfEFLfjG zOACrY1900(E%-e=d{QE|AQau3?n|$u*H#e6FgDA3i zcn{($tW{a29cW~uR}U}P z%3f2KX#=XS)}i%R>XKBYsWMA(Dp`Gny{F!&4YXFVS5RWX8feAu{KVdqS3xTx2I7?% zOp%LK(qjJi9~X@MoeI&Bo-{s}nx|Q!Xuif$ht)LsQIK0IB3$pVq!}gjs=*YiX_NMf z<)*@{AWhdj$t|Rrh}oe%X$hmr;v_xB9|!o)0DdX{HkW^&EmS$p{g9PRqzvAZNKy1E z{nvVsVv!b~Q*WU!3_$7=tC@EyDB4s>GUP{p%?ok|h^WH{$7fcSGc_;|yVw9F$y};K zsbpyc%#E}{eLCqxUph2>mEQaNRI)yRp=dKBqj!w|z))335%~OKMf3CQAbk2ZB3yp0 zNOi_3M@qViwW@(fYRsW3M^XTANX<2$_MW0`Ihh)Z*b`FPrR+gJMNe~YV=4Mse*U=T z^U#Jp?N6g9uGwMnouY|3hsQmZ9VYZ;Z1vvblMzceEFsO%wkJr)qt*jhj1{*>E(?cC zV)*uNa%2VG9sFUk_Z;?q-CzP(y#G$3(92Z57e5~A73c-OQ}j4Z;mr>?7_A;(HF3Dz zM4p=!cc0 zuyVqIe|iSsq+UD$bPgk;QArX={rT3sf{4l_C?Q-ATX5TBJWh(k-)xTJ&))UXTh>L% zBRZ_@xMmv+K407pA3LpgEaFrkc7QDvak+ok+!>#_bC0 z#Pth#d|!9^&ZFnQ{^#G+)Uec;z03!mME)e*eN_X5_c9v*Vye4}|N2LLBAxNiSWBRR42M6I~^64193D7~zB2k&*8 zu*EuvIct~6NPAoeO1Nn`=jO=p;PBuN>_y`5En<5Sx_SHsHcCE-`N4AYIIe}*BIE~) zs93a(G%cyc{CE#iKIj*iwG5Eu@m?Np0{&XrP@|S1bHucfNzoN+Wfn9rqdp`GxXMQ5 z-#lK!QWaqqh*~@4|6B^n5rYus!FJn&sK=+ zDi~=%jUu>*eHHNv8?B^DZXOrGsKh3!%-@E`s0co4UnRPEoZ5o#f*EJ6*!+byz}kzE zCyGt875kfv(|acDgi%oA#3onmH+Gq1k>MjIkBQ6qUSXE!=0sW|M5LQb6zR+g{A4NM zr>QIzIMuzV^AJOgKFpM9Ypv9n!}^w5o^P8m&*n|Rrw_cPdxpX1-6t}iR17n1WQ_C% z8vhP|+=vEzL{DNsPfMRqO|Xukudy;E2>)X!n6YtfLb z8>#8uZ}G^4WxpVmc7p5(G7%<`=}jG}(naG_fx`SEoAcV!U>1gZ#&WyZFf~dTXO)?! zvw@Qa>#~_EY*;zzsvwmKWOZW3O5OBPgl#zFcNP$dPgMuGLuDE|ihj<$x^?IT4gdRF zx;v_qWR&~~(yM6=o$kKfQN>QGKwD!cY-J~@-_#MNOwhH2dpbGXlgepM@x2Ac@n=Mf ziRau+Enw9>?}ILhY)H- z2VQf{A9N75G4z7kVP%Q@ZWhBlLmLvio!7Bpbu4=S?N}7KECLlTjX>)lm92_JlOV@) z_cnv&d^<=uG3?TDKYuhN&=N#Xj_mJ$OdDr;ns!8N2L1d}^?tilMH+(KF*4*148W)3 z;ayORR~eWC3`ocr!gPl*=yz+MtyVFm+R*D*nutVv!rNcvN6#IAUpR13uxfSc>6A<(tHJjc5+%5NvYR#ngF$QLr$K2*uredP?{$+lqY$i(| zQ08yi&+O9&mIXk68u~YVpb59%&jeHwWeWX%h8RaB?$=k;63jW~xMDU?u|;00*rY`d z!i#`M-W|_G9AdSmF76V?x=ci^)b)ReB$J}9v;xg^nY6FAE(!1MOUXg!> zmcdvg{%7qXSthN8(X4a$+hyc_eKyliHxI^B{n&WYU_Ae72{`B-PvZX^Pns~Ef37#Q(bSeWrL${`Sv<;81OdEW8x8gH7@r=a&^Ri_yDm$M^S%*G=L zD$|as{;yp3!(30}x&GsQzyHDYB;a~zi%*IQ{wI}50+peUaUDz1(b{K4q7v#OqGUGu zD6CYQWC^E<9hW13ezM&2JBwup#u4D1mji8hS0Iv?9C0aS{{NPo1^2P!NK9gLKb?4c z_c6%KUdcJm&Y&e_;?iB7-mR3`59p`1h|T^$zj%wp902r7wn)u^Wofi@3m(I97D_8g z7=y&@l^lubST$a?-W5C9D%mYHUjgg2TRU2y@_(;Y#eK0EuT{x*@wV=36;p`Us)5ZE zC_LZtzbMoQ6dHiSn_%n6N}fhotrD0MDluDsto8%O?`XiWZ04|bveir5bJduqW!gTM zzqXUIjQWEzykEP_eyt#*o`L&yGQuwNOXKAh{1x*hHnccJCox6ay34K1yhWx4S_9Z5 zf!5dlC#`CM)&N#)eu1TiPzhlcyt>3@YK+))v{uDXWfaU>v_4xeDZ`Q^F-gnrFu&=g zCQ+FxhuC3Os0`w5dpz}=_x+(&75OLLk%Iq@NJW231cR8L6cN4pS-@Ki_EYS$NA+TuLrh*y zuwsim4lH=ENaW^*le(W2;89+WqrX*f&3+xZISDx*GaMCT)zB+!(sXbURaVZrUO zZ$WhV7JDoqeUWK8Lzwb%h{Qa@&$WU4SBcoa;=S0EO%>F~Yk(8IVJ0N>2JKTO?D6(z zC|FtjEqxUv6WmK=UmF~0`4*2YWO0tyUy}$>R1T8fqCPMIy zyk4LpSP{GzJf!a}gnbowfm6X#^6&BjMZ6a%DVCH-O>z8rpW|A$0j_nBq!3Xf(^jAj z@A{S6ioYN2ZB|3sKcMU>D2w32Y-v1HOlzqC)!UpTK;ahgtrCEcnWSbv(>5sMny<9- zU$&(9JWPr{Q9&NvK&$zPNp@@pT>>#gN=p*GHwU?Hwo>jGS5lb?O`WH8TG+K3Hy6wU#K4{zkHmqi-J)! zib7j1v0-P363HRScUP_9%(o2%G$Y8Cu{7s_IwECyg=A&*tX znG+6GvE}MPQ2V|*9{wLxQ|^yRlXi%8usP+EE9|GrPwd+M;n%OQA0tiWRQEG2_<6&} z5M6%?sX{$?7x9;ce#FRwXsX-I@^uK8Lw)ApG7LqGp5{jkPbl4jhIziK8*Ik4Lt$>J z*pony8t701?H7UOi)!SmYn@6@q*Le_G;&>T#gXI&7QcIViyO(WSRAKGgcwda2Dz$R z@l$~C=DEWD1P4a?zOk$4W4T|waCT8zVoV%MH{Qvoqwq@~w4Y1m0U%e%e~skEnEW<7Ac!`0sBGR%F`=@_1A0 zYfIdS{M14y@$N%--wG^En=9~{XkliG7Mp%dM+30`t6(IiAJXYuyqD(p>5`__f)zT_ z^j&(@6uckrx9JDlB=cA3DAR@XTddNwLKn2f;^${-(Pg*@*%g>QS*y4eu+)=1pQ#3m zWePc&5HQWoJ;?)*w;(21Vk+CH8*T$K!b9qXRS zNgyBY$?BlYxUGVob`OoiF+qOxLkd4)A9 z73L6K6>C)Yy?q5F3?;l(O{mJIU}>vj*W|yY8_84h$EocT{ExkI=vV@?f(rU-l;)cI@TS>z0rlQN17J1^k-@xS83p3)v8rgDv3YapcDS0bnJHwXfSr()i#Vqe%7AWXz?%>i|wYn7I`(u)cOV z#@Bdi>IDCzZ|c-Qi(gxmK#Lk^S=mW}W*Y8U$J6qHKuhX9r0t?*@Jy?ceiquE>U`b? z@va`1Hk^8H0!V@EO`QgC-fA60$AcVbpw)|=5{Qb1dtT)+&g3!TF9|2yLs=+(Tx09e z#@fBFA<&vL6=U6-J3V)`_mBY%8rSGJdiO5bC1>~fvlL~#lpSjg?vk?DPOp?b-A+Cx zWh)ym9raqfQFx!8&jz5czKTV=^CHlfkf%Vt z9rC-UW05Tv;wH!|AfE#HGRUud8H;*A9+ndU>mCgll8)nG;R{9mTK##w*pO;iYdCKZ zXQgIQ^gCSt_j-V4c(wySJ&Z~(&$^Sf#u2!2jYAG87*goQDo0pAl_N4>jicYjHEdEQ zXkth+Ge4O3$2?dAnIQ3y)fvq7-*-)#{L7ghlf}*FgDmmI7X%TEqDPcBg1FSOMCy3~J-T?mnIKt$rMXGEA zj!|%gB1({4mou5}zr7t#dv^}ep3XlJoKDeR{#$_yvdT<%aHp~_*Sv+h3*$PWO`s`j7($V!d5qi?CzGq`YzQm{LmPryYsR(TX9a)r-V* zG5yTWkjkA9F-Ow&MO|09-uy7+y31GV0#!33WtQW-RzGPMiE?0_Y9Gk+eQS2ujs9KF zF9!XBRFM;?V;PMH7e9K2kwix{2e$W_aEsNKV@)#5Q_8*H=C3OCTkR3GhfH`=H_TJa z9m?G&l(B6+`Lee;4B4mid|lxBk8_8VB{KLdV7wB-8iwMP@XpS~vFP`uv8Z%j1o{al zSQo!S?uHa{f-0rxqIt==sDx{Ni_>R`D&(iVrDuiGB|<6Yk0@tD1s4zU4l%gudNQ-G z$+%c#02#>JqfORpTwfW<|MrYPwo)+~w1wL9t0S8k4{^tb`nmcKY%L0-P0J9>=Zcx& zCI)j5j09G8}vPSu@?W?faSE7zu6CYFzIb4NQhD(_Ov_1iDSJjvN(E==YETnk9v1{ zGTX#_JPEM`A5TilBz!z6E0aPz83*yC%!J#6Tzeyj1qPrkpno<*mcWGtCapm~raGD_ z0Um6C@espB_REW>$+w`FfCp09Uls8@4_Ld=#h!?Y_s84z!BOh|-;)zmZuCbfPVUSpswt zTSR6l&?(wNnq?4w0n1Iey~s>f_SK8b2Y_0U2|s-ca!2}QGoNVFtX`^~trnG$X8b(k z@tFl#;-6=zJtyyrATFfJ`|3p79*+wthzm797ssa2Ub?dXCtVtWE{-M4FLsLy2{V3r z@d?C*s0`LB#D$_VJlFg5WSK~K!a!^%0rEH2pI>eHC$!9JrU#AnU~-PA>#3{1&ZMPi zqMB=--Kol%o3oectIKBM{Y$leR(zt6<9LW&{8Xf6JH%ycA!S31m2KdEHH5gLm@cI? z4{D!51J_pU%?bY`JExpc_-8_-Py_LuIQViMI(*XZ@1J822zW7dxjjJC>jsfXJd2<6 z?loi^e*X!9K7O;!D;wE4`|&p-hU>Naa&jx@=Im#3`t{Pu{HKF0_!evd(Q7@U&t0eW zzn-0|?3+V_AG#i&a8$zazX)!=%@Cup#OyN=)(8X-BdgJK^_r>I%D`DF4P4hhO2jCbR_b`_4ZL*yC8Z z0-su^YOG8zlJ>`T&(tq^yigb~)6U3R7~*qIl>b5r_fG_LPvX)?iH{F|LRA(O`T zV_v(KPN#QzMzl`m?a3?cxZc@{>Bqd;8^N2 z4DH#uMtX-9_^k}D-pbBYmua7>zET%=_zOPX`5gWSS@DVG6?T7Qum=#y57v#wr+cpg zei3BQjVtU9luVP%Pwa>@s$AQ6Jabibar41Lf> zokdx>CT;gp1(aszrlgK*ympjwQ=kdJwzXyFYG~@COLf$Id@ff)=P+THXtifmePYEE z=e8(!YP{zwxP^1o^y7Tztc_h5i~janEP7fWflfj?4axi7vpb`vE^t0XdFxN{qdp1$ z%``=Cq5aKg>g4l@>N9oy=A#6Ny$_RZM3bT>D%X}1u8Y%!46+%bvijBF@8Cfej0@fK z>Z{mDBlw8m@hOc}b;0v}qnq97y&4jHsm}j!;5LH)m5Xcs<0R1)--b2Uv#P$Jsq{#7 zN00p*@4lxSD~(JxBVuMU1Nu(Y&xR`n-{PQ_veKX-m=-n7)+zxWN4@!{`S%|9-+-g| zvO7#jLdZ2ac%_joiOg#KC+k)hWivDM*$k;y(V#JVrs(f5MB*L2_f3L0fchRV`F`Cd zj`pP0Jg$@MAI!GO{R}Z+IxBm6v_9g^F|U_1B%@_!>G2M|3XBJIN2a?U&=l5ukd33s zu3v(qXpDI~`#V@aG$PDG#Dq2f1NyA{!u zfQ0!(3VRd|_q6iA*!KR==Nr0s-_XWB+MDoE+u!-Nq9@vZ$F~&?qOMB^jj)6%mC#2h zBy|*SA!!eWN1cxw94?t-ZyT)VOy$NmbGkj^})!*=ES!6g1myF zz?6ECYLhB>{?^C#xuw?@+YgnaP{K;1MkH5gjcloD9L;Fd;nVt7vN+{X#UUQZ(mvo|zB_dM)jC zLSdNXsjHt0P@;t2e?c*yKL#-?S_BZ&I#2KrPv0hi52TBu4p$!Og8CMqjy?vZ=b=V* z9^#=wZzueXNC>r-cR^JA^8RD(=kx9Rcb4<*+iiG9l*Hz_tqE^^?hffGG3C7_E|!`? ztBbqFxA~Xtk6~EBkF2w!gvW5xcIYkpTbRSMk@Uu(Zm3(+gZyL9Px(HlngPMEGx3L4!m=sCM z@DzNKN`Gh>qu$02koz!Pb5=a%gRlZb@098Hhb7>%GsdKZrvyNMv49!3kf(@f+$sg? zFG5R$vw}DW(763Qt`dd!Sj#Hq;el(}D0#U5S~gmavACdSEgOUIHOpTQ;IHwn32WJb z%C&4P>JhC}DQ(f+`1R>g6qE26zYg*Iit31?V|m+J!QyvulDXY?MbV)u!X}9hQ;AC@ zJ1(+ea%t&BHb$9TkD?B;k@DauLWyVdA{(l{2oz3Zeo|ayjgTLNd;;VJkSwzzPy?jRGb50EHh#uI z(P%(F8oz-eQzO^29XM{dqgNRycNjU>u-|aUFd%DQ)_cw6?H9QIJ*pgm0acFRfby&l zvj4~)FbCTTd`>f&OVJ^xvUA!_4Y8fiS)CIPmIk@QWZ2fk^R}iRO=hL0I;_VSSmnh> z^-otO(a3eJGl|Y{59*AA|FNBuX-DmVoI4DL209*t&Nif``d1^>2h4u`iAvD^t{@IW z1$6ebJ&yB39w*m2Q2jf?p6H*VrRY<;nR#^lNP84vbO@pJqH#_w1X zO}R6PMALAOy*)dJ+6KIk<(<-{-(o}euF#21y7WJC@cBk5>8(2aM7D>m9Mel^LD$!` zqqsUN_7wkWJIwrA(64eKlbYI6{k%=JK%Yw_s^%O9>pPpd%%U@-TSm-cY~zb)6h~X} zer$)C)htUe zMce(4mPDu1;!^xJ;>|V*GcWB4(;UXBzlzR zWP3?GMY?E$JWYjeOMq9MhEZy=OGvX-CRt!F%W&oajy<`w-gTONaAcWAZMv5PVG40lO8%%N*=+a)%#_&SU>jmHkS zw*&5j8o-S)f5l_|0_5{9BX@1(is&Thp{7&zjEJ59{?XGO+TpGHsWV?62t1nG4!*Zu zVzM(t>HFSdyx zFY=^z4x>pro|d`?BZVu4t!Op6G=3}($5~`27`5Ehzg4N032T<3Uz@y_->vvmMaqsc zI)RzM$^u52NQl61GA6o)l@)p45=;YsaSrFzT~xpohbW+ttB@yi6~uM02RQ!&?y)U8 zV0h{Nu)J3_FQvbzsj3srKhQ?bC!)rCxW#u3;EPv4G*XVSP3HWMD%Yxk-}_qeJDr13 zxJ$_)mH%$ZHhikS%^DgadYaE?S@AKq!s!t7Cp{6gvS`vd-;ctrrY1!v_wNrD7j8@Yj z^q>_`S1fmZ)iMt1rb6A+M=<3CtPxjjys(Bu2}58F^*A;n+Pj9Nr6Lu6@AtbFS!ohz zf>|AYpc`K57(}n80}c*p4(-?l_NZDKc{QjsuxtiB%yYgaYyw_ssklacQ!2U|v?Iek zz71pfSDSofd9B1e3bY1(9w`RNv)ZT0gWN+1TkW&F-RfJjAfx`3SoFgS5$Ii|0<}Qy zggo}e2ox8kKre%QnqKg}%k&}t{2j$$+I4ybvqn$pGZy@_0!!@3En?G$mHu15M93{8 zm2`k9!+oih()n+dek?8aE0z`GXyHurF_6bI&8BvvQ*OM)W*(Qg$C7QjpIJ>YWeRZ1 z0w{B7Dsp{kEQj@Wq?Mv2ZibM%Dqt<4s45m!tZ~F{#2U&9CBxp5yMFH&wn<5+M<%Y7 zyZUvgndTgl336YP;T1nCifBWxgT%Wcp#}}~y^R_RD{EM;+@hzKZWk) zN@&qko(8**A>8fH(q#10p5b;hP)QR}WONFBgpJJaQ|vvKfaYXO4QX#+@c08 zfZNGk-?vNi$LC*XWojio6ZFZbPJHdPH&1(l?XNM1nLS$RjS5SPX zT6lMN8-GrVkzP-0tUuRLDs1(9&(?jmFY$&-kY^$x0pwXZA@JjOqkUF^;BA6|jTCHx zt8Lpoe}tbCuJX)a`|#3xx2-Zq?eXKD;_q&?4a;5SnaBq7ch}l5d`{~(b<}#Xc_hek zoS;Q>>qm82z)p_qkNz5qGR*_fyCBbtr$wN4NDm?TPme&0W5bb^{e2{ncn1FCvt{Hb z;69ZY3-_s^r-Z%qK|7`>%*Q`zLK#%`I_*~B1cP;2h2>hxnTKc8h(FH&zZ35}X#hR= zeQJtc#1dmRXxqRi!ua#YAKEbhq3EymF!3kwX#_GRK(EyIVnXx={d?dwVXtm?CD^OE zOH;6KG^$0cv+2wA0}No_D)IjH5P3gGHl5DCqi?FF+@T~srvj<&fcDc5_dONBR!Pw! zp~GE0Ic&v4Tf}hPhs$UT&nLE_?ckBM7qE}8+E^df;{OxYv=lT5xs52JUa1t-pg5Vu_xt+0%*G00u!P<~ z7t{II1DGn1?J_2vDJe8Fy9#d>l6LWcp9+s0C+&o4c7(ijwF||)Y+b@Ab%0$fGv!?) zT-B_s4Ly`Jl`mJ&VELnxXsPLG&+~ORK+7l5Ke1GW#H}PHCZxhz8%yN``e)#xqzpVn zmQY2~V$)Bl@m866r*@##k#ZAOXBpqONM%0WS9j#NpJ`+zf>`2N{+$NGwVM^22kRid zFky@s7v5nD<2wO0#0Vl$Y`O{k`t7=0n=O@8OLjaS8Bv>m zTLDA1`Rhm~z^x?A%(J>3;|aQe!B5=0k$}id6#tbu${a6zDDa;&k+dxFPMFvv0y~^y zmD&SH6RT7JSwN=0Uvx`FA;~wTS6Nwc%vI1{dZH|w34Ct2u1vemlBHjL>J-f5-NmY+ zZyrij`xjql1J&Xkcl3VlPy&08FW&RBrSbb`<#YI*Bce2->TBdvsTHq%s_ zKVAfqo>C|(jG$mV*{cfA@Z$>8K`C>M5zhabl&t@oPBwzluhPp;-w2LH>J!xDWc}ZD zvXNpaJBQDfu>2bAeJ3VR%{9N;;`8h9FSRrHI~@Co!O!EGGh6J;!^)4DJSG~VH?f=I zqqk@wdb8_wsXeV9GFL$3AHZ>1U#@vnOA)Kpu}OmW*gkxI{G>mTV7C8N?m(j`g!HzYx{S6*HPyZME-&-Dci-hFJAek=dP z@-Rb;IjldxRIxH6_xPH3Xir#7-{!$ z9)@u`p5RtFi^sW@$5_&dxg~RlBEXQsHP7SsArGX(D+3rAA9=)e#kqs^ar_wAjE%IF z4J$|PP`~d|M_O+Httj>yE6bO;DbX0(r0s1bo|(z+(s9j#^NSV)!)D5N4(7I~Mh7z3CIWYcKpofx;PZe8F;?`=>x-u;Vy-?*B zVD#)}&`okIH;1^!T1?F<`ducK>CyL7ZKU;uRE6~zj8<0sPta|rz~|D?GhuF*w96{z zFpk<8;0J>>XpcMP=cdq`3_kB>4zrN4@tBiN1ku=nOmY9%fua+bc>QXR<> z-aN3WDtjEiZ^_a&Z9`iiO$ww5EnOjPK?=CgBz<%N%cegBoq26RZwhKaoPmN;7LkfN zm4X6wLF>XI(twPhVh~WrWoA-bz6EiNqE;G#MkIM{w%@t$rKLsZ^ZEXMf84yh``+Ep zIrnV$JQXLEc>-^amU&n#^N$c&mk&ZF*d?hPpq^Faq}5Pv2RHl-oin^W90XH6HIHx|Ht*pMa=LbnyO28z>qc$60}lnd53-7W7C#@uRXv0!zL4(&)}@mZ zhiW5#C!fN7+evLNaJOP;xosbwC$_LNfU-`zzJxd1N>wg^E|Zl1WI*iz38>*p=Lr}I zinevYtaJ|NNPB0Zt(_UzT2ngy816rkc9g%7Q*RA0r_=G{W|gZI=WNmejLF(%;x}O; z{)fWjVNBhfN`QoqgD8_SP)!@{R13$SwdZW2TC@$+_6wN6AP&=eW(n*=U3e9q4RXqS z^4+E|U^q?hV+3V>I`c;f;dHp`?R^;TO56`uPRB%ke27Tm&8y)zM*NL!hKC%}uxdyAE8`=v|9I2GP%=~eES3OitKw61Nv zF+0ZjMu%hJH$6-=P}ZI}_^%6-w_gvw+G*n09T9(8faOR$Z9;uvSFhVusy`bWQ1ZOZPSE{wzT5NjX9d-UYj)meS#LbF!8YU&OhY&MTStr+uNouMw( z8f#6e{~EO%WI;-2TR!qC;-&!SG^%%VV8oXMLxo=Q{i@c@vYqR=WNV8RrRxRu9iSjV zLdh@mLc6>AEQ~x)dLr2uhkGLvzdB9b@L}h9{Q1%Bih64jPQpyiq;q5X^@3A>eKCpX z1y@>A{eS8)h*ID<-^HLFVC&()Xm>g%-yZS5E4K6|^aG%a+Q7#&FSgC&7uy&fS3`RZ zUAFQ2s6s|)8_`w0+eUVvq);yIvb7KovoplD{8cbU)VxLfs{$hZ?^THUQfWo!dL+N& zf6d558)s&s8%sexEEV+{(=%c4*h_Z-H_}ATXv$r&u*zZo zn&3?6;{&~?XR>TfKoEfUYqS|283= zqec^MX;;7w_}quh2fO_CH|qCZP+vSeF*Tl+N?uf7=sqZARLwhPa5%u!X1t`@x&4Dnuh>| zn1|Izb(?Y^2{k>fSY?<8+S0e2AFq29_s2}fw|Q@xVDI=5GZ@b7T)386% zI~5@Rig2(qE83bGc9(sf3-O*#I_ks4;1q5F-U5_!r#XR3Xs^WSK;as(Zd1&r1yOu# z2J9y?+;Fj7vKI^sOJDJOD1!9%W8E;HPnu=hY1dt5G&;t;%mQ^!P34w&|MU(uKF(^g z-mBeejy=1P8^tL+GS%aySI!O>s816h`8vCgQQ2&}D(ADP9*AgvP*lJEYlOsbYA9du(ICBc(z&1-7bta zN&dBuJLTy#(Eit)B+6v(rOWl9OP%!$N8)`onRh$Y9F@(qAM%(J|KUWU?&Qie6({Gm zK))mYA0sI18zHOV8zHYr#=Y!8to$3Ig`NexrG{hVU_)}g5y9>sw2g-CweeB?KX8Bnrym6$vQ+h*L2E<-OZqZ&lZ&gsQF|Wk;OUc*P5& zdLQ?_XHGdw1>`?70r~A}kiC)wd6ObAm^F8R9;H820e4zkDU??BJCmr zHG<+1iDLz_IbCh8exF}geWIGKk#t%kxb?P2+v0dp>gAcbL@pPkm0=vpUF0GhnJOmU zt5niWC0rTDG_%dJ=FPqrLu`v|r)oUF^H$ku#*xOeEo>3n%(%-y-rDSYDuhO}E#C;L z2CDge&d5klEUVgtn~?s;K2)OKF0O${X%1!c$ zg_&Yi&MAB@KhAf5m>R!;`@R!oxR{PkDvxO=?@r+r?)RY_DV2*)Ie*aP@dRsQTx`o! zkaQS&i?Y?Tj$xZ;c!x$L-N&fI)E;^-voGRb8=!3VlF9mt` z_U92Pq7vk!1g?oYemC>DR3S zdlThWji9z>;C~)f>t}ekhmXL1A>&T2MMj3V@KnoskT#15Eq4_0cAy(3-!=huzZU4)IN$#X88J0+pBc65 zL59r+$+MN`q1F#zFP-82TlhuXe)M}x{DW)odERIZGHm2*2t+2{L}I zEg9}qyJ)x32KT$Z032<_xejQ@MBVWBgNMxTyQpz;*LfRoSJlS4DOO_*?QVs;*6LcD z#ld>jh-xzVRtHZu5>DjR4hc)w9A1xEZoeQ`({IFk<+2AHtcij5aPXKQ*Pm<@JwvOQ zZ^)TA6-BuTFP%fq=0$33tss{y%#G=oFV;><&4|`cpV5ojF*a&z9O_>uo~$@^k&Yua zJQ7n=9%o!$TP>?(y?T0;m7J?w2T7uXIFOE{a`hoeKSg5iJkrKQec7G>9_g51vJVBm z>5B{Uem_&Xy_iGk`R-A@>w=$o6bW{2RPU3*5g0*LmwPGQeotxq8P&*Y zzXuSSa#nq{!BpZ!RHB>QtG-F{Af?4a#T>cXaLYv5pq5h?lZ?kDcL%O9|n0_O+`E@`%{p3;5{IIMUX^8Qc@0sh#i68VO za)$E}NG2%p&!D8)@3SncDLv%A9VFit80vp7DES4-;8`N4=g4!?lfA*LI=zFzleiXK z$Pw+^Q2%bR?Om{gNBloIe_y7lzs%SDWu6>V=K5azHF%%ci&g)n7xx75?|QK)TB9=B zi)-Da)tis~uD{VoA&K|}qC(s%!yb!##PoK>9R-6ZB;^V%eJ5B1YQ12V8hxjY^q@N+*-w(WE1lvOdx3(T z*YXNWz}!> z%TP1Hb7UOupDGj@Q3k>2+J!1(#==(?{(W#5W;>al}aw6(w!9Me4VHu?5Gh6S0 zJs;)xPee#urXw>?3GYJw@tGThQ}F*EkUoRtg7k&`l+eMGSts#udrSZRaE9oI;<}(I z9mRbB7>&lDjLLgk19T%3P;6-pu=gYc7y}cKEw98$x()Xw&p5A5wn`k{KJ&NEjY~fC zFv-dyxyP8?;atD)R($fl7G0Y4(|do=8muVih;z1iFTBUxd(uNEDGM2o0p4R4NqhFc zzmX$RkKHEc=mR%$H4iGUF=BF@__|L>seTke|-T-MTH-5=be_r4# zp#x3g7;F$Vx@r-7fsf&k@zFNw4Vj3A65Lv6?(Kt{NWM1l(qD}2aB#sTqx!6nS@beJ~@B8paDdNxn>Ai0uxqjU% zMK=>H$k;9%(Tm>~wp;l1{7K$$)FIe;>gE@PujTI?RtdpVXnuY{!QlxxUW(AJ6fF$gSkgFUhixw7w}U zH~q9w;bAQM_|_%&@wylf&w5YEx50=vLINmh0w`$!D6vb{1SyJ{>_9wM+)wfT()*@h zHzgk>RPS@gt#CbJddG2U{8p%e$|R>S)NU+t^i7fHqUSP-pp@`OvXKuBRO~U zn#5>kt_#DA$rdAUM9WN{Xtx|Z2s;PezQfF(NpW7vqiX!wnpdjSC0H#8Lyy z4D&x3VZEE+AK7u!!i1kvwjYIGnTz#qkLIhxWJRc4W&7eyJO;co^?57kDN@4Zs>Ya$ z!!5S$)4n0m&{KtgsrtH2fU|lVe(AoaNcHVQyOx+Zt+n<3lYni>R$WZ%JwyF(^hkT2MB!FN zh(2BoJpJwO)t=tsx-v~0v^!63^0?k=k=RMIyHJue$ zB(-+-!m!e_0yeR_YL85|0wmAl+B)y_u6bQCjDj24epV<$D2Bv17NqElvH3pzC2~LU z(rfkPn+GKSqf2ANXLa5?FU{aR^*|s$E=*50#Tyv2otX;a-SvAVuVzc>cgw7j8{q1JmZ~8&nsd% zGho{LyxIgbTR=wEtD%XvW(_%^QA2ivQ!6sWZ_H)^w_4J}iczY*7US6Y`{Tf=0sjf5 zz9^7yV-vcx$JZ!m#_s}7WU7sPM-hvdsI?J(`|?p%Sr^A)qwg>6Jv z{&R@%t}6u@_gg0!?LP!5Vx43WA<+-jR51rFDWS!fom?}#^M*hqjy=BV0`WTC4){`P zOK`iP-#-f9VZ#W3euh~7KMRug+I)qAj3?N)Qy>!fd~OaryAYPF1byFJVK+b8M&usC zGnH}b0@&|imR`7+*FsK57)KcS4k2Zx656Ahsg~!=X6V0cFN4`Vy1MPtIs_FWR%HeQ zEd6BxU;y#Ml)$SIlQmm1^jmtKtfMo_mAPvJ^0Vp;?8d+NOSB8leI zkh-!&I<=$bN_@90O9kq^&b+xq{AsWXlZmjRyh>SbhSq9@8E5=Cdi|`)Y z<2^m2W@ZWb%JZ^?@I9%|rHIMl2(CG05V)Gd$u+j>#fWY=>-ViTcl6I>kviemfQ zsbqz|y_l+#R_Vn!vT|gl$a*HUtm7=OQkyxlX3}~!{c<6(P_s}|>P52BUkWNCmmTP~ zUrd$rjY+951sEgn+6Zk~z|Dp+%@37HF*5%~&j0kS58-M^pUbL<&)OR6Em+PqiY*Z9 z#T4vl8`o^wS9>9ks(?`t3xNgdiia`W?V6v?w%G9rUBgNQfV}0{`%3&Qo20 z^;vohTrRiWHzY!8aYa77pxVcX)(wiI+=Tj%+c`zlLFV~ByIj!kJ9X;~ndt6GnW%dl zZ1pA`%8I5NAt3|ZK(rjhTS0xe*1>Ly)%ESDFPfES825{28SJRc7wa(9KozdzsUiz- zp~Z(&xFkH;p}{h&;dW0$Mk7z@i;t-Rmbwp*0L*(D_EJ`q{nP>U#H7EnmyG@TZ))IR!7VH^DW|de&~l zY>|=pOxRQ=`!u;ouL&m%Qogal)>^G}Z1M?W%*Z#reZ2cGfLGJKd&82XO5{6YGv3Y_ zu^#Yg9JF0*om#3qBb|v?wh&(tly$k?(FRb6?Sdxr}oF}S=eAxnoQOgZFxTBWlC?fveUIuj)hT}qN5~yNo)(TyOL2Za$kFc z#CL0eJ@Eu^ixGceq^fIAOpKR``Eze$56yj=UIw&=j6E+>D~^4|-1-4y&xN(g<-ZVA z?w9bgQnhQgz)s1+Rb9zT6aqRvNuyDf*)_47?4L&8{H4?Q5E(|aL7bCnz;UW2FydmclNk#x_3`#7cO?3$J_fO7fkoQAnGqpEbW7p??qVI8jV>X zujq@HOEBexs1YRkK=KWPhoMYHh5azGj3whY+TywV=Gc!HXjkQuSPR-SqXt+V^3RPZ zXZJ53WOEqqKNZl3HivxQ9FPWv`+o?fx*PDk>w0)AP;O)OdDu;JF{N+i7vuB%K5VQ; z#(n%^K9?V8fdK5kNGuSa6=b5B6Eaalo({c{C)vVS?oVZZs$60HXx>u-wQCA)13H=5 z``E9QutMvUmeS#;=RuE8&Xerb&ow;r_*eSd;+o2S+Sw$?Y$R@$?49nm}VME~S^E$nKgAFfrEmw}8dHcty?%9c$^LYdkAry^(@s z%US7p;9(>Ay}}RyGOjaZ;OV z$;p*3;ptrr(N7^$VEOWkEE!l&v(PH^U zlgNSYv|h7sozB%E9jr+cTvgKASmfOLvi0KHINGLQCZ~xT*F3JHp;DT|taHftaJl?- z!vNm_Jj~TfVO-Tmrkv^Sys5CwF-uiBO4j`*OIW+z*I(hVU}+Ixsh(O=z;LTmKjQuEQL{sU5{G0al(-qN{j-8tg zkWp+HXww|-pWHhm3K<`V$e70WR*3DK2rb2HeEGd)aQ7#7i@f&B=Z+RfYubL!0zHOW zqWzsJ!s^i8Tf`o3=*+f4Zyw($&<#Z18s450Eq9B5^?`|E$$>kzo|`6?zuHqEmS5Pp zyEOaEi2gD)2lAlb)359Ie|pA5`+aZd&I;00!84anM*PymD8k7M4S3^DxS1qJ8`2Pu{e?w{- zqeEY1>(EK~|14ZTgzG}Meht?vkX)Gr=B|`TUZ+<42!7qHa_O;hC+yZ+$ZlOA+LqkY z)DCuhcPFKn_9**dG`bXT#D~pt*KGnD7u~h3zD_aj3(!wxKh2#Abhb50#acxw=IJFA z_3kBoboOVF&boUgI(swmr6`diaP4lRo*J_yjYHXYv`;FR9aw2iHWYKo{*NOQ%To*_ zcFS1bM3A!>%)Bv2P^Fo;bZfD9Uc^*x5~Ip;USBVRW5uYl4In{r-oN(}t$4ogyTEgT z$`o)IF_gQ}XnoH1h-06v%hqgGwCCb1Zo%Rb;H@bW+s?Y@r|qp?4^UBhRD4^d7h}#+ zRI&G+unFp_10EwEXpdy^reUQo3Z$2GWIaBCn}Ks;9I54Qdj7^R>?HT2}N+S09#gid`~eoE;e}?c}~i zd-BTP7;VyHu%lXmlT{bAn#Z`bSXH1-pahLdt)hhCDs?O+41<3|^X6k!5qXj#K1mjz zB*DKSd2<9dk33O}PZGr^3GgpI@5@fIKHZ1c<5FBuHD9+yU2l2JOya~RaH`Ldp%y1Q zwETR2Ctpjv+Px~KmjA82+)ayAca>$oc63FvS=q5ytq9P=7oZo+#m-UOLp|{fPGyu?nSg@H0UiwL8NlNthnk9Fv-3(o?vCW}BDmYCMRt7rJIuB7NUJj;{Qz;ns5H zexQv_R1@8_(wY;EjXcc%O@zco&iB31`#;AMF4<%ogwgs2Aq!F& zr0IYsKmC}2nuIb_vSYf5>E@1*(;&oF&(xC@NpY%1qtOxn%rH6e%vwp#Xy9OoF6f7d za{PF!-b(CY%nIVu%t8&r2gE0ciP{OurbPS~BfD(CN!kd7Q%yNvO(40pNc1at`vvj;|&0%XKkv&v(@Tjj8}t*=53?@uA@W>Aa>66d?k(t zdH*h*N14FIxw4?9Btd57c|HFM%>UD3gv{!QM0L86F}e~&t^YO1=agqw&rNdhu@HBSI-XFjGqjEcmz zR~B9Ed_$Mnt&kU5iRF!Pk@e2z^4zVk#uHsik+#=3T1Ea$x>IwN-m4K3^P-inB^Fa? zE4kupb+ei6Sb&}b>>nYXZQ@HWqAYlKccg%mS$FX~|Dy;^L=)x<$GAxhL&|8hvu-V{ z1l>J5l3^$M4CD+)B8h}&Y9!iuj_4*EVMizoP)6nJtf0OL>f0UhFNmabGH)5o(Nggn z11S-ice=vF(cRKF)6MX&J|gGrN4EjIJRzvj6G93yI*K7bE%Jy^#*d{O zmUgEDZTVa1dLqk?;68B-9du$gxt#4kF}qMaF+0qEI+PIQo2q-r{jU)cKVR-uGbBbW zWdzQBnG`1_*LUgiIG|8JWMrcI05@Dl9g>ZPy?s#IO#t%>PQ{Ic)`t&jJq09;zSi$E z5bx4q{^pQ6%9R*;$o-*6;%5qPmW)^tC4D>T!J~i;MbSRIF7^RKAG)(L(QN3$tB^+Z z_u)`m0ra6v-!}u=L46oruI!(I<yPu^Xv@WP&M=U@^sem6 z^CFK{0zDZ6Ytb6zm-QUs)rR?1Aw#q$EkXhJuumQuC30h11v>pt!0Hco*1B+L?=ZVk6&ctkf6LpX`;IS9?tI{1$~*wWdE9Y zji6GZ+*me%Jzymjnlf4`)7DK^k_)`DjyWrn2c*z zP!(O}aROQ8<6+vZF-81M!Tcz{k?T8tXSc5SW#g55DcSD%!0hjs9ko_T$q zmiydj^j+n#10qZmiaqQO%oFGL9(Nz$71?w`r2bGQfoA$BIw{{|1?zv9#pqpUYo zek%xVtE?n)v#dE_Rk~$kZ*b*zuw$pR6C7Cs@?PAC7tFIhe{994D-uXANOWT*IU91M z^yf1<(NS$ZheqcO8qqXyM2~``Jw{xuVG#l`uZ7lhD#pgRa>mAq^;d=d)k&_0!=H#( zPx!;mq0u_uhjoysI3gj|2c36SH|V}E{A7vlmW)d=ld1~$dmfe9^eYtet+Fu z-)iZE{NHv>xVCOduvX8(nmsm3hc?4?DqK;zq_-%ql5s@Ko4}=TueNRHrr>XcBTX62 zgkx_3&I;|?K5eF`*^>MOE4i?Le+Xq=YG3T`f2U#lw5e9QDGQ!`6#BQQ#Y1|umE0}H z>A%zBrDGO&kKFnx4w+Yt3anIjSI`LDvytCx^S}zLTaE%S${vO*bEwLh*9mq!ZAkVXfgL2--!4%4jHtwz>-*xDOi{ytoLHZUj={V&i~zW| z9mg6i(U1<7%Z`IwW)!&=wen;24)e=ccAA``A)NN?h|;Y%gFGjh92?=Ym6LN|J+f>btRBDK zJj|6MDDqMSWm*zz?xLzw1X-T4DAtl9$kUYLA;(}5l<-`Y$AIMaQ|DkmOXzpL>tcYEj zU^*tyj=Db&AiWWj*jrx;YPSbJP@0ZYK~{ZGQ`MEUL@rRrhp24!A+dYxU3LRbU0G-y zveW?Y%L*Nuwz*~YO^~ZBH1OYd(k(j%;7OMMt;j$;sR2A8-|$Kz{sRN>WU8kRPhv-8 zqHSq9v?Hw#PxRdk>cf@zeq3qj=kRHfnpb)od)@u`!$$FEji|wRdqE%m{71x}#2l&>s_j(z*qr@60rpc%qDa+k$+V;bRZO9P!kOxHg>2=_tiz+{Yf7 z?1*Pk;x^|{;MA#DVlll}^S(!>G;_JWpSu2GCE8Mz>zG;Ts>KroI+t;18)`9K1hP2s zZhf>CZ!aa|s09w4+#eO+uf;q1bIYLDslCWZxOO9N#IN9s+QiC3&?@tJX=$;uROH%G z>AfP?{?DF1N#s4T%^UupO~AohBs;_h*d?eNkXNIK_sU~ROUJp++lX(T+?BJ5lsa#t zi_TXwKo_#PSNyf%+)ejwqKftla?^*7D~iM~rMDF>;_*26{c?D}G7R~qzbK^=KX$Sc z{uwgMO^=nOxzef8S=EF#(uY?fVH_2_pBg%c+lcJs(q!?NbvX0F2 z>UFUkWLwzgN0Az2j7o1_55R_%YAUuePt#AcO-zeaFBARx2-AEOc4BG|aK#a3C*4AA z|6JRme95yOo+uraUQ17u&W$2GT=A_la9>>IxO`&y$!|{Y7(c)Qaof29pk2j-ED%He z>m&IhrOWdr1yt#hPpC(=w5eszYP6z~^Zt-i}y(S?+!A5!*+$ zZw1$`N865>bGbjeG@FoNzkm>xdEByJpd0q29W}>uLtMF==mN&taxgJheg^XOMq3R~ z;F$JAx4f6Rnq%2=u&a~g-^6)4fvelD;f*%7$XNY(=TDgRrqIvp4yosq$~x{yTYxsh z`o>A?YpLp5A2*MaZ6V)VtMuL|tc5);j%GNjiFt~gnU8_Gw$EZ($ULz{)E=fe;(sH2 z{o10e7hILzxx%y2^XHf)KwkP- zg+RMYAdk9%EzIHBqVGEU>~bpUd_xKG$4TL~bJ7knCTfAr;uL4d9;1YQekKsx-W!enYez5(e;b?KZy)pKf@qBM+HvglsO}~T-U(UTiNGyqu`GYmuh`p~fQkp`1U$8ti-^oM+@q2zLvf!rHHgsu$ z%*R4;KJtL`IRNi`s~cA7RR7r$@;5{x2Wjr(^kO2BYz_I>ME*z~k-Q!b;EVWxIR<2p zVi5zTfJ~A$Q3Fq|^jm3=^R0Wo{=52cOyxRE_!yRBc(X&Ypr(m7&Rw{|J31`sDwEp# z_?Dl5Z>jKV#Qg5V3ND@lzT~(C*Oo59YFFBgt=_bRQO>_`iT_GG_4LmQq;V1r=3<;S zWikH%=joh+Z{+vl#r!H<&v)T{{5$w<-or1(xqP=MM{K~;a8AW}U5k2-WwZHFF|t(b z=NKy;sQX`m#iAsU#w>>2^d>h$zIaIepnX|A*Amf=sC*XWiFed=fT>-Go&}1V#vym= zbl6XyVw*=h()7Hg!n+|v)-lb<1Xxx9`zrGc{S3R6*-q+zJ^;I_SU=fSv&3EXiHH>a zoXiT-+|xb1%i{KxvL&mKKqL!LdIKO#4)>oX@5_lS!OW;*^X5^rAo4#^^UtVCNU#9+Z z@1tRbmr}@2lUS{hhy#&WeBGVoj>Kb?6{PbAY!_@F>l)PsbI0J7Y3V%ishisMBCd@4u;NK(Bt4sa+ek8&S(nDO6tyqzl ztnhv<`fNS@*+4x+h1V6h7C#im^ipeOuXVn_m=d{i*e4uqiP5A%)l(MC*j~E;7ig)zU1*hd1s%-Q(8x3U1IOXo)+!jL0%eqCeu;X z)rcy*fA5uZFWSDh&DOr9E#`838$G*hKUK>;jq=y3GiwOGpX-%*8e?XZmbw2UqKT89Kkt08qq(?v*b zc)kj*jgT_`z;Eo()rR{;&#}+-zw;cMcb(k!nvfb@pBsW?B|hp+bvM}NU58TzAkQ0X z&R4fqi=JcEi}CsDeb`v@N1kIjzP9Mu^{sK4Xjozz$f9PXFH{qj$juP65p!u^AA z|KO(&5}R%It#3qW{qP)e;w8UX*OAdbFKlk{IRnfKJ789dfWGU5k>b3J2HeRIVRUk@ z(XHh2{dWelc;ia4i{>tEU0JhIM+1ymz6aiSAD{1^5&W4aa#_B=ESObI{I&D_mLRSs zUS|3Jn}fTnuipVQ;%qI8%|zk&Of($kX*#6TN_&)teWT6cZCI1PWhAHjeCUAn9DXk8 zx_xPuA;s^EB$P{I$n||Jo(%d=5A9ydU*GC~E=X(iZcHZPpxr;m>(Eh16p7(>m^LMM zf7+`e(OZqgBBiWQA0~ElmLv9Lnr9v$7Ai^~@n4ASswR~6=8q(LYXSOz^rv9A=!vw6 zI|F4(wj4j`Z;$vthj*hixa3WEN)M` zMk7*Tooau0KQ`nZRLo<82;OBiMUSSBW0A~2RCY02Gt;0?NXe%f)J zfj@zMoomGN(+qshs$b{c-z}#V#^iv)Xuz|8LwLY(hnds@dyS6lGYft(?W^lv6Dt?! zU5Y8cbY`z6v*(zb%B?pWFzdQ4ErX|u9CQ7hgRLE7{9gnIYH`;ZhWJZDdTxk+evoK! zJNl{coj;F>%Dn3ondskg9r`hr&?wX4%9ScnqGfA8TlvJwG>f%MW}IFhUq70Ke~Uh= zZ>-OQJZf}ODmjyI`~otXjce0Q7xdb`o-q~V4 zIloZ~5`tzw#&VKgLi@)w}(H=&&S%R>^4vjY8(~M z4e3B*?#4Hh2+ZkfL$>en%YWtH;{Cj&6D8xm++N(T6V(kFs1wapU(<=&qdHLqMRcO& z-j~9XMih;S>O`Nv*2es38eaq~ z2VWGa&|Ly~ekn|1n4T4sQ{#4*aIA-ki}+uTzOp`x_vhQ=)mR~01VUKW1YeP^`f zvrw`YO7eqzjZ^%^!9R&3$nkw7mMjb|5bHS}`KEJ5wCpYZhYz5P+shLU+#~VTV)V~JRJIG2XraMXO<^^iT zE02-2WOp;MY|$L6tl8)`McW*9F5X)l3w_-}ZK1a)cdRqag!aA*#O#;}T;$S7T+19G z23GoPfaHflY{u9 zookb$dlZRU_$F|!MO#YnI^Y6kYY$!(*2qpHL+rK`uFH{RkNju)0ImmJS>I4z9=m_b zAU-z5ZwZu2l9TUrI1A>iHguo68Kmzt{!ac`{!M%Z#~paq{3zt4xK=xWYAqnK(9bB? zFP@3Y=`8R^Bw~85Z$j@OtS&mlPj)|mbIX6w8Ugp^UKM@4rrvHr=_9BtPWe>KmU1r+ zGO02v`9_SqS-EYqBX%cSM9(6z*ps@cM7Eu@vtDdR6K#j;RkX-nR~MN^q;rbqh`3Kh z{JCP3_G0d=qRgpkDYVUVE>O#h*g_+$ak90jI@hFHlrOkuqx~w%7wi)G0&>E^O+c9(HwA?^T-X~hfFvch-f8djQcy8?OTXqxjo{1UDnF?(uKM~K>PT)%;U3NI z0V`FD3o*bQe^1@Zb+4IYTm`t8%LeW*y{Aaj85jMb&e&XcO=sL%Cu!wcYkE5Qx^i!< zq>FLh{LVm~ak)1fwROi-5UyI{k2Js^Ap?;%)?Nk96&v4&rP~cW*QGNQ%2NFBM<2LxE?}1tbtqIPXN5< z`4@$D@mVAC{MDfbP6jexp8w7eGFUhrm|7nsJ_GEFzaiG4t6wJstx8)>q967m3@ZF#yjYXeOlHa7_;@S#Pp^LNxjvnfs<-21)|_PXbu|9$-|ITxsY@$*r-pWqHiiA+;9!|E+xK$U zHC^YjKnD6X42jaA%ONcyFmqynoxvE@1rgr}H|$;AJrc|qjt+*IAH@8UuJy^5t`laO zw@>>cD;2~4Uf0lPe@YynPtA;;Z6x-mNus?a=zqPJ;Or=O(Esn=DWV)igB(Qeh#WM@ z8umZdD_Nf|;e6X0qE*EN`4Rtz5hG@AUHB=ioO7hLmNH!Ks*6_?bD)O zP&?JeelMt326;hEopuD3d-Hqxyr3Q(-~~lH)Z%FemhNe1JR2DjpZ75{{ambz&DS_* z3#{rDpp+VC7SB$mw|P5jupZa)89cM)HQkF1aZ(b2`pX)*TG44hj_CMOw zMZB(VY}CH2Y*fE!mVB(p;m>thf z^bI)8knPi7=(Dw^^<uw6*AC$5iOFweO2tJ#gdO5@vJHL-YcE} zi1~*`dt6PK$obsj!#PpOQ^k>p3*JbBk}5t0*bZ z+Gk;9p-Oe9T^0MR{fzxG$ScW*pMbrOYF>ven4F+^LO|-6(?$oqH|YX{h<|x4KzJ=r zyKUTOzT6=B$~2MZ^7?6ug3E7C;U>S6)$e0G^<1VzOGF-*eD`mqHQ9fE*bwE@!aZ#I zDxWPpO5~~iJ?XFl+EAK!*DbEZT45w$!K&z)fK@O9@f_vZ!0uaVTbZ+Ro1kzL-5X^o z=7z*rx)K<=JCSB5MEu($ub6*nzn=Om{FzXnVSbqN-V9U;v~dHZBar^JBo*fS_yyW{ z4ET16XV#IgaJnwgr9eoHLn`)}mCl#Uiqm40frtZ9H;_03S2_n$6mmA3e$3ppvBunG zHC|`w2E2(xC`7H3V#JJ}K{W8h4%lY{{3D7r(60XY%4CbBiyeLH%FL|S5`M3pKYo$E zPCGxwl{P@fnL*;LzQGQ#CgvHE{d+<~MJ?C}LyqrIsFE{t8+~gdL&_NgS%bZyNw6Zb zf+jB6|89hJpSq%C*>!_$fLXq`FH3vRf39XAEx_}9pyiK4x*%wyK5{$95k!SDGtU zS)ZFX9Vo$pHboveZ;`)6*Ku>dH|pKzZUpEk9AH%0^{DyC^y$QULUX1rXH=N~APSlLQ z-bS6}tGhI=e_k%hugS2_2ejz6-vIyN%0n6s|C+IIX%8Tl|EQUdL>+i0!Tc`Eg ztu=ZKtGqBo?ADt9Vz-teh7r59CTh3d7XIJXc3J3;*VcZRwOMR(?pbp@ca0O1S}3vs zXI^bTrZSPpu@Qf>Q`AXK8_5+`%ET`ZZsJCP6qv$kB|qIQgLT7gq6}Cf>V^aUoG_6A zZ*&jjl8E#d@Rx=yqE8O-(j|9CHj8o@ zy*r(&w`ThNgZ$KagWA84NCf_edan83X89T}_W9q|cr#E_j~1o$X#b0EdLK<`7roGv z4h*I#ANKpE55|$i|B53;*Fm{5AmK>1@0l=xaysxo;mD-xN?+*Bjh0>^mOkH0a3tHe zG)$h-AqhvUq5lm>o(uio;K+&Kf5VZEU#{WEC(Jb*=>-~I;Fae0UHE^cTZ_DK{r?X~ z^3Z>Sqx6sjM~nzZ>7hP2Iv4z7I2srH?{M_FFxZbkwh?aWVH~qda%WnfP3`!?L>QD4iYG&bUi_;br7}GqZY%gIO_OJI6eygmz1j zXvyi*la2AY+nw*vrHW3jWmXr#JMViK)j2O>EFKlZEVryqKKj^5Qp&O%dT*%u4OvWw zPc;(GW$m3Oyz#Oo8dHaQav>cc12T9z}*p>5YmZ#-Ml%l^i8 zQ|u{d>9#+~HQNoCE;R7noo$OxHd-9Sv&@r9Cw1L6 zFIwkc>x$~$F(E{z{>Ri)C~CzRmE`>togUj z1uXSN#Q)KI5&!$n;=_dZK^cirYF)}d!ZZ9MYd=^ktCl@@{GvQgR#RH@NX-W|vf9$x zBz>9p-5$!wEKf0hu(ovhuG;gpQtY!gb0oZ4yH?Gma>&qYT;v^niTtnnt=^2_F6|Qh zv&3@x>RkbbVgmFK63thAjC#;Mjj_SAsp|uXBGHma3BW1a`T%V_enD=e>nwGWRA&K9 zK2gUkmVDJ2z;$Gx($_COyEb+CeCX53TIuWbW-Ogtro@xW#GVHD-_sY*IFWm_P0nrS zD14L~%AuU4t_>h(eXreSF77z1+h$gu32JLnm*VZj$K0W`FU8bk%1cp8`QO?Xno-^z zF67SRz7kk>ed-BM0)14o!yI$kj)w@;r%FcyaKm;?ne0Fb;VGKLW%*Fov{I(y0ldAm z*ty$U%t6g+1LU8(P~;|DjIL~ouoXkDjuh_kSS%z{Vd*dQSH5=@O>0&f*?4caWMu-ie=FGC3$@Ej zi4IR1x7NB9#+}kXZdud&9(gR=ERB1uVBwG_cEHHr0oupxOa}O-9YgHQPO6aE@>?hM zI*IOF2qW(fN+b7&%Q$&k-?Xo*RnwD40W68^(?AAm4j< zIw<32I$}La=6tP*D~Fudg0K@5onM>brYF7y@1=|Hd4k5pHH-HPa@1@lG3+%B#>GI} zYGrQnUEX-FoO;RsXz={vU66aemejMJ)RRGKf}Jpf#MhL*InWnvW4|y=U4U7x;3*fu zZxXwalITI&FI3J0-iIjWYgAb4?O_-~i9~)a6k3s*)_aXO~^}&#n)aEmw13%ITlZ33vpM!OX$R`p$2n5T zsiHczsJ2D{v#N(#9Y)1_N751hKf)x2dR2EX1#hC`fwe}UiN^DbM_D^-iH1tD{EhMb zOFS*V^QR2-#f1!X`(==gE^DLyB{#1Bx8%2Da*Ai5Z`x9U8@VAlG0hnrpA7We$$02H zl<{GC3d~jOb#t{O^nP@%0>T-ARoD9#h29f+-z!2=dcE&Yp&Q*#;sP${{~%IW|3JN- zBRY}RwO8s7*B7iJ-(`7V)xlMg_9xk*rOTX_?ll$?3)<3+EXL|9tBenlum3>ZCVBIh zM_=ym*P(N-K##6jn5%yKdKqI(@*6|DqCGk&p82yxMt+BkS)8glzB!>esX1X^a`XR7 z+LwSgRcw#XO>WY(N!yeb2x);dX-l9ifr3`SXPc%2ZN;*<6mhwwEH@ODMFm-dpbuHJ zG)3D+6sagsmIg%WL#;~nspvChdxH2gidsqqd!gjsBu(-^bCZ_h^Lzi__x> znKNf*&YUxI=A4P#GeIX-4^h>`*5(bErj4&isIY1K*wqz7Jmx>twJL|IGPX9MCZRH} zHkK2VYJ2R~J~e$Ri-ZsED#3AELwsA8svi1zjLaVEP}M})XKL%sIVa@~$?b2L`<+|f z1Lf)q$grv)smBU~5#an$g!9|3u&yWTt`XF_8X>_{T264IhcPw5w9zbcNt}t1F(q|R z!87nq{zo5_R=cCTR{NnaLA@6w22A?ZwN$llIWwY`f|yghR7^OING`w0sfd_ z!dG`e|B?Q>R$-6Dac*MY%j|08r153&PsNXNeJG4HQRB#Yxsj$Q$9D5_*ERuF$ZMn8 zqopvu?Z2MO@2OJ~)T!{6I^|qz=|k!?r^|>f(E3JCXUGV+e_piSkk$2|yKMfO^RGR! z$qaSV4S*g#Qf(J|cf9-hfNPJ;T=wRCQukT&!*y4PDPo)nw&{`nPrDV>Q}IKPTaoBJ zz^5Y^kiGGV-zN6_*TpmGL4QgQlmh`uJ@k;`&d$Z%Rtk#5KHH~jpx8rO)iREttn_bf_@*-Z4Io>eZ+d$wrtx@R{nKK|^9#nKm3 z`lyx^Ey;s;^O6%w){*=7?w>mGlys%?>AaOiPp@0K>FMJuPdqJMrF4~N5AYKdbtp)gwi`RO%Hkj0+eVaH;1NSk$NV1sl zpSDYrP>e%u0=!O$=hM364zf2_RvP6%>2;+F$HmfUhhbJc-@hyD)gnpRd_@ak5QLEs zOrn;S3&$1#5*AFKs47NZN4&A*(~fc?V9!LtT|=7%6859 zbx!)+^}@m_&BA5~6%eW+yawSd2)iLPKzO&?c0RG05Ag*EZV10XxHQGb-yLWcx~6nX zFG>35wj7G)CZM5si07Bz!?tej(WRrX=L8v-M(J=o|F!>2+sJw3>RUgtq}uHflb6Q_F@TA-5ZA*|LL|thH00jRFsQg5K1(V{zHlO z#R(?kBOV;WK4z%>8zbLtg?<|I`VYczTReZmce*XfkeH`&krUby*TwR$1Y~LyuMG>n zgzKZ?b=iV1;5yz}_V{=v!)bUti=o`ak~t-obl#`y;h#h=D+l95EBge_W+*`mCG>OE zJid=X*kHo}I_m%VEaXL~Nu5l^k+G7X(mR#?FTuuKq zSJQvwYKr7~TO`-SBWvd*veVcwMsnHXb41J9Ru+pE_@O6h4P>v3U?s2I?~GwJ*5}OB z$z)b&t$=tY+u2$rEHv4jliBB;FR?f6_XD1*Nv`HsOC`Bi;s@+5fRCQNh;Fxy!jE$#-E)$gnRKYaPy>q_OQEMLEl6>!KOV+Zc>yN$s zeN^me6Q0Oj7bZFTO8SVh{VRklPD% z%i){quG4~BEX8fgWb-<7(o9Ar>Xi2ZzLC{upbvi2A~VFdL3jtQ$$G={4J02`WbKfS zz?}qer}>SIXGFL^gMX>pz~*(@$_xzgu7a8#{WTpeJkl5UD?|oz-r)t1s1;*aOlD|Q z8HQ{D4)RXH*mzdV<#YItchfae$0oA|$GC>Ebe6f(W*){!SV_m-lII1Zj)VC>z<&~w zi*OsEjE*Dm_(hPvSeyiJYyu0EF~Gkq^oA`;gbnyihS=I}Zc`be$@-}XUt$D4g13#g z!1&D-S}C_j*%bh17k?~Za%PemW@R$8qrQxG--KER@3#bEM3^@JBI>y0%5jd4XevzP z#(HH?&zT{kxT-tOmm}8Kh{NAzvNKr)z~?T9yb}$~uVp&X$~=+uG!u!GcdK`uc>W9F zGvN!7ew`3{Q}poLM&S(1J>=>GAxzVIdlVq_Jf43?FyQGz!>9p3lhxLvK*gu9F<8we zUzf;88hHBNtDA}3K)-SE0;l`#AjQ`o{zN66)Bi6%g^?KW=`)NWE zZl~M>@NcbzF4%-@ajc<;oso^WMmt%JM!e8Ki{2!n*yTTveQTHYNIMg6y6{GF@#T4O zPv^@n6k~=RZ82+|ngQ;KmOF7_zQV<@V+6@eL8qBWnjX$r!#hl_ge=7i&LlkBTvLP}1?1DOhSB z;u+Ld#{M9vDn4(QDu~BuvBE#_lwRu$w;z$z15F)B z;{kYsX{TpRh;Sp-W*L^bx@p^IARm(!O#D+?YiRS>9mJ!MPGcg}Ds0o0I+!+^hS{M4 z$MNrlOqiQbY+B2(rcuW*%nl~S?VPVNC3GZtkzs=XgPS3K8Zxa{S!Lnt$=B5n0nH~i zQ!j+%qJ@vQ8Qs7(c9`{R&xT+&)yj7^7I{(RpN=@e>P;YQ3tbezP%q#<5`d_hI*b4{wREH%VU2OzNmn(140AM0;Ss~ zSiBaW#c!b3GCGZCV1;Aez zJ%95Wmf<~=5WI`h8$E{uQ{mZIZ<+WkAU@j@m;uj-Pm=`xSV-& zxQ{Nyqxk06;h%Uqcm&e?JkBBFhJeKSZ9)_<7 zU)tLf;lMw6A{Ee3! zICGhmT5HYnb2t6}eAQ;6+F3(srnRiJ-g>dL+*(&!D=17)SW)Jv7Bq5%i=2i~>{hY| zt%PGzIHDsQ)5pm+;F#LIr-`Qx;=6_T&pQwE^gP3YOy}vg80rP{(soKhp2f^N-4;g? zuP?yKv?=B_!<}I^@XQ%#$dAIiJA9T}pd8&?(-aupC0&!8Mv-e$3PVJ$i9Frbl^)@m zuEV@;yIN6>?8rdbDTA(1Vqb2Ft&gpg>VfmAr|lAh`;P{+MKI~Kh2IEC6>@tXa8%!1 ziBrb$S3+L^6h>&JoPeBY9LU0+`ocCgzY~&7j}kvP&{lakPe^)l3EZUs-|z+et0ViF z6NvqeAGAmTahE0oS)b9MUw;U%-^Jp(hFGp7nugI<0h~>Nk7(ir_?fqGjmzDdH*zL_ zA{&&G z7g}M71$=A~hU>NnBXp8V)m~|(axYyOw|B>US!HISx`ObSVcs(C)p&b?J&vCjx;X!s zndoEpZ^`SBNQq>V>?ma~mT4V|-G11uU1cHtyU***Z6m4Gj8620Jor!eO$Yp@i}?L6nAU^eS$=&Fep5yK#@KZc z{3=EKrU8D_0lzVT-)O+EO2n_GFs>JVRjS-J$Ql|{h`rnCHm@=SCG&feF zFRNpQGiQYjres#>{2b!5!e%s-HF}N)&I%PG|6E~O7~yw*0e(k!lXuJ|mOfTm(nQ&T z<`fDR+KSAM#Abh3f(Y>Q0@D52B1cW0hIwkW+k}bV>z700S(OPm|0TQ4;~A+-T0_@{ z_?>>mSX5=iUwdl&;e8b0JF?dDf1%UAHD&`Q?)KlL(>kEj!FFWGdj7Aew9#{W;8rRv z);Vv?WRynui>**+8PqvucYjPyo_!-2ZLw8xRq@19Ot8Dg#z>9LZe@+iA>ArrE@)KGnQydAZ=+u+AXQlZnL68sHsOCIa4<1!F2*jeC%&lSPrL*ecnDL~Q=whvhG@rjAxS5( zA8Jf})=t)K&3#>`;L91mYc?HiM+$2@6`g|DV`NLgv*r%OitVD}ib}|!E41|^%h2`#YXd|Iz)IiET85iRu z7!60gS=Q$n!ZQ(mDVs5fz2Cqv>>XtM`|DU3rCD{1(Ua(vV^=HjC7EU2!YWHYgc-TU z9Mdw2*}|5y>zv_{=x-f}X9BPCBs|SzGoj>UDAV6k&I+w%>=LKKsX@uT;e`Fw*r(_YL7;yss5x5P`Yp_`G19SBL49RE{UIm7aEB69I+DfLWp=)Rd-mtI+){z z2-`*fAy42qSGl#!$-6uGx*wbR>^0H%k zcA9+XnK#*=*{$Yum%Z>%NgtLProB*E05nvYbM4<_x_2lkLkU*%{eqhdN{Ia}&o1vp z_Dyz%wm`ki6ANV|@Fw9BOFX@X>2W7kM&S0YPg4hLy` zg;+v&?j<(mI&4QvT5KNG&M5{$Z;;v?JFnQ2AWOOgRbVio>@ z0@Z<>YrbAMFhLnrfvKXV>JX2?`)2tv&r1RF)EQ!}Z}`i0ZLelO{F=3;pbJ2k(^RfOfQW0(~-!U$f> z4#H#DETEA$T8m)3g!h7q^0Qlv^EJ*YA;$#uXvth|I2OyPqbG?zI%D}qgJ*;T^JVVj;!+?nxd)7)aZ(g@5?Naud2=Oy)yEqmm1#_^xrUvByaiXqh zoGaaf|0u%Ety1=z72-sQb0L;OeB7l) zZ?=eXSl%7QD$y4CCg|&Ae@qUNL$uw?w+rNSlb0{@_Fl)n$9-0)nj+__qbKJ}Udwb1 zBVNMqPQZCijdh1e=afL_1^}JA0kZesTuSR}=JBUgc&Aw{(z%U+ax0-K?N&t-TS|@J zZEY_#dYjM&poZE+n zVq_2T69eL2)|ElZ9DsI#5G~?L3b<;xnuI@XRYrKW3&+DgZB=;ff2^|*uckGgdEW5) zNt`GEPt=)f$xx{TMzeNAyVrv0uk*zXonX?dM*cQUJ269nBXM9f}bB0 z>fHj*5UW`VnS*|fvdg&!C7C(ry3Ps>ro+zEKXLdH`(TiEZgTi=57Lg};6y@=CHgDg_P_pP67;k8xVb#yd2hH+|)oFps@+}1y1m& zkL(!x_}~1!<=bSpVfl&1o%4wmzP>G5x55!sTMIpq><;Bfi9g5h#FXEeP79r;X5klz z1&A-12zNQx7w$7eL$8gEswK8t}FcHx9qj zKw~1udHFtFEJ)Ii!&T-jQn%K<9p+?%QwK5}y*J3G`{b|x0C>jvGS_I3c7wdhr@D=A z-7ZWLQzh=X6P}F@7$GNPSHJMNW|8-z@h1GEu&nY(!yvr9h_3WnW(d+L#OFdLJ4M_L z$+E}tx-MjR49m6=9}QcCfe;3n6!vI))PCCWh8cDI(?&bU-p%=BFP|aUu;$of`N=IC zi)KVLP|)>&Z9_rKzVNBZoNMFy5br0?T7drh)`=P@86Jk5hT^%dR`<<%*1Au(jWtkN zil#%rkI7oPSN)sY#!}k>mM_LfWv=}0$4k-i|r#GhO`4}JF3sc*L zK{|ya`i(@(V9VIn)56!t=#;W=&UXM+cS))zGOYPp{4-J(4I%hD-Iil`PFvb8mA+zL z3jdksNltl(iI&B{o>n71Nm2@8_7``4w)m!RMI*G5#|!DzM!d{(-AjD%W_Z>HV)V$c z)l=;6Bi=t7An9Vd2wyz~Mq`v;CVIKZ5p{>sJ&NDMelDs{-JE0YIH5(EUu)6dztp0Q zUun@#Uy1Wd?)ZC8M^0qg@Jo2Qy)XW%@%ElQfrl@QD;Tyfd?Hh7cu61bSGywq2{Sxn z3034j^G|YzcYf)8;a#1JjG;98;KkDQg3(l0cClFP3%txxQ$f-nfHxIWMwW?KDMQyIFdX$>*g01osYWnN`Bh zV5c%OSqZCUkl|wKQS&923#ec|cg>fB`PS(@`ibeD)$R9n`)v6z9rgJn9sTr$7R>`3 z2uBiucT8Ruk3*ULu%v}Zi%D)mX{&uS(6m>*#}?>t8RK72$7HbsmihS?yl2~J7-4?? z4exNqhy`)CKF1md{8C>`;3n4ac33kl7fVe};)nRcd@2>`v+$0IWWRI=%rYRUHHlw| zzMuPvUrloEU?-9EuY}WQLVC(g84OD#5q@_q(9{y03V54*uD~Y)deh*oTTsqa2}4cO z8>@tmOyiwrK{kuoQwkgup+|1tXjZu<*=fYO(O%x?trC((uQ(jbDHJ&{ho1?MRcrdj z=H-w1Uhq%B#QUOwf6iOtG!)IiJN!}uaAXF`k%N7Q9MN4o?W1m|M_q2AZj+7txrLn4 z@$#emB+o=A@h6isItO?0|A10HHeGj04rb#3f2`}`0_k3fo#xKR(cGufe!zFkU=>-? z&zIzn!F-E`H8CW8IERl-gwlEWPkoc{mjaq1QuvooO`fF|jznRNE)Ht`wO1WkDWS1q zOxV8Magg)#N)Io{gZZy|%30wx=7>4kb*4>XNX(PE$f)k(ZC#pi*IOqr*`j_E^BGwi zlH)B6DqSq(`lc5dNM3go-6>k~CZ~An7p$@5G3^Uzyp9b*AW{{QUl>iPxb$%EyfVuJ&@R=>!o%@J#CMvm)RwT-3tI)ksX6r z{;c1G$1<@E9Upcyr=wS>40Px-Em{Wg0tol~Q;YNvKLF2k5GO&%e^i5h{#=U|05d`WlVVC zhrb^W>nKEl)JWR20&@LH&=;ZfaIWDq9-lF?(tK!BVngscSiwzYx=ikluGS$OMBZa zP&o6sb3!(rz{n#sV)b#NJ3?b+Q9irEBIOj47ud8c3Dl8zAT_ex^obrvJdg@}Q$X~E z*Q8jQj>4nc-4x~>FNnP3Uhx!u_|5euq?au0?bBJZ^rnrH-r8}{PlWwe68Dd2QrxO3 z7RyV8I_tW|)j&78*Y^?|i#vUbDR+*ixeqcBJ@w``74>$h5v%yl(4Y11RQ%7OZNktg z{*V zG7|3!MKs!S$@nV_yVXO=K^U6WO)M5%-@} z{N15_)-Gq}vzd)y{kqw=P2^D28IYSr4uFa~U+f7kM5ztt#@v|iQL186g?SNh2Jbde zX(&zN4r|5bK#BSg*?$lvAruPz87?K@@+}dUaeoQ7Klr@xk@!9s{Li-jJ-AKyNNmeL zg5kDQA3-;cE^!G9Q#IJ^OtNkU$?!f_f|FP^)`Mgyo>&A)1)bDjjaJh{>C}J9^V48) zr)?4OVtFnk!(x93c58BWyA1K$XpmO+(?Vic%v>JTeyQkV=ry1@a#b>1+8PmUG-TK<{t~9_nVo2 z3mbG%+-54TR01RCkSEGZcDa0fX_paeCLi*odRJL`@4i{Mxq(T}M3H6>@b-!9zFD}s zfcj7KLF`}72TE@@RYpyNn$i)mb+fZciynq}3WSF~(TeqWzCkC}qbNuN4z3Ev7Et@k zm?&-;MWB3FAW#bYHG$lHE08>8J$qR<&kUuCJ~4Zr8S4CxGeeBUjVxUM;LS5b&GdKV z%+NBWbL~{^qB8<=KLM2bnQkvxQEzh!dDu(VD-kbQe;2)E-FkM&!lixGb9N}c`Jnxsg^P_MFI^9G+e37fdM5V=gb)25Dm|X&lQ9k*G{Dd)8RC z2t!OEesiez9BtuV>*}7Pi-qnv+QOad`rpmbxxyKcIm2^w=bz?i3-?4<_Z*!n4C=|d zzU$UGx>HAXS;-uoCeG2So;g|xb96M!(W<|gqiM0_;-Td>0Izz|n~vf>(xL{4--7UO z=oiZ&KJ=j$l|XzCgf}11pvRlSHeiyA!Y7bV3o8@QjSm)9Lr#LCqMC6h0-TzjzQI)dV%Jq zpbXFbqMnP2|A%-Q{yn%3&vhRI?Xqy9L?F&ov6wnwicsMLT_oS#W~po2B{}NLkAXU> z`1-DH`U7aOX~QTRoy`0lcLdfseAWp(#b0uUG*v^drMHEBycOX~t=a4c%-=8Ra&%5{Z3D_X{y}tPt*WvvMPLTKG`{qZlst>kcnvEfn&LN$rd5r6x|W$rya8Db>;_M;_j%Vf~?24(JvNv zAmwS{E!{cMUVcYQmY_&EE$r59HD3mKWC6&y@g|fxp+#O>VU9id<^qxy-cQju_a8#r z{Cs1V%%RDW*%fZ0n>~r5xwj-Vw_8elz0r=S{V{f#BbGBNly+I&F{Z zSQN;?(EdQ#-dqsZfdc?3(lwfZetqRB=o;oGaefz+2okJDXW?SIx;1KL5$-!YIwj1` z1*8l!^Yeln98*bPd{@}5-Y;aERF$!IKVRKNBnChKL2w+5majb8F3O$7cw0?4A)-I= zTVvQSney3h%TXpsJLMbL!4@gIp}_%|?TeF|6d4a?5D8mtun`HHlKas!CV=Wwe-z~G z7wQ(!-0YZR%o&h^{s~grN2Nr+)erv;cKoc<0%LRKC%K5XA_bQur}iT|(eLQi?x6N$ zLoTbmIXJ@;?YBYelb&Dt#H*eWA!L|@>*h8?4rOy;6fIPQb!S9)*WwKgNg`!l?N2U} z_u`Ga@pEiJ6u^}SGs`Uy$f$h)K`(n~)E*N^KmQC82)^(U2%-RjX90rWg9L(ObN>lB ztRN6DVF*4xnvTesQJ1iQlHNG_)DGfDd6m+MV6M*ayzL{lq{umzY)G-eL`LOBXM?cW zL}k^Or7e`fCcI?o>#l(R>CV`KXD#WT!oa)2X7y6fyIvxZy=00OW&L!|-vUGNQqLam zX~^d-Ve=HSHnPD)&Q^bUu|Il0UxSvw9HqiFPHMkg+?!PKhkQDm=J~um6-%&Oq#ifC z)V8QIqBCMjgQOm@f=Tw}#)xg1Um}_+5V@tmAimuIb64 z0MSETOP-{%mdwim+-ll$0k>prJi{~5+kHMF8=&g)cJq?|H(dRzk&Li}2(FS$K0XU( zk-yd|$?&NDgsm{<2{ZN&M;VuHV73Pc99EmB4!^)h#Sh5e@cyG~s zoamGlAv=8aiVklP=qVxojSwyB)g#4lME2hMlD+qydClx4^X6_djD&^Zxh;ur?y3@o znKGT^tf*}?(uepHp_?*`iXt=LNU!ui&c3MlWEfl3$mTpPyk@F~xl%K}8Ls$N3-=<7 z0&+5p+&2r=rc73cNnFkrccMk)DPUbsQgnM*2=NsmQj%8)&#^>Spbn^@tgy`TtI(JG zRHAShpzIWCx$iGS-g@-QNmFVzC_h!TkbVw2#<5w3;ySx;`E_hYZgYfyUQc zg^1pMH6B&e&_F2Zhk|>`R;*?Fc1YuCyb+Hgo(){xcH`*GyDlI@Mu9xy-8tvlfibkW z{vF3p4W&kCm)l29BrNg{amx-8xXJjKEr=~Nm4X)X1=kA=JDP=eD+u525`aenJRe1g zP7Pk;i4Bs~hPQ+drV!pK%`>}=e1DJ7O~Xb-Y{sQ|3foK(oyyC*)6oBZ7C@m!%{mXf~~5~USx zw$w0}<`zoHy6MHaqLxPI(X!?%YUOWp$SJ|~f^o`vkmlEe#J;QS*Rox+f1RB^XU?2m zbLPz5H8*|UoO!$E{W`B%utAFTQ=rH8Iz?F3>m=chp3{VYlPP*f^OZZ54-m6E-ck@t$8_Z?kQTvjN9_jD!Q^Iq5U-VN^`E{uZr@=AHndt1+Y7rei} zFdE(~DiuBNp||99r)Yu{lM9uQBBnB?R|?dV;sB(;g|U!ARjKNoM^<-=?U3Sch4GLg zt}?DCg}MidE%5&K!UTA)u2lEVVS0Cpm5{;=3uDW0bL6O3YMT0zKc@73Gj& zDYISBnWT%NYrK3yfX0^^OYl^D7mtGaNWNcO(BG18&b1fEkbKVqpFL3Iq2>rg8_W|- zamP65-R+Fhky-kkpfQz~o)Z-6um&`6qH4NUR!wxosmAfnKB{Qq7tTzzC+3~f)|ZY0 z+NKkCQ4F37SHrps=ik4%uk@x%{2B(Wf)9OIVm|ab{Rwf>xRfEtCN* zH5OW_-mG+`Sl=`&P7T0&V2)F+%52m(M!AW;)KGX2^YFsE_-6t{hl_VM!{DgZ#_Ej~jKEP7U%KgA!Z;*HkKu%TS#a z8JD^wnNPQnof92KnMqCXMJmbdhM!8;!S_LaVGtSFmhkuUgW1k1VTx$0zwGguYLq#% z1&x^FBHt&AJ1;1+q$O(&%DlgY?1!MtsV#nbK?6u^qmLW1zFMIyY&@F{1wi(hgCWoI3f_r4P)g>$C_Bu2%cC5xo9DSs;nTv((M8TN)&anS-`VsKI}^AX2TsJDt*7!) zhut>D`aQ^nwdRjIw%D>(O?R506+iPkfoCefv^Xv<`=xI3^dEjXR&q&FJ5bxWdO~v( zI;i;K%cYd2sjMWH8yl@^lH%l&RLdmbu&O7LHIX|SzY`Eb#sEJ+z`r6_c=uwWo0O)` zEbc&3avogKLf!-PYExu?Lqg6Z@=pNo3Ev}<1{td(Ustt~^}wM{vX($<%<~Tc_v#jR z#(!EscE&GB2z3E!F6_(c-Z7C?EBOY$9=J!{o|JkIpBDJt`mS$%=j`a&X1Pd($x1j$ zwcSsAx=--S9X|*UXC#X>NC`Bk_V-hGVJjN7rqgh6NGmd~=^T8p>$h0wm*F*p*>9$! ztB<9lci&1!OAlyK;6QkvTRzZfjuLIVCAv-t$QEO*$d5Z^&R3iyW2KM3!93X|wN~dB zo-(`B8KPm-vGxwuh_{%B;dqykH8xhT6bq74iv)XH%^*LivA6r>l_W}4d0d`fitl8p3XqRR4aGE`kBNT$`jCv3 z;^!Mt?HneZ*~!p78tUno=%}ZAZVQCZitRGfP2KWQ9yc8@FB2uVffyO0fC6u7h}x&v zLo9sB_KKP*TSNRuA+=*PM)n`t`WUkDH*FF_CMMRZehtX5qDF^b@z{Y1DZ{g9F3}H_ z9oP_=$@>Gn-sRh8O>_2d+$IdoA#MJ=FmxfAd*1{Z_&%p-^UeOv6^W9p8L5Fn9SxCH zzVO;Hq4C4-r7_W4$SlZWS)de1FSVz876MOiETTDDLH6xb5?z*_$;CNB_T8hnjUnh? zS>1B&9}ANBmmw+4m4vUZHIwy`^}^gHhuISG+QS$6sc~0ZPYbHilP43M zmeYcI^ePMR>Z8Lu8Rx{Ej69C=PIBf?T4qu5?{--tI~jT0-@InH9>iuXn|U~HKWUR7 zpBCCKWSdA!ky%mgh~@5(lC{NHJ7vfg&#=YR$5cw~QF>)$r8|6{YfNE*E_}9VG+qwn zYzBTM%`+@?TIethpG;PjI!w3jujFy>36q=|B2-rK+*}x{>w=+Yy*;%EzW-mYx9?cc zzh}K&$=}oUm4GV9irXVyM1ylmgxi^Y`S!@VWS1iyeeiQS`tEHlS`6`A2($KRkp)6O zxHiLcHN-T8(RXXmncZ5HT}WCr>}jzd;aV2&X&7SP3OqyO^p0xpDk93&G9Ts<9UL3;E`^j;29f%iqx=DqDR- zYSe%C<0aIgiAj*C0a6|$dbktq8q#q8hoBUtc9omlT@n=HolLy@Nst$HubZkrB&(OG z>1bU#IsoCVy0G7l$M3DdkBb`L?=*~Osq787FHW~hjp*7g8!5MTtW|*aAc%=NRK2p9@EWh?_ zS}*(2X724!_ug1OOIdAfOw4Yx0%l%W`*ZR^P4^3W-HAhzc4^{nGkOJ{XHfPstI|?@ zIZ-dZWxhWoZZej+4p03Y=;$JmUlG=k@k-;|qURgJ zy4h*t$w|N8=I@$+#GHv~mxiUsnYn=>zIEsPixKOo7e#+R3a6P%2(?;C8QD0axD!4OTkKP?=@U3 z?OlgsLB3TF5QgheCiHF&cZ9=?Ir7)oPKh5O;(gWY|w?uKoNp;RrlmZf~%d_Bpb;+I2dRCGHn8@3_} zvn$ZBq$Zml>5(z1DJKJEw6ExwXXqHLkai4~4$3QM6}Tpa?nv=X>PS)8fWG5}GXz>K zG0kW7p3bY~E0Ud2oC<~bM}kpY8iE$h3-NC^5!>g(?#X4ysaTYn&hBb3Y#TC}8n((J z;}kL(jMh&Wsx-HBZRsba)U4cDYiE5jiz>@4TU%y2H>iL*@F37J6VNf8KUq8rttV_fKCaxsCYiIXXb^>36k^Mb(2WA>I|Fszdzh0I~jc zU&{i3RO}_DU!b4SNmWAZj=B{n^ZOR^-qJEkg!i=wyi#^(T1m ziom--wrK0@n(1)kwbeH!hH_hKk#Y)h|N(n7s73;E!RsbLB{^J z0i{i@EbgEclz#Ktuh)Je=xi}dYX!9MIX0?eaFk}$I*<%ymFlX5syn9j;2^nO8MmcK1!YW%aG5Pae_L^ZzJR^(CBJuA3T_ z;UdVe@48%q087=8;B#hu?SrVX+DX_$q66q5Q9%o9#7 zmcQQh*w341sdsDkXsT?UDj#ilUPxP5&wLNEL_%$!8cEhhv&JqvDRCzDKtfX6JgY$> zqwPNmUyLQz1AY{m#}Y34N8w|LqaglZEV0_~qi}RA@f`|S8cS?9OmdG;?r$d&msX%{ z{i+l|dyaBZ@mqv@Y~(yM%~8>dUGvTzC# zCyc!=u6Pc*fDAthB}r)qbFO9SZ)(kFL;Ys@eiST8*(ru}S3qrvOQ@ zxJz9NHLD@>AvM0nZ0k6?mL~UTnvj~4XoZ)7*v9_WyL0qX7PgpdPaL*IJ~8dS?1hDxH~I^u$L*5u z1(oTP^Q)pTM*0GD|1OB-Dx$mL3)@H~=h9AkTM8zL_$UpK`)mIC`BY{MS>+K=gC-|S zCL|CVqEp{rv{2^A!RM1>pv+W$d;l4soSb<32|;BW?$qIx{BuDvbLIO<`5zP~vui9T zpyy0riInzBVfuwox61p2@N?RsgLS{6KZz0dn z@I@}NMz_Gdw|I@EJFnfn^4b>3OC8Cp|9{D=$VF@(W4FSQBIb0VG3{V%O*VYB7;?#m zT&{SDeJX>eGo)~k6k0qjl9Txo%0)xNIZZfBRtWX(s9yP~#C-0JqzvPnw zc$21%`1`WTvbIAeH8pi^pHCFq|eiRhg1j=pvcl<~-K zIgws+H(zpKI_bj^ziNbk>!X)KAO2XlH!_D7cV)OWyCF9Ua+9p&{~aJuCj!)c?b*ML zj6i!gpLHOw*Jvp2R74`>@E8!s0}WOn0QH}@#CZ)i~}%n?amYIT- zdA}h`Je$0ZRbeW#5~qAuR)o@Lil=}G6+dWW3RL@Yu9@|8FN@bI{(5L;1fS3OMO|=T zjr+l6mB85oO&tTXfg%*GsEn@MBBa>rIEmyD7jVDhbAh_Va1u(kdnNDb+AbtP3(6hQ z_JQvF!kL0ZN7}Ieg?#b6aB*kfUMG)Au!?UC<%s8s4W3DU(uU>Yx#+WALcbEcVLJ-z zm@|T^VQ9zT=t-BOqc1VXfR4#rCD11qb(KJ$9P7Qr!kkI%Wm91;Y-b4_bg=6H?tw0- zp}vkW%#s*(uKjuKkfn9A)(dGizA?)!F_3h5z(4-pBGqqXX#LA;zg-(MD}L#wS!*GU z-YqrMft*#h_TpL^cy-EPSSm4)uj^(d8BPnGQ=$$^{j&V{Z-JN6z2w-F~xwG*@d;n*-Vw;+Gxa_2Lvfv8X~^{nN4y4Kh5cG7b;M zTaTFw#Icy)4|yCG8c$T+$^k`QPI; zMcR6^kK{Tq@Jr+H9{mRD2c)~pJ+wf+zqs?rV!D^FO%?ABrio=3JWu+_ERVdGK$h9Z z{LYp$?M#?*@A4B`!3szZyokw&i3E_6`MJ=kBh~^XEg^nakaCCkS$+`2UG1#Wc}h^& zC|x<5XUSsf*(J=Vhz}gS=lms8-XF_v6bQaV+j%il2PGC3U|*`#cZIqBR9GAn0E+fOZd zM7C0iZ$9hf$Hl$hc1<|6D&d9BP|#?E4*YUTDib|<5#jj~^4jreCqVJGQ9cFWW>UI7IqtROStPGecDG?XI%g}WB@0sq#Sa9ld6II;2FGv4_o*Tw$p0Xpz*Cv&4P=)Uwc*Vx~abrg}F2A#r>o&^rcNB-`}8S{K^Z zQK`rQxK8;e;V@jc|5vzjB5Ez&-Vf6ux}VA0z4t-G0Q(u47{{;Y(ARa<1LqXL??)RbthMp4ww9b~7#d#d#pe zil^;IgeXU*a~P{-=CcnmNMFm8S*fhDQgZ4dyH{Q$kCdilN$*@ZKH59WYOwBL6D_mY z0WlTkMA!F+fd5q|Q(tLfT}JkcDdp^RptN=-b4B8k@)gsU)UU8FXNkR>Vv8`SBE+u>O(AEL1Jv#y-w`-!`6aofwdY)V zvH70QtYr1VMSO{~v6ejz^2n;-5MtMB$D`bstK@zy+Fi@pjg5l~OYl%J-xqvjCm;p#C3yw((foCg zI-+@%Zw7GiaxM)eETbxyvs;8jwWN~L55-dZ7D27sA|ycQVvt=NUBG; zGBm;?RXvxEeyP$TdaD*)h4?xIp(=cRprV_X5#DUJ`Yh)GH!AXP!t6nq4`0OL)*fM( zz5?xk#n#goe!HSd8)YT9d{8i&Xg@W!j7=T*x;g5UXb}M<{(JGKn6giEvxU;#q?UGU^Y49-6eI*Vwa|jobS*QySeY1rS>(h-^De>2^IonPA`aG0*FUi2`BRa zK%CT6+#ypGcSsa}!vy+yth83q9wn_cKY9v{I?{4ik?Oz-%VZojR_gm3OGl6RS}KIPGOjV?;s9p2wi+0#54L2Xd%H)4&w|Ep=91YsyP;io(~ zT}I#rc6o;sDEAY87kbb7V7Q;yf~C-F+I^muIa_M{nD;=<}DgX!)^ZG{pwm7vQ0u-bVm|};CKy-0uNARRuK)G>89{9$Yf3{+QGRN4Ia|o4 z0wmINA^yt%HTG<4i2p~B#wS}N>&nH|c#n9FESW{=?=)yxx&7@T$<`GXseM;bdL>zv zcni2E+FnP_!ifJe`_3YAUiK*T-|c4Gwe+>b-jSqsx{z*)o+hO0fX>&t z9$vw_x}uD6F3LgHLHpa0VJiMcD5=ocLwrVnP?%5sAvelU!8j{nwg?Y1x!f8*jpYnx zUSJ9^rB_zy_*VjyV;Y_@D4L^?0k7fBqBMV2l;#i4-6S!vJK03Y8_JN!a+8!Zpda+9 zOoB2xft!xyvXw#pCI4t#LM%*lIW9?&O4Rm9693iWzZ6T@gqp2pV%J#FG)15%C@bkE zsi$j6f<3`89e50wm+l$qgnr4t5j5dkZkC_9ceQ0~MBaWBq=5}eVmHX(`2i%{5gDa%J}fEYY? z3bOwqD~F|b8l-o+N9xueP>4C%BRR!Ia_TG4{~zgH2GYBlW9i}7F z$^`oeZm6iikY+a)p$yXdb-4Sj;gtmYQ=UJ(h9Xsj%FuR$=huMRz+$!i|55hlflXD} zOp-*ete3p$_A@Av)war1KTyZ64koO_mg z&pju3hcWPdj{`9Fqk*Il_m%*?Ul}QvM`2F)5E+Zi=tg~>UXbDj%JH)9i9ngEy9dZI zOE=<} z$#T_TT0D)X%DMR7<`K@4rHS;_>a@67lAfGCl)?NZ?c;eJ5?{x_s@N(ec&D!6oLkm> zzUC{CNr19>fwB>#Y)J8jP_)H9z*FZg25QavT6>sXR^UFjUqIdIUh%Fl@Urj>2MfGt zb?Y_ZfSVYJv)Y{llzX);B3dFGHM_H;^mWFyXIG}mHb8pCNO*{sIG=T=MRVpu&Y5n^ zXSp&Y1;yziAalY~zZviEtzSBjX1EWZ(^?{;(9RePHEC1}Tpdq~?XTJYA`GHav$eoI zdCxOckol-H=UJn@()f7M;hNS&%G342U}|+Ztwrr6mBo$)y7hLZ0LNxTkI}*9v+c&G zN_-4weBAgHk(kNGr$8$5u@GPA0M6k2tHMG7dr;*lk4?2z*-aFCV(XSI+7WDr9^fE8 zm}3}d+;A>|ur#J(j~#Vw2I3up1@aw&1wpi;@tERw@y+M3U#jWMq_sB9INnZ%{nc)> zZ?H3!+QTom4U>5c+np^k{F{V=29m$9qd2M|$mi9Zxuab3R^KiKZ>%(!De5%Di&YV{ zc5eub3*p`=$-l#+0bG|beVnaII1U^E=WFKlu%^v3*4dJ7WxQkHd3G67IH&_92edab z+P|hJzuY2A=#%~FK~B)i68d_Ow%r-H{a>$I*iH7hCm203 zXcj(O|3!U*y~0ksX|y2fSvMz;cfK&nn~_zyWE-rd1u%Z&w*a1i@N8`^@jt604boV` z6dgI#W7^(M^e{JNkYY}48{lI}jE9+g`cO|kd*Uxw>qt!*zLjM78BAZZXHk;Bz(YX7 z+iktulecO8=0@vy4{>PRYXglv#AtUIE3+xaoIQISODgf-?;+jmXo{x)uIJyCrcIx@ z(bIVyDfUm2^pyt$quaCzV}+8vvP+IxAT~ww#P9WV$J79I?~-ZH(mNx2DpfV5HJCQMhtYRJ z+IJBzq+v={4`XbqCx$9Vw%zE^*_$>S7fJo_Zt*)KIR@>o;9dJ`cz;xZ_Y{~PJmD{@ z_{%ayJ0N%Y)61Wi&-rIuNYOK0b?WSP#CBgFBFKF?&%#@s4c-|O+KFM7WYm%!neE38 zFvUzXZUioS92FX4X?-Tf1mG7ZVQw<&2 zqH8g>ZMBYS*HWU-_HKvTTHG<08}hXD{mTz+x!-@+&x{%3anj|7;x}E^ZwXu`@kQ|L zzWmvmA&|~{w^~hD+N-5#9Ta^R^Dn8Za|LF?c-sMM;@9!DXo)Po24s)wR2%zyqQ7@8 z{4X@xYYyYhAM|6)@8+v-5ysh;WVTrIz9z=hyKyx}@>4umS`VcmZcn|x)k@=6f@FPhI{y z?Tnsu@#jdhHSq*%Qgs;Ps(kCX{F-GoHHR69^S*WbsG1vXPN?N~ zFM_m$8f<$;MnU=jTVn=VaUiBw+w+AZX(l_-zu&Ip@4MgqPS9*-3b#Y=(%Kp5p{k<_ z+Rk>Qxf!$eFk=pNDi-p#QQV{cLLz#dJ!YAjx~N9jBK)B_L-$@+Q*r_|o~RHqbS~|O z)^w2fC(?AcMdI_BiJ{I{tO+NvY(!Tj;F)NZz}&(4d9KPH=$PO&2yEBy*ebx4X4JH> z2Rr-xZYVK}|9VfK-;E~0Ah>k9wYG}gR{q3tau_J$6xnyHrSu>%0krPz!7r&~zZiTgl>mtaSFV6^;W0WYe9q zK%!W0oqB99)%Y3ik$7SqU#KQ@mqoMwxg zd9_pHirF~_cb~>?wVB<0CnOrD#lNfv>#UBHQfB<#&SaUopx;()D?%yEYkqu3vplac z9TD*#z4|u$QpT*<`oMs?wkWsb&Edfy0VUK$#2+G>Hg4ywUSqYM{+y^`bJf2_XxD#@GddeHU zp&-e6$*DD{nLH5QHbyk=I-{}XMQM~7J%HnyGu9NYR{m?@|5d?I%lVSI)DmM&9*ieS zq|S&cJMnZ;b)m3IFxk>=dfQ4tA9(yyQS~E2n$2XB zWYL1{F%5rj+f?yD|2fW;x@XEYZ{qpuYd4+b#EZ${dU+oxC-5@xiDh15)YfjPKXR31 z5?`|B@AZF{&w<|$ZMwQ3mUydZ{1aptYn=W>{KCPtcozQYRmHY9DV zm-6h;vI&2Y%ysqBxFhvazU3ba$(2KO%;=00i*9PszPhS%%`bEV3Rd#Qc=6Mai9S${ zExH>uw8ejSJH15B`Wdy#9~tNPW}Cz`yqFp5vydZ)R1L8{Jv`HWb;;_6&#w~Q>wcDG zdWdP2XPd;r+jX(8O2Zqr1=(iYKZ!eaE}QjpG1c&vYmV=V9f@y2eljw*GKEYL{!=xM zbraKk&k%{pXA0vsGDYe}T^s75+|`lfC8p_~NwwQzp`ZFmwZJo_Ko9l!c6tX>Nb;wg z{+EvNWZMRLNA~x%@J#+MdTP1ywE=rND>Pi*1=-w*qa5o&k9X>h!dgZDmN#-n;^mE7 z>{|pbKfNP%RPxCyt6ElZU99ortBKr}`jx8-SNFyKUa#@aYa{v?SAi_&#d-9Bxfhe{ z)9sA@TIZx%);E;>V&TEgKK||0`Wxp!~vwqvUKXECq0Y57mfbCzcTFPj&)3tE9XJ(mupcBuws zxAO;5&ntdE&Ms#P&n{Lec6er}=pD1Bs`~|Lr1?Nw-m*Bre@^T9W7XAc9`9lD{?&mx4?lQRyBaBAKg-ta zY1V1Q{I(OFF97AnTQ_9XF%RoaXoHe*lVvSFlQ7wcT2NJvNd=leVqzQzS<3VSZ%h|mp=A2dQXhmuGt>DJtDr)T?ajj zHYqcF7$WJHJmEV^l+|;w4&71UO}_z2cc(imBSZ} zvc<_rugdjlS8VLdR<-N>cGZrTt+(1fYgg~U{(C!_aqpvl_Jju{K7Nxmy+d#?6J|;Y zq~7+jHRYHe`X93s`(NbNxNgSykA#RmQ67^xSZx!j^1W&By}$L&u#Kb7E4Ft3fSA1j z%HtioAvE88T)NMT^7K?slDDLq0qWiW^OEY0h;t*X7jH?O1U%ezs>u8L^5fFt+gpJG)Y9AXiFrw6=OH=NTX|V^VFw&NNz6riDP({!(J%*8cDEQgcuZG)(Pj z4r12Cj#j=e(kF;osrqCnJyN9zY`=$5$e>@K}^>`h9+p6fon&q9;`~7(r zP#5-wHtumrn80k!wkhv%HQnz&dj4%|9lcRT`>QgjCA$UW4Xvyxn-SHNeF^R9Mdgj7 zP%C_Y$#H0tB6VnFsiP13D^$ofil)#>>EZ(0<8uaQb>DRj7 z+NfWJ@1^Jd*xro#aGS=3Z1(~sN}}oL-F$0vFisoqWC}C@KM6AY;7J#rCor;2=rlj! zfWIhB@- zf=B+wO{LdE>i2SL%uT7aka}EBjlC&#c`xbI4r0LX+}o?7#MBBn zw4~*oV4S?J-ieM2Gn^d`eI4GC{ebm>V#b*0zfD7&7Ql^Ia*BLE^TB$Qm6CH}a-g){ zLcbnDwyMQ3^1E5}WXzo&!`c}>P7}$4Q86UHgJwPt)7r{;@w7(+g6?s`w9o*lecphwyGG$@%;c_T>Gxy%qOHd5$~8 z>2H(VU;BnP0EZPP4(e5W!&5KvMCBeB;e6^*dY|j5dXkyU=I5M1SOCa~hhE1ndGf)~ zCh6l}<{qGF8e%%zvEion@X((1 zziN+BZqHXeditcy@!bcjCr-Q+Ip9^flHbDnurJl&=oza21UOmtU^EH8u&xKkw+-Gg zvD>9#dSXQUfuplhe)DFX0#8b+0#S?QH?PzwGoZ}=0y*u4I;g`O-xkx7Ca(bAKP=W* zjdvc+bfUx#Rg3S+`Rbuuo21pM#kYEp!^B=*=rq&q(o{%mgtUh}yuU(2MrgeY0IxZv z@>GE2o>)H;Z%AOfE2SQrmHL-A->7>8Q{XC{briDFVUF%(X|v zNj+%45c#6FBP#m78|ha|XgzRDlWXvQNn6$0NPdhbr<$3#KsVnyznDde1WEq72^?}0?Ts?R7e(Kd7RPREJrxpvtCV&CPpceOs5r*HZ zGtneD{+b+r8{)}wyitz-3F2BgzAdb*7ZV*I$DftsFG4&;jz2BO{{Zn+Ilfws{|@3z z4q&6O8u02m4+qd`SeVpU7Kp5Bw1QM);0&*!w77EN#veCskj(lG(l|Y=W7e=p)2^c% zU^QzSo9d6DJx{|1DOW$B@oax=xIU$^>WRMC2z_ef29V49;)Ui7(s&33=0w*YrBMwV zfO8=E<$&$eriB zdVWoOf36=Ic;-?v;M_UTvcdZ}_~Mz+)D{yRBDeC}P#XMClhZw+bM8d{A`RYX#dn{D z_PPhVVARY*T%-`GH1|l2& z@RJ-qTCPCP%W{jy^z7}#uc^gXLd5h>&u(dv`Rv9dXzdh_7JerIoyarez8~=w*TZ-d zY+s_^4tRLHnaj`hU}+r1l_AM(qUCbCmxVra!+U-DuBNp0(gZEmvCH~&`#Zr=-bZXq zAxQU03v_&!m4zC;bAFcwU;4I#0lqrv2ZXAG`cxNEgD(KO2FfE-62kP&5FaFu+T@Ue zp>aepUKm0QZK52&;y}P2#I({g&_xVPp>fe5*K14q#>!?+Z5!;0ZyDm#NWLhPrY9cGw?mi;YQ)G|btWn(4gjAZid8$auc<8(HIefGbT z`fHl@)?ldVW*zdco0Gp(8vz{{YVoD|JzyW&D=!C2xJLa`Va_lT|3RHlxmcp)(?ygDQ$=?m-E7 z;0Y!h0cfcxRqe<;w!C6q|L)h(I%2FwuNYC=B8djYDp;IIgNvhm{-zuIyd-=Oc+ht* z6W4KR<~?s&>wIt2LCrgg=wLT~MeU7<0qJS^o9)s}TU!^29qMWAQpaU_VlFo{;^_iB z_v4wvXP5Qyvo4zBhX%gATzqjzeD~$Qt?4^`D7qZmck*y=?uXX?w&D#FYkAzk8#g%8 zp{;n|+b>O#_pkJUx^DUYcNi$;Vx)x%Zi|R}K#qDh^bF8Qyz~AE%-Yv}5{Hu2v@R|V zr7Ori_-4(*U;z1 zTTkbdCV8gHH2prm59G&trF^92#te7N{+KV;13kwU-eSX>{KAB}or-S?Jl`A|_~63$ z=EE2Hs2{c^H8I+!Eoj}mS>t==!oODLQ=c8-*=w#~|R z%#k#s)LxME{0VBtQ%J9Lf)p<>lU+Kz%}csAk`g=mtRQ+kclyFLjC|&j&#Fsi+%=HS znD&(Iy?JjpPZAR8=xx)o6Z5{4PSoX|oK``GDR&*n)%v=r<@{Su8n~#wwpoTfjZ`A* zi|Yd~hKs2_usv*%saZo9c%MK^@9lDIb9lCwbk)b6lz9DXR%6GwsK2eb04Wp7`8U@` z?>^}%V?NP5WP&U)e#;e*Rxozb(2hYt_H_@?`<*kx6piM1hj86w6Aa96gAJ^ zj~JruE0b%og@?*DS>&3kdb8x%#4xl>s}C&b#XEhU2IIV+OT2}*!H8*Dff<`>zn&U$QADx$V%GUp5`HeYGg1Ih+a1VszxoPD6hk-{$IDqgt{C^cfCj{@qc&3_E zku-gcZ7t5@IGD#}P5uPcA*&kZlD~~OmkJSaOhoN%!Z}qjo_u<-GitT4ooyUO2!zS# zgID(MFp#dNI>0G~z#pEeGt}OC=d)C@u|9^GtyOJRZ+p@fqE0(^#9m% zi*ejOM%p)pG3WzVWs4A+Anr&j>x+j`jyrG9RKI+%Q}O?@V_q(KW7ja!2;tKOxukcw zj<|oTBX9o}$CEvvrrdcoiHI|Lcb_v8zDqUeO{j4^JYOVrxs_ z9o~eDud6AGPvL5cYjDSn5U!TN}8P`^? zB*y#v!!PQ6>xyyj@m~=<=R*G$iBu!R<=p4raV{>0=LF$Cf5SQ31;XGdU`GUXU^J}} z@k{upk?q@mFa2@rzUH9qBuK${TUAX*I2Tu#_O7utL^ZQ4(%dP@RJ~8NE#E(_8@0EF zJ0E~Gctb-p)w!S|CaSZg+NO5qZZGn0jQpk|>7bIPc501iFDcO<%cMAQ?>cTf`r}o6 z@#2kDc00G7->wf#?M-PMust93 z*k^(xaT-gS21wx5T?TB@6yOGYf!k^H5K?w@Y@P>TBK z_4LJNqkujy206L6G`>7(t%2ke(d>ZkXN12eyJP)4BT(F}iuG%lGJ_f3W&eyRF}*TI zq8i`jAX@v#3Dorrg6}H&yx9Trv*M4NpNoE`RUoCK*NBl>*ybO4CW6e3KGY)OojvHo zK`nmYW1@SE|^eKEbXDKjGeJ7P>(UvspkFV!M#fYj3wV-mN*m{7997`J}K(G@q|)@35DfwwE+ z?MisN^5{y`1;n?5C|clB-CYFn1OqWLl&988Zbiuot{&};udiIcg7`Dp9O=0`p0#ow zXPt9}W^AyN_cy3yzA*x&arxNtHmF~h&4ZsOld>g!8Po6m6}4QHQd2P{k`2S+dc_xQ^wnJ<;?7ecp}no@ghe_ z`7cFRNFeSbLQPqN8943sB3Xlx@izb*T#4*=EOo@W(`=}nv*DbIV69jKv!cN~(T!RN z)>7J2lO5hll4tEa4Q9jjU@e;@6;m8obSnnk8ho zs&=@2kS|%a#Quhz=^(>Xyl;~tfY15e`7}n>P5G03p}@Ka!!I+L_4DjPd!XY&=Udjq zV_3%nk@rZ#twpvR(G)ojbf{b!PM8Tlcj{#;EJdyHt9Z(-s92RqOIE~h=IZ}0d~A<* zaFrE~l1gIyG3|VsrZ97CWhiygBScwBeqSi7s+P#FAdUP2nsHqj#E9FpPu7<5!TppAU#!Lp4%X)W%)a+V@=dX>p#w{Do=QG#ifE-q?30^oY#2 z4-GW*;H{pV?sq$1TLJVIZE|z4cE@aiwcA+NxI$AH>`eD*lZmgnuFApr`B-=9o)Z_+ z21(o=w(xw~Hi@aba9@SoY8O#CD{L*+80Q~OR0RH6HT6QAX=mx}o_nHgB3GXS+4%1A zgoAyu@zxadJcuoNKR7cw8)ZGkbVcA$Fx!ioGfd%5o7$;z?JO-iX^Yk)fHXq;Ye8<- za^+R1DOP+TSRAcoSP#x=E66ibO0xd|qgK*Z!`58?^sr8tuE0+EGz8M#c zx)1!x$&);&@$r`qfWf*8oqX39@h(YczUt1Ezs=;QpHXaWTCV&lMfra0F2-nqZ~Z11 zx61;Yd1p8B%yCluuAzY+y7A4*@H?{K1J@xAzI8xK)9;3`Mbhcjjj1+-_SViAS5@Ug zN7JfZX>RKs0pDAU{#{)__eQ10H9jiCW(VeV_1T3Rw(y25Q?OV^o`vwrA{{Znvl5;n zggYQG5YL7XpU0exh=)ERvQ92qEv=(|c52TzN>5ZxKU5J(cy3O7iba zrl=p?K=W{=Z3E2C6aRDUcI&J3HV@kN)QoGhiXFQowdId3drC)p^f#@%(Py$i(wlMZ z?8=*E(OB`XQkpF54Gqldo(LoMs4Q&^4NLtw&a+^YDRl2sKo+~$h9 zkA(_5=V113u_NWE=`m1tC*%5yZnKt^5{9k^nFgqHhE?K+N}UH*@o$}7gnBB*#l$#V zN}5u&n91P`s3Ep2GSjV+>BhI+hb7j``|o4YfKzM5TkAO+qyzExpSwMp zdy$-bi|lK{9?h%DVdc7S@6WwAn!8%gy-Ut5M02w_jGTK!#2(GPHJW=lOtGq=yN!v&hZ%>vyou+x_c$<7*H)3dk2?UT$4-Ubs=L`*^z6aziGMBgH)q`S6w46icE-NPUSx2hG4nZb?CcH-g!{# zXtVmXEb=IhFn%#F{83Kf(7&erW$r(Xb87J0%&l?$$XM%zn3MwBu|t@1Zg`Vq*n{|C zDrE`_ZLUMugT2s`!;;plP(pRMCHt>wBUAn|_wJgh6!O+Y#O}~RqV9?T;$X2|$jA=Z z&aX(Xtei?!;^7GHfPggZ8q<$CZaZHfV~*SIzkxTLb{$z?sUt5y*bYH_P)GEY%KiC@ z8A(*J3EJFT?ce3QBJ%&fmSYR$W65 zPL9syf{+>a5SBBBp@ELxTje>N6@ppNGVaYnmE&_=6NH*TYj1(F{zEvgz**=i(q+vX zD=g5vyCScz+THSoqssBUv}aGYZM=<{@|HF8*vU&I{#vA2TO4U-PX63H2%kSe9QQ=$ zfJAP!R9HSgPmHgH8ct-$%+H3GR;I9d|Uozy)^K)F2N#cZ_9UBq=eg+!msAG1Mth=22gSic`QE4 zW5L>IY672ktL2-cnnI)foAbksMF2BiJtS8RQi}`ny?N**YuvGimoD)YoXu^vD*P zbNA3f$4bXBU2E6Ep~=U%uF}+f)=_5s`A)@_GU}t@ zQ*2G3%v&nT7nnf~Rf(_m8ds;b5o5kR){7dyC|R)Cfz!&pQ43HVmH1+>sox%d@tp}W zEp#{M3*Vie^iZN-8(RmpO{HU;PP$w2?NI@rW?Y>Cb)sGBd0t{P@3%^CPEo9fFNmCL zE9m!ceDTZ}z%PJX`cE}B7&PMep8WDmgMwe~=$TJz0=M+wO|MyzgpqNU3Tx zItorBuQJ#JJ#6&UO|=d5`0^TrzfQE-AlX zM;^T&?^vM~$~s3=WuL8Wy?k?wTg}r2Zk5CC*a*~AUu3V0i046^R@MN@k7y(FZuiaa zfl2Aq1FYZGtItx2pZ1{Sh4|=cfeOzwJ2Tu}RYQ@3PCh|KED`WtB&=0KR^Zdi?^RX_ z%oNVA=c?@f4#CR_$AEttS224)qc!HlY{GOc8S-XgRF zpjn^JInmo-*%0pK3H|jpUj9@{tK)VtQy9OV;kNoZ*quuR7HIi?3Yf|JNU6@F&l}_^ zl=NR3Aj~=*(>dwliR6`1lNF?k76g<^_1;Smre11a#$Vp@6sEIa7C?*k#%q@QG3j#TQC4U z7JaTm$x;jSVo7`KNw%wa(9I(|3hKkLyjliw?AuAGi=MTMHsE~s7*~`0Wgdg$tiVEx zb~#SEzXq6?d4b^ucT_oCx{t5U7}R=w@Po;~E0;3mnx&b$U?kJ28`AW$FM+|cfa8h$ zWFIde24Q3i`KnWW5c|pb;fz`MNjNTP_wiG&m3V)d8!BZ%bv!Y&hQ)^VZ9h%-HYE}**zx8t!4!tz0_yR zMpK+iHoUuX{kQJ!CG_|d|x~dvrxZ^gjBp!rkJlRAT=gbFC$|#yU;Fp*%4b)9@fe(xUs+Xpw5nw!zcXRJkXcN%=gKh*N;~d&qF(wk&df{}oJ4C`1HvLC|v`w#DU zr~bn`-l_lHJKjIrZ2Bqwr~5n!<_t8Ofnr&@{x=VKLj!Amye*@aDl-Kd(YK9w`3M9qZR{JFUqb zW4(;A$uc9rJep}Cqki;QfWto9OHAK&;H{wr-hpOZwSVd%rn@@K{Wiv?ow)^Y>t57d z>gR+sqFc(7acg$K(hXnLW(O9^H{QPrjrHQ{{z@9SCn7!w{IvQ_72s|?9cp-9y49Q& zxYAW9sPefJ8PitVj@<{?&cNm;Z{s`6R43lkyWXL7lHti;J}(v7lRruRGWnD3=ahRZ z5#wfQfO)f&V&=SLxD5Xju-7|+$n7iV88D+46n?*ZaxTfcBbR(NS4S3@)5(#mdU-4- z%}~i>xe4gXWC1zEsdOaWCQ}yRQBgzY)Y$&M&w`a>hTfz7+rD#k)RobQ1yX*r|3|{b zG&^v%7khtKsK|T3fqotvN^ii53ScG4Yc1`A6^Li4z4AOwVZADU8m|Iq`KT=opk-+g z{XF8CmI{45)}hbIr66S>lq{{>>p&zKgy2L0)< zSpyj*2lhNiU+s*i??i8==_lrrf55tVc$SWwgYbS@8ksp;N0j|Yn?U>;^*exx`6wm^ z`sp@h<3-4uWge_FTU&*7k(E)(F2F4cC zsZ;~liWm2RTs5oS)03w=?58S%>$f;lH0hj)=h>FUv#JU zmj1O{dS(=?+-HA*w_?P*dri@C{a5fbKv;G_Ez55!q|siBECp_oTM-eN9x@zpSG=ER zqS(ux71(}$hL1@)Ee$gd*pci!EsZh*rt)f?h^c;wt)7MP-UJwH6JRU_TTP|Bct_-B zY-KsuC$rgZ%_S>gy$+hGBTf0~-!a?@sQT+Kb2MetFWn2xb8%r*N#YdXjdfa;_hZc0quc;5{x0gTuXAiVIW{)^CLg6aS-e=&yInHt z4Q}+ZTEJumHv9~63-)Mfv2JmISWx+mR=Y`;Cc*er>7I>=QImUcLdcc0iN84Z1 znnm$6I%8=P-C35_rf}w8M@%&ej~!p3H!Hoe6bx|fBg@Vw}e zPsMAl3?pNKrYJM}&vxb9{1mkIHor|izgON|Z8x{hl=wSXTH#Kpy?@Q?)=BO60XED8 ztZ1ayI-dr)H@0@pnq9J$1^F&&vGL9!vdp)WzSTU=l_$&-MsJG~NW)H`P}>C!(7=h* zO81nNWUA?~j`aSOj#zYXIsfM8hMQ@0jQC)8ioDjd0+%Dj!0mNKlFKpH8JP&UDlUxp z;IUr3WrXJx%9_j!Jbw9>sO&ee5M;jzxx{{_j%u$Kk^>X#O0gX-Tg{~nU-A!Fu8-^_+LF?79kmZwB0Y-6cY zNJsBu9vuyKDm+KH(@<@%{=lkf2l=piB4s8wEgTy7Q@99bX+_U?FBwzVQB~dKPM1vD zd)I8Wa>sPSN|{&b^Y<)u#5jinm!f&QO!h|2xQ5ag=VXC%wzO#hPKWeBSu@vI@<@z} zwOj4$?L~HDHF7B+s#Z@FvIB!6P1Q_c(?Yzd6X)mS8amZ`d9l4a=I!|u$Kp`8p6-A# zi-^zlq9+R0$QZ9a#Jir68ptDVOHl>$Jvr7OY9m=TBm(SGv)j2mWj9-Yrcx zFL3Vy>aJ7A9Dk(7?uhj>3@21)za(h9==CVYwLth(+HSTxIN>Fs5MT%IU@8_L6&f}7 z&RsIh&6$xe9B!WMTxa`EN~@n-tEQ)85`Zs6dtZsiaonB`Pjy#Jt+nyu_{cQb&lIM% zhtckQraRslwjn)j7)!UD_d8%%|HJ!!wdaZ;Dz-V)IhY3@=Z4yN|DU(ZCvu0OF5_a%4Q4 z6{zaP__gjFSXI&6Ee&Q`=E50?Z{+FI?g2u4?NY_#ni1Q_IyoorR5{hoQvGa!7ysNl zxiLR#VLLN$>f#i6WcQeJ$+ahP$*IXY;(_N!5K1d_#0Ft3gc?{^GpFguXAq7EoN!u5 zE2{xa2bgwvvaFv|Dw!su&6by~np1km-4Z{P6Nn+hv9pYsaHSLZ4<6)yV)P1U?Kk!` zQJ?crO`k5$w=zx&g>USMppPr0WsilISL1V4SfOb*`>h_x@Z#d|@$;EcFOvJ(n|@1% zF~bV&NEPh;Qu;4TOutcr;ZA>g9(dhh$}R&h(*80EeD*(?H#Jv`boBqdq z+0lG~u#zwPKlWslHpGQt#PoSGEgQvbBbkBhi;yByGd|h|<=*k2sfNm0o5sB1Ts+}j zIGSheK(j;2JVR-6^pZNBrN)I-K*3Bv!332RFkBx6L;upRE;)KBGyacKt@bvcW8Zcm zwVM9$FnLcPh7P3JG?5NyQ~4HjtLQ*@uIc9Gouw_^b+iufhX~R(YCTM(2Kn5zC1Sd1 z7vSa^CPizwSFVBh-V7@>eEX{!w%t?%-tl_0o~M%S1mtiwH&V0*jNT3Iteq;47p$>u znJ@F=!=dAnrdbokNkYga4QR%HOG7h4Tf$2ZEhy!jAj{S{Jl{*E`aObVL;rTiBIrG6 zPzUcSrkrn`ia~DAyhrF2KZz_ow9`7>v!GPn;S~y?y;2BwuS@0IjVTAb0w;}ro)sL2 zj!F6>W2v`nx0E5<$6!5BM_qyU!O+Ig9$^-I#oJp)i&};nifQcL=cSV7%)s1>*jk0I zq=dFe17>1d2Zg+X2DlEOMIq&zABA>Gdh_Hqr5;-^@_~Olr1df*l8_TELQXUk%#_^cRtX-P(+!EkLaw1iiwFT244e7r;8!v;b_*9PMWIBDC%YX#MoUt!vf* zW{Ww25UBQRnGYcK&lebPOxxXVi+lzE&{)HZyMu{-KDLA=1INyT{6EXuxR-(CS<)jFJVUBwidIH1B7n zgZH15G_sU+Z*aGiYUb&JmXlHfq;RrtW_^pUpa01`lLnH`gYqq&zT2Q`(HlvPaz77; zCuU^@mW8!4_alTS3R!_Iy~zCp&@$~f9L1~Bn0{~0nSpD{Y4m#1J}M7*pwYP`1?F@T zgvqC69;oblsiA@ZK`B{Ut%Yf6eke0QXrP1N%pMh`f`U1oC=D z%8k8L9PN>j#OP?hA6iwL6*%34<4c3LHlB$3D#{E@J6|O4%Pbk0OR`~|>?zTa+>$<9 z${Xs3M#mFN9K15@Nu&c#z;T(kM#R#{SJJS$A#N91gYr(IWLTm7?UMlYZX9eyLnV`LwrSqM# z?i5WI$9ChHMEDop6qW6zS|}%e82Ls@*dqwIOXCt^oV%rbv&N~MF!9^J zI?pnAubp{uCQaA}yUEn`zf+-0S2-XGDmeN2y((oL4gu-EL{_tz#B0bw48P z|81jH?Gc0nOZrZ?GMPspLlPgra+q8F=bkB8;|zzXqFfiIAU5 z{%zHfLYNz3(AD(W>qw-UeywCq92Z$!iF(N-CjltnJ?9j=5ik8TOp!6)O2mEVEKa;V zVx)5<%@{Myv)?OJ+Z%=bc21le>7(_1QZWZGgnHQr>{UXSy-CQgjoI1o?H#~-Dg4jBAZ@aLb>xOlbwqqAq5?TKlPJ0b#Atk+6Fsujrv6Eh zLG}8{{*e(y2K`BvK@~oE`&}bb_AbYQX_;qE)>;_#y&9h_bEaTgo=zD$Gh ztTVoYoeX&za?%amGwHr*}eHsrM596#ypNTIcCEA&FcLx z_Z;~?7Av1g&MF_&&wWpmxo@>NsOL_Z`yOh@3JmSRlyQ;c(sm+=%X(tyXKf`>-%@v- zv6T;s-l$Y=C(bgUrGYz?-76?fdJyjnicIwGmZS-T-r68Fm^q;2Ut{lS1#lLomKK5c z*O9XirR}p^xo=@cVBpVa17!n95f7VF-NuLUKkwhf@%~5IZRa?GHluf(Qxn1Q>%J@J zO_PNpioCWGOKklAmkXbT$Xn9Qy}&nYawkpW_VW8y+c>c(X9URQks$wI{ehfZ5`VjnltRFs%{i=KJf;6*-sQ?8R7pc-8|%W2$(A%rX9w#fA){iyWM?y{unze$1sQIgPXtPi`@LBS3bgh zp*nc`QghN<0!Rhv;s=r$e&3Tckk3KKQpT4Nyx+~a_(q+Lb?IyaAf!Ohx>9ZV_Dr|R zmD-qU18k?yl%)gwCfkO;x5)jN{K0NXV}?FEIp1I9SzRf^!u#;QDRA_on_KsC_l?#O z-{JP?==@oEPLZFYxVcSvO3~-OC^T*QFtwF`3ICJrs+XAU*Thl5J~&~UacmAt8VixE3lq_NjT0*D*|HNVdd+C(cUN>OtWZJ%S4cgUBBH~)@&W#!C$e> z1%6a6d6(2|1%BrG!9_Zco?a5?_taf(i1+^7O!V{N7`26*YId{o%qi5&TK=kXCS5Yn%YqFOKV{u=J^Qk z*eRt4euU+gwc~G%{A-W?DqsEE2g>v750tN-`ZIoQt^Camzxcg**0KODpNfvxRk5XA zinc0C*0N@Nx#1$a9weZuUbFmM)N7KTi+k0sG`l4CrLbMW6G0g^F3MjCexS5^{RbYY zD0i%z$&2maggP0oa9({5Cny+3wv-Ay#L(7w0ZTB>3W0TQ5jZC?Zn0O`({NKTc`Qx9vr(Bp0n0m)d#C z`!06>WZ&~Y_@Q51^?KD$Rk@26FH&shDsgStd zYl+ji6hP=S{CDMTBdQHT^8#! zE{}7b6&T;W;i~E!sH1AxLVi zoYPw+d?JzY#@dY%Ki(eY^HkSgt@`*pVQ$1<`&GP2j%ONQm-ORR*I%z%e~D}%#!n>k z_}8Uz<3Ev##y3@~uGnUNBHcFLSpA7)8GlKf6;@q8Xul-h8CG3+ZYC#|hg8=O$t8=> z;+%vQWCG%$5Z+*TXI4a%dQ3F287%_)4iEco7^!J35q31IX`y?@wHEti|CUez<>>$~ z>TX0tbEJUIHJE5dU|!d1u}5MXlw7r;k(8J9$MtkDaCqj{M4Cy7abxrIXbBEzD8f0r zkK3P5uZrmrll!ogWM&(=F1EyIkJ@f5#v4(4n(+)Xgmu8Jv< ze1Y3fw&|bvTH1*_VEzOql{S~@slI=wC7Hg^3{d^pcjvP=r$dXJARlB?hS0cnHa}Ca~0Lz%@EXo)}@#|i_>#Or*GwaN8A*SV=2G>N& zJB_Y;(Ko$I?JR^@Io&%*-fh4=!-i)5%_OSaE_>`3bpn*uTBgXvIt-hmrB&pt$) zO1(3#5y-u$cR;i6KiZ*-?0`APmbi3e+l{tZ3=6cPI8FY7e7EiTQ!B2CzmaX+i87`i zN|}TFmFH%`yj(xDh!bOjN6(XoOhDrkf{OME-=BjMLlWjPQQ(gr;>0je(TV*xIn_G{ zQqmB!lW9=qy}U7SM)Oy&o;x2|u=^~nvE+)48qIpZ?=VmQxfUCxq zfaJ({7a550TgftLqFa6a^(EiJcZcZ~cQGp7`>kXiv`DwuPgJj24-})NYmhto_Eltk zr19wCf^LHL?~D|=Kb1_SpGsy3 zqc)OZ1HCFgDPbnRD~-#&RZ2BGt$Cika&1~O12L&%!y(+=9i4ITP|s*ndrxjvIwzOF z+_)a!0DNPS;U>QqXEvtG#*^(hw+KDOFt_;tY4`PLqpK)V%+sysju4<&S8Ve>vZ_25 zIzeJHE{W4ZVkfKwHLl<9!jk(1`99(T4bpGT7N7z>~#<7 zk7bA7cc=EphJ+j3+Wwd}OiT&wYM7m(!wdu#0tbPIpwgq9tOFT)-t|aiCxp2WmO+>a zp%wyg!%tasHlDcnk_`CDG@e_b+%au+u$>FazErv42l(dRsc*8tx-GWeM zBu3z{9yik%=XLSX2r;ep@KMNKAIAKcFZEQ63q5*!>yo_3C5wufEWWt%D@6u!jo(*m&$LBM_^=Pxt+gH=O-K1qre?7W0PnIkDfVzYGWh)+7 z%ZZ-aXe|!~pO9;*3O+7B9}MDqAIPD%jVJjNJxKA=rMk9pUhLsi5A+Vw$KV*$B<;H@ zz7xj2zFarli?$|jQzbZ)oXJit%t+Ecmm^{S&N9KBv@6+#mMiD$5_WFZ{>H!K=Y$3` zP1to^d@a&9M#{Y<9HSAD7*~@UXMm4VaU9Wk(UYBcN=$gN!cz7$LVaBiYJXoBizBt} zq=U+BfG4_d#^wm^NKX!gjUab^EolotS~N}fC~M>z)PRX(CTR>ebu7-zF zLEPE^mIf4MRipxq$Szf}sHp6N{iX=J2qHmN3)I#IB=_cd|L5GK1s~u4@0-tOa$hrZ zXU?2CkGW^gDWLIh#&1d3qTO;$I4#Atof8YJ$HnZO$HnpO(Y6G8OUcY1qW8zx$(C4~ z#?EYsvteYM=vHDt+}P(kcRAM3T(YW%W!~>>M&I^sz4~JJf-4$!<_}l*vHV>y#}?AY z(w=Xze=MKEpSv7yXe?dbt+p3O_5!7PrhH!_OBl%GKp~fZjY;8S!?+v!gZ`A4N?QM= zC%vV^$s2H93h8dRegm$bg7f{?h_(M9$z0#g?GIahahsK!*%zm~3qqWQwVN%<>h%_` z3BTI1HinM$6pBi_3MIb$0^ql#f2o&!tH@CRwC6c*I&g?O%IrSmSs|)qc{&5&_X+56 z+_vXEd%RJ=O9pg7(tpGs)={ntW;q5<*q-)KXZSlm$O|jOQH|ck7<)jsr@>6?3?4E~ za3UW?%K5w>*B_??o&3({bPWHIwfE3+?M-op_sMaFmBNyMR$d)R^LS(n;q{@J4wXFb zU-F|ICkZR1X{|XCtJYM{n!f2WH5`|eMOuetk);z;$@dde<+U5+`dSGeo3A zO#eS*TZ+UJnIue!KaJQ?d<5;D?%o*;+fi_`9Yw*xkI_yq|6_|9VEdqFpJd>5W<5w_ ze&Ky-7o6|3pwEl+U=5sGEI?iB)DE`)l|!I&$Y<}unGx!Lx*eo}>(*u2R3Tgo4A}E4 zfEOxubJtzVIKk)xUATyIu-h@uWf)tf{CzZR>!WfPFxhmHSs|PZY!+LJvMHH_Yr1&- z({G#w4BQcp1kf+UeBu{MH)ubknWZGor7G7FyV3*hsCFSg;Q+oAp~Vi}CU z%K`rF@Hg8Zm){t8_yIirDez0RKM??Fe-WNN^$WE>6gVXo-GyiMfuDa7E?^YEQyD|@ z^~9%iokzv8Me9U!9>V9|U#P1T>ME1#njNX@m@y!1?Zp2t-Vcw5_E1q7 zv~v{W94YBNVu1#~!wl@z&}piW^9z3eW-&Q$;ejg3>^mvyniYc2kGKF5ozUw)DU#)i z-G#tWk1fLpzsOZMVXPOhp-Smsci?pu4dcitxU1DG9Lm-LsJVh3DFtfms)BmD{Hg)E zwH`-+*@sZUH@xpZB~HpXB^Kl%HrP{HcP!@@Ci^%uK0O%uIxQSzpHx!wgXmZMyrgqU z!k5y-I%Z!KXdRiUn6t$X@?`(@P!z?hZGL%Yv?N=PfUNP~G=1uT+#5%k{Wx}zU-+Z{ z9Wj1U0iA6AvlxFDUK=BO#?an89%RNiH>XBu6hR-K`-4Jwz>hI!2GWZ_gr9-LUElr4 zfSq61){iAmLn?xI%=6#ydAh!x*&heeaX~J={dWIO{dD(J{<;UD?+gdC_I_C=JlZ=( zL*;dRT#KJ%IVI{6{X%>QzfT%@<@LB_e&K@9Y30rNo4&6AXyNZ zh1-0a#UjgB4j9eEY+5k_Ml;VZEDRzg%nhy+a~0Witmk;(s5n9~K;4dB-oS+SOg0+u z9Z&ggjJ-0lI{>k?37*wL|8^98>DXOSq{G8ApcL;|f>-KwO@bf^K^U+Lv&k=%m< zcyn@aEd0MAM<7%Pm4mwveoBL;`<{l@KhyaWVDGGUQ+V2idx(+wuFBri19S zTxy!<*%naji=ty?Ui@DPs0-0M*p}(3Ri>(0J3F%LYALfv(SH@Fy&vc&vA38mbm8s| zzaRw^cBUn5Wm@Wd)BIUs>+x%M0M+ALD9aC}b{_2;nf+_%M#LAG%L-w&cc=sA?4yhe zX7!^+sAWvxF3Qk_@cdXkXv86u<ih$x8(c+y%SyF!)E>XE-5*7fLQU|#J7R!B#Rrf=6;>dP3ezWqi()^s*)LoS z6v#6M=)DLyYs~LJ=@<9YDg>uk=|bo{=vQ7(UZ$Z(-aaK(WmNjCfd!6cZ=CDfl6N~# zh@2~xo)C#Ei7uyCyEmE&oi=ZrzUb{WrYT=;H2uf9Z559H#K1vOo2Z9*{+g(TdAA@gTgo35xx6;`ACY$o z^jM^6r!K4DxWTYR)En1{#ypt+Vpsx_{Uz-y$Td<%2uOfAc}8lm0+q`O6>l4EL=ET4w~g zInk%0N5%OHeEtOJx)wz)jf{*7?=6=i`^ZbfQRFf#BWV)9rd`&IJl{3?%U9 zq+E(pKqKfP)_O)b8RD+5TLBoAd*_`;MfKdHVk{&rq~y6kFYAX3N{|qD!;$faJtH0k zTqj$@v~xk^9$q5_yvsktetX$bu|GG_4z=BNRQw?~$qrZxXJT$LoF&6qAXf`#IyfVF z-1TI5`<%R?kbeZ+`Ayz1=yl`9qcEQ9dN*tYY`zP4Iy{*KsQ}UpNJVhZ45}@P3C^=I;?Hmvj>1D?uL;uQ4fP>cM1+5`#fh+=||3lmP8% zL6mh=TEt^XOs77fCluz+$@ncSVK%AzqzLpJtr;f&M--QJI>@a<&lSpRM%hsALvf8< zE=I(d;2>Mu3Md1kHV?{&OHHkO%3Qb-tzOPXp`G|N_rrlQM}FB#Gt%$8h@JQ}cUu5= zRF38gS5_R*1H3Ls*1o2N_*FHhLXm-1f|_yf z>>g!v#_ZUpO=6Z7EiF{Ga{V;gV2*>45hZeK+Lt%`R2%kXO1XA#(bWwQH7&*C=`EDMuY9e@B43whk+AkpDHi3O6h}0#dT+D0%(7wx>33KS zAQNpCbMr9g9xKYlZ5>a{es?~`6(-kSvo@4Z8N^xiX3hfMa>7*qqcYZ-T_{6?7P3ZV z!$^+Ep^4!R*Jj|K6;Q7oWTMUD4rs?J=dL=Ev(kAIIIOJ8GYMzsLTjz5)jceOykbE* z<5z6Ml~1eg-dVU_y;(Hp{i9=kq&2_&^4_1cB|~nD8}y8M!E$I-8MI0} z*eWgbdrqFs8*gC@xK0`cm?HUsM*xrX3Aalz_H62YJIC^L?-;vJ_=AN03w^>u38M)3 zg#96mAm9`J0!P(0pYUM_*UrP9BXno+9DA~0Ot>#Q{VD_G^E3I9uqvpQIqKj11@iF| zKhaNe;Tl4=Y@>+2ZsYcirFj%%x=O+{ua(~K+vrAFSgY_0fAXWmt#pFS**K1>?UHcC zk86l|^0^{Z<-n_`R$`EZ07$}T%$Eg+)cWNtil^zj>OrsKpC*Ub zPS14c$@ZCD`His^|Jg|Yy=9JdK>rybJ-Ak;|9H2} zyBf|@c+E=u!op3^0v}cNC$g&OSh5P9#JTW4#?=7-QSv|MdK~^4`Tz0RkC!!=wat&u zUTJPH4{26qBsL}6h+bjXBo^p5iPQ92;1cn`B@%&4)Xz?88rsA(krx#T(E^dON^Q4$8Unl3D6#E&}7P;$<%j|q~YfCAXy3ZSDpBahd zgtOqcS7r@Th_i5dKe|E6^9gG|`lOc_;hcfW6g?_&q>6gRGg+&o@k?-4h~>&M`nrr| z2`+2N<2{Tb-12L`h-v@o(CZ7_{nCFfgUkyu1++hcYbyG4Z0qq3V4IGFV?g%H>n-fQ zO=6UmbI*wiubmKKtyDnc+)=sUE^zUsL~_M~7cr>WPpefnE+8d8Ie3nOAs`j`awyz;O;q zf9N?6>qotx2*V^|(AOCj4eW6whHq*wR-@N3(myenO$*!`B;5B1BT_kes%%ZcC#h1aTxa5)tFCbksqN@DHyH17Jk z#~hTkoVy&$0H;lFzuo}-S6`UrmU1x~Y@G9}%Us)eg#~_O<$sY z-A(kv5}mUMFn(ER4ZMrXokfdFPKvR)>Q2zPUts`du|Q$fOqypwun78+DLLtXyNwjy z_bfu~(DjCuBP1 zsZ5q|Q>PbCF!9PplrSb6pTQGU~RNf9U}upY53o zx~h@)3GJe_uU+Gm+JPSvS+o3A1?rTjTPg3J$99l0i(J`27mK39(kZUHqdrjC zzaakI9zvG(FrX8}gX|d(IzdQSCf!9Bg1jFR)<`J-my5dF&~jro+?nP#0!AMev$Yv? zggpehJC5A2uKgY8tK{>`V?d81ZMZAh$e$ClcQ(OjS%IMRep%LMa!ED*Gpcu-1>5pz1m|aFXWRQvxg19rgfG&0X z8?;b+RP-q#+#bxL=yyovK8Eok)#F`6m=q-Xd{-I0myQDrTNUD3^au2wf*@yKLzOnx zjqOOPQR0mF7R+MlpP8h{M>+YMC&*N7S zqi3_UhH@=l;a+Jq9QB@$0#J8}qKSRcNEPXK$={Xn`5jV*3&(eiXqEGqNSvJmm>>?R zY*99hS)yvgIM&KH)%}d3kaAlkVN^&-l`YDx1AUI`_)9lX_8-APPh)QQ8!Y`*B-X}x z@$S_I{{8ksn`mx;^c6{Qw}9deUF!xC3S+5ptzD@{Gj0@A*l_c`T*!q8m0)bputR5@PVjUHcw zZvqOJ+O1F@@7DZ3cl!|Gols$9Z;8%x;=36U-LR!UlZ-0>8Q7mf)Nu4n%_2USH-1Px zkRG^}NzTTmlJ#)DH9ov|_}O-jK1)IW6U(YXLai5Pbh(qDosTUf{KdPvM73YtCBtzG zwgkTsA7h5N3SegA^BtnjxXKY_-&PVU=PICbd$$1RWlVs%-2s(dX;a$&;UF0*o3i-; zH$ce0R)?Mjg=--KI7D3IXp&to&$%3cr4S$n6;-vU260E(q92%HE@q4|EIF9|d&sTtKF1Kxz8| z*}Tz1Lg`e~q}?47=6GxBKu=aD9mwXr!r|b_%L+qmQ@GY)J&Ksp9#(Vwvbs(08R6d{ z7U@+q2c)j0&LORuZ7-OXU~EE7qU{rrw4?N~SoTOXY=5aZ;vqd9%TEWWJt|f?4vRCi zdOD6TriojVwkB^Kx-}%^_;E!R=`eCENjT=u<`Z6m_qG{5?Lp8go9=>nzYyTJ3)gY; z^)%6zWJ|UUwPC$TWwV1SYIUFtf^z0TANu28C)47;`bY-8KM8UT^LDtI1Z@|&C5K1J zDA6|2G7D&W1&r5gA{}xh+m=Ag%q-B~^@?lIWLFv?bNk!B~B3$>9ENM*T559Sb z-G=I;y=qO?ir=kxeFg6Qcx};ZPp=avRIL*yLNZoy?n&g5&?~MJ&2U{}Stn9RrI5-X zl|z~h_vb*qDv&xq^A7kQt%5h5^oC1+A=|DI;h(YvI_dzR=TSAyEpL*&HjSpSFERc9 zkap7oyyaHz3#g|vFmBE#5&Xk=atdU3Xe7aWs@52m02~e zr$uU2!+)t&>4Lc@?7_Y1#) z>{3j`zM743zs>cy+ki-EynQoQ?wf&1$>R!+bCNSsF~qZVcRRl!ni5CyH=&Dl&4U( zH;EeSUQu1YNsP5z5?FCyHySs%yQ77oo=3*Yk?KKSVKw&l z9b%L5{ySrBl~;6z7~5|vG|jj=A7}eb#gpb$=6Kt}3dDc>*V-1q{}9_w7?Y5w%^>L< z^$O?x1NKjGKxGYetp=Mb?@hnbVq+ zMmp8KRVr}Aw-8~rKf$iE;GI*F)*k1c9}V*L&Q{>LH3#(c7SAib=q9Y6_y^?cA$F3H zY%_p#tpn+LXhgb>-nL1cV;tVRNxTCjY*lk|TiR^amee*(-kZ#!H<6}t{alLkeuSSG zcpl^Q4%;jV=L6`cdsxe`K|Z5#OZiFtl1AYqO6nA#EkEUgI?OwGFcRoK$Z?h4%noR+$vC(K7 zNY$$)&t++|I2$8j*v8aKo-0z;s^jALog?1^T#2co-NFp%l4HP{;Uv(tHMsK6=F49M zv}c!8SIM4dx&@_F=6Go~&?3LW&>FpK)4bwc)r`TgB5T#q1GsJy)0LO;tKwaCTV{Jx zF^{9iHu^~as@02Ych!E7cEI$;BJK+^f%Gq5O|t%Q0eC)dSi$m4R(SN)%tIH-?HY&L zp4QRfd-nQ6(f3`5+g%O#Fe|WtmIKzry(9@~A+-4Q3P1SbTJYO~SBUb*wM>IMclz{v z+)LqJ;5YqG0iSN)H%2^kUsWVhhgbM*Xg+YlB5f6%XZoVuQr=wC+*vWLUO|x8{L@g{ zGJfnhEvk)iEh#*c>lN0?F}R1UJ}qjEX)B4y6rL72J?0p~t6O8tLue|mcEz=n12#V_ z=k;6F+sa#Yp4pcyeB8F6us*Pw;{ETf=SB1C=xs(Sc}7d387Oo+o~KJKH))(jfT;zc zGDoS*k9xc`B8yISKN>QJwL>fBpLZaxYr13zIT&*9K!m=S3mjNuO8`g4q0;0}`K-4MBTrE_FNLRI7}2MIN; zJb5r?kit;;!|LT|AG0cm-+NL#bHp9;*S%jmlkM}w*g50PHT+3Yx0CH}XZ1O0U9pu< znKP%RxIVvQk@lnROtR63mm2E@hG@;b?$#8HW}BJXS^Y{T)7|ScQk`cz`X>@@lS+VI$F;=WnB(@_B5TQc&f%Vd z@Beb$I&R1riao8;C?FHC)s~c?T?#dUKmoY1juS$AbLeQu1p}+i~-pwx((MLHi?dISxa7967JcYAlZt24coOa!e#HEg^LV{3*L32 zs|saj$ulJw=GI~Rk9RUN2~%BPno?eW5HzX`fOUU`w7X-NtXHuaq~9!AJHp@HIk>t_ zn%^;G@M?<0WO6P=rozR7G{9vV^;6wE$jc<%m@(Wlt`FBAN5k2#zJFwqQTB26M%Qq1 z5R!VAj$D6LM+y#(s)&>AAV7!DXDyn?>oYK}8%7)%K4atKBXTkFNUoSX17nZO6}2-k z`p8@{b_T{DnJcPipx4K_A~yqLkPP=I`hFUNq|US6ry8_X9*9AL`?%ij$t1({5nJ88 z2{gP%bQsL{^lyPYwqLthD9**L$%9-hVT2u{N6) zS`2mh7Rj?m&V{=r$-_Fw;Y;;Jmjv&j?`m`E{##6PDzBV;B<8GA9?`3!N|pycf!<6q zb7quYg@a+sZnOfAWeTA7hQQWKQG|0pz+xQg`bk^he;p)z_K5s0&BJMqw7O#1Ycacw zt-op4g!>7(h4TYDe{9X?Zf6)_i}!{#pX9kSvTNd}WvBnFtQE@s;YVeSk+K7JpRo*5 z%8`MGYVnvJ_^D-Z_<3C5;c7e%k@q8r2UUOvA2`S@HT+8^tuuA>BFj9H`%SUPJwa~$ z!I{lZw5S~`Jni0Wn5T7to^Cxq)s0ae2mJP$=Q!HKo+eaO4LYoiPPB5o^a(8t;6t_g!H5_8Z$@7|>u za`e0Q<01!1-Hx+DA*}I@k>`ibGbA*P)_I=rA?jqc4dx3TRt1!g{vmJgIM=NvhRCb z#Tf3X|1RvI_qp?#s_cimg|!k&0Xu=JkA3)( z&>+U!&x>ydko2W?-$}rOsBPp$=0ydr01B(U>TSq1hXm*1_UPs+>Qm@{te0g!5MCQe|KEVRCmy)vQLZHfeiON*AupBy7Q|{^7pJP@^UbR41+Oy z70$22dC}z*5(DSQT$vHsxoq=?ATxs`HYvJU-hXObOQURQyqceB+d#*7wgps8AWIVw z`lO^g^>A*P8rlCZ36q0(ZKR_;_xNUwfVm|+60(9sDhgi(lG@ZFqsgT@s)Tvf987La z+Ezq|duR_aB<$0`tTs}uZHO(=2J)XzPwnCetth+^JS*F0MA0Qo!!$r6nf{g#9Mu^8FwVF7Z8G*N=UI^>0iiZ@RvclBX^OI8 z?O0N6tMxn)h_NT3@1iEPy@1Z5QLRk>)sWT>xg106QLU|}WPtsUW|9HWe-5BO9;ITp z^E8w{hP#;@%RN>JF<`py+ioq4#uQ%?)TFf~+lSbO+7oTWFw~Z8OR`CFzmkn?Kchy> z*pHD7g}VYp`>6QN9e@)wmtsq!TSG!+2=$|+mZU-1iHx7*)Bv6;0q-_=&x&gD`W%*j z!aP7_H9#4rfz+Us41+crD4lE<%N#ponot?o9$Ckk>i$A(9i#~@<*L@l&A9sak{{bu z<4tpI9^7F&^vmY*uvOi#w|2=pY;oQD7V&xcORvuJ7ynqmTC{Cc2xi|9`?GgO*`BS? zZpT^MC~L{lw)OJ7eFpwx<^MQalstQ7OsWTp?41U>wc_OUY3uMCE6&U(z)(>ud*c_W}DrIK6S4-3_O&aVKDEg{iCC;_DZeI6xEdjGU~#m z({PuCk?mq#3r6gz9$jD3A?JxV1_ZcZBLaSo8sala6yy8pR z4YH(|;uy5I$BW8ed)Gljg8z&`j@Uw z09`pCv;`7cyl;!b6aIvj+1o_nV_$+jarfHZF&j}{3VAL{-#QMt*@QpvtaDfG%O=wG zvV&xt6KAyF-ewTrxplrAqf!+97DD@GvvxjU2qgwwkmW}P?-1Si)aYbnz z(`dKg_Z#X+4tEyi@M)Ck|3;1$9q+$b8$}a$N83({$?YM}KFPwr>{0tZOS3>b$N9s) zp@A~CNU61+iN0y6!yGENPC;B~(NjjR2~vm!No8T}y;R%OQku_qxD^TL1x>vz#y*a! zJBb1J3nuP!$r|Z@p?8l+n?)CDq**A_V_XEp&SerYY!VBNj6rRCq~g4I(t$JdkqW;V z=jaM~j_wc(H!{2Q`|2|Dq0RbDfFEai<)vNTCkPTvwWPpP=Wi->zo!o zmj;9v10?$aXZR_41wAQRnoOfG5>w)v9dcwi)Z-Gjf)3@ESFx>euISdptz;bDSDclE zw*!nz5^fDYZMrcNra0C1j~x{i3uG)+-YBoU<+~>QWTkwHyC+!Y z7%NlQm%P~#3OmJ}9U2o^DgTFKc57xuB5;tTW+nsI2o(lJ^N^dYzee5keH>TPCC}4d zZOaWyh=i5|+l{X=GpxH%)#~ayL!U&FV~YomI*0j4#z4~dr;u&eQb3oDy{S*}a-UWQ(eiYP`;(xmOjRB=d!_ktbAx%fr~R@Lda6BK zKO&2i#b%KM_6ySPxGXXwHtQGbxi3=BD?h2{xkx>kP!9)XmqI-js7KWNay`=`_5ATC z_3)8;PN!v&BT&`=_2{6Uci>!oaG2-a@7sOW{-S90VQoLlj_Bl!M^fuc84KeWVxDC| z-*_heL@GOO$hp*&%|jI9;=1OqEHWN>J0V+rnlY>`s`NzH>x#mj0qaZAn_gIN_^h&( zekMoNj;AU7f%X|Ya$m4f&PK+O{y(h#2u5CM`w;$B@_&@=lb#rsOm{$qO0YJi~;u}Jsfbz{AIW&DCz0M3s9rl zT%td_XE2_1A(VZyT)nsGYGvZhUNsn@D)47n#~AK8FIA7wc@+Lv%JJ&71oF-WP0zFJ zLjGdMi?SUyJC0mSS{>)st1EwaD`MZJ+J?JF7-4)MN|xTw&saR#{4CfE@u2tXI`Yf3aIb4pVaq1a(&hQf^bw@*SM8SS3V>1MQo44@VZ!M zoB%x==}eE*Fb-;%@RJ%&%QY1Fv*}nFBmO6Zve8v9V$FTQA+EZWZ7UW12~6=7COv0m z8XOaoVlw6x&n{lEHVuIw>L^ZQE=1Zb)bhWL_9?98yR&K#P-?kJ%FR7Yv$7+g@CRJW}Gf9!NMPznf z?&5C2c=xfB)&8h?_L2*qS6(@j#I+jgmG+qar(zI-HCB~9x?iuTv8;m(V>5erF_p9?ULiakr)r-Gd2e?$T zcpYHdI>5VifP?E`o#7$ZgE}*MZ4XDn z3EO(MyGdoj>B=7(mZ66(Vz}TZhT`vXbNat`5Zo<>-j$dxMo-e~OZyKdQ_Tj&hV|{O zCXD8ov7zF0tI67b$ohNwJpJHO0!jGnCEV#w*Terf`g`2Xz<_?F*=RDszqc!`G0v@x zO|nj>NtFFZO^M!8ZArzicAN*E8LZYPyw;JSnvMsfi5%{%IiS^`IA9S^veor$_JVc)f*Yn9s5l;nK*e3QKs9{H> zo}9)ksE2F2owEOW$%HjcjntG6H8J{fS07zR--lZELD~*=^G$6Yx4{5yR(u}sX5uSc@6cCh2h{o&q-`=JGU#(* zSo~z1ldO627{4b&H1(#j$=Gm6)EdKeD&o^!lj+fLOF!8zL*wZmL8B}JjolzK=F9aV zJVp(|Bi_x%8?5yauL)?!G>SgcK9rsl3!1`Ec~I&QwfcM+F4q2+0axD%zwa}AUxkdT zd4Q|YKkLK0G|5_lmTIwg4UT8?O|Z$6$1@C@<*p98hrSE-z6q%n>ddF(=(BKC{Q_(T z@ZV@z2Cz}N)hg^u{!P$U#Fx8nk3c)&(*amN^S{7)puYb0iRUcsD0QIuhfT#H8L+f$%<|ombo_dpS_%l%76+iS1vzmK~QnJy%qZXQ4L@C!(lg z-+&j9KZD+qB=(HXZqK*vNkWU*; zQ74AcOWnGu@ortbvzyTmbt(4XxXk;>I7hpg=nl6!A>VqbE6S}S2HB&7I$|r*pLS_!)7|t|7Yu4^ewk8 z_JNWWT?lRHld9EZJiX6E`lqbUgFa+`@y^fsfL!2tc?{G)=YjD_)*L9Ik6k`US+)+2 zf^JHxm2v5&{Hq(^pj@q+f?h)n8>Ya!0psF9raG;g;_24iHV)qHKfSMn`TP<3-M9TR zt-2Y1a|Wn$WRBk%ndAFlj_1fN#`oX#llP}u|EK$XQLBBywD!bKz^Fqqb;kN?fCeF6 z#r}*2aeI@jHP|EdIH=Ji*Elp%!QEC9 zcS7UVX|8u8{zrOtVs}Z->5t@Iy&LIOtK2Ko|H5^`(nStMUWP4Tw{4~yOxTL+T?1{P zCF;%z^jLR$3Fpj<(8pUp2P{#dMSr3*yW(h%T5&?Vpmx>QEc z;z^gk3+BpJQ?zs5Wv*nCN!_{5G@}!(33U1H?#P~Zc^yqR25I^IQeAS3 zv+J_LkW|dLby1_c3TaJAf-{vueetYYtA=@LHPU#@&Tvxz1?Ti&Z>)x4gHp4 zm7h&o#M?}#ox16ZEZ**E^z&{#|8hl4>Ip6DS9q8SEi~>lG2~d5TG}ib{5Z=ZzRvP0 zzsIu6Qe!b#Ub+C(noZoJ5Q}b;gvWyTjr{e5(^VgR-7)_NEX;>I)NBY0D>ZbN~lZ+%9+Z^AV(7abH z(zjA3gR#ZAW24aqX{+^$WAmkTp3Q9Wy;=DF{>3>0eyLLFN^0Qt|LCCu$i#^P=$*^&bz$8KF}QQEn!Z5HL$ z0!PfCug@63sNA5crN9w2crOa>-4bM5vJY_fp}*k!oP+1XgTq{axeVa30kFKY$;6)c zSFb|z0cBjD!BIDrx&6^^OGRyLsTezgxjhMJP}1P~ANE~5*mOxpGWdIWC7o+o$Y=1W z7GfAh*IM2(X`DOxCH(6*MUtEB{wgqoy1PZ$qb2%Xob3KQ0D9}Cbg~O=e&wBFqtM$h zKh#s#o59apY3P57omX$*7pxp+{w*B2)&=)4lV7vcA7=RvuSI3F)_+ltYim|sXP)Q& zb*BQ#uyPrsS}Y}5F?^f_IDJmBWvzvPp2k)eSI3TF3>;+_ePVgK`jcwh1D|Oe>KWAw z9E9N2P>-$`?H$4v1A6+ckmFC6Y4RzF7?|yhZM*~TJ{rVct%z6<)E``1%h8;Ui~IqH zexxMSONp+cT0^Y@-~%$T5+S6JA+)P{x2eZT`N{5k0!EAsZOGyc7TkgMtxyrnhC0gw z_auyj6f5bQSMl}G=j62l#Swk3a);F~Gk%k}O zTE^`s)wVBav*; zNemb2h>dvx*Ao;kY!);1dOm&Rw?ZfMNlBABFz2&UHVu2i7I6>bm{NWha0s;icy++~ z0xnx)$5MGkQmu+ z)JQcjD~I}3=9sNf`=Xkno77FYAQQYE{=P39mR9lq5tFTU9yD%^I$vo!UGj(%Vd3|w zDB48c%MZ6RxhWub-U-}ccq^{iD7Vd{s;!bRH?(ww{cZFT$J!*p62cn!5SB8cOvNnV zC1GLcchJKfpmhv&5W@tE%2va3`8Ae2S2~QVTCp(oq15zpyLO{VeY*0>Ytah{=pCfR zRM4pdn(_Poq9S6@G{@K~uUMnCjxvD7KA$Ot^hC4Jn`SjUNrZaoT$L@_9<`UtN0}ko z_PVe>fOG2(NwuQ{o@etpGBjgkXdd;Q7C9@sqp`aH@*D~2F;W1~pO7StR*c=;8Lv;2 z*UAxFS=rW(wdg#DWPAGMAw$G|u3y5L`jRgkE#)6|sSS$$A_W;2+Zmscm@&J0d&8Lq zb*Dmay252_SgY$)>0>iuYhxBYS6#NK<%u&-n68kF4U1AYF!}|naSkZAb2~;+Lxbv8 zRVUJ$;{GC*?VrgSme)M{^>V|Sq{LmzS$-@r-Bs&%)YRJf)P{zRZ2A=+ z^!(AglLtAHVfp2>VS=kQ-A6_tmr{#d&}~ zv+~uB`+39CY|7*tYJ#4-p~fh=#s;}YUM^YcJ;1LO*`~+%i`{rV%S-f!FNteW3dJM( zR{GyLP=fOf9;8m|>z0X*0)Uy>R{*fw?nQ`h^O|XIcf=mQR7Eo*){a!v7Ot&La^UQ6 zO3>bD7heu#|L&`)%jwuvn|8n`$B`cG%Bs6qI}YB9ZyhJUbu_J6bVtc|&QqcqeY5S{ zZwY%`DT4BGz9M+*Z@q}o3%&QyD?szV;V(vL{#+m4uk`9i20fpN7{#T3{hfgU9M~u0 zK#@0$17UB_+QFD<3z7bAK=qCbLH(rBdv8(#)>WoDgJ^SJ! zLrplQ+D^Ygj!jks^y91;j!o8eQ*1Kap)i7;7dNl{rb0B&7uoiM?HE0G?8tmuRGW@+ zwqYv83!fXkt{&7*?G}+xOu7NwZN^@y6^zB=rz*qQ?x^)<|VuvUiHT_R% zK#pQ6Ock?|maoFqs)r8zisU?ch8sWZ^t(5;W6o+~=qQi5$=A;V&>G1T2)!e>Et6%<6smJ6}ABOB<4_&V4em0uvi5|OX^a~}Uzu0tB$!k{Ik4iovm;5u(z30mj za``gkj*4I5Uae@1$%uPbxR^HJcWsMKU5+30y{YP2Av_!!h}IX+5W_i9Z;iI0GX%xAo;v=39j_>8f0l}dHCFJUL!`gPkRXSF~FUaxw+=qRA(OQ*?viF*Xqym zAB$YmB==znN9w^4=oQxEpj+I)`RBwUI?4TCDcX+X%DQ9KliaV%xo3rn=v>HghnLBS zwkv0(E^lc3TMx&jT6^lS9wxtMQTWZu+;X$pm}|}enaqN%H2%gyT`j=1{@%kyUv%`; z&89bU&z18I^~{lTV*6G!wBF%NZf8S3`A60{Hb{l8; z&{9&puG(x_XR(TUeE~@6B_Qb`g^~oX+`3TcH9mapmajb_q!(CoQ7!IRHq@r_7x^Uf zMpOFfO#LMH{!m73O)b1@AyasPSAgV=?<0n>=C#%MzK^QmO-7W6UahrQ)>JRzFVr&n zE;z11t2`IcU*z)-U`-naYD!}YZ`8wC)>hwK%h&v_+MSkGkaO2mudQbEyZ8(I*R?O0 zPIi7#eWrRB?o%T`-wX;q&oP%@ZDP8#Ad@or{_goB>Prg_7T3nnkN9=9hK`SGZKmCw zNtC!gu6-5i`?yEJeGH>52`)+LCq)Gj9@z-mO4tk16B1}U{P2zs4osrgyJt``;i|Jh zrmCMyW9e$yJMX`w)g{L|r_ym0?f;H-j)8k;C5&2xPdni(N?rqcS6XjM`f?oP!TW!Q z`zko@AAG(Cp1;#+q{u16wc-EzgP=EMaCBjs!ZLqEyE}Bh#j?56DzDhY!&r?95yMW) zMN2im(Ug3`!7oUeD`se48o>3#sumvp^y`{*!6Qz5{Ncd-NXWblIWASu- z-Mzq(#m^dbx#~qxU&Tx(x9U38bSBRgUhNJ;0y%mzzk!nR?{@;8n3F9dcswVWBP=8n z?Eud}OFU_R(Y|9!JwdX5EoL5x>RA{6Sx>zBw<2f%XNjt7HP1|%3w-6mD!XHFxIFp42p5RSA3g zJ=2WNS1=;cr2EVlyUQqg6ddrUfxm)-vakAHw&6fu{6^3KHP*hyjputuX^!>jH5|pS ztwTL!muJCovuH7%ygaO=u}{CT(2?wZfRteL4>@iS>w;?qT(jqUhiJ4kg=Rypx$Ymn z$CBrJ+`M|%@B>%^+6qnC#nNdF&Xf0^q<3#13&IbRi)b*vx% zjUmL^dHkRMyq%E#nXTLIof)`lAdKNdpmkNo`qGd2S(c4B&w(n{mo|x21ly?wUH5!% zVp?QfMq}xF1)!l#`>=1P#?wdA>fst;e3v`*^0Dk?0Ke$7;r%UZOe=brcR1NGD8s$XPUywodanHwi zL?xeJCM7ZBA9WMOp-x2`UO6wT4R5C|>0w!n-Neu#XRz%n9sl5?`n1#E>-&CHpzkwz zjAHC-P2*)9p12r2`sFzSZ>ulG^@ET27fgv?;0nTD`_v6f`qnoD`nnsS)O7axhK@5zf@KzSMaTFcbGyQma^GL^#I4oc@n=^s;)1%i=tY@I(AWKa50% z&da@N8;71vOig%gV@)tInvjtnfIMBXQ=1FOS8Vq)i5r=$Fy_3 zss^Et-#!Q-}lO@clyd!AwD85p6^v@$~xQoEQ5Vj-;9rdhh-NUlJ}LmXBHfU zwv;5N)$}MMF{?fvUQHx8>)rn2C66JUEiBtxKj%PMlNm zxgtm9G#*}CThVdkvbqFD!L_DVF^=hCTmuO!U!bV0(WdF`MNsl#AfjU{lc_eixWH0 z1NZ~RerTr(a398CLwHo;L3=LiG*s*Qno=df_y4i>E^tv*`{MZ8^I~8?MnL7^V_;BG ze2ij6X$b=^K`OD=F{^V1vD~9(l$}aC6`GaCsnEefM$4p3!^e=?)y#txmDRC^!gEdK zI43JWoQYk!XAkrGeZOnZpmoo==idMQ^Z6`hKh|FF^?j}HBZP7+T-7MAFr#O4+4p5( z*lYO%l%c5{NBXe}mjoX=B z&}e@2Ml$Zs_64QNy(^2YS^3m2&I->jP0m_boKJ^}`y|vp=k}oXxrt^L8-$L~Jf@i* z%TE#>>W}K4qdmkVVQN2W>kJX^@oxcY*MEiX`7^)KJuhUs=c;xU(>;G$A~nC&J~s&0 zgiKJ@kHC2h5q18n7!RY!8Y)^PY~_<7SWV?e4mo?078CTup;nzrSouWD(Viq@yi4}S zQTX%PtI61xS^O}?DcwqvJGmWKro9E%puQb_Q5^*+uUiS@W-zwY^2*Ar!)P-Wx3309 za-@sP0w`n9@lP+*t(*?;Az!(&^7=#Y)}V6XS8*+vGg^|`Rm*>5;fx5EKI9M&L&g8N+XLQ&4BBRr-u?viT1!_#ZQY@1 zZsIH?Q-1*ah7oR80lwfWjsgT)weW+5T;);VxUt5frROt#6R@p5;8M&?dYigB1K+A}NuVcF$k6k^WZ zP67}BeYJ$WuQGeBx|$A{OTuvCW2dv08m;#9JPSVSfd0LUm@not*jF7rdU&GcF8csR zufH;8ED-<0L^A8l55o1tQ*#Em`>Zp>SW>FlUHGfWa3RqXDq>oWL&PWgzXcctIAih4 zxQb&CHr0s5(u`7kySyLm+QJgw}}UyevmyK&*hL8B!d7dYgB?ZM%H&pB+o)3#vd%B zE1E2WT}JDIjCTYwSJ~bScsZA4H*ECVZ_OC@;3-tUDI&D%jmIMw@aj z{EyUP8?*!=G(udYPgfTtA1Jzzm#eX>0GoC~{lDv+k-MXHhEb;Tx^zyrHrL{5(p~g? z$4U%)NLg;D(>*BnqGwSqK2f#99?h+Q{mHo=^1PnW;nu*r?=tY6aakKs%u0b%8W)Y| zuI^V9%nnF>RRnE6Pj6SK7N>9ay2!3AM~Rb($de;$fyGZy~6ddc(X8Dv1KZH6yTR) zCl7mlZ8*QB6XyipVH8k|e4ujZncaFe<9YOqzmd6{uy;Z@wdtEk{^*qoO4T!72V;bg ztU+bW(?85N){K6VNLE~#;X!$ww7KJS#zmEj!d^{S&rYULCXCYHJE6XDkosD8Ty=c< z&F!mZ<~}#{+b_LMGq3&;<;Ue&Dw-^|c{+gJ#&U;p9X$%}4Zu)sJ*iwzTLB8N|;0FFty=G=$r||Vn3oSFFe1hq~9IMWnTs((g$KM^d-i%gGirzKqk*&8# z*@lmP(JB?aA1T$AB8zN^Uc@V`Z}RivwwRT@tH>b8eXEpd`tTR6;u%M3tFre)in=e2p9EhD|@Qq8R~xtpPM)lAOT2Nz40L*Z)W`(gr&CZ?Czp6ux(wO~W{NEDpkPccpr2XXw z%(+zMOyyNq&a+BaKaectiTCGwPtKF5E= z8^0;!w_PF+DJteks->@)3oQkGf2mROo6ITSegQ4z@|3;bthh(No7`{adez#e(yyZh zu5+9c@y~btcIsU!$JJUDl*Xf@(*Ys_xIh|qGLQl$Loq0k-po#yE z*HD|epzp<+3VyCDPk1p zMzyVyUucPG)YzK%Z5C}~jO`rI#ot-9Hp~xWpPSl>=e!lrHr=R7OA`;Hu*_zzuuN~y z0=_xr+vlM_+*C#H*ALyI-#~r`V-TagCw)8{gLwBsepc~y(5i(NqifR@?Rs8|?ZQ^w zGSI4b`~N4cy2aPTD_cfFOH_GHmj7_cC1Pnjl$Ptm@yrthzv5M;{Q>%_SxslObDM~L zlX=J$^L3ZrPCgQdmh08VK9W9_mOyLYy};RTE-oroyv*6MT*Bqn?t#|YO;CD3irJxP zBW1yXi4NAMV(L`a$ZJ1wSM+u(7z8zYtuq6m7+5};E zY$dF}?HjZO&@P8m zLgjX){I~5Yh_uTgarQeT)x^l`PT=gS>6~p}mysupK%v>QEQ&^)>unZgqXNc0AI6@0 zSqWd-B-z7dl-@-T!EL5z9Mf}=+e`nJn|>7Tod7ktynUBy9ykhDiQhN@s;0tjzQ+$c z(4@*kDBA&Vnl6zQ2w~x=1NLS4>g2j14H1c!F+`8%_8y{oyAt#?UThR-4} zC_&K1z0e&;%9-rBDHw$S@)1zj=!X{bq7U~rlX`$!lLtsaIvHM*GUI2RX?>BWko9<0{C9v3K*;gv6y1w zK~LA=Q*@1c_!n*PU57h0Bc{E>oj(1d=Uj$N8xC@D6XSpNOx^jjM>So>9`FrdyL$IX zdxzVgi}&d4_3o@MbRGk=W2jCCW0vo!s7)5f|J3KvGU^jCOrPf%P;{=01O3lj!V>46 zzkP`21akO_2nQ4II^a24D`OzRW6|MLQ?8sN?0qOu?;hW*^Tak^=ZSCj0)4s86KDUk zC$1S=cu(13Y(<6VjST8}Yx*ot zZN@^+8@Veyua{l&94(vWc}qtHRM8XGZIcCcD)s_D&%AsQgs@x z7;S1eHFLoCdOGkcGfLz3T#mW%V3rBBabrW`J+RxR0EIQlk9hr?LnUzipZ#d<`&d7Y zS}BZF8~nm-z;C*44&3K8qD6WeJZUr+0rj=~d>ndoy8Ei)W~`WscbpSvU_cK>mj9GnXBw9XZOJI8*irS zS2VAn2V%e!gJNy6O%pNZSz=I*2R(u@seaTmw)!|+ql|J3^y%_5u3FL91QZ;!6lzl1 z(4T9jbrJ9Aiq>R>nyg`6#9K2F`had41oNN{7!Hw19j#<6Hx~GwvFIP!?^jXnp&3-= z!dTE{{m+`EPSohCI&j_1D*9yc)jS!U$M11Wv|Uq{S;1mklNosiOQq#I3wjJy2?ksz zzKLb*RKTVZc;MUsT|lD01LA!FSx;lXl2O}8X}hPwPMM}#BQ=z_Nt+>Uh4cob9gucG zazJ_?($VrY(#dj_aEA1YThQk{l;MIhzK3_+@Vt+}%JZiTcz{bflN5(+1qK&iilYUoE@vW5+5 zMIEwBWq`>b8_|+H(GcNi#aLLiDK}LP# zN^hJhtO#kSVrSU$dT^SDDZS3gq9e>i%^^)f$LKJ(y6 zHSmK!-9Shk@P?%Y$Y&$pcx8OqGhDyu4;tyM()W{9f{Ub4b4!YKzxle>+xR$|!Vjid z^itO*;P&FIFPpXB)WXi1;QcU|12f;nVgshpi(Lc=B{e+(aBKJ+JUKxhSIPXF4x^1x z6@5fW0M`&(3e}$(GRI1*i@)~17*x`dmZVbDOkP=hZC1bdy59h$zSobQi{IuqLTR@a zUDhRkt~vW z!yi~19vf%_`L}IY#@g`xhHO#~^-ny+?5$_dy$NLoC`nq&tkp=Y!$Y1IJgUZAfV4OA z6K%z_o^p1$70+Mt6tMG}TxY#o*?7QH(1>^0&PwYxD{?sR^j0R0>RjpJ0bd?t_%ik6 zW1i38u7}+XKB)pKx}4&k)=>PtHtaC(Xf@H2SzPB>x{5C1k9AEb%d$pcY0(+%o!l>C z#FMcxrK&xRS(m+QngF(b>Ca^6GRfjS;bWeh=YyVZJUL5G5g+d#UW(7>h1Ysw;rX%1 z^9TBevFEeGuk(`F;7?(9H-!HIckBI0?CzRyg*8Q7(2q5I9Go~H$4U~9xhF+WpkPfe zgzWs2KhntRgK1??#T0dBG13@UB#Zij(W{{N&KaMD!bnV_wjJw+drAz zuZQ~-eTulxhxLpMBGxQrRC~xO=dS!r#Gfwk)6Ahz=ksZKfx<9>7d zS*dE;T5A53FF3j84{IJW%usbf;ajNnz7P{OQLxt8EtRcou13aDUCdPPeZ5 zta~>*mwe5=+m5<0K;LRi)ZkfXf6KbXJ*c@;GC3N>6M3;lN$0{k_YUtl5JCk%KjmC6HT%WwI|z#*;8!9ILtQGHpKRt zcp#9lqhECSlJ;P~W1MT;(`pS?jG{E2W-wpRuZc~8So>_|^#twalEkmiYZ^%ATw#p+ zto!Bxc?4=9%@t01P^R=W9h9qGPfsHBn%)9%3wXI}tRMC2;(p3dpmyms@6pl$*gF;Y zd|EnkPr=UBneq6FRhTGC%MJ%hCD!l4@7CBH&>fWd|KicsltToV& zB$W%Vz69DCEqwO>^rfUSG0c;PaJPfW*id>VpBQflIQnb)=bm4X{>qPJ^t`T8fT^0= z0d2XcJ{l>%LB9X#hG{Ql6Zif!vK(OTg%`8Qw$`Df_;1-nYRD$e6WL@dJZp8Nk^A3C zBTq%rYDkXd!wAxYcw&~2W1n&CGLLWqzqt-0W`F&YV+fvL=r8qG6$-L$5i!mc z+T4b|rwT~jIoJm<)~}dp8LXONLDRIeU9zQ7I`elN3$#u=pZDs-`j;h3K?42jp&jR=KoLDMD(JY|Ef`Hp%Tn{cM>!)tw*0=DA^oYMz@(-5Rkdg zha{Yf44@Hq5XYfWuHRru^{=ty4)b{@1$=i#LOZYyX_pCOylH`k*k$qp59Nf?HWQ5g zw$&7k{qFieKhpIr5;0n=m5iHcmhc>7#++;- z%W3LcWjl(xumN&zmhf~+e)CIf6_d*p-;cDbUg};p1$MK~Z(#O0{bKAv=>Y2F$@&K> znsR#9{W;Vp`okRn!#a9~F5b$&oBD@BS(of;JiCs;_wF#~B4fx{6TOy7k-AQ`<{$WI znTpgvL6;jEhJsb@{dRni4wNRCw|IKbIyfPo)q+s4KUq~0-t!K zRi*)MyP1qeDTIpV@dq4vws~cVl+7JCBd>^AJAP!DQ^r|VThtY}0%uhaTdIi|{o?4r zn~SOpQ-r^VYoO$7{A2HJlWwe0!IKl=7^t}l#u#YbhuWZ@*RyjHO!?zMQ#F6;Hi}bB+Bk(!P)3A?tV6#Jh2D&NIWgH)&mucr*ySuHC26W zpr55bAvT7!u9$BXy{iZ103^?^yl03^?}!v60^8Q9k}y1$M__SgHczorNmLRaoD^cYU> zSL~i8sYalm$oLqacz0+V^!Noa6x2`K3gf4D7F%y?QL#3j0a_f}xY37YeG)<)hFtGh z=%-IKhh%9*RM$vVtD>*D=hh;R_<{pZnLp-n&2u&w2_0vDn{F{rcb)+1qJZ{w&yjaA zH|q57E~G7$HHW5Blyyv}QO&f$r&2_FP|I3yo38*`@C=McvUoT+k0Pee^?n!py6dFd ztjqTpY8!!WE19M4O(h}}&he>k3pZ$f?oc|sh? zT>dS`Xj`4cn^d$@I#WY(%iH&tHAwRvm+A3>c1PJ|YJ9Nxyyr4Cz80wQb-$v8tfQo7r45@>|2yrNeb3p`+zk{`3j&Qq!83G@tl+g7B{VHIl2VLhb=VTNHHz865f zh6XcjCs~h{&AoWA3gt<%97=CQxzlmL0mpkr!n3Nf<2?rWeV`2GQk4;zQ|iD~x^ZFT zYPfNVFd5pVfi?Dz2e$%uM{M`7cR`@j2kq3rDhqlig*C8tg5DoP@jD7>+}m-l=w6i%yspq zd&LRjV{P^x~l{b{PO#Q=>T2QUNla#&C#Cbi>Uxj&F-kJ9Q@Qo$jdCmI;d=$07g zVDT1rR6j5n?CTnPnZjfG-v3ITH*DDlLzjKCmM8sOrdcBrV)iIECYIsEbm|JH#hKS@Sh zhe#(r7B-|JomgkyRH!+HUh=AbdR=P@uU*TzYJSq!;FnIne2x5@lF127k$T%&WnCkz z`?>I_7YCPpXSwneVhxP_>lTFGKJhs}+Uc(WY<#ZLxJV_;P&QRAf;GMdV9XkKd@Yu1 zpl#4L{SiZ9HiHXtuhdlQ(WgJ{kmHY~az61XKWgSko?{Vl*8n#n_j{CIj-@i8Ad0WPkKij8!&mkGEAiF;pHY~9JY)cRYNDS-VTS!D zM`C93`F|msPZmc9e;bQA3ZFLtjj;Zv4P{Rh_s+*C9Dimu6zP2FtbGn`Yr(838`QSp zU)PrPMtq2dYlv}esdm@OE3{h;G$20ZTf_K-Byms>xsNBrGl0+UcXjl{H6Mm`t8IM` z{wvz2QeqtM8rA=N-<0&1-uaJ9WNsXtd;T9Q6z$KNb>Avo&ziN)e3hnyj7vV1bg5=) z5m3m3Tx48)XL_%Kl=Uh($EBK?4+6$jo_>eD59cNI#wm(=b;{XdxT>QkzL{j|d*eu9 zua2uTw=r42#)w+F<4)Z<&<}gW7wXf$($Wox8NS=t309K$c3=u!Bo6V-E5*B}07f8u zLVU3QW_E86VD1V2M_i-n?b3`bl7`mV= zmKqnOh#RGHSZROgZ|}mk-8o!_5KuaYl--!h%1X6ME{!|Y))UW7qFqaW*8(jtV*JGS zS|8`Hq0{*rfG_x^YmYh6`8SN*%<{*c-eZn!$GFy-oni0R(9s^Uj&n_deCh#Tse{FX z=Vf21-doSTX>T)-wz|vuz2Co?Mn-N=Bg5f$1*B&nNwY8Wx9IWkB?o#9(6YV1%2(fA zptyNflJhF6*oAuFSL%XyLdy#15y_wrd*29|u0G#|bm{}X#HcUDqD?fjtc6J|uYI+S zzAW(t>3j^GykP|JxETXH?&vdV5gu2wYx)3>n<)*6tX+p6*K%S1V3&GVjDQr7Pn_o4 z#{(v;cvo7Ym-*_-5I#5gCP(<*!Q#~OQzAN_tE;m~+>_ZPyD5#3H<(<7Eo~s0>|lXn);Y}ZGCKgT)nP7zCNLTP<>*( z-0x&DRnj*m)+fj4PXNv@Na^Fahn<7$37dx(C)UTd46<{s1YwGj#p|u_(2S1eQlzye zY#wA^q{p|$;zV0kOZ=ux_?o+xxZ*N%D9K6|-w#4=gEMCC2`I5Ky;!$F-xz0G9}{aE z-kOmXXXB}IcaoSIDuk9MiN5}^Y%g8v{~N%vC&Z7WY|F z?J9ao6LTW5G0q;lsnML@nrKUG)Vh-Uv`S^Wd~U3CX*OvaQ$(phho*@0{i7Sdjqqf# zFi*elk=wtv>lXIA8*x3Gw;xw#lfeFT@+JK4fwT?MmbJr39i;h>4vY9MI4fz_PonZn z?sQ~jScmAC57Q+?>z!u*>sAxaHu*Ctu7S|)Tn2>Zz zf2qcVGO+{~nV{=TNiFK-)cXNf{81n(84q4@Ie_e^}RuLl_qCJ5VmE9*CjKTL41N0{m#KH~$f!+nos+Vd;_KFO(=Z{dtVB(cv3r=Za3iK3TQ{z`&D>2aI8uv+BV3R zGib+^f1r#{pm~RMbTgmD+kn$IQeT%$E%>{JQ}hGVY<`;8wyG@L^rtNafam`V)TBwc zgZbM)J7UD>dQ)uedZ>FIs~i0q%JpO21x$X0wa3t*0RI)u(F%Fbj{dLoGvSj0rtRsW2}HwoKVo6YYz| znz;le&o~aLEdB%fm>5LK=uvcXS==VMP36$0So?O?E@Op`Pq1v|D=V~{{_b58*jiyR zbVw<6CP4_)&{DdMSM<&Iw@JfmN}%2@ct(sJbV*s7C#b04)T`r;24Sk-+C4rvb*z)rBk z`ccbLsUE_p=lx7aQhVei(0kV~{T*oigSf(m2Rfvj!W>#T@^16pg?MjZe*EN>(-Y1) zWU(IU)<HjIyiyMbFE+2?N}YQSmPR%JkE`ordi7XPT>0*Kf>s$ zr%5En+p!uIm5NVFq$Yv3IN;aR*>m0E1R+H?pW@h0wrzl~P!m37O0!wtet%27lse_s zSqbeOJtfA&=D5~(%;+x+<+^IuPO5a-TQ;`flgKK2y{)HY@q8$w$UnL9B#ZphXdVsy zEWU7A@A1bo#5lM#K}d})_}Lmc*({-WR^b#`JsVh zU2=TFZOgOCu?MqBenT4ZLb`!Z#XjEj5x>@fHjlHNHCFXbC7&Q9EACmUY2GoLZ?Ra_ zn_wNnDs@@ajR39s_WKP>)SGvW2*M zeb~Doe5?hYHvhoGo+P<^r<77Nl7~E1ioS#}N2D?0a@54KLGWRjwD4_r;6TO%jV-$;g|)2VBA zji+uYN@OrbEL=a1*W+pLu;Xrp&ILQ}PyOR4K!OKlsF5BdlK>{ngLbNwojI^l6nzb_ z7IFV8`rZr~WDkl3Vei6L=|BoaT!O7C^{rv8n&nfmR=ovn8OvI=9j?aE9o8&p)f8w| zHfvQT{TS-R*raNqA?9OATNw793FJd<6GHi{)_dSL6MmOM?RZWW_Kss%05PO|ih=FD zD!}@{&eHUdXIN_#0~0c)tnUD>pLD*(F?mDw95stMnZysGit)qga9B}>QqA7zPRyqT zKMzS#82#c2DT8S$4Hg##hPI@^TH;)(Y(?E2K-sLjpSKP@r0!cUaV~Y=&60Yr8umdx ztl(3=kENUnyz2CITd^1K`tZ!}uc2tPOucv#c-Fon-Al7c^#j?YZ(|xc@p2mZ1k#b0 zWxq}s?-?;IiwQA-Vs*0|+sCiE*KP-t!KlLzDW6@dxWU zcA_eY&-(D07M^XjHdRDnu6(|F83LnUmFkI6eEWU`-yUT6_Pp;(d}}(O+N9jPUgFC~ zw;bs<6_l7l-u_l)y=pz)Wt+m@kAMdLrU>nc5%#Ei5smqF~6*N0yO2iVW&IXr1~9? ztdov3A$m@cHC48_W2^BC)ZPdF1)du%oGT1@vv{o?bs&?AjTY$7OMM5>djfhy#oZdW zsq+vK3~HR4+e6c-Vh7?zpExKquB@p7Jr0oEInGYEviddmm;s-!ZEj8VOqUb>N4;;{ z*a|rQk1vmYp*xG9?G4%$9EiLd-%;<@EP*@bv4lIZwIb8?h-Y^7&mPqhv@Q@lss)QZ z+p9a=F-t!6JX`&U=glRHJ#ST`Ht&YTQu4zR- z80}ZI=C0P);608GF``$FJ6buT^1-8St{US36P6$CDW7u~Oz~S9#QpubkCD0;7&ow# zSJ?0@=HxUh+VmScd*T4Y`MnjP=v7H5!H$v8{9a=q#$md`7XhT^8hVT$0+6K15zlzu zUZ8Gx4Y8eo*+HG1T3EH$hdX+va>O_n_*n<=vugpTtd%$udWzFIZ=rWZ)(ecOB`WuO z@YH;usBVxrV+*Gfs&Yh`|~CuFdWtw7#|mq?bK=`{bVv!soYv!r@Uz97rC5hH1Bv9?|-r%>3mk@Kb4X0^>=#gWEyCBN4VFvt)~ za+bpi)>fZ&-yG2GPR^Mh$(f!T@IDi$utv1lYEg?#v0koE#R2``b%vKN;qo+2 z)ulJ8#!;@X!4E6MMaIVOKq_iQsDw6%MLtE&#P%(c3HI}i&IG$kI7x^NSDN1oi|nx3 z_1~Rm{Z^mppXsZU$%amBHv-oK^bZtEmCw-q-evtVOdNU&%f<5lUD>e%W#{f|;@f&m z&ANRjB^7Wko2N9IHSIV;??@fe)+r6<6z7|K3C-o#}vF^7-`$-I#hPR5|$giX}Q?{#RH z2F66&DDh6oObfMTaPRlN)K5lpFzDc3}IQ2Gd=_56JtYnfy!7_SygH2p`7uKSt)qJ zAmdF%{OJ-~O3Q>YS>l+>?6^Lv7+;3=5C#}IpIGA? zSE}BN)F4JGNfIwgD0#~eV$e3S;9Shq6P;2{U94S`t2l|CJyTsH=fw6ZRn^7u%|()7 zBC(-;Mfx1Xb{LaW3u`))ely~J@#fH0^AFC?dWot4`gKcxKK!5CzrTM?pAI;?g4jm$ zGg3Lpp=#*aC+eMOQ*ZPA=o&5;N*Fov+9yAEq0~x-&n9pP$QQ6zvYm7 ztJ*!EiE) zUE#B+?iol|$$pLxF+a!a=ry*pQq5J6hM*^pLA#ZfmBlKm+nYl-K%GQF-J}d58P?li z@oC={X@UhkArI~25=r0vt2?D>j`&wKlh~|JPjj7>W{l2nt}ZT;+9Gp)Rx*wLeKF3t z%7pViAGjEt_gjJv^Y_j#dWr6Ef2|*9{WjlONjqfj`MWY!7O#<14y^HL7`3P}gl~L! zSH$WUVhV(5|DCmomjpVeH(0;Efj2N+BGzD8cq&CsG z#y!8bO}cGLThATMDuB+VfGdkbDaJNw?G)q6HSR_5wxI&xJEW}@WfxMLQJ*_h17ndQ zL)aT4V=#}6!3PqIfyrNbDn@l_*CVP+Z$GZOwlO=f_sLO7F@-T;LV&mHr-qP4k0jZxOo}?Ja;yEzS@wg-@2{)A=lV zxEglPdjDmM3s_mgJU?=?dht(zEmHOs78kEtpKaM^{h3)@uvo#rvbcDMSzOTHSX^WX zcZBnyEOh|)+4#VF>=acmCIk<$JrxUFpeQzm^LQnTR=mG73S%ui(6~s$VShy&fsW89?fEp?IAye zazB?fSTy^PYBhMbhw<6R>{-4KXA;vi8X42~ zq{WfZC}m@Msvj*JarIvh=axLi*m|4TUgwbH8!r7l$fW9zHZJ;%!_pe(;$&1FiC9$)!FZ(MYKwKi0L;jYtzV%b#iR?sV@#Cv*3CdJgbA>ubxXId*OG|5Cd5bzn{W=8l=BK zDug`eo=qdu;rAo>{Skgw!EXZOn+U%@!TmVM_vtffWYlw)WiROGsYAMPFah|s8Yn=d zj+4YkB$cq1NTNN65Hd+zE?t(gkiG&~v6F?{eV29F6@BA__^b?`-D|C6&-`9}0G}1Y zGlSI#oaJO;x(}rGvh2a=DfoJZDRbFs z@sU8~lB}iMmpEfzH7k2-)QQZKk-??(YBIW6=|0Q$Y4uR4vAY{=LT{%>RG)Sd=L0yZ?KSMNf#o3&Q>> zfA6sf^Z$SISoDN=T|o9&B(ca%mHW8qXun*?d}%CZQaO}I-Y9JDebcI;voaECe8;R7 zgHRDx@y%Dr1GBeS1Y$g>)p#n#|`OvhivB^X8x1)2XiuH6Y#2WZK^)F`I^B zUQO51Kex2I3F^2G&_>D=Mt*wBaC)(;k|(+S?PEuvrsPgRi1yKCq~^^>!s2shrc`EGYD-+ zQ0H`QtFdC?QX{YB8(POyG@5hkYH1tfFX(Ho$y!>uq&*h>w?(1e2Zmqv?DaO{PLui#f*G&fb==x1{gkRbQ9J?!Agx z;fms2ekVIC(2F-SkG?SjHn;2rY0E#fO2$8UBB?z|9bD z?l(bM!H@y|XN7l1=s~rFEquBEzmCOkVf`dQ3RW)VrdL)PmvVXGTw`VIx0Op$`ANcs zpbXEAOKYYBxCgwl70PNr4|(dShdeA5a0=U3=qJydTtW+}dZWfx^OL?V?A;6)G+)Wt zG+VUxEoK5V`iUOGq2JP4z-X(@%bXGUJ9;;mu?KMbB;lr@x>3V0sAd3z&J-Wt zn><1dI8btvSkCj7>1{l#zW>tGW&GFtG*t#gmg;%8k$OmH_^+^_U62~}6 z2s4df9A(sA4SO9y?NvAam^*NK!b^*D2oJDxJC~{-!W9(u{w16Vl*>=nu=l~Rik|3Ep^wvue)Qb) zpT?k0wStqM%No^+Q>YX6)*=wCIin$e#u)!jN3{zyUMQM`%s_xRo@l{uM@?I!Of+cZ^Emb zpn8*DERz~bpD4zALomamProQWP zmfM`_yB6+S1IM85UB6!<;+YGXit+9ln^?q3L`vhU7H^V$6~f#K}^e@eHr`zHb!?EP2LE$se}0qmc~ zf3HiC`#a#tZ-U<6|C`=_C6z{c|NFpf=)HmUem?8{nBYZiI`IWgSu3%rKvsO3v@Aq^w ze>vz0l8<_yVbR0FrpXaqA%F$vO;MkCES|xFo3qJ;dD&#}PAQfWC_fJgNf z$5DjJqkYdvB^JEO@u6nn^<@ZU5N}|NATm0gUt`|x7`@?-y_{lKE6Gx1IRrBIK_NWt zV5_;0Q;_k$b51E$?lm$x?vnUuXfmVY62&F{Uq@z07h*!=2I#mqeZQvT?)AxZTwVYF zJu*YOuq23dTv|WUaX0kGM^;{@A6xiNaCF21WRUo7j~w-YwDy-~6LV@RxeL-ZxL!~_ z6!i?}s_6!5r*WHguWpe{RjS@kH2cjXofuEq%;iHFO>A=!xev7{4gy z>eRV~#{qLf*^8Ba?omy%%BC=?ZK`Hlw~}zi7vR6bcAQ1TNtIHgC$uHHEM^oaKLwximrE{=cLY_;p;kkMlR0ffu04r4rbSO zNpyz~3S8n!pd{5B6{i8Gu2Z|v`X{*v{kz21B96?ow)G5JJh(+MF2=dabq=_qCz%!G zbKz>V$HM61>OVRWlRk7xK4V>es!Yh~ea(G+Ez-HD4~%E#Wx~kbv+nB#yn#eHliOO+ zW)SsQ%7o7^%T0 zd!@NRLrCAR9z_qz@h8fUIB;IFV>6)#L+Nyw8N)!U>ZMW>p4!K3B)Q9gY8h&jHGu9r zeOB7Bjh(he#^x;;n-bm1;`uN(u);Fsv6&BjTp2>k@I-NS;5X;3zZ#pAfw9@vE04|Y z&{^rmU)51}MIG(^SJp8*Qb+lJQwOevXdP9NIvx)JHw}F>TDjc9_LY%X6pGwYfV&(Z(zP85=EPY_u1jI(uJBUSARZ!7q_yw97aEBVD!sj6xRmPuVEtWiGQ{F zUuZ!u`q)dEFGYSdIu~!Bm*?U@5c@X+_Q6zc5R4G&MqIfEqGNPz5U&8288L1}3G4@F zFvdPTvL6z}uRYf@-PFcAW%>BuUI6_3NE)ez-}8TzW#M-C{VSxeAbs?38p(uT^5<+a z?vL_WckxXsiV*A&+Z!obq@S;WonZ@Jwo%p^k;_1jw{jGf=y;DlMT}WiTvgooQSEti z;_Sc#rfWM${973B7l&j>kNDhJVYDi8r?uBhC9noe z&I&$mU{&OpihyU0k5J+=u94^dU@OjkQfgVDyjxRF!^j#pq~`CutFQw7Xc@I{$J(^( zFR#C;KmnlMNo}A2#xo~)O~f8BK^*V7HhNxOluhQ-Y*M-+jr_a<{UOf1*uRL3KH5WO z-S~6)G`v#GDi9CC)hgiARI^M+k^y_Hvhq~NVis?;%43IG5*+=ah2#wD#PQ?o^NZ#P z*%*Vt_`xtXih~eerlAdq+&7gRDUNd?Pl1s=CieVN2pr*_wUl|y;6~9Q(DIK0#%f(l zrFBFxa$kjXJoGByeK2H#cSiyWhT;1n9%L@tcw7?S3ZSlB&N9>tlYPlN6vF3C0rh}2 z$+=cSqyy0i<+aOiT%I&%c!qKCf+7vjVi`^YohW=7P!(5MOqTtY2bQ0Zc-Nz|5}gn8 z#Vyy<-`XLq;7!+<@>W>fT_!3WX@2|dxAg~-S&U`WQ_W%iNeY(dw=^wBKdPqbP51e_ zCJJAo_WCm8ul$Y#yzxP_zPKb_7r;2jm&B{_6!VDrX=6n9^y`T3>6c+_R=+$0_xkUxz&V*hZx$^;zXiOLnJ42m zcM9|OJ$g}_R9v%t(b)U$z3=vk z&1e!#gS5^+{<9S{eT8KOJ>NB*pJ922UtxKiueSWm@3S1{-?RK;S;6O7upfN~H2l+i zF`q!+$apm)yX@-0zb`VDKIeGR%zRrbVoqibE-QM3aCxtq^IJz!;u>)?F{(GHY-3tX zhN_~8!rgx2GEtLJ>DOpf#ax{dJ!`!@qvf|PQrh#WDUaK!w1vHmVWnNMNjK-t^w`)r zMGy2%=Cb;#%$#45$2BNz+Lnm|?~h@+M!5EOzWui1_S66g9XWgOZD#@6rb-`qdsy6F+7CwLgvKgWi6EX*t~(t>a4=14yq# z>;WHeMO%4G=mARh?WZ1AS13bej@*m))sA<8hY98d?V7bNxy1Yv_BK*%a_~KhUwKv zWG#guA!@5W_XS4-9coXcHo6*pErtu}D!PCUZ3uh636h*gocGh;(_)(V<=-jv>xu|z ziGSTQ@c$E9A1Qe`u!6$F-bZPw$2u@fRx3$Hqtr zSC$*K(7Ye=HM63bIn}(B~AQFv0I*VTtTUu ze>*z$k(HPFT7sY*B(KK5{Ho@(hEiq&mL62>)gOuzxVR@=*V9kvjcg6KL4W=-u-4_$ zcMbfnkF1Qpu)I4X>uKi|qo3AL$acp6W9?1Aqo}gQ@v83XB`XaC$O@fw0)YTFiyFWs z=_HpWDq(Yi;MgGu)g;6yGdiQAMsYzDC(tN?$P9`)VNZj+F)9W}+-79#h|WWhXG_E+ z#Ds2ys_OlJ&aLWB!|2Ss-}~qLDqYLn&$(y0_uO-O16Z~yelC>#UjS1~_s0LC>=vc$ zmMhAh1lST5kI=H!@!3%J|B$IP{n!6d+2|7yuSkjU)DQWfC=~82-$>%qhYVg&vauEQ zSWQ92$#1&V?#-Lk*IaLT*<;qC7dD&|4+Vf40#u%Ac%3+C3%Gq(w}8&3WAcA)@7Am4 z@C(Y^d&tFj%3e9t2?Hjs_RFN-?r%{cOq)Q>c zRgY1mWS#GUAo?HWJdL_PTgu3_&RM{rEY!1U<)L>-lE;u7nY&k0mv;%bM{VCruKxa- zC6dD6e9dD{m_^iE5e{Deep2YTlbq`^U$6I=^&fVzV^Umaq(m2Dl{^*$Bl4C{ z#V_9h7&I8^doBuvKLo{Z%{KuI*nuw`g~G_t`ERuav%iKnaq_o0P-<9ofP~c;f3WOU z!njX8Rz&8(j1G%;`hRoiAA~y)J3DcN{z0&X+<|`ufp`i5w1`Cr6aobF6ao=W5b1rq z#~dH$F~=S4I&}HLN1^??x#z1jNvF*@%?6cUQ?{UFLw5uFZK@Gu-hxt?Q$f88Iku(@ z&xlT^t)CxIHKHan4t=h{SQok9Z)hXCpwwH+(9RFJ;B@S597u+~qi?sBG47R*;alwG zd7t&rr{u4+FE>)W`$>*=e0TIe!UQ=8#nSkV0UN zRd--6d6~RIdFs2EGx6s*@$Q)42rq7n*0oEiYgbI`RL$%Zl^w^tt?ahX0pHYWySllE zfYcW!w_&0$-=S_cPr2A7&np~S)nZEr-f^B@KYgd`Zi82IYL#Ma?ZB;WsN@I77FF)2Bry2s9(Ae3Z z^lH@^AWv?yj5vk9%#l+0g5yc>9Nwe;J|#Gb=-?ht@l6Qo9WxzMUCcFo9jCkSY$T>X z8@!F2JNKy~+x_+DaqY9+(f<+o4*UO85}rKHuXV{3Dng%drSikuJ}Q5t^ma+zm_*P& z$Vb2_3}gf;vwtVv68N%bc#PL4^h$PI%52njwA9MF><2w5Y>Dd`(m>wqjn~_H6XH@m zjLPQms?i7CZ#@kA7l4iW)JYE$Z|j|%Kz%GGqb{pDRbi>_En%rw71nSX^Ue17)IXPk zJ%zFaVy3)uGRKp6{>z>elc86oFYZ;xK}()_vTyjag=B(g^)aRf5@(OM$9q z!I;iS`3+~J+(wi2lU{xNUFUblS6g>luX7G|jrY_9Pf84W1~kMs#x<_DbUEXj6C4IU z)yhqYw{w#(cMSy`)vHtNNK@i{6=b|;UeM4uq;YU#Md{E+!!CsE4)2iW!CUYB37Ox} zGz4V+@t(Tidu8bzwdFt3Q{c>xZ#OU|+w4pw=4%7Bu>5VQ2)f$cbe%0pxFw8s!e@f7 zxll{gw_FlB0@%X~bl(FwqaI`NqHnhn9`vS0tzFx^wQQaf*TZ}{ZIa5IdfZQ{N zo3o+M@a%@ZlxO|o!JxiP?_u?FjFv&p1&%)e=c3XZ{l7)Q)N0;5rP``?8L7{a>%4Iu zE^c=hTAFX}Rx@O`N;-LCSX>c6oSERvrQ@S6$p4x#<-+LLukh?83KRXKl+ig7DkgUc z`F@O=kR<$92v^iqC)4Tq+BEuZFFiAmB(#Ju=d>V>U|}Gx38C?)fUdbrv0P=HiNe&r znKAaJsEaj{f%EY3)oILZxZG7~%%Wv!%u2YpWy6_cr-m~NmeF;yVvao3s@@k5dgXFm zHl5+OgsfMsVgR-U)XgBx>Z@09&A4{3bA<*dUgrwNv_VQVZ;+DAoc)q;#?O=N+UX=9 za-r=oN>9R7L@o(mQGcK&hp`U*@Sr~fdRpc&*;WA82GO%HT1uhj&6rs0+Nz^{`ULbz zbF?RM<=X1^tJTX(makp@{_>+eDJz|H72~~{yxPZWH&A=fx#x!%+1>{2$o6@XkvVaY z=~WM9?Va#7y%fHg65E-ad6LP%yqMYk`9Zc+TNG^?Aj`4k3Q;sk)!rN7=>8B5?2tv z=!?$~`6p`(Ms* z_b*FG#afNng3NZ|psH6poY}^1WSb9JQnBW8sCCJ&`a8>i-T&>9!4$8Sq(|yrz?b&F zmQdRNY5~^HP44Wv++Rea*{M3d=u1gpT}S(0Nx)SnE*i~8wjY=O*mBldVnuH*4efFa zT0D8}>|R(AuJ#$3YZ$N8@aqj+=>)DQF)-kR>_cQC?=$}PxeJ~b|wxbZf<@d*} z*Y&@?ewa(_?~2F0G_n7qcswzhD5PH~rq8a2Fy-bx_CY!I)9at;W7h+oJ$R{~r{(FL zn`11AK5jn-PiWg@<iF6zdax4=eK`seA1#hfpiY{3-k#lYvB>Y z;Sw99ol#Pywy{%o6{xG?zAE8y_8joavBONZMKerQIAZ3**|%hu|E~0G<$>0r{4g@X z{+>h4GX)bn*c_ELbIvQ&!^)Vi(`R#gBRt4RW&ocSgx>IQ*`K~^2w+pE;@5@Q$Zk|^ zG(dVxc{5GQ7&{h&@539yb(Y9iGr`^npX3XO*anknbAwrm{Pa`OVXIKr5H<1 z_HM=zdFB0mtGcSBN~Y;+m$BJl@g*ATIbz|yFvh}t(f`uIJyAIJA6vLTYK?P__x$~z zEZoO?j{S!g?uo+lJ^#+a{XyY`V&VRPaDDjS+md7Y|C@z-qG0LycNXps3hSb+`r$vY zaL4pNZ{hx+P!+`S9Pb$;{ckPY6NMlCjfMMz!sMWA;r@W|;(uV_j_LpJ7Ve3{j(=m} z{-E%^V&VRPFy~*kt4L|r_y3O;?hgu|1g?z9i&hy+=x$R6zm7DMx$Z^r#TVCI$Baqm z-)^0@=`|br$U5VgSH8=yHf@dD$;bN#Z$istnUbN^#EBlQ>B=~F>Qlz7u-G2_rc0i) z=7A- zXyDGO?5Nixl&MF}HteguVrO3vo(QJT&X|j*5|e}>-bYJ|;dg3a8vIZ2PJ;gv>Al9Q z$xagT1A{3w3rU#s_hA#1%Q{(;$vQ1+otq#$e_=*cnnoI)IXaj5JU^GY{TFG>J8+GB zZ#c8wM9<{2EVlQp+D(t! zkpAg5t*z2EtG72F(l+n(YuWX2I{%OuLoIM89dM?Xd2KUrCxhOv8iHj!18)aUQ8yt6f|75DxW+Ies`%jZf@& z!nV)>GI1F*{@0+V>rTI#@olE&6zFGRwD<$bIyd+HclGu1USP>L(o6s3`?mULeBY*e zUh>JO!k1okDtz%(zHjq9{~cWPzxI8bBy0;@?fZ7k|4+VelZBgnvhUm5{)O*bXn_xX z-zEwVg-63|NE99jqwm`XgtDNCKHn3b#wQ7zd`9}jhZBtjp6i4Ex#!ztC^?@b3#Y@e zo^KO`vwd>wpHV#D?pHkDp3li;m|vzdpTqA#xL$|rXCyxgPk4di-JZi&+knT`7a86g@u6SMo)|IPGr0%LLhr44iWHO} z{HAX-^*=X0JD2HOkj50k^*vnr1*liomuw|#Z5q-@n1VuQsV%E~KmRI}wk~cFP-8=} zIrnzSXyp8CZniBBWLW((R-1MkJ4sc#tSY<8W^3VJ1}eTS4(a8Pq2}xgpb+_l^{YX4 z`c?RY9zDCvhEj_5bdGH&MrJvk4^;QGZ;vgZO>HW$Qr~s$ICpUOyvU~7n@mb2F6l=> z7ii({Sv3#`ppg2(`!rxAhs0Y$196>a*{J7t$kFf5CzEVp@eUuRnGwn-kzM(sXqvD6 zdun&roB;Xm{R^$b(9hJQgxQ`qyX9T_L!vPh*`-H+g^&*|_#xj>|0}imWPvTkmYMOY z;gFaZlKmB~Ijn_LY~zo@0e}6fu$brTZfoT=xghE0pWK zXs64z91=ea;yOI`)vd$~D6*|>#WvmTZ{hdWMy!eqrpK`*>Mx{37uxH-;!j?g>{ma4 z){vXh9x6Ttzk6!aYQj|-l<>3K zb(20ZJZst8UScf<-83;24vU9@o>B-8Co+ux?kmLg&wFQi5`XAiHDr#ldZ%Ay`eWRi zKuHP-YTy_HJaTRieQBZp&EyB=JQsUe(q^$%=eJKIM!UKEqt*m!U=KQaPFq~BrLdv&(zif2%it5*^XMj|ATCoMk((8PPF={f5`ts9H2D!4Jp-=y8LtpZ< zNQ)WIc=d-?Z563{s_MgK+Um8-X3{bcKQuWXKq(j@Bjs5md2M-Eyelk6$&i4SJ^zh~ z3H{OpI_5E3VtEdKH-AS7z_r?SfgQ;!F7j_gxqOJ4J9>Z9fVhdB5!8o^kOnNVx{tL$7M1`o(e2 zWbiiX8yM3Z@-h>@aTf3y7&i*wemKk;WuKgANk0rIR1u_l#p~k7QJ;!vt)!tjU-V`v zv8I{Oc1XBUHutK{VCD< zchdT&#?+tdWt95Y#MD1gsed`tFJ$F1)lm0FxF*iQm0mdla%(F`uCXVP5#*D$v5Jh% z6%18Y0Y=Z(?*DD++)JD9<4kCQ_jx#nTKy*qRem$H;iA`S`$qa*gLyxp?Qlu2`SqY} zRM!|+ZMEdLr;&5Z!s3PC*;P2FUx9Di;!HJ0n|z8e5<59E&&Sev9uf<}W|-5-(32TT zPd@H3E4KY-({h&o z0x8m6n%?(0cJmNtAz36%G2lsouvi$ZXp7{X3^ltty1T|_v7^7}Vw>5UGDo?))KOaq zAZyC;=RorZx<*AD2>F_esVb$0c*) zQ$kai14`0lVR1K4uiqEfF$tuF@5DE~;|QLHI3w12^{yh4GHD##ukdb{Qhv>t7h3cc6JD4Z!hM=5o6(lCTP4l9F#+_{u=rgFrMTp+ z^Hb%suzHgk_~Z%iFgo6{b!BP0iqs!QtwuvqNV!A5?th+n$}+vZk~fi5n6GMbscW+( z-5Iy8^O>!d;U`|P3~?GkqD~19oCeId%4Y$S1T{!A<2=WKa>1;GD}{XDh0)`t%*nGA z@vr$+D_`f|j(f_I*}fSnARn_RB739>1 zfi92p6o(m;aa9&EEyJ>=hh4UFRd{!8c)(Z4MPXM6(-y$HJex_0k9jVD@3Lv6fk#e8 zY-Zn8Y-ZmIer-5%AfJ=s&it$WV97Js%=ejT*E4F*Eo+D>g1nw z?BJ_;jQE+CH4yK!)7oO;oCL<~TnM9m;%ThE|03eA#7XNs8B$g?>52`W?y&ycahpS%Y!=IW&gS5b+s6!(J~j0)s47oYp@Tt*E_WP@<|nZ znGrxMk0JXsJ%bobSsu_5#-;uPGX_0wChyVMU#rcx*=*}9jC%*hc2+xqzHR_{9cMOM zkbqoZJiK#p(^N3~-ov|XVKFth%EnEvvB`K_0}wXinSA)N*Z*2AlfT4yQZkzL9*)&` z@|jVkPYEM~j{!YGuiko)>%yWG{7T9+?`gwT%behzRkKNXSwW4yy=56YqoBHbRgy3` zP)WX$QVov?H+p9Q4*VndB~TV9*Kn|xjR(lE)gC4RS9CtW_dQzWJO%FiA*68k1vSeL z01hW5Gh+dmMk3Pp^6ZRW>p0Kept_kUxcSoW4*c2jsPNkZSuRLvw%K;u^iwuklI)t# zSx17k2B=^SP(ck)!K7WhaLkV*h2u5^s9>f-1*-x(YtwB@U`z&em>#KV!;|YnOX8gB z=7$b>GMKU2Ge#OG;ugQIRNcJR@n_%DKQ4&_dDOh1Z3ln1qD3)VPZ8kT}G&=BpNo~_iecPk_g)S5SL2n#;LVDGV>t!JO zmEKx*@k9|&j8_7vp~`EgXtT~9SO|3ep(TL`5+6fnxAp?40DFxR!>+OiyVCz0Jq4A)*1ssc%#)Oaj+yi%^* z=F~%xI-Ul)Y~m~6{S)SFg6Anx%{v{s=092ncWjqt8P6b1KuMTYZ5p}_sOqK@(hl=9 zGKaQD<+`7DcCoqGyD88fz3gl9@cT9zwbGNx(o;N{4F~6SGuLdha2>_nO!B)xBZQ7^ z7W~FKhms$v{f9z-Kc}>Ce&9;_i{IkQ6U~tti=@QyMUwu8i^8jDiLW+QRaaq6omFyd zyQNU>8hU1y-H)e5%+U9Jemq6md{5I%gIhIdt~-&5bB^ar zk1v5=;ArgDGMSL?yVY?ZQJ}Z>A$;mg!;u8O0BXPz=ff8)Z{W=)<;@y;4k8&NNMv0U z#`s(KR0nE488zs;{Gu>A=Cs5hnrb+_9SZ4;kZu}juANNel!N`qwXaSY@uA~$WF&m)g4Bf$jGe%2%Bn3U)5#RlLi3#UanbW11MU6H7isTlrM-Xm z{ZxD3j<%w?Cen&Fr4@8GU(t$JA$2~aE+%)@47A{7Uu4GqbGx67Y4@2`vF(0JY4=a% zs)t;&lw1khiV3@E`>KJQHYMlK!`w^EX7q^4ZVrp5!??$N6G3gPXQAvT#r;_O@$T;9k^qTCXVCk5u$ac_%F={+yEZL7T0nrQ>-*opkFfKO@ok+o}ir^Gef zRcjN6OOONb%t%^i=A#b!7}7#ckwv)~7lrG+GR<3mYeb&xr!=%xe$QN;ew32_)K%%5 zekQ$6Nx$i;^bJ3eUJvOnNOJmvSEc8Fru_d_(yzKIeZ|kDZ&%XqzU9jFg*3gM!f8ou zD$u-d4kPVN=Tlaz_`$q|XN?;qhWWgQS(!?X_o!B`B0FYst{X&B0NO9*C{IW=Bk#1_S!}uZ-2yW?S8-8TD=|j& zzW3@4X~5S~fP0;6SCi`xV|j~fQfLHo4K0z~ESL9C=_>JSKVniH%_GOLx-!p!*gRG_ z&tGVsTAD}y6M0_vi99Vd4$q6uGw#g$GA^yHC!wN_-ypYc7izpCmCk#R9+P z?82%VBcxs)RuR^yEoTXq{h%Mys3pqt+OaRcjMnpMyL>j_nO3G|9jU63Bg&PA&q%j4 zrfeS#bv{%|Ewf%!Z8`@#w7rK82 zIPP9m&O@ad_kkep{%Kv7i_(Iw3d_a7f_(D*!Z@neFM~eZO8a4ee!SFveGG1V7t+(w z8i1qZ8%vCJ80!XCVE~LR z<+;8S&-I3 zbj`RvR74Vl%R!8tH@w4ElMg+v2^pYmY_`hyP^sLSM}0V+mWu`Vc2{cL|ARW38KVFe zD65L`f~tFhaz>;{o6Drac$}IM8I$|lF&-Qb^w=Z(PiPO%6V~n#z6~)(^aN7u~E8LR2aF5E4FJCH=rMD8)_ zJo?!>5;nNQgH(;foyEe!2h{uVd~q)85nc$n7SD3X7N?lcwOEO!1!L(Eo)6^{Iljk} zv_Gj((tou_J*;FIAE~G0o=Vj+`2Q=_EAW4_>MZ=!T&E*?kTTSnU;BkKL&v= zGal+)c0BxU34SB#ryi5cjadH9>Xp^#_s%0c8+<}4vOXad!)1Z1#F}Uv>p2_L5HZSS z0A|7c@c!=QV?AHO7f;NW8u;?s^7Eo6>{@PyoFBmVAH*fzyt{ev=D^qD0|6`CO%LQ` zWfRltK5>_C$KA5zFnWdS?iDN0EBGLHk&p9y$}DrYO2?$Htreu&Jv%6$94<;Y)@MoJ zE=voZklfZ|QozbxUU#2iN{*ze*=7N)T;uI177T07RTK*;^ndCaE(d=z*PN~3E_)ZK za#BgURd0Styf#=YRM0dF>HkXlf9V=sZ`@4X<%VUL-oHS1k+q~-i-qNDbQe{YvlU3? z&n+w#Y9Tc*e(7fkq^dBOzZR!Mc`f&GmxBvlTbQ+`SZJl?y+QxKxrVzuyyD#aRI^9; zDqw(-DGX}KC1I-9a`B}F*thSYw&4rj@6#v9zwrr3J8=N4Kn_R#<57tD1(GXLB{%zbJZ{!g#Q|94a) zZ9hk8JEjXRz%;3}1`blBLaBOa^&je{8A}T#;PJHV|?{xtHJm^d~FU?Uh#Djd^JbEJ{Oo5{i=trIq-EVeElAv74m7x zEExL-19Du$2k*n(!wHh*VqrCozzx+WrCi2ULE}~dPRi8b5&un;<^aX1XS3OTHgQuJ ztv!<5>qEF#wL!`@vs;qgpGehp))g5Js%!F%Gb>2K{%SV^dVRmxC$Xjt(s(o4_$Avp zk5N6!UcEZWj$_kVX|UrcbS_=uz_xZ)4!2{EIxAD{*zeBD!S?D}Gs(2?tQ~5{wsuyI zwD*f^y{0;&Qr{3;<4j{6lda}YNR4LnE|BET0m(00;V<7GGcgz8n)s24IryrH`Tj!_ z(+}4Wc>X0ZF{N-l4%c_3a1R%Os|YT`^=NbPW3iSPfCi_~^XGyuk#ZBH!c>B)w~2A# zxtG#l^pE@TRCNi_;VIG}W4zuf>kFyZr7;rF@j;Z14<}i;n&BHv%Rw&wP^nGq3L(aK zQH=jS2IIBc7~|Or-8PD|6z}!h&Qi>egJ0ge~JdsjRD#$>H2T z`hj;kWSMCY$V^l2<*3Xw3}awiYjEM}$_*^?!;lZCX$9V~AThd_YWHOy-sAae z)0lhUl6iJj4FfGH^-YN297s4eak0{p%YJn-+sHZ@<4hOET)aUyjbNXS`w$a>Uc-$0 z%!l;m+dI-6MunRj>)0q}MDEwYJ(GXRDYt(}IhTV{AGZInBx90lznnvs=z(|m> z75N1F;+ij?Z;@Ngn&Ud;R>#Fis&`1S_>ZxcaliI6Xv>puiBa4Oi!XYI#oC+{`g#@w0BUE||35?t? z@|F*J0eFeGbFuEl3ER%mS~G?;@g3TTxveM4%c!}zCB&rG}Dr)CHjuv zm%A3De9qC)pB7%|a;?VMf$~UXp1fhkTzE1I=F%#}zBx{OPJ!pR0hXSs3-JM=w2c;L9$+SRL-B zC%Z|o=ulx4TdP7k!W_afu`F40E7A{?IU-tSp<|$xC7F0aAL|$zX0EyU(t-nWo1eL& z&7e1ABmOk|EwWW5@X=R&CdLT3dwxn9NlN*gpbG25R{rjf}o-uDHI9Qo1l-WAk47-ND<#x-sE z!0g#ZR|=3KJ`e4B04@X2tKCJ3^-gK8VXzhMjg0YeH>*mor#rdD-$<2@X_eT&=oRu0 zROi39CWU0#L*o0PxmWPwlRhow8^4l(7ni9T%P56*SIz|bxsbNue&C4M>KxK4{wefO z=CvJzjvMyMUU~2;;0?RXtCKuBmC3q6($)8h*1&eJ&d|Eruu+arUZj*ch4K|FbC9dP zZo5>3^sf&2=UKr*a)YaN^;l)z>~OTM-tJ8_$Yl<^kCdJjEjQH^m$K`)%TFp|n!uL~xo5MVF~ z;Q&`YTqEI1os4qEpj&iwrRCXH6Q9iEI&Pf3ReUTwiHswKK!MC*EpYmH;fY{eG!C6! z*n1&?^1F$bO-$Hy{bAK^j;JK|MrL&q=@sAdM`R&glq+-Y-_sVVTrke&0;|l=UY{hN zkG%o3WI1--^UB)SFp>n2|1fy{6_7veJ$%_WSLZx@`N6wV+R^VcNbd6)*Elk97Hj%V zsSW6ElD8zYj%Y}{A{pezVCJoX92a7BKCuy8NlSL;`k6xmIDK>AW1tPT7>>6+hT}zO z#*Q{7FKOEhJ|9M71dK-Rg#mcD6nLa!Z?Em`ij_{V4W6!K#pbHzl8M<0{lE97;mmL0 z*ACaTNpfr$nOBEI5=_3L|4Y19Mf%xc#`gX5-22*(ql__j@5Qnw$+AeKypcgeR2l(^ z9r)>FFY>`*4&38qT_>cLpDDN1FVAW7k*A={I=Ilzz;Jk7Yf&A$QEgZA-0r0|b`NJ) z@6p(i*X!*17@DJQ(gW4`#dqN_lOt0pwKQykr7i`iR9rc?@u5 z$K+u?XhQ|Aw7Z4B2V~7cuK!`U{%FQI7oN$H^@LfSM%0^{V9x$U(hw%U$f<5VDODKl zmgy&oE`B}VZn^Fx==Lj9BwZtNV7)WFeC{R2%4RRC!Bz~FM!R;b&RY%8zZ|?BWuo-! zHgvP>B%m4diF!}3_yuT2MQuqjxp+|uC&D;&F2a5L(>%R!;W8yqim>zG5U zNAerGadouFm zh&!;dPnGbcWNmC&jZ)4D>C;wO9tFvgu$yNA*E5lmGv5Mu#nDJ_FWE4bL^16NjBu_J zS^f76BYTUKvC-h4aD`q_sOLfcECRXUXaHA!nMSsQF_yT1$Nn1iv|JYP`$fNXu^hEt zM|fpkWCBM1QkfTeQ~kytt5vJrw*;8{4-~Cb zAJwWk_bM;tBnll(hOs?AF%6he8lyX0Xby>d;OIehE81Z^dYJJPYH%kqB;FZd8>#M2 zt=n!7$gA1dr-`nCdReH~5Xc9f02<`}khnV#>1nnfTY|mEnLp4PlQ%K~jLEvVI@&YL zGl)`6j?TYFCl2U^A#t%UD`vELv5so>Au*n=FU)%T$`-vJ<*0*WYW^OzP;-h4Jx$)g z=0km-DZ0PK>=rtFcmm^*Fk?<_XN^S`+;2eo{Q$IM$;32fz=Cc=>-N61^-Rrr;JX`1 zGmK8WPwf9V9wlI{J-rz{iRkPV+MqzFtASC1;SqyP?c9zCn*L=kkwv@Njr{#K2?6;@7T# zN1OtWvl3&9+ZOi|@Q7=Q`x$tQiNZteelC2yiy1v^o0?}g4d2GRr~*i&97TU&DL)Ad zwR=r?02V9$B`m)16~d@5@**r$F|g3LxP>{CW+W)O+n*++F&?-&#-}k)!0+$J|Lghi zxb)BS;ns3RLdcGt4{-;0aUDh>(&MONdo*5b+ejbG>%92Ji0p7Pof|6JLsb~KM;s6E zsJQ>25zw@dnB}9OlP=u>84d^$w{WwBu&DGREc8)W+!OsJIm#9>57`5-*dkEW@c?d_V zMQIbKtb}(1uZqY4YIh^92~16PwJgq7q=1&id!r*-1l%?xs=V0FUxy>MpiDalZ96+U z!qs-3PkyB$WAHu1O zY8M#(aQAp3*ZD_Uzhq zuG?noJ)8#566uAh-A#`2+4B9wZr(9lxzF!raCbOQmB+bsd3fT3aj|*DLgoEQ9({ZT zrNkG6A3{48SD?RE%2@bfe80BnDG1#JJ~W%6Ei-Eo`hXJDI;u&rPxBq}n?ycoz{M|Joo zUAH1+wRl2HCy)z`jybdC`=Se0$1LT3`h^H&RTQ#%J&rrCKvWG7Jx~4>Oj!k{fY~N? z8~YP5Wt-Ul0H$C2WtiUiFJbzL|Njl9e+mwYfoV&>L4j%GcP3^nz-$Z9k(TYFn04^` z*IP$0+u>?~i-G65vAFl5s>ucTa8cM*Pv%9pBtvgWTTabL{2GN`C*5Zm@527F3MIcF zEDc6lKd|c-OKa|+x_C15g?d7}ih4(^v#_L_743W!v@Hv+T#WXY)~4kUg@GXN}O(vjI%kw-oQc3*=LqN`~%bvHJ!o^$dq^e-Fqt zja6!j)N_-Bd!}$L{AO7`8C`urcrSqZfcwbJ`H?-b;nZjSc+ey+2%z^s`tegTc+4}y zYO2X6Q>+(+*Ogq%75l8%$BjzOKlt^^o-o#pxmSwe@QP|I_341T8`m{PUI$5zsqtP~ z<5Z|ouIXMSZR{F#P(0#~-A`L7ejY}>DJa$jaW`~`(@57$4<0-rmClO?{2y4$ntLf} zp3LLt_#*4mZ$LX<86&Sjj#F&TO#Jh$>nI-_L6U&hJmIe+xmVQL6y~WlnNG;*8&w{+ zMX|~|p!OJ&r;}8EF?zB1%bKzgMC{0qt{UP#S*j~PW<_z}8Bfi3sh!J zQf$O@g8PTa+F`EC#B7CjA2>6D`33x|&lp_CVCrxk1J|V^_}@TRHgF9>ep7!q znQ-K2ttwm14x zI&(sgSTd5Jb;L)NFdxV>Ff(W+QpK>Vj~GAMGP9R2s>&tP4W9|05}} z0q4qXezc#sP&wS8^>Dy#Tj4vtpB_zdqaQ6TFsBYE-vwa;erd!nW`BO&+)Kmn1KBM5 zgp@xCb^5V&0dYkbtyB6d=o!+r@_MbFWW$%mVcBk_klJrEN^VBUjeTH7Uw~d<`>_Vm z_ih#b`hBsj|G^is;#;>*ZoB;UTX+kluf#8%zV5}?l8P|4y?YlSi8N#5iu%1a7G zcIMx_Y7IGp&(BMdwdo?L=X$tCMq{a^^M7g8lHyJ4NERukeC=puYLu@Hb2Y4n`6chV z5_8>jTF*P?0cq26v3L^hh9pw$b}`m8RqaBLz&au2hvH~lO`ULCuZ7N{{a>4yTxi3X zJUMP$veK{TyhE*yi4GYu2!qs_2pxO^2q`&?lW<<( zx+PlCKS%dWaK2CUGF#UC2KQ(GA#FCJU8KrBneJV#6mJa5bN?&UL`yY|%iGXeH7KTd z3nKlsV!E+G;^OP%_0OgE$m^dGi9Vb55vi!k{U`JWG}TN`GE%RG`>&~6(W5oZ;9FLo zkUnjYp*5MX#6-|LPa!!v(^ePPl7JXuJp(CQXU1)f-?q`hIp?S6llg|Q`1^2NQ=uci zIX!*8erK;m9d94wae+RcsL;L70agLT(a~vF;Nn3kCqkjENTELh4O~)hw@h&s0RLK7 ze@v3hHT*FtVE(d4WjfYVWcrfEO0t-Wh1BZvm1rl3_I#PuJ(XxJ_$}P$()&z$pAYwF zF_>nB^!I8mdlqEyca&6D%x5&7R8}XL&sWzlMy#dq$Xj{xnsw@}8(T3}QWGiQpCPJU z=yfsmk0`ww!&pbcwprvw%NOn6SDdA`iAmdv$rj7z_O1%qI#EAGn#$O5Et%cSxpTaO z6t6fs;fJ2VO6;L8zA{nVl}F(kkfRLuXIwE7mcY)%Kbbu zwz?XmK8eNgk!^RG{G?NI9*ttXp)W_=$WW{|URhkdm@y75t)5qZLTZNRVVG>z-Ri@rd#w8zD35jj+Sk{$2KY@`t!y)VLAXWQPibI?&NbenAbq_eigRXMQohVw)DG7t`y&Y8J17n49t&!m=jL9LV~#-c%EU+ zc8gxoXOp6oHpwOLFrL0ALc=5bnz-Ypa_`5%8A5YVgSQlfw(TdPDLOJTX1nb(>fLS2N;2h$})2(wa?XV6a zqdli^l}w-HNr_W8YN=i|i=bb;eqmu)UVY&yo(IG|p(#;3Un#za(%!XGU3k`MJJ0Q& zL0V>(WNJuUhn#wIXlyifyo=j@r&7wgkZiG&LoxpkzM-yJ(3jC+YD>G6+lF*ywF74^ zv+3JPpmQd*TOTeXqiDJz;S5)GjVc>w7w(ke+=@_{lr>${3i(`xOjFowEM-3PEzA?0 z5Z|qC(mR$3e*!6Ar_A%-oHWJ~ zTA}blJj})0zcA4?%5S92o6sY$?CI_RwJ>6LO|YY%oUr(?k1=tL8hfMTr8!)SX4iwI z{lZfLHR$|XXD3jPX+;b{2s4TPDDs!JCk6PUd5J^-Z zQWjhvwO?B)F7c|2Zr6564eiY*`^7GQ!8+7`3arSl&R3#c_SuSn*cDRmS2fDkn*GAD zAlkkrc~bQ|5MM!}lC(&ool% zarS)Bqhg`nd8w1IW_?gT4`AcJ690?FQj@(*e9*(K)SpI4MD`^CITjx4iKpW%1kmDP z0`=^-&7uV?6#8%t8fB>$x~_?dYyWEf!#D4r`Pj`2;OBanJ9fD4&xxF|dHr3SOM^&p z-BYazJh%UZ^qiR^W;z25#$usm%`%5;DR((IUq4y1RqvQ*)qzB?_r8}a*c{gN?NZip zb|I$fT*?$wI2n_6SGE*?BSJit09!z$zejw{orD&C!xSvN=+BO!xOz#Z_F0tLbClXQ z`X*rcYm8)}q;5DOB?FHfuZ-ovzN#9=KkP{?>9{{?=U~MXb}Phh!vkF9uE2=4fzuRF ziqTBYR`d%?0F^Hd;*OAby)>Dq2}Xr+&dgt(O?t$I60;?r%qEjTo(+m`gmFJr_JF`p zd+nE7BdZhvag~4gz#52^-M2z~1h_jV&XruXxC=g+Qr`lgy%lYVF}4va#8uSCW*m)( zFqsrk|5^=hmN|N`$dXO%Nd7!3jd^_(+HPr~&P1s5UKqDYe%Z2z-6xOT3bBmVI9$Rg z*4^T8-xpGg*+_=lyTq)p4&HT%D?-zV3hFS^I9yoz%u%QdA^m;6Rm~?6MF-4Z>|}Dy zb+WfjHJ`BSgye?zDETKgCv3xgnQfNg9n6G6r+%Lnpp_3YUB9r-k22klm8rbZkxhLT z9EbUVGRj)N$vQR-RlB=&W=oq)UvLyp`ZUc*VHmr% z*{A?>(y+KMf>+I-@cnZ&v zhShi35aNo4P2NNgaSk(fZg(3L13HY<7)R-@L~f*W7Cj zi>?s*!s1x;v!=Fl_K6O(Ksn8;cX7L^CG{?}$~qyrpu7r)Og&C`2hK~b0Lg)E*6iO? zrE12W_ExEzQzsQHLyy%p%aBs`3rl?%x7AEOfdBo%ozP3PMoiC=_YAI6?8vv0Df~KR zS8)W<*#qJqz2+E*Gh328iTV|yBUnUjuKESD4{fK;RYoMhr@eVm-n&BF9-QPt&lo2p z=IA^!ouK5TA%$;mhPg1bEpzUprK~Fh{udIhkkgywF~q504$lIK&KH);yUPo-*Q_F^ zb+@!@o0B|))r{Rx&QbYjg}6G1X&(wB7x>Yu+cqUChg>?Z_#$av`l*ST2>mp{^-*RT zvmdUZSxEB}f#x@~%U%^CtCs+4S~mTbzBTE#BT~OR&GqZ?_~k zuXS+yV`CaV#2cqPWL3Kgfy$2*9}OC(e%XcfvrUB#Rg}7@fV#ZsEs|pzg8aGz#^9Rh zI@as06J}@d>I0^n-vTD&+53b?L*r%_(mkU4{2b5~cK-q?G1E-4ONV#{g>vcsQ5PyX{HG9@}}F-J~;+Gy%TV<~GZcC+jd&wT)OosbP0vrZsB9gR?+6UO=rNuTgm@cU0p z%uwjZuX~3x2jPB|Zy1$%wbXYDdTh{oQrJzT88BeG)M}gMIMbJ$pyu%mc`><@N6$;> zr=eeXQ923I8dFf@Wb$?aPvwfVo>on?A^1)oj~{7~RQ zm%84zvro_|O!=i0lc0C^yeSx+ z{`*ls>#VGyv)?bS3m3*vr9V(huEl6u!vw_Zz0{V>nCg(vY3!1WAWMw)%)HGaRa|AA@Y1=u$Ngb>PWY#+6PuC{MiyS1LXhZ>6na zjNdODqpTch1!s3Yp8fphRZtqpUatS`9!gbo+!4^6UC3y6UBd_ zCyG_{M6pFVQT%w7dRftG(7qo~18j4(h`sXY^@Ls{Bc#$WUZ@SF|cQCtTWN440)${_0GEozFAjS$2{e&Hr}z~sLdifm+KvVu_9=#y_??I=?Ox=7)Q^t_X%YoJlozU6o<@!6E}r0 z=JZ|e`xFm~O#9LGCgxOH8nYTMdm8dCT$y|PU0G*(#u2+Egq|Af4}-P` zX_CoWi@}L0$H%1Xpee5pnUxv`Q}1F}W0AyVu-W~>G3rqaWo5lF8Pc8)YAA*43+Gv5 z)1tqFeqmn#d3>Mn>md4WMDJp5;WaPHyEyU}gw>SCqqk~ypMDbB;SLA5{4U7kc=;K& zCF#wEZI(pmJSm6K@sHO0*}`?m?fSr{aj}!#UAW#G7T*lx47UYkD574cA@_h@hr6)o z*DfsnDO^PNzxssRg5z!de1Yu`mL%sCel|*LJ1T%Se-t<+O*NO7>D#9g?z;Z2H!S*& zBE*p(o^n|bmNmI-dgkTM@RyRIk(+u;*{dE-t8r#i4QYOun|iq`-}aQ{tdlFuuL_HW z0NBRvWTrXY(Ytfd^!E8uwmFq&jP)}u{93*_UBw@S_p(3l`kBD_r>Nz1&EmCuV|N8J zZcauqw%gq)tuzy3SOseH}fSDmxyDU;RA_!hRWXG zbq!x&t>O1tKajWvkf@rT2F;5rR5ymj&q89?H4czqaWsnaJUK^Xy*d;QkHWQmeO4ks zaD{l;JB6?$hv$KoUzWb;(rCz32|ZE?daGQ^FG}BM__$ZCJ`5v|tL-DmQ*D;~xOQP-jmS5McGZfUKRZz#htvx3HR zEsPnyLwF=RW549X7bBnNc{IS7c3P{gCTkAA6Yyg29E3V|atX5?;G9J$l*{%pI5#H; zG^JLn(fXS8U8N0Xr42K%4c85{L57LEqmZwR;AejHD)0xoYw|6hV*}bn=g!~!vfT>C zQHey0(v$40u=qdJgDcvrFeaXsBFou*!Y)7Cf~7TCRui>TF0DNLJ#T~=fIT$A4ES?U z?85S!{p?E%9jc}$=oeKZMkN=!*rq%W8$gSewKk*|xN?+HlREQCUsb6y!a&DmUseB5 z#rmqs^PHs=ajh+t4~bjf#NVL!`*!)cvTd#H^MiQje@DIxitj7myzj_qJK7s;4E&x^ z-j97#{x!c@csPl0#GJ!qYlNGA*kj8kseD+xS3(-fmy_y*<{D3PwxAlkRFCT|MlXe%y>5oL-Y>2+W_6EeBxA1*H zy!Y*)hnZZwPv8@+a_N5Y`7qnWZjSH;^nWLpa_oqlt4aC&t1@!u-<9hLi4TV(_29E# ze7s%Gnf9*yeTh=<1f_(T%I_j2{nPKr>9%3INqDDy>v|}g-J8YBwEAoSS6o7(k6K~> zDS$gsa-P9&UpYc(pMK>CjeAROXF%L3T{%Jl@u}z=CP#iZ6ll-?$J*P#MOkc*tXswDyTDR9*m|ALeuZkLqmSuIV)L4!CmCP{n zcDuKi3pXt-%`H>#omJWA+4uiBGqcMsP~Fe(^XKy!o|m0x&Y5%0%$zfG=FIDk;Cvpj zZbI$~O}b3dY)vuz zDIcD$H}&98cfwO^)44_HANuP_oeyDb#HQ@M;~(d znRue9f5U22BxgjP+~5Ax9C_1z+}+sBuw3r+*BE071<0iDq_>y2{9U#4h{$=jO^$ei z`Ae>@s}d|BifZ+VNv38=v)(g!$SH4sg=K!U%qj~Vh*7*%1KN71u+Nd~YT>RnnM%GM zqj(evsW9HDY@c5u`mFm-f(5NL;R?wQA(I;ATk!-Qx9Fs&1^yTkenJjyyoV#i5;pk6 z$#U`v-E}QfpKej`DDx`YmP^zQTWLH**HI?i$*r*{Ap@-C0o7yuG4UR-jc{Rf@ds=M z7wQk#Ge7LywJ^a%G9G9iUZnV-FSV+#*iLv1)TUP3zUX9A_p~kmdz;zR$yS9U(56nd zenxF-we8yf4>omA>la{Ct8I^iWuvxjcSKT~T5WsIi5NzE2KaqWRJPblx6yI*L7ENEy)VZRLw(;#AJnn+DvaGbq#9)a*J!uq?r!XZaenPh<`{mGfFc9W zGw4yI3^>nVKn$LNd)>Cj8%E_)Z5!*v9YJ5&hj9Nfm92@MDfmuc28J7=VASNR}6gzS=(VxOpGJ6CL8FZ1_21!Xt; z%WrB#eI`;Eq2jDV%a2v~;l3nj=0{GVN}9EjI(m!7);#8=)N}#-`M4JBOn0(7t(%<@~ z7uqlM3roF3H`Iu7GBu(P)fotlkIKBO!D@oB8o7!-5JyW@0M+MjjBx+Y@wSoZvJdx* zU@|recppOjk|P;Rf6g}@M0cLuyJjNm6`xJC1p4Iay9kB;lEBLTlAbRX5Bj}+&uWVL;hyDW5Y9|BU zu$2Ag?u&u`-4|h}N{V-yeE#{Q?Lq3FztS?vzw<(A`_uIrzS}}+tGsS97x4Q<*Sp_& zaqvOk&WmW-72B}i-FdOQob9}r-InR!d2z7(_jX8Dslzw_knY6-nP``NMP6GV{uCw9!2}sD#1p)kAPx;xSdM@|Z59DTi05_)xaWf3Kxx;e* zZ|=9ajqkSzYq}?hmsQkfzsfSvzt=)(TYqgm@Q>ZEyJj@s#qU>L>$=zC;DaX4!@J$T zzt>`Sxr}r19*1wQMQ1Js@3mlDye)`}Y0d$i_E~i1V*LLT7j3Q{0bG=>vKeypZV(v-nKAYG5J;xvIufRHCDSvgb{T1sqeaJ>gFKd|p zQj&mt=pn2JYwBoeLhI(xPZFil)InK|1*u1nqkryWHja};2)A<1pP*R#dfDN-INVF zaf3VEWDrPOiXBh)Qd&#Mlll7j=jOjJws_`?z1&J`K1m1L{X3_&!B~OTM7uMhSZOUJ zPv`f67W$PVtzlL$0?0S_+ zDcol^npWqsIU|o4<;FRq{?-L_PNA)y0N-AzOBa;8HG4c_KQDT7fR*bd1LXVg?%(b@ zGhPq5L%_lbv5teb@|9z3g+WkMU$Onip{Ugfvg(8=ZKLdVk9gSqYfI>EuXxm}g8z-6 zOGW~RIzzeaVNhB;J}9rc4^k*=0-$X5L)i{cWYwSD49QcNWw&F#weE8i&R-~;mpB|Y z?~}~!z5KCWQSU@(^Kwal}~ z)C1ZzwrH{i_xQ@8O_#XS1#G!Z_79ABJ#Nq2hH(Jd81mhveA;X5d|yur0Z#Mh@oazE zz7+aZJ=nx=o37Xz>@wXvlZtA6WHal3^cbrU@cUJPI_LiKPp4HvU+~s%+E??%Ft^WM zI!3?wy}Y+vzP#T+UbLy+>SR-~yz|AgF2!Exaj0L>728ZZjxlSvRi*ap$n(W7T}ahw zcEtG?DD$MR+y%&!+_Gd^a$wKC-v#A@1^QZUOtWGi!br?Sstlqq)>0Vr%3}O5dc!!m z3i|Zda(f5mj{)l87wgJp0)7#~xinu~;lkg;C{EV^pC2GyRRr2BGyFCST6I$Woz(8b z{*UO7fQ5GiEIa}h9!Qmc_UE&?B-qwdF>dj@Q!v>&mhBKR+!3`v2!8yiWwnbUEC$mt3(u zEFss?CfrSP@1dpF(R(xfzaRdqi-!k{PV>cUPV9LvT}vfV3Tguuhf(^egb2SCIA8qH z2_uoQzx8#AS%DAvtw7S)SAlV5QL}ifob6_0_I!tBG+#XAd}!{2MzsB;!#CwjK5?hk z(b5>66Z7>DWcv`>TTX+ZYHy!%#io}AFPvr$D>j*Y5ud!`K#VXjf>?&lMgI1cd~1wW zD0i7fOUwQ(yK+9*|316&V>yd~u)0nyyd-QC$beR`2dxi)UK<)a>b|@BH{}Rs(+p{V z&Ld8DklIAkhh~iTQYc)ueecy*6ha?-+4h4M`{0BqO_SQHmEjuu!ycV5+T<3Wqr3Hg zvCD2h$vq-4`csv#mcm*p$UnI6E?tvBz(_-76v{vfrGi4q1}JXPg%W@0`o=5fie?enAP^Um+mWT)W|#HZ@g5u z<7)i6TFS=_0><4qTB@x*Bb8Q#R2Tbg%XNY;;s!?J_*&9d`KUWz{KA3qdST}M=A2@q z$rszfE8gSA9Ry3D1y?T6e1L5?8~T&Wwh>+1SPw>j z1O*xG1-bQ*jhy=4lY=oH{INDp%K8uk(DwO@TC%l;+IW-K)}6T;^Au|*)dE`jYk@~+ zq)9ucQ0n?3Z74T?EyeB(l-WcFu8xH@7ed{9n0m!s)Czyrg1E#=3VLc@Xj3rdH@L_E zO7{oV0d#+YTiX+OgpGVjT@^_A5Kj5sZlVv_7SavnLux_-DNpURR8DyYd75jm1-Y&; z#cq40m8e*JjX^?@5L0WRR$DOD$NB9ZhEI^y)*an%N4h6?(u7bRTO$={{xqb&lRiY# zswMghTHenbEydmK>HxcJzPQYeW!;)N^8iYY>;p9&QLxO5?n-||4Ya^2f#$u9>PL*Yk23cTh%5O}=QoeEf`lTlU9~0@r+a>E8m3*Hgsme z$4;CNPzoJ0JoBh^#QL-H;p+tKE2He#Um)?2&*xd*0 zvRQ3+IehavkN)nw&ZAV)So5RaX-gt%+ zQP{3s_08)BV|KzmN~*VCl#Ldeden z)z4<$-SB2vp8#%^i#gsD3#)U-j7|*gC1>;gK$&EDyW2D|6AL;<| zTv|VjfN|MY?qm@#XbcLfg&QahCOaAD3mXuVUrM6`=+MK0K8jk|j72PN2m*@e{J3X`=O;8Fi@coE->qb2JQ=_7G3GPTt%uJ*E5ii>!oNT1> zVUZDlMNhg9k?p-3OZVPIH+Nu?;>YAc7*Q_Ut~*%#6TH9Zpc?f|w04!-?lz-_@7sAu z+P-w$C1_FRvhZ|A-x}PA@)l|V$WzXjur)W_YnWZm_8KZ|$1mf4yg9ZJU9YGT6JM*f?Isn zU2*`g54)>`LO}zX2Q6}AU2_ogjMvjf+cy%TU&QU0#ty|CAm z^lXXOy^5_b^_!kMeFEAazf6;F+n>9;ak#L*-7!aV2G`y3zhkoIOtGyhE5rh|o2rEW zPfeBKeI8J8-Y#lSy^_1B@qEe8l#-e(?FdqhyV@rRgM=)Bv`yjX6CyX6tQ;*(E?!ed z?Fzo0sN7pFKIwkLgmuYA??jEV-8xPFLF@>8^Q%iOw3_kmINW6mYD%^9_AIV_x7r!a zLYgLkw)&qagaBq0S2E+Ea%S@@~a@T8ro+1yV$s+ z6edjGCQK-PF5gpn#FS;)S2v_uVcHuhs+mGfbl|?R910C>pCQ{U zC0SfDwU>tSzP@muo~*j!_4aS`dS7*Fi5XG~q)I2#$!oZ^qXY|ZZQaq*!_u^pGg9Hs z!_uV6*w=HN7W%Zx4I+)Ug<`kq)!d*z>JrU_y2Wb~j8cy4Bf8G8?%@N=nGeBK=r z(8unOupe%jiM{0O(y)Mh*=}anrNc2%EeYE&QV{snWXOKs3+K-c&PjLl@E32HI8@|)47Suw%aA_Nry{5`!ig^ z*^kbi(2sU`Q`u$q8)v#Vi)XoKvG%7_@~%V6=M~q$TfKD^J%6#SUY@Snu5FfOXq(lb zSM18|*)-hVtMc!5d9=ZFw)GT&gAC(AA`km0v7`1UG%`9^Li!01^5zm3nx zSKREOP*lk>Z??42D8qZ(+h?t)s}&;KZP1H-3$lcF5m`y5;^KG#Jxn6oZ%ylKN*o~{ zrWV!+sYXS0Xfv*@B${M{mCdSs!$D5M+{7{t_?Wl|PgS^23e)L@&EhVv%#hL?+1_^l z=%Uz>+0b4L!X=x>HIlE~S?y)ea$?Ox_vkSXK>gwx)#pZ43Qz;6vM{36GdBIH%v>l%N!F4Dk1Ef*)aRN%acHS$kse}N8 zH%j}OaD7T^I0r3el(*cp*m(S+T>lS9$1f^z@0_0c%$ZJBfUGUm7DU&xdlu;dBSxbP zY717HYAR5|@pKoJP-Th|42D?2BkpzOH0%Z#(?PfMi2ro5h#l|qGHPh=NaGV%2EW5L zqeu%sdA60b$(3r2La($a^>T|!Pb_M^-sp?f#3021q$dEdOI;I=w@G zkTi9Z;#+x|su^L(0fs`KL1AQ57?A+OBNhZfn9F0^2bYH4U1?RFAb^f%>huodY^6Pd zULTU5UhzA25Xof$xw;kdr8fMFB@b+7zmg&~P%q7-EqDU*teD z1<*`M`9jMj9lY^~?>h|vbo+-R(XuP39vI_g7mSfXb%U{Rb#7Rbny&S}K`jH1NY{FS ztG8DoZ(=~#N4fKgZ68HbcnIy$AZUMagjiI(3^^@h4J`xb`J&=~!*MdSl|_^H^@VpM|CLcmg048WO&;NR0(90hZ907aua zmBCJFE;O^>k@iTj>pa3a>Qe8uYe^|jVnAI+cB#uGUY9+Nz`A^H54FgLgf%m3cMym0 z3AOkH%K)=-NJOK2plo2MrE4n<5rW^1rm@@%pf7dQ=wwT99#$jJ9l6&4%k_^I`LG^M zyWm%?U&^!1q0|RtFqe}@?LOPG0O~ppQYueB+|rU>AOZ6C6&KYYfwGk8rZlL3v<_=N zPyCOU)qGe`&5P`#JJsp1M53uqVD1}$TmLS(>ti=WCZ z{gWhPR#Vb}T|qqvO8Xb)dx{a0ohC-juchETBqf1L<6QxDdZJUmknZQ*9Rax(KrZ=E zU%rTD#$}{qjd?^sz9|;`MV7)SJT%~!eCW0GkKAQZ4jtXxf%~ce-1`UN{;(9B$A^1D zK$(3l!S(CFy;nf45R2}SPz#g&D9)iA>ha>U?|TAY&H;a}K)MX+A|yGy3x^a7DF)KO zb{xwi1Ql>DS~uOK;VYE5jyX?U?@1BZSdg&PccL+AY`>+YF)mk{dP8f~^VS+E_`Z6~ z!?=Ay>fp9pyzU)rk=>yfqBt2}{B-`TS$HBw=X(BLud>G11{ZdgOt*N<>+4m{0B+wE zB$IdGT6arJeGped?>gNS?dw%im`tX6b_Hl3J}MWQLjs_?#aF$)(_u(sJ(RZ_(sT8` zo+_zRnUb5;yj02wsQEG)PcGT=hDp9RO^D7M4)*0QE_toiRMHShq2+RDMw&B(&UPs2 zegcR1tVgjOEz+efoxpr*YXOI6gX)&h36Bps9uqo$jAnWVK_B^4ct;qBg_G&SZ`R{K9UrF`3b* zC+(AbU+F1@+~P{F5z0&leF4v0Qkb?cMcThbV-y+-I_k3C!?cB7zf-2&#mX$}ROad5 zDDy#HX5&p}U$MS3Dxmjo;w2iq1}G6VWTZ^(!`gsS@;p8rWaUjCPpSiW5);Ie!N0+i zenC7*q-74{Ji%xe7_o!J)Cj8%ua2mWtd6SgQ61fdSE!5nxD*z^rNyojEvnkcZDWn0 zz$Y2-Nn6|3*o*Q?2Y72Bg%wBF`@92`g5r@C#)&3%kgwM~(3_dBOX59xV!OfUrlD~l z@w=5K%sZX>da(S%c>Z7S2Ak#v@-B7KKE5A8EexqGchY)$jnUG@Y;-O0lY3qbG8}#{~FP0X`Xk&x-$vZcjP8 zquY&682-!SqgyGb+cb`83B~YdsRP6Ra|dJiQ!As}PcQ08Cg3#tB|Z7v3iO+hOx8BU zk+W8u6D%zMtn_3B&e-Ff)_+%1fou27KeBK>#uAa0nFLMdMcW(Rw6diFLVU)Z(~wr? zYb#rD{da`cl3phJARGGaT4jI_YQyapHF`uvBUgcsQ6QqAOROG_UGc*rRpIDQv`eAi*+kX6?^*%X%xd*c13NX>55s&PsqJ!JLS<=7z9=IMcZkQ zs#aN@5Ea!FSe9NIw4}K6UIgzV0_t)X882~!%72dFO{DMhOOjashp7L%ZCGrD(3Bqz2_782Ja-zwXl3b@H^2d{^v4!Vz| zX7rg}8E=-?q*z0|M5ow>v!JRbnQhDU`O&y*tfhsGIfm72kEhP8Y^!xCtvgBd;brwAT&M zCIvv5UQt^iiElWlT>z4FHlM9DYTKiEw6^c9tcWq77w>aZe*V z|1bmEe(7SSqx870C3%o=uL?>!DFdl?VpQSm!x?30Db08o<8RrTR3L@E^?$c`mfO4; z*HO;k+XYG?2fl4_=o-q)YAQUU(E+90*4t8E#_X*s1D+sOV%8KJp`4+-oI_a7NQDKz zaf`Qk3_uahb*-=cL#b!%~Kf$K}$9p`}@y+-HD z^R@~^zqT&!H6=Z_Eu=cCfegTiw%CJ(yvu6*6^&eWqd8+Zem8NRV&bA(iTs8*3_Jw)L#_h(lewfIg!d zz_xSlqSU?52{wf=2K0th_b#YOO$FX#6vD#tbEQbjr`@}Ado&VVNNrx8vany{b6LBb zMD|4}J9TbFRaF(KUt1S0gm0B^BpbrEMr@O9ASuuWw<$M9ZBqdT<83Yg*EJ4sPVru^N+>krU9NYuAc%MVN%Y8ikp3OAg z)hK^^MfuN_poK0eHTS9LX=ZbotOi={1&w*J4U@DPO{_P_HfPb6wT)|`rzBq zX9VT=g6AM9v`1NlIr`InU@*_|e?d8FX^zC89Pb1`LAxj09LIlW)Y^i-ms?7SUcUD( zu*lM(Jfq`1Y0BqJTar`gd?+HhG*wn2Iu(if1fUS@O)EABcH zc)|8VukLBK{SxjJ2Hw&g1fS>WsqTP21D}@4_GmJ7z==X9!Y}aR2z$|1#C-;M%K;AH zIS&)4)`I<8rjub6Y0nAh-3HP~^8GA|eYobTYTM$jk`A;Fy*rV9pX^Sc*92P59;ech zd!zp{1+)bj-07E{lp+XvEn`FnoD0CZ)jEdp7*jIaYnKhQmV-BRtagCA z;>ag(zW~yQ@SF_KFTp*Fit}jWAJJuwpDv0Zy5y%SI9&$&>2k=$=<GGR>#>PEm@;_Jy=;sg)o#+)fhzTOV=z1%6^5Pv?*MNhN`{fYH>XC))ejrsa`e)`#$ ztCsHMIx7|W%K}ULUd*KqDvizlV@@5j`Msn_YRio*7i^|JNy^(>kJ+QFA?cX|Iw z?O?g>xP#6o(D5B5&r<3V?{}yCj53@qpk%tlv2L83VfTe@7ORuZTFU7Bah1?!-o+u3 zo5~eLUsn{iXY#F@WgXTxdY6TH-{)z9`9I9%N*-i1=pFp+?P4d35&g8k0RcM2aLSzXHP#xOMbmu ztXFy-fJoEv#D z-Qj+($H*c4Y@b8RI%A(rucz#?6uHgiLdpZ~P&T&0!ULK9QSCljZb3|UnBV5PhnHJ# zznhk4wojthz4i%0g{_|#d-Ab#gzs-*ax>VatW7cvF{74|F6^=`a79@(pes&lyThre zowqPsD4(m@9J+C;?Gcwjm}*<dI*_ zaP7$@uAzSFcUdyaBCWBS9MF*_f>tC-Dmtq_pxEHI5MAP9H1A-GD2{Wc9Z2@aI!T5x zBN0aE$+z14?NmYA=}31x=kGtH-juJON^$ghSOP1~W^rP!VlPH-yGH_z8(`0tvVl8! zo?-szEX0<7J(KSZmOlo(0s3V>p(lHPhU>6oQvOaHnREVsp+PjK!4+p94b1`hGG7isXRJCFuPulZ=; zS*|CiKt@J9t|#wWv?O9^GMV#s95MgOd|-hB4-LD=K=reIpr2IUi|%TIzvB%>tMuIa*cZAt$6f>4jt^~SuI&Q zB$>SXRvZ}wb$l0|Z-eK#@a#Ru<|L!*KPy$zajq8d(lzL~b^CZDI~NOOgV_{OU{S2D z!x@uSn}*MrxWsdg4x7ToPQn;5#xj@AY7Q4rCLCggS6184G_oNfVBVy!1$}DObhlTl z&Em?UyS-X%=Uj?fIo)wvOXp4YdVQKnBz%pM^bLifvKYWdK4xeA67v2h5Ayyq7e50Y z_&piwIR2cUx28Mq9$)b|MQoB?@*zt4+1A`rI87;`()6|OMznvIK0q1a{>Ant^SVYU{VUg7;GSItCLA~43 zj4F#P(DST6;x{>9t}z4f8}&1;6{5#Ro@sSm#|m-}LAHghwHd_?9-|5QZIuEs52sKQ z0CNSMJwmEI?N-n}KRf_)r)c-Gv+6Q|dg*SQH*kpIZsbO_=%@cycK|%Q~bp1!%XJKY^YmCF$)XA zY)=4YKS&I-Ph7tJWUIQssSJX%t{XTGS9frp2!M0a$>6N>!^!IcXIv1R`@4bjdAD%# zIUKt~1?G5Jia47W! zS9hFNa`>a6o<{@A57^B{iz$t6QWTEK4CpIa`|ScvLV z{R7^9*D}`>vTqDsZ*zz?XGm?bX;edE0DXE}(m=kay9^E5fbYUB=|Z+(6JMkAz7uSl z;B8Ni;Y_|;$006v;{MCF!|wzAwnB0o?@j&&*Z6wSTRzc}!x`~p6Fl$4chHY-gzM(B z=%W%x+ctWs#8Hm|vf0t*K z(w!`}!yL*}l@QB$dRrHsR=O7BihRj*lRk-5ms7s#fuHi~bHGnU^{z$AYCZ6@59Mi@ z%S7>N@O1RjPVrkelfs2SWnV9y2UJEWj0otZo#Ll%CWY8rd+m58kVE{|p`-MR1zbZQ zojA?(0rZVP`n&*m58`;Qfxb`fr&0{3(lSq=guUzzx4c6mTZWyQU@L-miJWK8Q|RfI z`u3;hgf`W;J0`1}dQ*NEQv9xhoT&IZvP1mE!L;P4pmt<*vz6FPVGxdWP={>D`v}Hi z}o_KX(Um+2Ufh>Ozx>a(N=a zDd9AV4&w4RG-rfGHcmcRaT4d!`=T#d>I7jd&`cpQzJCvr>N|(+1;FunNU5pGe@L%* zPOrz^f%Mwo>PjzJxAc0>)zRa>XlL}=U}yB22sqsNla{X$%iGqvmDc%ujhOkdOfWJ( zmd<`JM)6A?<7NI}J?Z^ZXTO)cPJS;&@c_?10`j}gFn_%q>O+k&K9?mI)d@eCWw^Qd1)s^5pnC@ys{et!e~UkATior5eUlT&m$ zOAjqJb!gPO1HLC*?`bt7?|rMfPO*tvoQq906)w@@Fq#)rKckK)3`TJjUq7ZAL;s5{ zhXAj&khY!Cc8bHWUPz`f7*HB|zc$@;Ml$X^Bh6nwkW0l&OmbgUY~gVjc781-uJ^%F zIGCK2y8>zXXNundpk*kf<#eFYRVkFxGA4+Yi)qeC3(@1gCPnotS7qzImNe^e?KKNz zX9uV7a!D5y_h2d1;{#Tg0<6m#s7uVce*T(lfd0PMj@Z}r0eu>ad7$#Qz_;zZ{|~}F znPQ{|+;PUeg!fZ_kwSPI48%Ty<_!bvG46xBTJ~xYJ<|)?AB_Gb@LfFMt?}XgB58aO zaJHUia>z!dz5%{-MsWtm>5wxJrxT8@vU!&z>!#g(=J3g;+<}y{i{E*DvN;}L>woN^ z**c(E?{!haMqw+Z8%pgCsRY_j-1c$Yb2&$e+)%u#-1PNTb+`{pjh)G|$r;#pJx^iZ zXIY-O(3I4SG?A?%)NgK00AfI$zlC0yBH*lu+YPb`=)#3 zI|uY;CcQHqfztaYTJsdk;>5WoW%HT}kQL`MFxW4zQ*Zt~5mm76eUkAR#J7T-)-shPeru@RnO zP~hp<;h+J0V<9C&`sN4b|B`2l6PQNdVc*UX2Xnk%4#3+XzT+JOcn<=+GXd|DZah1= z+!Wf(G()Ao){&mH0PHnpGC*hfy&6PXI_3gfo4VHFyqnbl=^g^OPY2v*K??gp`v-d9 z9Pyw0Jc$oe^iiL6>ytIUX`^Gk{dRY)k55xh??#G(%R*6m^OoC^V7$`5SZ9eB5z#>UT~ zr^X+xGZ-RZ{GCwk5RZZdU+L$`X-}BtBN~f|*~xv2D@|DDw;m?*%RxI)hH5KPK2Vt6 z*#E7Re`KP7(I!BiL07~`Lbqok7Ux?^p#QH*^|oKT%+8a+6@PrbaCw4%b->&H;iX*a z-MVvzo}4?SB|o0}BYYPH;k)WL@O}C>@Xh%{e7AJM_b);C&gA&EP1lq4fa?pVQ13?F z9(NET-*N&Z{B{r1hMBbfxVWYujYbC#{6Ze|MPkqwwf-+U^tKolBdNM)aYw)K47HV! zdpMVoDU@>^J|`3B94m9Q1sxF3TbJo&e~(QjDUZd|cFSxNhj<7|$T63jGU;v!R!V+m z;P+p;vE>AQ^F}w{ObYtO9PkZ(vBrZvRJo}m|IDELTLbblDn0B$2UMRsg#V)5Y0y~YVDZaO zs=(sc&RT3LUBG%7(si{bsJK-1KB3{w{0!C{fWoW65Ztra*2la)8x1wHkyZ8i=`%<_L9#)L_}(|Kjk7s317;sV>r9y=W;*7Y6m$*yg6#tjBi_f( z&u!H8)zk9+NXNN@=WpwyC-vV2ucuVSp7?&{v-YedcDo_ z>mdJd7NJ#7Ht#G5!Ty!V{je(wZfW(<<_6r|gK9_Sx(TKX zI%6A4>o}}h5+C!TrKUTSh>1!7z3z+9)?N=u5+F4lUL0^2!(>;A0)UM`;Y|6a|cwEFK9Jt?_QPtKgslH(D{ zJi>EIc z1U!8yB|qHyH+v>Odr51(%k4XR31fz9tt$6uK___I^E~)p=^4oDg?-uu+Y|P=CIgp% z77wG1&QF`v)BS)pBRkP%q_Yn%;~yR^rOBtBczQkTLE2dCn5)>Wu(XT$L6n&hM45a_ znN*-l5zyfUNWYZm$%PehWW+Q*`SiG!oD5GU<QSPStg{|1|bt@cG<4lQh8`)k>&$|o>+Ck_KdxXo>=8=e;Bk8Jo%lSSd|V`i?Bac zY!J?s_7RlTTI;(mAKjFcZVO!)Gu+$$H#hz_xhpB{4Hn$fHoSQ$z$oA_CfXNs7?t9X1YlPxJ`_6|4oVu_09QQ|DT}AZw7HRfO z4Du+yXj|;KhjYc@oG4o{3G)frEZZ#KjNgrOjNzq!=^jl>{ii#dUO#gq&o4-rYYLr%ABOW`;idGn^9!~K z&dpMru@vf)@BFDj&!Jp8oeof@F(_MPTjX2t`%uRK4yDGer=@Rlr^5BimNc+Gas_3r zD5|_Thbw{h$mB{@o9XxW^R)N9lEwY~D$1EpNgT+|y^z+x{l2O=V*XZ3bnrY8?$O^Q z9iGF&lF8TbyaVpP{jZkn2~8#s!}D3VUjj*h=TLaI{+G$&i<4@E7Xu{lKwXCnzAK>& zt^oO%&E;c^^emT;A?{%L2($j%`vjK{70Aa!&S3c%=w$M-z=i*Bb1e;$!3uyehr`fF z3pos@t22xm@0FMq2*{-yx$ z=5~_54Ex=jcOSW!-2L4(kzV(^Q2vr=uaM&`?<9YFTulDP`sMFVDE*;M^5>F9^U_~( zF}ZuuHHuzWx<&)u?|3m+Pdf8IG)Vqr4xjuf9X~as`sFVTpe*hrfB%yDb10>*R9gBp zS4x2ViDHe1NuSNxo%Ef)#H8<%k;&eMW-a-qnaSRuXXD5axZe)x^FK4$d$&nTmW3pf zyWzJacs~`MW8wKa{5}Wnul`3%_NkM}T6lh>>5tY^XNw`!@4zlT6ks*m#TA~;>w}VL zb#|SDvx6P!8|`i44i6jcS2)@F;B~;|_gTS^%6x4yVo!=fpRi;miwy^Gr8zt~k1bv&h|{_r1yK_KY9S z_HX`J7C&_|SxgDSU~HGQeMx-3o3&~?_X1!weU4)=mapx<0Pq+64>&x>aX9M^#KGQW zy<8F(c8f!cs{@A~E{21hua{2-_(Q(w>aP*Fw(0ZNm@SUsm~0EM=k4N$u5imz^WuJy z8DXb-2YBDu#rG)WL`#QPh9t&wkAuh{95=fHy)rVXSB50MWB08xgaeKVkOqD8N4olK z+{a9H?<a)fF@cbV`{8~?*OT<@v`7o$vL-j=za99z z3HZn?UVRqF>T|&7#MhnM=B6O5_Bj(QPxJLJhd9(}s7$nUw9-D*=fTuTK3{dx_D^@X zt1UM14Lf?*N#frmoPC0J(go)9AefK(VHQ@P56uj3QUJ`eQg<+CQJ8-bc8wB(1Zei*v%y9uQWfW!>hiUr?*H>^=SaU6Ukk8uyTVq=EwNCA|=)N{Fh5Fox;`d(KIOTQ+^%|L4K=K}K=ZXs&R(KO(sQ=Xj46h6ARIAHyo??Lg6J{cZm@WVs81yX z;61>CbBGv6%txUQX)oN1_QHc`FWk$b*j8>@l&7r-D}HYHn@)vZW@?u9=uU;MFDNv# zTpCWtXc_?!BO_p(hvxv#hk1JBOW!&+t{G$n&ArbOD>%j&|E~k%3sRBAJ5+rt(8u;p zY<<-V7&qiWBZI-L3&1%8zKd&;Z_^ep%VRj73N1G&Hn1;_!53|Or18}eetkD^9Eu7U zhm;n1tzz4@-0!|c59-%=3_Z3kj`ds!b-NGJWJrI4l>Q~^MR9(;DB0fw`g|Q`i8np0 z##8Nqt!atGe5}ydK?S2wI<&X{f;{xKD7dGCD4ytM?H_b~lplS)tC`}ZH|BeTR8dH(s3f8W1Ze~NMG@k9gM zCvx8AaO4Uh)@YdyFnrjZs7nHSI7CRn@ykBUh;KvPCa`<2InsDfhcE{R#6-}^pI@M` z?vdv{sA#WRb`<`q(N8$f3%Z^B^bc%KxTwjK3C|ozeH4&~m;W~DiqCIc< z5$P@65ox!9w2LJX24WlSz<4}Pal994gD3YXtuMoMyi;jiMTjjOet(8|#JO&qr}l{d za4D@7aGflnkEUBJfPAI!{XaqLvx^!!gPIF8*lFDjrM%X-)A|-%x50HMT(`g#p=^XJ zLir0^SHX21T%UpK3vhiDuFu1@0*U|HRLdTn7DTlJzSGJ401uzKOEARjlQ#;kxsM3=e;UnJ;)xmU643Djc?N| z@n!dMX{P}xh_f2>tVoPPE3oyq>tEo0e#GVnj?H%*oBwibzTw#Xn`84i$L1)<<`a(1 zM~yx_G8<8LC)nDIN!B=r5~OFgCq-a9xGdova%H{)?<(M~+>3X}xh5yxAur2ac()4f zUZZ!2(J=Z2;<${KhcYqD*{@g$aG3K5_pVD z;IRM+JO&bY3?(on!f?U1nnnX!?^RCJ2~XwsGRd-f8L=H5k?YA@&+7r7HI2P!OqC}B z&ic+VtBT2bS&Cf8cri=-r%R^82&}R%aG%p#;#4O)pBu+~9kjLQ>?x@|^{ZMVh#cDS zP9xSSS~gWu&Uh&|7yjFu6Q1Z*N%VP-vOP5^UogKJG9U`tq(>U?$be<5q;Vyyq?{6^ z)ksKNU(e)QZ6!(87wu|mf7vl<4S`yh9Fx{V+61Wv(soEYA-z>%NV=y@;emRStVPFZ z-aQ7HewFkglvrn2B^@kD7bf4Toab(DyNFS$njj~}AkY>puaANr6}61>wv*Bp7^(D? zz0BW92My&$eD|Hi{5jbd2}`vF{M&~ylDJZ6mUc&n)3q&ZE&R8|ST3HV0@@JtLFaAn zOZq3Lnl&SOeAVM0zN9yi{uxH!9Qt|N8yr#~Mt=p2#sNlpvo1+(&5?QA7dr9%OFVCM zeT0B8X=Jo_F+?kSuK@#)>^Gg&EGln+St`#bGJRP!9j24ZGlf zjNu&ok2UC@KP>e&ls~VoEuR}wyKA1NcGuj{+H-TmYW4HNYs=?F0RJ`htcGlr8fC!u zyvCp{$maBjG@Srm?JhuG=cJ6lhMS3#Oiim7Ixnm0IvrW<-63NfwnSAT1M|5q^ zMw5LJ0-lxdtL?vD6}H^=Qs|iw-saX2vI>#`e*4PHXs>ueDfBWc4W9NLbbLa2!1{Ka zlEh?jjX`5BwLRo!lD!bFoj7(h%ogDbk+qRixaT6|hp2CbZa6JU!@) zwWqz#o+)_RzjdVvt+qQQnT6=6L>q?i^JLuZck=j&RRA+=jGmMo(~?!kw7&trwp;jP zI>Gb-+V!dYXDTx?x_Iv{H;A_trNm~`RyN15Qvp=?bc1UT4FNM5Ak4^ljG{&SHL~ib@ zT3)2xbAQm>d5i58_rrAF+0&kAUs8lut-XR?W9^ST;b|Y`T11~BVSI0~z2;qKiQS4l z_Pd@1MJlLk#BNvn->5D$+VQVx{@x)*fUZ zq|VpVfb}-8f)vDUijifqL*bMyGSwPY>KTd8Vp#zblqw%XAo)n9gpDoju?%~(&SrW7t zzQy*fOUr3KPeK~6cE(W}&yeufD>!dFdcw9Jp~i&*laMRd^7z_PTVcn3Ddyq7WR z{gCR2v07mbj0I|tsJGl$cRU$PwGCsEeJ%Chi6<4!;Wdkcnnku-r_C&i9^tE-PWUsl zffn0*mri(~2z$nxUaZe5tk1~%Em)$e-8uuusG0(t8(1MMYs$H+vT2i4w-b6Eg{B(0 z*RvUGuBjo_cp`|bI;3`@pcyN#hMp=Kc+fWALDKH{5%Z|5S{chF-yo~j)Zl42q-`4f zUic%P^3hs?=Wg63DXNgGbq0KQsnqx7^gQhQ?j^4FiPt9B`j=lURn?*{)b|N_+jn+# z&9Am}H=dIco7LA8T5AySM351{i`%XxaVl&)jWkFC8qi22JHM8cJMn}bo$yymiL*`? zso}{MqW`2NntwH3eEb7Oz33q7?V#WM!x=%pnbQKWXVINnf88T=@ci5nEqMm`d%jUi zYT*8DxW0LW@%dkM%Ic}Lv+hwY6eR8HDO%Wf{h{7k=C@(sHWcO zYZ^(a=KYr&`#$oSq^v3w%1p{_)7rlChQCfM2?HaohOiQ0v~XYB9gcLN5ahbnb%M6J zY2o3fQfPCj0=BtnhGO#$$pF24@7Pe@=cV1=bb^i%=qaR5 z8`?CI$9U)sQZ%Bdpa1No?@}=aP>U_kX`p?lyZyhQi+bAI?f91M0W5_UTkS%Orn^eu z{uNh9Z2?~g8x7nky{f83Xju(-c0tlY^)|h*yFhJ$R=jD}Leb?NM%>Y-@9vTZ$-;zR2(3(Hoy= z$@jpQIJlbNy10?;9f=gi-!r}#V|c-+5wA!6R(A7g(!VE^a|_F% zkvi~eX#b7~Ud~N7mebq*bIWMD<8WwR2aN_E){+ZApAewUnUA$(>L-jwSF4NY#dN<=Za2seLTH`BHqS4pmCpw_V zH>yGZSndqeKgfU_kfto>Fn(rZDo|*|l^Fl{9uM*nU8LTdbE8*GV9e$g+jV<5myl=O zNTW9-d>cX65stU8=ql@n>dAYVdLkaulJ>)F9^tQ|jashQX3t7FKlc_q`9Dd-vQ>Du z4z9Z4dp5PMmkr#gbgFL@+wISY~VY76FV_7g##Bsdl{o#WexmU!?C(yGFzN z0(&fleZqz1#=UwvN24s2#X1fon|jFQ@bIFnRUmDX$IDlMO)I!;o&96GuJ_ z*AhM4&xLekb{xqL_tBkDy62c+3|goy!0QZtt>xE*Mf^R#*79q@V*Vbkg$A!Unx2MJ znCTTyP%k@t_wNS$|4D`ty7)=R`^0jca1HYQ!1LlvlS)`G^bq<% z-t;8Qcg%i5(!v+jlAv1y5;dl>wj#^;tL+H=25k;@)+Won*PlBd%H3yY^A~|Rw)=D3 z1vz&3b0~$FVmzfTBxT;hr}JfdXNn4tnUthoZ7c1^r9>Id*3DbUay*?sQ@q7jHJOEj zbK$?*{$$tj`I61hMphrfIbM~px=yj@l~y&;3F%PUOgpJLAtm;d)uI)P&p6kLr(nHM zC)*Pxuv|reWulCo>z%X&Y?1evB@%7eO~0C8$0)7Hn`aLCxVMzfSoH!cl~@a9Cg>{{ zNIO77NHEK4iB8X~UwXC+emCM^NIe;(X(TC#TOUFGey@uW1b<0)C}^}^v>%hf#u}W7 zntPlOerWQoGsZ;gczcy#w-th3HCT2`8oWYdPPA44jRt4VsYEMma7wii|M#k#aAQO& zzMoztqu0-*O**`)x9NoGm?v|PkO_Ex%CkZkCe|AfNWP zrPA0-iO^r0pw~KQyXJwu6`Ml zE(Ot6)V42xO9Eo4zHZvqfL*l9dq}JWQmw6RMXgG(zNe)YTkX@X52~$N;_C5j1{ zaFYP}ow*5C`+e{C`ThR5+uXS`=bSm~%-k6V#opZtuLf&hb64$81#6#nr*?vG$bZH6 zy668dz7O>e=sB_A+!~LL8 z9)_QSFzn)C;N`ID#Q%mNiEcv)(S~#F1PWPyK#Nw?uLsPf@5r{J(Gp9x5p0L*&1<>H z>kjh-{_H5zLcSS}L#l^D_+H1&^=U@xfBZ2W#O_y)oRk4${h;DEbz7vKMXMF2^@FzO=c9Q6+T;BR!C^Z@9%}Vqr;SB|B=Yx zzAhm+%2-uDG?~VOHpk(?=jh5on5moZ=mGl?qM2`F|J29&hm9Uo8`y={=X#`bFz-WE zCy+kG$cF?xT|;mx>B-$p)urGC4hpP13+4T}&z6)YdwFY54aeXG zq>61ZP7|~*89zvzcXzL>5>k|@cc;Ws_wpXJ*Sr(ZW^-){^#!hr z`^fpAPY5kp>ra_|iL0w$rx#d!dXaUTF7n6mD#j=9v~r3af*Pq^A{IMYQ9AayHs0K5 zOUH}g?xmXs8#ST59r$1Q3a3eBtuj6uxDQ(8@te_{WXCx!u`<-D6i9i|;vU)?9PdMpLyrfeS2QvdXOJCMEQ@E8_Sb?OTybCU zePp<57+Ih;lGZ3Hm^Yj3-0tsjaiE#_cKVk$C)>zJX;=M}>I5fFC0^4BjxC6AP~oK* zTJ>qRWgAG+D{!!F5FOP}wSBHH$$sFjM?BAh6_P?52r<;SgmTn!puy36htyC0W$~*{ z+{~4oxS1z=iAzppUEcY?KLx;5z(>k?gad&m=e@*f;5v04>#AEVPfOtFCADOi6(QMW zC3nr$-0AKG{5gLOn?SCQt_ke2;^TK&F|MH!t}dAFHm!k_+{+6H&;P|oq85_(c}VTe zyP6w;W7BjTTT-j@L8-6dBm2XX^v8WEe0m7T zM<~&ee4pFYIc7}82lm#F-)6;v11e(}Cac%8R26RJ&Qzv=2JiFIV-n7@%Edi5eCKSb z*~0zWu2DJ?D{DZ1-u8{*J)U0IlD^T|M3`Cf(bZR^LX_>xZg z$a${j8uM&|6bRaJ`&&Oa#8%#NQlzTw5xG& zU1rj2St$k%ggR2Y8v1+A^$9Ss6LsE{S`}|62(|av)x2!94OgK}2NY<*`8f3VoFS;| z)G+h_Jd5Eu6Q2JK_h%0b{5KPd1EUukgL`#F7%e!}VlSrEBX~>-0TbltHkW6IeGDyK z7})P%agWjW0`GJ7y8hk!JP-A^z3cev$=>V554p#A65B=(m)6DO;^O&^v%O@*!G464 zIGHc;8*>?ysO=Kz0=*K8d#3qHgC%~{Tf&$0K0mtA>)H-la7CNUI#kV`3$>_?>(xc) zC$}xl4uh7G=}0?Wc5m?)1l#G=Uh)rA$UgF)1Ng^!ku%Z1gr~d2IK=s-_m97zlJO8{ zg_ryV)$2OuBj<8oUJ!<*y}5kdhF)1suWN&!)X~{b;6Lw0$;HjH_}ato@JX8&2kW2F zo5g>b*{kQT(|S{ky{>Xmd$% z*gi4})yj?EA+YqhUhflF>9^jzwh=+(iRSV9)A#q-`1#AdE}=i*rKR#?8v`=@V#mOL zGyjNHp(pk$Q0%!l^vpv;&@U&4p%L)>&Dl7V1keA0`(O7d(C=`)7^6aMbA})r+!yR4 z|GdVb6?2E63V8m=I|QxXPv#;C!4m;3ye}2vsyBfLuec|9w!w8WuMH0Hv)He=Cj{qJ zm+|rQEA{cijgXoE(YYdCxHprF979_qv*|s=Vv%R@m{c6{E%>!t{XK6&86d zsMF#1lRki?IRaiUgyE0sRYtPoNXqa^oCMmy&8;6hlIQ&2Jp!yf7@JM+({}wnj`S%K zzQ5s71Z8->Zy4XAIliI%bv9_GUe~Jr2>wa$BNA`(g0^oX5j@!~y}#$%-hkwO%O%|< zx!+wM8Js(LDoTZ(*{eWHe~LrvXAeQLj}>Uw#{pU0^UywbVkq&I$U4B^bFt}U`~+fP z>fiZ{F%(;kRk(VFz~x*-Mjxj|E1IbLXtlJ3_$Gn9Yck_bJCS&%oe`6kMq;oBtKWOH z#F%pANV(NFSB@D>}dm`KgX?X+xQcZ=8}d%mc%QYz|{PvJV-WrsUY zt}}POx~>)-|IW6e^xd6Yye8rTRMYnvzq1-8Ltm~a;4(P@; zgPnHOm7U za8Imb6j;anCkf>iXBOq=Au9Yv8Sh z*jxBk2@pMZIhVj5*F4M?>Xe6}wjaoT^ME;7)AR9jC_&(IhYI<6HRy6wY7$ zem;Xy6`89-tOiv@d>OKqPk+zby(n4q%kaCbcdvJ78Azd+M>=2i2ekfI967(jg$K31 z$wNx@lKz8gf$MKil3imiyKnd37n}{?b-8b)fG)}#szUZ%3RJUOfvyfwp$=R&Ce>{%kyt&N&MK~v(aDHID^M+ zMi4hO*pC2iaXfCx!M}P%&d+=g&Q8X@{3!6CBb|%>gj-Y)w}m`z3T`})TN;U`2g&%z z+0v-tYswDRO#++C(nr{1_uySyz0Xq+a6A zj1S0Fu1DB*iTf^+pGDBKw~z17nDlYmkbO!#8IJy;+mosm$u>$lO zHEKR5QAV~jfWEkVF4QGi&e(O7&|X2m?+&ADbniP^8aa|Get3lAq#7MYqCv~nz}qJ;=OR_n z0-JHCVS45oz8@vjIa7Im$O)=1yW{&r z)>iI~SoI-sHAy zC~J~a-dPT^Ps;S(Lud*tWfC9wvim*nbSQJK+v3~9 zml+Rb&UL@xBkvA)0;QR6ei`*(JA(L=eUikWq%VPrUz#uuH0LnT@zZXX9+-@U&VpWJ zJK?+1_AL-k3N2|y^%02XR`1NG(st%f1)hJW>}O71AD_?KU#Dq^{3480s!WgK54ybT zBMkAmqb^+H603H)ylWy19zEE%vZn68{Qc6AmkG?$=k&P{vlMWm_*|&%qE7@^_qwil zNS;O4&@`lGTC%U9)o4^t3rQQn_Z0}8LweDDPnr&z?l;%yo-iCR+%nu>z_xs33_XCx zPHk>zTNHhXJG^<5T;ijg$#_$P$^EVWplP)!#}OG~jkZEM)BPY;n=^3e?$=B+O@pJW zAdT*_=q~kOue0o+h&kBx-DP9k8@drn(eeN+-fwExPF&WY>lY+^Onr#is~o&S$ju6|C1Y;tqt0^ zhwrQ*AOyaP1Ujc;qL=6Qk#i(Ont@282cpZfSJwfykxkS{dgQC^@q0YKhk~vQ?uQeh zLYF|-cEJ$>`ZW!XMR4qf=jD!J=rK5qa14e+21g_ud-7Fi^M?xb{deDex1)6^IsykB zu0lfX5R_@8(lQN$Z5vEf+J*uqW$?L6*C+=ql!k49HyaFPGmgXcI9wUX!4#Cu$b@Sq zTp1%$MjI6du~8a~cN8!fspqu3 z1-yyWGn&=UA+^3)1d*n|DW<8KJjeb0C_!YsRwAmh7yaQAiK<0+d?Kcfsu4J+(s_;v zeat%~V!LRQ?j2{$

    uwO#;i{*&5P+Z4vAhS-$5&%x^>8J7%!e-*a;FU85k0FB2G4 zOf_Rs4y3kGiTql+5OuyvA#}di?{^$h=j;l~OBlq$GKexS7{w4%rWxA`tws%hC%{&d zp^)5XWiE|R274s6LmiuG%dfWBSyUapd#(OgcZ;9FJ8V(e%*O%C_N#lmKZVyu|LKq9 zE!!u)rSU%3*?#g)*B>b9=?<`0X)1%NC}j4I!gYFuaglN4aOPhzYm;iz$_Dxsy{_>c z_W^Go_;Rvn=d7~=-cpj^;~5^@}r z1Z>O>sR3DtkM7l@ceGe#jK^fHLDuTCQEEPVvdEk1I%;O1XAAg|&Yu&0 zb$`pl{#zeVwpNJ;86ylTBic-;d$v8zc&_B)omSm?Ed*(ClyT~~JV$OXN?@$%MyBfS zJ{;0E15X*o2!QsWF}m!&;H+z}>$B_0{Q8NV5*6CFLxDEK0p6;nY=+jD?_T#g(R}Re zz*q)Jc`&$sCO$JTZqNxjG1^J+up53eB=ul)a8pYOp_jCPh+^MF$#-pAv zbgJpmOrJ~MC$TCFr1wR0l$2`uTzrV^dXn$1@6U|O*X2(aA1ym1#G(9ND3OrDsC*5Fo7V-9^c-~9}fENLb?%2978<5VbrHegljk8BHIk$}m(-%M--I7|KyCVP9+ z4Fmh_Xb!zzAA(uF*OO8W!Xk^nD!|GYM0=JXWC2dDO1Bw|@uv5UBp&d&*7<~OcRv#! zi}@umt_M+ol}eCU)L2}}aI9LoXYh3fZMepuWGn-!31`a>1zLs0NQL;Zorm2OeCzC( zJJ2>a__i4z7@Ij8e$;kuyX{H>ZLOy1Yfkkc=XOvt4aWHoR{vGL#sL z4VS@p-)r1sxMC;*+raVj-_U&`!wkc#hE4S>ehpU|2N{Pzn?U>bQOO&y)=_TWZ5(AJ zGd+F%KSA4|N-f@RjBdGD1BfI6+nfZO7Y5LeJMqL)N3%(lvBXD*z% zK_@+z)3HlN`DDH&Namzu)~xg>_9mQ6itr5#_{w)RvD!5=45Y zlJ?1v;BEG8VI{rwe(+MKV=94$`b(gGx|+UIzrf1u4@px3_X#Zio`?8-?56k$ek1%S zA$_(858$UZZUCAd=jq85P^w~s+Q2+zFn(yP)5(8i-d5PMc?_rgR}81Msf-EPH>3X* zJ!1Ag`D2-H>IlA~b2h-W6j5p0bm>jQF=~sR8^A2d7NRs}MmaC`qqbxmLPqNZLcmL~ zmE9_Qi++2ojjSq;c$}#Ji_<=WQwopMZ~bKKtU0ivICz75_w3oTd(R%}!w)|^WXqfc z^vUc5gc6#$O3g8@QW;|l%$|@FuMDNw7+wR(44KB+;LUwEE5P4k(*FHSP&*YFGY#^i z_3*Cj5b4cr<~GXNDgkI}!5)y2s%<8wZX9O!*3BS#@(fprn5q*{-+$MY*(1m3lgQin9<-1cfA($<#EU^Qen_;h||fEZfe?%z{vFK&t6s1sg@&{yl2i%6v^ zQ#~nZtJDEq8M;+frY@%1RAqp-f#@2dDMIjY{P%k40W(g=WNgh)&p}-NQHk`e-%FIk z_r>g!gD*BR^sSJs-*cnu$$XmWU1e*|@K$!`s#%z}Tv^3dG8WbPdBBNVxbYhC#}Kn( zG!ng~#9{ls=VI$K9KZXsxX4m1aMbd?ay%KVfErJ6B={xOr#Mt8+4={Uh^xhSxFj9o z(k;DO9M1DJnad^IHpYnF$~MM;?b#8WqjmZa;cFI`9Q@5a%(I2tp&`D*eA}7pqbN=E z3Ohx;zw-33O5KxohKadwhI>bD#4_F=C8NOeZLK${wSArKYY9&V=Uc%$QqGC%qgF)l z|E}!N(Dlva&o2{;H|Us_K;Hw~7L+7YWpGdWG1s|FGTJc=SCm{SsnyZVY{r!$PkY#0 z)|oDTK@UEpB!$f3P&eqL7e3XAFJ388uG|3p#Mq(@S4!BlD@Aj&Znhk~#%<8zh3?5< z9r{0u1G{lASJTfA@U@EP>S%xxwb3@!U)3+N&hhB~oyP^v@eJ@sv#DfHiQnDQ`v>Qy zgTEk+|DxxyMt_gDiC8PbWuNzxF?rxNe`F%?-#mS0GM?ys{wDIV+H{`Rm&OyX=8K-` zzMaPWO!?77GN)mBU{1qF;DaYsh2dBn>J*DZokG!jpxMzX+LG`7izjB*K2C_p?1HuW zFM0}m48CR?md)_qnloW=8|2%Z?_T7IxF_FS$T!nQa&;$={Re;L*C_ne?cv8~#y&&F z)+t0adtBZd17kFCP^tQD1)2(n5stxd{C|b>zCXbkdJmkwJ8-K11gFP40B2ti&Np~C zKjh(jnHz8T1JaLzkUs5CKvIBh%T@&fi-U^cstC^GAy6h&Rjd-=*K`EZnC1ZphkE3E z%>Xw=*O9s#y~Ohk3BsuDx;6M$_gudA<=p<|Nx`0RkEaiHfnTNG#_;kC>Fo%Yt-T;BUxh)q+fhGW6S>0M8(snM~m)Lyo2 z3|L%>KgSpoUf5Y61=&_Tg;cDQ6>E8G@9w3ra@9ijI)CDpV&+^ynWkzb>1rr$?=KuB8#MqRWuJQM*;pd>qY^?Rl@@-tKMg{5HxZ!e$ zF8CfAl1~Wv4)t&2;(~8Sz}t9uR`PEp@OD){84G{GBje``1@th~i^B1RY0o0Rm;J^&o^_x;5G4!n7z?p` zA$TahaK{Q|Jey|wiF*efF*3$Yh}0NSU2J=rulVkmE0T+QcrEJggRu6 zs#&D$!A5%2gp2Xn?7p1aAFdwwdy7^*r~l0z&&39Nvg&>D*y}poPiDS&UAui`mi82H zR9nvNnQNN4>axE8CC&q%rh}!RJBZH^A6=spv=Y9rBVJ5AY9l@B(Ej~nf}=+sS7OKg z{5;81-UJi^vh(p~1$qQ{sDkGs_1sRBE`>U+;S>*2#_9B(xiJ}!^Ta;7lF_fm;c9vFy zRi`s{F7vcUIVXC+uA^7nn|(=lW<`5k$FAQ8T=m#7xosvu zvYiv+g3|X(1^T?`FYN+pF7~)qUN@9Jq(8we*zw`AtIG)PUvfzGoY89}f3g#pJiXXH{oCs2fHT_Mkvzr6^ih@R085QGpt<7u*37#5%Vj)9 zPu$VMUl0DZeaegP+o(#CdrqI}p4<;X?sK+fcXEF__?vd+DynLsJFBnYo}82Uav!^s z^ZUVv+L6j*g4}>bPw&EeawqV)=ij00wbk3(lfhf{_ssDUjU_uWxfr~x8l)n6law&G zFZ-SnD87WOJ0*0iexdzsPNN*agz1}hPyXxu1e1(A`R%Kh1u+r!O}r=PnSN68xH~y- ztj=wJ_h#(cGyktvF979Jy-D|!wVy95{!Uq)t4FmfhZ8)%_3kt#)$Uvl(TeiQa>9!N zj?TZv`zEgvo7Tl8pd{ewp}^DiAfIdhu0UVGRS#DI97EyI!g1qo3iKSLe-76$$oo88 zzl38B97o_tfaBkA{QTy?zPup-L7^wv7U+3O2VMBY=X{hhW6?u3I530egL;)^VQ~I0 zng3aZH^Nu{;pWdo_dTmOx)nb1|KS{@TDD@@u4V1Z?pv-@Dx7M+0H5QuDA^Fue=}!; zo~Hu;A_|;xw6{Q;eWT}t-eoI(;pCciw)t7&7SI4>{Smps6wvRXZDd7*Dwkeq(S1N#NY-i{arYg^;vI5_ z%H{p{Qh7R0WshsUpPaRRS&+&qp30wiRYC8Oa~dAjPrMMqr+7KHx8nrN60yAsZ^s_j$?iF_dv?Q5*?>Lk^N662`3CI5=GvN3+ zcoQuBJ!Gb13KqZZ?^)Epv2jFp#C~npu)zWRE_-8n{5-Co{P*Iw#yji|euMsmUrS#A zzi=ME=KfF~KacC6pOmThh5=kdxCwW##GR9P+x@Su1jKDppbWrsE!@AT8iFe712a9w zSA+yD-B5skx`k+%a*+H9mdtHnvAFk2i%O^0zOK_*#ZAkX)Ame;buK{PbCKqM_DH37_HrWLx*g-5&3r}2{5TW4-Jkj|v<>80B9}r-S91XyxQ{E#lv-t#8+5V* zVa+RNN$VzqCUm=VyhIb4vLk|;@L#K6Y$N$AIKtCz_hvuo9eu(mw2P&mW{I{&oEO;_ ziWX+2H!Xzs3g`H~4Vd(#a;_h5))~Lz#Pwp^0{1HK69$p>D-P}0W0cuwyO=q{EvVmB zdWIA4_|`5GF_!gm)v9zn53`mD&Qmv$O1fEM`PDWP;F9cKtA7#VSTYWi1#kt%VcOhf z{CwBh?n0k7o3w(Xe;zz7@sW2gdj8=;IZIB@aQmO02XIYr&brB1X^bpvby~wBywE+{ zgH+WzA(m81E%IMdXG!X$P*0otJm9ajMer8;`_-d)i=E*;(=M`#w{F*koll-6t`qGh zl={>|D3x@FQg5uj-Y(t_bYawn!cy7RySZn7cV;&$Hx&%o_w{Z!jO8g{k|tP^Tuj5C80th_miNN^7Mher%Nv=DUAcN-OG z|G$T!-EcI(vEy|GI`ygoeev2b^dlUE!)PDndAB~NBb!ABrW(ZK6CEOUpPdcefUjdR z|73YN8l~-CTwaamBbl8+U`GlMFIC_xiY+J!$6+;&&@Vxa1+!5`(P`9J7(q1_&5oN| z=qqIL5-hYMsa&r`3-nyUNp6ApG|0)9*oLcd@6wZ8ZZk^Jc1M&S>z>Xm(J>AY^SUm% zNrppGs^N^($nm#|=SwMdIv1&B&B(E#;`5cXdi+K`+`mw9ghN_J{Sw?iQ_%?btoj7p zKUvYcQlL)U$d)5VNyS8NoK~pT!~L>~$#5@HzXbPxsmOqPvHAp`-n&ww9uLoK1#;w7 zjK@byr0S(h^zbwrz7c3c)Gt+N9XS=TID-=y{#Eh14mpmPzmNXVDGuu|&guA1*aJ)5 z(P2(X@WN8z*qn~91bsyd&gVE#*bAj=4YZGWE$B5I zF+5Owq@>q$*mRPUSFSDk2Zt)5oUmP7e&uHzQUdiPyST;5Jxk{j6!NakPGZGwY+fUnrH@*|5i>(z&6>9w=QNYttohamTV+Unq?L z$eFNoczU3eb<$yv=%36=f?SjMcb$sB7gu9{)(5^(|DSKzJKqey=bPoj2fi7^r>php zTtu62`~#(r=--3%p>2ZJ2$H5*pihFRc3r8&NlU1-SiEjoM#&bPLf^Pj=A>nelV%#1 z`c}TCCwIQ3>u;age;l9Xax148^KmxjT-)u>PdbW8k0|XlWBNffDyQQW;jPvIj&3YW zUq(23JFcG_W=CQc%k?h+*FIZV7lo31OKE!rvjk-no(3L|p!E8~MeCLdonkaQ?z5#_ z;kqKi#qs5hCG)u?E$gGYCH71yf%2RG$=AyA3~mUb)G1sfgsDTyA1tNSnvHwF<3x_I za&9G~M)1VKlc@YKhY+jY192L1pz_1O-Q=AZo;+sYZzP0wQh4ezb1Ow^4W#VhLg2Z> zoDTP5cpC;!H_eBE&jWAe@O;5M9>2I!s@}0=4>uT|Ps7(CYBM}VBCX?$S%K3zpcMK6{Rjwf8|j?U@$ffbIOx-_3~yOiG5Kc`cqk3$=QTpBgp#>}CX9|9t7=Q5nFCIF_}eFq z7oAZ`O`y{(K<4UoU76&+d{q1k}zjalCC$`7p&wf|n32<%vU8Wq{E>@0i zmnAm*E>5if{gb*lzAs0-Jp^m?^EqYid~PJF!!PR&H<>Y+uRRn?-qp4q_HN`(IY)>` zz_rd9Dkg8vHJx%I@%Yv(uh^yaiX9`oW^P}D!YA&g(uVj14uyV@!_`k|!o6lsxObx? z8=IL4PI-sAAsfHkP!0Fe4s^e{A-pvne-cO8XNY7Q$8+@kLwroP+()NbBjPzaqai@~W^%;lwPKLr;k=q zz6eyVd!tE#^JBx?Vy&dCMTkwOCR08Hq0+Ig%yOH{y#A;26PyXxzp=CI2hI`92Hm-) z51dM*O|EOwDw*VSO;loN>m}~Di6GtdI(?dFu=bezm@^Eq(ON^gNr10l zu8p*e)^WN#9m^d$PLG+&{6r`kK z%%>p7f8dLPSh-`5M}R*8NOL+~)@ZvPERP2d=+rfq=Z}ykG!jY>CSf!dIi4>^qmg4{ zd8`$w6|D-K<*tYqTZOd@P%v&|zy$#YHmebMspo*jIAH@6?u|b!>(X(&1 zq~mZ$yPx6zv@u7=M1Kp{LoRa;a=coRbK4AFlzCx}`)`Z>8WZVb{|a2TW@*HG4TF4= z6-y#&8wUF%CVzy;MJ*gMDW~K5ISaBqc2>XUf>p(haR zcinp2rr+;m!Up-mR>4=3cDZgXWTp-Fi3(4+(3}u^=cH*3$6aXpKfSMdDEsAcgBu#W z70#Tl3y-42-OfRb2-@4)5aA11^`3K(nD&Y}A|(o6$VyUvn5*aUFlTJo2=Cweb2@HJ zjcEu2{tj{VJR0JR4H@BmqZed@3-O72(*T|;55`)*wo}w6dMYE#{zd!+>OK37sZjQE zcZ9$y-!iDG^`=}_gTvkq-x~5(Xl1tNO;PL3u$b1HAu@Sdw&(A|GChA6MFjp#g7$dH ztjC0way9DSZbpfOzLWk$-{;#17ansW^f!#UHkyBMB8KS*V|f0qxx^V036H;)Ki11Q z^SJoCI6MqE{FST#hii4)uCn$s&*gNOBogp$1okYc)GlG7z+aYG!W|X<+$?j~@8wxt zkK}#T^>CgUzTatYdundh*G&SaKNa#*1oN-$0{X|MZ(`@^^YrkgHQce=Kfrs_++XfL z;Y1Qi2P-+^-Q*F~cFq3Usg#_~PxMN<=5q;3iPJw>>6P%%u>jpmAb+v=(b(Nr3Fe>n zkH`1oPN`5*&TTD@tGypvvQkC$2;?G{k{D>7YkHe-}Bgk zbe`{#<1LT_IzjIEyLWy&ZY1Tu)_-s5Xw3TCJNA#p-?mGv;+kqB3zC2=u~y0=wfcK9 z`zArD$(ndb6V}99#nnR{N4?}fsBp)!ex{PtGVS(=1BYDbFCeFhR3eeBIx~?iZTAP} zXe_iIzvDAlz-NfS;!)?|jJh8x7gkehdgGT)MAP8sf(hA3tI3lNo*pQ#*vRlt74S5% z{L76j|MVq1-Cs^`67Wwn_`AvFx=q5sckmQnUa?6W_^w>*NGOlSUu??OeNi4;Q=?nb z99w;N);yObbKLXKTA4=-EN z5_sPBrfzuaHh3O1eBk|%R>mn7lr5Pzd>}^%q)1WfV&S-K-CMfUJhoL>6O#7L;ym3q zdH=0#p6V^S`scQ}1jRD$j@=Pzu&ES)wXn;f(t?Kj`U{!ULcYY`_S)& zv46bV$-jHA{fQ0dehg8XL5|}dDm_bF983EI0Pp#BIzHUN z^t1T$-=lH+)o2`BgVfV*U){g=swm;oRn+uIZvxWx`28n7h~wkTx9j!BR&Jwtm+=*& z7`#W&-z#^OhFd0iVt0h&L6|n3;U2A*R#lkDij1G zX0x;=agV@4G+Ovxb~9xWR>^ly0iA@lkXexao@2hFoE}BihE^WsW}*mdSf#Q$q>4%& zQWM$wWp^n3nk}TZ0i^dr(`9tZDU_XZ3dB0Etn1sROs}}hs<1{g9aq+bS9h3>M>F=* zYjQe@q!n3pO%*ua`h}eqkLu`H`;8sRzT#rdae88rZRNjY9qURiKgx|)9_11>5#X0H zE^}sP_rKE^OT0C)mhkUnOk3Eh`M?Ea4FNI+^swJQsaW zN}=wQa;j;MQz2!blv7Qo^*XPlC$y5W zb8wVm$?hUfe|lxsMZf_mrFKM92rS z&~zHoH^3Vi@DpG1jxV!5X@Zn{(wd=El1ApRJ=Pq{$q&S=5kK;aLVvAbr}4c~#urwU>WMgZrIeZyq1Uxc$7m$kE$*=vDp6@o z-2RT1nmSUOxD}0E)*NpoZSb=hrNp)3uF#dox}rkjYj=U)Pur)9bGrVLcHF%x(^wqh zLk>nCaU11?G(F*fm{D0$I1YSSMz6~n%hA)WgP$X*-CI1wvB|H&!+2{AFapd7ZP0ym z@o0Ml7or(}clU+qSTyR(CK|MSvz)AHu7tKhPQM0OWN=rZr7Q$uadSGBT8B6?yh1!s zs>GTOyg*Vn_WhB%7(dlM3#CJ}+vAG7@eporC%kbtCnVMeI7(^-4(JNBKU=lrE{+=A zZ#OAxfy%-V>pZ#8E~5{EpQdP1j5^Vzm{O%Dr4cUuGlwQ%%98kw)QY^6o3;c>n~djU zc8kA~@2wRsS#*QqXs06#Nr<303W4(aHNl%`t8wY;j6{F3S! zCLiY+rjhBlL(G(p9iNrW=xr4_Q6`lEdt9qKF?)iGk zLe)m#Asf>?^!;NR24MzhBmhk#u+EKvtBVF{Kx1+`W-&P(8-=Vz+ud)bt#NwXZH8!` zL3Q9gBxBJSwDlZZQTH`?OC`_elI8IozpkM=etnYs?e>hZ5pc}FM|5>fpktDe<45y9 z?@41I?UcFao-`KHJ~vM?-JK>#CffO#d(uS7iYDQG;+CH|MVkn($vWJ$20sbf@JWb9 z=Qodz{s3ZT@D!(tw&Zkd4?AWLVM)INJvyi3Zy`zNcXU=}Al3Vwl`(XUR*&AH>}F)} zT$)9tt;sUn`b}7P>-I?Gl%w0H3vV49X}I;CFyU6iYsyM0Qz^TN`Bd-vwbA)C9)9Ou$&7MH~n*UYT=xD|%-E$7WFDUejfI1>F%o2DvW? ztq{9vSs(L(#LC!TV&#sx{yHtCQ5wWnqAzQ+*576he2WFOvKpaPsuxtn)lz8|ozUWU z-`F2ofAog{ zjTF=rH5@~7$7cTokj%qQDtvH*xq-;* z#8%o$+ojY8&ag1XUd}QA(R3;Rb*48AU`E{+_@0A99;6Y1-&Cu+bwO^WCcUfs?1I1w z9+9M0Kge2>b?`!9onq3nfD+N2Iv4VFni~f5^#y7>@n33V{%dU(-K~p(+FrhJvYpW8 z<@&5*`SxZ`QQ68(HP>PRP-al|WRIeZN)EwPmCz^Zp)FzCTDh6^!e$C9@ObBo*Ixy0 z67hCT>v-ARh)jsFO!iQkY(1$3sabm_yS^1AY{gWymSgRpr!>^K00i!fSy?&1OrE9d zy7)YqaZ-XnZZa(T+Bk`QrnpL9qmS`W)249r{niHBz9GWea0D!OX7|fUlRfmUufQiC z+%RGc!CnY)^Q4Q%yCqBv73*W1Uq?``74uZ7U?=$dhUt-a?$^(omWsw~YKZ@3Z|tW{ zbQ1WYPnPPaapQqHTeEn}0-R08ly6`BBI{@iZDneHiJ`1jNTyd{6wm*KkTb#g)2ApY z1>gN$=AG{@w<8r}838_8H6D(iZl|g@wSRg!f%h5TtXFK0dUyD?&vkL{n7icVpks~0 za1EwZpk>8FYsH%ZqqPG2D>MUM%^E~kN~>54TSHr=*lME3ZF^i+wfJ#q&A#Y)P}d=d zIi;H!;@5OVm8U?POx{C@irMxkpMO z^GoCc%Wg`bDWRqg1AN|cck@=@V@Q~_rBgOtQ1+8w`l9oZPiAF zl>+LcaWU33Zm>L-oHfXC+#FpU)1dJTR!SOP*PUrP9X&r<1^y$kyXG#dIS5rkRl}f$ zK~6bDsGH3>?*6i!_6n7?0ixP6Aa(=r#OlFN|Bn&0Yek-F9N1_6zCjmB?z=MqmkSY$ zYyEs}^t3dTY;A~X__>KrWv0KbT_U#tS4Q9?P9{93Ba^W00n#WmP8D zitcZI{3xdYZ$j29u##SnIbNoh0-G;!DD-0M2=5y{(j%12^DndQJ0}W>=7btvejx%H z+JeSJw2FOf7ud-0U?267`bgfJD!_{{Lp+kS)%v|UB~ZuSLM0G8@Of5i3-i{jM#?&@ zmYNu$rz}IQ2X)hW9yy?}MuApTz;mr$W@Rl3t3^ljW?;oE9v255s^7E4E&H9nxO)RY!Z(;4TS@3lpo#=_twsI?XERB)+ zSl5<^#A9C6>x)I;B_O4?yTvTC1ornLv)F_d)+g{kvXbZ* z&@DNG8$O7Jl5UGf&uT^YJ%}H`v{g_o_0i+<5N+2}6vV_k8i=n9wg+$`m>qPXCnUeX zdA$IlS@xIpYN3-7o@=5ey{5a~!dk6HCL=Q|l=vr#nGk>lw=@ z_8H-4njm6UJ&iunebN+%ACE0XAHv-P{8TKmQfUA`Xm){$f@qKupUe8Fg|3zGHkGc5 z4%*bWE-0)q2N`RLjkVSozi_hDB0UYdkMy3cKhIRBIUnp~Du-H`+8ATBe!hHYZG>T1 zEt%~nZer7@X8H)5F;u;TdyMFe?SiD51;yEQAi>jyc+)|N$UQ2DGG6=UM z1$l+_MdZE|Wcv` zFACNns!5y`=*>&~Kio+A%Xa9-^EDKLW{m<0{(SRP`(X8VJnjB~`h(V6?e(r>>p$lI zqX^VM`o#Gfs%1eO;z8TxaY`*yJx~XmMfryCed5X37;6OIVPtzC?k8hx1=QG9WY>j| z`7g_f1de?hp_DH{A|mk+9M#G!naI(ValjXGK8c61OT=G8G%I$QXOj4Wnvm0RE&W2o zo1hg~^TE8S`YHO~TWHNoSwbf*{H2A=S1Fr8_=H?1L7=wOia>39%Q4s>utQx@IHNEZH=5QK^!FriZ(dWf>x_#a7R)fRTNq2Dku$9= z?(fO=vv{3pN-;pz4BlYZeAH+Vr>P*)+-GM(g?oJkjV2QFzF)r9L_5uybOvdu4UD$? z^K#AvHcU$6JpC4YiOc=%#e#nQgT>qRC&AM}W96XR|HB~-@dJf+Mk2Fk!;#6Padgb= ztn$1(y$4#ykQD}AeS6DU_~u2E$&pPtx3xO3 zojQ-{Ta!5B+k(AheQ*;RwX&H~HiGXHGbqA5Iyi2N)Xo-?_eT2~T^i4oH)o~ttGE%) zJg+5u|6DPZ5g*`uY8)2h7mI1%prTq`brYp|wm^tO+t(G(!;4WecDuIR$SB@}Nsm?3 zfdHK!E&pXU(5!Nu9wpV_b;bD@d=!pSfrsOs&hKTjwLcdJ?l$)a+Bb@0G*KL@r6!OT z_8Ir;E?=y{A?*OYd~Na9;o**FIfB19<8%SRtg3}l-oYryUpXD;pOrVKcL*6_%cmx4 z)PI_4KsHWcO)G&m8Q|Rm@J_w)qUop!a*5fdFW~L8+n4tfK6wG?tPJwy1Lb5rZldi7 z4^HbB+a=7?@(bZCaOJ^FeFx3vbYux`v`{2Qkxc73vHySZ(0% z(dBgfnwrAVBV0f|h?UZn+5s98X(G5An*;FpdrtHb{0SWh4UYExcN(;}Jm3DmaNpfW z3kH0 zPl9D!f;Zu-|kz~n~Duy&%0#y<2g)E%+|bkU9%^|OMyhEqLrf$HK zBY&{wgJ$XLarb@7|2s-j8cn&lujgjpBD@Z0)3_|dxVG50tkL)YXuSnHrY;Y*LQa2A z_|aw_(*F*lv*j!BNuGWq4()$E4t;z+0e$>h9Ln1ihqi8vLmjUM`iB7v*-!Q21KaUg z?$OjYFj=#MRxN?J0HVt7#uXRA`@9HI>u}6Ek$!?_u;FMCHT5j_#=JC7q($CGta^f#e za_>O?M?c0DPGG-{Ie1b0Taw!gldJKb3a*wuw_Kxta059CGqZuFDEe9Jm3a8-4azm zy%;FzCF-8BeR?zaF;RF?EO3=3#z@&2X+u_BQv-gjJB%T2_AB5{#w9Vk@}<}19`}7pgN!n3mmvb^AGPU z+)3^?cs{IQGb!~+?wU5IBVTcri?ty~_sdigp#kFijYZDiK#tysrz|2@#afZ`8pBrQ zVxdLkyg{Aisra!*@K#^X+5WTK4dp*M2O@3s=~AxfEY}Oqw-KH4DM&pBwW0WDmm*OlTz_lLUA65!B=K?i9kdu8S&hk9`j?x+vt8WBqUo(&~8^!2+h-XYCB{+{Q{%c>E#4N zVyVe|wD(?_5A}YG2rYz|o`USt5qR4%5Q*iyq8sF+_6+i|X|5J;Ng7C`uKOXu5TC&H zu>M2)1|+a=5M&s)=}t9O18=^#VW3~{koRTpQu&n;OORrExa0HQZ=56e5uQDKe~1ug zfnV~jhfz$~Gi9SU z$~Hy;e-Quwc=x~4qGN^6D+!{?-&-12LJgHfLOqRH0gytX`ubid6J?CyZip}{rB#5I-%-gf*hmx8n_&P6bKd2&{7yL{qTNEPqh zSC7B3ub#H^=6&_kFPKtHiN0eULTh}iF4C73?*_3FHiq=c}>rz_o z3ns07M|6U;!=8XCq}ucg++*hxq&;>i&A8b#LE2?cly=#-ni3bv?8txP`|N)b_w}r# z?(&f`e;OhjE#pMC2Y6S@h>Uun$Y)@=piN*dZq+tB+5=GMC3P?U~*N{1vPYqZR4&^KBY>I02R7y&(06%!$NN+)Fvqti`#DbL~^nN-Iir!gxNuc03pNk~f!pE6z~tog81DX7TqU)uZjrWfxFF z0u`Y1K|3-emL!C=siFOQK?@!*qJ-zaAD5J`+I)2&&Dlhf1DC_{5l zhHB(BFmE{S2IWX~4jrd^rKqD;l;&EH_Dk24D`Aem5wWI}b(rP#7jD-JPnCP?!kXkY zKh^^>?nXUW2ex*+rN0&{O085Ud~)F^*dSI((x$jIde&i-V+m`@57EYm_Z^%%x%bjq zo)&;jqh>PP>~v-h>XS_-@$9QoSwRBoI@UFo4zfyzHf3TNt>}n4Zx%OwpFPbungTxt-a!N|^ zSe_NX1RSoZV#TxKKYUpK)8r`%67K@6ZZ8&;bXvk{EqYe`N=j>mw6CSKXT>w^6-DSr zN$F7HSt&gOaP7Vl{}-^nX|Dy!f_;>=!#AYt{q|r9;{%{9SfcE>l!BC<030u6ANsI9 z0?L9V$~xM+FQ>iUefiGTU>}7iC2XYdV+k86{KQ)Vr2WmC2Bm%~r6F~n`AYp9%KJN% zr}yu^oDz9*Y9sGr4>)>dpgh3cQvnbY&O94 z^OyHMZR-S_<$Z&hoq%KM8`)LZ=VUTgRGPzu{Js&G=_P&6_s0fP-hvS%{e3<2uJ!d; z3j6wFmiJwIAHEBa#uvi(Tu6Jy>x5aVHj+H`1W^`+JlTsN@2 z;ni|?4}W-I&G%^Mjty@*ik9bb7a_*}fXWn?_EM&4Z20t1(C=EW)F81;Ez*FN0}H?W zGszaNR#q#oL&>3&sK}0NW#>i-|t)TVo#!pAt0M^2-(jbv332+4jIL*dhmI%FafKA?y8V^PzMkOQ(!6Fld-_>&$ z{!TM@Y&h`fnp3gBiRbhcxvizCgVwo5XTKGB1$`#1p|$kT5c$1vAlsI8b?iwPd;ROE zld@ZvjcXO)LEsxU*2^{WtzNFlre3bWyOAm^qr(qeUr~LuG{hsnI?1Z52A&}y9)Hhn zk!|wEFtVV1_hzHLl2pB-T3n$48I6|N7a?atlB_GNanECvG{VL+r zV2OILOal)2RvE{JceJ9tFsaRJD;&t>9QVs5jXX8yh))|{ssQa7;Q9o$p`LS?WaF|$ zJNI^yh1-TR59H2DoPFrsj1Iqc?e`b=a(fpryrT-?{{Oj+f)}(kxd5xvD zR52SzdQC1p+b#Lndtr>p4BC0LG_iV7by;-_6^r22K*x(q2t zUVZcYOr*ewz3-=6morN!a63a6gufWuCj>7dtkbcocbKY`FI5B4}Ot5z=<+n4s}hy)|egsTbQk}JM7}x8gA=DARn}UQFhr(#JSEE(AYqv$nUIF z*P&xa%!;-K)4TJIJJvs))%yasT1cjF2nI$?Cn=FI{*Q{r;&k zCnLL;e3R28vO6bv{DvoaR3l9y-!sV*Fsgc)b1?o(9u5FsE7ZfdUv=>T$|0+#|(*7<&a`UJi)L)J{ipTJxD73988 z`KR{>{ywW6e)(??tp7|DdKQSJr+SI%W!azp2C15@@;@yQ`St~(9A>4_8EE4g3C!mG zbd{ZH+~ufb*$lSMKb)V%Y*BCjOw`oeL3g=$)ppAEd_;Tb0eop_he2fT_U

    AoAtx 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 v|hB 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

    T57abiF1NQ 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�wz~gSZ>S|2h>#cK#`r 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

  • 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%0Dn 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
    W&K&^P5aq-E(eSk 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 UA>9n^}sv1>Xi6=J52N{5BN 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
    iND~D*0w{i66hQK~5Ijh8o&1dPeVb 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%0DHqcO7q!%fied+>+hee>80+C~WXavgZ0@hh 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�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ξ~1tK6Nus<#J;x^KLb!vI+_9$$gan05O$JdYn7Q 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%0DS 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

    p}B?8)I3v^C{{ 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

    ML~5jK`CSzf&|Y`3;8g5vKo6gttn#5+V%PTo}gL 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

    M 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

    DDbC~eU!xg$ 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:^uyO1 zqOUVyO_+kyW~zm~DI~~D`3U4*SB5w7@Zlb#$^?zoKGIIfFUM=F8k3@K=KuDZuC}mz zwnYoSoJ4)IK;K^BniEu_JQH2Fw=@-=Rh*YJe`*`@j~H}aYWAKr3RO4qJv10d*77yF zUF)n&fswwlKeo*r?Zi;%Tgzw|WtbJ-?;lEywB%DzY~;DP)?adl*54az{g12l)(^+l zBaD<7NU1&v-A61ehBlbh!t}CYeO78pqtiGb$ykwv4s69uv7{3S>eO%_h;duR$F7Qf z@(FxWX~qWm*znlvb=ZQ14pXo@4PBrzQetq+p@ruozcacpecm@7kF+`k3iOvnb2g$S zs@$FgDMbh>$crW20ZAI(6}|2AL2HY3an=<3;yT1S9zvLOWK^ltysi}QkQ#wy6v9$- zz2#anp)Nm&wexJ$#=$|Gf5nPR$HG9&-RK@2ES6;S@=|H0E?-)L+wVG0G|%@YW5DV! z#R@SwE0&B`z?Dfn8H>c^Ua{n7D4B2GL*t{b5wIN+tLQir!?Ott7VqsKVdCp!6Mx`U zed5Dh+qS^NwQa-RWV+KSvng^XjJ;jw$_c6HF_`Z(eGLCr#yAAAp7i1}IiwsFYr^WX zE={;U)`U4m6N+%{RYTL8&|Wv@)s@Q=Cp>r_OzRbkNCLb@iME=kcEB-_)trZpvS5X1G#hyc)f^ZUf8b&P3G0)g?jser#$3R$m|u%sEEbq5Ct79pBBNlmTKQ= zrPJu(De@@m;A-J4WX^&UcxP$AXvZB&CJpz?XVP$2``F#9^j_cm84bK?JRkVyUZ;T% zuZHYpa2laLS^op;vfR&BU#Ev#qmlQslO@qb5EjV$Ji(X!?Autv=4e6|B>W?musWKM z4GAyD5*~{t8JQFGyI`hj&d)1@;Yj- zowpar5GvuPp!=rcz`)W<2}FrS*BLbTLf*p2fU?RINSGN-I13XNAtzN#rOZ^^BVqvu z#6_2NrOWG+h|H9~Y$(D%BXIebCEU=x>9yF_4Bs!3%R&dV|0B|?o3V8szEr**Yqa53 zJ~Jgy%=^)oW&CRoynHSC@=BN~==}`XL4S_EM2(RPswu$ny13DuP2+$)g5Q@kx^pND zhCdR2UQU6H+;!J)j9dRN>AiatcRgxNN=u>6TcUNY!sB8J4AzBESvvIZ3lnuU10Fl+ zAgvvtai=*r%g_;w%WJ8tz0@4I(^Hv3J`iabKD*W^)6a(id)#(ym$@A+HP>DW^nQwR zq_O0x%cQq`Bb-~REYjPvvqBR`2+I1*O@&Z>G4S|}?n`GX6Kk&s{*JN+-ErN%g*zWi z==S@uZp$y~-Co1DefR5V+lS9boii=S`b(3Hd35RXc=ol?&D0j%Wd+a)A(rrbG@%$0 zSaCFA1>b&VKU-c*T~6g)M&6{F-!6~R!@J=W=b03@3s{OqcL6X!-QkVP6qp?;HWXc< z**>o8a?SguG*q~^6l(i4R@?b_pp|*$^+|sAPVBYBk6tnI4nf*ycsPuBe(a0g#P#4L zx+}1E6o|q)y0(HJrZ6C=gyj3OM=V>j$>_ERHr>9WXu=;UA&DyUvX5g42ob>GFJ2}a zF9Y*b48@9*%lWaaMU4el&4QOxqzCJ-x*ZzdSbr6IQG~-myn;W@%kf0rtV36xixzf1 z>d-*8ybu_JLCAsVXfd0ubJKd~*NPts*Co`9Jf%=Hd*lc*%?$2T$pQ3>>_Yw`Si zq8oY+MzyZ{Upe?KhzvP{gI`@HJW@>YpS#5(M#^hRbd>5JLea1RB}(051w-FJk%#xG zA(TSV4N~snPy@=QYw%zZwjFrd!*1gE7g$@x#LjrxvcrZKrXtjV8x^bomP~&R+NI{} z`!uerJF20QD}AhUi?m`Lau-r_r^kb=gokCPp3X{O7cQkPJS_h5JH-6(kbiTBxU&e$ zED(R;9pcXLkS=$Kk5d6=@qgE|$O1Ox7kL&brSJZScZk+u|HC`PH-7w&xI=U}evLcC zj>!L^XOWw}AM$J8A@)A+SGYr5v+FB0#qp&q(H?+tF}n3Xr(PR?SSW&Lh_^DwSxOmzX_i^>xrY-5y@JiF2$7K)|{WE@LjQSQJ}a`wpqIO zY%_U!ilLQ?p_%7~NYX{4`{-#gy3hFN%4j&T(Or2Nc`qJ?k8?_8mPKPnRXL1hTp`aT z^YIHD7`(>WSY*GH-i!2riTj+&d?@jBrty*FKizYkHss%vW;`wYdC5 z3{FR0#&%Vajg?OiVPa#l)O2}huXzWuvQi|3{leyQgA1<}c%V(1vg`1xWF2vA2NKtj zX(UGvB*HnE3M(J+n9(d=@@(TK6p56E5k`r4O=gEjZsi*3U?!GcI1$B%i(HhA5Yvni zo0=}ek|T%1zUFBUJ5ewj+JIR#0dFtF89YEc+Y*`rJKIQyalXsm`~2U4JbtmCRX!>9 z)%7Jwd%C7<)ug6jFp#5d=71GwHMPnbP26$PQ;Jcq{++#*A`0YwN%x^`3Pu$0%4`kb zJK$lbPUa%Qa@R%h^&i<>awPv#gs|-atzi9u(Bi(904lt#`z&ncf6?gTSWb7~EZG-o zhg;@31&6JaQ?=23SdjutH1(I7Ft&eLLhCnn%39HHJAuB0)n+PzE8UpT!crQ{jS1xM zwRc$qeq7Mq z&z68G6iTYBYuRCZZ;0fYj6? ztywwE+3#~Qv{39+9@2(EHV)XApBw}`zB)0G96C8$TG@hqHyFE8cEF$;toX;; zASW~wqn`fCDR{L1d6eKcLn;p4Kr2nsvu#6K_YO%yZOdHD^cvb}g3WsVt#PJtaC`u! zJ7v=9|AU8lajrHKd~fb=GI5X8YM`Q09y!+Cy4R+(szny~*>5ASQ_1T%V2$Q{pxXz~ z7xdg*O@<5{u0NZD!%I2p>*+;q@E#{2F!vz$g#JHgLA#L~?5~{se>n>pUJR5LjuV0# z?aHl45zN=yz#G?U4P1=3yabs1Z_QHe{busiE{DyN&0RpyOox_c*6x%F;U!VT0aq6M z%dYvx&LvEZB~W=YR1WlqiWnoJJlaocIs|=A-_dREszpW3%y)1r19)^wLVLT5ODj!c zP$gcx{V-b?jTplSZqLNWu#xH)M@n4Nr9yal6pCU>m;(5h7f3cA!rv%FAXnSK<#7-E zbb+rM?G5Fw(X-|V4}1VZS$_7nOAwiGH+;Zj^Wm`(N;QxH8o(0(JY`v1jiF4gxrGOK@&V;X( zzXO6+yOz7le?6U{i#+!~&eg*b4?weo1nBljgu8Sr>GqvRLsAYCaHs)1haOF^Cy&Sf zU@|)|tJp!~#3;4ymbIhd&ykmrOQUGQ05yIEfF1EzLhaUBvL3%CmGy^lAz)uy#QDQi z9%5jGj|r(4hL^x-!d@2slxFTkT4neS5?(oBymuS%#0*w-F^>21Lq4vBgI$B>W!^DT zDCu6d%1eza$8k@krsIAe+XPfRCX>Rp{|=u~Fb4H=V>>gNn!W3gfRS)&^(HBs_?1v+ zCXy-{J~rxC3d*Fkvl(8@>jrRGPpvwG?aIP-rto$SL>|a+^YopHok-=!$|=P-*+U{x|GdqFkyzNWZL~|H z@%LZ1aS4+QMX{Te8B%E(O)&sD*oEUU%UA05PzK?aJ-zC%<;FH??}vd0t!zy zZ%2-2Fbyp5vltjsc0hvB92B`BQLY65v!GO;3XE?C`|3ihG7YNuNUl08yfZMgv{YMY z^|7fk1^)t$FV994r@+IhVpZPLh{JXfPNa;$Tz-*(qNEB%wu*8OXgmyfgPe#oMR5WO zc3~xB;Y)F;7uZDUKjBIqRt~l9cQ(it<#6kMdxM;Wf2|G0DGhQmjviLGXYJTd8Eacb z?S7*6fCjn0v33DDxw=Hv13aCTOF7hFv-4v7?!N2BH9GqzAEzFm&vt;akyUub+dWC9 zh$ppz0PY!yfo=4M9EsaK$?;Uaz^FAbpvAPVNyQrbw^?ru?b z0lb=BY4frsvRbgst%3Jw_L0p=mDISO&0rd6;GmCWU9jA=C=I%+Nb~t%dEk;A9gnz4~ zuj~)8FLa7gQoj>;hkV-y%i$RZ)A^moqrn3`?cf2dQq?8SNSJTT20UjJ86m8Z-I21? zA{DeL$x0VDgY*dopOQJ$wlsJwe3BH6US?r5jmR^ji{8c>Kv2;k^!nEL>%GflObq|y zXHm3}1F=}P>Y57({zW-tqA-ep zih<(fTRkbI^>{+W62@bqcpP4~8+N|Y3e7^1&^KN5z28POr^O8~LakAeMZH4d%1Bf# zVpZg}0+&-xcns(Pm(R;apW=5ek;{fdP}BnV4=HRXC$urjJtw$}6Qb*6S*wBpluak- zV6@;^HyP(JTAxD!pF`vwoPeKAz!8%_a3ADHXs=Y;A~mrf@D9<-@Ps>1KxN`drk~z6 z24y@rJaP#(w7-BIX}7%4O8r(**}K12l-86pY$4gO#6;>%6AZXUM(0ofBCU5b++0=jL&QH$^g1;Qo|ab3U!| z7{nmU{tRT*sxJ-V4-88ra>!hHpPn&_v&ow#an?5Y5YwWQ%J_LK16Ec39e{+T&cvk- z%1J&A9@Q!b5+EO)&@?j!sT1Mw4B6;suvHm2`V%ZBhme{s1Ss5{9O_Px!XIGqc4b#% zz8Uks!@eM63o8!Kz}9+_fEh+sG?7?QT>eNAkR1;eb!)H*ks?aKUJp-=T;K|OqHKiI zCGJiRPeHVB4(!s=*0jKlA}3K}L5kMkNv>@P%JDpXQ+&Nv=~i=0*n0K~u}UYtBw_0_ z6S=VU+EqdT(CJI)1Iy!xMQ=ss4~MHiTx#-~q^7@^ z8_}f_KuW*;(wd#E-=b%QEfM7ba6zW7q{!L-64Q5hrwQ+8!J5XwOQFdwZvsxxS{h!e0Ka)bLU7?AgB+^ysVO3e|ikdJokATR*9<^ zeNeL5G<|3{;?Pi*&3#kePZx{uRwi&_k(Zal=h^W1d^+*B=@^*q+LcWACQ|t=FUIVq zR`bRRCEp3O_mEeZYAvJlDBR2cgyJ;h(`ZrHgyi3D-L{lRDOMn?`;&#}hSpG8*iV32U!l?_tuCVH^u z1Wm!88okMG4S0L9Ey>;?)jr(w=saN}NjBPr4(JW3$UKJ&Y9F~ zRIi0pt0MbW1?2&cvA)NR_-{PnzwdqAOQ)LRQ)MB>NG60~<_IH!5Qc>ih7}k|i`VOy z*}KPioG|xJl@PIQ!bU*p4IW!gTcE$1ai21Ol|4UtSZXRthS?`n07_3lTA&0_PKSqN zIEqL1Rwg2O;qBHfEXE-&6^Q2fqsYPfuAfyVttod6GH;jJ7f~uGT5Isk#0C=m%+Y59 z6}*9)4Gqld)xb^O%7n@!Kl}J}Uk!}o4OAK$_(!h>=6Wm5m>2Z^SOXIc4SfGA;mU~b z*0PB2FY#7>+26C3`PhoZ&q{g>V|fQBMgBpoyl;VF7=?ToByaTGCY-pey_~olWh`Z5 zFW(Q5=c{EL`G0&H*MioPKppM`-d)l)a!GqmL3e6!XvEUpD33+*tafK`NM{RtC<K<~(ZI_dDH&*1iQGtpSK)(!q^Z-bRdSC7xzbFD@OprV)A7ZqYS4)pz8I&*ay0$I zJsiteC^Q50)!$qJJ)a}3=?ra1Y(1S&5#AZh2yL{N=|uJ6Lz*^=#($tI79$*}$W!g6 z=Jq`ES8@?%Zf@OYDeiY1g)-6_LI8<8gWg-*hdjNpfO843fT-MP$R8{4L_szT0RBHe ztpXN!vcPP!sl&f@5qp*jSn#A(>1_QW0g87wAYm@8X}()Xp3KK_h4~P#;$E$3N@wDH zSL%cl<~CvwUs7%bO43V3R!pNcSTDl)AxcqL+#39+v3R0OzwWKq*A+%VhdSL!Ruk)S zi%^zoi8$QYQCI`2v&fp$Ce1)#6B#+^=#T$3?U7v)f zl2}H(fM{{pP?%gwIy4u%BaZ<|T9_=189&3hPIn~2T+!yRz>IQxv?xo>sdkAt?)qJq zEh+|1{Mn|oORxOLrW|s&qC!?Vfw08AL*e1FC}NcKY}<&|y(8SM=nJQmkPg}I-mYvW z-_vUHJ#|R0bdPHNd6fIG`#8`5q@OFYymR)K^RHEgAN#gUI8S2K;h!m@E%Gp(Xm2Ou z1n`^7%clO!BaFM)^IiPf0dt#%%1WR6_Bb3U*V>te zXXD~8<8m!Bp&?lvn+Xfp4s6{SG7eK*#vue>B#Q`BV{A{1_02|-p3Bu=fwmffsL#T5 zWuw^#c`?am=5;aNxqupYUT>h>l{c@zRp3m_x2tmj`v1#Z{U=uK*nlYlO1kdsxf6-832*M@OAy>>;mt6qm9J5;Yzk)21LQy;vW z2mvB+W=9^xgEXrwvO+&lW$g4+#wCvrSk5OEC6wV(wYVyv;be81E!+~6)M<`M)9kIs6K`pG`K6a$!eC0p^R_#c6!i{( zs2RhhH4c~Z(}exzw#7rBEc#1|qB(8Vf2^3AqC4F!QM4g)%`-U@r`bb`9j3s6)#fN#)j-*K zJDrK8cJ;z&1g2vnxI&TNX0Qj&!3{h5g)ipLjE33nsy_ix$qCv6H@GqDF-Cx*fM#9{ z-iX1=^jUP=o-?n*sTL$)w7^Luq8ZNdx6+D!*po_JSrgiTE6I|IcEEgWw17ixC!kTY)M^S^J5uoUMn_YO;XEIkD8ykc zi+?D?pziZIFHe5g!!G9%5>6w=B0sJ=oA}?)39e>naSi+{L|>{abwxbp%ROZvA<8L| znIlqYk$J9&doSZ7TLL2+B4}`K=F*wU9scRANo$UllI5+>%bwKfp`bU;=Y9yhVE)$z z1WE?n+-C3Mq&5 z-8CA1&TDm=+e1rjCaKm=@eu50=xyF1Cv}(@q&`tAf<~2AlqY&M9wmzXhiu|((SFon z@a5Y`6~u^Y`Hqf!J@6}Zgr`j_vv3;FMsYL{bmQ>|Oi-6n zX3&m+BgAlAz|+a>4NVwW8Gs^&!ob6zjKafkU>BFeLUll$6V7bnHoXai*j0A6eEk>^ zr7hHM@v-x!(hkHS;)T@ggS&j(iW`n9+V(EBDElXzY(1HH%TByTu*wAs$GBU#7_Hx0 z6w9FuIpnc8wGvlB@W;;cQ6iB%VZ(%u*3*f%9K>47PnUbWNsG==j++n0ZY1V=$=M*~ zGr;`^1H+<8>)~bpc^jN`H@|z2)66!^XKS0c#YsqTzN>)eaUm(Mq5C%H^x#1b!9~1p zw39^wI+?=S@eqEtNHK#MI0Ki4_B+Fy0+TA#i51EOwbH8IX;E&mDtB1aN}Ff5N?;s|v*qaTpr*5&H07Jw{_&!azD1&p58!l>h9(ieCvoH@7V{2UmJ3w{t_ z!q@y7MWe7?Hd2TF{GQGiWav`%Qp){+20PcHT(G^!YDS(;2V&cAKWjo;sKZWSNucEH z8|QRh0c=-Q+PuR~^H!*l(;hnnMQ{izMW;W^jP3K)BXFPp^{GKuSl}v$eoF{aa2S^E zWq-<%9t5!;DA@CWokf(H(>RoS5wJK&_*)C4j#k}YIVZHvfej3(o=P4d_ch;m_yxT+jf zq{~qYLG`?BrWrSy_MvS!?!&lG;xPR!J!3bK%sjGP#77qQWtghf%XVDKcmiW!PAdp} z7(|abWj#T1+R=FzfUe)iZq>tq_}K6G zH=4}tFb1PEsj)b%c2nSTzp~4xw9jDCVHE%3V;?Gm@-48>>A!9v@#ZF=Lk6owt{jgm z*iS9W$nm60D_gH?z^JGV8+kiHw_oXiYCh#ZGuV^VRN}{6{S0*caP(^WWebw^qq!~E zxM-4l6I2deo)8>PL%sYD`!&^{4xe*mC$t|;cpc4Z>0(0xa{%@j4F86}zo9xw+Tr2xdwJ&Q4o^D&!}ErCTtQJ3rbzIVuTt(?ZWByRs@PQOiCeNCapC+wr;jJ#AR`>2Wqt)jx z7P|RdKWWc(?eyCh_o9Zel}o9WM|Z^a{64PX|NX^8lV-t`&59=tk4)fVqEJY)&-33p zDF5w_7%h|yU^-VckVeDs`q;&qPDCU(7MdG8c7lN8FE%KIydpg44E8)V*?)%sQ3b9N z1XFkqd>l4y%Hp&#iUXRj86q`p&)E@3YVZtkYjj4pWl_7iLevIl3R*3tR^Qt0(<9}_ zO{Ay8HTvjlLpc0D3tpmfv0y6u?Il@2*ATckC*UZK(pgHB|9xWT5`wy=Oz=KvXX0+T zPGIa^L&^SOJ7H|f0UbUXNRwsl5t&g-L8`SiA!e%Ps1 zrAIt2nf);SYi(x4BoFej??T$)0;ws_jJ^dC+HD&wcv>02#8A5x)_oyY{X5+)@G0kTV5A&s zbHG++<7Sny*SfZFLL0*d6}Se_k$dYxx&Wi}3m_P$YEsra0qp%Lc2Z-y=~;kg@4=*7 z`k7CrVc)XV7x#J(xJvvSNM}F~3Tka}%uqceHg3Nq)PduEx0?)A#JIZyxQ@l4_H0th zuQnffPK?&elH;SzHSiyGgR%e4Ej{dgN_@QkSKNpsq^9H4f3=~1ech&TTLh;!=Rc8r zM>7%pg&` zn^O~y^>+pXil)Oa5=*gJOYVAPg41o6Q*IRN=O6VAb{rx2X~8aN*rwMe0Z zHJrfczW@=v$dMMfvK#Etq0~hNa7qfsfsSs2!PAbnWeT3ks8KASKA-=nuRiDX+2{4Y z+2=c{XY_eZUwv+uu+NJ=itn1}Gu_XQU0~>Q5}?jP%tlipv;7CfAr2-r7TU?Uz{@}a8a+bsn_-Y_VtPb47}rBlELMB=C#0%EpU=y^c5b`3cSLWp$E`bSi0bo zogbKqS*0+&Eyw3k7`6 zdv7}m{p5i{-Bx%Or*Mue=8R?zHW#!C?}+eGsp%?L;3Cyy&uLu(Oaky}7NtG6J_y-i!VOX{Tmh~Dr%Q=;{$YP)w?e3Pf zNH-jL84Z@ueu3-_I`YYWLCLo&!_-0xIgBI%J&JA)Wo6nWTF}aF9lKT23T<4kfC^eG z8jhRf%F#lZgeG$wIlcDN7JZkXIOW4sO{CL1p0vm+HQk+<*6(u-ZBH?>)fjAxXRbo} zlASdR2&Fuf#+HlD+A+FcS8ICt`jp>?$UraNvhxN)KNc3DsSJ2yM7vD>#mY;o>h(%AiF0BYt0n=Z5KhjQIp z|3!SGTW}R9|HCx3*q+1pd&v;h3jCf$*%;kV8@M4lajN))Ub*2-!SC^XWUeJTn10NM zbC43b)v2JfV7C%gJzWAtEGB9{Zo`bzjNlORQ8e^82n)i9~oI53PmZ1Xi} zwQU2WA2b2JW_4+>&z@B7c4rg%PvAC?)S}xwAj7!U@s(~IK>3e4jQ9DMIKv>WwOTBz za*4aeygAgCFmL7;sTg`8@rDVVa_-1&kzrbUPZoyuXUX|Y)?#BFxuEJl*U3M5CdMcJ;j!6q{x z2HaEcv{z^7z^=^E06ZISpwR?y{AGQ(n`;{U=FVaSK!ud(lOzp=>A%%9$_4}dpm8ZO z)ND{eFZ+GZL#!LfQ26Yzw~9mT=XB%?R*^03?{@N0+W6cy@=;o001k*boIRhcSFEzJ> zwrOnc5u8qNbtkGmBSjA7FngnmW@zgu$|HenZTxs`<4BRxQ%&Z_%ohWeji%T+dv~4@ zANp8cvcQKI58@~3yT5WUIT0;wN_}1yKw1znI3_~8LLH>$BT96r34{{c_z6Pi<>*90 zi}{Ea_tD|Ww?wV<10gDg5wR-OL~&ZUDJG!En>l(s>jgNcZG=}~CGT`7`EX1)a_o&6 zxg~>Lv7d<`5m0KGh$OEX)i;s^?x%7z8QP=lPiB#QfFV6D-f=l4dnS(+_$sTO3>XPA zWKg#RnT&FwlY?df`~#UhgzH;2vcOI z)Qri0?4`0+mWh`j)Mfqv0|;U~erZ(;zYmjX4)?VRs<@i-@Dr8Yg(=8G*o`8R5l1D7uO4QpUcR4fKN!-7&~>j~Gd-71tfspdZOC*HadU)Jn;VHKjdxYg}aYCp>oF7^8TZILQph_pLt( zEKu+bk<3#}!kp)OBAF+dIFV6PMgC-|CSkfW*vgUT`}4RNTY~#&Ph(t+|4Q??Z9SJp z@uPst5kCuQT9pepCYi}2f7Jk0y~DHAdQKtCSe+IVNAWB9BHnXo_bn5)JAA!SDjN|p ztd6H+UN5}TNBka>6sng5sxc)yf8fGCBv4Z0w1L?v3lYEA6>Bt^{-QsLJtoxx_(!9- zZyk-|L-=?zxd~R2JE5H-IbCm(YM;aa3bNGfH>=5IcmUwQObk){u95H=9kyjzXi~Dg zY*ZSpCwT*kl+Tm-tI$TRb4CJL;#~hOdL6O0x5mVVDKqgBdBW>MGz7;{L)3B3onV?i|cz9J~Za_a;90SoBe%Fkl7K@NH=K z4z%`Lf^H-0EtC9k(w!{z*3;Bh9pEn3jhp}axt`s|8h!e3KMj9 zU??;+0i*Q;#bUEY33puWHZBGwaYcfr7Of zpl!n3hXl=C;A5Vf1hl>H8{+LgI=O|w*5V4<+Ojfk3<==Z!lQ;d;(xq)yn-eF<)NMc z)Wg*{U+rI$V+x$dB?h8X@qgMvOKD{x12~O09V%q@uhqu)}N4~NY5 zjD(SRkQf)rvff4yggH_Ec@jIhXpIrZFA*^QyT{}4&Y|dYRMfggXrusd1B)bx(2uac zWiG6>ZzNYn@sz^4UF}?|{O_i?Y!}DL<<}dF{t>$JPFrMUm+YswLqu~Q9l>;xCo`sjTTD&ue!Dj{>k#C?W7wS11wgFJhYe0Y zA{vA<^jy3_gUt9mYEgOHNL4xvROMA8h^kDFQmgQu+gHyzpAylt)>eBF+yG78Q?Lc>S zSh#~%izReCH+X2R1P_@lBA}+StHU!Nt;9M!sKL-GIy?cC)yDLp<7teIZ;69i?Q)?` zG^_6rf4Hxn9_-x{?P(cx_4b?8)hqCQ0dzGN_BJ4bTFr;< z7dPgii_QQ#+{E$TIGkZjI_oUlc{{}_CgR&OoSar1jroHcc;-vAI%HmW-N-%TvP)cv zQtg!_1bcw1-vXgV5Yl(>ciE*WkDF4vFj?f_(V(>Qh=ZVC*54ovQYo#-io zTC7BrS&&hl4Lf`0dtI5eAy5tNTwyBZvV;to74F&si*Su~Hqtvz-I3qPrVS(hU?{R? z4buiA+{HzZ;q|PUkwTY@V@!iF&YVrd-H}4Wtyz+0T5S$qQC6mRZu$l~?=s_5CWN-c zjQzEyq4nHo$Qx(d~5Uq@cmZ@(7+akCuFg>{i)ow@^{eDEVa;fBOI7& z)haasSt4tt!W+^8oiA)GOvll|&!If-Dq{a&hSI^affu*}jd_?5qJJ^q;bB;$f21%2 z4rG9egxc*#p5;+|G2>x>Qy>jy)*rq53e(9hksWYwVrnOB)c{lU3W7Jg;AJQBQQ6S> zqAT56_^5J1daxzC_4c#XLX53pD^snNG+abtaGq>f-<*#_nj+hvShXu4HMOaMdL-1= zV5Yv_b&X@96!3V7EX?H?EnzX=Cdngjxdy}3RPu>(hN z&vv~Q*T1aOC7EPK#F2r^%kCMM<_=)2fr+!(aS`{l7+5CRh4nr<; zaw2dsCy6lXKjqa$MpPXH>>f%gfFpg~z>!wY5%x#p{DMG=enXb|FCW^%P41tDA2&wc zL_QRaLmz-g?sElPX)T~26mea6gKnbaWygmwu5s)gg}&-A&i?aPY4$d*eX^QK(}C2L zK-Dn&70|+L)nlE7_ZO4t7W2rIi+RhK!O7W}H&}6?Y|6pv@wLxIW+oUC)Nc*ib2TZ9 z)L$5wn|n#jK}aRMlcSNIs3lM$HTlgsZNUNo(k|PpLzy-n4O!Rj>EJb8X1jK7(S+-A z&7Encz%aEkUCqykp5<;K8+(d|9JLvq%&On|x>@nLqJxZO+?y0G$v~f2E{=bDFw@;! zQJe~x`#drm_5shM_J^YY@WIAETBFWRh7eYawPwfx<DoH^lWV!3o zG7KSBLUlJBrx;>+!Rz(PtIbmFn?001Q+m!Yaqgq0m?P2o<$CgwZ)t{a{=_FXXSVL| z`)3|t7y8ZSgw^F!_7h@sx4;Q5fG*dfS{F@Rm0hooKJwhG8_T@Rf0Cw*pVd6H+DrrZ zj7WLTOp3-$oa{d(es7j6FuiVGJQ{977L<2y0?sQSt??)1;NZPbV+z4RwMP>;T( z)1;rgBWO}Rj?CJD1Rh*upo4vSY|1gzV8m$fUk+ju{+EnAhaP^{}p)VPv?*Sowr$#=8QACQY)CTaY)XEP74XvQ}F2+a0zxqFDcP6#_ z-ivyi9Lw5xoSamcpM{OUR(gr*k_N^^bY5@K!P*fe({)5y#_35y#^s;;=UMCE|G0fg+BTLd3C>mr>P~MiB?F=u5eD zBl2eYw|&VtNC2V>I)sdag7a4sg>KtJt*kF_Ra@MZYi1!wWJ~#%kr`7 z2aqukHjFoOvC|an*PiDzx1)Og{(T%S7I}44uaVyq%lE{PWpH{=^B{Ef_xEVsQdx@hMuDHbeU0eh0sMLnP#hQS z5}^f_vdTg>atKZvr9qD;$Kz+j^nYt&`oA>F37Tq%L6fT1 zePn^babx@D&+vECC-C11?Ml~(U7?mFm8#i}!6>@SG+twLT~iV=;|58T zy)r@8?#CDm)Gf;JEuCM%MF#$t5&!!fkBvnpy)9OmdCxcL853u)N2tuHXX9m(u15hp zs~@Uqu~N5FssHd&T^e^UOikL3$)VWmKX%7UUPUEeIkUZK!wv17OQq_1wMV0S@m#~` z{<{y$-S}*;8GK+Yvx~}1>8q_>#&WMwxgosVFM9B!SlKtPj+F(dcNZ1@;TZvEd9*2K zM7Eas*kHbXc02@a7SjyorNZw#b7sq8h3>Ty1B%VVhF*s|I)ja-T6ghUT@)ON2D3QR zBwZzE0?SjTElAfEq)E;4sWO>t-Eg4JV(K0M^bEH9M{MKrXJS#qQt`+_)wyUc3Ki1~ z6~8XhE8+~Fq^gO}aJUZV1#60GJVYQ;AuU{swvNO-(8gm$1XW!CVbi#T2;;k7hC#5A z42z&hmHxxB%}j(01U^4>3ck+O1oh_du?^Zjf=bVw-iQ7UD~SfhRq02=n*TJP5i$m; za%_(huaE5!qNXo@z_NKy3tz2jmjgp&;c)}n0BGH|!D#*M_pxz2mnn~z_dM0=|8%c2 z6*k_A5S97yDKUyQJw`F~{2rt5Q`vW)>M;tBb$L4u1mj3#nh?n@viO*Lu%^YvF`DY# z^;93{_7S)7EFS$H3(k6~ud}!>v&UJ4(i^Gtq&`cB+`UfjV^p~N$zE%5WI~S_2C39% zPyW_AKRHrg=fc=J6YY>o6`y#L&e&qkH$Q2j@Q%RxXy@ zR2Q`t)&e7uo5Fzb@Xv~_ZSb!+5u@;@08%FBrodq0FjvwOd@4~eR9&^O*OSrUh5Y$mbsM5Jo-ee=L~Ey1IhIadRn7D z#cpa!dF-anV8_12`m>+-jgb$O4SoHa%1-V*o_=EuWuB)p{dqk9|NVyGf8Qk+ont7ugGy%o zqYoI&OP@8`Q2H4vo!oc3KTk50yn{;a`TK9e_TTL?V87o{=~w?AYd53!Kip$cQ`y!n zutItqEA*ol=JOT~#Lq_j+)xXAq~DCCk@9l@Q9!Q0vTZNcyzuXR&guCvu{q)HK0{@b z|IT+8gN@Mk;<#dPt6*z4-{JLx3{dM9s`=65XYBCjgL?EZjmkX><%IVK(pe6;%L{Ha_7Ck1oSHp3p)Q_200oiW3=`y0;1 z@2S*>kM)KTqUPy_OT}ZVm8Opf279R zAN`HlZ^he?+<&hR`DZ!uGSUClJ8N;a~}B(+%eTy_FgJ`_~G9un=`Hle)v6={_x>5 z@x$_VToM2vrTqko@NDdkdBdarld38Y$B9-thZDz>^`A>gz&pJ3EP6`kPfzlv4F1%{ zpE3!>JNSv*v76xk!+qR?F|m8VnWJrJ6*YrBK{XQks&V#thILs)<-T~R*9n?xEHi`3 zG(FVkjz5wb+i`LA>?-kb;hlj&R|n57D^u+h88(_+iW-SD!Ox*;DlxPX>)HT<{rm;? zQO5h&i&#JvCON47P-Tm5nS(JBWNSwr_qau4Z#2&{ppDN)YPtygjJR4|dR(p7s&)VQ z*uo(N2m4n+1KG67XOeO6+mlW09QvDawODExanJUocKCyW2d z=6`bepFIADhtl`(Ncx@<{)d9-&*mPPGuXSI<5{l;7zKjqrS_+MJUQc3`^F3 z5C83`|3$p*s6Q@#L6uWH{%buRP2xs9=}NsN34f$1_0}W|kctQ!m9T$J2Y6SXDW3jF zPvzpN^VmMEqkd+R-o^Fe7fMt=Peo=3LpVB1*;otZG0DTM2yZ3Pbs|w~=ih$S?UPUL z!u`8pCGFoz^(`0Plh9I&DS#67xi=-Duhku6OtX}Z8+$i6EW^`#%2J^c`^Bh9m1Ro$yX(rdP zt>f1>1DGac!%0L72bFcCA>UN)x|wU&-bo{^h7i4)V=;B||AX^+?tWUfx1cYwg@Bv4K&1Y<$?K1-rrQ&61$=Bqf~L)Mx6BSz zyXGfKD_dkAyCzYO6gU}rwUau3E|*hpf^9a)=`dbX7SwohBG$-6xdloC|EE7*zxaU? zh77$1aG!VU+~;miWmU&)Yi|1#r?m4vn$mU*;iBx5WuKsz*~KuXva*=e5XK6aZ_q>n z{Ws~p>XWFAdw#2pL#O*_ONsdi}tfWpe1drAuoFY8&Zy!VM_Iu zGO}@-YXYbVr~GddsJZ!Z&B!Wh@5Bm2dq1M7ENPTx`q*_eDzBfn0v8aKPt|<)d~DJg z?RluZ7xnhaX?#=Eg%(+!(2Y&*==QSY*i`+#$~-T&D6rEP>4pYL{_!!%KX`k`(WgX5 zu#pvbKFfS8c{`C`x?n^2KT*9gD}=_UfLoSf2Gt}4Rl?wH_mO?5^T<=)L5QWifY1u> zPA9zA0TSPTYHsJf2Ai^ay`6L)djQ)ZsHZ+8+CV)8DIWjM`=F5iksfwKBdO6P_X^@- zK1GB@$#rfdOxOX<)Pw<2uFO`vPXHx+ROtvf0pJfv4h|+Y@^z>!!U%ba&w})V(Za52 zC-yOd_puTEJ9N8iFFRMGgf$tcJ%QT&+Jfi;7I~1?mB7n)&BzAgMny_o>6orXC0%zC z9|{SWxbu(oW)2y7TG!ToI|6ADTi!dUP&@Xmd9(D&cJq#tDD6giV<%B9q4kJXOo2g@ z-bO?g1^bmvvDBiPsH!z0Y>w?55shfHauP zwc2$vS|GVwq%}ahJ)vcm|A{Yci=V{fURPx zqbQh|7fs5GcDY-y*o4-K=N9nR zz}a$WLjtfM)4NN#&fGq(TQ??)eu+opR;!m?F;Hh2XF(&AQg*O_OpN&_r+Oc!^DxRQ zaRfg0@VeMhLSsibN=k-$zqs?0r87(SE@InoF2B2*Fr|}YO0u;! zC|OWKt<)jKq}CCEgp9;0qMcUlr6}M1-~gg*0k(75Bsf~I$+w?NHn#x!D+ZD%9-6?) zDxZr|M?_ZL_tXj!Q|$$=(dMLmJc|{!R6TGRwX`q^KbeHMjKZv=r>HR)OE2bYl+Cr(779HD)@k0LtkFz2VT=?A%?S|;hrJ|?WSWkb9 z+lYuBuGbvM15AaQkrp;_TS*?M)5+$Y z5<>{)b#966Pi-Qao-|u|c_feg+)z*#ZKc1bAB6CBC`z8JhTTjTe~A@R>#$!vtrswe z5sZIM%2Z)G1`BWjo>JVhoQ;9O6Iv-|bz19*gky)0*!7}5G@SiOi|fzM^-X5BIT* z`T~lbpaXOa2uVcb2yW&RPasMXC)D{FK(p$8IS!W;+KhnBff(J=*$ltK(Ctq6TSjgG z7~Ie*YeTT_b(p<_R)>ERYH0fQM(?bt2+)TA8v)v#_5aKGMZ^DMj9>J{W~_W!z3wq) z>qlAJoLZ)jz5RzhTmwfw(%k3}NcWH(%Ha10W8cx7J8&C*vx;wb#J(Z=4$Q!B7V+(d z*f(6Jz@_-jB)(0HeIvX+suV6GT+CAZHjaM_9Y@ceZ?GkL{Gy3^Ckwo_2$l59GY<(pqIiaK#3s6#$sorVN>Aqc3r-U_V{ABcJI14FU&#J_BkBLcy)=`4ncXuG z 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 z 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%0AIl|)0qq%h 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�Bxj)DI^FyzVu>dQ`_R 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

    McKZKix8K|MEZ%J3t4IG1=m(+mH`O*r7SUKScz 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⩔;E*tjIgO9^ZCh_$@P0gXx!9v z0mq$zaK4#=6VAX<_$gq+hA*i{zYEGfJKuJk$J-y@;&Co>`Z8L~EeVfp z?8%4T4maX$p(Nhk;J1VJ+l%}L){VD)^fo8m-RFkiv|GjrH%_#q;-^?C`qe|@l=w|i^zTy{A2_2S8kju`N8UM^1-T5yZmrvm10qf1Z3)935Ql+8~a zJ=8c~da5>TZTRas=n_6UCn3><6uo=$`XEjY4?jTCCRk_tEVp5{(?{AB!(5Gz&5}FJ zdyz0}tg_2olZV(gTalw|-luFnB7M+u3_JZv`&wQ_;QF$sn$CuXiYqdHF>#J%Bmn@g z)C{8&xYK76T63OlSKZ1VZ*Oo@QSY+e?Ciu0p)IBXg=`@}pn5`EohL?bG!FV+LP6Oa z=hG_L?t?{LpzB-d|01SqJe5)Q56337R{PVL?gBGdv=>9YDCR1_B@v3al*+wjs~J1x zo_HCF&dNQpoV{w#a%4s(k;pX%%0 za`*vL$Uo-RTpG1UzDV7ET?t8uK!s!voSW(9bMU%&T`9d+^7~78uPvvZ;P=i~@P0R3 zwo?*U>8yqW$2GZbh9YW(k<^`sq%EAJ_RItB`qsK!T+gyMx~po%fx{OX8q!GHEME3KQ5MtVjxq#}zOvPCqcC({txt83fr4@!fKr9!&adxmfALFh*(Z&cLu0UpxCCWqp zO~RVdK0)2ZtBKP3lq)kZ@azq{eytlLzY3jVm`lg*u7_deiJRoC9| zoS74tz~~uZglKa$wo{u(Y7-l4Led&&0x37(kcK2$YUy`rUI_VYlo`d|023xNxq}f>o(&-SKob^ zCOmJ3$}GIiJTIsS{{(2W;-D>%g#R3xrz+f8uNDv#^FY8_BotFx7_jV=v!R6-wTiV? z3O*7&AG*V=@yDyh@Gw&Wb2q?dfuj-NaCwE;Q^K-N)C}cWm5um50OZB@CD!+iJn$$F z+!?UsCa*Bn$qw+( z{~p0pHi=pozH0kg+1n6j&r>&IWmdb_di>Ko-q6bM1!wRPfu;56QI)su048oeCYpKw z;w&+Pw1GrZ^MyC5hf7LyvGEF&m$7373+)&KEYjI!reMvp74k}L%&}+oPn?xU#Bf99%r~sb`Q6ZS+L(`9`)VoMz28o7r7f^N6sW z<)(Lp_k5m$uX0bDuCpAnh||A(ttmO#+L-fHXw!6$Lp_vvkbR=LwWcI`J)xH)9>M9x z5fa)Z6YjF06PfTn%}f`~%InJZ!=kLR{dMU`|F4l$yVTcNmH0AdW5i4h@JyT}Kxe)> zh2%CAUfQ;3>3Sa}?*D231&*<{sYB|4nCedEEso#b81&)-*8I$aQ+j{M8$AjJy4P8aio0a> zY3Jgx@Wkq@87sCbk+zJlW8k4bMB4M~IxHB#Qs#gbOG5oka5ktmfkmrLoB6jJWAzC7 zYZ}1ABeEI;E7qIXTV4#TT!_hAD8+~7v90(v*2BNxp6dFSkZ!riIT>*C7E8B6C96$f z>1u2t=fVpl*U?nLxf}WGb@**+;G8!6wy;~xraj}C_~LO1^{^vFVuj#f%TV{W-=R`AWaV{ppI9imn`S%9Z>C#}tTbkB2=V=0?mBx?J1J%=84<9s+ehYxpZ zXmsqtwecm|U+K|PG(z4%vjx>+Y})(MBm35MNDk?tDUm^EXspN_3y<+*s-!BZ&olD+ zhd4kF7*D-qnqAQ?G$zxu3=sIF71IG8@Qmmw`-1wIb z{8o!$pA^oPL*sd?+c=TnlE}%IC))0H%8c*$AX}qoWWPsgo*^mC6V3Xj&G!=%u8%!^ zKZ~{LRBhWMgheq?&`Z?@#|!ERJj)`u1NQ*n%+C4NlAo2LH+y&WW6z$-7DvbMg(4P2{7UIRH0Z{T{k zxxTbduj`gem;-1(l7A}2_TDdUDo$u>qZDQAr#};#y6;Ed1%f0pf_$UjG%Z*L?~1e@ zn}ucMYgC5E_hk!TmXDW0H*4OyanLpkUsFJAdvkj8aGQ4JiA=1JC z3Cf0yv&P zfLhzUZUibT%>gH2=1VlNwfWBaw$NNg;Ge-DeFR=w=>BUZj_&U&!zk{(DvI}RfT$~l z+}awjyS|Be2=K9HE7D`MHQVSfq8@A-+e6$9}J-qL1PUYWH{tfUiHnsDO@iRm?ZBa|8d>*TN%8k1ox{LtF zs)jM+JW;)%y^_yNd{leiS4CBw`H51bRTxW6Fk@SiEsw)H4Y_mkJZL>S3ZSt(0q9vAz&*VcCvz z1rsiYWL?}=hv66E7Sw1PcZu*0KJ_uU6~^Vj8dxZPMYs}2T=OLLv1I#|ZSfIL!qTNy zBXoo{gX-&6yM-(9H5`T$fj>R{J+3;q>4&x3np)u)q^7?I4MZy-`|(>%T*>B}#Z##O z>}$Em0u+g1Y1icjTHS@T=;h19w6mi=;{Fu|l-mH9DEcj~co7`uW>`J4++%yupA5S{ zmTPQp{?fM7YBa#z;Yb1n{ygf2m%C7!%!Yve<$Ar;Glu(`?K&1DF?*pYkru(Y z<_7}v%MAB9p|hFAwkNj7@MOzlc&h3S*ZRNW2p$4Mgd=EgsFiJu>~SUMP~OU?&Tcfu zf2Gar`)?}{Rx7*V4&JIYEz0DpS-!Qtap6JN!wC(6@qIFQ-n=S_+BYMN{UQtK^(L|JlBC{5Nx13rS$>rf`61sFXS-CsUzF!N zKKoN7DbgYsbfxI6=J+BQ^4GzS2|=j&&==s^V68ViXa-#~8aU3kt7$8}S?kO*gH!Sw zoP859s!rL>{==LOq$2wUaD*4UR%F=);>{80c|G{94WCl01AtFpycPqn8hmc;G0u%` zrpNG)#yf&zs2a2H7H#6lr6Y7LIvLKELf3S{*57IlH{)v~H~_*WLKEm~Q5Eh5s-;di907< z6L(I!#&%A+wAi1qoEcobTLjLzBSA=p0x5&zGz3Ek626VOq8Va+3j|YShslsfd)pzx zKQfNJ;KSt8!yNmbyDaHE{ha~FAIqOO0rvdB9%}=K=IT?DSV$>H4 zMt!kx)EA}vL?ZHB+AR#hCDfZ;Y&Pu>I|nuD$+34MT~U~JiMc19QWL3 z?#AsLac#%=#aH?M5U9jE-`GOJ{`V@xtNF%#xz_NQGbrpwTQxGz8~bp*ly@U>*>Lzm zXA&*jw&l0BE@2P$D0_L20%LtR&M5Y$=k6A!%?i|v2#nO&mT9WdEy6Ha90CjD<}O7? z^h08gNr+99>{^%b&aW{bHvPf%Rj;ZS!+1HmmA5hZw@4#YlDp+}j5QU%UiAX&MG`*> zDja2)+TGNa*rPPJl~@4y&#^*GAGqsoN%cn1gyp-R28 zdcTdMqJ3y*W?C1=mX`RH7A?gFjQ#Nj;;CXzv1i^aqtMC6#(7e$FfaTIj%A{$H13~r zj}VbBy( z2qkBqT*4E`3av)am9o84mpedR^X5^{3m{|{DT76(F$tG$qUZzetv3R; zOZTC+(|VEAeq5GbQMMnE2DN=j^hRm~v~}MlV4Ns6z^|pobbg(I$!NruT-n~EZ0Bw* z9V}jQ6nsSDy}h&#R3bHEKi`Y17n$cp`xs$PCm=B}5)!+=A|UYxai1acXwIP(H&`Z@ zSv}fJdB)T+?E@}}$*}LZeVY=_hx2T6SGI77Zn>XlD}^t&Wgg9?C1u6iOAe)kK^QI_ z)28jJ!^xo(tk36QVIR)udrMol5yG^zjyK3NB7+H`QyE7o_i2&)w8)i1rv$^$8@Ap? z6Oj{Xm!)ai^8+_gsTVHZ1jUj}ZKi}yXd8K3(||3F)VPVXVeX1lM#ZEuN%91j)}4%EJ6bdKQFbgf0GWY!fqm2 z`cNI>zg^ni$F|}qZEq9Q0@T3x(7U*8oKZ)guv3K>>)P=b<`JRo`c76G1pV&1p)kVV zJ!*>my)P%|_pF$@gq{FbSCpaJ;0;3!5BXanflF!xFU>sK`zv8Bkpxku7Z%3?!&g*} z!tRoiPsZVyjKp&hH@7i^?}*VF0whlB8NnTrtPH{u#?vV9wC^XdAfL($5h0Mu2n2Ve z)W)KKamn8Xo8`qcsOqVuxNzc~8uXVwGIn-dXZ{Suu?IhDfB(sL^Cqct!kg0W)UP@n z6ZWOkuZ@IhK*II`w{>lemYy*PeDWKx@#ub9-Eel?+u^`nOTGXSdl>Etc%s zj@=@YZT;8+5w66ip48T0Tbb6OG|x8YRe8;aAYrAN54iO?Cd`2Y-YLfyCET(4S7Q!RNVJH7^K`h9pJ3LRAhUgPSToC7wtci;E}t?45amx z%nJymRlt}$jW0gg+wfxkh00lrLH}%Klo`*C15|uv#zZJ>v;2nhK_P>*1o=$d!#n!| zaRah~%~UcGEv_jaUAb^E-W5M>l2RQ?{R@t`s)BfTi{o0>jr$NN$zgBDrFhEeC^NnQ z^cvpt^YP0JaPOouiR{|pCXQ5N=mE;qhs7>JbnrL?BkbVcnlxEKw*%w zv@5x*e$0SR=zRi#@>ylZ?U&-$l#c0<KpBUO{mm%W#CAqQq7vjMvlFf`BB?9Fp4kG zDD-W9=(NFXmUbjVA(45MwhzS_Fk-%-oFYI)-zUM2BkTuYv;fEi8_q>YsY&+}pNqH_8>NI@$z!h#`0r+XrO(9UHqW zE%p18y6QPV9j|I(Y{k3keGOK|h(LGj)u-N{B3u_$BTMS(3Re%Y^`S%Gv6xbw;Trn& zei>mgJM%A%uk6Yn!kL&JsVQU6pAP+Z#ocdX8LhD@U9jW;yFIdwLup{O%&j8T^abzD z7wZMS8dbO$^sBNz7hY*<5R1&GtiMi%YTzQA-N80h-lHCn4!}-OX_ZrP?Ik7t{p4E5nPed@~yhh;nE`MNKSWXoI0R>M0*9L8Fzf;oOY^lv9hI|s;N+#KT=xru$c`it-f0Uury#{ zfwKK*{Xt4(!TMAwB)LEutjG6Ik7cO1?U7%p-aT$D{45rf`tx4>tBXn}()zwMi^f+j zul4yG%H0j6{(oIt>Mv?2PqcyVyHnen1(@n<0d;LxmIc{#{e>VdG6eaSLO^NFx{b~F zag!4E`9n8lo=H2Sc4D+ecsiYSI;UeLRIEig9m={5AWfKkF3|Wo10e#gR?$Q%8+1#` zj|_~b0o2mOC{i$6*DzB{KlCs42{(L7%O>BCK@|r*QZMdWNVsC-ZvV5>wH7m_dD2Mc zN{5rD@xi>M>4Zw63YyxMP3b>JE7fpl4)Hv?vQ zVs0bvhcTHa+XvYy*iG=gDv@_{p3koo47_?=9Y`$o*EGz$PKEuZT&dPf=IyTR?}g+hVE=#WlQzuW{NS0h6Q_gj3oN}Cu%Xtsjs zOAq2EkQ-AZb+;dLcGmj++#srGx4djIe@cA{LZKWdR>jVcsw zumRWV{nP-X%1mzgFwN=Sfw5`xwOrrd#32m12gsCFv611E}iB(F$hfc zJbIzD%t@5mHO~guI%b?O)AW*D?_jxJRzHF^h~`w;9>T4dROuBcVZjuLlW?Rn32TKshYJy1!Fa;k!})_VN3 zAiiouj!At#)pjvV^x2ZOi2;`je_oAkOKbhb$qi!~oV?Q1XJb`raMPLxaKaS(sDjn@p;Yjoc07x_Gd~5 zE4vD=L4Tj%C~xAS??|VF)pEShdxx{3)NYU(oE6`(g6KZ~HI9EvJq`$u4Sp|Mut8j| zN!M!pS|HUmxnv$<;dQ@+;0#qV%R_$Kj`?A(;SXml@vz#T&HntJMQOw(%7PtSMiu+q zPJoR^pvqn4HYbx1hS%A6on^fa55JDf)896(;}({S7GR%}BKl(a=;i+`{rjuD^cTHL z{SIG5BaWp%$F?NfVet`&bS{MWzRi4StNEC*ie)Ck-1qE@YqW&vE!chN&)}<)NY}!u z6!YP2=EGafCcFHHq4(6&M&o(-fpMG7-E7~3>dmH8qDXvG^qo7<^Olc_#3?XX+3x*G z9Cf|^6$jq~O=1s{^=%F|IlV#bfVZig^za2?8@w~|?6$S;@P$OBu_JszrWw4sgO)5; zcu=~Y5F+xPi}tTyP|rYo&?9>~-Zp0{%>`pjT5@EPdACr8UhKaSWoR55Z~t;Z?i|{l)y+#YP2z_KlGlM zV%iGv@n`-yV&MC(K-KsMLnA*(Duc%jM!(&RevKCTvHtv*i!22*ZxfVySZ|04Ac)>5 zYOw&X?d}%YU-|@88$SZotf`nM=0Y!!r;eNrdcK9RYxCLomi8s_O^JGjB+D^`ic@hc zI+M`QLe5(ME%wCnL@qeXn3>GqCxvLUM;rR!w5wvK^or7)pConBmt{cAl(XVGjyj0F z(*GE=5mQ`SDO1}ur`qXyP!3L7(uNH|=F$H1zm@z$@Q*E79PRN;po{whMwio(fwB7U z;G9-z9!E&IYLO;y(5sx8=Xq;_B^HF2*+y$yL&vvz245u!;%MYO2^Xn?*OCx-o$$4i zHrSV-G?!lIU}*+&b=G6igZl4kUxpkmXNOv_)JUg$vD~vq{mk=e-RcERUV{*h|K7ih zDyzOdkzI(VeTd3xZ%>@*lAnj~v3Dw45*>f1oc`;4Ld3EZ56*NA6G`>CqVEO1&(f|7#^{<)yzxx*Y{BpHR?J0v?@W!_@ zJHfuwI>Eq=HD3W3PWBb?<>JWDSf#npv1*m&V}HPS1wvS%Q(%WsEOkOF{Vnx06kSyA z)d7-NAoi~n4jBAB1HzZSMBl@mxv|#rrk|{9Ko7WIT`RjAEML)7OY~r9J1rv7^$;ITn-N$hsApas3`CAg^gewkPG8d_7hIvYb|!v8N#}6MZ*j@~ zPR5xVXv|PNv=b_wvC6)2$?{lLh;4 z+eJUz5eaLl*|I8v%onraf)mCKMSSVH8L`~4ocZOc)l7k2J;ENOv!1|>Ze{yNxU~$K zT-nZ9UhFv9KX4;pcnjK|%KKH%4i#c9qFL~V(nsyR?zETLQ&`#&&C@W|vyr4+%8ay+ z$$5EY;ac2!Coh%%}iZ`7YVgo{QQ# zeyMG`4u4pwk03?F9J3~@8i&h-Qn0?F?-r?_R~5B`9W3B-h3-rI7VQ(0rCpoQoyY|< z^ymDq^U1}3@Ch}>Q0vcDg_C3)Q0BAsFhau=_zR7hgK!oDKU)5oMh-m;`)Xbo(0B3v zsEi)I9x$IRV1H2Xv|HsiesCLoSndBGw0Y_gyBs+F#i0dBO9q@0^j$E`LRwZor2QZ| zN2TXdY1FQEvX@h_yh^7R(`ucv7ef+qKHf^B7R1EfLfbud3kAv1s}Z;hRZ1%~c71Qa=z?rMP+R z9T)mN;h;wv_C-P@;uF~KXRmDY9cAi3q;pc`kwK;PsL?6bTXmpPo9|=~5A@=D^ya(0 zPYqi5J?mEB_mh7uvO_Ut8Q=bq7yGR2NVX$%8z+|IKE+?e_A5iHk@dn!e8-?8v(2a& zFimv~@4Wi%$9wgpmO=UX!};n-lF%~-*auC9Hcn}tFCplet}%~TFD_y+VAwlMBCpXET9gXXgV{3X_H{Kwyj2w4d@5LE~#fSCRG~NM-xq6GgWBloZTb3+zDjXD;G+ z*RngggQe3W6YSuz@7XVs0|BaB*KjY@0fRKzZ~ROY>+67Z`N+tzPHyf8qB+|qwjIQl zm`M_B1)SK@TSxaw{XdQ2RT6aO;-mL~@z3#Iyp8xu)Jaj8Jtf6(E({)|)E`e^L`=%( zwP!oqp)YMKb_wHjKF_d>(_@>GxTxFqFSib#vN?yQTLv&GmJzySXnSD6p@m-(1{_}2 z+VT;)rABsJcW!9ElnH15(4*s|6$k%Nv$}qYmL!&Vp^!`0 z8e!MR1$6n6r6q^X-V+b-!aek@CP|8Kvapu&_}KnGKzWOY{-f>3p-X`iI*%|~%ph4O zpWy(bK+Cn}7ll!vCvGg~vyA2ZY%Dj`Av~2auMkeByzR$aBwxl(i|K$JBi9AH!Pq&G zS)j%Stl1jjm`{yew7y}p!Wf$s^0!m1PR2@wom`O`V-raJaw@yjqL&MVt~_PAUY`K- zTG$#k@#!B4MX)t&!dB6?HS{>t_1Hkd)-bk}@rZ2=V{B^}Wm`kOf+H@P4BOr`v&CUE z49SG8p)e#0eIpPkn{Pb+dtqV-(@Gy~2t7*lU2*iD$7dDAQ(=37{Pmrbe|DqMI;PF+ z`;%ogZJAZyqBX)iZmn z6#!ct!y$|Zz1Dv?oXq1>cq+QLXSireWS=nPyI1sVl-*#I?FMg>21Zy7Ho^)}8f2Tn zNw68b78fM7sIV8zCN?DO1;>rZvYIF(7&0fCV~@W;m|1I4hQjRe4W4YGa`!G8WKXYR1sLEJAZI+U0KIQq5H9pbt}(y3neTtSYY8fXxnx0+WktbA zu&lv68XxxMDS8A(IIA7ke_AyaU&v&OXlmX!$ny z(lD<=xa>4W+;T!WaUUF|cHX!&EG|XG->(K*VAo5W4$R#nu_ddv8Z%BD*UC%3N?rzQ z!?txZ4@%bc;<3yTeJX1LHEb4tdr_DkBv_ZFFo~-#@~H4jaAlx4IA7+p%xO2L`6}XS z52rnx_Hx?GX_$SeQT%GF4Ne=JKE>%%oaSpQQ8ox!9prC={B1g?(>a~N=?qS1aXO3B z*__VibTOy-;AeFar;9k9$LTyy=W{xr(*>NyufCe$k{xNwh_q*@kMwBEUsE4>OOrLK_y9la-kV)%t6m zo@`|vqv3`=fF4KxZTb(f-&LdQrl1peLMPt2-|hrbBo)g$eL&}9KLnw|qOS6JhphG! z`TP(A!4)7i+QaGBIE`P65;MA@Tc!wKG?6{Sx9lj3Z`tkM%0w$}+4a-z`nRwp+?k;E z)2rJMhehqLe11rwPppet`fgbIA%Cab6@{T7{?#3TIbBzD>j%Pcp)0yAo_fMcoqeh+ zy5K`Ax9~Om>8<%2bFvZpi8qqL$8z3gKK2q0V7p>0=A!M`ewe4mUbCLNVsBX~Xk4n; z5vWl=)M{!i;WnXAHYIjB^*&^>XBLvs5xFF-{2=F&UTEs&rgC?OdO(YT9sjhy1u}Jx zu_~cRJrMjojD+&oD_^;>dNO>%yu(JQcHHJ4i;&6KG9bk9v(7|InO$ytn~R?tE z{BCsd`VqzbTzp`-c!?f4IlB0KQG5wQ89bcb(DuQS5HJ=}#Tt)>WCQ|5z-0%wMyJiJY@>xL7N3a{_g(hI zTo=Ota?$L*&Ae;PrL22-5Sf&^$85&eM!s*n<9lW^zBIBZ{av#eZ5XLOcK!sw8Ob7z z`7^wn24Us?t(Dz1ArMsW7A8M?bkIfK9eH1ln#;2TcL#<$o@yivciccnA9uz(&d-fb zv1xAS(A(U_pHCW(Allr;A5Y@$au=hMxVzlNMf5Q>=ZwP}>X-B=h}TM(P#!i9TB_fcl1MdR`h0^xsIMr|F48WAeq(^VCd5TrK!S z&GQ>iNMf)*V-rN+T)DBxs>Eyt5*e=(l!sLc57SG0_(N%U23JlTp1}tv4$ola#Nipd zcj7R3=1v@M@tV3$@Xs>ifeWp}T$k_vPT~8%uL>i<==tC`GR??JuOoPC?l+btE$Lb( zU@*%y(;G1U?MAMz?*wM-A+Pc8AGgNc1wSUz@r%W7u6XII4ER%^Lw&izI>Yx)SNWcz(P*368La4He`$fhVzgW3H2yr$YN|8Y;Y(XEy((pXdBAX{SYEwC zpQ}pIW_stBC!ln|=)K8$p`Hnf>z_A>Tjm@;*rWCgqeazZ^zP-OmhK9%c8mS_L`KD` zhzA?c9+0&hOH)vw-_QO+axNh*EMk(Dvieu%69A!lR@U&z<#f+X^#OUwY4j*xJ&<6l@yVdEmxqZyRzJeAI`mGbm3WpM{6ADCGuTnCPwqKGXZHh20gjv44BB=HV zr9)C?TaK~f8j>~^g!9HaLJ9eO9|rT)uAC27jHCWjW{xBDW$3ci3ngjoCA1ZqM_*R) zO_Ox^lwW8RyfP$01ml)x-;P;*9W$hA|AM~806U!z7%N{MvSRaMALvnME@vfoSuKmf zv9RcCh1$e>tQf3eGTTNt3TZ1ZgJOf=N7(dbEeFxU9HFtq26NsB{gXD&y`%#}pP{}^ zz?tsN8C1Uc`doFMo503LpX_KAYZf;j8InT(lsivecDp9IsL&f}ojD!KH{V!t6qTqw zeN$$Jrf3hi)zfJ`(eojfCKWAd!z-%#z8BfF!V@)vw<)c+E3Iy&wZy5k<~!3q((XKR zA+1L%myZl+@@kj79`e68VuafV+=u`|Xv}sN9vZ~0O6#AmxH82H<^qJ z6YNB6BX$;*T{E1+>3Fhh2D=D)0phf_gEt~C_y3VL@@~0Ot@b-By9y>d?N^m*`egN$ z{&!(X#fF!h3+-5nT02?R_K3<0rr^4)cua12~qTdT6?RhEM;WMnMSY;eZmX%#`i@qX9JvM$@i@EVSV1!y`k%KytDcg=edU=-J4_Shx29bbEuMUKl#>TyHsD*6P`_ye1q!Yh`}zp;XuHD!fzd67G$^rk>%moHLY}Ze><#4>?CxvE*DQbpix!k z7W?z?p8lw~6N8p;$npfVtaY6zUDs}kZ}Ro5|Fqi6QsxwM>2wu;i~Z@MX3;MyOF&&< z)t@EW&$dcuap}=DXKOol&|VIeW-HszAZ&|1dx$>r6Oa5LrPV#h}dIC`>}-f<1Y1p(%Q}eRu@_YBKv)ns#ll!1?(O-w$`o+E=C$ z228~C|*MLk0TuS}_pk=x!_;o5;s;n;%FKx9G49ftkD|gZpUXD=4BMQ@RNpW)8SV&MLnbaP{v4U1;M@10*qKI)*)9E0~;?N zu+)L!F1y7VDi3q?5N#^7ET@t{d!cb~h7HCNp21J+{xWi*Ti+QcHB+!4 z(ARwRjDW?bP?&!NJktLTgv`Xnh|IDrr^7o&XF+tg7Y$%O$5ge3RX78IgDo(!;gP>Qo8KJx54jk z68xUpJtSS$?(^{v#JJWyAz4J+Ef{{u|Cbql97;zWmkqPsF+9xwKQa94u3-362iXQL znQy>}u}Mdz_h}DNsV=6C#`~1Hk@tT2&a?xn(LQif=7F>Wdx*wY)m<7G3(v);gcEB~ z?4;5pIWIg^W$_{mnGz{cj#i@E;mW zsTj*We;YZL(oY-9t>Q4UW>^!kORJ^bXEkmAX8E;;Q*|BNU~I)*8Cn#3-KvQqAO#F% zmMg9Ea4R+Fn&(y9`;SP6L}nra2K2b1*b8HL4Gysvj!wVcVc#{c)nI*4$);q*e3DgL zsUp&&6M3oDyW1-1B}`6hc`IDxv^<`f52u%LKT_h=%WAuY-PGMwY<=Otx*G1!;J^<6 zFixE0xl4-d_ekBA4WAe705^&ob}1Z~)ovKp zeOZWpOJzp3XgnlZ!wD6)=HtMLpV#2ouhhRl#g)ez6?BsaAo9FGz3#4z6!@pP16MYh zGOE$+t2HW#MpNxZlRiVEN!%zUuEnsYF}=n?k<39i_2|t46e%ORC0AL|Nk(<6;A-8f z>b1j+di8XP)+6_d8{>VVrz`sfAY{9*(pt)=w|3Epw+1^#282JShrl5Ak_%Y&sey-7 zZZgQvem(G&8DL1sq*_8+yrp!TXhXUKLfuLniB~^E=vZYOFZc7vI zJe84SWAW}|!Ey z?OSf$HzP9W)L}AM54AahX4U_m60?JIE8(}n5lo1@@9bN}Cw1?;BQK9Z_O%YCgy6Wy zNhiV;PwOi{yu(9d_@TrCxQ(n4Uk~c8_36{u_u8pxoiquMVOr0vjj`BNEM`r zR_#STe-!d(Tn+h?k6+2cR~R z`6N$7er2T>?TYVqR&sP+5+*CP8BVPc2b##r)p0tA7c({Xm8}$Wj?#KCSLZX)yZMjG zJAJ>uQoWn1yQ`9(XXL!8%z0C3J(|;@%t|+Ij-PTYv0!3{ZK7r~W^Mdb%KT z7@F&h%=5OHqpNgRMWw4?*S%P-@(Hk*mKmD?Cirqnl6tNVAZvA6_BF6JM$^mS1TR#E z`;Sc61vX*3myO|7tbb-?Xp9nl7zTjNS9Gm_1FNQUx43`YCGKD@`#Z1wS231z*TeAS1rCLr`3{E65JP#Maw2 zxzaV$`43Jhj?(i!0WL+x9sk8}DF$5H;Usk#nuJ*a*t_4vS!1V6!c)3Si7v$izx5e9 zUckqT9_}@D{_+V|*0Ix6G3k#CPx}4Vq*s3CN$0__v*4=@uHp~>3xk^l6sV=#&~@?f z!$Py@?}f5dmsjbJV)_AYrPZ@qX|0dkN6!*2$_o9WU#}gT5HZKEOo)8w=}U~53Hq!- zrEtI$W&s&|1Q~6+WSV{dGk2drg!de{tZvV>t8{M>QOe%g|JZCl_}y6%Qx5Hn3=uAW zU1D6`Rb=7tuG#1&2OO@y+0sjb4G9z`^c{h{x%({Cjl5zK_D1L8fd4LVXm)FRCA71Q zlW&b)_T5V4ho5MO;~ z9bqlxR0!?fN_Dx@64B!kwJE(7TPI$ztNpcz+1SE&D#t0U^PR3DURsOUouOZg@zS~; z<6+er2P|P_KrBn-RcNtnky>CacACRpdP}VwTWjFv1-QvxfXkHPCb9G$&23`zYAvMY zmyAm+J^#F+*3#{-7>L6c*v^E9COK*sE)*#7)Ww>W#F~}q>CM*YE zA8|Q6-TLd}`vkTAEM4y5)jtL!v7h!|nkxKgs)Ddm8GyC^jGS61&r1bzCv#9e4(c}* z!gx$(f_ulo_B~-%-FunAYUu;KLV4Jwu0jVRmiOFR> z#LV0#%;<_0Z1+V%9H4~F4v@uFa6t}S0WP(GoipcR(|^EHBIPa111S_kHk!-mTWUd* zq?bh{a5-p1UMGq108Emq{ej$Sf6_8HM?0s~tlo(tC~-3F)ZM{UHj~A&C3kCHZJn4~ zX+otIa8^q5oLasNH*tNFtOIK~lxQEs@_l0PM^%6@x%U@>9#BQ(6mb(s}pR=dBB|Nsz=X?dJ}$Q^e-5i^tZC>u#nnsv*39IiFGan$WgO12%na^VgW%I2)E( zrPm4DFru|*nAWDnMOZ(JSc1-4EILb$)0sO?XN%)>R!wzxkD{|hR?e_?&U#U)v`%;C z@_lNhnE!0fjR{Jdpxn)=oRgL6bRx9ZA=eHncfVOlyPS2*eY!Z}0zK?tDx1LkeY$fq z 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೒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

    Kel=-7qtl4E7 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⋘mQ8j?5Ek5IJ7b41~pjSUsl@ssy%PZllPkRF8c+ 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%0D?LCjZp@7k~U2-X6$5-v0&ovnsns^3N?g`R5iz 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 z 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%0AUpBLH_L?8zw4s(Hn6%Ofl=P|WGU`(~ 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 z%0A7>Axb&6?7sKi_QDS@ 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%0AH!l?iF3i@ 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

    gHG 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⩔ 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⁡^uw;b#CjW}!9 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∋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 z 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%0A`$vD7tI(w=Lev8Gd548P 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ⅆhrai(EZPEbc1iE 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 literal 0 HcmV?d00001 diff --git a/matrix-sdk-android/src/main/AndroidManifest.xml b/matrix-sdk-android/src/main/AndroidManifest.xml index 90cd94ab..8139d75a 100644 --- a/matrix-sdk-android/src/main/AndroidManifest.xml +++ b/matrix-sdk-android/src/main/AndroidManifest.xml @@ -1,2 +1,5 @@ + package="im.vector.matrix.android" > + + + diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/events/EventContent.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/events/EventContent.kt deleted file mode 100644 index 4b7d7b5d..00000000 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/events/EventContent.kt +++ /dev/null @@ -1,3 +0,0 @@ -package im.vector.matrix.android.api.events - -class EventContent : HashMap() \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/MatrixError.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/MatrixError.kt index ab1024ca..89106b29 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/MatrixError.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/failure/MatrixError.kt @@ -1,9 +1,13 @@ package im.vector.matrix.android.api.failure import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass -data class MatrixError(@Json(name = "errcode") val code: String, - @Json(name = "error") val message: String) { +@JsonClass(generateAdapter = true) +data class MatrixError( + @Json(name = "errcode") val code: String, + @Json(name = "error") val message: String +) { companion object { const val FORBIDDEN = "M_FORBIDDEN" diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/SessionModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/SessionModule.kt index 9129d1bc..e40d018e 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/SessionModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/di/SessionModule.kt @@ -9,7 +9,7 @@ import retrofit2.Retrofit class SessionModule(private val connectionConfig: HomeServerConnectionConfig) : Module { - override fun invoke(): ModuleDefinition = module { + override fun invoke(): ModuleDefinition = module(override = true) { scope(DefaultSession.SCOPE) { val retrofitBuilder = get() as Retrofit.Builder retrofitBuilder diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/events/sync/SyncModule.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/events/sync/SyncModule.kt index 2d14559a..386dc2d2 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/events/sync/SyncModule.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/events/sync/SyncModule.kt @@ -8,7 +8,7 @@ import retrofit2.Retrofit class SyncModule : Module { - override fun invoke(): ModuleDefinition = module { + override fun invoke(): ModuleDefinition = module(override = true) { scope(DefaultSession.SCOPE) { val retrofit: Retrofit = get() diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/events/sync/SyncResponseHandler.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/events/sync/SyncResponseHandler.kt deleted file mode 100644 index 4ac521ec..00000000 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/events/sync/SyncResponseHandler.kt +++ /dev/null @@ -1,538 +0,0 @@ -/* - * Copyright 2014 OpenMarket Ltd - * Copyright 2017 Vector Creations Ltd - * Copyright 2018 New Vector 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. - *//* - -package im.vector.matrix.android.internal.events.sync - -import android.text.TextUtils -import android.util.Log -import im.vector.matrix.android.api.events.Event -import im.vector.matrix.android.api.events.EventType -import im.vector.matrix.android.internal.events.sync.data.SyncResponse -import java.util.* - -class SyncResponseHandler { - - */ -/** - * Manage the sync accountData field - * - * @param accountData the account data - * @param isInitialSync true if it is an initial sync response - *//* - - private fun manageAccountData(accountData: Map?, isInitialSync: Boolean) { - try { - if (accountData!!.containsKey("events")) { - val events = accountData["events"] as List> - - if (!events.isEmpty()) { - // ignored users list - manageIgnoredUsers(events, isInitialSync) - // push rules - managePushRulesUpdate(events) - // direct messages rooms - manageDirectChatRooms(events, isInitialSync) - // URL preview - manageUrlPreview(events) - // User widgets - manageUserWidgets(events) - } - } - } catch (e: Exception) { - - } - - } - - */ -/** - * Refresh the push rules from the account data events list - * - * @param events the account data events. - *//* - - private fun managePushRulesUpdate(events: List>) { - for (event in events) { - val type = event["type"] as String - if (TextUtils.equals(type, "m.push_rules")) { - if (event.containsKey("content")) { - val gson = JsonUtils.getGson(false) - // convert the data to PushRulesResponse - // because BingRulesManager supports only PushRulesResponse - val element = gson.toJsonTree(event["content"]) - getBingRulesManager().buildRules(gson.fromJson(element, PushRulesResponse::class.java)) - // warn the client that the push rules have been updated - onBingRulesUpdate() - } - return - } - } - } - - */ -/** - * Check if the ignored users list is updated - * - * @param events the account data events list - *//* - - private fun manageIgnoredUsers(events: List>, isInitialSync: Boolean) { - val newIgnoredUsers = ignoredUsers(events) - - if (null != newIgnoredUsers) { - val curIgnoredUsers = getIgnoredUserIds() - - // the both lists are not empty - if (0 != newIgnoredUsers.size || 0 != curIgnoredUsers.size) { - // check if the ignored users list has been updated - if (newIgnoredUsers.size != curIgnoredUsers.size || !newIgnoredUsers.containsAll(curIgnoredUsers)) { - // update the store - mStore.setIgnoredUserIdsList(newIgnoredUsers) - mIgnoredUserIdsList = newIgnoredUsers - - if (!isInitialSync) { - // warn there is an update - onIgnoredUsersListUpdate() - } - } - } - } - } - - */ -/** - * Extract the ignored users list from the account data events list.. - * - * @param events the account data events list. - * @return the ignored users list. null means that there is no defined user ids list. - *//* - - private fun ignoredUsers(events: List>): List? { - var ignoredUsers: List? = null - - if (0 != events.size) { - for (event in events) { - val type = event["type"] as String - - if (TextUtils.equals(type, AccountDataRestClient.ACCOUNT_DATA_TYPE_IGNORED_USER_LIST)) { - if (event.containsKey("content")) { - val contentDict = event["content"] as Map - - if (contentDict.containsKey(AccountDataRestClient.ACCOUNT_DATA_KEY_IGNORED_USERS)) { - val ignored_users = contentDict[AccountDataRestClient.ACCOUNT_DATA_KEY_IGNORED_USERS] as Map - - if (null != ignored_users) { - ignoredUsers = ArrayList(ignored_users.keys) - } - } - } - } - } - - } - - return ignoredUsers - } - - - */ -/** - * Extract the direct chat rooms list from the dedicated events. - * - * @param events the account data events list. - *//* - - private fun manageDirectChatRooms(events: List>, isInitialSync: Boolean) { - if (0 != events.size) { - for (event in events) { - val type = event["type"] as String - - if (TextUtils.equals(type, AccountDataRestClient.ACCOUNT_DATA_TYPE_DIRECT_MESSAGES)) { - if (event.containsKey("content")) { - val contentDict = event["content"] as Map> - - Log.d(LOG_TAG, "## manageDirectChatRooms() : update direct chats map$contentDict") - - mStore.setDirectChatRoomsDict(contentDict) - - // reset the current list of the direct chat roomIDs - // to update it - mLocalDirectChatRoomIdsList = null - - if (!isInitialSync) { - // warn there is an update - onDirectMessageChatRoomsListUpdate() - } - } - } - } - } - } - - */ -/** - * Manage the URL preview flag - * - * @param events the events list - *//* - - private fun manageUrlPreview(events: List>) { - if (0 != events.size) { - for (event in events) { - val type = event["type"] as String - - if (TextUtils.equals(type, AccountDataRestClient.ACCOUNT_DATA_TYPE_PREVIEW_URLS)) { - if (event.containsKey("content")) { - val contentDict = event["content"] as Map - - Log.d(LOG_TAG, "## manageUrlPreview() : $contentDict") - var enable = true - if (contentDict.containsKey(AccountDataRestClient.ACCOUNT_DATA_KEY_URL_PREVIEW_DISABLE)) { - enable = !(contentDict[AccountDataRestClient.ACCOUNT_DATA_KEY_URL_PREVIEW_DISABLE] as Boolean) - } - - mStore.setURLPreviewEnabled(enable) - } - } - } - } - } - - */ -/** - * Manage the user widgets - * - * @param events the events list - *//* - - private fun manageUserWidgets(events: List>) { - if (0 != events.size) { - for (event in events) { - val type = event["type"] as String - - if (TextUtils.equals(type, AccountDataRestClient.ACCOUNT_DATA_TYPE_WIDGETS)) { - if (event.containsKey("content")) { - val contentDict = event["content"] as Map - - Log.d(LOG_TAG, "## manageUserWidgets() : $contentDict") - - mStore.setUserWidgets(contentDict) - } - } - } - } - } - - //================================================================================ - // Sync V2 - //================================================================================ - - */ -/** - * Handle a presence event. - * - * @param presenceEvent the presence event. - *//* - - private fun handlePresenceEvent(presenceEvent: Event) { - // Presence event - if (presenceEvent.type == EventType.PRESENCE) { - val userPresence = presenceEvent.content<>() - // use the sender by default - if (!TextUtils.isEmpty(presenceEvent.sender)) { - userPresence.user_id = presenceEvent.sender - } - var user = mStore.getUser(userPresence.user_id) - - if (user == null) { - user = userPresence - user!!.setDataHandler(this) - } else { - user!!.currently_active = userPresence.currently_active - user!!.presence = userPresence.presence - user!!.lastActiveAgo = userPresence.lastActiveAgo - } - - user!!.setLatestPresenceTs(System.currentTimeMillis()) - - // check if the current user has been updated - if (mCredentials.userId.equals(user!!.user_id)) { - // always use the up-to-date information - getMyUser().displayname = user!!.displayname - getMyUser().avatar_url = user!!.getAvatarUrl() - - mStore.setAvatarURL(user!!.getAvatarUrl(), presenceEvent.getOriginServerTs()) - mStore.setDisplayName(user!!.displayname, presenceEvent.getOriginServerTs()) - } - - mStore.storeUser(user) - onPresenceUpdate(presenceEvent, user) - } - } - - - private fun manageResponse(syncResponse: SyncResponse?, fromToken: String?, isCatchingUp: Boolean) { - val isInitialSync = fromToken == null - var isEmptyResponse = true - if (syncResponse == null) { - return - } - // Handle the to device events before the room ones - // to ensure to decrypt them properly - if (syncResponse.toDevice?.events?.isNotEmpty() == true) { - for (toDeviceEvent in syncResponse.toDevice.events) { - handleToDeviceEvent(toDeviceEvent) - } - } - // Handle account data before the room events - // to be able to update direct chats dictionary during invites handling. - manageAccountData(syncResponse.accountData, isInitialSync) - // joined rooms events - if (syncResponse.rooms?.join?.isNotEmpty() == true) { - Log.d(LOG_TAG, "Received " + syncResponse.rooms.join.size + " joined rooms") - val roomIds = syncResponse.rooms.join.keys - // Handle first joined rooms - for (roomId in roomIds) { - try { - if (null != mLeftRoomsStore.getRoom(roomId)) { - Log.d(LOG_TAG, "the room $roomId moves from left to the joined ones") - mLeftRoomsStore.deleteRoom(roomId) - } - - getRoom(roomId).handleJoinedRoomSync(syncResponse.rooms.join[roomId], isInitialSync) - } catch (e: Exception) { - Log.e(LOG_TAG, "## manageResponse() : handleJoinedRoomSync failed " + e.message + " for room " + roomId, e) - } - - } - - isEmptyResponse = false - } - - // invited room management - if (syncResponse.rooms?.invite?.isNotEmpty() == true) { - Log.d(LOG_TAG, "Received " + syncResponse.rooms.invite.size + " invited rooms") - - val roomIds = syncResponse.rooms.invite.keys - - var updatedDirectChatRoomsDict: MutableMap>? = null - var hasChanged = false - - for (roomId in roomIds) { - try { - Log.d(LOG_TAG, "## manageResponse() : the user has been invited to $roomId") - val room = getRoom(roomId) - val invitedRoomSync = syncResponse.rooms.invite[roomId] - room.handleInvitedRoomSync(invitedRoomSync) - // Handle here the invites to a direct chat. - if (room.isDirectChatInvitation()) { - // Retrieve the inviter user id. - var participantUserId: String? = null - for (event in invitedRoomSync.inviteState.events) { - if (null != event.sender) { - participantUserId = event.sender - break - } - } - if (null != participantUserId) { - // Prepare the updated dictionary. - if (null == updatedDirectChatRoomsDict) { - if (null != getStore().getDirectChatRoomsDict()) { - // Consider the current dictionary. - updatedDirectChatRoomsDict = HashMap(getStore().getDirectChatRoomsDict()) - } else { - updatedDirectChatRoomsDict = HashMap() - } - } - - val roomIdsList: MutableList - if (updatedDirectChatRoomsDict!!.containsKey(participantUserId)) { - roomIdsList = ArrayList(updatedDirectChatRoomsDict[participantUserId]) - } else { - roomIdsList = ArrayList() - } - - // Check whether the room was not yet seen as direct chat - if (roomIdsList.indexOf(roomId) < 0) { - Log.d(LOG_TAG, "## manageResponse() : add this new invite in direct chats") - - roomIdsList.add(roomId) // update room list with the new room - updatedDirectChatRoomsDict[participantUserId] = roomIdsList - hasChanged = true - } - } - } - } catch (e: Exception) { - Log.e(LOG_TAG, "## manageResponse() : handleInvitedRoomSync failed " + e.message + " for room " + roomId, e) - } - - } - - isEmptyResponse = false - - if (hasChanged) { - // Update account data to add new direct chat room(s) - mAccountDataRestClient.setAccountData(mCredentials.userId, AccountDataRestClient.ACCOUNT_DATA_TYPE_DIRECT_MESSAGES, - updatedDirectChatRoomsDict, object : ApiCallback() { - fun onSuccess(info: Void) { - Log.d(LOG_TAG, "## manageResponse() : succeeds") - } - - fun onNetworkError(e: Exception) { - Log.e(LOG_TAG, "## manageResponse() : update account data failed " + e.message, e) - // TODO: we should try again. - } - - fun onMatrixError(e: MatrixError) { - Log.e(LOG_TAG, "## manageResponse() : update account data failed " + e.getMessage()) - } - - fun onUnexpectedError(e: Exception) { - Log.e(LOG_TAG, "## manageResponse() : update account data failed " + e.message, e) - } - }) - } - - // left room management - // it should be done at the end but it seems there is a server issue - // when inviting after leaving a room, the room is defined in the both leave & invite rooms list. - if (null != syncResponse.rooms.leave && syncResponse.rooms.leave.size > 0) { - Log.d(LOG_TAG, "Received " + syncResponse.rooms.leave.size + " left rooms") - - val roomIds = syncResponse.rooms.leave.keys - - for (roomId in roomIds) { - // RoomSync leftRoomSync = syncResponse.rooms.leave.get(roomId); - - // Presently we remove the existing room from the rooms list. - // FIXME SYNC V2 Archive/Display the left rooms! - // For that create 'handleArchivedRoomSync' method - - var membership = RoomMember.MEMBERSHIP_LEAVE - val room = getRoom(roomId) - - // Retrieve existing room - // check if the room still exists. - if (null != room) { - // use 'handleJoinedRoomSync' to pass the last events to the room before leaving it. - // The room will then be able to notify its listeners. - room!!.handleJoinedRoomSync(syncResponse.rooms.leave[roomId], isInitialSync) - - val member = room!!.getMember(getUserId()) - if (null != member) { - membership = member!!.membership - } - - Log.d(LOG_TAG, "## manageResponse() : leave the room $roomId") - } - - if (!TextUtils.equals(membership, RoomMember.MEMBERSHIP_KICK) && !TextUtils.equals(membership, RoomMember.MEMBERSHIP_BAN)) { - // ensure that the room data are properly deleted - getStore().deleteRoom(roomId) - onLeaveRoom(roomId) - } else { - onRoomKick(roomId) - } - - // don't add to the left rooms if the user has been kicked / banned - if (mAreLeftRoomsSynced && TextUtils.equals(membership, RoomMember.MEMBERSHIP_LEAVE)) { - val leftRoom = getRoom(mLeftRoomsStore, roomId, true) - leftRoom.handleJoinedRoomSync(syncResponse.rooms.leave[roomId], isInitialSync) - } - } - - isEmptyResponse = false - } - } - - // groups - if (null != syncResponse.groups) { - // Handle invited groups - if (null != syncResponse.groups.invite && !syncResponse.groups.invite.isEmpty()) { - // Handle invited groups - for (groupId in syncResponse.groups.invite.keySet()) { - val invitedGroupSync = syncResponse.groups.invite.get(groupId) - mGroupsManager.onNewGroupInvitation(groupId, invitedGroupSync.profile, invitedGroupSync.inviter, !isInitialSync) - } - } - - // Handle joined groups - if (null != syncResponse.groups.join && !syncResponse.groups.join.isEmpty()) { - for (groupId in syncResponse.groups.join.keySet()) { - mGroupsManager.onJoinGroup(groupId, !isInitialSync) - } - } - // Handle left groups - if (null != syncResponse.groups.leave && !syncResponse.groups.leave.isEmpty()) { - // Handle joined groups - for (groupId in syncResponse.groups.leave.keySet()) { - mGroupsManager.onLeaveGroup(groupId, !isInitialSync) - } - } - } - - // Handle presence of other users - if (null != syncResponse.presence && null != syncResponse.presence.events) { - Log.d(LOG_TAG, "Received " + syncResponse.presence.events.size + " presence events") - for (presenceEvent in syncResponse.presence.events) { - handlePresenceEvent(presenceEvent) - } - } - - if (null != mCrypto) { - mCrypto.onSyncCompleted(syncResponse, fromToken, isCatchingUp) - } - - val store = getStore() - - if (!isEmptyResponse && null != store) { - store!!.setEventStreamToken(syncResponse.nextBatch) - store!!.commit() - } - - } - - */ -/* - * Handle a 'toDevice' event - * @param event the event - *//* - - private fun handleToDeviceEvent(event: Event) { - // Decrypt event if necessary - decryptEvent(event, null) - - if (TextUtils.equals(event.getType(), Event.EVENT_TYPE_MESSAGE) - && null != event.getContent() - && TextUtils.equals(JsonUtils.getMessageMsgType(event.getContent()), "m.bad.encrypted")) { - Log.e(LOG_TAG, "## handleToDeviceEvent() : Warning: Unable to decrypt to-device event : " + event.getContent()) - } else { - onToDeviceEvent(event) - } - } - - companion object { - - private val LOG_TAG = MXDataHandler::class.java!!.getSimpleName() - - private val LEFT_ROOMS_FILTER = "{\"room\":{\"timeline\":{\"limit\":1},\"include_leave\":true}}" - } - - -} -*/ diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/events/sync/Synchronizer.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/events/sync/Synchronizer.kt index ef5b1dbc..65456a8c 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/events/sync/Synchronizer.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/events/sync/Synchronizer.kt @@ -4,6 +4,8 @@ import com.squareup.moshi.Moshi import im.vector.matrix.android.api.MatrixCallback import im.vector.matrix.android.api.util.Cancelable import im.vector.matrix.android.internal.events.sync.data.SyncResponse +import im.vector.matrix.android.internal.legacy.rest.model.filter.FilterBody +import im.vector.matrix.android.internal.legacy.util.FilterUtil import im.vector.matrix.android.internal.network.executeRequest import im.vector.matrix.android.internal.util.CancelableCoroutine import im.vector.matrix.android.internal.util.MatrixCoroutineDispatchers @@ -17,8 +19,10 @@ class Synchronizer(private val syncAPI: SyncAPI, fun synchronize(callback: MatrixCallback): Cancelable { val job = GlobalScope.launch(coroutineDispatchers.main) { val params = HashMap() + val filterBody = FilterBody() + FilterUtil.enableLazyLoading(filterBody, true) params["timeout"] = "0" - params["filter"] = "{}" + params["filter"] = filterBody.toJSONString() val syncResponse = executeRequest { apiCall = syncAPI.sync(params) moshi = jsonMapper diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/HomeServerConnectionConfig.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/HomeServerConnectionConfig.java new file mode 100644 index 00000000..cc928ef0 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/HomeServerConnectionConfig.java @@ -0,0 +1,532 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy; + +import android.net.Uri; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.annotation.VisibleForTesting; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import im.vector.matrix.android.internal.legacy.rest.model.login.Credentials; +import im.vector.matrix.android.internal.legacy.ssl.Fingerprint; + +import java.util.ArrayList; +import java.util.List; + +import okhttp3.CipherSuite; +import okhttp3.TlsVersion; + +/** + * Represents how to connect to a specific Homeserver, may include credentials to use. + */ +public class HomeServerConnectionConfig { + + // the home server URI + private Uri mHsUri; + // the identity server URI + private Uri mIdentityServerUri; + // the anti-virus server URI + private Uri mAntiVirusServerUri; + // allowed fingerprints + private List mAllowedFingerprints = new ArrayList<>(); + // the credentials + private Credentials mCredentials; + // tell whether we should reject X509 certs that were issued by trusts CAs and only trustcerts with matching fingerprints. + private boolean mPin; + // the accepted TLS versions + private List mTlsVersions; + // the accepted TLS cipher suites + private List mTlsCipherSuites; + // should accept TLS extensions + private boolean mShouldAcceptTlsExtensions = true; + // allow Http connection + private boolean mAllowHttpExtension; + // Force usage of TLS versions + private boolean mForceUsageTlsVersions; + + /** + * Private constructor. Please use the Builder + */ + private HomeServerConnectionConfig() { + // Private constructor + } + + /** + * Update the home server URI. + * + * @param uri the new HS uri + */ + public void setHomeserverUri(Uri uri) { + mHsUri = uri; + } + + /** + * @return the home server uri + */ + public Uri getHomeserverUri() { + return mHsUri; + } + + /** + * @return the identity server uri + */ + public Uri getIdentityServerUri() { + if (null != mIdentityServerUri) { + return mIdentityServerUri; + } + // Else consider the HS uri by default. + return mHsUri; + } + + /** + * @return the anti-virus server uri + */ + public Uri getAntiVirusServerUri() { + if (null != mAntiVirusServerUri) { + return mAntiVirusServerUri; + } + // Else consider the HS uri by default. + return mHsUri; + } + + /** + * @return the allowed fingerprints. + */ + public List getAllowedFingerprints() { + return mAllowedFingerprints; + } + + /** + * @return the credentials + */ + public Credentials getCredentials() { + return mCredentials; + } + + /** + * Update the credentials. + * + * @param credentials the new credentials + */ + public void setCredentials(Credentials credentials) { + mCredentials = credentials; + } + + /** + * @return whether we should reject X509 certs that were issued by trusts CAs and only trust + * certs with matching fingerprints. + */ + public boolean shouldPin() { + return mPin; + } + + /** + * TLS versions accepted for TLS connections with the home server. + */ + @Nullable + public List getAcceptedTlsVersions() { + return mTlsVersions; + } + + /** + * TLS cipher suites accepted for TLS connections with the home server. + */ + @Nullable + public List getAcceptedTlsCipherSuites() { + return mTlsCipherSuites; + } + + /** + * @return whether we should accept TLS extensions. + */ + public boolean shouldAcceptTlsExtensions() { + return mShouldAcceptTlsExtensions; + } + + /** + * @return true if Http connection is allowed (false by default). + */ + public boolean isHttpConnectionAllowed() { + return mAllowHttpExtension; + } + + /** + * @return true if the usage of TlsVersions has to be forced + */ + public boolean forceUsageOfTlsVersions() { + return mForceUsageTlsVersions; + } + + @Override + public String toString() { + return "HomeserverConnectionConfig{" + + "mHsUri=" + mHsUri + + ", mIdentityServerUri=" + mIdentityServerUri + + ", mAntiVirusServerUri=" + mAntiVirusServerUri + + ", mAllowedFingerprints size=" + mAllowedFingerprints.size() + + ", mCredentials=" + mCredentials + + ", mPin=" + mPin + + ", mShouldAcceptTlsExtensions=" + mShouldAcceptTlsExtensions + + ", mTlsVersions=" + (null == mTlsVersions ? "" : mTlsVersions.size()) + + ", mTlsCipherSuites=" + (null == mTlsCipherSuites ? "" : mTlsCipherSuites.size()) + + '}'; + } + + /** + * Convert the object instance into a JSon object + * + * @return the JSon representation + * @throws JSONException the JSON conversion failure reason + */ + public JSONObject toJson() throws JSONException { + JSONObject json = new JSONObject(); + + json.put("home_server_url", mHsUri.toString()); + json.put("identity_server_url", getIdentityServerUri().toString()); + if (mAntiVirusServerUri != null) { + json.put("antivirus_server_url", mAntiVirusServerUri.toString()); + } + + json.put("pin", mPin); + + if (mCredentials != null) json.put("credentials", mCredentials.toJson()); + if (mAllowedFingerprints != null) { + List fingerprints = new ArrayList<>(mAllowedFingerprints.size()); + + for (Fingerprint fingerprint : mAllowedFingerprints) { + fingerprints.add(fingerprint.toJson()); + } + + json.put("fingerprints", new JSONArray(fingerprints)); + } + + json.put("tls_extensions", mShouldAcceptTlsExtensions); + + if (mTlsVersions != null) { + List tlsVersions = new ArrayList<>(mTlsVersions.size()); + + for (TlsVersion tlsVersion : mTlsVersions) { + tlsVersions.add(tlsVersion.javaName()); + } + + json.put("tls_versions", new JSONArray(tlsVersions)); + } + + json.put("force_usage_of_tls_versions", mForceUsageTlsVersions); + + if (mTlsCipherSuites != null) { + List tlsCipherSuites = new ArrayList<>(mTlsCipherSuites.size()); + + for (CipherSuite tlsCipherSuite : mTlsCipherSuites) { + tlsCipherSuites.add(tlsCipherSuite.javaName()); + } + + json.put("tls_cipher_suites", new JSONArray(tlsCipherSuites)); + } + + return json; + } + + /** + * Create an object instance from the json object. + * + * @param jsonObject the json object + * @return a HomeServerConnectionConfig instance + * @throws JSONException the conversion failure reason + */ + public static HomeServerConnectionConfig fromJson(JSONObject jsonObject) throws JSONException { + JSONArray fingerprintArray = jsonObject.optJSONArray("fingerprints"); + List fingerprints = new ArrayList<>(); + if (fingerprintArray != null) { + for (int i = 0; i < fingerprintArray.length(); i++) { + fingerprints.add(Fingerprint.fromJson(fingerprintArray.getJSONObject(i))); + } + } + + JSONObject credentialsObj = jsonObject.optJSONObject("credentials"); + Credentials creds = credentialsObj != null ? Credentials.fromJson(credentialsObj) : null; + + Builder builder = new Builder() + .withHomeServerUri(Uri.parse(jsonObject.getString("home_server_url"))) + .withIdentityServerUri(jsonObject.has("identity_server_url") ? Uri.parse(jsonObject.getString("identity_server_url")) : null) + .withCredentials(creds) + .withAllowedFingerPrints(fingerprints) + .withPin(jsonObject.optBoolean("pin", false)); + + // Set the anti-virus server uri if any + if (jsonObject.has("antivirus_server_url")) { + builder.withAntiVirusServerUri(Uri.parse(jsonObject.getString("antivirus_server_url"))); + } + + builder.withShouldAcceptTlsExtensions(jsonObject.optBoolean("tls_extensions", true)); + + // Set the TLS versions if any + if (jsonObject.has("tls_versions")) { + JSONArray tlsVersionsArray = jsonObject.optJSONArray("tls_versions"); + if (tlsVersionsArray != null) { + for (int i = 0; i < tlsVersionsArray.length(); i++) { + builder.addAcceptedTlsVersion(TlsVersion.forJavaName(tlsVersionsArray.getString(i))); + } + } + } + + builder.forceUsageOfTlsVersions(jsonObject.optBoolean("force_usage_of_tls_versions", false)); + + // Set the TLS cipher suites if any + if (jsonObject.has("tls_cipher_suites")) { + JSONArray tlsCipherSuitesArray = jsonObject.optJSONArray("tls_cipher_suites"); + if (tlsCipherSuitesArray != null) { + for (int i = 0; i < tlsCipherSuitesArray.length(); i++) { + builder.addAcceptedTlsCipherSuite(CipherSuite.forJavaName(tlsCipherSuitesArray.getString(i))); + } + } + } + + return builder.build(); + } + + /** + * Builder + */ + public static class Builder { + private HomeServerConnectionConfig mHomeServerConnectionConfig; + + /** + * Builder constructor + */ + public Builder() { + mHomeServerConnectionConfig = new HomeServerConnectionConfig(); + } + + /** + * @param hsUri The URI to use to connect to the homeserver. Cannot be null + * @return this builder + */ + public Builder withHomeServerUri(final Uri hsUri) { + if (hsUri == null || (!"http".equals(hsUri.getScheme()) && !"https".equals(hsUri.getScheme()))) { + throw new RuntimeException("Invalid home server URI: " + hsUri); + } + + // remove trailing / + if (hsUri.toString().endsWith("/")) { + try { + String url = hsUri.toString(); + mHomeServerConnectionConfig.mHsUri = Uri.parse(url.substring(0, url.length() - 1)); + } catch (Exception e) { + throw new RuntimeException("Invalid home server URI: " + hsUri); + } + } else { + mHomeServerConnectionConfig.mHsUri = hsUri; + } + + return this; + } + + /** + * @param identityServerUri The URI to use to manage identity. Can be null + * @return this builder + */ + public Builder withIdentityServerUri(@Nullable final Uri identityServerUri) { + if ((null != identityServerUri) && (!"http".equals(identityServerUri.getScheme()) && !"https".equals(identityServerUri.getScheme()))) { + throw new RuntimeException("Invalid identity server URI: " + identityServerUri); + } + + // remove trailing / + if ((null != identityServerUri) && identityServerUri.toString().endsWith("/")) { + try { + String url = identityServerUri.toString(); + mHomeServerConnectionConfig.mIdentityServerUri = Uri.parse(url.substring(0, url.length() - 1)); + } catch (Exception e) { + throw new RuntimeException("Invalid identity server URI: " + identityServerUri); + } + } else { + mHomeServerConnectionConfig.mIdentityServerUri = identityServerUri; + } + + return this; + } + + /** + * @param credentials The credentials to use, if needed. Can be null. + * @return this builder + */ + public Builder withCredentials(@Nullable Credentials credentials) { + mHomeServerConnectionConfig.mCredentials = credentials; + return this; + } + + /** + * @param allowedFingerprints If using SSL, allow server certs that match these fingerprints. + * @return this builder + */ + public Builder withAllowedFingerPrints(@Nullable List allowedFingerprints) { + if (allowedFingerprints != null) { + mHomeServerConnectionConfig.mAllowedFingerprints.addAll(allowedFingerprints); + } + + return this; + } + + /** + * @param pin If true only allow certs matching given fingerprints, otherwise fallback to + * standard X509 checks. + * @return this builder + */ + public Builder withPin(boolean pin) { + mHomeServerConnectionConfig.mPin = pin; + + return this; + } + + /** + * @param shouldAcceptTlsExtension + * @return this builder + */ + public Builder withShouldAcceptTlsExtensions(boolean shouldAcceptTlsExtension) { + mHomeServerConnectionConfig.mShouldAcceptTlsExtensions = shouldAcceptTlsExtension; + + return this; + } + + /** + * Add an accepted TLS version for TLS connections with the home server. + * + * @param tlsVersion the tls version to add to the set of TLS versions accepted. + * @return this builder + */ + public Builder addAcceptedTlsVersion(@NonNull TlsVersion tlsVersion) { + if (mHomeServerConnectionConfig.mTlsVersions == null) { + mHomeServerConnectionConfig.mTlsVersions = new ArrayList<>(); + } + + mHomeServerConnectionConfig.mTlsVersions.add(tlsVersion); + + return this; + } + + /** + * Force the usage of TlsVersion. This can be usefull for device on Android version < 20 + * + * @param forceUsageOfTlsVersions set to true to force the usage of specified TlsVersions (with {@link #addAcceptedTlsVersion(TlsVersion)} + * @return this builder + */ + public Builder forceUsageOfTlsVersions(boolean forceUsageOfTlsVersions) { + mHomeServerConnectionConfig.mForceUsageTlsVersions = forceUsageOfTlsVersions; + + return this; + } + + /** + * Add a TLS cipher suite to the list of accepted TLS connections with the home server. + * + * @param tlsCipherSuite the tls cipher suite to add. + * @return this builder + */ + public Builder addAcceptedTlsCipherSuite(@NonNull CipherSuite tlsCipherSuite) { + if (mHomeServerConnectionConfig.mTlsCipherSuites == null) { + mHomeServerConnectionConfig.mTlsCipherSuites = new ArrayList<>(); + } + + mHomeServerConnectionConfig.mTlsCipherSuites.add(tlsCipherSuite); + + return this; + } + + /** + * Update the anti-virus server URI. + * + * @param antivirusServerUri the new anti-virus uri. Can be null + * @return this builder + */ + public Builder withAntiVirusServerUri(@Nullable Uri antivirusServerUri) { + if ((null != antivirusServerUri) && (!"http".equals(antivirusServerUri.getScheme()) && !"https".equals(antivirusServerUri.getScheme()))) { + throw new RuntimeException("Invalid antivirus server URI: " + antivirusServerUri); + } + + mHomeServerConnectionConfig.mAntiVirusServerUri = antivirusServerUri; + + return this; + } + + /** + * For test only: allow Http connection + */ + @VisibleForTesting + public Builder withAllowHttpConnection() { + mHomeServerConnectionConfig.mAllowHttpExtension = true; + return this; + } + + /** + * Convenient method to limit the TLS versions and cipher suites for this Builder + * Ref: + * - https://www.ssi.gouv.fr/uploads/2017/02/security-recommendations-for-tls_v1.1.pdf + * - https://developer.android.com/reference/javax/net/ssl/SSLEngine + * + * @param tlsLimitations true to use Tls limitations + * @param enableCompatibilityMode set to true for Android < 20 + * @return this builder + */ + public Builder withTlsLimitations(boolean tlsLimitations, boolean enableCompatibilityMode) { + if (tlsLimitations) { + withShouldAcceptTlsExtensions(false); + + // Tls versions + addAcceptedTlsVersion(TlsVersion.TLS_1_2); + addAcceptedTlsVersion(TlsVersion.TLS_1_3); + + forceUsageOfTlsVersions(enableCompatibilityMode); + + // Cipher suites + addAcceptedTlsCipherSuite(CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256); + addAcceptedTlsCipherSuite(CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256); + addAcceptedTlsCipherSuite(CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); + addAcceptedTlsCipherSuite(CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256); + addAcceptedTlsCipherSuite(CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384); + addAcceptedTlsCipherSuite(CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384); + addAcceptedTlsCipherSuite(CipherSuite.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256); + addAcceptedTlsCipherSuite(CipherSuite.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256); + + if (enableCompatibilityMode) { + // Adopt some preceding cipher suites for Android < 20 to be able to negotiate + // a TLS session. + addAcceptedTlsCipherSuite(CipherSuite.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA); + addAcceptedTlsCipherSuite(CipherSuite.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA); + } + } + + return this; + } + + /** + * @return the {@link HomeServerConnectionConfig} + */ + public HomeServerConnectionConfig build() { + // Check mandatory parameters + if (mHomeServerConnectionConfig.mHsUri == null) { + throw new RuntimeException("Home server URI not set"); + } + + return mHomeServerConnectionConfig; + } + + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/MXDataHandler.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/MXDataHandler.java new file mode 100644 index 00000000..6235bc50 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/MXDataHandler.java @@ -0,0 +1,2137 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy; + +import android.os.Handler; +import android.os.Looper; +import android.support.annotation.Nullable; +import android.text.TextUtils; + +import com.google.gson.Gson; +import com.google.gson.JsonElement; + +import im.vector.matrix.android.internal.legacy.call.MXCallsManager; +import im.vector.matrix.android.internal.legacy.crypto.MXCrypto; +import im.vector.matrix.android.internal.legacy.crypto.MXCryptoError; +import im.vector.matrix.android.internal.legacy.crypto.MXDecryptionException; +import im.vector.matrix.android.internal.legacy.crypto.MXEventDecryptionResult; +import im.vector.matrix.android.internal.legacy.data.DataRetriever; +import im.vector.matrix.android.internal.legacy.data.MyUser; +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.data.RoomSummary; +import im.vector.matrix.android.internal.legacy.data.metrics.MetricsListener; +import im.vector.matrix.android.internal.legacy.data.store.IMXStore; +import im.vector.matrix.android.internal.legacy.data.store.MXMemoryStore; +import im.vector.matrix.android.internal.legacy.data.timeline.EventTimeline; +import im.vector.matrix.android.internal.legacy.db.MXMediasCache; +import im.vector.matrix.android.internal.legacy.groups.GroupsManager; +import im.vector.matrix.android.internal.legacy.listeners.IMXEventListener; +import im.vector.matrix.android.internal.legacy.network.NetworkConnectivityReceiver; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.client.AccountDataRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.EventsRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.PresenceRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.ProfileRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.RoomsRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.ThirdPidRestClient; +import im.vector.matrix.android.internal.legacy.rest.model.ChunkEvents; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.ReceiptData; +import im.vector.matrix.android.internal.legacy.rest.model.RoomAliasDescription; +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; +import im.vector.matrix.android.internal.legacy.rest.model.User; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.BingRule; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.PushRuleSet; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.PushRulesResponse; +import im.vector.matrix.android.internal.legacy.rest.model.group.InvitedGroupSync; +import im.vector.matrix.android.internal.legacy.rest.model.login.Credentials; +import im.vector.matrix.android.internal.legacy.rest.model.sync.InvitedRoomSync; +import im.vector.matrix.android.internal.legacy.rest.model.sync.SyncResponse; +import im.vector.matrix.android.internal.legacy.ssl.UnrecognizedCertificateException; +import im.vector.matrix.android.internal.legacy.util.BingRulesManager; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * The data handler provides a layer to help manage matrix input and output. + *

    + */ +public class MXDataHandler { + private static final String LOG_TAG = MXDataHandler.class.getSimpleName(); + + private static final String LEFT_ROOMS_FILTER = "{\"room\":{\"timeline\":{\"limit\":1},\"include_leave\":true}}"; + + public interface RequestNetworkErrorListener { + /** + * Call there is a configuration error. + * + * @param matrixErrorCode the matrix error code + */ + void onConfigurationError(String matrixErrorCode); + + /** + * Call when the requests are rejected after a SSL update + * + * @param exception the exception + */ + void onSSLCertificateError(UnrecognizedCertificateException exception); + } + + private MxEventDispatcher mMxEventDispatcher; + + private final IMXStore mStore; + private final Credentials mCredentials; + private volatile String mInitialSyncToToken = null; + private DataRetriever mDataRetriever; + private BingRulesManager mBingRulesManager; + private MXCallsManager mCallsManager; + private MXMediasCache mMediasCache; + + private MetricsListener mMetricsListener; + + private ProfileRestClient mProfileRestClient; + private PresenceRestClient mPresenceRestClient; + private ThirdPidRestClient mThirdPidRestClient; + private RoomsRestClient mRoomsRestClient; + private EventsRestClient mEventsRestClient; + private AccountDataRestClient mAccountDataRestClient; + + private NetworkConnectivityReceiver mNetworkConnectivityReceiver; + + private MyUser mMyUser; + + // list of ignored users + // null -> not initialized + // should be retrieved from the store + private List mIgnoredUserIdsList; + + // list all the roomIds of the current direct chat rooms + private List mLocalDirectChatRoomIdsList = null; + + private boolean mIsAlive = true; + + private RequestNetworkErrorListener mRequestNetworkErrorListener; + + // the left rooms are managed + // by default, they are not supported + private boolean mAreLeftRoomsSynced; + + // + private final List> mLeftRoomsRefreshCallbacks = new ArrayList<>(); + private boolean mIsRetrievingLeftRooms; + + // the left rooms are saved in a dedicated store. + private final MXMemoryStore mLeftRoomsStore; + + // e2e decoder + private MXCrypto mCrypto; + + // the crypto is only started when the sync did not retrieve new device + private boolean mIsStartingCryptoWithInitialSync = false; + + // groups manager + private GroupsManager mGroupsManager; + + // Resource limit exceeded error + @Nullable + private MatrixError mResourceLimitExceededError; + + // tell if the lazy loading is enabled + private boolean mIsLazyLoadingEnabled; + + /** + * Default constructor. + * + * @param store the data storage implementation. + * @param credentials the credentials + */ + public MXDataHandler(IMXStore store, Credentials credentials) { + mStore = store; + mCredentials = credentials; + mMxEventDispatcher = new MxEventDispatcher(); + mLeftRoomsStore = new MXMemoryStore(credentials, store.getContext()); + } + + public void setLazyLoadingEnabled(boolean enabled) { + mIsLazyLoadingEnabled = enabled; + } + + public boolean isLazyLoadingEnabled() { + return mIsLazyLoadingEnabled; + } + + /** + * Set the network error listener. + * + * @param requestNetworkErrorListener the network error listener + */ + public void setRequestNetworkErrorListener(RequestNetworkErrorListener requestNetworkErrorListener) { + mRequestNetworkErrorListener = requestNetworkErrorListener; + } + + /** + * Update the metrics listener + * + * @param metricsListener the metrics listener + */ + public void setMetricsListener(MetricsListener metricsListener) { + mMetricsListener = metricsListener; + } + + /** + * @return the credentials + */ + public Credentials getCredentials() { + return mCredentials; + } + + /** + * Update the profile Rest client. + * + * @param profileRestClient the REST client + */ + public void setProfileRestClient(ProfileRestClient profileRestClient) { + mProfileRestClient = profileRestClient; + } + + /** + * @return the profile REST client + */ + public ProfileRestClient getProfileRestClient() { + return mProfileRestClient; + } + + /** + * Update the presence Rest client. + * + * @param presenceRestClient the REST client + */ + public void setPresenceRestClient(PresenceRestClient presenceRestClient) { + mPresenceRestClient = presenceRestClient; + } + + /** + * @return the presence REST client + */ + public PresenceRestClient getPresenceRestClient() { + return mPresenceRestClient; + } + + /** + * Update the thirdPid Rest client. + * + * @param thirdPidRestClient the REST client + */ + public void setThirdPidRestClient(ThirdPidRestClient thirdPidRestClient) { + mThirdPidRestClient = thirdPidRestClient; + } + + /** + * @return the ThirdPid REST client + */ + public ThirdPidRestClient getThirdPidRestClient() { + return mThirdPidRestClient; + } + + /** + * Update the rooms Rest client. + * + * @param roomsRestClient the rooms client + */ + public void setRoomsRestClient(RoomsRestClient roomsRestClient) { + mRoomsRestClient = roomsRestClient; + } + + /** + * Update the events Rest client. + * + * @param eventsRestClient the events client + */ + public void setEventsRestClient(EventsRestClient eventsRestClient) { + mEventsRestClient = eventsRestClient; + } + + /** + * Update the account data Rest client. + * + * @param accountDataRestClient the account data client + */ + public void setAccountDataRestClient(AccountDataRestClient accountDataRestClient) { + mAccountDataRestClient = accountDataRestClient; + } + + /** + * Update the network connectivity receiver. + * + * @param networkConnectivityReceiver the network connectivity receiver + */ + public void setNetworkConnectivityReceiver(NetworkConnectivityReceiver networkConnectivityReceiver) { + mNetworkConnectivityReceiver = networkConnectivityReceiver; + + if (null != getCrypto()) { + getCrypto().setNetworkConnectivityReceiver(mNetworkConnectivityReceiver); + } + } + + /** + * Set the groups manager. + * + * @param groupsManager the groups manager + */ + public void setGroupsManager(GroupsManager groupsManager) { + mGroupsManager = groupsManager; + } + + /** + * @return the crypto engine + */ + public MXCrypto getCrypto() { + return mCrypto; + } + + /** + * Update the crypto engine. + * + * @param crypto the crypto engine + */ + public void setCrypto(MXCrypto crypto) { + mCrypto = crypto; + } + + /** + * @return true if the crypto is enabled + */ + public boolean isCryptoEnabled() { + return null != mCrypto; + } + + /** + * Provide the list of user Ids to ignore. + * The result cannot be null. + * + * @return the user Ids list + */ + public List getIgnoredUserIds() { + if (null == mIgnoredUserIdsList) { + mIgnoredUserIdsList = mStore.getIgnoredUserIdsList(); + } + + // avoid the null case + if (null == mIgnoredUserIdsList) { + mIgnoredUserIdsList = new ArrayList<>(); + } + + return mIgnoredUserIdsList; + } + + /** + * Test if the current instance is still active. + * When the session is closed, many objects keep a reference to this class + * to dispatch events : isAlive() should be called before calling a method of this class. + */ + private void checkIfAlive() { + synchronized (this) { + if (!mIsAlive) { + Log.e(LOG_TAG, "use of a released dataHandler", new Exception("use of a released dataHandler")); + //throw new AssertionError("Should not used a MXDataHandler"); + } + } + } + + /** + * Tell if the current instance is still active. + * When the session is closed, many objects keep a reference to this class + * to dispatch events : isAlive() should be called before calling a method of this class. + * + * @return true if it is active. + */ + public boolean isAlive() { + synchronized (this) { + return mIsAlive; + } + } + + /** + * Dispatch the configuration error. + * + * @param matrixErrorCode the matrix error code. + */ + public void onConfigurationError(String matrixErrorCode) { + if (null != mRequestNetworkErrorListener) { + mRequestNetworkErrorListener.onConfigurationError(matrixErrorCode); + } + } + + /** + * Call when the requests are rejected after a SSL update. + * + * @param exception the SSL certificate exception + */ + public void onSSLCertificateError(UnrecognizedCertificateException exception) { + if (null != mRequestNetworkErrorListener) { + mRequestNetworkErrorListener.onSSLCertificateError(exception); + } + } + + /** + * Get the last resource limit exceeded error if any or null + * + * @return the last resource limit exceeded error if any or null + */ + @Nullable + public MatrixError getResourceLimitExceededError() { + return mResourceLimitExceededError; + } + + /** + * Get the session's current user. The MyUser object provides methods for updating user properties which are not possible for other users. + * + * @return the session's MyUser object + */ + public MyUser getMyUser() { + checkIfAlive(); + + IMXStore store = getStore(); + + // MyUser is initialized as late as possible to have a better chance at having the info in storage, + // which should be the case if this is called after the initial sync + if (mMyUser == null) { + mMyUser = new MyUser(store.getUser(mCredentials.userId)); + mMyUser.setDataHandler(this); + + // assume the profile is not yet initialized + if (null == store.displayName()) { + store.setAvatarURL(mMyUser.getAvatarUrl(), System.currentTimeMillis()); + store.setDisplayName(mMyUser.displayname, System.currentTimeMillis()); + } else { + // use the latest user information + // The user could have updated his profile in offline mode and kill the application. + mMyUser.displayname = store.displayName(); + mMyUser.setAvatarUrl(store.avatarURL()); + } + + // Handle the case where the user is null by loading the user information from the server + mMyUser.user_id = mCredentials.userId; + } else if (null != store) { + // assume the profile is not yet initialized + if ((null == store.displayName()) && (null != mMyUser.displayname)) { + // setAvatarURL && setDisplayName perform a commit if it is required. + store.setAvatarURL(mMyUser.getAvatarUrl(), System.currentTimeMillis()); + store.setDisplayName(mMyUser.displayname, System.currentTimeMillis()); + } else if (!TextUtils.equals(mMyUser.displayname, store.displayName())) { + mMyUser.displayname = store.displayName(); + mMyUser.setAvatarUrl(store.avatarURL()); + } + } + + // check if there is anything to refresh + mMyUser.refreshUserInfos(null); + + return mMyUser; + } + + /** + * @return true if the initial sync is completed. + */ + public boolean isInitialSyncComplete() { + checkIfAlive(); + return (null != mInitialSyncToToken); + } + + /** + * @return the DataRetriever. + */ + public DataRetriever getDataRetriever() { + checkIfAlive(); + return mDataRetriever; + } + + /** + * Update the dataRetriever. + * + * @param dataRetriever the dataRetriever. + */ + public void setDataRetriever(DataRetriever dataRetriever) { + checkIfAlive(); + mDataRetriever = dataRetriever; + } + + /** + * Update the push rules manager. + * + * @param bingRulesManager the new push rules manager. + */ + public void setPushRulesManager(BingRulesManager bingRulesManager) { + if (isAlive()) { + mBingRulesManager = bingRulesManager; + + mBingRulesManager.loadRules(new SimpleApiCallback() { + @Override + public void onSuccess(Void info) { + onBingRulesUpdate(); + } + }); + } + } + + /** + * Update the calls manager. + * + * @param callsManager the new calls manager. + */ + public void setCallsManager(MXCallsManager callsManager) { + checkIfAlive(); + mCallsManager = callsManager; + } + + /** + * @return the user calls manager. + */ + public MXCallsManager getCallsManager() { + checkIfAlive(); + return mCallsManager; + } + + /** + * Update the medias cache. + * + * @param mediasCache the new medias cache. + */ + public void setMediasCache(MXMediasCache mediasCache) { + checkIfAlive(); + mMediasCache = mediasCache; + } + + /** + * Retrieve the medias cache. + * + * @return the used mediasCache + */ + public MXMediasCache getMediasCache() { + checkIfAlive(); + return mMediasCache; + } + + /** + * @return the used push rules set. + */ + public PushRuleSet pushRules() { + if (isAlive() && (null != mBingRulesManager)) { + return mBingRulesManager.pushRules(); + } + + return null; + } + + /** + * Trigger a push rules refresh. + */ + public void refreshPushRules() { + if (isAlive() && (null != mBingRulesManager)) { + mBingRulesManager.loadRules(new SimpleApiCallback() { + @Override + public void onSuccess(Void info) { + onBingRulesUpdate(); + } + }); + } + } + + /** + * @return the used BingRulesManager. + */ + public BingRulesManager getBingRulesManager() { + checkIfAlive(); + return mBingRulesManager; + } + + /** + * Set the crypto events listener, or remove it + * + * @param listener the listener or null to remove the listener + */ + public void setCryptoEventsListener(@Nullable IMXEventListener listener) { + mMxEventDispatcher.setCryptoEventsListener(listener); + } + + /** + * Add a listener to the listeners list. + * + * @param listener the listener to add. + */ + public void addListener(IMXEventListener listener) { + if (isAlive() && (null != listener)) { + synchronized (mMxEventDispatcher) { + mMxEventDispatcher.addListener(listener); + } + + if (null != mInitialSyncToToken) { + listener.onInitialSyncComplete(mInitialSyncToToken); + } + } + } + + /** + * Remove a listener from the listeners list. + * + * @param listener to remove. + */ + public void removeListener(IMXEventListener listener) { + if (isAlive() && (null != listener)) { + synchronized (mMxEventDispatcher) { + mMxEventDispatcher.removeListener(listener); + } + } + } + + /** + * Clear the instance data. + */ + public void clear() { + synchronized (mMxEventDispatcher) { + mIsAlive = false; + // remove any listener + mMxEventDispatcher.clearListeners(); + } + + // clear the store + mStore.close(); + mStore.clear(); + } + + /** + * @return the current user id. + */ + public String getUserId() { + if (isAlive()) { + return mCredentials.userId; + } else { + return "dummy"; + } + } + + /** + * Update the missing data fields loaded from a permanent storage. + */ + void checkPermanentStorageData() { + if (!isAlive()) { + Log.e(LOG_TAG, "checkPermanentStorageData : the session is not anymore active"); + return; + } + + // When the data are extracted from a persistent storage, + // some fields are not retrieved : + // They are used to retrieve some data + // so add the missing links. + Collection summaries = mStore.getSummaries(); + for (RoomSummary summary : summaries) { + if (null != summary.getLatestRoomState()) { + summary.getLatestRoomState().setDataHandler(this); + } + } + } + + + /** + * @return the used store. + */ + public IMXStore getStore() { + if (isAlive()) { + return mStore; + } else { + Log.e(LOG_TAG, "getStore : the session is not anymore active"); + return null; + } + } + + /** + * Provides the store in which the room is stored. + * + * @param roomId the room id + * @return the used store + */ + public IMXStore getStore(String roomId) { + if (isAlive()) { + if (null == roomId) { + return mStore; + } else { + if (null != mLeftRoomsStore.getRoom(roomId)) { + return mLeftRoomsStore; + } else { + return mStore; + } + } + } else { + Log.e(LOG_TAG, "getStore : the session is not anymore active"); + return null; + } + } + + /** + * Returns the member with userID; + * + * @param members the members List + * @param userID the user ID + * @return the roomMember if it exists. + */ + public RoomMember getMember(Collection members, String userID) { + if (isAlive()) { + for (RoomMember member : members) { + if (TextUtils.equals(userID, member.getUserId())) { + return member; + } + } + } else { + Log.e(LOG_TAG, "getMember : the session is not anymore active"); + } + return null; + } + + /** + * Check a room exists with the dedicated roomId + * + * @param roomId the room ID + * @return true it exists. + */ + public boolean doesRoomExist(String roomId) { + return (null != roomId) && (null != mStore.getRoom(roomId)); + } + + /** + * @return the left rooms + */ + public Collection getLeftRooms() { + return new ArrayList<>(mLeftRoomsStore.getRooms()); + } + + /** + * Get the room object for the corresponding room id. Creates and initializes the object if there is none. + * + * @param roomId the room id + * @return the corresponding room + */ + public Room getRoom(String roomId) { + return getRoom(roomId, true); + } + + /** + * Get the room object for the corresponding room id. + * The left rooms are not included. + * + * @param roomId the room id + * @param create create the room it does not exist. + * @return the corresponding room + */ + public Room getRoom(String roomId, boolean create) { + return getRoom(mStore, roomId, create); + } + + /** + * Get the room object for the corresponding room id. + * By default, the left rooms are not included. + * + * @param roomId the room id + * @param testLeftRooms true to test if the room is a left room + * @param create create the room it does not exist. + * @return the corresponding room + */ + public Room getRoom(String roomId, boolean testLeftRooms, boolean create) { + Room room = null; + + if (null != roomId) { + room = mStore.getRoom(roomId); + + if ((null == room) && testLeftRooms) { + room = mLeftRoomsStore.getRoom(roomId); + } + + if ((null == room) && create) { + room = getRoom(mStore, roomId, create); + } + } + + return room; + } + + /** + * Get the room object from the corresponding room id. + * + * @param store the dedicated store + * @param roomId the room id + * @param create create the room it does not exist. + * @return the corresponding room + */ + public Room getRoom(IMXStore store, String roomId, boolean create) { + if (!isAlive()) { + Log.e(LOG_TAG, "getRoom : the session is not anymore active"); + return null; + } + + // sanity check + if (TextUtils.isEmpty(roomId)) { + return null; + } + + Room room; + + synchronized (this) { + room = store.getRoom(roomId); + if ((room == null) && create) { + Log.d(LOG_TAG, "## getRoom() : create the room " + roomId); + room = new Room(this, store, roomId); + store.storeRoom(room); + } else if ((null != room) && (null == room.getDataHandler())) { + // GA reports that some rooms have no data handler + // so ensure that it is not properly set + Log.e(LOG_TAG, "getRoom " + roomId + " was not initialized"); + store.storeRoom(room); + } + } + + return room; + } + + /** + * Provides the room summaries list. + * + * @param withLeftOnes set to true to include the left rooms + * @return the room summaries + */ + public Collection getSummaries(boolean withLeftOnes) { + List summaries = new ArrayList<>(); + + summaries.addAll(getStore().getSummaries()); + + if (withLeftOnes) { + summaries.addAll(mLeftRoomsStore.getSummaries()); + } + + return summaries; + } + + /** + * Retrieve a room Id by its alias. + * + * @param roomAlias the room alias + * @param callback the asynchronous callback + */ + public void roomIdByAlias(final String roomAlias, final ApiCallback callback) { + String roomId = null; + + Collection rooms = getStore().getRooms(); + + for (Room room : rooms) { + if (TextUtils.equals(room.getState().getCanonicalAlias(), roomAlias)) { + roomId = room.getRoomId(); + break; + } else { + // getAliases cannot be null + List aliases = room.getState().getAliases(); + + for (String alias : aliases) { + if (TextUtils.equals(alias, roomAlias)) { + roomId = room.getRoomId(); + break; + } + } + + // find one matched room id. + if (null != roomId) { + break; + } + } + } + + if (null != roomId) { + final String fRoomId = roomId; + + Handler handler = new Handler(Looper.getMainLooper()); + + handler.post(new Runnable() { + @Override + public void run() { + callback.onSuccess(fRoomId); + } + }); + } else { + mRoomsRestClient.getRoomIdByAlias(roomAlias, new SimpleApiCallback(callback) { + @Override + public void onSuccess(RoomAliasDescription info) { + callback.onSuccess(info.room_id); + } + }); + } + + } + + /** + * Get the members of a Room with a request to the server. it will exclude the members who has left the room + * + * @param roomId the id of the room + * @param callback the callback + */ + public void getMembersAsync(final String roomId, final ApiCallback> callback) { + mRoomsRestClient.getRoomMembers(roomId, getStore().getEventStreamToken(), null, RoomMember.MEMBERSHIP_LEAVE, + new SimpleApiCallback(callback) { + @Override + public void onSuccess(ChunkEvents info) { + Room room = getRoom(roomId); + + if (info.chunk != null) { + for (Event event : info.chunk) { + room.getState().applyState(getStore(), event, EventTimeline.Direction.FORWARDS); + } + } + + callback.onSuccess(room.getState().getLoadedMembers()); + } + }); + } + + /** + * Delete an event. + * + * @param event The event to be stored. + */ + public void deleteRoomEvent(Event event) { + if (isAlive()) { + Room room = getRoom(event.roomId); + + if (null != room) { + mStore.deleteEvent(event); + Event lastEvent = mStore.getLatestEvent(event.roomId); + RoomState beforeLiveRoomState = room.getState().deepCopy(); + + RoomSummary summary = mStore.getSummary(event.roomId); + if (null == summary) { + summary = new RoomSummary(null, lastEvent, beforeLiveRoomState, mCredentials.userId); + } else { + summary.setLatestReceivedEvent(lastEvent, beforeLiveRoomState); + } + + if (TextUtils.equals(summary.getReadReceiptEventId(), event.eventId)) { + summary.setReadReceiptEventId(lastEvent.eventId); + } + + if (TextUtils.equals(summary.getReadMarkerEventId(), event.eventId)) { + summary.setReadMarkerEventId(lastEvent.eventId); + } + + mStore.storeSummary(summary); + } + } else { + Log.e(LOG_TAG, "deleteRoomEvent : the session is not anymore active"); + } + } + + /** + * Return an user from his id. + * + * @param userId the user id;. + * @return the user. + */ + public User getUser(String userId) { + if (!isAlive()) { + Log.e(LOG_TAG, "getUser : the session is not anymore active"); + return null; + } else { + User user = mStore.getUser(userId); + + if (null == user) { + user = mLeftRoomsStore.getUser(userId); + } + + return user; + } + } + + //================================================================================ + // Account Data management + //================================================================================ + + /** + * Manage the sync accountData field + * + * @param accountData the account data + * @param isInitialSync true if it is an initial sync response + */ + private void manageAccountData(Map accountData, boolean isInitialSync) { + try { + if (accountData.containsKey("events")) { + List> events = (List>) accountData.get("events"); + + if (!events.isEmpty()) { + // ignored users list + manageIgnoredUsers(events, isInitialSync); + // push rules + managePushRulesUpdate(events); + // direct messages rooms + manageDirectChatRooms(events, isInitialSync); + // URL preview + manageUrlPreview(events); + // User widgets + manageUserWidgets(events); + } + } + } catch (Exception e) { + Log.e(LOG_TAG, "manageAccountData failed " + e.getMessage(), e); + } + } + + /** + * Refresh the push rules from the account data events list + * + * @param events the account data events. + */ + private void managePushRulesUpdate(List> events) { + for (Map event : events) { + String type = (String) event.get("type"); + + if (TextUtils.equals(type, "m.push_rules")) { + if (event.containsKey("content")) { + Gson gson = JsonUtils.getGson(false); + + // convert the data to PushRulesResponse + // because BingRulesManager supports only PushRulesResponse + JsonElement element = gson.toJsonTree(event.get("content")); + getBingRulesManager().buildRules(gson.fromJson(element, PushRulesResponse.class)); + + // warn the client that the push rules have been updated + onBingRulesUpdate(); + } + + return; + } + } + } + + /** + * Check if the ignored users list is updated + * + * @param events the account data events list + */ + private void manageIgnoredUsers(List> events, boolean isInitialSync) { + List newIgnoredUsers = ignoredUsers(events); + + if (null != newIgnoredUsers) { + List curIgnoredUsers = getIgnoredUserIds(); + + // the both lists are not empty + if ((0 != newIgnoredUsers.size()) || (0 != curIgnoredUsers.size())) { + // check if the ignored users list has been updated + if ((newIgnoredUsers.size() != curIgnoredUsers.size()) || !newIgnoredUsers.containsAll(curIgnoredUsers)) { + // update the store + mStore.setIgnoredUserIdsList(newIgnoredUsers); + mIgnoredUserIdsList = newIgnoredUsers; + + if (!isInitialSync) { + // warn there is an update + onIgnoredUsersListUpdate(); + } + } + } + } + } + + /** + * Extract the ignored users list from the account data events list.. + * + * @param events the account data events list. + * @return the ignored users list. null means that there is no defined user ids list. + */ + private List ignoredUsers(List> events) { + List ignoredUsers = null; + + if (0 != events.size()) { + for (Map event : events) { + String type = (String) event.get("type"); + + if (TextUtils.equals(type, AccountDataRestClient.ACCOUNT_DATA_TYPE_IGNORED_USER_LIST)) { + if (event.containsKey("content")) { + Map contentDict = (Map) event.get("content"); + + if (contentDict.containsKey(AccountDataRestClient.ACCOUNT_DATA_KEY_IGNORED_USERS)) { + Map ignored_users = (Map) contentDict.get(AccountDataRestClient.ACCOUNT_DATA_KEY_IGNORED_USERS); + + if (null != ignored_users) { + ignoredUsers = new ArrayList<>(ignored_users.keySet()); + } + } + } + } + } + + } + + return ignoredUsers; + } + + + /** + * Extract the direct chat rooms list from the dedicated events. + * + * @param events the account data events list. + */ + private void manageDirectChatRooms(List> events, boolean isInitialSync) { + if (0 != events.size()) { + for (Map event : events) { + String type = (String) event.get("type"); + + if (TextUtils.equals(type, AccountDataRestClient.ACCOUNT_DATA_TYPE_DIRECT_MESSAGES)) { + if (event.containsKey("content")) { + Map> contentDict = (Map>) event.get("content"); + + Log.d(LOG_TAG, "## manageDirectChatRooms() : update direct chats map" + contentDict); + + mStore.setDirectChatRoomsDict(contentDict); + + // reset the current list of the direct chat roomIDs + // to update it + mLocalDirectChatRoomIdsList = null; + + if (!isInitialSync) { + // warn there is an update + onDirectMessageChatRoomsListUpdate(); + } + } + } + } + } + } + + /** + * Manage the URL preview flag + * + * @param events the events list + */ + private void manageUrlPreview(List> events) { + if (0 != events.size()) { + for (Map event : events) { + String type = (String) event.get("type"); + + if (TextUtils.equals(type, AccountDataRestClient.ACCOUNT_DATA_TYPE_PREVIEW_URLS)) { + if (event.containsKey("content")) { + Map contentDict = (Map) event.get("content"); + + Log.d(LOG_TAG, "## manageUrlPreview() : " + contentDict); + boolean enable = true; + if (contentDict.containsKey(AccountDataRestClient.ACCOUNT_DATA_KEY_URL_PREVIEW_DISABLE)) { + enable = !((boolean) contentDict.get(AccountDataRestClient.ACCOUNT_DATA_KEY_URL_PREVIEW_DISABLE)); + } + + mStore.setURLPreviewEnabled(enable); + } + } + } + } + } + + /** + * Manage the user widgets + * + * @param events the events list + */ + private void manageUserWidgets(List> events) { + if (0 != events.size()) { + for (Map event : events) { + String type = (String) event.get("type"); + + if (TextUtils.equals(type, AccountDataRestClient.ACCOUNT_DATA_TYPE_WIDGETS)) { + if (event.containsKey("content")) { + Map contentDict = (Map) event.get("content"); + + Log.d(LOG_TAG, "## manageUserWidgets() : " + contentDict); + + mStore.setUserWidgets(contentDict); + } + } + } + } + } + + //================================================================================ + // Sync V2 + //================================================================================ + + /** + * Handle a presence event. + * + * @param presenceEvent the presence event. + */ + private void handlePresenceEvent(Event presenceEvent) { + // Presence event + if (Event.EVENT_TYPE_PRESENCE.equals(presenceEvent.getType())) { + User userPresence = JsonUtils.toUser(presenceEvent.getContent()); + + // use the sender by default + if (!TextUtils.isEmpty(presenceEvent.getSender())) { + userPresence.user_id = presenceEvent.getSender(); + } + + User user = mStore.getUser(userPresence.user_id); + + if (user == null) { + user = userPresence; + user.setDataHandler(this); + } else { + user.currently_active = userPresence.currently_active; + user.presence = userPresence.presence; + user.lastActiveAgo = userPresence.lastActiveAgo; + } + + user.setLatestPresenceTs(System.currentTimeMillis()); + + // check if the current user has been updated + if (mCredentials.userId.equals(user.user_id)) { + // always use the up-to-date information + getMyUser().displayname = user.displayname; + getMyUser().avatar_url = user.getAvatarUrl(); + + mStore.setAvatarURL(user.getAvatarUrl(), presenceEvent.getOriginServerTs()); + mStore.setDisplayName(user.displayname, presenceEvent.getOriginServerTs()); + } + + mStore.storeUser(user); + onPresenceUpdate(presenceEvent, user); + } + } + + /** + * Manage a syncResponse. + * + * @param syncResponse the syncResponse to manage. + * @param fromToken the start sync token + * @param isCatchingUp true when there is a pending catch-up + */ + public void onSyncResponse(final SyncResponse syncResponse, final String fromToken, final boolean isCatchingUp) { + manageResponse(syncResponse, fromToken, isCatchingUp); + } + + /** + * Delete a room from its room id. + * The room data is copied into the left rooms store. + * + * @param roomId the room id + */ + public void deleteRoom(String roomId) { + // copy the room from a store to another one + Room r = getStore().getRoom(roomId); + + if (null != r) { + if (mAreLeftRoomsSynced) { + Room leftRoom = getRoom(mLeftRoomsStore, roomId, true); + leftRoom.setIsLeft(true); + + // copy the summary + RoomSummary summary = getStore().getSummary(roomId); + if (null != summary) { + mLeftRoomsStore.storeSummary(new RoomSummary(summary, summary.getLatestReceivedEvent(), summary.getLatestRoomState(), getUserId())); + } + + // copy events and receiptData + // it is not required but it is better, it could be useful later + // the room summary should be enough to be displayed in the recent pages + List receipts = new ArrayList<>(); + Collection events = getStore().getRoomMessages(roomId); + + if (null != events) { + for (Event e : events) { + receipts.addAll(getStore().getEventReceipts(roomId, e.eventId, false, false)); + mLeftRoomsStore.storeLiveRoomEvent(e); + } + + for (ReceiptData receipt : receipts) { + mLeftRoomsStore.storeReceipt(receipt, roomId); + } + } + + // copy the state + leftRoom.getTimeline().setState(r.getTimeline().getState()); + } + + // remove the previous definition + getStore().deleteRoom(roomId); + } + } + + /** + * Manage the sync response in a background thread. + * + * @param syncResponse the syncResponse to manage. + * @param fromToken the start sync token + * @param isCatchingUp true when there is a pending catch-up + */ + public void manageResponse(final SyncResponse syncResponse, final String fromToken, final boolean isCatchingUp) { + if (!isAlive()) { + Log.e(LOG_TAG, "manageResponse : ignored because the session has been closed"); + return; + } + + boolean isInitialSync = (null == fromToken); + boolean isEmptyResponse = true; + + // sanity check + if (null != syncResponse) { + Log.d(LOG_TAG, "onSyncComplete"); + + // Handle the to device events before the room ones + // to ensure to decrypt them properly + if ((null != syncResponse.toDevice) + && (null != syncResponse.toDevice.events) + && (syncResponse.toDevice.events.size() > 0)) { + Log.d(LOG_TAG, "manageResponse : receives " + syncResponse.toDevice.events.size() + " toDevice events"); + + for (Event toDeviceEvent : syncResponse.toDevice.events) { + handleToDeviceEvent(toDeviceEvent); + } + } + + // Handle account data before the room events + // to be able to update direct chats dictionary during invites handling. + if (null != syncResponse.accountData) { + Log.d(LOG_TAG, "Received " + syncResponse.accountData.size() + " accountData events"); + manageAccountData(syncResponse.accountData, isInitialSync); + } + + // sanity check + if (null != syncResponse.rooms) { + // joined rooms events + if ((null != syncResponse.rooms.join) && (syncResponse.rooms.join.size() > 0)) { + Log.d(LOG_TAG, "Received " + syncResponse.rooms.join.size() + " joined rooms"); + if (mMetricsListener != null) { + mMetricsListener.onRoomsLoaded(syncResponse.rooms.join.size()); + } + Set roomIds = syncResponse.rooms.join.keySet(); + // Handle first joined rooms + for (String roomId : roomIds) { + try { + if (null != mLeftRoomsStore.getRoom(roomId)) { + Log.d(LOG_TAG, "the room " + roomId + " moves from left to the joined ones"); + mLeftRoomsStore.deleteRoom(roomId); + } + + getRoom(roomId).handleJoinedRoomSync(syncResponse.rooms.join.get(roomId), isInitialSync); + } catch (Exception e) { + Log.e(LOG_TAG, "## manageResponse() : handleJoinedRoomSync failed " + e.getMessage() + " for room " + roomId, e); + } + } + + isEmptyResponse = false; + } + + // invited room management + if ((null != syncResponse.rooms.invite) && (syncResponse.rooms.invite.size() > 0)) { + Log.d(LOG_TAG, "Received " + syncResponse.rooms.invite.size() + " invited rooms"); + + Set roomIds = syncResponse.rooms.invite.keySet(); + + Map> updatedDirectChatRoomsDict = null; + boolean hasChanged = false; + + for (String roomId : roomIds) { + try { + Log.d(LOG_TAG, "## manageResponse() : the user has been invited to " + roomId); + + if (null != mLeftRoomsStore.getRoom(roomId)) { + Log.d(LOG_TAG, "the room " + roomId + " moves from left to the invited ones"); + mLeftRoomsStore.deleteRoom(roomId); + } + + Room room = getRoom(roomId); + InvitedRoomSync invitedRoomSync = syncResponse.rooms.invite.get(roomId); + + room.handleInvitedRoomSync(invitedRoomSync); + + // Handle here the invites to a direct chat. + if (room.isDirectChatInvitation()) { + // Retrieve the inviter user id. + String participantUserId = null; + for (Event event : invitedRoomSync.inviteState.events) { + if (null != event.sender) { + participantUserId = event.sender; + break; + } + } + + if (null != participantUserId) { + // Prepare the updated dictionary. + if (null == updatedDirectChatRoomsDict) { + if (null != getStore().getDirectChatRoomsDict()) { + // Consider the current dictionary. + updatedDirectChatRoomsDict = new HashMap<>(getStore().getDirectChatRoomsDict()); + } else { + updatedDirectChatRoomsDict = new HashMap<>(); + } + } + + List roomIdsList; + if (updatedDirectChatRoomsDict.containsKey(participantUserId)) { + roomIdsList = new ArrayList<>(updatedDirectChatRoomsDict.get(participantUserId)); + } else { + roomIdsList = new ArrayList<>(); + } + + // Check whether the room was not yet seen as direct chat + if (roomIdsList.indexOf(roomId) < 0) { + Log.d(LOG_TAG, "## manageResponse() : add this new invite in direct chats"); + + roomIdsList.add(roomId); // update room list with the new room + updatedDirectChatRoomsDict.put(participantUserId, roomIdsList); + hasChanged = true; + } + } + } + } catch (Exception e) { + Log.e(LOG_TAG, "## manageResponse() : handleInvitedRoomSync failed " + e.getMessage() + " for room " + roomId, e); + } + } + + isEmptyResponse = false; + + if (hasChanged) { + // Update account data to add new direct chat room(s) + mAccountDataRestClient.setAccountData(mCredentials.userId, AccountDataRestClient.ACCOUNT_DATA_TYPE_DIRECT_MESSAGES, + updatedDirectChatRoomsDict, new ApiCallback() { + @Override + public void onSuccess(Void info) { + Log.d(LOG_TAG, "## manageResponse() : succeeds"); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## manageResponse() : update account data failed " + e.getMessage(), e); + // TODO: we should try again. + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## manageResponse() : update account data failed " + e.getMessage()); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## manageResponse() : update account data failed " + e.getMessage(), e); + } + }); + } + } + + // left room management + // it should be done at the end but it seems there is a server issue + // when inviting after leaving a room, the room is defined in the both leave & invite rooms list. + if ((null != syncResponse.rooms.leave) && (syncResponse.rooms.leave.size() > 0)) { + Log.d(LOG_TAG, "Received " + syncResponse.rooms.leave.size() + " left rooms"); + + Set roomIds = syncResponse.rooms.leave.keySet(); + + for (String roomId : roomIds) { + // RoomSync leftRoomSync = syncResponse.rooms.leave.get(roomId); + + // Presently we remove the existing room from the rooms list. + // FIXME SYNC V2 Archive/Display the left rooms! + // For that create 'handleArchivedRoomSync' method + + String membership = RoomMember.MEMBERSHIP_LEAVE; + Room room = getRoom(roomId); + + // Retrieve existing room + // check if the room still exists. + if (null != room) { + // use 'handleJoinedRoomSync' to pass the last events to the room before leaving it. + // The room will then be able to notify its listeners. + room.handleJoinedRoomSync(syncResponse.rooms.leave.get(roomId), isInitialSync); + + RoomMember member = room.getMember(getUserId()); + if (null != member) { + membership = member.membership; + } + + Log.d(LOG_TAG, "## manageResponse() : leave the room " + roomId); + } + + if (!TextUtils.equals(membership, RoomMember.MEMBERSHIP_KICK) && !TextUtils.equals(membership, RoomMember.MEMBERSHIP_BAN)) { + // ensure that the room data are properly deleted + getStore().deleteRoom(roomId); + onLeaveRoom(roomId); + } else { + onRoomKick(roomId); + } + + // don't add to the left rooms if the user has been kicked / banned + if ((mAreLeftRoomsSynced) && TextUtils.equals(membership, RoomMember.MEMBERSHIP_LEAVE)) { + Room leftRoom = getRoom(mLeftRoomsStore, roomId, true); + leftRoom.handleJoinedRoomSync(syncResponse.rooms.leave.get(roomId), isInitialSync); + } + } + + isEmptyResponse = false; + } + } + + // groups + if (null != syncResponse.groups) { + // Handle invited groups + if ((null != syncResponse.groups.invite) && !syncResponse.groups.invite.isEmpty()) { + // Handle invited groups + for (String groupId : syncResponse.groups.invite.keySet()) { + InvitedGroupSync invitedGroupSync = syncResponse.groups.invite.get(groupId); + mGroupsManager.onNewGroupInvitation(groupId, invitedGroupSync.profile, invitedGroupSync.inviter, !isInitialSync); + } + } + + // Handle joined groups + if ((null != syncResponse.groups.join) && !syncResponse.groups.join.isEmpty()) { + for (String groupId : syncResponse.groups.join.keySet()) { + mGroupsManager.onJoinGroup(groupId, !isInitialSync); + } + } + // Handle left groups + if ((null != syncResponse.groups.leave) && !syncResponse.groups.leave.isEmpty()) { + // Handle joined groups + for (String groupId : syncResponse.groups.leave.keySet()) { + mGroupsManager.onLeaveGroup(groupId, !isInitialSync); + } + } + } + + // Handle presence of other users + if ((null != syncResponse.presence) && (null != syncResponse.presence.events)) { + Log.d(LOG_TAG, "Received " + syncResponse.presence.events.size() + " presence events"); + for (Event presenceEvent : syncResponse.presence.events) { + handlePresenceEvent(presenceEvent); + } + } + + if (null != mCrypto) { + mCrypto.onSyncCompleted(syncResponse, fromToken, isCatchingUp); + } + + IMXStore store = getStore(); + + if (!isEmptyResponse && (null != store)) { + store.setEventStreamToken(syncResponse.nextBatch); + store.commit(); + } + } + + if (isInitialSync) { + if (!isCatchingUp) { + startCrypto(true); + } else { + // the events thread sends a dummy initial sync event + // when the application is restarted. + mIsStartingCryptoWithInitialSync = !isEmptyResponse; + } + + onInitialSyncComplete((null != syncResponse) ? syncResponse.nextBatch : null); + } else { + + if (!isCatchingUp) { + startCrypto(mIsStartingCryptoWithInitialSync); + } + + try { + onLiveEventsChunkProcessed(fromToken, (null != syncResponse) ? syncResponse.nextBatch : fromToken); + } catch (Exception e) { + Log.e(LOG_TAG, "onLiveEventsChunkProcessed failed " + e.getMessage(), e); + } + + try { + // check if an incoming call has been received + mCallsManager.checkPendingIncomingCalls(); + } catch (Exception e) { + Log.e(LOG_TAG, "checkPendingIncomingCalls failed " + e + " " + e.getMessage(), e); + } + } + } + + /** + * Refresh the unread summary counters of the updated rooms. + */ + private void refreshUnreadCounters() { + Set roomIdsList; + + synchronized (mUpdatedRoomIdList) { + roomIdsList = new HashSet<>(mUpdatedRoomIdList); + mUpdatedRoomIdList.clear(); + } + // refresh the unread counter + for (String roomId : roomIdsList) { + Room room = mStore.getRoom(roomId); + + if (null != room) { + room.refreshUnreadCounter(); + } + } + } + + /** + * @return true if the historical rooms loaded + */ + public boolean areLeftRoomsSynced() { + return mAreLeftRoomsSynced; + } + + /** + * @return true if the left rooms are retrieving + */ + public boolean isRetrievingLeftRooms() { + return mIsRetrievingLeftRooms; + } + + /** + * Release the left rooms store + */ + public void releaseLeftRooms() { + if (mAreLeftRoomsSynced) { + mLeftRoomsStore.clear(); + mAreLeftRoomsSynced = false; + } + } + + /** + * Retrieve the historical rooms + * + * @param callback the asynchronous callback. + */ + public void retrieveLeftRooms(ApiCallback callback) { + // already loaded + if (mAreLeftRoomsSynced) { + if (null != callback) { + callback.onSuccess(null); + } + } else { + int count; + + synchronized (mLeftRoomsRefreshCallbacks) { + if (null != callback) { + mLeftRoomsRefreshCallbacks.add(callback); + } + count = mLeftRoomsRefreshCallbacks.size(); + } + + // start the request only for the first listener + if (1 == count) { + mIsRetrievingLeftRooms = true; + + Log.d(LOG_TAG, "## refreshHistoricalRoomsList() : requesting"); + + mEventsRestClient.syncFromToken(null, 0, 30000, null, LEFT_ROOMS_FILTER, new ApiCallback() { + @Override + public void onSuccess(final SyncResponse syncResponse) { + + Runnable r = new Runnable() { + @Override + public void run() { + if (null != syncResponse.rooms.leave) { + Set roomIds = syncResponse.rooms.leave.keySet(); + + // Handle first joined rooms + for (String roomId : roomIds) { + Room room = getRoom(mLeftRoomsStore, roomId, true); + + // sanity check + if (null != room) { + room.setIsLeft(true); + room.handleJoinedRoomSync(syncResponse.rooms.leave.get(roomId), true); + + RoomMember selfMember = room.getState().getMember(getUserId()); + + // keep only the left rooms (i.e not the banned / kicked ones) + if ((null == selfMember) || !TextUtils.equals(selfMember.membership, RoomMember.MEMBERSHIP_LEAVE)) { + mLeftRoomsStore.deleteRoom(roomId); + } + } + } + + Log.d(LOG_TAG, "## refreshHistoricalRoomsList() : " + mLeftRoomsStore.getRooms().size() + " left rooms"); + } + + mIsRetrievingLeftRooms = false; + mAreLeftRoomsSynced = true; + + synchronized (mLeftRoomsRefreshCallbacks) { + for (ApiCallback c : mLeftRoomsRefreshCallbacks) { + c.onSuccess(null); + } + mLeftRoomsRefreshCallbacks.clear(); + } + } + }; + + Thread t = new Thread(r); + t.setPriority(Thread.MIN_PRIORITY); + t.start(); + } + + @Override + public void onNetworkError(Exception e) { + synchronized (mLeftRoomsRefreshCallbacks) { + Log.e(LOG_TAG, "## refreshHistoricalRoomsList() : failed " + e.getMessage(), e); + + for (ApiCallback c : mLeftRoomsRefreshCallbacks) { + c.onNetworkError(e); + } + mLeftRoomsRefreshCallbacks.clear(); + } + } + + @Override + public void onMatrixError(MatrixError e) { + synchronized (mLeftRoomsRefreshCallbacks) { + Log.e(LOG_TAG, "## refreshHistoricalRoomsList() : failed " + e.getMessage()); + + for (ApiCallback c : mLeftRoomsRefreshCallbacks) { + c.onMatrixError(e); + } + mLeftRoomsRefreshCallbacks.clear(); + } + } + + @Override + public void onUnexpectedError(Exception e) { + synchronized (mLeftRoomsRefreshCallbacks) { + Log.e(LOG_TAG, "## refreshHistoricalRoomsList() : failed " + e.getMessage(), e); + + for (ApiCallback c : mLeftRoomsRefreshCallbacks) { + c.onUnexpectedError(e); + } + mLeftRoomsRefreshCallbacks.clear(); + } + } + }); + } + } + } + + /* + * Handle a 'toDevice' event + * @param event the event + */ + private void handleToDeviceEvent(Event event) { + // Decrypt event if necessary + decryptEvent(event, null); + + if (TextUtils.equals(event.getType(), Event.EVENT_TYPE_MESSAGE) + && (null != event.getContent()) + && TextUtils.equals(JsonUtils.getMessageMsgType(event.getContent()), "m.bad.encrypted")) { + Log.e(LOG_TAG, "## handleToDeviceEvent() : Warning: Unable to decrypt to-device event : " + event.getContent()); + } else { + onToDeviceEvent(event); + } + } + + /** + * Decrypt an encrypted event + * + * @param event the event to decrypt + * @param timelineId the timeline identifier + * @return true if the event has been decrypted + */ + public boolean decryptEvent(Event event, String timelineId) { + if ((null != event) && TextUtils.equals(event.getType(), Event.EVENT_TYPE_MESSAGE_ENCRYPTED)) { + if (null != getCrypto()) { + MXEventDecryptionResult result = null; + try { + result = getCrypto().decryptEvent(event, timelineId); + } catch (MXDecryptionException exception) { + event.setCryptoError(exception.getCryptoError()); + } + + if (null != result) { + event.setClearData(result); + return true; + } + } else { + event.setCryptoError(new MXCryptoError(MXCryptoError.ENCRYPTING_NOT_ENABLED_ERROR_CODE, MXCryptoError.ENCRYPTING_NOT_ENABLED_REASON, null)); + } + } + + return false; + } + + /** + * Reset replay attack data for the given timeline. + * + * @param timelineId the timeline id + */ + public void resetReplayAttackCheckInTimeline(String timelineId) { + if ((null != timelineId) && (null != mCrypto) && (null != mCrypto.getOlmDevice())) { + mCrypto.resetReplayAttackCheckInTimeline(timelineId); + } + } + + //================================================================================ + // Listeners management + //================================================================================ + + /** + * Dispatch that the store is ready. + */ + public void onStoreReady() { + mMxEventDispatcher.dispatchOnStoreReady(); + } + + public void onAccountInfoUpdate(final MyUser myUser) { + mMxEventDispatcher.dispatchOnAccountInfoUpdate(myUser); + } + + public void onPresenceUpdate(final Event event, final User user) { + mMxEventDispatcher.dispatchOnPresenceUpdate(event, user); + } + + /** + * Stored the room id of the rooms which have received some events + * which imply an unread messages counter refresh. + */ + private final Set mUpdatedRoomIdList = new HashSet<>(); + + /** + * Tell if a room Id event should be ignored + * + * @param roomId the room id + * @return true to do not dispatch the event. + */ + private boolean ignoreEvent(String roomId) { + if (mIsRetrievingLeftRooms && !TextUtils.isEmpty(roomId)) { + return null != mLeftRoomsStore.getRoom(roomId); + } else { + return false; + } + } + + public void onLiveEvent(final Event event, final RoomState roomState) { + if (ignoreEvent(event.roomId)) { + return; + } + + String type = event.getType(); + + if (!TextUtils.equals(Event.EVENT_TYPE_TYPING, type) + && !TextUtils.equals(Event.EVENT_TYPE_RECEIPT, type) + && !TextUtils.equals(Event.EVENT_TYPE_TYPING, type)) { + synchronized (mUpdatedRoomIdList) { + mUpdatedRoomIdList.add(roomState.roomId); + } + } + + mMxEventDispatcher.dispatchOnLiveEvent(event, roomState); + } + + public void onLiveEventsChunkProcessed(final String startToken, final String toToken) { + // reset the resource limit exceeded error + mResourceLimitExceededError = null; + + refreshUnreadCounters(); + + mMxEventDispatcher.dispatchOnLiveEventsChunkProcessed(startToken, toToken); + } + + public void onBingEvent(final Event event, final RoomState roomState, final BingRule bingRule) { + mMxEventDispatcher.dispatchOnBingEvent(event, roomState, bingRule, ignoreEvent(event.roomId)); + } + + /** + * Update the event state and warn the listener if there is an update. + * + * @param event the event + * @param newState the new state + */ + public void updateEventState(Event event, Event.SentState newState) { + if ((null != event) && (event.mSentState != newState)) { + event.mSentState = newState; + getStore().flushRoomEvents(event.roomId); + onEventSentStateUpdated(event); + } + } + + public void onEventSentStateUpdated(final Event event) { + mMxEventDispatcher.dispatchOnEventSentStateUpdated(event, ignoreEvent(event.roomId)); + } + + public void onEventSent(final Event event, final String prevEventId) { + mMxEventDispatcher.dispatchOnEventSent(event, prevEventId, ignoreEvent(event.roomId)); + } + + public void onBingRulesUpdate() { + mMxEventDispatcher.dispatchOnBingRulesUpdate(); + } + + /** + * Start the crypto + */ + private void startCrypto(final boolean isInitialSync) { + if ((null != getCrypto()) && !getCrypto().isStarted() && !getCrypto().isStarting()) { + getCrypto().setNetworkConnectivityReceiver(mNetworkConnectivityReceiver); + getCrypto().start(isInitialSync, new ApiCallback() { + @Override + public void onSuccess(Void info) { + onCryptoSyncComplete(); + } + + private void onError(String errorMessage) { + Log.e(LOG_TAG, "## onInitialSyncComplete() : getCrypto().start fails " + errorMessage); + } + + @Override + public void onNetworkError(Exception e) { + onError(e.getMessage()); + } + + @Override + public void onMatrixError(MatrixError e) { + onError(e.getMessage()); + } + + @Override + public void onUnexpectedError(Exception e) { + onError(e.getMessage()); + } + }); + } + } + + public void onInitialSyncComplete(String toToken) { + mInitialSyncToToken = toToken; + + refreshUnreadCounters(); + + mMxEventDispatcher.dispatchOnInitialSyncComplete(toToken); + } + + public void onSyncError(final MatrixError matrixError) { + // Store the resource limit exceeded error + if (MatrixError.RESOURCE_LIMIT_EXCEEDED.equals(matrixError.errcode)) { + mResourceLimitExceededError = matrixError; + } + + mMxEventDispatcher.dispatchOnSyncError(matrixError); + } + + public void onCryptoSyncComplete() { + mMxEventDispatcher.dispatchOnCryptoSyncComplete(); + } + + public void onNewRoom(final String roomId) { + mMxEventDispatcher.dispatchOnNewRoom(roomId, ignoreEvent(roomId)); + } + + public void onJoinRoom(final String roomId) { + mMxEventDispatcher.dispatchOnJoinRoom(roomId, ignoreEvent(roomId)); + } + + public void onRoomInternalUpdate(final String roomId) { + mMxEventDispatcher.dispatchOnRoomInternalUpdate(roomId, ignoreEvent(roomId)); + } + + public void onNotificationCountUpdate(final String roomId) { + mMxEventDispatcher.dispatchOnNotificationCountUpdate(roomId, ignoreEvent(roomId)); + } + + public void onLeaveRoom(final String roomId) { + mMxEventDispatcher.dispatchOnLeaveRoom(roomId, ignoreEvent(roomId)); + } + + public void onRoomKick(final String roomId) { + mMxEventDispatcher.dispatchOnRoomKick(roomId, ignoreEvent(roomId)); + } + + public void onReceiptEvent(final String roomId, final List senderIds) { + synchronized (mUpdatedRoomIdList) { + // refresh the unread counter at the end of the process chunk + mUpdatedRoomIdList.add(roomId); + } + + mMxEventDispatcher.dispatchOnReceiptEvent(roomId, senderIds, ignoreEvent(roomId)); + } + + public void onRoomTagEvent(final String roomId) { + mMxEventDispatcher.dispatchOnRoomTagEvent(roomId, ignoreEvent(roomId)); + } + + public void onReadMarkerEvent(final String roomId) { + mMxEventDispatcher.dispatchOnReadMarkerEvent(roomId, ignoreEvent(roomId)); + } + + public void onRoomFlush(final String roomId) { + mMxEventDispatcher.dispatchOnRoomFlush(roomId, ignoreEvent(roomId)); + } + + public void onIgnoredUsersListUpdate() { + mMxEventDispatcher.dispatchOnIgnoredUsersListUpdate(); + } + + public void onToDeviceEvent(final Event event) { + mMxEventDispatcher.dispatchOnToDeviceEvent(event, ignoreEvent(event.roomId)); + } + + public void onDirectMessageChatRoomsListUpdate() { + mMxEventDispatcher.dispatchOnDirectMessageChatRoomsListUpdate(); + } + + public void onEventDecrypted(final Event event) { + mMxEventDispatcher.dispatchOnEventDecrypted(event); + } + + public void onNewGroupInvitation(final String groupId) { + mMxEventDispatcher.dispatchOnNewGroupInvitation(groupId); + } + + public void onJoinGroup(final String groupId) { + mMxEventDispatcher.dispatchOnJoinGroup(groupId); + } + + public void onLeaveGroup(final String groupId) { + mMxEventDispatcher.dispatchOnLeaveGroup(groupId); + } + + public void onGroupProfileUpdate(final String groupId) { + mMxEventDispatcher.dispatchOnGroupProfileUpdate(groupId); + } + + public void onGroupRoomsListUpdate(final String groupId) { + mMxEventDispatcher.dispatchOnGroupRoomsListUpdate(groupId); + } + + public void onGroupUsersListUpdate(final String groupId) { + mMxEventDispatcher.dispatchOnGroupUsersListUpdate(groupId); + } + + public void onGroupInvitedUsersListUpdate(final String groupId) { + mMxEventDispatcher.dispatchOnGroupInvitedUsersListUpdate(groupId); + } + + /** + * @return the direct chat room ids list + */ + public List getDirectChatRoomIdsList() { + if (null != mLocalDirectChatRoomIdsList) return mLocalDirectChatRoomIdsList; + + IMXStore store = getStore(); + List directChatRoomIdsList = new ArrayList<>(); + + if (null == store) { + Log.e(LOG_TAG, "## getDirectChatRoomIdsList() : null store"); + return directChatRoomIdsList; + } + + Collection> listOfList = null; + + if (null != store.getDirectChatRoomsDict()) { + listOfList = store.getDirectChatRoomsDict().values(); + } + + // if the direct messages entry has been defined + if (null != listOfList) { + for (List list : listOfList) { + for (String roomId : list) { + // test if the room is defined once + if ((directChatRoomIdsList.indexOf(roomId) < 0)) { + directChatRoomIdsList.add(roomId); + } + } + } + } + + return mLocalDirectChatRoomIdsList = directChatRoomIdsList; + } + + /** + * Store and upload the provided direct chat rooms map. + * + * @param directChatRoomsMap the direct chats map + * @param callback the asynchronous callback + */ + public void setDirectChatRoomsMap(Map> directChatRoomsMap, ApiCallback callback) { + Log.d(LOG_TAG, "## setDirectChatRoomsMap()"); + IMXStore store = getStore(); + if (null != store) { + // update the store value + // do not wait the server request echo to update the store + store.setDirectChatRoomsDict(directChatRoomsMap); + } else { + Log.e(LOG_TAG, "## setDirectChatRoomsMap() : null store"); + } + mLocalDirectChatRoomIdsList = null; + // Upload the new map + mAccountDataRestClient.setAccountData(getMyUser().user_id, AccountDataRestClient.ACCOUNT_DATA_TYPE_DIRECT_MESSAGES, directChatRoomsMap, callback); + } + + /** + * This class defines a direct chat backward compliancyc structure + */ + private class RoomIdsListRetroCompat { + final String mRoomId; + final String mParticipantUserId; + + public RoomIdsListRetroCompat(String aParticipantUserId, String aRoomId) { + mParticipantUserId = aParticipantUserId; + mRoomId = aRoomId; + } + } + + /** + * Return the list of the direct chat room IDs for the user given in parameter.
    + * Based on the account_data map content, the entry associated with aSearchedUserId is returned. + * + * @param aSearchedUserId user ID + * @return the list of the direct chat room Id + */ + public List getDirectChatRoomIdsList(String aSearchedUserId) { + List directChatRoomIdsList = new ArrayList<>(); + IMXStore store = getStore(); + Room room; + + Map> params; + + if (null != store.getDirectChatRoomsDict()) { + params = new HashMap<>(store.getDirectChatRoomsDict()); + if (params.containsKey(aSearchedUserId)) { + directChatRoomIdsList = new ArrayList<>(); + + for (String roomId : params.get(aSearchedUserId)) { + room = store.getRoom(roomId); + if (null != room) { // skipp empty rooms + directChatRoomIdsList.add(roomId); + } + } + } else { + Log.w(LOG_TAG, "## getDirectChatRoomIdsList(): UserId " + aSearchedUserId + " has no entry in account_data"); + } + } else { + Log.w(LOG_TAG, "## getDirectChatRoomIdsList(): failure - getDirectChatRoomsDict()=null"); + } + + return directChatRoomIdsList; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/MXPatterns.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/MXPatterns.java new file mode 100644 index 00000000..4dbeb502 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/MXPatterns.java @@ -0,0 +1,138 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy; + +import android.support.annotation.Nullable; + +import java.util.Arrays; +import java.util.List; +import java.util.regex.Pattern; + +/** + * This class contains pattern to match the different Matrix ids + */ +public class MXPatterns { + + private MXPatterns() { + // Cannot be instantiated + } + + // Note: TLD is not mandatory (localhost, IP address...) + private static final String DOMAIN_REGEX = ":[A-Z0-9.-]+(:[0-9]{2,5})?"; + + // regex pattern to find matrix user ids in a string. + // See https://matrix.org/speculator/spec/HEAD/appendices.html#historical-user-ids + private static final String MATRIX_USER_IDENTIFIER_REGEX = "@[A-Z0-9\\x21-\\x39\\x3B-\\x7F]+" + DOMAIN_REGEX; + public static final Pattern PATTERN_CONTAIN_MATRIX_USER_IDENTIFIER = Pattern.compile(MATRIX_USER_IDENTIFIER_REGEX, Pattern.CASE_INSENSITIVE); + + // regex pattern to find room ids in a string. + private static final String MATRIX_ROOM_IDENTIFIER_REGEX = "![A-Z0-9]+" + DOMAIN_REGEX; + public static final Pattern PATTERN_CONTAIN_MATRIX_ROOM_IDENTIFIER = Pattern.compile(MATRIX_ROOM_IDENTIFIER_REGEX, Pattern.CASE_INSENSITIVE); + + // regex pattern to find room aliases in a string. + private static final String MATRIX_ROOM_ALIAS_REGEX = "#[A-Z0-9._%#@=+-]+" + DOMAIN_REGEX; + public static final Pattern PATTERN_CONTAIN_MATRIX_ALIAS = Pattern.compile(MATRIX_ROOM_ALIAS_REGEX, Pattern.CASE_INSENSITIVE); + + // regex pattern to find message ids in a string. + private static final String MATRIX_EVENT_IDENTIFIER_REGEX = "\\$[A-Z0-9]+" + DOMAIN_REGEX; + public static final Pattern PATTERN_CONTAIN_MATRIX_EVENT_IDENTIFIER = Pattern.compile(MATRIX_EVENT_IDENTIFIER_REGEX, Pattern.CASE_INSENSITIVE); + + // regex pattern to find group ids in a string. + private static final String MATRIX_GROUP_IDENTIFIER_REGEX = "\\+[A-Z0-9=_\\-./]+" + DOMAIN_REGEX; + public static final Pattern PATTERN_CONTAIN_MATRIX_GROUP_IDENTIFIER = Pattern.compile(MATRIX_GROUP_IDENTIFIER_REGEX, Pattern.CASE_INSENSITIVE); + + // regex pattern to find permalink with message id. + // Android does not support in URL so extract it. + private static final String PERMALINK_BASE_REGEX = "https://matrix\\.to/#/"; + private static final String APP_BASE_REGEX = "https://[A-Z0-9.-]+\\.[A-Z]{2,}/[A-Z]{3,}/#/room/"; + private static final String SEP_REGEX = "/"; + + private static final String LINK_TO_ROOM_ID_REGEXP = PERMALINK_BASE_REGEX + MATRIX_ROOM_IDENTIFIER_REGEX + SEP_REGEX + MATRIX_EVENT_IDENTIFIER_REGEX; + public static final Pattern PATTERN_CONTAIN_MATRIX_TO_PERMALINK_ROOM_ID = Pattern.compile(LINK_TO_ROOM_ID_REGEXP, Pattern.CASE_INSENSITIVE); + + private static final String LINK_TO_ROOM_ALIAS_REGEXP = PERMALINK_BASE_REGEX + MATRIX_ROOM_ALIAS_REGEX + SEP_REGEX + MATRIX_EVENT_IDENTIFIER_REGEX; + public static final Pattern PATTERN_CONTAIN_MATRIX_TO_PERMALINK_ROOM_ALIAS = Pattern.compile(LINK_TO_ROOM_ALIAS_REGEXP, Pattern.CASE_INSENSITIVE); + + private static final String LINK_TO_APP_ROOM_ID_REGEXP = APP_BASE_REGEX + MATRIX_ROOM_IDENTIFIER_REGEX + SEP_REGEX + MATRIX_EVENT_IDENTIFIER_REGEX; + public static final Pattern PATTERN_CONTAIN_APP_LINK_PERMALINK_ROOM_ID = Pattern.compile(LINK_TO_APP_ROOM_ID_REGEXP, Pattern.CASE_INSENSITIVE); + + private static final String LINK_TO_APP_ROOM_ALIAS_REGEXP = APP_BASE_REGEX + MATRIX_ROOM_ALIAS_REGEX + SEP_REGEX + MATRIX_EVENT_IDENTIFIER_REGEX; + public static final Pattern PATTERN_CONTAIN_APP_LINK_PERMALINK_ROOM_ALIAS = Pattern.compile(LINK_TO_APP_ROOM_ALIAS_REGEXP, Pattern.CASE_INSENSITIVE); + + // list of patterns to find some matrix item. + public static final List MATRIX_PATTERNS = Arrays.asList( + MXPatterns.PATTERN_CONTAIN_MATRIX_TO_PERMALINK_ROOM_ID, + MXPatterns.PATTERN_CONTAIN_MATRIX_TO_PERMALINK_ROOM_ALIAS, + MXPatterns.PATTERN_CONTAIN_APP_LINK_PERMALINK_ROOM_ID, + MXPatterns.PATTERN_CONTAIN_APP_LINK_PERMALINK_ROOM_ALIAS, + MXPatterns.PATTERN_CONTAIN_MATRIX_USER_IDENTIFIER, + MXPatterns.PATTERN_CONTAIN_MATRIX_ALIAS, + MXPatterns.PATTERN_CONTAIN_MATRIX_ROOM_IDENTIFIER, + MXPatterns.PATTERN_CONTAIN_MATRIX_EVENT_IDENTIFIER, + MXPatterns.PATTERN_CONTAIN_MATRIX_GROUP_IDENTIFIER + ); + + /** + * Tells if a string is a valid user Id. + * + * @param str the string to test + * @return true if the string is a valid user id + */ + public static boolean isUserId(@Nullable final String str) { + return str != null && PATTERN_CONTAIN_MATRIX_USER_IDENTIFIER.matcher(str).matches(); + } + + /** + * Tells if a string is a valid room id. + * + * @param str the string to test + * @return true if the string is a valid room Id + */ + public static boolean isRoomId(@Nullable final String str) { + return str != null && PATTERN_CONTAIN_MATRIX_ROOM_IDENTIFIER.matcher(str).matches(); + } + + /** + * Tells if a string is a valid room alias. + * + * @param str the string to test + * @return true if the string is a valid room alias. + */ + public static boolean isRoomAlias(@Nullable final String str) { + return str != null && PATTERN_CONTAIN_MATRIX_ALIAS.matcher(str).matches(); + } + + /** + * Tells if a string is a valid event id. + * + * @param str the string to test + * @return true if the string is a valid event id. + */ + public static boolean isEventId(@Nullable final String str) { + return str != null && PATTERN_CONTAIN_MATRIX_EVENT_IDENTIFIER.matcher(str).matches(); + } + + /** + * Tells if a string is a valid group id. + * + * @param str the string to test + * @return true if the string is a valid group id. + */ + public static boolean isGroupId(@Nullable final String str) { + return str != null && PATTERN_CONTAIN_MATRIX_GROUP_IDENTIFIER.matcher(str).matches(); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/MXSession.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/MXSession.java new file mode 100644 index 00000000..4ce70572 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/MXSession.java @@ -0,0 +1,2578 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy; + +import android.content.Context; +import android.content.IntentFilter; +import android.net.ConnectivityManager; +import android.net.Uri; +import android.os.AsyncTask; +import android.os.Handler; +import android.os.Looper; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.text.TextUtils; + +import com.google.gson.JsonObject; + +import im.vector.matrix.android.BuildConfig; +import im.vector.matrix.android.R; +import im.vector.matrix.android.internal.legacy.call.MXCallsManager; +import im.vector.matrix.android.internal.legacy.crypto.MXCrypto; +import im.vector.matrix.android.internal.legacy.crypto.MXCryptoConfig; +import im.vector.matrix.android.internal.legacy.data.DataRetriever; +import im.vector.matrix.android.internal.legacy.data.MyUser; +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.data.RoomSummary; +import im.vector.matrix.android.internal.legacy.data.RoomTag; +import im.vector.matrix.android.internal.legacy.data.comparator.RoomComparatorWithTag; +import im.vector.matrix.android.internal.legacy.data.cryptostore.IMXCryptoStore; +import im.vector.matrix.android.internal.legacy.data.cryptostore.MXFileCryptoStore; +import im.vector.matrix.android.internal.legacy.data.metrics.MetricsListener; +import im.vector.matrix.android.internal.legacy.data.store.IMXStore; +import im.vector.matrix.android.internal.legacy.data.store.MXStoreListener; +import im.vector.matrix.android.internal.legacy.db.MXLatestChatMessageCache; +import im.vector.matrix.android.internal.legacy.db.MXMediasCache; +import im.vector.matrix.android.internal.legacy.groups.GroupsManager; +import im.vector.matrix.android.internal.legacy.network.NetworkConnectivityReceiver; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiFailureCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.client.AccountDataRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.CallRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.CryptoRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.EventsRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.FilterRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.GroupsRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.LoginRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.MediaScanRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.PresenceRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.ProfileRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.PushRulesRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.PushersRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.RoomsRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.ThirdPidRestClient; +import im.vector.matrix.android.internal.legacy.rest.model.CreateRoomParams; +import im.vector.matrix.android.internal.legacy.rest.model.CreateRoomResponse; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.ReceiptData; +import im.vector.matrix.android.internal.legacy.rest.model.RoomDirectoryVisibility; +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; +import im.vector.matrix.android.internal.legacy.rest.model.User; +import im.vector.matrix.android.internal.legacy.rest.model.Versions; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.BingRule; +import im.vector.matrix.android.internal.legacy.rest.model.filter.FilterBody; +import im.vector.matrix.android.internal.legacy.rest.model.filter.FilterResponse; +import im.vector.matrix.android.internal.legacy.rest.model.login.Credentials; +import im.vector.matrix.android.internal.legacy.rest.model.login.LoginFlow; +import im.vector.matrix.android.internal.legacy.rest.model.login.RegistrationFlowResponse; +import im.vector.matrix.android.internal.legacy.rest.model.message.MediaMessage; +import im.vector.matrix.android.internal.legacy.rest.model.message.Message; +import im.vector.matrix.android.internal.legacy.rest.model.pid.DeleteDeviceAuth; +import im.vector.matrix.android.internal.legacy.rest.model.pid.DeleteDeviceParams; +import im.vector.matrix.android.internal.legacy.rest.model.search.SearchResponse; +import im.vector.matrix.android.internal.legacy.rest.model.search.SearchUsersResponse; +import im.vector.matrix.android.internal.legacy.rest.model.sync.DevicesListResponse; +import im.vector.matrix.android.internal.legacy.rest.model.sync.RoomResponse; +import im.vector.matrix.android.internal.legacy.sync.DefaultEventsThreadListener; +import im.vector.matrix.android.internal.legacy.sync.EventsThread; +import im.vector.matrix.android.internal.legacy.sync.EventsThreadListener; +import im.vector.matrix.android.internal.legacy.util.BingRulesManager; +import im.vector.matrix.android.internal.legacy.util.ContentManager; +import im.vector.matrix.android.internal.legacy.util.ContentUtils; +import im.vector.matrix.android.internal.legacy.util.FilterUtil; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; +import im.vector.matrix.android.internal.legacy.util.UnsentEventsManager; +import im.vector.matrix.android.internal.legacy.util.VersionsUtil; +import org.matrix.olm.OlmManager; + +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.regex.Pattern; + +/** + * Class that represents one user's session with a particular home server. + * There can potentially be multiple sessions for handling multiple accounts. + */ +public class MXSession { + private static final String LOG_TAG = MXSession.class.getSimpleName(); + + private DataRetriever mDataRetriever; + private MXDataHandler mDataHandler; + private EventsThread mEventsThread; + private final Credentials mCredentials; + + // Api clients + private EventsRestClient mEventsRestClient; + private ProfileRestClient mProfileRestClient; + private PresenceRestClient mPresenceRestClient; + private RoomsRestClient mRoomsRestClient; + private final PushRulesRestClient mPushRulesRestClient; + private PushersRestClient mPushersRestClient; + private final ThirdPidRestClient mThirdPidRestClient; + private final CallRestClient mCallRestClient; + private final AccountDataRestClient mAccountDataRestClient; + private final CryptoRestClient mCryptoRestClient; + private final LoginRestClient mLoginRestClient; + private final GroupsRestClient mGroupsRestClient; + private final MediaScanRestClient mMediaScanRestClient; + private final FilterRestClient mFilterRestClient; + + private ApiFailureCallback mFailureCallback; + + private ContentManager mContentManager; + + public MXCallsManager mCallsManager; + + private MetricsListener mMetricsListener; + + private Context mAppContent; + private NetworkConnectivityReceiver mNetworkConnectivityReceiver; + private UnsentEventsManager mUnsentEventsManager; + + private MXLatestChatMessageCache mLatestChatMessageCache; + private MXMediasCache mMediasCache; + + private BingRulesManager mBingRulesManager = null; + + private boolean mIsAliveSession = true; + + // online status + private boolean mIsOnline = false; + private int mSyncTimeout = 0; + private int mSyncDelay = 0; + + private final HomeServerConnectionConfig mHsConfig; + + // True if file encryption is enabled + private boolean mEnableFileEncryption; + + // the application is launched from a notification + // so, mEventsThread.start might be not ready + private boolean mIsBgCatchupPending = false; + + private FilterBody mCurrentFilter = new FilterBody(); + + // tell if the data save mode is enabled + private boolean mUseDataSaveMode; + + // the groups manager + private GroupsManager mGroupsManager; + + // load the crypto libs. + public static OlmManager mOlmManager = new OlmManager(); + + /** + * Create a basic session for direct API calls. + * + * @param hsConfig the home server connection config + */ + private MXSession(HomeServerConnectionConfig hsConfig) { + mCredentials = hsConfig.getCredentials(); + mHsConfig = hsConfig; + + mEventsRestClient = new EventsRestClient(hsConfig); + mProfileRestClient = new ProfileRestClient(hsConfig); + mPresenceRestClient = new PresenceRestClient(hsConfig); + mRoomsRestClient = new RoomsRestClient(hsConfig); + mPushRulesRestClient = new PushRulesRestClient(hsConfig); + mPushersRestClient = new PushersRestClient(hsConfig); + mThirdPidRestClient = new ThirdPidRestClient(hsConfig); + mCallRestClient = new CallRestClient(hsConfig); + mAccountDataRestClient = new AccountDataRestClient(hsConfig); + mCryptoRestClient = new CryptoRestClient(hsConfig); + mLoginRestClient = new LoginRestClient(hsConfig); + mGroupsRestClient = new GroupsRestClient(hsConfig); + mMediaScanRestClient = new MediaScanRestClient(hsConfig); + mFilterRestClient = new FilterRestClient(hsConfig); + } + + /** + * Create a user session with a data handler. + * Private, please use the MxSession.Builder now + * + * @param hsConfig the home server connection config + * @param dataHandler the data handler + * @param appContext the application context + */ + private MXSession(HomeServerConnectionConfig hsConfig, MXDataHandler dataHandler, Context appContext) { + this(hsConfig); + mDataHandler = dataHandler; + + mDataHandler.getStore().addMXStoreListener(new MXStoreListener() { + @Override + public void onStoreReady(String accountId) { + Log.d(LOG_TAG, "## onStoreReady()"); + getDataHandler().onStoreReady(); + } + + @Override + public void onStoreCorrupted(String accountId, String description) { + Log.d(LOG_TAG, "## onStoreCorrupted() : token " + getDataHandler().getStore().getEventStreamToken()); + + // nothing was saved + if (null == getDataHandler().getStore().getEventStreamToken()) { + getDataHandler().onStoreReady(); + } + } + + @Override + public void postProcess(String accountId) { + getDataHandler().checkPermanentStorageData(); + + // test if the crypto instance has already been created + if (null == mCrypto) { + MXFileCryptoStore store = new MXFileCryptoStore(mEnableFileEncryption); + store.initWithCredentials(mAppContent, mCredentials); + + if (store.hasData() || mEnableCryptoWhenStartingMXSession) { + Log.d(LOG_TAG, "## postProcess() : create the crypto instance for session " + this); + checkCrypto(); + } else { + Log.e(LOG_TAG, "## postProcess() : no crypto data"); + } + } else { + Log.e(LOG_TAG, "## postProcess() : mCrypto is already created"); + } + } + + @Override + public void onReadReceiptsLoaded(final String roomId) { + final List receipts = mDataHandler.getStore().getEventReceipts(roomId, null, false, false); + final List senders = new ArrayList<>(); + + for (ReceiptData receipt : receipts) { + senders.add(receipt.userId); + } + + mDataHandler.onReceiptEvent(roomId, senders); + } + }); + + // Initialize a data retriever with rest clients + mDataRetriever = new DataRetriever(); + mDataRetriever.setRoomsRestClient(mRoomsRestClient); + mDataHandler.setDataRetriever(mDataRetriever); + mDataHandler.setProfileRestClient(mProfileRestClient); + mDataHandler.setPresenceRestClient(mPresenceRestClient); + mDataHandler.setThirdPidRestClient(mThirdPidRestClient); + mDataHandler.setRoomsRestClient(mRoomsRestClient); + mDataHandler.setEventsRestClient(mEventsRestClient); + mDataHandler.setAccountDataRestClient(mAccountDataRestClient); + + // application context + mAppContent = appContext; + + mNetworkConnectivityReceiver = new NetworkConnectivityReceiver(); + mNetworkConnectivityReceiver.checkNetworkConnection(appContext); + mDataHandler.setNetworkConnectivityReceiver(mNetworkConnectivityReceiver); + mAppContent.registerReceiver(mNetworkConnectivityReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)); + + mBingRulesManager = new BingRulesManager(this, mNetworkConnectivityReceiver); + mDataHandler.setPushRulesManager(mBingRulesManager); + + mUnsentEventsManager = new UnsentEventsManager(mNetworkConnectivityReceiver, mDataHandler); + + mContentManager = new ContentManager(hsConfig, mUnsentEventsManager); + + // + mCallsManager = new MXCallsManager(this, mAppContent); + mDataHandler.setCallsManager(mCallsManager); + + // the rest client + mEventsRestClient.setUnsentEventsManager(mUnsentEventsManager); + + mProfileRestClient.setUnsentEventsManager(mUnsentEventsManager); + mPresenceRestClient.setUnsentEventsManager(mUnsentEventsManager); + mRoomsRestClient.setUnsentEventsManager(mUnsentEventsManager); + mPushRulesRestClient.setUnsentEventsManager(mUnsentEventsManager); + mThirdPidRestClient.setUnsentEventsManager(mUnsentEventsManager); + mCallRestClient.setUnsentEventsManager(mUnsentEventsManager); + mAccountDataRestClient.setUnsentEventsManager(mUnsentEventsManager); + mCryptoRestClient.setUnsentEventsManager(mUnsentEventsManager); + mLoginRestClient.setUnsentEventsManager(mUnsentEventsManager); + mGroupsRestClient.setUnsentEventsManager(mUnsentEventsManager); + + // return the default cache manager + mLatestChatMessageCache = new MXLatestChatMessageCache(mCredentials.userId); + mMediasCache = new MXMediasCache(mContentManager, mNetworkConnectivityReceiver, mCredentials.userId, appContext); + mDataHandler.setMediasCache(mMediasCache); + + mMediaScanRestClient.setMxStore(mDataHandler.getStore()); + mMediasCache.setMediaScanRestClient(mMediaScanRestClient); + + mGroupsManager = new GroupsManager(mDataHandler, mGroupsRestClient); + mDataHandler.setGroupsManager(mGroupsManager); + } + + private void checkIfAlive() { + synchronized (this) { + if (!mIsAliveSession) { + // Create an Exception to log the stack trace + Log.e(LOG_TAG, "Use of a released session", new Exception("Use of a released session")); + + //throw new AssertionError("Should not used a cleared mxsession "); + } + } + } + + /** + * Init the user-agent used by the REST requests. + * + * @param context the application context + */ + public static void initUserAgent(Context context) { + RestClient.initUserAgent(context); + } + + /** + * Provides the crypto lib version. + * + * @param context the context + * @param longFormat true to have a long version (with date and time) + * @return the crypto lib version + */ + public String getCryptoVersion(Context context, boolean longFormat) { + String version = ""; + + if (null != mOlmManager) { + version = longFormat ? mOlmManager.getDetailedVersion(context) : mOlmManager.getVersion(); + } + + return version; + } + + /** + * Get the data handler. + * + * @return the data handler. + */ + public MXDataHandler getDataHandler() { + checkIfAlive(); + return mDataHandler; + } + + /** + * Get the user credentials. + * + * @return the credentials + */ + public Credentials getCredentials() { + checkIfAlive(); + return mCredentials; + } + + /** + * Get the API client for requests to the events API. + * + * @return the events API client + */ + public EventsRestClient getEventsApiClient() { + checkIfAlive(); + return mEventsRestClient; + } + + /** + * Get the API client for requests to the profile API. + * + * @return the profile API client + */ + public ProfileRestClient getProfileApiClient() { + checkIfAlive(); + return mProfileRestClient; + } + + /** + * Get the API client for requests to the presence API. + * + * @return the presence API client + */ + public PresenceRestClient getPresenceApiClient() { + checkIfAlive(); + return mPresenceRestClient; + } + + public FilterRestClient getFilterRestClient() { + checkIfAlive(); + return mFilterRestClient; + } + + /** + * Refresh the presence info of a dedicated user. + * + * @param userId the user userID. + * @param callback the callback. + */ + public void refreshUserPresence(final String userId, final ApiCallback callback) { + mPresenceRestClient.getPresence(userId, new SimpleApiCallback(callback) { + @Override + public void onSuccess(User user) { + User currentUser = mDataHandler.getStore().getUser(userId); + + if (null != currentUser) { + currentUser.presence = user.presence; + currentUser.currently_active = user.currently_active; + currentUser.lastActiveAgo = user.lastActiveAgo; + } else { + currentUser = user; + } + + currentUser.setLatestPresenceTs(System.currentTimeMillis()); + mDataHandler.getStore().storeUser(currentUser); + if (null != callback) { + callback.onSuccess(null); + } + } + }); + } + + /** + * Get the API client for requests to the bing rules API. + * + * @return the bing rules API client + */ + public PushRulesRestClient getBingRulesApiClient() { + checkIfAlive(); + return mPushRulesRestClient; + } + + public ThirdPidRestClient getThirdPidRestClient() { + checkIfAlive(); + return mThirdPidRestClient; + } + + public CallRestClient getCallRestClient() { + checkIfAlive(); + return mCallRestClient; + } + + public PushersRestClient getPushersRestClient() { + checkIfAlive(); + return mPushersRestClient; + } + + public CryptoRestClient getCryptoRestClient() { + checkIfAlive(); + return mCryptoRestClient; + } + + public HomeServerConnectionConfig getHomeServerConfig() { + checkIfAlive(); + return mHsConfig; + } + + /** + * Get the API client for requests to the rooms API. + * + * @return the rooms API client + */ + public RoomsRestClient getRoomsApiClient() { + checkIfAlive(); + return mRoomsRestClient; + } + + public MediaScanRestClient getMediaScanRestClient() { + checkIfAlive(); + return mMediaScanRestClient; + } + + protected void setEventsApiClient(EventsRestClient eventsRestClient) { + checkIfAlive(); + mEventsRestClient = eventsRestClient; + } + + protected void setProfileApiClient(ProfileRestClient profileRestClient) { + checkIfAlive(); + mProfileRestClient = profileRestClient; + } + + protected void setPresenceApiClient(PresenceRestClient presenceRestClient) { + checkIfAlive(); + mPresenceRestClient = presenceRestClient; + } + + protected void setRoomsApiClient(RoomsRestClient roomsRestClient) { + checkIfAlive(); + mRoomsRestClient = roomsRestClient; + } + + public MXLatestChatMessageCache getLatestChatMessageCache() { + checkIfAlive(); + return mLatestChatMessageCache; + } + + public MXMediasCache getMediasCache() { + checkIfAlive(); + return mMediasCache; + } + + /** + * Provides the application caches size. + * + * @param context the context + * @param callback the asynchronous callback + */ + public static void getApplicationSizeCaches(final Context context, final ApiCallback callback) { + AsyncTask task = new AsyncTask() { + @Override + protected Long doInBackground(Void... params) { + return ContentUtils.getDirectorySize(context, context.getApplicationContext().getFilesDir().getParentFile(), 5); + } + + @Override + protected void onPostExecute(Long result) { + Log.d(LOG_TAG, "## getCacheSize() : " + result); + if (null != callback) { + callback.onSuccess(result); + } + } + }; + try { + task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } catch (final Exception e) { + Log.e(LOG_TAG, "## getApplicationSizeCaches() : failed " + e.getMessage(), e); + task.cancel(true); + + (new android.os.Handler(Looper.getMainLooper())).post(new Runnable() { + @Override + public void run() { + if (null != callback) { + callback.onUnexpectedError(e); + } + } + }); + + } + } + + /** + * Clear the application cache + */ + private void clearApplicationCaches(Context context) { + mDataHandler.clear(); + + // network event will not be listened anymore + try { + mAppContent.unregisterReceiver(mNetworkConnectivityReceiver); + } catch (Exception e) { + Log.e(LOG_TAG, "## clearApplicationCaches() : unregisterReceiver failed " + e.getMessage(), e); + } + mNetworkConnectivityReceiver.removeListeners(); + + // auto resent messages will not be resent + mUnsentEventsManager.clear(); + + mLatestChatMessageCache.clearCache(context); + mMediasCache.clear(); + + if (null != mCrypto) { + mCrypto.close(); + } + } + + /** + * Clear the session data synchronously. + * + * @param context the context + */ + public void clear(final Context context) { + clear(context, null); + } + + /** + * Clear the session data. + * if the callback is null, the clear is synchronous. + * + * @param context the context + * @param callback the asynchronous callback + */ + public void clear(final Context context, final ApiCallback callback) { + synchronized (this) { + if (!mIsAliveSession) { + Log.e(LOG_TAG, "## clear() was already called"); + return; + } + + mIsAliveSession = false; + } + + // stop events stream + stopEventStream(); + + if (null == callback) { + clearApplicationCaches(context); + } else { + // clear the caches in a background thread to avoid blocking the UI thread + AsyncTask task = new AsyncTask() { + @Override + protected Void doInBackground(Void... params) { + clearApplicationCaches(context); + return null; + } + + @Override + protected void onPostExecute(Void args) { + if (null != callback) { + callback.onSuccess(null); + } + } + }; + + try { + task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } catch (final Exception e) { + Log.e(LOG_TAG, "## clear() failed " + e.getMessage(), e); + task.cancel(true); + + (new android.os.Handler(Looper.getMainLooper())).post(new Runnable() { + @Override + public void run() { + if (null != callback) { + callback.onUnexpectedError(e); + } + } + }); + } + } + } + + /** + * Remove the medias older than the provided timestamp. + * + * @param context the context + * @param timestamp the timestamp (in seconds) + */ + public void removeMediasBefore(final Context context, final long timestamp) { + // list the files to keep even if they are older than the provided timestamp + // because their upload failed + final Set filesToKeep = new HashSet<>(); + IMXStore store = getDataHandler().getStore(); + + Collection rooms = store.getRooms(); + + for (Room room : rooms) { + Collection events = store.getRoomMessages(room.getRoomId()); + if (null != events) { + for (Event event : events) { + try { + Message message = null; + + if (TextUtils.equals(Event.EVENT_TYPE_MESSAGE, event.getType())) { + message = JsonUtils.toMessage(event.getContent()); + } else if (TextUtils.equals(Event.EVENT_TYPE_STICKER, event.getType())) { + message = JsonUtils.toStickerMessage(event.getContent()); + } + + if (null != message && message instanceof MediaMessage) { + MediaMessage mediaMessage = (MediaMessage) message; + + if (mediaMessage.isThumbnailLocalContent()) { + filesToKeep.add(Uri.parse(mediaMessage.getThumbnailUrl()).getPath()); + } + + if (mediaMessage.isLocalContent()) { + filesToKeep.add(Uri.parse(mediaMessage.getUrl()).getPath()); + } + } + } catch (Exception e) { + Log.e(LOG_TAG, "## removeMediasBefore() : failed " + e.getMessage(), e); + } + } + } + } + + AsyncTask task = new AsyncTask() { + @Override + protected Void doInBackground(Void... params) { + long length = getMediasCache().removeMediasBefore(timestamp, filesToKeep); + + // delete also the log files + // they might be large + File logsDir = Log.getLogDirectory(); + + if (null != logsDir) { + File[] logFiles = logsDir.listFiles(); + + if (null != logFiles) { + for (File file : logFiles) { + if (ContentUtils.getLastAccessTime(file) < timestamp) { + length += file.length(); + file.delete(); + } + } + } + } + + if (0 != length) { + Log.d(LOG_TAG, "## removeMediasBefore() : save " + android.text.format.Formatter.formatFileSize(context, length)); + } else { + Log.d(LOG_TAG, "## removeMediasBefore() : useless"); + } + + return null; + } + }; + try { + task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } catch (Exception e) { + Log.e(LOG_TAG, "## removeMediasBefore() : failed " + e.getMessage(), e); + task.cancel(true); + } + } + + /** + * @return true if the session is active i.e. has not been cleared after a logout. + */ + public boolean isAlive() { + synchronized (this) { + return mIsAliveSession; + } + } + + /** + * Get the content manager (for uploading and downloading content) associated with the session. + * + * @return the content manager + */ + public ContentManager getContentManager() { + checkIfAlive(); + return mContentManager; + } + + /** + * Get the session's current user. The MyUser object provides methods for updating user properties which are not possible for other users. + * + * @return the session's MyUser object + */ + public MyUser getMyUser() { + checkIfAlive(); + + return mDataHandler.getMyUser(); + } + + + /** + * Get the session's current userid. + * + * @return the session's MyUser id + */ + public String getMyUserId() { + checkIfAlive(); + + if (null != mDataHandler.getMyUser()) { + return mDataHandler.getMyUser().user_id; + } + return null; + } + + /** + * Start the event stream (events thread that listens for events) with an event listener. + * + * @param anEventsListener the event listener or null if using a DataHandler + * @param networkConnectivityReceiver the network connectivity listener. + * @param initialToken the initial sync token (null to start from scratch) + */ + public void startEventStream(final EventsThreadListener anEventsListener, + final NetworkConnectivityReceiver networkConnectivityReceiver, + final String initialToken) { + checkIfAlive(); + + // reported by a rageshake issue + // startEventStream might be called several times + // when the service is killed and automatically restarted. + // It might be restarted by itself and by android at the same time. + synchronized (LOG_TAG) { + if (mEventsThread != null) { + if (!mEventsThread.isAlive()) { + mEventsThread = null; + Log.e(LOG_TAG, "startEventStream() : create a new EventsThread"); + } else { + // https://github.com/vector-im/riot-android/issues/1331 + mEventsThread.cancelKill(); + Log.e(LOG_TAG, "Ignoring startEventStream() : Thread already created."); + return; + } + } + + if (mDataHandler == null) { + Log.e(LOG_TAG, "Error starting the event stream: No data handler is defined"); + return; + } + + Log.d(LOG_TAG, "startEventStream : create the event stream"); + + final EventsThreadListener fEventsListener = (null == anEventsListener) ? new DefaultEventsThreadListener(mDataHandler) : anEventsListener; + + mEventsThread = new EventsThread(mAppContent, mEventsRestClient, fEventsListener, initialToken); + setSyncFilter(mCurrentFilter); + mEventsThread.setMetricsListener(mMetricsListener); + mEventsThread.setNetworkConnectivityReceiver(networkConnectivityReceiver); + mEventsThread.setIsOnline(mIsOnline); + mEventsThread.setServerLongPollTimeout(mSyncTimeout); + mEventsThread.setSyncDelay(mSyncDelay); + + if (mFailureCallback != null) { + mEventsThread.setFailureCallback(mFailureCallback); + } + + if (mCredentials.accessToken != null && !mEventsThread.isAlive()) { + // GA issue + try { + mEventsThread.start(); + } catch (Exception e) { + Log.e(LOG_TAG, "## startEventStream() : mEventsThread.start failed " + e.getMessage(), e); + } + + if (mIsBgCatchupPending) { + Log.d(LOG_TAG, "startEventStream : start a catchup"); + mIsBgCatchupPending = false; + // catchup retrieve any available messages before stop the sync + mEventsThread.catchup(); + } + } + } + } + + /** + * Refresh the access token + */ + public void refreshToken() { + checkIfAlive(); + + mProfileRestClient.refreshTokens(new ApiCallback() { + @Override + public void onSuccess(Credentials info) { + Log.d(LOG_TAG, "refreshToken : succeeds."); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "refreshToken : onNetworkError " + e.getMessage(), e); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "refreshToken : onMatrixError " + e.getMessage()); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "refreshToken : onMatrixError " + e.getMessage(), e); + } + }); + } + + /** + * Update the online status + * + * @param isOnline true if the client must be seen as online + */ + public void setIsOnline(boolean isOnline) { + if (isOnline != mIsOnline) { + mIsOnline = isOnline; + + if (null != mEventsThread) { + mEventsThread.setIsOnline(isOnline); + } + } + } + + /** + * @return true if the client is seen as "online" + */ + public boolean isOnline() { + return mIsOnline; + } + + /** + * Update the heartbeat request timeout. + * + * @param ms the delay in ms + */ + public void setSyncTimeout(int ms) { + mSyncTimeout = ms; + if (null != mEventsThread) { + mEventsThread.setServerLongPollTimeout(ms); + } + } + + /** + * @return the heartbeat request timeout + */ + public int getSyncTimeout() { + return mSyncTimeout; + } + + /** + * Set a delay between two sync requests. + * + * @param ms the delay in ms + */ + public void setSyncDelay(int ms) { + mSyncDelay = ms; + if (null != mEventsThread) { + mEventsThread.setSyncDelay(ms); + } + } + + /** + * @return the delay between two sync requests. + */ + public int getSyncDelay() { + return mSyncDelay; + } + + /** + * Update the data save mode. + * + * @param enabled true to enable the data save mode + */ + public void setUseDataSaveMode(boolean enabled) { + mUseDataSaveMode = enabled; + + if (mEventsThread != null) { + setSyncFilter(mCurrentFilter); + } + } + + /** + * Allows setting the filter used by the EventsThread + * + * @param filter the content of the filter param on sync requests + */ + public synchronized void setSyncFilter(FilterBody filter) { + Log.d(LOG_TAG, "setSyncFilter ## " + filter); + mCurrentFilter = filter; + + // Enable Data save mode and/or LazyLoading + FilterUtil.enableDataSaveMode(mCurrentFilter, mUseDataSaveMode); + FilterUtil.enableLazyLoading(mCurrentFilter, mDataHandler.isLazyLoadingEnabled()); + + convertFilterToFilterId(); + } + + /** + * Convert a filter to a filterId + * Either it is already known to the server, or send the filter to the server to get a filterId + */ + private void convertFilterToFilterId() { + // Ensure mCurrentFilter has not been updated in the same time + final String wantedJsonFilter = mCurrentFilter.toJSONString(); + + // Check if the current filter is known by the server, to directly use the filterId + String filterId = getDataHandler().getStore().getFilters().get(wantedJsonFilter); + + if (TextUtils.isEmpty(filterId)) { + // enable the filter in JSON representation so do not block sync until the filter response is there + mEventsThread.setFilterOrFilterId(wantedJsonFilter); + + // Send the filter to the server + mFilterRestClient.uploadFilter(getMyUserId(), mCurrentFilter, new SimpleApiCallback() { + @Override + public void onSuccess(FilterResponse filter) { + // Store the couple filter/filterId + getDataHandler().getStore().addFilter(wantedJsonFilter, filter.filterId); + + // Ensure the filter is still corresponding to the current filter + if (TextUtils.equals(wantedJsonFilter, mCurrentFilter.toJSONString())) { + // Tell the event thread to use the id now + mEventsThread.setFilterOrFilterId(filter.filterId); + } + } + }); + } else { + // Tell the event thread to use the id now + mEventsThread.setFilterOrFilterId(filterId); + } + } + + /** + * Refresh the network connection information. + * On android version older than 6.0, the doze mode might have killed the network connection. + */ + public void refreshNetworkConnection() { + if (null != mNetworkConnectivityReceiver) { + // mNetworkConnectivityReceiver is a broadcastReceiver + // but some users reported that the network updates were not dispatched + mNetworkConnectivityReceiver.checkNetworkConnection(mAppContent); + } + } + + /** + * Shorthand for {@link #startEventStream(EventsThreadListener, NetworkConnectivityReceiver, String)} with no eventListener + * using a DataHandler and no specific failure callback. + * + * @param initialToken the initial sync token (null to sync from scratch). + */ + public void startEventStream(String initialToken) { + checkIfAlive(); + startEventStream(null, mNetworkConnectivityReceiver, initialToken); + } + + /** + * Gracefully stop the event stream. + */ + public void stopEventStream() { + if (null != mCallsManager) { + mCallsManager.stopTurnServerRefresh(); + } + + if (null != mEventsThread) { + Log.d(LOG_TAG, "stopEventStream"); + + mEventsThread.kill(); + mEventsThread = null; + } else { + Log.e(LOG_TAG, "stopEventStream : mEventsThread is already null"); + } + } + + /** + * Pause the event stream + */ + public void pauseEventStream() { + checkIfAlive(); + + if (null != mCallsManager) { + mCallsManager.pauseTurnServerRefresh(); + } + + if (null != mEventsThread) { + Log.d(LOG_TAG, "pauseEventStream"); + mEventsThread.pause(); + } else { + Log.e(LOG_TAG, "pauseEventStream : mEventsThread is null"); + } + + if (null != getMediasCache()) { + getMediasCache().clearTmpDecryptedMediaCache(); + } + + if (null != mGroupsManager) { + mGroupsManager.onSessionPaused(); + } + } + + /** + * @return the current sync token + */ + public String getCurrentSyncToken() { + return (null != mEventsThread) ? mEventsThread.getCurrentSyncToken() : null; + } + + /** + * Resume the event stream + */ + public void resumeEventStream() { + checkIfAlive(); + + if (null != mNetworkConnectivityReceiver) { + // mNetworkConnectivityReceiver is a broadcastReceiver + // but some users reported that the network updates were not dispatched + mNetworkConnectivityReceiver.checkNetworkConnection(mAppContent); + } + + if (null != mCallsManager) { + mCallsManager.unpauseTurnServerRefresh(); + } + + if (null != mEventsThread) { + Log.d(LOG_TAG, "## resumeEventStream() : unpause"); + mEventsThread.unpause(); + } else { + Log.e(LOG_TAG, "resumeEventStream : mEventsThread is null"); + } + + if (mIsBgCatchupPending) { + mIsBgCatchupPending = false; + Log.d(LOG_TAG, "## resumeEventStream() : cancel bg sync"); + } + + if (null != getMediasCache()) { + getMediasCache().clearShareDecryptedMediaCache(); + } + + if (null != mGroupsManager) { + mGroupsManager.onSessionResumed(); + } + } + + /** + * Trigger a catchup + */ + public void catchupEventStream() { + checkIfAlive(); + + if (null != mEventsThread) { + Log.d(LOG_TAG, "catchupEventStream"); + mEventsThread.catchup(); + } else { + Log.e(LOG_TAG, "catchupEventStream : mEventsThread is null so catchup when the thread will be created"); + mIsBgCatchupPending = true; + } + } + + /** + * Set a global failure callback implementation. + * + * @param failureCallback the failure callback + */ + public void setFailureCallback(ApiFailureCallback failureCallback) { + checkIfAlive(); + + mFailureCallback = failureCallback; + if (mEventsThread != null) { + mEventsThread.setFailureCallback(failureCallback); + } + } + + /** + * Create a new room. + * + * @param callback the async callback once the room is ready + */ + public void createRoom(final ApiCallback callback) { + createRoom(null, null, null, callback); + } + + /** + * Create a new room with given properties. Needs the data handler. + * + * @param name the room name + * @param topic the room topic + * @param alias the room alias + * @param callback the async callback once the room is ready + */ + public void createRoom(String name, String topic, String alias, final ApiCallback callback) { + createRoom(name, topic, RoomDirectoryVisibility.DIRECTORY_VISIBILITY_PRIVATE, alias, null, callback); + } + + /** + * Create a new room with given properties. Needs the data handler. + * + * @param name the room name + * @param topic the room topic + * @param visibility the room visibility + * @param alias the room alias + * @param algorithm the crypto algorithm (null to create an unencrypted room) + * @param callback the async callback once the room is ready + */ + public void createRoom(String name, + String topic, + String visibility, + String alias, + String algorithm, + final ApiCallback callback) { + checkIfAlive(); + + CreateRoomParams params = new CreateRoomParams(); + params.name = !TextUtils.isEmpty(name) ? name : null; + params.topic = !TextUtils.isEmpty(topic) ? topic : null; + params.visibility = !TextUtils.isEmpty(visibility) ? visibility : null; + params.roomAliasName = !TextUtils.isEmpty(alias) ? alias : null; + params.addCryptoAlgorithm(algorithm); + + createRoom(params, callback); + } + + /** + * Create an encrypted room. + * + * @param algorithm the encryption algorithm. + * @param callback the async callback once the room is ready + */ + public void createEncryptedRoom(String algorithm, final ApiCallback callback) { + CreateRoomParams params = new CreateRoomParams(); + params.addCryptoAlgorithm(algorithm); + createRoom(params, callback); + } + + /** + * Create a direct message room with one participant.
    + * The participant can be a user ID or mail address. Once the room is created, on success, the room + * is set as a "direct message" with the participant. + * + * @param aParticipantUserId user ID (or user mail) to be invited in the direct message room + * @param aCreateRoomCallBack async call back response + * @return true if the invite was performed, false otherwise + */ + public boolean createDirectMessageRoom(final String aParticipantUserId, final ApiCallback aCreateRoomCallBack) { + return createDirectMessageRoom(aParticipantUserId, null, aCreateRoomCallBack); + } + + /** + * Create a direct message room with one participant.
    + * The participant can be a user ID or mail address. Once the room is created, on success, the room + * is set as a "direct message" with the participant. + * + * @param aParticipantUserId user ID (or user mail) to be invited in the direct message room + * @param algorithm the crypto algorithm (null to create an unencrypted room) + * @param aCreateRoomCallBack async call back response + * @return true if the invite was performed, false otherwise + */ + public boolean createDirectMessageRoom(final String aParticipantUserId, final String algorithm, final ApiCallback aCreateRoomCallBack) { + boolean retCode = false; + + if (!TextUtils.isEmpty(aParticipantUserId)) { + retCode = true; + CreateRoomParams params = new CreateRoomParams(); + + params.addCryptoAlgorithm(algorithm); + params.setDirectMessage(); + params.addParticipantIds(mHsConfig, Arrays.asList(aParticipantUserId)); + + createRoom(params, aCreateRoomCallBack); + } + + return retCode; + } + + /** + * Finalise the created room as a direct chat one. + * + * @param roomId the room id + * @param userId the user id + * @param callback the asynchronous callback + */ + private void finalizeDMRoomCreation(final String roomId, String userId, final ApiCallback callback) { + final String fRoomId = roomId; + + toggleDirectChatRoom(roomId, userId, new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + Room room = getDataHandler().getRoom(fRoomId); + + if (null != room) { + room.markAllAsRead(null); + } + + if (null != callback) { + callback.onSuccess(fRoomId); + } + } + }); + } + + /** + * Create a new room with given properties. + * + * @param params the creation parameters. + * @param callback the async callback once the room is ready + */ + public void createRoom(final CreateRoomParams params, final ApiCallback callback) { + mRoomsRestClient.createRoom(params, new SimpleApiCallback(callback) { + @Override + public void onSuccess(CreateRoomResponse info) { + final String roomId = info.roomId; + final Room createdRoom = mDataHandler.getRoom(roomId); + + // the creation events are not be called during the creation + if (!createdRoom.isJoined()) { + createdRoom.setOnInitialSyncCallback(new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + createdRoom.markAllAsRead(null); + + if (params.isDirect()) { + finalizeDMRoomCreation(roomId, params.getFirstInvitedUserId(), callback); + } else { + callback.onSuccess(roomId); + } + } + }); + } else { + createdRoom.markAllAsRead(null); + + if (params.isDirect()) { + finalizeDMRoomCreation(roomId, params.getFirstInvitedUserId(), callback); + } else { + callback.onSuccess(roomId); + } + } + } + }); + } + + /** + * Join a room by its roomAlias + * + * @param roomIdOrAlias the room alias + * @param callback the async callback once the room is joined. The RoomId is provided. + */ + public void joinRoom(String roomIdOrAlias, final ApiCallback callback) { + checkIfAlive(); + + // sanity check + if ((null != mDataHandler) && (null != roomIdOrAlias)) { + mDataRetriever.getRoomsRestClient().joinRoom(roomIdOrAlias, new SimpleApiCallback(callback) { + @Override + public void onSuccess(final RoomResponse roomResponse) { + final String roomId = roomResponse.roomId; + Room joinedRoom = mDataHandler.getRoom(roomId); + + // wait until the initial sync is done + if (!joinedRoom.isJoined()) { + joinedRoom.setOnInitialSyncCallback(new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + callback.onSuccess(roomId); + } + }); + } else { + // to initialise the notification counters + joinedRoom.markAllAsRead(null); + callback.onSuccess(roomId); + } + } + }); + } + } + + /** + * Send the read receipts to the latest room messages. + * + * @param rooms the rooms list + * @param callback the asynchronous callback + */ + public void markRoomsAsRead(final Collection rooms, final ApiCallback callback) { + if ((null == rooms) || (0 == rooms.size())) { + if (null != callback) { + new Handler(Looper.getMainLooper()).post(new Runnable() { + @Override + public void run() { + callback.onSuccess(null); + } + }); + } + return; + } + + markRoomsAsRead(rooms.iterator(), callback); + } + + /** + * Send the read receipts to the latest room messages. + * + * @param roomsIterator the rooms list iterator + * @param callback the asynchronous callback + */ + private void markRoomsAsRead(final Iterator roomsIterator, final ApiCallback callback) { + if (roomsIterator.hasNext()) { + Room room = (Room) roomsIterator.next(); + boolean isRequestSent = false; + + if (mNetworkConnectivityReceiver.isConnected()) { + isRequestSent = room.markAllAsRead(new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void anything) { + markRoomsAsRead(roomsIterator, callback); + } + }); + } else { + // update the local data + room.sendReadReceipt(); + } + + if (!isRequestSent) { + markRoomsAsRead(roomsIterator, callback); + } + + } else { + if (null != callback) { + new Handler(Looper.getMainLooper()).post(new Runnable() { + @Override + public void run() { + callback.onSuccess(null); + } + }); + } + } + } + + /** + * Retrieve user matrix id from a 3rd party id. + * + * @param address the user id. + * @param media the media. + * @param callback the 3rd party callback + */ + public void lookup3Pid(String address, String media, final ApiCallback callback) { + checkIfAlive(); + + mThirdPidRestClient.lookup3Pid(address, media, callback); + } + + /** + * Retrieve user matrix id from a 3rd party id. + * + * @param addresses 3rd party ids + * @param mediums the medias. + * @param callback the 3rd parties callback + */ + public void lookup3Pids(List addresses, List mediums, ApiCallback> callback) { + checkIfAlive(); + + mThirdPidRestClient.lookup3Pids(addresses, mediums, callback); + } + + /** + * Perform a remote text search. + * + * @param text the text to search for. + * @param rooms a list of rooms to search in. nil means all rooms the user is in. + * @param beforeLimit the number of events to get before the matching results. + * @param afterLimit the number of events to get after the matching results. + * @param nextBatch the token to pass for doing pagination from a previous response. + * @param callback the request callback + */ + public void searchMessageText(String text, + List rooms, + int beforeLimit, + int afterLimit, + String nextBatch, + final ApiCallback callback) { + checkIfAlive(); + if (null != callback) { + mEventsRestClient.searchMessagesByText(text, rooms, beforeLimit, afterLimit, nextBatch, callback); + } + } + + /** + * Perform a remote text search. + * + * @param text the text to search for. + * @param rooms a list of rooms to search in. nil means all rooms the user is in. + * @param nextBatch the token to pass for doing pagination from a previous response. + * @param callback the request callback + */ + public void searchMessagesByText(String text, List rooms, String nextBatch, final ApiCallback callback) { + checkIfAlive(); + if (null != callback) { + mEventsRestClient.searchMessagesByText(text, rooms, 0, 0, nextBatch, callback); + } + } + + /** + * Perform a remote text search. + * + * @param text the text to search for. + * @param nextBatch the token to pass for doing pagination from a previous response. + * @param callback the request callback + */ + public void searchMessagesByText(String text, String nextBatch, final ApiCallback callback) { + checkIfAlive(); + if (null != callback) { + mEventsRestClient.searchMessagesByText(text, null, 0, 0, nextBatch, callback); + } + } + + /** + * Cancel any pending search request + */ + public void cancelSearchMessagesByText() { + checkIfAlive(); + mEventsRestClient.cancelSearchMessagesByText(); + } + + /** + * Perform a remote text search for a dedicated media types list + * + * @param name the text to search for. + * @param rooms a list of rooms to search in. nil means all rooms the user is in. + * @param nextBatch the token to pass for doing pagination from a previous response. + * @param callback the request callback + */ + public void searchMediasByName(String name, List rooms, String nextBatch, final ApiCallback callback) { + checkIfAlive(); + + if (null != callback) { + mEventsRestClient.searchMediasByText(name, rooms, 0, 0, nextBatch, callback); + } + } + + /** + * Cancel any pending file search request + */ + public void cancelSearchMediasByText() { + checkIfAlive(); + mEventsRestClient.cancelSearchMediasByText(); + } + + /** + * Perform a remote users search by name / user id. + * + * @param name the text to search for. + * @param limit the maximum number of items to retrieve (can be null) + * @param userIdsFilter the user ids filter (can be null) + * @param callback the callback + */ + public void searchUsers(String name, Integer limit, Set userIdsFilter, final ApiCallback callback) { + checkIfAlive(); + + if (null != callback) { + mEventsRestClient.searchUsers(name, limit, userIdsFilter, callback); + } + } + + /** + * Cancel any pending user search + */ + public void cancelUsersSearch() { + checkIfAlive(); + mEventsRestClient.cancelUsersSearch(); + } + + + /** + * Return the fulfilled active BingRule for the event. + * + * @param event the event + * @return the fulfilled bingRule + */ + public BingRule fulfillRule(Event event) { + checkIfAlive(); + return mBingRulesManager.fulfilledBingRule(event); + } + + /** + * @return true if the calls are supported + */ + public boolean isVoipCallSupported() { + if (null != mCallsManager) { + return mCallsManager.isSupported(); + } else { + return false; + } + } + + /** + * Get the list of rooms that are tagged the specified tag. + * The returned array is ordered according to the room tag order. + * + * @param tag RoomTag.ROOM_TAG_XXX values + * @return the rooms list. + */ + public List roomsWithTag(final String tag) { + final List taggedRooms = new ArrayList<>(); + + // sanity check + if (null == mDataHandler.getStore()) { + return taggedRooms; + } + + if (!TextUtils.equals(tag, RoomTag.ROOM_TAG_NO_TAG)) { + final Collection rooms = mDataHandler.getStore().getRooms(); + for (Room room : rooms) { + if (null != room.getAccountData().roomTag(tag)) { + taggedRooms.add(room); + } + } + if (taggedRooms.size() > 0) { + Collections.sort(taggedRooms, new RoomComparatorWithTag(tag)); + } + } else { + final Collection rooms = mDataHandler.getStore().getRooms(); + for (Room room : rooms) { + if (!room.getAccountData().hasTags()) { + taggedRooms.add(room); + } + } + } + + return taggedRooms; + } + + /** + * Get the list of roomIds that are tagged the specified tag. + * The returned array is ordered according to the room tag order. + * + * @param tag RoomTag.ROOM_TAG_XXX values + * @return the room IDs list. + */ + public List roomIdsWithTag(final String tag) { + List roomsWithTag = roomsWithTag(tag); + + List roomIdsList = new ArrayList<>(); + + for (Room room : roomsWithTag) { + roomIdsList.add(room.getRoomId()); + } + + return roomIdsList; + } + + /** + * Compute the tag order to use for a room tag so that the room will appear in the expected position + * in the list of rooms stamped with this tag. + * + * @param index the targeted index of the room in the list of rooms with the tag `tag`. + * @param originIndex the origin index. Integer.MAX_VALUE if there is none. + * @param tag the tag + * @return the tag order to apply to get the expected position. + */ + public Double tagOrderToBeAtIndex(int index, int originIndex, String tag) { + // Algo (and the [0.0, 1.0] assumption) inspired from matrix-react-sdk: + // We sort rooms by the lexicographic ordering of the 'order' metadata on their tags. + // For convenience, we calculate this for now a floating point number between 0.0 and 1.0. + + Double orderA = 0.0; // by default we're next to the beginning of the list + Double orderB = 1.0; // by default we're next to the end of the list too + + List roomsWithTag = roomsWithTag(tag); + + if (roomsWithTag.size() > 0) { + // when an object is moved down, the index must be incremented + // because the object will be removed from the list to be inserted after its destination + if ((originIndex != Integer.MAX_VALUE) && (originIndex < index)) { + index++; + } + + if (index > 0) { + // Bound max index to the array size + int prevIndex = (index < roomsWithTag.size()) ? index : roomsWithTag.size(); + + RoomTag prevTag = roomsWithTag.get(prevIndex - 1).getAccountData().roomTag(tag); + + if (null == prevTag.mOrder) { + Log.e(LOG_TAG, "computeTagOrderForRoom: Previous room in sublist has no ordering metadata. This should never happen."); + } else { + orderA = prevTag.mOrder; + } + } + + if (index <= roomsWithTag.size() - 1) { + RoomTag nextTag = roomsWithTag.get(index).getAccountData().roomTag(tag); + + if (null == nextTag.mOrder) { + Log.e(LOG_TAG, "computeTagOrderForRoom: Next room in sublist has no ordering metadata. This should never happen."); + } else { + orderB = nextTag.mOrder; + } + } + } + + return (orderA + orderB) / 2.0; + } + + /** + * Toggles the direct chat status of a room.
    + * Create a new direct chat room in the account data section if the room does not exist, + * otherwise the room is removed from the account data section. + * Direct chat room user ID choice algorithm:
    + * 1- oldest joined room member + * 2- oldest invited room member + * 3- the user himself + * + * @param roomId the room roomId + * @param aParticipantUserId the participant user id + * @param callback the asynchronous callback + */ + public void toggleDirectChatRoom(final String roomId, + @Nullable final String aParticipantUserId, + final ApiCallback callback) { + IMXStore store = getDataHandler().getStore(); + Room room = store.getRoom(roomId); + + if (null != room) { + if (getDataHandler().getDirectChatRoomIdsList().contains(roomId)) { + // The room is already seen as direct chat + removeDirectChatRoomFromAccountData(roomId, callback); + } else { + // The room was not yet seen as direct chat + if (null == aParticipantUserId) { + searchOtherUserInRoomToCreateDirectChat(room, new SimpleApiCallback(callback) { + @Override + public void onSuccess(String info) { + addDirectChatRoomToAccountData(roomId, info, callback); + } + }); + } else { + addDirectChatRoomToAccountData(roomId, aParticipantUserId, callback); + } + } + } else { + if (callback != null) { + callback.onUnexpectedError(new Exception("Unknown room")); + } + } + } + + /** + * Search another user in the room to create a direct chat + * + * @param room the room to search in + * @param callback the callback to get the selected user id + */ + private void searchOtherUserInRoomToCreateDirectChat(@NonNull final Room room, + @NonNull final ApiCallback callback) { + room.getActiveMembersAsync(new SimpleApiCallback>(callback) { + @Override + public void onSuccess(List members) { + // should never happen but it was reported by a GA issue + if (members.isEmpty()) { + callback.onUnexpectedError(new Exception("Error")); + + return; + } + + RoomMember directChatMember = null; + + if (members.size() > 1) { + // sort algo: oldest join first, then oldest invited + Collections.sort(members, new Comparator() { + @Override + public int compare(RoomMember r1, RoomMember r2) { + int res; + long diff; + + if (RoomMember.MEMBERSHIP_JOIN.equals(r2.membership) && RoomMember.MEMBERSHIP_INVITE.equals(r1.membership)) { + res = 1; + } else if (r2.membership.equals(r1.membership)) { + diff = r1.getOriginServerTs() - r2.getOriginServerTs(); + res = (0 == diff) ? 0 : ((diff > 0) ? 1 : -1); + } else { + res = -1; + } + return res; + } + }); + + int nextIndexSearch = 0; + + // take the oldest join member + if (!TextUtils.equals(members.get(0).getUserId(), getMyUserId())) { + if (RoomMember.MEMBERSHIP_JOIN.equals(members.get(0).membership)) { + directChatMember = members.get(0); + } + } else { + nextIndexSearch = 1; + if (RoomMember.MEMBERSHIP_JOIN.equals(members.get(1).membership)) { + directChatMember = members.get(1); + } + } + + // no join member found, test the oldest join member + if (null == directChatMember) { + if (RoomMember.MEMBERSHIP_INVITE.equals(members.get(nextIndexSearch).membership)) { + directChatMember = members.get(nextIndexSearch); + } + } + } + + // last option: get the logged user + if (null == directChatMember) { + directChatMember = members.get(0); + } + + callback.onSuccess(directChatMember.getUserId()); + } + }); + } + + /** + * Add the room to the direct chat room list in AccountData + * + * @param roomId the room roomId + * @param chosenUserId userId of the direct chat room + * @param callback the asynchronous callback + */ + private void addDirectChatRoomToAccountData(String roomId, + @NonNull String chosenUserId, + ApiCallback callback) { + IMXStore store = getDataHandler().getStore(); + Map> params; + + if (null != store.getDirectChatRoomsDict()) { + params = new HashMap<>(store.getDirectChatRoomsDict()); + } else { + params = new HashMap<>(); + } + + List roomIdsList = new ArrayList<>(); + + // search if there is an entry with the same user + if (params.containsKey(chosenUserId)) { + roomIdsList = new ArrayList<>(params.get(chosenUserId)); + } + + roomIdsList.add(roomId); // update room list with the new room + params.put(chosenUserId, roomIdsList); + + // Store and upload the updated map + getDataHandler().setDirectChatRoomsMap(params, callback); + } + + /** + * Remove the room to the direct chat room list in AccountData + * + * @param roomId the room roomId + * @param callback the asynchronous callback + */ + private void removeDirectChatRoomFromAccountData(String roomId, + ApiCallback callback) { + IMXStore store = getDataHandler().getStore(); + + Map> params; + + if (null != store.getDirectChatRoomsDict()) { + params = new HashMap<>(store.getDirectChatRoomsDict()); + } else { + params = new HashMap<>(); + } + + // remove the current room from the direct chat list rooms + if (null != store.getDirectChatRoomsDict()) { + List keysList = new ArrayList<>(params.keySet()); + + for (String key : keysList) { + List roomIdsList = params.get(key); + if (roomIdsList.contains(roomId)) { + roomIdsList.remove(roomId); + + if (roomIdsList.isEmpty()) { + // Remove this entry + params.remove(key); + } + } + } + } else { + // should not happen: if the room has to be removed, it means the room has been + // previously detected as being part of the listOfList + Log.e(LOG_TAG, "## removeDirectChatRoomFromAccountData(): failed to remove a direct chat room (not seen as direct chat room)"); + if (callback != null) { + callback.onUnexpectedError(new Exception("Error")); + } + return; + } + + // Store and upload the updated map + getDataHandler().setDirectChatRoomsMap(params, callback); + } + + /** + * Update the account password + * + * @param oldPassword the former account password + * @param newPassword the new account password + * @param callback the callback + */ + public void updatePassword(String oldPassword, String newPassword, ApiCallback callback) { + mProfileRestClient.updatePassword(getMyUserId(), oldPassword, newPassword, callback); + } + + /** + * Reset the password to a new one. + * + * @param newPassword the new password + * @param threepid_creds the three pids. + * @param callback the callback + */ + public void resetPassword(final String newPassword, final Map threepid_creds, final ApiCallback callback) { + mProfileRestClient.resetPassword(newPassword, threepid_creds, callback); + } + + /** + * Triggers a request to update the userIds to ignore + * + * @param userIds the userIds to ignore + * @param callback the callback + */ + private void updateUsers(List userIds, ApiCallback callback) { + Map ignoredUsersDict = new HashMap<>(); + + for (String userId : userIds) { + ignoredUsersDict.put(userId, new HashMap<>()); + } + + Map params = new HashMap<>(); + params.put(AccountDataRestClient.ACCOUNT_DATA_KEY_IGNORED_USERS, ignoredUsersDict); + + mAccountDataRestClient.setAccountData(getMyUserId(), AccountDataRestClient.ACCOUNT_DATA_TYPE_IGNORED_USER_LIST, params, callback); + } + + /** + * Tells if an user is in the ignored user ids list + * + * @param userId the user id to test + * @return true if the user is ignored + */ + public boolean isUserIgnored(String userId) { + if (null != userId) { + return getDataHandler().getIgnoredUserIds().indexOf(userId) >= 0; + } + + return false; + } + + /** + * Ignore a list of users. + * + * @param userIds the user ids list to ignore + * @param callback the result callback + */ + public void ignoreUsers(List userIds, ApiCallback callback) { + List curUserIdsToIgnore = getDataHandler().getIgnoredUserIds(); + List userIdsToIgnore = new ArrayList<>(getDataHandler().getIgnoredUserIds()); + + // something to add + if ((null != userIds) && (userIds.size() > 0)) { + // add the new one + for (String userId : userIds) { + if (userIdsToIgnore.indexOf(userId) < 0) { + userIdsToIgnore.add(userId); + } + } + + // some items have been added + if (curUserIdsToIgnore.size() != userIdsToIgnore.size()) { + updateUsers(userIdsToIgnore, callback); + } + } + } + + /** + * Unignore a list of users. + * + * @param userIds the user ids list to unignore + * @param callback the result callback + */ + public void unIgnoreUsers(List userIds, ApiCallback callback) { + List curUserIdsToIgnore = getDataHandler().getIgnoredUserIds(); + List userIdsToIgnore = new ArrayList<>(getDataHandler().getIgnoredUserIds()); + + // something to add + if ((null != userIds) && (userIds.size() > 0)) { + // add the new one + for (String userId : userIds) { + userIdsToIgnore.remove(userId); + } + + // some items have been added + if (curUserIdsToIgnore.size() != userIdsToIgnore.size()) { + updateUsers(userIdsToIgnore, callback); + } + } + } + + /** + * @return the network receiver. + */ + public NetworkConnectivityReceiver getNetworkConnectivityReceiver() { + return mNetworkConnectivityReceiver; + } + + + /** + * Ask the home server if the lazy loading of room members is supported. + * + * @param callback the callback, to be notified if the server actually support the lazy loading. True if supported + */ + public void canEnableLazyLoading(final ApiCallback callback) { + // Check that the server support the lazy loading + mLoginRestClient.getVersions(new SimpleApiCallback(callback) { + @Override + public void onSuccess(Versions info) { + // Check if we can enable lazyLoading + callback.onSuccess(VersionsUtil.supportLazyLoadMembers(info)); + } + }); + } + + /** + * Invalidate the access token, so that it can no longer be used for authorization. + * + * @param context the application context + * @param callback the callback success and failure callback + */ + public void logout(final Context context, final ApiCallback callback) { + synchronized (this) { + if (!mIsAliveSession) { + Log.e(LOG_TAG, "## logout() was already called"); + return; + } + + mIsAliveSession = false; + } + + // Clear crypto data + // For security and because it will be no more useful as we will get a new device id + // on the next log in + enableCrypto(false, null); + + mLoginRestClient.logout(new ApiCallback() { + + private void clearData() { + // required else the clear won't be done + mIsAliveSession = true; + + clear(context, new SimpleApiCallback() { + @Override + public void onSuccess(Void info) { + if (null != callback) { + callback.onSuccess(null); + } + } + }); + } + + @Override + public void onSuccess(JsonObject info) { + Log.d(LOG_TAG, "## logout() : succeed -> clearing the application data "); + clearData(); + } + + private void onError(String errorMessage) { + Log.e(LOG_TAG, "## logout() : failed " + errorMessage); + clearData(); + } + + @Override + public void onNetworkError(Exception e) { + onError(e.getMessage()); + } + + @Override + public void onMatrixError(MatrixError e) { + onError(e.getMessage()); + } + + @Override + public void onUnexpectedError(Exception e) { + onError(e.getMessage()); + } + }); + } + + /** + * Deactivate the account. + * + * @param context the application context + * @param type type of authentication + * @param userPassword current password + * @param eraseUserData true to also erase all the user data + * @param callback the success and failure callback + */ + public void deactivateAccount(final Context context, + final String type, + final String userPassword, + final boolean eraseUserData, + final ApiCallback callback) { + mProfileRestClient.deactivateAccount(type, getMyUserId(), userPassword, eraseUserData, new SimpleApiCallback(callback) { + + @Override + public void onSuccess(Void info) { + Log.d(LOG_TAG, "## deactivateAccount() : succeed -> clearing the application data "); + + // Clear crypto data + // For security and because it will be no more useful as we will get a new device id + // on the next log in + enableCrypto(false, null); + + clear(context, new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + if (null != callback) { + callback.onSuccess(null); + } + } + }); + } + }); + } + + /** + * Update the URL preview status by default + * + * @param status the status + * @param callback + */ + public void setURLPreviewStatus(final boolean status, final ApiCallback callback) { + Map params = new HashMap<>(); + params.put(AccountDataRestClient.ACCOUNT_DATA_KEY_URL_PREVIEW_DISABLE, !status); + + Log.d(LOG_TAG, "## setURLPreviewStatus() : status " + status); + mAccountDataRestClient.setAccountData(getMyUserId(), AccountDataRestClient.ACCOUNT_DATA_TYPE_PREVIEW_URLS, params, new ApiCallback() { + @Override + public void onSuccess(Void info) { + Log.d(LOG_TAG, "## setURLPreviewStatus() : succeeds"); + + getDataHandler().getStore().setURLPreviewEnabled(status); + if (null != callback) { + callback.onSuccess(null); + } + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## setURLPreviewStatus() : failed " + e.getMessage(), e); + callback.onNetworkError(e); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## setURLPreviewStatus() : failed " + e.getMessage()); + callback.onMatrixError(e); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## setURLPreviewStatus() : failed " + e.getMessage(), e); + callback.onUnexpectedError(e); + } + }); + } + + /** + * Add user widget to the user Account Data + * + * @param params + * @param callback + */ + public void addUserWidget(final Map params, final ApiCallback callback) { + Log.d(LOG_TAG, "## addUserWidget()"); + + mAccountDataRestClient.setAccountData(getMyUserId(), AccountDataRestClient.ACCOUNT_DATA_TYPE_WIDGETS, params, new ApiCallback() { + @Override + public void onSuccess(Void info) { + Log.d(LOG_TAG, "## addUserWidget() : succeeds"); + + getDataHandler().getStore().setUserWidgets(params); + if (null != callback) { + callback.onSuccess(null); + } + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## addUserWidget() : failed " + e.getMessage(), e); + callback.onNetworkError(e); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## addUserWidget() : failed " + e.getMessage()); + callback.onMatrixError(e); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## addUserWidget() : failed " + e.getMessage(), e); + callback.onUnexpectedError(e); + } + }); + } + + /** + * Tells if the global URL preview settings is enabled + * + * @return true if it is enabled. + */ + public boolean isURLPreviewEnabled() { + return getDataHandler().getStore().isURLPreviewEnabled(); + } + + /** + * Get user widget from user AccountData + * + * @return + */ + public Map getUserWidgets() { + return getDataHandler().getStore().getUserWidgets(); + } + + //============================================================================================================== + // Crypto + //============================================================================================================== + + /** + * The module that manages E2E encryption. + * Null if the feature is not enabled + */ + private MXCrypto mCrypto; + + /** + * @return the crypto instance + */ + public MXCrypto getCrypto() { + return mCrypto; + } + + /** + * @return true if the crypto is enabled + */ + public boolean isCryptoEnabled() { + return null != mCrypto; + } + + /** + * enable encryption by default when launching the session + */ + private boolean mEnableCryptoWhenStartingMXSession = false; + + /** + * Enable the crypto when initializing a new session. + */ + public void enableCryptoWhenStarting() { + mEnableCryptoWhenStartingMXSession = true; + } + + /** + * Optional set of parameters used to configure/customize the e2e encryption + */ + @Nullable + private static MXCryptoConfig sCryptoConfig; + + /** + * Define the set of parameters used to configure/customize the e2e encryption + * This configuration must be set before instantiating the session + */ + public static void setCryptoConfig(@Nullable MXCryptoConfig cryptoConfig) { + sCryptoConfig = cryptoConfig; + } + + /** + * When the encryption is toogled, the room summaries must be updated + * to display the right messages. + */ + private void decryptRoomSummaries() { + if (null != getDataHandler().getStore()) { + Collection summaries = getDataHandler().getStore().getSummaries(); + + for (RoomSummary summary : summaries) { + mDataHandler.decryptEvent(summary.getLatestReceivedEvent(), null); + } + } + } + + /** + * Check if the crypto engine is properly initialized. + * Launch it it is was not yet done. + */ + public void checkCrypto() { + MXFileCryptoStore fileCryptoStore = new MXFileCryptoStore(mEnableFileEncryption); + fileCryptoStore.initWithCredentials(mAppContent, mCredentials); + + if ((fileCryptoStore.hasData() || mEnableCryptoWhenStartingMXSession) && (null == mCrypto)) { + boolean isStoreLoaded = false; + try { + // open the store + fileCryptoStore.open(); + isStoreLoaded = true; + } catch (UnsatisfiedLinkError e) { + Log.e(LOG_TAG, "## checkCrypto() failed " + e.getMessage(), e); + } + + if (!isStoreLoaded) { + // load again the olm manager + // reported by rageshake, it seems that the olm lib is unloaded. + mOlmManager = new OlmManager(); + + try { + // open the store + fileCryptoStore.open(); + isStoreLoaded = true; + } catch (UnsatisfiedLinkError e) { + Log.e(LOG_TAG, "## checkCrypto() failed 2 " + e.getMessage(), e); + } + } + + if (!isStoreLoaded) { + Log.e(LOG_TAG, "## checkCrypto() : cannot enable the crypto because of olm lib"); + return; + } + + mCrypto = new MXCrypto(MXSession.this, fileCryptoStore, sCryptoConfig); + mDataHandler.setCrypto(mCrypto); + // the room summaries are not stored with decrypted content + decryptRoomSummaries(); + + Log.d(LOG_TAG, "## checkCrypto() : the crypto engine is ready"); + } else if (mDataHandler.getCrypto() != mCrypto) { + Log.e(LOG_TAG, "## checkCrypto() : the data handler crypto was not initialized"); + mDataHandler.setCrypto(mCrypto); + } + } + + /** + * Enable / disable the crypto. + * + * @param cryptoEnabled true to enable the crypto + * @param callback the asynchronous callback called when the action has been done + */ + public void enableCrypto(boolean cryptoEnabled, final ApiCallback callback) { + if (cryptoEnabled != isCryptoEnabled()) { + if (cryptoEnabled) { + Log.d(LOG_TAG, "Crypto is enabled"); + MXFileCryptoStore fileCryptoStore = new MXFileCryptoStore(mEnableFileEncryption); + fileCryptoStore.initWithCredentials(mAppContent, mCredentials); + fileCryptoStore.open(); + mCrypto = new MXCrypto(this, fileCryptoStore, sCryptoConfig); + mCrypto.start(true, new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + decryptRoomSummaries(); + if (null != callback) { + callback.onSuccess(null); + } + } + }); + } else if (null != mCrypto) { + Log.d(LOG_TAG, "Crypto is disabled"); + IMXCryptoStore store = mCrypto.mCryptoStore; + mCrypto.close(); + store.deleteStore(); + mCrypto = null; + mDataHandler.setCrypto(null); + + decryptRoomSummaries(); + + if (null != callback) { + callback.onSuccess(null); + } + } + + mDataHandler.setCrypto(mCrypto); + } else { + if (null != callback) { + callback.onSuccess(null); + } + } + } + + /** + * Retrieves the devices list + * + * @param callback the asynchronous callback + */ + public void getDevicesList(ApiCallback callback) { + mCryptoRestClient.getDevices(callback); + } + + /** + * Set a device name. + * + * @param deviceId the device id + * @param deviceName the device name + * @param callback the asynchronous callback + */ + public void setDeviceName(final String deviceId, final String deviceName, final ApiCallback callback) { + mCryptoRestClient.setDeviceName(deviceId, deviceName, callback); + } + + /** + * Delete a device + * + * @param deviceId the device id + * @param password the passwoerd + * @param callback the asynchronous callback. + */ + public void deleteDevice(final String deviceId, final String password, final ApiCallback callback) { + mCryptoRestClient.deleteDevice(deviceId, new DeleteDeviceParams(), new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + // should never happen + if (null != callback) { + callback.onSuccess(null); + } + } + + @Override + public void onMatrixError(MatrixError matrixError) { + Log.d(LOG_TAG, "## deleteDevice() : onMatrixError " + matrixError.getMessage()); + RegistrationFlowResponse registrationFlowResponse = null; + + // expected status code is 401 + if ((null != matrixError.mStatus) && (matrixError.mStatus == 401)) { + try { + registrationFlowResponse = JsonUtils.toRegistrationFlowResponse(matrixError.mErrorBodyAsString); + } catch (Exception castExcept) { + Log.e(LOG_TAG, "## deleteDevice(): Received status 401 - Exception - JsonUtils.toRegistrationFlowResponse()", castExcept); + } + } else { + Log.d(LOG_TAG, "## deleteDevice(): Received not expected status 401 =" + matrixError.mStatus); + } + + List stages = new ArrayList<>(); + + // check if the server response can be casted + if ((null != registrationFlowResponse) + && (null != registrationFlowResponse.flows) + && !registrationFlowResponse.flows.isEmpty()) { + for (LoginFlow flow : registrationFlowResponse.flows) { + if (null != flow.stages) { + stages.addAll(flow.stages); + } + } + } + + if (!stages.isEmpty()) { + DeleteDeviceParams params = new DeleteDeviceParams(); + params.auth = new DeleteDeviceAuth(); + params.auth.session = registrationFlowResponse.session; + params.auth.user = mCredentials.userId; + params.auth.password = password; + + Log.d(LOG_TAG, "## deleteDevice() : supported stages " + stages); + + deleteDevice(deviceId, params, stages, callback); + } else { + if (null != callback) { + callback.onMatrixError(matrixError); + } + } + } + }); + } + + /** + * Delete a device. + * + * @param deviceId the device id. + * @param params the delete device params + * @param stages the supported stages + * @param callback the asynchronous callback + */ + private void deleteDevice(final String deviceId, final DeleteDeviceParams params, final List stages, final ApiCallback callback) { + // test the first one + params.auth.type = stages.get(0); + stages.remove(0); + + mCryptoRestClient.deleteDevice(deviceId, params, new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + if (null != callback) { + callback.onSuccess(null); + } + } + + @Override + public void onMatrixError(MatrixError matrixError) { + boolean has401Error = (null != matrixError.mStatus) && (matrixError.mStatus == 401); + + // failed, try next flow type + if ((has401Error || TextUtils.equals(matrixError.errcode, MatrixError.FORBIDDEN) || TextUtils.equals(matrixError.errcode, MatrixError.UNKNOWN)) + && !stages.isEmpty()) { + deleteDevice(deviceId, params, stages, callback); + } else { + if (null != callback) { + callback.onMatrixError(matrixError); + } + } + } + }); + } + + /** + * Gets a bearer token from the homeserver that the user can + * present to a third party in order to prove their ownership + * of the Matrix account they are logged into. + * + * @param callback the asynchronous callback called when finished + */ + public void openIdToken(final ApiCallback> callback) { + mAccountDataRestClient.openIdToken(getMyUserId(), callback); + } + + /** + * @return the groups manager + */ + public GroupsManager getGroupsManager() { + return mGroupsManager; + } + + /* ========================================================================================== + * Builder + * ========================================================================================== */ + + public static class Builder { + private MXSession mxSession; + + public Builder(HomeServerConnectionConfig hsConfig, MXDataHandler dataHandler, Context context) { + mxSession = new MXSession(hsConfig, dataHandler, context); + } + + public Builder withFileEncryption(boolean enableFileEncryption) { + mxSession.mEnableFileEncryption = enableFileEncryption; + return this; + } + + /** + * Create a pusher rest client, overriding the push server url if necessary + * + * @param pushServerUrl the push server url, or null or empty to use the default PushersRestClient + * @return this builder, to chain calls + */ + public Builder withPushServerUrl(@Nullable String pushServerUrl) { + // If not empty, create a special PushersRestClient + PushersRestClient pushersRestClient = null; + + if (!TextUtils.isEmpty(pushServerUrl)) { + // pusher uses a custom server + try { + HomeServerConnectionConfig alteredHsConfig = new HomeServerConnectionConfig.Builder() + .withHomeServerUri(Uri.parse(pushServerUrl)) + .withCredentials(mxSession.mHsConfig.getCredentials()) + .build(); + pushersRestClient = new PushersRestClient(alteredHsConfig); + } catch (Exception e) { + Log.e(LOG_TAG, "## withPushServerUrl() failed " + e.getMessage(), e); + } + } + + if (null != pushersRestClient) { + // Replace the existing client + mxSession.mPushersRestClient = pushersRestClient; + } + + return this; + } + + /** + * Set the metrics listener of this session + * + * @param metricsListener the metrics listener + * @return this builder, to chain calls + */ + public Builder withMetricsListener(@Nullable MetricsListener metricsListener) { + mxSession.mMetricsListener = metricsListener; + + return this; + } + + /** + * Build the session + * + * @return the build session + */ + public MXSession build() { + return mxSession; + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/MxEventDispatcher.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/MxEventDispatcher.java new file mode 100644 index 00000000..43a46f49 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/MxEventDispatcher.java @@ -0,0 +1,738 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy; + +import android.os.Looper; +import android.support.annotation.Nullable; + +import im.vector.matrix.android.internal.legacy.data.MyUser; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.listeners.IMXEventListener; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.User; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.BingRule; +import im.vector.matrix.android.internal.legacy.util.Log; +import im.vector.matrix.android.internal.legacy.util.MXOsHandler; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * Dispatcher for MXDataHandler + * This class store a list of listener and dispatch event to every listener on the Ui Thread + */ +/* package */ class MxEventDispatcher { + private static final String LOG_TAG = MxEventDispatcher.class.getSimpleName(); + + private final MXOsHandler mUiHandler; + + @Nullable + private IMXEventListener mCryptoEventsListener = null; + + private final Set mEventListeners = new HashSet<>(); + + MxEventDispatcher() { + mUiHandler = new MXOsHandler(Looper.getMainLooper()); + } + + /* ========================================================================================== + * Public utilities + * ========================================================================================== */ + + /** + * Set the crypto events listener, or remove it + * + * @param listener the listener or null to remove the listener + */ + public void setCryptoEventsListener(@Nullable IMXEventListener listener) { + mCryptoEventsListener = listener; + } + + /** + * Add a listener to the listeners list. + * + * @param listener the listener to add. + */ + public void addListener(IMXEventListener listener) { + mEventListeners.add(listener); + } + + /** + * Remove a listener from the listeners list. + * + * @param listener to remove. + */ + public void removeListener(IMXEventListener listener) { + mEventListeners.remove(listener); + } + + /** + * Remove any listener + */ + public void clearListeners() { + mEventListeners.clear(); + } + + /* ========================================================================================== + * Dispatchers + * ========================================================================================== */ + + public void dispatchOnStoreReady() { + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onStoreReady(); + } catch (Exception e) { + Log.e(LOG_TAG, "onStoreReady " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnAccountInfoUpdate(final MyUser myUser) { + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onAccountInfoUpdate(myUser); + } catch (Exception e) { + Log.e(LOG_TAG, "onAccountInfoUpdate " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnPresenceUpdate(final Event event, final User user) { + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onPresenceUpdate(event, user); + } catch (Exception e) { + Log.e(LOG_TAG, "onPresenceUpdate " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnLiveEvent(final Event event, final RoomState roomState) { + if (null != mCryptoEventsListener) { + mCryptoEventsListener.onLiveEvent(event, roomState); + } + + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onLiveEvent(event, roomState); + } catch (Exception e) { + Log.e(LOG_TAG, "onLiveEvent " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnLiveEventsChunkProcessed(final String startToken, final String toToken) { + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onLiveEventsChunkProcessed(startToken, toToken); + } catch (Exception e) { + Log.e(LOG_TAG, "onLiveEventsChunkProcessed " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnBingEvent(final Event event, final RoomState roomState, final BingRule bingRule, boolean ignoreEvent) { + if (ignoreEvent) { + return; + } + + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onBingEvent(event, roomState, bingRule); + } catch (Exception e) { + Log.e(LOG_TAG, "onBingEvent " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnEventSentStateUpdated(final Event event, boolean ignoreEvent) { + if (ignoreEvent) { + return; + } + + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onEventSentStateUpdated(event); + } catch (Exception e) { + Log.e(LOG_TAG, "onEventSentStateUpdated " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnEventSent(final Event event, final String prevEventId, boolean ignoreEvent) { + if (ignoreEvent) { + return; + } + + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onEventSent(event, prevEventId); + } catch (Exception e) { + Log.e(LOG_TAG, "onEventSent " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnBingRulesUpdate() { + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onBingRulesUpdate(); + } catch (Exception e) { + Log.e(LOG_TAG, "onBingRulesUpdate " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnInitialSyncComplete(final String toToken) { + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onInitialSyncComplete(toToken); + } catch (Exception e) { + Log.e(LOG_TAG, "onInitialSyncComplete " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnCryptoSyncComplete() { + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onCryptoSyncComplete(); + } catch (Exception e) { + Log.e(LOG_TAG, "OnCryptoSyncComplete " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnSyncError(final MatrixError matrixError) { + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onSyncError(matrixError); + } catch (Exception e) { + Log.e(LOG_TAG, "onSyncError " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnNewRoom(final String roomId, boolean ignoreEvent) { + if (ignoreEvent) { + return; + } + + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onNewRoom(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "onNewRoom " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnJoinRoom(final String roomId, boolean ignoreEvent) { + if (ignoreEvent) { + return; + } + + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onJoinRoom(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "onJoinRoom " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnRoomInternalUpdate(final String roomId, boolean ignoreEvent) { + if (ignoreEvent) { + return; + } + + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onRoomInternalUpdate(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "onRoomInternalUpdate " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnLeaveRoom(final String roomId, boolean ignoreEvent) { + if (ignoreEvent) { + return; + } + + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onLeaveRoom(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "onLeaveRoom " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnRoomKick(final String roomId, boolean ignoreEvent) { + if (ignoreEvent) { + return; + } + + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onRoomKick(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "onRoomKick " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnReceiptEvent(final String roomId, final List senderIds, boolean ignoreEvent) { + if (ignoreEvent) { + return; + } + + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onReceiptEvent(roomId, senderIds); + } catch (Exception e) { + Log.e(LOG_TAG, "onReceiptEvent " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnRoomTagEvent(final String roomId, boolean ignoreEvent) { + if (ignoreEvent) { + return; + } + + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onRoomTagEvent(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "onRoomTagEvent " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnReadMarkerEvent(final String roomId, boolean ignoreEvent) { + if (ignoreEvent) { + return; + } + + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onReadMarkerEvent(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "onReadMarkerEvent " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnRoomFlush(final String roomId, boolean ignoreEvent) { + if (ignoreEvent) { + return; + } + + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onRoomFlush(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "onRoomFlush " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnIgnoredUsersListUpdate() { + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onIgnoredUsersListUpdate(); + } catch (Exception e) { + Log.e(LOG_TAG, "onIgnoredUsersListUpdate " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnToDeviceEvent(final Event event, boolean ignoreEvent) { + if (null != mCryptoEventsListener) { + mCryptoEventsListener.onToDeviceEvent(event); + } + + if (ignoreEvent) { + return; + } + + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onToDeviceEvent(event); + } catch (Exception e) { + Log.e(LOG_TAG, "OnToDeviceEvent " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnDirectMessageChatRoomsListUpdate() { + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onDirectMessageChatRoomsListUpdate(); + } catch (Exception e) { + Log.e(LOG_TAG, "onDirectMessageChatRoomsListUpdate " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnEventDecrypted(final Event event) { + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onEventDecrypted(event); + } catch (Exception e) { + Log.e(LOG_TAG, "onDecryptedEvent " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnNewGroupInvitation(final String groupId) { + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onNewGroupInvitation(groupId); + } catch (Exception e) { + Log.e(LOG_TAG, "onNewGroupInvitation " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnJoinGroup(final String groupId) { + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onJoinGroup(groupId); + } catch (Exception e) { + Log.e(LOG_TAG, "onJoinGroup " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnLeaveGroup(final String groupId) { + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onLeaveGroup(groupId); + } catch (Exception e) { + Log.e(LOG_TAG, "onLeaveGroup " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnGroupProfileUpdate(final String groupId) { + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onGroupProfileUpdate(groupId); + } catch (Exception e) { + Log.e(LOG_TAG, "onGroupProfileUpdate " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnGroupRoomsListUpdate(final String groupId) { + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onGroupRoomsListUpdate(groupId); + } catch (Exception e) { + Log.e(LOG_TAG, "onGroupRoomsListUpdate " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnGroupUsersListUpdate(final String groupId) { + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onGroupUsersListUpdate(groupId); + } catch (Exception e) { + Log.e(LOG_TAG, "onGroupUsersListUpdate " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnGroupInvitedUsersListUpdate(final String groupId) { + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onGroupInvitedUsersListUpdate(groupId); + } catch (Exception e) { + Log.e(LOG_TAG, "onGroupInvitedUsersListUpdate " + e.getMessage(), e); + } + } + } + }); + } + + public void dispatchOnNotificationCountUpdate(final String roomId, boolean ignoreEvent) { + if (ignoreEvent) { + return; + } + + final List eventListeners = getListenersSnapshot(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + for (IMXEventListener listener : eventListeners) { + try { + listener.onNotificationCountUpdate(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "onNotificationCountUpdate " + e.getMessage(), e); + } + } + } + }); + } + + /* ========================================================================================== + * Private + * ========================================================================================== */ + + /** + * @return the current MXEvents listeners. + */ + private List getListenersSnapshot() { + List eventListeners; + + synchronized (this) { + eventListeners = new ArrayList<>(mEventListeners); + } + + return eventListeners; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/RestClient.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/RestClient.java new file mode 100644 index 00000000..70b8b3a2 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/RestClient.java @@ -0,0 +1,415 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy; + +import android.content.Context; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.annotation.VisibleForTesting; +import android.text.TextUtils; +import android.util.Pair; + +import com.google.gson.Gson; + +import java.io.IOException; +import java.util.concurrent.TimeUnit; + +import javax.net.ssl.SSLSocketFactory; +import javax.net.ssl.X509TrustManager; + +import im.vector.matrix.android.BuildConfig; +import im.vector.matrix.android.internal.legacy.listeners.IMXNetworkEventListener; +import im.vector.matrix.android.internal.legacy.network.NetworkConnectivityReceiver; +import im.vector.matrix.android.internal.legacy.rest.client.MXRestExecutorService; +import im.vector.matrix.android.internal.legacy.rest.model.login.Credentials; +import im.vector.matrix.android.internal.legacy.ssl.CertUtil; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; +import im.vector.matrix.android.internal.legacy.util.PolymorphicRequestBodyConverter; +import im.vector.matrix.android.internal.legacy.util.UnsentEventsManager; +import okhttp3.Dispatcher; +import okhttp3.Interceptor; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; +import okhttp3.logging.HttpLoggingInterceptor; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; + +/** + * Class for making Matrix API calls. + */ +public class RestClient { + private static final String LOG_TAG = RestClient.class.getSimpleName(); + + public static final String URI_API_PREFIX_PATH_MEDIA_R0 = "_matrix/media/r0/"; + public static final String URI_API_PREFIX_PATH_MEDIA_PROXY_UNSTABLE = "_matrix/media_proxy/unstable/"; + public static final String URI_API_PREFIX_PATH = "_matrix/client/"; + public static final String URI_API_PREFIX_PATH_R0 = "_matrix/client/r0/"; + public static final String URI_API_PREFIX_PATH_UNSTABLE = "_matrix/client/unstable/"; + + /** + * Prefix used in path of identity server API requests. + */ + public static final String URI_API_PREFIX_IDENTITY = "_matrix/identity/api/v1/"; + + /** + * List the servers which should be used to define the base url. + */ + public enum EndPointServer { + HOME_SERVER, + IDENTITY_SERVER, + ANTIVIRUS_SERVER + } + + protected static final int CONNECTION_TIMEOUT_MS = 30000; + private static final int READ_TIMEOUT_MS = 60000; + private static final int WRITE_TIMEOUT_MS = 60000; + + protected Credentials mCredentials; + + protected T mApi; + + protected Gson gson; + + protected UnsentEventsManager mUnsentEventsManager; + + protected HomeServerConnectionConfig mHsConfig; + + // unitary tests only + public static boolean mUseMXExecutor = false; + + // the user agent + private static String sUserAgent = null; + + // http client + private OkHttpClient mOkHttpClient = new OkHttpClient(); + + public RestClient(HomeServerConnectionConfig hsConfig, Class type, String uriPrefix, boolean withNullSerialization) { + this(hsConfig, type, uriPrefix, withNullSerialization, EndPointServer.HOME_SERVER); + } + + /** + * Public constructor. + * + * @param hsConfig the home server configuration. + * @param type the REST type + * @param uriPrefix the URL request prefix + * @param withNullSerialization true to serialise class member with null value + * @param useIdentityServer true to use the identity server URL as base request + */ + public RestClient(HomeServerConnectionConfig hsConfig, Class type, String uriPrefix, boolean withNullSerialization, boolean useIdentityServer) { + this(hsConfig, type, uriPrefix, withNullSerialization, useIdentityServer ? EndPointServer.IDENTITY_SERVER : EndPointServer.HOME_SERVER); + } + + /** + * Public constructor. + * + * @param hsConfig the home server configuration. + * @param type the REST type + * @param uriPrefix the URL request prefix + * @param withNullSerialization true to serialise class member with null value + * @param endPointServer tell which server is used to define the base url + */ + public RestClient(HomeServerConnectionConfig hsConfig, Class type, String uriPrefix, boolean withNullSerialization, EndPointServer endPointServer) { + // The JSON -> object mapper + gson = JsonUtils.getGson(withNullSerialization); + + mHsConfig = hsConfig; + mCredentials = hsConfig.getCredentials(); + + Interceptor authentInterceptor = new Interceptor() { + + @Override + public Response intercept(Chain chain) throws IOException { + Request request = chain.request(); + Request.Builder newRequestBuilder = request.newBuilder(); + if (null != sUserAgent) { + // set a custom user agent + newRequestBuilder.addHeader("User-Agent", sUserAgent); + } + + // Add the access token to all requests if it is set + if ((mCredentials != null) && (mCredentials.accessToken != null)) { + newRequestBuilder.addHeader("Authorization", "Bearer " + mCredentials.accessToken); + } + + request = newRequestBuilder.build(); + + return chain.proceed(request); + } + }; + + // TODO Remove this, seems so useless + Interceptor connectivityInterceptor = new Interceptor() { + @Override + public Response intercept(Chain chain) throws IOException { + if (mUnsentEventsManager != null + && mUnsentEventsManager.getNetworkConnectivityReceiver() != null + && !mUnsentEventsManager.getNetworkConnectivityReceiver().isConnected()) { + throw new IOException("Not connected"); + } + return chain.proceed(chain.request()); + } + }; + + OkHttpClient.Builder okHttpClientBuilder = new OkHttpClient().newBuilder() + .connectTimeout(CONNECTION_TIMEOUT_MS, TimeUnit.MILLISECONDS) + .readTimeout(READ_TIMEOUT_MS, TimeUnit.MILLISECONDS) + .writeTimeout(WRITE_TIMEOUT_MS, TimeUnit.MILLISECONDS) + .addInterceptor(authentInterceptor) + .addInterceptor(connectivityInterceptor); + + if (BuildConfig.DEBUG) { + HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor(); + loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BASIC); + okHttpClientBuilder + .addInterceptor(loggingInterceptor); + } + + + if (mUseMXExecutor) { + okHttpClientBuilder.dispatcher(new Dispatcher(new MXRestExecutorService())); + } + + try { + Pair pair = CertUtil.newPinnedSSLSocketFactory(hsConfig); + okHttpClientBuilder.sslSocketFactory(pair.first, pair.second); + okHttpClientBuilder.hostnameVerifier(CertUtil.newHostnameVerifier(hsConfig)); + okHttpClientBuilder.connectionSpecs(CertUtil.newConnectionSpecs(hsConfig)); + } catch (Exception e) { + Log.e(LOG_TAG, "## RestClient() setSslSocketFactory failed" + e.getMessage(), e); + } + + mOkHttpClient = okHttpClientBuilder.build(); + final String endPoint = makeEndpoint(hsConfig, uriPrefix, endPointServer); + + // Rest adapter for turning API interfaces into actual REST-calling objects + Retrofit.Builder builder = new Retrofit.Builder() + .baseUrl(endPoint) + .addConverterFactory(PolymorphicRequestBodyConverter.FACTORY) + .addConverterFactory(GsonConverterFactory.create(gson)) + .client(mOkHttpClient); + + Retrofit retrofit = builder.build(); + + mApi = retrofit.create(type); + } + + @NonNull + private String makeEndpoint(HomeServerConnectionConfig hsConfig, String uriPrefix, EndPointServer endPointServer) { + String baseUrl; + switch (endPointServer) { + case IDENTITY_SERVER: + baseUrl = hsConfig.getIdentityServerUri().toString(); + break; + case ANTIVIRUS_SERVER: + baseUrl = hsConfig.getAntiVirusServerUri().toString(); + break; + case HOME_SERVER: + default: + baseUrl = hsConfig.getHomeserverUri().toString(); + + } + baseUrl = sanitizeBaseUrl(baseUrl); + String dynamicPath = sanitizeDynamicPath(uriPrefix); + return baseUrl + dynamicPath; + } + + private String sanitizeBaseUrl(String baseUrl) { + if (baseUrl.endsWith("/")) { + return baseUrl; + } + return baseUrl + "/"; + } + + private String sanitizeDynamicPath(String dynamicPath) { + // remove any trailing http in the uri prefix + if (dynamicPath.startsWith("http://")) { + dynamicPath = dynamicPath.substring("http://".length()); + } else if (dynamicPath.startsWith("https://")) { + dynamicPath = dynamicPath.substring("https://".length()); + } + return dynamicPath; + } + + /** + * Create an user agent with the application version. + * Ex: Riot/0.8.12 (Linux; U; Android 6.0.1; SM-A510F Build/MMB29; Flavour FDroid; MatrixAndroidSDK 0.9.6) + * + * @param appContext the application context + */ + public static void initUserAgent(Context appContext) { + String appName = ""; + String appVersion = ""; + + if (null != appContext) { + try { + PackageManager pm = appContext.getPackageManager(); + ApplicationInfo appInfo = pm.getApplicationInfo(appContext.getApplicationContext().getPackageName(), 0); + appName = pm.getApplicationLabel(appInfo).toString(); + + PackageInfo pkgInfo = pm.getPackageInfo(appContext.getApplicationContext().getPackageName(), 0); + appVersion = pkgInfo.versionName; + } catch (Exception e) { + Log.e(LOG_TAG, "## initUserAgent() : failed " + e.getMessage(), e); + } + } + + sUserAgent = System.getProperty("http.agent"); + + // cannot retrieve the application version + if (TextUtils.isEmpty(appName) || TextUtils.isEmpty(appVersion)) { + if (null == sUserAgent) { + sUserAgent = "Java" + System.getProperty("java.version"); + } + return; + } + + // if there is no user agent or cannot parse it + if ((null == sUserAgent) || (sUserAgent.lastIndexOf(")") == -1) || (sUserAgent.indexOf("(") == -1)) { + sUserAgent = appName + "/" + appVersion + "; MatrixAndroidSDK " + BuildConfig.VERSION_NAME + ")"; + } else { + // update + sUserAgent = appName + "/" + appVersion + " " + + sUserAgent.substring(sUserAgent.indexOf("("), sUserAgent.lastIndexOf(")") - 1) + + "; MatrixAndroidSDK " + BuildConfig.VERSION_NAME + ")"; + } + } + + /** + * Get the current user agent + * + * @return the current user agent, or null in case of error or if not initialized yet + */ + @Nullable + public static String getUserAgent() { + return sUserAgent; + } + + /** + * Refresh the connection timeouts. + * + * @param networkConnectivityReceiver the network connectivity receiver + */ + private void refreshConnectionTimeout(NetworkConnectivityReceiver networkConnectivityReceiver) { + OkHttpClient.Builder builder = mOkHttpClient.newBuilder(); + + if (networkConnectivityReceiver.isConnected()) { + float factor = networkConnectivityReceiver.getTimeoutScale(); + + builder + .connectTimeout((int) (CONNECTION_TIMEOUT_MS * factor), TimeUnit.MILLISECONDS) + .readTimeout((int) (READ_TIMEOUT_MS * factor), TimeUnit.MILLISECONDS) + .writeTimeout((int) (WRITE_TIMEOUT_MS * factor), TimeUnit.MILLISECONDS); + + Log.d(LOG_TAG, "## refreshConnectionTimeout() : update setConnectTimeout to " + (CONNECTION_TIMEOUT_MS * factor) + " ms"); + Log.d(LOG_TAG, "## refreshConnectionTimeout() : update setReadTimeout to " + (READ_TIMEOUT_MS * factor) + " ms"); + Log.d(LOG_TAG, "## refreshConnectionTimeout() : update setWriteTimeout to " + (WRITE_TIMEOUT_MS * factor) + " ms"); + } else { + builder.connectTimeout(1, TimeUnit.MILLISECONDS); + Log.d(LOG_TAG, "## refreshConnectionTimeout() : update the requests timeout to 1 ms"); + } + + // FIXME It has no effect to the rest client + mOkHttpClient = builder.build(); + } + + /** + * Update the connection timeout + * + * @param aTimeoutMs the connection timeout + */ + protected void setConnectionTimeout(int aTimeoutMs) { + int timeoutMs = aTimeoutMs; + + if (null != mUnsentEventsManager) { + NetworkConnectivityReceiver networkConnectivityReceiver = mUnsentEventsManager.getNetworkConnectivityReceiver(); + + if (null != networkConnectivityReceiver) { + if (networkConnectivityReceiver.isConnected()) { + timeoutMs *= networkConnectivityReceiver.getTimeoutScale(); + } else { + timeoutMs = 1000; + } + } + } + + if (timeoutMs != mOkHttpClient.connectTimeoutMillis()) { + // FIXME It has no effect to the rest client + mOkHttpClient = mOkHttpClient.newBuilder().connectTimeout(timeoutMs, TimeUnit.MILLISECONDS).build(); + } + } + + /** + * Set the unsentEvents manager. + * + * @param unsentEventsManager The unsentEvents manager. + */ + public void setUnsentEventsManager(UnsentEventsManager unsentEventsManager) { + mUnsentEventsManager = unsentEventsManager; + + final NetworkConnectivityReceiver networkConnectivityReceiver = mUnsentEventsManager.getNetworkConnectivityReceiver(); + refreshConnectionTimeout(networkConnectivityReceiver); + + networkConnectivityReceiver.addEventListener(new IMXNetworkEventListener() { + @Override + public void onNetworkConnectionUpdate(boolean isConnected) { + Log.d(LOG_TAG, "## setUnsentEventsManager() : update the requests timeout to " + (isConnected ? CONNECTION_TIMEOUT_MS : 1) + " ms"); + refreshConnectionTimeout(networkConnectivityReceiver); + } + }); + } + + /** + * Get the user's credentials. Typically for saving them somewhere persistent. + * + * @return the user credentials + */ + public Credentials getCredentials() { + return mCredentials; + } + + /** + * Provide the user's credentials. To be called after login or registration. + * + * @param credentials the user credentials + */ + public void setCredentials(Credentials credentials) { + mCredentials = credentials; + } + + /** + * Default protected constructor for unit tests. + */ + protected RestClient() { + } + + /** + * Protected setter for injection by unit tests. + * + * @param api the api object + */ + @VisibleForTesting() + protected void setApi(T api) { + mApi = api; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/CallSoundsManager.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/CallSoundsManager.java new file mode 100644 index 00000000..9f93f54c --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/CallSoundsManager.java @@ -0,0 +1,797 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.call; + +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import android.media.AudioManager; +import android.media.MediaPlayer; +import android.media.Ringtone; +import android.media.RingtoneManager; +import android.net.Uri; +import android.os.Environment; +import android.os.Vibrator; +import android.provider.MediaStore; + +import im.vector.matrix.android.R; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +/** + * This class manages the call sound. + * It is in charge of playing ring tones and managing the audio focus. + */ +public class CallSoundsManager { + private static final String LOG_TAG = CallSoundsManager.class.getSimpleName(); + + /** + * Track the audio focus update. + */ + public interface OnAudioFocusListener { + /** + * Call back indicating new focus events (ex: {@link AudioManager#AUDIOFOCUS_GAIN}, + * {@link AudioManager#AUDIOFOCUS_LOSS}..). + * + * @param aFocusEvent the focus event (see {@link AudioManager.OnAudioFocusChangeListener}) + */ + void onFocusChanged(int aFocusEvent); + } + + /** + * Track the audio configuration change (like speaker, micro and so on). + */ + public interface OnAudioConfigurationUpdateListener { + void onAudioConfigurationUpdate(); + } + + /** + * Track the media statuses. + */ + public interface OnMediaListener { + + /** + * The media is ready to be played + */ + void onMediaReadyToPlay(); + + /** + * The media is playing. + */ + void onMediaPlay(); + + /** + * The media has been played + */ + void onMediaCompleted(); + } + + private static CallSoundsManager mSharedInstance = null; + private final Context mContext; + + /** + * Constructor + * + * @param context the context + */ + private CallSoundsManager(Context context) { + mContext = context; + } + + /** + * Provides the shared instance. + * + * @param context the context + * @return the shared instance + */ + public static CallSoundsManager getSharedInstance(Context context) { + if (null == mSharedInstance) { + mSharedInstance = new CallSoundsManager(context.getApplicationContext()); + } + + return mSharedInstance; + } + + //============================================================================================================== + // Audio configuration management + //============================================================================================================== + // audio focus management + private final Set mOnAudioConfigurationUpdateListener = new HashSet<>(); + + /** + * Add an audio configuration update listener. + * + * @param listener the listener. + */ + public void addAudioConfigurationListener(OnAudioConfigurationUpdateListener listener) { + synchronized (LOG_TAG) { + mOnAudioConfigurationUpdateListener.add(listener); + } + } + + /** + * Remove an audio configuration update listener. + * + * @param listener the listener. + */ + public void removeAudioConfigurationListener(OnAudioConfigurationUpdateListener listener) { + synchronized (LOG_TAG) { + mOnAudioConfigurationUpdateListener.remove(listener); + } + } + + /** + * Dispatch that the audio configuration has been updated. + */ + private void dispatchAudioConfigurationUpdate() { + synchronized (LOG_TAG) { + // notify listeners + for (OnAudioConfigurationUpdateListener listener : mOnAudioConfigurationUpdateListener) { + try { + listener.onAudioConfigurationUpdate(); + } catch (Exception e) { + Log.e(LOG_TAG, "## dispatchAudioConfigurationUpdate() failed " + e.getMessage(), e); + } + } + } + } + + //============================================================================================================== + // Focus management + //============================================================================================================== + + // audio focus management + private final Set mAudioFocusListeners = new HashSet<>(); + + private final AudioManager.OnAudioFocusChangeListener mFocusListener = new AudioManager.OnAudioFocusChangeListener() { + @Override + public void onAudioFocusChange(int aFocusEvent) { + switch (aFocusEvent) { + case AudioManager.AUDIOFOCUS_GAIN: + Log.d(LOG_TAG, "## OnAudioFocusChangeListener(): AUDIOFOCUS_GAIN"); + // TODO resume voip call (ex: ending GSM call) + break; + + case AudioManager.AUDIOFOCUS_LOSS: + Log.d(LOG_TAG, "## OnAudioFocusChangeListener(): AUDIOFOCUS_LOSS"); + // TODO pause voip call (ex: incoming GSM call) + break; + + case AudioManager.AUDIOFOCUS_GAIN_TRANSIENT: + Log.d(LOG_TAG, "## OnAudioFocusChangeListener(): AUDIOFOCUS_GAIN_TRANSIENT"); + break; + + case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT: + Log.d(LOG_TAG, "## OnAudioFocusChangeListener(): AUDIOFOCUS_LOSS_TRANSIENT"); + // TODO pause voip call (ex: incoming GSM call) + break; + + case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK: + // TODO : continue playing at an attenuated level + Log.d(LOG_TAG, "## OnAudioFocusChangeListener(): AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK"); + break; + + case AudioManager.AUDIOFOCUS_REQUEST_FAILED: + Log.d(LOG_TAG, "## OnAudioFocusChangeListener(): AUDIOFOCUS_REQUEST_FAILED"); + break; + + default: + break; + } + + synchronized (LOG_TAG) { + // notify listeners + for (OnAudioFocusListener listener : mAudioFocusListeners) { + try { + listener.onFocusChanged(aFocusEvent); + } catch (Exception e) { + Log.e(LOG_TAG, "## onFocusChanged() failed " + e.getMessage(), e); + } + } + } + } + }; + + /** + * Add a focus listener. + * + * @param focusListener the listener. + */ + public void addFocusListener(OnAudioFocusListener focusListener) { + synchronized (LOG_TAG) { + mAudioFocusListeners.add(focusListener); + } + } + + /** + * Remove a focus listener. + * + * @param focusListener the listener. + */ + public void removeFocusListener(OnAudioFocusListener focusListener) { + synchronized (LOG_TAG) { + mAudioFocusListeners.remove(focusListener); + } + } + + //============================================================================================================== + // Ringtone management management + //============================================================================================================== + + /** + * @return the audio manager + */ + private AudioManager getAudioManager() { + if (null == mAudioManager) { + mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE); + } + + return mAudioManager; + } + + // audio focus + private boolean mIsFocusGranted = false; + + private static final int VIBRATE_DURATION = 500; // milliseconds + private static final int VIBRATE_SLEEP = 1000; // milliseconds + private static final long[] VIBRATE_PATTERN = {0, VIBRATE_DURATION, VIBRATE_SLEEP}; + + private Ringtone mRingTone; + private boolean mIsRinging; + private MediaPlayer mMediaPlayer = null; + + // the audio manager (do not use directly, use getAudioManager()) + private AudioManager mAudioManager = null; + + // the playing sound + private int mPlayingSound = -1; + + /** + * Tells that the device is ringing. + * + * @return true if the device is ringing + */ + public boolean isRinging() { + return mIsRinging; + } + + /** + * Getter method. + * + * @return true is focus is granted, false otherwise. + */ + public boolean isFocusGranted() { + return mIsFocusGranted; + } + + /** + * Stop any playing sound. + */ + public void stopSounds() { + mIsRinging = false; + + if (null != mRingTone) { + mRingTone.stop(); + mRingTone = null; + } + + if (null != mMediaPlayer) { + if (mMediaPlayer.isPlaying()) { + mMediaPlayer.stop(); + } + + mMediaPlayer.release(); + mMediaPlayer = null; + } + + mPlayingSound = -1; + + // stop vibrate + enableVibrating(false); + } + + /** + * Stop the ringing sound + */ + public void stopRinging() { + Log.d(LOG_TAG, "stopRinging"); + stopSounds(); + + // stop vibrate + enableVibrating(false); + } + + /** + * Request a permanent audio focus if the focus was not yet granted. + */ + public void requestAudioFocus() { + if (!mIsFocusGranted) { + int focusResult; + AudioManager audioMgr; + + if ((null != (audioMgr = getAudioManager()))) { + // Request permanent audio focus for voice call + focusResult = audioMgr.requestAudioFocus(mFocusListener, AudioManager.STREAM_VOICE_CALL, AudioManager.AUDIOFOCUS_GAIN); + + if (AudioManager.AUDIOFOCUS_REQUEST_GRANTED == focusResult) { + mIsFocusGranted = true; + Log.d(LOG_TAG, "## getAudioFocus(): granted"); + } else { + mIsFocusGranted = false; + Log.w(LOG_TAG, "## getAudioFocus(): refused - focusResult=" + focusResult); + } + } + + dispatchAudioConfigurationUpdate(); + } else { + Log.d(LOG_TAG, "## getAudioFocus(): already granted"); + } + } + + /** + * Release the audio focus if it was granted. + */ + public void releaseAudioFocus() { + if (mIsFocusGranted) { + AudioManager audioManager = getAudioManager(); + + if ((null != audioManager)) { + // release focus + int abandonResult = audioManager.abandonAudioFocus(mFocusListener); + + if (AudioManager.AUDIOFOCUS_REQUEST_GRANTED == abandonResult) { + Log.d(LOG_TAG, "## releaseAudioFocus(): abandonAudioFocus = AUDIOFOCUS_REQUEST_GRANTED"); + } + + if (AudioManager.AUDIOFOCUS_REQUEST_FAILED == abandonResult) { + Log.d(LOG_TAG, "## releaseAudioFocus(): abandonAudioFocus = AUDIOFOCUS_REQUEST_FAILED"); + } + } else { + Log.d(LOG_TAG, "## releaseAudioFocus(): failure - invalid AudioManager"); + } + + mIsFocusGranted = false; + } + + restoreAudioConfig(); + dispatchAudioConfigurationUpdate(); + } + + /** + * Start the ringing sound. + * + * @param resId the ring sound id + * @param filename the filename to save the ringtone + */ + public void startRinging(int resId, String filename) { + Log.v(LOG_TAG, "startRinging"); + if (mRingTone != null) { + Log.v(LOG_TAG, "ring tone already ringing"); + } + // stop any playing ringtone + stopSounds(); + mIsRinging = true; + // use the ringTone to manage sound volume properly + mRingTone = getRingTone(mContext, resId, filename, RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE)); + if (mRingTone != null) { + setSpeakerphoneOn(false, true); + mRingTone.play(); + } else { + Log.e(LOG_TAG, "startRinging : fail to retrieve RING_TONE_START_RINGING"); + } + // start vibrate + enableVibrating(true); + } + + /** + * Same than {@link #startRinging(int, String)}}, but do not play sound, nor vibrate. + */ + public void startRingingSilently() { + mIsRinging = true; + } + + /** + * Enable the vibrate mode. + * + * @param aIsVibrateEnabled true to force vibrate, false to stop vibrate. + */ + private void enableVibrating(boolean aIsVibrateEnabled) { + Vibrator vibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE); + + if ((null != vibrator) && vibrator.hasVibrator()) { + if (aIsVibrateEnabled) { + vibrator.vibrate(VIBRATE_PATTERN, 0 /*repeat till stop*/); + Log.d(LOG_TAG, "## startVibrating(): Vibrate started"); + } else { + vibrator.cancel(); + Log.d(LOG_TAG, "## startVibrating(): Vibrate canceled"); + } + } else { + Log.w(LOG_TAG, "## startVibrating(): vibrator access failed"); + } + } + + /** + * Start a sound. + * + * @param resId the sound resource id + * @param isLooping true to loop + * @param listener the listener + */ + public void startSound(int resId, boolean isLooping, final OnMediaListener listener) { + Log.d(LOG_TAG, "startSound"); + + if (mPlayingSound == resId) { + Log.d(LOG_TAG, "## startSound() : already playing " + resId); + return; + } + + stopSounds(); + mPlayingSound = resId; + + mMediaPlayer = MediaPlayer.create(mContext, resId); + + if (null != mMediaPlayer) { + mMediaPlayer.setLooping(isLooping); + + if (null != listener) { + listener.onMediaReadyToPlay(); + } + + mMediaPlayer.start(); + + if (null != listener) { + listener.onMediaPlay(); + } + + mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { + @Override + public void onCompletion(MediaPlayer mp) { + if (null != listener) { + listener.onMediaCompleted(); + } + mPlayingSound = -1; + + if (null != mMediaPlayer) { + mMediaPlayer.release(); + mMediaPlayer = null; + } + } + }); + + } else { + Log.e(LOG_TAG, "startSound : failed"); + } + } + + //============================================================================================================== + // resid / filenime to ringtone + //============================================================================================================== + + private static final Map mRingtoneUrlByFileName = new HashMap<>(); + + /** + * Provide a ringtone uri from a resource and a filename. + * + * @param context the context + * @param resId The audio resource. + * @param filename the audio filename + * @return the ringtone uri + */ + private static Uri getRingToneUri(Context context, int resId, String filename) { + Uri ringToneUri = mRingtoneUrlByFileName.get(filename); + // test if the ring tone has been cached + + if (null != ringToneUri) { + // check if the file exists + try { + File ringFile = new File(ringToneUri.toString()); + + // check if the file exists + if ((null != ringFile) && ringFile.exists() && ringFile.canRead()) { + // provide it + return ringToneUri; + } + } catch (Exception e) { + Log.e(LOG_TAG, "## getRingToneUri() failed " + e.getMessage(), e); + } + } + + try { + File directory = new File(Environment.getExternalStorageDirectory(), "/" + context.getApplicationContext().getPackageName().hashCode() + "/Audio/"); + + // create the directory if it does not exist + if (!directory.exists()) { + directory.mkdirs(); + } + + File file = new File(directory + "/", filename); + + // if the file exists, check if the resource has been created + if (file.exists()) { + Cursor cursor = context.getContentResolver().query( + MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, + new String[]{MediaStore.Audio.Media._ID}, + MediaStore.Audio.Media.DATA + "=? ", + new String[]{file.getAbsolutePath()}, null); + + if ((null != cursor) && cursor.moveToFirst()) { + int id = cursor.getInt(cursor.getColumnIndex(MediaStore.MediaColumns._ID)); + ringToneUri = Uri.withAppendedPath(Uri.parse("content://media/external/audio/media"), "" + id); + } + + if (null != cursor) { + cursor.close(); + } + } + + // the Uri has been retrieved + if (null == ringToneUri) { + // create the file + if (!file.exists()) { + try { + byte[] readData = new byte[1024]; + InputStream fis = context.getResources().openRawResource(resId); + FileOutputStream fos = new FileOutputStream(file); + int i = fis.read(readData); + + while (i != -1) { + fos.write(readData, 0, i); + i = fis.read(readData); + } + + fos.close(); + } catch (Exception e) { + Log.e(LOG_TAG, "## getRingToneUri(): Exception1 Msg=" + e.getMessage(), e); + } + } + + // and the resource Uri + ContentValues values = new ContentValues(); + values.put(MediaStore.MediaColumns.DATA, file.getAbsolutePath()); + values.put(MediaStore.MediaColumns.TITLE, filename); + values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/ogg"); + values.put(MediaStore.MediaColumns.SIZE, file.length()); + values.put(MediaStore.Audio.Media.ARTIST, R.string.app_name); + values.put(MediaStore.Audio.Media.IS_RINGTONE, true); + values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true); + values.put(MediaStore.Audio.Media.IS_ALARM, true); + values.put(MediaStore.Audio.Media.IS_MUSIC, true); + + ringToneUri = context.getContentResolver().insert(MediaStore.Audio.Media.getContentUriForPath(file.getAbsolutePath()), values); + } + + if (null != ringToneUri) { + mRingtoneUrlByFileName.put(filename, ringToneUri); + return ringToneUri; + } + } catch (Exception e) { + Log.e(LOG_TAG, "## getRingToneUri(): Exception2 Msg=" + e.getLocalizedMessage(), e); + } + + return null; + } + + /** + * Retrieve a ringtone from an uri + * + * @param context the context + * @param ringToneUri the ringtone URI + * @return the ringtone + */ + private static Ringtone uriToRingTone(Context context, Uri ringToneUri) { + if (null != ringToneUri) { + try { + return RingtoneManager.getRingtone(context, ringToneUri); + } catch (Exception e) { + Log.e(LOG_TAG, "## uriToRingTone() failed " + e.getMessage(), e); + } + } + + return null; + } + + /** + * Provide a ringtone from a resource and a filename. + * The audio file must have a ANDROID_LOOP metatada set to true to loop the sound. + * + * @param context the context + * @param resId The audio resource. + * @param filename the audio filename + * @param defaultRingToneUri the default ring tone + * @return a RingTone, null if the operation fails. + */ + private static Ringtone getRingTone(Context context, int resId, String filename, Uri defaultRingToneUri) { + Ringtone ringtone = uriToRingTone(context, getRingToneUri(context, resId, filename)); + + if (null == ringtone) { + ringtone = uriToRingTone(context, defaultRingToneUri); + } + + Log.d(LOG_TAG, "getRingTone() : resId " + resId + " filename " + filename + " defaultRingToneUri " + defaultRingToneUri + " returns " + ringtone); + + return ringtone; + } + + //============================================================================================================== + // speakers management + //============================================================================================================== + + // save the audio statuses + private Integer mAudioMode = null; + private Boolean mIsSpeakerphoneOn = null; + + /** + * Back up the current audio config. + */ + private void backupAudioConfig() { + if (null == mAudioMode) { + AudioManager audioManager = getAudioManager(); + + mAudioMode = audioManager.getMode(); + mIsSpeakerphoneOn = audioManager.isSpeakerphoneOn(); + } + } + + /** + * Restore the audio config. + */ + private void restoreAudioConfig() { + // ensure that something has been saved + if ((null != mAudioMode) && (null != mIsSpeakerphoneOn)) { + Log.d(LOG_TAG, "## restoreAudioConfig() starts"); + AudioManager audioManager = getAudioManager(); + + if (mAudioMode != audioManager.getMode()) { + Log.d(LOG_TAG, "## restoreAudioConfig() : restore audio mode " + mAudioMode); + audioManager.setMode(mAudioMode); + } + + if (mIsSpeakerphoneOn != audioManager.isSpeakerphoneOn()) { + Log.d(LOG_TAG, "## restoreAudioConfig() : restore speaker " + mIsSpeakerphoneOn); + audioManager.setSpeakerphoneOn(mIsSpeakerphoneOn); + } + + // stop the bluetooth + if (audioManager.isBluetoothScoOn()) { + Log.d(LOG_TAG, "## restoreAudioConfig() : ends the bluetooth calls"); + audioManager.stopBluetoothSco(); + audioManager.setBluetoothScoOn(false); + } + + mAudioMode = null; + mIsSpeakerphoneOn = null; + + Log.d(LOG_TAG, "## restoreAudioConfig() done"); + } + } + + /** + * Set the speakerphone ON or OFF. + * + * @param isOn true to enable the speaker (ON), false to disable it (OFF) + */ + public void setCallSpeakerphoneOn(boolean isOn) { + setSpeakerphoneOn(true, isOn); + } + + /** + * Save the current speaker status and the audio mode, before updating those + * values. + * The audio mode depends on if there is a call in progress. + * If audio mode set to {@link AudioManager#MODE_IN_COMMUNICATION} and + * a media player is in ON, the media player will reduce its audio level. + * + * @param isInCall true when the speaker is updated during call. + * @param isSpeakerOn true to turn on the speaker (false to turn it off) + */ + public void setSpeakerphoneOn(boolean isInCall, boolean isSpeakerOn) { + Log.d(LOG_TAG, "setCallSpeakerphoneOn " + isSpeakerOn); + + backupAudioConfig(); + + try { + AudioManager audioManager = getAudioManager(); + + int audioMode = isInCall ? AudioManager.MODE_IN_COMMUNICATION : AudioManager.MODE_RINGTONE; + + if (audioManager.getMode() != audioMode) { + audioManager.setMode(audioMode); + } + + if (!isSpeakerOn) { + try { + if (HeadsetConnectionReceiver.isBTHeadsetPlugged()) { + audioManager.startBluetoothSco(); + audioManager.setBluetoothScoOn(true); + } else if (audioManager.isBluetoothScoOn()) { + audioManager.stopBluetoothSco(); + audioManager.setBluetoothScoOn(false); + } + } catch (Exception e) { + Log.e(LOG_TAG, "## setSpeakerphoneOn() failed " + e.getMessage(), e); + } + } + + if (isSpeakerOn != audioManager.isSpeakerphoneOn()) { + audioManager.setSpeakerphoneOn(isSpeakerOn); + } + } catch (Exception e) { + Log.e(LOG_TAG, "## setSpeakerphoneOn() failed " + e.getMessage(), e); + restoreAudioConfig(); + } + + dispatchAudioConfigurationUpdate(); + } + + /** + * Toggle the speaker + */ + public void toggleSpeaker() { + AudioManager audioManager = getAudioManager(); + boolean isOn = !audioManager.isSpeakerphoneOn(); + audioManager.setSpeakerphoneOn(isOn); + + if (!isOn) { + try { + if (HeadsetConnectionReceiver.isBTHeadsetPlugged()) { + audioManager.startBluetoothSco(); + audioManager.setBluetoothScoOn(true); + } else if (audioManager.isBluetoothScoOn()) { + audioManager.stopBluetoothSco(); + audioManager.setBluetoothScoOn(false); + } + } catch (Exception e) { + Log.e(LOG_TAG, "## toggleSpeaker() failed " + e.getMessage(), e); + } + } + + dispatchAudioConfigurationUpdate(); + } + + /** + * @return true if the speaker is turned on. + */ + public boolean isSpeakerphoneOn() { + return getAudioManager().isSpeakerphoneOn(); + } + + /** + * Mute the microphone. + * + * @param mute true to mute the microphone + */ + public void setMicrophoneMute(boolean mute) { + getAudioManager().setMicrophoneMute(mute); + dispatchAudioConfigurationUpdate(); + } + + /** + * @return true if the microphone is mute. + */ + public boolean isMicrophoneMute() { + return getAudioManager().isMicrophoneMute(); + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/HeadsetConnectionReceiver.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/HeadsetConnectionReceiver.java new file mode 100644 index 00000000..3d33ddd2 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/HeadsetConnectionReceiver.java @@ -0,0 +1,235 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.call; + +import android.annotation.SuppressLint; +import android.bluetooth.BluetoothAdapter; +import android.bluetooth.BluetoothDevice; +import android.bluetooth.BluetoothProfile; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.media.AudioManager; +import android.os.Handler; +import android.os.Looper; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.HashSet; +import java.util.Set; + +// this class detect if the headset is plugged / unplugged +public class HeadsetConnectionReceiver extends BroadcastReceiver { + + private static final String LOG_TAG = HeadsetConnectionReceiver.class.getSimpleName(); + + private static Boolean mIsHeadsetPlugged = null; + + private static HeadsetConnectionReceiver mSharedInstance = null; + + /** + * Track the headset update. + */ + public interface OnHeadsetStatusUpdateListener { + /** + * A wire headset has been plugged / unplugged. + * + * @param isPlugged true if the headset is now plugged. + */ + void onWiredHeadsetUpdate(boolean isPlugged); + + /** + * A bluetooth headset is connected. + * + * @param isConnected true if the bluetooth headset is connected. + */ + void onBluetoothHeadsetUpdate(boolean isConnected); + + } + + // listeners + private final Set mListeners = new HashSet<>(); + + public HeadsetConnectionReceiver() { + } + + /** + * @param context the application context + * @return the shared instance + */ + public static HeadsetConnectionReceiver getSharedInstance(Context context) { + if (null == mSharedInstance) { + mSharedInstance = new HeadsetConnectionReceiver(); + context.registerReceiver(mSharedInstance, new IntentFilter(Intent.ACTION_HEADSET_PLUG)); + context.registerReceiver(mSharedInstance, new IntentFilter(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED)); + context.registerReceiver(mSharedInstance, new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED)); + context.registerReceiver(mSharedInstance, new IntentFilter(BluetoothDevice.ACTION_ACL_CONNECTED)); + context.registerReceiver(mSharedInstance, new IntentFilter(BluetoothDevice.ACTION_ACL_DISCONNECTED)); + } + + return mSharedInstance; + } + + /** + * Add a listener. + * + * @param listener the listener to add. + */ + public void addListener(OnHeadsetStatusUpdateListener listener) { + synchronized (LOG_TAG) { + mListeners.add(listener); + } + } + + /** + * Remove a listener. + * + * @param listener the listener to remove. + */ + public void removeListener(OnHeadsetStatusUpdateListener listener) { + synchronized (LOG_TAG) { + mListeners.remove(listener); + } + } + + /** + * Dispatch onBluetoothHeadsetUpdate to the listeners. + * + * @param isConnected true if a bluetooth headset is connected. + */ + private void onBluetoothHeadsetUpdate(boolean isConnected) { + synchronized (LOG_TAG) { + for (OnHeadsetStatusUpdateListener listener : mListeners) { + try { + listener.onBluetoothHeadsetUpdate(isConnected); + } catch (Exception e) { + Log.e(LOG_TAG, "## onBluetoothHeadsetUpdate()) failed " + e.getMessage(), e); + } + } + } + } + + /** + * Dispatch onWireHeadsetUpdate to the listeners. + * + * @param isPlugged true if the wire headset is plugged. + */ + private void onWiredHeadsetUpdate(boolean isPlugged) { + synchronized (LOG_TAG) { + for (OnHeadsetStatusUpdateListener listener : mListeners) { + try { + listener.onWiredHeadsetUpdate(isPlugged); + } catch (Exception e) { + Log.e(LOG_TAG, "## onWiredHeadsetUpdate()) failed " + e.getMessage(), e); + } + } + } + } + + @Override + public void onReceive(final Context aContext, final Intent aIntent) { + Log.d(LOG_TAG, "## onReceive() : " + aIntent.getExtras()); + String action = aIntent.getAction(); + + if (TextUtils.equals(action, Intent.ACTION_HEADSET_PLUG) + || TextUtils.equals(action, BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED) + || TextUtils.equals(action, BluetoothAdapter.ACTION_STATE_CHANGED) + || TextUtils.equals(action, BluetoothDevice.ACTION_ACL_CONNECTED) + || TextUtils.equals(action, BluetoothDevice.ACTION_ACL_DISCONNECTED)) { + + Boolean newState = null; + final boolean isBTHeadsetUpdate; + + if (TextUtils.equals(action, Intent.ACTION_HEADSET_PLUG)) { + int state = aIntent.getIntExtra("state", -1); + + switch (state) { + case 0: + Log.d(LOG_TAG, "Headset is unplugged"); + newState = false; + break; + case 1: + Log.d(LOG_TAG, "Headset is plugged"); + newState = true; + break; + default: + Log.d(LOG_TAG, "undefined state"); + } + isBTHeadsetUpdate = false; + } else { + int state = BluetoothAdapter.getDefaultAdapter().getProfileConnectionState(BluetoothProfile.HEADSET); + + Log.d(LOG_TAG, "bluetooth headset state " + state); + newState = (BluetoothAdapter.STATE_CONNECTED == state); + isBTHeadsetUpdate = mIsHeadsetPlugged != newState; + } + + if (newState != mIsHeadsetPlugged) { + mIsHeadsetPlugged = newState; + + // wait a little else route to BT headset does not work. + new Handler(Looper.getMainLooper()).postDelayed(new Runnable() { + @Override + public void run() { + if (isBTHeadsetUpdate) { + onBluetoothHeadsetUpdate(mIsHeadsetPlugged); + } else { + onWiredHeadsetUpdate(mIsHeadsetPlugged); + } + } + }, 1000); + } + } + } + + private static AudioManager mAudioManager = null; + + /** + * @return the audio manager + */ + private static AudioManager getAudioManager(Context context) { + if (null == mAudioManager) { + mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); + } + + return mAudioManager; + } + + + /** + * @param context the context + * @return true if the headset is plugged + */ + @SuppressLint("Deprecation") + public static boolean isHeadsetPlugged(Context context) { + if (null == mIsHeadsetPlugged) { + AudioManager audioManager = getAudioManager(context); + mIsHeadsetPlugged = isBTHeadsetPlugged() || audioManager.isWiredHeadsetOn(); + } + + return mIsHeadsetPlugged; + } + + /** + * @return true if bluetooth headset is plugged + */ + public static boolean isBTHeadsetPlugged() { + return (BluetoothAdapter.STATE_CONNECTED == BluetoothAdapter.getDefaultAdapter().getProfileConnectionState(BluetoothProfile.HEADSET)); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/IMXCall.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/IMXCall.java new file mode 100644 index 00000000..a0a2c419 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/IMXCall.java @@ -0,0 +1,337 @@ +/* + * Copyright 2015 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.call; + +import android.view.View; + +import com.google.gson.JsonObject; + +import im.vector.matrix.android.internal.legacy.MXSession; +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +/** + * Audio/video call interface. + * See {@link MXWebRtcCall} and {@link MXChromeCall}. + */ +public interface IMXCall { + + // call ending use cases (see {@link #dispatchOnCallEnd}): + int END_CALL_REASON_UNDEFINED = -1; + /** + * the callee has rejected the incoming call + **/ + int END_CALL_REASON_PEER_HANG_UP = 0; + /** + * the callee has rejected the incoming call from another device + **/ + int END_CALL_REASON_PEER_HANG_UP_ELSEWHERE = 1; + /** + * call ended by the local user himself + **/ + int END_CALL_REASON_USER_HIMSELF = 2; + + // call state events + + // the call is an empty shell nothing has been initialized + String CALL_STATE_CREATED = "IMXCall.CALL_STATE_CREATED"; + + // the call view is creating and being inserting. + String CALL_STATE_CREATING_CALL_VIEW = "IMXCall.CALL_STATE_CREATING_CALL_VIEW"; + + // the call view is managed. + // the call can start from now. + String CALL_STATE_READY = "IMXCall.CALL_STATE_READY"; + + // incoming/outgoing calls : initializing the local audio / video + String CALL_STATE_WAIT_LOCAL_MEDIA = "IMXCall.CALL_STATE_WAIT_LOCAL_MEDIA"; + + // incoming calls : the local media is retrieved + String CALL_STATE_WAIT_CREATE_OFFER = "IMXCall.CALL_STATE_WAIT_CREATE_OFFER"; + + // outgoing calls : the call invitation is sent + String CALL_STATE_INVITE_SENT = "IMXCall.CALL_STATE_INVITE_SENT"; + + // the device is ringing + // incoming calls : after applying the incoming params + // outgoing calls : after getting the m.call.invite echo + String CALL_STATE_RINGING = "IMXCall.CALL_STATE_RINGING"; + + // incoming calls : create the call answer + String CALL_STATE_CREATE_ANSWER = "IMXCall.CALL_STATE_CREATE_ANSWER"; + + // the call is connecting + String CALL_STATE_CONNECTING = "IMXCall.CALL_STATE_CONNECTING"; + + // the call is in progress + String CALL_STATE_CONNECTED = "IMXCall.CALL_STATE_CONNECTED"; + + // call is ended + String CALL_STATE_ENDED = "IMXCall.CALL_STATE_ENDED"; + + // error codes + // cannot initialize the camera + String CALL_ERROR_CAMERA_INIT_FAILED = "IMXCall.CALL_ERROR_CAMERA_INIT_FAILED"; + + // cannot initialize the call. + String CALL_ERROR_CALL_INIT_FAILED = "IMXCall.CALL_ERROR_CALL_INIT_FAILED"; + + // ICE error + String CALL_ERROR_ICE_FAILED = "IMXCall.CALL_ERROR_ICE_FAILED"; + + // the user did not respond to the call. + String CALL_ERROR_USER_NOT_RESPONDING = "IMXCall.CALL_ERROR_USER_NOT_RESPONDING"; + + // creator + + /** + * Create the callview + */ + void createCallView(); + + /** + * The activity is paused. + */ + void onPause(); + + /** + * The activity is resumed. + */ + void onResume(); + + // actions (must be done after dispatchOnViewReady() + + /** + * Start a call. + * + * @param aLocalVideoPosition position of the local video attendee + */ + void placeCall(VideoLayoutConfiguration aLocalVideoPosition); + + /** + * Prepare a call reception. + * + * @param aCallInviteParams the invitation Event content + * @param aCallId the call ID + * @param aLocalVideoPosition position of the local video attendee + */ + void prepareIncomingCall(JsonObject aCallInviteParams, String aCallId, VideoLayoutConfiguration aLocalVideoPosition); + + /** + * The call has been detected as an incoming one. + * The application launched the dedicated activity and expects to launch the incoming call. + * + * @param aLocalVideoPosition position of the local video attendee + */ + void launchIncomingCall(VideoLayoutConfiguration aLocalVideoPosition); + + /** + * The video will be displayed according to the values set in aConfigurationToApply. + * + * @param aConfigurationToApply the new position to be applied + */ + void updateLocalVideoRendererPosition(VideoLayoutConfiguration aConfigurationToApply); + + // events thread + + /** + * Manage the call events. + * + * @param event the call event. + */ + void handleCallEvent(Event event); + + // user actions + + /** + * The call is accepted. + */ + void answer(); + + /** + * The call has been has answered on another device. + */ + void onAnsweredElsewhere(); + + /** + * The call is hung up. + * + * @param reason the reason + */ + void hangup(String reason); + + /** + * Add a listener to the call manager. + * + * @param callListener the call listener + */ + void addListener(IMXCallListener callListener); + + /** + * Remove a listener from the call manager. + * + * @param callListener the call listener + */ + void removeListener(IMXCallListener callListener); + + // getters / setters + + /** + * @return the callId + */ + String getCallId(); + + /** + * Set the callId + * + * @param callId the call id + */ + void setCallId(String callId); + + /** + * @return the linked room + */ + Room getRoom(); + + /** + * Set the linked rooms (conference call) + * + * @param room the room + * @param callSignalingRoom the call signaling room. + */ + void setRooms(Room room, Room callSignalingRoom); + + /** + * @return the call signaling room + */ + Room getCallSignalingRoom(); + + /** + * @return the session + */ + MXSession getSession(); + + /** + * @return true if the call is an incoming call. + */ + boolean isIncoming(); + + /** + * Set the call type: video or voice + * + * @param isVideo true for video call, false for VoIP + */ + void setIsVideo(boolean isVideo); + + /** + * @return true if the call is a video call. + */ + boolean isVideo(); + + /** + * Defines the call conference status + * + * @param isConference the conference status + */ + void setIsConference(boolean isConference); + + /** + * @return true if the call is a conference call. + */ + boolean isConference(); + + /** + * @return the callstate (must be a CALL_STATE_XX value) + */ + String getCallState(); + + /** + * @return the callView + */ + View getCallView(); + + /** + * @return the callView visibility + */ + int getVisibility(); + + /** + * Set the callview visibility + * + * @param visibility true to make the callview visible + * @return true if the operation succeeds + */ + boolean setVisibility(int visibility); + + /** + * @return the call start time in ms since epoch, -1 if not defined. + */ + long getCallStartTime(); + + /** + * @return the call elapsed time in seconds, -1 if not defined. + */ + long getCallElapsedTime(); + + /** + * Switch between device cameras. The transmitted stream is modified + * according to the new camera in use. + * If the camera used in the video call is the front one, calling + * switchRearFrontCamera(), will make the rear one to be used, and vice versa. + * If only one camera is available, nothing is done. + * + * @return true if the switch succeed, false otherwise. + */ + boolean switchRearFrontCamera(); + + /** + * Indicate if a camera switch was performed or not. + * For some reason switching the camera from front to rear and + * vice versa, could not be performed (ie. only one camera is available). + *

    + *
    See {@link #switchRearFrontCamera()}. + * + * @return true if camera was switched, false otherwise + */ + boolean isCameraSwitched(); + + /** + * Indicate if the device supports camera switching. + *

    See {@link #switchRearFrontCamera()}. + * + * @return true if switch camera is supported, false otherwise + */ + boolean isSwitchCameraSupported(); + + /** + * Mute/Unmute the recording of the local video attendee. Set isVideoMuted + * to true to enable the recording of the video, if set to false no recording + * is performed. + * + * @param isVideoMuted true to mute the video recording, false to unmute + */ + void muteVideoRecording(boolean isVideoMuted); + + /** + * Return the recording mute status of the local video attendee. + *

    + *
    See {@link #muteVideoRecording(boolean)}. + * + * @return true if video recording is muted, false otherwise + */ + boolean isVideoRecordingMuted(); +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/IMXCallListener.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/IMXCallListener.java new file mode 100644 index 00000000..fd88bad0 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/IMXCallListener.java @@ -0,0 +1,75 @@ +/* + * Copyright 2015 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.call; + +import android.view.View; + +/** + * This class tracks the call update. + */ +public interface IMXCallListener { + + /** + * Called when the call state change + * + * @param state the new call state + */ + void onStateDidChange(String state); + + /** + * Called when the call fails. + * + * @param error the failure reason + */ + void onCallError(String error); + + /** + * The call view has been created. + * It can be inserted in a custom parent view. + * + * @param callView the call view + */ + void onCallViewCreated(View callView); + + /** + * The call view has been inserted. + * The call is ready to be started. + * For an outgoing call, use placeCall(). + * For an incoming call, use launchIncomingCall(). + */ + void onReady(); + + /** + * The call was answered on another device. + */ + void onCallAnsweredElsewhere(); + + /** + * Warn that the call is ended + * + * @param aReasonId the reason of the call ending + */ + void onCallEnd(final int aReasonId); + + /** + * The video preview size has been updated. + * + * @param width the new width (non scaled size) + * @param height the new height (non scaled size) + */ + void onPreviewSizeChanged(int width, int height); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/IMXCallsManagerListener.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/IMXCallsManagerListener.java new file mode 100644 index 00000000..72298f3a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/IMXCallsManagerListener.java @@ -0,0 +1,61 @@ +/* + * Copyright 2015 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.call; + +import im.vector.matrix.android.internal.legacy.crypto.data.MXDeviceInfo; +import im.vector.matrix.android.internal.legacy.crypto.data.MXUsersDevicesMap; + +/** + * This class manages the calls events. + */ +public interface IMXCallsManagerListener { + /** + * Called when there is an incoming call within the room. + * + * @param call the incoming call + * @param unknownDevices the unknown e2e devices list + */ + void onIncomingCall(IMXCall call, MXUsersDevicesMap unknownDevices); + + /** + * An outgoing call is started. + * + * @param call the outgoing call + */ + void onOutgoingCall(IMXCall call); + + /** + * Called when a called has been hung up + * + * @param call the incoming call + */ + void onCallHangUp(IMXCall call); + + /** + * A voip conference started in a room. + * + * @param roomId the room id + */ + void onVoipConferenceStarted(String roomId); + + /** + * A voip conference finished in a room. + * + * @param roomId the room id + */ + void onVoipConferenceFinished(String roomId); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXCall.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXCall.java new file mode 100644 index 00000000..c1ad66c7 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXCall.java @@ -0,0 +1,706 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.call; + +import android.content.Context; +import android.os.Handler; +import android.text.TextUtils; +import android.view.View; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonPrimitive; + +import im.vector.matrix.android.internal.legacy.MXSession; +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.Timer; + +/** + * This class is the default implementation + */ +public class MXCall implements IMXCall { + private static final String LOG_TAG = MXCall.class.getSimpleName(); + + // defines the call timeout + public static final int CALL_TIMEOUT_MS = 120 * 1000; + + /** + * The session + */ + protected MXSession mSession; + + /** + * The context + */ + protected Context mContext; + + /** + * the turn servers + */ + protected JsonElement mTurnServer; + + /** + * The room in which the call is performed. + */ + protected Room mCallingRoom; + + /** + * The room in which the call events are sent. + * It might differ from mCallingRoom if it is a conference call. + * For a 1:1 call, it will be equal to mCallingRoom. + */ + protected Room mCallSignalingRoom; + + /** + * The call events listeners + */ + private final Set mCallListeners = new HashSet<>(); + + /** + * the call id + */ + protected String mCallId; + + /** + * Tells if it is a video call + */ + protected boolean mIsVideoCall = false; + + /** + * Tells if it is an incoming call + */ + protected boolean mIsIncoming = false; + + /** + * Tells if it is a conference call. + */ + private boolean mIsConference = false; + + /** + * List of events to sends to mCallSignalingRoom + */ + protected final List mPendingEvents = new ArrayList<>(); + + /** + * The sending eevent. + */ + private Event mPendingEvent; + + /** + * The not responding timer + */ + protected Timer mCallTimeoutTimer; + + // call start time + private long mStartTime = -1; + + // UI thread handler + final Handler mUIThreadHandler = new Handler(); + + /** + * Create the call view + */ + public void createCallView() { + } + + /** + * The activity is paused. + */ + public void onPause() { + } + + /** + * The activity is resumed. + */ + public void onResume() { + } + + // actions (must be done after dispatchOnViewReady() + + /** + * Start a call. + */ + public void placeCall(VideoLayoutConfiguration aLocalVideoPosition) { + } + + /** + * Prepare a call reception. + * + * @param aCallInviteParams the invitation Event content + * @param aCallId the call ID + * @param aLocalVideoPosition position of the local video attendee + */ + public void prepareIncomingCall(JsonObject aCallInviteParams, String aCallId, VideoLayoutConfiguration aLocalVideoPosition) { + setIsIncoming(true); + } + + /** + * The call has been detected as an incoming one. + * The application launched the dedicated activity and expects to launch the incoming call. + * + * @param aLocalVideoPosition position of the local video attendee + */ + public void launchIncomingCall(VideoLayoutConfiguration aLocalVideoPosition) { + } + + @Override + public void updateLocalVideoRendererPosition(VideoLayoutConfiguration aLocalVideoPosition) { + Log.w(LOG_TAG, "## updateLocalVideoRendererPosition(): not implemented"); + } + + @Override + public boolean switchRearFrontCamera() { + Log.w(LOG_TAG, "## switchRearFrontCamera(): not implemented"); + return false; + } + + @Override + public boolean isCameraSwitched() { + Log.w(LOG_TAG, "## isCameraSwitched(): not implemented"); + return false; + } + + @Override + public boolean isSwitchCameraSupported() { + Log.w(LOG_TAG, "## isSwitchCameraSupported(): not implemented"); + return false; + } + // events thread + + /** + * Manage the call events. + * + * @param event the call event. + */ + public void handleCallEvent(Event event) { + } + + // user actions + + /** + * The call is accepted. + */ + public void answer() { + } + + /** + * The call has been has answered on another device. + */ + public void onAnsweredElsewhere() { + + } + + /** + * The call is hung up. + */ + public void hangup(String reason) { + } + + // getters / setters + + /** + * @return the callId + */ + public String getCallId() { + return mCallId; + } + + /** + * Set the callId + */ + public void setCallId(String callId) { + mCallId = callId; + } + + /** + * @return the linked room + */ + public Room getRoom() { + return mCallingRoom; + } + + /** + * @return the call signaling room + */ + public Room getCallSignalingRoom() { + return mCallSignalingRoom; + } + + /** + * Set the linked rooms. + * + * @param room the room where the conference take place + * @param callSignalingRoom the call signaling room. + */ + public void setRooms(Room room, Room callSignalingRoom) { + mCallingRoom = room; + mCallSignalingRoom = callSignalingRoom; + } + + /** + * @return the session + */ + public MXSession getSession() { + return mSession; + } + + /** + * @return true if the call is an incoming call. + */ + public boolean isIncoming() { + return mIsIncoming; + } + + /** + * @param isIncoming true if the call is an incoming one. + */ + private void setIsIncoming(boolean isIncoming) { + mIsIncoming = isIncoming; + } + + /** + * Defines the call type + */ + public void setIsVideo(boolean isVideo) { + mIsVideoCall = isVideo; + } + + /** + * @return true if the call is a video call. + */ + public boolean isVideo() { + return mIsVideoCall; + } + + /** + * Defines the call conference status + */ + public void setIsConference(boolean isConference) { + mIsConference = isConference; + } + + /** + * @return true if the call is a conference call. + */ + public boolean isConference() { + return mIsConference; + } + + /** + * @return the callstate (must be a CALL_STATE_XX value) + */ + public String getCallState() { + return null; + } + + /** + * @return the callView + */ + public View getCallView() { + return null; + } + + /** + * @return the callView visibility + */ + public int getVisibility() { + return View.GONE; + } + + /** + * Set the callview visibility + * + * @return true if the operation succeeds + */ + public boolean setVisibility(int visibility) { + return false; + } + + /** + * @return if the call is ended. + */ + public boolean isCallEnded() { + return TextUtils.equals(CALL_STATE_ENDED, getCallState()); + } + + /** + * @return the call start time in ms since epoch, -1 if not defined. + */ + public long getCallStartTime() { + return mStartTime; + } + + /** + * @return the call elapsed time in seconds, -1 if not defined. + */ + public long getCallElapsedTime() { + if (-1 == mStartTime) { + return -1; + } + + return (System.currentTimeMillis() - mStartTime) / 1000; + } + + //============================================================================================================== + // call events listener + //============================================================================================================== + + /** + * Add a listener. + * + * @param callListener the listener to add + */ + public void addListener(IMXCallListener callListener) { + if (null != callListener) { + synchronized (LOG_TAG) { + mCallListeners.add(callListener); + } + } + } + + /** + * Remove a listener + * + * @param callListener the listener to remove + */ + public void removeListener(IMXCallListener callListener) { + if (null != callListener) { + synchronized (LOG_TAG) { + mCallListeners.remove(callListener); + } + } + } + + /** + * Remove the listeners + */ + public void clearListeners() { + synchronized (LOG_TAG) { + mCallListeners.clear(); + } + } + + /** + * @return the call listeners + */ + private Collection getCallListeners() { + Collection listeners; + + synchronized (LOG_TAG) { + listeners = new HashSet<>(mCallListeners); + } + + return listeners; + } + + /** + * Dispatch the onCallViewCreated event to the listeners. + * + * @param callView the call view + */ + protected void dispatchOnCallViewCreated(View callView) { + if (isCallEnded()) { + Log.d(LOG_TAG, "## dispatchOnCallViewCreated(): the call is ended"); + return; + } + + Log.d(LOG_TAG, "## dispatchOnCallViewCreated()"); + + Collection listeners = getCallListeners(); + + for (IMXCallListener listener : listeners) { + try { + listener.onCallViewCreated(callView); + } catch (Exception e) { + Log.e(LOG_TAG, "## dispatchOnCallViewCreated(): Exception Msg=" + e.getMessage(), e); + } + } + } + + /** + * Dispatch the onViewReady event to the listeners. + */ + protected void dispatchOnReady() { + if (isCallEnded()) { + Log.d(LOG_TAG, "## dispatchOnReady() : the call is ended"); + return; + } + + Log.d(LOG_TAG, "## dispatchOnReady()"); + + Collection listeners = getCallListeners(); + + for (IMXCallListener listener : listeners) { + try { + listener.onReady(); + } catch (Exception e) { + Log.e(LOG_TAG, "## dispatchOnReady(): Exception Msg=" + e.getMessage(), e); + } + } + } + + /** + * Dispatch the onCallError event to the listeners. + * + * @param error error message + */ + protected void dispatchOnCallError(String error) { + if (isCallEnded()) { + Log.d(LOG_TAG, "## dispatchOnCallError() : the call is ended"); + return; + } + + Log.d(LOG_TAG, "## dispatchOnCallError()"); + + Collection listeners = getCallListeners(); + + for (IMXCallListener listener : listeners) { + try { + listener.onCallError(error); + } catch (Exception e) { + Log.e(LOG_TAG, "## dispatchOnCallError(): " + e.getMessage(), e); + } + } + } + + /** + * Dispatch the onStateDidChange event to the listeners. + * + * @param newState the new state + */ + protected void dispatchOnStateDidChange(String newState) { + Log.d(LOG_TAG, "## dispatchOnCallErrorOnStateDidChange(): " + newState); + + // set the call start time + if (TextUtils.equals(CALL_STATE_CONNECTED, newState) && (-1 == mStartTime)) { + mStartTime = System.currentTimeMillis(); + } + + // the call is ended. + if (TextUtils.equals(CALL_STATE_ENDED, newState)) { + mStartTime = -1; + } + + Collection listeners = getCallListeners(); + + for (IMXCallListener listener : listeners) { + try { + listener.onStateDidChange(newState); + } catch (Exception e) { + Log.e(LOG_TAG, "## dispatchOnStateDidChange(): Exception Msg=" + e.getMessage(), e); + } + } + } + + /** + * Dispatch the onCallAnsweredElsewhere event to the listeners. + */ + protected void dispatchAnsweredElsewhere() { + Log.d(LOG_TAG, "## dispatchAnsweredElsewhere()"); + + Collection listeners = getCallListeners(); + + for (IMXCallListener listener : listeners) { + try { + listener.onCallAnsweredElsewhere(); + } catch (Exception e) { + Log.e(LOG_TAG, "## dispatchAnsweredElsewhere(): Exception Msg=" + e.getMessage(), e); + } + } + } + + /** + * Dispatch the onCallEnd event to the listeners. + * + * @param aEndCallReasonId the reason of the call ending + */ + protected void dispatchOnCallEnd(int aEndCallReasonId) { + Log.d(LOG_TAG, "## dispatchOnCallEnd(): endReason=" + aEndCallReasonId); + + Collection listeners = getCallListeners(); + + for (IMXCallListener listener : listeners) { + try { + listener.onCallEnd(aEndCallReasonId); + } catch (Exception e) { + Log.e(LOG_TAG, "## dispatchOnCallEnd(): Exception Msg=" + e.getMessage(), e); + } + } + } + + /** + * Send the next pending events + */ + protected void sendNextEvent() { + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + // do not send any new message + if (isCallEnded() && (null != mPendingEvents)) { + mPendingEvents.clear(); + } + + // ready to send + if ((null == mPendingEvent) && (0 != mPendingEvents.size())) { + mPendingEvent = mPendingEvents.get(0); + mPendingEvents.remove(mPendingEvent); + + Log.d(LOG_TAG, "## sendNextEvent() : sending event of type " + mPendingEvent.getType() + " event id " + mPendingEvent.eventId); + mCallSignalingRoom.sendEvent(mPendingEvent, new ApiCallback() { + @Override + public void onSuccess(Void info) { + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + Log.d(LOG_TAG, "## sendNextEvent() : event " + mPendingEvent.eventId + " is sent"); + + mPendingEvent = null; + sendNextEvent(); + } + }); + } + + private void commonFailure(String reason) { + Log.d(LOG_TAG, "## sendNextEvent() : event " + mPendingEvent.eventId + " failed to be sent " + reason); + + // let try next candidate event + if (TextUtils.equals(mPendingEvent.getType(), Event.EVENT_TYPE_CALL_CANDIDATES)) { + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + mPendingEvent = null; + sendNextEvent(); + } + }); + } else { + hangup(reason); + } + } + + @Override + public void onNetworkError(Exception e) { + commonFailure(e.getLocalizedMessage()); + } + + @Override + public void onMatrixError(MatrixError e) { + commonFailure(e.getLocalizedMessage()); + } + + @Override + public void onUnexpectedError(Exception e) { + commonFailure(e.getLocalizedMessage()); + } + }); + } + } + }); + } + + /** + * Dispatch the onPreviewSizeChanged event to the listeners. + * + * @param width the preview width + * @param height the preview height + */ + protected void dispatchOnPreviewSizeChanged(int width, int height) { + Log.d(LOG_TAG, "## dispatchOnPreviewSizeChanged(): width =" + width + " - height =" + height); + + Collection listeners = getCallListeners(); + + for (IMXCallListener listener : listeners) { + try { + listener.onPreviewSizeChanged(width, height); + } catch (Exception e) { + Log.e(LOG_TAG, "## dispatchOnPreviewSizeChanged(): Exception Msg=" + e.getMessage(), e); + } + } + } + + /** + * send an hang up event + * + * @param reason the reason + */ + protected void sendHangup(String reason) { + JsonObject hangupContent = new JsonObject(); + + hangupContent.add("version", new JsonPrimitive(0)); + hangupContent.add("call_id", new JsonPrimitive(mCallId)); + + if (!TextUtils.isEmpty(reason)) { + hangupContent.add("reason", new JsonPrimitive(reason)); + } + + Event event = new Event(Event.EVENT_TYPE_CALL_HANGUP, hangupContent, mSession.getCredentials().userId, mCallSignalingRoom.getRoomId()); + + // local notification to indicate the end of call + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + dispatchOnCallEnd(END_CALL_REASON_USER_HIMSELF); + } + }); + + Log.d(LOG_TAG, "## sendHangup(): reason=" + reason); + + // send hang up event to the server + mCallSignalingRoom.sendEvent(event, new ApiCallback() { + @Override + public void onSuccess(Void info) { + Log.d(LOG_TAG, "## sendHangup(): onSuccess"); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## sendHangup(): onNetworkError Msg=" + e.getMessage(), e); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## sendHangup(): onMatrixError Msg=" + e.getMessage()); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## sendHangup(): onUnexpectedError Msg=" + e.getMessage(), e); + } + }); + } + + @Override + public void muteVideoRecording(boolean isVideoMuted) { + Log.w(LOG_TAG, "## muteVideoRecording(): not implemented"); + } + + @Override + public boolean isVideoRecordingMuted() { + Log.w(LOG_TAG, "## muteVideoRecording(): not implemented - default value = false"); + return false; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXCallListener.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXCallListener.java new file mode 100644 index 00000000..53dd5f37 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXCallListener.java @@ -0,0 +1,53 @@ +/* + * Copyright 2015 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.call; + +import android.view.View; + +/** + * This class is the default implementation of IMXCallListener. + */ +public class MXCallListener implements IMXCallListener { + + @Override + public void onStateDidChange(String state) { + } + + @Override + public void onCallError(String error) { + } + + @Override + public void onCallViewCreated(View callView) { + } + + @Override + public void onReady() { + } + + @Override + public void onCallAnsweredElsewhere() { + } + + @Override + public void onCallEnd(final int aReasonId) { + } + + @Override + public void onPreviewSizeChanged(int width, int height) { + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXCallsManager.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXCallsManager.java new file mode 100644 index 00000000..1d99f693 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXCallsManager.java @@ -0,0 +1,1295 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.call; + +import android.content.Context; +import android.os.Handler; +import android.os.Looper; +import android.text.TextUtils; +import android.util.Base64; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; + +import im.vector.matrix.android.internal.legacy.MXPatterns; +import im.vector.matrix.android.internal.legacy.MXSession; +import im.vector.matrix.android.internal.legacy.crypto.MXCryptoError; +import im.vector.matrix.android.internal.legacy.crypto.data.MXDeviceInfo; +import im.vector.matrix.android.internal.legacy.crypto.data.MXUsersDevicesMap; +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.data.store.IMXStore; +import im.vector.matrix.android.internal.legacy.listeners.MXEventListener; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.client.CallRestClient; +import im.vector.matrix.android.internal.legacy.rest.model.CreateRoomParams; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.EventContent; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.Timer; +import java.util.TimerTask; + +public class MXCallsManager { + private static final String LOG_TAG = MXCallsManager.class.getSimpleName(); + + /** + * Defines the call classes. + */ + public enum CallClass { + // disabled because of https://github.com/vector-im/riot-android/issues/1660 + //CHROME_CLASS, + WEBRTC_CLASS, + DEFAULT_CLASS + } + + private MXSession mSession = null; + private Context mContext = null; + + private CallRestClient mCallResClient = null; + private JsonElement mTurnServer = null; + private Timer mTurnServerTimer = null; + private boolean mSuspendTurnServerRefresh = false; + + private CallClass mPreferredCallClass = CallClass.WEBRTC_CLASS; + + // active calls + private final Map mCallsByCallId = new HashMap<>(); + + // listeners + private final Set mListeners = new HashSet<>(); + + // incoming calls + private final Set mxPendingIncomingCallId = new HashSet<>(); + + // UI handler + private final Handler mUIThreadHandler; + + /** + * To create an outgoing call + * 1- CallsManager.createCallInRoom() + * 2- on success, IMXCall.createCallView + * 3- IMXCallListener.onCallViewCreated(callview) -> insert the callview + * 4- IMXCallListener.onCallReady() -> IMXCall.placeCall() + * 5- the call states should follow theses steps + * CALL_STATE_WAIT_LOCAL_MEDIA + * CALL_STATE_WAIT_CREATE_OFFER + * CALL_STATE_INVITE_SENT + * CALL_STATE_RINGING + * 6- the callee accepts the call + * CALL_STATE_CONNECTING + * CALL_STATE_CONNECTED + * + * To manage an incoming call + * 1- IMXCall.createCallView + * 2- IMXCallListener.onCallViewCreated(callview) -> insert the callview + * 3- IMXCallListener.onCallReady(), IMXCall.launchIncomingCall() + * 4- the call states should follow theses steps + * CALL_STATE_WAIT_LOCAL_MEDIA + * CALL_STATE_RINGING + * 5- The user accepts the call, IMXCall.answer() + * 6- the states should be + * CALL_STATE_CREATE_ANSWER + * CALL_STATE_CONNECTING + * CALL_STATE_CONNECTED + */ + + /** + * Constructor + * + * @param session the session + * @param context the context + */ + public MXCallsManager(MXSession session, Context context) { + mSession = session; + mContext = context; + + mUIThreadHandler = new Handler(Looper.getMainLooper()); + + mCallResClient = mSession.getCallRestClient(); + + mSession.getDataHandler().addListener(new MXEventListener() { + @Override + public void onLiveEvent(Event event, RoomState roomState) { + if (TextUtils.equals(event.getType(), Event.EVENT_TYPE_STATE_ROOM_MEMBER)) { + // Listen to the membership join/leave events to detect the conference user activity. + // This mechanism detects the presence of an established conf call + if (TextUtils.equals(event.sender, MXCallsManager.getConferenceUserId(event.roomId))) { + EventContent eventContent = JsonUtils.toEventContent(event.getContentAsJsonObject()); + + if (TextUtils.equals(eventContent.membership, RoomMember.MEMBERSHIP_LEAVE)) { + dispatchOnVoipConferenceFinished(event.roomId); + } + if (TextUtils.equals(eventContent.membership, RoomMember.MEMBERSHIP_JOIN)) { + dispatchOnVoipConferenceStarted(event.roomId); + } + } + } + } + }); + + refreshTurnServer(); + } + + /** + * @return true if the call feature is supported + */ + public boolean isSupported() { + return /*MXChromeCall.isSupported() || */ MXWebRtcCall.isSupported(mContext); + } + + /** + * @return the list of supported classes + */ + public Collection supportedClass() { + List list = new ArrayList<>(); + + /*if (MXChromeCall.isSupported()) { + list.add(CallClass.CHROME_CLASS); + }*/ + + if (MXWebRtcCall.isSupported(mContext)) { + list.add(CallClass.WEBRTC_CLASS); + } + + Log.d(LOG_TAG, "supportedClass " + list); + + return list; + } + + /** + * @param callClass set the default callClass + */ + public void setDefaultCallClass(CallClass callClass) { + Log.d(LOG_TAG, "setDefaultCallClass " + callClass); + + boolean isUpdatable = false; + + /*if (callClass == CallClass.CHROME_CLASS) { + isUpdatable = MXChromeCall.isSupported(); + }*/ + + if (callClass == CallClass.WEBRTC_CLASS) { + isUpdatable = MXWebRtcCall.isSupported(mContext); + } + + if (isUpdatable) { + mPreferredCallClass = callClass; + } + } + + /** + * create a new call + * + * @param callId the call Id (null to use a default value) + * @return the IMXCall + */ + private IMXCall createCall(String callId) { + Log.d(LOG_TAG, "createCall " + callId); + + IMXCall call = null; + + // default + /*if (((CallClass.CHROME_CLASS == mPreferredCallClass) || (CallClass.DEFAULT_CLASS == mPreferredCallClass)) && MXChromeCall.isSupported()) { + call = new MXChromeCall(mSession, mContext, getTurnServer()); + }*/ + + // webrtc + if (null == call) { + try { + call = new MXWebRtcCall(mSession, mContext, getTurnServer()); + } catch (Exception e) { + Log.e(LOG_TAG, "createCall " + e.getMessage(), e); + } + } + + // a valid callid is provided + if (null != callId) { + call.setCallId(callId); + } + + return call; + } + + /** + * Search a call from its dedicated room id. + * + * @param roomId the room id + * @return the IMXCall if it exists + */ + public IMXCall getCallWithRoomId(String roomId) { + List calls; + + synchronized (this) { + calls = new ArrayList<>(mCallsByCallId.values()); + } + + for (IMXCall call : calls) { + if (TextUtils.equals(roomId, call.getRoom().getRoomId())) { + if (TextUtils.equals(call.getCallState(), IMXCall.CALL_STATE_ENDED)) { + Log.d(LOG_TAG, "## getCallWithRoomId() : the call " + call.getCallId() + " has been stopped"); + synchronized (this) { + mCallsByCallId.remove(call.getCallId()); + } + } else { + return call; + } + } + } + + return null; + } + + /** + * Returns the IMXCall from its callId. + * + * @param callId the call Id + * @return the IMXCall if it exists + */ + public IMXCall getCallWithCallId(String callId) { + return getCallWithCallId(callId, false); + } + + /** + * Returns the IMXCall from its callId. + * + * @param callId the call Id + * @param create create the IMXCall if it does not exist + * @return the IMXCall if it exists + */ + private IMXCall getCallWithCallId(String callId, boolean create) { + IMXCall call = null; + + // check if the call exists + if (null != callId) { + synchronized (this) { + call = mCallsByCallId.get(callId); + } + } + + // test if the call has been stopped + if ((null != call) && TextUtils.equals(call.getCallState(), IMXCall.CALL_STATE_ENDED)) { + Log.d(LOG_TAG, "## getCallWithCallId() : the call " + callId + " has been stopped"); + synchronized (this) { + mCallsByCallId.remove(call.getCallId()); + } + + call = null; + } + + // the call does not exist but request to create it + if ((null == call) && create) { + call = createCall(callId); + synchronized (this) { + mCallsByCallId.put(call.getCallId(), call); + } + } + + Log.d(LOG_TAG, "getCallWithCallId " + callId + " " + call); + + return call; + } + + /** + * Tell if a call is in progress. + * + * @param call the call + * @return true if the call is in progress + */ + public static boolean isCallInProgress(IMXCall call) { + boolean res = false; + + if (null != call) { + String callState = call.getCallState(); + res = TextUtils.equals(callState, IMXCall.CALL_STATE_CREATED) + || TextUtils.equals(callState, IMXCall.CALL_STATE_CREATING_CALL_VIEW) + || TextUtils.equals(callState, IMXCall.CALL_STATE_READY) + || TextUtils.equals(callState, IMXCall.CALL_STATE_WAIT_LOCAL_MEDIA) + || TextUtils.equals(callState, IMXCall.CALL_STATE_WAIT_CREATE_OFFER) + || TextUtils.equals(callState, IMXCall.CALL_STATE_INVITE_SENT) + || TextUtils.equals(callState, IMXCall.CALL_STATE_RINGING) + || TextUtils.equals(callState, IMXCall.CALL_STATE_CREATE_ANSWER) + || TextUtils.equals(callState, IMXCall.CALL_STATE_CONNECTING) + || TextUtils.equals(callState, IMXCall.CALL_STATE_CONNECTED); + } + + return res; + } + + /** + * @return true if there are some active calls. + */ + public boolean hasActiveCalls() { + synchronized (this) { + List callIdsToRemove = new ArrayList<>(); + + Set callIds = mCallsByCallId.keySet(); + + for (String callId : callIds) { + IMXCall call = mCallsByCallId.get(callId); + + if (TextUtils.equals(call.getCallState(), IMXCall.CALL_STATE_ENDED)) { + Log.d(LOG_TAG, "# hasActiveCalls() : the call " + callId + " is not anymore valid"); + callIdsToRemove.add(callId); + } else { + Log.d(LOG_TAG, "# hasActiveCalls() : the call " + callId + " is active"); + return true; + } + } + + for (String callIdToRemove : callIdsToRemove) { + mCallsByCallId.remove(callIdToRemove); + } + } + + Log.d(LOG_TAG, "# hasActiveCalls() : no active call"); + return false; + } + + /** + * Manage the call events. + * + * @param store the dedicated store + * @param event the call event. + */ + public void handleCallEvent(final IMXStore store, final Event event) { + if (event.isCallEvent() && isSupported()) { + Log.d(LOG_TAG, "handleCallEvent " + event.getType()); + + // always run the call event in the UI thread + // MXChromeCall does not work properly in other thread (because of the webview) + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + boolean isMyEvent = TextUtils.equals(event.getSender(), mSession.getMyUserId()); + Room room = mSession.getDataHandler().getRoom(store, event.roomId, true); + + String callId = null; + JsonObject eventContent = null; + + try { + eventContent = event.getContentAsJsonObject(); + callId = eventContent.getAsJsonPrimitive("call_id").getAsString(); + } catch (Exception e) { + Log.e(LOG_TAG, "handleCallEvent : fail to retrieve call_id " + e.getMessage(), e); + } + // sanity check + if ((null != callId) && (null != room)) { + // receive an invitation + if (Event.EVENT_TYPE_CALL_INVITE.equals(event.getType())) { + long lifeTime = event.getAge(); + + if (Long.MAX_VALUE == lifeTime) { + lifeTime = System.currentTimeMillis() - event.getOriginServerTs(); + } + + // ignore older call messages + if (lifeTime < MXCall.CALL_TIMEOUT_MS) { + // create the call only it is triggered from someone else + IMXCall call = getCallWithCallId(callId, !isMyEvent); + + // sanity check + if (null != call) { + // init the information + if (null == call.getRoom()) { + call.setRooms(room, room); + } + + if (!isMyEvent) { + call.prepareIncomingCall(eventContent, callId, null); + mxPendingIncomingCallId.add(callId); + } else { + call.handleCallEvent(event); + } + } + } else { + Log.d(LOG_TAG, "## handleCallEvent() : " + Event.EVENT_TYPE_CALL_INVITE + " is ignored because it is too old"); + } + } else if (Event.EVENT_TYPE_CALL_CANDIDATES.equals(event.getType())) { + if (!isMyEvent) { + IMXCall call = getCallWithCallId(callId); + + if (null != call) { + if (null == call.getRoom()) { + call.setRooms(room, room); + } + call.handleCallEvent(event); + } + } + } else if (Event.EVENT_TYPE_CALL_ANSWER.equals(event.getType())) { + IMXCall call = getCallWithCallId(callId); + + if (null != call) { + // assume it is a catch up call. + // the creation / candidates / + // the call has been answered on another device + if (IMXCall.CALL_STATE_CREATED.equals(call.getCallState())) { + call.onAnsweredElsewhere(); + synchronized (this) { + mCallsByCallId.remove(callId); + } + } else { + if (null == call.getRoom()) { + call.setRooms(room, room); + } + call.handleCallEvent(event); + } + } + } else if (Event.EVENT_TYPE_CALL_HANGUP.equals(event.getType())) { + final IMXCall call = getCallWithCallId(callId); + if (null != call) { + // trigger call events only if the call is active + final boolean isActiveCall = !IMXCall.CALL_STATE_CREATED.equals(call.getCallState()); + + if (null == call.getRoom()) { + call.setRooms(room, room); + } + + if (isActiveCall) { + call.handleCallEvent(event); + } + + synchronized (this) { + mCallsByCallId.remove(callId); + } + + // warn that a call has been hung up + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + // must warn anyway any listener that the call has been killed + // for example, when the device is in locked screen + // the callview is not created but the device is ringing + // if the other participant ends the call, the ring should stop + dispatchOnCallHangUp(call); + } + }); + } + } + } + } + }); + } + } + + /** + * check if there is a pending incoming call + */ + public void checkPendingIncomingCalls() { + //Log.d(LOG_TAG, "checkPendingIncomingCalls"); + + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + if (mxPendingIncomingCallId.size() > 0) { + for (String callId : mxPendingIncomingCallId) { + final IMXCall call = getCallWithCallId(callId); + + if (null != call) { + final Room room = call.getRoom(); + + // for encrypted rooms with 2 members + // check if there are some unknown devices before warning + // of the incoming call. + // If there are some unknown devices, the answer event would not be encrypted. + if ((null != room) + && room.isEncrypted() + && mSession.getCrypto().warnOnUnknownDevices() + && room.getNumberOfJoinedMembers() == 2) { + + // test if the encrypted events are sent only to the verified devices (any room) + mSession.getCrypto().getGlobalBlacklistUnverifiedDevices(new SimpleApiCallback() { + @Override + public void onSuccess(Boolean sendToVerifiedDevicesOnly) { + if (sendToVerifiedDevicesOnly) { + dispatchOnIncomingCall(call, null); + } else { + // test if the encrypted events are sent only to the verified devices (only this room) + mSession.getCrypto().isRoomBlacklistUnverifiedDevices(room.getRoomId(), new SimpleApiCallback() { + @Override + public void onSuccess(Boolean sendToVerifiedDevicesOnly) { + if (sendToVerifiedDevicesOnly) { + dispatchOnIncomingCall(call, null); + } else { + room.getJoinedMembersAsync(new ApiCallback>() { + + @Override + public void onNetworkError(Exception e) { + dispatchOnIncomingCall(call, null); + } + + @Override + public void onMatrixError(MatrixError e) { + dispatchOnIncomingCall(call, null); + } + + @Override + public void onUnexpectedError(Exception e) { + dispatchOnIncomingCall(call, null); + } + + @Override + public void onSuccess(List members) { + String userId1 = members.get(0).getUserId(); + String userId2 = members.get(1).getUserId(); + + Log.d(LOG_TAG, "## checkPendingIncomingCalls() : check the unknown devices"); + + // + mSession.getCrypto() + .checkUnknownDevices(Arrays.asList(userId1, userId2), new ApiCallback() { + @Override + public void onSuccess(Void anything) { + Log.d(LOG_TAG, "## checkPendingIncomingCalls() : no unknown device"); + dispatchOnIncomingCall(call, null); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, + "## checkPendingIncomingCalls() : checkUnknownDevices failed " + + e.getMessage(), e); + dispatchOnIncomingCall(call, null); + } + + @Override + public void onMatrixError(MatrixError e) { + MXUsersDevicesMap unknownDevices = null; + + if (e instanceof MXCryptoError) { + MXCryptoError cryptoError = (MXCryptoError) e; + + if (MXCryptoError.UNKNOWN_DEVICES_CODE.equals(cryptoError.errcode)) { + unknownDevices = + (MXUsersDevicesMap) cryptoError.mExceptionData; + } + } + + if (null != unknownDevices) { + Log.d(LOG_TAG, "## checkPendingIncomingCalls() :" + + " checkUnknownDevices found some unknown devices"); + } else { + Log.e(LOG_TAG, "## checkPendingIncomingCalls() :" + + " checkUnknownDevices failed " + e.getMessage()); + } + + dispatchOnIncomingCall(call, unknownDevices); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## checkPendingIncomingCalls() :" + + " checkUnknownDevices failed " + e.getMessage(), e); + dispatchOnIncomingCall(call, null); + } + }); + } + }); + } + } + }); + } + } + }); + } else { + dispatchOnIncomingCall(call, null); + } + } + } + } + mxPendingIncomingCallId.clear(); + } + }); + } + + /** + * Create an IMXCall in the room defines by its room Id. + * -> for a 1:1 call, it is a standard call. + * -> for a conference call, + * ----> the conference user is invited to the room (if it was not yet invited) + * ----> the call signaling room is created (or retrieved) with the conference + * ----> and the call is started + * + * @param roomId the room roomId + * @param isVideo true to start a video call + * @param callback the async callback + */ + public void createCallInRoom(final String roomId, final boolean isVideo, final ApiCallback callback) { + Log.d(LOG_TAG, "createCallInRoom in " + roomId); + + final Room room = mSession.getDataHandler().getRoom(roomId); + + // sanity check + if (null != room) { + if (isSupported()) { + int joinedMembers = room.getNumberOfJoinedMembers(); + + Log.d(LOG_TAG, "createCallInRoom : the room has " + joinedMembers + " joined members"); + + if (joinedMembers > 1) { + if (joinedMembers == 2) { + // when a room is encrypted, test first there is no unknown device + // else the call will fail. + // So it seems safer to reject the call creation it it will fail. + if (room.isEncrypted() && mSession.getCrypto().warnOnUnknownDevices()) { + room.getJoinedMembersAsync(new SimpleApiCallback>(callback) { + @Override + public void onSuccess(List members) { + if (members.size() != 2) { + // Safety check + callback.onUnexpectedError(new Exception("Wrong number of members")); + return; + } + + String userId1 = members.get(0).getUserId(); + String userId2 = members.get(1).getUserId(); + + // force the refresh to ensure that the devices list is up-to-date + mSession.getCrypto().checkUnknownDevices(Arrays.asList(userId1, userId2), new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void anything) { + final IMXCall call = getCallWithCallId(null, true); + call.setRooms(room, room); + call.setIsVideo(isVideo); + dispatchOnOutgoingCall(call); + + if (null != callback) { + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + callback.onSuccess(call); + } + }); + } + } + }); + } + }); + } else { + final IMXCall call = getCallWithCallId(null, true); + call.setIsVideo(isVideo); + dispatchOnOutgoingCall(call); + call.setRooms(room, room); + + if (null != callback) { + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + callback.onSuccess(call); + } + }); + } + } + } else { + Log.d(LOG_TAG, "createCallInRoom : inviteConferenceUser"); + + inviteConferenceUser(room, new ApiCallback() { + @Override + public void onSuccess(Void info) { + Log.d(LOG_TAG, "createCallInRoom : inviteConferenceUser succeeds"); + + getConferenceUserRoom(room.getRoomId(), new ApiCallback() { + @Override + public void onSuccess(Room conferenceRoom) { + + Log.d(LOG_TAG, "createCallInRoom : getConferenceUserRoom succeeds"); + + final IMXCall call = getCallWithCallId(null, true); + call.setRooms(room, conferenceRoom); + call.setIsConference(true); + call.setIsVideo(isVideo); + dispatchOnOutgoingCall(call); + + if (null != callback) { + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + callback.onSuccess(call); + } + }); + } + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "createCallInRoom : getConferenceUserRoom failed " + e.getMessage(), e); + + if (null != callback) { + callback.onNetworkError(e); + } + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "createCallInRoom : getConferenceUserRoom failed " + e.getMessage()); + + + if (null != callback) { + callback.onMatrixError(e); + } + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "createCallInRoom : getConferenceUserRoom failed " + e.getMessage(), e); + + if (null != callback) { + callback.onUnexpectedError(e); + } + } + }); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "createCallInRoom : inviteConferenceUser fails " + e.getMessage(), e); + + if (null != callback) { + callback.onNetworkError(e); + } + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "createCallInRoom : inviteConferenceUser fails " + e.getMessage()); + + if (null != callback) { + callback.onMatrixError(e); + } + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "createCallInRoom : inviteConferenceUser fails " + e.getMessage(), e); + + if (null != callback) { + callback.onUnexpectedError(e); + } + } + }); + } + } else { + if (null != callback) { + callback.onMatrixError(new MatrixError(MatrixError.NOT_SUPPORTED, "too few users")); + } + } + } else { + if (null != callback) { + callback.onMatrixError(new MatrixError(MatrixError.NOT_SUPPORTED, "VOIP is not supported")); + } + } + } else { + if (null != callback) { + callback.onMatrixError(new MatrixError(MatrixError.NOT_FOUND, "room not found")); + } + } + } + + //============================================================================================================== + // Turn servers management + //============================================================================================================== + + /** + * Suspend the turn server refresh + */ + public void pauseTurnServerRefresh() { + mSuspendTurnServerRefresh = true; + } + + /** + * Refresh the turn servers until it succeeds. + */ + public void unpauseTurnServerRefresh() { + Log.d(LOG_TAG, "unpauseTurnServerRefresh"); + + mSuspendTurnServerRefresh = false; + if (null != mTurnServerTimer) { + mTurnServerTimer.cancel(); + mTurnServerTimer = null; + } + refreshTurnServer(); + } + + /** + * Stop the turn servers refresh. + */ + public void stopTurnServerRefresh() { + Log.d(LOG_TAG, "stopTurnServerRefresh"); + + mSuspendTurnServerRefresh = true; + if (null != mTurnServerTimer) { + mTurnServerTimer.cancel(); + mTurnServerTimer = null; + } + } + + /** + * @return the turn server + */ + private JsonElement getTurnServer() { + JsonElement res; + + synchronized (LOG_TAG) { + res = mTurnServer; + } + + // privacy logs + //Log.d(LOG_TAG, "getTurnServer " + res); + Log.d(LOG_TAG, "getTurnServer "); + + return res; + } + + /** + * Refresh the turn servers. + */ + private void refreshTurnServer() { + if (mSuspendTurnServerRefresh) { + return; + } + + Log.d(LOG_TAG, "## refreshTurnServer () starts"); + + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + mCallResClient.getTurnServer(new ApiCallback() { + private void restartAfter(int msDelay) { + // reported by GA + // "ttl" seems invalid + if (msDelay <= 0) { + Log.e(LOG_TAG, "## refreshTurnServer() : invalid delay " + msDelay); + } else { + if (null != mTurnServerTimer) { + mTurnServerTimer.cancel(); + } + + try { + mTurnServerTimer = new Timer(); + mTurnServerTimer.schedule(new TimerTask() { + @Override + public void run() { + if (mTurnServerTimer != null) { + mTurnServerTimer.cancel(); + mTurnServerTimer = null; + } + + refreshTurnServer(); + } + }, msDelay); + } catch (Throwable e) { + Log.e(LOG_TAG, "## refreshTurnServer() failed to start the timer", e); + + if (null != mTurnServerTimer) { + mTurnServerTimer.cancel(); + mTurnServerTimer = null; + } + refreshTurnServer(); + } + } + } + + @Override + public void onSuccess(JsonObject info) { + // privacy + Log.d(LOG_TAG, "## refreshTurnServer () : onSuccess"); + //Log.d(LOG_TAG, "onSuccess " + info); + + if (null != info) { + if (info.has("uris")) { + synchronized (LOG_TAG) { + mTurnServer = info; + } + } + + if (info.has("ttl")) { + int ttl = 60000; + + try { + ttl = info.get("ttl").getAsInt(); + // restart a 90 % before ttl expires + ttl = ttl * 9 / 10; + } catch (Exception e) { + Log.e(LOG_TAG, "Fail to retrieve ttl " + e.getMessage(), e); + } + + Log.d(LOG_TAG, "## refreshTurnServer () : onSuccess : retry after " + ttl + " seconds"); + restartAfter(ttl * 1000); + } + } + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## refreshTurnServer () : onNetworkError", e); + restartAfter(60000); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## refreshTurnServer () : onMatrixError() : " + e.errcode); + + if (TextUtils.equals(e.errcode, MatrixError.LIMIT_EXCEEDED) && (null != e.retry_after_ms)) { + Log.e(LOG_TAG, "## refreshTurnServer () : onMatrixError() : retry after " + e.retry_after_ms + " ms"); + restartAfter(e.retry_after_ms); + } + } + + @Override + public void onUnexpectedError(Exception e) { + // should never happen + Log.e(LOG_TAG, "## refreshTurnServer () : onUnexpectedError()", e); + } + }); + } + }); + } + + //============================================================================================================== + // Conference call + //============================================================================================================== + + + // Copied from vector-web: + // FIXME: This currently forces Vector to try to hit the matrix.org AS for conferencing. + // This is bad because it prevents people running their own ASes from being used. + // This isn't permanent and will be customisable in the future: see the proposal + // at docs/conferencing.md for more info. + private static final String USER_PREFIX = "fs_"; + private static final String DOMAIN = "matrix.org"; + private static final Map mConferenceUserIdByRoomId = new HashMap<>(); + + /** + * Return the id of the conference user dedicated for a room Id + * + * @param roomId the room id + * @return the conference user id + */ + public static String getConferenceUserId(String roomId) { + // sanity check + if (null == roomId) { + return null; + } + + String conferenceUserId = mConferenceUserIdByRoomId.get(roomId); + + // it does not exist, compute it. + if (null == conferenceUserId) { + byte[] data = null; + + try { + data = roomId.getBytes("UTF-8"); + } catch (Exception e) { + Log.e(LOG_TAG, "conferenceUserIdForRoom failed " + e.getMessage(), e); + } + + if (null == data) { + return null; + } + + String base64 = Base64.encodeToString(data, Base64.NO_WRAP | Base64.URL_SAFE).replace("=", ""); + conferenceUserId = "@" + USER_PREFIX + base64 + ":" + DOMAIN; + + mConferenceUserIdByRoomId.put(roomId, conferenceUserId); + } + + return conferenceUserId; + } + + /** + * Test if the provided user is a valid conference user Id + * + * @param userId the user id to test + * @return true if it is a valid conference user id + */ + public static boolean isConferenceUserId(String userId) { + // test first if it a known conference user id + if (mConferenceUserIdByRoomId.values().contains(userId)) { + return true; + } + + boolean res = false; + + String prefix = "@" + USER_PREFIX; + String suffix = ":" + DOMAIN; + + if (!TextUtils.isEmpty(userId) && userId.startsWith(prefix) && userId.endsWith(suffix)) { + String roomIdBase64 = userId.substring(prefix.length(), userId.length() - suffix.length()); + try { + res = MXPatterns.isRoomId((new String(Base64.decode(roomIdBase64, Base64.NO_WRAP | Base64.URL_SAFE), "UTF-8"))); + } catch (Exception e) { + Log.e(LOG_TAG, "isConferenceUserId : failed " + e.getMessage(), e); + } + } + + return res; + } + + /** + * Invite the conference user to a room. + * It is mandatory before starting a conference call. + * + * @param room the room + * @param callback the async callback + */ + private void inviteConferenceUser(final Room room, final ApiCallback callback) { + Log.d(LOG_TAG, "inviteConferenceUser " + room.getRoomId()); + + String conferenceUserId = getConferenceUserId(room.getRoomId()); + RoomMember conferenceMember = room.getMember(conferenceUserId); + + if ((null != conferenceMember) && TextUtils.equals(conferenceMember.membership, RoomMember.MEMBERSHIP_JOIN)) { + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + callback.onSuccess(null); + } + }); + } else { + room.invite(conferenceUserId, callback); + } + } + + /** + * Get the room with the conference user dedicated for the passed room. + * + * @param roomId the room id. + * @param callback the async callback. + */ + private void getConferenceUserRoom(final String roomId, final ApiCallback callback) { + Log.d(LOG_TAG, "getConferenceUserRoom with room id " + roomId); + + String conferenceUserId = getConferenceUserId(roomId); + + Room conferenceRoom = null; + Collection rooms = mSession.getDataHandler().getStore().getRooms(); + + // Use an existing 1:1 with the conference user; else make one + for (Room room : rooms) { + if (room.isConferenceUserRoom() && room.getNumberOfMembers() == 2 && null != room.getMember(conferenceUserId)) { + conferenceRoom = room; + break; + } + } + + if (null != conferenceRoom) { + Log.d(LOG_TAG, "getConferenceUserRoom : the room already exists"); + + final Room fConferenceRoom = conferenceRoom; + mSession.getDataHandler().getStore().commit(); + + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + callback.onSuccess(fConferenceRoom); + } + }); + } else { + Log.d(LOG_TAG, "getConferenceUserRoom : create the room"); + + CreateRoomParams params = new CreateRoomParams(); + params.preset = CreateRoomParams.PRESET_PRIVATE_CHAT; + params.invitedUserIds = Arrays.asList(conferenceUserId); + + mSession.createRoom(params, new ApiCallback() { + @Override + public void onSuccess(String roomId) { + Log.d(LOG_TAG, "getConferenceUserRoom : the room creation succeeds"); + + Room room = mSession.getDataHandler().getRoom(roomId); + + if (null != room) { + room.setIsConferenceUserRoom(true); + mSession.getDataHandler().getStore().commit(); + callback.onSuccess(room); + } + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "getConferenceUserRoom : failed " + e.getMessage(), e); + callback.onNetworkError(e); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "getConferenceUserRoom : failed " + e.getMessage()); + callback.onMatrixError(e); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "getConferenceUserRoom : failed " + e.getMessage(), e); + callback.onUnexpectedError(e); + } + }); + } + } + + //============================================================================================================== + // listeners management + //============================================================================================================== + + /** + * Add a listener + * + * @param listener the listener to add + */ + public void addListener(IMXCallsManagerListener listener) { + if (null != listener) { + synchronized (this) { + mListeners.add(listener); + } + } + } + + /** + * Remove a listener + * + * @param listener the listener to remove + */ + public void removeListener(IMXCallsManagerListener listener) { + if (null != listener) { + synchronized (this) { + mListeners.remove(listener); + } + } + } + + /** + * @return a copy of the listeners + */ + private Collection getListeners() { + Collection listeners; + + synchronized (this) { + listeners = new HashSet<>(mListeners); + } + + return listeners; + } + + /** + * dispatch the onIncomingCall event to the listeners + * + * @param call the call + * @param unknownDevices the unknown e2e devices list. + */ + private void dispatchOnIncomingCall(IMXCall call, final MXUsersDevicesMap unknownDevices) { + Log.d(LOG_TAG, "dispatchOnIncomingCall " + call.getCallId()); + + Collection listeners = getListeners(); + + for (IMXCallsManagerListener l : listeners) { + try { + l.onIncomingCall(call, unknownDevices); + } catch (Exception e) { + Log.e(LOG_TAG, "dispatchOnIncomingCall " + e.getMessage(), e); + } + } + } + + /** + * dispatch the call creation to the listeners + * + * @param call the call + */ + private void dispatchOnOutgoingCall(IMXCall call) { + Log.d(LOG_TAG, "dispatchOnOutgoingCall " + call.getCallId()); + + Collection listeners = getListeners(); + + for (IMXCallsManagerListener l : listeners) { + try { + l.onOutgoingCall(call); + } catch (Exception e) { + Log.e(LOG_TAG, "dispatchOnOutgoingCall " + e.getMessage(), e); + } + } + } + + /** + * dispatch the onCallHangUp event to the listeners + * + * @param call the call + */ + private void dispatchOnCallHangUp(IMXCall call) { + Log.d(LOG_TAG, "dispatchOnCallHangUp"); + + Collection listeners = getListeners(); + + for (IMXCallsManagerListener l : listeners) { + try { + l.onCallHangUp(call); + } catch (Exception e) { + Log.e(LOG_TAG, "dispatchOnCallHangUp " + e.getMessage(), e); + } + } + } + + /** + * dispatch the onVoipConferenceStarted event to the listeners + * + * @param roomId the room Id + */ + private void dispatchOnVoipConferenceStarted(String roomId) { + Log.d(LOG_TAG, "dispatchOnVoipConferenceStarted : " + roomId); + + Collection listeners = getListeners(); + + for (IMXCallsManagerListener l : listeners) { + try { + l.onVoipConferenceStarted(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "dispatchOnVoipConferenceStarted " + e.getMessage(), e); + } + } + } + + /** + * dispatch the onVoipConferenceFinished event to the listeners + * + * @param roomId the room Id + */ + private void dispatchOnVoipConferenceFinished(String roomId) { + Log.d(LOG_TAG, "onVoipConferenceFinished : " + roomId); + + Collection listeners = getListeners(); + + for (IMXCallsManagerListener l : listeners) { + try { + l.onVoipConferenceFinished(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "dispatchOnVoipConferenceFinished " + e.getMessage(), e); + } + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXCallsManagerListener.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXCallsManagerListener.java new file mode 100644 index 00000000..ba6177f9 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXCallsManagerListener.java @@ -0,0 +1,46 @@ +/* + * Copyright 2015 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.call; + +import im.vector.matrix.android.internal.legacy.crypto.data.MXDeviceInfo; +import im.vector.matrix.android.internal.legacy.crypto.data.MXUsersDevicesMap; + +/** + * This class is the default implementation of MXCallsManagerListener + */ +public class MXCallsManagerListener implements IMXCallsManagerListener { + + @Override + public void onIncomingCall(IMXCall call, MXUsersDevicesMap unknownDevices) { + } + + @Override + public void onOutgoingCall(IMXCall call) { + } + + @Override + public void onCallHangUp(IMXCall call) { + } + + @Override + public void onVoipConferenceStarted(String roomId) { + } + + @Override + public void onVoipConferenceFinished(String roomId) { + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXChromeCall.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXChromeCall.java new file mode 100644 index 00000000..7ef50613 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXChromeCall.java @@ -0,0 +1,687 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.call; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.graphics.Color; +import android.os.Build; +import android.text.TextUtils; +import android.view.View; +import android.webkit.JavascriptInterface; +import android.webkit.PermissionRequest; +import android.webkit.WebChromeClient; +import android.webkit.WebSettings; +import android.webkit.WebView; +import android.webkit.WebViewClient; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; + +import im.vector.matrix.android.internal.legacy.MXSession; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.Timer; +import java.util.TimerTask; + +public class MXChromeCall extends MXCall { + private static final String LOG_TAG = MXChromeCall.class.getSimpleName(); + + private WebView mWebView = null; + private CallWebAppInterface mCallWebAppInterface = null; + + private boolean mIsIncomingPrepared = false; + + private JsonObject mCallInviteParams = null; + + private JsonArray mPendingCandidates = new JsonArray(); + + /** + * @return true if this stack can perform calls. + */ + public static boolean isSupported() { + return Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP; + } + + // creator + public MXChromeCall(MXSession session, Context context, JsonElement turnServer) { + if (!isSupported()) { + throw new AssertionError("MXChromeCall : not supported with the current android version"); + } + + if (null == session) { + throw new AssertionError("MXChromeCall : session cannot be null"); + } + + if (null == context) { + throw new AssertionError("MXChromeCall : context cannot be null"); + } + + mCallId = "c" + System.currentTimeMillis(); + mSession = session; + mContext = context; + mTurnServer = turnServer; + } + + @Override + @SuppressLint("NewApi") + public void createCallView() { + super.createCallView(); + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + mWebView = new WebView(mContext); + mWebView.setBackgroundColor(Color.BLACK); + + // warn that the webview must be added in an activity/fragment + dispatchOnCallViewCreated(mWebView); + + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + mCallWebAppInterface = new CallWebAppInterface(); + mWebView.addJavascriptInterface(mCallWebAppInterface, "Android"); + + WebView.setWebContentsDebuggingEnabled(true); + WebSettings settings = mWebView.getSettings(); + + // Enable Javascript + settings.setJavaScriptEnabled(true); + + // Use WideViewport and Zoom out if there is no viewport defined + settings.setUseWideViewPort(true); + settings.setLoadWithOverviewMode(true); + + // Enable pinch to zoom without the zoom buttons + settings.setBuiltInZoomControls(true); + + // Allow use of Local Storage + settings.setDomStorageEnabled(true); + + settings.setAllowFileAccessFromFileURLs(true); + settings.setAllowUniversalAccessFromFileURLs(true); + + settings.setDisplayZoomControls(false); + + mWebView.setWebViewClient(new WebViewClient()); + + // AppRTC requires third party cookies to work + android.webkit.CookieManager cookieManager = android.webkit.CookieManager.getInstance(); + cookieManager.setAcceptThirdPartyCookies(mWebView, true); + + final String url = "file:///android_asset/www/call.html"; + mWebView.loadUrl(url); + + mWebView.setWebChromeClient(new WebChromeClient() { + @Override + public void onPermissionRequest(final PermissionRequest request) { + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + request.grant(request.getResources()); + } + }); + } + }); + } + }); + } + }); + } + + /** + * Start a call. + */ + @Override + public void placeCall(VideoLayoutConfiguration aLocalVideoPosition) { + super.placeCall(aLocalVideoPosition); + if (CALL_STATE_READY.equals(getCallState())) { + mIsIncoming = false; + + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + mWebView.loadUrl(mIsVideoCall ? "javascript:placeVideoCall()" : "javascript:placeVoiceCall()"); + } + }); + } + } + + /** + * Prepare a call reception. + * + * @param aCallInviteParams the invitation Event content + * @param aCallId the call ID + * @param aLocalVideoPosition position of the local video attendee + */ + @Override + public void prepareIncomingCall(final JsonObject aCallInviteParams, final String aCallId, VideoLayoutConfiguration aLocalVideoPosition) { + Log.d(LOG_TAG, "## prepareIncomingCall : call state " + getCallState()); + super.prepareIncomingCall(aCallInviteParams, aCallId, aLocalVideoPosition); + mCallId = aCallId; + + if (CALL_STATE_READY.equals(getCallState())) { + mIsIncoming = true; + + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + mWebView.loadUrl("javascript:initWithInvite('" + aCallId + "'," + aCallInviteParams.toString() + ")"); + mIsIncomingPrepared = true; + + mWebView.post(new Runnable() { + @Override + public void run() { + checkPendingCandidates(); + } + }); + } + }); + } else if (CALL_STATE_CREATED.equals(getCallState())) { + mCallInviteParams = aCallInviteParams; + + // detect call type from the sdp + try { + JsonObject offer = mCallInviteParams.get("offer").getAsJsonObject(); + JsonElement sdp = offer.get("sdp"); + String sdpValue = sdp.getAsString(); + setIsVideo(sdpValue.contains("m=video")); + } catch (Exception e) { + Log.e(LOG_TAG, "## prepareIncomingCall() ; " + e.getMessage(), e); + } + } + } + + /** + * The call has been detected as an incoming one. + * The application launched the dedicated activity and expects to launch the incoming call. + * + * @param aLocalVideoPosition local video position + */ + @Override + public void launchIncomingCall(VideoLayoutConfiguration aLocalVideoPosition) { + super.launchIncomingCall(aLocalVideoPosition); + if (CALL_STATE_READY.equals(getCallState())) { + prepareIncomingCall(mCallInviteParams, mCallId, null); + } + } + + /** + * The callee accepts the call. + * + * @param event the event + */ + private void onCallAnswer(final Event event) { + if (!CALL_STATE_CREATED.equals(getCallState()) && (null != mWebView)) { + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + mWebView.loadUrl("javascript:receivedAnswer(" + event.getContent().toString() + ")"); + } + }); + } + } + + /** + * The other call member hangs up the call. + * + * @param event the event + */ + private void onCallHangup(final Event event) { + if (!CALL_STATE_CREATED.equals(getCallState()) && (null != mWebView)) { + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + mWebView.loadUrl("javascript:onHangupReceived(" + event.getContent().toString() + ")"); + + mWebView.post(new Runnable() { + @Override + public void run() { + dispatchOnCallEnd(END_CALL_REASON_PEER_HANG_UP); + } + }); + } + }); + } + } + + /** + * A new Ice candidate is received + * + * @param candidates the ice candidates + */ + public void onNewCandidates(final JsonElement candidates) { + if (!CALL_STATE_CREATED.equals(getCallState()) && (null != mWebView)) { + mWebView.post(new Runnable() { + @Override + public void run() { + mWebView.loadUrl("javascript:gotRemoteCandidates(" + candidates.toString() + ")"); + } + }); + } + } + + /** + * Add ice candidates + * + * @param candidates ic candidates + */ + private void addCandidates(JsonArray candidates) { + if (mIsIncomingPrepared || !isIncoming()) { + onNewCandidates(candidates); + } else { + synchronized (LOG_TAG) { + mPendingCandidates.addAll(candidates); + } + } + } + + /** + * Some Ice candidates could have been received while creating the call view. + * Check if some of them have been defined. + */ + public void checkPendingCandidates() { + synchronized (LOG_TAG) { + onNewCandidates(mPendingCandidates); + mPendingCandidates = new JsonArray(); + } + } + + // events thread + + /** + * Manage the call events. + * + * @param event the call event. + */ + @Override + public void handleCallEvent(Event event) { + super.handleCallEvent(event); + + String eventType = event.getType(); + + if (event.isCallEvent()) { + // event from other member + if (!TextUtils.equals(event.getSender(), mSession.getMyUserId())) { + if (Event.EVENT_TYPE_CALL_ANSWER.equals(eventType) && !mIsIncoming) { + onCallAnswer(event); + } else if (Event.EVENT_TYPE_CALL_CANDIDATES.equals(eventType)) { + JsonArray candidates = event.getContentAsJsonObject().getAsJsonArray("candidates"); + addCandidates(candidates); + } else if (Event.EVENT_TYPE_CALL_HANGUP.equals(eventType)) { + onCallHangup(event); + } + } else if (Event.EVENT_TYPE_CALL_INVITE.equals(eventType)) { + // server echo : assume that the other device is ringing + mCallWebAppInterface.mCallState = IMXCall.CALL_STATE_RINGING; + + // warn in the UI thread + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + dispatchOnStateDidChange(mCallWebAppInterface.mCallState); + } + }); + + } else if (Event.EVENT_TYPE_CALL_ANSWER.equals(eventType)) { + // check if the call has not been answer in another device + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + // ring on this side + if (getCallState().equals(IMXCall.CALL_STATE_RINGING)) { + onAnsweredElsewhere(); + } + } + }); + + } + } + } + + // user actions + + /** + * The call is accepted. + */ + @Override + public void answer() { + super.answer(); + if (!CALL_STATE_CREATED.equals(getCallState()) && (null != mWebView)) { + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + mWebView.loadUrl("javascript:answerCall()"); + } + }); + } + } + + /** + * The call is hung up. + */ + @Override + public void hangup(String reason) { + super.hangup(reason); + + if (!CALL_STATE_CREATED.equals(getCallState()) && (null != mWebView)) { + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + mWebView.loadUrl("javascript:hangup()"); + } + }); + } else { + sendHangup(reason); + } + } + + // getters / setters + + /** + * @return the callstate (must be a CALL_STATE_XX value) + */ + @Override + public String getCallState() { + if (null != mCallWebAppInterface) { + return mCallWebAppInterface.mCallState; + } else { + return CALL_STATE_CREATED; + } + } + + /** + * @return the callView + */ + @Override + public View getCallView() { + return mWebView; + } + + /** + * @return the callView visibility + */ + @Override + public int getVisibility() { + if (null != mWebView) { + return mWebView.getVisibility(); + } else { + return View.GONE; + } + } + + /** + * Set the callview visibility + * + * @return true if the operation succeeds + */ + public boolean setVisibility(int visibility) { + if (null != mWebView) { + mWebView.setVisibility(visibility); + return true; + } + return false; + } + + @Override + public void onAnsweredElsewhere() { + super.onAnsweredElsewhere(); + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + mWebView.loadUrl("javascript:onAnsweredElsewhere()"); + } + }); + + dispatchAnsweredElsewhere(); + } + + // private class + private class CallWebAppInterface { + public String mCallState = CALL_STATE_CREATING_CALL_VIEW; + private Timer mCallTimeoutTimer = null; + + CallWebAppInterface() { + if (null == mCallingRoom) { + throw new AssertionError("MXChromeCall : room cannot be null"); + } + } + + // JS <-> android calls + @JavascriptInterface + public String wgetCallId() { + return mCallId; + } + + @JavascriptInterface + public String wgetRoomId() { + return mCallSignalingRoom.getRoomId(); + } + + @JavascriptInterface + public String wgetTurnServer() { + if (null != mTurnServer) { + return mTurnServer.toString(); + } else { + return null; + } + } + + @JavascriptInterface + public void wlog(String message) { + Log.d(LOG_TAG, "WebView Message : " + message); + } + + @JavascriptInterface + public void wCallError(String message) { + Log.e(LOG_TAG, "WebView error Message : " + message); + if ("ice_failed".equals(message)) { + dispatchOnCallError(CALL_ERROR_ICE_FAILED); + } else if ("user_media_failed".equals(message)) { + dispatchOnCallError(CALL_ERROR_CAMERA_INIT_FAILED); + } + } + + @JavascriptInterface + public void wOnStateUpdate(String jsstate) { + String nextState = null; + + if ("fledgling".equals(jsstate)) { + nextState = CALL_STATE_READY; + } else if ("wait_local_media".equals(jsstate)) { + nextState = CALL_STATE_WAIT_LOCAL_MEDIA; + } else if ("create_offer".equals(jsstate)) { + nextState = CALL_STATE_WAIT_CREATE_OFFER; + } else if ("invite_sent".equals(jsstate)) { + nextState = CALL_STATE_INVITE_SENT; + } else if ("ringing".equals(jsstate)) { + nextState = CALL_STATE_RINGING; + } else if ("create_answer".equals(jsstate)) { + nextState = CALL_STATE_CREATE_ANSWER; + } else if ("connecting".equals(jsstate)) { + nextState = CALL_STATE_CONNECTING; + } else if ("connected".equals(jsstate)) { + nextState = CALL_STATE_CONNECTED; + } else if ("ended".equals(jsstate)) { + nextState = CALL_STATE_ENDED; + } + + // is there any state update ? + if ((null != nextState) && !mCallState.equals(nextState)) { + mCallState = nextState; + + // warn in the UI thread + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + // call timeout management + if (CALL_STATE_CONNECTING.equals(mCallState) || CALL_STATE_CONNECTING.equals(mCallState)) { + if (null != mCallTimeoutTimer) { + mCallTimeoutTimer.cancel(); + mCallTimeoutTimer = null; + } + } + + dispatchOnStateDidChange(mCallState); + } + }); + } + } + + @JavascriptInterface + public void wOnLoaded() { + mCallState = CALL_STATE_READY; + + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + dispatchOnReady(); + } + }); + } + + private void sendHangup(final Event event) { + if (null != mCallTimeoutTimer) { + mCallTimeoutTimer.cancel(); + mCallTimeoutTimer = null; + } + + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + dispatchOnCallEnd(END_CALL_REASON_UNDEFINED); + } + }); + + mPendingEvents.clear(); + + mCallSignalingRoom.sendEvent(event, new ApiCallback() { + @Override + public void onSuccess(Void info) { + } + + @Override + public void onNetworkError(Exception e) { + // try again + sendHangup(event); + } + + @Override + public void onMatrixError(MatrixError e) { + } + + @Override + public void onUnexpectedError(Exception e) { + } + }); + } + + @JavascriptInterface + public void wSendEvent(final String roomId, final String eventType, final String jsonContent) { + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + try { + boolean addIt = true; + JsonObject content = (JsonObject) new JsonParser().parse(jsonContent); + + // merge candidates + if (TextUtils.equals(eventType, Event.EVENT_TYPE_CALL_CANDIDATES) && (mPendingEvents.size() > 0)) { + try { + Event lastEvent = mPendingEvents.get(mPendingEvents.size() - 1); + + if (TextUtils.equals(lastEvent.getType(), Event.EVENT_TYPE_CALL_CANDIDATES)) { + JsonObject lastContent = lastEvent.getContentAsJsonObject(); + + JsonArray lastContentCandidates = lastContent.get("candidates").getAsJsonArray(); + JsonArray newContentCandidates = content.get("candidates").getAsJsonArray(); + + Log.d(LOG_TAG, "Merge candidates from " + lastContentCandidates.size() + + " to " + (lastContentCandidates.size() + newContentCandidates.size() + " items.")); + + lastContentCandidates.addAll(newContentCandidates); + + lastContent.remove("candidates"); + lastContent.add("candidates", lastContentCandidates); + addIt = false; + } + } catch (Exception e) { + Log.e(LOG_TAG, "## wSendEvent() ; " + e.getMessage(), e); + } + } + + if (addIt) { + Event event = new Event(eventType, content, mSession.getCredentials().userId, mCallSignalingRoom.getRoomId()); + + if (null != event) { + // receive an hangup -> close the window asap + if (TextUtils.equals(eventType, Event.EVENT_TYPE_CALL_HANGUP)) { + sendHangup(event); + } else { + mPendingEvents.add(event); + } + + // the calleee has 30s to answer to call + if (TextUtils.equals(eventType, Event.EVENT_TYPE_CALL_INVITE)) { + try { + mCallTimeoutTimer = new Timer(); + mCallTimeoutTimer.schedule(new TimerTask() { + @Override + public void run() { + try { + if (getCallState().equals(IMXCall.CALL_STATE_RINGING) + || getCallState().equals(IMXCall.CALL_STATE_INVITE_SENT)) { + dispatchOnCallError(CALL_ERROR_USER_NOT_RESPONDING); + hangup(null); + } + + // cancel the timer + mCallTimeoutTimer.cancel(); + mCallTimeoutTimer = null; + } catch (Exception e) { + Log.e(LOG_TAG, "## wSendEvent() ; " + e.getMessage(), e); + } + } + }, CALL_TIMEOUT_MS); + } catch (Throwable throwable) { + if (null != mCallTimeoutTimer) { + mCallTimeoutTimer.cancel(); + mCallTimeoutTimer = null; + } + Log.e(LOG_TAG, "## wSendEvent() ; " + throwable.getMessage(), throwable); + } + } + } + } + + // send events + sendNextEvent(); + + } catch (Exception e) { + Log.e(LOG_TAG, "## wSendEvent() ; " + e.getMessage(), e); + } + } + }); + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXWebRtcCall.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXWebRtcCall.java new file mode 100644 index 00000000..0a60d0a7 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXWebRtcCall.java @@ -0,0 +1,1733 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.call; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.support.v4.content.ContextCompat; +import android.text.TextUtils; +import android.util.DisplayMetrics; +import android.view.View; +import android.widget.RelativeLayout; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.oney.WebRTCModule.EglUtils; + +import im.vector.matrix.android.internal.legacy.MXSession; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.util.Log; +import org.webrtc.AudioSource; +import org.webrtc.AudioTrack; +import org.webrtc.Camera1Enumerator; +import org.webrtc.Camera2Enumerator; +import org.webrtc.CameraEnumerator; +import org.webrtc.CameraVideoCapturer; +import org.webrtc.DataChannel; +import org.webrtc.EglBase; +import org.webrtc.IceCandidate; +import org.webrtc.MediaConstraints; +import org.webrtc.MediaStream; +import org.webrtc.PeerConnection; +import org.webrtc.PeerConnectionFactory; +import org.webrtc.RtpReceiver; +import org.webrtc.SdpObserver; +import org.webrtc.SessionDescription; +import org.webrtc.VideoSource; +import org.webrtc.VideoTrack; + +import java.util.ArrayList; +import java.util.List; +import java.util.Timer; +import java.util.TimerTask; + +public class MXWebRtcCall extends MXCall { + private static final String LOG_TAG = MXWebRtcCall.class.getSimpleName(); + + private static final String VIDEO_TRACK_ID = "ARDAMSv0"; + private static final String AUDIO_TRACK_ID = "ARDAMSa0"; + + private static final int DEFAULT_WIDTH = 640; + private static final int DEFAULT_HEIGHT = 360; + private static final int DEFAULT_FPS = 30; + + private static final int CAMERA_TYPE_FRONT = 1; + private static final int CAMERA_TYPE_REAR = 2; + private static final int CAMERA_TYPE_UNDEFINED = -1; + + static private PeerConnectionFactory mPeerConnectionFactory = null; + static private String mFrontCameraName = null; + static private String mBackCameraName = null; + static private CameraVideoCapturer mCameraVideoCapturer = null; + + private RelativeLayout mCallView = null; + + private boolean mIsCameraSwitched; + private boolean mIsCameraUnplugged = false; + private VideoSource mVideoSource = null; + private VideoTrack mLocalVideoTrack = null; + private AudioSource mAudioSource = null; + private AudioTrack mLocalAudioTrack = null; + private MediaStream mLocalMediaStream = null; + + private VideoTrack mRemoteVideoTrack = null; + private PeerConnection mPeerConnection = null; + + // default value + private String mCallState = CALL_STATE_CREATED; + + private boolean mUsingLargeLocalRenderer = true; + private MXWebRtcView mFullScreenRTCView = null; + private MXWebRtcView mPipRTCView = null; + + private static boolean mIsInitialized = false; + // null -> not initialized + // true / false for the supported status + private static Boolean mIsSupported; + + // candidate management + private boolean mIsIncomingPrepared = false; + private JsonArray mPendingCandidates = new JsonArray(); + + private JsonObject mCallInviteParams = null; + private int mCameraInUse = CAMERA_TYPE_UNDEFINED; + + private boolean mIsAnswered = false; + + /** + * @param context the context + * @return true if this stack can perform calls. + */ + public static boolean isSupported(Context context) { + if (null == mIsSupported) { + initializeAndroidGlobals(context.getApplicationContext()); + + Log.d(LOG_TAG, "isSupported " + mIsSupported); + } + + return mIsSupported; + } + + /** + * Tells if the camera2 Api is supported + * + * @param context the context + * @return true if the Camera2 API is supported + */ + private static boolean useCamera2(Context context) { + return Camera2Enumerator.isSupported(context); + } + + /** + * Test if the camera is not used by another app. + * It is used to prevent crashes at org.webrtc.Camera1Session.create(Camera1Session.java:80) + * when the front camera is not available. + * + * @param context the context + * @param isFrontOne true if the camera is the + * @return true if the camera is used. + */ + @SuppressLint("Deprecation") + private static boolean isCameraInUse(Context context, boolean isFrontOne) { + boolean isUsed = false; + + if (!useCamera2(context)) { + int cameraId = -1; + int numberOfCameras = android.hardware.Camera.getNumberOfCameras(); + for (int i = 0; i < numberOfCameras; i++) { + android.hardware.Camera.CameraInfo info = new android.hardware.Camera.CameraInfo(); + android.hardware.Camera.getCameraInfo(i, info); + + if ((info.facing == android.hardware.Camera.CameraInfo.CAMERA_FACING_FRONT) && isFrontOne) { + cameraId = i; + break; + } else if ((info.facing == android.hardware.Camera.CameraInfo.CAMERA_FACING_BACK) && !isFrontOne) { + cameraId = i; + break; + } + } + + if (cameraId >= 0) { + android.hardware.Camera c = null; + try { + c = android.hardware.Camera.open(cameraId); + } catch (Exception e) { + Log.e(LOG_TAG, "## isCameraInUse() : failed " + e.getMessage(), e); + } finally { + isUsed = (null == c); + if (c != null) { + c.release(); + } + } + } + } + + return isUsed; + } + + /** + * Get a camera enumerator + * + * @param context the context + * @return the camera enumerator + */ + private static CameraEnumerator getCameraEnumerator(Context context) { + if (useCamera2(context)) { + return new Camera2Enumerator(context); + } else { + return new Camera1Enumerator(false); + } + } + + /** + * Constructor + * + * @param session the session + * @param context the context + * @param turnServer the turn server + */ + public MXWebRtcCall(MXSession session, Context context, JsonElement turnServer) { + if (!isSupported(context)) { + throw new AssertionError("MXWebRtcCall : not supported with the current android version"); + } + + if (null == session) { + throw new AssertionError("MXWebRtcCall : session cannot be null"); + } + + if (null == context) { + throw new AssertionError("MXWebRtcCall : context cannot be null"); + } + + Log.d(LOG_TAG, "MXWebRtcCall constructor " + turnServer); + + mCallId = "c" + System.currentTimeMillis(); + mSession = session; + mContext = context; + mTurnServer = turnServer; + } + + /** + * Initialize globals + */ + private static void initializeAndroidGlobals(Context context) { + if (!mIsInitialized) { + try { + mIsInitialized = PeerConnectionFactory.initializeAndroidGlobals( + context, + true, // enable audio initializing + true, // enable video initializing + true // enable hardware acceleration + ); + + PeerConnectionFactory.initializeFieldTrials(null); + + mIsSupported = true; + Log.d(LOG_TAG, "## initializeAndroidGlobals(): mIsInitialized=" + mIsInitialized); + } catch (Throwable e) { + Log.e(LOG_TAG, "## initializeAndroidGlobals(): Exception Msg=" + e.getMessage(), e); + mIsInitialized = true; + mIsSupported = false; + } + } + } + + /** + * Create the callviews + */ + @Override + public void createCallView() { + super.createCallView(); + + if ((null != mIsSupported) && mIsSupported) { + Log.d(LOG_TAG, "++ createCallView()"); + + dispatchOnStateDidChange(CALL_STATE_CREATING_CALL_VIEW); + mUIThreadHandler.postDelayed(new Runnable() { + @Override + public void run() { + mCallView = new RelativeLayout(mContext); + mCallView.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, + RelativeLayout.LayoutParams.MATCH_PARENT)); + mCallView.setBackgroundColor(ContextCompat.getColor(mContext, android.R.color.black)); + mCallView.setVisibility(View.GONE); + + dispatchOnCallViewCreated(mCallView); + + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + dispatchOnStateDidChange(CALL_STATE_READY); + dispatchOnReady(); + } + }); + } + }, 10); + } + } + + /** + * The connection is terminated + * + * @param endCallReasonId the reason of the call ending + */ + private void terminate(final int endCallReasonId) { + Log.d(LOG_TAG, "## terminate(): reason= " + endCallReasonId); + + if (isCallEnded()) { + return; + } + + dispatchOnStateDidChange(CALL_STATE_ENDED); + + boolean isPeerConnectionFactoryAllowed = false; + + if (null != mPeerConnection) { + mPeerConnection.dispose(); + mPeerConnection = null; + // the call has been initialized so mPeerConnectionFactory can be released + isPeerConnectionFactoryAllowed = true; + } + + if (null != mCameraVideoCapturer) { + mCameraVideoCapturer.dispose(); + mCameraVideoCapturer = null; + } + + if (null != mVideoSource) { + mVideoSource.dispose(); + mVideoSource = null; + } + + if (null != mAudioSource) { + mAudioSource.dispose(); + mAudioSource = null; + } + + // mPeerConnectionFactory is static so it might be used by another call + // so we test that the current has been created + if (isPeerConnectionFactoryAllowed && (null != mPeerConnectionFactory)) { + mPeerConnectionFactory.dispose(); + mPeerConnectionFactory = null; + } + + if (null != mCallView) { + final View fCallView = mCallView; + + fCallView.post(new Runnable() { + @Override + public void run() { + fCallView.setVisibility(View.GONE); + } + }); + + mCallView = null; + } + + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + dispatchOnCallEnd(endCallReasonId); + } + }); + } + + /** + * Send the invite event + * + * @param sessionDescription the session description. + */ + private void sendInvite(final SessionDescription sessionDescription) { + // check if the call has not been killed + if (isCallEnded()) { + Log.d(LOG_TAG, "## sendInvite(): isCallEnded"); + return; + } + + Log.d(LOG_TAG, "## sendInvite()"); + + // build the invitation event + JsonObject inviteContent = new JsonObject(); + inviteContent.addProperty("version", 0); + inviteContent.addProperty("call_id", mCallId); + inviteContent.addProperty("lifetime", CALL_TIMEOUT_MS); + + JsonObject offerContent = new JsonObject(); + offerContent.addProperty("sdp", sessionDescription.description); + offerContent.addProperty("type", sessionDescription.type.canonicalForm()); + inviteContent.add("offer", offerContent); + + Event event = new Event(Event.EVENT_TYPE_CALL_INVITE, inviteContent, mSession.getCredentials().userId, mCallSignalingRoom.getRoomId()); + + mPendingEvents.add(event); + + try { + mCallTimeoutTimer = new Timer(); + mCallTimeoutTimer.schedule(new TimerTask() { + @Override + public void run() { + try { + if (getCallState().equals(IMXCall.CALL_STATE_RINGING) || getCallState().equals(IMXCall.CALL_STATE_INVITE_SENT)) { + Log.d(LOG_TAG, "sendInvite : CALL_ERROR_USER_NOT_RESPONDING"); + dispatchOnCallError(CALL_ERROR_USER_NOT_RESPONDING); + hangup(null); + } + + // cancel the timer + mCallTimeoutTimer.cancel(); + mCallTimeoutTimer = null; + } catch (Exception e) { + Log.e(LOG_TAG, "## sendInvite(): Exception Msg= " + e.getMessage(), e); + } + } + }, CALL_TIMEOUT_MS); + } catch (Throwable throwable) { + Log.e(LOG_TAG, "## sendInvite(): failed " + throwable.getMessage(), throwable); + if (null != mCallTimeoutTimer) { + mCallTimeoutTimer.cancel(); + mCallTimeoutTimer = null; + } + } + + sendNextEvent(); + } + + /** + * Send the answer event + * + * @param sessionDescription the session description + */ + private void sendAnswer(final SessionDescription sessionDescription) { + // check if the call has not been killed + if (isCallEnded()) { + Log.d(LOG_TAG, "sendAnswer isCallEnded"); + return; + } + + Log.d(LOG_TAG, "sendAnswer"); + + // build the invitation event + JsonObject answerContent = new JsonObject(); + answerContent.addProperty("version", 0); + answerContent.addProperty("call_id", mCallId); + answerContent.addProperty("lifetime", CALL_TIMEOUT_MS); + + JsonObject offerContent = new JsonObject(); + offerContent.addProperty("sdp", sessionDescription.description); + offerContent.addProperty("type", sessionDescription.type.canonicalForm()); + answerContent.add("answer", offerContent); + + Event event = new Event(Event.EVENT_TYPE_CALL_ANSWER, answerContent, mSession.getCredentials().userId, mCallSignalingRoom.getRoomId()); + mPendingEvents.add(event); + sendNextEvent(); + + mIsAnswered = true; + } + + @Override + public void updateLocalVideoRendererPosition(VideoLayoutConfiguration aConfigurationToApply) { + super.updateLocalVideoRendererPosition(aConfigurationToApply); + try { + updateWebRtcViewLayout(mPipRTCView, aConfigurationToApply); + } catch (Exception e) { + Log.e(LOG_TAG, "## updateLocalVideoRendererPosition(): Exception Msg=" + e.getMessage(), e); + } + } + + @Override + public boolean isSwitchCameraSupported() { + String[] deviceNames = getCameraEnumerator(mContext).getDeviceNames(); + return (null != deviceNames) && (0 != deviceNames.length); + } + + @Override + public boolean switchRearFrontCamera() { + if ((null != mCameraVideoCapturer) && (isSwitchCameraSupported())) { + try { + mCameraVideoCapturer.switchCamera(null); + + // toggle the video capturer instance + if (CAMERA_TYPE_FRONT == mCameraInUse) { + mCameraInUse = CAMERA_TYPE_REAR; + } else { + mCameraInUse = CAMERA_TYPE_FRONT; + } + + // compute camera switch new status + mIsCameraSwitched = !mIsCameraSwitched; + + return true; + } catch (Exception e) { + Log.e(LOG_TAG, "## switchRearFrontCamera(): failed " + e.getMessage(), e); + } + } else { + Log.w(LOG_TAG, "## switchRearFrontCamera(): failure - invalid values"); + } + return false; + } + + @Override + public void muteVideoRecording(boolean muteValue) { + Log.d(LOG_TAG, "## muteVideoRecording(): muteValue=" + muteValue); + + if (!isCallEnded()) { + if (null != mLocalVideoTrack) { + mLocalVideoTrack.setEnabled(!muteValue); + } else { + Log.d(LOG_TAG, "## muteVideoRecording(): failure - invalid value"); + } + } else { + Log.d(LOG_TAG, "## muteVideoRecording(): the call is ended"); + } + } + + @Override + public boolean isVideoRecordingMuted() { + boolean isMuted = false; + + if (!isCallEnded()) { + if (null != mLocalVideoTrack) { + isMuted = !mLocalVideoTrack.enabled(); + } else { + Log.w(LOG_TAG, "## isVideoRecordingMuted(): failure - invalid value"); + } + + Log.d(LOG_TAG, "## isVideoRecordingMuted() = " + isMuted); + } else { + Log.d(LOG_TAG, "## isVideoRecordingMuted() : the call is ended"); + } + + return isMuted; + } + + @Override + public boolean isCameraSwitched() { + return mIsCameraSwitched; + } + + /** + * create the local stream + */ + private void createLocalStream() { + Log.d(LOG_TAG, "## createLocalStream(): IN"); + + // check there is at least one stream to start a call + if ((null == mLocalVideoTrack) && (null == mLocalAudioTrack)) { + Log.d(LOG_TAG, "## createLocalStream(): CALL_ERROR_CALL_INIT_FAILED"); + + dispatchOnCallError(CALL_ERROR_CALL_INIT_FAILED); + hangup("no_stream"); + terminate(IMXCall.END_CALL_REASON_UNDEFINED); + return; + } + + // create our local stream to add our audio and video tracks + mLocalMediaStream = mPeerConnectionFactory.createLocalMediaStream("ARDAMS"); + // add video track to local stream + if (null != mLocalVideoTrack) { + mLocalMediaStream.addTrack(mLocalVideoTrack); + } + // add audio track to local stream + if (null != mLocalAudioTrack) { + mLocalMediaStream.addTrack(mLocalAudioTrack); + } + + if (null != mFullScreenRTCView) { + mFullScreenRTCView.setStream(mLocalMediaStream); + mFullScreenRTCView.setVisibility(View.VISIBLE); + } + + // build ICE servers list + List iceServers = new ArrayList<>(); + + if (null != mTurnServer) { + try { + String username = null; + String password = null; + JsonObject object = mTurnServer.getAsJsonObject(); + + if (object.has("username")) { + username = object.get("username").getAsString(); + } + + if (object.has("password")) { + password = object.get("password").getAsString(); + } + + JsonArray uris = object.get("uris").getAsJsonArray(); + + for (int index = 0; index < uris.size(); index++) { + String url = uris.get(index).getAsString(); + + if ((null != username) && (null != password)) { + iceServers.add(new PeerConnection.IceServer(url, username, password)); + } else { + iceServers.add(new PeerConnection.IceServer(url)); + } + } + } catch (Exception e) { + Log.e(LOG_TAG, "## createLocalStream(): Exception in ICE servers list Msg=" + e.getMessage(), e); + } + } + + Log.d(LOG_TAG, "## createLocalStream(): " + iceServers.size() + " known ice servers"); + + // define at least on server + if (iceServers.isEmpty()) { + Log.d(LOG_TAG, "## createLocalStream(): use the default google server"); + iceServers.add(new PeerConnection.IceServer("stun:stun.l.google.com:19302")); + } + + // define constraints + MediaConstraints pcConstraints = new MediaConstraints(); + pcConstraints.optional.add(new MediaConstraints.KeyValuePair("RtpDataChannels", "true")); + + // start connecting to the other peer by creating the peer connection + mPeerConnection = mPeerConnectionFactory.createPeerConnection( + iceServers, + pcConstraints, + new PeerConnection.Observer() { + @Override + public void onSignalingChange(PeerConnection.SignalingState signalingState) { + Log.d(LOG_TAG, "## mPeerConnection creation: onSignalingChange state=" + signalingState); + } + + @Override + public void onIceConnectionChange(final PeerConnection.IceConnectionState iceConnectionState) { + Log.d(LOG_TAG, "## mPeerConnection creation: onIceConnectionChange " + iceConnectionState); + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + if (iceConnectionState == PeerConnection.IceConnectionState.CONNECTED) { + if ((null != mLocalVideoTrack) && mUsingLargeLocalRenderer && isVideo()) { + mLocalVideoTrack.setEnabled(false); + + // in conference call, there is no local preview, + // the local attendee video is sent by the server among the others conference attendees. + if (!isConference()) { + // add local preview, only for 1:1 call + //mLocalVideoTrack.addRenderer(mSmallLocalRenderer); + mPipRTCView.setStream(mLocalMediaStream); + mPipRTCView.setVisibility(View.VISIBLE); + + // to be able to display the avatar video above the large one + mPipRTCView.setZOrder(1); + } + + mLocalVideoTrack.setEnabled(true); + mUsingLargeLocalRenderer = false; + + mCallView.post(new Runnable() { + @Override + public void run() { + if (null != mCallView) { + mCallView.invalidate(); + } + } + }); + } + + dispatchOnStateDidChange(IMXCall.CALL_STATE_CONNECTED); + } + // theses states are ignored + // only the matrix hangup event is managed + /*else if (iceConnectionState == PeerConnection.IceConnectionState.DISCONNECTED) { + // TODO warn the user ? + hangup(null); + } else if (iceConnectionState == PeerConnection.IceConnectionState.CLOSED) { + // TODO warn the user ? + terminate(); + }*/ + else if (iceConnectionState == PeerConnection.IceConnectionState.FAILED) { + dispatchOnCallError(CALL_ERROR_ICE_FAILED); + hangup("ice_failed"); + } + } + }); + } + + @Override + public void onIceConnectionReceivingChange(boolean var1) { + Log.d(LOG_TAG, "## mPeerConnection creation: onIceConnectionReceivingChange " + var1); + } + + @Override + public void onIceCandidatesRemoved(IceCandidate[] var1) { + Log.d(LOG_TAG, "## mPeerConnection creation: onIceCandidatesRemoved " + var1); + } + + @Override + public void onIceGatheringChange(PeerConnection.IceGatheringState iceGatheringState) { + Log.d(LOG_TAG, "## mPeerConnection creation: onIceGatheringChange " + iceGatheringState); + } + + @Override + public void onAddTrack(RtpReceiver var1, MediaStream[] var2) { + Log.d(LOG_TAG, "## mPeerConnection creation: onAddTrack " + var1 + " -- " + var2); + } + + @Override + public void onIceCandidate(final IceCandidate iceCandidate) { + Log.d(LOG_TAG, "## mPeerConnection creation: onIceCandidate " + iceCandidate); + + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + if (!isCallEnded()) { + JsonObject content = new JsonObject(); + content.addProperty("version", 0); + content.addProperty("call_id", mCallId); + + JsonArray candidates = new JsonArray(); + JsonObject cand = new JsonObject(); + cand.addProperty("sdpMLineIndex", iceCandidate.sdpMLineIndex); + cand.addProperty("sdpMid", iceCandidate.sdpMid); + cand.addProperty("candidate", iceCandidate.sdp); + candidates.add(cand); + content.add("candidates", candidates); + + boolean addIt = true; + + // merge candidates + if (mPendingEvents.size() > 0) { + try { + Event lastEvent = mPendingEvents.get(mPendingEvents.size() - 1); + + if (TextUtils.equals(lastEvent.getType(), Event.EVENT_TYPE_CALL_CANDIDATES)) { + // return the content cast as a JsonObject + // it is not a copy + JsonObject lastContent = lastEvent.getContentAsJsonObject(); + + JsonArray lastContentCandidates = lastContent.get("candidates").getAsJsonArray(); + JsonArray newContentCandidates = content.get("candidates").getAsJsonArray(); + + Log.d(LOG_TAG, "Merge candidates from " + lastContentCandidates.size() + + " to " + (lastContentCandidates.size() + newContentCandidates.size() + " items.")); + + lastContentCandidates.addAll(newContentCandidates); + + // replace the candidates list + lastContent.remove("candidates"); + lastContent.add("candidates", lastContentCandidates); + + // don't need to save anything, lastContent is a reference not a copy + addIt = false; + } + } catch (Exception e) { + Log.e(LOG_TAG, "## createLocalStream(): createPeerConnection - onIceCandidate() Exception Msg=" + + e.getMessage(), e); + } + } + + if (addIt) { + Event event = new Event(Event.EVENT_TYPE_CALL_CANDIDATES, content, mSession.getCredentials().userId, + mCallSignalingRoom.getRoomId()); + + mPendingEvents.add(event); + sendNextEvent(); + } + } + } + }); + } + + @Override + public void onAddStream(final MediaStream mediaStream) { + Log.d(LOG_TAG, "## mPeerConnection creation: onAddStream " + mediaStream); + + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + if ((mediaStream.videoTracks.size() == 1) && !isCallEnded()) { + mRemoteVideoTrack = mediaStream.videoTracks.get(0); + mRemoteVideoTrack.setEnabled(true); + mFullScreenRTCView.setStream(mediaStream); + mFullScreenRTCView.setVisibility(View.VISIBLE); + } + } + }); + } + + @Override + public void onRemoveStream(final MediaStream mediaStream) { + Log.d(LOG_TAG, "## mPeerConnection creation: onRemoveStream " + mediaStream); + + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + if (null != mRemoteVideoTrack) { + mRemoteVideoTrack.dispose(); + mRemoteVideoTrack = null; + mediaStream.videoTracks.get(0).dispose(); + } + } + }); + + } + + @Override + public void onDataChannel(DataChannel dataChannel) { + Log.d(LOG_TAG, "## mPeerConnection creation: onDataChannel " + dataChannel); + } + + @Override + public void onRenegotiationNeeded() { + Log.d(LOG_TAG, "## mPeerConnection creation: onRenegotiationNeeded"); + } + }); + + if (null == mPeerConnection) { + dispatchOnCallError(CALL_ERROR_ICE_FAILED); + hangup("cannot create peer connection"); + return; + } + + // send our local video and audio stream to make it seen by the other part + mPeerConnection.addStream(mLocalMediaStream); + + MediaConstraints constraints = new MediaConstraints(); + constraints.mandatory.add(new MediaConstraints.KeyValuePair("OfferToReceiveAudio", "true")); + constraints.mandatory.add(new MediaConstraints.KeyValuePair("OfferToReceiveVideo", isVideo() ? "true" : "false")); + + // call createOffer only for outgoing calls + if (!isIncoming()) { + Log.d(LOG_TAG, "## createLocalStream(): !isIncoming() -> createOffer"); + + mPeerConnection.createOffer(new SdpObserver() { + @Override + public void onCreateSuccess(SessionDescription sessionDescription) { + Log.d(LOG_TAG, "createOffer onCreateSuccess"); + + final SessionDescription sdp = new SessionDescription(sessionDescription.type, sessionDescription.description); + + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + if (mPeerConnection != null) { + // must be done to before sending the invitation message + mPeerConnection.setLocalDescription(new SdpObserver() { + @Override + public void onCreateSuccess(SessionDescription sessionDescription) { + Log.d(LOG_TAG, "setLocalDescription onCreateSuccess"); + } + + @Override + public void onSetSuccess() { + Log.d(LOG_TAG, "setLocalDescription onSetSuccess"); + sendInvite(sdp); + dispatchOnStateDidChange(IMXCall.CALL_STATE_INVITE_SENT); + } + + @Override + public void onCreateFailure(String s) { + Log.e(LOG_TAG, "setLocalDescription onCreateFailure " + s); + dispatchOnCallError(CALL_ERROR_CAMERA_INIT_FAILED); + hangup(null); + } + + @Override + public void onSetFailure(String s) { + Log.e(LOG_TAG, "setLocalDescription onSetFailure " + s); + dispatchOnCallError(CALL_ERROR_CAMERA_INIT_FAILED); + hangup(null); + } + }, sdp); + } + } + }); + } + + @Override + public void onSetSuccess() { + Log.d(LOG_TAG, "createOffer onSetSuccess"); + } + + @Override + public void onCreateFailure(String s) { + Log.d(LOG_TAG, "createOffer onCreateFailure " + s); + dispatchOnCallError(CALL_ERROR_CAMERA_INIT_FAILED); + } + + @Override + public void onSetFailure(String s) { + Log.d(LOG_TAG, "createOffer onSetFailure " + s); + dispatchOnCallError(CALL_ERROR_CAMERA_INIT_FAILED); + } + }, constraints); + + dispatchOnStateDidChange(IMXCall.CALL_STATE_WAIT_CREATE_OFFER); + } + } + + /** + * @return true if the device has a camera device + */ + private boolean hasCameraDevice() { + CameraEnumerator enumerator = getCameraEnumerator(mContext); + String[] deviceNames = enumerator.getDeviceNames(); + int cameraCount = 0; + + mBackCameraName = mFrontCameraName = null; + + if (null != deviceNames) { + for (String deviceName : deviceNames) { + if (enumerator.isFrontFacing(deviceName) && !isCameraInUse(mContext, true)) { + mFrontCameraName = deviceName; + } else if (enumerator.isBackFacing(deviceName) && !isCameraInUse(mContext, false)) { + mBackCameraName = deviceName; + } + } + + cameraCount = deviceNames.length; + } + + Log.d(LOG_TAG, "hasCameraDevice(): camera number= " + cameraCount); + Log.d(LOG_TAG, "hasCameraDevice(): frontCameraName=" + mFrontCameraName + " backCameraName=" + mBackCameraName); + + return (null != mFrontCameraName) || (null != mBackCameraName); + } + + /** + * Create the video capturer + * + * @param cameraName the selected camera name + * @return the video capturer + */ + private CameraVideoCapturer createVideoCapturer(String cameraName) { + CameraVideoCapturer cameraVideoCapturer = null; + + CameraEnumerator camerasEnumerator = getCameraEnumerator(mContext); + final String[] deviceNames = camerasEnumerator.getDeviceNames(); + + + if ((null != deviceNames) && (deviceNames.length > 0)) { + for (String name : deviceNames) { + if (name.equals(cameraName)) { + cameraVideoCapturer = camerasEnumerator.createCapturer(name, null); + if (null != cameraVideoCapturer) { + break; + } + } + } + + if (null == cameraVideoCapturer) { + cameraVideoCapturer = camerasEnumerator.createCapturer(deviceNames[0], null); + } + } + + return cameraVideoCapturer; + } + + /** + * Create the local video stack + */ + private void createVideoTrack() { // permission crash + Log.d(LOG_TAG, "createVideoTrack"); + + // create the local renderer only if there is a camera on the device + if (hasCameraDevice()) { + try { + if (null != mCameraVideoCapturer) { + mCameraVideoCapturer.dispose(); + mCameraVideoCapturer = null; + } + + if (null != mFrontCameraName) { + mCameraVideoCapturer = createVideoCapturer(mFrontCameraName); + + if (null == mCameraVideoCapturer) { + Log.e(LOG_TAG, "Cannot create Video Capturer from front camera"); + } else { + mCameraInUse = CAMERA_TYPE_FRONT; + } + } + + if ((null == mCameraVideoCapturer) && (null != mBackCameraName)) { + mCameraVideoCapturer = createVideoCapturer(mBackCameraName); + + if (null == mCameraVideoCapturer) { + Log.e(LOG_TAG, "Cannot create Video Capturer from back camera"); + } else { + mCameraInUse = CAMERA_TYPE_REAR; + } + } + } catch (Exception ex2) { + // catch exception due to Android M permissions, when + // a call is received and the permissions (camera and audio) were not yet granted + Log.e(LOG_TAG, "createVideoTrack(): Exception Msg=" + ex2.getMessage(), ex2); + } + + if (null != mCameraVideoCapturer) { + Log.d(LOG_TAG, "createVideoTrack find a video capturer"); + + try { + mVideoSource = mPeerConnectionFactory.createVideoSource(mCameraVideoCapturer); + mCameraVideoCapturer.startCapture(DEFAULT_WIDTH, DEFAULT_HEIGHT, DEFAULT_FPS); + + mLocalVideoTrack = mPeerConnectionFactory.createVideoTrack(VIDEO_TRACK_ID, mVideoSource); + mLocalVideoTrack.setEnabled(true); + } catch (Exception e) { + Log.e(LOG_TAG, "createVideoSource fails with exception " + e.getMessage(), e); + + mLocalVideoTrack = null; + + if (null != mVideoSource) { + mVideoSource.dispose(); + mVideoSource = null; + } + } + } else { + Log.e(LOG_TAG, "## createVideoTrack(): Cannot create Video Capturer - no camera available"); + } + } + } + + /** + * Create the local audio stack + */ + private void createAudioTrack() { + Log.d(LOG_TAG, "createAudioTrack"); + + MediaConstraints audioConstraints = new MediaConstraints(); + + // add all existing audio filters to avoid having echos + audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair("googEchoCancellation", "true")); + audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair("googEchoCancellation2", "true")); + audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair("googDAEchoCancellation", "true")); + + audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair("googTypingNoiseDetection", "true")); + + audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair("googAutoGainControl", "true")); + audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair("googAutoGainControl2", "true")); + + audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair("googNoiseSuppression", "true")); + audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair("googNoiseSuppression2", "true")); + + audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair("googAudioMirroring", "false")); + audioConstraints.mandatory.add(new MediaConstraints.KeyValuePair("googHighpassFilter", "true")); + + mAudioSource = mPeerConnectionFactory.createAudioSource(audioConstraints); + mLocalAudioTrack = mPeerConnectionFactory.createAudioTrack(AUDIO_TRACK_ID, mAudioSource); + } + + /** + * Update the webRtcView layout + * + * @param webRTCView the view + * @param aLocalVideoPosition the video configuration + */ + private void updateWebRtcViewLayout(MXWebRtcView webRTCView, VideoLayoutConfiguration aLocalVideoPosition) { + if (null != webRTCView) { + final DisplayMetrics displayMetrics = mContext.getResources().getDisplayMetrics(); + + int screenWidth = (aLocalVideoPosition.mDisplayWidth > 0) ? aLocalVideoPosition.mDisplayWidth : displayMetrics.widthPixels; + int screenHeight = (aLocalVideoPosition.mDisplayHeight > 0) ? aLocalVideoPosition.mDisplayHeight : displayMetrics.heightPixels; + + int x = screenWidth * aLocalVideoPosition.mX / 100; + int y = screenHeight * aLocalVideoPosition.mY / 100; + int width = screenWidth * aLocalVideoPosition.mWidth / 100; + int height = screenHeight * aLocalVideoPosition.mHeight / 100; + + RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(width, height); + params.leftMargin = x; + params.topMargin = y; + webRTCView.setLayoutParams(params); + } + } + + /** + * Initialize the call UI + * + * @param callInviteParams the invite params + * @param aLocalVideoPosition position of the local video attendee + */ + @SuppressLint("deprecation") + private void initCallUI(final JsonObject callInviteParams, VideoLayoutConfiguration aLocalVideoPosition) { + Log.d(LOG_TAG, "## initCallUI(): IN"); + + if (isCallEnded()) { + Log.w(LOG_TAG, "## initCallUI(): skipped due to call is ended"); + return; + } + + if (isVideo()) { + Log.d(LOG_TAG, "## initCallUI(): building UI video call"); + try { + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + if (null == mPeerConnectionFactory) { + Log.d(LOG_TAG, "## initCallUI(): video call and no mPeerConnectionFactory"); + + mPeerConnectionFactory = new PeerConnectionFactory(null); + + // Initialize EGL contexts required for HW acceleration. + EglBase.Context eglContext = EglUtils.getRootEglBaseContext(); + if (eglContext != null) { + mPeerConnectionFactory.setVideoHwAccelerationOptions(eglContext, eglContext); + } + + createVideoTrack(); + createAudioTrack(); + createLocalStream(); + + if (null != callInviteParams) { + dispatchOnStateDidChange(CALL_STATE_RINGING); + setRemoteDescription(callInviteParams); + } + } + } + }); + + } catch (Exception e) { + // GA issue + // it seems that setView triggers some exception like "setRenderer has already been called" + Log.e(LOG_TAG, "## initCallUI(): VideoRendererGui.setView : Exception Msg =" + e.getMessage(), e); + } + + try { + Log.d(LOG_TAG, "## initCallUI() building UI"); + + mFullScreenRTCView = new MXWebRtcView(mContext); + mFullScreenRTCView.setBackgroundColor(ContextCompat.getColor(mContext, android.R.color.black)); + mCallView.addView(mFullScreenRTCView, + new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT)); + mFullScreenRTCView.setVisibility(View.GONE); + + mPipRTCView = new MXWebRtcView(mContext); + mCallView.addView(mPipRTCView, + new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT)); + mPipRTCView.setBackgroundColor(ContextCompat.getColor(mContext, android.R.color.transparent)); + mPipRTCView.setVisibility(View.GONE); + + if (null != aLocalVideoPosition) { + updateWebRtcViewLayout(mPipRTCView, aLocalVideoPosition); + Log.d(LOG_TAG, "## initCallUI(): " + aLocalVideoPosition); + } else { + updateWebRtcViewLayout(mPipRTCView, new VideoLayoutConfiguration(5, 5, 25, 25)); + } + } catch (Exception e) { + Log.e(LOG_TAG, "## initCallUI(): Exception Msg =" + e.getMessage(), e); + } + + // reported gy google analytics + // it should never happens + if (null != mCallView) { + mCallView.setVisibility(View.VISIBLE); + } + + } else { + Log.d(LOG_TAG, "## initCallUI(): build audio call"); + + // audio call + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + if (null == mPeerConnectionFactory) { + mPeerConnectionFactory = new PeerConnectionFactory(); + createAudioTrack(); + createLocalStream(); + + if (null != callInviteParams) { + dispatchOnStateDidChange(CALL_STATE_RINGING); + setRemoteDescription(callInviteParams); + } + } + } + }); + } + } + + /** + * The activity is paused. + */ + @Override + public void onPause() { + super.onPause(); + + Log.d(LOG_TAG, "onPause"); + + try { + if (!isCallEnded()) { + Log.d(LOG_TAG, "onPause with active call"); + + // unplugged the camera to avoid loosing the video when the application is suspended + if (!isVideoRecordingMuted()) { + muteVideoRecording(true); + mIsCameraUnplugged = true; + } + } + } catch (Exception e) { + Log.e(LOG_TAG, "onPause failed " + e.getMessage(), e); + } + } + + /** + * The activity is resumed. + */ + @Override + public void onResume() { + super.onResume(); + + Log.d(LOG_TAG, "onResume"); + + try { + if (!isCallEnded()) { + Log.d(LOG_TAG, "onResume with active call"); + + if (mIsCameraUnplugged) { + muteVideoRecording(false); + mIsCameraUnplugged = false; + } + } + } catch (Exception e) { + Log.e(LOG_TAG, "onResume failed " + e.getMessage(), e); + } + } + + /** + * Start an outgoing call. + */ + @Override + public void placeCall(VideoLayoutConfiguration aLocalVideoPosition) { + Log.d(LOG_TAG, "placeCall"); + super.placeCall(aLocalVideoPosition); + + dispatchOnStateDidChange(IMXCall.CALL_STATE_WAIT_LOCAL_MEDIA); + initCallUI(null, aLocalVideoPosition); + } + + /** + * Set the remote description + * + * @param callInviteParams the invitation params + */ + private void setRemoteDescription(final JsonObject callInviteParams) { + Log.d(LOG_TAG, "setRemoteDescription " + callInviteParams); + + SessionDescription aDescription = null; + // extract the description + try { + if (callInviteParams.has("offer")) { + JsonObject answer = callInviteParams.getAsJsonObject("offer"); + String type = answer.get("type").getAsString(); + String sdp = answer.get("sdp").getAsString(); + + if (!TextUtils.isEmpty(type) && !TextUtils.isEmpty(sdp)) { + aDescription = new SessionDescription(SessionDescription.Type.OFFER, sdp); + } + } + + } catch (Exception e) { + Log.e(LOG_TAG, "## setRemoteDescription(): Exception Msg=" + e.getMessage(), e); + } + + mPeerConnection.setRemoteDescription(new SdpObserver() { + @Override + public void onCreateSuccess(SessionDescription sessionDescription) { + Log.d(LOG_TAG, "setRemoteDescription onCreateSuccess"); + } + + @Override + public void onSetSuccess() { + Log.d(LOG_TAG, "setRemoteDescription onSetSuccess"); + mIsIncomingPrepared = true; + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + checkPendingCandidates(); + } + }); + } + + @Override + public void onCreateFailure(String s) { + Log.e(LOG_TAG, "setRemoteDescription onCreateFailure " + s); + dispatchOnCallError(CALL_ERROR_CAMERA_INIT_FAILED); + } + + @Override + public void onSetFailure(String s) { + Log.e(LOG_TAG, "setRemoteDescription onSetFailure " + s); + dispatchOnCallError(CALL_ERROR_CAMERA_INIT_FAILED); + } + }, aDescription); + } + + /** + * Prepare a call reception. + * + * @param aCallInviteParams the invitation Event content + * @param aCallId the call ID + */ + @Override + public void prepareIncomingCall(final JsonObject aCallInviteParams, final String aCallId, final VideoLayoutConfiguration aLocalVideoPosition) { + Log.d(LOG_TAG, "## prepareIncomingCall : call state " + getCallState()); + super.prepareIncomingCall(aCallInviteParams, aCallId, aLocalVideoPosition); + mCallId = aCallId; + + if (CALL_STATE_READY.equals(getCallState())) { + mIsIncoming = true; + + dispatchOnStateDidChange(CALL_STATE_WAIT_LOCAL_MEDIA); + + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + initCallUI(aCallInviteParams, aLocalVideoPosition); + } + }); + } else if (CALL_STATE_CREATED.equals(getCallState())) { + mCallInviteParams = aCallInviteParams; + + // detect call type from the sdp + try { + JsonObject offer = mCallInviteParams.get("offer").getAsJsonObject(); + JsonElement sdp = offer.get("sdp"); + String sdpValue = sdp.getAsString(); + setIsVideo(sdpValue.contains("m=video")); + } catch (Exception e) { + Log.e(LOG_TAG, "## prepareIncomingCall(): Exception Msg=" + e.getMessage(), e); + } + } + } + + /** + * The call has been detected as an incoming one. + * The application launches the dedicated activity and expects to launch the incoming call. + * The local video attendee is displayed in the screen according to the values given in aLocalVideoPosition. + * + * @param aLocalVideoPosition local video position + */ + @Override + public void launchIncomingCall(VideoLayoutConfiguration aLocalVideoPosition) { + Log.d(LOG_TAG, "launchIncomingCall : call state " + getCallState()); + + super.launchIncomingCall(aLocalVideoPosition); + if (CALL_STATE_READY.equals(getCallState())) { + prepareIncomingCall(mCallInviteParams, mCallId, aLocalVideoPosition); + } + } + + /** + * The callee accepts the call. + * + * @param event the event + */ + private void onCallAnswer(final Event event) { + Log.d(LOG_TAG, "onCallAnswer : call state " + getCallState()); + + if (!CALL_STATE_CREATED.equals(getCallState()) && (null != mPeerConnection)) { + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + dispatchOnStateDidChange(IMXCall.CALL_STATE_CONNECTING); + SessionDescription aDescription = null; + + // extract the description + try { + JsonObject eventContent = event.getContentAsJsonObject(); + + if (eventContent.has("answer")) { + JsonObject answer = eventContent.getAsJsonObject("answer"); + String type = answer.get("type").getAsString(); + String sdp = answer.get("sdp").getAsString(); + + if (!TextUtils.isEmpty(type) && !TextUtils.isEmpty(sdp) && type.equals("answer")) { + aDescription = new SessionDescription(SessionDescription.Type.ANSWER, sdp); + } + } + + } catch (Exception e) { + Log.e(LOG_TAG, "onCallAnswer : " + e.getMessage(), e); + } + + mPeerConnection.setRemoteDescription(new SdpObserver() { + @Override + public void onCreateSuccess(SessionDescription sessionDescription) { + Log.d(LOG_TAG, "setRemoteDescription onCreateSuccess"); + } + + @Override + public void onSetSuccess() { + Log.d(LOG_TAG, "setRemoteDescription onSetSuccess"); + } + + @Override + public void onCreateFailure(String s) { + Log.e(LOG_TAG, "setRemoteDescription onCreateFailure " + s); + dispatchOnCallError(CALL_ERROR_CAMERA_INIT_FAILED); + } + + @Override + public void onSetFailure(String s) { + Log.e(LOG_TAG, "setRemoteDescription onSetFailure " + s); + dispatchOnCallError(CALL_ERROR_CAMERA_INIT_FAILED); + } + }, aDescription); + } + }); + } + } + + /** + * The other call member hangs up the call. + * + * @param hangUpReasonId hang up reason + */ + private void onCallHangup(final int hangUpReasonId) { + Log.d(LOG_TAG, "## onCallHangup(): call state=" + getCallState()); + String state = getCallState(); + + if (!CALL_STATE_CREATED.equals(state) && (null != mPeerConnection)) { + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + terminate(hangUpReasonId); + } + }); + } else if (CALL_STATE_WAIT_LOCAL_MEDIA.equals(state) && isVideo()) { + // specific case fixing: a video call hung up by the calling side + // when the callee is still displaying the InComingCallActivity dialog. + // If terminate() was not called, the dialog was never dismissed. + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + terminate(hangUpReasonId); + } + }); + } + } + + /** + * A new Ice candidate is received + * + * @param candidates the channel candidates + */ + private void onNewCandidates(final JsonArray candidates) { + Log.d(LOG_TAG, "## onNewCandidates(): call state " + getCallState() + " with candidates " + candidates); + + if (!CALL_STATE_CREATED.equals(getCallState()) && (null != mPeerConnection)) { + List candidatesList = new ArrayList<>(); + + // convert the JSON to IceCandidate + for (int index = 0; index < candidates.size(); index++) { + JsonObject item = candidates.get(index).getAsJsonObject(); + try { + String candidate = item.get("candidate").getAsString(); + String sdpMid = item.get("sdpMid").getAsString(); + int sdpLineIndex = item.get("sdpMLineIndex").getAsInt(); + + candidatesList.add(new IceCandidate(sdpMid, sdpLineIndex, candidate)); + } catch (Exception e) { + Log.e(LOG_TAG, "## onNewCandidates(): Exception Msg=" + e.getMessage(), e); + } + } + + for (IceCandidate cand : candidatesList) { + Log.d(LOG_TAG, "## onNewCandidates(): addIceCandidate " + cand); + mPeerConnection.addIceCandidate(cand); + } + } + } + + /** + * Add ice candidates + * + * @param candidates ic candidates + */ + private void addCandidates(JsonArray candidates) { + if (mIsIncomingPrepared || !isIncoming()) { + Log.d(LOG_TAG, "addCandidates : ready"); + onNewCandidates(candidates); + } else { + synchronized (LOG_TAG) { + Log.d(LOG_TAG, "addCandidates : pending"); + mPendingCandidates.addAll(candidates); + } + } + } + + /** + * Some Ice candidates could have been received while creating the call view. + * Check if some of them have been defined. + */ + private void checkPendingCandidates() { + Log.d(LOG_TAG, "checkPendingCandidates"); + + synchronized (LOG_TAG) { + onNewCandidates(mPendingCandidates); + mPendingCandidates = new JsonArray(); + } + } + + // events thread + + /** + * Manage the call events. + * + * @param event the call event. + */ + @Override + public void handleCallEvent(Event event) { + super.handleCallEvent(event); + + if (event.isCallEvent()) { + String eventType = event.getType(); + + Log.d(LOG_TAG, "handleCallEvent " + eventType); + + // event from other member + if (!TextUtils.equals(event.getSender(), mSession.getMyUserId())) { + if (Event.EVENT_TYPE_CALL_ANSWER.equals(eventType) && !mIsIncoming) { + onCallAnswer(event); + } else if (Event.EVENT_TYPE_CALL_CANDIDATES.equals(eventType)) { + JsonObject eventContent = event.getContentAsJsonObject(); + + JsonArray candidates = eventContent.getAsJsonArray("candidates"); + addCandidates(candidates); + } else if (Event.EVENT_TYPE_CALL_HANGUP.equals(eventType)) { + onCallHangup(IMXCall.END_CALL_REASON_PEER_HANG_UP); + } + + } else { // event from the current member, but sent from another device + switch (eventType) { + case Event.EVENT_TYPE_CALL_INVITE: + // warn in the UI thread + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + dispatchOnStateDidChange(CALL_STATE_RINGING); + } + }); + break; + + case Event.EVENT_TYPE_CALL_ANSWER: + // call answered from another device + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + onAnsweredElsewhere(); + } + }); + break; + + case Event.EVENT_TYPE_CALL_HANGUP: + // current member answered elsewhere + onCallHangup(IMXCall.END_CALL_REASON_PEER_HANG_UP_ELSEWHERE); + break; + + default: + break; + } // switch end + } + } + } + + // user actions + + /** + * The call is accepted. + */ + @Override + public void answer() { + super.answer(); + Log.d(LOG_TAG, "answer " + getCallState()); + + if (!CALL_STATE_CREATED.equals(getCallState()) && (null != mPeerConnection)) { + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + if (null == mPeerConnection) { + Log.d(LOG_TAG, "answer the connection has been closed"); + return; + } + + dispatchOnStateDidChange(CALL_STATE_CREATE_ANSWER); + + MediaConstraints constraints = new MediaConstraints(); + constraints.mandatory.add(new MediaConstraints.KeyValuePair("OfferToReceiveAudio", "true")); + constraints.mandatory.add(new MediaConstraints.KeyValuePair("OfferToReceiveVideo", isVideo() ? "true" : "false")); + + mPeerConnection.createAnswer(new SdpObserver() { + @Override + public void onCreateSuccess(SessionDescription sessionDescription) { + Log.d(LOG_TAG, "createAnswer onCreateSuccess"); + + final SessionDescription sdp = new SessionDescription(sessionDescription.type, sessionDescription.description); + + mUIThreadHandler.post(new Runnable() { + @Override + public void run() { + if (mPeerConnection != null) { + // must be done to before sending the invitation message + mPeerConnection.setLocalDescription(new SdpObserver() { + @Override + public void onCreateSuccess(SessionDescription sessionDescription) { + Log.d(LOG_TAG, "setLocalDescription onCreateSuccess"); + } + + @Override + public void onSetSuccess() { + Log.d(LOG_TAG, "setLocalDescription onSetSuccess"); + sendAnswer(sdp); + dispatchOnStateDidChange(IMXCall.CALL_STATE_CONNECTING); + } + + @Override + public void onCreateFailure(String s) { + Log.e(LOG_TAG, "setLocalDescription onCreateFailure " + s); + dispatchOnCallError(CALL_ERROR_CAMERA_INIT_FAILED); + hangup(null); + } + + @Override + public void onSetFailure(String s) { + Log.e(LOG_TAG, "setLocalDescription onSetFailure " + s); + dispatchOnCallError(CALL_ERROR_CAMERA_INIT_FAILED); + hangup(null); + } + }, sdp); + } + } + }); + } + + @Override + public void onSetSuccess() { + Log.d(LOG_TAG, "createAnswer onSetSuccess"); + } + + @Override + public void onCreateFailure(String s) { + Log.e(LOG_TAG, "createAnswer onCreateFailure " + s); + dispatchOnCallError(CALL_ERROR_CAMERA_INIT_FAILED); + hangup(null); + } + + @Override + public void onSetFailure(String s) { + Log.e(LOG_TAG, "createAnswer onSetFailure " + s); + dispatchOnCallError(CALL_ERROR_CAMERA_INIT_FAILED); + hangup(null); + } + }, constraints); + + } + }); + } + + } + + /** + * The call is hung up. + */ + @Override + public void hangup(String reason) { + super.hangup(reason); + + Log.d(LOG_TAG, "## hangup(): reason=" + reason); + + if (!isCallEnded()) { + sendHangup(reason); + terminate(IMXCall.END_CALL_REASON_UNDEFINED); + } + } + + /** + * @return the callstate (must be a CALL_STATE_XX value) + */ + @Override + public String getCallState() { + return mCallState; + } + + /** + * @return the callView + */ + @Override + public View getCallView() { + return mCallView; + } + + /** + * @return the callView visibility + */ + @Override + public int getVisibility() { + if (null != mCallView) { + return mCallView.getVisibility(); + } else { + return View.GONE; + } + } + + /** + * Set the callview visibility + * + * @return true if the operation succeeds + */ + @Override + public boolean setVisibility(int visibility) { + if (null != mCallView) { + mCallView.setVisibility(visibility); + return true; + } + + return false; + } + + /** + * The call has been answered on another device. + * We distinguish the case where an account is active on + * multiple devices and a video call is launched on the account. In this case + * the callee who did not answer must display a "answered elsewhere" message. + */ + @Override + public void onAnsweredElsewhere() { + super.onAnsweredElsewhere(); + + String state = getCallState(); + + Log.d(LOG_TAG, "onAnsweredElsewhere in state " + state); + + if (!isCallEnded() && !mIsAnswered) { + dispatchAnsweredElsewhere(); + terminate(IMXCall.END_CALL_REASON_UNDEFINED); + } + } + + @Override + protected void dispatchOnStateDidChange(String newState) { + Log.d(LOG_TAG, "dispatchOnStateDidChange " + newState); + + mCallState = newState; + + // call timeout management + if (CALL_STATE_CONNECTING.equals(mCallState) || CALL_STATE_CONNECTED.equals(mCallState)) { + if (null != mCallTimeoutTimer) { + mCallTimeoutTimer.cancel(); + mCallTimeoutTimer = null; + } + } + + super.dispatchOnStateDidChange(newState); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXWebRtcView.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXWebRtcView.java new file mode 100644 index 00000000..79925e03 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/MXWebRtcView.java @@ -0,0 +1,520 @@ +package im.vector.matrix.android.internal.legacy.call; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.graphics.Point; +import android.support.v4.view.ViewCompat; +import android.util.Log; +import android.view.View; +import android.view.ViewGroup; + +import com.oney.WebRTCModule.EglUtils; +import com.oney.WebRTCModule.WebRTCView; + +import org.webrtc.EglBase; +import org.webrtc.MediaStream; +import org.webrtc.RendererCommon; +import org.webrtc.RendererCommon.RendererEvents; +import org.webrtc.RendererCommon.ScalingType; +import org.webrtc.SurfaceViewRenderer; +import org.webrtc.VideoRenderer; +import org.webrtc.VideoTrack; + +import java.lang.reflect.Method; +import java.util.List; + +/** + * Use the older implementation of WebRtcView. + * The latest version a stream URL instead of a stream. + * It implies to have a React context. + */ +public class MXWebRtcView extends ViewGroup { + /** + * The scaling type to be utilized by default. + *

    + * The default value is in accord with + * https://www.w3.org/TR/html5/embedded-content-0.html#the-video-element: + *

    + * In the absence of style rules to the contrary, video content should be + * rendered inside the element's playback area such that the video content + * is shown centered in the playback area at the largest possible size that + * fits completely within it, with the video content's aspect ratio being + * preserved. Thus, if the aspect ratio of the playback area does not match + * the aspect ratio of the video, the video will be shown letterboxed or + * pillarboxed. Areas of the element's playback area that do not contain the + * video represent nothing. + */ + private static final ScalingType DEFAULT_SCALING_TYPE + = ScalingType.SCALE_ASPECT_FIT; + + /** + * {@link View#isInLayout()} as a Method to be invoked via + * reflection in order to accommodate its lack of availability before API + * level 18. {@link ViewCompat#isInLayout(View)} is the best solution but I + * could not make it available along with + * {@link ViewCompat#isAttachedToWindow(View)} at the time of this writing. + */ + private static final Method IS_IN_LAYOUT; + + private static final String LOG_TAG = MXWebRtcView.class.getSimpleName(); + + static { + // IS_IN_LAYOUT + Method isInLayout = null; + + try { + Method m = MXWebRtcView.class.getMethod("isInLayout"); + + if (boolean.class.isAssignableFrom(m.getReturnType())) { + isInLayout = m; + } + } catch (NoSuchMethodException e) { + // Fall back to the behavior of ViewCompat#isInLayout(View). + } + IS_IN_LAYOUT = isInLayout; + } + + /** + * The height of the last video frame rendered by + * {@link #surfaceViewRenderer}. + */ + private int frameHeight; + + /** + * The rotation (degree) of the last video frame rendered by + * {@link #surfaceViewRenderer}. + */ + private int frameRotation; + + /** + * The width of the last video frame rendered by + * {@link #surfaceViewRenderer}. + */ + private int frameWidth; + + /** + * The {@code Object} which synchronizes the access to the layout-related + * state of this instance such as {@link #frameHeight}, + * {@link #frameRotation}, {@link #frameWidth}, and {@link #scalingType}. + */ + private final Object layoutSyncRoot = new Object(); + + /** + * The indicator which determines whether this {@code WebRTCView} is to + * mirror the video represented by {@link #videoTrack} during its rendering. + */ + private boolean mirror; + + + /** + * The {@code RendererEvents} which listens to rendering events reported by + * {@link #surfaceViewRenderer}. + */ + private final RendererEvents rendererEvents + = new RendererEvents() { + @Override + public void onFirstFrameRendered() { + } + + @Override + public void onFrameResolutionChanged( + int videoWidth, int videoHeight, + int rotation) { + MXWebRtcView.this.onFrameResolutionChanged( + videoWidth, videoHeight, + rotation); + } + }; + + /** + * The {@code Runnable} representation of + * {@link #requestSurfaceViewRendererLayout()}. Explicitly defined in order + * to allow the use of the latter with {@link #post(Runnable)} without + * initializing new instances on every (method) call. + */ + private final Runnable requestSurfaceViewRendererLayoutRunnable + = new Runnable() { + @Override + public void run() { + requestSurfaceViewRendererLayout(); + } + }; + + /** + * The scaling type this {@code WebRTCView} is to apply to the video + * represented by {@link #videoTrack} during its rendering. An expression of + * the CSS property {@code object-fit} in the terms of WebRTC. + */ + private ScalingType scalingType; + + /** + * The {@link View} and {@link VideoRenderer} implementation which + * actually renders {@link #videoTrack} on behalf of this instance. + */ + private final SurfaceViewRenderer surfaceViewRenderer; + + /** + * The {@code VideoRenderer}, if any, which renders {@link #videoTrack} on + * this {@code View}. + */ + private VideoRenderer videoRenderer; + + /** + * The {@code VideoTrack}, if any, rendered by this {@code MXWebRTCView}. + */ + private VideoTrack videoTrack; + + public MXWebRtcView(Context context) { + super(context); + + surfaceViewRenderer = new SurfaceViewRenderer(context); + addView(surfaceViewRenderer); + + setMirror(false); + setScalingType(DEFAULT_SCALING_TYPE); + } + + /** + * Gets the {@code SurfaceViewRenderer} which renders {@link #videoTrack}. + * Explicitly defined and used in order to facilitate switching the instance + * at compile time. For example, reduces the number of modifications + * necessary to switch the implementation from a {@code SurfaceViewRenderer} + * that is a child of a {@code WebRTCView} to {@code WebRTCView} extending + * {@code SurfaceViewRenderer}. + * + * @return The {@code SurfaceViewRenderer} which renders {@code videoTrack}. + */ + private final SurfaceViewRenderer getSurfaceViewRenderer() { + return surfaceViewRenderer; + } + + /** + * If this View has {@link View#isInLayout()}, invokes it and + * returns its return value; otherwise, returns false like + * {@link ViewCompat#isInLayout(View)}. + * + * @return If this View has View#isInLayout(), invokes it + * and returns its return value; otherwise, returns false. + */ + private boolean invokeIsInLayout() { + Method m = IS_IN_LAYOUT; + boolean b = false; + + if (m != null) { + try { + b = (boolean) m.invoke(this); + } catch (Throwable e) { + // Fall back to the behavior of ViewCompat#isInLayout(View). + } + } + return b; + } + + /** + * {@inheritDoc} + */ + @Override + protected void onAttachedToWindow() { + try { + // Generally, OpenGL is only necessary while this View is attached + // to a window so there is no point in having the whole rendering + // infrastructure hooked up while this View is not attached to a + // window. Additionally, a memory leak was solved in a similar way + // on iOS. + tryAddRendererToVideoTrack(); + } finally { + super.onAttachedToWindow(); + } + } + + /** + * {@inheritDoc} + */ + @Override + protected void onDetachedFromWindow() { + try { + // Generally, OpenGL is only necessary while this View is attached + // to a window so there is no point in having the whole rendering + // infrastructure hooked up while this View is not attached to a + // window. Additionally, a memory leak was solved in a similar way + // on iOS. + removeRendererFromVideoTrack(); + } finally { + super.onDetachedFromWindow(); + } + } + + /** + * Callback fired by {@link #surfaceViewRenderer} when the resolution or + * rotation of the frame it renders has changed. + * + * @param videoWidth The new width of the rendered video frame. + * @param videoHeight The new height of the rendered video frame. + * @param rotation The new rotation of the rendered video frame. + */ + private void onFrameResolutionChanged(int videoWidth, + int videoHeight, + int rotation) { + boolean changed = false; + + synchronized (layoutSyncRoot) { + if (frameHeight != videoHeight) { + frameHeight = videoHeight; + changed = true; + } + if (frameRotation != rotation) { + frameRotation = rotation; + changed = true; + } + if (frameWidth != videoWidth) { + frameWidth = videoWidth; + changed = true; + } + } + if (changed) { + // The onFrameResolutionChanged method call executes on the + // surfaceViewRenderer's render Thread. + post(requestSurfaceViewRendererLayoutRunnable); + } + } + + /** + * {@inheritDoc} + */ + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) { + int height = b - t; + int width = r - l; + + if (height == 0 || width == 0) { + l = t = r = b = 0; + } else { + int frameHeight; + int frameRotation; + int frameWidth; + ScalingType scalingType; + + synchronized (layoutSyncRoot) { + frameHeight = this.frameHeight; + frameRotation = this.frameRotation; + frameWidth = this.frameWidth; + scalingType = this.scalingType; + } + + SurfaceViewRenderer surfaceViewRenderer = getSurfaceViewRenderer(); + + switch (scalingType) { + case SCALE_ASPECT_FILL: + // Fill this ViewGroup with surfaceViewRenderer and the latter + // will take care of filling itself with the video similarly to + // the cover value the CSS property object-fit. + r = width; + l = 0; + b = height; + t = 0; + break; + case SCALE_ASPECT_FIT: + default: + // Lay surfaceViewRenderer out inside this ViewGroup in accord + // with the contain value of the CSS property object-fit. + // SurfaceViewRenderer will fill itself with the video similarly + // to the cover or contain value of the CSS property object-fit + // (which will not matter, eventually). + if (frameHeight == 0 || frameWidth == 0) { + l = t = r = b = 0; + } else { + float frameAspectRatio + = (frameRotation % 180 == 0) + ? frameWidth / (float) frameHeight + : frameHeight / (float) frameWidth; + Point frameDisplaySize + = RendererCommon.getDisplaySize( + scalingType, + frameAspectRatio, + width, height); + + l = (width - frameDisplaySize.x) / 2; + t = (height - frameDisplaySize.y) / 2; + r = l + frameDisplaySize.x; + b = t + frameDisplaySize.y; + } + break; + } + } + surfaceViewRenderer.layout(l, t, r, b); + } + + /** + * Stops rendering {@link #videoTrack} and releases the associated acquired + * resources (if rendering is in progress). + */ + private void removeRendererFromVideoTrack() { + if (videoRenderer != null) { + videoTrack.removeRenderer(videoRenderer); + videoRenderer.dispose(); + videoRenderer = null; + + getSurfaceViewRenderer().release(); + + // Since this WebRTCView is no longer rendering anything, make sure + // surfaceViewRenderer displays nothing as well. + synchronized (layoutSyncRoot) { + frameHeight = 0; + frameRotation = 0; + frameWidth = 0; + } + requestSurfaceViewRendererLayout(); + } + } + + /** + * Request that {@link #surfaceViewRenderer} be laid out (as soon as + * possible) because layout-related state either of this instance or of + * {@code surfaceViewRenderer} has changed. + */ + @SuppressLint("WrongCall") + private void requestSurfaceViewRendererLayout() { + // Google/WebRTC just call requestLayout() on surfaceViewRenderer when + // they change the value of its mirror or surfaceType property. + getSurfaceViewRenderer().requestLayout(); + // The above is not enough though when the video frame's dimensions or + // rotation change. The following will suffice. + if (!invokeIsInLayout()) { + onLayout( + /* changed */ false, + getLeft(), getTop(), getRight(), getBottom()); + } + } + + /** + * Sets the indicator which determines whether this {@code WebRTCView} is to + * mirror the video represented by {@link #videoTrack} during its rendering. + * + * @param mirror If this {@code WebRTCView} is to mirror the video + * represented by {@code videoTrack} during its rendering, {@code true}; + * otherwise, {@code false}. + */ + public void setMirror(boolean mirror) { + if (this.mirror != mirror) { + this.mirror = mirror; + + SurfaceViewRenderer surfaceViewRenderer = getSurfaceViewRenderer(); + + surfaceViewRenderer.setMirror(mirror); + // SurfaceViewRenderer takes the value of its mirror property into + // account upon its layout. + requestSurfaceViewRendererLayout(); + } + } + + private void setScalingType(ScalingType scalingType) { + SurfaceViewRenderer surfaceViewRenderer; + + synchronized (layoutSyncRoot) { + if (this.scalingType == scalingType) { + return; + } + + this.scalingType = scalingType; + + surfaceViewRenderer = getSurfaceViewRenderer(); + surfaceViewRenderer.setScalingType(scalingType); + } + // Both this instance ant its SurfaceViewRenderer take the value of + // their scalingType properties into account upon their layouts. + requestSurfaceViewRendererLayout(); + } + + /** + * Sets the {@code MediaStream} to be rendered by this {@code WebRTCView}. + * The implementation renders the first {@link VideoTrack}, if any, of the + * specified {@code mediaStream}. + * + * @param mediaStream The {@code MediaStream} to be rendered by this + * {@code WebRTCView} or {@code null}. + */ + public void setStream(MediaStream mediaStream) { + VideoTrack videoTrack; + + if (mediaStream == null) { + videoTrack = null; + } else { + List videoTracks = mediaStream.videoTracks; + + videoTrack = videoTracks.isEmpty() ? null : videoTracks.get(0); + } + + setVideoTrack(videoTrack); + } + + /** + * Sets the {@code VideoTrack} to be rendered by this {@code WebRTCView}. + * + * @param videoTrack The {@code VideoTrack} to be rendered by this + * {@code WebRTCView} or {@code null}. + */ + private void setVideoTrack(VideoTrack videoTrack) { + VideoTrack oldValue = this.videoTrack; + + if (oldValue != videoTrack) { + if (oldValue != null) { + removeRendererFromVideoTrack(); + } + + this.videoTrack = videoTrack; + + if (videoTrack != null) { + tryAddRendererToVideoTrack(); + } + } + } + + /** + * Sets the z-order of this {@link WebRTCView} in the stacking space of all + * {@code WebRTCView}s. For more details, refer to the documentation of the + * {@code zOrder} property of the JavaScript counterpart of + * {@code WebRTCView} i.e. {@code RTCView}. + * + * @param zOrder The z-order to set on this {@code WebRTCView}. + */ + public void setZOrder(int zOrder) { + SurfaceViewRenderer surfaceViewRenderer = getSurfaceViewRenderer(); + + switch (zOrder) { + case 0: + surfaceViewRenderer.setZOrderMediaOverlay(false); + break; + case 1: + surfaceViewRenderer.setZOrderMediaOverlay(true); + break; + case 2: + surfaceViewRenderer.setZOrderOnTop(true); + break; + } + } + + /** + * Starts rendering {@link #videoTrack} if rendering is not in progress and + * all preconditions for the start of rendering are met. + */ + private void tryAddRendererToVideoTrack() { + if (videoRenderer == null + && videoTrack != null + && ViewCompat.isAttachedToWindow(this)) { + EglBase.Context sharedContext = EglUtils.getRootEglBaseContext(); + + if (sharedContext == null) { + // If SurfaceViewRenderer#init() is invoked, it will throw a + // RuntimeException which will very likely kill the application. + Log.e(LOG_TAG, "Failed to render a VideoTrack!"); + return; + } + + SurfaceViewRenderer surfaceViewRenderer = getSurfaceViewRenderer(); + surfaceViewRenderer.init(sharedContext, rendererEvents); + + videoRenderer = new VideoRenderer(surfaceViewRenderer); + videoTrack.addRenderer(videoRenderer); + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/VideoLayoutConfiguration.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/VideoLayoutConfiguration.java new file mode 100644 index 00000000..903686da --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/call/VideoLayoutConfiguration.java @@ -0,0 +1,90 @@ +/* + * Copyright 2015 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.call; + +import java.io.Serializable; + +/** + * Defines the video call view layout. + */ +public class VideoLayoutConfiguration implements Serializable { + public final static int INVALID_VALUE = -1; + + @Override + public String toString() { + return "VideoLayoutConfiguration{" + + "mIsPortrait=" + mIsPortrait + + ", X=" + mX + + ", Y=" + mY + + ", Width=" + mWidth + + ", Height=" + mHeight + + '}'; + } + + // parameters of the video of the local user (small video) + /** + * margin left in percentage of the screen resolution for the local user video + **/ + public int mX; + /** + * margin top in percentage of the screen resolution for the local user video + **/ + public int mY; + + /** + * width in percentage of the screen resolution for the local user video + **/ + public int mWidth; + /** + * video height in percentage of the screen resolution for the local user video + **/ + public int mHeight; + + /** + * the area size in which the video in displayed + **/ + public int mDisplayWidth; + public int mDisplayHeight; + + /** + * tells if the display in is a portrait orientation + **/ + public boolean mIsPortrait; + + public VideoLayoutConfiguration(int aX, int aY, int aWidth, int aHeight) { + this(aX, aY, aWidth, aHeight, INVALID_VALUE, INVALID_VALUE); + } + + public VideoLayoutConfiguration(int aX, int aY, int aWidth, int aHeight, int aDisplayWidth, int aDisplayHeight) { + mX = aX; + mY = aY; + mWidth = aWidth; + mHeight = aHeight; + mDisplayWidth = aDisplayWidth; + mDisplayHeight = aDisplayHeight; + } + + public VideoLayoutConfiguration() { + mX = INVALID_VALUE; + mY = INVALID_VALUE; + mWidth = INVALID_VALUE; + mHeight = INVALID_VALUE; + mDisplayWidth = INVALID_VALUE; + mDisplayHeight = INVALID_VALUE; + } +} + diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/IncomingRoomKeyRequest.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/IncomingRoomKeyRequest.java new file mode 100755 index 00000000..31791473 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/IncomingRoomKeyRequest.java @@ -0,0 +1,76 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.RoomKeyRequest; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.RoomKeyRequestBody; + +import im.vector.matrix.android.internal.legacy.util.JsonUtils; + +import java.io.Serializable; + +/** + * IncomingRoomKeyRequest class defines the incoming room keys request. + */ +public class IncomingRoomKeyRequest implements Serializable { + /** + * The user id + */ + public String mUserId; + + /** + * The device id + */ + public String mDeviceId; + + /** + * The request id + */ + public String mRequestId; + + /** + * The request body + */ + public RoomKeyRequestBody mRequestBody; + + /** + * The runnable to call to accept to share the keys + */ + public transient Runnable mShare; + + /** + * The runnable to call to ignore the key share request. + */ + public transient Runnable mIgnore; + + /** + * Constructor + * + * @param event the event + */ + public IncomingRoomKeyRequest(Event event) { + mUserId = event.getSender(); + + RoomKeyRequest roomKeyRequest = JsonUtils.toRoomKeyRequest(event.getContentAsJsonObject()); + mDeviceId = roomKeyRequest.requesting_device_id; + mRequestId = roomKeyRequest.request_id; + mRequestBody = (null != roomKeyRequest.body) ? roomKeyRequest.body : new RoomKeyRequestBody(); + } +} + diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/IncomingRoomKeyRequestCancellation.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/IncomingRoomKeyRequestCancellation.java new file mode 100755 index 00000000..45be295f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/IncomingRoomKeyRequestCancellation.java @@ -0,0 +1,30 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +/** + * IncomingRoomKeyRequestCancellation describes the incoming room key cancellation. + */ +public class IncomingRoomKeyRequestCancellation extends IncomingRoomKeyRequest { + + public IncomingRoomKeyRequestCancellation(Event event) { + super(event); + mRequestBody = null; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXCrypto.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXCrypto.java new file mode 100755 index 00000000..fb67654d --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXCrypto.java @@ -0,0 +1,2776 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto; + +import android.os.Handler; +import android.os.HandlerThread; +import android.os.Looper; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.text.TextUtils; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.reflect.TypeToken; + +import im.vector.matrix.android.internal.legacy.MXSession; +import im.vector.matrix.android.internal.legacy.crypto.algorithms.IMXDecrypting; +import im.vector.matrix.android.internal.legacy.crypto.algorithms.IMXEncrypting; +import im.vector.matrix.android.internal.legacy.crypto.data.MXDeviceInfo; +import im.vector.matrix.android.internal.legacy.crypto.data.MXEncryptEventContentResult; +import im.vector.matrix.android.internal.legacy.crypto.data.MXKey; +import im.vector.matrix.android.internal.legacy.crypto.data.MXOlmInboundGroupSession2; +import im.vector.matrix.android.internal.legacy.crypto.data.MXOlmSessionResult; +import im.vector.matrix.android.internal.legacy.crypto.data.MXUsersDevicesMap; +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.data.cryptostore.IMXCryptoStore; +import im.vector.matrix.android.internal.legacy.listeners.IMXNetworkEventListener; +import im.vector.matrix.android.internal.legacy.listeners.MXEventListener; +import im.vector.matrix.android.internal.legacy.network.NetworkConnectivityReceiver; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.EventContent; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.KeysUploadResponse; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.RoomKeyContent; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.RoomKeyRequest; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.RoomKeyRequestBody; +import im.vector.matrix.android.internal.legacy.rest.model.sync.SyncResponse; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.lang.reflect.Constructor; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; +import java.util.concurrent.CountDownLatch; + +/** + * A `MXCrypto` class instance manages the end-to-end crypto for a MXSession instance. + *

    + * Messages posted by the user are automatically redirected to MXCrypto in order to be encrypted + * before sending. + * In the other hand, received events goes through MXCrypto for decrypting. + * MXCrypto maintains all necessary keys and their sharing with other devices required for the crypto. + * Specially, it tracks all room membership changes events in order to do keys updates. + */ +public class MXCrypto { + private static final String LOG_TAG = MXCrypto.class.getSimpleName(); + + // max number of keys to upload at once + // Creating keys can be an expensive operation so we limit the + // number we generate in one go to avoid blocking the application + // for too long. + private static final int ONE_TIME_KEY_GENERATION_MAX_NUMBER = 5; + + // frequency with which to check & upload one-time keys + private static final long ONE_TIME_KEY_UPLOAD_PERIOD = 60 * 1000; // one minute + + // The Matrix session. + private final MXSession mSession; + + // the crypto store + public IMXCryptoStore mCryptoStore; + + // MXEncrypting instance for each room. + private final Map mRoomEncryptors; + + // A map from algorithm to MXDecrypting instance, for each room + private final Map> mRoomDecryptors; + + // Our device keys + private MXDeviceInfo mMyDevice; + + // The libolm wrapper. + private MXOlmDevice mOlmDevice; + + private Map> mLastPublishedOneTimeKeys; + + // the encryption is starting + private boolean mIsStarting; + + // tell if the crypto is started + private boolean mIsStarted; + + // the crypto background threads + private HandlerThread mEncryptingHandlerThread = null; + private Handler mEncryptingHandler = null; + + private HandlerThread mDecryptingHandlerThread = null; + private Handler mDecryptingHandler = null; + + // the UI thread + private Handler mUIHandler = null; + + private NetworkConnectivityReceiver mNetworkConnectivityReceiver; + + private Integer mOneTimeKeyCount; + + private final MXDeviceList mDevicesList; + + private final MXOutgoingRoomKeyRequestManager mOutgoingRoomKeyRequestManager; + + private final IMXNetworkEventListener mNetworkListener = new IMXNetworkEventListener() { + @Override + public void onNetworkConnectionUpdate(boolean isConnected) { + if (isConnected && !isStarted()) { + Log.d(LOG_TAG, "Start MXCrypto because a network connection has been retrieved "); + start(false, null); + } + } + }; + + private final MXEventListener mEventListener = new MXEventListener() { + /* + * Warning, if a method is added here, the corresponding call has to be also added in MxEventDispatcher + */ + + @Override + public void onToDeviceEvent(Event event) { + MXCrypto.this.onToDeviceEvent(event); + } + + @Override + public void onLiveEvent(Event event, RoomState roomState) { + if (TextUtils.equals(event.getType(), Event.EVENT_TYPE_MESSAGE_ENCRYPTION)) { + onCryptoEvent(event); + } else if (TextUtils.equals(event.getType(), Event.EVENT_TYPE_STATE_ROOM_MEMBER)) { + onRoomMembership(event); + } + } + }; + + // initialization callbacks + private final List> mInitializationCallbacks = new ArrayList(); + + // Warn the user if some new devices are detected while encrypting a message. + private boolean mWarnOnUnknownDevices = true; + + // tell if there is a OTK check in progress + private boolean mOneTimeKeyCheckInProgress = false; + + // last OTK check timestamp + private long mLastOneTimeKeyCheck = 0; + + // list of IncomingRoomKeyRequests/IncomingRoomKeyRequestCancellations + // we received in the current sync. + private final List mReceivedRoomKeyRequests = new ArrayList<>(); + private final List mReceivedRoomKeyRequestCancellations = new ArrayList<>(); + + // Set of parameters used to configure/customize the end-to-end crypto. + private MXCryptoConfig mCryptoConfig; + + /** + * Constructor + * + * @param matrixSession the session + * @param cryptoStore the crypto store + * @param cryptoConfig the optional set of parameters used to configure the e2e encryption. + */ + public MXCrypto(MXSession matrixSession, IMXCryptoStore cryptoStore, @Nullable MXCryptoConfig cryptoConfig) { + mSession = matrixSession; + mCryptoStore = cryptoStore; + + if (null != cryptoConfig) { + mCryptoConfig = cryptoConfig; + } else { + // Consider the default configuration value + mCryptoConfig = new MXCryptoConfig(); + } + + mOlmDevice = new MXOlmDevice(mCryptoStore); + mRoomEncryptors = new HashMap<>(); + mRoomDecryptors = new HashMap<>(); + + String deviceId = mSession.getCredentials().deviceId; + // deviceId should always be defined + boolean refreshDevicesList = !TextUtils.isEmpty(deviceId); + + if (TextUtils.isEmpty(deviceId)) { + // use the stored one + mSession.getCredentials().deviceId = deviceId = mCryptoStore.getDeviceId(); + } + + if (TextUtils.isEmpty(deviceId)) { + mSession.getCredentials().deviceId = deviceId = UUID.randomUUID().toString(); + Log.d(LOG_TAG, "Warning: No device id in MXCredentials. An id was created. Think of storing it"); + mCryptoStore.storeDeviceId(deviceId); + } + + mMyDevice = new MXDeviceInfo(deviceId); + mMyDevice.userId = mSession.getMyUserId(); + + mDevicesList = new MXDeviceList(matrixSession, this); + + Map keys = new HashMap<>(); + + if (!TextUtils.isEmpty(mOlmDevice.getDeviceEd25519Key())) { + keys.put("ed25519:" + mSession.getCredentials().deviceId, mOlmDevice.getDeviceEd25519Key()); + } + + if (!TextUtils.isEmpty(mOlmDevice.getDeviceCurve25519Key())) { + keys.put("curve25519:" + mSession.getCredentials().deviceId, mOlmDevice.getDeviceCurve25519Key()); + } + + mMyDevice.keys = keys; + + mMyDevice.algorithms = MXCryptoAlgorithms.sharedAlgorithms().supportedAlgorithms(); + mMyDevice.mVerified = MXDeviceInfo.DEVICE_VERIFICATION_VERIFIED; + + // Add our own deviceinfo to the store + Map endToEndDevicesForUser = mCryptoStore.getUserDevices(mSession.getMyUserId()); + + Map myDevices; + + if (null != endToEndDevicesForUser) { + myDevices = new HashMap<>(endToEndDevicesForUser); + } else { + myDevices = new HashMap<>(); + } + + myDevices.put(mMyDevice.deviceId, mMyDevice); + + mCryptoStore.storeUserDevices(mSession.getMyUserId(), myDevices); + mSession.getDataHandler().setCryptoEventsListener(mEventListener); + + mEncryptingHandlerThread = new HandlerThread("MXCrypto_encrypting_" + mSession.getMyUserId(), Thread.MIN_PRIORITY); + mEncryptingHandlerThread.start(); + + mDecryptingHandlerThread = new HandlerThread("MXCrypto_decrypting_" + mSession.getMyUserId(), Thread.MIN_PRIORITY); + mDecryptingHandlerThread.start(); + + mUIHandler = new Handler(Looper.getMainLooper()); + + if (refreshDevicesList) { + // ensure to have the up-to-date devices list + // got some issues when upgrading from Riot < 0.6.4 + mDevicesList.handleDeviceListsChanges(Arrays.asList(mSession.getMyUserId()), null); + } + + mOutgoingRoomKeyRequestManager = new MXOutgoingRoomKeyRequestManager(mSession, this); + + mReceivedRoomKeyRequests.addAll(mCryptoStore.getPendingIncomingRoomKeyRequests()); + } + + /** + * @return the encrypting thread handler + */ + public Handler getEncryptingThreadHandler() { + // mEncryptingHandlerThread was not yet ready + if (null == mEncryptingHandler) { + mEncryptingHandler = new Handler(mEncryptingHandlerThread.getLooper()); + } + + // fail to get the handler + // might happen if the thread is not yet ready + if (null == mEncryptingHandler) { + return mUIHandler; + } + + return mEncryptingHandler; + } + + /** + * @return the decrypting thread handler + */ + private Handler getDecryptingThreadHandler() { + // mDecryptingHandlerThread was not yet ready + if (null == mDecryptingHandler) { + mDecryptingHandler = new Handler(mDecryptingHandlerThread.getLooper()); + } + + // fail to get the handler + // might happen if the thread is not yet ready + if (null == mDecryptingHandler) { + return mUIHandler; + } + + return mDecryptingHandler; + } + + /** + * @return the UI thread handler + */ + public Handler getUIHandler() { + return mUIHandler; + } + + public void setNetworkConnectivityReceiver(NetworkConnectivityReceiver networkConnectivityReceiver) { + mNetworkConnectivityReceiver = networkConnectivityReceiver; + } + + /** + * @return true if some saved data is corrupted + */ + public boolean isCorrupted() { + return (null != mCryptoStore) && mCryptoStore.isCorrupted(); + } + + /** + * @return true if this instance has been released + */ + public boolean hasBeenReleased() { + return (null == mOlmDevice); + } + + /** + * @return my device info + */ + public MXDeviceInfo getMyDevice() { + return mMyDevice; + } + + /** + * @return the crypto store + */ + public IMXCryptoStore getCryptoStore() { + return mCryptoStore; + } + + /** + * @return the deviceList + */ + public MXDeviceList getDeviceList() { + return mDevicesList; + } + + /** + * Provides the tracking status + * + * @param userId the user id + * @return the tracking status + */ + public int getDeviceTrackingStatus(String userId) { + return mCryptoStore.getDeviceTrackingStatus(userId, MXDeviceList.TRACKING_STATUS_NOT_TRACKED); + } + + /** + * Tell if the MXCrypto is started + * + * @return true if the crypto is started + */ + public boolean isStarted() { + return mIsStarted; + } + + /** + * Tells if the MXCrypto is starting. + * + * @return true if the crypto is starting + */ + public boolean isStarting() { + return mIsStarting; + } + + /** + * Start the crypto module. + * Device keys will be uploaded, then one time keys if there are not enough on the homeserver + * and, then, if this is the first time, this new device will be announced to all other users + * devices. + * + * @param isInitialSync true if it starts from an initial sync + * @param aCallback the asynchronous callback + */ + public void start(final boolean isInitialSync, final ApiCallback aCallback) { + synchronized (mInitializationCallbacks) { + if ((null != aCallback) && (mInitializationCallbacks.indexOf(aCallback) < 0)) { + mInitializationCallbacks.add(aCallback); + } + } + + if (mIsStarting) { + return; + } + + // do not start if there is not network connection + if ((null != mNetworkConnectivityReceiver) && !mNetworkConnectivityReceiver.isConnected()) { + // wait that a valid network connection is retrieved + mNetworkConnectivityReceiver.removeEventListener(mNetworkListener); + mNetworkConnectivityReceiver.addEventListener(mNetworkListener); + return; + } + + mIsStarting = true; + + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + uploadDeviceKeys(new ApiCallback() { + private void onError() { + getUIHandler().postDelayed(new Runnable() { + @Override + public void run() { + if (!isStarted()) { + mIsStarting = false; + start(isInitialSync, null); + } + } + }, 1000); + } + + @Override + public void onSuccess(KeysUploadResponse info) { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + if (!hasBeenReleased()) { + Log.d(LOG_TAG, "###########################################################"); + Log.d(LOG_TAG, "uploadDeviceKeys done for " + mSession.getMyUserId()); + Log.d(LOG_TAG, " - device id : " + mSession.getCredentials().deviceId); + Log.d(LOG_TAG, " - ed25519 : " + mOlmDevice.getDeviceEd25519Key()); + Log.d(LOG_TAG, " - curve25519 : " + mOlmDevice.getDeviceCurve25519Key()); + Log.d(LOG_TAG, " - oneTimeKeys: " + mLastPublishedOneTimeKeys); // They are + Log.d(LOG_TAG, ""); + + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + maybeUploadOneTimeKeys(new ApiCallback() { + @Override + public void onSuccess(Void info) { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + if (null != mNetworkConnectivityReceiver) { + mNetworkConnectivityReceiver.removeEventListener(mNetworkListener); + } + + mIsStarting = false; + mIsStarted = true; + + mOutgoingRoomKeyRequestManager.start(); + + synchronized (mInitializationCallbacks) { + for (ApiCallback callback : mInitializationCallbacks) { + final ApiCallback fCallback = callback; + getUIHandler().post(new Runnable() { + @Override + public void run() { + fCallback.onSuccess(null); + } + }); + } + mInitializationCallbacks.clear(); + } + + if (isInitialSync) { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + // refresh the devices list for each known room members + getDeviceList().invalidateAllDeviceLists(); + mDevicesList.refreshOutdatedDeviceLists(); + } + }); + } else { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + processReceivedRoomKeyRequests(); + } + }); + } + } + }); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## start failed : " + e.getMessage(), e); + onError(); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## start failed : " + e.getMessage()); + onError(); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## start failed : " + e.getMessage(), e); + onError(); + } + }); + } + }); + } + } + }); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## start failed : " + e.getMessage(), e); + onError(); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## start failed : " + e.getMessage()); + onError(); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## start failed : " + e.getMessage(), e); + onError(); + } + }); + } + }); + } + + /** + * Close the crypto + */ + public void close() { + if (null != mEncryptingHandlerThread) { + mSession.getDataHandler().setCryptoEventsListener(null); + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + if (null != mOlmDevice) { + mOlmDevice.release(); + mOlmDevice = null; + } + + mMyDevice = null; + + mCryptoStore.close(); + mCryptoStore = null; + + if (null != mEncryptingHandlerThread) { + mEncryptingHandlerThread.quit(); + mEncryptingHandlerThread = null; + } + + mOutgoingRoomKeyRequestManager.stop(); + } + }); + + getDecryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + if (null != mDecryptingHandlerThread) { + mDecryptingHandlerThread.quit(); + mDecryptingHandlerThread = null; + } + } + }); + } + } + + /** + * @return the olmdevice instance + */ + public MXOlmDevice getOlmDevice() { + return mOlmDevice; + } + + /** + * A sync response has been received + * + * @param syncResponse the syncResponse + * @param fromToken the start sync token + * @param isCatchingUp true if there is a catch-up in progress. + */ + public void onSyncCompleted(final SyncResponse syncResponse, final String fromToken, final boolean isCatchingUp) { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + if (null != syncResponse.deviceLists) { + getDeviceList().handleDeviceListsChanges(syncResponse.deviceLists.changed, syncResponse.deviceLists.left); + } + + if (null != syncResponse.deviceOneTimeKeysCount) { + int currentCount = (null != syncResponse.deviceOneTimeKeysCount.signed_curve25519) ? + syncResponse.deviceOneTimeKeysCount.signed_curve25519 : 0; + updateOneTimeKeyCount(currentCount); + } + + if (isStarted()) { + // Make sure we process to-device messages before generating new one-time-keys #2782 + mDevicesList.refreshOutdatedDeviceLists(); + } + + if (!isCatchingUp && isStarted()) { + maybeUploadOneTimeKeys(); + + processReceivedRoomKeyRequests(); + } + } + }); + } + + /** + * Get the stored device keys for a user. + * + * @param userId the user to list keys for. + * @param callback the asynchronous callback + */ + public void getUserDevices(final String userId, final ApiCallback> callback) { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + final List list = getUserDevices(userId); + + if (null != callback) { + getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onSuccess(list); + } + }); + } + } + }); + } + + /** + * Stores the current one_time_key count which will be handled later (in a call of + * _onSyncCompleted). The count is e.g. coming from a /sync response. + * + * @param currentCount the new count + */ + private void updateOneTimeKeyCount(int currentCount) { + mOneTimeKeyCount = currentCount; + } + + /** + * Find a device by curve25519 identity key + * + * @param userId the owner of the device. + * @param algorithm the encryption algorithm. + * @param senderKey the curve25519 key to match. + * @return the device info. + */ + public MXDeviceInfo deviceWithIdentityKey(final String senderKey, final String userId, final String algorithm) { + if (!hasBeenReleased()) { + if (!TextUtils.equals(algorithm, MXCryptoAlgorithms.MXCRYPTO_ALGORITHM_MEGOLM) + && !TextUtils.equals(algorithm, MXCryptoAlgorithms.MXCRYPTO_ALGORITHM_OLM)) { + // We only deal in olm keys + return null; + } + + if (!TextUtils.isEmpty(userId)) { + final List result = new ArrayList<>(); + final CountDownLatch lock = new CountDownLatch(1); + + getDecryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + List devices = getUserDevices(userId); + + if (null != devices) { + for (MXDeviceInfo device : devices) { + Set keys = device.keys.keySet(); + + for (String keyId : keys) { + if (keyId.startsWith("curve25519:")) { + if (TextUtils.equals(senderKey, device.keys.get(keyId))) { + result.add(device); + } + } + } + } + } + + lock.countDown(); + } + }); + + try { + lock.await(); + } catch (Exception e) { + Log.e(LOG_TAG, "## deviceWithIdentityKey() : failed " + e.getMessage(), e); + } + + return (result.size() > 0) ? result.get(0) : null; + } + } + + // Doesn't match a known device + return null; + } + + /** + * Provides the device information for a device id and an user Id + * + * @param userId the user id + * @param deviceId the device id + * @param callback the asynchronous callback + */ + public void getDeviceInfo(final String userId, final String deviceId, final ApiCallback callback) { + getDecryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + final MXDeviceInfo di; + + if (!TextUtils.isEmpty(userId) && !TextUtils.isEmpty(deviceId)) { + di = mCryptoStore.getUserDevice(deviceId, userId); + } else { + di = null; + } + + if (null != callback) { + getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onSuccess(di); + } + }); + } + } + }); + } + + /** + * Set the devices as known + * + * @param devices the devices + * @param callback the as + */ + public void setDevicesKnown(final List devices, final ApiCallback callback) { + if (hasBeenReleased()) { + return; + } + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + // build a devices map + Map> devicesIdListByUserId = new HashMap<>(); + + for (MXDeviceInfo di : devices) { + List deviceIdsList = devicesIdListByUserId.get(di.userId); + + if (null == deviceIdsList) { + deviceIdsList = new ArrayList<>(); + devicesIdListByUserId.put(di.userId, deviceIdsList); + } + deviceIdsList.add(di.deviceId); + } + + Set userIds = devicesIdListByUserId.keySet(); + + for (String userId : userIds) { + Map storedDeviceIDs = mCryptoStore.getUserDevices(userId); + + // sanity checks + if (null != storedDeviceIDs) { + boolean isUpdated = false; + List deviceIds = devicesIdListByUserId.get(userId); + + for (String deviceId : deviceIds) { + MXDeviceInfo device = storedDeviceIDs.get(deviceId); + + // assume if the device is either verified or blocked + // it means that the device is known + if ((null != device) && device.isUnknown()) { + device.mVerified = MXDeviceInfo.DEVICE_VERIFICATION_UNVERIFIED; + isUpdated = true; + } + } + + if (isUpdated) { + mCryptoStore.storeUserDevices(userId, storedDeviceIDs); + } + } + } + + if (null != callback) { + getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onSuccess(null); + } + }); + } + } + }); + } + + /** + * Update the blocked/verified state of the given device. + * + * @param verificationStatus the new verification status + * @param deviceId the unique identifier for the device. + * @param userId the owner of the device + * @param callback the asynchronous callback + */ + public void setDeviceVerification(final int verificationStatus, final String deviceId, final String userId, final ApiCallback callback) { + if (hasBeenReleased()) { + return; + } + + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + MXDeviceInfo device = mCryptoStore.getUserDevice(deviceId, userId); + + // Sanity check + if (null == device) { + Log.e(LOG_TAG, "## setDeviceVerification() : Unknown device " + userId + ":" + deviceId); + if (null != callback) { + getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onSuccess(null); + } + }); + } + return; + } + + if (device.mVerified != verificationStatus) { + device.mVerified = verificationStatus; + mCryptoStore.storeUserDevice(userId, device); + } + + if (null != callback) { + getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onSuccess(null); + } + }); + } + } + }); + } + + /** + * Configure a room to use encryption. + * This method must be called in getEncryptingThreadHandler + * + * @param roomId the room id to enable encryption in. + * @param algorithm the encryption config for the room. + * @param inhibitDeviceQuery true to suppress device list query for users in the room (for now) + * @param members list of members to start tracking their devices + * @return true if the operation succeeds. + */ + private boolean setEncryptionInRoom(String roomId, String algorithm, boolean inhibitDeviceQuery, List members) { + if (hasBeenReleased()) { + return false; + } + + // If we already have encryption in this room, we should ignore this event + // (for now at least. Maybe we should alert the user somehow?) + String existingAlgorithm = mCryptoStore.getRoomAlgorithm(roomId); + + if (!TextUtils.isEmpty(existingAlgorithm) && !TextUtils.equals(existingAlgorithm, algorithm)) { + Log.e(LOG_TAG, "## setEncryptionInRoom() : Ignoring m.room.encryption event which requests a change of config in " + roomId); + return false; + } + + Class encryptingClass = MXCryptoAlgorithms.sharedAlgorithms().encryptorClassForAlgorithm(algorithm); + + if (null == encryptingClass) { + Log.e(LOG_TAG, "## setEncryptionInRoom() : Unable to encrypt with " + algorithm); + return false; + } + + mCryptoStore.storeRoomAlgorithm(roomId, algorithm); + + IMXEncrypting alg; + + try { + Constructor ctor = encryptingClass.getConstructors()[0]; + alg = (IMXEncrypting) ctor.newInstance(); + } catch (Exception e) { + Log.e(LOG_TAG, "## setEncryptionInRoom() : fail to load the class", e); + return false; + } + + alg.initWithMatrixSession(mSession, roomId); + + synchronized (mRoomEncryptors) { + mRoomEncryptors.put(roomId, alg); + } + + // if encryption was not previously enabled in this room, we will have been + // ignoring new device events for these users so far. We may well have + // up-to-date lists for some users, for instance if we were sharing other + // e2e rooms with them, so there is room for optimisation here, but for now + // we just invalidate everyone in the room. + if (null == existingAlgorithm) { + Log.d(LOG_TAG, "Enabling encryption in " + roomId + " for the first time; invalidating device lists for all users therein"); + + List userIds = new ArrayList<>(); + + for (RoomMember m : members) { + userIds.add(m.getUserId()); + } + + getDeviceList().startTrackingDeviceList(userIds); + + if (!inhibitDeviceQuery) { + getDeviceList().refreshOutdatedDeviceLists(); + } + } + + return true; + } + + /** + * Tells if a room is encrypted + * + * @param roomId the room id + * @return true if the room is encrypted + */ + public boolean isRoomEncrypted(String roomId) { + boolean res = false; + + if (null != roomId) { + synchronized (mRoomEncryptors) { + res = mRoomEncryptors.containsKey(roomId); + + if (!res) { + Room room = mSession.getDataHandler().getRoom(roomId); + + if (null != room) { + res = room.getState().isEncrypted(); + } + } + } + } + + return res; + } + + /** + * @return the stored device keys for a user. + */ + public List getUserDevices(final String userId) { + Map map = getCryptoStore().getUserDevices(userId); + return (null != map) ? new ArrayList<>(map.values()) : new ArrayList(); + } + + /** + * Try to make sure we have established olm sessions for the given users. + * It must be called in getEncryptingThreadHandler() thread. + * The callback is called in the UI thread. + * + * @param users a list of user ids. + * @param callback the asynchronous callback + */ + public void ensureOlmSessionsForUsers(List users, final ApiCallback> callback) { + Log.d(LOG_TAG, "## ensureOlmSessionsForUsers() : ensureOlmSessionsForUsers " + users); + + Map> devicesByUser = new HashMap<>(); + + for (String userId : users) { + devicesByUser.put(userId, new ArrayList()); + + List devices = getUserDevices(userId); + + for (MXDeviceInfo device : devices) { + String key = device.identityKey(); + + if (TextUtils.equals(key, mOlmDevice.getDeviceCurve25519Key())) { + // Don't bother setting up session to ourself + continue; + } + + if (device.isVerified()) { + // Don't bother setting up sessions with blocked users + continue; + } + + devicesByUser.get(userId).add(device); + } + } + + ensureOlmSessionsForDevices(devicesByUser, callback); + } + + /** + * Try to make sure we have established olm sessions for the given devices. + * It must be called in getCryptoHandler() thread. + * The callback is called in the UI thread. + * + * @param devicesByUser a map from userid to list of devices. + * @param callback the asynchronous callback + */ + public void ensureOlmSessionsForDevices(final Map> devicesByUser, + final ApiCallback> callback) { + List devicesWithoutSession = new ArrayList<>(); + + final MXUsersDevicesMap results = new MXUsersDevicesMap<>(); + + Set userIds = devicesByUser.keySet(); + + for (String userId : userIds) { + List deviceInfos = devicesByUser.get(userId); + + for (MXDeviceInfo deviceInfo : deviceInfos) { + String deviceId = deviceInfo.deviceId; + String key = deviceInfo.identityKey(); + + String sessionId = mOlmDevice.getSessionId(key); + + if (TextUtils.isEmpty(sessionId)) { + devicesWithoutSession.add(deviceInfo); + } + + MXOlmSessionResult olmSessionResult = new MXOlmSessionResult(deviceInfo, sessionId); + results.setObject(olmSessionResult, userId, deviceId); + } + } + + if (devicesWithoutSession.size() == 0) { + if (null != callback) { + getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onSuccess(results); + } + }); + } + return; + } + + // Prepare the request for claiming one-time keys + MXUsersDevicesMap usersDevicesToClaim = new MXUsersDevicesMap<>(); + + final String oneTimeKeyAlgorithm = MXKey.KEY_SIGNED_CURVE_25519_TYPE; + + for (MXDeviceInfo device : devicesWithoutSession) { + usersDevicesToClaim.setObject(oneTimeKeyAlgorithm, device.userId, device.deviceId); + } + + // TODO: this has a race condition - if we try to send another message + // while we are claiming a key, we will end up claiming two and setting up + // two sessions. + // + // That should eventually resolve itself, but it's poor form. + + Log.d(LOG_TAG, "## claimOneTimeKeysForUsersDevices() : " + usersDevicesToClaim); + + mSession.getCryptoRestClient().claimOneTimeKeysForUsersDevices(usersDevicesToClaim, new ApiCallback>() { + @Override + public void onSuccess(final MXUsersDevicesMap oneTimeKeys) { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + try { + Log.d(LOG_TAG, "## claimOneTimeKeysForUsersDevices() : keysClaimResponse.oneTimeKeys: " + oneTimeKeys); + + Set userIds = devicesByUser.keySet(); + + for (String userId : userIds) { + List deviceInfos = devicesByUser.get(userId); + + for (MXDeviceInfo deviceInfo : deviceInfos) { + + MXKey oneTimeKey = null; + + List deviceIds = oneTimeKeys.getUserDeviceIds(userId); + + if (null != deviceIds) { + for (String deviceId : deviceIds) { + MXOlmSessionResult olmSessionResult = results.getObject(deviceId, userId); + + if (null != olmSessionResult.mSessionId) { + // We already have a result for this device + continue; + } + + MXKey key = oneTimeKeys.getObject(deviceId, userId); + + if (TextUtils.equals(key.type, oneTimeKeyAlgorithm)) { + oneTimeKey = key; + } + + if (null == oneTimeKey) { + Log.d(LOG_TAG, "## ensureOlmSessionsForDevices() : No one-time keys " + oneTimeKeyAlgorithm + + " for device " + userId + " : " + deviceId); + continue; + } + + // Update the result for this device in results + olmSessionResult.mSessionId = verifyKeyAndStartSession(oneTimeKey, userId, deviceInfo); + } + } + } + } + } catch (Exception e) { + Log.e(LOG_TAG, "## ensureOlmSessionsForDevices() " + e.getMessage(), e); + } + + if (!hasBeenReleased()) { + if (null != callback) { + getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onSuccess(results); + } + }); + } + } + } + }); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## ensureOlmSessionsForUsers(): claimOneTimeKeysForUsersDevices request failed" + e.getMessage(), e); + + if (null != callback) { + callback.onNetworkError(e); + } + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## ensureOlmSessionsForUsers(): claimOneTimeKeysForUsersDevices request failed" + e.getMessage()); + + if (null != callback) { + callback.onMatrixError(e); + } + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## ensureOlmSessionsForUsers(): claimOneTimeKeysForUsersDevices request failed" + e.getMessage(), e); + + if (null != callback) { + callback.onUnexpectedError(e); + } + } + }); + } + + private String verifyKeyAndStartSession(MXKey oneTimeKey, String userId, MXDeviceInfo deviceInfo) { + String sessionId = null; + + String deviceId = deviceInfo.deviceId; + String signKeyId = "ed25519:" + deviceId; + String signature = oneTimeKey.signatureForUserId(userId, signKeyId); + + if (!TextUtils.isEmpty(signature) && !TextUtils.isEmpty(deviceInfo.fingerprint())) { + boolean isVerified = false; + String errorMessage = null; + + try { + mOlmDevice.verifySignature(deviceInfo.fingerprint(), oneTimeKey.signalableJSONDictionary(), signature); + isVerified = true; + } catch (Exception e) { + errorMessage = e.getMessage(); + } + + // Check one-time key signature + if (isVerified) { + sessionId = getOlmDevice().createOutboundSession(deviceInfo.identityKey(), oneTimeKey.value); + + if (!TextUtils.isEmpty(sessionId)) { + Log.d(LOG_TAG, "## verifyKeyAndStartSession() : Started new sessionid " + sessionId + + " for device " + deviceInfo + "(theirOneTimeKey: " + oneTimeKey.value + ")"); + } else { + // Possibly a bad key + Log.e(LOG_TAG, "## verifyKeyAndStartSession() : Error starting session with device " + userId + ":" + deviceId); + } + } else { + Log.e(LOG_TAG, "## verifyKeyAndStartSession() : Unable to verify signature on one-time key for device " + userId + + ":" + deviceId + " Error " + errorMessage); + } + } + + return sessionId; + } + + + /** + * Encrypt an event content according to the configuration of the room. + * + * @param eventContent the content of the event. + * @param eventType the type of the event. + * @param room the room the event will be sent. + * @param callback the asynchronous callback + */ + public void encryptEventContent(final JsonElement eventContent, + final String eventType, + final Room room, + final ApiCallback callback) { + // wait that the crypto is really started + if (!isStarted()) { + Log.d(LOG_TAG, "## encryptEventContent() : wait after e2e init"); + + start(false, new ApiCallback() { + @Override + public void onSuccess(Void info) { + encryptEventContent(eventContent, eventType, room, callback); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## encryptEventContent() : onNetworkError while waiting to start e2e : " + e.getMessage(), e); + + if (null != callback) { + callback.onNetworkError(e); + } + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## encryptEventContent() : onMatrixError while waiting to start e2e : " + e.getMessage()); + + if (null != callback) { + callback.onMatrixError(e); + } + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## encryptEventContent() : onUnexpectedError while waiting to start e2e : " + e.getMessage(), e); + + if (null != callback) { + callback.onUnexpectedError(e); + } + } + }); + + return; + } + + final ApiCallback> apiCallback = new SimpleApiCallback>(callback) { + @Override + public void onSuccess(final List members) { + // just as you are sending a secret message? + final List userdIds = new ArrayList<>(); + + for (RoomMember m : members) { + userdIds.add(m.getUserId()); + } + + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + IMXEncrypting alg; + + synchronized (mRoomEncryptors) { + alg = mRoomEncryptors.get(room.getRoomId()); + } + + if (null == alg) { + String algorithm = room.getState().encryptionAlgorithm(); + + if (null != algorithm) { + if (setEncryptionInRoom(room.getRoomId(), algorithm, false, members)) { + synchronized (mRoomEncryptors) { + alg = mRoomEncryptors.get(room.getRoomId()); + } + } + } + } + + if (null != alg) { + final long t0 = System.currentTimeMillis(); + Log.d(LOG_TAG, "## encryptEventContent() starts"); + + alg.encryptEventContent(eventContent, eventType, userdIds, new ApiCallback() { + @Override + public void onSuccess(final JsonElement encryptedContent) { + Log.d(LOG_TAG, "## encryptEventContent() : succeeds after " + (System.currentTimeMillis() - t0) + " ms"); + + if (null != callback) { + callback.onSuccess(new MXEncryptEventContentResult(encryptedContent, Event.EVENT_TYPE_MESSAGE_ENCRYPTED)); + } + } + + @Override + public void onNetworkError(final Exception e) { + Log.e(LOG_TAG, "## encryptEventContent() : onNetworkError " + e.getMessage(), e); + + if (null != callback) { + callback.onNetworkError(e); + } + } + + @Override + public void onMatrixError(final MatrixError e) { + Log.e(LOG_TAG, "## encryptEventContent() : onMatrixError " + e.getMessage()); + + if (null != callback) { + callback.onMatrixError(e); + } + } + + @Override + public void onUnexpectedError(final Exception e) { + Log.e(LOG_TAG, "## encryptEventContent() : onUnexpectedError " + e.getMessage(), e); + + if (null != callback) { + callback.onUnexpectedError(e); + } + } + }); + } else { + final String algorithm = room.getState().encryptionAlgorithm(); + final String reason = String.format(MXCryptoError.UNABLE_TO_ENCRYPT_REASON, + (null == algorithm) ? MXCryptoError.NO_MORE_ALGORITHM_REASON : algorithm); + Log.e(LOG_TAG, "## encryptEventContent() : " + reason); + + if (null != callback) { + getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onMatrixError(new MXCryptoError(MXCryptoError.UNABLE_TO_ENCRYPT_ERROR_CODE, + MXCryptoError.UNABLE_TO_ENCRYPT, reason)); + } + }); + } + } + } + }); + } + }; + + // Check whether the event content must be encrypted for the invited members. + boolean encryptForInvitedMembers = mCryptoConfig.mEnableEncryptionForInvitedMembers + && room.shouldEncryptForInvitedMembers(); + + if (encryptForInvitedMembers) { + room.getActiveMembersAsync(apiCallback); + } else { + room.getJoinedMembersAsync(apiCallback); + } + } + + /** + * Decrypt an event + * + * @param event the raw event. + * @param timeline the id of the timeline where the event is decrypted. It is used to prevent replay attack. + * @return the MXEventDecryptionResult data, or null in case of error + */ + @Nullable + public MXEventDecryptionResult decryptEvent(final Event event, final String timeline) throws MXDecryptionException { + if (null == event) { + Log.e(LOG_TAG, "## decryptEvent : null event"); + return null; + } + + final EventContent eventContent = event.getWireEventContent(); + + if (null == eventContent) { + Log.e(LOG_TAG, "## decryptEvent : empty event content"); + return null; + } + + final List results = new ArrayList<>(); + final CountDownLatch lock = new CountDownLatch(1); + final List exceptions = new ArrayList<>(); + + getDecryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + MXEventDecryptionResult result = null; + IMXDecrypting alg = getRoomDecryptor(event.roomId, eventContent.algorithm); + + if (null == alg) { + String reason = String.format(MXCryptoError.UNABLE_TO_DECRYPT_REASON, event.eventId, eventContent.algorithm); + Log.e(LOG_TAG, "## decryptEvent() : " + reason); + exceptions.add(new MXDecryptionException(new MXCryptoError(MXCryptoError.UNABLE_TO_DECRYPT_ERROR_CODE, + MXCryptoError.UNABLE_TO_DECRYPT, reason))); + } else { + try { + result = alg.decryptEvent(event, timeline); + } catch (MXDecryptionException decryptionException) { + exceptions.add(decryptionException); + } + + if (null != result) { + results.add(result); + } + } + lock.countDown(); + } + }); + + try { + lock.await(); + } catch (Exception e) { + Log.e(LOG_TAG, "## decryptEvent() : failed " + e.getMessage(), e); + } + + if (!exceptions.isEmpty()) { + throw exceptions.get(0); + } + + if (!results.isEmpty()) { + return results.get(0); + } + + return null; + } + + /** + * Reset replay attack data for the given timeline. + * + * @param timelineId the timeline id + */ + public void resetReplayAttackCheckInTimeline(final String timelineId) { + if ((null != timelineId) && (null != getOlmDevice())) { + getDecryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + getOlmDevice().resetReplayAttackCheckInTimeline(timelineId); + } + }); + } + } + + /** + * Encrypt an event payload for a list of devices. + * This method must be called from the getCryptoHandler() thread. + * + * @param payloadFields fields to include in the encrypted payload. + * @param deviceInfos list of device infos to encrypt for. + * @return the content for an m.room.encrypted event. + */ + public Map encryptMessage(Map payloadFields, List deviceInfos) { + if (hasBeenReleased()) { + return new HashMap<>(); + } + + Map deviceInfoParticipantKey = new HashMap<>(); + List participantKeys = new ArrayList<>(); + + for (MXDeviceInfo di : deviceInfos) { + participantKeys.add(di.identityKey()); + deviceInfoParticipantKey.put(di.identityKey(), di); + } + + Map payloadJson = new HashMap<>(payloadFields); + + payloadJson.put("sender", mSession.getMyUserId()); + payloadJson.put("sender_device", mSession.getCredentials().deviceId); + + // Include the Ed25519 key so that the recipient knows what + // device this message came from. + // We don't need to include the curve25519 key since the + // recipient will already know this from the olm headers. + // When combined with the device keys retrieved from the + // homeserver signed by the ed25519 key this proves that + // the curve25519 key and the ed25519 key are owned by + // the same device. + Map keysMap = new HashMap<>(); + keysMap.put("ed25519", mOlmDevice.getDeviceEd25519Key()); + payloadJson.put("keys", keysMap); + + Map ciphertext = new HashMap<>(); + + for (String deviceKey : participantKeys) { + String sessionId = mOlmDevice.getSessionId(deviceKey); + + if (!TextUtils.isEmpty(sessionId)) { + Log.d(LOG_TAG, "Using sessionid " + sessionId + " for device " + deviceKey); + MXDeviceInfo deviceInfo = deviceInfoParticipantKey.get(deviceKey); + + payloadJson.put("recipient", deviceInfo.userId); + + Map recipientsKeysMap = new HashMap<>(); + recipientsKeysMap.put("ed25519", deviceInfo.fingerprint()); + payloadJson.put("recipient_keys", recipientsKeysMap); + + + String payloadString = JsonUtils.convertToUTF8(JsonUtils.canonicalize(JsonUtils.getGson(false).toJsonTree(payloadJson)).toString()); + ciphertext.put(deviceKey, mOlmDevice.encryptMessage(deviceKey, sessionId, payloadString)); + } + } + + Map res = new HashMap<>(); + + res.put("algorithm", MXCryptoAlgorithms.MXCRYPTO_ALGORITHM_OLM); + res.put("sender_key", mOlmDevice.getDeviceCurve25519Key()); + res.put("ciphertext", ciphertext); + + return res; + } + + /** + * Handle the 'toDevice' event + * + * @param event the event + */ + private void onToDeviceEvent(final Event event) { + if (TextUtils.equals(event.getType(), Event.EVENT_TYPE_ROOM_KEY) + || TextUtils.equals(event.getType(), Event.EVENT_TYPE_FORWARDED_ROOM_KEY)) { + getDecryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + onRoomKeyEvent(event); + } + }); + } else if (TextUtils.equals(event.getType(), Event.EVENT_TYPE_ROOM_KEY_REQUEST)) { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + onRoomKeyRequestEvent(event); + } + }); + } + } + + /** + * Handle a key event. + * This method must be called on getDecryptingThreadHandler() thread. + * + * @param event the key event. + */ + private void onRoomKeyEvent(Event event) { + // sanity check + if (null == event) { + Log.e(LOG_TAG, "## onRoomKeyEvent() : null event"); + return; + } + + RoomKeyContent roomKeyContent = JsonUtils.toRoomKeyContent(event.getContentAsJsonObject()); + + String roomId = roomKeyContent.room_id; + String algorithm = roomKeyContent.algorithm; + + if (TextUtils.isEmpty(roomId) || TextUtils.isEmpty(algorithm)) { + Log.e(LOG_TAG, "## onRoomKeyEvent() : missing fields"); + return; + } + + IMXDecrypting alg = getRoomDecryptor(roomId, algorithm); + + if (null == alg) { + Log.e(LOG_TAG, "## onRoomKeyEvent() : Unable to handle keys for " + algorithm); + return; + } + + alg.onRoomKeyEvent(event); + } + + /** + * Called when we get an m.room_key_request event + * This method must be called on getEncryptingThreadHandler() thread. + * + * @param event the announcement event. + */ + private void onRoomKeyRequestEvent(final Event event) { + RoomKeyRequest roomKeyRequest = JsonUtils.toRoomKeyRequest(event.getContentAsJsonObject()); + + if (null != roomKeyRequest.action) { + switch (roomKeyRequest.action) { + case RoomKeyRequest.ACTION_REQUEST: { + synchronized (mReceivedRoomKeyRequests) { + mReceivedRoomKeyRequests.add(new IncomingRoomKeyRequest(event)); + } + break; + } + + case RoomKeyRequest.ACTION_REQUEST_CANCELLATION: { + synchronized (mReceivedRoomKeyRequestCancellations) { + mReceivedRoomKeyRequestCancellations.add(new IncomingRoomKeyRequestCancellation(event)); + } + break; + } + + default: + Log.e(LOG_TAG, "## onRoomKeyRequestEvent() : unsupported action " + roomKeyRequest.action); + } + } + } + + /** + * Process any m.room_key_request events which were queued up during the + * current sync. + */ + private void processReceivedRoomKeyRequests() { + List receivedRoomKeyRequests = null; + + synchronized (mReceivedRoomKeyRequests) { + if (!mReceivedRoomKeyRequests.isEmpty()) { + receivedRoomKeyRequests = new ArrayList(mReceivedRoomKeyRequests); + mReceivedRoomKeyRequests.clear(); + } + } + + if (null != receivedRoomKeyRequests) { + for (final IncomingRoomKeyRequest request : receivedRoomKeyRequests) { + String userId = request.mUserId; + String deviceId = request.mDeviceId; + RoomKeyRequestBody body = request.mRequestBody; + String roomId = body.room_id; + String alg = body.algorithm; + + Log.d(LOG_TAG, "m.room_key_request from " + userId + ":" + deviceId + " for " + roomId + " / " + body.session_id + " id " + request.mRequestId); + + if (!TextUtils.equals(mSession.getMyUserId(), userId)) { + // TODO: determine if we sent this device the keys already: in + Log.e(LOG_TAG, "## processReceivedRoomKeyRequests() : Ignoring room key request from other user for now"); + return; + } + + // todo: should we queue up requests we don't yet have keys for, + // in case they turn up later? + + // if we don't have a decryptor for this room/alg, we don't have + // the keys for the requested events, and can drop the requests. + + final IMXDecrypting decryptor = getRoomDecryptor(roomId, alg); + + if (null == decryptor) { + Log.e(LOG_TAG, "## processReceivedRoomKeyRequests() : room key request for unknown " + alg + " in room " + roomId); + continue; + } + + if (!decryptor.hasKeysForKeyRequest(request)) { + Log.e(LOG_TAG, "## processReceivedRoomKeyRequests() : room key request for unknown session " + body.session_id); + mCryptoStore.deleteIncomingRoomKeyRequest(request); + continue; + } + + if (TextUtils.equals(deviceId, getMyDevice().deviceId) && TextUtils.equals(mSession.getMyUserId(), userId)) { + Log.d(LOG_TAG, "## processReceivedRoomKeyRequests() : oneself device - ignored"); + mCryptoStore.deleteIncomingRoomKeyRequest(request); + continue; + } + + request.mShare = new Runnable() { + @Override + public void run() { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + decryptor.shareKeysWithDevice(request); + mCryptoStore.deleteIncomingRoomKeyRequest(request); + } + }); + } + }; + + request.mIgnore = new Runnable() { + @Override + public void run() { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + mCryptoStore.deleteIncomingRoomKeyRequest(request); + } + }); + } + }; + + // if the device is is verified already, share the keys + MXDeviceInfo device = mCryptoStore.getUserDevice(deviceId, userId); + + if (null != device) { + if (device.isVerified()) { + Log.d(LOG_TAG, "## processReceivedRoomKeyRequests() : device is already verified: sharing keys"); + mCryptoStore.deleteIncomingRoomKeyRequest(request); + request.mShare.run(); + continue; + } + + if (device.isBlocked()) { + Log.d(LOG_TAG, "## processReceivedRoomKeyRequests() : device is blocked -> ignored"); + mCryptoStore.deleteIncomingRoomKeyRequest(request); + continue; + } + } + + mCryptoStore.storeIncomingRoomKeyRequest(request); + onRoomKeyRequest(request); + } + } + + List receivedRoomKeyRequestCancellations = null; + + synchronized (mReceivedRoomKeyRequestCancellations) { + if (!mReceivedRoomKeyRequestCancellations.isEmpty()) { + receivedRoomKeyRequestCancellations = new ArrayList(mReceivedRoomKeyRequestCancellations); + mReceivedRoomKeyRequestCancellations.clear(); + } + } + + if (null != receivedRoomKeyRequestCancellations) { + for (IncomingRoomKeyRequestCancellation request : receivedRoomKeyRequestCancellations) { + Log.d(LOG_TAG, "## ## processReceivedRoomKeyRequests() : m.room_key_request cancellation for " + request.mUserId + + ":" + request.mDeviceId + " id " + request.mRequestId); + + // we should probably only notify the app of cancellations we told it + // about, but we don't currently have a record of that, so we just pass + // everything through. + onRoomKeyRequestCancellation(request); + mCryptoStore.deleteIncomingRoomKeyRequest(request); + } + } + } + + /** + * Handle an m.room.encryption event. + * + * @param event the encryption event. + */ + private void onCryptoEvent(final Event event) { + final EventContent eventContent = event.getWireEventContent(); + + final Room room = mSession.getDataHandler().getRoom(event.roomId); + + // Check whether the event content must be encrypted for the invited members. + boolean encryptForInvitedMembers = mCryptoConfig.mEnableEncryptionForInvitedMembers + && room.shouldEncryptForInvitedMembers(); + + ApiCallback> callback = new ApiCallback>() { + @Override + public void onSuccess(final List info) { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + setEncryptionInRoom(event.roomId, eventContent.algorithm, true, info); + } + }); + } + + private void onError() { + // Ensure setEncryption in room is done, even if there is a failure to fetch the room members + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + setEncryptionInRoom(event.roomId, eventContent.algorithm, true, room.getState().getLoadedMembers()); + } + }); + } + + @Override + public void onNetworkError(Exception e) { + Log.w(LOG_TAG, "[MXCrypto] onCryptoEvent: Warning: Unable to get all members from the HS. Fallback by using lazy-loaded members", e); + + onError(); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.w(LOG_TAG, "[MXCrypto] onCryptoEvent: Warning: Unable to get all members from the HS. Fallback by using lazy-loaded members"); + + onError(); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.w(LOG_TAG, "[MXCrypto] onCryptoEvent: Warning: Unable to get all members from the HS. Fallback by using lazy-loaded members", e); + + onError(); + } + }; + + if (encryptForInvitedMembers) { + room.getActiveMembersAsync(callback); + } else { + room.getJoinedMembersAsync(callback); + } + } + + /** + * Handle a change in the membership state of a member of a room. + * + * @param event the membership event causing the change + */ + private void onRoomMembership(final Event event) { + final IMXEncrypting alg; + + synchronized (mRoomEncryptors) { + alg = mRoomEncryptors.get(event.roomId); + } + + if (null == alg) { + // No encrypting in this room + return; + } + + final String userId = event.stateKey; + final Room room = mSession.getDataHandler().getRoom(event.roomId); + + RoomMember roomMember = room.getState().getMember(userId); + + if (null != roomMember) { + final String membership = roomMember.membership; + + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + if (TextUtils.equals(membership, RoomMember.MEMBERSHIP_JOIN)) { + // make sure we are tracking the deviceList for this user. + getDeviceList().startTrackingDeviceList(Arrays.asList(userId)); + } else if (TextUtils.equals(membership, RoomMember.MEMBERSHIP_INVITE) + && room.shouldEncryptForInvitedMembers() + && mCryptoConfig.mEnableEncryptionForInvitedMembers) { + // track the deviceList for this invited user. + // Caution: there's a big edge case here in that federated servers do not + // know what other servers are in the room at the time they've been invited. + // They therefore will not send device updates if a user logs in whilst + // their state is invite. + getDeviceList().startTrackingDeviceList(Arrays.asList(userId)); + } + } + }); + } + } + + /** + * Upload my user's device keys. + * This method must called on getEncryptingThreadHandler() thread. + * The callback will called on UI thread. + * + * @param callback the asynchronous callback + */ + private void uploadDeviceKeys(ApiCallback callback) { + // Prepare the device keys data to send + // Sign it + String signature = mOlmDevice.signJSON(mMyDevice.signalableJSONDictionary()); + + Map submap = new HashMap<>(); + submap.put("ed25519:" + mMyDevice.deviceId, signature); + + Map> map = new HashMap<>(); + map.put(mSession.getMyUserId(), submap); + + mMyDevice.signatures = map; + + // For now, we set the device id explicitly, as we may not be using the + // same one as used in login. + mSession.getCryptoRestClient().uploadKeys(mMyDevice.JSONDictionary(), null, mMyDevice.deviceId, callback); + } + + /** + * OTK upload loop + * + * @param keyCount the number of key to generate + * @param keyLimit the limit + * @param callback the asynchronous callback + */ + private void uploadLoop(final int keyCount, final int keyLimit, final ApiCallback callback) { + if (keyLimit <= keyCount) { + // If we don't need to generate any more keys then we are done. + if (null != callback) { + getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onSuccess(null); + } + }); + } + return; + } + + final int keysThisLoop = Math.min(keyLimit - keyCount, ONE_TIME_KEY_GENERATION_MAX_NUMBER); + + getOlmDevice().generateOneTimeKeys(keysThisLoop); + + uploadOneTimeKeys(new SimpleApiCallback(callback) { + @Override + public void onSuccess(final KeysUploadResponse response) { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + if (response.hasOneTimeKeyCountsForAlgorithm("signed_curve25519")) { + uploadLoop(response.oneTimeKeyCountsForAlgorithm("signed_curve25519"), keyLimit, callback); + } else { + Log.e(LOG_TAG, "## uploadLoop() : response for uploading keys does not contain one_time_key_counts.signed_curve25519"); + getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onUnexpectedError( + new Exception("response for uploading keys does not contain one_time_key_counts.signed_curve25519")); + } + }); + } + } + }); + } + }); + } + + /** + * Check if the OTK must be uploaded. + */ + private void maybeUploadOneTimeKeys() { + maybeUploadOneTimeKeys(null); + } + + /** + * Check if the OTK must be uploaded. + * + * @param callback the asynchronous callback + */ + private void maybeUploadOneTimeKeys(final ApiCallback callback) { + if (mOneTimeKeyCheckInProgress) { + getUIHandler().post(new Runnable() { + @Override + public void run() { + if (null != callback) { + callback.onSuccess(null); + } + } + }); + return; + } + + if ((System.currentTimeMillis() - mLastOneTimeKeyCheck) < ONE_TIME_KEY_UPLOAD_PERIOD) { + // we've done a key upload recently. + getUIHandler().post(new Runnable() { + @Override + public void run() { + if (null != callback) { + callback.onSuccess(null); + } + } + }); + return; + } + + mLastOneTimeKeyCheck = System.currentTimeMillis(); + + mOneTimeKeyCheckInProgress = true; + + // We then check how many keys we can store in the Account object. + final long maxOneTimeKeys = getOlmDevice().getMaxNumberOfOneTimeKeys(); + + // Try to keep at most half that number on the server. This leaves the + // rest of the slots free to hold keys that have been claimed from the + // server but we haven't recevied a message for. + // If we run out of slots when generating new keys then olm will + // discard the oldest private keys first. This will eventually clean + // out stale private keys that won't receive a message. + final int keyLimit = (int) Math.floor(maxOneTimeKeys / 2.0); + + if (null != mOneTimeKeyCount) { + uploadOTK(mOneTimeKeyCount, keyLimit, callback); + } else { + // ask the server how many keys we have + mSession.getCryptoRestClient().uploadKeys(null, null, mMyDevice.deviceId, new ApiCallback() { + private void onFailed(String errorMessage) { + if (null != errorMessage) { + Log.e(LOG_TAG, "## uploadKeys() : failed " + errorMessage); + } + mOneTimeKeyCount = null; + mOneTimeKeyCheckInProgress = false; + } + + @Override + public void onSuccess(final KeysUploadResponse keysUploadResponse) { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + if (!hasBeenReleased()) { + // We need to keep a pool of one time public keys on the server so that + // other devices can start conversations with us. But we can only store + // a finite number of private keys in the olm Account object. + // To complicate things further then can be a delay between a device + // claiming a public one time key from the server and it sending us a + // message. We need to keep the corresponding private key locally until + // we receive the message. + // But that message might never arrive leaving us stuck with duff + // private keys clogging up our local storage. + // So we need some kind of enginering compromise to balance all of + // these factors. + int keyCount = keysUploadResponse.oneTimeKeyCountsForAlgorithm("signed_curve25519"); + uploadOTK(keyCount, keyLimit, callback); + } + } + }); + } + + @Override + public void onNetworkError(final Exception e) { + onFailed(e.getMessage()); + + getUIHandler().post(new Runnable() { + @Override + public void run() { + if (null != callback) { + callback.onNetworkError(e); + } + } + }); + } + + @Override + public void onMatrixError(final MatrixError e) { + onFailed(e.getMessage()); + getUIHandler().post(new Runnable() { + @Override + public void run() { + if (null != callback) { + callback.onMatrixError(e); + } + } + }); + } + + @Override + public void onUnexpectedError(final Exception e) { + onFailed(e.getMessage()); + getUIHandler().post(new Runnable() { + @Override + public void run() { + if (null != callback) { + callback.onUnexpectedError(e); + } + } + }); + } + }); + } + } + + /** + * Upload some the OTKs. + * + * @param keyCount the key count + * @param keyLimit the limit + * @param callback the asynchronous callback + */ + private void uploadOTK(int keyCount, int keyLimit, final ApiCallback callback) { + uploadLoop(keyCount, keyLimit, new ApiCallback() { + private void uploadKeysDone(String errorMessage) { + if (null != errorMessage) { + Log.e(LOG_TAG, "## maybeUploadOneTimeKeys() : failed " + errorMessage); + } + mOneTimeKeyCount = null; + mOneTimeKeyCheckInProgress = false; + } + + @Override + public void onSuccess(Void info) { + Log.d(LOG_TAG, "## maybeUploadOneTimeKeys() : succeeded"); + uploadKeysDone(null); + + getUIHandler().post(new Runnable() { + @Override + public void run() { + if (null != callback) { + callback.onSuccess(null); + } + } + }); + } + + @Override + public void onNetworkError(final Exception e) { + uploadKeysDone(e.getMessage()); + + getUIHandler().post(new Runnable() { + @Override + public void run() { + if (null != callback) { + callback.onNetworkError(e); + } + } + }); + } + + @Override + public void onMatrixError(final MatrixError e) { + uploadKeysDone(e.getMessage()); + + getUIHandler().post(new Runnable() { + @Override + public void run() { + if (null != callback) { + callback.onMatrixError(e); + } + } + }); + } + + @Override + public void onUnexpectedError(final Exception e) { + uploadKeysDone(e.getMessage()); + getUIHandler().post(new Runnable() { + @Override + public void run() { + if (null != callback) { + callback.onUnexpectedError(e); + } + } + }); + } + }); + + } + + /** + * Upload my user's one time keys. + * This method must called on getEncryptingThreadHandler() thread. + * The callback will called on UI thread. + * + * @param callback the asynchronous callback + */ + private void uploadOneTimeKeys(final ApiCallback callback) { + final Map> oneTimeKeys = mOlmDevice.getOneTimeKeys(); + Map oneTimeJson = new HashMap<>(); + + Map curve25519Map = oneTimeKeys.get("curve25519"); + + if (null != curve25519Map) { + for (String key_id : curve25519Map.keySet()) { + Map k = new HashMap<>(); + k.put("key", curve25519Map.get(key_id)); + + // the key is also signed + String signature = mOlmDevice.signJSON(k); + Map submap = new HashMap<>(); + submap.put("ed25519:" + mMyDevice.deviceId, signature); + + Map> map = new HashMap<>(); + map.put(mSession.getMyUserId(), submap); + k.put("signatures", map); + + oneTimeJson.put("signed_curve25519:" + key_id, k); + } + } + + // For now, we set the device id explicitly, as we may not be using the + // same one as used in login. + mSession.getCryptoRestClient().uploadKeys(null, oneTimeJson, mMyDevice.deviceId, new SimpleApiCallback(callback) { + @Override + public void onSuccess(final KeysUploadResponse info) { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + if (!hasBeenReleased()) { + mLastPublishedOneTimeKeys = oneTimeKeys; + mOlmDevice.markKeysAsPublished(); + + if (null != callback) { + getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onSuccess(info); + } + }); + } + } + } + }); + } + }); + } + + /** + * Get a decryptor for a given room and algorithm. + * If we already have a decryptor for the given room and algorithm, return + * it. Otherwise try to instantiate it. + * + * @param roomId the room id + * @param algorithm the crypto algorithm + * @return the decryptor + */ + private IMXDecrypting getRoomDecryptor(String roomId, String algorithm) { + // sanity check + if (TextUtils.isEmpty(algorithm)) { + Log.e(LOG_TAG, "## getRoomDecryptor() : null algorithm"); + return null; + } + + if (null == mRoomDecryptors) { + Log.e(LOG_TAG, "## getRoomDecryptor() : null mRoomDecryptors"); + return null; + } + + IMXDecrypting alg = null; + + if (!TextUtils.isEmpty(roomId)) { + synchronized (mRoomDecryptors) { + if (!mRoomDecryptors.containsKey(roomId)) { + mRoomDecryptors.put(roomId, new HashMap()); + } + + alg = mRoomDecryptors.get(roomId).get(algorithm); + } + + if (null != alg) { + return alg; + } + } + + Class decryptingClass = MXCryptoAlgorithms.sharedAlgorithms().decryptorClassForAlgorithm(algorithm); + + if (null != decryptingClass) { + try { + Constructor ctor = decryptingClass.getConstructors()[0]; + alg = (IMXDecrypting) ctor.newInstance(); + + if (null != alg) { + alg.initWithMatrixSession(mSession); + + if (!TextUtils.isEmpty(roomId)) { + synchronized (mRoomDecryptors) { + mRoomDecryptors.get(roomId).put(algorithm, alg); + } + } + } + } catch (Exception e) { + Log.e(LOG_TAG, "## getRoomDecryptor() : fail to load the class", e); + return null; + } + } + + return alg; + } + + /** + * Export the crypto keys + * + * @param password the password + * @param callback the exported keys + */ + public void exportRoomKeys(final String password, final ApiCallback callback) { + exportRoomKeys(password, MXMegolmExportEncryption.DEFAULT_ITERATION_COUNT, callback); + } + + /** + * Export the crypto keys + * + * @param password the password + * @param anIterationCount the encryption iteration count (0 means no encryption) + * @param callback the exported keys + */ + public void exportRoomKeys(final String password, int anIterationCount, final ApiCallback callback) { + final int iterationCount = Math.max(0, anIterationCount); + + getDecryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + if (null == mCryptoStore) { + getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onSuccess(new byte[0]); + } + }); + return; + } + + List> exportedSessions = new ArrayList<>(); + + List inboundGroupSessions = mCryptoStore.getInboundGroupSessions(); + + for (MXOlmInboundGroupSession2 session : inboundGroupSessions) { + Map map = session.exportKeys(); + + if (null != map) { + exportedSessions.add(map); + } + } + + final byte[] encryptedRoomKeys; + + try { + encryptedRoomKeys = MXMegolmExportEncryption + .encryptMegolmKeyFile(JsonUtils.getGson(false).toJsonTree(exportedSessions).toString(), password, iterationCount); + } catch (Exception e) { + callback.onUnexpectedError(e); + return; + } + + getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onSuccess(encryptedRoomKeys); + } + }); + } + }); + } + + /** + * Import the room keys + * + * @param roomKeysAsArray the room keys as array. + * @param password the password + * @param callback the asynchronous callback. + */ + public void importRoomKeys(final byte[] roomKeysAsArray, final String password, final ApiCallback callback) { + getDecryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + long t0 = System.currentTimeMillis(); + String roomKeys; + + try { + roomKeys = MXMegolmExportEncryption.decryptMegolmKeyFile(roomKeysAsArray, password); + } catch (final Exception e) { + getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onUnexpectedError(e); + } + }); + return; + } + + List> importedSessions; + + long t1 = System.currentTimeMillis(); + + Log.d(LOG_TAG, "## importRoomKeys starts"); + + try { + importedSessions = JsonUtils.getGson(false).fromJson(roomKeys, new TypeToken>>() { + }.getType()); + } catch (final Exception e) { + Log.e(LOG_TAG, "## importRoomKeys failed " + e.getMessage(), e); + getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onUnexpectedError(e); + } + }); + return; + } + + long t2 = System.currentTimeMillis(); + + Log.d(LOG_TAG, "## importRoomKeys retrieve " + importedSessions.size() + "sessions in " + (t1 - t0) + " ms"); + + for (int index = 0; index < importedSessions.size(); index++) { + Map map = importedSessions.get(index); + + MXOlmInboundGroupSession2 session = mOlmDevice.importInboundGroupSession(map); + + if ((null != session) && mRoomDecryptors.containsKey(session.mRoomId)) { + IMXDecrypting decrypting = mRoomDecryptors.get(session.mRoomId).get(map.get("algorithm")); + + if (null != decrypting) { + try { + String sessionId = session.mSession.sessionIdentifier(); + Log.d(LOG_TAG, "## importRoomKeys retrieve mSenderKey " + session.mSenderKey + " sessionId " + sessionId); + + decrypting.onNewSession(session.mSenderKey, sessionId); + } catch (Exception e) { + Log.e(LOG_TAG, "## importRoomKeys() : onNewSession failed " + e.getMessage(), e); + } + } + } + } + + long t3 = System.currentTimeMillis(); + + Log.d(LOG_TAG, "## importRoomKeys : done in " + (t3 - t0) + " ms (" + importedSessions.size() + " sessions)"); + Log.d(LOG_TAG, "## importRoomKeys : decryptMegolmKeyFile done in " + (t1 - t0) + " ms"); + Log.d(LOG_TAG, "## importRoomKeys : JSON parsing " + (t2 - t1) + " ms"); + Log.d(LOG_TAG, "## importRoomKeys : sessions import " + (t3 - t2) + " ms"); + + getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onSuccess(null); + } + }); + } + }); + } + + /** + * Tells if the encryption must fail if some unknown devices are detected. + * + * @return true to warn when some unknown devices are detected. + */ + public boolean warnOnUnknownDevices() { + return mWarnOnUnknownDevices; + } + + /** + * Update the warn status when some unknown devices are detected. + * + * @param warn true to warn when some unknown devices are detected. + */ + public void setWarnOnUnknownDevices(boolean warn) { + mWarnOnUnknownDevices = warn; + } + + /** + * Provides the list of unknown devices + * + * @param devicesInRoom the devices map + * @return the unknown devices map + */ + public static MXUsersDevicesMap getUnknownDevices(MXUsersDevicesMap devicesInRoom) { + MXUsersDevicesMap unknownDevices = new MXUsersDevicesMap<>(); + + List userIds = devicesInRoom.getUserIds(); + for (String userId : userIds) { + List deviceIds = devicesInRoom.getUserDeviceIds(userId); + for (String deviceId : deviceIds) { + MXDeviceInfo deviceInfo = devicesInRoom.getObject(deviceId, userId); + + if (deviceInfo.isUnknown()) { + unknownDevices.setObject(deviceInfo, userId, deviceId); + } + } + } + + return unknownDevices; + } + + /** + * Check if the user ids list have some unknown devices. + * A success means there is no unknown devices. + * If there are some unknown devices, a MXCryptoError.UNKNOWN_DEVICES_CODE exception is triggered. + * + * @param userIds the user ids list + * @param callback the asynchronous callback. + */ + public void checkUnknownDevices(List userIds, final ApiCallback callback) { + // force the refresh to ensure that the devices list is up-to-date + mDevicesList.downloadKeys(userIds, true, new SimpleApiCallback>(callback) { + @Override + public void onSuccess(MXUsersDevicesMap devicesMap) { + MXUsersDevicesMap unknownDevices = MXCrypto.getUnknownDevices(devicesMap); + + if (unknownDevices.getMap().size() == 0) { + callback.onSuccess(null); + } else { + // trigger an an unknown devices exception + callback.onMatrixError(new MXCryptoError(MXCryptoError.UNKNOWN_DEVICES_CODE, + MXCryptoError.UNABLE_TO_ENCRYPT, MXCryptoError.UNKNOWN_DEVICES_REASON, unknownDevices)); + } + } + }); + } + + /** + * Set the global override for whether the client should ever send encrypted + * messages to unverified devices. + * If false, it can still be overridden per-room. + * If true, it overrides the per-room settings. + * + * @param block true to unilaterally blacklist all + * @param callback the asynchronous callback. + */ + public void setGlobalBlacklistUnverifiedDevices(final boolean block, final ApiCallback callback) { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + mCryptoStore.setGlobalBlacklistUnverifiedDevices(block); + getUIHandler().post(new Runnable() { + @Override + public void run() { + if (null != callback) { + callback.onSuccess(null); + } + } + }); + } + }); + } + + /** + * Tells whether the client should ever send encrypted messages to unverified devices. + * The default value is false. + * This function must be called in the getEncryptingThreadHandler() thread. + * + * @return true to unilaterally blacklist all unverified devices. + */ + public boolean getGlobalBlacklistUnverifiedDevices() { + return mCryptoStore.getGlobalBlacklistUnverifiedDevices(); + } + + /** + * Tells whether the client should ever send encrypted messages to unverified devices. + * The default value is false. + * messages to unverified devices. + * + * @param callback the asynchronous callback + */ + public void getGlobalBlacklistUnverifiedDevices(final ApiCallback callback) { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + if (null != callback) { + final boolean status = getGlobalBlacklistUnverifiedDevices(); + + getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onSuccess(status); + } + }); + } + } + }); + } + + /** + * Tells whether the client should encrypt messages only for the verified devices + * in this room. + * The default value is false. + * This function must be called in the getEncryptingThreadHandler() thread. + * + * @param roomId the room id + * @return true if the client should encrypt messages only for the verified devices. + */ + public boolean isRoomBlacklistUnverifiedDevices(String roomId) { + if (null != roomId) { + return mCryptoStore.getRoomsListBlacklistUnverifiedDevices().contains(roomId); + } else { + return false; + } + } + + /** + * Tells whether the client should encrypt messages only for the verified devices + * in this room. + * The default value is false. + * This function must be called in the getEncryptingThreadHandler() thread. + * + * @param roomId the room id + * @param callback the asynchronous callback + */ + public void isRoomBlacklistUnverifiedDevices(final String roomId, final ApiCallback callback) { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + final boolean status = isRoomBlacklistUnverifiedDevices(roomId); + + getUIHandler().post(new Runnable() { + @Override + public void run() { + if (null != callback) { + callback.onSuccess(status); + } + } + }); + } + }); + } + + /** + * Manages the room black-listing for unverified devices. + * + * @param roomId the room id + * @param add true to add the room id to the list, false to remove it. + * @param callback the asynchronous callback + */ + private void setRoomBlacklistUnverifiedDevices(final String roomId, final boolean add, final ApiCallback callback) { + final Room room = mSession.getDataHandler().getRoom(roomId); + + // sanity check + if (null == room) { + getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onSuccess(null); + } + }); + + return; + } + + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + List roomIds = mCryptoStore.getRoomsListBlacklistUnverifiedDevices(); + + if (add) { + if (!roomIds.contains(roomId)) { + roomIds.add(roomId); + } + } else { + roomIds.remove(roomId); + } + + mCryptoStore.setRoomsListBlacklistUnverifiedDevices(roomIds); + + getUIHandler().post(new Runnable() { + @Override + public void run() { + if (null != callback) { + callback.onSuccess(null); + } + } + }); + } + }); + } + + + /** + * Add this room to the ones which don't encrypt messages to unverified devices. + * + * @param roomId the room id + * @param callback the asynchronous callback + */ + public void setRoomBlacklistUnverifiedDevices(final String roomId, final ApiCallback callback) { + setRoomBlacklistUnverifiedDevices(roomId, true, callback); + } + + /** + * Remove this room to the ones which don't encrypt messages to unverified devices. + * + * @param roomId the room id + * @param callback the asynchronous callback + */ + public void setRoomUnblacklistUnverifiedDevices(final String roomId, final ApiCallback callback) { + setRoomBlacklistUnverifiedDevices(roomId, false, callback); + } + + /** + * Send a request for some room keys, if we have not already done so. + * + * @param requestBody requestBody + * @param recipients recipients + */ + public void requestRoomKey(final Map requestBody, final List> recipients) { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + mOutgoingRoomKeyRequestManager.sendRoomKeyRequest(requestBody, recipients); + } + }); + } + + /** + * Cancel any earlier room key request + * + * @param requestBody requestBody + */ + public void cancelRoomKeyRequest(final Map requestBody) { + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + mOutgoingRoomKeyRequestManager.cancelRoomKeyRequest(requestBody); + } + }); + } + + /** + * Re request the encryption keys required to decrypt an event. + * + * @param event the event to decrypt again. + */ + public void reRequestRoomKeyForEvent(@NonNull final Event event) { + if (event.getWireContent().isJsonObject()) { + JsonObject wireContent = event.getWireContent().getAsJsonObject(); + + final String algorithm = wireContent.get("algorithm").getAsString(); + final String sender_key = wireContent.get("sender_key").getAsString(); + final String session_id = wireContent.get("session_id").getAsString(); + + getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + Map requestBody = new HashMap<>(); + requestBody.put("room_id", event.roomId); + requestBody.put("algorithm", algorithm); + requestBody.put("sender_key", sender_key); + requestBody.put("session_id", session_id); + + mOutgoingRoomKeyRequestManager.resendRoomKeyRequest(requestBody); + } + }); + } + } + + /** + * Room keys events listener + */ + public interface IRoomKeysRequestListener { + /** + * An room key request has been received. + * + * @param request the request + */ + void onRoomKeyRequest(IncomingRoomKeyRequest request); + + /** + * A room key request cancellation has been received. + * + * @param request the cancellation request + */ + void onRoomKeyRequestCancellation(IncomingRoomKeyRequestCancellation request); + } + + // the listeners + public final Set mRoomKeysRequestListeners = new HashSet<>(); + + /** + * Add a IRoomKeysRequestListener listener. + * + * @param listener listener + */ + public void addRoomKeysRequestListener(IRoomKeysRequestListener listener) { + synchronized (mRoomKeysRequestListeners) { + mRoomKeysRequestListeners.add(listener); + } + } + + /** + * Add a IRoomKeysRequestListener listener. + * + * @param listener listener + */ + public void removeRoomKeysRequestListener(IRoomKeysRequestListener listener) { + synchronized (mRoomKeysRequestListeners) { + mRoomKeysRequestListeners.remove(listener); + } + } + + /** + * Dispatch onRoomKeyRequest + * + * @param request the request + */ + private void onRoomKeyRequest(IncomingRoomKeyRequest request) { + synchronized (mRoomKeysRequestListeners) { + for (IRoomKeysRequestListener listener : mRoomKeysRequestListeners) { + try { + listener.onRoomKeyRequest(request); + } catch (Exception e) { + Log.e(LOG_TAG, "## onRoomKeyRequest() failed " + e.getMessage(), e); + } + } + } + } + + + /** + * A room key request cancellation has been received. + * + * @param request the cancellation request + */ + private void onRoomKeyRequestCancellation(IncomingRoomKeyRequestCancellation request) { + synchronized (mRoomKeysRequestListeners) { + for (IRoomKeysRequestListener listener : mRoomKeysRequestListeners) { + try { + listener.onRoomKeyRequestCancellation(request); + } catch (Exception e) { + Log.e(LOG_TAG, "## onRoomKeyRequestCancellation() failed " + e.getMessage(), e); + } + } + } + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXCryptoAlgorithms.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXCryptoAlgorithms.java new file mode 100755 index 00000000..8a4c2199 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXCryptoAlgorithms.java @@ -0,0 +1,136 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto; + +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.crypto.algorithms.IMXDecrypting; +import im.vector.matrix.android.internal.legacy.crypto.algorithms.IMXEncrypting; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class MXCryptoAlgorithms { + + private static final String LOG_TAG = MXCryptoAlgorithms.class.getSimpleName(); + + /** + * Matrix algorithm tag for olm. + */ + public static final String MXCRYPTO_ALGORITHM_OLM = "m.olm.v1.curve25519-aes-sha2"; + + /** + * Matrix algorithm tag for megolm. + */ + public static final String MXCRYPTO_ALGORITHM_MEGOLM = "m.megolm.v1.aes-sha2"; + + // encryptors map + private final Map> mEncryptors; + + // decryptors map + private final Map> mDecryptors; + + // shared instance + private static MXCryptoAlgorithms mSharedInstance = null; + + /** + * @return the shared instance + */ + public static MXCryptoAlgorithms sharedAlgorithms() { + if (null == mSharedInstance) { + mSharedInstance = new MXCryptoAlgorithms(); + } + + return mSharedInstance; + } + + /** + * Constructor + */ + private MXCryptoAlgorithms() { + // encryptos + mEncryptors = new HashMap<>(); + try { + mEncryptors.put(MXCRYPTO_ALGORITHM_MEGOLM, + (Class) Class.forName("org.matrix.androidsdk.crypto.algorithms.megolm.MXMegolmEncryption")); + } catch (Exception e) { + Log.e(LOG_TAG, "## MXCryptoAlgorithms() : fails to add MXCRYPTO_ALGORITHM_MEGOLM " + e.getMessage(), e); + } + + try { + mEncryptors.put(MXCRYPTO_ALGORITHM_OLM, + (Class) Class.forName("org.matrix.androidsdk.crypto.algorithms.olm.MXOlmEncryption")); + } catch (Exception e) { + Log.e(LOG_TAG, "## MXCryptoAlgorithms() : fails to add MXCRYPTO_ALGORITHM_OLM " + e.getMessage(), e); + } + + mDecryptors = new HashMap<>(); + try { + mDecryptors.put(MXCRYPTO_ALGORITHM_MEGOLM, + (Class) Class.forName("org.matrix.androidsdk.crypto.algorithms.megolm.MXMegolmDecryption")); + } catch (Exception e) { + Log.e(LOG_TAG, "## MXCryptoAlgorithms() : fails to add MXCRYPTO_ALGORITHM_MEGOLM " + e.getMessage(), e); + } + + try { + mDecryptors.put(MXCRYPTO_ALGORITHM_OLM, + (Class) Class.forName("org.matrix.androidsdk.crypto.algorithms.olm.MXOlmDecryption")); + } catch (Exception e) { + Log.e(LOG_TAG, "## MXCryptoAlgorithms() : fails to add MXCRYPTO_ALGORITHM_OLM " + e.getMessage(), e); + } + } + + /** + * Get the class implementing encryption for the provided algorithm. + * + * @param algorithm the algorithm tag. + * @return A class implementing 'IMXEncrypting'. + */ + public Class encryptorClassForAlgorithm(String algorithm) { + if (!TextUtils.isEmpty(algorithm)) { + return mEncryptors.get(algorithm); + } else { + return null; + } + } + + /** + * Get the class implementing decryption for the provided algorithm. + * + * @param algorithm the algorithm tag. + * @return A class implementing 'IMXDecrypting'. + */ + + public Class decryptorClassForAlgorithm(String algorithm) { + if (!TextUtils.isEmpty(algorithm)) { + return mDecryptors.get(algorithm); + } else { + return null; + } + } + + /** + * @return The list of registered algorithms. + */ + public List supportedAlgorithms() { + return new ArrayList<>(mEncryptors.keySet()); + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXCryptoConfig.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXCryptoConfig.java new file mode 100644 index 00000000..f1ae3f50 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXCryptoConfig.java @@ -0,0 +1,26 @@ +/* + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.crypto; + +/** + * Class to define the parameters used to customize or configure the end-to-end crypto. + */ +public class MXCryptoConfig { + // Tell whether the encryption of the event content is enabled for the invited members. + // By default, we encrypt messages only for the joined members. + // The encryption for the invited members will be blocked if the history visibility is "joined". + public boolean mEnableEncryptionForInvitedMembers = false; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXCryptoError.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXCryptoError.java new file mode 100644 index 00000000..9c98d4e2 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXCryptoError.java @@ -0,0 +1,139 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto; + +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; + +/** + * Represents a standard error response. + */ +public class MXCryptoError extends MatrixError { + + /** + * Error codes + */ + public static final String ENCRYPTING_NOT_ENABLED_ERROR_CODE = "ENCRYPTING_NOT_ENABLED"; + public static final String UNABLE_TO_ENCRYPT_ERROR_CODE = "UNABLE_TO_ENCRYPT"; + public static final String UNABLE_TO_DECRYPT_ERROR_CODE = "UNABLE_TO_DECRYPT"; + public static final String UNKNOWN_INBOUND_SESSION_ID_ERROR_CODE = "UNKNOWN_INBOUND_SESSION_ID"; + public static final String INBOUND_SESSION_MISMATCH_ROOM_ID_ERROR_CODE = "INBOUND_SESSION_MISMATCH_ROOM_ID"; + public static final String MISSING_FIELDS_ERROR_CODE = "MISSING_FIELDS"; + public static final String MISSING_CIPHER_TEXT_ERROR_CODE = "MISSING_CIPHER_TEXT"; + public static final String NOT_INCLUDE_IN_RECIPIENTS_ERROR_CODE = "NOT_INCLUDE_IN_RECIPIENTS"; + public static final String BAD_RECIPIENT_ERROR_CODE = "BAD_RECIPIENT"; + public static final String BAD_RECIPIENT_KEY_ERROR_CODE = "BAD_RECIPIENT_KEY"; + public static final String FORWARDED_MESSAGE_ERROR_CODE = "FORWARDED_MESSAGE"; + public static final String BAD_ROOM_ERROR_CODE = "BAD_ROOM"; + public static final String BAD_ENCRYPTED_MESSAGE_ERROR_CODE = "BAD_ENCRYPTED_MESSAGE"; + public static final String DUPLICATED_MESSAGE_INDEX_ERROR_CODE = "DUPLICATED_MESSAGE_INDEX"; + public static final String MISSING_PROPERTY_ERROR_CODE = "MISSING_PROPERTY"; + public static final String OLM_ERROR_CODE = "OLM_ERROR_CODE"; + public static final String UNKNOWN_DEVICES_CODE = "UNKNOWN_DEVICES_CODE"; + + /** + * short error reasons + */ + public static final String UNABLE_TO_DECRYPT = "Unable to decrypt"; + public static final String UNABLE_TO_ENCRYPT = "Unable to encrypt"; + + /** + * Detailed error reasons + */ + public static final String ENCRYPTING_NOT_ENABLED_REASON = "Encryption not enabled"; + public static final String UNABLE_TO_ENCRYPT_REASON = "Unable to encrypt %s"; + public static final String UNABLE_TO_DECRYPT_REASON = "Unable to decrypt %1$s. Algorithm: %2$s"; + public static final String OLM_REASON = "OLM error: %1$s"; + public static final String DETAILLED_OLM_REASON = "Unable to decrypt %1$s. OLM error: %2$s"; + public static final String UNKNOWN_INBOUND_SESSION_ID_REASON = "Unknown inbound session id"; + public static final String INBOUND_SESSION_MISMATCH_ROOM_ID_REASON = "Mismatched room_id for inbound group session (expected %1$s, was %2$s)"; + public static final String MISSING_FIELDS_REASON = "Missing fields in input"; + public static final String MISSING_CIPHER_TEXT_REASON = "Missing ciphertext"; + public static final String NOT_INCLUDED_IN_RECIPIENT_REASON = "Not included in recipients"; + public static final String BAD_RECIPIENT_REASON = "Message was intended for %1$s"; + public static final String BAD_RECIPIENT_KEY_REASON = "Message not intended for this device"; + public static final String FORWARDED_MESSAGE_REASON = "Message forwarded from %1$s"; + public static final String BAD_ROOM_REASON = "Message intended for room %1$s"; + public static final String BAD_ENCRYPTED_MESSAGE_REASON = "Bad Encrypted Message"; + public static final String DUPLICATE_MESSAGE_INDEX_REASON = "Duplicate message index, possible replay attack %1$s"; + public static final String ERROR_MISSING_PROPERTY_REASON = "No '%1$s' property. Cannot prevent unknown-key attack"; + public static final String UNKNOWN_DEVICES_REASON = "This room contains unknown devices which have not been verified.\n" + + "We strongly recommend you verify them before continuing."; + public static final String NO_MORE_ALGORITHM_REASON = "Room was previously configured to use encryption, but is no longer." + + " Perhaps the homeserver is hiding the configuration event."; + + /** + * Describe the error with more details + */ + private String mDetailedErrorDescription = null; + + /** + * Data exception. + * Some exceptions provide some data to describe the exception + */ + public Object mExceptionData = null; + + /** + * Create a crypto error + * + * @param code the error code (see XX_ERROR_CODE) + * @param shortErrorDescription the short error description + * @param detailedErrorDescription the detailed error description + */ + public MXCryptoError(String code, String shortErrorDescription, String detailedErrorDescription) { + errcode = code; + error = shortErrorDescription; + mDetailedErrorDescription = detailedErrorDescription; + } + + /** + * Create a crypto error + * + * @param code the error code (see XX_ERROR_CODE) + * @param shortErrorDescription the short error description + * @param detailedErrorDescription the detailed error description + * @param exceptionData the exception data + */ + public MXCryptoError(String code, String shortErrorDescription, String detailedErrorDescription, Object exceptionData) { + errcode = code; + error = shortErrorDescription; + mDetailedErrorDescription = detailedErrorDescription; + mExceptionData = exceptionData; + } + + /** + * @return true if the current error is an olm one. + */ + public boolean isOlmError() { + return TextUtils.equals(OLM_ERROR_CODE, errcode); + } + + + /** + * @return the detailed error description + */ + public String getDetailedErrorDescription() { + if (TextUtils.isEmpty(mDetailedErrorDescription)) { + return error; + } + + return mDetailedErrorDescription; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXDecryptionException.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXDecryptionException.java new file mode 100644 index 00000000..78ab57f7 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXDecryptionException.java @@ -0,0 +1,62 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2017 Vector Creations 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto; + +/** + * This class represents a decryption exception + */ +public class MXDecryptionException extends Exception { + + /** + * Describe the decryption error. + */ + private MXCryptoError mCryptoError; + + /** + * Constructor + * + * @param cryptoError the linked crypto error + */ + public MXDecryptionException(MXCryptoError cryptoError) { + mCryptoError = cryptoError; + } + + /** + * @return the linked crypto error + */ + public MXCryptoError getCryptoError() { + return mCryptoError; + } + + @Override + public String getMessage() { + if (null != mCryptoError) { + return mCryptoError.getMessage(); + } + + return super.getMessage(); + } + + @Override + public String getLocalizedMessage() { + if (null != mCryptoError) { + return mCryptoError.getLocalizedMessage(); + } + return super.getLocalizedMessage(); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXDeviceList.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXDeviceList.java new file mode 100755 index 00000000..230cd2a5 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXDeviceList.java @@ -0,0 +1,835 @@ +/* + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto; + +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.MXPatterns; +import im.vector.matrix.android.internal.legacy.MXSession; +import im.vector.matrix.android.internal.legacy.crypto.data.MXDeviceInfo; +import im.vector.matrix.android.internal.legacy.crypto.data.MXUsersDevicesMap; +import im.vector.matrix.android.internal.legacy.data.cryptostore.IMXCryptoStore; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.KeysQueryResponse; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class MXDeviceList { + private static final String LOG_TAG = MXDeviceList.class.getSimpleName(); + + /** + * State transition diagram for DeviceList.deviceTrackingStatus + *

    + * | + * stopTrackingDeviceList V + * +---------------------> NOT_TRACKED + * | | + * +<--------------------+ | startTrackingDeviceList + * | | V + * | +-------------> PENDING_DOWNLOAD <--------------------+-+ + * | | ^ | | | + * | | restart download | | start download | | invalidateUserDeviceList + * | | client failed | | | | + * | | | V | | + * | +------------ DOWNLOAD_IN_PROGRESS -------------------+ | + * | | | | + * +<-------------------+ | download successful | + * ^ V | + * +----------------------- UP_TO_DATE ------------------------+ + **/ + + public static final int TRACKING_STATUS_NOT_TRACKED = -1; + public static final int TRACKING_STATUS_PENDING_DOWNLOAD = 1; + public static final int TRACKING_STATUS_DOWNLOAD_IN_PROGRESS = 2; + public static final int TRACKING_STATUS_UP_TO_DATE = 3; + public static final int TRACKING_STATUS_UNREACHABLE_SERVER = 4; + + // keys in progress + private final Set mUserKeyDownloadsInProgress = new HashSet<>(); + + // HS not ready for retry + private final Set mNotReadyToRetryHS = new HashSet<>(); + + // indexed by UserId + private final Map mPendingDownloadKeysRequestToken = new HashMap<>(); + + // download keys queue + class DownloadKeysPromise { + // list of remain pending device keys + final List mPendingUserIdsList; + + // the unfiltered user ids list + final List mUserIdsList; + + // the request callback + final ApiCallback> mCallback; + + /** + * Creator + * + * @param userIds the user ids list + * @param callback the asynchronous callback + */ + DownloadKeysPromise(List userIds, ApiCallback> callback) { + mPendingUserIdsList = new ArrayList<>(userIds); + mUserIdsList = new ArrayList<>(userIds); + mCallback = callback; + } + } + + // pending queues list + private final List mDownloadKeysQueues = new ArrayList<>(); + + private final MXCrypto mxCrypto; + + private final MXSession mxSession; + + private final IMXCryptoStore mCryptoStore; + + // tells if there is a download keys request in progress + private boolean mIsDownloadingKeys = false; + + /** + * Constructor + * + * @param session the session + * @param crypto the crypto session + */ + public MXDeviceList(MXSession session, MXCrypto crypto) { + mxSession = session; + mxCrypto = crypto; + mCryptoStore = crypto.getCryptoStore(); + + boolean isUpdated = false; + + Map deviceTrackingStatuses = mCryptoStore.getDeviceTrackingStatuses(); + for (String userId : deviceTrackingStatuses.keySet()) { + int status = deviceTrackingStatuses.get(userId); + + if ((TRACKING_STATUS_DOWNLOAD_IN_PROGRESS == status) || (TRACKING_STATUS_UNREACHABLE_SERVER == status)) { + // if a download was in progress when we got shut down, it isn't any more. + deviceTrackingStatuses.put(userId, TRACKING_STATUS_PENDING_DOWNLOAD); + isUpdated = true; + } + } + + if (isUpdated) { + mCryptoStore.saveDeviceTrackingStatuses(deviceTrackingStatuses); + } + } + + /** + * Tells if the key downloads should be tried + * + * @param userId the userId + * @return true if the keys download can be retrieved + */ + private boolean canRetryKeysDownload(String userId) { + boolean res = false; + + if (!TextUtils.isEmpty(userId) && userId.contains(":")) { + try { + synchronized (mNotReadyToRetryHS) { + res = !mNotReadyToRetryHS.contains(userId.substring(userId.lastIndexOf(":") + 1)); + } + } catch (Exception e) { + Log.e(LOG_TAG, "## canRetryKeysDownload() failed : " + e.getMessage(), e); + } + } + + return res; + } + + /** + * Add a download keys promise + * + * @param userIds the user ids list + * @param callback the asynchronous callback + * @return the filtered user ids list i.e the one which require a remote request + */ + private List addDownloadKeysPromise(List userIds, ApiCallback> callback) { + if (null != userIds) { + List filteredUserIds = new ArrayList<>(); + List invalidUserIds = new ArrayList<>(); + + for (String userId : userIds) { + if (MXPatterns.isUserId(userId)) { + filteredUserIds.add(userId); + } else { + Log.e(LOG_TAG, "## userId " + userId + "is not a valid user id"); + invalidUserIds.add(userId); + } + } + + synchronized (mUserKeyDownloadsInProgress) { + filteredUserIds.removeAll(mUserKeyDownloadsInProgress); + mUserKeyDownloadsInProgress.addAll(userIds); + // got some email addresses instead of matrix ids + mUserKeyDownloadsInProgress.removeAll(invalidUserIds); + userIds.removeAll(invalidUserIds); + } + + mDownloadKeysQueues.add(new DownloadKeysPromise(userIds, callback)); + + return filteredUserIds; + } else { + return null; + } + } + + /** + * Clear the unavailable server lists + */ + private void clearUnavailableServersList() { + synchronized (mNotReadyToRetryHS) { + mNotReadyToRetryHS.clear(); + } + } + + /** + * Mark the cached device list for the given user outdated + * flag the given user for device-list tracking, if they are not already. + * + * @param userIds the user ids list + */ + public void startTrackingDeviceList(List userIds) { + if (null != userIds) { + boolean isUpdated = false; + Map deviceTrackingStatuses = mCryptoStore.getDeviceTrackingStatuses(); + + for (String userId : userIds) { + if (!deviceTrackingStatuses.containsKey(userId) || (TRACKING_STATUS_NOT_TRACKED == deviceTrackingStatuses.get(userId))) { + Log.d(LOG_TAG, "## startTrackingDeviceList() : Now tracking device list for " + userId); + deviceTrackingStatuses.put(userId, TRACKING_STATUS_PENDING_DOWNLOAD); + isUpdated = true; + } + } + + if (isUpdated) { + mCryptoStore.saveDeviceTrackingStatuses(deviceTrackingStatuses); + } + } + } + + /** + * Update the devices list statuses + * + * @param changed the user ids list which have new devices + * @param left the user ids list which left a room + */ + public void handleDeviceListsChanges(List changed, List left) { + boolean isUpdated = false; + Map deviceTrackingStatuses = mCryptoStore.getDeviceTrackingStatuses(); + + if ((null != changed) && (0 != changed.size())) { + clearUnavailableServersList(); + + for (String userId : changed) { + if (deviceTrackingStatuses.containsKey(userId)) { + Log.d(LOG_TAG, "## invalidateUserDeviceList() : Marking device list outdated for " + userId); + deviceTrackingStatuses.put(userId, TRACKING_STATUS_PENDING_DOWNLOAD); + isUpdated = true; + } + } + } + + if ((null != left) && (0 != left.size())) { + clearUnavailableServersList(); + + for (String userId : left) { + if (deviceTrackingStatuses.containsKey(userId)) { + Log.d(LOG_TAG, "## invalidateUserDeviceList() : No longer tracking device list for " + userId); + deviceTrackingStatuses.put(userId, TRACKING_STATUS_NOT_TRACKED); + isUpdated = true; + } + } + } + + if (isUpdated) { + mCryptoStore.saveDeviceTrackingStatuses(deviceTrackingStatuses); + } + } + + /** + * This will flag each user whose devices we are tracking as in need of an + * + update + */ + public void invalidateAllDeviceLists() { + handleDeviceListsChanges(new ArrayList<>(mCryptoStore.getDeviceTrackingStatuses().keySet()), null); + } + + /** + * The keys download failed + * + * @param userIds the user ids list + */ + private void onKeysDownloadFailed(final List userIds) { + if (null != userIds) { + synchronized (mUserKeyDownloadsInProgress) { + Map deviceTrackingStatuses = mCryptoStore.getDeviceTrackingStatuses(); + + for (String userId : userIds) { + mUserKeyDownloadsInProgress.remove(userId); + deviceTrackingStatuses.put(userId, TRACKING_STATUS_PENDING_DOWNLOAD); + } + + mCryptoStore.saveDeviceTrackingStatuses(deviceTrackingStatuses); + } + } + + mIsDownloadingKeys = false; + } + + /** + * The keys download succeeded. + * + * @param userIds the userIds list + * @param failures the failure map. + */ + private void onKeysDownloadSucceed(List userIds, Map> failures) { + if (null != failures) { + Set keys = failures.keySet(); + + for (String k : keys) { + Map value = failures.get(k); + + if (value.containsKey("status")) { + Object statusCodeAsVoid = value.get("status"); + int statusCode = 0; + + if (statusCodeAsVoid instanceof Double) { + statusCode = ((Double) statusCodeAsVoid).intValue(); + } else if (statusCodeAsVoid instanceof Integer) { + statusCode = ((Integer) statusCodeAsVoid).intValue(); + } + + if (statusCode == 503) { + synchronized (mNotReadyToRetryHS) { + mNotReadyToRetryHS.add(k); + } + } + } + } + } + + Map deviceTrackingStatuses = mCryptoStore.getDeviceTrackingStatuses(); + + if (null != userIds) { + if (mDownloadKeysQueues.size() > 0) { + List promisesToRemove = new ArrayList<>(); + + for (DownloadKeysPromise promise : mDownloadKeysQueues) { + promise.mPendingUserIdsList.removeAll(userIds); + + if (promise.mPendingUserIdsList.size() == 0) { + // private members + final MXUsersDevicesMap usersDevicesInfoMap = new MXUsersDevicesMap<>(); + + for (String userId : promise.mUserIdsList) { + Map devices = mCryptoStore.getUserDevices(userId); + if (null == devices) { + if (canRetryKeysDownload(userId)) { + deviceTrackingStatuses.put(userId, TRACKING_STATUS_PENDING_DOWNLOAD); + Log.e(LOG_TAG, "failed to retry the devices of " + userId + " : retry later"); + } else { + if (deviceTrackingStatuses.containsKey(userId) + && (TRACKING_STATUS_DOWNLOAD_IN_PROGRESS == deviceTrackingStatuses.get(userId))) { + deviceTrackingStatuses.put(userId, TRACKING_STATUS_UNREACHABLE_SERVER); + Log.e(LOG_TAG, "failed to retry the devices of " + userId + " : the HS is not available"); + } + } + } else { + if (deviceTrackingStatuses.containsKey(userId) + && (TRACKING_STATUS_DOWNLOAD_IN_PROGRESS == deviceTrackingStatuses.get(userId))) { + // we didn't get any new invalidations since this download started: + // this user's device list is now up to date. + deviceTrackingStatuses.put(userId, TRACKING_STATUS_UP_TO_DATE); + Log.d(LOG_TAG, "Device list for " + userId + " now up to date"); + } + + // And the response result + usersDevicesInfoMap.setObjects(devices, userId); + } + } + + if (!mxCrypto.hasBeenReleased()) { + final ApiCallback> callback = promise.mCallback; + + if (null != callback) { + mxCrypto.getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onSuccess(usersDevicesInfoMap); + } + }); + } + } + promisesToRemove.add(promise); + } + } + mDownloadKeysQueues.removeAll(promisesToRemove); + } + + for (String userId : userIds) { + mUserKeyDownloadsInProgress.remove(userId); + } + + mCryptoStore.saveDeviceTrackingStatuses(deviceTrackingStatuses); + } + + mIsDownloadingKeys = false; + } + + /** + * Download the device keys for a list of users and stores the keys in the MXStore. + * It must be called in getEncryptingThreadHandler() thread. + * The callback is called in the UI thread. + * + * @param userIds The users to fetch. + * @param forceDownload Always download the keys even if cached. + * @param callback the asynchronous callback + */ + public void downloadKeys(List userIds, boolean forceDownload, final ApiCallback> callback) { + Log.d(LOG_TAG, "## downloadKeys() : forceDownload " + forceDownload + " : " + userIds); + + // Map from userid -> deviceid -> DeviceInfo + final MXUsersDevicesMap stored = new MXUsersDevicesMap<>(); + + // List of user ids we need to download keys for + final List downloadUsers = new ArrayList<>(); + + if (null != userIds) { + if (forceDownload) { + downloadUsers.addAll(userIds); + } else { + for (String userId : userIds) { + Integer status = mCryptoStore.getDeviceTrackingStatus(userId, TRACKING_STATUS_NOT_TRACKED); + + // downloading keys ->the keys download won't be triggered twice but the callback requires the dedicated keys + // not yet retrieved + if (mUserKeyDownloadsInProgress.contains(userId) + || ((TRACKING_STATUS_UP_TO_DATE != status) && (TRACKING_STATUS_UNREACHABLE_SERVER != status))) { + downloadUsers.add(userId); + } else { + Map devices = mCryptoStore.getUserDevices(userId); + + // should always be true + if (null != devices) { + stored.setObjects(devices, userId); + } else { + downloadUsers.add(userId); + } + } + } + } + } + + if (0 == downloadUsers.size()) { + Log.d(LOG_TAG, "## downloadKeys() : no new user device"); + + if (null != callback) { + mxCrypto.getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onSuccess(stored); + } + }); + } + } else { + Log.d(LOG_TAG, "## downloadKeys() : starts"); + final long t0 = System.currentTimeMillis(); + + doKeyDownloadForUsers(downloadUsers, new ApiCallback>() { + public void onSuccess(MXUsersDevicesMap usersDevicesInfoMap) { + Log.d(LOG_TAG, "## downloadKeys() : doKeyDownloadForUsers succeeds after " + (System.currentTimeMillis() - t0) + " ms"); + + usersDevicesInfoMap.addEntriesFromMap(stored); + + if (null != callback) { + callback.onSuccess(usersDevicesInfoMap); + } + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## downloadKeys() : doKeyDownloadForUsers onNetworkError " + e.getMessage(), e); + if (null != callback) { + callback.onNetworkError(e); + } + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## downloadKeys() : doKeyDownloadForUsers onMatrixError " + e.getMessage()); + if (null != callback) { + callback.onMatrixError(e); + } + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## downloadKeys() : doKeyDownloadForUsers onUnexpectedError " + e.getMessage(), e); + if (null != callback) { + callback.onUnexpectedError(e); + } + } + }); + } + } + + /** + * Download the devices keys for a set of users. + * It must be called in getEncryptingThreadHandler() thread. + * The callback is called in the UI thread. + * + * @param downloadUsers the user ids list + * @param callback the asynchronous callback + */ + private void doKeyDownloadForUsers(final List downloadUsers, final ApiCallback> callback) { + Log.d(LOG_TAG, "## doKeyDownloadForUsers() : doKeyDownloadForUsers " + downloadUsers); + + // get the user ids which did not already trigger a keys download + final List filteredUsers = addDownloadKeysPromise(downloadUsers, callback); + + // if there is no new keys request + if (0 == filteredUsers.size()) { + // trigger nothing + return; + } + + // sanity check + if ((null == mxSession.getDataHandler()) || (null == mxSession.getDataHandler().getStore())) { + return; + } + + mIsDownloadingKeys = true; + + // track the race condition while sending requests + // we defines a tag for each request + // and test if the response is the latest request one + final String downloadToken = filteredUsers.hashCode() + " " + System.currentTimeMillis(); + + for (String userId : filteredUsers) { + mPendingDownloadKeysRequestToken.put(userId, downloadToken); + } + + mxSession.getCryptoRestClient() + .downloadKeysForUsers(filteredUsers, mxSession.getDataHandler().getStore().getEventStreamToken(), new ApiCallback() { + @Override + public void onSuccess(final KeysQueryResponse keysQueryResponse) { + mxCrypto.getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + Log.d(LOG_TAG, "## doKeyDownloadForUsers() : Got keys for " + filteredUsers.size() + " users"); + MXDeviceInfo myDevice = mxCrypto.getMyDevice(); + IMXCryptoStore cryptoStore = mxCrypto.getCryptoStore(); + + List userIdsList = new ArrayList<>(filteredUsers); + + for (String userId : userIdsList) { + // test if the response is the latest request one + if (!TextUtils.equals(mPendingDownloadKeysRequestToken.get(userId), downloadToken)) { + Log.e(LOG_TAG, "## doKeyDownloadForUsers() : Another update in the queue for " + + userId + " not marking up-to-date"); + filteredUsers.remove(userId); + } else { + Map devices = keysQueryResponse.deviceKeys.get(userId); + + Log.d(LOG_TAG, "## doKeyDownloadForUsers() : Got keys for " + userId + " : " + devices); + + if (null != devices) { + Map mutableDevices = new HashMap<>(devices); + List deviceIds = new ArrayList<>(mutableDevices.keySet()); + + for (String deviceId : deviceIds) { + // the user has been logged out + if (null == cryptoStore) { + break; + } + + // Get the potential previously store device keys for this device + MXDeviceInfo previouslyStoredDeviceKeys = cryptoStore.getUserDevice(deviceId, userId); + MXDeviceInfo deviceInfo = mutableDevices.get(deviceId); + + // in some race conditions (like unit tests) + // the self device must be seen as verified + if (TextUtils.equals(deviceInfo.deviceId, myDevice.deviceId) + && TextUtils.equals(userId, myDevice.userId)) { + deviceInfo.mVerified = MXDeviceInfo.DEVICE_VERIFICATION_VERIFIED; + } + + // Validate received keys + if (!validateDeviceKeys(deviceInfo, userId, deviceId, previouslyStoredDeviceKeys)) { + // New device keys are not valid. Do not store them + mutableDevices.remove(deviceId); + + if (null != previouslyStoredDeviceKeys) { + // But keep old validated ones if any + mutableDevices.put(deviceId, previouslyStoredDeviceKeys); + } + } else if (null != previouslyStoredDeviceKeys) { + // The verified status is not sync'ed with hs. + // This is a client side information, valid only for this client. + // So, transfer its previous value + mutableDevices.get(deviceId).mVerified = previouslyStoredDeviceKeys.mVerified; + } + } + + // Update the store + // Note that devices which aren't in the response will be removed from the stores + cryptoStore.storeUserDevices(userId, mutableDevices); + } + + // the response is the latest request one + mPendingDownloadKeysRequestToken.remove(userId); + } + } + + onKeysDownloadSucceed(filteredUsers, keysQueryResponse.failures); + } + }); + } + + private void onFailed() { + mxCrypto.getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + List userIdsList = new ArrayList<>(filteredUsers); + + // test if the response is the latest request one + for (String userId : userIdsList) { + if (!TextUtils.equals(mPendingDownloadKeysRequestToken.get(userId), downloadToken)) { + Log.e(LOG_TAG, "## doKeyDownloadForUsers() : Another update in the queue for " + userId + " not marking up-to-date"); + filteredUsers.remove(userId); + } else { + // the response is the latest request one + mPendingDownloadKeysRequestToken.remove(userId); + } + } + + onKeysDownloadFailed(filteredUsers); + } + }); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "##doKeyDownloadForUsers() : onNetworkError " + e.getMessage(), e); + + onFailed(); + + if (null != callback) { + callback.onNetworkError(e); + } + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "##doKeyDownloadForUsers() : onMatrixError " + e.getMessage()); + + onFailed(); + + if (null != callback) { + callback.onMatrixError(e); + } + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "##doKeyDownloadForUsers() : onUnexpectedError " + e.getMessage(), e); + + onFailed(); + + if (null != callback) { + callback.onUnexpectedError(e); + } + } + }); + } + + /** + * Validate device keys. + * This method must called on getEncryptingThreadHandler() thread. + * + * @param deviceKeys the device keys to validate. + * @param userId the id of the user of the device. + * @param deviceId the id of the device. + * @param previouslyStoredDeviceKeys the device keys we received before for this device + * @return true if succeeds + */ + private boolean validateDeviceKeys(MXDeviceInfo deviceKeys, String userId, String deviceId, MXDeviceInfo previouslyStoredDeviceKeys) { + if (null == deviceKeys) { + Log.e(LOG_TAG, "## validateDeviceKeys() : deviceKeys is null from " + userId + ":" + deviceId); + return false; + } + + if (null == deviceKeys.keys) { + Log.e(LOG_TAG, "## validateDeviceKeys() : deviceKeys.keys is null from " + userId + ":" + deviceId); + return false; + } + + if (null == deviceKeys.signatures) { + Log.e(LOG_TAG, "## validateDeviceKeys() : deviceKeys.signatures is null from " + userId + ":" + deviceId); + return false; + } + + // Check that the user_id and device_id in the received deviceKeys are correct + if (!TextUtils.equals(deviceKeys.userId, userId)) { + Log.e(LOG_TAG, "## validateDeviceKeys() : Mismatched user_id " + deviceKeys.userId + " from " + userId + ":" + deviceId); + return false; + } + + if (!TextUtils.equals(deviceKeys.deviceId, deviceId)) { + Log.e(LOG_TAG, "## validateDeviceKeys() : Mismatched device_id " + deviceKeys.deviceId + " from " + userId + ":" + deviceId); + return false; + } + + String signKeyId = "ed25519:" + deviceKeys.deviceId; + String signKey = deviceKeys.keys.get(signKeyId); + + if (null == signKey) { + Log.e(LOG_TAG, "## validateDeviceKeys() : Device " + userId + ":" + deviceKeys.deviceId + " has no ed25519 key"); + return false; + } + + Map signatureMap = deviceKeys.signatures.get(userId); + + if (null == signatureMap) { + Log.e(LOG_TAG, "## validateDeviceKeys() : Device " + userId + ":" + deviceKeys.deviceId + " has no map for " + userId); + return false; + } + + String signature = signatureMap.get(signKeyId); + + if (null == signature) { + Log.e(LOG_TAG, "## validateDeviceKeys() : Device " + userId + ":" + deviceKeys.deviceId + " is not signed"); + return false; + } + + boolean isVerified = false; + String errorMessage = null; + + try { + mxCrypto.getOlmDevice().verifySignature(signKey, deviceKeys.signalableJSONDictionary(), signature); + isVerified = true; + } catch (Exception e) { + errorMessage = e.getMessage(); + } + + if (!isVerified) { + Log.e(LOG_TAG, "## validateDeviceKeys() : Unable to verify signature on device " + userId + ":" + + deviceKeys.deviceId + " with error " + errorMessage); + return false; + } + + if (null != previouslyStoredDeviceKeys) { + if (!TextUtils.equals(previouslyStoredDeviceKeys.fingerprint(), signKey)) { + // This should only happen if the list has been MITMed; we are + // best off sticking with the original keys. + // + // Should we warn the user about it somehow? + Log.e(LOG_TAG, "## validateDeviceKeys() : WARNING:Ed25519 key for device " + userId + ":" + + deviceKeys.deviceId + " has changed : " + + previouslyStoredDeviceKeys.fingerprint() + " -> " + signKey); + + Log.e(LOG_TAG, "## validateDeviceKeys() : " + previouslyStoredDeviceKeys + " -> " + deviceKeys); + Log.e(LOG_TAG, "## validateDeviceKeys() : " + previouslyStoredDeviceKeys.keys + " -> " + deviceKeys.keys); + + return false; + } + } + + return true; + } + + /** + * Start device queries for any users who sent us an m.new_device recently + * This method must be called on getEncryptingThreadHandler() thread. + */ + public void refreshOutdatedDeviceLists() { + final List users = new ArrayList<>(); + + Map deviceTrackingStatuses = mCryptoStore.getDeviceTrackingStatuses(); + + for (String userId : deviceTrackingStatuses.keySet()) { + if (TRACKING_STATUS_PENDING_DOWNLOAD == deviceTrackingStatuses.get(userId)) { + users.add(userId); + } + } + + if (users.size() == 0) { + return; + } + + if (mIsDownloadingKeys) { + // request already in progress - do nothing. (We will automatically + // make another request if there are more users with outdated + // device lists when the current request completes). + return; + } + + // update the statuses + for (String userId : users) { + Integer status = deviceTrackingStatuses.get(userId); + + if ((null != status) && (TRACKING_STATUS_PENDING_DOWNLOAD == status)) { + deviceTrackingStatuses.put(userId, TRACKING_STATUS_DOWNLOAD_IN_PROGRESS); + } + } + + mCryptoStore.saveDeviceTrackingStatuses(deviceTrackingStatuses); + + doKeyDownloadForUsers(users, new ApiCallback>() { + @Override + public void onSuccess(final MXUsersDevicesMap response) { + mxCrypto.getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + Log.d(LOG_TAG, "## refreshOutdatedDeviceLists() : done"); + } + }); + } + + private void onError(String error) { + Log.e(LOG_TAG, "## refreshOutdatedDeviceLists() : ERROR updating device keys for users " + users + " : " + error); + } + + @Override + public void onNetworkError(final Exception e) { + onError(e.getMessage()); + } + + @Override + public void onMatrixError(final MatrixError e) { + onError(e.getMessage()); + } + + @Override + public void onUnexpectedError(final Exception e) { + onError(e.getMessage()); + } + }); + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXEncryptedAttachments.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXEncryptedAttachments.java new file mode 100755 index 00000000..cd8e736c --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXEncryptedAttachments.java @@ -0,0 +1,270 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto; + +import android.text.TextUtils; +import android.util.Base64; + +import im.vector.matrix.android.internal.legacy.rest.model.crypto.EncryptedFileInfo; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.EncryptedFileKey; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.io.Serializable; +import java.security.MessageDigest; +import java.security.SecureRandom; +import java.util.Arrays; +import java.util.HashMap; + +import javax.crypto.Cipher; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; + +public class MXEncryptedAttachments implements Serializable { + private static final String LOG_TAG = MXEncryptedAttachments.class.getSimpleName(); + + private static final int CRYPTO_BUFFER_SIZE = 32 * 1024; + private static final String CIPHER_ALGORITHM = "AES/CTR/NoPadding"; + private static final String SECRET_KEY_SPEC_ALGORITHM = "AES"; + private static final String MESSAGE_DIGEST_ALGORITHM = "SHA-256"; + + /** + * Define the result of an encryption file + */ + public static class EncryptionResult { + public EncryptedFileInfo mEncryptedFileInfo; + public InputStream mEncryptedStream; + + public EncryptionResult() { + } + } + + /*** + * Encrypt an attachment stream. + * @param attachmentStream the attachment stream + * @param mimetype the mime type + * @return the encryption file info + */ + public static EncryptionResult encryptAttachment(InputStream attachmentStream, String mimetype) { + long t0 = System.currentTimeMillis(); + SecureRandom secureRandom = new SecureRandom(); + + // generate a random iv key + // Half of the IV is random, the lower order bits are zeroed + // such that the counter never wraps. + // See https://github.com/matrix-org/matrix-ios-kit/blob/3dc0d8e46b4deb6669ed44f72ad79be56471354c/MatrixKit/Models/Room/MXEncryptedAttachments.m#L75 + byte[] initVectorBytes = new byte[16]; + Arrays.fill(initVectorBytes, (byte) 0); + + byte[] ivRandomPart = new byte[8]; + secureRandom.nextBytes(ivRandomPart); + + System.arraycopy(ivRandomPart, 0, initVectorBytes, 0, ivRandomPart.length); + + byte[] key = new byte[32]; + secureRandom.nextBytes(key); + + ByteArrayOutputStream outStream = new ByteArrayOutputStream(); + + try { + Cipher encryptCipher = Cipher.getInstance(CIPHER_ALGORITHM); + SecretKeySpec secretKeySpec = new SecretKeySpec(key, SECRET_KEY_SPEC_ALGORITHM); + IvParameterSpec ivParameterSpec = new IvParameterSpec(initVectorBytes); + encryptCipher.init(Cipher.ENCRYPT_MODE, secretKeySpec, ivParameterSpec); + + MessageDigest messageDigest = MessageDigest.getInstance(MESSAGE_DIGEST_ALGORITHM); + + byte[] data = new byte[CRYPTO_BUFFER_SIZE]; + int read; + byte[] encodedBytes; + + while (-1 != (read = attachmentStream.read(data))) { + encodedBytes = encryptCipher.update(data, 0, read); + messageDigest.update(encodedBytes, 0, encodedBytes.length); + outStream.write(encodedBytes); + } + + // encrypt the latest chunk + encodedBytes = encryptCipher.doFinal(); + messageDigest.update(encodedBytes, 0, encodedBytes.length); + outStream.write(encodedBytes); + + EncryptionResult result = new EncryptionResult(); + result.mEncryptedFileInfo = new EncryptedFileInfo(); + result.mEncryptedFileInfo.key = new EncryptedFileKey(); + result.mEncryptedFileInfo.mimetype = mimetype; + result.mEncryptedFileInfo.key.alg = "A256CTR"; + result.mEncryptedFileInfo.key.ext = true; + result.mEncryptedFileInfo.key.key_ops = Arrays.asList("encrypt", "decrypt"); + result.mEncryptedFileInfo.key.kty = "oct"; + result.mEncryptedFileInfo.key.k = base64ToBase64Url(Base64.encodeToString(key, Base64.DEFAULT)); + result.mEncryptedFileInfo.iv = Base64.encodeToString(initVectorBytes, Base64.DEFAULT).replace("\n", "").replace("=", ""); + result.mEncryptedFileInfo.v = "v2"; + + result.mEncryptedFileInfo.hashes = new HashMap<>(); + result.mEncryptedFileInfo.hashes.put("sha256", base64ToUnpaddedBase64(Base64.encodeToString(messageDigest.digest(), Base64.DEFAULT))); + + result.mEncryptedStream = new ByteArrayInputStream(outStream.toByteArray()); + outStream.close(); + + Log.d(LOG_TAG, "Encrypt in " + (System.currentTimeMillis() - t0) + " ms"); + return result; + } catch (OutOfMemoryError oom) { + Log.e(LOG_TAG, "## encryptAttachment failed " + oom.getMessage(), oom); + } catch (Exception e) { + Log.e(LOG_TAG, "## encryptAttachment failed " + e.getMessage(), e); + } + + try { + outStream.close(); + } catch (Exception e) { + Log.e(LOG_TAG, "## encryptAttachment() : fail to close outStream", e); + } + + return null; + } + + /** + * Decrypt an attachment + * + * @param attachmentStream the attachment stream + * @param encryptedFileInfo the encryption file info + * @return the decrypted attachment stream + */ + public static InputStream decryptAttachment(InputStream attachmentStream, EncryptedFileInfo encryptedFileInfo) { + // sanity checks + if ((null == attachmentStream) || (null == encryptedFileInfo)) { + Log.e(LOG_TAG, "## decryptAttachment() : null parameters"); + return null; + } + + if (TextUtils.isEmpty(encryptedFileInfo.iv) + || (null == encryptedFileInfo.key) + || (null == encryptedFileInfo.hashes) + || !encryptedFileInfo.hashes.containsKey("sha256")) { + Log.e(LOG_TAG, "## decryptAttachment() : some fields are not defined"); + return null; + } + + if (!TextUtils.equals(encryptedFileInfo.key.alg, "A256CTR") + || !TextUtils.equals(encryptedFileInfo.key.kty, "oct") + || TextUtils.isEmpty(encryptedFileInfo.key.k)) { + Log.e(LOG_TAG, "## decryptAttachment() : invalid key fields"); + return null; + } + + // detect if there is no data to decrypt + try { + if (0 == attachmentStream.available()) { + return new ByteArrayInputStream(new byte[0]); + } + } catch (Exception e) { + Log.e(LOG_TAG, "Fail to retrieve the file size", e); + } + + long t0 = System.currentTimeMillis(); + + ByteArrayOutputStream outStream = new ByteArrayOutputStream(); + + try { + byte[] key = Base64.decode(base64UrlToBase64(encryptedFileInfo.key.k), Base64.DEFAULT); + byte[] initVectorBytes = Base64.decode(encryptedFileInfo.iv, Base64.DEFAULT); + + Cipher decryptCipher = Cipher.getInstance(CIPHER_ALGORITHM); + SecretKeySpec secretKeySpec = new SecretKeySpec(key, SECRET_KEY_SPEC_ALGORITHM); + IvParameterSpec ivParameterSpec = new IvParameterSpec(initVectorBytes); + decryptCipher.init(Cipher.DECRYPT_MODE, secretKeySpec, ivParameterSpec); + + MessageDigest messageDigest = MessageDigest.getInstance(MESSAGE_DIGEST_ALGORITHM); + + int read; + byte[] data = new byte[CRYPTO_BUFFER_SIZE]; + byte[] decodedBytes; + + while (-1 != (read = attachmentStream.read(data))) { + messageDigest.update(data, 0, read); + decodedBytes = decryptCipher.update(data, 0, read); + outStream.write(decodedBytes); + } + + // decrypt the last chunk + decodedBytes = decryptCipher.doFinal(); + outStream.write(decodedBytes); + + String currentDigestValue = base64ToUnpaddedBase64(Base64.encodeToString(messageDigest.digest(), Base64.DEFAULT)); + + if (!TextUtils.equals(encryptedFileInfo.hashes.get("sha256"), currentDigestValue)) { + Log.e(LOG_TAG, "## decryptAttachment() : Digest value mismatch"); + outStream.close(); + return null; + } + + InputStream decryptedStream = new ByteArrayInputStream(outStream.toByteArray()); + outStream.close(); + + Log.d(LOG_TAG, "Decrypt in " + (System.currentTimeMillis() - t0) + " ms"); + + return decryptedStream; + } catch (OutOfMemoryError oom) { + Log.e(LOG_TAG, "## decryptAttachment() : failed " + oom.getMessage(), oom); + } catch (Exception e) { + Log.e(LOG_TAG, "## decryptAttachment() : failed " + e.getMessage(), e); + } + + try { + outStream.close(); + } catch (Exception closeException) { + Log.e(LOG_TAG, "## decryptAttachment() : fail to close the file", closeException); + } + + return null; + } + + /** + * Base64 URL conversion methods + */ + + private static String base64UrlToBase64(String base64Url) { + if (null != base64Url) { + base64Url = base64Url.replaceAll("-", "+"); + base64Url = base64Url.replaceAll("_", "/"); + } + + return base64Url; + } + + private static String base64ToBase64Url(String base64) { + if (null != base64) { + base64 = base64.replaceAll("\n", ""); + base64 = base64.replaceAll("\\+", "-"); + base64 = base64.replaceAll("/", "_"); + base64 = base64.replaceAll("=", ""); + } + return base64; + } + + private static String base64ToUnpaddedBase64(String base64) { + if (null != base64) { + base64 = base64.replaceAll("\n", ""); + base64 = base64.replaceAll("=", ""); + } + + return base64; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXEventDecryptionResult.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXEventDecryptionResult.java new file mode 100644 index 00000000..f2759c55 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXEventDecryptionResult.java @@ -0,0 +1,52 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2017 Vector Creations 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto; + +import com.google.gson.JsonElement; + +import java.util.ArrayList; +import java.util.List; + +/** + * The result of a (successful) call to decryptEvent. + */ +public class MXEventDecryptionResult { + + /** + * The plaintext payload for the event (typically containing "type" and "content" fields). + */ + public JsonElement mClearEvent; + + /** + * Key owned by the sender of this event. + * See MXEvent.senderKey. + */ + public String mSenderCurve25519Key; + + /** + * Ed25519 key claimed by the sender of this event. + * See MXEvent.claimedEd25519Key. + */ + public String mClaimedEd25519Key; + + /** + * List of curve25519 keys involved in telling us about the senderCurve25519Key and + * claimedEd25519Key. See MXEvent.forwardingCurve25519KeyChain. + */ + public List mForwardingCurve25519KeyChain = new ArrayList<>(); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXMegolmExportEncryption.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXMegolmExportEncryption.java new file mode 100755 index 00000000..beb1b5df --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXMegolmExportEncryption.java @@ -0,0 +1,370 @@ +/* + * Copyright 2017 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto; + +import android.text.TextUtils; +import android.util.Base64; + +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.io.ByteArrayOutputStream; +import java.security.SecureRandom; +import java.util.Arrays; + +import javax.crypto.Cipher; +import javax.crypto.Mac; +import javax.crypto.SecretKey; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; + +/** + * Utility class to import/export the crypto data + */ +public class MXMegolmExportEncryption { + private static final String LOG_TAG = MXMegolmExportEncryption.class.getSimpleName(); + + private static final String HEADER_LINE = "-----BEGIN MEGOLM SESSION DATA-----"; + private static final String TRAILER_LINE = "-----END MEGOLM SESSION DATA-----"; + // we split into lines before base64ing, because encodeBase64 doesn't deal + // terribly well with large arrays. + private static final int LINE_LENGTH = (72 * 4 / 3); + + // default iteration count to export the e2e keys + public static final int DEFAULT_ITERATION_COUNT = 500000; + + /** + * Convert a signed byte to a int value + * + * @param bVal the byte value to convert + * @return the matched int value + */ + private static int byteToInt(byte bVal) { + return bVal & 0xFF; + } + + /** + * Extract the AES key from the deriveKeys result. + * + * @param keyBits the deriveKeys result. + * @return the AES key + */ + private static byte[] getAesKey(byte[] keyBits) { + return Arrays.copyOfRange(keyBits, 0, 32); + } + + /** + * Extract the Hmac key from the deriveKeys result. + * + * @param keyBits the deriveKeys result. + * @return the Hmac key. + */ + private static byte[] getHmacKey(byte[] keyBits) { + return Arrays.copyOfRange(keyBits, 32, keyBits.length); + } + + /** + * Decrypt a megolm key file + * + * @param data the data to decrypt + * @param password the password. + * @return the decrypted output. + * @throws Exception the failure reason + */ + public static String decryptMegolmKeyFile(byte[] data, String password) throws Exception { + byte[] body = unpackMegolmKeyFile(data); + + // check we have a version byte + if ((null == body) || (body.length == 0)) { + Log.e(LOG_TAG, "## decryptMegolmKeyFile() : Invalid file: too short"); + throw new Exception("Invalid file: too short"); + } + + byte version = body[0]; + if (version != 1) { + Log.e(LOG_TAG, "## decryptMegolmKeyFile() : Invalid file: too short"); + throw new Exception("Unsupported version"); + } + + int ciphertextLength = body.length - (1 + 16 + 16 + 4 + 32); + if (ciphertextLength < 0) { + throw new Exception("Invalid file: too short"); + } + + if (TextUtils.isEmpty(password)) { + throw new Exception("Empty password is not supported"); + } + + byte[] salt = Arrays.copyOfRange(body, 1, 1 + 16); + byte[] iv = Arrays.copyOfRange(body, 17, 17 + 16); + int iterations = byteToInt(body[33]) << 24 | byteToInt(body[34]) << 16 | byteToInt(body[35]) << 8 | byteToInt(body[36]); + byte[] ciphertext = Arrays.copyOfRange(body, 37, 37 + ciphertextLength); + byte[] hmac = Arrays.copyOfRange(body, body.length - 32, body.length); + + byte[] deriveKey = deriveKeys(salt, iterations, password); + + byte[] toVerify = Arrays.copyOfRange(body, 0, body.length - 32); + + SecretKey macKey = new SecretKeySpec(getHmacKey(deriveKey), "HmacSHA256"); + Mac mac = Mac.getInstance("HmacSHA256"); + mac.init(macKey); + byte[] digest = mac.doFinal(toVerify); + + if (!Arrays.equals(hmac, digest)) { + Log.e(LOG_TAG, "## decryptMegolmKeyFile() : Authentication check failed: incorrect password?"); + throw new Exception("Authentication check failed: incorrect password?"); + } + + Cipher decryptCipher = Cipher.getInstance("AES/CTR/NoPadding"); + + SecretKeySpec secretKeySpec = new SecretKeySpec(getAesKey(deriveKey), "AES"); + IvParameterSpec ivParameterSpec = new IvParameterSpec(iv); + decryptCipher.init(Cipher.DECRYPT_MODE, secretKeySpec, ivParameterSpec); + + ByteArrayOutputStream outStream = new ByteArrayOutputStream(); + outStream.write(decryptCipher.update(ciphertext)); + outStream.write(decryptCipher.doFinal()); + + String decodedString = new String(outStream.toByteArray(), "UTF-8"); + outStream.close(); + + return decodedString; + } + + /** + * Encrypt a string into the megolm export format. + * + * @param data the data to encrypt. + * @param password the password + * @return the encrypted data + * @throws Exception the failure reason + */ + public static byte[] encryptMegolmKeyFile(String data, String password) throws Exception { + return encryptMegolmKeyFile(data, password, DEFAULT_ITERATION_COUNT); + } + + /** + * Encrypt a string into the megolm export format. + * + * @param data the data to encrypt. + * @param password the password + * @param kdf_rounds the iteration count + * @return the encrypted data + * @throws Exception the failure reason + */ + public static byte[] encryptMegolmKeyFile(String data, String password, int kdf_rounds) throws Exception { + if (TextUtils.isEmpty(password)) { + throw new Exception("Empty password is not supported"); + } + + SecureRandom secureRandom = new SecureRandom(); + + byte[] salt = new byte[16]; + secureRandom.nextBytes(salt); + + byte[] iv = new byte[16]; + secureRandom.nextBytes(iv); + + // clear bit 63 of the salt to stop us hitting the 64-bit counter boundary + // (which would mean we wouldn't be able to decrypt on Android). The loss + // of a single bit of salt is a price we have to pay. + iv[9] &= 0x7f; + + byte[] deriveKey = deriveKeys(salt, kdf_rounds, password); + + Cipher decryptCipher = Cipher.getInstance("AES/CTR/NoPadding"); + + SecretKeySpec secretKeySpec = new SecretKeySpec(getAesKey(deriveKey), "AES"); + IvParameterSpec ivParameterSpec = new IvParameterSpec(iv); + decryptCipher.init(Cipher.ENCRYPT_MODE, secretKeySpec, ivParameterSpec); + + ByteArrayOutputStream outStream = new ByteArrayOutputStream(); + outStream.write(decryptCipher.update(data.getBytes("UTF-8"))); + outStream.write(decryptCipher.doFinal()); + + byte[] cipherArray = outStream.toByteArray(); + int bodyLength = (1 + salt.length + iv.length + 4 + cipherArray.length + 32); + + byte[] resultBuffer = new byte[bodyLength]; + int idx = 0; + resultBuffer[idx++] = 1; // version + + System.arraycopy(salt, 0, resultBuffer, idx, salt.length); + idx += salt.length; + + System.arraycopy(iv, 0, resultBuffer, idx, iv.length); + idx += iv.length; + + resultBuffer[idx++] = (byte) ((kdf_rounds >> 24) & 0xff); + resultBuffer[idx++] = (byte) ((kdf_rounds >> 16) & 0xff); + resultBuffer[idx++] = (byte) ((kdf_rounds >> 8) & 0xff); + resultBuffer[idx++] = (byte) ((kdf_rounds) & 0xff); + + System.arraycopy(cipherArray, 0, resultBuffer, idx, cipherArray.length); + idx += cipherArray.length; + + byte[] toSign = Arrays.copyOfRange(resultBuffer, 0, idx); + + SecretKey macKey = new SecretKeySpec(getHmacKey(deriveKey), "HmacSHA256"); + Mac mac = Mac.getInstance("HmacSHA256"); + mac.init(macKey); + byte[] digest = mac.doFinal(toSign); + System.arraycopy(digest, 0, resultBuffer, idx, digest.length); + + return packMegolmKeyFile(resultBuffer); + } + + /** + * Unbase64 an ascii-armoured megolm key file + * Strips the header and trailer lines, and unbase64s the content + * + * @param data the input data + * @return unbase64ed content + */ + private static byte[] unpackMegolmKeyFile(byte[] data) throws Exception { + String fileStr = new String(data, "UTF-8"); + + // look for the start line + int lineStart = 0; + + while (true) { + int lineEnd = fileStr.indexOf('\n', lineStart); + + if (lineEnd < 0) { + Log.e(LOG_TAG, "## unpackMegolmKeyFile() : Header line not found"); + throw new Exception("Header line not found"); + } + + String line = fileStr.substring(lineStart, lineEnd).trim(); + + // start the next line after the newline + lineStart = lineEnd + 1; + + if (TextUtils.equals(line, HEADER_LINE)) { + break; + } + } + + int dataStart = lineStart; + + // look for the end line + while (true) { + int lineEnd = fileStr.indexOf('\n', lineStart); + String line; + + if (lineEnd < 0) { + line = fileStr.substring(lineStart).trim(); + } else { + line = fileStr.substring(lineStart, lineEnd).trim(); + } + + if (TextUtils.equals(line, TRAILER_LINE)) { + break; + } + + if (lineEnd < 0) { + Log.e(LOG_TAG, "## unpackMegolmKeyFile() : Trailer line not found"); + throw new Exception("Trailer line not found"); + } + + // start the next line after the newline + lineStart = lineEnd + 1; + } + + int dataEnd = lineStart; + + // Receiving side + return Base64.decode(fileStr.substring(dataStart, dataEnd), Base64.DEFAULT); + } + + /** + * Pack the megolm data. + * + * @param data the data to pack. + * @return the packed data + * @throws Exception the failure reason. + */ + private static byte[] packMegolmKeyFile(byte[] data) throws Exception { + int nLines = (data.length + LINE_LENGTH - 1) / LINE_LENGTH; + + ByteArrayOutputStream outStream = new ByteArrayOutputStream(); + outStream.write(HEADER_LINE.getBytes()); + + int o = 0; + + for (int i = 1; i <= nLines; i++) { + outStream.write("\n".getBytes()); + + int len = Math.min(LINE_LENGTH, data.length - o); + outStream.write(Base64.encode(data, o, len, Base64.DEFAULT)); + o += LINE_LENGTH; + } + + outStream.write("\n".getBytes()); + outStream.write(TRAILER_LINE.getBytes()); + outStream.write("\n".getBytes()); + + return outStream.toByteArray(); + } + + /** + * Derive the AES and HMAC-SHA-256 keys for the file + * + * @param salt salt for pbkdf + * @param iterations number of pbkdf iterations + * @param password password + * @return the derived keys + */ + private static byte[] deriveKeys(byte[] salt, int iterations, String password) throws Exception { + Long t0 = System.currentTimeMillis(); + + // based on https://en.wikipedia.org/wiki/PBKDF2 algorithm + // it is simpler than the generic algorithm because the expected key length is equal to the mac key length. + // noticed as dklen/hlen + Mac prf = Mac.getInstance("HmacSHA512"); + prf.init(new SecretKeySpec(password.getBytes("UTF-8"), "HmacSHA512")); + + // 512 bits key length + byte[] key = new byte[64]; + byte[] Uc = new byte[64]; + + // U1 = PRF(Password, Salt || INT_32_BE(i)) + prf.update(salt); + byte[] int32BE = new byte[4]; + Arrays.fill(int32BE, (byte) 0); + int32BE[3] = (byte) 1; + prf.update(int32BE); + prf.doFinal(Uc, 0); + + // copy to the key + System.arraycopy(Uc, 0, key, 0, Uc.length); + + for (int index = 2; index <= iterations; index++) { + // Uc = PRF(Password, Uc-1) + prf.update(Uc); + prf.doFinal(Uc, 0); + + // F(Password, Salt, c, i) = U1 ^ U2 ^ ... ^ Uc + for (int byteIndex = 0; byteIndex < Uc.length; byteIndex++) { + key[byteIndex] ^= Uc[byteIndex]; + } + } + + Log.d(LOG_TAG, "## deriveKeys() : " + iterations + " in " + (System.currentTimeMillis() - t0) + " ms"); + + return key; + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXOlmDevice.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXOlmDevice.java new file mode 100755 index 00000000..0690f5dc --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXOlmDevice.java @@ -0,0 +1,830 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto; + +import android.text.TextUtils; + +import com.google.gson.JsonParser; + +import im.vector.matrix.android.internal.legacy.crypto.algorithms.MXDecryptionResult; +import im.vector.matrix.android.internal.legacy.crypto.data.MXOlmInboundGroupSession2; +import im.vector.matrix.android.internal.legacy.data.cryptostore.IMXCryptoStore; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; +import org.matrix.olm.OlmAccount; +import org.matrix.olm.OlmInboundGroupSession; +import org.matrix.olm.OlmMessage; +import org.matrix.olm.OlmOutboundGroupSession; +import org.matrix.olm.OlmSession; +import org.matrix.olm.OlmUtility; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class MXOlmDevice { + private static final String LOG_TAG = MXOlmDevice.class.getSimpleName(); + + // Curve25519 key for the account. + private String mDeviceCurve25519Key; + + // Ed25519 key for the account. + private String mDeviceEd25519Key; + + // The store where crypto data is saved. + private final IMXCryptoStore mStore; + + // The OLMKit account instance. + private OlmAccount mOlmAccount; + + // The OLMKit utility instance. + private OlmUtility mOlmUtility; + + // The outbound group session. + // They are not stored in 'store' to avoid to remember to which devices we sent the session key. + // Plus, in cryptography, it is good to refresh sessions from time to time. + // The key is the session id, the value the outbound group session. + private final Map mOutboundGroupSessionStore; + + // Store a set of decrypted message indexes for each group session. + // This partially mitigates a replay attack where a MITM resends a group + // message into the room. + // + // The Matrix SDK exposes events through MXEventTimelines. A developer can open several + // timelines from a same room so that a message can be decrypted several times but from + // a different timeline. + // So, store these message indexes per timeline id. + // + // The first level keys are timeline ids. + // The second level keys are strings of form "||" + // Values are true. + private final Map> mInboundGroupSessionMessageIndexes; + + /** + * inboundGroupSessionWithId error + */ + private MXCryptoError mInboundGroupSessionWithIdError = null; + + /** + * Constructor + * + * @param store the used store + */ + public MXOlmDevice(IMXCryptoStore store) { + mStore = store; + + // Retrieve the account from the store + mOlmAccount = mStore.getAccount(); + + if (null == mOlmAccount) { + Log.d(LOG_TAG, "MXOlmDevice : create a new olm account"); + // Else, create it + try { + mOlmAccount = new OlmAccount(); + mStore.storeAccount(mOlmAccount); + } catch (Exception e) { + Log.e(LOG_TAG, "MXOlmDevice : cannot initialize mOlmAccount " + e.getMessage(), e); + } + } else { + Log.d(LOG_TAG, "MXOlmDevice : use an existing account"); + } + + try { + mOlmUtility = new OlmUtility(); + } catch (Exception e) { + Log.e(LOG_TAG, "## MXOlmDevice : OlmUtility failed with error " + e.getMessage(), e); + mOlmUtility = null; + } + + mOutboundGroupSessionStore = new HashMap<>(); + + try { + mDeviceCurve25519Key = mOlmAccount.identityKeys().get(OlmAccount.JSON_KEY_IDENTITY_KEY); + } catch (Exception e) { + Log.e(LOG_TAG, "## MXOlmDevice : cannot find " + OlmAccount.JSON_KEY_IDENTITY_KEY + " with error " + e.getMessage(), e); + } + + try { + mDeviceEd25519Key = mOlmAccount.identityKeys().get(OlmAccount.JSON_KEY_FINGER_PRINT_KEY); + } catch (Exception e) { + Log.e(LOG_TAG, "## MXOlmDevice : cannot find " + OlmAccount.JSON_KEY_FINGER_PRINT_KEY + " with error " + e.getMessage(), e); + } + + mInboundGroupSessionMessageIndexes = new HashMap<>(); + } + + /** + * Release the instance + */ + public void release() { + if (null != mOlmAccount) { + mOlmAccount.releaseAccount(); + } + } + + /** + * @return the Curve25519 key for the account. + */ + public String getDeviceCurve25519Key() { + return mDeviceCurve25519Key; + } + + /** + * @return the Ed25519 key for the account. + */ + public String getDeviceEd25519Key() { + return mDeviceEd25519Key; + } + + /** + * Signs a message with the ed25519 key for this account. + * + * @param message the message to be signed. + * @return the base64-encoded signature. + */ + private String signMessage(String message) { + try { + return mOlmAccount.signMessage(message); + } catch (Exception e) { + Log.e(LOG_TAG, "## signMessage() : failed " + e.getMessage(), e); + } + + return null; + } + + /** + * Signs a JSON dictionary with the ed25519 key for this account. + * The signature is done on canonical version of the JSON. + * + * @param JSONDictionary the JSON to be signed. + * @return the base64-encoded signature + */ + public String signJSON(Map JSONDictionary) { + return signMessage(JsonUtils.getCanonicalizedJsonString(JSONDictionary)); + } + + /** + * @return The current (unused, unpublished) one-time keys for this account. + */ + public Map> getOneTimeKeys() { + try { + return mOlmAccount.oneTimeKeys(); + } catch (Exception e) { + Log.e(LOG_TAG, "## getOneTimeKeys() : failed " + e.getMessage(), e); + } + + return null; + } + + /** + * @return The maximum number of one-time keys the olm account can store. + */ + public long getMaxNumberOfOneTimeKeys() { + if (null != mOlmAccount) { + return mOlmAccount.maxOneTimeKeys(); + } else { + return -1; + } + } + + /** + * Marks all of the one-time keys as published. + */ + public void markKeysAsPublished() { + try { + mOlmAccount.markOneTimeKeysAsPublished(); + mStore.storeAccount(mOlmAccount); + } catch (Exception e) { + Log.e(LOG_TAG, "## markKeysAsPublished() : failed " + e.getMessage(), e); + } + } + + /** + * Generate some new one-time keys + * + * @param numKeys number of keys to generate + */ + public void generateOneTimeKeys(int numKeys) { + try { + mOlmAccount.generateOneTimeKeys(numKeys); + mStore.storeAccount(mOlmAccount); + } catch (Exception e) { + Log.e(LOG_TAG, "## generateOneTimeKeys() : failed " + e.getMessage(), e); + } + } + + /** + * Generate a new outbound session. + * The new session will be stored in the MXStore. + * + * @param theirIdentityKey the remote user's Curve25519 identity key + * @param theirOneTimeKey the remote user's one-time Curve25519 key + * @return the session id for the outbound session. @TODO OLMSession? + */ + public String createOutboundSession(String theirIdentityKey, String theirOneTimeKey) { + Log.d(LOG_TAG, "## createOutboundSession() ; theirIdentityKey " + theirIdentityKey + " theirOneTimeKey " + theirOneTimeKey); + OlmSession olmSession = null; + + try { + olmSession = new OlmSession(); + olmSession.initOutboundSession(mOlmAccount, theirIdentityKey, theirOneTimeKey); + mStore.storeSession(olmSession, theirIdentityKey); + + String sessionIdentifier = olmSession.sessionIdentifier(); + + Log.d(LOG_TAG, "## createOutboundSession() ; olmSession.sessionIdentifier: " + sessionIdentifier); + return sessionIdentifier; + + } catch (Exception e) { + Log.e(LOG_TAG, "## createOutboundSession() failed ; " + e.getMessage(), e); + + if (null != olmSession) { + olmSession.releaseSession(); + } + } + + return null; + } + + /** + * Generate a new inbound session, given an incoming message. + * + * @param theirDeviceIdentityKey the remote user's Curve25519 identity key. + * @param messageType the message_type field from the received message (must be 0). + * @param ciphertext base64-encoded body from the received message. + * @return {{payload: string, session_id: string}} decrypted payload, andsession id of new session. + */ + public Map createInboundSession(String theirDeviceIdentityKey, int messageType, String ciphertext) { + + Log.d(LOG_TAG, "## createInboundSession() : theirIdentityKey: " + theirDeviceIdentityKey); + + OlmSession olmSession = null; + + try { + try { + olmSession = new OlmSession(); + olmSession.initInboundSessionFrom(mOlmAccount, theirDeviceIdentityKey, ciphertext); + } catch (Exception e) { + Log.e(LOG_TAG, "## createInboundSession() : the session creation failed " + e.getMessage(), e); + return null; + } + + Log.d(LOG_TAG, "## createInboundSession() : sessionId: " + olmSession.sessionIdentifier()); + + try { + mOlmAccount.removeOneTimeKeys(olmSession); + mStore.storeAccount(mOlmAccount); + } catch (Exception e) { + Log.e(LOG_TAG, "## createInboundSession() : removeOneTimeKeys failed " + e.getMessage(), e); + } + + Log.d(LOG_TAG, "## createInboundSession() : ciphertext: " + ciphertext); + try { + Log.d(LOG_TAG, "## createInboundSession() :ciphertext: SHA256:" + mOlmUtility.sha256(URLEncoder.encode(ciphertext, "utf-8"))); + } catch (Exception e) { + Log.e(LOG_TAG, "## createInboundSession() :ciphertext: cannot encode ciphertext", e); + } + + OlmMessage olmMessage = new OlmMessage(); + olmMessage.mCipherText = ciphertext; + olmMessage.mType = messageType; + + String payloadString = null; + + try { + payloadString = olmSession.decryptMessage(olmMessage); + mStore.storeSession(olmSession, theirDeviceIdentityKey); + } catch (Exception e) { + Log.e(LOG_TAG, "## createInboundSession() : decryptMessage failed " + e.getMessage(), e); + } + + Map res = new HashMap<>(); + + if (!TextUtils.isEmpty(payloadString)) { + res.put("payload", payloadString); + } + + String sessionIdentifier = olmSession.sessionIdentifier(); + + if (!TextUtils.isEmpty(sessionIdentifier)) { + res.put("session_id", sessionIdentifier); + } + + return res; + } catch (Exception e) { + Log.e(LOG_TAG, "## createInboundSession() : OlmSession creation failed " + e.getMessage(), e); + + if (null != olmSession) { + olmSession.releaseSession(); + } + } + + return null; + } + + /** + * Get a list of known session IDs for the given device. + * + * @param theirDeviceIdentityKey the Curve25519 identity key for the remote device. + * @return a list of known session ids for the device. + */ + public Set getSessionIds(String theirDeviceIdentityKey) { + Map map = mStore.getDeviceSessions(theirDeviceIdentityKey); + + if (null != map) { + return map.keySet(); + } + + return null; + } + + /** + * Get the right olm session id for encrypting messages to the given identity key. + * + * @param theirDeviceIdentityKey the Curve25519 identity key for the remote device. + * @return the session id, or nil if no established session. + */ + public String getSessionId(String theirDeviceIdentityKey) { + String sessionId = null; + Set sessionIds = getSessionIds(theirDeviceIdentityKey); + + if ((null != sessionIds) && (0 != sessionIds.size())) { + List sessionIdsList = new ArrayList<>(sessionIds); + Collections.sort(sessionIdsList); + sessionId = sessionIdsList.get(0); + } + + return sessionId; + } + + /** + * Encrypt an outgoing message using an existing session. + * + * @param theirDeviceIdentityKey the Curve25519 identity key for the remote device. + * @param sessionId the id of the active session + * @param payloadString the payload to be encrypted and sent + * @return the cipher text + */ + public Map encryptMessage(String theirDeviceIdentityKey, String sessionId, String payloadString) { + Map res = null; + OlmMessage olmMessage; + OlmSession olmSession = getSessionForDevice(theirDeviceIdentityKey, sessionId); + + if (null != olmSession) { + try { + Log.d(LOG_TAG, "## encryptMessage() : olmSession.sessionIdentifier: " + olmSession.sessionIdentifier()); + //Log.d(LOG_TAG, "## encryptMessage() : payloadString: " + payloadString); + + olmMessage = olmSession.encryptMessage(payloadString); + mStore.storeSession(olmSession, theirDeviceIdentityKey); + res = new HashMap<>(); + + res.put("body", olmMessage.mCipherText); + res.put("type", olmMessage.mType); + } catch (Exception e) { + Log.e(LOG_TAG, "## encryptMessage() : failed " + e.getMessage(), e); + } + } + + return res; + } + + /** + * Decrypt an incoming message using an existing session. + * + * @param ciphertext the base64-encoded body from the received message. + * @param messageType message_type field from the received message. + * @param theirDeviceIdentityKey the Curve25519 identity key for the remote device. + * @param sessionId the id of the active session. + * @return the decrypted payload. + */ + public String decryptMessage(String ciphertext, int messageType, String sessionId, String theirDeviceIdentityKey) { + String payloadString = null; + + OlmSession olmSession = getSessionForDevice(theirDeviceIdentityKey, sessionId); + + if (null != olmSession) { + OlmMessage olmMessage = new OlmMessage(); + olmMessage.mCipherText = ciphertext; + olmMessage.mType = messageType; + + try { + payloadString = olmSession.decryptMessage(olmMessage); + mStore.storeSession(olmSession, theirDeviceIdentityKey); + } catch (Exception e) { + Log.e(LOG_TAG, "## decryptMessage() : decryptMessage failed " + e.getMessage(), e); + } + } + + return payloadString; + } + + /** + * Determine if an incoming messages is a prekey message matching an existing session. + * + * @param theirDeviceIdentityKey the Curve25519 identity key for the remote device. + * @param sessionId the id of the active session. + * @param messageType message_type field from the received message. + * @param ciphertext the base64-encoded body from the received message. + * @return YES if the received message is a prekey message which matchesthe given session. + */ + public boolean matchesSession(String theirDeviceIdentityKey, String sessionId, int messageType, String ciphertext) { + if (messageType != 0) { + return false; + } + + OlmSession olmSession = getSessionForDevice(theirDeviceIdentityKey, sessionId); + return (null != olmSession) && olmSession.matchesInboundSession(ciphertext); + } + + + // Outbound group session + + /** + * Generate a new outbound group session. + * + * @return the session id for the outbound session. + */ + public String createOutboundGroupSession() { + OlmOutboundGroupSession session = null; + try { + session = new OlmOutboundGroupSession(); + mOutboundGroupSessionStore.put(session.sessionIdentifier(), session); + return session.sessionIdentifier(); + } catch (Exception e) { + Log.e(LOG_TAG, "createOutboundGroupSession " + e.getMessage(), e); + + if (null != session) { + session.releaseSession(); + } + } + return null; + } + + /** + * Get the current session key of an outbound group session. + * + * @param sessionId the id of the outbound group session. + * @return the base64-encoded secret key. + */ + public String getSessionKey(String sessionId) { + if (!TextUtils.isEmpty(sessionId)) { + try { + return mOutboundGroupSessionStore.get(sessionId).sessionKey(); + } catch (Exception e) { + Log.e(LOG_TAG, "## getSessionKey() : failed " + e.getMessage(), e); + } + } + return null; + } + + /** + * Get the current message index of an outbound group session. + * + * @param sessionId the id of the outbound group session. + * @return the current chain index. + */ + public int getMessageIndex(String sessionId) { + if (!TextUtils.isEmpty(sessionId)) { + return mOutboundGroupSessionStore.get(sessionId).messageIndex(); + } + return 0; + } + + /** + * Encrypt an outgoing message with an outbound group session. + * + * @param sessionId the id of the outbound group session. + * @param payloadString the payload to be encrypted and sent. + * @return ciphertext + */ + public String encryptGroupMessage(String sessionId, String payloadString) { + if (!TextUtils.isEmpty(sessionId) && !TextUtils.isEmpty(payloadString)) { + try { + return mOutboundGroupSessionStore.get(sessionId).encryptMessage(payloadString); + } catch (Exception e) { + Log.e(LOG_TAG, "## encryptGroupMessage() : failed " + e.getMessage(), e); + } + } + return null; + } + + // Inbound group session + + /** + * Add an inbound group session to the session store. + * + * @param sessionId the session identifier. + * @param sessionKey base64-encoded secret key. + * @param roomId the id of the room in which this session will be used. + * @param senderKey the base64-encoded curve25519 key of the sender. + * @param forwardingCurve25519KeyChain Devices involved in forwarding this session to us. + * @param keysClaimed Other keys the sender claims. + * @param exportFormat true if the megolm keys are in export format + * @return true if the operation succeeds. + */ + public boolean addInboundGroupSession(String sessionId, + String sessionKey, + String roomId, + String senderKey, + List forwardingCurve25519KeyChain, + Map keysClaimed, + boolean exportFormat) { + if (null != getInboundGroupSession(sessionId, senderKey, roomId)) { + // If we already have this session, consider updating it + Log.e(LOG_TAG, "## addInboundGroupSession() : Update for megolm session " + senderKey + "/" + sessionId); + + // For now we just ignore updates. TODO: implement something here + return false; + } + + MXOlmInboundGroupSession2 session = new MXOlmInboundGroupSession2(sessionKey, exportFormat); + + // sanity check + if (null == session.mSession) { + Log.e(LOG_TAG, "## addInboundGroupSession : invalid session"); + return false; + } + + try { + if (!TextUtils.equals(session.mSession.sessionIdentifier(), sessionId)) { + Log.e(LOG_TAG, "## addInboundGroupSession : ERROR: Mismatched group session ID from senderKey: " + senderKey); + return false; + } + } catch (Exception e) { + Log.e(LOG_TAG, "## addInboundGroupSession : sessionIdentifier') failed " + e.getMessage(), e); + return false; + } + + session.mSenderKey = senderKey; + session.mRoomId = roomId; + session.mKeysClaimed = keysClaimed; + session.mForwardingCurve25519KeyChain = forwardingCurve25519KeyChain; + + mStore.storeInboundGroupSession(session); + + return true; + } + + /** + * Import an inbound group session to the session store. + * + * @param exportedSessionMap the exported session map + * @return the imported session if the operation succeeds. + */ + public MXOlmInboundGroupSession2 importInboundGroupSession(Map exportedSessionMap) { + String sessionId = (String) exportedSessionMap.get("session_id"); + String senderKey = (String) exportedSessionMap.get("sender_key"); + String roomId = (String) exportedSessionMap.get("room_id"); + + if (null != getInboundGroupSession(sessionId, senderKey, roomId)) { + // If we already have this session, consider updating it + Log.e(LOG_TAG, "## importInboundGroupSession() : Update for megolm session " + senderKey + "/" + sessionId); + + // For now we just ignore updates. TODO: implement something here + return null; + } + + MXOlmInboundGroupSession2 session = null; + + try { + session = new MXOlmInboundGroupSession2(exportedSessionMap); + } catch (Exception e) { + Log.e(LOG_TAG, "## importInboundGroupSession() : Update for megolm session " + senderKey + "/" + sessionId, e); + } + + // sanity check + if ((null == session) || (null == session.mSession)) { + Log.e(LOG_TAG, "## importInboundGroupSession : invalid session"); + return null; + } + + try { + if (!TextUtils.equals(session.mSession.sessionIdentifier(), sessionId)) { + Log.e(LOG_TAG, "## importInboundGroupSession : ERROR: Mismatched group session ID from senderKey: " + senderKey); + return null; + } + } catch (Exception e) { + Log.e(LOG_TAG, "## importInboundGroupSession : sessionIdentifier') failed " + e.getMessage(), e); + return null; + } + + mStore.storeInboundGroupSession(session); + + return session; + } + + /** + * Remove an inbound group session + * + * @param sessionId the session identifier. + * @param sessionKey base64-encoded secret key. + */ + public void removeInboundGroupSession(String sessionId, String sessionKey) { + if ((null != sessionId) && (null != sessionKey)) { + mStore.removeInboundGroupSession(sessionId, sessionKey); + } + } + + /** + * Decrypt a received message with an inbound group session. + * + * @param body the base64-encoded body of the encrypted message. + * @param roomId theroom in which the message was received. + * @param timeline the id of the timeline where the event is decrypted. It is used to prevent replay attack. + * @param sessionId the session identifier. + * @param senderKey the base64-encoded curve25519 key of the sender. + * @return the decrypting result. Nil if the sessionId is unknown. + */ + public MXDecryptionResult decryptGroupMessage(String body, + String roomId, + String timeline, + String sessionId, + String senderKey) throws MXDecryptionException { + MXDecryptionResult result = new MXDecryptionResult(); + MXOlmInboundGroupSession2 session = getInboundGroupSession(sessionId, senderKey, roomId); + + if (null != session) { + // Check that the room id matches the original one for the session. This stops + // the HS pretending a message was targeting a different room. + if (TextUtils.equals(roomId, session.mRoomId)) { + String errorMessage = ""; + OlmInboundGroupSession.DecryptMessageResult decryptResult = null; + try { + decryptResult = session.mSession.decryptMessage(body); + } catch (Exception e) { + Log.e(LOG_TAG, "## decryptGroupMessage () : decryptMessage failed " + e.getMessage(), e); + errorMessage = e.getMessage(); + } + + if (null != decryptResult) { + if (null != timeline) { + if (!mInboundGroupSessionMessageIndexes.containsKey(timeline)) { + mInboundGroupSessionMessageIndexes.put(timeline, new HashMap()); + } + + String messageIndexKey = senderKey + "|" + sessionId + "|" + decryptResult.mIndex; + + if (null != mInboundGroupSessionMessageIndexes.get(timeline).get(messageIndexKey)) { + String reason = String.format(MXCryptoError.DUPLICATE_MESSAGE_INDEX_REASON, decryptResult.mIndex); + Log.e(LOG_TAG, "## decryptGroupMessage() : " + reason); + throw new MXDecryptionException(new MXCryptoError(MXCryptoError.DUPLICATED_MESSAGE_INDEX_ERROR_CODE, + MXCryptoError.UNABLE_TO_DECRYPT, reason)); + } + + mInboundGroupSessionMessageIndexes.get(timeline).put(messageIndexKey, true); + } + + mStore.storeInboundGroupSession(session); + try { + JsonParser parser = new JsonParser(); + result.mPayload = parser.parse(JsonUtils.convertFromUTF8(decryptResult.mDecryptedMessage)); + } catch (Exception e) { + Log.e(LOG_TAG, "## decryptGroupMessage() : RLEncoder.encode failed " + e.getMessage(), e); + return null; + } + + if (null == result.mPayload) { + Log.e(LOG_TAG, "## decryptGroupMessage() : fails to parse the payload"); + return null; + } + + result.mKeysClaimed = session.mKeysClaimed; + result.mSenderKey = senderKey; + result.mForwardingCurve25519KeyChain = session.mForwardingCurve25519KeyChain; + } else { + Log.e(LOG_TAG, "## decryptGroupMessage() : failed to decode the message"); + throw new MXDecryptionException(new MXCryptoError(MXCryptoError.OLM_ERROR_CODE, errorMessage, null)); + } + } else { + String reason = String.format(MXCryptoError.INBOUND_SESSION_MISMATCH_ROOM_ID_REASON, roomId, session.mRoomId); + Log.e(LOG_TAG, "## decryptGroupMessage() : " + reason); + throw new MXDecryptionException(new MXCryptoError(MXCryptoError.INBOUND_SESSION_MISMATCH_ROOM_ID_ERROR_CODE, + MXCryptoError.UNABLE_TO_DECRYPT, reason)); + } + } else { + Log.e(LOG_TAG, "## decryptGroupMessage() : Cannot retrieve inbound group session " + sessionId); + throw new MXDecryptionException(mInboundGroupSessionWithIdError); + } + + return result; + } + + /** + * Reset replay attack data for the given timeline. + * + * @param timeline the id of the timeline. + */ + public void resetReplayAttackCheckInTimeline(String timeline) { + if (null != timeline) { + mInboundGroupSessionMessageIndexes.remove(timeline); + } + } + + // Utilities + + /** + * Verify an ed25519 signature on a JSON object. + * + * @param key the ed25519 key. + * @param JSONDictinary the JSON object which was signed. + * @param signature the base64-encoded signature to be checked. + * @throws Exception the exception + */ + public void verifySignature(String key, Map JSONDictinary, String signature) throws Exception { + // Check signature on the canonical version of the JSON + mOlmUtility.verifyEd25519Signature(signature, key, JsonUtils.getCanonicalizedJsonString(JSONDictinary)); + } + + /** + * Calculate the SHA-256 hash of the input and encodes it as base64. + * + * @param message the message to hash. + * @return the base64-encoded hash value. + */ + public String sha256(String message) { + return mOlmUtility.sha256(JsonUtils.convertToUTF8(message)); + } + + /** + * Search an OlmSession + * + * @param theirDeviceIdentityKey the device key + * @param sessionId the session Id + * @return the olm session + */ + private OlmSession getSessionForDevice(String theirDeviceIdentityKey, String sessionId) { + // sanity check + if (!TextUtils.isEmpty(theirDeviceIdentityKey) && !TextUtils.isEmpty(sessionId)) { + Map map = mStore.getDeviceSessions(theirDeviceIdentityKey); + + if (null != map) { + return map.get(sessionId); + } + } + + return null; + } + + /** + * Extract an InboundGroupSession from the session store and do some check. + * mInboundGroupSessionWithIdError describes the failure reason. + * + * @param roomId the room where the sesion is used. + * @param sessionId the session identifier. + * @param senderKey the base64-encoded curve25519 key of the sender. + * @return the inbound group session. + */ + public MXOlmInboundGroupSession2 getInboundGroupSession(String sessionId, String senderKey, String roomId) { + mInboundGroupSessionWithIdError = null; + + MXOlmInboundGroupSession2 session = mStore.getInboundGroupSession(sessionId, senderKey); + + if (null != session) { + // Check that the room id matches the original one for the session. This stops + // the HS pretending a message was targeting a different room. + if (!TextUtils.equals(roomId, session.mRoomId)) { + String errorDescription = String.format(MXCryptoError.INBOUND_SESSION_MISMATCH_ROOM_ID_REASON, roomId, session.mRoomId); + Log.e(LOG_TAG, "## getInboundGroupSession() : " + errorDescription); + mInboundGroupSessionWithIdError = new MXCryptoError(MXCryptoError.INBOUND_SESSION_MISMATCH_ROOM_ID_ERROR_CODE, + MXCryptoError.UNABLE_TO_DECRYPT, errorDescription); + } + } else { + Log.e(LOG_TAG, "## getInboundGroupSession() : Cannot retrieve inbound group session " + sessionId); + mInboundGroupSessionWithIdError = new MXCryptoError(MXCryptoError.UNKNOWN_INBOUND_SESSION_ID_ERROR_CODE, + MXCryptoError.UNKNOWN_INBOUND_SESSION_ID_REASON, null); + } + return session; + } + + /** + * Determine if we have the keys for a given megolm session. + * + * @param roomId room in which the message was received + * @param senderKey base64-encoded curve25519 key of the sender + * @param sessionId session identifier + * @return true if the unbound session keys are known. + */ + public boolean hasInboundSessionKeys(String roomId, String senderKey, String sessionId) { + return null != getInboundGroupSession(sessionId, senderKey, roomId); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXOutgoingRoomKeyRequestManager.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXOutgoingRoomKeyRequestManager.java new file mode 100755 index 00000000..f3f1dc1d --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/MXOutgoingRoomKeyRequestManager.java @@ -0,0 +1,371 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto; + +import android.os.Handler; + +import im.vector.matrix.android.internal.legacy.MXSession; +import im.vector.matrix.android.internal.legacy.crypto.data.MXUsersDevicesMap; +import im.vector.matrix.android.internal.legacy.data.cryptostore.IMXCryptoStore; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.RoomKeyRequest; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; + +public class MXOutgoingRoomKeyRequestManager { + private static final String LOG_TAG = MXOutgoingRoomKeyRequestManager.class.getSimpleName(); + + private static final int SEND_KEY_REQUESTS_DELAY_MS = 500; + + // the linked session + private MXSession mSession; + + // working handler (should not be the UI thread) + private Handler mWorkingHandler; + + // store + private IMXCryptoStore mCryptoStore; + + // running + public boolean mClientRunning; + + // transaction counter + private int mTxnCtr; + + // sanity check to ensure that we don't end up with two concurrent runs + // of mSendOutgoingRoomKeyRequestsTimer + private boolean mSendOutgoingRoomKeyRequestsRunning; + + /** + * Constructor + * + * @param session the session + * @param crypto the crypto engine + */ + public MXOutgoingRoomKeyRequestManager(MXSession session, MXCrypto crypto) { + mSession = session; + mWorkingHandler = crypto.getEncryptingThreadHandler(); + mCryptoStore = crypto.getCryptoStore(); + } + + /** + * Called when the client is started. Sets background processes running. + */ + public void start() { + mClientRunning = true; + startTimer(); + } + + /** + * Called when the client is stopped. Stops any running background processes. + */ + public void stop() { + mClientRunning = false; + } + + /** + * Make up a new transaction id + * + * @return {string} a new, unique, transaction id + */ + private String makeTxnId() { + return "m" + System.currentTimeMillis() + "." + mTxnCtr++; + } + + /** + * Send off a room key request, if we haven't already done so. + *

    + * The `requestBody` is compared (with a deep-equality check) against + * previous queued or sent requests and if it matches, no change is made. + * Otherwise, a request is added to the pending list, and a job is started + * in the background to send it. + * + * @param requestBody requestBody + * @param recipients recipients + */ + public void sendRoomKeyRequest(final Map requestBody, final List> recipients) { + mWorkingHandler.post(new Runnable() { + @Override + public void run() { + OutgoingRoomKeyRequest req = mCryptoStore.getOrAddOutgoingRoomKeyRequest( + new OutgoingRoomKeyRequest(requestBody, recipients, makeTxnId(), OutgoingRoomKeyRequest.RequestState.UNSENT)); + + + if (req.mState == OutgoingRoomKeyRequest.RequestState.UNSENT) { + startTimer(); + } + } + }); + } + + /** + * Cancel room key requests, if any match the given details + * + * @param requestBody requestBody + */ + public void cancelRoomKeyRequest(final Map requestBody) { + cancelRoomKeyRequest(requestBody, false); + } + + /** + * Cancel room key requests, if any match the given details, and resend + * + * @param requestBody requestBody + */ + public void resendRoomKeyRequest(final Map requestBody) { + cancelRoomKeyRequest(requestBody, true); + } + + /** + * Cancel room key requests, if any match the given details, and resend + * + * @param requestBody requestBody + * @param andResend true to resend the key request + */ + private void cancelRoomKeyRequest(final Map requestBody, boolean andResend) { + OutgoingRoomKeyRequest req = mCryptoStore.getOutgoingRoomKeyRequest(requestBody); + + if (null == req) { + // no request was made for this key + return; + } + + if (req.mState == OutgoingRoomKeyRequest.RequestState.CANCELLATION_PENDING + || req.mState == OutgoingRoomKeyRequest.RequestState.CANCELLATION_PENDING_AND_WILL_RESEND) { + // nothing to do here + } else if ((req.mState == OutgoingRoomKeyRequest.RequestState.UNSENT) + || (req.mState == OutgoingRoomKeyRequest.RequestState.FAILED)) { + Log.d(LOG_TAG, "## cancelRoomKeyRequest() : deleting unnecessary room key request for " + requestBody); + mCryptoStore.deleteOutgoingRoomKeyRequest(req.mRequestId); + } else if (req.mState == OutgoingRoomKeyRequest.RequestState.SENT) { + if (andResend) { + req.mState = OutgoingRoomKeyRequest.RequestState.CANCELLATION_PENDING_AND_WILL_RESEND; + } else { + req.mState = OutgoingRoomKeyRequest.RequestState.CANCELLATION_PENDING; + } + req.mCancellationTxnId = makeTxnId(); + mCryptoStore.updateOutgoingRoomKeyRequest(req); + sendOutgoingRoomKeyRequestCancellation(req); + } + } + + + /** + * Start the background timer to send queued requests, if the timer isn't already running. + */ + private void startTimer() { + mWorkingHandler.post(new Runnable() { + @Override + public void run() { + if (mSendOutgoingRoomKeyRequestsRunning) { + return; + } + + mWorkingHandler.postDelayed(new Runnable() { + @Override + public void run() { + if (mSendOutgoingRoomKeyRequestsRunning) { + Log.d(LOG_TAG, "## startTimer() : RoomKeyRequestSend already in progress!"); + return; + } + + mSendOutgoingRoomKeyRequestsRunning = true; + sendOutgoingRoomKeyRequests(); + } + }, SEND_KEY_REQUESTS_DELAY_MS); + } + }); + } + + // look for and send any queued requests. Runs itself recursively until + // there are no more requests, or there is an error (in which case, the + // timer will be restarted before the promise resolves). + private void sendOutgoingRoomKeyRequests() { + if (!mClientRunning) { + mSendOutgoingRoomKeyRequestsRunning = false; + return; + } + + Log.d(LOG_TAG, "## sendOutgoingRoomKeyRequests() : Looking for queued outgoing room key requests"); + OutgoingRoomKeyRequest outgoingRoomKeyRequest = mCryptoStore.getOutgoingRoomKeyRequestByState( + new HashSet<>(Arrays.asList(OutgoingRoomKeyRequest.RequestState.UNSENT, + OutgoingRoomKeyRequest.RequestState.CANCELLATION_PENDING, + OutgoingRoomKeyRequest.RequestState.CANCELLATION_PENDING_AND_WILL_RESEND))); + + if (null == outgoingRoomKeyRequest) { + Log.e(LOG_TAG, "## sendOutgoingRoomKeyRequests() : No more outgoing room key requests"); + mSendOutgoingRoomKeyRequestsRunning = false; + return; + } + + if (OutgoingRoomKeyRequest.RequestState.UNSENT == outgoingRoomKeyRequest.mState) { + sendOutgoingRoomKeyRequest(outgoingRoomKeyRequest); + } else { + sendOutgoingRoomKeyRequestCancellation(outgoingRoomKeyRequest); + } + } + + /** + * Send the outgoing key request. + * + * @param request the request + */ + private void sendOutgoingRoomKeyRequest(final OutgoingRoomKeyRequest request) { + Log.d(LOG_TAG, "## sendOutgoingRoomKeyRequest() : Requesting keys " + request.mRequestBody + + " from " + request.mRecipients + " id " + request.mRequestId); + + Map requestMessage = new HashMap<>(); + requestMessage.put("action", "request"); + requestMessage.put("requesting_device_id", mCryptoStore.getDeviceId()); + requestMessage.put("request_id", request.mRequestId); + requestMessage.put("body", request.mRequestBody); + + sendMessageToDevices(requestMessage, request.mRecipients, request.mRequestId, new ApiCallback() { + private void onDone(final OutgoingRoomKeyRequest.RequestState state) { + mWorkingHandler.post(new Runnable() { + @Override + public void run() { + if (request.mState != OutgoingRoomKeyRequest.RequestState.UNSENT) { + Log.d(LOG_TAG, "## sendOutgoingRoomKeyRequest() : Cannot update room key request from UNSENT as it was already updated to " + + request.mState); + } else { + request.mState = state; + mCryptoStore.updateOutgoingRoomKeyRequest(request); + } + + mSendOutgoingRoomKeyRequestsRunning = false; + startTimer(); + } + }); + } + + @Override + public void onSuccess(Void info) { + Log.d(LOG_TAG, "## sendOutgoingRoomKeyRequest succeed"); + onDone(OutgoingRoomKeyRequest.RequestState.SENT); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## sendOutgoingRoomKeyRequest failed " + e.getMessage(), e); + onDone(OutgoingRoomKeyRequest.RequestState.FAILED); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## sendOutgoingRoomKeyRequest failed " + e.getMessage()); + onDone(OutgoingRoomKeyRequest.RequestState.FAILED); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## sendOutgoingRoomKeyRequest failed " + e.getMessage(), e); + onDone(OutgoingRoomKeyRequest.RequestState.FAILED); + } + }); + } + + /** + * Given a RoomKeyRequest, cancel it and delete the request record + * + * @param request the request + */ + private void sendOutgoingRoomKeyRequestCancellation(final OutgoingRoomKeyRequest request) { + Log.d(LOG_TAG, "## sendOutgoingRoomKeyRequestCancellation() : Sending cancellation for key request for " + request.mRequestBody + + " to " + request.mRecipients + + " cancellation id " + request.mCancellationTxnId); + + Map requestMessageMap = new HashMap<>(); + requestMessageMap.put("action", RoomKeyRequest.ACTION_REQUEST_CANCELLATION); + requestMessageMap.put("requesting_device_id", mCryptoStore.getDeviceId()); + requestMessageMap.put("request_id", request.mCancellationTxnId); + + sendMessageToDevices(requestMessageMap, request.mRecipients, request.mCancellationTxnId, new ApiCallback() { + private void onDone() { + mWorkingHandler.post(new Runnable() { + @Override + public void run() { + mCryptoStore.deleteOutgoingRoomKeyRequest(request.mRequestId); + mSendOutgoingRoomKeyRequestsRunning = false; + startTimer(); + } + }); + } + + + @Override + public void onSuccess(Void info) { + Log.d(LOG_TAG, "## sendOutgoingRoomKeyRequestCancellation() : done"); + boolean resend = request.mState == OutgoingRoomKeyRequest.RequestState.CANCELLATION_PENDING_AND_WILL_RESEND; + + onDone(); + + // Resend the request with a new ID + if (resend) { + sendRoomKeyRequest(request.mRequestBody, request.mRecipients); + } + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## sendOutgoingRoomKeyRequestCancellation failed " + e.getMessage(), e); + onDone(); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## sendOutgoingRoomKeyRequestCancellation failed " + e.getMessage()); + onDone(); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## sendOutgoingRoomKeyRequestCancellation failed " + e.getMessage(), e); + onDone(); + } + }); + } + + /** + * Send a RoomKeyRequest to a list of recipients + * + * @param message the message + * @param recipients the recipients. + * @param transactionId the transaction id + * @param callback the asynchronous callback. + */ + private void sendMessageToDevices(final Map message, + List> recipients, + String transactionId, + final ApiCallback callback) { + MXUsersDevicesMap> contentMap = new MXUsersDevicesMap<>(); + + for (Map recipient : recipients) { + contentMap.setObject(message, recipient.get("userId"), recipient.get("deviceId")); + } + + mSession.getCryptoRestClient().sendToDevice(Event.EVENT_TYPE_ROOM_KEY_REQUEST, contentMap, transactionId, callback); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/OutgoingRoomKeyRequest.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/OutgoingRoomKeyRequest.java new file mode 100755 index 00000000..5e9ba695 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/OutgoingRoomKeyRequest.java @@ -0,0 +1,124 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto; + +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +/** + * Represents an outgoing room key request + */ +public class OutgoingRoomKeyRequest implements Serializable { + + /** + * possible states for a room key request + * + * The state machine looks like: + * + * | + * V + * UNSENT -----------------------------+ + * | | + * | (send successful) | (cancellation requested) + * V | + * SENT | + * |-------------------------------- | --------------+ + * | | | + * | | | (cancellation requested with intent + * | | | to resend a new request) + * | (cancellation requested) | | + * V | V + * CANCELLATION_PENDING | CANCELLATION_PENDING_AND_WILL_RESEND + * | | | + * | (cancellation sent) | | (cancellation sent. Create new request + * | | | in the UNSENT state) + * V | | + * (deleted) <---------------------------+----------------+ + */ + + public enum RequestState { + /** + * request not yet sent + */ + UNSENT, + /** + * request sent, awaiting reply + */ + SENT, + /** + * reply received, cancellation not yet sent + */ + CANCELLATION_PENDING, + /** + * Cancellation not yet sent, once sent, a new request will be done + */ + CANCELLATION_PENDING_AND_WILL_RESEND, + /** + * sending failed + */ + FAILED + } + + // Unique id for this request. Used for both + // an id within the request for later pairing with a cancellation, and for + // the transaction id when sending the to_device messages to our local + public String mRequestId; + + // transaction id for the cancellation, if any + public String mCancellationTxnId; + + // list of recipients for the request + public List> mRecipients; + + // RequestBody + public Map mRequestBody; + + // current state of this request + public RequestState mState; + + public OutgoingRoomKeyRequest(Map requestBody, List> recipients, String requestId, RequestState state) { + mRequestBody = requestBody; + mRecipients = recipients; + mRequestId = requestId; + mState = state; + } + + /** + * @return the room id + */ + public String getRoomId() { + if (null != mRequestBody) { + return mRequestBody.get("room_id"); + } + + return null; + } + + /** + * @return the session id + */ + public String getSessionId() { + if (null != mRequestBody) { + return mRequestBody.get("session_id"); + } + + return null; + } +} + diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/IMXDecrypting.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/IMXDecrypting.java new file mode 100644 index 00000000..958b0d6f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/IMXDecrypting.java @@ -0,0 +1,79 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto.algorithms; + +import android.support.annotation.Nullable; + +import im.vector.matrix.android.internal.legacy.MXSession; +import im.vector.matrix.android.internal.legacy.crypto.IncomingRoomKeyRequest; +import im.vector.matrix.android.internal.legacy.crypto.MXDecryptionException; +import im.vector.matrix.android.internal.legacy.crypto.MXEventDecryptionResult; +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +/** + * An interface for decrypting data + */ +public interface IMXDecrypting { + /** + * Init the object fields + * + * @param matrixSession the session + */ + void initWithMatrixSession(MXSession matrixSession); + + /** + * Decrypt an event + * + * @param event the raw event. + * @param timeline the id of the timeline where the event is decrypted. It is used to prevent replay attack. + * @return the decryption information, or null in case of error + * @throws MXDecryptionException the decryption failure reason + */ + @Nullable + MXEventDecryptionResult decryptEvent(Event event, String timeline) throws MXDecryptionException; + + /** + * Handle a key event. + * + * @param event the key event. + */ + void onRoomKeyEvent(Event event); + + /** + * Check if the some messages can be decrypted with a new session + * + * @param senderKey the session sender key + * @param sessionId the session id + */ + void onNewSession(String senderKey, String sessionId); + + /** + * Determine if we have the keys necessary to respond to a room key request + * + * @param request keyRequest + * @return true if we have the keys and could (theoretically) share + */ + boolean hasKeysForKeyRequest(IncomingRoomKeyRequest request); + + /** + * Send the response to a room key request. + * + * @param request keyRequest + */ + void shareKeysWithDevice(IncomingRoomKeyRequest request); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/IMXEncrypting.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/IMXEncrypting.java new file mode 100644 index 00000000..3765b4f5 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/IMXEncrypting.java @@ -0,0 +1,49 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2017 Vector Creations 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto.algorithms; + +import com.google.gson.JsonElement; + +import im.vector.matrix.android.internal.legacy.MXSession; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; + +import java.util.List; + +/** + * An interface for encrypting data + */ +public interface IMXEncrypting { + + /** + * Init + * + * @param matrixSession the related 'MXSession'. + * @param roomId the id of the room we will be sending to. + */ + void initWithMatrixSession(MXSession matrixSession, String roomId); + + /** + * Encrypt an event content according to the configuration of the room. + * + * @param eventContent the content of the event. + * @param eventType the type of the event. + * @param userIds the room members the event will be sent to. + * @param callback the asynchronous callback + */ + void encryptEventContent(JsonElement eventContent, String eventType, List userIds, ApiCallback callback); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/MXDecryptionResult.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/MXDecryptionResult.java new file mode 100755 index 00000000..e5842760 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/MXDecryptionResult.java @@ -0,0 +1,48 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto.algorithms; + +import com.google.gson.JsonElement; + +import java.util.List; +import java.util.Map; + +/** + * This class represents the decryption result. + */ +public class MXDecryptionResult { + /** + * The decrypted payload (with properties 'type', 'content') + */ + public JsonElement mPayload; + + /** + * keys that the sender of the event claims ownership of: + * map from key type to base64-encoded key. + */ + public Map mKeysClaimed; + + /** + * The curve25519 key that the sender of the event is known to have ownership of. + */ + public String mSenderKey; + + /** + * Devices which forwarded this session to us (normally empty). + */ + public List mForwardingCurve25519KeyChain; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/megolm/MXMegolmDecryption.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/megolm/MXMegolmDecryption.java new file mode 100644 index 00000000..12f3e1d2 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/megolm/MXMegolmDecryption.java @@ -0,0 +1,468 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto.algorithms.megolm; + +import android.support.annotation.Nullable; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.MXSession; +import im.vector.matrix.android.internal.legacy.crypto.IncomingRoomKeyRequest; +import im.vector.matrix.android.internal.legacy.crypto.MXCryptoError; +import im.vector.matrix.android.internal.legacy.crypto.MXDecryptionException; +import im.vector.matrix.android.internal.legacy.crypto.MXEventDecryptionResult; +import im.vector.matrix.android.internal.legacy.crypto.MXOlmDevice; +import im.vector.matrix.android.internal.legacy.crypto.algorithms.IMXDecrypting; +import im.vector.matrix.android.internal.legacy.crypto.algorithms.MXDecryptionResult; +import im.vector.matrix.android.internal.legacy.crypto.data.MXDeviceInfo; +import im.vector.matrix.android.internal.legacy.crypto.data.MXOlmInboundGroupSession2; +import im.vector.matrix.android.internal.legacy.crypto.data.MXOlmSessionResult; +import im.vector.matrix.android.internal.legacy.crypto.data.MXUsersDevicesMap; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.EncryptedEventContent; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.ForwardedRoomKeyContent; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.RoomKeyContent; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.RoomKeyRequestBody; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class MXMegolmDecryption implements IMXDecrypting { + private static final String LOG_TAG = MXMegolmDecryption.class.getSimpleName(); + + /** + * The olm device interface + */ + private MXOlmDevice mOlmDevice; + + // the matrix session + private MXSession mSession; + + /** + * Events which we couldn't decrypt due to unknown sessions / indexes: map from + * senderKey|sessionId to timelines to list of MatrixEvents. + */ + private Map>> mPendingEvents; + + /** + * Init the object fields + * + * @param matrixSession the matrix session + */ + @Override + public void initWithMatrixSession(MXSession matrixSession) { + mSession = matrixSession; + mOlmDevice = matrixSession.getCrypto().getOlmDevice(); + mPendingEvents = new HashMap<>(); + + } + + @Override + @Nullable + public MXEventDecryptionResult decryptEvent(Event event, String timeline) throws MXDecryptionException { + return decryptEvent(event, timeline, true); + } + + @Nullable + private MXEventDecryptionResult decryptEvent(Event event, String timeline, boolean requestKeysOnFail) throws MXDecryptionException { + // sanity check + if (null == event) { + Log.e(LOG_TAG, "## decryptEvent() : null event"); + return null; + } + + EncryptedEventContent encryptedEventContent = JsonUtils.toEncryptedEventContent(event.getWireContent().getAsJsonObject()); + + String senderKey = encryptedEventContent.sender_key; + String ciphertext = encryptedEventContent.ciphertext; + String sessionId = encryptedEventContent.session_id; + + if (TextUtils.isEmpty(senderKey) || TextUtils.isEmpty(sessionId) || TextUtils.isEmpty(ciphertext)) { + throw new MXDecryptionException(new MXCryptoError(MXCryptoError.MISSING_FIELDS_ERROR_CODE, + MXCryptoError.UNABLE_TO_DECRYPT, MXCryptoError.MISSING_FIELDS_REASON)); + } + + MXEventDecryptionResult eventDecryptionResult = null; + MXCryptoError cryptoError = null; + MXDecryptionResult decryptGroupMessageResult = null; + + try { + decryptGroupMessageResult = mOlmDevice.decryptGroupMessage(ciphertext, event.roomId, timeline, sessionId, senderKey); + } catch (MXDecryptionException e) { + cryptoError = e.getCryptoError(); + } + + // the decryption succeeds + if ((null != decryptGroupMessageResult) && (null != decryptGroupMessageResult.mPayload) && (null == cryptoError)) { + eventDecryptionResult = new MXEventDecryptionResult(); + + eventDecryptionResult.mClearEvent = decryptGroupMessageResult.mPayload; + eventDecryptionResult.mSenderCurve25519Key = decryptGroupMessageResult.mSenderKey; + + if (null != decryptGroupMessageResult.mKeysClaimed) { + eventDecryptionResult.mClaimedEd25519Key = decryptGroupMessageResult.mKeysClaimed.get("ed25519"); + } + + eventDecryptionResult.mForwardingCurve25519KeyChain = decryptGroupMessageResult.mForwardingCurve25519KeyChain; + } else if (null != cryptoError) { + if (cryptoError.isOlmError()) { + if (TextUtils.equals("UNKNOWN_MESSAGE_INDEX", cryptoError.error)) { + addEventToPendingList(event, timeline); + + if (requestKeysOnFail) { + requestKeysForEvent(event); + } + } + + String reason = String.format(MXCryptoError.OLM_REASON, cryptoError.error); + String detailedReason = String.format(MXCryptoError.DETAILLED_OLM_REASON, ciphertext, cryptoError.error); + + throw new MXDecryptionException(new MXCryptoError( + MXCryptoError.OLM_ERROR_CODE, + reason, + detailedReason)); + } else if (TextUtils.equals(cryptoError.errcode, MXCryptoError.UNKNOWN_INBOUND_SESSION_ID_ERROR_CODE)) { + addEventToPendingList(event, timeline); + if (requestKeysOnFail) { + requestKeysForEvent(event); + } + } + + throw new MXDecryptionException(cryptoError); + } + + return eventDecryptionResult; + } + + /** + * Helper for the real decryptEvent and for _retryDecryption. If + * requestKeysOnFail is true, we'll send an m.room_key_request when we fail + * to decrypt the event due to missing megolm keys. + * + * @param event the event + */ + private void requestKeysForEvent(Event event) { + String sender = event.getSender(); + EncryptedEventContent wireContent = JsonUtils.toEncryptedEventContent(event.getWireContent()); + + List> recipients = new ArrayList<>(); + + Map selfMap = new HashMap<>(); + selfMap.put("userId", mSession.getMyUserId()); + selfMap.put("deviceId", "*"); + recipients.add(selfMap); + + if (!TextUtils.equals(sender, mSession.getMyUserId())) { + Map senderMap = new HashMap<>(); + senderMap.put("userId", sender); + senderMap.put("deviceId", wireContent.device_id); + recipients.add(senderMap); + } + + Map requestBody = new HashMap<>(); + requestBody.put("room_id", event.roomId); + requestBody.put("algorithm", wireContent.algorithm); + requestBody.put("sender_key", wireContent.sender_key); + requestBody.put("session_id", wireContent.session_id); + + mSession.getCrypto().requestRoomKey(requestBody, recipients); + } + + /** + * Add an event to the list of those we couldn't decrypt the first time we + * saw them. + * + * @param event the event to try to decrypt later + * @param timelineId the timeline identifier + */ + private void addEventToPendingList(Event event, String timelineId) { + EncryptedEventContent encryptedEventContent = JsonUtils.toEncryptedEventContent(event.getWireContent().getAsJsonObject()); + + String senderKey = encryptedEventContent.sender_key; + String sessionId = encryptedEventContent.session_id; + + String k = senderKey + "|" + sessionId; + + // avoid undefined timelineId + if (TextUtils.isEmpty(timelineId)) { + timelineId = ""; + } + + if (!mPendingEvents.containsKey(k)) { + mPendingEvents.put(k, new HashMap>()); + } + + if (!mPendingEvents.get(k).containsKey(timelineId)) { + mPendingEvents.get(k).put(timelineId, new ArrayList()); + } + + if (mPendingEvents.get(k).get(timelineId).indexOf(event) < 0) { + Log.d(LOG_TAG, "## addEventToPendingList() : add Event " + event.eventId + " in room id " + event.roomId); + mPendingEvents.get(k).get(timelineId).add(event); + } + } + + /** + * Handle a key event. + * + * @param roomKeyEvent the key event. + */ + @Override + public void onRoomKeyEvent(Event roomKeyEvent) { + boolean exportFormat = false; + RoomKeyContent roomKeyContent = JsonUtils.toRoomKeyContent(roomKeyEvent.getContentAsJsonObject()); + + String roomId = roomKeyContent.room_id; + String sessionId = roomKeyContent.session_id; + String sessionKey = roomKeyContent.session_key; + String senderKey = roomKeyEvent.senderKey(); + Map keysClaimed = new HashMap<>(); + List forwarding_curve25519_key_chain = null; + + if (TextUtils.isEmpty(roomId) || TextUtils.isEmpty(sessionId) || TextUtils.isEmpty(sessionKey)) { + Log.e(LOG_TAG, "## onRoomKeyEvent() : Key event is missing fields"); + return; + } + + if (TextUtils.equals(roomKeyEvent.getType(), Event.EVENT_TYPE_FORWARDED_ROOM_KEY)) { + Log.d(LOG_TAG, "## onRoomKeyEvent(), forward adding key : roomId " + roomId + " sessionId " + sessionId + + " sessionKey " + sessionKey); // from " + event); + ForwardedRoomKeyContent forwardedRoomKeyContent = JsonUtils.toForwardedRoomKeyContent(roomKeyEvent.getContentAsJsonObject()); + + if (null == forwardedRoomKeyContent.forwarding_curve25519_key_chain) { + forwarding_curve25519_key_chain = new ArrayList<>(); + } else { + forwarding_curve25519_key_chain = new ArrayList<>(forwardedRoomKeyContent.forwarding_curve25519_key_chain); + } + + forwarding_curve25519_key_chain.add(senderKey); + + exportFormat = true; + senderKey = forwardedRoomKeyContent.sender_key; + if (null == senderKey) { + Log.e(LOG_TAG, "## onRoomKeyEvent() : forwarded_room_key event is missing sender_key field"); + return; + } + + String ed25519Key = forwardedRoomKeyContent.sender_claimed_ed25519_key; + + if (null == ed25519Key) { + Log.e(LOG_TAG, "## forwarded_room_key_event is missing sender_claimed_ed25519_key field"); + return; + } + + keysClaimed.put("ed25519", ed25519Key); + } else { + Log.d(LOG_TAG, "## onRoomKeyEvent(), Adding key : roomId " + roomId + " sessionId " + sessionId + + " sessionKey " + sessionKey); // from " + event); + + if (null == senderKey) { + Log.e(LOG_TAG, "## onRoomKeyEvent() : key event has no sender key (not encrypted?)"); + return; + } + + // inherit the claimed ed25519 key from the setup message + keysClaimed = roomKeyEvent.getKeysClaimed(); + } + + mOlmDevice.addInboundGroupSession(sessionId, sessionKey, roomId, senderKey, forwarding_curve25519_key_chain, keysClaimed, exportFormat); + + Map content = new HashMap<>(); + content.put("algorithm", roomKeyContent.algorithm); + content.put("room_id", roomKeyContent.room_id); + content.put("session_id", roomKeyContent.session_id); + content.put("sender_key", senderKey); + mSession.getCrypto().cancelRoomKeyRequest(content); + + onNewSession(senderKey, sessionId); + } + + /** + * Check if the some messages can be decrypted with a new session + * + * @param senderKey the session sender key + * @param sessionId the session id + */ + public void onNewSession(String senderKey, String sessionId) { + String k = senderKey + "|" + sessionId; + + Map> pending = mPendingEvents.get(k); + + if (null != pending) { + // Have another go at decrypting events sent with this session. + mPendingEvents.remove(k); + + Set timelineIds = pending.keySet(); + + for (String timelineId : timelineIds) { + List events = pending.get(timelineId); + + for (Event event : events) { + MXEventDecryptionResult result = null; + + try { + result = decryptEvent(event, TextUtils.isEmpty(timelineId) ? null : timelineId); + } catch (MXDecryptionException e) { + Log.e(LOG_TAG, "## onNewSession() : Still can't decrypt " + event.eventId + ". Error " + e.getMessage(), e); + event.setCryptoError(e.getCryptoError()); + } + + if (null != result) { + final Event fEvent = event; + final MXEventDecryptionResult fResut = result; + mSession.getCrypto().getUIHandler().post(new Runnable() { + @Override + public void run() { + fEvent.setClearData(fResut); + mSession.getDataHandler().onEventDecrypted(fEvent); + } + }); + Log.d(LOG_TAG, "## onNewSession() : successful re-decryption of " + event.eventId); + } + } + } + } + } + + @Override + public boolean hasKeysForKeyRequest(IncomingRoomKeyRequest request) { + return (null != request) + && (null != request.mRequestBody) + && mOlmDevice.hasInboundSessionKeys(request.mRequestBody.room_id, request.mRequestBody.sender_key, request.mRequestBody.session_id); + } + + @Override + public void shareKeysWithDevice(final IncomingRoomKeyRequest request) { + // sanity checks + if ((null == request) || (null == request.mRequestBody)) { + return; + } + + final String userId = request.mUserId; + + mSession.getCrypto().getDeviceList().downloadKeys(Arrays.asList(userId), false, new ApiCallback>() { + @Override + public void onSuccess(MXUsersDevicesMap devicesMap) { + final String deviceId = request.mDeviceId; + final MXDeviceInfo deviceInfo = mSession.getCrypto().mCryptoStore.getUserDevice(deviceId, userId); + + if (null != deviceInfo) { + final RoomKeyRequestBody body = request.mRequestBody; + + Map> devicesByUser = new HashMap<>(); + devicesByUser.put(userId, new ArrayList<>(Arrays.asList(deviceInfo))); + + mSession.getCrypto().ensureOlmSessionsForDevices(devicesByUser, new ApiCallback>() { + @Override + public void onSuccess(MXUsersDevicesMap map) { + MXOlmSessionResult olmSessionResult = map.getObject(deviceId, userId); + + if ((null == olmSessionResult) || (null == olmSessionResult.mSessionId)) { + // no session with this device, probably because there + // were no one-time keys. + // + // ensureOlmSessionsForUsers has already done the logging, + // so just skip it. + return; + } + + Log.d(LOG_TAG, "## shareKeysWithDevice() : sharing keys for session " + body.sender_key + "|" + body.session_id + + " with device " + userId + ":" + deviceId); + + MXOlmInboundGroupSession2 inboundGroupSession = mSession.getCrypto() + .getOlmDevice().getInboundGroupSession(body.session_id, body.sender_key, body.room_id); + + Map payloadJson = new HashMap<>(); + payloadJson.put("type", Event.EVENT_TYPE_FORWARDED_ROOM_KEY); + payloadJson.put("content", inboundGroupSession.exportKeys()); + + Map encodedPayload = mSession.getCrypto().encryptMessage(payloadJson, Arrays.asList(deviceInfo)); + MXUsersDevicesMap> sendToDeviceMap = new MXUsersDevicesMap<>(); + sendToDeviceMap.setObject(encodedPayload, userId, deviceId); + + Log.d(LOG_TAG, "## shareKeysWithDevice() : sending to " + userId + ":" + deviceId); + mSession.getCryptoRestClient().sendToDevice(Event.EVENT_TYPE_MESSAGE_ENCRYPTED, sendToDeviceMap, new ApiCallback() { + @Override + public void onSuccess(Void info) { + Log.d(LOG_TAG, "## shareKeysWithDevice() : sent to " + userId + ":" + deviceId); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## shareKeysWithDevice() : sendToDevice " + userId + ":" + deviceId + " failed " + e.getMessage(), e); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## shareKeysWithDevice() : sendToDevice " + userId + ":" + deviceId + " failed " + e.getMessage()); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## shareKeysWithDevice() : sendToDevice " + userId + ":" + deviceId + " failed " + e.getMessage(), e); + } + }); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## shareKeysWithDevice() : ensureOlmSessionsForDevices " + userId + ":" + deviceId + " failed " + + e.getMessage(), e); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## shareKeysWithDevice() : ensureOlmSessionsForDevices " + userId + ":" + deviceId + " failed " + e.getMessage()); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## shareKeysWithDevice() : ensureOlmSessionsForDevices " + userId + ":" + deviceId + " failed " + + e.getMessage(), e); + } + }); + } else { + Log.e(LOG_TAG, "## shareKeysWithDevice() : ensureOlmSessionsForDevices " + userId + ":" + deviceId + " not found"); + } + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## shareKeysWithDevice() : downloadKeys " + userId + " failed " + e.getMessage(), e); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## shareKeysWithDevice() : downloadKeys " + userId + " failed " + e.getMessage()); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## shareKeysWithDevice() : downloadKeys " + userId + " failed " + e.getMessage(), e); + } + }); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/megolm/MXMegolmEncryption.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/megolm/MXMegolmEncryption.java new file mode 100644 index 00000000..eb4e13c7 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/megolm/MXMegolmEncryption.java @@ -0,0 +1,714 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto.algorithms.megolm; + +import android.text.TextUtils; + +import com.google.gson.JsonElement; + +import im.vector.matrix.android.internal.legacy.MXSession; +import im.vector.matrix.android.internal.legacy.crypto.MXCrypto; +import im.vector.matrix.android.internal.legacy.crypto.MXCryptoAlgorithms; +import im.vector.matrix.android.internal.legacy.crypto.MXCryptoError; +import im.vector.matrix.android.internal.legacy.crypto.MXOlmDevice; +import im.vector.matrix.android.internal.legacy.crypto.algorithms.IMXEncrypting; +import im.vector.matrix.android.internal.legacy.crypto.data.MXDeviceInfo; +import im.vector.matrix.android.internal.legacy.crypto.data.MXOlmSessionResult; +import im.vector.matrix.android.internal.legacy.crypto.data.MXQueuedEncryption; +import im.vector.matrix.android.internal.legacy.crypto.data.MXUsersDevicesMap; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class MXMegolmEncryption implements IMXEncrypting { + private static final String LOG_TAG = MXMegolmEncryption.class.getSimpleName(); + + private MXSession mSession; + private MXCrypto mCrypto; + + // The id of the room we will be sending to. + private String mRoomId; + + private String mDeviceId; + + // OutboundSessionInfo. Null if we haven't yet started setting one up. Note + // that even if this is non-null, it may not be ready for use (in which + // case outboundSession.shareOperation will be non-null.) + private MXOutboundSessionInfo mOutboundSession; + + // true when there is an HTTP operation in progress + private boolean mShareOperationIsProgress; + + private final List mPendingEncryptions = new ArrayList<>(); + + // Session rotation periods + private int mSessionRotationPeriodMsgs; + private int mSessionRotationPeriodMs; + + @Override + public void initWithMatrixSession(MXSession matrixSession, String roomId) { + mSession = matrixSession; + mCrypto = matrixSession.getCrypto(); + + mRoomId = roomId; + mDeviceId = matrixSession.getCredentials().deviceId; + + // Default rotation periods + // TODO: Make it configurable via parameters + mSessionRotationPeriodMsgs = 100; + mSessionRotationPeriodMs = 7 * 24 * 3600 * 1000; + } + + /** + * @return a snapshot of the pending encryptions + */ + private List getPendingEncryptions() { + List list = new ArrayList<>(); + + synchronized (mPendingEncryptions) { + list.addAll(mPendingEncryptions); + } + + return list; + } + + @Override + public void encryptEventContent(final JsonElement eventContent, + final String eventType, + final List userIds, + final ApiCallback callback) { + // Queue the encryption request + // It will be processed when everything is set up + MXQueuedEncryption queuedEncryption = new MXQueuedEncryption(); + + queuedEncryption.mEventContent = eventContent; + queuedEncryption.mEventType = eventType; + queuedEncryption.mApiCallback = callback; + + synchronized (mPendingEncryptions) { + mPendingEncryptions.add(queuedEncryption); + } + + final long t0 = System.currentTimeMillis(); + Log.d(LOG_TAG, "## encryptEventContent () starts"); + + getDevicesInRoom(userIds, new ApiCallback>() { + + /** + * A network error has been received while encrypting + * @param e the exception + */ + private void dispatchNetworkError(Exception e) { + Log.e(LOG_TAG, "## encryptEventContent() : onNetworkError " + e.getMessage(), e); + List queuedEncryptions = getPendingEncryptions(); + + for (MXQueuedEncryption queuedEncryption : queuedEncryptions) { + queuedEncryption.mApiCallback.onNetworkError(e); + } + + synchronized (mPendingEncryptions) { + mPendingEncryptions.removeAll(queuedEncryptions); + } + } + + /** + * A matrix error has been received while encrypting + * @param e the exception + */ + private void dispatchMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## encryptEventContent() : onMatrixError " + e.getMessage()); + + List queuedEncryptions = getPendingEncryptions(); + + for (MXQueuedEncryption queuedEncryption : queuedEncryptions) { + queuedEncryption.mApiCallback.onMatrixError(e); + } + + synchronized (mPendingEncryptions) { + mPendingEncryptions.removeAll(queuedEncryptions); + } + } + + /** + * An unexpected error has been received while encrypting + * @param e the exception + */ + private void dispatchUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## onUnexpectedError() : onMatrixError " + e.getMessage(), e); + + List queuedEncryptions = getPendingEncryptions(); + + for (MXQueuedEncryption queuedEncryption : queuedEncryptions) { + queuedEncryption.mApiCallback.onUnexpectedError(e); + } + + synchronized (mPendingEncryptions) { + mPendingEncryptions.removeAll(queuedEncryptions); + } + } + + @Override + public void onSuccess(MXUsersDevicesMap devicesInRoom) { + ensureOutboundSession(devicesInRoom, new ApiCallback() { + @Override + public void onSuccess(final MXOutboundSessionInfo session) { + mCrypto.getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + Log.d(LOG_TAG, "## encryptEventContent () processPendingEncryptions after " + (System.currentTimeMillis() - t0) + "ms"); + processPendingEncryptions(session); + } + }); + } + + @Override + public void onNetworkError(Exception e) { + dispatchNetworkError(e); + } + + @Override + public void onMatrixError(MatrixError e) { + dispatchMatrixError(e); + } + + @Override + public void onUnexpectedError(Exception e) { + dispatchUnexpectedError(e); + } + }); + } + + @Override + public void onNetworkError(Exception e) { + dispatchNetworkError(e); + } + + @Override + public void onMatrixError(MatrixError e) { + dispatchMatrixError(e); + } + + @Override + public void onUnexpectedError(Exception e) { + dispatchUnexpectedError(e); + } + }); + + + } + + /** + * Prepare a new session. + * + * @return the session description + */ + private MXOutboundSessionInfo prepareNewSessionInRoom() { + MXOlmDevice olmDevice = mCrypto.getOlmDevice(); + final String sessionId = olmDevice.createOutboundGroupSession(); + + Map keysClaimedMap = new HashMap<>(); + keysClaimedMap.put("ed25519", olmDevice.getDeviceEd25519Key()); + + olmDevice.addInboundGroupSession(sessionId, olmDevice.getSessionKey(sessionId), mRoomId, olmDevice.getDeviceCurve25519Key(), + new ArrayList(), keysClaimedMap, false); + + return new MXOutboundSessionInfo(sessionId); + } + + /** + * Ensure the outbound session + * + * @param devicesInRoom the devices list + * @param callback the asynchronous callback. + */ + private void ensureOutboundSession(MXUsersDevicesMap devicesInRoom, final ApiCallback callback) { + MXOutboundSessionInfo session = mOutboundSession; + + if ((null == session) + // Need to make a brand new session? + || session.needsRotation(mSessionRotationPeriodMsgs, mSessionRotationPeriodMs) + // Determine if we have shared with anyone we shouldn't have + || session.sharedWithTooManyDevices(devicesInRoom)) { + mOutboundSession = session = prepareNewSessionInRoom(); + } + + if (mShareOperationIsProgress) { + Log.d(LOG_TAG, "## ensureOutboundSessionInRoom() : already in progress"); + // Key share already in progress + return; + } + + final MXOutboundSessionInfo fSession = session; + + Map> shareMap = new HashMap<>(); + + List userIds = devicesInRoom.getUserIds(); + + for (String userId : userIds) { + List deviceIds = devicesInRoom.getUserDeviceIds(userId); + + for (String deviceId : deviceIds) { + MXDeviceInfo deviceInfo = devicesInRoom.getObject(deviceId, userId); + + if (null == fSession.mSharedWithDevices.getObject(deviceId, userId)) { + if (!shareMap.containsKey(userId)) { + shareMap.put(userId, new ArrayList()); + } + + shareMap.get(userId).add(deviceInfo); + } + } + } + + shareKey(fSession, shareMap, new ApiCallback() { + @Override + public void onSuccess(Void anything) { + mShareOperationIsProgress = false; + if (null != callback) { + callback.onSuccess(fSession); + } + } + + @Override + public void onNetworkError(final Exception e) { + Log.e(LOG_TAG, "## ensureOutboundSessionInRoom() : shareKey onNetworkError " + e.getMessage(), e); + + if (null != callback) { + callback.onNetworkError(e); + } + mShareOperationIsProgress = false; + } + + @Override + public void onMatrixError(final MatrixError e) { + Log.e(LOG_TAG, "## ensureOutboundSessionInRoom() : shareKey onMatrixError " + e.getMessage()); + + if (null != callback) { + callback.onMatrixError(e); + } + mShareOperationIsProgress = false; + } + + @Override + public void onUnexpectedError(final Exception e) { + Log.e(LOG_TAG, "## ensureOutboundSessionInRoom() : shareKey onUnexpectedError " + e.getMessage(), e); + + if (null != callback) { + callback.onUnexpectedError(e); + } + mShareOperationIsProgress = false; + } + }); + + } + + /** + * Share the device key to a list of users + * + * @param session the session info + * @param devicesByUsers the devices map + * @param callback the asynchronous callback + */ + private void shareKey(final MXOutboundSessionInfo session, + final Map> devicesByUsers, + final ApiCallback callback) { + // nothing to send, the task is done + if (0 == devicesByUsers.size()) { + Log.d(LOG_TAG, "## shareKey() : nothing more to do"); + + if (null != callback) { + mCrypto.getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onSuccess(null); + } + }); + } + + return; + } + + // reduce the map size to avoid request timeout when there are too devices (Users size * devices per user) + Map> subMap = new HashMap<>(); + + final List userIds = new ArrayList<>(); + int devicesCount = 0; + + for (String userId : devicesByUsers.keySet()) { + List devicesList = devicesByUsers.get(userId); + + userIds.add(userId); + subMap.put(userId, devicesList); + + devicesCount += devicesList.size(); + + if (devicesCount > 100) { + break; + } + } + + Log.d(LOG_TAG, "## shareKey() ; userId " + userIds); + shareUserDevicesKey(session, subMap, new ApiCallback() { + @Override + public void onSuccess(Void info) { + mCrypto.getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + for (String userId : userIds) { + devicesByUsers.remove(userId); + } + shareKey(session, devicesByUsers, callback); + } + }); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## shareKey() ; userIds " + userIds + " failed " + e.getMessage(), e); + if (null != callback) { + callback.onNetworkError(e); + } + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## shareKey() ; userIds " + userIds + " failed " + e.getMessage()); + if (null != callback) { + callback.onMatrixError(e); + } + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## shareKey() ; userIds " + userIds + " failed " + e.getMessage(), e); + if (null != callback) { + callback.onUnexpectedError(e); + } + } + }); + } + + /** + * Share the device keys of a an user + * + * @param session the session info + * @param devicesByUser the devices map + * @param callback the asynchronous callback + */ + private void shareUserDevicesKey(final MXOutboundSessionInfo session, + final Map> devicesByUser, + final ApiCallback callback) { + final String sessionKey = mCrypto.getOlmDevice().getSessionKey(session.mSessionId); + final int chainIndex = mCrypto.getOlmDevice().getMessageIndex(session.mSessionId); + + Map submap = new HashMap<>(); + submap.put("algorithm", MXCryptoAlgorithms.MXCRYPTO_ALGORITHM_MEGOLM); + submap.put("room_id", mRoomId); + submap.put("session_id", session.mSessionId); + submap.put("session_key", sessionKey); + submap.put("chain_index", chainIndex); + + final Map payload = new HashMap<>(); + payload.put("type", Event.EVENT_TYPE_ROOM_KEY); + payload.put("content", submap); + + final long t0 = System.currentTimeMillis(); + Log.d(LOG_TAG, "## shareUserDevicesKey() : starts"); + + mCrypto.ensureOlmSessionsForDevices(devicesByUser, new ApiCallback>() { + @Override + public void onSuccess(final MXUsersDevicesMap results) { + mCrypto.getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + Log.d(LOG_TAG, "## shareUserDevicesKey() : ensureOlmSessionsForDevices succeeds after " + (System.currentTimeMillis() - t0) + " ms"); + MXUsersDevicesMap> contentMap = new MXUsersDevicesMap<>(); + + boolean haveTargets = false; + List userIds = results.getUserIds(); + + for (String userId : userIds) { + List devicesToShareWith = devicesByUser.get(userId); + + for (MXDeviceInfo deviceInfo : devicesToShareWith) { + String deviceID = deviceInfo.deviceId; + + MXOlmSessionResult sessionResult = results.getObject(deviceID, userId); + + if ((null == sessionResult) || (null == sessionResult.mSessionId)) { + // no session with this device, probably because there + // were no one-time keys. + // + // we could send them a to_device message anyway, as a + // signal that they have missed out on the key sharing + // message because of the lack of keys, but there's not + // much point in that really; it will mostly serve to clog + // up to_device inboxes. + // + // ensureOlmSessionsForUsers has already done the logging, + // so just skip it. + continue; + } + + Log.d(LOG_TAG, "## shareUserDevicesKey() : Sharing keys with device " + userId + ":" + deviceID); + //noinspection ArraysAsListWithZeroOrOneArgument,ArraysAsListWithZeroOrOneArgument + contentMap.setObject(mCrypto.encryptMessage(payload, Arrays.asList(sessionResult.mDevice)), userId, deviceID); + haveTargets = true; + } + } + + if (haveTargets && !mCrypto.hasBeenReleased()) { + final long t0 = System.currentTimeMillis(); + Log.d(LOG_TAG, "## shareUserDevicesKey() : has target"); + + mSession.getCryptoRestClient().sendToDevice(Event.EVENT_TYPE_MESSAGE_ENCRYPTED, contentMap, new ApiCallback() { + @Override + public void onSuccess(Void info) { + mCrypto.getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + Log.d(LOG_TAG, "## shareUserDevicesKey() : sendToDevice succeeds after " + + (System.currentTimeMillis() - t0) + " ms"); + + // Add the devices we have shared with to session.sharedWithDevices. + // we deliberately iterate over devicesByUser (ie, the devices we + // attempted to share with) rather than the contentMap (those we did + // share with), because we don't want to try to claim a one-time-key + // for dead devices on every message. + for (String userId : devicesByUser.keySet()) { + List devicesToShareWith = devicesByUser.get(userId); + + for (MXDeviceInfo deviceInfo : devicesToShareWith) { + session.mSharedWithDevices.setObject(chainIndex, userId, deviceInfo.deviceId); + } + } + + mCrypto.getUIHandler().post(new Runnable() { + @Override + public void run() { + if (null != callback) { + callback.onSuccess(null); + } + } + }); + } + }); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## shareUserDevicesKey() : sendToDevice onNetworkError " + e.getMessage(), e); + + if (null != callback) { + callback.onNetworkError(e); + } + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## shareUserDevicesKey() : sendToDevice onMatrixError " + e.getMessage()); + + if (null != callback) { + callback.onMatrixError(e); + } + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## shareUserDevicesKey() : sendToDevice onUnexpectedError " + e.getMessage(), e); + + if (null != callback) { + callback.onUnexpectedError(e); + } + } + }); + } else { + Log.d(LOG_TAG, "## shareUserDevicesKey() : no need to sharekey"); + + if (null != callback) { + mCrypto.getUIHandler().post(new Runnable() { + @Override + public void run() { + callback.onSuccess(null); + } + }); + } + } + } + }); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## shareUserDevicesKey() : ensureOlmSessionsForDevices failed " + e.getMessage(), e); + + if (null != callback) { + callback.onNetworkError(e); + } + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## shareUserDevicesKey() : ensureOlmSessionsForDevices failed " + e.getMessage()); + + if (null != callback) { + callback.onMatrixError(e); + } + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## shareUserDevicesKey() : ensureOlmSessionsForDevices failed " + e.getMessage(), e); + + if (null != callback) { + callback.onUnexpectedError(e); + } + } + }); + } + + /** + * process the pending encryptions + */ + private void processPendingEncryptions(MXOutboundSessionInfo session) { + if (null != session) { + List queuedEncryptions = getPendingEncryptions(); + + // Everything is in place, encrypt all pending events + for (MXQueuedEncryption queuedEncryption : queuedEncryptions) { + Map payloadJson = new HashMap<>(); + + payloadJson.put("room_id", mRoomId); + payloadJson.put("type", queuedEncryption.mEventType); + payloadJson.put("content", queuedEncryption.mEventContent); + + String payloadString = JsonUtils.convertToUTF8(JsonUtils.canonicalize(JsonUtils.getGson(false).toJsonTree(payloadJson)).toString()); + String ciphertext = mCrypto.getOlmDevice().encryptGroupMessage(session.mSessionId, payloadString); + + final Map map = new HashMap<>(); + map.put("algorithm", MXCryptoAlgorithms.MXCRYPTO_ALGORITHM_MEGOLM); + map.put("sender_key", mCrypto.getOlmDevice().getDeviceCurve25519Key()); + map.put("ciphertext", ciphertext); + map.put("session_id", session.mSessionId); + + // Include our device ID so that recipients can send us a + // m.new_device message if they don't have our session key. + map.put("device_id", mDeviceId); + + final MXQueuedEncryption fQueuedEncryption = queuedEncryption; + mCrypto.getUIHandler().post(new Runnable() { + @Override + public void run() { + fQueuedEncryption.mApiCallback.onSuccess(JsonUtils.getGson(false).toJsonTree(map)); + } + }); + + session.mUseCount++; + } + + synchronized (mPendingEncryptions) { + mPendingEncryptions.removeAll(queuedEncryptions); + } + } + } + + /** + * Get the list of devices which can encrypt data to. + * This method must be called in getDecryptingThreadHandler() thread. + * + * @param userIds the user ids whose devices must be checked. + * @param callback the asynchronous callback + */ + private void getDevicesInRoom(final List userIds, final ApiCallback> callback) { + // We are happy to use a cached version here: we assume that if we already + // have a list of the user's devices, then we already share an e2e room + // with them, which means that they will have announced any new devices via + // an m.new_device. + mCrypto.getDeviceList().downloadKeys(userIds, false, new SimpleApiCallback>(callback) { + @Override + public void onSuccess(final MXUsersDevicesMap devices) { + mCrypto.getEncryptingThreadHandler().post(new Runnable() { + @Override + public void run() { + boolean encryptToVerifiedDevicesOnly = mCrypto.getGlobalBlacklistUnverifiedDevices() + || mCrypto.isRoomBlacklistUnverifiedDevices(mRoomId); + + final MXUsersDevicesMap devicesInRoom = new MXUsersDevicesMap<>(); + final MXUsersDevicesMap unknownDevices = new MXUsersDevicesMap<>(); + + List userIds = devices.getUserIds(); + + for (String userId : userIds) { + List deviceIds = devices.getUserDeviceIds(userId); + + for (String deviceId : deviceIds) { + MXDeviceInfo deviceInfo = devices.getObject(deviceId, userId); + + if (mCrypto.warnOnUnknownDevices() && deviceInfo.isUnknown()) { + // The device is not yet known by the user + unknownDevices.setObject(deviceInfo, userId, deviceId); + continue; + } + + if (deviceInfo.isBlocked()) { + // Remove any blocked devices + continue; + } + + if (!deviceInfo.isVerified() && encryptToVerifiedDevicesOnly) { + continue; + } + + if (TextUtils.equals(deviceInfo.identityKey(), mCrypto.getOlmDevice().getDeviceCurve25519Key())) { + // Don't bother sending to ourself + continue; + } + + devicesInRoom.setObject(deviceInfo, userId, deviceId); + } + } + + mCrypto.getUIHandler().post(new Runnable() { + @Override + public void run() { + // Check if any of these devices are not yet known to the user. + // if so, warn the user so they can verify or ignore. + if (0 != unknownDevices.getMap().size()) { + callback.onMatrixError(new MXCryptoError(MXCryptoError.UNKNOWN_DEVICES_CODE, + MXCryptoError.UNABLE_TO_ENCRYPT, MXCryptoError.UNKNOWN_DEVICES_REASON, unknownDevices)); + } else { + callback.onSuccess(devicesInRoom); + } + } + }); + } + }); + } + }); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/megolm/MXOutboundSessionInfo.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/megolm/MXOutboundSessionInfo.java new file mode 100644 index 00000000..b57e928a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/megolm/MXOutboundSessionInfo.java @@ -0,0 +1,89 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2017 Vector Creations 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto.algorithms.megolm; + +import im.vector.matrix.android.internal.legacy.crypto.data.MXDeviceInfo; +import im.vector.matrix.android.internal.legacy.util.Log; +import im.vector.matrix.android.internal.legacy.crypto.data.MXUsersDevicesMap; + +import java.util.List; + +public class MXOutboundSessionInfo { + private static final String LOG_TAG = MXOutboundSessionInfo.class.getSimpleName(); + + // When the session was created + private final long mCreationTime; + + // The id of the session + public final String mSessionId; + + // Number of times this session has been used + public int mUseCount; + + // Devices with which we have shared the session key + // userId -> {deviceId -> msgindex} + public final MXUsersDevicesMap mSharedWithDevices; + + // constructor + public MXOutboundSessionInfo(String sessionId) { + mSessionId = sessionId; + mSharedWithDevices = new MXUsersDevicesMap<>(); + mCreationTime = System.currentTimeMillis(); + mUseCount = 0; + } + + public boolean needsRotation(int rotationPeriodMsgs, int rotationPeriodMs) { + boolean needsRotation = false; + long sessionLifetime = System.currentTimeMillis() - mCreationTime; + + if ((mUseCount >= rotationPeriodMsgs) || (sessionLifetime >= rotationPeriodMs)) { + Log.d(LOG_TAG, "## needsRotation() : Rotating megolm session after " + mUseCount + ", " + sessionLifetime + "ms"); + needsRotation = true; + } + + return needsRotation; + } + + /** + * Determine if this session has been shared with devices which it shouldn't have been. + * + * @param devicesInRoom the devices map + * @return true if we have shared the session with devices which aren't in devicesInRoom. + */ + public boolean sharedWithTooManyDevices(MXUsersDevicesMap devicesInRoom) { + List userIds = mSharedWithDevices.getUserIds(); + + for (String userId : userIds) { + if (null == devicesInRoom.getUserDeviceIds(userId)) { + Log.d(LOG_TAG, "## sharedWithTooManyDevices() : Starting new session because we shared with " + userId); + return true; + } + + List deviceIds = mSharedWithDevices.getUserDeviceIds(userId); + + for (String deviceId : deviceIds) { + if (null == devicesInRoom.getObject(deviceId, userId)) { + Log.d(LOG_TAG, "## sharedWithTooManyDevices() : Starting new session because we shared with " + userId + ":" + deviceId); + return true; + } + } + } + + return false; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/olm/MXOlmDecryption.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/olm/MXOlmDecryption.java new file mode 100644 index 00000000..20ca52f6 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/olm/MXOlmDecryption.java @@ -0,0 +1,272 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto.algorithms.olm; + +import android.text.TextUtils; + +import com.google.gson.JsonElement; +import com.google.gson.JsonParser; + +import im.vector.matrix.android.internal.legacy.MXSession; +import im.vector.matrix.android.internal.legacy.crypto.IncomingRoomKeyRequest; +import im.vector.matrix.android.internal.legacy.crypto.MXCryptoError; +import im.vector.matrix.android.internal.legacy.crypto.MXDecryptionException; +import im.vector.matrix.android.internal.legacy.crypto.MXEventDecryptionResult; +import im.vector.matrix.android.internal.legacy.crypto.MXOlmDevice; +import im.vector.matrix.android.internal.legacy.crypto.algorithms.IMXDecrypting; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.OlmEventContent; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.OlmPayloadContent; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * An interface for encrypting data + */ +public class MXOlmDecryption implements IMXDecrypting { + private static final String LOG_TAG = "MXOlmDecryption"; + + // The olm device interface + private MXOlmDevice mOlmDevice; + + // the matrix session + private MXSession mSession; + + @Override + public void initWithMatrixSession(MXSession matrixSession) { + mSession = matrixSession; + mOlmDevice = matrixSession.getCrypto().getOlmDevice(); + } + + @Override + public MXEventDecryptionResult decryptEvent(Event event, String timeline) throws MXDecryptionException { + // sanity check + if (null == event) { + Log.e(LOG_TAG, "## decryptEvent() : null event"); + return null; + } + + OlmEventContent olmEventContent = JsonUtils.toOlmEventContent(event.getWireContent().getAsJsonObject()); + String deviceKey = olmEventContent.sender_key; + Map ciphertext = olmEventContent.ciphertext; + + if (null == ciphertext) { + Log.e(LOG_TAG, "## decryptEvent() : missing cipher text"); + throw new MXDecryptionException(new MXCryptoError(MXCryptoError.MISSING_CIPHER_TEXT_ERROR_CODE, + MXCryptoError.UNABLE_TO_DECRYPT, MXCryptoError.MISSING_CIPHER_TEXT_REASON)); + } + + if (!ciphertext.containsKey(mOlmDevice.getDeviceCurve25519Key())) { + Log.e(LOG_TAG, "## decryptEvent() : our device " + mOlmDevice.getDeviceCurve25519Key() + + " is not included in recipients. Event " + event.getContentAsJsonObject()); + throw new MXDecryptionException(new MXCryptoError(MXCryptoError.NOT_INCLUDE_IN_RECIPIENTS_ERROR_CODE, + MXCryptoError.UNABLE_TO_DECRYPT, MXCryptoError.NOT_INCLUDED_IN_RECIPIENT_REASON)); + } + + // The message for myUser + Map message = (Map) ciphertext.get(mOlmDevice.getDeviceCurve25519Key()); + String payloadString = decryptMessage(message, deviceKey); + + if (null == payloadString) { + Log.e(LOG_TAG, "## decryptEvent() Failed to decrypt Olm event (id= " + event.eventId + " ) from " + deviceKey); + throw new MXDecryptionException(new MXCryptoError(MXCryptoError.BAD_ENCRYPTED_MESSAGE_ERROR_CODE, + MXCryptoError.UNABLE_TO_DECRYPT, MXCryptoError.BAD_ENCRYPTED_MESSAGE_REASON)); + } + + JsonElement payload = new JsonParser().parse(JsonUtils.convertFromUTF8(payloadString)); + + if (null == payload) { + Log.e(LOG_TAG, "## decryptEvent failed : null payload"); + throw new MXDecryptionException(new MXCryptoError(MXCryptoError.UNABLE_TO_DECRYPT_ERROR_CODE, + MXCryptoError.UNABLE_TO_DECRYPT, MXCryptoError.MISSING_CIPHER_TEXT_REASON)); + } + + OlmPayloadContent olmPayloadContent = JsonUtils.toOlmPayloadContent(payload); + + if (TextUtils.isEmpty(olmPayloadContent.recipient)) { + String reason = String.format(MXCryptoError.ERROR_MISSING_PROPERTY_REASON, "recipient"); + Log.e(LOG_TAG, "## decryptEvent() : " + reason); + throw new MXDecryptionException(new MXCryptoError(MXCryptoError.MISSING_PROPERTY_ERROR_CODE, + MXCryptoError.UNABLE_TO_DECRYPT, reason)); + } + + if (!TextUtils.equals(olmPayloadContent.recipient, mSession.getMyUserId())) { + Log.e(LOG_TAG, "## decryptEvent() : Event " + event.eventId + ": Intended recipient " + olmPayloadContent.recipient + + " does not match our id " + mSession.getMyUserId()); + throw new MXDecryptionException(new MXCryptoError(MXCryptoError.BAD_RECIPIENT_ERROR_CODE, + MXCryptoError.UNABLE_TO_DECRYPT, String.format(MXCryptoError.BAD_RECIPIENT_REASON, olmPayloadContent.recipient))); + } + + if (null == olmPayloadContent.recipient_keys) { + Log.e(LOG_TAG, "## decryptEvent() : Olm event (id=" + event.eventId + + ") contains no " + "'recipient_keys' property; cannot prevent unknown-key attack"); + throw new MXDecryptionException(new MXCryptoError(MXCryptoError.MISSING_PROPERTY_ERROR_CODE, + MXCryptoError.UNABLE_TO_DECRYPT, String.format(MXCryptoError.ERROR_MISSING_PROPERTY_REASON, "recipient_keys"))); + } + + String ed25519 = olmPayloadContent.recipient_keys.get("ed25519"); + + if (!TextUtils.equals(ed25519, mOlmDevice.getDeviceEd25519Key())) { + Log.e(LOG_TAG, "## decryptEvent() : Event " + event.eventId + ": Intended recipient ed25519 key " + ed25519 + " did not match ours"); + throw new MXDecryptionException(new MXCryptoError(MXCryptoError.BAD_RECIPIENT_KEY_ERROR_CODE, + MXCryptoError.UNABLE_TO_DECRYPT, MXCryptoError.BAD_RECIPIENT_KEY_REASON)); + } + + if (TextUtils.isEmpty(olmPayloadContent.sender)) { + Log.e(LOG_TAG, "## decryptEvent() : Olm event (id=" + event.eventId + + ") contains no 'sender' property; cannot prevent unknown-key attack"); + throw new MXDecryptionException(new MXCryptoError(MXCryptoError.MISSING_PROPERTY_ERROR_CODE, + MXCryptoError.UNABLE_TO_DECRYPT, String.format(MXCryptoError.ERROR_MISSING_PROPERTY_REASON, "sender"))); + } + + if (!TextUtils.equals(olmPayloadContent.sender, event.getSender())) { + Log.e(LOG_TAG, "Event " + event.eventId + ": original sender " + olmPayloadContent.sender + + " does not match reported sender " + event.getSender()); + throw new MXDecryptionException(new MXCryptoError(MXCryptoError.FORWARDED_MESSAGE_ERROR_CODE, + MXCryptoError.UNABLE_TO_DECRYPT, String.format(MXCryptoError.FORWARDED_MESSAGE_REASON, olmPayloadContent.sender))); + } + + if (!TextUtils.equals(olmPayloadContent.room_id, event.roomId)) { + Log.e(LOG_TAG, "## decryptEvent() : Event " + event.eventId + ": original room " + olmPayloadContent.room_id + + " does not match reported room " + event.roomId); + throw new MXDecryptionException(new MXCryptoError(MXCryptoError.BAD_ROOM_ERROR_CODE, + MXCryptoError.UNABLE_TO_DECRYPT, String.format(MXCryptoError.BAD_ROOM_REASON, olmPayloadContent.room_id))); + } + + if (null == olmPayloadContent.keys) { + Log.e(LOG_TAG, "## decryptEvent failed : null keys"); + throw new MXDecryptionException(new MXCryptoError(MXCryptoError.UNABLE_TO_DECRYPT_ERROR_CODE, + MXCryptoError.UNABLE_TO_DECRYPT, MXCryptoError.MISSING_CIPHER_TEXT_REASON)); + } + + MXEventDecryptionResult result = new MXEventDecryptionResult(); + result.mClearEvent = payload; + result.mSenderCurve25519Key = deviceKey; + result.mClaimedEd25519Key = olmPayloadContent.keys.get("ed25519"); + + return result; + } + + @Override + public void onRoomKeyEvent(Event event) { + // No impact for olm + } + + @Override + public void onNewSession(String senderKey, String sessionId) { + // No impact for olm + } + + @Override + public boolean hasKeysForKeyRequest(IncomingRoomKeyRequest request) { + return false; + } + + @Override + public void shareKeysWithDevice(IncomingRoomKeyRequest request) { + } + + /** + * Attempt to decrypt an Olm message. + * + * @param theirDeviceIdentityKey the Curve25519 identity key of the sender. + * @param message message object, with 'type' and 'body' fields. + * @return payload, if decrypted successfully. + */ + private String decryptMessage(Map message, String theirDeviceIdentityKey) { + Set sessionIdsSet = mOlmDevice.getSessionIds(theirDeviceIdentityKey); + + List sessionIds; + + if (null == sessionIdsSet) { + sessionIds = new ArrayList<>(); + } else { + sessionIds = new ArrayList<>(sessionIdsSet); + } + + String messageBody = (String) message.get("body"); + Integer messageType = null; + + Object typeAsVoid = message.get("type"); + + if (null != typeAsVoid) { + if (typeAsVoid instanceof Double) { + messageType = new Integer(((Double) typeAsVoid).intValue()); + } else if (typeAsVoid instanceof Integer) { + messageType = (Integer) typeAsVoid; + } else if (typeAsVoid instanceof Long) { + messageType = new Integer(((Long) typeAsVoid).intValue()); + } + } + + if ((null == messageBody) || (null == messageType)) { + return null; + } + + // Try each session in turn + // decryptionErrors = {}; + for (String sessionId : sessionIds) { + String payload = mOlmDevice.decryptMessage(messageBody, messageType, sessionId, theirDeviceIdentityKey); + + if (null != payload) { + Log.d(LOG_TAG, "## decryptMessage() : Decrypted Olm message from " + theirDeviceIdentityKey + " with session " + sessionId); + return payload; + } else { + boolean foundSession = mOlmDevice.matchesSession(theirDeviceIdentityKey, sessionId, messageType, messageBody); + + if (foundSession) { + // Decryption failed, but it was a prekey message matching this + // session, so it should have worked. + Log.e(LOG_TAG, "## decryptMessage() : Error decrypting prekey message with existing session id " + sessionId + ":TODO"); + return null; + } + } + } + + if (messageType != 0) { + // not a prekey message, so it should have matched an existing session, but it + // didn't work. + + if (sessionIds.size() == 0) { + Log.e(LOG_TAG, "## decryptMessage() : No existing sessions"); + } else { + Log.e(LOG_TAG, "## decryptMessage() : Error decrypting non-prekey message with existing sessions"); + } + + return null; + } + + // prekey message which doesn't match any existing sessions: make a new + // session. + Map res = mOlmDevice.createInboundSession(theirDeviceIdentityKey, messageType, messageBody); + + if (null == res) { + Log.e(LOG_TAG, "## decryptMessage() : Error decrypting non-prekey message with existing sessions"); + return null; + } + + Log.d(LOG_TAG, "## decryptMessage() : Created new inbound Olm session get id " + res.get("session_id") + " with " + theirDeviceIdentityKey); + + return res.get("payload"); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/olm/MXOlmEncryption.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/olm/MXOlmEncryption.java new file mode 100644 index 00000000..e3db32cd --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/algorithms/olm/MXOlmEncryption.java @@ -0,0 +1,126 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto.algorithms.olm; + +import android.text.TextUtils; + +import com.google.gson.JsonElement; + +import im.vector.matrix.android.internal.legacy.MXSession; +import im.vector.matrix.android.internal.legacy.crypto.MXCrypto; +import im.vector.matrix.android.internal.legacy.crypto.algorithms.IMXEncrypting; +import im.vector.matrix.android.internal.legacy.crypto.data.MXDeviceInfo; +import im.vector.matrix.android.internal.legacy.crypto.data.MXOlmSessionResult; +import im.vector.matrix.android.internal.legacy.crypto.data.MXUsersDevicesMap; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class MXOlmEncryption implements IMXEncrypting { + private MXCrypto mCrypto; + private String mRoomId; + + @Override + public void initWithMatrixSession(MXSession matrixSession, String roomId) { + mCrypto = matrixSession.getCrypto(); + mRoomId = roomId; + } + + /** + * @return the stored device keys for a user. + */ + private List getUserDevices(final String userId) { + Map map = mCrypto.getCryptoStore().getUserDevices(userId); + return (null != map) ? new ArrayList<>(map.values()) : new ArrayList(); + } + + @Override + public void encryptEventContent(final JsonElement eventContent, + final String eventType, + final List userIds, + final ApiCallback callback) { + // pick the list of recipients based on the membership list. + // + // TODO: there is a race condition here! What if a new user turns up + ensureSession(userIds, new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + List deviceInfos = new ArrayList<>(); + + for (String userId : userIds) { + List devices = getUserDevices(userId); + + if (null != devices) { + for (MXDeviceInfo device : devices) { + String key = device.identityKey(); + + if (TextUtils.equals(key, mCrypto.getOlmDevice().getDeviceCurve25519Key())) { + // Don't bother setting up session to ourself + continue; + } + + if (device.isBlocked()) { + // Don't bother setting up sessions with blocked users + continue; + } + + deviceInfos.add(device); + } + } + } + + Map messageMap = new HashMap<>(); + messageMap.put("room_id", mRoomId); + messageMap.put("type", eventType); + messageMap.put("content", eventContent); + + mCrypto.encryptMessage(messageMap, deviceInfos); + callback.onSuccess(JsonUtils.getGson(false).toJsonTree(messageMap)); + } + } + ); + } + + /** + * Ensure that the session + * + * @param users the user ids list + * @param callback the asynchronous callback + */ + private void ensureSession(final List users, final ApiCallback callback) { + mCrypto.getDeviceList().downloadKeys(users, false, new SimpleApiCallback>(callback) { + @Override + public void onSuccess(MXUsersDevicesMap info) { + mCrypto.ensureOlmSessionsForUsers(users, new SimpleApiCallback>(callback) { + @Override + public void onSuccess(MXUsersDevicesMap result) { + if (null != callback) { + callback.onSuccess(null); + } + } + }); + } + }); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXDeviceInfo.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXDeviceInfo.java new file mode 100755 index 00000000..5bb2e7bc --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXDeviceInfo.java @@ -0,0 +1,225 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto.data; + +import android.text.TextUtils; + +import java.io.Serializable; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class MXDeviceInfo implements Serializable { + private static final long serialVersionUID = 20129670646382964L; + // + //private static final String LOG_TAG = "MXDeviceInfo"; + + // This device is a new device and the user was not warned it has been added. + public static final int DEVICE_VERIFICATION_UNKNOWN = -1; + + // The user has not yet verified this device. + public static final int DEVICE_VERIFICATION_UNVERIFIED = 0; + + // The user has verified this device. + public static final int DEVICE_VERIFICATION_VERIFIED = 1; + + // The user has blocked this device. + public static final int DEVICE_VERIFICATION_BLOCKED = 2; + + /** + * The id of this device. + */ + public String deviceId; + + /** + * the user id + */ + public String userId; + + /** + * The list of algorithms supported by this device. + */ + public List algorithms; + + /** + * A map from : to >. + */ + public Map keys; + + /** + * The signature of this MXDeviceInfo. + * A map from : to >. + */ + public Map> signatures; + + /* + * Additional data from the home server. + */ + public Map unsigned; + + /** + * Verification state of this device. + */ + public int mVerified; + + /** + * Constructor + */ + public MXDeviceInfo() { + mVerified = DEVICE_VERIFICATION_UNKNOWN; + } + + /** + * Constructor + * + * @param aDeviceId the device id + */ + public MXDeviceInfo(String aDeviceId) { + deviceId = aDeviceId; + mVerified = DEVICE_VERIFICATION_UNKNOWN; + } + + /** + * Tells if the device is unknown + * + * @return true if the device is unknown + */ + public boolean isUnknown() { + return mVerified == DEVICE_VERIFICATION_UNKNOWN; + } + + /** + * Tells if the device is verified. + * + * @return true if the device is verified + */ + public boolean isVerified() { + return mVerified == DEVICE_VERIFICATION_VERIFIED; + } + + /** + * Tells if the device is unverified. + * + * @return true if the device is unverified + */ + public boolean isUnverified() { + return mVerified == DEVICE_VERIFICATION_UNVERIFIED; + } + + /** + * Tells if the device is blocked. + * + * @return true if the device is blocked + */ + public boolean isBlocked() { + return mVerified == DEVICE_VERIFICATION_BLOCKED; + } + + /** + * @return the fingerprint + */ + public String fingerprint() { + if ((null != keys) && !TextUtils.isEmpty(deviceId)) { + return keys.get("ed25519:" + deviceId); + } + + return null; + } + + /** + * @return the identity key + */ + public String identityKey() { + if ((null != keys) && !TextUtils.isEmpty(deviceId)) { + return keys.get("curve25519:" + deviceId); + } + + return null; + } + + /** + * @return the display name + */ + public String displayName() { + if (null != unsigned) { + return (String) unsigned.get("device_display_name"); + } + + return null; + } + + /** + * @return the signed data map + */ + public Map signalableJSONDictionary() { + Map map = new HashMap<>(); + + map.put("device_id", deviceId); + + if (null != userId) { + map.put("user_id", userId); + } + + if (null != algorithms) { + map.put("algorithms", algorithms); + } + + if (null != keys) { + map.put("keys", keys); + } + + return map; + } + + /** + * @return a dictionary of the parameters + */ + public Map JSONDictionary() { + Map JSONDictionary = new HashMap<>(); + + JSONDictionary.put("device_id", deviceId); + + if (null != userId) { + JSONDictionary.put("user_id", userId); + } + + if (null != algorithms) { + JSONDictionary.put("algorithms", algorithms); + } + + if (null != keys) { + JSONDictionary.put("keys", keys); + } + + if (null != signatures) { + JSONDictionary.put("signatures", signatures); + } + + if (null != unsigned) { + JSONDictionary.put("unsigned", unsigned); + } + + return JSONDictionary; + } + + @Override + public java.lang.String toString() { + return "MXDeviceInfo " + userId + ":" + deviceId; + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXEncryptEventContentResult.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXEncryptEventContentResult.java new file mode 100755 index 00000000..76a67847 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXEncryptEventContentResult.java @@ -0,0 +1,46 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto.data; + +import com.google.gson.JsonElement; + +import java.io.Serializable; + +public class MXEncryptEventContentResult implements Serializable { + //public static final String LOG_TAG = "MXEncryptEventContentResult"; + + /** + * The event content + */ + public final JsonElement mEventContent; + + /** + * the event type + */ + public final String mEventType; + + /** + * Constructor + * + * @param eventContent the eventContent + * @param eventType the eventType + */ + public MXEncryptEventContentResult(JsonElement eventContent, String eventType) { + mEventContent = eventContent; + mEventType = eventType; + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXKey.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXKey.java new file mode 100755 index 00000000..7666bda2 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXKey.java @@ -0,0 +1,140 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto.data; + +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class MXKey implements Serializable { + private static final String LOG_TAG = "MXKey"; + /** + * Key types. + */ + public static final String KEY_CURVE_25519_TYPE = "curve25519"; + public static final String KEY_SIGNED_CURVE_25519_TYPE = "signed_curve25519"; + //public static final String KEY_ED_25519_TYPE = "ed25519"; + + /** + * The type of the key. + */ + public String type; + + /** + * The id of the key. + */ + public String keyId; + + /** + * The key. + */ + public String value; + + /** + * signature user Id to [deviceid][signature] + */ + public Map> signatures; + + /** + * Default constructor + */ + public MXKey() { + } + + /** + * Convert a map to a MXKey + * + * @param map the map to convert + */ + public MXKey(Map> map) { + if ((null != map) && (map.size() > 0)) { + List mapKeys = new ArrayList<>(map.keySet()); + + String firstEntry = mapKeys.get(0); + setKeyFullId(firstEntry); + + Map params = map.get(firstEntry); + value = (String) params.get("key"); + signatures = (Map>) params.get("signatures"); + } + } + + /** + * @return the key full id + */ + public String getKeyFullId() { + return type + ":" + keyId; + } + + /** + * Update the key fields with a key full id + * + * @param keyFullId the key full id + */ + private void setKeyFullId(String keyFullId) { + if (!TextUtils.isEmpty(keyFullId)) { + try { + String[] components = keyFullId.split(":"); + + if (components.length == 2) { + type = components[0]; + keyId = components[1]; + } + } catch (Exception e) { + Log.e(LOG_TAG, "## setKeyFullId() failed : " + e.getMessage(), e); + } + } + } + + /** + * @return the signed data map + */ + public Map signalableJSONDictionary() { + Map map = new HashMap<>(); + + if (null != value) { + map.put("key", value); + } + + return map; + } + + /** + * Returns a signature for an user Id and a signkey + * + * @param userId the user id + * @param signkey the sign key + * @return the signature + */ + public String signatureForUserId(String userId, String signkey) { + // sanity checks + if (!TextUtils.isEmpty(userId) && !TextUtils.isEmpty(signkey)) { + if ((null != signatures) && signatures.containsKey(userId)) { + return signatures.get(userId).get(signkey); + } + } + + return null; + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXOlmInboundGroupSession.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXOlmInboundGroupSession.java new file mode 100755 index 00000000..45713015 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXOlmInboundGroupSession.java @@ -0,0 +1,60 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto.data; + +import im.vector.matrix.android.internal.legacy.util.Log; + +import org.matrix.olm.OlmInboundGroupSession; + +import java.io.Serializable; + +import java.util.Map; + + +/** + * This class adds more context to a OLMInboundGroupSession object. + * This allows additional checks. The class implements NSCoding so that the context can be stored. + */ +public class MXOlmInboundGroupSession implements Serializable { + // + private static final String LOG_TAG = "OlmInboundGroupSession"; + + // The associated olm inbound group session. + public OlmInboundGroupSession mSession; + + // The room in which this session is used. + public String mRoomId; + + // The base64-encoded curve25519 key of the sender. + public String mSenderKey; + + // Other keys the sender claims. + public Map mKeysClaimed; + + /** + * Constructor + * + * @param sessionKey the session key + */ + public MXOlmInboundGroupSession(String sessionKey) { + try { + mSession = new OlmInboundGroupSession(sessionKey); + } catch (Exception e) { + Log.e(LOG_TAG, "Cannot create : " + e.getMessage(), e); + } + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXOlmInboundGroupSession2.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXOlmInboundGroupSession2.java new file mode 100755 index 00000000..d98838cd --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXOlmInboundGroupSession2.java @@ -0,0 +1,172 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto.data; + +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.crypto.MXCryptoAlgorithms; +import im.vector.matrix.android.internal.legacy.util.Log; +import org.matrix.olm.OlmInboundGroupSession; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * This class adds more context to a OLMInboundGroupSession object. + * This allows additional checks. The class implements NSCoding so that the context can be stored. + */ +public class MXOlmInboundGroupSession2 implements Serializable { + // + private static final String LOG_TAG = "OlmInboundGroupSession"; + + // define a serialVersionUID to avoid having to redefine the class after updates + private static final long serialVersionUID = 201702011617L; + + // The associated olm inbound group session. + public OlmInboundGroupSession mSession; + + // The room in which this session is used. + public String mRoomId; + + // The base64-encoded curve25519 key of the sender. + public String mSenderKey; + + // Other keys the sender claims. + public Map mKeysClaimed; + + // Devices which forwarded this session to us (normally empty). + public List mForwardingCurve25519KeyChain = new ArrayList<>(); + + /** + * Constructor + * + * @param prevFormatSession the previous session format + */ + public MXOlmInboundGroupSession2(MXOlmInboundGroupSession prevFormatSession) { + mSession = prevFormatSession.mSession; + mRoomId = prevFormatSession.mRoomId; + mSenderKey = prevFormatSession.mSenderKey; + mKeysClaimed = prevFormatSession.mKeysClaimed; + } + + /** + * Constructor + * + * @param sessionKey the session key + * @param isImported true if it is an imported session key + */ + public MXOlmInboundGroupSession2(String sessionKey, boolean isImported) { + try { + if (!isImported) { + mSession = new OlmInboundGroupSession(sessionKey); + } else { + mSession = OlmInboundGroupSession.importSession(sessionKey); + } + } catch (Exception e) { + Log.e(LOG_TAG, "Cannot create : " + e.getMessage(), e); + } + } + + /** + * Create a new instance from the provided keys map. + * + * @param map the map + * @throws Exception if the data are invalid + */ + public MXOlmInboundGroupSession2(Map map) throws Exception { + try { + mSession = OlmInboundGroupSession.importSession((String) map.get("session_key")); + + if (!TextUtils.equals(mSession.sessionIdentifier(), (String) map.get("session_id"))) { + throw new Exception("Mismatched group session Id"); + } + + mSenderKey = (String) map.get("sender_key"); + mKeysClaimed = (Map) map.get("sender_claimed_keys"); + mRoomId = (String) map.get("room_id"); + } catch (Exception e) { + throw new Exception(e.getMessage()); + } + } + + /** + * Export the inbound group session keys + * + * @return the inbound group session as map if the operation succeeds + */ + public Map exportKeys() { + Map map = new HashMap<>(); + + try { + if (null == mForwardingCurve25519KeyChain) { + mForwardingCurve25519KeyChain = new ArrayList<>(); + } + + map.put("sender_claimed_ed25519_key", mKeysClaimed.get("ed25519")); + map.put("forwardingCurve25519KeyChain", mForwardingCurve25519KeyChain); + map.put("sender_key", mSenderKey); + map.put("sender_claimed_keys", mKeysClaimed); + map.put("room_id", mRoomId); + map.put("session_id", mSession.sessionIdentifier()); + map.put("session_key", mSession.export(mSession.getFirstKnownIndex())); + map.put("algorithm", MXCryptoAlgorithms.MXCRYPTO_ALGORITHM_MEGOLM); + } catch (Exception e) { + map = null; + Log.e(LOG_TAG, "## export() : senderKey " + mSenderKey + " failed " + e.getMessage(), e); + } + + return map; + } + + /** + * @return the first known message index + */ + public Long getFirstKnownIndex() { + if (null != mSession) { + try { + return mSession.getFirstKnownIndex(); + } catch (Exception e) { + Log.e(LOG_TAG, "## getFirstKnownIndex() : getFirstKnownIndex failed " + e.getMessage(), e); + } + } + + return null; + } + + /** + * Export the session for a message index. + * + * @param messageIndex the message index + * @return the exported data + */ + public String exportSession(long messageIndex) { + if (null != mSession) { + try { + return mSession.export(messageIndex); + } catch (Exception e) { + Log.e(LOG_TAG, "## exportSession() : export failed " + e.getMessage(), e); + } + } + + return null; + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXOlmSessionResult.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXOlmSessionResult.java new file mode 100755 index 00000000..9f9d55a7 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXOlmSessionResult.java @@ -0,0 +1,43 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto.data; + +import java.io.Serializable; + +public class MXOlmSessionResult implements Serializable { + /** + * the device + */ + public final MXDeviceInfo mDevice; + + /** + * Base64 olm session id. + * null if no session could be established. + */ + public String mSessionId; + + /** + * Constructor + * + * @param device the device + * @param sessionId the olm session id + */ + public MXOlmSessionResult(MXDeviceInfo device, String sessionId) { + mDevice = device; + mSessionId = sessionId; + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXQueuedEncryption.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXQueuedEncryption.java new file mode 100755 index 00000000..b134e2d2 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXQueuedEncryption.java @@ -0,0 +1,35 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto.data; + +import com.google.gson.JsonElement; + +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; + +public class MXQueuedEncryption { + + /** + * The data to encrypt. + */ + public JsonElement mEventContent; + public String mEventType; + + /** + * the asynchronous callback + */ + public ApiCallback mApiCallback; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXUsersDevicesMap.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXUsersDevicesMap.java new file mode 100755 index 00000000..8b1cdbb4 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/crypto/data/MXUsersDevicesMap.java @@ -0,0 +1,186 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.crypto.data; + +import android.text.TextUtils; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class MXUsersDevicesMap implements Serializable { + + // The device keys as returned by the homeserver: a map of a map (userId -> deviceId -> Object). + private final Map> mMap = new HashMap<>(); + + /** + * @return the inner map + */ + public Map> getMap() { + return mMap; + } + + /** + * Default constructor constructor + */ + public MXUsersDevicesMap() { + } + + /** + * The constructor + * + * @param map the map + */ + public MXUsersDevicesMap(Map> map) { + if (null != map) { + Set keys = map.keySet(); + + for (String key : keys) { + mMap.put(key, new HashMap<>(map.get(key))); + } + } + } + + /** + * @return a deep copy + */ + public MXUsersDevicesMap deepCopy() { + MXUsersDevicesMap copy = new MXUsersDevicesMap<>(); + + Set keys = mMap.keySet(); + + for (String key : keys) { + copy.mMap.put(key, new HashMap<>(mMap.get(key))); + } + + return copy; + } + + /** + * @return the user Ids + */ + public List getUserIds() { + return new ArrayList<>(mMap.keySet()); + } + + /** + * Provides the device ids list for an user id + * + * @param userId the user id + * @return the device ids list + */ + public List getUserDeviceIds(String userId) { + if (!TextUtils.isEmpty(userId) && mMap.containsKey(userId)) { + return new ArrayList<>(mMap.get(userId).keySet()); + } + + return null; + } + + /** + * Provides the object for a device id and an user Id + * + * @param deviceId the device id + * @param userId the object id + * @return the object + */ + public E getObject(String deviceId, String userId) { + if (!TextUtils.isEmpty(userId) && mMap.containsKey(userId) && !TextUtils.isEmpty(deviceId)) { + return mMap.get(userId).get(deviceId); + } + + return null; + } + + /** + * Set an object for a dedicated user Id and device Id + * + * @param object the object to set + * @param userId the user Id + * @param deviceId the device id + */ + public void setObject(E object, String userId, String deviceId) { + if ((null != object) && !TextUtils.isEmpty(userId) && !TextUtils.isEmpty(deviceId)) { + Map subMap = mMap.get(userId); + + if (null == subMap) { + subMap = new HashMap<>(); + mMap.put(userId, subMap); + } + + subMap.put(deviceId, object); + } + } + + /** + * Defines the objects map for an user Id + * + * @param objectsPerDevices the objects maps + * @param userId the user id + */ + public void setObjects(Map objectsPerDevices, String userId) { + if (!TextUtils.isEmpty(userId)) { + if (null == objectsPerDevices) { + mMap.remove(userId); + } else { + mMap.put(userId, new HashMap<>(objectsPerDevices)); + } + } + } + + /** + * Removes objects for a dedicated user + * + * @param userId the user id. + */ + public void removeUserObjects(String userId) { + if (!TextUtils.isEmpty(userId)) { + mMap.remove(userId); + } + } + + /** + * Clear the internal dictionary + */ + public void removeAllObjects() { + mMap.clear(); + } + + /** + * Add entries from another MXUsersDevicesMap + * + * @param other the other one + */ + public void addEntriesFromMap(MXUsersDevicesMap other) { + if (null != other) { + mMap.putAll(other.getMap()); + } + } + + @Override + public java.lang.String toString() { + if (null != mMap) { + return "MXUsersDevicesMap " + mMap.toString(); + } else { + return "MXDeviceInfo : null map"; + } + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/DataRetriever.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/DataRetriever.java new file mode 100644 index 00000000..5bf6e465 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/DataRetriever.java @@ -0,0 +1,423 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.data; + +import android.os.Looper; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.data.store.IMXStore; +import im.vector.matrix.android.internal.legacy.data.timeline.EventTimeline; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.client.RoomsRestClient; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.TokensChunkEvents; +import im.vector.matrix.android.internal.legacy.util.FilterUtil; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; + +/** + * Layer for retrieving data either from the storage implementation, or from the server if the information is not available. + */ +public class DataRetriever { + private static final String LOG_TAG = DataRetriever.class.getSimpleName(); + + private RoomsRestClient mRestClient; + + private final Map mPendingForwardRequestTokenByRoomId = new HashMap<>(); + private final Map mPendingBackwardRequestTokenByRoomId = new HashMap<>(); + private final Map mPendingRemoteRequestTokenByRoomId = new HashMap<>(); + + public RoomsRestClient getRoomsRestClient() { + return mRestClient; + } + + public void setRoomsRestClient(final RoomsRestClient client) { + mRestClient = client; + } + + /** + * Provides the cached messages for a dedicated roomId + * + * @param store the store. + * @param roomId the roomId + * @return the events list, null if the room does not exist + */ + public Collection getCachedRoomMessages(final IMXStore store, final String roomId) { + return store.getRoomMessages(roomId); + } + + /** + * Cancel any history requests for a dedicated room + * + * @param roomId the room id. + */ + public void cancelHistoryRequests(final String roomId) { + Log.d(LOG_TAG, "## cancelHistoryRequests() : roomId " + roomId); + + clearPendingToken(mPendingForwardRequestTokenByRoomId, roomId); + clearPendingToken(mPendingBackwardRequestTokenByRoomId, roomId); + } + + /** + * Cancel any request history requests for a dedicated room + * + * @param roomId the room id. + */ + public void cancelRemoteHistoryRequest(final String roomId) { + Log.d(LOG_TAG, "## cancelRemoteHistoryRequest() : roomId " + roomId); + + clearPendingToken(mPendingRemoteRequestTokenByRoomId, roomId); + } + + /** + * Get the event associated with the eventId and roomId + * Look in the store before hitting the rest client. + * + * @param store the store to look in + * @param roomId the room Id + * @param eventId the eventId + * @param callback the callback + */ + public void getEvent(final IMXStore store, final String roomId, final String eventId, final ApiCallback callback) { + final Event event = store.getEvent(eventId, roomId); + if (event == null) { + mRestClient.getEvent(roomId, eventId, callback); + } else { + callback.onSuccess(event); + } + } + + /** + * Trigger a back pagination for a dedicated room from Token. + * + * @param store the store to use + * @param roomId the room Id + * @param token the start token. + * @param limit the maximum number of messages to retrieve + * @param withLazyLoading true when lazy loading is enabled + * @param callback the callback + */ + public void backPaginate(final IMXStore store, + final String roomId, + final String token, + final int limit, + final boolean withLazyLoading, + final ApiCallback callback) { + // reach the marker end + if (TextUtils.equals(token, Event.PAGINATE_BACK_TOKEN_END)) { + // nothing more to provide + final android.os.Handler handler = new android.os.Handler(Looper.getMainLooper()); + + // call the callback with a delay + // to reproduce the same behaviour as a network request. + // except for the initial request. + Runnable r = new Runnable() { + @Override + public void run() { + handler.postDelayed(new Runnable() { + public void run() { + callback.onSuccess(new TokensChunkEvents()); + } + }, 0); + } + }; + + handler.post(r); + + return; + } + + Log.d(LOG_TAG, "## backPaginate() : starts for roomId " + roomId); + + TokensChunkEvents storageResponse = store.getEarlierMessages(roomId, token, limit); + + putPendingToken(mPendingBackwardRequestTokenByRoomId, roomId, token); + + if (storageResponse != null) { + final android.os.Handler handler = new android.os.Handler(Looper.getMainLooper()); + final TokensChunkEvents fStorageResponse = storageResponse; + + Log.d(LOG_TAG, "## backPaginate() : some data has been retrieved into the local storage (" + fStorageResponse.chunk.size() + " events)"); + + // call the callback with a delay + // to reproduce the same behaviour as a network request. + // except for the initial request. + Runnable r = new Runnable() { + @Override + public void run() { + handler.postDelayed(new Runnable() { + public void run() { + String expectedToken = getPendingToken(mPendingBackwardRequestTokenByRoomId, roomId); + Log.d(LOG_TAG, "## backPaginate() : local store roomId " + roomId + " token " + token + " vs " + expectedToken); + + if (TextUtils.equals(expectedToken, token)) { + clearPendingToken(mPendingBackwardRequestTokenByRoomId, roomId); + callback.onSuccess(fStorageResponse); + } + } + }, 0); + } + }; + + Thread t = new Thread(r); + t.start(); + } else { + Log.d(LOG_TAG, "## backPaginate() : trigger a remote request"); + + mRestClient.getRoomMessagesFrom(roomId, token, EventTimeline.Direction.BACKWARDS, limit, FilterUtil.createRoomEventFilter(withLazyLoading), + new SimpleApiCallback(callback) { + @Override + public void onSuccess(TokensChunkEvents tokensChunkEvents) { + String expectedToken = getPendingToken(mPendingBackwardRequestTokenByRoomId, roomId); + + Log.d(LOG_TAG, "## backPaginate() succeeds : roomId " + roomId + " token " + token + " vs " + expectedToken); + + if (TextUtils.equals(expectedToken, token)) { + clearPendingToken(mPendingBackwardRequestTokenByRoomId, roomId); + + // Watch for the one event overlap + Event oldestEvent = store.getOldestEvent(roomId); + + if (tokensChunkEvents.chunk.size() != 0) { + tokensChunkEvents.chunk.get(0).mToken = tokensChunkEvents.start; + + // there is no more data on server side + if (null == tokensChunkEvents.end) { + tokensChunkEvents.end = Event.PAGINATE_BACK_TOKEN_END; + } + + tokensChunkEvents.chunk.get(tokensChunkEvents.chunk.size() - 1).mToken = tokensChunkEvents.end; + + Event firstReturnedEvent = tokensChunkEvents.chunk.get(0); + if ((oldestEvent != null) && (firstReturnedEvent != null) + && TextUtils.equals(oldestEvent.eventId, firstReturnedEvent.eventId)) { + tokensChunkEvents.chunk.remove(0); + } + + store.storeRoomEvents(roomId, tokensChunkEvents, EventTimeline.Direction.BACKWARDS); + } + + Log.d(LOG_TAG, "## backPaginate() succeed : roomId " + roomId + + " token " + token + + " got " + tokensChunkEvents.chunk.size()); + callback.onSuccess(tokensChunkEvents); + } + } + + private void logErrorMessage(String expectedToken, String errorMessage) { + Log.e(LOG_TAG, "## backPaginate() failed : roomId " + roomId + + " token " + token + + " expected " + expectedToken + + " with " + errorMessage); + } + + @Override + public void onNetworkError(Exception e) { + String expectedToken = getPendingToken(mPendingBackwardRequestTokenByRoomId, roomId); + logErrorMessage(expectedToken, e.getMessage()); + + // dispatch only if it is expected + if (TextUtils.equals(token, expectedToken)) { + clearPendingToken(mPendingBackwardRequestTokenByRoomId, roomId); + callback.onNetworkError(e); + } + } + + @Override + public void onMatrixError(MatrixError e) { + String expectedToken = getPendingToken(mPendingBackwardRequestTokenByRoomId, roomId); + logErrorMessage(expectedToken, e.getMessage()); + + // dispatch only if it is expected + if (TextUtils.equals(token, expectedToken)) { + clearPendingToken(mPendingBackwardRequestTokenByRoomId, roomId); + callback.onMatrixError(e); + } + } + + @Override + public void onUnexpectedError(Exception e) { + String expectedToken = getPendingToken(mPendingBackwardRequestTokenByRoomId, roomId); + logErrorMessage(expectedToken, e.getMessage()); + + // dispatch only if it is expected + if (TextUtils.equals(token, expectedToken)) { + clearPendingToken(mPendingBackwardRequestTokenByRoomId, roomId); + callback.onUnexpectedError(e); + } + } + }); + } + } + + /** + * Trigger a forward pagination for a dedicated room from Token. + * + * @param store the store to use + * @param roomId the room Id + * @param token the start token. + * @param withLazyLoading true when lazy loading is enabled + * @param callback the callback + */ + private void forwardPaginate(final IMXStore store, + final String roomId, + final String token, + final boolean withLazyLoading, + final ApiCallback callback) { + putPendingToken(mPendingForwardRequestTokenByRoomId, roomId, token); + + mRestClient.getRoomMessagesFrom(roomId, token, EventTimeline.Direction.FORWARDS, RoomsRestClient.DEFAULT_MESSAGES_PAGINATION_LIMIT, + FilterUtil.createRoomEventFilter(withLazyLoading), + new SimpleApiCallback(callback) { + @Override + public void onSuccess(TokensChunkEvents tokensChunkEvents) { + if (TextUtils.equals(getPendingToken(mPendingForwardRequestTokenByRoomId, roomId), token)) { + clearPendingToken(mPendingForwardRequestTokenByRoomId, roomId); + store.storeRoomEvents(roomId, tokensChunkEvents, EventTimeline.Direction.FORWARDS); + callback.onSuccess(tokensChunkEvents); + } + } + }); + } + + /** + * Request messages than the given token. These will come from storage if available, from the server otherwise. + * + * @param store the store to use + * @param roomId the room id + * @param token the token to go back from. Null to start from live. + * @param direction the pagination direction + * @param withLazyLoading true when lazy loading is enabled + * @param callback the onComplete callback + */ + public void paginate(final IMXStore store, + final String roomId, + final String token, + final EventTimeline.Direction direction, + final boolean withLazyLoading, + final ApiCallback callback) { + if (direction == EventTimeline.Direction.BACKWARDS) { + backPaginate(store, roomId, token, RoomsRestClient.DEFAULT_MESSAGES_PAGINATION_LIMIT, withLazyLoading, callback); + } else { + forwardPaginate(store, roomId, token, withLazyLoading, callback); + } + } + + /** + * Request events to the server. The local cache is not used. + * The events will not be saved in the local storage. + * + * @param roomId the room id + * @param token the token to go back from. + * @param paginationCount the number of events to retrieve. + * @param withLazyLoading true when lazy loading is enabled + * @param callback the onComplete callback + */ + public void requestServerRoomHistory(final String roomId, + final String token, + final int paginationCount, + final boolean withLazyLoading, + final ApiCallback callback) { + putPendingToken(mPendingRemoteRequestTokenByRoomId, roomId, token); + + mRestClient.getRoomMessagesFrom(roomId, token, EventTimeline.Direction.BACKWARDS, paginationCount, FilterUtil.createRoomEventFilter(withLazyLoading), + new SimpleApiCallback(callback) { + @Override + public void onSuccess(TokensChunkEvents info) { + if (TextUtils.equals(getPendingToken(mPendingRemoteRequestTokenByRoomId, roomId), token)) { + if (info.chunk.size() != 0) { + info.chunk.get(0).mToken = info.start; + info.chunk.get(info.chunk.size() - 1).mToken = info.end; + } + + clearPendingToken(mPendingRemoteRequestTokenByRoomId, roomId); + callback.onSuccess(info); + } + } + }); + } + + //============================================================================================================== + // Pending token management + //============================================================================================================== + + /** + * Clear token for a dedicated room + * + * @param dict the token cache + * @param roomId the room id + */ + private void clearPendingToken(final Map dict, final String roomId) { + Log.d(LOG_TAG, "## clearPendingToken() : roomId " + roomId); + + if (null != roomId) { + synchronized (dict) { + dict.remove(roomId); + } + } + } + + /** + * Get the pending token for a dedicated room + * + * @param dict the token cache + * @param roomId the room Id + * @return the token + */ + private String getPendingToken(final Map dict, final String roomId) { + String expectedToken = "Not a valid token"; + + synchronized (dict) { + // token == null is a valid value + if (dict.containsKey(roomId)) { + expectedToken = dict.get(roomId); + + if (TextUtils.isEmpty(expectedToken)) { + expectedToken = null; + } + } + } + Log.d(LOG_TAG, "## getPendingToken() : roomId " + roomId + " token " + expectedToken); + + return expectedToken; + } + + /** + * Store a token for a dedicated room + * + * @param dict the token cache + * @param roomId the room id + * @param token the token + */ + private void putPendingToken(final Map dict, final String roomId, final String token) { + Log.d(LOG_TAG, "## putPendingToken() : roomId " + roomId + " token " + token); + + synchronized (dict) { + // null is allowed for a request + if (null == token) { + dict.put(roomId, ""); + } else { + dict.put(roomId, token); + } + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/MyUser.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/MyUser.java new file mode 100644 index 00000000..f57fdc13 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/MyUser.java @@ -0,0 +1,446 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data; + +import android.os.Handler; +import android.os.Looper; + +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.User; +import im.vector.matrix.android.internal.legacy.rest.model.pid.ThirdPartyIdentifier; +import im.vector.matrix.android.internal.legacy.rest.model.pid.ThreePid; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.ArrayList; +import java.util.List; + +/** + * Class representing the logged-in user. + */ +public class MyUser extends User { + + private static final String LOG_TAG = MyUser.class.getSimpleName(); + + // refresh status + private boolean mIsAvatarRefreshed = false; + private boolean mIsDisplayNameRefreshed = false; + private boolean mAre3PIdsLoaded = false; + + // the account info is refreshed in one row + // so, if there is a pending refresh the listeners are added to this list. + private transient List> mRefreshListeners; + + private transient final Handler mUiHandler; + + // linked emails to the account + private transient List mEmailIdentifiers = new ArrayList<>(); + // linked phone number to the account + private transient List mPhoneNumberIdentifiers = new ArrayList<>(); + + public MyUser(User user) { + clone(user); + + mUiHandler = new Handler(Looper.getMainLooper()); + } + + /** + * Update the user's display name. + * + * @param displayName the new name + * @param callback the async callback + */ + public void updateDisplayName(final String displayName, final ApiCallback callback) { + mDataHandler.getProfileRestClient().updateDisplayname(displayName, new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + // Update the object member before calling the given callback + MyUser.this.displayname = displayName; + mDataHandler.getStore().setDisplayName(displayName, System.currentTimeMillis()); + + callback.onSuccess(info); + } + }); + } + + /** + * Update the user's avatar URL. + * + * @param avatarUrl the new avatar URL + * @param callback the async callback + */ + public void updateAvatarUrl(final String avatarUrl, final ApiCallback callback) { + mDataHandler.getProfileRestClient().updateAvatarUrl(avatarUrl, new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + // Update the object member before calling the given callback + setAvatarUrl(avatarUrl); + mDataHandler.getStore().setAvatarURL(avatarUrl, System.currentTimeMillis()); + + callback.onSuccess(info); + } + }); + } + + /** + * Request a validation token for an email address 3Pid + * + * @param pid the pid to retrieve a token + * @param callback the callback when the operation is done + */ + public void requestEmailValidationToken(ThreePid pid, ApiCallback callback) { + if (null != pid) { + pid.requestEmailValidationToken(mDataHandler.getProfileRestClient(), null, false, callback); + } + } + + /** + * Request a validation token for a phone number 3Pid + * + * @param pid the pid to retrieve a token + * @param callback the callback when the operation is done + */ + public void requestPhoneNumberValidationToken(ThreePid pid, ApiCallback callback) { + if (null != pid) { + pid.requestPhoneNumberValidationToken(mDataHandler.getProfileRestClient(), false, callback); + } + } + + /** + * Add a new pid to the account. + * + * @param pid the pid to add. + * @param bind true to add it. + * @param callback the async callback + */ + public void add3Pid(final ThreePid pid, final boolean bind, final ApiCallback callback) { + if (null != pid) { + mDataHandler.getProfileRestClient().add3PID(pid, bind, new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + // refresh the third party identifiers lists + refreshThirdPartyIdentifiers(callback); + } + }); + } + } + + /** + * Delete a 3pid from an account + * + * @param pid the pid to delete + * @param callback the async callback + */ + public void delete3Pid(final ThirdPartyIdentifier pid, final ApiCallback callback) { + if (null != pid) { + mDataHandler.getProfileRestClient().delete3PID(pid, new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + // refresh the third party identifiers lists + refreshThirdPartyIdentifiers(callback); + } + }); + } + } + + /** + * Build the lists of identifiers + */ + private void buildIdentifiersLists() { + List identifiers = mDataHandler.getStore().thirdPartyIdentifiers(); + mEmailIdentifiers = new ArrayList<>(); + mPhoneNumberIdentifiers = new ArrayList<>(); + for (ThirdPartyIdentifier identifier : identifiers) { + switch (identifier.medium) { + case ThreePid.MEDIUM_EMAIL: + mEmailIdentifiers.add(identifier); + break; + case ThreePid.MEDIUM_MSISDN: + mPhoneNumberIdentifiers.add(identifier); + break; + } + } + } + + /** + * @return the list of linked emails + */ + public List getlinkedEmails() { + if (mEmailIdentifiers == null) { + buildIdentifiersLists(); + } + + return mEmailIdentifiers; + } + + /** + * @return the list of linked emails + */ + public List getlinkedPhoneNumbers() { + if (mPhoneNumberIdentifiers == null) { + buildIdentifiersLists(); + } + + return mPhoneNumberIdentifiers; + } + + //================================================================================ + // Refresh + //================================================================================ + + /** + * Refresh the user data if it is required + * + * @param callback callback when the job is done. + */ + public void refreshUserInfos(final ApiCallback callback) { + refreshUserInfos(false, callback); + } + + /** + * Refresh the user data if it is required + * + * @param callback callback when the job is done. + */ + public void refreshThirdPartyIdentifiers(final ApiCallback callback) { + mAre3PIdsLoaded = false; + refreshUserInfos(false, callback); + } + + + /** + * Refresh the user data if it is required + * + * @param skipPendingTest true to do not check if the refreshes started (private use) + * @param callback callback when the job is done. + */ + public void refreshUserInfos(boolean skipPendingTest, final ApiCallback callback) { + if (!skipPendingTest) { + boolean isPending; + + synchronized (this) { + // mRefreshListeners == null => no refresh in progress + // mRefreshListeners != null -> a refresh is in progress + isPending = (null != mRefreshListeners); + + if (null == mRefreshListeners) { + mRefreshListeners = new ArrayList<>(); + } + + if (null != callback) { + mRefreshListeners.add(callback); + } + } + + if (isPending) { + // please wait + return; + } + } + + if (!mIsDisplayNameRefreshed) { + refreshUserDisplayname(); + return; + } + + if (!mIsAvatarRefreshed) { + refreshUserAvatarUrl(); + return; + } + + if (!mAre3PIdsLoaded) { + refreshThirdPartyIdentifiers(); + return; + } + + synchronized (this) { + if (null != mRefreshListeners) { + for (ApiCallback listener : mRefreshListeners) { + try { + listener.onSuccess(null); + } catch (Exception e) { + Log.e(LOG_TAG, "## refreshUserInfos() : listener.onSuccess failed " + e.getMessage(), e); + } + } + } + + // no more pending refreshes + mRefreshListeners = null; + } + } + + /** + * Refresh the avatar url + */ + private void refreshUserAvatarUrl() { + mDataHandler.getProfileRestClient().avatarUrl(user_id, new SimpleApiCallback() { + @Override + public void onSuccess(String anAvatarUrl) { + if (mDataHandler.isAlive()) { + // local value + setAvatarUrl(anAvatarUrl); + // metadata file + mDataHandler.getStore().setAvatarURL(anAvatarUrl, System.currentTimeMillis()); + // user + mDataHandler.getStore().storeUser(MyUser.this); + + mIsAvatarRefreshed = true; + + // jump to the next items + refreshUserInfos(true, null); + } + } + + private void onError() { + if (mDataHandler.isAlive()) { + mUiHandler.postDelayed(new Runnable() { + @Override + public void run() { + refreshUserAvatarUrl(); + } + }, 1 * 1000); + } + } + + @Override + public void onNetworkError(Exception e) { + onError(); + } + + @Override + public void onMatrixError(final MatrixError e) { + // cannot retrieve this value, jump to the next items + mIsAvatarRefreshed = true; + refreshUserInfos(true, null); + } + + @Override + public void onUnexpectedError(final Exception e) { + // cannot retrieve this value, jump to the next items + mIsAvatarRefreshed = true; + refreshUserInfos(true, null); + } + }); + } + + /** + * Refresh the displayname. + */ + private void refreshUserDisplayname() { + mDataHandler.getProfileRestClient().displayname(user_id, new SimpleApiCallback() { + @Override + public void onSuccess(String aDisplayname) { + if (mDataHandler.isAlive()) { + // local value + displayname = aDisplayname; + // store metadata + mDataHandler.getStore().setDisplayName(aDisplayname, System.currentTimeMillis()); + + mIsDisplayNameRefreshed = true; + + // jump to the next items + refreshUserInfos(true, null); + } + } + + private void onError() { + if (mDataHandler.isAlive()) { + mUiHandler.postDelayed(new Runnable() { + @Override + public void run() { + refreshUserDisplayname(); + } + }, 1 * 1000); + } + } + + @Override + public void onNetworkError(Exception e) { + onError(); + } + + @Override + public void onMatrixError(final MatrixError e) { + // cannot retrieve this value, jump to the next items + mIsDisplayNameRefreshed = true; + refreshUserInfos(true, null); + } + + @Override + public void onUnexpectedError(final Exception e) { + // cannot retrieve this value, jump to the next items + mIsDisplayNameRefreshed = true; + refreshUserInfos(true, null); + } + }); + } + + /** + * Refresh the Third party identifiers i.e. the linked email to this account + */ + public void refreshThirdPartyIdentifiers() { + mDataHandler.getProfileRestClient().threePIDs(new SimpleApiCallback>() { + @Override + public void onSuccess(List identifiers) { + if (mDataHandler.isAlive()) { + // store + mDataHandler.getStore().setThirdPartyIdentifiers(identifiers); + + buildIdentifiersLists(); + + mAre3PIdsLoaded = true; + + // jump to the next items + refreshUserInfos(true, null); + } + } + + private void onError() { + if (mDataHandler.isAlive()) { + mUiHandler.postDelayed(new Runnable() { + @Override + public void run() { + refreshThirdPartyIdentifiers(); + } + }, 1 * 1000); + } + } + + @Override + public void onNetworkError(Exception e) { + onError(); + } + + @Override + public void onMatrixError(final MatrixError e) { + // cannot retrieve this value, jump to the next items + mAre3PIdsLoaded = true; + refreshUserInfos(true, null); + } + + @Override + public void onUnexpectedError(final Exception e) { + // cannot retrieve this value, jump to the next items + mAre3PIdsLoaded = true; + refreshUserInfos(true, null); + } + }); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/Pusher.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/Pusher.java new file mode 100644 index 00000000..ad44666b --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/Pusher.java @@ -0,0 +1,37 @@ +/* + * Copyright 2015 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.data; + +import java.util.Map; + +public class Pusher { + public String pushkey; + public Object kind; + public String profileTag; + public String appId; + public String appDisplayName; + public String deviceDisplayName; + public String lang; + public Map data; + public Boolean append; + + + @Override + public java.lang.String toString() { + return "Pusher : \n\tappDisplayName " + appDisplayName + "\n\tdeviceDisplayName " + deviceDisplayName + "\n\tpushkey " + pushkey; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/Room.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/Room.java new file mode 100644 index 00000000..6f1358fc --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/Room.java @@ -0,0 +1,2939 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.media.ExifInterface; +import android.media.MediaMetadataRetriever; +import android.media.MediaPlayer; +import android.net.Uri; +import android.os.AsyncTask; +import android.os.Handler; +import android.os.Looper; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.text.TextUtils; +import android.util.Pair; + +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.reflect.TypeToken; + +import java.io.File; +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import im.vector.matrix.android.R; +import im.vector.matrix.android.internal.legacy.MXDataHandler; +import im.vector.matrix.android.internal.legacy.MXPatterns; +import im.vector.matrix.android.internal.legacy.call.MXCallsManager; +import im.vector.matrix.android.internal.legacy.crypto.MXCryptoError; +import im.vector.matrix.android.internal.legacy.crypto.data.MXEncryptEventContentResult; +import im.vector.matrix.android.internal.legacy.data.store.IMXStore; +import im.vector.matrix.android.internal.legacy.data.timeline.EventTimeline; +import im.vector.matrix.android.internal.legacy.data.timeline.EventTimelineFactory; +import im.vector.matrix.android.internal.legacy.db.MXMediasCache; +import im.vector.matrix.android.internal.legacy.listeners.IMXEventListener; +import im.vector.matrix.android.internal.legacy.listeners.MXEventListener; +import im.vector.matrix.android.internal.legacy.listeners.MXRoomEventListener; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.client.AccountDataRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.RoomsRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.UrlPostTask; +import im.vector.matrix.android.internal.legacy.rest.model.BannedUser; +import im.vector.matrix.android.internal.legacy.rest.model.CreatedEvent; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.PowerLevels; +import im.vector.matrix.android.internal.legacy.rest.model.ReceiptData; +import im.vector.matrix.android.internal.legacy.rest.model.RoomDirectoryVisibility; +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; +import im.vector.matrix.android.internal.legacy.rest.model.TokensChunkEvents; +import im.vector.matrix.android.internal.legacy.rest.model.message.FileInfo; +import im.vector.matrix.android.internal.legacy.rest.model.message.FileMessage; +import im.vector.matrix.android.internal.legacy.rest.model.message.ImageInfo; +import im.vector.matrix.android.internal.legacy.rest.model.message.ImageMessage; +import im.vector.matrix.android.internal.legacy.rest.model.message.LocationMessage; +import im.vector.matrix.android.internal.legacy.rest.model.message.Message; +import im.vector.matrix.android.internal.legacy.rest.model.message.ThumbnailInfo; +import im.vector.matrix.android.internal.legacy.rest.model.message.VideoInfo; +import im.vector.matrix.android.internal.legacy.rest.model.message.VideoMessage; +import im.vector.matrix.android.internal.legacy.rest.model.sync.InvitedRoomSync; +import im.vector.matrix.android.internal.legacy.rest.model.sync.RoomResponse; +import im.vector.matrix.android.internal.legacy.rest.model.sync.RoomSync; +import im.vector.matrix.android.internal.legacy.util.ImageUtils; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; + +/** + * Class representing a room and the interactions we have with it. + */ +public class Room { + + private static final String LOG_TAG = Room.class.getSimpleName(); + + // Account data + private RoomAccountData mAccountData = new RoomAccountData(); + + // handler + private MXDataHandler mDataHandler; + + // store + private IMXStore mStore; + + private String mMyUserId = null; + + // Map to keep track of the listeners the client adds vs. the ones we actually register to the global data handler. + // This is needed to find the right one when removing the listener. + private final Map mEventListeners = new HashMap<>(); + + // the user is leaving the room + private boolean mIsLeaving = false; + + // the room is syncing + private boolean mIsSyncing; + + // the unread messages count must be refreshed when the current sync is done. + private boolean mRefreshUnreadAfterSync = false; + + // the time line + private EventTimeline mTimeline; + + // initial sync callback. + private ApiCallback mOnInitialSyncCallback; + + // This is used to block live events and history requests until the state is fully processed and ready + private boolean mIsReady = false; + + // call conference user id + private String mCallConferenceUserId; + + // true when the current room is a left one + private boolean mIsLeft; + + /** + * Constructor + * FIXME All this @NonNull annotation must be also added to the class members and getters + * + * @param dataHandler the data handler + * @param store the store + * @param roomId the room id + */ + public Room(@NonNull final MXDataHandler dataHandler, @NonNull final IMXStore store, @NonNull final String roomId) { + mDataHandler = dataHandler; + mStore = store; + mMyUserId = mDataHandler.getUserId(); + mTimeline = EventTimelineFactory.liveTimeline(mDataHandler, this, roomId); + } + + /** + * @return the used data handler + */ + public MXDataHandler getDataHandler() { + return mDataHandler; + } + + /** + * @return the store in which the room is stored + */ + public IMXStore getStore() { + if (null == mStore) { + if (null != mDataHandler) { + mStore = mDataHandler.getStore(getRoomId()); + } + + if (null == mStore) { + Log.e(LOG_TAG, "## getStore() : cannot retrieve the store of " + getRoomId()); + } + } + + return mStore; + } + + /** + * Determine whether we should encrypt messages for invited users in this room. + *

    + * Check here whether the invited members are allowed to read messages in the room history + * from the point they were invited onwards. + * + * @return true if we should encrypt messages for invited users. + */ + public boolean shouldEncryptForInvitedMembers() { + String historyVisibility = getState().history_visibility; + return !TextUtils.equals(historyVisibility, RoomState.HISTORY_VISIBILITY_JOINED); + } + + /** + * Tells if the room is a call conference one + * i.e. this room has been created to manage the call conference + * + * @return true if it is a call conference room. + */ + public boolean isConferenceUserRoom() { + return getState().isConferenceUserRoom(); + } + + /** + * Set this room as a conference user room + * + * @param isConferenceUserRoom true when it is an user conference room. + */ + public void setIsConferenceUserRoom(boolean isConferenceUserRoom) { + getState().setIsConferenceUserRoom(isConferenceUserRoom); + } + + /** + * Test if there is an ongoing conference call. + * + * @return true if there is one. + */ + public boolean isOngoingConferenceCall() { + RoomMember conferenceUser = getState().getMember(MXCallsManager.getConferenceUserId(getRoomId())); + return (null != conferenceUser) && TextUtils.equals(conferenceUser.membership, RoomMember.MEMBERSHIP_JOIN); + } + + /** + * Defines that the current room is a left one + * + * @param isLeft true when the current room is a left one + */ + public void setIsLeft(boolean isLeft) { + mIsLeft = isLeft; + mTimeline.setIsHistorical(isLeft); + } + + /** + * @return true if the current room is an left one + */ + public boolean isLeft() { + return mIsLeft; + } + + //================================================================================ + // Sync events + //================================================================================ + + /** + * Manage list of ephemeral events + * + * @param events the ephemeral events + */ + private void handleEphemeralEvents(List events) { + for (Event event : events) { + + // ensure that the room Id is defined + event.roomId = getRoomId(); + + try { + if (Event.EVENT_TYPE_RECEIPT.equals(event.getType())) { + if (event.roomId != null) { + List senders = handleReceiptEvent(event); + + if (senders != null && !senders.isEmpty()) { + mDataHandler.onReceiptEvent(event.roomId, senders); + } + } + } else if (Event.EVENT_TYPE_TYPING.equals(event.getType())) { + JsonObject eventContent = event.getContentAsJsonObject(); + + if (eventContent.has("user_ids")) { + synchronized (mTypingUsers) { + mTypingUsers.clear(); + + List typingUsers = null; + + try { + typingUsers = (new Gson()).fromJson(eventContent.get("user_ids"), new TypeToken>() { + }.getType()); + } catch (Exception e) { + Log.e(LOG_TAG, "## handleEphemeralEvents() : exception " + e.getMessage(), e); + } + + if (typingUsers != null) { + mTypingUsers.addAll(typingUsers); + } + } + } + + mDataHandler.onLiveEvent(event, getState()); + } + } catch (Exception e) { + Log.e(LOG_TAG, "ephemeral event failed " + e.getMessage(), e); + } + } + } + + /** + * Handle the events of a joined room. + * + * @param roomSync the sync events list. + * @param isGlobalInitialSync true if the room is initialized by a global initial sync. + */ + public void handleJoinedRoomSync(RoomSync roomSync, boolean isGlobalInitialSync) { + if (null != mOnInitialSyncCallback) { + Log.d(LOG_TAG, "initial sync handleJoinedRoomSync " + getRoomId()); + } else { + Log.d(LOG_TAG, "handleJoinedRoomSync " + getRoomId()); + } + + mIsSyncing = true; + + synchronized (this) { + mTimeline.handleJoinedRoomSync(roomSync, isGlobalInitialSync); + RoomSummary roomSummary = getRoomSummary(); + if (roomSummary != null) { + roomSummary.setIsJoined(); + } + // ephemeral events + if ((null != roomSync.ephemeral) && (null != roomSync.ephemeral.events)) { + handleEphemeralEvents(roomSync.ephemeral.events); + } + + // Handle account data events (if any) + if ((null != roomSync.accountData) && (null != roomSync.accountData.events) && (roomSync.accountData.events.size() > 0)) { + if (isGlobalInitialSync) { + Log.d(LOG_TAG, "## handleJoinedRoomSync : received " + roomSync.accountData.events.size() + " account data events"); + } + + handleAccountDataEvents(roomSync.accountData.events); + } + } + + // the user joined the room + // With V2 sync, the server sends the events to init the room. + if ((null != mOnInitialSyncCallback) && isJoined()) { + Log.d(LOG_TAG, "handleJoinedRoomSync " + getRoomId() + " : the initial sync is done"); + final ApiCallback fOnInitialSyncCallback = mOnInitialSyncCallback; + + new Handler(Looper.getMainLooper()).post(new Runnable() { + @Override + public void run() { + // to initialise the notification counters + markAllAsRead(null); + + try { + fOnInitialSyncCallback.onSuccess(null); + } catch (Exception e) { + Log.e(LOG_TAG, "handleJoinedRoomSync : onSuccess failed" + e.getMessage(), e); + } + } + }); + + mOnInitialSyncCallback = null; + } + + mIsSyncing = false; + + if (mRefreshUnreadAfterSync) { + if (!isGlobalInitialSync) { + refreshUnreadCounter(); + } // else -> it will be done at the end of the sync + mRefreshUnreadAfterSync = false; + } + } + + /** + * Handle the invitation room events + * + * @param invitedRoomSync the invitation room events. + */ + public void handleInvitedRoomSync(InvitedRoomSync invitedRoomSync) { + mTimeline.handleInvitedRoomSync(invitedRoomSync); + + RoomSummary roomSummary = getRoomSummary(); + + if (roomSummary != null) { + roomSummary.setIsInvited(); + } + } + + /** + * Store an outgoing event. + * + * @param event the event. + */ + public void storeOutgoingEvent(Event event) { + mTimeline.storeOutgoingEvent(event); + } + + /** + * Request events to the server. The local cache is not used. + * The events will not be saved in the local storage. + * + * @param token the token to go back from. + * @param paginationCount the number of events to retrieve. + * @param callback the onComplete callback + */ + public void requestServerRoomHistory(final String token, + final int paginationCount, + final ApiCallback callback) { + mDataHandler.getDataRetriever() + .requestServerRoomHistory(getRoomId(), token, paginationCount, mDataHandler.isLazyLoadingEnabled(), + new SimpleApiCallback(callback) { + @Override + public void onSuccess(TokensChunkEvents info) { + callback.onSuccess(info); + } + }); + } + + /** + * cancel any remote request + */ + public void cancelRemoteHistoryRequest() { + mDataHandler.getDataRetriever().cancelRemoteHistoryRequest(getRoomId()); + } + + //================================================================================ + // Getters / setters + //================================================================================ + + public String getRoomId() { + return getState().roomId; + } + + public void setAccountData(RoomAccountData accountData) { + mAccountData = accountData; + } + + public RoomAccountData getAccountData() { + return mAccountData; + } + + public RoomState getState() { + return mTimeline.getState(); + } + + public boolean isLeaving() { + return mIsLeaving; + } + + public void getMembersAsync(@NonNull final ApiCallback> callback) { + getState().getMembersAsync(callback); + } + + public void getDisplayableMembersAsync(@NonNull final ApiCallback> callback) { + getState().getDisplayableMembersAsync(callback); + } + + public EventTimeline getTimeline() { + return mTimeline; + } + + public void setTimeline(EventTimeline eventTimeline) { + mTimeline = eventTimeline; + } + + public void setReadyState(boolean isReady) { + mIsReady = isReady; + } + + public boolean isReady() { + return mIsReady; + } + + /** + * @return the list of active members in a room ie joined or invited ones. + */ + public void getActiveMembersAsync(@NonNull final ApiCallback> callback) { + getMembersAsync(new SimpleApiCallback>(callback) { + @Override + public void onSuccess(List members) { + List activeMembers = new ArrayList<>(); + String conferenceUserId = MXCallsManager.getConferenceUserId(getRoomId()); + + for (RoomMember member : members) { + if (!TextUtils.equals(member.getUserId(), conferenceUserId)) { + if (TextUtils.equals(member.membership, RoomMember.MEMBERSHIP_JOIN) + || TextUtils.equals(member.membership, RoomMember.MEMBERSHIP_INVITE)) { + activeMembers.add(member); + } + } + } + + callback.onSuccess(activeMembers); + } + }); + } + + /** + * Get the list of the members who have joined the room. + * + * @return the list the joined members of the room. + */ + public void getJoinedMembersAsync(final ApiCallback> callback) { + getMembersAsync(new SimpleApiCallback>(callback) { + @Override + public void onSuccess(List members) { + List joinedMembersList = new ArrayList<>(); + + for (RoomMember member : members) { + if (TextUtils.equals(member.membership, RoomMember.MEMBERSHIP_JOIN)) { + joinedMembersList.add(member); + } + } + + callback.onSuccess(joinedMembersList); + } + }); + } + + @Nullable + public RoomMember getMember(String userId) { + return getState().getMember(userId); + } + + // member event caches + private final Map mMemberEventByEventId = new HashMap<>(); + + public void getMemberEvent(final String userId, final ApiCallback callback) { + final Event event; + final RoomMember member = getMember(userId); + + if ((null != member) && (null != member.getOriginalEventId())) { + event = mMemberEventByEventId.get(member.getOriginalEventId()); + + if (null == event) { + mDataHandler.getDataRetriever().getRoomsRestClient().getEvent(getRoomId(), member.getOriginalEventId(), new SimpleApiCallback(callback) { + @Override + public void onSuccess(Event event) { + if (null != event) { + mMemberEventByEventId.put(event.eventId, event); + } + callback.onSuccess(event); + } + }); + return; + } + } else { + event = null; + } + + new Handler(Looper.getMainLooper()).post(new Runnable() { + @Override + public void run() { + callback.onSuccess(event); + } + }); + } + + public String getTopic() { + return getState().topic; + } + + public String getVisibility() { + return getState().visibility; + } + + /** + * @return true if the user is invited to the room + */ + public boolean isInvited() { + if (getRoomSummary() == null) { + return false; + } + + return getRoomSummary().isInvited(); + } + + /** + * @return true if the user has joined the room + */ + public boolean isJoined() { + if (getRoomSummary() == null) { + return false; + } + + return getRoomSummary().isJoined(); + } + + /** + * @return true is the user is a member of the room (invited or joined) + */ + public boolean isMember() { + return isJoined() || isInvited(); + } + + /** + * @return true if the user is invited in a direct chat room + */ + public boolean isDirectChatInvitation() { + if (isInvited()) { + // Is it an initial sync for this room ? + RoomState state = getState(); + + RoomMember selfMember = state.getMember(mMyUserId); + + if ((null != selfMember) && (null != selfMember.isDirect)) { + return selfMember.isDirect; + } + } + + return false; + } + + //================================================================================ + // Join + //================================================================================ + + /** + * Defines the initial sync callback + * + * @param callback the new callback. + */ + public void setOnInitialSyncCallback(ApiCallback callback) { + mOnInitialSyncCallback = callback; + } + + /** + * Join a room with an url to post before joined the room. + * + * @param alias the room alias + * @param thirdPartySignedUrl the thirdPartySigned url + * @param callback the callback + */ + public void joinWithThirdPartySigned(final String alias, final String thirdPartySignedUrl, final ApiCallback callback) { + if (null == thirdPartySignedUrl) { + join(alias, callback); + } else { + String url = thirdPartySignedUrl + "&mxid=" + mMyUserId; + UrlPostTask task = new UrlPostTask(); + + task.setListener(new UrlPostTask.IPostTaskListener() { + @Override + public void onSucceed(JsonObject object) { + Map map = null; + + try { + map = new Gson().fromJson(object, new TypeToken>() { + }.getType()); + } catch (Exception e) { + Log.e(LOG_TAG, "joinWithThirdPartySigned : Gson().fromJson failed" + e.getMessage(), e); + } + + if (null != map) { + Map joinMap = new HashMap<>(); + joinMap.put("third_party_signed", map); + join(alias, joinMap, callback); + } else { + join(callback); + } + } + + @Override + public void onError(String errorMessage) { + Log.d(LOG_TAG, "joinWithThirdPartySigned failed " + errorMessage); + + // cannot validate the url + // try without validating the url + join(callback); + } + }); + + // avoid crash if there are too many running task + try { + task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, url); + } catch (final Exception e) { + task.cancel(true); + Log.e(LOG_TAG, "joinWithThirdPartySigned : task.executeOnExecutor failed" + e.getMessage(), e); + + (new android.os.Handler(Looper.getMainLooper())).post(new Runnable() { + @Override + public void run() { + if (null != callback) { + callback.onUnexpectedError(e); + } + } + }); + } + } + } + + /** + * Join the room. If successful, the room's current state will be loaded before calling back onComplete. + * + * @param callback the callback for when done + */ + public void join(final ApiCallback callback) { + join(null, null, callback); + } + + /** + * Join the room. If successful, the room's current state will be loaded before calling back onComplete. + * + * @param roomAlias the room alias + * @param callback the callback for when done + */ + private void join(String roomAlias, ApiCallback callback) { + join(roomAlias, null, callback); + } + + /** + * Join the room. If successful, the room's current state will be loaded before calling back onComplete. + * + * @param roomAlias the room alias + * @param extraParams the join extra params + * @param callback the callback for when done + */ + private void join(final String roomAlias, final Map extraParams, final ApiCallback callback) { + Log.d(LOG_TAG, "Join the room " + getRoomId() + " with alias " + roomAlias); + + mDataHandler.getDataRetriever().getRoomsRestClient() + .joinRoom((null != roomAlias) ? roomAlias : getRoomId(), extraParams, new SimpleApiCallback(callback) { + @Override + public void onSuccess(final RoomResponse aResponse) { + try { + // the join request did not get the room initial history + if (!isJoined()) { + Log.d(LOG_TAG, "the room " + getRoomId() + " is joined but wait after initial sync"); + + // wait the server sends the events chunk before calling the callback + setOnInitialSyncCallback(callback); + } else { + Log.d(LOG_TAG, "the room " + getRoomId() + " is joined : the initial sync has been done"); + // to initialise the notification counters + markAllAsRead(null); + // already got the initial sync + callback.onSuccess(null); + } + } catch (Exception e) { + Log.e(LOG_TAG, "join exception " + e.getMessage(), e); + } + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "join onNetworkError " + e.getMessage(), e); + callback.onNetworkError(e); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "join onMatrixError " + e.getMessage()); + + if (MatrixError.UNKNOWN.equals(e.errcode) && TextUtils.equals("No known servers", e.error)) { + // minging kludge until https://matrix.org/jira/browse/SYN-678 is fixed + // 'Error when trying to join an empty room should be more explicit + e.error = getStore().getContext().getString(R.string.room_error_join_failed_empty_room); + } + + // if the alias is not found + // try with the room id + if ((e.mStatus == 404) && !TextUtils.isEmpty(roomAlias)) { + Log.e(LOG_TAG, "Retry without the room alias"); + join(null, extraParams, callback); + return; + } + + callback.onMatrixError(e); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "join onUnexpectedError " + e.getMessage(), e); + callback.onUnexpectedError(e); + } + }); + } + + //================================================================================ + // Room info (liveState) update + //================================================================================ + + /** + * This class dispatches the error to the dedicated callbacks. + * If the operation succeeds, the room state is saved because calling the callback. + */ + private class RoomInfoUpdateCallback extends SimpleApiCallback { + private final ApiCallback mCallback; + + /** + * Constructor + */ + public RoomInfoUpdateCallback(ApiCallback callback) { + super(callback); + mCallback = callback; + } + + @Override + public void onSuccess(T info) { + getStore().storeLiveStateForRoom(getRoomId()); + + if (null != mCallback) { + mCallback.onSuccess(info); + } + } + } + + /** + * Update the power level of the user userId + * + * @param userId the user id + * @param powerLevel the new power level + * @param callback the callback with the created event + */ + public void updateUserPowerLevels(String userId, int powerLevel, ApiCallback callback) { + PowerLevels powerLevels = getState().getPowerLevels().deepCopy(); + powerLevels.setUserPowerLevel(userId, powerLevel); + mDataHandler.getDataRetriever().getRoomsRestClient().updatePowerLevels(getRoomId(), powerLevels, callback); + } + + /** + * Update the room's name. + * + * @param aRoomName the new name + * @param callback the async callback + */ + public void updateName(final String aRoomName, final ApiCallback callback) { + mDataHandler.getDataRetriever().getRoomsRestClient().updateRoomName(getRoomId(), aRoomName, new RoomInfoUpdateCallback(callback) { + @Override + public void onSuccess(Void info) { + getState().name = aRoomName; + super.onSuccess(info); + } + }); + } + + /** + * Update the room's topic. + * + * @param aTopic the new topic + * @param callback the async callback + */ + public void updateTopic(final String aTopic, final ApiCallback callback) { + mDataHandler.getDataRetriever().getRoomsRestClient().updateTopic(getRoomId(), aTopic, new RoomInfoUpdateCallback(callback) { + @Override + public void onSuccess(Void info) { + getState().topic = aTopic; + super.onSuccess(info); + } + }); + } + + /** + * Update the room's main alias. + * + * @param aCanonicalAlias the canonical alias + * @param callback the async callback + */ + public void updateCanonicalAlias(final String aCanonicalAlias, final ApiCallback callback) { + final String fCanonicalAlias = TextUtils.isEmpty(aCanonicalAlias) ? null : aCanonicalAlias; + + mDataHandler.getDataRetriever().getRoomsRestClient().updateCanonicalAlias(getRoomId(), fCanonicalAlias, new RoomInfoUpdateCallback(callback) { + @Override + public void onSuccess(Void info) { + getState().setCanonicalAlias(aCanonicalAlias); + super.onSuccess(info); + } + }); + } + + /** + * Provides the room aliases list. + * The result is never null. + * + * @return the room aliases list. + */ + public List getAliases() { + return getState().getAliases(); + } + + /** + * Remove a room alias. + * + * @param alias the alias to remove + * @param callback the async callback + */ + public void removeAlias(final String alias, final ApiCallback callback) { + final List updatedAliasesList = new ArrayList<>(getAliases()); + + // nothing to do + if (TextUtils.isEmpty(alias) || (updatedAliasesList.indexOf(alias) < 0)) { + if (null != callback) { + callback.onSuccess(null); + } + return; + } + + mDataHandler.getDataRetriever().getRoomsRestClient().removeRoomAlias(alias, new RoomInfoUpdateCallback(callback) { + @Override + public void onSuccess(Void info) { + getState().removeAlias(alias); + super.onSuccess(info); + } + }); + } + + /** + * Try to add an alias to the aliases list. + * + * @param alias the alias to add. + * @param callback the the async callback + */ + public void addAlias(final String alias, final ApiCallback callback) { + final List updatedAliasesList = new ArrayList<>(getAliases()); + + // nothing to do + if (TextUtils.isEmpty(alias) || (updatedAliasesList.indexOf(alias) >= 0)) { + if (null != callback) { + callback.onSuccess(null); + } + return; + } + + mDataHandler.getDataRetriever().getRoomsRestClient().setRoomIdByAlias(getRoomId(), alias, new RoomInfoUpdateCallback(callback) { + @Override + public void onSuccess(Void info) { + getState().addAlias(alias); + super.onSuccess(info); + } + }); + } + + /** + * Add a group to the related ones + * + * @param groupId the group id to add + * @param callback the asynchronous callback + */ + public void addRelatedGroup(final String groupId, final ApiCallback callback) { + List nextGroupIdsList = new ArrayList<>(getState().getRelatedGroups()); + + if (!nextGroupIdsList.contains(groupId)) { + nextGroupIdsList.add(groupId); + } + + updateRelatedGroups(nextGroupIdsList, callback); + } + + /** + * Remove a group id from the related ones. + * + * @param groupId the group id + * @param callback the asynchronous callback + */ + public void removeRelatedGroup(final String groupId, final ApiCallback callback) { + List nextGroupIdsList = new ArrayList<>(getState().getRelatedGroups()); + nextGroupIdsList.remove(groupId); + + updateRelatedGroups(nextGroupIdsList, callback); + } + + /** + * Update the related group ids list + * + * @param groupIds the new related groups + * @param callback the asynchronous callback + */ + public void updateRelatedGroups(final List groupIds, final ApiCallback callback) { + Map params = new HashMap<>(); + params.put("groups", groupIds); + + mDataHandler.getDataRetriever().getRoomsRestClient() + .sendStateEvent(getRoomId(), Event.EVENT_TYPE_STATE_RELATED_GROUPS, null, params, new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + getState().groups = groupIds; + getDataHandler().getStore().storeLiveStateForRoom(getRoomId()); + + if (null != callback) { + callback.onSuccess(null); + } + } + }); + } + + + /** + * @return the room avatar URL. If there is no defined one, use the members one (1:1 chat only). + */ + @Nullable + public String getAvatarUrl() { + String res = getState().getAvatarUrl(); + + // detect if it is a room with no more than 2 members (i.e. an alone or a 1:1 chat) + if (null == res) { + if (getNumberOfMembers() == 1 && !getState().getLoadedMembers().isEmpty()) { + res = getState().getLoadedMembers().get(0).getAvatarUrl(); + } else if (getNumberOfMembers() == 2 && getState().getLoadedMembers().size() > 1) { + RoomMember m1 = getState().getLoadedMembers().get(0); + RoomMember m2 = getState().getLoadedMembers().get(1); + + res = TextUtils.equals(m1.getUserId(), mMyUserId) ? m2.getAvatarUrl() : m1.getAvatarUrl(); + } + } + + return res; + } + + /** + * The call avatar is the same as the room avatar except there are only 2 JOINED members. + * In this case, it returns the avtar of the other joined member. + * + * @return the call avatar URL. + */ + @Nullable + public String getCallAvatarUrl() { + String avatarURL; + + if (getNumberOfMembers() == 2 && getState().getLoadedMembers().size() > 1) { + RoomMember m1 = getState().getLoadedMembers().get(0); + RoomMember m2 = getState().getLoadedMembers().get(1); + + // use other member avatar. + if (TextUtils.equals(mMyUserId, m1.getUserId())) { + avatarURL = m2.getAvatarUrl(); + } else { + avatarURL = m1.getAvatarUrl(); + } + } else { + // + avatarURL = getAvatarUrl(); + } + + return avatarURL; + } + + /** + * Update the room avatar URL. + * + * @param avatarUrl the new avatar URL + * @param callback the async callback + */ + public void updateAvatarUrl(final String avatarUrl, final ApiCallback callback) { + mDataHandler.getDataRetriever().getRoomsRestClient().updateAvatarUrl(getRoomId(), avatarUrl, new RoomInfoUpdateCallback(callback) { + @Override + public void onSuccess(Void info) { + getState().url = avatarUrl; + super.onSuccess(info); + } + }); + } + + /** + * Update the room's history visibility + * + * @param historyVisibility the visibility (should be one of RoomState.HISTORY_VISIBILITY_XX values) + * @param callback the async callback + */ + public void updateHistoryVisibility(final String historyVisibility, final ApiCallback callback) { + mDataHandler.getDataRetriever().getRoomsRestClient() + .updateHistoryVisibility(getRoomId(), historyVisibility, new RoomInfoUpdateCallback(callback) { + @Override + public void onSuccess(Void info) { + getState().history_visibility = historyVisibility; + super.onSuccess(info); + } + }); + } + + /** + * Update the directory's visibility + * + * @param visibility the visibility (should be one of RoomState.HISTORY_VISIBILITY_XX values) + * @param callback the async callback + */ + public void updateDirectoryVisibility(final String visibility, final ApiCallback callback) { + mDataHandler.getDataRetriever().getRoomsRestClient().updateDirectoryVisibility(getRoomId(), visibility, new RoomInfoUpdateCallback(callback) { + @Override + public void onSuccess(Void info) { + getState().visibility = visibility; + super.onSuccess(info); + } + }); + } + + /** + * Get the directory visibility of the room (see {@link #updateDirectoryVisibility(String, ApiCallback)}). + * The directory visibility indicates if the room is listed among the directory list. + * + * @param roomId the user Id. + * @param callback the callback returning the visibility response value. + */ + public void getDirectoryVisibility(final String roomId, final ApiCallback callback) { + RoomsRestClient roomRestApi = mDataHandler.getDataRetriever().getRoomsRestClient(); + + if (null != roomRestApi) { + roomRestApi.getDirectoryVisibility(roomId, new SimpleApiCallback(callback) { + @Override + public void onSuccess(RoomDirectoryVisibility roomDirectoryVisibility) { + RoomState currentRoomState = getState(); + if (null != currentRoomState) { + currentRoomState.visibility = roomDirectoryVisibility.visibility; + } + + if (null != callback) { + callback.onSuccess(roomDirectoryVisibility.visibility); + } + } + }); + } + } + + /** + * Update the join rule of the room. + * + * @param aRule the join rule: {@link RoomState#JOIN_RULE_PUBLIC} or {@link RoomState#JOIN_RULE_INVITE} + * @param aCallBackResp the async callback + */ + public void updateJoinRules(final String aRule, final ApiCallback aCallBackResp) { + mDataHandler.getDataRetriever().getRoomsRestClient().updateJoinRules(getRoomId(), aRule, new RoomInfoUpdateCallback(aCallBackResp) { + @Override + public void onSuccess(Void info) { + getState().join_rule = aRule; + super.onSuccess(info); + } + }); + } + + /** + * Update the guest access rule of the room. + * To deny guest access to the room, aGuestAccessRule must be set to {@link RoomState#GUEST_ACCESS_FORBIDDEN}. + * + * @param aGuestAccessRule the guest access rule: {@link RoomState#GUEST_ACCESS_CAN_JOIN} or {@link RoomState#GUEST_ACCESS_FORBIDDEN} + * @param callback the async callback + */ + public void updateGuestAccess(final String aGuestAccessRule, final ApiCallback callback) { + mDataHandler.getDataRetriever().getRoomsRestClient().updateGuestAccess(getRoomId(), aGuestAccessRule, new RoomInfoUpdateCallback(callback) { + @Override + public void onSuccess(Void info) { + getState().guest_access = aGuestAccessRule; + super.onSuccess(info); + } + }); + } + + //================================================================================ + // Read receipts events + //================================================================================ + + /** + * @return the call conference user id + */ + private String getCallConferenceUserId() { + if (null == mCallConferenceUserId) { + mCallConferenceUserId = MXCallsManager.getConferenceUserId(getRoomId()); + } + + return mCallConferenceUserId; + } + + /** + * Handle a receiptData. + * + * @param receiptData the receiptData. + * @return true if there a store update. + */ + public boolean handleReceiptData(ReceiptData receiptData) { + if (!TextUtils.equals(receiptData.userId, getCallConferenceUserId()) && (null != getStore())) { + boolean isUpdated = getStore().storeReceipt(receiptData, getRoomId()); + + // check oneself receipts + // if there is an update, it means that the messages have been read from another client + // it requires to update the summary to display valid information. + if (isUpdated && TextUtils.equals(mMyUserId, receiptData.userId)) { + RoomSummary summary = getStore().getSummary(getRoomId()); + + if (null != summary) { + summary.setReadReceiptEventId(receiptData.eventId); + getStore().flushSummary(summary); + } + + refreshUnreadCounter(); + } + + return isUpdated; + } else { + return false; + } + } + + /** + * Handle receipt event. + * Event content will contains the receipts dictionaries + *

    +     * key   : $EventId
    +     * value : dict key @UserId
    +     *              value dict key "ts"
    +     *                    dict value ts value
    +     * 
    + *

    + * Example: + *

    +     * {
    +     *     "$1535657109773196ZjoWE:matrix.org": {
    +     *         "m.read": {
    +     *             "@slash_benoit:matrix.org": {
    +     *                 "ts": 1535708570621
    +     *             },
    +     *             "@benoit.marty:matrix.org": {
    +     *                 "ts": 1535657109472
    +     *             }
    +     *         }
    +     *     }
    +     * },
    +     * 
    + * + * @param event the event receipts. + * @return the sender user IDs list. + */ + private List handleReceiptEvent(Event event) { + List senderIDs = new ArrayList<>(); + + try { + Type type = new TypeToken>>>>() { + }.getType(); + Map>>> receiptsDict = JsonUtils.getGson(false).fromJson(event.getContent(), type); + + for (String eventId : receiptsDict.keySet()) { + Map>> receiptDict = receiptsDict.get(eventId); + + for (String receiptType : receiptDict.keySet()) { + // only the read receipts are managed + if (TextUtils.equals(receiptType, "m.read")) { + Map> userIdsDict = receiptDict.get(receiptType); + + for (String userID : userIdsDict.keySet()) { + Map paramsDict = userIdsDict.get(userID); + + for (String paramName : paramsDict.keySet()) { + if (TextUtils.equals("ts", paramName)) { + Double value = (Double) paramsDict.get(paramName); + long ts = value.longValue(); + + if (handleReceiptData(new ReceiptData(userID, eventId, ts))) { + senderIDs.add(userID); + } + } + } + } + } + } + } + } catch (Exception e) { + Log.e(LOG_TAG, "handleReceiptEvent : failed" + e.getMessage(), e); + } + + return senderIDs; + } + + /** + * Clear the unread message counters + * + * @param summary the room summary + */ + private void clearUnreadCounters(RoomSummary summary) { + Log.d(LOG_TAG, "## clearUnreadCounters " + getRoomId()); + + // reset the notification count + getState().setHighlightCount(0); + getState().setNotificationCount(0); + + if (null != getStore()) { + getStore().storeLiveStateForRoom(getRoomId()); + + // flush the summary + if (null != summary) { + summary.setUnreadEventsCount(0); + summary.setHighlightCount(0); + summary.setNotificationCount(0); + getStore().flushSummary(summary); + } + + getStore().commit(); + } + } + + /** + * @return the read marker event id + */ + public String getReadMarkerEventId() { + if (null == getStore()) { + return null; + } + + RoomSummary summary = getStore().getSummary(getRoomId()); + + if (null != summary) { + return (null != summary.getReadMarkerEventId()) ? summary.getReadMarkerEventId() : summary.getReadReceiptEventId(); + } else { + return null; + } + } + + /** + * Mark all the messages as read. + * It also move the read marker to the latest known messages + * + * @param aRespCallback the asynchronous callback + * @return true if the request is sent, false otherwise + */ + public boolean markAllAsRead(final ApiCallback aRespCallback) { + return markAllAsRead(true, aRespCallback); + } + + /** + * Mark all the messages as read. + * It also move the read marker to the latest known messages if updateReadMarker is set to true + * + * @param updateReadMarker true to move the read marker to the latest known event + * @param aRespCallback the asynchronous callback + * @return true if the request is sent, false otherwise + */ + private boolean markAllAsRead(boolean updateReadMarker, final ApiCallback aRespCallback) { + final Event lastEvent = (null != getStore()) ? getStore().getLatestEvent(getRoomId()) : null; + boolean res = sendReadMarkers(updateReadMarker ? ((null != lastEvent) ? lastEvent.eventId : null) : getReadMarkerEventId(), null, aRespCallback); + + if (!res) { + RoomSummary summary = (null != getStore()) ? getStore().getSummary(getRoomId()) : null; + + if (null != summary) { + if ((0 != summary.getUnreadEventsCount()) + || (0 != summary.getHighlightCount()) + || (0 != summary.getNotificationCount())) { + Log.e(LOG_TAG, "## markAllAsRead() : the summary events counters should be cleared for " + getRoomId()); + + Event latestEvent = getStore().getLatestEvent(getRoomId()); + summary.setLatestReceivedEvent(latestEvent); + + if (null != latestEvent) { + summary.setReadReceiptEventId(latestEvent.eventId); + } else { + summary.setReadReceiptEventId(null); + } + + summary.setUnreadEventsCount(0); + summary.setHighlightCount(0); + summary.setNotificationCount(0); + getStore().flushSummary(summary); + } + } else { + Log.e(LOG_TAG, "## sendReadReceipt() : no summary for " + getRoomId()); + } + + if ((0 != getState().getNotificationCount()) || (0 != getState().getHighlightCount())) { + Log.e(LOG_TAG, "## markAllAsRead() : the notification messages count for " + getRoomId() + " should have been cleared"); + + getState().setNotificationCount(0); + getState().setHighlightCount(0); + + if (null != getStore()) { + getStore().storeLiveStateForRoom(getRoomId()); + } + } + } + + return res; + } + + /** + * Update the read marker event Id + * + * @param readMarkerEventId the read marker even id + */ + public void setReadMakerEventId(final String readMarkerEventId) { + RoomSummary summary = (null != getStore()) ? getStore().getSummary(getRoomId()) : null; + if (summary != null && !readMarkerEventId.equals(summary.getReadMarkerEventId())) { + sendReadMarkers(readMarkerEventId, summary.getReadReceiptEventId(), null); + } + } + + /** + * Send a read receipt to the latest known event + */ + public void sendReadReceipt() { + markAllAsRead(false, null); + } + + /** + * Send the read receipt to the latest room message id. + * + * @param event send a read receipt to a provided event + * @param aRespCallback asynchronous response callback + * @return true if the read receipt has been sent, false otherwise + */ + public boolean sendReadReceipt(Event event, final ApiCallback aRespCallback) { + String eventId = (null != event) ? event.eventId : null; + Log.d(LOG_TAG, "## sendReadReceipt() : eventId " + eventId + " in room " + getRoomId()); + return sendReadMarkers(null, eventId, aRespCallback); + } + + /** + * Forget the current read marker + * This will update the read marker to match the read receipt + * + * @param callback the asynchronous callback + */ + public void forgetReadMarker(final ApiCallback callback) { + final RoomSummary summary = (null != getStore()) ? getStore().getSummary(getRoomId()) : null; + final String currentReadReceipt = (null != summary) ? summary.getReadReceiptEventId() : null; + + if (null != summary) { + Log.d(LOG_TAG, "## forgetReadMarker() : update the read marker to " + currentReadReceipt + " in room " + getRoomId()); + summary.setReadMarkerEventId(currentReadReceipt); + getStore().flushSummary(summary); + } + + setReadMarkers(currentReadReceipt, currentReadReceipt, callback); + } + + /** + * Send the read markers + * + * @param aReadMarkerEventId the new read marker event id (if null use the latest known event id) + * @param aReadReceiptEventId the new read receipt event id (if null use the latest known event id) + * @param aRespCallback asynchronous response callback + * @return true if the request is sent, false otherwise + */ + public boolean sendReadMarkers(final String aReadMarkerEventId, final String aReadReceiptEventId, final ApiCallback aRespCallback) { + final Event lastEvent = (null != getStore()) ? getStore().getLatestEvent(getRoomId()) : null; + + // reported by GA + if (null == lastEvent) { + Log.e(LOG_TAG, "## sendReadMarkers(): no last event"); + return false; + } + + Log.d(LOG_TAG, "## sendReadMarkers(): readMarkerEventId " + aReadMarkerEventId + " readReceiptEventId " + aReadReceiptEventId + + " in room " + getRoomId()); + + boolean hasUpdate = false; + + String readMarkerEventId = aReadMarkerEventId; + if (!TextUtils.isEmpty(aReadMarkerEventId)) { + if (!MXPatterns.isEventId(aReadMarkerEventId)) { + Log.e(LOG_TAG, "## sendReadMarkers() : invalid event id " + readMarkerEventId); + // Read marker is invalid, ignore it + readMarkerEventId = null; + } else { + // Check if the read marker is updated + RoomSummary summary = getStore().getSummary(getRoomId()); + if ((null != summary) && !TextUtils.equals(readMarkerEventId, summary.getReadMarkerEventId())) { + // Make sure the new read marker event is newer than the current one + final Event newReadMarkerEvent = getStore().getEvent(readMarkerEventId, getRoomId()); + final Event currentReadMarkerEvent = getStore().getEvent(summary.getReadMarkerEventId(), getRoomId()); + if (newReadMarkerEvent == null || currentReadMarkerEvent == null + || newReadMarkerEvent.getOriginServerTs() > currentReadMarkerEvent.getOriginServerTs()) { + // Event is not in store (assume it is in the past), or is older than current one + Log.d(LOG_TAG, "## sendReadMarkers(): set new read marker event id " + readMarkerEventId + " in room " + getRoomId()); + summary.setReadMarkerEventId(readMarkerEventId); + getStore().flushSummary(summary); + hasUpdate = true; + } + } + } + } + + final String readReceiptEventId = (null == aReadReceiptEventId) ? lastEvent.eventId : aReadReceiptEventId; + // check if the read receipt event id is already read + if ((null != getStore()) && !getStore().isEventRead(getRoomId(), getDataHandler().getUserId(), readReceiptEventId)) { + // check if the event id update is allowed + if (handleReceiptData(new ReceiptData(mMyUserId, readReceiptEventId, System.currentTimeMillis()))) { + // Clear the unread counters if the latest message is displayed + // We don't try to compute the unread counters for oldest messages : + // ---> it would require too much time. + // The counters are cleared to avoid displaying invalid values + // when the device is offline. + // The read receipts will be sent later + // (asap there is a valid network connection) + if (TextUtils.equals(lastEvent.eventId, readReceiptEventId)) { + clearUnreadCounters(getStore().getSummary(getRoomId())); + } + hasUpdate = true; + } + } + + if (hasUpdate) { + setReadMarkers(readMarkerEventId, readReceiptEventId, aRespCallback); + } + + return hasUpdate; + } + + /** + * Send the request to update the read marker and read receipt. + * + * @param aReadMarkerEventId the read marker event id + * @param aReadReceiptEventId the read receipt event id + * @param callback the asynchronous callback + */ + private void setReadMarkers(final String aReadMarkerEventId, final String aReadReceiptEventId, final ApiCallback callback) { + Log.d(LOG_TAG, "## setReadMarkers(): readMarkerEventId " + aReadMarkerEventId + " readReceiptEventId " + aReadMarkerEventId); + + // check if the message ids are valid + final String readMarkerEventId = MXPatterns.isEventId(aReadMarkerEventId) ? aReadMarkerEventId : null; + final String readReceiptEventId = MXPatterns.isEventId(aReadReceiptEventId) ? aReadReceiptEventId : null; + + // if there is nothing to do + if (TextUtils.isEmpty(readMarkerEventId) && TextUtils.isEmpty(readReceiptEventId)) { + new Handler(Looper.getMainLooper()).post(new Runnable() { + @Override + public void run() { + if (null != callback) { + callback.onSuccess(null); + } + } + }); + } else { + mDataHandler.getDataRetriever().getRoomsRestClient().sendReadMarker(getRoomId(), readMarkerEventId, readReceiptEventId, + new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + if (null != callback) { + callback.onSuccess(info); + } + } + }); + } + } + + /** + * Check if an event has been read. + * + * @param eventId the event id + * @return true if the message has been read + */ + public boolean isEventRead(String eventId) { + if (null != getStore()) { + return getStore().isEventRead(getRoomId(), mMyUserId, eventId); + } else { + return false; + } + } + + //================================================================================ + // Unread event count management + //================================================================================ + + /** + * @return the number of unread messages that match the push notification rules. + */ + public int getNotificationCount() { + return getState().getNotificationCount(); + } + + /** + * @return the number of highlighted events. + */ + public int getHighlightCount() { + return getState().getHighlightCount(); + } + + /** + * refresh the unread events counts. + */ + public void refreshUnreadCounter() { + // avoid refreshing the unread counter while processing a bunch of messages. + if (!mIsSyncing) { + RoomSummary summary = (null != getStore()) ? getStore().getSummary(getRoomId()) : null; + + if (null != summary) { + int prevValue = summary.getUnreadEventsCount(); + int newValue = getStore().eventsCountAfter(getRoomId(), summary.getReadReceiptEventId()); + + if (prevValue != newValue) { + summary.setUnreadEventsCount(newValue); + getStore().flushSummary(summary); + } + } + } else { + // wait the sync end before computing is again + mRefreshUnreadAfterSync = true; + } + } + + //================================================================================ + // typing events + //================================================================================ + + // userIds list + @NonNull + private final List mTypingUsers = new ArrayList<>(); + + /** + * Get typing users + * + * @return the userIds list + */ + @NonNull + public List getTypingUsers() { + List typingUsers; + + synchronized (mTypingUsers) { + typingUsers = new ArrayList<>(mTypingUsers); + } + + return typingUsers; + } + + /** + * Send a typing notification + * + * @param isTyping typing status + * @param timeout the typing timeout + * @param callback asynchronous callback + */ + public void sendTypingNotification(boolean isTyping, int timeout, ApiCallback callback) { + // send the event only if the user has joined the room. + if (isJoined()) { + mDataHandler.getDataRetriever().getRoomsRestClient().sendTypingNotification(getRoomId(), mMyUserId, isTyping, timeout, callback); + } + } + + //================================================================================ + // Medias events + //================================================================================ + + /** + * Fill the locationInfo + * + * @param context the context + * @param locationMessage the location message + * @param thumbnailUri the thumbnail uri + * @param thumbMimeType the thumbnail mime type + */ + public static void fillLocationInfo(Context context, LocationMessage locationMessage, Uri thumbnailUri, String thumbMimeType) { + if (null != thumbnailUri) { + try { + locationMessage.thumbnail_url = thumbnailUri.toString(); + + ThumbnailInfo thumbInfo = new ThumbnailInfo(); + File thumbnailFile = new File(thumbnailUri.getPath()); + + ExifInterface exifMedia = new ExifInterface(thumbnailUri.getPath()); + String sWidth = exifMedia.getAttribute(ExifInterface.TAG_IMAGE_WIDTH); + String sHeight = exifMedia.getAttribute(ExifInterface.TAG_IMAGE_LENGTH); + + if (null != sWidth) { + thumbInfo.w = Integer.parseInt(sWidth); + } + + if (null != sHeight) { + thumbInfo.h = Integer.parseInt(sHeight); + } + + thumbInfo.size = Long.valueOf(thumbnailFile.length()); + thumbInfo.mimetype = thumbMimeType; + locationMessage.thumbnail_info = thumbInfo; + } catch (Exception e) { + Log.e(LOG_TAG, "fillLocationInfo : failed" + e.getMessage(), e); + } + } + } + + /** + * Fills the VideoMessage info. + * + * @param context Application context for the content resolver. + * @param videoMessage The VideoMessage to fill. + * @param fileUri The file uri. + * @param videoMimeType The mimeType + * @param thumbnailUri the thumbnail uri + * @param thumbMimeType the thumbnail mime type + */ + public static void fillVideoInfo(Context context, VideoMessage videoMessage, Uri fileUri, String videoMimeType, Uri thumbnailUri, String thumbMimeType) { + try { + VideoInfo videoInfo = new VideoInfo(); + File file = new File(fileUri.getPath()); + + MediaMetadataRetriever retriever = new MediaMetadataRetriever(); + retriever.setDataSource(file.getAbsolutePath()); + + Bitmap bmp = retriever.getFrameAtTime(); + videoInfo.h = bmp.getHeight(); + videoInfo.w = bmp.getWidth(); + videoInfo.mimetype = videoMimeType; + + try { + MediaPlayer mp = MediaPlayer.create(context, fileUri); + if (null != mp) { + videoInfo.duration = Long.valueOf(mp.getDuration()); + mp.release(); + } + } catch (Exception e) { + Log.e(LOG_TAG, "fillVideoInfo : MediaPlayer.create failed" + e.getMessage(), e); + } + videoInfo.size = file.length(); + + // thumbnail + if (null != thumbnailUri) { + videoInfo.thumbnail_url = thumbnailUri.toString(); + + ThumbnailInfo thumbInfo = new ThumbnailInfo(); + File thumbnailFile = new File(thumbnailUri.getPath()); + + ExifInterface exifMedia = new ExifInterface(thumbnailUri.getPath()); + String sWidth = exifMedia.getAttribute(ExifInterface.TAG_IMAGE_WIDTH); + String sHeight = exifMedia.getAttribute(ExifInterface.TAG_IMAGE_LENGTH); + + if (null != sWidth) { + thumbInfo.w = Integer.parseInt(sWidth); + } + + if (null != sHeight) { + thumbInfo.h = Integer.parseInt(sHeight); + } + + thumbInfo.size = Long.valueOf(thumbnailFile.length()); + thumbInfo.mimetype = thumbMimeType; + videoInfo.thumbnail_info = thumbInfo; + } + + videoMessage.info = videoInfo; + } catch (Exception e) { + Log.e(LOG_TAG, "fillVideoInfo : failed" + e.getMessage(), e); + } + } + + /** + * Fills the fileMessage fileInfo. + * + * @param context Application context for the content resolver. + * @param fileMessage The fileMessage to fill. + * @param fileUri The file uri. + * @param mimeType The mimeType + */ + public static void fillFileInfo(Context context, FileMessage fileMessage, Uri fileUri, String mimeType) { + try { + FileInfo fileInfo = new FileInfo(); + + String filename = fileUri.getPath(); + File file = new File(filename); + + fileInfo.mimetype = mimeType; + fileInfo.size = file.length(); + + fileMessage.info = fileInfo; + + } catch (Exception e) { + Log.e(LOG_TAG, "fillFileInfo : failed" + e.getMessage(), e); + } + } + + + /** + * Update or create an ImageInfo for an image uri. + * + * @param context Application context for the content resolver. + * @param anImageInfo the imageInfo to fill, null to create a new one + * @param imageUri The full size image uri. + * @param mimeType The image mimeType + * @return the filled image info + */ + public static ImageInfo getImageInfo(Context context, ImageInfo anImageInfo, Uri imageUri, String mimeType) { + ImageInfo imageInfo = (null == anImageInfo) ? new ImageInfo() : anImageInfo; + + try { + String filename = imageUri.getPath(); + File file = new File(filename); + + ExifInterface exifMedia = new ExifInterface(filename); + String sWidth = exifMedia.getAttribute(ExifInterface.TAG_IMAGE_WIDTH); + String sHeight = exifMedia.getAttribute(ExifInterface.TAG_IMAGE_LENGTH); + + // the image rotation is replaced by orientation + // imageInfo.rotation = ImageUtils.getRotationAngleForBitmap(context, imageUri); + imageInfo.orientation = ImageUtils.getOrientationForBitmap(context, imageUri); + + int width = 0; + int height = 0; + + // extract the Exif info + if ((null != sWidth) && (null != sHeight)) { + + if ((imageInfo.orientation == ExifInterface.ORIENTATION_TRANSPOSE) + || (imageInfo.orientation == ExifInterface.ORIENTATION_ROTATE_90) + || (imageInfo.orientation == ExifInterface.ORIENTATION_TRANSVERSE) + || (imageInfo.orientation == ExifInterface.ORIENTATION_ROTATE_270)) { + height = Integer.parseInt(sWidth); + width = Integer.parseInt(sHeight); + } else { + width = Integer.parseInt(sWidth); + height = Integer.parseInt(sHeight); + } + } + + // there is no exif info or the size is invalid + if ((0 == width) || (0 == height)) { + try { + BitmapFactory.Options opts = new BitmapFactory.Options(); + opts.inJustDecodeBounds = true; + BitmapFactory.decodeFile(imageUri.getPath(), opts); + + // don't need to load the bitmap in memory + if ((opts.outHeight > 0) && (opts.outWidth > 0)) { + width = opts.outWidth; + height = opts.outHeight; + } + + } catch (Exception e) { + Log.e(LOG_TAG, "fillImageInfo : failed" + e.getMessage(), e); + } catch (OutOfMemoryError oom) { + Log.e(LOG_TAG, "fillImageInfo : oom", oom); + } + } + + // valid image size ? + if ((0 != width) || (0 != height)) { + imageInfo.w = width; + imageInfo.h = height; + } + + imageInfo.mimetype = mimeType; + imageInfo.size = file.length(); + } catch (Exception e) { + Log.e(LOG_TAG, "fillImageInfo : failed" + e.getMessage(), e); + imageInfo = null; + } + + return imageInfo; + } + + /** + * Fills the imageMessage imageInfo. + * + * @param context Application context for the content resolver. + * @param imageMessage The imageMessage to fill. + * @param imageUri The full size image uri. + * @param mimeType The image mimeType + */ + public static void fillImageInfo(Context context, ImageMessage imageMessage, Uri imageUri, String mimeType) { + imageMessage.info = getImageInfo(context, imageMessage.info, imageUri, mimeType); + } + + /** + * Fills the imageMessage imageInfo. + * + * @param context Application context for the content resolver. + * @param imageMessage The imageMessage to fill. + * @param thumbUri The thumbnail uri + * @param mimeType The image mimeType + */ + public static void fillThumbnailInfo(Context context, ImageMessage imageMessage, Uri thumbUri, String mimeType) { + ImageInfo imageInfo = getImageInfo(context, null, thumbUri, mimeType); + + if (null != imageInfo) { + if (null == imageMessage.info) { + imageMessage.info = new ImageInfo(); + } + + imageMessage.info.thumbnailInfo = new ThumbnailInfo(); + imageMessage.info.thumbnailInfo.w = imageInfo.w; + imageMessage.info.thumbnailInfo.h = imageInfo.h; + imageMessage.info.thumbnailInfo.size = imageInfo.size; + imageMessage.info.thumbnailInfo.mimetype = imageInfo.mimetype; + } + } + + //================================================================================ + // Call + //================================================================================ + + /** + * Test if a call can be performed in this room. + * + * @return true if a call can be performed. + */ + public boolean canPerformCall() { + return getNumberOfMembers() > 1; + } + + /** + * @return a list of callable members. + */ + public void callees(final ApiCallback> callback) { + getMembersAsync(new SimpleApiCallback>(callback) { + @Override + public void onSuccess(List info) { + List res = new ArrayList<>(); + + for (RoomMember m : info) { + if (RoomMember.MEMBERSHIP_JOIN.equals(m.membership) && !mMyUserId.equals(m.getUserId())) { + res.add(m); + } + } + + callback.onSuccess(res); + } + }); + } + + //================================================================================ + // Account data management + //================================================================================ + + /** + * Handle private user data events. + * + * @param accountDataEvents the account events. + */ + private void handleAccountDataEvents(List accountDataEvents) { + if ((null != accountDataEvents) && (accountDataEvents.size() > 0)) { + // manage the account events + for (Event accountDataEvent : accountDataEvents) { + String eventType = accountDataEvent.getType(); + + final RoomSummary summary = (null != getStore()) ? getStore().getSummary(getRoomId()) : null; + if (eventType.equals(Event.EVENT_TYPE_READ_MARKER)) { + if (summary != null) { + final Event event = JsonUtils.toEvent(accountDataEvent.getContent()); + if (null != event && !TextUtils.equals(event.eventId, summary.getReadMarkerEventId())) { + Log.d(LOG_TAG, "## handleAccountDataEvents() : update the read marker to " + event.eventId + " in room " + getRoomId()); + if (TextUtils.isEmpty(event.eventId)) { + Log.e(LOG_TAG, "## handleAccountDataEvents() : null event id " + accountDataEvent.getContent()); + } + summary.setReadMarkerEventId(event.eventId); + getStore().flushSummary(summary); + mDataHandler.onReadMarkerEvent(getRoomId()); + } + } + } else { + mAccountData.handleTagEvent(accountDataEvent); + if (Event.EVENT_TYPE_TAGS.equals(accountDataEvent.getType())) { + summary.setRoomTags(mAccountData.getKeys()); + getStore().flushSummary(summary); + mDataHandler.onRoomTagEvent(getRoomId()); + } else if (Event.EVENT_TYPE_URL_PREVIEW.equals(accountDataEvent.getType())) { + final JsonObject jsonObject = accountDataEvent.getContentAsJsonObject(); + if (jsonObject.has(AccountDataRestClient.ACCOUNT_DATA_KEY_URL_PREVIEW_DISABLE)) { + final boolean disabled = jsonObject.get(AccountDataRestClient.ACCOUNT_DATA_KEY_URL_PREVIEW_DISABLE).getAsBoolean(); + Set roomIdsWithoutURLPreview = mDataHandler.getStore().getRoomsWithoutURLPreviews(); + if (disabled) { + roomIdsWithoutURLPreview.add(getRoomId()); + } else { + roomIdsWithoutURLPreview.remove(getRoomId()); + } + + mDataHandler.getStore().setRoomsWithoutURLPreview(roomIdsWithoutURLPreview); + } + } + } + } + + if (null != getStore()) { + getStore().storeAccountData(getRoomId(), mAccountData); + } + } + } + + /** + * Add a tag to a room. + * Use this method to update the order of an existing tag. + * + * @param tag the new tag to add to the room. + * @param order the order. + * @param callback the operation callback + */ + private void addTag(String tag, Double order, final ApiCallback callback) { + // sanity check + if ((null != tag) && (null != order)) { + mDataHandler.getDataRetriever().getRoomsRestClient().addTag(getRoomId(), tag, order, callback); + } else { + if (null != callback) { + callback.onSuccess(null); + } + } + } + + /** + * Remove a tag to a room. + * + * @param tag the new tag to add to the room. + * @param callback the operation callback. + */ + private void removeTag(String tag, final ApiCallback callback) { + // sanity check + if (null != tag) { + mDataHandler.getDataRetriever().getRoomsRestClient().removeTag(getRoomId(), tag, callback); + } else { + if (null != callback) { + callback.onSuccess(null); + } + } + } + + /** + * Remove a tag and add another one. + * + * @param oldTag the tag to remove. + * @param newTag the new tag to add. Nil can be used. Then, no new tag will be added. + * @param newTagOrder the order of the new tag. + * @param callback the operation callback. + */ + public void replaceTag(final String oldTag, final String newTag, final Double newTagOrder, final ApiCallback callback) { + // remove tag + if ((null != oldTag) && (null == newTag)) { + removeTag(oldTag, callback); + } + // define a tag or define a new order + else if (((null == oldTag) && (null != newTag)) || TextUtils.equals(oldTag, newTag)) { + addTag(newTag, newTagOrder, callback); + } else { + removeTag(oldTag, new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + addTag(newTag, newTagOrder, callback); + } + }); + } + } + + //============================================================================================================== + // URL preview + //============================================================================================================== + + /** + * Tells if the URL preview has been allowed by the user. + * + * @return @return true if allowed. + */ + public boolean isURLPreviewAllowedByUser() { + return !getDataHandler().getStore().getRoomsWithoutURLPreviews().contains(getRoomId()); + } + + /** + * Update the user enabled room url preview + * + * @param status the new status + * @param callback the asynchronous callback + */ + public void setIsURLPreviewAllowedByUser(boolean status, ApiCallback callback) { + mDataHandler.getDataRetriever().getRoomsRestClient().updateURLPreviewStatus(getRoomId(), status, callback); + } + + //============================================================================================================== + // Room events dispatcher + //============================================================================================================== + + /** + * Add an event listener to this room. Only events relative to the room will come down. + * + * @param eventListener the event listener to add + */ + public void addEventListener(final IMXEventListener eventListener) { + // sanity check + if (null == eventListener) { + Log.e(LOG_TAG, "addEventListener : eventListener is null"); + return; + } + + // GA crash : should never happen but got it. + if (null == mDataHandler) { + Log.e(LOG_TAG, "addEventListener : mDataHandler is null"); + return; + } + + // Create a global listener that we'll add to the data handler + IMXEventListener globalListener = new MXRoomEventListener(this, eventListener); + + mEventListeners.put(eventListener, globalListener); + + // GA crash + if (null != mDataHandler) { + mDataHandler.addListener(globalListener); + } + } + + /** + * Remove an event listener. + * + * @param eventListener the event listener to remove + */ + public void removeEventListener(IMXEventListener eventListener) { + // sanity check + if ((null != eventListener) && (null != mDataHandler)) { + mDataHandler.removeListener(mEventListeners.get(eventListener)); + mEventListeners.remove(eventListener); + } + } + + //============================================================================================================== + // Send methods + //============================================================================================================== + + /** + * Send an event content to the room. + * The event is updated with the data provided by the server + * The provided event contains the error description. + * + * @param event the message + * @param callback the callback with the created event + */ + public void sendEvent(final Event event, final ApiCallback callback) { + // wait that the room is synced before sending messages + if (!mIsReady || !isJoined()) { + mDataHandler.updateEventState(event, Event.SentState.WAITING_RETRY); + try { + callback.onNetworkError(null); + } catch (Exception e) { + Log.e(LOG_TAG, "sendEvent exception " + e.getMessage(), e); + } + return; + } + + final String prevEventId = event.eventId; + + final ApiCallback localCB = new ApiCallback() { + @Override + public void onSuccess(final CreatedEvent createdEvent) { + if (null != getStore()) { + // remove the tmp event + getStore().deleteEvent(event); + } + + // replace the tmp event id by the final one + boolean isReadMarkerUpdated = TextUtils.equals(getReadMarkerEventId(), event.eventId); + + // update the event with the server response + event.eventId = createdEvent.eventId; + event.originServerTs = System.currentTimeMillis(); + mDataHandler.updateEventState(event, Event.SentState.SENT); + + // the message echo is not yet echoed + if (null != getStore() && !getStore().doesEventExist(createdEvent.eventId, getRoomId())) { + getStore().storeLiveRoomEvent(event); + } + + // send the dedicated read receipt asap + markAllAsRead(isReadMarkerUpdated, null); + + if (null != getStore()) { + getStore().commit(); + } + mDataHandler.onEventSent(event, prevEventId); + + try { + callback.onSuccess(null); + } catch (Exception e) { + Log.e(LOG_TAG, "sendEvent exception " + e.getMessage(), e); + } + } + + @Override + public void onNetworkError(Exception e) { + event.unsentException = e; + mDataHandler.updateEventState(event, Event.SentState.UNDELIVERED); + try { + callback.onNetworkError(e); + } catch (Exception anException) { + Log.e(LOG_TAG, "sendEvent exception " + anException.getMessage(), anException); + } + } + + @Override + public void onMatrixError(MatrixError e) { + event.unsentMatrixError = e; + mDataHandler.updateEventState(event, Event.SentState.UNDELIVERED); + + if (MatrixError.isConfigurationErrorCode(e.errcode)) { + mDataHandler.onConfigurationError(e.errcode); + } else { + try { + callback.onMatrixError(e); + } catch (Exception anException) { + Log.e(LOG_TAG, "sendEvent exception " + anException.getMessage(), anException); + } + } + } + + @Override + public void onUnexpectedError(Exception e) { + event.unsentException = e; + mDataHandler.updateEventState(event, Event.SentState.UNDELIVERED); + try { + callback.onUnexpectedError(e); + } catch (Exception anException) { + Log.e(LOG_TAG, "sendEvent exception " + anException.getMessage(), anException); + } + } + }; + + if (isEncrypted() && (null != mDataHandler.getCrypto())) { + mDataHandler.updateEventState(event, Event.SentState.ENCRYPTING); + + // Store the "m.relates_to" data and remove them from event content before encrypting the event content + final JsonElement relatesTo; + + JsonObject contentAsJsonObject = event.getContentAsJsonObject(); + + if (contentAsJsonObject != null + && contentAsJsonObject.has("m.relates_to")) { + // Get a copy of "m.relates_to" data... + relatesTo = contentAsJsonObject.get("m.relates_to"); + + // ... and remove "m.relates_to" data from the content before encrypting it + contentAsJsonObject.remove("m.relates_to"); + } else { + relatesTo = null; + } + + // Encrypt the content before sending + mDataHandler.getCrypto() + .encryptEventContent(contentAsJsonObject, event.getType(), this, new ApiCallback() { + @Override + public void onSuccess(MXEncryptEventContentResult encryptEventContentResult) { + // update the event content with the encrypted data + event.type = encryptEventContentResult.mEventType; + + // Add the "m.relates_to" data to the encrypted event here + JsonObject encryptedContent = encryptEventContentResult.mEventContent.getAsJsonObject(); + if (relatesTo != null) { + encryptedContent.add("m.relates_to", relatesTo); + } + event.updateContent(encryptedContent); + mDataHandler.decryptEvent(event, null); + + // sending in progress + mDataHandler.updateEventState(event, Event.SentState.SENDING); + mDataHandler.getDataRetriever().getRoomsRestClient().sendEventToRoom(event.eventId, getRoomId(), + encryptEventContentResult.mEventType, encryptEventContentResult.mEventContent.getAsJsonObject(), localCB); + } + + @Override + public void onNetworkError(Exception e) { + event.unsentException = e; + mDataHandler.updateEventState(event, Event.SentState.UNDELIVERED); + + if (null != callback) { + callback.onNetworkError(e); + } + } + + @Override + public void onMatrixError(MatrixError e) { + // update the sent state if the message encryption failed because there are unknown devices. + if ((e instanceof MXCryptoError) && TextUtils.equals(((MXCryptoError) e).errcode, MXCryptoError.UNKNOWN_DEVICES_CODE)) { + event.mSentState = Event.SentState.FAILED_UNKNOWN_DEVICES; + } else { + event.mSentState = Event.SentState.UNDELIVERED; + } + event.unsentMatrixError = e; + mDataHandler.onEventSentStateUpdated(event); + + if (null != callback) { + callback.onMatrixError(e); + } + } + + @Override + public void onUnexpectedError(Exception e) { + event.unsentException = e; + mDataHandler.updateEventState(event, Event.SentState.UNDELIVERED); + + if (null != callback) { + callback.onUnexpectedError(e); + } + } + }); + } else { + mDataHandler.updateEventState(event, Event.SentState.SENDING); + + if (Event.EVENT_TYPE_MESSAGE.equals(event.getType())) { + mDataHandler.getDataRetriever().getRoomsRestClient() + .sendMessage(event.eventId, getRoomId(), JsonUtils.toMessage(event.getContent()), localCB); + } else { + mDataHandler.getDataRetriever().getRoomsRestClient() + .sendEventToRoom(event.eventId, getRoomId(), event.getType(), event.getContentAsJsonObject(), localCB); + } + } + } + + /** + * Cancel the event sending. + * Any media upload will be cancelled too. + * The event becomes undeliverable. + * + * @param event the message + */ + public void cancelEventSending(final Event event) { + if (null != event) { + if ((Event.SentState.UNSENT == event.mSentState) + || (Event.SentState.SENDING == event.mSentState) + || (Event.SentState.WAITING_RETRY == event.mSentState) + || (Event.SentState.ENCRYPTING == event.mSentState)) { + + // the message cannot be sent anymore + mDataHandler.updateEventState(event, Event.SentState.UNDELIVERED); + } + + List urls = event.getMediaUrls(); + MXMediasCache cache = mDataHandler.getMediasCache(); + + for (String url : urls) { + cache.cancelUpload(url); + cache.cancelDownload(cache.downloadIdFromUrl(url)); + } + } + } + + /** + * Redact an event from the room. + * + * @param eventId the event's id + * @param callback the callback with the redacted event + */ + public void redact(final String eventId, final ApiCallback callback) { + mDataHandler.getDataRetriever().getRoomsRestClient().redactEvent(getRoomId(), eventId, new SimpleApiCallback(callback) { + @Override + public void onSuccess(Event event) { + Event redactedEvent = (null != getStore()) ? getStore().getEvent(eventId, getRoomId()) : null; + + // test if the redacted event has been echoed + // it it was not echoed, the event must be pruned to remove useless data + // the room summary will be updated when the server will echo the redacted event + if ((null != redactedEvent) && ((null == redactedEvent.unsigned) || (null == redactedEvent.unsigned.redacted_because))) { + redactedEvent.prune(null); + getStore().storeLiveRoomEvent(redactedEvent); + getStore().commit(); + } + + if (null != callback) { + callback.onSuccess(redactedEvent); + } + } + }); + } + + /** + * Redact an event from the room. + * + * @param eventId the event's id + * @param score the score + * @param reason the redaction reason + * @param callback the callback with the created event + */ + public void report(String eventId, int score, String reason, ApiCallback callback) { + mDataHandler.getDataRetriever().getRoomsRestClient().reportEvent(getRoomId(), eventId, score, reason, callback); + } + + //================================================================================ + // Member actions + //================================================================================ + + /** + * Invite an user to this room. + * + * @param userId the user id + * @param callback the callback for when done + */ + public void invite(String userId, ApiCallback callback) { + if (null != userId) { + invite(Collections.singletonList(userId), callback); + } + } + + /** + * Invite an user to a room based on their email address to this room. + * + * @param email the email address + * @param callback the callback for when done + */ + public void inviteByEmail(String email, ApiCallback callback) { + if (null != email) { + invite(Collections.singletonList(email), callback); + } + } + + /** + * Invite users to this room. + * The identifiers are either ini Id or email address. + * + * @param identifiers the identifiers list + * @param callback the callback for when done + */ + public void invite(List identifiers, ApiCallback callback) { + if (null != identifiers) { + invite(identifiers.iterator(), callback); + } + } + + /** + * Invite some users to this room. + * + * @param identifiers the identifiers iterator + * @param callback the callback for when done + */ + private void invite(final Iterator identifiers, final ApiCallback callback) { + if (!identifiers.hasNext()) { + callback.onSuccess(null); + return; + } + + final ApiCallback localCallback = new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + invite(identifiers, callback); + } + }; + + String identifier = identifiers.next(); + + if (android.util.Patterns.EMAIL_ADDRESS.matcher(identifier).matches()) { + mDataHandler.getDataRetriever().getRoomsRestClient().inviteByEmailToRoom(getRoomId(), identifier, localCallback); + } else { + mDataHandler.getDataRetriever().getRoomsRestClient().inviteUserToRoom(getRoomId(), identifier, localCallback); + } + } + + /** + * Leave the room. + * + * @param callback the callback for when done + */ + public void leave(final ApiCallback callback) { + mIsLeaving = true; + mDataHandler.onRoomInternalUpdate(getRoomId()); + + mDataHandler.getDataRetriever().getRoomsRestClient().leaveRoom(getRoomId(), new ApiCallback() { + @Override + public void onSuccess(Void info) { + if (mDataHandler.isAlive()) { + mIsLeaving = false; + + // delete references to the room + mDataHandler.deleteRoom(getRoomId()); + + if (null != getStore()) { + Log.d(LOG_TAG, "leave : commit"); + getStore().commit(); + } + + try { + callback.onSuccess(info); + } catch (Exception e) { + Log.e(LOG_TAG, "leave exception " + e.getMessage(), e); + } + + mDataHandler.onLeaveRoom(getRoomId()); + } + } + + @Override + public void onNetworkError(Exception e) { + mIsLeaving = false; + + try { + callback.onNetworkError(e); + } catch (Exception anException) { + Log.e(LOG_TAG, "leave exception " + anException.getMessage(), anException); + } + + mDataHandler.onRoomInternalUpdate(getRoomId()); + } + + @Override + public void onMatrixError(MatrixError e) { + // the room was not anymore defined server side + // race condition ? + if (e.mStatus == 404) { + onSuccess(null); + } else { + mIsLeaving = false; + + try { + callback.onMatrixError(e); + } catch (Exception anException) { + Log.e(LOG_TAG, "leave exception " + anException.getMessage(), anException); + } + + mDataHandler.onRoomInternalUpdate(getRoomId()); + } + } + + @Override + public void onUnexpectedError(Exception e) { + mIsLeaving = false; + + try { + callback.onUnexpectedError(e); + } catch (Exception anException) { + Log.e(LOG_TAG, "leave exception " + anException.getMessage(), anException); + } + + mDataHandler.onRoomInternalUpdate(getRoomId()); + } + }); + } + + /** + * Forget the room. + * + * @param callback the callback for when done + */ + public void forget(final ApiCallback callback) { + mDataHandler.getDataRetriever().getRoomsRestClient().forgetRoom(getRoomId(), new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + if (mDataHandler.isAlive()) { + // don't call onSuccess.deleteRoom because it moves an existing room to historical store + IMXStore store = mDataHandler.getStore(getRoomId()); + + if (null != store) { + store.deleteRoom(getRoomId()); + store.commit(); + } + + try { + callback.onSuccess(info); + } catch (Exception e) { + Log.e(LOG_TAG, "forget exception " + e.getMessage(), e); + } + } + } + }); + } + + + /** + * Kick a user from the room. + * + * @param userId the user id + * @param callback the async callback + */ + public void kick(String userId, ApiCallback callback) { + mDataHandler.getDataRetriever().getRoomsRestClient().kickFromRoom(getRoomId(), userId, callback); + } + + /** + * Ban a user from the room. + * + * @param userId the user id + * @param reason ban reason + * @param callback the async callback + */ + public void ban(String userId, String reason, ApiCallback callback) { + BannedUser user = new BannedUser(); + user.userId = userId; + if (!TextUtils.isEmpty(reason)) { + user.reason = reason; + } + mDataHandler.getDataRetriever().getRoomsRestClient().banFromRoom(getRoomId(), user, callback); + } + + /** + * Unban a user. + * + * @param userId the user id + * @param callback the async callback + */ + public void unban(String userId, ApiCallback callback) { + BannedUser user = new BannedUser(); + user.userId = userId; + + mDataHandler.getDataRetriever().getRoomsRestClient().unbanFromRoom(getRoomId(), user, callback); + } + + //================================================================================ + // Encryption + //================================================================================ + + private ApiCallback mRoomEncryptionCallback; + + private final MXEventListener mEncryptionListener = new MXEventListener() { + @Override + public void onLiveEvent(Event event, RoomState roomState) { + if (TextUtils.equals(event.getType(), Event.EVENT_TYPE_MESSAGE_ENCRYPTION)) { + if (null != mRoomEncryptionCallback) { + mRoomEncryptionCallback.onSuccess(null); + mRoomEncryptionCallback = null; + } + } + } + }; + + /** + * @return if the room content is encrypted + */ + public boolean isEncrypted() { + return getState().isEncrypted(); + } + + /** + * Enable the encryption. + * + * @param algorithm the used algorithm + * @param callback the asynchronous callback + */ + public void enableEncryptionWithAlgorithm(final String algorithm, final ApiCallback callback) { + // ensure that the crypto has been update + if (null != mDataHandler.getCrypto() && !TextUtils.isEmpty(algorithm)) { + Map params = new HashMap<>(); + params.put("algorithm", algorithm); + + if (null != callback) { + mRoomEncryptionCallback = callback; + addEventListener(mEncryptionListener); + } + + mDataHandler.getDataRetriever().getRoomsRestClient() + .sendStateEvent(getRoomId(), Event.EVENT_TYPE_MESSAGE_ENCRYPTION, null, params, new ApiCallback() { + @Override + public void onSuccess(Void info) { + // Wait for the event coming back from the hs + } + + @Override + public void onNetworkError(Exception e) { + if (null != callback) { + callback.onNetworkError(e); + removeEventListener(mEncryptionListener); + } + } + + @Override + public void onMatrixError(MatrixError e) { + if (null != callback) { + callback.onMatrixError(e); + removeEventListener(mEncryptionListener); + } + } + + @Override + public void onUnexpectedError(Exception e) { + if (null != callback) { + callback.onUnexpectedError(e); + removeEventListener(mEncryptionListener); + } + } + }); + } else if (null != callback) { + if (null == mDataHandler.getCrypto()) { + callback.onMatrixError(new MXCryptoError(MXCryptoError.ENCRYPTING_NOT_ENABLED_ERROR_CODE, + MXCryptoError.ENCRYPTING_NOT_ENABLED_REASON, MXCryptoError.ENCRYPTING_NOT_ENABLED_REASON)); + } else { + callback.onMatrixError(new MXCryptoError(MXCryptoError.MISSING_FIELDS_ERROR_CODE, + MXCryptoError.UNABLE_TO_ENCRYPT, MXCryptoError.MISSING_FIELDS_REASON)); + } + } + } + + //============================================================================================================== + // Room events helper + //============================================================================================================== + + private RoomMediaMessagesSender mRoomMediaMessagesSender; + + /** + * Init the mRoomMediaMessagesSender instance + */ + private void initRoomMediaMessagesSender() { + if (null == mRoomMediaMessagesSender) { + mRoomMediaMessagesSender = new RoomMediaMessagesSender(getStore().getContext(), mDataHandler, this); + } + } + + /** + * Send a text message asynchronously. + * + * @param text the unformatted text + * @param htmlFormattedText the HTML formatted text + * @param format the formatted text format + * @param listener the event creation listener + */ + public void sendTextMessage(String text, + String htmlFormattedText, + String format, + RoomMediaMessage.EventCreationListener listener) { + sendTextMessage(text, htmlFormattedText, format, null, Message.MSGTYPE_TEXT, listener); + } + + /** + * Send a text message asynchronously. + * + * @param text the unformatted text + * @param htmlFormattedText the HTML formatted text + * @param format the formatted text format + * @param replyToEvent the event to reply to, or null + * @param listener the event creation listener + */ + public void sendTextMessage(String text, + String htmlFormattedText, + String format, + @Nullable Event replyToEvent, + RoomMediaMessage.EventCreationListener listener) { + sendTextMessage(text, htmlFormattedText, format, replyToEvent, Message.MSGTYPE_TEXT, listener); + } + + /** + * Send an emote message asynchronously. + * + * @param text the unformatted text + * @param htmlFormattedText the HTML formatted text + * @param format the formatted text format + * @param listener the event creation listener + */ + public void sendEmoteMessage(String text, + String htmlFormattedText, + String format, + final RoomMediaMessage.EventCreationListener listener) { + sendTextMessage(text, htmlFormattedText, format, null, Message.MSGTYPE_EMOTE, listener); + } + + /** + * Send a text message asynchronously. + * + * @param text the unformatted text + * @param htmlFormattedText the HTML formatted text + * @param format the formatted text format + * @param replyToEvent the event to reply to (optional). Only event of type Event.EVENT_TYPE_MESSAGE are supported for the moment. + * @param msgType the message type + * @param listener the event creation listener + */ + private void sendTextMessage(String text, + String htmlFormattedText, + String format, + @Nullable Event replyToEvent, + String msgType, + final RoomMediaMessage.EventCreationListener listener) { + initRoomMediaMessagesSender(); + + RoomMediaMessage roomMediaMessage = new RoomMediaMessage(text, htmlFormattedText, format); + roomMediaMessage.setMessageType(msgType); + roomMediaMessage.setEventCreationListener(listener); + + if (canReplyTo(replyToEvent)) { + roomMediaMessage.setReplyToEvent(replyToEvent); + } + + mRoomMediaMessagesSender.send(roomMediaMessage); + } + + /** + * Indicate if replying to the provided event is supported. + * Only event of type Event.EVENT_TYPE_MESSAGE are supported for the moment, and for certain msgtype. + * + * @param replyToEvent the event to reply to + * @return true if it is possible to reply to this event + */ + public boolean canReplyTo(@Nullable Event replyToEvent) { + if (replyToEvent != null + && Event.EVENT_TYPE_MESSAGE.equals(replyToEvent.getType())) { + + // Cf. https://docs.google.com/document/d/1BPd4lBrooZrWe_3s_lHw_e-Dydvc7bXbm02_sV2k6Sc + String msgType = JsonUtils.getMessageMsgType(replyToEvent.getContentAsJsonObject()); + + if (msgType != null) { + switch (msgType) { + case Message.MSGTYPE_TEXT: + case Message.MSGTYPE_NOTICE: + case Message.MSGTYPE_EMOTE: + case Message.MSGTYPE_IMAGE: + case Message.MSGTYPE_VIDEO: + case Message.MSGTYPE_AUDIO: + case Message.MSGTYPE_FILE: + return true; + } + } + } + + return false; + } + + /** + * Send an media message asynchronously. + * + * @param roomMediaMessage the media message to send. + * @param maxThumbnailWidth the max thumbnail width + * @param maxThumbnailHeight the max thumbnail height + * @param listener the event creation listener + */ + public void sendMediaMessage(final RoomMediaMessage roomMediaMessage, + final int maxThumbnailWidth, + final int maxThumbnailHeight, + final RoomMediaMessage.EventCreationListener listener) { + initRoomMediaMessagesSender(); + + roomMediaMessage.setThumbnailSize(new Pair<>(maxThumbnailWidth, maxThumbnailHeight)); + roomMediaMessage.setEventCreationListener(listener); + + mRoomMediaMessagesSender.send(roomMediaMessage); + } + + /** + * Send a sticker message. + * + * @param event + * @param listener + */ + public void sendStickerMessage(Event event, final RoomMediaMessage.EventCreationListener listener) { + initRoomMediaMessagesSender(); + + RoomMediaMessage roomMediaMessage = new RoomMediaMessage(event); + roomMediaMessage.setMessageType(Event.EVENT_TYPE_STICKER); + roomMediaMessage.setEventCreationListener(listener); + + mRoomMediaMessagesSender.send(roomMediaMessage); + } + + //============================================================================================================== + // Unsent events management + //============================================================================================================== + + /** + * Provides the unsent messages list. + * + * @return the unsent events list + */ + public List getUnsentEvents() { + List unsent = new ArrayList<>(); + + if (null != getStore()) { + List undeliverableEvents = getStore().getUndeliveredEvents(getRoomId()); + List unknownDeviceEvents = getStore().getUnknownDeviceEvents(getRoomId()); + + if (null != undeliverableEvents) { + unsent.addAll(undeliverableEvents); + } + + if (null != unknownDeviceEvents) { + unsent.addAll(unknownDeviceEvents); + } + } + + return unsent; + } + + /** + * Delete an events list. + * + * @param events the events list + */ + public void deleteEvents(List events) { + if ((null != getStore()) && (null != events) && events.size() > 0) { + // reset the timestamp + for (Event event : events) { + getStore().deleteEvent(event); + } + + // update the summary + Event latestEvent = getStore().getLatestEvent(getRoomId()); + + // if there is an oldest event, use it to set a summary + if (latestEvent != null) { + if (RoomSummary.isSupportedEvent(latestEvent)) { + RoomSummary summary = getStore().getSummary(getRoomId()); + + if (null != summary) { + summary.setLatestReceivedEvent(latestEvent, getState()); + } else { + summary = new RoomSummary(null, latestEvent, getState(), mDataHandler.getUserId()); + } + + getStore().storeSummary(summary); + } + } + + getStore().commit(); + } + } + + /** + * Tell if room is Direct Chat + * + * @return true if is direct chat + */ + public boolean isDirect() { + return mDataHandler.getDirectChatRoomIdsList().contains(getRoomId()); + } + + @Nullable + public RoomSummary getRoomSummary() { + if (getDataHandler() == null) { + return null; + } + + if (getDataHandler().getStore() == null) { + return null; + } + + return getDataHandler().getStore().getSummary(getRoomId()); + } + + public int getNumberOfMembers() { + if (getDataHandler().isLazyLoadingEnabled()) { + return getNumberOfJoinedMembers() + getNumberOfInvitedMembers(); + } else { + return getState().getLoadedMembers().size(); + } + } + + public int getNumberOfJoinedMembers() { + if (getDataHandler().isLazyLoadingEnabled()) { + RoomSummary roomSummary = getRoomSummary(); + + if (roomSummary != null) { + return roomSummary.getNumberOfJoinedMembers(); + } else { + // Should not happen, fallback to loaded members + return getNumberOfLoadedJoinedMembers(); + } + } else { + return getNumberOfLoadedJoinedMembers(); + } + } + + private int getNumberOfLoadedJoinedMembers() { + int count = 0; + + for (RoomMember roomMember : getState().getLoadedMembers()) { + if (RoomMember.MEMBERSHIP_JOIN.equals(roomMember.membership)) { + count++; + } + } + + return count; + } + + public int getNumberOfInvitedMembers() { + if (getDataHandler().isLazyLoadingEnabled()) { + RoomSummary roomSummary = getRoomSummary(); + + if (roomSummary != null) { + return roomSummary.getNumberOfInvitedMembers(); + } else { + // Should not happen, fallback to loaded members + return getNumberOfLoadedInvitedMembers(); + } + } else { + return getNumberOfLoadedInvitedMembers(); + } + } + + private int getNumberOfLoadedInvitedMembers() { + int count = 0; + + for (RoomMember roomMember : getState().getLoadedMembers()) { + if (RoomMember.MEMBERSHIP_INVITE.equals(roomMember.membership)) { + count++; + } + } + + return count; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomAccountData.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomAccountData.java new file mode 100644 index 00000000..8a0d1e52 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomAccountData.java @@ -0,0 +1,83 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data; + +import android.support.annotation.Nullable; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +import java.util.Map; +import java.util.Set; + +/** + * Class representing private data that the user has defined for a room. + */ +public class RoomAccountData implements java.io.Serializable { + + private static final long serialVersionUID = -8406116277864521120L; + + // The tags the user defined for this room. + // The key is the tag name. The value, the associated MXRoomTag object. + private Map tags = null; + + /** + * Process an event that modifies room account data (like m.tag event). + * + * @param event an event + */ + public void handleTagEvent(Event event) { + if (event.getType().equals(Event.EVENT_TYPE_TAGS)) { + tags = RoomTag.roomTagsWithTagEvent(event); + } + } + + /** + * Provide a RoomTag for a key. + * + * @param key the key. + * @return the roomTag if it is found else null + */ + @Nullable + public RoomTag roomTag(String key) { + if ((null != tags) && tags.containsKey(key)) { + return tags.get(key); + } + + return null; + } + + /** + * @return true if some tags are defined + */ + public boolean hasTags() { + return (null != tags) && (tags.size() > 0); + } + + /** + * @return the list of keys, or null if no tag + */ + @Nullable + public Set getKeys() { + if (hasTags()) { + return tags.keySet(); + } else { + return null; + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomEmailInvitation.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomEmailInvitation.java new file mode 100644 index 00000000..bfeb6c3b --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomEmailInvitation.java @@ -0,0 +1,49 @@ +/* + * Copyright 2014 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.data; + +import java.util.Map; + +/** + * Class representing the email invitation parameters + */ +public class RoomEmailInvitation { + + // the email invitation parameters + // earch parameter can be null + public String email; + public String signUrl; + public String roomName; + public String roomAvatarUrl; + public String inviterName; + public String guestAccessToken; + public String guestUserId; + + // the constructor + public RoomEmailInvitation(Map parameters) { + + if (null != parameters) { + email = parameters.get("email"); + signUrl = parameters.get("signurl"); + roomName = parameters.get("room_name"); + roomAvatarUrl = parameters.get("room_avatar_url"); + inviterName = parameters.get("inviter_name"); + guestAccessToken = parameters.get("guestAccessToken"); + guestUserId = parameters.get("guest_user_id"); + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomMediaMessage.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomMediaMessage.java new file mode 100755 index 00000000..db07f4eb --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomMediaMessage.java @@ -0,0 +1,901 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data; + +import android.content.ClipData; +import android.content.ClipDescription; +import android.content.ContentResolver; +import android.content.Context; +import android.content.Intent; +import android.database.Cursor; +import android.graphics.Bitmap; +import android.net.Uri; +import android.os.Build; +import android.os.Bundle; +import android.os.Parcel; +import android.os.Parcelable; +import android.provider.MediaStore; +import android.provider.OpenableColumns; +import android.support.annotation.Nullable; +import android.text.TextUtils; +import android.util.Pair; +import android.webkit.MimeTypeMap; + +import im.vector.matrix.android.internal.legacy.listeners.IMXMediaUploadListener; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.message.Message; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; +import im.vector.matrix.android.internal.legacy.util.ResourceUtils; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +/** + * RoomMediaMessage encapsulates the media information to be sent. + */ +public class RoomMediaMessage implements Parcelable { + private static final String LOG_TAG = RoomMediaMessage.class.getSimpleName(); + + private static final Uri mDummyUri = Uri.parse("http://www.matrixdummy.org"); + + /** + * Interface to monitor event creation. + */ + public interface EventCreationListener { + /** + * The dedicated event has been created and added to the events list. + * + * @param roomMediaMessage the room media message. + */ + void onEventCreated(RoomMediaMessage roomMediaMessage); + + /** + * The event creation failed. + * + * @param roomMediaMessage the room media message. + * @param errorMessage the failure reason + */ + void onEventCreationFailed(RoomMediaMessage roomMediaMessage, String errorMessage); + + /** + * The media encryption failed. + * + * @param roomMediaMessage the room media message. + */ + void onEncryptionFailed(RoomMediaMessage roomMediaMessage); + } + + // the item is defined either from an uri + private Uri mUri; + private String mMimeType; + + // the message to send + private Event mEvent; + + // or a clipData Item + private ClipData.Item mClipDataItem; + + // the filename + private String mFileName; + + // Message.MSGTYPE_XX value + private String mMessageType; + + // The replyTo event + @Nullable + private Event mReplyToEvent; + + // thumbnail size + private Pair mThumbnailSize = new Pair<>(100, 100); + + // upload media upload listener + private transient IMXMediaUploadListener mMediaUploadListener; + + // event sending callback + private transient ApiCallback mEventSendingCallback; + + // event creation listener + private transient EventCreationListener mEventCreationListener; + + /** + * Constructor from a ClipData.Item. + * It might be used by a third party medias selection. + * + * @param clipDataItem the data item + * @param mimeType the mime type + */ + public RoomMediaMessage(ClipData.Item clipDataItem, String mimeType) { + mClipDataItem = clipDataItem; + mMimeType = mimeType; + } + + /** + * Constructor for a text message. + * + * @param text the text + * @param htmlText the HTML text + * @param format the formatted text format + */ + public RoomMediaMessage(CharSequence text, String htmlText, String format) { + mClipDataItem = new ClipData.Item(text, htmlText); + mMimeType = (null == htmlText) ? ClipDescription.MIMETYPE_TEXT_PLAIN : format; + } + + /** + * Constructor from a media Uri/ + * + * @param uri the media uri + */ + public RoomMediaMessage(Uri uri) { + this(uri, null); + } + + /** + * Constructor from a media Uri/ + * + * @param uri the media uri + * @param filename the media file name + */ + public RoomMediaMessage(Uri uri, String filename) { + mUri = uri; + mFileName = filename; + } + + /** + * Constructor from an event. + * + * @param event the event + */ + public RoomMediaMessage(Event event) { + setEvent(event); + + Message message = JsonUtils.toMessage(event.getContent()); + if (null != message) { + setMessageType(message.msgtype); + } + } + + /** + * Constructor from a parcel + * + * @param source the parcel + */ + private RoomMediaMessage(Parcel source) { + mUri = unformatNullUri((Uri) source.readParcelable(Uri.class.getClassLoader())); + mMimeType = unformatNullString(source.readString()); + + CharSequence clipDataItemText = unformatNullString(source.readString()); + String clipDataItemHtml = unformatNullString(source.readString()); + Uri clipDataItemUri = unformatNullUri((Uri) source.readParcelable(Uri.class.getClassLoader())); + + if (!TextUtils.isEmpty(clipDataItemText) || !TextUtils.isEmpty(clipDataItemHtml) || (null != clipDataItemUri)) { + mClipDataItem = new ClipData.Item(clipDataItemText, clipDataItemHtml, null, clipDataItemUri); + } + + mFileName = unformatNullString(source.readString()); + } + + @Override + public java.lang.String toString() { + String description = ""; + + description += "mUri " + mUri; + description += " -- mMimeType " + mMimeType; + description += " -- mEvent " + mEvent; + description += " -- mClipDataItem " + mClipDataItem; + description += " -- mFileName " + mFileName; + description += " -- mMessageType " + mMessageType; + description += " -- mThumbnailSize " + mThumbnailSize; + + return description; + } + + //============================================================================================================== + // Parcelable + //============================================================================================================== + + /** + * Unformat parcelled String + * + * @param string the string to unformat + * @return the unformatted string + */ + private static String unformatNullString(final String string) { + if (TextUtils.isEmpty(string)) { + return null; + } + + return string; + } + + /** + * Convert null uri to a dummy one + * + * @param uri the uri to unformat + * @return the unformatted + */ + private static Uri unformatNullUri(final Uri uri) { + if ((null == uri) || mDummyUri.equals(uri)) { + return null; + } + + return uri; + } + + + @Override + public int describeContents() { + return 0; + } + + /** + * Convert null string to "" + * + * @param string the string to format + * @return the formatted string + */ + private static String formatNullString(final String string) { + if (TextUtils.isEmpty(string)) { + return ""; + } + + return string; + } + + private static String formatNullString(final CharSequence charSequence) { + if (TextUtils.isEmpty(charSequence)) { + return ""; + } + + return charSequence.toString(); + } + + /** + * Convert null uri to a dummy one + * + * @param uri the uri to format + * @return the formatted + */ + private static Uri formatNullUri(final Uri uri) { + if (null == uri) { + return mDummyUri; + } + + return uri; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeParcelable(formatNullUri(mUri), 0); + dest.writeString(formatNullString(mMimeType)); + + if (null == mClipDataItem) { + dest.writeString(""); + dest.writeString(""); + dest.writeParcelable(formatNullUri(null), 0); + } else { + dest.writeString(formatNullString(mClipDataItem.getText())); + dest.writeString(formatNullString(mClipDataItem.getHtmlText())); + dest.writeParcelable(formatNullUri(mClipDataItem.getUri()), 0); + } + + dest.writeString(formatNullString(mFileName)); + } + + // Creator + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + public RoomMediaMessage createFromParcel(Parcel in) { + return new RoomMediaMessage(in); + } + + public RoomMediaMessage[] newArray(int size) { + return new RoomMediaMessage[size]; + } + }; + + //============================================================================================================== + // Setters / getters + //============================================================================================================== + + /** + * Set the message type. + * + * @param messageType the message type. + */ + public void setMessageType(String messageType) { + mMessageType = messageType; + } + + /** + * @return the message type. + */ + public String getMessageType() { + return mMessageType; + } + + /** + * Set the replyTo event. + * + * @param replyToEvent the event to reply to + */ + public void setReplyToEvent(@Nullable Event replyToEvent) { + mReplyToEvent = replyToEvent; + } + + /** + * @return the replyTo event. + */ + @Nullable + public Event getReplyToEvent() { + return mReplyToEvent; + } + + /** + * Update the inner event. + * + * @param event the new event. + */ + public void setEvent(Event event) { + mEvent = event; + } + + /** + * @return the inner event objects + */ + public Event getEvent() { + return mEvent; + } + + /** + * Update the thumbnail size. + * + * @param size the new thumbnail size. + */ + public void setThumbnailSize(Pair size) { + mThumbnailSize = size; + } + + /** + * @return the thumbnail size. + */ + public Pair getThumbnailSize() { + return mThumbnailSize; + } + + /** + * Update the media upload listener. + * + * @param mediaUploadListener the media upload listener. + */ + public void setMediaUploadListener(IMXMediaUploadListener mediaUploadListener) { + mMediaUploadListener = mediaUploadListener; + } + + /** + * @return the media upload listener. + */ + public IMXMediaUploadListener getMediaUploadListener() { + return mMediaUploadListener; + } + + /** + * Update the event sending callback. + * + * @param callback the callback + */ + public void setEventSendingCallback(ApiCallback callback) { + mEventSendingCallback = callback; + } + + /** + * @return the event sending callback. + */ + public ApiCallback getSendingCallback() { + return mEventSendingCallback; + } + + /** + * Update the listener + * + * @param eventCreationListener the new listener + */ + public void setEventCreationListener(EventCreationListener eventCreationListener) { + mEventCreationListener = eventCreationListener; + } + + /** + * @return the listener. + */ + public EventCreationListener getEventCreationListener() { + return mEventCreationListener; + } + + /** + * Retrieve the raw text contained in this Item. + * + * @return the raw text + */ + public CharSequence getText() { + if (null != mClipDataItem) { + return mClipDataItem.getText(); + } + return null; + } + + /** + * Retrieve the raw HTML text contained in this Item. + * + * @return the raw HTML text + */ + public String getHtmlText() { + if (null != mClipDataItem) { + return mClipDataItem.getHtmlText(); + } + + return null; + } + + /** + * Retrieve the Intent contained in this Item. + * + * @return the intent + */ + public Intent getIntent() { + if (null != mClipDataItem) { + return mClipDataItem.getIntent(); + } + + return null; + } + + /** + * Retrieve the URI contained in this Item. + * + * @return the Uri + */ + public Uri getUri() { + if (null != mUri) { + return mUri; + } else if (null != mClipDataItem) { + return mClipDataItem.getUri(); + } + + return null; + } + + /** + * Returns the mimetype. + * + * @param context the context + * @return the mimetype + */ + public String getMimeType(Context context) { + if ((null == mMimeType) && (null != getUri())) { + try { + Uri uri = getUri(); + mMimeType = context.getContentResolver().getType(uri); + + // try to find the mimetype from the filename + if (null == mMimeType) { + String extension = MimeTypeMap.getFileExtensionFromUrl(uri.toString().toLowerCase()); + if (extension != null) { + mMimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension); + } + } + + if (null != mMimeType) { + // the mimetype is sometimes in uppercase. + mMimeType = mMimeType.toLowerCase(); + } + } catch (Exception e) { + Log.e(LOG_TAG, "Failed to open resource input stream", e); + } + } + + return mMimeType; + } + + /** + * Gets the MINI_KIND image thumbnail. + * + * @param context the context + * @return the MINI_KIND thumbnail it it exists + */ + public Bitmap getMiniKindImageThumbnail(Context context) { + return getImageThumbnail(context, MediaStore.Images.Thumbnails.MINI_KIND); + } + + /** + * Gets the FULL_SCREEN image thumbnail. + * + * @param context the context + * @return the FULL_SCREEN thumbnail it it exists + */ + public Bitmap getFullScreenImageKindThumbnail(Context context) { + return getImageThumbnail(context, MediaStore.Images.Thumbnails.FULL_SCREEN_KIND); + } + + /** + * Gets the image thumbnail. + * + * @param context the context. + * @param kind the thumbnail kind. + * @return the thumbnail. + */ + private Bitmap getImageThumbnail(Context context, int kind) { + // sanity check + if ((null == getMimeType(context)) || !getMimeType(context).startsWith("image/")) { + return null; + } + + Bitmap thumbnailBitmap = null; + + try { + ContentResolver resolver = context.getContentResolver(); + + List uriPath = getUri().getPathSegments(); + Long imageId; + String lastSegment = (String) uriPath.get(uriPath.size() - 1); + + // > Kitkat + if (lastSegment.startsWith("image:")) { + lastSegment = lastSegment.substring("image:".length()); + } + + try { + imageId = Long.parseLong(lastSegment); + } catch (Exception e) { + imageId = null; + } + + if (null != imageId) { + thumbnailBitmap = MediaStore.Images.Thumbnails.getThumbnail(resolver, imageId, kind, null); + } + } catch (Exception e) { + Log.e(LOG_TAG, "MediaStore.Images.Thumbnails.getThumbnail " + e.getMessage(), e); + } + + return thumbnailBitmap; + } + + /** + * @param context the context + * @return the filename + */ + public String getFileName(Context context) { + if ((null == mFileName) && (null != getUri())) { + Uri mediaUri = getUri(); + + if (null != mediaUri) { + try { + if (mediaUri.toString().startsWith("content://")) { + Cursor cursor = null; + try { + cursor = context.getContentResolver().query(mediaUri, null, null, null, null); + if (cursor != null && cursor.moveToFirst()) { + mFileName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME)); + } + } catch (Exception e) { + Log.e(LOG_TAG, "cursor.getString " + e.getMessage(), e); + } finally { + if (null != cursor) { + cursor.close(); + } + } + + if (TextUtils.isEmpty(mFileName)) { + List uriPath = mediaUri.getPathSegments(); + mFileName = (String) uriPath.get(uriPath.size() - 1); + } + } else if (mediaUri.toString().startsWith("file://")) { + mFileName = mediaUri.getLastPathSegment(); + } + } catch (Exception e) { + mFileName = null; + } + } + } + + return mFileName; + } + + /** + * Save a media into a dedicated folder + * + * @param context the context + * @param folder the folder. + */ + public void saveMedia(Context context, File folder) { + mFileName = null; + Uri mediaUri = getUri(); + + if (null != mediaUri) { + try { + ResourceUtils.Resource resource = ResourceUtils.openResource(context, mediaUri, getMimeType(context)); + + if (null == resource) { + Log.e(LOG_TAG, "## saveMedia : Fail to retrieve the resource " + mediaUri); + } else { + mUri = saveFile(folder, resource.mContentStream, getFileName(context), resource.mMimeType); + resource.mContentStream.close(); + } + } catch (Exception e) { + Log.e(LOG_TAG, "## saveMedia : failed " + e.getMessage(), e); + } + } + } + + /** + * Save a file in a dedicated directory. + * The filename is optional. + * + * @param folder the destination folder + * @param stream the file stream + * @param defaultFileName the filename, null to generate a new one + * @param mimeType the file mimetype. + * @return the file uri + */ + private static Uri saveFile(File folder, InputStream stream, String defaultFileName, String mimeType) { + String filename = defaultFileName; + + if (null == filename) { + filename = "file" + System.currentTimeMillis(); + + if (null != mimeType) { + String extension = MimeTypeMap.getSingleton().getExtensionFromMimeType(mimeType); + + if (null != extension) { + filename += "." + extension; + } + } + } + + Uri fileUri = null; + + try { + File file = new File(folder, filename); + + // if the file exits, delete it + if (file.exists()) { + file.delete(); + } + + FileOutputStream fos = new FileOutputStream(file.getPath()); + + try { + byte[] buf = new byte[1024 * 32]; + + int len; + while ((len = stream.read(buf)) != -1) { + fos.write(buf, 0, len); + } + } catch (Exception e) { + Log.e(LOG_TAG, "## saveFile failed " + e.getMessage(), e); + } + + fos.flush(); + fos.close(); + stream.close(); + + fileUri = Uri.fromFile(file); + } catch (Exception e) { + Log.e(LOG_TAG, "## saveFile failed " + e.getMessage(), e); + } + + return fileUri; + } + + //============================================================================================================== + // Dispatchers + //============================================================================================================== + + /** + * Dispatch onEventCreated. + */ + void onEventCreated() { + if (null != getEventCreationListener()) { + try { + getEventCreationListener().onEventCreated(this); + } catch (Exception e) { + Log.e(LOG_TAG, "## onEventCreated() failed : " + e.getMessage(), e); + } + } + + // clear the listener + mEventCreationListener = null; + } + + /** + * Dispatch onEventCreationFailed. + */ + void onEventCreationFailed(String errorMessage) { + if (null != getEventCreationListener()) { + try { + getEventCreationListener().onEventCreationFailed(this, errorMessage); + } catch (Exception e) { + Log.e(LOG_TAG, "## onEventCreationFailed() failed : " + e.getMessage(), e); + } + } + + // clear the listeners + mMediaUploadListener = null; + mEventSendingCallback = null; + mEventCreationListener = null; + } + + /** + * Dispatch onEncryptionFailed. + */ + void onEncryptionFailed() { + if (null != getEventCreationListener()) { + try { + getEventCreationListener().onEncryptionFailed(this); + } catch (Exception e) { + Log.e(LOG_TAG, "## onEncryptionFailed() failed : " + e.getMessage(), e); + } + } + + // clear the listeners + mMediaUploadListener = null; + mEventSendingCallback = null; + mEventCreationListener = null; + } + + //============================================================================================================== + // Retrieve RoomMediaMessages from intents. + //============================================================================================================== + + /** + * List the item provided in an intent. + * + * @param intent the intent. + * @return the RoomMediaMessages list + */ + public static List listRoomMediaMessages(Intent intent) { + return listRoomMediaMessages(intent, null); + } + + /** + * List the item provided in an intent. + * + * @param intent the intent. + * @param loader the class loader. + * @return the room list + */ + public static List listRoomMediaMessages(Intent intent, ClassLoader loader) { + List roomMediaMessages = new ArrayList<>(); + + + if (null != intent) { + // chrome adds many items when sharing an web page link + // so, test first the type + if (TextUtils.equals(intent.getType(), ClipDescription.MIMETYPE_TEXT_PLAIN)) { + String message = intent.getStringExtra(Intent.EXTRA_TEXT); + + if (null == message) { + CharSequence sequence = intent.getCharSequenceExtra(Intent.EXTRA_TEXT); + if (null != sequence) { + message = sequence.toString(); + } + } + + String subject = intent.getStringExtra(Intent.EXTRA_SUBJECT); + + if (!TextUtils.isEmpty(subject)) { + if (TextUtils.isEmpty(message)) { + message = subject; + } else if (android.util.Patterns.WEB_URL.matcher(message).matches()) { + message = subject + "\n" + message; + } + } + + if (!TextUtils.isEmpty(message)) { + roomMediaMessages.add(new RoomMediaMessage(message, null, intent.getType())); + return roomMediaMessages; + } + } + + ClipData clipData = null; + List mimetypes = null; + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { + clipData = intent.getClipData(); + } + + // multiple data + if (null != clipData) { + if (null != clipData.getDescription()) { + if (0 != clipData.getDescription().getMimeTypeCount()) { + mimetypes = new ArrayList<>(); + + for (int i = 0; i < clipData.getDescription().getMimeTypeCount(); i++) { + mimetypes.add(clipData.getDescription().getMimeType(i)); + } + + // if the filter is "accept anything" the mimetype does not make sense + if (1 == mimetypes.size()) { + if (mimetypes.get(0).endsWith("/*")) { + mimetypes = null; + } + } + } + } + + int count = clipData.getItemCount(); + + for (int i = 0; i < count; i++) { + ClipData.Item item = clipData.getItemAt(i); + String mimetype = null; + + if (null != mimetypes) { + if (i < mimetypes.size()) { + mimetype = mimetypes.get(i); + } else { + mimetype = mimetypes.get(0); + } + + // uris list is not a valid mimetype + if (TextUtils.equals(mimetype, ClipDescription.MIMETYPE_TEXT_URILIST)) { + mimetype = null; + } + } + + roomMediaMessages.add(new RoomMediaMessage(item, mimetype)); + } + } else if (null != intent.getData()) { + roomMediaMessages.add(new RoomMediaMessage(intent.getData())); + } else { + Bundle bundle = intent.getExtras(); + + if (null != bundle) { + // provide a custom loader + bundle.setClassLoader(RoomMediaMessage.class.getClassLoader()); + // list the Uris list + if (bundle.containsKey(Intent.EXTRA_STREAM)) { + try { + Object streamUri = bundle.get(Intent.EXTRA_STREAM); + + if (streamUri instanceof Uri) { + roomMediaMessages.add(new RoomMediaMessage((Uri) streamUri)); + } else if (streamUri instanceof List) { + List streams = (List) streamUri; + + for (Object object : streams) { + if (object instanceof Uri) { + roomMediaMessages.add(new RoomMediaMessage((Uri) object)); + } else if (object instanceof RoomMediaMessage) { + roomMediaMessages.add((RoomMediaMessage) object); + } + } + } + } catch (Exception e) { + Log.e(LOG_TAG, "fail to extract the extra stream", e); + } + } + } + } + } + + return roomMediaMessages; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomMediaMessagesSender.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomMediaMessagesSender.java new file mode 100755 index 00000000..0e114c5f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomMediaMessagesSender.java @@ -0,0 +1,983 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.media.ThumbnailUtils; +import android.net.Uri; +import android.os.HandlerThread; +import android.os.Looper; +import android.provider.MediaStore; +import android.text.Html; +import android.text.TextUtils; +import android.util.Pair; + +import im.vector.matrix.android.R; +import im.vector.matrix.android.internal.legacy.MXDataHandler; +import im.vector.matrix.android.internal.legacy.crypto.MXEncryptedAttachments; +import im.vector.matrix.android.internal.legacy.db.MXMediasCache; +import im.vector.matrix.android.internal.legacy.listeners.MXMediaUploadListener; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.message.AudioMessage; +import im.vector.matrix.android.internal.legacy.rest.model.message.FileMessage; +import im.vector.matrix.android.internal.legacy.rest.model.message.ImageMessage; +import im.vector.matrix.android.internal.legacy.rest.model.message.MediaMessage; +import im.vector.matrix.android.internal.legacy.rest.model.message.Message; +import im.vector.matrix.android.internal.legacy.rest.model.message.RelatesTo; +import im.vector.matrix.android.internal.legacy.rest.model.message.VideoMessage; +import im.vector.matrix.android.internal.legacy.util.ImageUtils; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; +import im.vector.matrix.android.internal.legacy.util.PermalinkUtils; +import im.vector.matrix.android.internal.legacy.util.ResourceUtils; + +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +/** + * Room helper to send media messages in the right order. + */ +class RoomMediaMessagesSender { + private static final String LOG_TAG = RoomMediaMessagesSender.class.getSimpleName(); + + // pending events list + private final List mPendingRoomMediaMessages = new ArrayList<>(); + + // linked room + private final Room mRoom; + + // data handler + private final MXDataHandler mDataHandler; + + // linked context + private final Context mContext; + + // the sending item + private RoomMediaMessage mSendingRoomMediaMessage; + + // UI thread + private static android.os.Handler mUiHandler = null; + + // events creation threads + private static android.os.Handler mEventHandler = null; + + // encoding creation threads + private static android.os.Handler mEncodingHandler = null; + + /** + * Constructor + * + * @param context the context + * @param dataHandler the dataHanlder + * @param room the room + */ + RoomMediaMessagesSender(Context context, MXDataHandler dataHandler, Room room) { + mRoom = room; + mContext = context.getApplicationContext(); + mDataHandler = dataHandler; + + if (null == mUiHandler) { + mUiHandler = new android.os.Handler(Looper.getMainLooper()); + + HandlerThread eventHandlerThread = new HandlerThread("RoomDataItemsSender_event", Thread.MIN_PRIORITY); + eventHandlerThread.start(); + mEventHandler = new android.os.Handler(eventHandlerThread.getLooper()); + + HandlerThread encodingHandlerThread = new HandlerThread("RoomDataItemsSender_encoding", Thread.MIN_PRIORITY); + encodingHandlerThread.start(); + mEncodingHandler = new android.os.Handler(encodingHandlerThread.getLooper()); + } + } + + /** + * Send a new media message to the room + * + * @param roomMediaMessage the message to send + */ + void send(final RoomMediaMessage roomMediaMessage) { + mEventHandler.post(new Runnable() { + @Override + public void run() { + if (null == roomMediaMessage.getEvent()) { + Message message; + String mimeType = roomMediaMessage.getMimeType(mContext); + + // avoid null case + if (null == mimeType) { + mimeType = ""; + } + + if (null == roomMediaMessage.getUri()) { + message = buildTextMessage(roomMediaMessage); + } else if (mimeType.startsWith("image/")) { + message = buildImageMessage(roomMediaMessage); + } else if (mimeType.startsWith("video/")) { + message = buildVideoMessage(roomMediaMessage); + } else { + message = buildFileMessage(roomMediaMessage); + } + + if (null == message) { + Log.e(LOG_TAG, "## send " + roomMediaMessage + " not supported"); + + + mUiHandler.post(new Runnable() { + @Override + public void run() { + roomMediaMessage.onEventCreationFailed("not supported " + roomMediaMessage); + } + }); + return; + } + + roomMediaMessage.setMessageType(message.msgtype); + + if (roomMediaMessage.getReplyToEvent() != null) { + // Note: it is placed here, but may be moved to the outer event during the encryption of the content + message.relatesTo = new RelatesTo(); + message.relatesTo.dict = new HashMap<>(); + message.relatesTo.dict.put("event_id", roomMediaMessage.getReplyToEvent().eventId); + } + + Event event = new Event(message, mDataHandler.getUserId(), mRoom.getRoomId()); + + roomMediaMessage.setEvent(event); + } + + mDataHandler.updateEventState(roomMediaMessage.getEvent(), Event.SentState.UNSENT); + mRoom.storeOutgoingEvent(roomMediaMessage.getEvent()); + mDataHandler.getStore().commit(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + roomMediaMessage.onEventCreated(); + } + }); + + synchronized (LOG_TAG) { + if (!mPendingRoomMediaMessages.contains(roomMediaMessage)) { + mPendingRoomMediaMessages.add(roomMediaMessage); + } + } + + mUiHandler.post(new Runnable() { + @Override + public void run() { + // send the item + sendNext(); + } + }); + } + }); + } + + /** + * Skip the sending media item. + */ + private void skip() { + synchronized (LOG_TAG) { + mSendingRoomMediaMessage = null; + } + + sendNext(); + } + + /** + * Send the next pending item + */ + private void sendNext() { + RoomMediaMessage roomMediaMessage; + + synchronized (LOG_TAG) { + // please wait + if (null != mSendingRoomMediaMessage) { + return; + } + + if (!mPendingRoomMediaMessages.isEmpty()) { + mSendingRoomMediaMessage = mPendingRoomMediaMessages.get(0); + mPendingRoomMediaMessages.remove(0); + } else { + // nothing to do + return; + } + + roomMediaMessage = mSendingRoomMediaMessage; + } + + // upload the medias first + if (uploadMedias(roomMediaMessage)) { + return; + } + + // send the event + sendEvent(roomMediaMessage.getEvent()); + } + + /** + * Send the event after uploading the medias + * + * @param event the event to send + */ + private void sendEvent(final Event event) { + mUiHandler.post(new Runnable() { + @Override + public void run() { + // nothing more to upload + mRoom.sendEvent(event, new ApiCallback() { + private ApiCallback getCallback() { + ApiCallback callback; + + synchronized (LOG_TAG) { + callback = mSendingRoomMediaMessage.getSendingCallback(); + mSendingRoomMediaMessage.setEventSendingCallback(null); + mSendingRoomMediaMessage = null; + } + + return callback; + } + + @Override + public void onSuccess(Void info) { + ApiCallback callback = getCallback(); + + if (null != callback) { + try { + callback.onSuccess(null); + } catch (Exception e) { + Log.e(LOG_TAG, "## sendNext() failed " + e.getMessage(), e); + } + } + + sendNext(); + } + + @Override + public void onNetworkError(Exception e) { + ApiCallback callback = getCallback(); + + if (null != callback) { + try { + callback.onNetworkError(e); + } catch (Exception e2) { + Log.e(LOG_TAG, "## sendNext() failed " + e2.getMessage(), e2); + } + } + + sendNext(); + } + + @Override + public void onMatrixError(MatrixError e) { + ApiCallback callback = getCallback(); + + if (null != callback) { + try { + callback.onMatrixError(e); + } catch (Exception e2) { + Log.e(LOG_TAG, "## sendNext() failed " + e2.getMessage(), e2); + } + } + + sendNext(); + } + + @Override + public void onUnexpectedError(Exception e) { + ApiCallback callback = getCallback(); + + if (null != callback) { + try { + callback.onUnexpectedError(e); + } catch (Exception e2) { + Log.e(LOG_TAG, "## sendNext() failed " + e2.getMessage(), e2); + } + } + + sendNext(); + } + }); + } + }); + } + + //============================================================================================================== + // Messages builder methods. + //============================================================================================================== + + /** + * Build a text message from a RoomMediaMessage. + * + * @param roomMediaMessage the RoomMediaMessage. + * @return the message + */ + private Message buildTextMessage(RoomMediaMessage roomMediaMessage) { + CharSequence sequence = roomMediaMessage.getText(); + String htmlText = roomMediaMessage.getHtmlText(); + String text = null; + + if (null == sequence) { + if (null != htmlText) { + text = Html.fromHtml(htmlText).toString(); + } + } else { + text = sequence.toString(); + } + + // a text message cannot be null + if (TextUtils.isEmpty(text) && !TextUtils.equals(roomMediaMessage.getMessageType(), Message.MSGTYPE_EMOTE)) { + return null; + } + + Message message = new Message(); + message.msgtype = (null == roomMediaMessage.getMessageType()) ? Message.MSGTYPE_TEXT : roomMediaMessage.getMessageType(); + message.body = text; + + // an emote can have an empty body + if (null == message.body) { + message.body = ""; + } + + if (!TextUtils.isEmpty(htmlText)) { + message.formatted_body = htmlText; + message.format = Message.FORMAT_MATRIX_HTML; + } + + // Deals with in reply to event + Event replyToEvent = roomMediaMessage.getReplyToEvent(); + if (replyToEvent != null) { + // Cf. https://docs.google.com/document/d/1BPd4lBrooZrWe_3s_lHw_e-Dydvc7bXbm02_sV2k6Sc + String msgType = JsonUtils.getMessageMsgType(replyToEvent.getContentAsJsonObject()); + + // Build body and formatted body, depending of the `msgtype` of the event the user is replying to + if (msgType != null) { + // Compute the content of the event user is replying to + String replyToBody; + String replyToFormattedBody; + boolean replyToEventIsAlreadyAReply = false; + + switch (msgType) { + case Message.MSGTYPE_TEXT: + case Message.MSGTYPE_NOTICE: + case Message.MSGTYPE_EMOTE: + Message messageToReplyTo = JsonUtils.toMessage(replyToEvent.getContentAsJsonObject()); + + replyToBody = messageToReplyTo.body; + + if (TextUtils.isEmpty(messageToReplyTo.formatted_body)) { + replyToFormattedBody = messageToReplyTo.body; + } else { + replyToFormattedBody = messageToReplyTo.formatted_body; + } + + replyToEventIsAlreadyAReply = messageToReplyTo.relatesTo != null + && messageToReplyTo.relatesTo.dict != null + && !TextUtils.isEmpty(messageToReplyTo.relatesTo.dict.get("event_id")); + + break; + case Message.MSGTYPE_IMAGE: + replyToBody = mContext.getString(R.string.reply_to_an_image); + replyToFormattedBody = replyToBody; + break; + case Message.MSGTYPE_VIDEO: + replyToBody = mContext.getString(R.string.reply_to_a_video); + replyToFormattedBody = replyToBody; + break; + case Message.MSGTYPE_AUDIO: + replyToBody = mContext.getString(R.string.reply_to_an_audio_file); + replyToFormattedBody = replyToBody; + break; + case Message.MSGTYPE_FILE: + replyToBody = mContext.getString(R.string.reply_to_a_file); + replyToFormattedBody = replyToBody; + break; + default: + // Other msg types are not supported yet + Log.w(LOG_TAG, "Reply to: unsupported msgtype: " + msgType); + replyToBody = null; + replyToFormattedBody = null; + break; + } + + if (replyToBody != null) { + String replyContent; + if (TextUtils.isEmpty(message.formatted_body)) { + replyContent = message.body; + } else { + replyContent = message.formatted_body; + } + + message.body = includeReplyToToBody(replyToEvent, + replyToBody, + replyToEventIsAlreadyAReply, + message.body, + msgType.equals(Message.MSGTYPE_EMOTE)); + message.formatted_body = includeReplyToToFormattedBody(replyToEvent, + replyToFormattedBody, + replyToEventIsAlreadyAReply, + replyContent, + msgType.equals(Message.MSGTYPE_EMOTE)); + + // Note: we need to force the format to Message.FORMAT_MATRIX_HTML + message.format = Message.FORMAT_MATRIX_HTML; + } else { + Log.e(LOG_TAG, "Unsupported 'msgtype': " + msgType + ". Consider calling Room.canReplyTo(Event)"); + + // Ensure there will not be "m.relates_to" data in the sent event + roomMediaMessage.setReplyToEvent(null); + } + } else { + Log.e(LOG_TAG, "Null 'msgtype'. Consider calling Room.canReplyTo(Event)"); + + // Ensure there will not be "m.relates_to" data in the sent event + roomMediaMessage.setReplyToEvent(null); + } + } + + return message; + } + + private String includeReplyToToBody(Event replyToEvent, + String replyToBody, + boolean stripPreviousReplyTo, + String messageBody, + boolean isEmote) { + int firstLineIndex = 0; + + String[] lines = replyToBody.split("\n"); + + if (stripPreviousReplyTo) { + // Strip replyToBody from previous reply to + + // Strip line starting with "> " + while (firstLineIndex < lines.length && lines[firstLineIndex].startsWith("> ")) { + firstLineIndex++; + } + + // Strip empty line after + if (firstLineIndex < lines.length && lines[firstLineIndex].isEmpty()) { + firstLineIndex++; + } + } + + StringBuilder ret = new StringBuilder(); + + if (firstLineIndex < lines.length) { + // Add <${mxid}> to the first line + if (isEmote) { + lines[firstLineIndex] = "* <" + replyToEvent.sender + "> " + lines[firstLineIndex]; + } else { + lines[firstLineIndex] = "<" + replyToEvent.sender + "> " + lines[firstLineIndex]; + } + + for (int i = firstLineIndex; i < lines.length; i++) { + ret.append("> ") + .append(lines[i]) + .append("\n"); + } + } + + ret.append("\n") + .append(messageBody); + + return ret.toString(); + } + + private String includeReplyToToFormattedBody(Event replyToEvent, + String replyToFormattedBody, + boolean stripPreviousReplyTo, + String messageFormattedBody, + boolean isEmote) { + if (stripPreviousReplyTo) { + // Strip replyToFormattedBody from previous reply to + replyToFormattedBody = replyToFormattedBody.replaceAll("^.*", ""); + } + + StringBuilder ret = new StringBuilder("
    ") + // "In reply to" + .append(mContext.getString(R.string.message_reply_to_prefix)) + .append(" "); + + if (isEmote) { + ret.append("* "); + } + + ret.append("") + // ${mxid} + .append(replyToEvent.sender) + .append("
    ") + .append(replyToFormattedBody) + .append("
    ") + .append(messageFormattedBody); + + return ret.toString(); + } + + /** + * Returns the thumbnail path of shot image. + * + * @param picturePath the image path + * @return the thumbnail image path. + */ + private static String getThumbnailPath(String picturePath) { + if (!TextUtils.isEmpty(picturePath) && picturePath.endsWith(".jpg")) { + return picturePath.replace(".jpg", "_thumb.jpg"); + } + + return null; + } + + /** + * Retrieves the image thumbnail saved by the medias picker. + * + * @param sharedDataItem the sharedItem + * @return the thumbnail if it exits. + */ + private Bitmap getMediasPickerThumbnail(RoomMediaMessage sharedDataItem) { + Bitmap thumbnailBitmap = null; + + try { + String thumbPath = getThumbnailPath(sharedDataItem.getUri().getPath()); + + if (null != thumbPath) { + File thumbFile = new File(thumbPath); + + if (thumbFile.exists()) { + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inPreferredConfig = Bitmap.Config.ARGB_8888; + thumbnailBitmap = BitmapFactory.decodeFile(thumbPath, options); + } + } + } catch (Exception e) { + Log.e(LOG_TAG, "cannot restore the medias picker thumbnail " + e.getMessage(), e); + } catch (OutOfMemoryError oom) { + Log.e(LOG_TAG, "cannot restore the medias picker thumbnail oom", oom); + } + + return thumbnailBitmap; + } + + /** + * Retrieve the media Url. + * + * @param roomMediaMessage the room media message + * @return the media URL + */ + private String getMediaUrl(RoomMediaMessage roomMediaMessage) { + String mediaUrl = roomMediaMessage.getUri().toString(); + + if (!mediaUrl.startsWith("file:")) { + // save the content:// file in to the medias cache + String mimeType = roomMediaMessage.getMimeType(mContext); + ResourceUtils.Resource resource = ResourceUtils.openResource(mContext, roomMediaMessage.getUri(), mimeType); + + // save the file in the filesystem + mediaUrl = mDataHandler.getMediasCache().saveMedia(resource.mContentStream, null, mimeType); + resource.close(); + } + + return mediaUrl; + } + + /** + * Build an image message from a RoomMediaMessage. + * + * @param roomMediaMessage the roomMediaMessage + * @return the image message + */ + private Message buildImageMessage(RoomMediaMessage roomMediaMessage) { + try { + String mimeType = roomMediaMessage.getMimeType(mContext); + final MXMediasCache mediasCache = mDataHandler.getMediasCache(); + + String mediaUrl = getMediaUrl(roomMediaMessage); + + // compute the thumbnail + Bitmap thumbnailBitmap = roomMediaMessage.getFullScreenImageKindThumbnail(mContext); + + if (null == thumbnailBitmap) { + thumbnailBitmap = getMediasPickerThumbnail(roomMediaMessage); + } + + if (null == thumbnailBitmap) { + Pair thumbnailSize = roomMediaMessage.getThumbnailSize(); + thumbnailBitmap = ResourceUtils.createThumbnailBitmap(mContext, roomMediaMessage.getUri(), thumbnailSize.first, thumbnailSize.second); + } + + if (null == thumbnailBitmap) { + thumbnailBitmap = roomMediaMessage.getMiniKindImageThumbnail(mContext); + } + + String thumbnailURL = null; + + if (null != thumbnailBitmap) { + thumbnailURL = mediasCache.saveBitmap(thumbnailBitmap, null); + } + + // get the exif rotation angle + final int rotationAngle = ImageUtils.getRotationAngleForBitmap(mContext, Uri.parse(mediaUrl)); + + if (0 != rotationAngle) { + // always apply the rotation to the image + ImageUtils.rotateImage(mContext, thumbnailURL, rotationAngle, mediasCache); + } + + ImageMessage imageMessage = new ImageMessage(); + imageMessage.url = mediaUrl; + imageMessage.body = roomMediaMessage.getFileName(mContext); + + if (TextUtils.isEmpty(imageMessage.body)) { + imageMessage.body = "Image"; + } + + Uri imageUri = Uri.parse(mediaUrl); + + if (null == imageMessage.info) { + Room.fillImageInfo(mContext, imageMessage, imageUri, mimeType); + } + + if ((null != thumbnailURL) && (null != imageMessage.info) && (null == imageMessage.info.thumbnailInfo)) { + Uri thumbUri = Uri.parse(thumbnailURL); + Room.fillThumbnailInfo(mContext, imageMessage, thumbUri, "image/jpeg"); + imageMessage.info.thumbnailUrl = thumbnailURL; + } + + return imageMessage; + } catch (Exception e) { + Log.e(LOG_TAG, "## buildImageMessage() failed " + e.getMessage(), e); + } + + return null; + } + + /** + * Compute the video thumbnail + * + * @param videoUrl the video url + * @return the video thumbnail + */ + public String getVideoThumbnailUrl(final String videoUrl) { + String thumbUrl = null; + try { + Uri uri = Uri.parse(videoUrl); + Bitmap thumb = ThumbnailUtils.createVideoThumbnail(uri.getPath(), MediaStore.Images.Thumbnails.MINI_KIND); + thumbUrl = mDataHandler.getMediasCache().saveBitmap(thumb, null); + } catch (Exception e) { + Log.e(LOG_TAG, "## getVideoThumbnailUrl() failed with " + e.getMessage(), e); + } + + return thumbUrl; + } + + /** + * Build an video message from a RoomMediaMessage. + * + * @param roomMediaMessage the roomMediaMessage + * @return the video message + */ + private Message buildVideoMessage(RoomMediaMessage roomMediaMessage) { + try { + String mediaUrl = getMediaUrl(roomMediaMessage); + String thumbnailUrl = getVideoThumbnailUrl(mediaUrl); + + if (null == thumbnailUrl) { + return buildFileMessage(roomMediaMessage); + } + + VideoMessage videoMessage = new VideoMessage(); + videoMessage.url = mediaUrl; + videoMessage.body = roomMediaMessage.getFileName(mContext); + + Uri videoUri = Uri.parse(mediaUrl); + Uri thumbnailUri = (null != thumbnailUrl) ? Uri.parse(thumbnailUrl) : null; + Room.fillVideoInfo(mContext, videoMessage, videoUri, roomMediaMessage.getMimeType(mContext), thumbnailUri, "image/jpeg"); + + if (null == videoMessage.body) { + videoMessage.body = videoUri.getLastPathSegment(); + } + + return videoMessage; + } catch (Exception e) { + Log.e(LOG_TAG, "## buildVideoMessage() failed " + e.getMessage(), e); + } + + return null; + } + + /** + * Build an file message from a RoomMediaMessage. + * + * @param roomMediaMessage the roomMediaMessage + * @return the video message + */ + private Message buildFileMessage(RoomMediaMessage roomMediaMessage) { + try { + String mimeType = roomMediaMessage.getMimeType(mContext); + + String mediaUrl = getMediaUrl(roomMediaMessage); + FileMessage fileMessage; + + if (mimeType.startsWith("audio/")) { + fileMessage = new AudioMessage(); + } else { + fileMessage = new FileMessage(); + } + + fileMessage.url = mediaUrl; + fileMessage.body = roomMediaMessage.getFileName(mContext); + Uri uri = Uri.parse(mediaUrl); + Room.fillFileInfo(mContext, fileMessage, uri, mimeType); + + if (null == fileMessage.body) { + fileMessage.body = uri.getLastPathSegment(); + } + + return fileMessage; + } catch (Exception e) { + Log.e(LOG_TAG, "## buildFileMessage() failed " + e.getMessage(), e); + } + + return null; + } + + //============================================================================================================== + // Upload medias management + //============================================================================================================== + + /** + * Upload the medias. + * + * @param roomMediaMessage the roomMediaMessage + * @return true if a media is uploaded + */ + private boolean uploadMedias(final RoomMediaMessage roomMediaMessage) { + final Event event = roomMediaMessage.getEvent(); + final Message message = JsonUtils.toMessage(event.getContent()); + + if (!(message instanceof MediaMessage)) { + return false; + } + + final MediaMessage mediaMessage = (MediaMessage) message; + final String url; + final String fMimeType; + + if (mediaMessage.isThumbnailLocalContent()) { + url = mediaMessage.getThumbnailUrl(); + fMimeType = "image/jpeg"; + } else if (mediaMessage.isLocalContent()) { + url = mediaMessage.getUrl(); + fMimeType = mediaMessage.getMimeType(); + } else { + return false; + } + + mEncodingHandler.post(new Runnable() { + @Override + public void run() { + final MXMediasCache mediasCache = mDataHandler.getMediasCache(); + + Uri uri = Uri.parse(url); + String mimeType = fMimeType; + final MXEncryptedAttachments.EncryptionResult encryptionResult; + final Uri encryptedUri; + InputStream stream; + + String filename = null; + + try { + stream = new FileInputStream(new File(uri.getPath())); + if (mRoom.isEncrypted() && mDataHandler.isCryptoEnabled() && (null != stream)) { + encryptionResult = MXEncryptedAttachments.encryptAttachment(stream, mimeType); + stream.close(); + + if (null != encryptionResult) { + mimeType = "application/octet-stream"; + encryptedUri = Uri.parse(mediasCache.saveMedia(encryptionResult.mEncryptedStream, null, fMimeType)); + File file = new File(encryptedUri.getPath()); + stream = new FileInputStream(file); + } else { + skip(); + + mUiHandler.post(new Runnable() { + @Override + public void run() { + mDataHandler.updateEventState(roomMediaMessage.getEvent(), Event.SentState.UNDELIVERED); + mRoom.storeOutgoingEvent(roomMediaMessage.getEvent()); + mDataHandler.getStore().commit(); + + roomMediaMessage.onEncryptionFailed(); + } + }); + + return; + } + } else { + // Only pass filename string to server in non-encrypted rooms to prevent leaking filename + filename = mediaMessage.isThumbnailLocalContent() ? ("thumb" + message.body) : message.body; + encryptionResult = null; + encryptedUri = null; + } + } catch (Exception e) { + skip(); + return; + } + + mDataHandler.updateEventState(roomMediaMessage.getEvent(), Event.SentState.SENDING); + + mediasCache.uploadContent(stream, filename, mimeType, url, + new MXMediaUploadListener() { + @Override + public void onUploadStart(final String uploadId) { + mUiHandler.post(new Runnable() { + @Override + public void run() { + if (null != roomMediaMessage.getMediaUploadListener()) { + roomMediaMessage.getMediaUploadListener().onUploadStart(uploadId); + } + } + }); + } + + @Override + public void onUploadCancel(final String uploadId) { + mUiHandler.post(new Runnable() { + @Override + public void run() { + mDataHandler.updateEventState(roomMediaMessage.getEvent(), Event.SentState.UNDELIVERED); + + if (null != roomMediaMessage.getMediaUploadListener()) { + roomMediaMessage.getMediaUploadListener().onUploadCancel(uploadId); + roomMediaMessage.setMediaUploadListener(null); + roomMediaMessage.setEventSendingCallback(null); + } + + skip(); + } + }); + } + + @Override + public void onUploadError(final String uploadId, final int serverResponseCode, final String serverErrorMessage) { + mUiHandler.post(new Runnable() { + @Override + public void run() { + mDataHandler.updateEventState(roomMediaMessage.getEvent(), Event.SentState.UNDELIVERED); + + if (null != roomMediaMessage.getMediaUploadListener()) { + roomMediaMessage.getMediaUploadListener().onUploadError(uploadId, serverResponseCode, serverErrorMessage); + roomMediaMessage.setMediaUploadListener(null); + roomMediaMessage.setEventSendingCallback(null); + } + + skip(); + } + }); + } + + @Override + public void onUploadComplete(final String uploadId, final String contentUri) { + mUiHandler.post(new Runnable() { + @Override + public void run() { + boolean isThumbnailUpload = mediaMessage.isThumbnailLocalContent(); + + if (isThumbnailUpload) { + mediaMessage.setThumbnailUrl(encryptionResult, contentUri); + + if (null != encryptionResult) { + mediasCache.saveFileMediaForUrl(contentUri, encryptedUri.toString(), -1, -1, "image/jpeg"); + try { + new File(Uri.parse(url).getPath()).delete(); + } catch (Exception e) { + Log.e(LOG_TAG, "## cannot delete the uncompress media", e); + } + } else { + Pair thumbnailSize = roomMediaMessage.getThumbnailSize(); + mediasCache.saveFileMediaForUrl(contentUri, url, thumbnailSize.first, thumbnailSize.second, "image/jpeg"); + } + + // update the event content with the new message info + event.updateContent(JsonUtils.toJson(message)); + + // force to save the room events list + // https://github.com/vector-im/riot-android/issues/1390 + mDataHandler.getStore().flushRoomEvents(mRoom.getRoomId()); + + // upload the media + uploadMedias(roomMediaMessage); + } else { + if (null != encryptedUri) { + // replace the thumbnail and the media contents by the computed one + mediasCache.saveFileMediaForUrl(contentUri, encryptedUri.toString(), mediaMessage.getMimeType()); + try { + new File(Uri.parse(url).getPath()).delete(); + } catch (Exception e) { + Log.e(LOG_TAG, "## cannot delete the uncompress media", e); + } + } else { + // replace the thumbnail and the media contents by the computed one + mediasCache.saveFileMediaForUrl(contentUri, url, mediaMessage.getMimeType()); + } + mediaMessage.setUrl(encryptionResult, contentUri); + + // update the event content with the new message info + event.updateContent(JsonUtils.toJson(message)); + + // force to save the room events list + // https://github.com/vector-im/riot-android/issues/1390 + mDataHandler.getStore().flushRoomEvents(mRoom.getRoomId()); + + Log.d(LOG_TAG, "Uploaded to " + contentUri); + + // send + sendEvent(event); + } + + if (null != roomMediaMessage.getMediaUploadListener()) { + roomMediaMessage.getMediaUploadListener().onUploadComplete(uploadId, contentUri); + + if (!isThumbnailUpload) { + roomMediaMessage.setMediaUploadListener(null); + } + } + } + }); + } + }); + } + }); + + return true; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomPreviewData.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomPreviewData.java new file mode 100644 index 00000000..8c28e94b --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomPreviewData.java @@ -0,0 +1,275 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.data; + +import android.os.AsyncTask; +import android.os.Looper; +import android.support.annotation.Nullable; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.MXSession; +import im.vector.matrix.android.internal.legacy.data.timeline.EventTimeline; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.publicroom.PublicRoom; +import im.vector.matrix.android.internal.legacy.rest.model.sync.RoomResponse; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.Map; + +/** + * The `RoomEmailInvitation` gathers information for displaying the preview of a room that is unknown for the user. + * Such room can come from an email invitation link or a link to a room. + */ +public class RoomPreviewData { + + private static final String LOG_TAG = RoomPreviewData.class.getSimpleName(); + + // The id of the room to preview. + private String mRoomId; + + // the room Alias + private String mRoomAlias; + + // the id of the event to preview + private String mEventId; + + // In case of email invitation, the information extracted from the email invitation link. + private RoomEmailInvitation mRoomEmailInvitation; + + // preview information + // comes from the email invitation or retrieve from an initialSync + private String mRoomName; + private String mRoomAvatarUrl; + + // the room state + private RoomState mRoomState; + + // If the RoomState cannot be retrieved, this may contains some data + private PublicRoom mPublicRoom; + + // the initial sync data + private RoomResponse mRoomResponse; + + // the session + private MXSession mSession; + + /** + * Create an RoomPreviewData instance + * + * @param session the session. + * @param roomId the room Id to preview + * @param eventId the event Id to preview (optional) + * @param roomAlias the room alias (optional) + * @param emailInvitationParams the email invitation parameters (optional) + */ + public RoomPreviewData(MXSession session, String roomId, String eventId, String roomAlias, Map emailInvitationParams) { + mSession = session; + mRoomId = roomId; + mRoomAlias = roomAlias; + mEventId = eventId; + + if (null != emailInvitationParams) { + mRoomEmailInvitation = new RoomEmailInvitation(emailInvitationParams); + mRoomName = mRoomEmailInvitation.roomName; + mRoomAvatarUrl = mRoomEmailInvitation.roomAvatarUrl; + } + } + + /** + * @return the room state + */ + @Nullable + public RoomState getRoomState() { + return mRoomState; + } + + /** + * @return the public room data + */ + @Nullable + public PublicRoom getPublicRoom() { + return mPublicRoom; + } + + /** + * Update the room state. + * + * @param roomState the new roomstate + */ + public void setRoomState(RoomState roomState) { + mRoomState = roomState; + } + + /** + * @return the room name + */ + public String getRoomName() { + String roomName = mRoomName; + + if (TextUtils.isEmpty(roomName)) { + roomName = getRoomIdOrAlias(); + } + + return roomName; + } + + /** + * Set the room name. + * + * @param aRoomName the new room name + */ + public void setRoomName(String aRoomName) { + mRoomName = aRoomName; + } + + /** + * @return the room avatar URL + */ + public String getRoomAvatarUrl() { + return mRoomAvatarUrl; + } + + /** + * @return the room id + */ + public String getRoomId() { + return mRoomId; + } + + /** + * @return the room id or the alias (alias is preferred) + */ + public String getRoomIdOrAlias() { + if (!TextUtils.isEmpty(mRoomAlias)) { + return mRoomAlias; + } else { + return mRoomId; + } + } + + /** + * @return the event id. + */ + public String getEventId() { + return mEventId; + } + + /** + * @return the session + */ + public MXSession getSession() { + return mSession; + } + + /** + * @return the initial sync response + */ + public RoomResponse getRoomResponse() { + return mRoomResponse; + } + + /** + * @return the room invitation + */ + public RoomEmailInvitation getRoomEmailInvitation() { + return mRoomEmailInvitation; + } + + /** + * Attempt to get more information from the homeserver about the room. + * + * @param apiCallback the callback when the operation is done. + */ + public void fetchPreviewData(final ApiCallback apiCallback) { + mSession.getRoomsApiClient().initialSync(mRoomId, new ApiCallback() { + @Override + public void onSuccess(final RoomResponse roomResponse) { + AsyncTask task = new AsyncTask() { + @Override + protected Void doInBackground(Void... params) { + // save the initial sync response + mRoomResponse = roomResponse; + + mRoomState = new RoomState(); + mRoomState.roomId = mRoomId; + + for (Event event : roomResponse.state) { + mRoomState.applyState(null, event, EventTimeline.Direction.FORWARDS); + } + + // TODO LazyLoading handle case where room has no name + mRoomName = mRoomState.name; + mRoomAvatarUrl = mRoomState.getAvatarUrl(); + return null; + } + + @Override + protected void onPostExecute(Void args) { + apiCallback.onSuccess(null); + } + }; + try { + task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } catch (final Exception e) { + Log.e(LOG_TAG, "## fetchPreviewData() failed " + e.getMessage(), e); + task.cancel(true); + + (new android.os.Handler(Looper.getMainLooper())).post(new Runnable() { + @Override + public void run() { + if (null != apiCallback) { + apiCallback.onUnexpectedError(e); + } + } + }); + } + } + + @Override + public void onNetworkError(Exception e) { + mRoomState = new RoomState(); + mRoomState.roomId = mRoomId; + apiCallback.onNetworkError(e); + } + + @Override + public void onMatrixError(MatrixError e) { + mRoomState = new RoomState(); + mRoomState.roomId = mRoomId; + apiCallback.onMatrixError(e); + } + + @Override + public void onUnexpectedError(Exception e) { + mRoomState = new RoomState(); + mRoomState.roomId = mRoomId; + apiCallback.onUnexpectedError(e); + } + }); + } + + /** + * Set Public RoomData, In case RoomState cannot be retrieved + * + * @param publicRoom + */ + public void setPublicRoom(PublicRoom publicRoom) { + mPublicRoom = publicRoom; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomState.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomState.java new file mode 100644 index 00000000..26eef40c --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomState.java @@ -0,0 +1,1334 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data; + +import android.support.annotation.Nullable; +import android.text.TextUtils; + +import com.google.gson.JsonObject; + +import im.vector.matrix.android.internal.legacy.MXDataHandler; +import im.vector.matrix.android.internal.legacy.call.MXCallsManager; +import im.vector.matrix.android.internal.legacy.data.store.IMXStore; +import im.vector.matrix.android.internal.legacy.data.timeline.EventTimeline; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.PowerLevels; +import im.vector.matrix.android.internal.legacy.rest.model.RoomCreateContent; +import im.vector.matrix.android.internal.legacy.rest.model.RoomDirectoryVisibility; +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; +import im.vector.matrix.android.internal.legacy.rest.model.RoomPinnedEventsContent; +import im.vector.matrix.android.internal.legacy.rest.model.RoomTombstoneContent; +import im.vector.matrix.android.internal.legacy.rest.model.User; +import im.vector.matrix.android.internal.legacy.rest.model.pid.RoomThirdPartyInvite; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.io.Externalizable; +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * The state of a room. + */ +public class RoomState implements Externalizable { + private static final String LOG_TAG = RoomState.class.getSimpleName(); + private static final long serialVersionUID = -6019932024524988201L; + + public static final String JOIN_RULE_PUBLIC = "public"; + public static final String JOIN_RULE_INVITE = "invite"; + + /** + * room access is granted to guests + */ + public static final String GUEST_ACCESS_CAN_JOIN = "can_join"; + /** + * room access is denied to guests + */ + public static final String GUEST_ACCESS_FORBIDDEN = "forbidden"; + + public static final String HISTORY_VISIBILITY_SHARED = "shared"; + public static final String HISTORY_VISIBILITY_INVITED = "invited"; + public static final String HISTORY_VISIBILITY_JOINED = "joined"; + public static final String HISTORY_VISIBILITY_WORLD_READABLE = "world_readable"; + + + // Public members used for JSON mapping + + // The room ID + public String roomId; + + // The power level of room members + private PowerLevels powerLevels; + + // The aliases + public List aliases; + + // The room aliases. The key is the domain. + private Map mRoomAliases = new HashMap<>(); + + // the aliases are defined for each home server url + private Map> mAliasesByDomain = new HashMap<>(); + + // merged from mAliasesByHomeServerUrl + private List mMergedAliasesList; + + // + private Map> mStateEvents = new HashMap<>(); + + // The canonical alias of the room. + private String canonicalAlias; + + // The name of the room as provided by the home server. + public String name; + + // The topic of the room. + public String topic; + + // The tombstone content if the room has been killed + private RoomTombstoneContent mRoomTombstoneContent; + + // The avatar url of the room. + public String url; + public String avatar_url; + + // the room create content + private RoomCreateContent mRoomCreateContent; + + // the room pinned events content + @Nullable + private RoomPinnedEventsContent mRoomPinnedEventsContent; + + // the join rule + public String join_rule; + + /** + * the guest access policy of the room + **/ + public String guest_access; + + // SPEC-134 + public String history_visibility; + + /** + * the room visibility in the directory list (i.e. public, private...) + **/ + public String visibility; + + // the encryption algorithm + public String algorithm; + + // group ids list which should be displayed + public List groups; + + /** + * The number of unread messages that match the push notification rules. + * It is based on the notificationCount field in /sync response. + */ + private int mNotificationCount; + + /** + * The number of highlighted unread messages (subset of notifications). + * It is based on the notificationCount field in /sync response. + */ + private int mHighlightCount; + + // the associated token + private String token; + + // the room members. May be a partial list if all members are not loaded yet, due to lazy loading + private final Map mMembers = new HashMap<>(); + + // true if all members are loaded + private boolean mAllMembersAreLoaded; + + private final List>> mGetAllMembersCallbacks = new ArrayList<>(); + + // the third party invite members + private final Map mThirdPartyInvites = new HashMap<>(); + + /** + * Cache for [self memberWithThirdPartyInviteToken]. + * The key is the 3pid invite token. + */ + private final Map mMembersWithThirdPartyInviteTokenCache = new HashMap<>(); + + /** + * Tell if the roomstate if a live one. + */ + private boolean mIsLive; + + // the unitary tests crash when MXDataHandler type is set. + // TODO Try to avoid this ^^ + private transient Object mDataHandler = null; + + // member display cache + private transient Map mMemberDisplayNameByUserId = new HashMap<>(); + + // get the guest access + // avoid the null case + public String getGuestAccess() { + if (null != guest_access) { + return guest_access; + } + + // retro compliancy + return RoomState.GUEST_ACCESS_FORBIDDEN; + } + + // get the history visibility + // avoid the null case + public String getHistoryVisibility() { + if (null != history_visibility) { + return history_visibility; + } + + // retro compliancy + return RoomState.HISTORY_VISIBILITY_SHARED; + } + + /** + * @return the state token + */ + public String getToken() { + return token; + } + + /** + * Update the token. + * + * @param token the new token + */ + public void setToken(String token) { + this.token = token; + } + + // avatar Url makes more sense than url. + public String getAvatarUrl() { + if (null != url) { + return url; + } else { + return avatar_url; + } + } + + /** + * @return the related group ids list (cannot be null) + */ + public List getRelatedGroups() { + return (null == groups) ? new ArrayList() : groups; + } + + /** + * @return a copy of the room members list. May be incomplete if the full list is not loaded yet + */ + public List getLoadedMembers() { + List res; + + synchronized (this) { + // make a copy to avoid concurrency modifications + res = new ArrayList<>(mMembers.values()); + } + + return res; + } + + /** + * Get the list of all the room members. Fetch from server if the full list is not loaded yet. + * + * @param callback The callback to get a copy of the room members list. + */ + public void getMembersAsync(ApiCallback> callback) { + if (areAllMembersLoaded()) { + List res; + + synchronized (this) { + // make a copy to avoid concurrency modifications + res = new ArrayList<>(mMembers.values()); + } + + callback.onSuccess(res); + } else { + boolean doTheRequest; + + synchronized (mGetAllMembersCallbacks) { + mGetAllMembersCallbacks.add(callback); + + doTheRequest = mGetAllMembersCallbacks.size() == 1; + } + + if (doTheRequest) { + // Load members from server + getDataHandler().getMembersAsync(roomId, new SimpleApiCallback>(callback) { + @Override + public void onSuccess(List info) { + Log.d(LOG_TAG, "getMembers has returned " + info.size() + " users."); + + IMXStore store = ((MXDataHandler) mDataHandler).getStore(); + List res; + + for (RoomMember member : info) { + // Do not erase already known members form the sync + if (getMember(member.getUserId()) == null) { + setMember(member.getUserId(), member); + + // Also create a User + if (store != null) { + store.updateUserWithRoomMemberEvent(member); + } + } + } + + synchronized (mGetAllMembersCallbacks) { + for (ApiCallback> apiCallback : mGetAllMembersCallbacks) { + // make a copy to avoid concurrency modifications + res = new ArrayList<>(mMembers.values()); + + apiCallback.onSuccess(res); + } + + mGetAllMembersCallbacks.clear(); + } + + mAllMembersAreLoaded = true; + } + }); + } + } + } + + /** + * Tell if all members has been loaded + * + * @return true if LazyLoading is Off, or if all members has been loaded + */ + private boolean areAllMembersLoaded() { + return mDataHandler != null + && (!((MXDataHandler) mDataHandler).isLazyLoadingEnabled() || mAllMembersAreLoaded); + } + + /** + * Force a fetch of the loaded members the next time they will be requested + */ + public void forceMembersRequest() { + mAllMembersAreLoaded = false; + } + + /** + * Provides the loaded states event list. + * The room member events are NOT included. + * + * @param types the allowed event types. + * @return the filtered state events list. + */ + public List getStateEvents(final Set types) { + final List filteredStateEvents = new ArrayList<>(); + final List stateEvents = new ArrayList<>(); + + // merge the values lists + Collection> currentStateEvents = mStateEvents.values(); + for (List eventsList : currentStateEvents) { + stateEvents.addAll(eventsList); + } + + if ((null != types) && !types.isEmpty()) { + for (Event stateEvent : stateEvents) { + if ((null != stateEvent.getType()) && types.contains(stateEvent.getType())) { + filteredStateEvents.add(stateEvent); + } + } + } else { + filteredStateEvents.addAll(stateEvents); + } + + return filteredStateEvents; + } + + + /** + * Provides the state events list. + * It includes the room member creation events (they are not loaded in memory by default). + * + * @param store the store in which the state events must be retrieved + * @param types the allowed event types. + * @param callback the asynchronous callback. + */ + public void getStateEvents(IMXStore store, final Set types, final ApiCallback> callback) { + if (null != store) { + final List stateEvents = new ArrayList<>(); + + Collection> currentStateEvents = mStateEvents.values(); + + for (List eventsList : currentStateEvents) { + stateEvents.addAll(eventsList); + } + + // retrieve the roomMember creation events + store.getRoomStateEvents(roomId, new SimpleApiCallback>() { + @Override + public void onSuccess(List events) { + stateEvents.addAll(events); + + final List filteredStateEvents = new ArrayList<>(); + + if ((null != types) && !types.isEmpty()) { + for (Event stateEvent : stateEvents) { + if ((null != stateEvent.getType()) && types.contains(stateEvent.getType())) { + filteredStateEvents.add(stateEvent); + } + } + } else { + filteredStateEvents.addAll(stateEvents); + } + + callback.onSuccess(filteredStateEvents); + } + }); + } + } + + /** + * @return a copy of the displayable members list. May be incomplete if the full list is not loaded yet + */ + public List getDisplayableLoadedMembers() { + List res = getLoadedMembers(); + + RoomMember conferenceUserId = getMember(MXCallsManager.getConferenceUserId(roomId)); + + if (null != conferenceUserId) { + res.remove(conferenceUserId); + } + + return res; + } + + /** + * Provides a list of displayable members. + * Some dummy members are created to internal stuff. + * + * @param callback The callback to get a copy of the displayable room members list. + */ + public void getDisplayableMembersAsync(final ApiCallback> callback) { + getMembersAsync(new SimpleApiCallback>(callback) { + @Override + public void onSuccess(List members) { + RoomMember conferenceUserId = getMember(MXCallsManager.getConferenceUserId(roomId)); + + if (null != conferenceUserId) { + List membersList = new ArrayList<>(members); + membersList.remove(conferenceUserId); + callback.onSuccess(membersList); + } else { + callback.onSuccess(members); + } + } + }); + } + + /** + * Tells if the room is a call conference one + * i.e. this room has been created to manage the call conference + * + * @return true if it is a call conference room. + */ + public boolean isConferenceUserRoom() { + return getDataHandler().getStore().getSummary(roomId).isConferenceUserRoom(); + } + + /** + * Set this room as a conference user room + * + * @param isConferenceUserRoom true when it is an user conference room. + */ + public void setIsConferenceUserRoom(boolean isConferenceUserRoom) { + getDataHandler().getStore().getSummary(roomId).setIsConferenceUserRoom(isConferenceUserRoom); + } + + /** + * Update the room member from its user id. + * + * @param userId the user id. + * @param member the new member value. + */ + private void setMember(String userId, RoomMember member) { + // Populate a basic user object if there is none + if (member.getUserId() == null) { + member.setUserId(userId); + } + synchronized (this) { + if (null != mMemberDisplayNameByUserId) { + mMemberDisplayNameByUserId.remove(userId); + } + mMembers.put(userId, member); + } + } + + /** + * Retrieve a room member from its user id. + * + * @param userId the user id. + * @return the linked member it exists. + */ + // TODO Change this? Can return null if all members are not loaded yet + @Nullable + public RoomMember getMember(String userId) { + RoomMember member; + + synchronized (this) { + member = mMembers.get(userId); + } + + if (member == null) { + // TODO LazyLoading + Log.e(LOG_TAG, "!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Null member '" + userId + "' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); + + if (TextUtils.equals(getDataHandler().getUserId(), userId)) { + // This should never happen + Log.e(LOG_TAG, "!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Null current user '" + userId + "' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); + } + } + + return member; + } + + /** + * Retrieve a room member from its original event id. + * It can return null if the lazy loading is enabled and if the member is not loaded yet. + * + * @param eventId the event id. + * @return the linked member if it exists and if it is loaded. + */ + @Nullable + public RoomMember getMemberByEventId(String eventId) { + RoomMember member = null; + + synchronized (this) { + for (RoomMember aMember : mMembers.values()) { + if (aMember.getOriginalEventId().equals(eventId)) { + member = aMember; + break; + } + } + } + + return member; + } + + /** + * Remove a member defines by its user id. + * + * @param userId the user id. + */ + public void removeMember(String userId) { + synchronized (this) { + mMembers.remove(userId); + // remove the cached display name + if (null != mMemberDisplayNameByUserId) { + mMemberDisplayNameByUserId.remove(userId); + } + } + } + + /** + * Retrieve a member from an invitation token. + * + * @param thirdPartyInviteToken the third party invitation token. + * @return the member it exists. + */ + public RoomMember memberWithThirdPartyInviteToken(String thirdPartyInviteToken) { + return mMembersWithThirdPartyInviteTokenCache.get(thirdPartyInviteToken); + } + + /** + * Retrieve a RoomThirdPartyInvite from its token. + * + * @param thirdPartyInviteToken the third party invitation token. + * @return the linked RoomThirdPartyInvite if it exists + */ + public RoomThirdPartyInvite thirdPartyInviteWithToken(String thirdPartyInviteToken) { + return mThirdPartyInvites.get(thirdPartyInviteToken); + } + + /** + * @return the third party invite list. + */ + public Collection thirdPartyInvites() { + return mThirdPartyInvites.values(); + } + + /** + * @return the power levels (it can be null). + */ + public PowerLevels getPowerLevels() { + if (null != powerLevels) { + return powerLevels.deepCopy(); + } else { + return null; + } + } + + /** + * Update the power levels. + * + * @param powerLevels the new power levels + */ + public void setPowerLevels(PowerLevels powerLevels) { + this.powerLevels = powerLevels; + } + + /** + * Update the linked dataHandler. + * + * @param dataHandler the new dataHandler + */ + public void setDataHandler(MXDataHandler dataHandler) { + mDataHandler = dataHandler; + } + + /** + * @return the user dataHandler + */ + public MXDataHandler getDataHandler() { + return (MXDataHandler) mDataHandler; + } + + /** + * Update the notified messages count. + * + * @param notificationCount the new notified messages count. + */ + public void setNotificationCount(int notificationCount) { + Log.d(LOG_TAG, "## setNotificationCount() : " + notificationCount + " room id " + roomId); + mNotificationCount = notificationCount; + } + + /** + * @return the notified messages count. + */ + public int getNotificationCount() { + return mNotificationCount; + } + + /** + * Update the highlighted messages count. + * + * @param highlightCount the new highlighted messages count. + */ + public void setHighlightCount(int highlightCount) { + Log.d(LOG_TAG, "## setHighlightCount() : " + highlightCount + " room id " + roomId); + mHighlightCount = highlightCount; + } + + /** + * @return the highlighted messages count. + */ + public int getHighlightCount() { + return mHighlightCount; + } + + /** + * Check if the user userId can back paginate. + * + * @param isJoined true is user is in the room + * @param isInvited true is user is invited to the room + * @return true if the user can back paginate. + */ + public boolean canBackPaginate(boolean isJoined, boolean isInvited) { + String visibility = TextUtils.isEmpty(history_visibility) ? HISTORY_VISIBILITY_SHARED : history_visibility; + + return isJoined + || visibility.equals(HISTORY_VISIBILITY_WORLD_READABLE) + || visibility.equals(HISTORY_VISIBILITY_SHARED) + || (visibility.equals(HISTORY_VISIBILITY_INVITED) && isInvited); + } + + /** + * Make a deep copy of this room state object. + * + * @return the copy + */ + public RoomState deepCopy() { + RoomState copy = new RoomState(); + copy.roomId = roomId; + copy.setPowerLevels((powerLevels == null) ? null : powerLevels.deepCopy()); + copy.aliases = (aliases == null) ? null : new ArrayList<>(aliases); + copy.mAliasesByDomain = new HashMap<>(mAliasesByDomain); + copy.canonicalAlias = canonicalAlias; + copy.name = name; + copy.topic = topic; + copy.url = url; + copy.mRoomCreateContent = mRoomCreateContent != null ? mRoomCreateContent.deepCopy() : null; + copy.mRoomPinnedEventsContent = mRoomPinnedEventsContent != null ? mRoomPinnedEventsContent.deepCopy() : null; + copy.join_rule = join_rule; + copy.guest_access = guest_access; + copy.history_visibility = history_visibility; + copy.visibility = visibility; + copy.token = token; + copy.groups = groups; + copy.mDataHandler = mDataHandler; + copy.mIsLive = mIsLive; + copy.mAllMembersAreLoaded = mAllMembersAreLoaded; + copy.algorithm = algorithm; + copy.mRoomAliases = new HashMap<>(mRoomAliases); + copy.mStateEvents = new HashMap<>(mStateEvents); + copy.mRoomTombstoneContent = mRoomTombstoneContent != null ? mRoomTombstoneContent.deepCopy() : null; + synchronized (this) { + Iterator it = mMembers.entrySet().iterator(); + while (it.hasNext()) { + Map.Entry pair = (Map.Entry) it.next(); + copy.setMember(pair.getKey(), pair.getValue().deepCopy()); + } + + Collection keys = mThirdPartyInvites.keySet(); + for (String key : keys) { + copy.mThirdPartyInvites.put(key, mThirdPartyInvites.get(key).deepCopy()); + } + + keys = mMembersWithThirdPartyInviteTokenCache.keySet(); + for (String key : keys) { + copy.mMembersWithThirdPartyInviteTokenCache.put(key, mMembersWithThirdPartyInviteTokenCache.get(key).deepCopy()); + } + } + + return copy; + } + + /** + * @return the room canonical alias + */ + public String getCanonicalAlias() { + return canonicalAlias; + } + + /** + * Update the canonical alias of a room + * + * @param newCanonicalAlias the new canonical alias + */ + public void setCanonicalAlias(String newCanonicalAlias) { + canonicalAlias = newCanonicalAlias; + } + + /** + * Provides the aliases for any known domains + * + * @return the aliases list + */ + public List getAliases() { + if (null == mMergedAliasesList) { + mMergedAliasesList = new ArrayList<>(); + + for (String url : mAliasesByDomain.keySet()) { + mMergedAliasesList.addAll(mAliasesByDomain.get(url)); + } + + // ensure that the current aliases have been added. + // for example for the public rooms because there is no applystate call. + if (null != aliases) { + for (String anAlias : aliases) { + if (mMergedAliasesList.indexOf(anAlias) < 0) { + mMergedAliasesList.add(anAlias); + } + } + } + } + + return mMergedAliasesList; + } + + /** + * Provides the aliases by domain + * + * @return the aliases list map + */ + public Map> getAliasesByDomain() { + return new HashMap<>(mAliasesByDomain); + } + + /** + * Remove an alias. + * + * @param alias the alias to remove + */ + public void removeAlias(String alias) { + if (getAliases().indexOf(alias) >= 0) { + if (null != aliases) { + aliases.remove(alias); + } + + for (String host : mAliasesByDomain.keySet()) { + mAliasesByDomain.get(host).remove(alias); + } + + mMergedAliasesList = null; + } + } + + /** + * Add an alias. + * + * @param alias the alias to add + */ + public void addAlias(String alias) { + if (getAliases().indexOf(alias) < 0) { + // patch until the server echoes the alias addition. + mMergedAliasesList.add(alias); + } + } + + /** + * @return true if the room is encrypted + */ + public boolean isEncrypted() { + // When a client receives an m.room.encryption event as above, it should set a flag to indicate that messages sent in the room should be encrypted. + // This flag should not be cleared if a later m.room.encryption event changes the configuration. This is to avoid a situation where a MITM can simply + // ask participants to disable encryption. In short: once encryption is enabled in a room, it can never be disabled. + return null != algorithm; + } + + /** + * @return true if the room is versioned, it means that the room is obsolete. + * You can't interact with it anymore, but you can still browse the past messages. + */ + public boolean isVersioned() { + return mRoomTombstoneContent != null; + } + + /** + * @return the room tombstone content + */ + public RoomTombstoneContent getRoomTombstoneContent() { + return mRoomTombstoneContent; + } + + /** + * @return true if the room has a predecessor + */ + public boolean hasPredecessor() { + return mRoomCreateContent != null && mRoomCreateContent.hasPredecessor(); + } + + /** + * @return the room create content + */ + public RoomCreateContent getRoomCreateContent() { + return mRoomCreateContent; + } + + /** + * @return the room pinned events content + */ + @Nullable + public RoomPinnedEventsContent getRoomPinnedEventsContent() { + return mRoomPinnedEventsContent; + } + + /** + * @return the encryption algorithm + */ + public String encryptionAlgorithm() { + return TextUtils.isEmpty(algorithm) ? null : algorithm; + } + + /** + * Apply the given event (relevant for state changes) to our state. + * + * @param store the store to use + * @param event the event + * @param direction how the event should affect the state: Forwards for applying, backwards for un-applying (applying the previous state) + * @return true if the event is managed + */ + public boolean applyState(IMXStore store, Event event, EventTimeline.Direction direction) { + if (event.stateKey == null) { + return false; + } + + JsonObject contentToConsider = (direction == EventTimeline.Direction.FORWARDS) ? event.getContentAsJsonObject() : event.getPrevContentAsJsonObject(); + String eventType = event.getType(); + + try { + if (Event.EVENT_TYPE_STATE_ROOM_NAME.equals(eventType)) { + name = JsonUtils.toStateEvent(contentToConsider).name; + } else if (Event.EVENT_TYPE_STATE_ROOM_TOPIC.equals(eventType)) { + topic = JsonUtils.toStateEvent(contentToConsider).topic; + } else if (Event.EVENT_TYPE_STATE_ROOM_CREATE.equals(eventType)) { + mRoomCreateContent = JsonUtils.toRoomCreateContent(contentToConsider); + } else if (Event.EVENT_TYPE_STATE_ROOM_JOIN_RULES.equals(eventType)) { + join_rule = JsonUtils.toStateEvent(contentToConsider).joinRule; + } else if (Event.EVENT_TYPE_STATE_ROOM_GUEST_ACCESS.equals(eventType)) { + guest_access = JsonUtils.toStateEvent(contentToConsider).guestAccess; + } else if (Event.EVENT_TYPE_STATE_ROOM_ALIASES.equals(eventType)) { + if (!TextUtils.isEmpty(event.stateKey)) { + // backward compatibility + aliases = JsonUtils.toStateEvent(contentToConsider).aliases; + + // sanity check + if (null != aliases) { + mAliasesByDomain.put(event.stateKey, aliases); + mRoomAliases.put(event.stateKey, event); + } else { + mAliasesByDomain.put(event.stateKey, new ArrayList()); + } + } + } else if (Event.EVENT_TYPE_MESSAGE_ENCRYPTION.equals(eventType)) { + algorithm = JsonUtils.toStateEvent(contentToConsider).algorithm; + + // When a client receives an m.room.encryption event as above, it should set a flag to indicate that messages sent + // in the room should be encrypted. + // This flag should not be cleared if a later m.room.encryption event changes the configuration. This is to avoid + // a situation where a MITM can simply ask participants to disable encryption. In short: once encryption is enabled + // in a room, it can never be disabled. + if (null == algorithm) { + algorithm = ""; + } + } else if (Event.EVENT_TYPE_STATE_CANONICAL_ALIAS.equals(eventType)) { + // SPEC-125 + canonicalAlias = JsonUtils.toStateEvent(contentToConsider).canonicalAlias; + } else if (Event.EVENT_TYPE_STATE_HISTORY_VISIBILITY.equals(eventType)) { + // SPEC-134 + history_visibility = JsonUtils.toStateEvent(contentToConsider).historyVisibility; + } else if (Event.EVENT_TYPE_STATE_ROOM_AVATAR.equals(eventType)) { + url = JsonUtils.toStateEvent(contentToConsider).url; + } else if (Event.EVENT_TYPE_STATE_RELATED_GROUPS.equals(eventType)) { + groups = JsonUtils.toStateEvent(contentToConsider).groups; + } else if (Event.EVENT_TYPE_STATE_ROOM_MEMBER.equals(eventType)) { + RoomMember member = JsonUtils.toRoomMember(contentToConsider); + String userId = event.stateKey; + + if (null == userId) { + Log.e(LOG_TAG, "## applyState() : null stateKey in " + roomId); + } else if (null == member) { + // the member has already been removed + if (null == getMember(userId)) { + Log.e(LOG_TAG, "## applyState() : the user " + userId + " is not anymore a member of " + roomId); + return false; + } + removeMember(userId); + } else { + try { + member.setUserId(userId); + member.setOriginServerTs(event.getOriginServerTs()); + member.setOriginalEventId(event.eventId); + member.mSender = event.getSender(); + + if ((null != store) && (direction == EventTimeline.Direction.FORWARDS)) { + store.storeRoomStateEvent(roomId, event); + } + + RoomMember currentMember = getMember(userId); + + // check if the member is the same + // duplicated message ? + if (member.equals(currentMember)) { + Log.e(LOG_TAG, "## applyState() : seems being a duplicated event for " + userId + " in room " + roomId); + return false; + } + + // when a member leaves a room, his avatar / display name is not anymore provided + if (null != currentMember) { + if (TextUtils.equals(member.membership, RoomMember.MEMBERSHIP_LEAVE) + || TextUtils.equals(member.membership, (RoomMember.MEMBERSHIP_BAN))) { + if (null == member.getAvatarUrl()) { + member.setAvatarUrl(currentMember.getAvatarUrl()); + } + + if (null == member.displayname) { + member.displayname = currentMember.displayname; + } + + // remove the cached display name + if (null != mMemberDisplayNameByUserId) { + mMemberDisplayNameByUserId.remove(userId); + } + + // test if the user has been kicked + if (!TextUtils.equals(event.getSender(), event.stateKey) + && TextUtils.equals(currentMember.membership, RoomMember.MEMBERSHIP_JOIN) + && TextUtils.equals(member.membership, RoomMember.MEMBERSHIP_LEAVE)) { + member.membership = RoomMember.MEMBERSHIP_KICK; + } + } + } + + if ((direction == EventTimeline.Direction.FORWARDS) && (null != store)) { + store.updateUserWithRoomMemberEvent(member); + } + + // Cache room member event that is successor of a third party invite event + if (!TextUtils.isEmpty(member.getThirdPartyInviteToken())) { + mMembersWithThirdPartyInviteTokenCache.put(member.getThirdPartyInviteToken(), member); + } + } catch (Exception e) { + Log.e(LOG_TAG, "## applyState() - EVENT_TYPE_STATE_ROOM_MEMBER failed " + e.getMessage(), e); + } + + setMember(userId, member); + } + } else if (Event.EVENT_TYPE_STATE_ROOM_POWER_LEVELS.equals(eventType)) { + powerLevels = JsonUtils.toPowerLevels(contentToConsider); + } else if (Event.EVENT_TYPE_STATE_ROOM_THIRD_PARTY_INVITE.equals(event.getType())) { + if (null != contentToConsider) { + RoomThirdPartyInvite thirdPartyInvite = JsonUtils.toRoomThirdPartyInvite(contentToConsider); + + thirdPartyInvite.token = event.stateKey; + + if ((direction == EventTimeline.Direction.FORWARDS) && (null != store)) { + store.storeRoomStateEvent(roomId, event); + } + + if (!TextUtils.isEmpty(thirdPartyInvite.token)) { + mThirdPartyInvites.put(thirdPartyInvite.token, thirdPartyInvite); + } + } + } else if (Event.EVENT_TYPE_STATE_ROOM_TOMBSTONE.equals(eventType)) { + mRoomTombstoneContent = JsonUtils.toRoomTombstoneContent(contentToConsider); + } else if (Event.EVENT_TYPE_STATE_PINNED_EVENT.equals(eventType)) { + mRoomPinnedEventsContent = JsonUtils.toRoomPinnedEventsContent(contentToConsider); + } + // same the latest room state events + // excepts the membership ones + // they are saved elsewhere + if (!TextUtils.isEmpty(eventType) && !Event.EVENT_TYPE_STATE_ROOM_MEMBER.equals(eventType)) { + List eventsList = mStateEvents.get(eventType); + + if (null == eventsList) { + eventsList = new ArrayList<>(); + mStateEvents.put(eventType, eventsList); + } + + eventsList.add(event); + } + + } catch (Exception e) { + Log.e(LOG_TAG, "applyState failed with error " + e.getMessage(), e); + } + + return true; + } + + /** + * @return true if the room is a public one + */ + public boolean isPublic() { + return TextUtils.equals((null != visibility) ? visibility : join_rule, RoomDirectoryVisibility.DIRECTORY_VISIBILITY_PUBLIC); + } + + /** + * Return an unique display name of the member userId. + * + * @param userId the user id + * @return unique display name + */ + public String getMemberName(String userId) { + // sanity check + if (null == userId) { + return null; + } + + String displayName; + + synchronized (this) { + if (null == mMemberDisplayNameByUserId) { + mMemberDisplayNameByUserId = new HashMap<>(); + } + displayName = mMemberDisplayNameByUserId.get(userId); + } + + if (null != displayName) { + return displayName; + } + + // Get the user display name from the member list of the room + RoomMember member = getMember(userId); + + // Do not consider null display name + if ((null != member) && !TextUtils.isEmpty(member.displayname)) { + displayName = member.displayname; + + synchronized (this) { + List matrixIds = new ArrayList<>(); + + // Disambiguate users who have the same display name in the room + for (RoomMember aMember : mMembers.values()) { + if (displayName.equals(aMember.displayname)) { + matrixIds.add(aMember.getUserId()); + } + } + + // if several users have the same display name + // index it i.e bob () + if (matrixIds.size() > 1) { + displayName += " (" + userId + ")"; + } + } + } else if ((null != member) && TextUtils.equals(member.membership, RoomMember.MEMBERSHIP_INVITE)) { + User user = ((MXDataHandler) mDataHandler).getUser(userId); + + if (null != user) { + displayName = user.displayname; + } + } + + if (null == displayName) { + // By default, use the user ID + displayName = userId; + } + + mMemberDisplayNameByUserId.put(userId, displayName); + + return displayName; + } + + @Override + public void readExternal(ObjectInput input) throws IOException, ClassNotFoundException { + if (input.readBoolean()) { + roomId = input.readUTF(); + } + + if (input.readBoolean()) { + powerLevels = (PowerLevels) input.readObject(); + } + + if (input.readBoolean()) { + aliases = (List) input.readObject(); + } + + List roomAliasesEvents = (List) input.readObject(); + for (Event e : roomAliasesEvents) { + mRoomAliases.put(e.stateKey, e); + } + + mAliasesByDomain = (Map>) input.readObject(); + + if (input.readBoolean()) { + mMergedAliasesList = (List) input.readObject(); + } + + Map> stateEvents = (Map>) input.readObject(); + if (null != stateEvents) { + mStateEvents = new HashMap<>(stateEvents); + } + + if (input.readBoolean()) { + canonicalAlias = input.readUTF(); + } + + if (input.readBoolean()) { + name = input.readUTF(); + } + + if (input.readBoolean()) { + topic = input.readUTF(); + } + + if (input.readBoolean()) { + url = input.readUTF(); + } + + if (input.readBoolean()) { + avatar_url = input.readUTF(); + } + + if (input.readBoolean()) { + mRoomCreateContent = (RoomCreateContent) input.readObject(); + } + + if (input.readBoolean()) { + mRoomPinnedEventsContent = (RoomPinnedEventsContent) input.readObject(); + } + + if (input.readBoolean()) { + join_rule = input.readUTF(); + } + + if (input.readBoolean()) { + guest_access = input.readUTF(); + } + + if (input.readBoolean()) { + history_visibility = input.readUTF(); + } + + if (input.readBoolean()) { + visibility = input.readUTF(); + } + + if (input.readBoolean()) { + algorithm = input.readUTF(); + } + + mNotificationCount = input.readInt(); + mHighlightCount = input.readInt(); + + if (input.readBoolean()) { + token = input.readUTF(); + } + + List members = (List) input.readObject(); + for (RoomMember r : members) { + mMembers.put(r.getUserId(), r); + } + + List invites = (List) input.readObject(); + for (RoomThirdPartyInvite i : invites) { + mThirdPartyInvites.put(i.token, i); + } + + List inviteTokens = (List) input.readObject(); + for (RoomMember r : inviteTokens) { + mMembersWithThirdPartyInviteTokenCache.put(r.getThirdPartyInviteToken(), r); + } + + mIsLive = input.readBoolean(); + + mAllMembersAreLoaded = input.readBoolean(); + + if (input.readBoolean()) { + groups = (List) input.readObject(); + } + + if (input.readBoolean()) { + mRoomTombstoneContent = (RoomTombstoneContent) input.readObject(); + } + } + + @Override + public void writeExternal(ObjectOutput output) throws IOException { + output.writeBoolean(null != roomId); + if (null != roomId) { + output.writeUTF(roomId); + } + + output.writeBoolean(null != powerLevels); + if (null != powerLevels) { + output.writeObject(powerLevels); + } + + output.writeBoolean(null != aliases); + if (null != aliases) { + output.writeObject(aliases); + } + + output.writeObject(new ArrayList<>(mRoomAliases.values())); + + output.writeObject(mAliasesByDomain); + + output.writeBoolean(null != mMergedAliasesList); + if (null != mMergedAliasesList) { + output.writeObject(mMergedAliasesList); + } + + output.writeObject(mStateEvents); + + output.writeBoolean(null != canonicalAlias); + if (null != canonicalAlias) { + output.writeUTF(canonicalAlias); + } + + output.writeBoolean(null != name); + if (null != name) { + output.writeUTF(name); + } + + output.writeBoolean(null != topic); + if (null != topic) { + output.writeUTF(topic); + } + + output.writeBoolean(null != url); + if (null != url) { + output.writeUTF(url); + } + + output.writeBoolean(null != avatar_url); + if (null != avatar_url) { + output.writeUTF(avatar_url); + } + + output.writeBoolean(null != mRoomCreateContent); + if (null != mRoomCreateContent) { + output.writeObject(mRoomCreateContent); + } + + output.writeBoolean(null != mRoomPinnedEventsContent); + if (null != mRoomPinnedEventsContent) { + output.writeObject(mRoomPinnedEventsContent); + } + + output.writeBoolean(null != join_rule); + if (null != join_rule) { + output.writeUTF(join_rule); + } + + output.writeBoolean(null != guest_access); + if (null != guest_access) { + output.writeUTF(guest_access); + } + + output.writeBoolean(null != history_visibility); + if (null != history_visibility) { + output.writeUTF(history_visibility); + } + + output.writeBoolean(null != visibility); + if (null != visibility) { + output.writeUTF(visibility); + } + + output.writeBoolean(null != algorithm); + if (null != algorithm) { + output.writeUTF(algorithm); + } + + output.writeInt(mNotificationCount); + output.writeInt(mHighlightCount); + + output.writeBoolean(null != token); + if (null != token) { + output.writeUTF(token); + } + + output.writeObject(new ArrayList<>(mMembers.values())); + output.writeObject(new ArrayList<>(mThirdPartyInvites.values())); + output.writeObject(new ArrayList<>(mMembersWithThirdPartyInviteTokenCache.values())); + + output.writeBoolean(mIsLive); + + output.writeBoolean(mAllMembersAreLoaded); + + output.writeBoolean(null != groups); + if (null != groups) { + output.writeObject(groups); + } + + output.writeBoolean(null != mRoomTombstoneContent); + if (null != mRoomTombstoneContent) { + output.writeObject(mRoomTombstoneContent); + } + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomSummary.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomSummary.java new file mode 100644 index 00000000..51a9521e --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomSummary.java @@ -0,0 +1,593 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data; + +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.text.TextUtils; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; + +import im.vector.matrix.android.internal.legacy.call.MXCallsManager; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.EventContent; +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; +import im.vector.matrix.android.internal.legacy.rest.model.message.Message; +import im.vector.matrix.android.internal.legacy.rest.model.sync.RoomSyncSummary; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +/** + * Stores summarised information about the room. + */ +public class RoomSummary implements java.io.Serializable { + private static final String LOG_TAG = RoomSummary.class.getSimpleName(); + + private static final long serialVersionUID = -3683013938626566489L; + + // list of supported types + private static final List sSupportedType = Arrays.asList( + Event.EVENT_TYPE_STATE_ROOM_TOPIC, + Event.EVENT_TYPE_MESSAGE_ENCRYPTED, + Event.EVENT_TYPE_MESSAGE_ENCRYPTION, + Event.EVENT_TYPE_STATE_ROOM_NAME, + Event.EVENT_TYPE_STATE_ROOM_MEMBER, + Event.EVENT_TYPE_STATE_ROOM_CREATE, + Event.EVENT_TYPE_STATE_HISTORY_VISIBILITY, + Event.EVENT_TYPE_STATE_ROOM_THIRD_PARTY_INVITE, + Event.EVENT_TYPE_STICKER); + + // List of known unsupported types + private static final List sKnownUnsupportedType = Arrays.asList( + Event.EVENT_TYPE_TYPING, + Event.EVENT_TYPE_STATE_ROOM_POWER_LEVELS, + Event.EVENT_TYPE_STATE_ROOM_JOIN_RULES, + Event.EVENT_TYPE_STATE_CANONICAL_ALIAS, + Event.EVENT_TYPE_STATE_ROOM_ALIASES, + Event.EVENT_TYPE_URL_PREVIEW, + Event.EVENT_TYPE_STATE_RELATED_GROUPS, + Event.EVENT_TYPE_STATE_ROOM_GUEST_ACCESS, + Event.EVENT_TYPE_REDACTION); + + private String mRoomId = null; + private String mTopic = null; + private Event mLatestReceivedEvent = null; + + // the room state is only used to check + // 1- the invitation status + // 2- the members display name + private transient RoomState mLatestRoomState = null; + + // defines the latest read message + private String mReadReceiptEventId; + + // the read marker event id + private String mReadMarkerEventId; + + private Set mRoomTags; + + // counters + public int mUnreadEventsCount; + public int mNotificationCount; + public int mHighlightsCount; + + // invitation status + // retrieved at initial sync + // the roomstate is not always known + private String mInviterUserId = null; + + // retrieved from the roomState + private String mInviterName = null; + + private String mUserId = null; + + // Info from sync, depending on the room position in the sync + private String mUserMembership; + + /** + * Tell if the room is a user conference user one + */ + private Boolean mIsConferenceUserRoom = null; + + /** + * Data from RoomSyncSummary + */ + private List mHeroes = new ArrayList<>(); + + private int mJoinedMembersCountFromSyncRoomSummary; + + private int mInvitedMembersCountFromSyncRoomSummary; + + public RoomSummary() { + } + + /** + * Create a room summary + * + * @param fromSummary the summary source + * @param event the latest event of the room + * @param roomState the room state - used to display the event + * @param userId our own user id - used to display the room name + */ + public RoomSummary(@Nullable RoomSummary fromSummary, + Event event, + RoomState roomState, + String userId) { + mUserId = userId; + + if (null != roomState) { + setRoomId(roomState.roomId); + } + + if ((null == getRoomId()) && (null != event)) { + setRoomId(event.roomId); + } + + setLatestReceivedEvent(event, roomState); + + // if no summary is provided + if (null == fromSummary) { + if (null != event) { + setReadMarkerEventId(event.eventId); + setReadReceiptEventId(event.eventId); + } + + if (null != roomState) { + setHighlightCount(roomState.getHighlightCount()); + setNotificationCount(roomState.getHighlightCount()); + } + setUnreadEventsCount(Math.max(getHighlightCount(), getNotificationCount())); + } else { + // else use the provided summary data + setReadMarkerEventId(fromSummary.getReadMarkerEventId()); + setReadReceiptEventId(fromSummary.getReadReceiptEventId()); + setUnreadEventsCount(fromSummary.getUnreadEventsCount()); + setHighlightCount(fromSummary.getHighlightCount()); + setNotificationCount(fromSummary.getNotificationCount()); + + mHeroes.addAll(fromSummary.mHeroes); + mJoinedMembersCountFromSyncRoomSummary = fromSummary.mJoinedMembersCountFromSyncRoomSummary; + mInvitedMembersCountFromSyncRoomSummary = fromSummary.mInvitedMembersCountFromSyncRoomSummary; + + mUserMembership = fromSummary.mUserMembership; + } + } + + /** + * Test if the event can be summarized. + * Some event types are not yet supported. + * + * @param event the event to test. + * @return true if the event can be summarized + */ + public static boolean isSupportedEvent(Event event) { + String type = event.getType(); + boolean isSupported = false; + + // check if the msgtype is supported + if (TextUtils.equals(Event.EVENT_TYPE_MESSAGE, type)) { + try { + JsonObject eventContent = event.getContentAsJsonObject(); + String msgType = ""; + + JsonElement element = eventContent.get("msgtype"); + + if (null != element) { + msgType = element.getAsString(); + } + + isSupported = TextUtils.equals(msgType, Message.MSGTYPE_TEXT) + || TextUtils.equals(msgType, Message.MSGTYPE_EMOTE) + || TextUtils.equals(msgType, Message.MSGTYPE_NOTICE) + || TextUtils.equals(msgType, Message.MSGTYPE_IMAGE) + || TextUtils.equals(msgType, Message.MSGTYPE_AUDIO) + || TextUtils.equals(msgType, Message.MSGTYPE_VIDEO) + || TextUtils.equals(msgType, Message.MSGTYPE_FILE); + + if (!isSupported && !TextUtils.isEmpty(msgType)) { + Log.e(LOG_TAG, "isSupportedEvent : Unsupported msg type " + msgType); + } + } catch (Exception e) { + Log.e(LOG_TAG, "isSupportedEvent failed " + e.getMessage(), e); + } + } else if (TextUtils.equals(Event.EVENT_TYPE_MESSAGE_ENCRYPTED, type)) { + isSupported = event.hasContentFields(); + } else if (TextUtils.equals(Event.EVENT_TYPE_STATE_ROOM_MEMBER, type)) { + JsonObject eventContentAsJsonObject = event.getContentAsJsonObject(); + + if (null != eventContentAsJsonObject) { + if (eventContentAsJsonObject.entrySet().isEmpty()) { + Log.d(LOG_TAG, "isSupportedEvent : room member with no content is not supported"); + } else { + // do not display the avatar / display name update + EventContent prevEventContent = event.getPrevContent(); + EventContent eventContent = event.getEventContent(); + + String membership = null; + String preMembership = null; + + if (eventContent != null) { + membership = eventContent.membership; + } + + if (prevEventContent != null) { + preMembership = prevEventContent.membership; + } + + isSupported = !TextUtils.equals(membership, preMembership); + + if (!isSupported) { + Log.d(LOG_TAG, "isSupportedEvent : do not support avatar display name update"); + } + } + } + } else { + isSupported = sSupportedType.contains(type) + || (event.isCallEvent() && !TextUtils.isEmpty(type) && !Event.EVENT_TYPE_CALL_CANDIDATES.equals(type)); + } + + if (!isSupported) { + // some events are known to be never traced + // avoid warning when it is not required. + if (!sKnownUnsupportedType.contains(type)) { + Log.e(LOG_TAG, "isSupportedEvent : Unsupported event type " + type); + } + } + + return isSupported; + } + + /** + * @return the user id + */ + public String getUserId() { + return mUserId; + } + + /** + * @return the room id + */ + public String getRoomId() { + return mRoomId; + } + + /** + * @return the topic. + */ + public String getRoomTopic() { + return mTopic; + } + + /** + * @return the room summary event. + */ + public Event getLatestReceivedEvent() { + return mLatestReceivedEvent; + } + + /** + * @return the dedicated room state. + */ + public RoomState getLatestRoomState() { + return mLatestRoomState; + } + + /** + * @return true if the current user is invited + */ + public boolean isInvited() { + return RoomMember.MEMBERSHIP_INVITE.equals(mUserMembership); + } + + /** + * To call when the room is in the invited section of the sync response + */ + public void setIsInvited() { + mUserMembership = RoomMember.MEMBERSHIP_INVITE; + } + + /** + * To call when the room is in the joined section of the sync response + */ + public void setIsJoined() { + mUserMembership = RoomMember.MEMBERSHIP_JOIN; + } + + /** + * @return true if the current user is invited + */ + public boolean isJoined() { + return RoomMember.MEMBERSHIP_JOIN.equals(mUserMembership); + } + + /** + * @return the inviter user id. + */ + public String getInviterUserId() { + return mInviterUserId; + } + + /** + * Set the room's {@link org.matrix.androidsdk.rest.model.Event#EVENT_TYPE_STATE_ROOM_TOPIC}. + * + * @param topic The topic + * @return This summary for chaining calls. + */ + public RoomSummary setTopic(String topic) { + mTopic = topic; + return this; + } + + /** + * Set the room's ID.. + * + * @param roomId The room ID + * @return This summary for chaining calls. + */ + public RoomSummary setRoomId(String roomId) { + mRoomId = roomId; + return this; + } + + /** + * Set the latest tracked event (e.g. the latest m.room.message) + * + * @param event The most-recent event. + * @param roomState The room state + * @return This summary for chaining calls. + */ + public RoomSummary setLatestReceivedEvent(Event event, RoomState roomState) { + setLatestReceivedEvent(event); + setLatestRoomState(roomState); + + if (null != roomState) { + setTopic(roomState.topic); + } + return this; + } + + /** + * Set the latest tracked event (e.g. the latest m.room.message) + * + * @param event The most-recent event. + * @return This summary for chaining calls. + */ + public RoomSummary setLatestReceivedEvent(Event event) { + mLatestReceivedEvent = event; + return this; + } + + /** + * Set the latest RoomState + * + * @param roomState The room state of the latest event. + * @return This summary for chaining calls. + */ + public RoomSummary setLatestRoomState(RoomState roomState) { + mLatestRoomState = roomState; + + // Keep this code for compatibility? + boolean isInvited = false; + + // check for the invitation status + if (null != mLatestRoomState) { + RoomMember member = mLatestRoomState.getMember(mUserId); + isInvited = (null != member) && RoomMember.MEMBERSHIP_INVITE.equals(member.membership); + } + // when invited, the only received message should be the invitation one + if (isInvited) { + mInviterName = null; + + if (null != mLatestReceivedEvent) { + mInviterName = mInviterUserId = mLatestReceivedEvent.getSender(); + + // try to retrieve a display name + if (null != mLatestRoomState) { + mInviterName = mLatestRoomState.getMemberName(mLatestReceivedEvent.getSender()); + } + } + } else { + mInviterUserId = mInviterName = null; + } + + return this; + } + + /** + * Set the read receipt event Id + * + * @param eventId the read receipt event id. + */ + public void setReadReceiptEventId(String eventId) { + Log.d(LOG_TAG, "## setReadReceiptEventId() : " + eventId + " roomId " + getRoomId()); + mReadReceiptEventId = eventId; + } + + /** + * @return the read receipt event id + */ + public String getReadReceiptEventId() { + return mReadReceiptEventId; + } + + /** + * Set the read marker event Id + * + * @param eventId the read marker event id. + */ + public void setReadMarkerEventId(String eventId) { + Log.d(LOG_TAG, "## setReadMarkerEventId() : " + eventId + " roomId " + getRoomId()); + + if (TextUtils.isEmpty(eventId)) { + Log.e(LOG_TAG, "## setReadMarkerEventId') : null mReadMarkerEventId, in " + getRoomId()); + } + + mReadMarkerEventId = eventId; + } + + /** + * @return the read receipt event id + */ + public String getReadMarkerEventId() { + if (TextUtils.isEmpty(mReadMarkerEventId)) { + Log.e(LOG_TAG, "## getReadMarkerEventId') : null mReadMarkerEventId, in " + getRoomId()); + mReadMarkerEventId = getReadReceiptEventId(); + } + + return mReadMarkerEventId; + } + + /** + * Update the unread message counter + * + * @param count the unread events count. + */ + public void setUnreadEventsCount(int count) { + Log.d(LOG_TAG, "## setUnreadEventsCount() : " + count + " roomId " + getRoomId()); + mUnreadEventsCount = count; + } + + /** + * @return the unread events count + */ + public int getUnreadEventsCount() { + return mUnreadEventsCount; + } + + /** + * Update the notification counter + * + * @param count the notification counter + */ + public void setNotificationCount(int count) { + Log.d(LOG_TAG, "## setNotificationCount() : " + count + " roomId " + getRoomId()); + mNotificationCount = count; + } + + /** + * @return the notification count + */ + public int getNotificationCount() { + return mNotificationCount; + } + + /** + * Update the highlight counter + * + * @param count the highlight counter + */ + public void setHighlightCount(int count) { + Log.d(LOG_TAG, "## setHighlightCount() : " + count + " roomId " + getRoomId()); + mHighlightsCount = count; + } + + /** + * @return the highlight count + */ + public int getHighlightCount() { + return mHighlightsCount; + } + + /** + * @return the room tags + */ + public Set getRoomTags() { + return mRoomTags; + } + + /** + * Update the room tags + * + * @param roomTags the room tags + */ + public void setRoomTags(final Set roomTags) { + if (roomTags != null) { + // wraps the set into a serializable one + mRoomTags = new HashSet<>(roomTags); + } else { + mRoomTags = new HashSet<>(); + } + } + + public boolean isConferenceUserRoom() { + // test if it is not yet initialized + if (null == mIsConferenceUserRoom) { + + mIsConferenceUserRoom = false; + + // FIXME LazyLoading Heroes does not contains me + // FIXME I'ms not sure this code will work anymore + + Collection membersId = getHeroes(); + + // works only with 1:1 room + if (2 == membersId.size()) { + for (String userId : membersId) { + if (MXCallsManager.isConferenceUserId(userId)) { + mIsConferenceUserRoom = true; + break; + } + } + } + } + + return mIsConferenceUserRoom; + } + + public void setIsConferenceUserRoom(boolean isConferenceUserRoom) { + mIsConferenceUserRoom = isConferenceUserRoom; + } + + public void setRoomSyncSummary(@NonNull RoomSyncSummary roomSyncSummary) { + if (roomSyncSummary.heroes != null) { + mHeroes.clear(); + mHeroes.addAll(roomSyncSummary.heroes); + } + + if (roomSyncSummary.joinedMembersCount != null) { + // Update the value + mJoinedMembersCountFromSyncRoomSummary = roomSyncSummary.joinedMembersCount; + } + + if (roomSyncSummary.invitedMembersCount != null) { + // Update the value + mInvitedMembersCountFromSyncRoomSummary = roomSyncSummary.invitedMembersCount; + } + } + + @NonNull + public List getHeroes() { + return mHeroes; + } + + public int getNumberOfJoinedMembers() { + return mJoinedMembersCountFromSyncRoomSummary; + } + + public int getNumberOfInvitedMembers() { + return mInvitedMembersCountFromSyncRoomSummary; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomTag.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomTag.java new file mode 100644 index 00000000..ec8d6f94 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/RoomTag.java @@ -0,0 +1,92 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.RoomTags; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.HashMap; +import java.util.Map; + +/** + * Class representing a room tag. + */ +public class RoomTag implements java.io.Serializable { + private static final long serialVersionUID = 5172602958896551204L; + private static final String LOG_TAG = RoomTag.class.getSimpleName(); + + // + public static final String ROOM_TAG_FAVOURITE = "m.favourite"; + public static final String ROOM_TAG_LOW_PRIORITY = "m.lowpriority"; + public static final String ROOM_TAG_NO_TAG = "m.recent"; + public static final String ROOM_TAG_SERVER_NOTICE = "m.server_notice"; + + /** + * The name of a tag. + */ + public String mName; + + /** + * Try to parse order as Double. + * Provides nil if the items cannot be parsed. + */ + public Double mOrder; + + /** + * RoomTag creator. + * + * @param aName the tag name. + * @param anOrder the tag order + */ + public RoomTag(String aName, Double anOrder) { + mName = aName; + mOrder = anOrder; + } + + /** + * Extract a list of tags from a room tag event. + * + * @param event a room tag event (which can contains several tags) + * @return a dictionary containing the tags the user defined for one room. + */ + public static Map roomTagsWithTagEvent(Event event) { + Map tags = new HashMap<>(); + + try { + RoomTags roomtags = JsonUtils.toRoomTags(event.getContent()); + + if ((null != roomtags.tags) && (0 != roomtags.tags.size())) { + for (String tagName : roomtags.tags.keySet()) { + Map params = roomtags.tags.get(tagName); + if (params != null) { + tags.put(tagName, new RoomTag(tagName, params.get("order"))); + } else { + tags.put(tagName, new RoomTag(tagName, null)); + } + } + } + } catch (Exception e) { + Log.e(LOG_TAG, "roomTagsWithTagEvent fails " + e.getMessage(), e); + } + + return tags; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/comparator/Comparators.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/comparator/Comparators.java new file mode 100644 index 00000000..2c8c8749 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/comparator/Comparators.java @@ -0,0 +1,40 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data.comparator; + +import im.vector.matrix.android.internal.legacy.interfaces.DatedObject; + +import java.util.Comparator; + +public class Comparators { + + // comparator to sort from the oldest to the latest. + public static final Comparator ascComparator = new Comparator() { + @Override + public int compare(DatedObject datedObject1, DatedObject datedObject2) { + return (int) (datedObject1.getDate() - datedObject2.getDate()); + } + }; + + // comparator to sort from the latest to the oldest. + public static final Comparator descComparator = new Comparator() { + @Override + public int compare(DatedObject datedObject1, DatedObject datedObject2) { + return (int) (datedObject2.getDate() - datedObject1.getDate()); + } + }; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/comparator/RoomComparatorWithTag.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/comparator/RoomComparatorWithTag.java new file mode 100644 index 00000000..f42b600f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/comparator/RoomComparatorWithTag.java @@ -0,0 +1,50 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data.comparator; + +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.data.RoomTag; + +import java.util.Comparator; + +/** + * This class is responsible for comparing rooms by the tag's order + */ +public class RoomComparatorWithTag implements Comparator { + + private final String mTag; + + public RoomComparatorWithTag(final String tag) { + mTag = tag; + } + + @Override + public int compare(final Room r1, final Room r2) { + final int res; + final RoomTag tag1 = r1.getAccountData().roomTag(mTag); + final RoomTag tag2 = r2.getAccountData().roomTag(mTag); + + if (tag1 != null && tag1.mOrder != null && tag2 != null && tag2.mOrder != null) { + res = Double.compare(tag1.mOrder, tag2.mOrder); + } else if (tag1 != null && tag1.mOrder != null) { + res = 1; + } else { + res = -1; + } + return res; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/cryptostore/IMXCryptoStore.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/cryptostore/IMXCryptoStore.java new file mode 100644 index 00000000..fb649853 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/cryptostore/IMXCryptoStore.java @@ -0,0 +1,310 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.data.cryptostore; + +import android.content.Context; + +import im.vector.matrix.android.internal.legacy.crypto.IncomingRoomKeyRequest; +import im.vector.matrix.android.internal.legacy.crypto.OutgoingRoomKeyRequest; +import im.vector.matrix.android.internal.legacy.crypto.data.MXDeviceInfo; +import im.vector.matrix.android.internal.legacy.crypto.data.MXOlmInboundGroupSession2; +import im.vector.matrix.android.internal.legacy.rest.model.login.Credentials; +import org.matrix.olm.OlmAccount; +import org.matrix.olm.OlmSession; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * the crypto data store + */ +public interface IMXCryptoStore { + /** + * Init a crypto store for the passed credentials. + * + * @param context the application context + * @param credentials the credentials of the account. + */ + void initWithCredentials(Context context, Credentials credentials); + + /** + * @return if the corrupted is corrupted. + */ + boolean isCorrupted(); + + /** + * Indicate if the store contains data for the passed account. + * + * @return true means that the user enabled the crypto in a previous session + */ + boolean hasData(); + + /** + * Delete the crypto store for the passed credentials. + */ + void deleteStore(); + + /** + * open any existing crypto store + */ + void open(); + + /** + * Close the store + */ + void close(); + + /** + * Store the device id. + * + * @param deviceId the device id + */ + void storeDeviceId(String deviceId); + + /** + * @return the device id + */ + String getDeviceId(); + + /** + * Store the end to end account for the logged-in user. + * + * @param account the account to save + */ + void storeAccount(OlmAccount account); + + /** + * @return the olm account + */ + OlmAccount getAccount(); + + /** + * Store a device for a user. + * + * @param userId The user's id. + * @param device the device to store. + */ + void storeUserDevice(String userId, MXDeviceInfo device); + + /** + * Retrieve a device for a user. + * + * @param deviceId The device id. + * @param userId The user's id. + * @return A map from device id to 'MXDevice' object for the device. + */ + MXDeviceInfo getUserDevice(String deviceId, String userId); + + /** + * Store the known devices for a user. + * + * @param userId The user's id. + * @param devices A map from device id to 'MXDevice' object for the device. + */ + void storeUserDevices(String userId, Map devices); + + /** + * Retrieve the known devices for a user. + * + * @param userId The user's id. + * @return The devices map if some devices are known, else null + */ + Map getUserDevices(String userId); + + /** + * Store the crypto algorithm for a room. + * + * @param roomId the id of the room. + * @param algorithm the algorithm. + */ + void storeRoomAlgorithm(String roomId, String algorithm); + + /** + * Provides the algorithm used in a dedicated room. + * + * @param roomId the room id + * @return the algorithm, null is the room is not encrypted + */ + String getRoomAlgorithm(String roomId); + + /** + * Store a session between the logged-in user and another device. + * + * @param session the end-to-end session. + * @param deviceKey the public key of the other device. + */ + void storeSession(OlmSession session, String deviceKey); + + /** + * Retrieve the end-to-end sessions between the logged-in user and another + * device. + * + * @param deviceKey the public key of the other device. + * @return A map from sessionId to Base64 end-to-end session. + */ + Map getDeviceSessions(String deviceKey); + + /** + * Store an inbound group session. + * + * @param session the inbound group session and its context. + */ + void storeInboundGroupSession(MXOlmInboundGroupSession2 session); + + /** + * Retrieve an inbound group session. + * + * @param sessionId the session identifier. + * @param senderKey the base64-encoded curve25519 key of the sender. + * @return an inbound group session. + */ + MXOlmInboundGroupSession2 getInboundGroupSession(String sessionId, String senderKey); + + /** + * Retrieve the known inbound group sessions. + * + * @return an inbound group session. + */ + List getInboundGroupSessions(); + + /** + * Remove an inbound group session + * + * @param sessionId the session identifier. + * @param senderKey the base64-encoded curve25519 key of the sender. + */ + void removeInboundGroupSession(String sessionId, String senderKey); + + /** + * Set the global override for whether the client should ever send encrypted + * messages to unverified devices. + * If false, it can still be overridden per-room. + * If true, it overrides the per-room settings. + * + * @param block true to unilaterally blacklist all + */ + void setGlobalBlacklistUnverifiedDevices(boolean block); + + /** + * @return true to unilaterally blacklist all unverified devices. + */ + boolean getGlobalBlacklistUnverifiedDevices(); + + /** + * Updates the rooms ids list in which the messages are not encrypted for the unverified devices. + * + * @param roomIds the room ids list + */ + void setRoomsListBlacklistUnverifiedDevices(List roomIds); + + /** + * Provides the rooms ids list in which the messages are not encrypted for the unverified devices. + * + * @return the room Ids list + */ + List getRoomsListBlacklistUnverifiedDevices(); + + /** + * @return the devices statuses map + */ + Map getDeviceTrackingStatuses(); + + /** + * Save the device statuses + * + * @param deviceTrackingStatuses the device tracking statuses + */ + void saveDeviceTrackingStatuses(Map deviceTrackingStatuses); + + /** + * Get the tracking status of a specified userId devices. + * + * @param userId the user id + * @param defaultValue the default avlue + * @return the tracking status + */ + int getDeviceTrackingStatus(String userId, int defaultValue); + + /** + * Look for an existing outgoing room key request, and if none is found, + * + * @param requestBody the request body + * @return an OutgoingRoomKeyRequest instance or null + */ + OutgoingRoomKeyRequest getOutgoingRoomKeyRequest(Map requestBody); + + /** + * Look for an existing outgoing room key request, and if none is found, + * + add a new one. + * + * @param request the request + * @return either the same instance as passed in, or the existing one. + */ + OutgoingRoomKeyRequest getOrAddOutgoingRoomKeyRequest(OutgoingRoomKeyRequest request); + + /** + * Look for room key requests by state. + * + * @param states the states + * @return an OutgoingRoomKeyRequest or null + */ + OutgoingRoomKeyRequest getOutgoingRoomKeyRequestByState(Set states); + + /** + * Update an existing outgoing request. + * + * @param request the request + */ + void updateOutgoingRoomKeyRequest(OutgoingRoomKeyRequest request); + + /** + * Delete an outgoing room key request. + * + * @param transactionId the transaction id. + */ + void deleteOutgoingRoomKeyRequest(String transactionId); + + /** + * Store an incomingRoomKeyRequest instance + * + * @param incomingRoomKeyRequest the incoming key request + */ + void storeIncomingRoomKeyRequest(IncomingRoomKeyRequest incomingRoomKeyRequest); + + /** + * Delete an incomingRoomKeyRequest instance + * + * @param incomingRoomKeyRequest the incoming key request + */ + void deleteIncomingRoomKeyRequest(IncomingRoomKeyRequest incomingRoomKeyRequest); + + /** + * Search an IncomingRoomKeyRequest + * + * @param userId the user id + * @param deviceId the device id + * @param requestId the request id + * @return an IncomingRoomKeyRequest if it exists, else null + */ + IncomingRoomKeyRequest getIncomingRoomKeyRequest(String userId, String deviceId, String requestId); + + /** + * @return the pending IncomingRoomKeyRequest requests + */ + List getPendingIncomingRoomKeyRequests(); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/cryptostore/MXFileCryptoStore.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/cryptostore/MXFileCryptoStore.java new file mode 100644 index 00000000..7b66e5bf --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/cryptostore/MXFileCryptoStore.java @@ -0,0 +1,1748 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data.cryptostore; + +import android.content.Context; +import android.os.Looper; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.crypto.IncomingRoomKeyRequest; +import im.vector.matrix.android.internal.legacy.crypto.OutgoingRoomKeyRequest; +import im.vector.matrix.android.internal.legacy.crypto.data.MXDeviceInfo; +import im.vector.matrix.android.internal.legacy.crypto.data.MXOlmInboundGroupSession; +import im.vector.matrix.android.internal.legacy.crypto.data.MXOlmInboundGroupSession2; +import im.vector.matrix.android.internal.legacy.crypto.data.MXUsersDevicesMap; +import im.vector.matrix.android.internal.legacy.rest.model.login.Credentials; +import im.vector.matrix.android.internal.legacy.util.CompatUtil; +import im.vector.matrix.android.internal.legacy.util.ContentUtils; +import im.vector.matrix.android.internal.legacy.util.Log; +import org.matrix.olm.OlmAccount; +import org.matrix.olm.OlmSession; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.zip.GZIPInputStream; +import java.util.zip.GZIPOutputStream; + +/** + * the crypto data store + */ +public class MXFileCryptoStore implements IMXCryptoStore { + private static final String LOG_TAG = MXFileCryptoStore.class.getSimpleName(); + + private static final int MXFILE_CRYPTO_VERSION = 1; + + private static final String MXFILE_CRYPTO_STORE_FOLDER = "MXFileCryptoStore"; + + private static final String MXFILE_CRYPTO_STORE_METADATA_FILE = "MXFileCryptoStore"; + private static final String MXFILE_CRYPTO_STORE_METADATA_FILE_TMP = "MXFileCryptoStore.tmp"; + + private static final String MXFILE_CRYPTO_STORE_ACCOUNT_FILE = "account"; + private static final String MXFILE_CRYPTO_STORE_ACCOUNT_FILE_TMP = "account.tmp"; + + private static final String MXFILE_CRYPTO_STORE_DEVICES_FOLDER = "devicesFolder"; + private static final String MXFILE_CRYPTO_STORE_DEVICES_FILE = "devices"; + private static final String MXFILE_CRYPTO_STORE_DEVICES_FILE_TMP = "devices.tmp"; + + private static final String MXFILE_CRYPTO_STORE_TRACKING_STATUSES_FILE = "trackingStatuses"; + private static final String MXFILE_CRYPTO_STORE_TRACKING_STATUSES_FILE_TMP = "trackingStatuses.tmp"; + + private static final String MXFILE_CRYPTO_STORE_ALGORITHMS_FILE = "roomsAlgorithms"; + private static final String MXFILE_CRYPTO_STORE_ALGORITHMS_FILE_TMP = "roomsAlgorithms.tmp"; + + private static final String MXFILE_CRYPTO_STORE_OLM_SESSIONS_FILE = "sessions"; + private static final String MXFILE_CRYPTO_STORE_OLM_SESSIONS_FILE_TMP = "sessions.tmp"; + private static final String MXFILE_CRYPTO_STORE_OLM_SESSIONS_FOLDER = "olmSessionsFolder"; + + private static final String MXFILE_CRYPTO_STORE_INBOUND_GROUP_SESSIONS_FILE = "inboundGroupSessions"; + private static final String MXFILE_CRYPTO_STORE_INBOUND_GROUP_SESSIONS_FILE_TMP = "inboundGroupSessions.tmp"; + private static final String MXFILE_CRYPTO_STORE_INBOUND_GROUP_SESSIONS_FOLDER = "inboundGroupSessionsFolder"; + + private static final String MXFILE_CRYPTO_STORE_OUTGOING_ROOM_KEY_REQUEST_FILE = "outgoingRoomKeyRequests"; + private static final String MXFILE_CRYPTO_STORE_OUTGOING_ROOM_KEY_REQUEST_FILE_TMP = "outgoingRoomKeyRequests.tmp"; + + private static final String MXFILE_CRYPTO_STORE_INCOMING_ROOM_KEY_REQUESTS_FILE = "incomingRoomKeyRequests"; + private static final String MXFILE_CRYPTO_STORE_INCOMING_ROOM_KEY_REQUESTS_FILE_TMP = "incomingRoomKeyRequests.tmp"; + + // The credentials used for this store + private Credentials mCredentials; + + // Meta data about the store + private MXFileCryptoStoreMetaData2 mMetaData; + + // The olm account + private OlmAccount mOlmAccount; + + // All users devices keys + private MXUsersDevicesMap mUsersDevicesInfoMap; + private final Object mUsersDevicesInfoMapLock = new Object(); + + // The algorithms used in rooms + private Map mRoomsAlgorithms; + + // the tracking statuses + private Map mTrackingStatuses; + + // The olm sessions ( -> ( -> ) + private Map> mOlmSessions; + private static final Object mOlmSessionsLock = new Object(); + + // The inbound group megolm sessions ( -> ( -> ) + private Map> mInboundGroupSessions; + private final Object mInboundGroupSessionsLock = new Object(); + + private final Map, OutgoingRoomKeyRequest> mOutgoingRoomKeyRequests = new HashMap<>(); + + // userId -> deviceId -> [keyRequest] + private Map>> mPendingIncomingRoomKeyRequests; + + // The path of the MXFileCryptoStore folder + private File mStoreFile; + + private File mMetaDataFile; + private File mMetaDataFileTmp; + + private File mAccountFile; + private File mAccountFileTmp; + + private File mDevicesFolder; + private File mDevicesFile; + private File mDevicesFileTmp; + + private File mAlgorithmsFile; + private File mAlgorithmsFileTmp; + + private File mTrackingStatusesFile; + private File mTrackingStatusesFileTmp; + + private File mOlmSessionsFile; + private File mOlmSessionsFileTmp; + private File mOlmSessionsFolder; + + private File mInboundGroupSessionsFile; + private File mInboundGroupSessionsFileTmp; + private File mInboundGroupSessionsFolder; + + private File mOutgoingRoomKeyRequestsFile; + private File mOutgoingRoomKeyRequestsFileTmp; + + private File mIncomingRoomKeyRequestsFile; + private File mIncomingRoomKeyRequestsFileTmp; + + // tell if the store is corrupted + private boolean mIsCorrupted = false; + + // tell if the store is ready + private boolean mIsReady = false; + + private Context mContext; + + // True if file encryption is enabled + private final boolean mEnableFileEncryption; + + /** + * Constructor + * + * @param enableFileEncryption set to true to enable file encryption. + */ + public MXFileCryptoStore(boolean enableFileEncryption) { + mEnableFileEncryption = enableFileEncryption; + } + + @Override + public void initWithCredentials(Context context, Credentials credentials) { + mCredentials = credentials; + + mStoreFile = new File(new File(context.getApplicationContext().getFilesDir(), MXFILE_CRYPTO_STORE_FOLDER), mCredentials.userId); + + mMetaDataFile = new File(mStoreFile, MXFILE_CRYPTO_STORE_METADATA_FILE); + mMetaDataFileTmp = new File(mStoreFile, MXFILE_CRYPTO_STORE_METADATA_FILE_TMP); + + mAccountFile = new File(mStoreFile, MXFILE_CRYPTO_STORE_ACCOUNT_FILE); + mAccountFileTmp = new File(mStoreFile, MXFILE_CRYPTO_STORE_ACCOUNT_FILE_TMP); + + mDevicesFolder = new File(mStoreFile, MXFILE_CRYPTO_STORE_DEVICES_FOLDER); + mDevicesFile = new File(mStoreFile, MXFILE_CRYPTO_STORE_DEVICES_FILE); + mDevicesFileTmp = new File(mStoreFile, MXFILE_CRYPTO_STORE_DEVICES_FILE_TMP); + + mAlgorithmsFile = new File(mStoreFile, MXFILE_CRYPTO_STORE_ALGORITHMS_FILE); + mAlgorithmsFileTmp = new File(mStoreFile, MXFILE_CRYPTO_STORE_ALGORITHMS_FILE_TMP); + + mTrackingStatusesFile = new File(mStoreFile, MXFILE_CRYPTO_STORE_TRACKING_STATUSES_FILE); + mTrackingStatusesFileTmp = new File(mStoreFile, MXFILE_CRYPTO_STORE_TRACKING_STATUSES_FILE_TMP); + + // backward compatibility : the sessions used to be stored in an unique file + mOlmSessionsFile = new File(mStoreFile, MXFILE_CRYPTO_STORE_OLM_SESSIONS_FILE); + mOlmSessionsFileTmp = new File(mStoreFile, MXFILE_CRYPTO_STORE_OLM_SESSIONS_FILE_TMP); + // each session is now stored in a dedicated file + mOlmSessionsFolder = new File(mStoreFile, MXFILE_CRYPTO_STORE_OLM_SESSIONS_FOLDER); + + mInboundGroupSessionsFile = new File(mStoreFile, MXFILE_CRYPTO_STORE_INBOUND_GROUP_SESSIONS_FILE); + mInboundGroupSessionsFileTmp = new File(mStoreFile, MXFILE_CRYPTO_STORE_INBOUND_GROUP_SESSIONS_FILE_TMP); + mInboundGroupSessionsFolder = new File(mStoreFile, MXFILE_CRYPTO_STORE_INBOUND_GROUP_SESSIONS_FOLDER); + + mOutgoingRoomKeyRequestsFile = new File(mStoreFile, MXFILE_CRYPTO_STORE_OUTGOING_ROOM_KEY_REQUEST_FILE); + mOutgoingRoomKeyRequestsFileTmp = new File(mStoreFile, MXFILE_CRYPTO_STORE_OUTGOING_ROOM_KEY_REQUEST_FILE_TMP); + + mIncomingRoomKeyRequestsFile = new File(mStoreFile, MXFILE_CRYPTO_STORE_INCOMING_ROOM_KEY_REQUESTS_FILE); + mIncomingRoomKeyRequestsFileTmp = new File(mStoreFile, MXFILE_CRYPTO_STORE_INCOMING_ROOM_KEY_REQUESTS_FILE_TMP); + + // Build default metadata + if ((null == mMetaData) + && (null != credentials.homeServer) + && (null != credentials.userId) + && (null != credentials.accessToken)) { + mMetaData = new MXFileCryptoStoreMetaData2(mCredentials.userId, mCredentials.deviceId, MXFILE_CRYPTO_VERSION); + } + + mUsersDevicesInfoMap = new MXUsersDevicesMap<>(); + mRoomsAlgorithms = new HashMap<>(); + mTrackingStatuses = new HashMap<>(); + mOlmSessions = new HashMap<>(); + mInboundGroupSessions = new HashMap<>(); + + mContext = context; + } + + @Override + public boolean hasData() { + boolean result = mStoreFile.exists(); + + if (result) { + // User ids match. Check device ids + loadMetaData(); + + if (null != mMetaData) { + result = TextUtils.isEmpty(mMetaData.mDeviceId) + || TextUtils.equals(mCredentials.deviceId, mMetaData.mDeviceId); + } + } + + return result; + } + + + @Override + public boolean isCorrupted() { + return mIsCorrupted; + } + + @Override + public void deleteStore() { + // delete the dedicated directories + try { + ContentUtils.deleteDirectory(mStoreFile); + } catch (Exception e) { + Log.e(LOG_TAG, "deleteStore failed " + e.getMessage(), e); + } + } + + @Override + public void open() { + if (mIsReady) { + Log.e(LOG_TAG, "## open() : the store is already opened"); + } else { + mMetaData = null; + + loadMetaData(); + + // Check if + if (null == mMetaData) { + resetData(); + } + // Check store version + else if (MXFILE_CRYPTO_VERSION != mMetaData.mVersion) { + Log.e(LOG_TAG, "## open() : New MXFileCryptoStore version detected"); + resetData(); + } + // Check credentials + // The device id may not have been provided in credentials. + // Check it only if provided, else trust the stored one. + else if (!TextUtils.equals(mMetaData.mUserId, mCredentials.userId) + || ((null != mCredentials.deviceId) && !TextUtils.equals(mCredentials.deviceId, mMetaData.mDeviceId))) { + Log.e(LOG_TAG, "## open() : Credentials do not match"); + resetData(); + } + + // If metaData is still defined, we can load rooms data + if (null != mMetaData) { + preloadCryptoData(); + } + + // Else, if credentials is valid, create and store it + if ((null == mMetaData) + && (null != mCredentials.homeServer) + && (null != mCredentials.userId) + && (null != mCredentials.accessToken)) { + mMetaData = new MXFileCryptoStoreMetaData2(mCredentials.userId, mCredentials.deviceId, MXFILE_CRYPTO_VERSION); + mIsReady = true; + // flush the metadata + saveMetaData(); + } else { + mIsReady = true; + } + } + } + + @Override + public void storeDeviceId(String deviceId) { + if (!mIsReady) { + Log.e(LOG_TAG, "## storeDeviceId() : the store is not ready"); + return; + } + + mMetaData.mDeviceId = deviceId; + saveMetaData(); + } + + @Override + public String getDeviceId() { + if (!mIsReady) { + Log.e(LOG_TAG, "## getDeviceId() : the store is not ready"); + return null; + } + + return mMetaData.mDeviceId; + } + + /** + * Store a serializable object into a dedicated file. + * + * @param object the object to write. + * @param folder the folder + * @param filename the filename + * @param description the object description + * @return true if the operation succeeds + */ + private boolean storeObject(Object object, File folder, String filename, String description) { + if (!mIsReady) { + Log.e(LOG_TAG, "## storeObject() : the store is not ready"); + return false; + } + + // sanity checks + if ((null == object) || (null == folder) || (null == filename)) { + Log.e(LOG_TAG, "## storeObject() : invalid parameters"); + return false; + } + + // ensure that the folder exists + // it should always exist but it happened + if (!folder.exists()) { + if (!folder.mkdirs()) { + Log.e(LOG_TAG, "Cannot create the folder " + folder); + } + } + + return storeObject(object, new File(folder, filename), description); + } + + /** + * Store a serializable object into a dedicated file. + * + * @param object the object to write. + * @param file the file + * @param description the object description + * @return true if the operation succeeds + */ + private boolean storeObject(Object object, File file, String description) { + if (!mIsReady) { + Log.e(LOG_TAG, "## storeObject() : the store is not ready"); + return false; + } + + if (Thread.currentThread() == Looper.getMainLooper().getThread()) { + Log.e(LOG_TAG, "## storeObject() : should not be called in the UI thread " + description); + } + + boolean succeed = false; + + synchronized (LOG_TAG) { + try { + long t0 = System.currentTimeMillis(); + + if (file.exists()) { + file.delete(); + } + + FileOutputStream fos = new FileOutputStream(file); + OutputStream cos; + if (mEnableFileEncryption) { + cos = CompatUtil.createCipherOutputStream(fos, mContext); + } else { + cos = fos; + } + GZIPOutputStream gz = CompatUtil.createGzipOutputStream(cos); + ObjectOutputStream out = new ObjectOutputStream(gz); + + out.writeObject(object); + out.flush(); + out.close(); + + succeed = true; + Log.d(LOG_TAG, "## storeObject () : " + description + " done in " + (System.currentTimeMillis() - t0) + " ms"); + + } catch (OutOfMemoryError oom) { + Log.e(LOG_TAG, "storeObject failed : " + description + " -- " + oom.getMessage(), oom); + } catch (Exception e) { + Log.e(LOG_TAG, "storeObject failed : " + description + " -- " + e.getMessage(), e); + } + } + + return succeed; + } + + /** + * Save the metadata into the crypto file store + */ + private void saveMetaData() { + if (mMetaDataFileTmp.exists()) { + mMetaDataFileTmp.delete(); + } + + if (mMetaDataFile.exists()) { + mMetaDataFile.renameTo(mMetaDataFileTmp); + } + + if (storeObject(mMetaData, mMetaDataFile, "saveMetaData")) { + if (mMetaDataFileTmp.exists()) { + mMetaDataFileTmp.delete(); + } + } else { + if (mMetaDataFileTmp.exists()) { + mMetaDataFileTmp.renameTo(mMetaDataFile); + } + } + } + + @Override + public void storeAccount(OlmAccount account) { + if (!mIsReady) { + Log.e(LOG_TAG, "## storeAccount() : the store is not ready"); + return; + } + + mOlmAccount = account; + + if (mAccountFileTmp.exists()) { + mAccountFileTmp.delete(); + } + + if (mAccountFile.exists()) { + mAccountFile.renameTo(mAccountFileTmp); + } + + if (storeObject(mOlmAccount, mAccountFile, "storeAccount")) { + if (mAccountFileTmp.exists()) { + mAccountFileTmp.delete(); + } + } else { + if (mAccountFileTmp.exists()) { + mAccountFileTmp.renameTo(mAccountFile); + } + } + } + + @Override + public OlmAccount getAccount() { + if (!mIsReady) { + Log.e(LOG_TAG, "## getAccount() : the store is not ready"); + return null; + } + + return mOlmAccount; + } + + /** + * Load the user devices from the filesystem + * if it is not yet done. + * + * @param userId the user id. + */ + private void loadUserDevices(String userId) { + if (!TextUtils.isEmpty(userId)) { + boolean alreadyDone; + + synchronized (mUsersDevicesInfoMapLock) { + alreadyDone = mUsersDevicesInfoMap.getMap().containsKey(userId); + } + + if (!alreadyDone) { + File devicesFile = new File(mDevicesFolder, userId); + + if (devicesFile.exists()) { + long t0 = System.currentTimeMillis(); + + // clear the corrupted flag + mIsCorrupted = false; + + Object devicesMapAsVoid = loadObject(devicesFile, "load devices of " + userId); + + if (null != devicesMapAsVoid) { + try { + synchronized (mUsersDevicesInfoMapLock) { + mUsersDevicesInfoMap.setObjects((Map) devicesMapAsVoid, userId); + } + } catch (Exception e) { + Log.e(LOG_TAG, "## loadUserDevices : mUsersDevicesInfoMap.setObjects failed " + e.getMessage(), e); + mIsCorrupted = true; + } + } + + // something was wrong (loadObject set this boolean) + if (mIsCorrupted) { + Log.e(LOG_TAG, "## loadUserDevices : failed to load the device of " + userId); + + // delete the corrupted file + devicesFile.delete(); + // it is not a blocking thing + mIsCorrupted = false; + } else { + Log.d(LOG_TAG, "## loadUserDevices : Load the devices of " + userId + " in " + (System.currentTimeMillis() - t0) + "ms"); + } + } + } + } + } + + @Override + public void storeUserDevice(String userId, MXDeviceInfo device) { + if (!mIsReady) { + Log.e(LOG_TAG, "## storeUserDevice() : the store is not ready"); + return; + } + + final Map devicesMap; + + loadUserDevices(userId); + + synchronized (mUsersDevicesInfoMapLock) { + mUsersDevicesInfoMap.setObject(device, userId, device.deviceId); + devicesMap = new HashMap<>(mUsersDevicesInfoMap.getMap().get(userId)); + } + + storeObject(devicesMap, mDevicesFolder, userId, "storeUserDevice " + userId + " with " + devicesMap.size() + " devices"); + } + + @Override + public MXDeviceInfo getUserDevice(String deviceId, String userId) { + if (!mIsReady) { + Log.e(LOG_TAG, "## getUserDevice() : the store is not ready"); + return null; + } + + MXDeviceInfo deviceInfo; + + loadUserDevices(userId); + + synchronized (mUsersDevicesInfoMapLock) { + deviceInfo = mUsersDevicesInfoMap.getObject(deviceId, userId); + } + + return deviceInfo; + } + + @Override + public void storeUserDevices(String userId, Map devices) { + if (!mIsReady) { + Log.e(LOG_TAG, "## storeUserDevices() : the store is not ready"); + return; + } + + synchronized (mUsersDevicesInfoMapLock) { + mUsersDevicesInfoMap.setObjects(devices, userId); + } + + storeObject(devices, mDevicesFolder, userId, "storeUserDevice " + userId); + } + + @Override + public Map getUserDevices(String userId) { + if (!mIsReady) { + Log.e(LOG_TAG, "## getUserDevices() : the store is not ready"); + return null; + } + + if (null != userId) { + Map devicesMap; + + loadUserDevices(userId); + + synchronized (mUsersDevicesInfoMapLock) { + devicesMap = mUsersDevicesInfoMap.getMap().get(userId); + } + + return devicesMap; + } else { + return null; + } + } + + @Override + public void storeRoomAlgorithm(String roomId, String algorithm) { + if (!mIsReady) { + Log.e(LOG_TAG, "## storeRoomAlgorithm() : the store is not ready"); + return; + } + + if ((null != roomId) && (null != algorithm)) { + mRoomsAlgorithms.put(roomId, algorithm); + + // delete the previous tmp + if (mAlgorithmsFileTmp.exists()) { + mAlgorithmsFileTmp.delete(); + } + + // copy the existing file + if (mAlgorithmsFile.exists()) { + mAlgorithmsFile.renameTo(mAlgorithmsFileTmp); + } + + if (storeObject(mRoomsAlgorithms, mAlgorithmsFile, "storeAlgorithmForRoom - in background")) { + // remove the tmp file + if (mAlgorithmsFileTmp.exists()) { + mAlgorithmsFileTmp.delete(); + } + } else { + if (mAlgorithmsFileTmp.exists()) { + mAlgorithmsFileTmp.renameTo(mAlgorithmsFile); + } + } + } + } + + @Override + public String getRoomAlgorithm(String roomId) { + if (!mIsReady) { + Log.e(LOG_TAG, "## getRoomAlgorithm() : the store is not ready"); + return null; + } + + if (null != roomId) { + return mRoomsAlgorithms.get(roomId); + } + + return null; + } + + @Override + public int getDeviceTrackingStatus(String userId, int defaultValue) { + if (!mIsReady) { + Log.e(LOG_TAG, "## getDeviceTrackingStatus() : the store is not ready"); + return defaultValue; + } + + if ((null != userId) && mTrackingStatuses.containsKey(userId)) { + return mTrackingStatuses.get(userId); + } else { + return defaultValue; + } + } + + @Override + public Map getDeviceTrackingStatuses() { + if (!mIsReady) { + Log.e(LOG_TAG, "## getDeviceTrackingStatuses() : the store is not ready"); + return null; + } + + return new HashMap<>(mTrackingStatuses); + } + + /** + * Save the tracking statuses map + */ + private void saveDeviceTrackingStatuses() { + // delete the previous tmp + if (mTrackingStatusesFileTmp.exists()) { + mTrackingStatusesFileTmp.delete(); + } + + // copy the existing file + if (mTrackingStatusesFile.exists()) { + mTrackingStatusesFile.renameTo(mTrackingStatusesFileTmp); + } + + if (storeObject(mTrackingStatuses, mTrackingStatusesFile, "saveDeviceTrackingStatus - in background")) { + // remove the tmp file + if (mTrackingStatusesFileTmp.exists()) { + mTrackingStatusesFileTmp.delete(); + } + } else { + if (mTrackingStatusesFileTmp.exists()) { + mTrackingStatusesFileTmp.renameTo(mTrackingStatusesFile); + } + } + } + + @Override + public void saveDeviceTrackingStatuses(Map deviceTrackingStatuses) { + if (!mIsReady) { + Log.e(LOG_TAG, "## saveDeviceTrackingStatuses() : the store is not ready"); + return; + } + + mTrackingStatuses.clear(); + mTrackingStatuses.putAll(deviceTrackingStatuses); + saveDeviceTrackingStatuses(); + } + + @Override + public void storeSession(final OlmSession olmSession, final String deviceKey) { + if (!mIsReady) { + Log.e(LOG_TAG, "## storeSession() : the store is not ready"); + return; + } + + String sessionIdentifier = null; + + if (null != olmSession) { + try { + sessionIdentifier = olmSession.sessionIdentifier(); + } catch (Exception e) { + Log.e(LOG_TAG, "## storeSession : session.sessionIdentifier() failed " + e.getMessage(), e); + } + } + + if ((null != deviceKey) && (null != sessionIdentifier)) { + synchronized (mOlmSessionsLock) { + if (!mOlmSessions.containsKey(deviceKey)) { + mOlmSessions.put(deviceKey, new HashMap()); + } + + OlmSession prevOlmSession = mOlmSessions.get(deviceKey).get(sessionIdentifier); + + // test if the session is a new one + if (olmSession != prevOlmSession) { + if (null != prevOlmSession) { + prevOlmSession.releaseSession(); + } + mOlmSessions.get(deviceKey).put(sessionIdentifier, olmSession); + } + } + + final File keyFolder = new File(mOlmSessionsFolder, encodeFilename(deviceKey)); + + if (!keyFolder.exists()) { + keyFolder.mkdir(); + } + + storeObject(olmSession, keyFolder, encodeFilename(sessionIdentifier), "Store olm session " + deviceKey + " " + sessionIdentifier); + } + } + + @Override + public Map getDeviceSessions(String deviceKey) { + if (!mIsReady) { + Log.e(LOG_TAG, "## storeSession() : the store is not ready"); + return null; + } + + if (null != deviceKey) { + Map map; + + synchronized (mOlmSessionsLock) { + map = mOlmSessions.get(deviceKey); + } + + return map; + } + + return null; + } + + @Override + public void removeInboundGroupSession(String sessionId, String senderKey) { + if (!mIsReady) { + Log.e(LOG_TAG, "## removeInboundGroupSession() : the store is not ready"); + return; + } + + if ((null != sessionId) && (null != senderKey)) { + synchronized (mInboundGroupSessionsLock) { + if (mInboundGroupSessions.containsKey(senderKey)) { + MXOlmInboundGroupSession2 session = mInboundGroupSessions.get(senderKey).get(sessionId); + + if (null != session) { + mInboundGroupSessions.get(senderKey).remove(sessionId); + + File senderKeyFolder = new File(mInboundGroupSessionsFolder, encodeFilename(session.mSenderKey)); + + if (senderKeyFolder.exists()) { + File inboundSessionFile = new File(senderKeyFolder, encodeFilename(sessionId)); + + if (!inboundSessionFile.delete()) { + Log.e(LOG_TAG, "## removeInboundGroupSession() : fail to remove the sessionid " + sessionId); + } + } + + // release the memory + session.mSession.releaseSession(); + } + } + } + } + } + + @Override + public void storeInboundGroupSession(final MXOlmInboundGroupSession2 session) { + if (!mIsReady) { + Log.e(LOG_TAG, "## storeInboundGroupSession() : the store is not ready"); + return; + } + + String sessionIdentifier = null; + + if ((null != session) && (null != session.mSenderKey) && (null != session.mSession)) { + try { + sessionIdentifier = session.mSession.sessionIdentifier(); + } catch (Exception e) { + Log.e(LOG_TAG, "## storeInboundGroupSession() : sessionIdentifier failed " + e.getMessage(), e); + } + } + + if (null != sessionIdentifier) { + synchronized (mInboundGroupSessionsLock) { + if (!mInboundGroupSessions.containsKey(session.mSenderKey)) { + mInboundGroupSessions.put(session.mSenderKey, new HashMap()); + } + + MXOlmInboundGroupSession2 curSession = mInboundGroupSessions.get(session.mSenderKey).get(sessionIdentifier); + + if (curSession != session) { + // release memory + if (null != curSession) { + curSession.mSession.releaseSession(); + } + // update the map + mInboundGroupSessions.get(session.mSenderKey).put(sessionIdentifier, session); + } + } + + Log.d(LOG_TAG, "## storeInboundGroupSession() : store session " + sessionIdentifier); + + File senderKeyFolder = new File(mInboundGroupSessionsFolder, encodeFilename(session.mSenderKey)); + + if (!senderKeyFolder.exists()) { + senderKeyFolder.mkdir(); + } + + storeObject(session, senderKeyFolder, encodeFilename(sessionIdentifier), "storeInboundGroupSession - in background"); + } + } + + @Override + public MXOlmInboundGroupSession2 getInboundGroupSession(String sessionId, String senderKey) { + if (!mIsReady) { + Log.e(LOG_TAG, "## getInboundGroupSession() : the store is not ready"); + return null; + } + + if ((null != sessionId) && (null != senderKey) && mInboundGroupSessions.containsKey(senderKey)) { + MXOlmInboundGroupSession2 session = null; + + try { + synchronized (mInboundGroupSessionsLock) { + session = mInboundGroupSessions.get(senderKey).get(sessionId); + } + } catch (Exception e) { + // it should never happen + // MXOlmInboundGroupSession has been replaced by MXOlmInboundGroupSession2 + // but it seems that the application code is not properly updated (JIT issue) ? + Log.e(LOG_TAG, "## getInboundGroupSession() failed " + e.getMessage(), e); + } + + return session; + } + return null; + } + + @Override + public List getInboundGroupSessions() { + if (!mIsReady) { + Log.e(LOG_TAG, "## getInboundGroupSessions() : the store is not ready"); + return null; + } + + List inboundGroupSessions = new ArrayList<>(); + + synchronized (mInboundGroupSessionsLock) { + for (String senderKey : mInboundGroupSessions.keySet()) { + inboundGroupSessions.addAll(mInboundGroupSessions.get(senderKey).values()); + } + } + + return inboundGroupSessions; + } + + @Override + public void close() { + // release JNI objects + List olmSessions = new ArrayList<>(); + Collection> sessionValues = mOlmSessions.values(); + + for (Map value : sessionValues) { + olmSessions.addAll(value.values()); + } + + for (OlmSession olmSession : olmSessions) { + olmSession.releaseSession(); + } + mOlmSessions.clear(); + + List groupSessions = new ArrayList<>(); + Collection> groupSessionsValues = mInboundGroupSessions.values(); + + for (Map map : groupSessionsValues) { + groupSessions.addAll(map.values()); + } + + for (MXOlmInboundGroupSession2 groupSession : groupSessions) { + if (null != groupSession.mSession) { + groupSession.mSession.releaseSession(); + } + } + mInboundGroupSessions.clear(); + } + + @Override + public void setGlobalBlacklistUnverifiedDevices(boolean block) { + if (!mIsReady) { + Log.e(LOG_TAG, "## setGlobalBlacklistUnverifiedDevices() : the store is not ready"); + return; + } + + mMetaData.mGlobalBlacklistUnverifiedDevices = block; + saveMetaData(); + } + + @Override + public boolean getGlobalBlacklistUnverifiedDevices() { + if (!mIsReady) { + Log.e(LOG_TAG, "## getGlobalBlacklistUnverifiedDevices() : the store is not ready"); + return false; + } + + return mMetaData.mGlobalBlacklistUnverifiedDevices; + } + + @Override + public void setRoomsListBlacklistUnverifiedDevices(List roomIds) { + if (!mIsReady) { + Log.e(LOG_TAG, "## setRoomsListBlacklistUnverifiedDevices() : the store is not ready"); + return; + } + + mMetaData.mBlacklistUnverifiedDevicesRoomIdsList = roomIds; + saveMetaData(); + } + + @Override + public List getRoomsListBlacklistUnverifiedDevices() { + if (!mIsReady) { + Log.e(LOG_TAG, "## getRoomsListBlacklistUnverifiedDevices() : the store is not ready"); + return null; + } + + if (null == mMetaData.mBlacklistUnverifiedDevicesRoomIdsList) { + return new ArrayList<>(); + } else { + return new ArrayList<>(mMetaData.mBlacklistUnverifiedDevicesRoomIdsList); + } + } + + /** + * save the outgoing room key requests. + */ + private void saveOutgoingRoomKeyRequests() { + if (mOutgoingRoomKeyRequestsFileTmp.exists()) { + mOutgoingRoomKeyRequestsFileTmp.delete(); + } + + if (mOutgoingRoomKeyRequestsFile.exists()) { + mOutgoingRoomKeyRequestsFile.renameTo(mOutgoingRoomKeyRequestsFileTmp); + } + + if (storeObject(mOutgoingRoomKeyRequests, mOutgoingRoomKeyRequestsFile, "saveOutgoingRoomKeyRequests")) { + if (mOutgoingRoomKeyRequestsFileTmp.exists()) { + mOutgoingRoomKeyRequestsFileTmp.delete(); + } + } else { + if (mOutgoingRoomKeyRequestsFileTmp.exists()) { + mOutgoingRoomKeyRequestsFileTmp.renameTo(mOutgoingRoomKeyRequestsFile); + } + } + } + + @Override + public OutgoingRoomKeyRequest getOutgoingRoomKeyRequest(Map requestBody) { + if (null != requestBody) { + return mOutgoingRoomKeyRequests.get(requestBody); + } + + return null; + } + + @Override + public OutgoingRoomKeyRequest getOrAddOutgoingRoomKeyRequest(OutgoingRoomKeyRequest request) { + // sanity check + if ((null == request) || (null == request.mRequestBody)) { + return null; + } + + // already known + if (mOutgoingRoomKeyRequests.containsKey(request.mRequestBody)) { + Log.d(LOG_TAG, "## getOrAddOutgoingRoomKeyRequest() : `already have key request outstanding for " + request.getRoomId() + " / " + + request.getSessionId() + " not sending another"); + return mOutgoingRoomKeyRequests.get(request.mRequestBody); + } else { + mOutgoingRoomKeyRequests.put(request.mRequestBody, request); + saveOutgoingRoomKeyRequests(); + return request; + } + } + + /** + * Retrieve a OutgoingRoomKeyRequest from a transaction id. + * + * @param txId the transaction id. + * @return the matched OutgoingRoomKeyRequest or null + */ + private OutgoingRoomKeyRequest getOutgoingRoomKeyRequestByTxId(String txId) { + if (null != txId) { + Collection requests = mOutgoingRoomKeyRequests.values(); + + for (OutgoingRoomKeyRequest request : requests) { + if (TextUtils.equals(request.mRequestId, txId)) { + return request; + } + } + } + + return null; + } + + /** + * Look for room key requests by state. + * + * @param states the states + * @return an OutgoingRoomKeyRequest or null + */ + @Override + public OutgoingRoomKeyRequest getOutgoingRoomKeyRequestByState(Set states) { + Collection requests = mOutgoingRoomKeyRequests.values(); + + for (OutgoingRoomKeyRequest request : requests) { + if (states.contains(request.mState)) { + return request; + } + } + + return null; + } + + @Override + public void updateOutgoingRoomKeyRequest(OutgoingRoomKeyRequest req) { + if (null != req) { + saveOutgoingRoomKeyRequests(); + } + } + + @Override + public void deleteOutgoingRoomKeyRequest(String transactionId) { + OutgoingRoomKeyRequest request = getOutgoingRoomKeyRequestByTxId(transactionId); + + if (null != request) { + mOutgoingRoomKeyRequests.remove(request.mRequestBody); + saveOutgoingRoomKeyRequests(); + } + } + + /** + * Reset the crypto store data + */ + private void resetData() { + close(); + + // ensure there is background writings while deleting the store + synchronized (LOG_TAG) { + deleteStore(); + } + + if (!mStoreFile.exists()) { + mStoreFile.mkdirs(); + } + + if (!mDevicesFolder.exists()) { + mDevicesFolder.mkdirs(); + } + + if (!mOlmSessionsFolder.exists()) { + mOlmSessionsFolder.mkdir(); + } + + if (!mInboundGroupSessionsFolder.exists()) { + mInboundGroupSessionsFolder.mkdirs(); + } + + mMetaData = null; + } + + /** + * Load a file from the crypto store + * + * @param file the file to read + * @param description the operation description + * @return the read object, null if it fails + */ + private Object loadObject(File file, String description) { + Object object = null; + + + if (file.exists()) { + try { + // the files are now zipped to reduce saving time + FileInputStream fis = new FileInputStream(file); + InputStream cis; + if (mEnableFileEncryption) { + cis = CompatUtil.createCipherInputStream(fis, mContext); + + if (cis == null) { + // fallback to unencrypted stream for backward compatibility + Log.i(LOG_TAG, "## loadObject() : failed to read encrypted, fallback to unencrypted read"); + fis.close(); + cis = new FileInputStream(file); + } + } else { + cis = fis; + } + + GZIPInputStream gz = new GZIPInputStream(cis); + ObjectInputStream ois = new ObjectInputStream(gz); + + object = ois.readObject(); + ois.close(); + } catch (Exception e) { + Log.e(LOG_TAG, description + "failed : " + e.getMessage() + " step 1", e); + + // if the zip deflating fails, try to use the former file saving method + try { + FileInputStream fis2 = new FileInputStream(file); + ObjectInputStream out = new ObjectInputStream(fis2); + + object = out.readObject(); + out.close(); + } catch (Exception subEx) { + // warn that some file loading fails + mIsCorrupted = true; + Log.e(LOG_TAG, description + "failed : " + subEx.getMessage() + " step 2", subEx); + } + } + } + return object; + } + + + /** + * Load the metadata from the store + */ + private void loadMetaData() { + Object metadataAsVoid; + + if (mMetaDataFileTmp.exists()) { + metadataAsVoid = loadObject(mMetaDataFileTmp, "loadMetadata"); + } else { + metadataAsVoid = loadObject(mMetaDataFile, "loadMetadata"); + } + + if (null != metadataAsVoid) { + try { + if (metadataAsVoid instanceof MXFileCryptoStoreMetaData2) { + mMetaData = (MXFileCryptoStoreMetaData2) metadataAsVoid; + } else { + mMetaData = new MXFileCryptoStoreMetaData2((MXFileCryptoStoreMetaData) metadataAsVoid); + } + } catch (Exception e) { + mIsCorrupted = true; + Log.e(LOG_TAG, "## loadMetadata() : metadata has been corrupted " + e.getMessage(), e); + } + } + } + + /** + * Preload the crypto data + */ + private void preloadCryptoData() { + Log.d(LOG_TAG, "## preloadCryptoData() starts"); + + long t0 = System.currentTimeMillis(); + Object olmAccountAsVoid; + + if (mAccountFileTmp.exists()) { + olmAccountAsVoid = loadObject(mAccountFileTmp, "preloadCryptoData - mAccountFile - tmp"); + } else { + olmAccountAsVoid = loadObject(mAccountFile, "preloadCryptoData - mAccountFile"); + } + + if (null != olmAccountAsVoid) { + try { + mOlmAccount = (OlmAccount) olmAccountAsVoid; + } catch (Exception e) { + mIsCorrupted = true; + Log.e(LOG_TAG, "## preloadCryptoData() - invalid mAccountFile " + e.getMessage(), e); + } + } + + Log.d(LOG_TAG, "## preloadCryptoData() : load mOlmAccount in " + (System.currentTimeMillis() - t0) + " ms"); + + // previous store format + if (!mDevicesFolder.exists()) { + Object usersDevicesInfoMapAsVoid; + + // if the tmp exists, it means that the latest file backup has been killed / stopped + if (mDevicesFileTmp.exists()) { + usersDevicesInfoMapAsVoid = loadObject(mDevicesFileTmp, "preloadCryptoData - mUsersDevicesInfoMap - tmp"); + } else { + usersDevicesInfoMapAsVoid = loadObject(mDevicesFile, "preloadCryptoData - mUsersDevicesInfoMap"); + } + + if (null != usersDevicesInfoMapAsVoid) { + try { + MXUsersDevicesMap objectAsMap = (MXUsersDevicesMap) usersDevicesInfoMapAsVoid; + mUsersDevicesInfoMap = new MXUsersDevicesMap<>(objectAsMap.getMap()); + } catch (Exception e) { + mIsCorrupted = true; + Log.e(LOG_TAG, "## preloadCryptoData() - invalid mUsersDevicesInfoMap " + e.getMessage(), e); + } + } else { + mIsCorrupted = false; + } + + mDevicesFolder.mkdirs(); + + if (null != mUsersDevicesInfoMap) { + Map> map = mUsersDevicesInfoMap.getMap(); + + Set userIds = map.keySet(); + + for (String userId : userIds) { + storeObject(map.get(userId), mDevicesFolder, userId, "convert devices map of " + userId); + } + + mDevicesFileTmp.delete(); + mDevicesFile.delete(); + } + } else { + // the user devices are loaded on demand + mUsersDevicesInfoMap = new MXUsersDevicesMap<>(); + } + + long t2 = System.currentTimeMillis(); + int algoSize = 0; + + Object algorithmsAsVoid; + + if (mAlgorithmsFileTmp.exists()) { + algorithmsAsVoid = loadObject(mAlgorithmsFileTmp, "preloadCryptoData - mRoomsAlgorithms - tmp"); + } else { + algorithmsAsVoid = loadObject(mAlgorithmsFile, "preloadCryptoData - mRoomsAlgorithms"); + } + + if (null != algorithmsAsVoid) { + try { + Map algorithmsMap = (Map) algorithmsAsVoid; + mRoomsAlgorithms = new HashMap<>(algorithmsMap); + algoSize = mRoomsAlgorithms.size(); + } catch (Exception e) { + mIsCorrupted = true; + Log.e(LOG_TAG, "## preloadCryptoData() - invalid mAlgorithmsFile " + e.getMessage(), e); + } + } + Log.d(LOG_TAG, "## preloadCryptoData() : load mRoomsAlgorithms (" + algoSize + " algos) in " + (System.currentTimeMillis() - t2) + " ms"); + + Object trackingStatusesAsVoid; + + if (mTrackingStatusesFileTmp.exists()) { + trackingStatusesAsVoid = loadObject(mTrackingStatusesFileTmp, "preloadCryptoData - mTrackingStatuses - tmp"); + } else { + trackingStatusesAsVoid = loadObject(mTrackingStatusesFile, "preloadCryptoData - mTrackingStatuses"); + } + + if (null != trackingStatusesAsVoid) { + try { + mTrackingStatuses = new HashMap<>((Map) trackingStatusesAsVoid); + } catch (Exception e) { + Log.e(LOG_TAG, "## preloadCryptoData() - invalid mTrackingStatuses " + e.getMessage(), e); + } + } + + File outgoingRequestFile; + if (mOutgoingRoomKeyRequestsFileTmp.exists()) { + outgoingRequestFile = mOutgoingRoomKeyRequestsFileTmp; + } else { + outgoingRequestFile = mOutgoingRoomKeyRequestsFile; + } + + if (outgoingRequestFile.exists()) { + Object requestsAsVoid = loadObject(outgoingRequestFile, "get outgoing key request"); + try { + if (null != requestsAsVoid) { + mOutgoingRoomKeyRequests.putAll((Map, OutgoingRoomKeyRequest>) requestsAsVoid); + } + } catch (Exception e) { + Log.e(LOG_TAG, "## preloadCryptoData() : mOutgoingRoomKeyRequests init failed " + e.getMessage(), e); + } + } + + if (mOlmSessionsFolder.exists()) { + long t3 = System.currentTimeMillis(); + + mOlmSessions = new HashMap<>(); + + String[] olmSessionFiles = mOlmSessionsFolder.list(); + + if (null != olmSessionFiles) { + // build mOlmSessions for the file system + for (int i = 0; i < olmSessionFiles.length; i++) { + String deviceKey = olmSessionFiles[i]; + + Map olmSessionSubMap = new HashMap<>(); + + File sessionsDeviceFolder = new File(mOlmSessionsFolder, deviceKey); + String[] sessionIds = sessionsDeviceFolder.list(); + + if (null != sessionIds) { + for (int j = 0; j < sessionIds.length; j++) { + String sessionId = sessionIds[j]; + OlmSession olmSession = (OlmSession) loadObject(new File(sessionsDeviceFolder, sessionId), "load the olmSession " + + deviceKey + " " + sessionId); + + if (null != olmSession) { + olmSessionSubMap.put(decodeFilename(sessionId), olmSession); + } + } + } + mOlmSessions.put(decodeFilename(deviceKey), olmSessionSubMap); + } + + Log.d(LOG_TAG, "## preloadCryptoData() : load " + olmSessionFiles.length + " olmsessions in " + (System.currentTimeMillis() - t3) + " ms"); + } + } else { + Object olmSessionsAsVoid; + + if (mOlmSessionsFileTmp.exists()) { + olmSessionsAsVoid = loadObject(mOlmSessionsFileTmp, "preloadCryptoData - mOlmSessions - tmp"); + } else { + olmSessionsAsVoid = loadObject(mOlmSessionsFile, "preloadCryptoData - mOlmSessions"); + } + + if (null != olmSessionsAsVoid) { + try { + Map> olmSessionMap = (Map>) olmSessionsAsVoid; + + mOlmSessions = new HashMap<>(); + + for (String key : olmSessionMap.keySet()) { + mOlmSessions.put(key, new HashMap<>(olmSessionMap.get(key))); + } + + // convert to the new format + if (!mOlmSessionsFolder.mkdir()) { + Log.e(LOG_TAG, "Cannot create the folder " + mOlmSessionsFolder); + } + + for (String key : olmSessionMap.keySet()) { + Map submap = olmSessionMap.get(key); + + File submapFolder = new File(mOlmSessionsFolder, encodeFilename(key)); + + if (!submapFolder.mkdir()) { + Log.e(LOG_TAG, "Cannot create the folder " + submapFolder); + } + + for (String sessionId : submap.keySet()) { + storeObject(submap.get(sessionId), submapFolder, encodeFilename(sessionId), "Convert olmSession " + key + " " + sessionId); + } + } + } catch (Exception e) { + mIsCorrupted = true; + Log.e(LOG_TAG, "## preloadCryptoData() - invalid mSessionsFile " + e.getMessage(), e); + } + + mOlmSessionsFileTmp.delete(); + mOlmSessionsFile.delete(); + } + } + + if (mInboundGroupSessionsFolder.exists()) { + long t4 = System.currentTimeMillis(); + mInboundGroupSessions = new HashMap<>(); + + int count = 0; + + String[] keysFolder = mInboundGroupSessionsFolder.list(); + + if (null != keysFolder) { + for (int i = 0; i < keysFolder.length; i++) { + File keyFolder = new File(mInboundGroupSessionsFolder, keysFolder[i]); + + Map submap = new HashMap<>(); + + String[] sessionIds = keyFolder.list(); + + if (null != sessionIds) { + for (int j = 0; j < sessionIds.length; j++) { + File inboundSessionFile = new File(keyFolder, sessionIds[j]); + try { + Object inboundSessionAsVoid = loadObject(inboundSessionFile, "load inboundsession " + sessionIds[j] + " "); + MXOlmInboundGroupSession2 inboundSession; + + if ((null != inboundSessionAsVoid) && (inboundSessionAsVoid instanceof MXOlmInboundGroupSession)) { + inboundSession = new MXOlmInboundGroupSession2((MXOlmInboundGroupSession) inboundSessionAsVoid); + } else { + inboundSession = (MXOlmInboundGroupSession2) inboundSessionAsVoid; + } + + if (null != inboundSession) { + submap.put(decodeFilename(sessionIds[j]), inboundSession); + } else { + Log.e(LOG_TAG, "## preloadCryptoData() : delete " + inboundSessionFile); + inboundSessionFile.delete(); + mIsCorrupted = false; + } + count++; + } catch (Exception e) { + Log.e(LOG_TAG, "## preloadCryptoData() - invalid mInboundGroupSessions " + e.getMessage(), e); + } + } + } + + mInboundGroupSessions.put(decodeFilename(keysFolder[i]), submap); + } + } + + Log.d(LOG_TAG, "## preloadCryptoData() : load " + count + " inboundGroupSessions in " + (System.currentTimeMillis() - t4) + " ms"); + } else { + Object inboundGroupSessionsAsVoid; + + if (mInboundGroupSessionsFileTmp.exists()) { + inboundGroupSessionsAsVoid = loadObject(mInboundGroupSessionsFileTmp, "preloadCryptoData - mInboundGroupSessions - tmp"); + } else { + inboundGroupSessionsAsVoid = loadObject(mInboundGroupSessionsFile, "preloadCryptoData - mInboundGroupSessions"); + } + + if (null != inboundGroupSessionsAsVoid) { + try { + Map> inboundGroupSessionsMap + = (Map>) inboundGroupSessionsAsVoid; + + mInboundGroupSessions = new HashMap<>(); + + for (String key : inboundGroupSessionsMap.keySet()) { + mInboundGroupSessions.put(key, new HashMap<>(inboundGroupSessionsMap.get(key))); + } + } catch (Exception e) { + mIsCorrupted = true; + Log.e(LOG_TAG, "## preloadCryptoData() - invalid mInboundGroupSessions " + e.getMessage(), e); + } + + if (!mInboundGroupSessionsFolder.mkdirs()) { + Log.e(LOG_TAG, "Cannot create the folder " + mInboundGroupSessionsFolder); + } + + // convert to the new format + for (String key : mInboundGroupSessions.keySet()) { + File keyFolder = new File(mInboundGroupSessionsFolder, encodeFilename(key)); + + if (!keyFolder.mkdirs()) { + Log.e(LOG_TAG, "Cannot create the folder " + keyFolder); + } + + Map inboundMaps = mInboundGroupSessions.get(key); + + for (String sessionId : inboundMaps.keySet()) { + storeObject(inboundMaps.get(sessionId), keyFolder, encodeFilename(sessionId), "Convert inboundsession"); + } + } + } + + mInboundGroupSessionsFileTmp.delete(); + mInboundGroupSessionsFile.delete(); + } + + if ((null == mOlmAccount) && (mUsersDevicesInfoMap.getMap().size() > 0)) { + mIsCorrupted = true; + Log.e(LOG_TAG, "## preloadCryptoData() - there is no account but some devices are defined"); + } + } + + final private static char[] hexArray = "0123456789ABCDEF".toCharArray(); + + /** + * Encode the provided filename + * + * @param filename the filename to encode + * @return the encoded filename + */ + private static String encodeFilename(String filename) { + if (null == filename) { + return null; + } + + try { + byte[] bytes = filename.getBytes("UTF-8"); + char[] hexChars = new char[bytes.length * 2]; + + for (int j = 0; j < bytes.length; j++) { + int v = bytes[j] & 0xFF; + hexChars[j * 2] = hexArray[v >>> 4]; + hexChars[j * 2 + 1] = hexArray[v & 0x0F]; + } + return new String(hexChars); + } catch (Exception e) { + Log.e(LOG_TAG, "## encodeFilename() - failed " + e.getMessage(), e); + } + + return filename; + } + + /** + * Decode an encoded filename. + * + * @param encodedFilename the encoded filename + * @return the decodec filename + */ + private static String decodeFilename(String encodedFilename) { + if (null == encodedFilename) { + return null; + } + + int length = encodedFilename.length(); + + byte[] bytes = new byte[length / 2]; + + for (int i = 0; i < length; i += 2) { + bytes[i / 2] = (byte) ((Character.digit(encodedFilename.charAt(i), 16) << 4) + + Character.digit(encodedFilename.charAt(i + 1), 16)); + } + + try { + return new String(bytes, "UTF-8"); + } catch (Exception e) { + Log.e(LOG_TAG, "## decodeFilename() - failed " + e.getMessage(), e); + } + + return encodedFilename; + } + + + /** + * Tells if an IncomingRoomKeyRequest instance is valid + * + * @param incomingRoomKeyRequest the incomingRoomKeyRequest instance + * @return true if it is valid + */ + private boolean isValidIncomingRoomKeyRequest(IncomingRoomKeyRequest incomingRoomKeyRequest) { + return (null != incomingRoomKeyRequest) + && !TextUtils.isEmpty(incomingRoomKeyRequest.mUserId) + && !TextUtils.isEmpty(incomingRoomKeyRequest.mDeviceId) + && !TextUtils.isEmpty(incomingRoomKeyRequest.mRequestId); + } + + @Override + public IncomingRoomKeyRequest getIncomingRoomKeyRequest(String userId, String deviceId, String requestId) { + // sanity checks + if (TextUtils.isEmpty(userId) || TextUtils.isEmpty(deviceId) || TextUtils.isEmpty(requestId)) { + return null; + } + + if (!mPendingIncomingRoomKeyRequests.containsKey(userId)) { + return null; + } + + if (!mPendingIncomingRoomKeyRequests.get(userId).containsKey(deviceId)) { + return null; + } + + List pendingRequests = mPendingIncomingRoomKeyRequests.get(userId).get(deviceId); + + for (IncomingRoomKeyRequest request : pendingRequests) { + if (TextUtils.equals(requestId, request.mRequestId)) { + return request; + } + } + + return null; + } + + @Override + public List getPendingIncomingRoomKeyRequests() { + loadIncomingRoomKeyRequests(); + + List list = new ArrayList<>(); + + // userId -> deviceId -> [keyRequest] + Set userIds = mPendingIncomingRoomKeyRequests.keySet(); + + for (String userId : userIds) { + Set deviceIds = mPendingIncomingRoomKeyRequests.get(userId).keySet(); + for (String deviceId : deviceIds) { + list.addAll(mPendingIncomingRoomKeyRequests.get(userId).get(deviceId)); + } + } + + return list; + } + + /** + * Add an incomingRoomKeyRequest. + * + * @param incomingRoomKeyRequest the incomingRoomKeyRequest request + */ + private void addIncomingRoomKeyRequest(IncomingRoomKeyRequest incomingRoomKeyRequest) { + String userId = incomingRoomKeyRequest.mUserId; + String deviceId = incomingRoomKeyRequest.mDeviceId; + + if (!mPendingIncomingRoomKeyRequests.containsKey(userId)) { + mPendingIncomingRoomKeyRequests.put(userId, new HashMap>()); + } + + if (!mPendingIncomingRoomKeyRequests.get(userId).containsKey(deviceId)) { + mPendingIncomingRoomKeyRequests.get(userId).put(deviceId, new ArrayList()); + } + + mPendingIncomingRoomKeyRequests.get(userId).get(deviceId).add(incomingRoomKeyRequest); + } + + @Override + public void storeIncomingRoomKeyRequest(IncomingRoomKeyRequest incomingRoomKeyRequest) { + loadIncomingRoomKeyRequests(); + + // invalid or already stored + if (!isValidIncomingRoomKeyRequest(incomingRoomKeyRequest) + || (null != getIncomingRoomKeyRequest(incomingRoomKeyRequest.mUserId, incomingRoomKeyRequest.mDeviceId, incomingRoomKeyRequest.mRequestId))) { + return; + } + + addIncomingRoomKeyRequest(incomingRoomKeyRequest); + saveIncomingRoomKeyRequests(); + } + + @Override + public void deleteIncomingRoomKeyRequest(IncomingRoomKeyRequest incomingRoomKeyRequest) { + loadIncomingRoomKeyRequests(); + + if (!isValidIncomingRoomKeyRequest(incomingRoomKeyRequest)) { + return; + } + + IncomingRoomKeyRequest request = getIncomingRoomKeyRequest(incomingRoomKeyRequest.mUserId, + incomingRoomKeyRequest.mDeviceId, incomingRoomKeyRequest.mRequestId); + + if (null == request) { + return; + } + + String userId = incomingRoomKeyRequest.mUserId; + String deviceId = incomingRoomKeyRequest.mDeviceId; + + mPendingIncomingRoomKeyRequests.get(userId).get(deviceId).remove(request); + + if (mPendingIncomingRoomKeyRequests.get(userId).get(deviceId).isEmpty()) { + mPendingIncomingRoomKeyRequests.get(userId).remove(deviceId); + } + + if (mPendingIncomingRoomKeyRequests.get(userId).isEmpty()) { + mPendingIncomingRoomKeyRequests.remove(userId); + } + + saveIncomingRoomKeyRequests(); + } + + /** + * Save the incoming key requests + */ + private void saveIncomingRoomKeyRequests() { + // delete the previous tmp + if (mIncomingRoomKeyRequestsFileTmp.exists()) { + mIncomingRoomKeyRequestsFileTmp.delete(); + } + + // copy the existing file + if (mIncomingRoomKeyRequestsFile.exists()) { + mIncomingRoomKeyRequestsFile.renameTo(mIncomingRoomKeyRequestsFileTmp); + } + + if (storeObject(getPendingIncomingRoomKeyRequests(), mIncomingRoomKeyRequestsFile, "savedIncomingRoomKeyRequests - in background")) { + // remove the tmp file + if (mIncomingRoomKeyRequestsFileTmp.exists()) { + mIncomingRoomKeyRequestsFileTmp.delete(); + } + } else { + if (mIncomingRoomKeyRequestsFileTmp.exists()) { + mIncomingRoomKeyRequestsFileTmp.renameTo(mIncomingRoomKeyRequestsFile); + } + } + } + + /** + * Load the incoming key requests + */ + private void loadIncomingRoomKeyRequests() { + if (null == mPendingIncomingRoomKeyRequests) { + Object requestsAsVoid; + + if (mIncomingRoomKeyRequestsFileTmp.exists()) { + requestsAsVoid = loadObject(mIncomingRoomKeyRequestsFileTmp, "loadIncomingRoomKeyRequests - tmp"); + } else { + requestsAsVoid = loadObject(mIncomingRoomKeyRequestsFile, "loadIncomingRoomKeyRequests"); + } + + List requests = new ArrayList<>(); + + if (null != requestsAsVoid) { + try { + requests = (List) requestsAsVoid; + } catch (Exception e) { + mIncomingRoomKeyRequestsFileTmp.delete(); + mIncomingRoomKeyRequestsFile.delete(); + } + } + + mPendingIncomingRoomKeyRequests = new HashMap<>(); + + for (IncomingRoomKeyRequest request : requests) { + addIncomingRoomKeyRequest(request); + } + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/cryptostore/MXFileCryptoStoreMetaData.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/cryptostore/MXFileCryptoStoreMetaData.java new file mode 100644 index 00000000..19dbdf63 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/cryptostore/MXFileCryptoStoreMetaData.java @@ -0,0 +1,31 @@ +/* + * Copyright 2015 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.data.cryptostore; + +public class MXFileCryptoStoreMetaData implements java.io.Serializable { + // The obtained user id. + public String mUserId; + + // the device id + public String mDeviceId; + + // The current version of the store. + public int mVersion; + + // flag to tell if the device is announced + public boolean mDeviceAnnounced; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/cryptostore/MXFileCryptoStoreMetaData2.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/cryptostore/MXFileCryptoStoreMetaData2.java new file mode 100644 index 00000000..ad1dee99 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/cryptostore/MXFileCryptoStoreMetaData2.java @@ -0,0 +1,75 @@ +/* + * Copyright 2017 Vector Creations 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. + */ + +package im.vector.matrix.android.internal.legacy.data.cryptostore; + +import java.util.ArrayList; +import java.util.List; + +public class MXFileCryptoStoreMetaData2 implements java.io.Serializable { + // avoid creating another MXFileCryptoStoreMetaData3 + // set a serialVersionUID allows to update the class. + private static final long serialVersionUID = 9166554107081078408L; + + // The obtained user id. + public String mUserId; + + // the device id + public String mDeviceId; + + // The current version of the store. + public int mVersion; + + // flag to tell if the device is announced + // not anymore used + public boolean mDeviceAnnounced; + + // flag to tell if the unverified devices are blacklisted for any room. + public boolean mGlobalBlacklistUnverifiedDevices; + + // Room ids list in which the unverified devices are blacklisted + public List mBlacklistUnverifiedDevicesRoomIdsList; + + /** + * Default constructor + * + * @param userId the user id + * @param deviceId the device id + * @param version the version + */ + public MXFileCryptoStoreMetaData2(String userId, String deviceId, int version) { + mUserId = new String(userId); + mDeviceId = (null != deviceId) ? new String(deviceId) : null; + mVersion = version; + mDeviceAnnounced = false; + mGlobalBlacklistUnverifiedDevices = false; + mBlacklistUnverifiedDevicesRoomIdsList = new ArrayList<>(); + } + + /** + * Constructor with the genuine metadata format data. + * + * @param metadata the genuine metadata format data. + */ + public MXFileCryptoStoreMetaData2(MXFileCryptoStoreMetaData metadata) { + mUserId = metadata.mUserId; + mDeviceId = metadata.mDeviceId; + mVersion = metadata.mVersion; + mDeviceAnnounced = metadata.mDeviceAnnounced; + mGlobalBlacklistUnverifiedDevices = false; + mBlacklistUnverifiedDevicesRoomIdsList = new ArrayList<>(); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/metrics/MetricsListener.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/metrics/MetricsListener.java new file mode 100644 index 00000000..da483353 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/metrics/MetricsListener.java @@ -0,0 +1,52 @@ +/* + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.data.metrics; + +/** + * This interface defines methods for collecting metrics data associated with startup times and stats + * Those callbacks can be called from any threads + */ +public interface MetricsListener { + + /** + * Called when the initial sync is finished + * + * @param duration of the sync + */ + void onInitialSyncFinished(long duration); + + /** + * Called when the incremental sync is finished + * + * @param duration of the sync + */ + void onIncrementalSyncFinished(long duration); + + /** + * Called when a store is preloaded + * + * @param duration of the preload + */ + void onStorePreloaded(long duration); + + /** + * Called when a sync is complete + * + * @param nbOfRooms loaded in the @SyncResponse + */ + void onRoomsLoaded(int nbOfRooms); + +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/IMXStore.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/IMXStore.java new file mode 100644 index 00000000..428edcce --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/IMXStore.java @@ -0,0 +1,645 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data.store; + +import android.content.Context; +import android.support.annotation.Nullable; + +import im.vector.matrix.android.internal.legacy.data.timeline.EventTimeline; +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.data.RoomAccountData; +import im.vector.matrix.android.internal.legacy.data.RoomSummary; +import im.vector.matrix.android.internal.legacy.data.metrics.MetricsListener; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.ReceiptData; +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; +import im.vector.matrix.android.internal.legacy.rest.model.TokensChunkEvents; +import im.vector.matrix.android.internal.legacy.rest.model.User; +import im.vector.matrix.android.internal.legacy.rest.model.group.Group; +import im.vector.matrix.android.internal.legacy.rest.model.pid.ThirdPartyIdentifier; + +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * An interface for storing and retrieving Matrix objects. + */ +public interface IMXStore { + /** + * Save changes in the store. + * If the store uses permanent storage like database or file, it is the optimised time + * to commit the last changes. + */ + void commit(); + + /** + * Open the store. + */ + void open(); + + /** + * Close the store. + * Any pending operation must be complete in this call. + */ + void close(); + + /** + * Clear the store. + * Any pending operation must be complete in this call. + */ + void clear(); + + /** + * @return the used context + */ + Context getContext(); + + /** + * Indicate if the MXStore implementation stores data permanently. + * Permanent storage allows the SDK to make less requests at the startup. + * + * @return true if permanent. + */ + boolean isPermanent(); + + /** + * Check if the initial load is performed. + * + * @return true if it is ready. + */ + boolean isReady(); + + /** + * Check if the read receipts are ready to be used. + * + * @return true if they are ready. + */ + boolean areReceiptsReady(); + + /** + * @return true if the store is corrupted. + */ + boolean isCorrupted(); + + /** + * Warn that the store data are corrupted. + * It might append if an update request failed. + * + * @param reason the corruption reason + */ + void setCorrupted(String reason); + + /** + * Returns to disk usage size in bytes. + * + * @return disk usage size + */ + long diskUsage(); + + /** + * Returns the latest known event stream token + * + * @return the event stream token + */ + String getEventStreamToken(); + + /** + * Set the event stream token. + * + * @param token the event stream token + */ + void setEventStreamToken(String token); + + /** + * Add a MXStore listener. + * + * @param listener the listener + */ + void addMXStoreListener(IMXStoreListener listener); + + /** + * remove a MXStore listener. + * + * @param listener the listener + */ + void removeMXStoreListener(IMXStoreListener listener); + + /** + * @return the display name + */ + String displayName(); + + /** + * Update the user display name + * + * @param displayName the displayname + * @param ts the timestamp update + * @return true if there is an update + */ + boolean setDisplayName(String displayName, long ts); + + /** + * @return the avatar URL + */ + String avatarURL(); + + /** + * Update the avatar URL + * + * @param avatarURL the new URL + * @param ts the timestamp update + * @return true if there is an update + */ + boolean setAvatarURL(String avatarURL, long ts); + + /** + * @return the third party identifiers list + */ + List thirdPartyIdentifiers(); + + /** + * Update the third party identifiers list. + * + * @param identifiers the identifiers list + */ + void setThirdPartyIdentifiers(List identifiers); + + /** + * Update the ignored user ids list. + * + * @param users the user ids list + */ + void setIgnoredUserIdsList(List users); + + /** + * Update the direct chat rooms list + * + * @param directChatRoomsDict the direct chats map + */ + void setDirectChatRoomsDict(Map> directChatRoomsDict); + + /** + * @return the known rooms list + */ + Collection getRooms(); + + /** + * Retrieve a room from its room id + * + * @param roomId the room id + * @return the room if it exists + */ + Room getRoom(String roomId); + + /** + * @return the known users lists + */ + Collection getUsers(); + + /** + * Retrieves an user by its user id. + * + * @param userId the user id + * @return the user + */ + User getUser(String userId); + + /** + * @return the ignored user ids list + */ + List getIgnoredUserIdsList(); + + /** + * @return the direct chats rooms list + */ + Map> getDirectChatRoomsDict(); + + /** + * Flush an updated user. + * + * @param user the user + */ + void storeUser(User user); + + /** + * Flush an user from a room member. + * + * @param roomMember the room member + */ + void updateUserWithRoomMemberEvent(RoomMember roomMember); + + /** + * Flush a room. + * + * @param room the room + */ + void storeRoom(Room room); + + /** + * Store a block of room events either live or from pagination. + * + * @param roomId the room id + * @param tokensChunkEvents the events to be stored. + * @param direction the direction; forwards for live, backwards for pagination + */ + void storeRoomEvents(String roomId, TokensChunkEvents tokensChunkEvents, EventTimeline.Direction direction); + + /** + * Store the back token of a room. + * + * @param roomId the room id. + * @param backToken the back token + */ + void storeBackToken(String roomId, String backToken); + + /** + * Store a live room event. + * + * @param event The event to be stored. + */ + void storeLiveRoomEvent(Event event); + + /** + * @param eventId the id of the event to retrieve. + * @param roomId the id of the room. + * @return true if the event exists in the store. + */ + boolean doesEventExist(String eventId, String roomId); + + /** + * Retrieve an event from its room Id and its Event id + * + * @param eventId the event id + * @param roomId the room Id + * @return the event (null if it is not found) + */ + Event getEvent(String eventId, String roomId); + + /** + * Delete an event + * + * @param event The event to be deleted. + */ + void deleteEvent(Event event); + + /** + * Remove all sent messages in a room. + * + * @param roomId the id of the room. + * @param keepUnsent set to true to do not delete the unsent message + */ + void deleteAllRoomMessages(String roomId, boolean keepUnsent); + + /** + * Flush the room events. + * + * @param roomId the id of the room. + */ + void flushRoomEvents(String roomId); + + /** + * Delete the room from the storage. + * The room data and its reference will be deleted. + * + * @param roomId the roomId. + */ + void deleteRoom(String roomId); + + /** + * Delete the room data from the storage; + * The room data are cleared but the getRoom returned object will be the same. + * + * @param roomId the roomId. + */ + void deleteRoomData(String roomId); + + /** + * Retrieve all non-state room events for this room. + * + * @param roomId The room ID + * @return A collection of events. null if there is no cached event. + */ + Collection getRoomMessages(final String roomId); + + /** + * Retrieve all non-state room events for this room. + * + * @param roomId The room ID + * @param fromToken the token + * @param limit the maximum number of messages to retrieve. + * @return A collection of events. null if there is no cached event. + */ + TokensChunkEvents getEarlierMessages(final String roomId, final String fromToken, final int limit); + + /** + * Get the oldest event from the given room (to prevent pagination overlap). + * + * @param roomId the room id + * @return the event + */ + Event getOldestEvent(String roomId); + + /** + * Get the latest event from the given room (to update summary for example) + * + * @param roomId the room id + * @return the event + */ + Event getLatestEvent(String roomId); + + /** + * Count the number of events after the provided events id + * + * @param roomId the room id. + * @param eventId the event id to find. + * @return the events count after this event if + */ + int eventsCountAfter(String roomId, String eventId); + + // Design note: This is part of the store interface so the concrete implementation can leverage + // how they are storing the data to do this in an efficient manner (e.g. SQL JOINs) + // compared to calling getRooms() then getRoomEvents(roomId, limit=1) for each room + // (which forces single SELECTs) + + /** + *

    Retrieve a list of all the room summaries stored.

    + * Typically this method will be called when generating a 'Recent Activity' list. + * + * @return A collection of room summaries. + */ + Collection getSummaries(); + + /** + * Get the stored summary for the given room. + * + * @param roomId the room id + * @return the summary for the room, or null in case of error + */ + @Nullable + RoomSummary getSummary(String roomId); + + /** + * Flush a room summary + * + * @param summary the summary. + */ + void flushSummary(RoomSummary summary); + + /** + * Flush the room summaries + */ + void flushSummaries(); + + /** + * Store a new summary. + * + * @param summary the summary + */ + void storeSummary(RoomSummary summary); + + /** + * Store the room liveState. + * + * @param roomId roomId the id of the room. + */ + void storeLiveStateForRoom(String roomId); + + /** + * Store a room state event. + * The room states are built with several events. + * + * @param roomId the room id + * @param event the event + */ + void storeRoomStateEvent(String roomId, Event event); + + /** + * Retrieve the room state creation events + * + * @param roomId the room id + * @param callback the asynchronous callback + */ + void getRoomStateEvents(String roomId, ApiCallback> callback); + + /** + * Return the list of latest unsent events. + * The provided events are the unsent ones since the last sent one. + * They are ordered. + * + * @param roomId the room id + * @return list of unsent events + */ + List getLatestUnsentEvents(String roomId); + + /** + * Return the list of undelivered events + * + * @param roomId the room id + * @return list of undelivered events + */ + List getUndeliveredEvents(String roomId); + + /** + * Return the list of unknown device events. + * + * @param roomId the room id + * @return list of unknown device events + */ + List getUnknownDeviceEvents(String roomId); + + /** + * Returns the receipts list for an event in a dedicated room. + * if sort is set to YES, they are sorted from the latest to the oldest ones. + * + * @param roomId The room Id. + * @param eventId The event Id. (null to retrieve all existing receipts) + * @param excludeSelf exclude the oneself read receipts. + * @param sort to sort them from the latest to the oldest + * @return the receipts for an event in a dedicated room. + */ + List getEventReceipts(String roomId, String eventId, boolean excludeSelf, boolean sort); + + /** + * Store the receipt for an user in a room. + * The receipt validity is checked i.e the receipt is not for an already read message. + * + * @param receipt The event + * @param roomId The roomId + * @return true if the receipt has been stored + */ + boolean storeReceipt(ReceiptData receipt, String roomId); + + /** + * Get the receipt for an user in a dedicated room. + * + * @param roomId the room id. + * @param userId the user id. + * @return the dedicated receipt + */ + ReceiptData getReceipt(String roomId, String userId); + + /** + * Provides the unread events list. + * + * @param roomId the room id. + * @param types an array of event types strings (Event.EVENT_TYPE_XXX). + * @return the unread events list. + */ + List unreadEvents(String roomId, List types); + + /** + * Check if an event has been read by an user. + * + * @param roomId the room Id + * @param userId the user id + * @param eventId the event id + * @return true if the user has read the message. + */ + boolean isEventRead(String roomId, String userId, String eventId); + + /** + * Store the user data for a room. + * + * @param roomId The room Id. + * @param accountData the account data. + */ + void storeAccountData(String roomId, RoomAccountData accountData); + + /** + * Provides the store preload time in milliseconds. + * + * @return the store preload time in milliseconds. + */ + long getPreloadTime(); + + /** + * Provides some store stats + * + * @return the store stats + */ + Map getStats(); + + /** + * Start a runnable from the store thread + * + * @param runnable the runnable to call + */ + void post(Runnable runnable); + + /** + * Store a group + * + * @param group the group to store + */ + void storeGroup(Group group); + + /** + * Flush a group in store. + * + * @param group the group + */ + void flushGroup(Group group); + + /** + * Delete a group + * + * @param groupId the group id to delete + */ + void deleteGroup(String groupId); + + /** + * Retrieve a group from its id. + * + * @param groupId the group id + * @return the group if it exists + */ + Group getGroup(String groupId); + + /** + * @return the stored groups + */ + Collection getGroups(); + + /** + * Set the URL preview status + * + * @param value the URL preview status + */ + void setURLPreviewEnabled(boolean value); + + /** + * Tells if the global URL preview is enabled. + * + * @return true if it is enabled + */ + boolean isURLPreviewEnabled(); + + /** + * Update the rooms list which don't have URL previews + * + * @param roomIds the room ids list + */ + void setRoomsWithoutURLPreview(Set roomIds); + + /** + * Set the user widgets + */ + void setUserWidgets(Map contentDict); + + /** + * Get the user widgets + */ + Map getUserWidgets(); + + /** + * @return the room ids list which don't have URL preview enabled + */ + Set getRoomsWithoutURLPreviews(); + + /** + * Add a couple Json filter / filterId + */ + void addFilter(String jsonFilter, String filterId); + + /** + * Get the Map of all filters configured server side (note: only by this current instance of Riot) + */ + Map getFilters(); + + /** + * Set the public key of the antivirus server + */ + void setAntivirusServerPublicKey(@Nullable String key); + + /** + * @return the public key of the antivirus server + */ + @Nullable + String getAntivirusServerPublicKey(); + + /** + * Update the metrics listener + * + * @param metricsListener the metrics listener + */ + void setMetricsListener(MetricsListener metricsListener); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/IMXStoreListener.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/IMXStoreListener.java new file mode 100644 index 00000000..3f26bd79 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/IMXStoreListener.java @@ -0,0 +1,61 @@ +/* + * Copyright 2015 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.data.store; + +/** + * An interface for listening the store events + */ +public interface IMXStoreListener { + /** + * The store has loaded its internal data. + * Let any post processing data management. + * It is called in the store thread before calling onStoreReady. + * + * @param accountId the account id + */ + void postProcess(String accountId); + + /** + * Called when the store is initialized + * + * @param accountId the account identifier + */ + void onStoreReady(String accountId); + + /** + * Called when the store initialization fails. + * + * @param accountId the account identifier + * @param description the corruption error messages + */ + void onStoreCorrupted(String accountId, String description); + + /** + * Called when the store has no more memory + * + * @param accountId the account identifier + * @param description the corruption error messages + */ + void onStoreOOM(String accountId, String description); + + /** + * The read receipts of a room is loaded are loaded + * + * @param roomId the room id + */ + void onReadReceiptsLoaded(String roomId); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/MXFileStore.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/MXFileStore.java new file mode 100644 index 00000000..e474c41f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/MXFileStore.java @@ -0,0 +1,2607 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data.store; + +import android.content.Context; +import android.os.HandlerThread; +import android.support.annotation.Nullable; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.data.RoomAccountData; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.data.RoomSummary; +import im.vector.matrix.android.internal.legacy.data.timeline.EventTimeline; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.ReceiptData; +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; +import im.vector.matrix.android.internal.legacy.rest.model.TokensChunkEvents; +import im.vector.matrix.android.internal.legacy.rest.model.User; +import im.vector.matrix.android.internal.legacy.rest.model.group.Group; +import im.vector.matrix.android.internal.legacy.rest.model.pid.ThirdPartyIdentifier; +import im.vector.matrix.android.internal.legacy.util.CompatUtil; +import im.vector.matrix.android.internal.legacy.util.ContentUtils; +import im.vector.matrix.android.internal.legacy.util.Log; +import im.vector.matrix.android.internal.legacy.util.MXOsHandler; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.zip.GZIPInputStream; +import java.util.zip.GZIPOutputStream; + +/** + * An in-file IMXStore. + */ +public class MXFileStore extends MXMemoryStore { + private static final String LOG_TAG = MXFileStore.class.getSimpleName(); + + // some constant values + private static final int MXFILE_VERSION = 22; + + // ensure that there is enough messages to fill a tablet screen + private static final int MAX_STORED_MESSAGES_COUNT = 50; + + private static final String MXFILE_STORE_FOLDER = "MXFileStore"; + private static final String MXFILE_STORE_METADATA_FILE_NAME = "MXFileStore"; + + private static final String MXFILE_STORE_GZ_ROOMS_MESSAGES_FOLDER = "messages_gz"; + private static final String MXFILE_STORE_ROOMS_TOKENS_FOLDER = "tokens"; + private static final String MXFILE_STORE_GZ_ROOMS_STATE_FOLDER = "state_gz"; + private static final String MXFILE_STORE_GZ_ROOMS_STATE_EVENTS_FOLDER = "state_rooms_events"; + private static final String MXFILE_STORE_ROOMS_SUMMARY_FOLDER = "summary"; + private static final String MXFILE_STORE_ROOMS_RECEIPT_FOLDER = "receipts"; + private static final String MXFILE_STORE_ROOMS_ACCOUNT_DATA_FOLDER = "accountData"; + private static final String MXFILE_STORE_USER_FOLDER = "users"; + private static final String MXFILE_STORE_GROUPS_FOLDER = "groups"; + + // the data is read from the file system + private boolean mIsReady = false; + + // tell if the post processing has been done + private boolean mIsPostProcessingDone = false; + + // the read receipts are ready + private boolean mAreReceiptsReady = false; + + // the store is currently opening + private boolean mIsOpening = false; + + // List of rooms to save on [MXStore commit] + // filled with roomId + private Set mRoomsToCommitForMessages; + private Set mRoomsToCommitForStates; + //private Set mRoomsToCommitForStatesEvents; + private Set mRoomsToCommitForSummaries; + private Set mRoomsToCommitForAccountData; + private Set mRoomsToCommitForReceipts; + private Set mUserIdsToCommit; + private Set mGroupsToCommit; + + // Flag to indicate metaData needs to be store + private boolean mMetaDataHasChanged = false; + + // The path of the MXFileStore folders + private File mStoreFolderFile = null; + private File mGzStoreRoomsMessagesFolderFile = null; + private File mStoreRoomsTokensFolderFile = null; + private File mGzStoreRoomsStateFolderFile = null; + private File mGzStoreRoomsStateEventsFolderFile = null; + private File mStoreRoomsSummaryFolderFile = null; + private File mStoreRoomsMessagesReceiptsFolderFile = null; + private File mStoreRoomsAccountDataFolderFile = null; + private File mStoreUserFolderFile = null; + private File mStoreGroupsFolderFile = null; + + // the background thread + private HandlerThread mHandlerThread = null; + private MXOsHandler mFileStoreHandler = null; + + private boolean mIsKilled = false; + + private boolean mIsNewStorage = false; + + private boolean mAreUsersLoaded = false; + + private long mPreloadTime = 0; + + // the read receipts are asynchronously loaded + // keep a list of the remaining receipts to load + private final List mRoomReceiptsToLoad = new ArrayList<>(); + + // store some stats + private final Map mStoreStats = new HashMap<>(); + + // True if file encryption is enabled + private final boolean mEnableFileEncryption; + + /** + * Create the file store dirtrees + */ + private void createDirTree(String userId) { + // data path + // MXFileStore/userID/ + // MXFileStore/userID/MXFileStore + // MXFileStore/userID/MXFileStore/Messages/ + // MXFileStore/userID/MXFileStore/Tokens/ + // MXFileStore/userID/MXFileStore/States/ + // MXFileStore/userID/MXFileStore/Summaries/ + // MXFileStore/userID/MXFileStore/receipt//receipts + // MXFileStore/userID/MXFileStore/accountData/ + // MXFileStore/userID/MXFileStore/users/ + // MXFileStore/userID/MXFileStore/groups/ + + // create the dirtree + mStoreFolderFile = new File(new File(mContext.getApplicationContext().getFilesDir(), MXFILE_STORE_FOLDER), userId); + + if (!mStoreFolderFile.exists()) { + mStoreFolderFile.mkdirs(); + } + + mGzStoreRoomsMessagesFolderFile = new File(mStoreFolderFile, MXFILE_STORE_GZ_ROOMS_MESSAGES_FOLDER); + if (!mGzStoreRoomsMessagesFolderFile.exists()) { + mGzStoreRoomsMessagesFolderFile.mkdirs(); + } + + mStoreRoomsTokensFolderFile = new File(mStoreFolderFile, MXFILE_STORE_ROOMS_TOKENS_FOLDER); + if (!mStoreRoomsTokensFolderFile.exists()) { + mStoreRoomsTokensFolderFile.mkdirs(); + } + + mGzStoreRoomsStateFolderFile = new File(mStoreFolderFile, MXFILE_STORE_GZ_ROOMS_STATE_FOLDER); + if (!mGzStoreRoomsStateFolderFile.exists()) { + mGzStoreRoomsStateFolderFile.mkdirs(); + } + + mGzStoreRoomsStateEventsFolderFile = new File(mStoreFolderFile, MXFILE_STORE_GZ_ROOMS_STATE_EVENTS_FOLDER); + if (!mGzStoreRoomsStateEventsFolderFile.exists()) { + mGzStoreRoomsStateEventsFolderFile.mkdirs(); + } + + mStoreRoomsSummaryFolderFile = new File(mStoreFolderFile, MXFILE_STORE_ROOMS_SUMMARY_FOLDER); + if (!mStoreRoomsSummaryFolderFile.exists()) { + mStoreRoomsSummaryFolderFile.mkdirs(); + } + + mStoreRoomsMessagesReceiptsFolderFile = new File(mStoreFolderFile, MXFILE_STORE_ROOMS_RECEIPT_FOLDER); + if (!mStoreRoomsMessagesReceiptsFolderFile.exists()) { + mStoreRoomsMessagesReceiptsFolderFile.mkdirs(); + } + + mStoreRoomsAccountDataFolderFile = new File(mStoreFolderFile, MXFILE_STORE_ROOMS_ACCOUNT_DATA_FOLDER); + if (!mStoreRoomsAccountDataFolderFile.exists()) { + mStoreRoomsAccountDataFolderFile.mkdirs(); + } + + mStoreUserFolderFile = new File(mStoreFolderFile, MXFILE_STORE_USER_FOLDER); + if (!mStoreUserFolderFile.exists()) { + mStoreUserFolderFile.mkdirs(); + } + + mStoreGroupsFolderFile = new File(mStoreFolderFile, MXFILE_STORE_GROUPS_FOLDER); + if (!mStoreGroupsFolderFile.exists()) { + mStoreGroupsFolderFile.mkdirs(); + } + } + + /** + * Constructor + * + * @param hsConfig the expected credentials + * @param enableFileEncryption set to true to enable file encryption. + * @param context the context. + */ + public MXFileStore(HomeServerConnectionConfig hsConfig, boolean enableFileEncryption, Context context) { + setContext(context); + + mEnableFileEncryption = enableFileEncryption; + + mIsReady = false; + mCredentials = hsConfig.getCredentials(); + + mHandlerThread = new HandlerThread("MXFileStoreBackgroundThread_" + mCredentials.userId, Thread.MIN_PRIORITY); + + createDirTree(mCredentials.userId); + + // updated data + mRoomsToCommitForMessages = new HashSet<>(); + mRoomsToCommitForStates = new HashSet<>(); + //mRoomsToCommitForStatesEvents = new HashSet<>(); + mRoomsToCommitForSummaries = new HashSet<>(); + mRoomsToCommitForAccountData = new HashSet<>(); + mRoomsToCommitForReceipts = new HashSet<>(); + mUserIdsToCommit = new HashSet<>(); + mGroupsToCommit = new HashSet<>(); + + // check if the metadata file exists and if it is valid + loadMetaData(); + + if (null == mMetadata) { + deleteAllData(true); + } + + // create the metadata file if it does not exist + // either there is no store + // or the store was not properly initialised (the application crashed during the initialsync) + if ((null == mMetadata) || (null == mMetadata.mAccessToken)) { + mIsNewStorage = true; + mIsOpening = true; + mHandlerThread.start(); + mFileStoreHandler = new MXOsHandler(mHandlerThread.getLooper()); + + mMetadata = new MXFileStoreMetaData(); + mMetadata.mUserId = mCredentials.userId; + mMetadata.mAccessToken = mCredentials.accessToken; + mMetadata.mVersion = MXFILE_VERSION; + mMetaDataHasChanged = true; + saveMetaData(); + + mEventStreamToken = null; + + mIsOpening = false; + // nothing to load so ready to work + mIsReady = true; + mAreReceiptsReady = true; + } + } + + /** + * Killed the background thread. + * + * @param isKilled killed status + */ + private void setIsKilled(boolean isKilled) { + synchronized (this) { + mIsKilled = isKilled; + } + } + + /** + * @return true if the background thread is killed. + */ + private boolean isKilled() { + boolean isKilled; + + synchronized (this) { + isKilled = mIsKilled; + } + + return isKilled; + } + + /** + * Save changes in the store. + * If the store uses permanent storage like database or file, it is the optimised time + * to commit the last changes. + */ + @Override + public void commit() { + // Save data only if metaData exists + if ((null != mMetadata) && (null != mMetadata.mAccessToken) && !isKilled()) { + Log.d(LOG_TAG, "++ Commit"); + saveUsers(); + saveGroups(); + saveRoomsMessages(); + saveRoomStates(); + saveRoomStatesEvents(); + saveSummaries(); + saveRoomsAccountData(); + saveReceipts(); + saveMetaData(); + Log.d(LOG_TAG, "-- Commit"); + } + } + + /** + * Open the store. + */ + @Override + public void open() { + super.open(); + final long fLoadTimeT0 = System.currentTimeMillis(); + + // avoid concurrency call. + synchronized (this) { + if (!mIsReady && !mIsOpening && (null != mMetadata) && (null != mHandlerThread)) { + mIsOpening = true; + + Log.e(LOG_TAG, "Open the store."); + + // creation the background handler. + if (null == mFileStoreHandler) { + // avoid already started exception + // never succeeded to reproduce but it was reported in GA. + try { + mHandlerThread.start(); + } catch (IllegalThreadStateException e) { + Log.e(LOG_TAG, "mHandlerThread is already started.", e); + // already started + return; + } + mFileStoreHandler = new MXOsHandler(mHandlerThread.getLooper()); + } + + Runnable r = new Runnable() { + @Override + public void run() { + mFileStoreHandler.post(new Runnable() { + public void run() { + Log.e(LOG_TAG, "Open the store in the background thread."); + + String errorDescription = null; + boolean succeed = (mMetadata.mVersion == MXFILE_VERSION) + && TextUtils.equals(mMetadata.mUserId, mCredentials.userId) + && TextUtils.equals(mMetadata.mAccessToken, mCredentials.accessToken); + + if (!succeed) { + errorDescription = "Invalid store content"; + Log.e(LOG_TAG, errorDescription); + } + + if (succeed) { + succeed &= loadRoomsMessages(); + if (!succeed) { + errorDescription = "loadRoomsMessages fails"; + Log.e(LOG_TAG, errorDescription); + } else { + Log.d(LOG_TAG, "loadRoomsMessages succeeds"); + } + } + + if (succeed) { + succeed &= loadGroups(); + if (!succeed) { + errorDescription = "loadGroups fails"; + Log.e(LOG_TAG, errorDescription); + } else { + Log.d(LOG_TAG, "loadGroups succeeds"); + } + } + + if (succeed) { + succeed &= loadRoomsState(); + + if (!succeed) { + errorDescription = "loadRoomsState fails"; + Log.e(LOG_TAG, errorDescription); + } else { + Log.d(LOG_TAG, "loadRoomsState succeeds"); + long t0 = System.currentTimeMillis(); + Log.d(LOG_TAG, "Retrieve the users from the roomstate"); + + Collection rooms = getRooms(); + + for (Room room : rooms) { + Collection members = room.getState().getLoadedMembers(); + for (RoomMember member : members) { + updateUserWithRoomMemberEvent(member); + } + } + + long delta = System.currentTimeMillis() - t0; + Log.d(LOG_TAG, "Retrieve " + mUsers.size() + " users with the room states in " + delta + " ms"); + mStoreStats.put("Retrieve users", delta); + } + } + + if (succeed) { + succeed &= loadSummaries(); + + if (!succeed) { + errorDescription = "loadSummaries fails"; + Log.e(LOG_TAG, errorDescription); + } else { + Log.d(LOG_TAG, "loadSummaries succeeds"); + + // Check if the room summaries match to existing rooms. + // We could have more rooms than summaries because + // some of them are hidden. + // For example, the conference calls create a dummy room to manage + // the call events. + // check also if the user is a member of the room + // https://github.com/vector-im/riot-android/issues/1302 + + for (String roomId : mRoomSummaries.keySet()) { + Room room = getRoom(roomId); + + if (null == room) { + succeed = false; + Log.e(LOG_TAG, "loadSummaries : the room " + roomId + " does not exist"); + } else if (null == room.getMember(mCredentials.userId)) { + //succeed = false; + Log.e(LOG_TAG, "loadSummaries) : a summary exists for the roomId " + + roomId + " but the user is not anymore a member"); + } + } + } + } + + if (succeed) { + succeed &= loadRoomsAccountData(); + + if (!succeed) { + errorDescription = "loadRoomsAccountData fails"; + Log.e(LOG_TAG, errorDescription); + } else { + Log.d(LOG_TAG, "loadRoomsAccountData succeeds"); + } + } + + // do not expect having empty list + // assume that something is corrupted + if (!succeed) { + Log.e(LOG_TAG, "Fail to open the store in background"); + + // delete all data set mMetadata to null + // backup it to restore it + // the behaviour should be the same as first login + MXFileStoreMetaData tmpMetadata = mMetadata; + + deleteAllData(true); + + mRoomsToCommitForMessages = new HashSet<>(); + mRoomsToCommitForStates = new HashSet<>(); + //mRoomsToCommitForStatesEvents = new HashSet<>(); + mRoomsToCommitForSummaries = new HashSet<>(); + mRoomsToCommitForReceipts = new HashSet<>(); + + mMetadata = tmpMetadata; + + // reported by GA + // i don't see which path could have triggered this issue + // mMetadata should only be null at file store loading + if (null == mMetadata) { + mMetadata = new MXFileStoreMetaData(); + mMetadata.mUserId = mCredentials.userId; + mMetadata.mAccessToken = mCredentials.accessToken; + mMetaDataHasChanged = true; + } else { + mMetadata.mEventStreamToken = null; + } + mMetadata.mVersion = MXFILE_VERSION; + + // the event stream token is put to zero to ensure ta + mEventStreamToken = null; + mAreReceiptsReady = true; + } else { + Log.d(LOG_TAG, "++ store stats"); + Set roomIds = mRoomEvents.keySet(); + + for (String roomId : roomIds) { + Room room = getRoom(roomId); + + if ((null != room) && (null != room.getState())) { + int membersCount = room.getState().getLoadedMembers().size(); + int eventsCount = mRoomEvents.get(roomId).size(); + + Log.d(LOG_TAG, " room " + roomId + + " : (lazy loaded) membersCount " + membersCount + + " - eventsCount " + eventsCount); + } + } + + Log.d(LOG_TAG, "-- store stats"); + } + + // post processing + Log.d(LOG_TAG, "## open() : post processing."); + dispatchPostProcess(mCredentials.userId); + mIsPostProcessingDone = true; + + synchronized (this) { + mIsReady = true; + } + mIsOpening = false; + + if (!succeed && !mIsNewStorage) { + Log.e(LOG_TAG, "The store is corrupted."); + dispatchOnStoreCorrupted(mCredentials.userId, errorDescription); + } else { + // extract the room states + mRoomReceiptsToLoad.addAll(listFiles(mStoreRoomsMessagesReceiptsFolderFile.list())); + mPreloadTime = System.currentTimeMillis() - fLoadTimeT0; + if (mMetricsListener != null) { + mMetricsListener.onStorePreloaded(mPreloadTime); + } + + Log.d(LOG_TAG, "The store is opened."); + dispatchOnStoreReady(mCredentials.userId); + + // load the following items with delay + // theses items are not required to be ready + + // load the receipts + loadReceipts(); + + // load the users + loadUsers(); + } + } + }); + } + }; + + Thread t = new Thread(r); + t.start(); + } else if (mIsReady) { + Runnable r = new Runnable() { + @Override + public void run() { + mFileStoreHandler.post(new Runnable() { + @Override + public void run() { + // should never happen + if (!mIsPostProcessingDone && !mIsNewStorage) { + Log.e(LOG_TAG, "## open() : is ready but the post processing was not yet done : please wait...."); + return; + } else { + if (!mIsPostProcessingDone) { + Log.e(LOG_TAG, "## open() : is ready but the post processing was not yet done."); + dispatchPostProcess(mCredentials.userId); + mIsPostProcessingDone = true; + } else { + Log.e(LOG_TAG, "## open() when ready : the post processing is already done."); + } + dispatchOnStoreReady(mCredentials.userId); + mPreloadTime = System.currentTimeMillis() - fLoadTimeT0; + if (mMetricsListener != null) { + mMetricsListener.onStorePreloaded(mPreloadTime); + } + } + } + }); + } + }; + + Thread t = new Thread(r); + t.start(); + } + + } + } + + /** + * Check if the read receipts are ready to be used. + * + * @return true if they are ready. + */ + @Override + public boolean areReceiptsReady() { + boolean res; + + synchronized (this) { + res = mAreReceiptsReady; + } + + return res; + } + + /** + * Provides the store preload time in milliseconds. + * + * @return the store preload time in milliseconds. + */ + @Override + public long getPreloadTime() { + return mPreloadTime; + } + + /** + * Provides some store stats + * + * @return the store stats + */ + public Map getStats() { + return mStoreStats; + } + + /** + * Close the store. + * Any pending operation must be complete in this call. + */ + @Override + public void close() { + Log.d(LOG_TAG, "Close the store"); + + super.close(); + setIsKilled(true); + if (null != mHandlerThread) { + mHandlerThread.quit(); + } + mHandlerThread = null; + } + + /** + * Clear the store. + * Any pending operation must be complete in this call. + */ + @Override + public void clear() { + Log.d(LOG_TAG, "Clear the store"); + super.clear(); + deleteAllData(false); + } + + /** + * Clear the filesystem storage. + * + * @param init true to init the filesystem dirtree + */ + private void deleteAllData(boolean init) { + // delete the dedicated directories + try { + ContentUtils.deleteDirectory(mStoreFolderFile); + if (init) { + createDirTree(mCredentials.userId); + } + } catch (Exception e) { + Log.e(LOG_TAG, "deleteAllData failed " + e.getMessage(), e); + } + + if (init) { + initCommon(); + } + mMetadata = null; + mEventStreamToken = null; + mAreUsersLoaded = true; + } + + /** + * Indicate if the MXStore implementation stores data permanently. + * Permanent storage allows the SDK to make less requests at the startup. + * + * @return true if permanent. + */ + @Override + public boolean isPermanent() { + return true; + } + + /** + * Check if the initial load is performed. + * + * @return true if it is ready. + */ + @Override + public boolean isReady() { + synchronized (this) { + return mIsReady; + } + } + + /** + * @return true if the store is corrupted. + */ + @Override + public boolean isCorrupted() { + return false; + } + + /** + * Delete a directory with its content + * + * @param directory the base directory + * @return the cache file size + */ + private long directorySize(File directory) { + long directorySize = 0; + + if (directory.exists()) { + File[] files = directory.listFiles(); + + if (null != files) { + for (int i = 0; i < files.length; i++) { + if (files[i].isDirectory()) { + directorySize += directorySize(files[i]); + } else { + directorySize += files[i].length(); + } + } + } + } + + return directorySize; + } + + /** + * Returns to disk usage size in bytes. + * + * @return disk usage size + */ + @Override + public long diskUsage() { + return directorySize(mStoreFolderFile); + } + + /** + * Set the event stream token. + * + * @param token the event stream token + */ + @Override + public void setEventStreamToken(String token) { + Log.d(LOG_TAG, "Set token to " + token); + super.setEventStreamToken(token); + mMetaDataHasChanged = true; + } + + @Override + public boolean setDisplayName(String displayName, long ts) { + return mMetaDataHasChanged = super.setDisplayName(displayName, ts); + } + + @Override + public boolean setAvatarURL(String avatarURL, long ts) { + return mMetaDataHasChanged = super.setAvatarURL(avatarURL, ts); + } + + @Override + public void setThirdPartyIdentifiers(List identifiers) { + // privacy + //Log.d(LOG_TAG, "Set setThirdPartyIdentifiers to " + identifiers); + Log.d(LOG_TAG, "Set setThirdPartyIdentifiers"); + mMetaDataHasChanged = true; + super.setThirdPartyIdentifiers(identifiers); + } + + @Override + public void setIgnoredUserIdsList(List users) { + Log.d(LOG_TAG, "## setIgnoredUsers() : " + users); + mMetaDataHasChanged = true; + super.setIgnoredUserIdsList(users); + } + + @Override + public void setDirectChatRoomsDict(Map> directChatRoomsDict) { + Log.d(LOG_TAG, "## setDirectChatRoomsDict()"); + mMetaDataHasChanged = true; + super.setDirectChatRoomsDict(directChatRoomsDict); + } + + @Override + public void storeUser(User user) { + if (!TextUtils.equals(mCredentials.userId, user.user_id)) { + mUserIdsToCommit.add(user.user_id); + } + super.storeUser(user); + } + + @Override + public void flushRoomEvents(String roomId) { + super.flushRoomEvents(roomId); + + mRoomsToCommitForMessages.add(roomId); + + if ((null != mMetadata) && (null != mMetadata.mAccessToken) && !isKilled()) { + saveRoomsMessages(); + } + } + + @Override + public void storeRoomEvents(String roomId, TokensChunkEvents tokensChunkEvents, EventTimeline.Direction direction) { + boolean canStore = true; + + // do not flush the room messages file + // when the user reads the room history and the events list size reaches its max size. + if (direction == EventTimeline.Direction.BACKWARDS) { + LinkedHashMap events = mRoomEvents.get(roomId); + + if (null != events) { + canStore = (events.size() < MAX_STORED_MESSAGES_COUNT); + + if (!canStore) { + Log.d(LOG_TAG, "storeRoomEvents : do not flush because reaching the max size"); + } + } + } + + super.storeRoomEvents(roomId, tokensChunkEvents, direction); + + if (canStore) { + mRoomsToCommitForMessages.add(roomId); + } + } + + /** + * Store a live room event. + * + * @param event The event to be stored. + */ + @Override + public void storeLiveRoomEvent(Event event) { + super.storeLiveRoomEvent(event); + mRoomsToCommitForMessages.add(event.roomId); + } + + @Override + public void deleteEvent(Event event) { + super.deleteEvent(event); + mRoomsToCommitForMessages.add(event.roomId); + } + + /** + * Delete the room messages and token files. + * + * @param roomId the room id. + */ + private void deleteRoomMessagesFiles(String roomId) { + // messages list + File messagesListFile = new File(mGzStoreRoomsMessagesFolderFile, roomId); + + // remove the files + if (messagesListFile.exists()) { + try { + messagesListFile.delete(); + } catch (Exception e) { + Log.e(LOG_TAG, "deleteRoomMessagesFiles - messagesListFile failed " + e.getMessage(), e); + } + } + + File tokenFile = new File(mStoreRoomsTokensFolderFile, roomId); + if (tokenFile.exists()) { + try { + tokenFile.delete(); + } catch (Exception e) { + Log.e(LOG_TAG, "deleteRoomMessagesFiles - tokenFile failed " + e.getMessage(), e); + } + } + } + + @Override + public void deleteRoom(String roomId) { + Log.d(LOG_TAG, "deleteRoom " + roomId); + + super.deleteRoom(roomId); + deleteRoomMessagesFiles(roomId); + deleteRoomStateFile(roomId); + deleteRoomSummaryFile(roomId); + deleteRoomReceiptsFile(roomId); + deleteRoomAccountDataFile(roomId); + } + + @Override + public void deleteAllRoomMessages(String roomId, boolean keepUnsent) { + Log.d(LOG_TAG, "deleteAllRoomMessages " + roomId); + + super.deleteAllRoomMessages(roomId, keepUnsent); + if (!keepUnsent) { + deleteRoomMessagesFiles(roomId); + } + + deleteRoomSummaryFile(roomId); + + mRoomsToCommitForMessages.add(roomId); + mRoomsToCommitForSummaries.add(roomId); + } + + @Override + public void storeLiveStateForRoom(String roomId) { + super.storeLiveStateForRoom(roomId); + mRoomsToCommitForStates.add(roomId); + } + + //================================================================================ + // Summary management + //================================================================================ + + @Override + public void flushSummary(RoomSummary summary) { + super.flushSummary(summary); + mRoomsToCommitForSummaries.add(summary.getRoomId()); + + if ((null != mMetadata) && (null != mMetadata.mAccessToken) && !isKilled()) { + saveSummaries(); + } + } + + @Override + public void flushSummaries() { + super.flushSummaries(); + + // add any existing roomid to the list to save all + mRoomsToCommitForSummaries.addAll(mRoomSummaries.keySet()); + + if ((null != mMetadata) && (null != mMetadata.mAccessToken) && !isKilled()) { + saveSummaries(); + } + } + + @Override + public void storeSummary(RoomSummary summary) { + super.storeSummary(summary); + + if ((null != summary) && (null != summary.getRoomId()) && !mRoomsToCommitForSummaries.contains(summary.getRoomId())) { + mRoomsToCommitForSummaries.add(summary.getRoomId()); + } + } + + //================================================================================ + // users management + //================================================================================ + + /** + * Flush users list + */ + private void saveUsers() { + if (!mAreUsersLoaded) { + // please wait + return; + } + + // some updated rooms ? + if ((mUserIdsToCommit.size() > 0) && (null != mFileStoreHandler)) { + // get the list + final Set fUserIds = mUserIdsToCommit; + mUserIdsToCommit = new HashSet<>(); + + try { + final Set fUsers; + + synchronized (mUsers) { + fUsers = new HashSet<>(mUsers.values()); + } + + Runnable r = new Runnable() { + @Override + public void run() { + mFileStoreHandler.post(new Runnable() { + public void run() { + if (!isKilled()) { + Log.d(LOG_TAG, "saveUsers " + fUserIds.size() + " users (" + fUsers.size() + " known ones)"); + + long start = System.currentTimeMillis(); + + // the users are split into groups to save time + Map> usersGroups = new HashMap<>(); + + // finds the group for each updated user + for (String userId : fUserIds) { + User user; + + synchronized (mUsers) { + user = mUsers.get(userId); + } + + if (null != user) { + int hashCode = user.getStorageHashKey(); + + if (!usersGroups.containsKey(hashCode)) { + usersGroups.put(hashCode, new ArrayList()); + } + } + } + + // gather the user to the dedicated group if they need to be updated + for (User user : fUsers) { + if (usersGroups.containsKey(user.getStorageHashKey())) { + usersGroups.get(user.getStorageHashKey()).add(user); + } + } + + // save the groups + for (int hashKey : usersGroups.keySet()) { + writeObject("saveUser " + hashKey, new File(mStoreUserFolderFile, hashKey + ""), usersGroups.get(hashKey)); + } + + Log.d(LOG_TAG, "saveUsers done in " + (System.currentTimeMillis() - start) + " ms"); + } + } + }); + } + }; + + Thread t = new Thread(r); + t.start(); + } catch (OutOfMemoryError oom) { + Log.e(LOG_TAG, "saveUser : cannot clone the users list" + oom.getMessage(), oom); + } + } + } + + /** + * Load the user information from the filesystem.. + */ + private void loadUsers() { + List filenames = listFiles(mStoreUserFolderFile.list()); + long start = System.currentTimeMillis(); + + List users = new ArrayList<>(); + + // list the files + for (String filename : filenames) { + File messagesListFile = new File(mStoreUserFolderFile, filename); + Object usersAsVoid = readObject("loadUsers " + filename, messagesListFile); + + if (null != usersAsVoid) { + try { + users.addAll((List) usersAsVoid); + } catch (Exception e) { + Log.e(LOG_TAG, "loadUsers failed : " + e.toString(), e); + } + } + } + + // update the hash map + for (User user : users) { + synchronized (mUsers) { + User currentUser = mUsers.get(user.user_id); + + if ((null == currentUser) || // not defined + currentUser.isRetrievedFromRoomMember() || // tmp user until retrieved it + (currentUser.getLatestPresenceTs() < user.getLatestPresenceTs())) // newer presence + { + mUsers.put(user.user_id, user); + } + } + } + + long delta = (System.currentTimeMillis() - start); + Log.e(LOG_TAG, "loadUsers (" + filenames.size() + " files) : retrieve " + mUsers.size() + " users in " + delta + "ms"); + mStoreStats.put("loadUsers", delta); + + mAreUsersLoaded = true; + + // save any pending save + saveUsers(); + } + + //================================================================================ + // Room messages management + //================================================================================ + + /** + * Computes the saved events map to reduce storage footprint. + * + * @param roomId the room id + * @return the saved eventMap + */ + private LinkedHashMap getSavedEventsMap(String roomId) { + LinkedHashMap eventsMap; + + synchronized (mRoomEventsLock) { + eventsMap = mRoomEvents.get(roomId); + } + + List eventsList; + + synchronized (mRoomEventsLock) { + eventsList = new ArrayList<>(eventsMap.values()); + } + + int startIndex = 0; + + // try to reduce the number of stored messages + // it does not make sense to keep the full history. + + // the method consists in saving messages until finding the oldest known token. + // At initial sync, it is not saved so keep the whole history. + // if the user back paginates, the token is stored in the event. + // if some messages are received, the token is stored in the event. + if (eventsList.size() > MAX_STORED_MESSAGES_COUNT) { + // search backward the first known token + for (startIndex = eventsList.size() - MAX_STORED_MESSAGES_COUNT; !eventsList.get(startIndex).hasToken() && (startIndex > 0); startIndex--) + ; + + if (startIndex > 0) { + Log.d(LOG_TAG, "## getSavedEveventsMap() : " + roomId + " reduce the number of messages " + eventsList.size() + + " -> " + (eventsList.size() - startIndex)); + } + } + + LinkedHashMap savedEvents = new LinkedHashMap<>(); + + for (int index = startIndex; index < eventsList.size(); index++) { + Event event = eventsList.get(index); + savedEvents.put(event.eventId, event); + } + + return savedEvents; + } + + private void saveRoomMessages(String roomId) { + LinkedHashMap eventsHash; + synchronized (mRoomEventsLock) { + eventsHash = mRoomEvents.get(roomId); + } + + String token = mRoomTokens.get(roomId); + + // the list exists ? + if ((null != eventsHash) && (null != token)) { + long t0 = System.currentTimeMillis(); + + LinkedHashMap savedEventsMap = getSavedEventsMap(roomId); + + if (!writeObject("saveRoomsMessage " + roomId, new File(mGzStoreRoomsMessagesFolderFile, roomId), savedEventsMap)) { + return; + } + + if (!writeObject("saveRoomsMessage " + roomId, new File(mStoreRoomsTokensFolderFile, roomId), token)) { + return; + } + + Log.d(LOG_TAG, "saveRoomsMessage (" + roomId + ") : " + savedEventsMap.size() + " messages saved in " + (System.currentTimeMillis() - t0) + " ms"); + } else { + deleteRoomMessagesFiles(roomId); + } + } + + /** + * Flush updates rooms messages list files. + */ + private void saveRoomsMessages() { + // some updated rooms ? + if ((mRoomsToCommitForMessages.size() > 0) && (null != mFileStoreHandler)) { + // get the list + final Set fRoomsToCommitForMessages = mRoomsToCommitForMessages; + mRoomsToCommitForMessages = new HashSet<>(); + + Runnable r = new Runnable() { + @Override + public void run() { + mFileStoreHandler.post(new Runnable() { + public void run() { + if (!isKilled()) { + long start = System.currentTimeMillis(); + + for (String roomId : fRoomsToCommitForMessages) { + saveRoomMessages(roomId); + } + + Log.d(LOG_TAG, "saveRoomsMessages : " + fRoomsToCommitForMessages.size() + " rooms in " + + (System.currentTimeMillis() - start) + " ms"); + } + } + }); + } + }; + + Thread t = new Thread(r); + t.start(); + } + } + + /** + * Load room messages from the filesystem. + * + * @param roomId the room id. + * @return true if succeed. + */ + private boolean loadRoomMessages(final String roomId) { + boolean succeeded = true; + boolean shouldSave = false; + LinkedHashMap events = null; + + File messagesListFile = new File(mGzStoreRoomsMessagesFolderFile, roomId); + + if (messagesListFile.exists()) { + Object eventsAsVoid = readObject("events " + roomId, messagesListFile); + + if (null != eventsAsVoid) { + try { + events = (LinkedHashMap) eventsAsVoid; + } catch (Exception e) { + Log.e(LOG_TAG, "loadRoomMessages " + roomId + "failed : " + e.getMessage(), e); + return false; + } + + if (events.size() > (2 * MAX_STORED_MESSAGES_COUNT)) { + Log.d(LOG_TAG, "## loadRoomMessages() : the room " + roomId + " has " + events.size() + + " stored events : we need to find a way to reduce it."); + } + + // finalizes the deserialization + for (Event event : events.values()) { + // if a message was not sent, mark it as UNDELIVERED + if ((event.mSentState == Event.SentState.UNSENT) + || (event.mSentState == Event.SentState.SENDING) + || (event.mSentState == Event.SentState.WAITING_RETRY) + || (event.mSentState == Event.SentState.ENCRYPTING)) { + event.mSentState = Event.SentState.UNDELIVERED; + shouldSave = true; + } + } + } else { + return false; + } + } + + // succeeds to extract the message list + if (null != events) { + // create the room object + final Room room = new Room(getDataHandler(), this, roomId); + // do not wait that the live state update + room.setReadyState(true); + storeRoom(room); + + mRoomEvents.put(roomId, events); + } + + if (shouldSave) { + saveRoomMessages(roomId); + } + + return succeeded; + } + + /** + * Load the room token from the file system. + * + * @param roomId the room id. + * @return true if it succeeds. + */ + private boolean loadRoomToken(final String roomId) { + boolean succeed = true; + + Room room = getRoom(roomId); + + // should always be true + if (null != room) { + String token = null; + + try { + File messagesListFile = new File(mStoreRoomsTokensFolderFile, roomId); + Object tokenAsVoid = readObject("loadRoomToken " + roomId, messagesListFile); + + if (null == tokenAsVoid) { + succeed = false; + } else { + token = (String) tokenAsVoid; + + // check if the oldest event has a token. + LinkedHashMap eventsHash = mRoomEvents.get(roomId); + if ((null != eventsHash) && (eventsHash.size() > 0)) { + Event event = eventsHash.values().iterator().next(); + + // the room history could have been reduced to save memory + // so, if the oldest messages has a token, use it instead of the stored token. + if (null != event.mToken) { + token = event.mToken; + } + } + } + } catch (Exception e) { + succeed = false; + Log.e(LOG_TAG, "loadRoomToken failed : " + e.toString(), e); + } + + if (null != token) { + mRoomTokens.put(roomId, token); + } else { + deleteRoom(roomId); + } + } else { + try { + File messagesListFile = new File(mStoreRoomsTokensFolderFile, roomId); + messagesListFile.delete(); + } catch (Exception e) { + Log.e(LOG_TAG, "loadRoomToken failed with error " + e.getMessage(), e); + } + } + + return succeed; + } + + /** + * Load room messages from the filesystem. + * + * @return true if the operation succeeds. + */ + private boolean loadRoomsMessages() { + boolean succeed = true; + + try { + // extract the messages list + List filenames = listFiles(mGzStoreRoomsMessagesFolderFile.list()); + + long start = System.currentTimeMillis(); + + for (String filename : filenames) { + if (succeed) { + succeed &= loadRoomMessages(filename); + } + } + + if (succeed) { + long delta = (System.currentTimeMillis() - start); + Log.d(LOG_TAG, "loadRoomMessages : " + filenames.size() + " rooms in " + delta + " ms"); + mStoreStats.put("loadRoomMessages", delta); + } + + // extract the tokens list + filenames = listFiles(mStoreRoomsTokensFolderFile.list()); + + start = System.currentTimeMillis(); + + for (String filename : filenames) { + if (succeed) { + succeed &= loadRoomToken(filename); + } + } + + if (succeed) { + Log.d(LOG_TAG, "loadRoomToken : " + filenames.size() + " rooms in " + (System.currentTimeMillis() - start) + " ms"); + } + + } catch (Exception e) { + succeed = false; + Log.e(LOG_TAG, "loadRoomToken failed : " + e.getMessage(), e); + } + + return succeed; + } + + //================================================================================ + // Room states management + //================================================================================ + + // waiting that the rooms state events are loaded + private Map> mPendingRoomStateEvents = new HashMap<>(); + + @Override + public void storeRoomStateEvent(final String roomId, final Event event) { + /*boolean isAlreadyLoaded = true; + + synchronized (mRoomStateEventsByRoomId) { + isAlreadyLoaded = mRoomStateEventsByRoomId.containsKey(roomId); + } + + if (isAlreadyLoaded) { + super.storeRoomStateEvent(roomId, event); + mRoomsToCommitForStatesEvents.add(roomId); + return; + } + + boolean isRequestPending = false; + + synchronized (mPendingRoomStateEvents) { + // a loading is already in progress + if (mPendingRoomStateEvents.containsKey(roomId)) { + mPendingRoomStateEvents.get(roomId).add(event); + isRequestPending = true; + } + } + + if (isRequestPending) { + return; + } + + synchronized (mPendingRoomStateEvents) { + List events = new ArrayList(); + events.add(event); + mPendingRoomStateEvents.put(roomId, events); + } + + getRoomStateEvents(roomId, new SimpleApiCallback>() { + @Override + public void onSuccess(List events) { + List pendingEvents; + + synchronized (mPendingRoomStateEvents) { + pendingEvents = mPendingRoomStateEvents.get(roomId); + mPendingRoomStateEvents.remove(roomId); + } + + // add them by now + for (Event event : pendingEvents) { + storeRoomStateEvent(roomId, event); + } + } + });*/ + } + + /** + * Save the room state. + * + * @param roomId the room id. + */ + private void saveRoomStateEvents(final String roomId) { + /*Log.d(LOG_TAG, "++ saveRoomStateEvents " + roomId); + + File roomStateFile = new File(mGzStoreRoomsStateEventsFolderFile, roomId); + Map eventsMap = mRoomStateEventsByRoomId.get(roomId); + + if (null != eventsMap) { + List events = new ArrayList<>(eventsMap.values()); + + long start1 = System.currentTimeMillis(); + writeObject("saveRoomStateEvents " + roomId, roomStateFile, events); + Log.d(LOG_TAG, "saveRoomStateEvents " + roomId + " :" + events.size() + " events : " + (System.currentTimeMillis() - start1) + " ms"); + } else { + Log.d(LOG_TAG, "-- saveRoomStateEvents " + roomId + " : empty list"); + }*/ + } + + /** + * Flush the room state events files. + */ + private void saveRoomStatesEvents() { + /*if ((mRoomsToCommitForStatesEvents.size() > 0) && (null != mFileStoreHandler)) { + // get the list + final Set fRoomsToCommitForStatesEvents = new HashSet<>(mRoomsToCommitForStatesEvents); + mRoomsToCommitForStatesEvents = new HashSet<>(); + + Runnable r = new Runnable() { + @Override + public void run() { + mFileStoreHandler.post(new Runnable() { + public void run() { + if (!isKilled()) { + long start = System.currentTimeMillis(); + + for (String roomId : fRoomsToCommitForStatesEvents) { + saveRoomStateEvents(roomId); + } + + Log.d(LOG_TAG, "saveRoomStatesEvents : " + fRoomsToCommitForStatesEvents.size() + " rooms in " + + (System.currentTimeMillis() - start) + " ms"); + } + } + }); + } + }; + + Thread t = new Thread(r); + t.start(); + }*/ + } + + @Override + public void getRoomStateEvents(final String roomId, final ApiCallback> callback) { + boolean isAlreadyLoaded = true; + + /*synchronized (mRoomStateEventsByRoomId) { + isAlreadyLoaded = mRoomStateEventsByRoomId.containsKey(roomId); + }*/ + + if (isAlreadyLoaded) { + super.getRoomStateEvents(roomId, callback); + return; + } + + /*Runnable r = new Runnable() { + @Override + public void run() { + mFileStoreHandler.post(new Runnable() { + public void run() { + if (!isKilled()) { + File statesEventsFile = new File(mGzStoreRoomsStateEventsFolderFile, roomId); + Map eventsMap = new HashMap<>(); + List eventsList = new ArrayList<>(); + + long start = System.currentTimeMillis(); + + if ((null != statesEventsFile) && statesEventsFile.exists()) { + try { + Object eventsListAsVoid = readObject("getRoomStateEvents", statesEventsFile); + + if (null != eventsListAsVoid) { + List events = (List) eventsListAsVoid; + + for (Event event : events) { + eventsMap.put(event.stateKey, event); + } + } + } catch (Exception e) { + Log.e(LOG_TAG, "getRoomStateEvents failed : " + e.getMessage(), e); + } + } + + synchronized (mRoomStateEventsByRoomId) { + mRoomStateEventsByRoomId.put(roomId, eventsMap); + } + + Log.d(LOG_TAG, "getRoomStateEvents : retrieve " + eventsList.size() + " events in " + (System.currentTimeMillis() - start) + " ms"); + callback.onSuccess(eventsList); + } + } + }); + } + }; + + Thread t = new Thread(r); + t.start();*/ + } + + /** + * Delete the room state file. + * + * @param roomId the room id. + */ + private void deleteRoomStateFile(String roomId) { + // states list + File statesFile = new File(mGzStoreRoomsStateFolderFile, roomId); + + if (statesFile.exists()) { + try { + statesFile.delete(); + } catch (Exception e) { + Log.e(LOG_TAG, "deleteRoomStateFile failed with error " + e.getMessage(), e); + } + } + + File statesEventsFile = new File(mGzStoreRoomsStateEventsFolderFile, roomId); + + if (statesEventsFile.exists()) { + try { + statesEventsFile.delete(); + } catch (Exception e) { + Log.e(LOG_TAG, "deleteRoomStateFile failed with error " + e.getMessage(), e); + } + } + } + + /** + * Save the room state. + * + * @param roomId the room id. + */ + private void saveRoomState(final String roomId) { + Log.d(LOG_TAG, "++ saveRoomsState " + roomId); + + File roomStateFile = new File(mGzStoreRoomsStateFolderFile, roomId); + Room room = mRooms.get(roomId); + + if (null != room) { + long start1 = System.currentTimeMillis(); + writeObject("saveRoomsState " + roomId, roomStateFile, room.getState()); + Log.d(LOG_TAG, "saveRoomsState " + room.getNumberOfMembers() + " members : " + (System.currentTimeMillis() - start1) + " ms"); + } else { + Log.d(LOG_TAG, "saveRoomsState : delete the room state"); + deleteRoomStateFile(roomId); + } + + Log.d(LOG_TAG, "-- saveRoomsState " + roomId); + } + + /** + * Flush the room state files. + */ + private void saveRoomStates() { + if ((mRoomsToCommitForStates.size() > 0) && (null != mFileStoreHandler)) { + // get the list + final Set fRoomsToCommitForStates = mRoomsToCommitForStates; + mRoomsToCommitForStates = new HashSet<>(); + + Runnable r = new Runnable() { + @Override + public void run() { + mFileStoreHandler.post(new Runnable() { + public void run() { + if (!isKilled()) { + long start = System.currentTimeMillis(); + + for (String roomId : fRoomsToCommitForStates) { + saveRoomState(roomId); + } + + Log.d(LOG_TAG, "saveRoomsState : " + fRoomsToCommitForStates.size() + " rooms in " + + (System.currentTimeMillis() - start) + " ms"); + } + } + }); + } + }; + + Thread t = new Thread(r); + t.start(); + } + } + + /** + * Load a room state from the file system. + * + * @param roomId the room id. + * @return true if the operation succeeds. + */ + private boolean loadRoomState(final String roomId) { + boolean succeed = true; + + Room room = getRoom(roomId); + + // should always be true + if (null != room) { + RoomState liveState = null; + + try { + // the room state is not zipped + File roomStateFile = new File(mGzStoreRoomsStateFolderFile, roomId); + + // new format + if (roomStateFile.exists()) { + Object roomStateAsObject = readObject("loadRoomState " + roomId, roomStateFile); + + if (null == roomStateAsObject) { + succeed = false; + } else { + liveState = (RoomState) roomStateAsObject; + } + } + } catch (Exception e) { + succeed = false; + Log.e(LOG_TAG, "loadRoomState failed : " + e.getMessage(), e); + } + + if (null != liveState) { + room.getTimeline().setState(liveState); + } else { + deleteRoom(roomId); + } + } else { + try { + File messagesListFile = new File(mGzStoreRoomsStateFolderFile, roomId); + messagesListFile.delete(); + + } catch (Exception e) { + Log.e(LOG_TAG, "loadRoomState failed to delete a file : " + e.getMessage(), e); + } + } + + return succeed; + } + + /** + * Load room state from the file system. + * + * @return true if the operation succeeds. + */ + private boolean loadRoomsState() { + boolean succeed = true; + + try { + long start = System.currentTimeMillis(); + + List filenames = listFiles(mGzStoreRoomsStateFolderFile.list()); + + for (String filename : filenames) { + if (succeed) { + succeed &= loadRoomState(filename); + } + } + + long delta = (System.currentTimeMillis() - start); + Log.d(LOG_TAG, "loadRoomsState " + filenames.size() + " rooms in " + delta + " ms"); + mStoreStats.put("loadRoomsState", delta); + + } catch (Exception e) { + succeed = false; + Log.e(LOG_TAG, "loadRoomsState failed : " + e.getMessage(), e); + } + + return succeed; + } + + //================================================================================ + // AccountData management + //================================================================================ + + /** + * Delete the room account data file. + * + * @param roomId the room id. + */ + private void deleteRoomAccountDataFile(String roomId) { + File file = new File(mStoreRoomsAccountDataFolderFile, roomId); + + // remove the files + if (file.exists()) { + try { + file.delete(); + } catch (Exception e) { + Log.e(LOG_TAG, "deleteRoomAccountDataFile failed : " + e.getMessage(), e); + } + } + } + + /** + * Flush the pending account data. + */ + private void saveRoomsAccountData() { + if ((mRoomsToCommitForAccountData.size() > 0) && (null != mFileStoreHandler)) { + // get the list + final Set fRoomsToCommitForAccountData = mRoomsToCommitForAccountData; + mRoomsToCommitForAccountData = new HashSet<>(); + + Runnable r = new Runnable() { + @Override + public void run() { + mFileStoreHandler.post(new Runnable() { + public void run() { + if (!isKilled()) { + long start = System.currentTimeMillis(); + + for (String roomId : fRoomsToCommitForAccountData) { + RoomAccountData accountData = mRoomAccountData.get(roomId); + + if (null != accountData) { + writeObject("saveRoomsAccountData " + roomId, new File(mStoreRoomsAccountDataFolderFile, roomId), accountData); + } else { + deleteRoomAccountDataFile(roomId); + } + } + + Log.d(LOG_TAG, "saveSummaries : " + fRoomsToCommitForAccountData.size() + " account data in " + + (System.currentTimeMillis() - start) + " ms"); + } + } + }); + } + }; + + Thread t = new Thread(r); + t.start(); + } + } + + /*** + * Load the account Data of a dedicated room. + * @param roomId the room Id + * @return true if the operation succeeds. + */ + private boolean loadRoomAccountData(final String roomId) { + boolean succeeded = true; + RoomAccountData roomAccountData = null; + + try { + File accountDataFile = new File(mStoreRoomsAccountDataFolderFile, roomId); + + if (accountDataFile.exists()) { + Object accountAsVoid = readObject("loadRoomAccountData " + roomId, accountDataFile); + + if (null == accountAsVoid) { + Log.e(LOG_TAG, "loadRoomAccountData failed"); + return false; + } + + roomAccountData = (RoomAccountData) accountAsVoid; + } + } catch (Exception e) { + succeeded = false; + Log.e(LOG_TAG, "loadRoomAccountData failed : " + e.toString(), e); + } + + // succeeds to extract the message list + if (null != roomAccountData) { + Room room = getRoom(roomId); + + if (null != room) { + room.setAccountData(roomAccountData); + } + } + + return succeeded; + } + + /** + * Load room accountData from the filesystem. + * + * @return true if the operation succeeds. + */ + private boolean loadRoomsAccountData() { + boolean succeed = true; + + try { + // extract the messages list + List filenames = listFiles(mStoreRoomsAccountDataFolderFile.list()); + + long start = System.currentTimeMillis(); + + for (String filename : filenames) { + succeed &= loadRoomAccountData(filename); + } + + if (succeed) { + Log.d(LOG_TAG, "loadRoomsAccountData : " + filenames.size() + " rooms in " + (System.currentTimeMillis() - start) + " ms"); + } + } catch (Exception e) { + succeed = false; + Log.e(LOG_TAG, "loadRoomsAccountData failed : " + e.getMessage(), e); + } + + return succeed; + } + + @Override + public void storeAccountData(String roomId, RoomAccountData accountData) { + super.storeAccountData(roomId, accountData); + + if (null != roomId) { + Room room = mRooms.get(roomId); + + // sanity checks + if ((room != null) && (null != accountData)) { + mRoomsToCommitForAccountData.add(roomId); + } + } + } + + //================================================================================ + // Summary management + //================================================================================ + + /** + * Delete the room summary file. + * + * @param roomId the room id. + */ + private void deleteRoomSummaryFile(String roomId) { + // states list + File statesFile = new File(mStoreRoomsSummaryFolderFile, roomId); + + // remove the files + if (statesFile.exists()) { + try { + statesFile.delete(); + } catch (Exception e) { + Log.e(LOG_TAG, "deleteRoomSummaryFile failed : " + e.getMessage(), e); + } + } + } + + /** + * Flush the pending summaries. + */ + private void saveSummaries() { + if ((mRoomsToCommitForSummaries.size() > 0) && (null != mFileStoreHandler)) { + // get the list + final Set fRoomsToCommitForSummaries = mRoomsToCommitForSummaries; + mRoomsToCommitForSummaries = new HashSet<>(); + + Runnable r = new Runnable() { + @Override + public void run() { + mFileStoreHandler.post(new Runnable() { + public void run() { + if (!isKilled()) { + long start = System.currentTimeMillis(); + + for (String roomId : fRoomsToCommitForSummaries) { + try { + File roomSummaryFile = new File(mStoreRoomsSummaryFolderFile, roomId); + RoomSummary roomSummary = mRoomSummaries.get(roomId); + + if (null != roomSummary) { + writeObject("saveSummaries " + roomId, roomSummaryFile, roomSummary); + } else { + deleteRoomSummaryFile(roomId); + } + } catch (OutOfMemoryError oom) { + dispatchOOM(oom); + } catch (Exception e) { + Log.e(LOG_TAG, "saveSummaries failed : " + e.getMessage(), e); + // Toast.makeText(mContext, "saveSummaries failed " + e.getLocalizedMessage(), Toast.LENGTH_LONG).show(); + } + } + + Log.d(LOG_TAG, "saveSummaries : " + fRoomsToCommitForSummaries.size() + " summaries in " + + (System.currentTimeMillis() - start) + " ms"); + } + } + }); + } + }; + + Thread t = new Thread(r); + t.start(); + } + } + + /** + * Load the room summary from the files system. + * + * @param roomId the room id. + * @return true if the operation succeeds; + */ + private boolean loadSummary(final String roomId) { + boolean succeed = true; + + // do not check if the room exists here. + // if the user is invited to a room, the room object is not created until it is joined. + RoomSummary summary = null; + + try { + File messagesListFile = new File(mStoreRoomsSummaryFolderFile, roomId); + Object summaryAsVoid = readObject("loadSummary " + roomId, messagesListFile); + + if (null == summaryAsVoid) { + Log.e(LOG_TAG, "loadSummary failed"); + return false; + } + + summary = (RoomSummary) summaryAsVoid; + } catch (Exception e) { + succeed = false; + Log.e(LOG_TAG, "loadSummary failed : " + e.getMessage(), e); + } + + if (null != summary) { + //summary.getLatestReceivedEvent().finalizeDeserialization(); + + Room room = getRoom(summary.getRoomId()); + + // the room state is not saved in the summary. + // it is restored from the room + if (null != room) { + summary.setLatestRoomState(room.getState()); + } + + mRoomSummaries.put(roomId, summary); + } + + return succeed; + } + + /** + * Load room summaries from the file system. + * + * @return true if the operation succeeds. + */ + private boolean loadSummaries() { + boolean succeed = true; + try { + // extract the room states + List filenames = listFiles(mStoreRoomsSummaryFolderFile.list()); + + long start = System.currentTimeMillis(); + + for (String filename : filenames) { + succeed &= loadSummary(filename); + } + + long delta = (System.currentTimeMillis() - start); + Log.d(LOG_TAG, "loadSummaries " + filenames.size() + " rooms in " + delta + " ms"); + mStoreStats.put("loadSummaries", delta); + } catch (Exception e) { + succeed = false; + Log.e(LOG_TAG, "loadSummaries failed : " + e.getMessage(), e); + } + + return succeed; + } + + //================================================================================ + // Metadata management + //================================================================================ + + /** + * Load the metadata info from the file system. + */ + private void loadMetaData() { + long start = System.currentTimeMillis(); + + // init members + mEventStreamToken = null; + mMetadata = null; + + File metaDataFile = new File(mStoreFolderFile, MXFILE_STORE_METADATA_FILE_NAME); + + if (metaDataFile.exists()) { + Object metadataAsVoid = readObject("loadMetaData", metaDataFile); + + if (null != metadataAsVoid) { + try { + mMetadata = (MXFileStoreMetaData) metadataAsVoid; + + // remove pending \n + if (null != mMetadata.mUserDisplayName) { + mMetadata.mUserDisplayName.trim(); + } + + // extract the latest event stream token + mEventStreamToken = mMetadata.mEventStreamToken; + } catch (Exception e) { + Log.e(LOG_TAG, "## loadMetaData() : is corrupted", e); + return; + } + } + } + + Log.d(LOG_TAG, "loadMetaData : " + (System.currentTimeMillis() - start) + " ms"); + } + + /** + * flush the metadata info from the file system. + */ + private void saveMetaData() { + if ((mMetaDataHasChanged) && (null != mFileStoreHandler) && (null != mMetadata)) { + mMetaDataHasChanged = false; + + final MXFileStoreMetaData fMetadata = mMetadata.deepCopy(); + + Runnable r = new Runnable() { + @Override + public void run() { + mFileStoreHandler.post(new Runnable() { + public void run() { + if (!mIsKilled) { + // save the metadata only when there is a current valid stream token + // avoid saving the metadata if the store has been cleared + if (null != mMetadata.mEventStreamToken) { + long start = System.currentTimeMillis(); + writeObject("saveMetaData", new File(mStoreFolderFile, MXFILE_STORE_METADATA_FILE_NAME), fMetadata); + Log.d(LOG_TAG, "saveMetaData : " + (System.currentTimeMillis() - start) + " ms"); + } else { + Log.e(LOG_TAG, "## saveMetaData() : cancelled because mEventStreamToken is null"); + } + } + } + }); + } + }; + + Thread t = new Thread(r); + t.start(); + } + } + + //================================================================================ + // Event receipts management + //================================================================================ + + @Override + public List getEventReceipts(String roomId, String eventId, boolean excludeSelf, boolean sort) { + synchronized (mRoomReceiptsToLoad) { + int pos = mRoomReceiptsToLoad.indexOf(roomId); + + // the user requires the receipts asap + if (pos >= 2) { + mRoomReceiptsToLoad.remove(roomId); + // index 0 is the current managed one + mRoomReceiptsToLoad.add(1, roomId); + } + } + + return super.getEventReceipts(roomId, eventId, excludeSelf, sort); + } + + /** + * Store the receipt for an user in a room + * + * @param receipt The event + * @param roomId The roomId + * @return true if the receipt has been stored + */ + @Override + public boolean storeReceipt(ReceiptData receipt, String roomId) { + boolean res = super.storeReceipt(receipt, roomId); + + if (res) { + synchronized (this) { + mRoomsToCommitForReceipts.add(roomId); + } + } + + return res; + } + + /*** + * Load the events receipts. + * @param roomId the room Id + * @return true if the operation succeeds. + */ + private boolean loadReceipts(String roomId) { + Map receiptsMap = null; + File file = new File(mStoreRoomsMessagesReceiptsFolderFile, roomId); + + if (file.exists()) { + Object receiptsAsVoid = readObject("loadReceipts " + roomId, file); + + if (null != receiptsAsVoid) { + try { + List receipts = (List) receiptsAsVoid; + + receiptsMap = new HashMap<>(); + + for (ReceiptData r : receipts) { + receiptsMap.put(r.userId, r); + } + } catch (Exception e) { + Log.e(LOG_TAG, "loadReceipts failed : " + e.getMessage(), e); + return false; + } + } else { + return false; + } + } + + if (null != receiptsMap) { + Map currentReceiptMap; + + synchronized (mReceiptsByRoomIdLock) { + currentReceiptMap = mReceiptsByRoomId.get(roomId); + mReceiptsByRoomId.put(roomId, receiptsMap); + } + + // merge the current read receipts + if (null != currentReceiptMap) { + Collection receipts = currentReceiptMap.values(); + + for (ReceiptData receipt : receipts) { + storeReceipt(receipt, roomId); + } + } + + dispatchOnReadReceiptsLoaded(roomId); + } + + return true; + } + + /** + * Load event receipts from the file system. + * + * @return true if the operation succeeds. + */ + private boolean loadReceipts() { + boolean succeed = true; + try { + int count = mRoomReceiptsToLoad.size(); + long start = System.currentTimeMillis(); + + while (mRoomReceiptsToLoad.size() > 0) { + String roomId; + synchronized (mRoomReceiptsToLoad) { + roomId = mRoomReceiptsToLoad.get(0); + } + + loadReceipts(roomId); + + synchronized (mRoomReceiptsToLoad) { + mRoomReceiptsToLoad.remove(0); + } + } + + saveReceipts(); + + long delta = (System.currentTimeMillis() - start); + Log.d(LOG_TAG, "loadReceipts " + count + " rooms in " + delta + " ms"); + mStoreStats.put("loadReceipts", delta); + } catch (Exception e) { + succeed = false; + //Toast.makeText(mContext, "loadReceipts failed" + e, Toast.LENGTH_LONG).show(); + Log.e(LOG_TAG, "loadReceipts failed : " + e.getMessage(), e); + } + + synchronized (this) { + mAreReceiptsReady = true; + } + + return succeed; + } + + /** + * Flush the events receipts + * + * @param roomId the roomId. + */ + private void saveReceipts(final String roomId) { + synchronized (mRoomReceiptsToLoad) { + // please wait + if (mRoomReceiptsToLoad.contains(roomId)) { + return; + } + } + + final List receipts; + + synchronized (mReceiptsByRoomIdLock) { + if (mReceiptsByRoomId.containsKey(roomId)) { + receipts = new ArrayList<>(mReceiptsByRoomId.get(roomId).values()); + } else { + receipts = null; + } + } + + // sanity check + if (null == receipts) { + return; + } + + Runnable r = new Runnable() { + @Override + public void run() { + mFileStoreHandler.post(new Runnable() { + public void run() { + if (!mIsKilled) { + long start = System.currentTimeMillis(); + writeObject("saveReceipts " + roomId, new File(mStoreRoomsMessagesReceiptsFolderFile, roomId), receipts); + Log.d(LOG_TAG, "saveReceipts : roomId " + roomId + " eventId : " + (System.currentTimeMillis() - start) + " ms"); + } + } + }); + } + }; + + Thread t = new Thread(r); + t.start(); + } + + /** + * Save the events receipts. + */ + private void saveReceipts() { + synchronized (this) { + Set roomsToCommit = mRoomsToCommitForReceipts; + + for (String roomId : roomsToCommit) { + saveReceipts(roomId); + } + + mRoomsToCommitForReceipts.clear(); + } + } + + /** + * Delete the room receipts + * + * @param roomId the room id. + */ + private void deleteRoomReceiptsFile(String roomId) { + File receiptsFile = new File(mStoreRoomsMessagesReceiptsFolderFile, roomId); + + // remove the files + if (receiptsFile.exists()) { + try { + receiptsFile.delete(); + } catch (Exception e) { + Log.e(LOG_TAG, "deleteReceiptsFile - failed " + e.getMessage(), e); + } + } + } + + //================================================================================ + // read/write methods + //================================================================================ + + /** + * Write an object in a dedicated file. + * + * @param description the operation description + * @param file the file + * @param object the object to save + * @return true if the operation succeeds + */ + private boolean writeObject(String description, File file, Object object) { + String parent = file.getParent(); + String name = file.getName(); + + File tmpFile = new File(parent, name + ".tmp"); + + if (tmpFile.exists()) { + tmpFile.delete(); + } + + if (file.exists()) { + file.renameTo(tmpFile); + } + + boolean succeed = false; + try { + FileOutputStream fos = new FileOutputStream(file); + OutputStream cos; + if (mEnableFileEncryption) { + cos = CompatUtil.createCipherOutputStream(fos, mContext); + } else { + cos = fos; + } + GZIPOutputStream gz = CompatUtil.createGzipOutputStream(cos); + ObjectOutputStream out = new ObjectOutputStream(gz); + + out.writeObject(object); + out.flush(); + out.close(); + + succeed = true; + } catch (OutOfMemoryError oom) { + dispatchOOM(oom); + } catch (Exception e) { + Log.e(LOG_TAG, "## writeObject() " + description + " : failed " + e.getMessage(), e); + } + + if (succeed) { + tmpFile.delete(); + } else { + tmpFile.renameTo(file); + } + + return succeed; + } + + /** + * Read an object from a dedicated file + * + * @param description the operation description + * @param file the file + * @return the read object if it can be retrieved + */ + private Object readObject(String description, File file) { + String parent = file.getParent(); + String name = file.getName(); + + File tmpFile = new File(parent, name + ".tmp"); + + if (tmpFile.exists()) { + Log.e(LOG_TAG, "## readObject : rescue from a tmp file " + tmpFile.getName()); + file = tmpFile; + } + + Object object = null; + try { + FileInputStream fis = new FileInputStream(file); + InputStream cis; + if (mEnableFileEncryption) { + cis = CompatUtil.createCipherInputStream(fis, mContext); + + if (cis == null) { + // fallback to unencrypted stream for backward compatibility + Log.i(LOG_TAG, "## readObject() : failed to read encrypted, fallback to unencrypted read"); + fis.close(); + cis = new FileInputStream(file); + } + } else { + cis = fis; + } + + GZIPInputStream gz = new GZIPInputStream(cis); + ObjectInputStream ois = new ObjectInputStream(gz); + object = ois.readObject(); + ois.close(); + } catch (OutOfMemoryError oom) { + dispatchOOM(oom); + } catch (Exception e) { + Log.e(LOG_TAG, "## readObject() " + description + " : failed " + e.getMessage(), e); + } + return object; + } + + + /** + * Remove the tmp files from a filename list + * + * @param names the names list + * @return the filtered list + */ + private static List listFiles(String[] names) { + List filteredFilenames = new ArrayList<>(); + List tmpFilenames = new ArrayList<>(); + + // sanity checks + // it has been reported by GA + if (null != names) { + for (int i = 0; i < names.length; i++) { + String name = names[i]; + + if (!name.endsWith(".tmp")) { + filteredFilenames.add(name); + } else { + tmpFilenames.add(name.substring(0, name.length() - ".tmp".length())); + } + } + + // check if the tmp file is not alone i.e the matched file was not saved (app crash...) + for (String tmpFileName : tmpFilenames) { + if (!filteredFilenames.contains(tmpFileName)) { + Log.e(LOG_TAG, "## listFiles() : " + tmpFileName + " does not exist but a tmp file has been retrieved"); + filteredFilenames.add(tmpFileName); + } + } + } + + return filteredFilenames; + } + + /** + * Start a runnable from the store thread + * + * @param runnable the runnable to call + */ + public void post(Runnable runnable) { + if (null != mFileStoreHandler) { + mFileStoreHandler.post(runnable); + } else { + super.post(runnable); + } + } + + //================================================================================ + // groups management + //================================================================================ + + /** + * Store a group + * + * @param group the group to store + */ + @Override + public void storeGroup(Group group) { + super.storeGroup(group); + if ((null != group) && !TextUtils.isEmpty(group.getGroupId())) { + mGroupsToCommit.add(group.getGroupId()); + } + } + + /** + * Flush a group + * + * @param group the group to store + */ + @Override + public void flushGroup(Group group) { + super.flushGroup(group); + if ((null != group) && !TextUtils.isEmpty(group.getGroupId())) { + mGroupsToCommit.add(group.getGroupId()); + saveGroups(); + } + } + + /** + * Delete a group + * + * @param groupId the groupId to delete + */ + @Override + public void deleteGroup(String groupId) { + super.deleteGroup(groupId); + if (!TextUtils.isEmpty(groupId)) { + mGroupsToCommit.add(groupId); + } + } + + /** + * Flush groups list + */ + private void saveGroups() { + // some updated rooms ? + if ((mGroupsToCommit.size() > 0) && (null != mFileStoreHandler)) { + // get the list + final Set fGroupIds = mGroupsToCommit; + mGroupsToCommit = new HashSet<>(); + + try { + Runnable r = new Runnable() { + @Override + public void run() { + mFileStoreHandler.post(new Runnable() { + public void run() { + if (!isKilled()) { + Log.d(LOG_TAG, "saveGroups " + fGroupIds.size() + " groups"); + + long start = System.currentTimeMillis(); + + for (String groupId : fGroupIds) { + Group group; + + synchronized (mGroups) { + group = mGroups.get(groupId); + } + + if (null != group) { + writeObject("saveGroup " + groupId, new File(mStoreGroupsFolderFile, groupId), group); + } else { + File tokenFile = new File(mStoreGroupsFolderFile, groupId); + + if (tokenFile.exists()) { + tokenFile.delete(); + } + } + } + + Log.d(LOG_TAG, "saveGroups done in " + (System.currentTimeMillis() - start) + " ms"); + } + } + }); + } + }; + + Thread t = new Thread(r); + t.start(); + } catch (OutOfMemoryError oom) { + Log.e(LOG_TAG, "saveGroups : failed" + oom.getMessage(), oom); + } + } + } + + /** + * Load groups from the filesystem. + * + * @return true if the operation succeeds. + */ + private boolean loadGroups() { + boolean succeed = true; + + try { + // extract the messages list + List filenames = listFiles(mStoreGroupsFolderFile.list()); + + long start = System.currentTimeMillis(); + + for (String filename : filenames) { + File groupFile = new File(mStoreGroupsFolderFile, filename); + + if (groupFile.exists()) { + Object groupAsVoid = readObject("loadGroups " + filename, groupFile); + + if ((null != groupAsVoid) && (groupAsVoid instanceof Group)) { + Group group = (Group) groupAsVoid; + mGroups.put(group.getGroupId(), group); + } else { + succeed = false; + break; + } + } + } + + if (succeed) { + long delta = (System.currentTimeMillis() - start); + Log.d(LOG_TAG, "loadGroups : " + filenames.size() + " groups in " + delta + " ms"); + mStoreStats.put("loadGroups", delta); + } + + } catch (Exception e) { + succeed = false; + Log.e(LOG_TAG, "loadGroups failed : " + e.getMessage(), e); + } + + return succeed; + } + + @Override + public void setURLPreviewEnabled(boolean value) { + super.setURLPreviewEnabled(value); + mMetaDataHasChanged = true; + } + + @Override + public void setRoomsWithoutURLPreview(Set roomIds) { + super.setRoomsWithoutURLPreview(roomIds); + mMetaDataHasChanged = true; + } + + @Override + public void setUserWidgets(Map contentDict) { + super.setUserWidgets(contentDict); + mMetaDataHasChanged = true; + } + + @Override + public void addFilter(String jsonFilter, String filterId) { + super.addFilter(jsonFilter, filterId); + mMetaDataHasChanged = true; + } + + @Override + public void setAntivirusServerPublicKey(@Nullable String key) { + super.setAntivirusServerPublicKey(key); + mMetaDataHasChanged = true; + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/MXFileStoreMetaData.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/MXFileStoreMetaData.java new file mode 100644 index 00000000..1a3f6faa --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/MXFileStoreMetaData.java @@ -0,0 +1,91 @@ +/* + * Copyright 2015 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.data.store; + +import im.vector.matrix.android.internal.legacy.rest.model.pid.ThirdPartyIdentifier; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class MXFileStoreMetaData implements java.io.Serializable { + // The obtained user id. + public String mUserId = null; + + // The access token to create a MXRestClient. + public String mAccessToken = null; + + // The token indicating from where to start listening event stream to get live events. + public String mEventStreamToken = null; + + //The current version of the store. + public int mVersion = -1; + + /** + * User information + */ + public String mUserDisplayName = null; + public String mUserAvatarUrl = null; + public List mThirdPartyIdentifiers = null; + public List mIgnoredUsers = new ArrayList<>(); + public Map> mDirectChatRoomsMap = null; + public boolean mIsUrlPreviewEnabled = false; + public Map mUserWidgets = new HashMap<>(); + public Set mRoomsListWithoutURLPrevew = new HashSet<>(); + + // To store known filters by the server. Keys are the filter as a Json String, Values are the filterId returned by the server + // Mainly used to store a filterId related to a corresponding Json string. + public Map mKnownFilters = new HashMap<>(); + + // crypto + public boolean mEndToEndDeviceAnnounced = false; + + public String mAntivirusServerPublicKey; + + public MXFileStoreMetaData deepCopy() { + MXFileStoreMetaData copy = new MXFileStoreMetaData(); + + copy.mUserId = mUserId; + copy.mAccessToken = mAccessToken; + copy.mEventStreamToken = mEventStreamToken; + copy.mVersion = mVersion; + copy.mUserDisplayName = mUserDisplayName; + + if (null != copy.mUserDisplayName) { + copy.mUserDisplayName.trim(); + } + + copy.mUserAvatarUrl = mUserAvatarUrl; + copy.mThirdPartyIdentifiers = mThirdPartyIdentifiers; + copy.mIgnoredUsers = mIgnoredUsers; + copy.mDirectChatRoomsMap = mDirectChatRoomsMap; + copy.mEndToEndDeviceAnnounced = mEndToEndDeviceAnnounced; + + copy.mAntivirusServerPublicKey = mAntivirusServerPublicKey; + + copy.mIsUrlPreviewEnabled = mIsUrlPreviewEnabled; + copy.mUserWidgets = mUserWidgets; + copy.mRoomsListWithoutURLPrevew = mRoomsListWithoutURLPrevew; + + copy.mKnownFilters = new HashMap<>(mKnownFilters); + + return copy; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/MXMemoryStore.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/MXMemoryStore.java new file mode 100644 index 00000000..42aaf1b0 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/MXMemoryStore.java @@ -0,0 +1,1666 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data.store; + +import android.content.Context; +import android.os.Handler; +import android.os.Looper; +import android.support.annotation.Nullable; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.MXDataHandler; +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.data.RoomAccountData; +import im.vector.matrix.android.internal.legacy.data.RoomSummary; +import im.vector.matrix.android.internal.legacy.data.comparator.Comparators; +import im.vector.matrix.android.internal.legacy.data.metrics.MetricsListener; +import im.vector.matrix.android.internal.legacy.data.timeline.EventTimeline; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.ReceiptData; +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; +import im.vector.matrix.android.internal.legacy.rest.model.TokensChunkEvents; +import im.vector.matrix.android.internal.legacy.rest.model.User; +import im.vector.matrix.android.internal.legacy.rest.model.group.Group; +import im.vector.matrix.android.internal.legacy.rest.model.login.Credentials; +import im.vector.matrix.android.internal.legacy.rest.model.pid.ThirdPartyIdentifier; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; + +/** + * An in-memory IMXStore. + */ +public class MXMemoryStore implements IMXStore { + + private static final String LOG_TAG = MXMemoryStore.class.getSimpleName(); + + protected Map mRooms; + protected Map mUsers; + + protected static final Object mRoomEventsLock = new Object(); + + // room id -> map of (event_id -> event) events for this room (linked so insertion order is preserved) + protected Map> mRoomEvents; + + protected Map mRoomTokens; + + protected Map mRoomSummaries; + protected Map mRoomAccountData; + + // dict of dict of MXReceiptData indexed by userId + protected final Object mReceiptsByRoomIdLock = new Object(); + protected Map> mReceiptsByRoomId; + + protected Map mGroups; + + // room state events + //protected final Map> mRoomStateEventsByRoomId = new HashMap<>(); + + // common context + private static Context mSharedContext = null; + + // the context + protected Context mContext; + + // + private final Map mTemporaryEventsList = new HashMap<>(); + protected MetricsListener mMetricsListener; + + protected Credentials mCredentials; + + protected String mEventStreamToken = null; + + protected final List mListeners = new ArrayList<>(); + + // Meta data about the store. It is defined only if the passed MXCredentials contains all information. + // When nil, nothing is stored on the file system. + protected MXFileStoreMetaData mMetadata = null; + + // last time the avatar / displayname was updated + protected long mUserDisplayNameTs; + protected long mUserAvatarUrlTs; + + // DataHandler -- added waiting to be refactored + private MXDataHandler mDataHandler; + + /** + * Initialization method. + */ + protected void initCommon() { + mRooms = new ConcurrentHashMap<>(); + mUsers = new ConcurrentHashMap<>(); + mRoomEvents = new ConcurrentHashMap<>(); + mRoomTokens = new ConcurrentHashMap<>(); + mRoomSummaries = new ConcurrentHashMap<>(); + mReceiptsByRoomId = new ConcurrentHashMap<>(); + mRoomAccountData = new ConcurrentHashMap<>(); + mGroups = new ConcurrentHashMap<>(); + mEventStreamToken = null; + } + + public MXMemoryStore() { + initCommon(); + } + + /** + * Set the application context + * + * @param context the context + */ + protected void setContext(Context context) { + if (null == mSharedContext) { + if (null != context) { + mSharedContext = context.getApplicationContext(); + } else { + throw new RuntimeException("MXMemoryStore : context cannot be null"); + } + } + + mContext = mSharedContext; + } + + /** + * Default constructor + * + * @param credentials the expected credentials + * @param context the context + */ + public MXMemoryStore(Credentials credentials, Context context) { + initCommon(); + + setContext(context); + mCredentials = credentials; + + mMetadata = new MXFileStoreMetaData(); + } + + @Override + public Context getContext() { + return mContext; + } + + /** + * Save changes in the store. + * If the store uses permanent storage like database or file, it is the optimised time + * to commit the last changes. + */ + @Override + public void commit() { + } + + /** + * Open the store. + */ + public void open() { + } + + /** + * Close the store. + * Any pending operation must be complete in this call. + */ + @Override + public void close() { + } + + /** + * Clear the store. + * Any pending operation must be complete in this call. + */ + @Override + public void clear() { + initCommon(); + } + + /** + * Indicate if the MXStore implementation stores data permanently. + * Permanent storage allows the SDK to make less requests at the startup. + * + * @return true if permanent. + */ + @Override + public boolean isPermanent() { + return false; + } + + /** + * Check if the initial load is performed. + * + * @return true if it is ready. + */ + @Override + public boolean isReady() { + return true; + } + + /** + * Check if the read receipts are ready to be used. + * + * @return true if they are ready. + */ + @Override + public boolean areReceiptsReady() { + return true; + } + + /** + * @return true if the store is corrupted. + */ + @Override + public boolean isCorrupted() { + return false; + } + + /** + * Warn that the store data are corrupted. + * It might append if an update request failed. + * + * @param reason the corruption reason + */ + @Override + public void setCorrupted(String reason) { + dispatchOnStoreCorrupted(mCredentials.userId, reason); + } + + /** + * Returns to disk usage size in bytes. + * + * @return disk usage size + */ + @Override + public long diskUsage() { + return 0; + } + + /** + * Returns the latest known event stream token + * + * @return the event stream token + */ + @Override + public String getEventStreamToken() { + return mEventStreamToken; + } + + /** + * Set the event stream token. + * + * @param token the event stream token + */ + @Override + public void setEventStreamToken(String token) { + if (null != mMetadata) { + mMetadata.mEventStreamToken = token; + } + mEventStreamToken = token; + } + + @Override + public void addMXStoreListener(IMXStoreListener listener) { + synchronized (this) { + if ((null != listener) && (mListeners.indexOf(listener) < 0)) { + mListeners.add(listener); + } + } + } + + @Override + public void removeMXStoreListener(IMXStoreListener listener) { + synchronized (this) { + if (null != listener) { + mListeners.remove(listener); + } + } + } + + /** + * profile information + */ + @Override + public String displayName() { + if (null != mMetadata) { + return mMetadata.mUserDisplayName; + } else { + return null; + } + } + + @Override + public boolean setDisplayName(String displayName, long ts) { + boolean isUpdated; + + synchronized (LOG_TAG) { + if (null != mMetadata) { + Log.d(LOG_TAG, "## setDisplayName() : from " + mMetadata.mUserDisplayName + " to " + displayName + " ts " + ts); + } + + isUpdated = (null != mMetadata) + && !TextUtils.equals(mMetadata.mUserDisplayName, displayName) + && (mUserDisplayNameTs < ts) + && (ts != 0) + && (ts <= System.currentTimeMillis()); + + if (isUpdated) { + mMetadata.mUserDisplayName = (null != displayName) ? displayName.trim() : null; + mUserDisplayNameTs = ts; + + // update the cached oneself User + User myUser = getUser(mMetadata.mUserId); + + if (null != myUser) { + myUser.displayname = mMetadata.mUserDisplayName; + } + + Log.d(LOG_TAG, "## setDisplayName() : updated"); + commit(); + } + } + + return isUpdated; + } + + @Override + public String avatarURL() { + if (null != mMetadata) { + return mMetadata.mUserAvatarUrl; + } else { + return null; + } + } + + @Override + public boolean setAvatarURL(String avatarURL, long ts) { + boolean isUpdated = false; + + synchronized (LOG_TAG) { + if (null != mMetadata) { + Log.d(LOG_TAG, "## setAvatarURL() : from " + mMetadata.mUserAvatarUrl + " to " + avatarURL + " ts " + ts); + } + + isUpdated = (null != mMetadata) && !TextUtils.equals(mMetadata.mUserAvatarUrl, avatarURL) + && (mUserAvatarUrlTs < ts) && (ts != 0) && (ts <= System.currentTimeMillis()); + + if (isUpdated) { + mMetadata.mUserAvatarUrl = avatarURL; + mUserAvatarUrlTs = ts; + + // update the cached oneself User + User myUser = getUser(mMetadata.mUserId); + + if (null != myUser) { + myUser.setAvatarUrl(avatarURL); + } + + Log.d(LOG_TAG, "## setAvatarURL() : updated"); + commit(); + } + } + + return isUpdated; + } + + @Override + public List thirdPartyIdentifiers() { + if (null != mMetadata) { + return mMetadata.mThirdPartyIdentifiers; + } else { + return new ArrayList<>(); + } + } + + @Override + public void setThirdPartyIdentifiers(List identifiers) { + if (null != mMetadata) { + mMetadata.mThirdPartyIdentifiers = identifiers; + + Log.d(LOG_TAG, "setThirdPartyIdentifiers : commit"); + commit(); + } + } + + @Override + public List getIgnoredUserIdsList() { + if (null != mMetadata) { + return mMetadata.mIgnoredUsers; + } else { + return new ArrayList<>(); + } + } + + @Override + public void setIgnoredUserIdsList(List users) { + if (null != mMetadata) { + mMetadata.mIgnoredUsers = users; + Log.d(LOG_TAG, "setIgnoredUserIdsList : commit"); + commit(); + } + } + + @Override + public Map> getDirectChatRoomsDict() { + return mMetadata.mDirectChatRoomsMap; + } + + @Override + public void setDirectChatRoomsDict(Map> directChatRoomsDict) { + if (null != mMetadata) { + mMetadata.mDirectChatRoomsMap = directChatRoomsDict; + Log.d(LOG_TAG, "setDirectChatRoomsDict : commit"); + commit(); + } + } + + @Override + public Collection getRooms() { + return new ArrayList<>(mRooms.values()); + } + + @Override + public Collection getUsers() { + Collection users; + + synchronized (mUsers) { + users = new ArrayList<>(mUsers.values()); + } + + return users; + } + + @Override + public Room getRoom(String roomId) { + if (null != roomId) { + return mRooms.get(roomId); + } else { + return null; + } + } + + @Override + public User getUser(String userId) { + if (null != userId) { + User user; + + synchronized (mUsers) { + user = mUsers.get(userId); + } + + return user; + } else { + return null; + } + } + + @Override + public void storeUser(User user) { + if ((null != user) && (null != user.user_id)) { + try { + synchronized (mUsers) { + mUsers.put(user.user_id, user); + } + } catch (OutOfMemoryError e) { + dispatchOOM(e); + } + } + } + + /** + * Update the user information from a room member. + * + * @param roomMember the room member. + */ + @Override + public void updateUserWithRoomMemberEvent(RoomMember roomMember) { + try { + if (null != roomMember) { + User user = getUser(roomMember.getUserId()); + + // if the user does not exist, create it + if (null == user) { + user = new User(); + user.user_id = roomMember.getUserId(); + user.setRetrievedFromRoomMember(); + storeUser(user); + } + + // update the display name and the avatar url. + // the leave and ban events have no displayname and no avatar url. + if (TextUtils.equals(roomMember.membership, RoomMember.MEMBERSHIP_JOIN)) { + boolean hasUpdates = !TextUtils.equals(user.displayname, roomMember.displayname) + || !TextUtils.equals(user.getAvatarUrl(), roomMember.getAvatarUrl()); + + if (hasUpdates) { + // invite event does not imply that the user uses the application. + // but if the presence is set to 0, it means that the user information is not initialized + if (user.getLatestPresenceTs() < roomMember.getOriginServerTs()) { + // if the user joined the room, it implies that he used the application + user.displayname = roomMember.displayname; + user.setAvatarUrl(roomMember.getAvatarUrl()); + user.setLatestPresenceTs(roomMember.getOriginServerTs()); + user.setRetrievedFromRoomMember(); + } + } + } + } + } catch (OutOfMemoryError oom) { + dispatchOOM(oom); + Log.e(LOG_TAG, "## updateUserWithRoomMemberEvent() failed " + oom.getMessage(), oom); + } catch (Exception e) { + Log.e(LOG_TAG, "## updateUserWithRoomMemberEvent() failed " + e.getMessage(), e); + } + } + + @Override + public void storeRoom(Room room) { + if ((null != room) && (null != room.getRoomId())) { + mRooms.put(room.getRoomId(), room); + + // defines a default back token + if (!mRoomTokens.containsKey(room.getRoomId())) { + storeBackToken(room.getRoomId(), ""); + } + } + } + + @Override + public Event getOldestEvent(String roomId) { + Event event = null; + + if (null != roomId) { + synchronized (mRoomEventsLock) { + LinkedHashMap events = mRoomEvents.get(roomId); + + if (events != null) { + Iterator it = events.values().iterator(); + if (it.hasNext()) { + event = it.next(); + } + } + } + } + + return event; + } + + /** + * Get the latest event from the given room (to update summary for example) + * + * @param roomId the room id + * @return the event + */ + @Override + public Event getLatestEvent(String roomId) { + Event event = null; + + if (null != roomId) { + synchronized (mRoomEventsLock) { + LinkedHashMap events = mRoomEvents.get(roomId); + + if (events != null) { + Iterator it = events.values().iterator(); + if (it.hasNext()) { + Event lastEvent = null; + + while (it.hasNext()) { + lastEvent = it.next(); + } + + event = lastEvent; + } + } + } + } + return event; + } + + /** + * Count the number of events after the provided events id + * + * @param roomId the room id. + * @param eventId the event id to find. + * @return the events count after this event if + */ + @Override + public int eventsCountAfter(String roomId, String eventId) { + return eventsAfter(roomId, eventId, mCredentials.userId, null).size(); + } + + @Override + public void storeLiveRoomEvent(Event event) { + try { + if ((null != event) && (null != event.roomId) && (null != event.eventId)) { + synchronized (mRoomEventsLock) { + LinkedHashMap events = mRoomEvents.get(event.roomId); + + // create the list it does not exist + if (null == events) { + events = new LinkedHashMap<>(); + mRoomEvents.put(event.roomId, events); + } else if (events.containsKey(event.eventId)) { + // the event is already define + return; + } else if (!event.isDummyEvent() && (mTemporaryEventsList.size() > 0)) { + // remove any waiting echo event + String dummyKey = null; + + for (String key : mTemporaryEventsList.keySet()) { + Event eventToCheck = mTemporaryEventsList.get(key); + if (TextUtils.equals(eventToCheck.eventId, event.eventId)) { + dummyKey = key; + break; + } + } + + if (null != dummyKey) { + events.remove(dummyKey); + mTemporaryEventsList.remove(dummyKey); + } + } + + // If we don't have any information on this room - a pagination token, namely - we don't store the event but instead + // wait for the first pagination request to set things right + events.put(event.eventId, event); + + if (event.isDummyEvent()) { + mTemporaryEventsList.put(event.eventId, event); + } + } + } + } catch (OutOfMemoryError e) { + dispatchOOM(e); + } + } + + @Override + public boolean doesEventExist(String eventId, String roomId) { + boolean res = false; + + if (!TextUtils.isEmpty(eventId) && !TextUtils.isEmpty(roomId)) { + synchronized (mRoomEventsLock) { + res = mRoomEvents.containsKey(roomId) && mRoomEvents.get(roomId).containsKey(eventId); + } + } + + return res; + } + + @Override + public Event getEvent(String eventId, String roomId) { + Event event = null; + + if (!TextUtils.isEmpty(eventId) && !TextUtils.isEmpty(roomId)) { + synchronized (mRoomEventsLock) { + LinkedHashMap events = mRoomEvents.get(roomId); + + if (events != null) { + event = events.get(eventId); + } + } + } + + return event; + } + + @Override + public void deleteEvent(Event event) { + if ((null != event) && (null != event.roomId) && (event.eventId != null)) { + synchronized (mRoomEventsLock) { + LinkedHashMap events = mRoomEvents.get(event.roomId); + if (events != null) { + events.remove(event.eventId); + } + } + } + } + + @Override + public void deleteRoom(String roomId) { + // sanity check + if (null != roomId) { + deleteRoomData(roomId); + synchronized (mRoomEventsLock) { + mRooms.remove(roomId); + } + } + } + + @Override + public void deleteRoomData(String roomId) { + // sanity check + if (null != roomId) { + synchronized (mRoomEventsLock) { + mRoomEvents.remove(roomId); + mRoomTokens.remove(roomId); + mRoomSummaries.remove(roomId); + mRoomAccountData.remove(roomId); + mReceiptsByRoomId.remove(roomId); + } + } + } + + /** + * Remove all sent messages in a room. + * + * @param roomId the id of the room. + * @param keepUnsent set to true to do not delete the unsent message + */ + @Override + public void deleteAllRoomMessages(String roomId, boolean keepUnsent) { + // sanity check + if (null != roomId) { + synchronized (mRoomEventsLock) { + + if (keepUnsent) { + LinkedHashMap eventMap = mRoomEvents.get(roomId); + + if (null != eventMap) { + List events = new ArrayList<>(eventMap.values()); + + for (Event event : events) { + if (event.mSentState == Event.SentState.SENT) { + if (null != event.eventId) { + eventMap.remove(event.eventId); + } + } + } + } + } else { + mRoomEvents.remove(roomId); + } + + mRoomSummaries.remove(roomId); + } + } + } + + @Override + public void flushRoomEvents(String roomId) { + // NOP + } + + @Override + public void storeRoomEvents(String roomId, TokensChunkEvents tokensChunkEvents, EventTimeline.Direction direction) { + try { + if (null != roomId) { + synchronized (mRoomEventsLock) { + LinkedHashMap events = mRoomEvents.get(roomId); + if (events == null) { + events = new LinkedHashMap<>(); + mRoomEvents.put(roomId, events); + } + + if (direction == EventTimeline.Direction.FORWARDS) { + mRoomTokens.put(roomId, tokensChunkEvents.start); + + for (Event event : tokensChunkEvents.chunk) { + events.put(event.eventId, event); + } + } else { // BACKWARD + Collection eventsList = events.values(); + + // no stored events + if (events.size() == 0) { + // insert the catchup events in reverse order + for (int index = tokensChunkEvents.chunk.size() - 1; index >= 0; index--) { + Event backEvent = tokensChunkEvents.chunk.get(index); + events.put(backEvent.eventId, backEvent); + } + + // define a token + mRoomTokens.put(roomId, tokensChunkEvents.start); + } else { + LinkedHashMap events2 = new LinkedHashMap<>(); + + // insert the catchup events in reverse order + for (int index = tokensChunkEvents.chunk.size() - 1; index >= 0; index--) { + Event backEvent = tokensChunkEvents.chunk.get(index); + events2.put(backEvent.eventId, backEvent); + } + + // add the previous added Events + for (Event event : eventsList) { + events2.put(event.eventId, event); + } + + // store the new list + mRoomEvents.put(roomId, events2); + } + } + } + } + } catch (OutOfMemoryError e) { + dispatchOOM(e); + } + } + + /** + * Store the back token of a room. + * + * @param roomId the room id. + * @param backToken the back token + */ + @Override + public void storeBackToken(String roomId, String backToken) { + if ((null != roomId) && (null != backToken)) { + mRoomTokens.put(roomId, backToken); + } + } + + @Override + public void flushSummary(RoomSummary summary) { + } + + @Override + public void flushSummaries() { + } + + @Override + public void storeSummary(RoomSummary summary) { + try { + if ((null != summary) && (null != summary.getRoomId())) { + mRoomSummaries.put(summary.getRoomId(), summary); + } + } catch (OutOfMemoryError e) { + dispatchOOM(e); + } + } + + @Override + public void storeAccountData(String roomId, RoomAccountData accountData) { + try { + if (null != roomId) { + Room room = mRooms.get(roomId); + + // sanity checks + if ((room != null) && (null != accountData)) { + mRoomAccountData.put(roomId, accountData); + } + } + } catch (OutOfMemoryError e) { + dispatchOOM(e); + } + } + + @Override + public void storeLiveStateForRoom(String roomId) { + } + + @Override + public void storeRoomStateEvent(String roomId, Event event) { + /*synchronized (mRoomStateEventsByRoomId) { + Map events = mRoomStateEventsByRoomId.get(roomId); + + if (null == events) { + events = new HashMap<>(); + mRoomStateEventsByRoomId.put(roomId, events); + } + + // keeps the latest state events + if (null != event.stateKey) { + events.put(event.stateKey, event); + } + }*/ + } + + @Override + public void getRoomStateEvents(final String roomId, final ApiCallback> callback) { + final List events = new ArrayList<>(); + + /*synchronized (mRoomStateEventsByRoomId) { + if (mRoomStateEventsByRoomId.containsKey(roomId)) { + events.addAll(mRoomStateEventsByRoomId.get(roomId).values()); + } + }*/ + + (new Handler(Looper.getMainLooper())).post(new Runnable() { + @Override + public void run() { + callback.onSuccess(events); + } + }); + } + + /** + * Retrieve all non-state room events for this room. + * + * @param roomId The room ID + * @return A collection of events. null if there is no cached event. + */ + @Override + public Collection getRoomMessages(final String roomId) { + // sanity check + if (null == roomId) { + return null; + } + + Collection collection = null; + + synchronized (mRoomEventsLock) { + LinkedHashMap events = mRoomEvents.get(roomId); + + if (null != events) { + collection = new ArrayList<>(events.values()); + } + } + + return collection; + } + + @Override + public TokensChunkEvents getEarlierMessages(final String roomId, final String fromToken, final int limit) { + // For now, we return everything we have for the original null token request + // For older requests (providing a token), returning null for now + if (null != roomId) { + List eventsList; + + synchronized (mRoomEventsLock) { + LinkedHashMap events = mRoomEvents.get(roomId); + if ((events == null) || (events.size() == 0)) { + return null; + } + + // reach the end of the stored items + if (TextUtils.equals(mRoomTokens.get(roomId), fromToken)) { + return null; + } + + // check if the token is known in the sublist + eventsList = new ArrayList<>(events.values()); + } + + + List subEventsList = new ArrayList<>(); + + // search from the latest to the oldest events + Collections.reverse(eventsList); + + TokensChunkEvents response = new TokensChunkEvents(); + + // start the latest event and there is enough events to provide to the caller ? + if ((null == fromToken) && (eventsList.size() <= limit)) { + subEventsList = eventsList; + } else { + int index = 0; + + if (null != fromToken) { + // search if token is one of the stored events + for (; (index < eventsList.size()) && (!TextUtils.equals(fromToken, eventsList.get(index).mToken)); index++) + ; + + index++; + } + + // found it ? + if (index < eventsList.size()) { + for (; index < eventsList.size(); index++) { + Event event = eventsList.get(index); + subEventsList.add(event); + + // loop until to find an event with a token + if ((subEventsList.size() >= limit) && (event.mToken != null)) { + break; + } + } + } + } + + // unknown token + if (subEventsList.size() == 0) { + return null; + } + + response.chunk = subEventsList; + + Event firstEvent = subEventsList.get(0); + Event lastEvent = subEventsList.get(subEventsList.size() - 1); + + response.start = firstEvent.mToken; + + // unknown last event token, use the latest known one + if ((null == lastEvent.mToken) && !TextUtils.isEmpty(mRoomTokens.get(roomId))) { + lastEvent.mToken = mRoomTokens.get(roomId); + } + + response.end = lastEvent.mToken; + + return response; + } + return null; + } + + @Override + public Collection getSummaries() { + List summaries = new ArrayList<>(); + + for (String roomId : mRoomSummaries.keySet()) { + Room room = mRooms.get(roomId); + if (null != room) { + if (!room.isJoined() && !room.isInvited()) { + Log.e(LOG_TAG, "## getSummaries() : a summary exists for the roomId " + roomId + " but the user is not anymore a member"); + } else { + summaries.add(mRoomSummaries.get(roomId)); + } + } else { + Log.e(LOG_TAG, "## getSummaries() : a summary exists for the roomId " + roomId + " but it does not exist in the room list"); + } + } + + return summaries; + } + + @Nullable + @Override + public RoomSummary getSummary(String roomId) { + // sanity check + if (null == roomId) { + return null; + } + + Room room = mRooms.get(roomId); + if (null != room) { + return mRoomSummaries.get(roomId); + } else { + Log.e(LOG_TAG, "## getSummary() : a summary exists for the roomId " + roomId + " but it does not exist in the room list"); + } + + return null; + } + + @Override + public List getLatestUnsentEvents(String roomId) { + if (null == roomId) { + return null; + } + + List unsentRoomEvents = new ArrayList<>(); + + synchronized (mRoomEventsLock) { + LinkedHashMap events = mRoomEvents.get(roomId); + + // contain some events + if ((null != events) && (events.size() > 0)) { + List eventsList = new ArrayList<>(events.values()); + + for (int index = events.size() - 1; index >= 0; index--) { + Event event = eventsList.get(index); + + if (event.mSentState == Event.SentState.WAITING_RETRY) { + unsentRoomEvents.add(event); + } else { + //break; + } + } + + Collections.reverse(unsentRoomEvents); + } + } + + return unsentRoomEvents; + } + + @Override + public List getUndeliveredEvents(String roomId) { + if (null == roomId) { + return null; + } + + List undeliveredEvents = new ArrayList<>(); + + synchronized (mRoomEventsLock) { + LinkedHashMap events = mRoomEvents.get(roomId); + + // contain some events + if ((null != events) && (events.size() > 0)) { + List eventsList = new ArrayList<>(events.values()); + + for (int index = 0; index < events.size(); index++) { + Event event = eventsList.get(index); + + if (event.isUndelivered()) { + undeliveredEvents.add(event); + } + } + } + } + + return undeliveredEvents; + } + + @Override + public List getUnknownDeviceEvents(String roomId) { + if (null == roomId) { + return null; + } + + List unknownDeviceEvents = new ArrayList<>(); + + synchronized (mRoomEventsLock) { + LinkedHashMap events = mRoomEvents.get(roomId); + + // contain some events + if ((null != events) && (events.size() > 0)) { + List eventsList = new ArrayList<>(events.values()); + + for (int index = 0; index < events.size(); index++) { + Event event = eventsList.get(index); + + if (event.isUnknownDevice()) { + unknownDeviceEvents.add(event); + } + } + } + } + + return unknownDeviceEvents; + } + + /** + * Returns the receipts list for an event in a dedicated room. + * if sort is set to YES, they are sorted from the latest to the oldest ones. + * + * @param roomId The room Id. + * @param eventId The event Id. (null to retrieve all existing receipts) + * @param excludeSelf exclude the oneself read receipts. + * @param sort to sort them from the latest to the oldest + * @return the receipts for an event in a dedicated room. + */ + @Override + public List getEventReceipts(String roomId, String eventId, boolean excludeSelf, boolean sort) { + List receipts = new ArrayList<>(); + + synchronized (mReceiptsByRoomIdLock) { + if (mReceiptsByRoomId.containsKey(roomId)) { + String myUserID = mCredentials.userId; + + Map receiptsByUserId = mReceiptsByRoomId.get(roomId); + // copy the user id list to avoid having update while looping + List userIds = new ArrayList<>(receiptsByUserId.keySet()); + + if (null == eventId) { + receipts.addAll(receiptsByUserId.values()); + } else { + for (String userId : userIds) { + if (receiptsByUserId.containsKey(userId) && (!excludeSelf || !TextUtils.equals(myUserID, userId))) { + ReceiptData receipt = receiptsByUserId.get(userId); + + if (TextUtils.equals(receipt.eventId, eventId)) { + receipts.add(receipt); + } + } + } + } + } + } + + if (sort && (receipts.size() > 0)) { + Collections.sort(receipts, Comparators.descComparator); + } + + return receipts; + } + + /** + * Store the receipt for an user in a room. + * The receipt validity is checked i.e the receipt is not for an already read message. + * + * @param receipt The event + * @param roomId The roomId + * @return true if the receipt has been stored + */ + @Override + public boolean storeReceipt(ReceiptData receipt, String roomId) { + try { + // sanity check + if (TextUtils.isEmpty(roomId) || (null == receipt)) { + return false; + } + + Map receiptsByUserId; + + //Log.d(LOG_TAG, "## storeReceipt() : roomId " + roomId + " userId " + receipt.userId + " eventId " + receipt.eventId + // + " originServerTs " + receipt.originServerTs); + + synchronized (mReceiptsByRoomIdLock) { + if (!mReceiptsByRoomId.containsKey(roomId)) { + receiptsByUserId = new HashMap<>(); + mReceiptsByRoomId.put(roomId, receiptsByUserId); + } else { + receiptsByUserId = mReceiptsByRoomId.get(roomId); + } + } + + ReceiptData curReceipt = null; + + if (receiptsByUserId.containsKey(receipt.userId)) { + curReceipt = receiptsByUserId.get(receipt.userId); + } + + if (null == curReceipt) { + //Log.d(LOG_TAG, "## storeReceipt() : there was no receipt from this user"); + receiptsByUserId.put(receipt.userId, receipt); + return true; + } + + if (TextUtils.equals(receipt.eventId, curReceipt.eventId)) { + //Log.d(LOG_TAG, "## storeReceipt() : receipt for the same event"); + return false; + } + + if (receipt.originServerTs < curReceipt.originServerTs) { + //Log.d(LOG_TAG, "## storeReceipt() : the receipt is older that the current one"); + return false; + } + + // check if the read receipt is not for an already read message + if (TextUtils.equals(receipt.userId, mCredentials.userId)) { + synchronized (mReceiptsByRoomIdLock) { + LinkedHashMap eventsMap = mRoomEvents.get(roomId); + + // test if the event is know + if ((null != eventsMap) && eventsMap.containsKey(receipt.eventId)) { + List eventIds = new ArrayList<>(eventsMap.keySet()); + + int curEventPos = eventIds.indexOf(curReceipt.eventId); + int newEventPos = eventIds.indexOf(receipt.eventId); + + if (curEventPos >= newEventPos) { + Log.d(LOG_TAG, "## storeReceipt() : the read message is already read (cur pos " + curEventPos + + " receipt event pos " + newEventPos + ")"); + return false; + } + } + } + } + + //Log.d(LOG_TAG, "## storeReceipt() : updated"); + receiptsByUserId.put(receipt.userId, receipt); + } catch (OutOfMemoryError e) { + dispatchOOM(e); + } + + return true; + } + + /** + * Get the receipt for an user in a dedicated room. + * + * @param roomId the room id. + * @param userId the user id. + * @return the dedicated receipt + */ + @Override + public ReceiptData getReceipt(String roomId, String userId) { + ReceiptData res = null; + + // sanity checks + if (!TextUtils.isEmpty(roomId) && !TextUtils.isEmpty(userId)) { + synchronized (mReceiptsByRoomIdLock) { + if (mReceiptsByRoomId.containsKey(roomId)) { + Map receipts = mReceiptsByRoomId.get(roomId); + res = receipts.get(userId); + } + } + } + + return res; + } + + /** + * Return a list of stored events after the parameter one. + * It could the ones sent by the user excludedUserId. + * A filter can be applied to ignore some event (Event.EVENT_TYPE_...). + * + * @param roomId the roomId + * @param eventId the start event Id. + * @param excludedUserId the excluded user id + * @param allowedTypes the filtered event type (null to allow anyone) + * @return the evnts list + */ + private List eventsAfter(String roomId, String eventId, String excludedUserId, List allowedTypes) { + // events list + List events = new ArrayList<>(); + + // sanity check + if (null != roomId) { + synchronized (mRoomEventsLock) { + LinkedHashMap roomEvents = mRoomEvents.get(roomId); + + if (roomEvents != null) { + List linkedEvents = new ArrayList<>(roomEvents.values()); + + // Check messages from the most recent + for (int i = linkedEvents.size() - 1; i >= 0; i--) { + Event event = linkedEvents.get(i); + + if ((null == eventId) || !TextUtils.equals(event.eventId, eventId)) { + // Keep events matching filters + if ((null == allowedTypes || (allowedTypes.indexOf(event.getType()) >= 0)) + && !TextUtils.equals(event.getSender(), excludedUserId)) { + events.add(event); + } + } else { + // We are done + break; + } + } + + // filter the unread messages + // some messages are not defined as unreadable + for (int index = 0; index < events.size(); index++) { + Event event = events.get(index); + + if (TextUtils.equals(event.getSender(), mCredentials.userId) || TextUtils.equals(event.getType(), Event.EVENT_TYPE_STATE_ROOM_MEMBER)) { + events.remove(index); + index--; + } + } + + Collections.reverse(events); + } + } + } + + return events; + } + + /** + * Check if an event has been read by an user. + * + * @param roomId the room Id + * @param userId the user id + * @param eventIdTotest the event id + * @return true if the user has read the message. + */ + @Override + public boolean isEventRead(String roomId, String userId, String eventIdTotest) { + boolean res = false; + + // sanity check + if ((null != roomId) && (null != userId)) { + synchronized (mReceiptsByRoomIdLock) { + synchronized (mRoomEventsLock) { + if (mReceiptsByRoomId.containsKey(roomId) && mRoomEvents.containsKey(roomId)) { + Map receiptsByUserId = mReceiptsByRoomId.get(roomId); + LinkedHashMap eventsMap = mRoomEvents.get(roomId); + + // check if the event is known + if (eventsMap.containsKey(eventIdTotest) && receiptsByUserId.containsKey(userId)) { + ReceiptData data = receiptsByUserId.get(userId); + List eventIds = new ArrayList<>(eventsMap.keySet()); + + // the message has been read if it was sent before the latest read one + res = eventIds.indexOf(eventIdTotest) <= eventIds.indexOf(data.eventId); + } else if (receiptsByUserId.containsKey(userId)) { + // the event is not known so assume it is has been flushed + res = true; + } + } + } + } + } + + return res; + } + + /** + * Provides the unread events list. + * + * @param roomId the room id. + * @param types an array of event types strings (Event.EVENT_TYPE_XXX). + * @return the unread events list. + */ + @Override + public List unreadEvents(String roomId, List types) { + List res = null; + + synchronized (mReceiptsByRoomIdLock) { + if (mReceiptsByRoomId.containsKey(roomId)) { + Map receiptsByUserId = mReceiptsByRoomId.get(roomId); + + if (receiptsByUserId.containsKey(mCredentials.userId)) { + ReceiptData data = receiptsByUserId.get(mCredentials.userId); + + res = eventsAfter(roomId, data.eventId, mCredentials.userId, types); + } + } + } + + if (null == res) { + res = new ArrayList<>(); + } + + return res; + } + + /** + * @return the current listeners + */ + private List getListeners() { + List listeners; + + synchronized (this) { + listeners = new ArrayList<>(mListeners); + } + + return listeners; + } + + /** + * Dispatch postProcess + * + * @param accountId the account id + */ + protected void dispatchPostProcess(String accountId) { + List listeners = getListeners(); + + for (IMXStoreListener listener : listeners) { + listener.postProcess(accountId); + } + } + + /** + * Dispatch store ready + * + * @param accountId the account id + */ + protected void dispatchOnStoreReady(String accountId) { + List listeners = getListeners(); + + for (IMXStoreListener listener : listeners) { + listener.onStoreReady(accountId); + } + } + + /** + * Dispatch that the store is corrupted + * + * @param accountId the account id + * @param description the error description + */ + protected void dispatchOnStoreCorrupted(String accountId, String description) { + List listeners = getListeners(); + + for (IMXStoreListener listener : listeners) { + listener.onStoreCorrupted(accountId, description); + } + } + + /** + * Dispatch an out of memory error. + * + * @param e the out of memory error + */ + protected void dispatchOOM(OutOfMemoryError e) { + List listeners = getListeners(); + + for (IMXStoreListener listener : listeners) { + listener.onStoreOOM(mCredentials.userId, e.getMessage()); + } + } + + /** + * Dispatch the read receipts loading. + * + * @param roomId the room id. + */ + protected void dispatchOnReadReceiptsLoaded(String roomId) { + List listeners = getListeners(); + + for (IMXStoreListener listener : listeners) { + listener.onReadReceiptsLoaded(roomId); + } + } + + /** + * Provides the store preload time in milliseconds. + * + * @return the store preload time in milliseconds. + */ + @Override + public long getPreloadTime() { + return 0; + } + + /** + * Provides some store stats + * + * @return the store stats + */ + @Override + public Map getStats() { + return new HashMap<>(); + } + + /** + * Start a runnable from the store thread + * + * @param runnable the runnable to call + */ + @Override + public void post(Runnable runnable) { + new Handler(Looper.getMainLooper()).post(runnable); + } + + /** + * Store a group + * + * @param group the group to store + */ + @Override + public void storeGroup(Group group) { + if ((null != group) && !TextUtils.isEmpty(group.getGroupId())) { + synchronized (mGroups) { + mGroups.put(group.getGroupId(), group); + } + } + } + + /** + * Flush a group + * + * @param group the group to store + */ + @Override + public void flushGroup(Group group) { + } + + /** + * Delete a group + * + * @param groupId the groupId to delete + */ + @Override + public void deleteGroup(String groupId) { + if (!TextUtils.isEmpty(groupId)) { + synchronized (mGroups) { + mGroups.remove(groupId); + } + } + } + + /** + * Retrieve a group from its id. + * + * @param groupId the group id + * @return the group if it exists + */ + @Override + public Group getGroup(String groupId) { + synchronized (mGroups) { + return (null != groupId) ? mGroups.get(groupId) : null; + } + } + + /** + * @return the stored groups + */ + @Override + public Collection getGroups() { + synchronized (mGroups) { + return mGroups.values(); + } + } + + @Override + public void setURLPreviewEnabled(boolean value) { + mMetadata.mIsUrlPreviewEnabled = value; + } + + @Override + public boolean isURLPreviewEnabled() { + return mMetadata.mIsUrlPreviewEnabled; + } + + @Override + public void setRoomsWithoutURLPreview(Set roomIds) { + mMetadata.mRoomsListWithoutURLPrevew = roomIds; + } + + @Override + public void setUserWidgets(Map contentDict) { + mMetadata.mUserWidgets = contentDict; + } + + @Override + public Map getUserWidgets() { + return mMetadata.mUserWidgets; + } + + @Override + public Set getRoomsWithoutURLPreviews() { + return (null != mMetadata.mRoomsListWithoutURLPrevew) ? mMetadata.mRoomsListWithoutURLPrevew : new HashSet(); + } + + @Override + public void addFilter(String jsonFilter, String filterId) { + mMetadata.mKnownFilters.put(jsonFilter, filterId); + } + + @Override + public Map getFilters() { + return new HashMap<>(mMetadata.mKnownFilters); + } + + @Override + public void setAntivirusServerPublicKey(@Nullable String key) { + mMetadata.mAntivirusServerPublicKey = key; + } + + @Override + @Nullable + public String getAntivirusServerPublicKey() { + return mMetadata.mAntivirusServerPublicKey; + } + + /** + * Update the metrics listener + * + * @param metricsListener the metrics listener + */ + public void setMetricsListener(MetricsListener metricsListener) { + mMetricsListener = metricsListener; + } + + /** + * Get the associated dataHandler + * + * @return the associated dataHandler + */ + protected MXDataHandler getDataHandler() { + return mDataHandler; + } + + /** + * Update the associated dataHandler + * + * @param dataHandler the dataHandler + */ + public void setDataHandler(final MXDataHandler dataHandler) { + mDataHandler = dataHandler; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/MXStoreListener.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/MXStoreListener.java new file mode 100644 index 00000000..19de74a9 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/store/MXStoreListener.java @@ -0,0 +1,42 @@ +/* + * Copyright 2015 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.data.store; + +/** + * An default implementation of IMXStoreListener + */ +public class MXStoreListener implements IMXStoreListener { + @Override + public void postProcess(String accountId) { + } + + @Override + public void onStoreReady(String accountId) { + } + + @Override + public void onStoreCorrupted(String accountId, String description) { + } + + @Override + public void onStoreOOM(String accountId, String description) { + } + + @Override + public void onReadReceiptsLoaded(String roomId) { + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/EventTimeline.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/EventTimeline.java new file mode 100644 index 00000000..97372669 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/EventTimeline.java @@ -0,0 +1,235 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data.timeline; + +import android.support.annotation.NonNull; + +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.data.store.IMXStore; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.sync.InvitedRoomSync; +import im.vector.matrix.android.internal.legacy.rest.model.sync.RoomSync; + +/** + * A `EventTimeline` instance represents a contiguous sequence of events in a room. + *

    + * There are two kinds of timeline: + *

    + * - live timelines: they receive live events from the events stream. You can paginate + * backwards but not forwards. + * All (live or backwards) events they receive are stored in the store of the current + * MXSession. + *

    + * - past timelines: they start in the past from an `initialEventId`. They are filled + * with events on calls of [MXEventTimeline paginate] in backwards or forwards direction. + * Events are stored in a in-memory store (MXMemoryStore). + */ +public interface EventTimeline { + /** + * Defines that the current timeline is an historical one + * + * @param isHistorical true when the current timeline is an historical one + */ + void setIsHistorical(boolean isHistorical); + + /** + * Returns true if the current timeline is an historical one + */ + boolean isHistorical(); + + /** + * @return the unique identifier + */ + String getTimelineId(); + + /** + * @return the dedicated room + */ + Room getRoom(); + + /** + * @return the used store + */ + IMXStore getStore(); + + /** + * @return the initial event id. + */ + String getInitialEventId(); + + /** + * @return true if this timeline is the live one + */ + boolean isLiveTimeline(); + + /** + * Get whether we are at the end of the message stream + * + * @return true if end has been reached + */ + boolean hasReachedHomeServerForwardsPaginationEnd(); + + /** + * Reset the back state so that future history requests start over from live. + * Must be called when opening a room if interested in history. + */ + void initHistory(); + + /** + * @return The state of the room at the top most recent event of the timeline. + */ + RoomState getState(); + + /** + * Update the state. + * + * @param state the new state. + */ + void setState(RoomState state); + + /** + * Handle the invitation room events + * + * @param invitedRoomSync the invitation room events. + */ + void handleInvitedRoomSync(InvitedRoomSync invitedRoomSync); + + /** + * Manage the joined room events. + * + * @param roomSync the roomSync. + * @param isGlobalInitialSync true if the sync has been triggered by a global initial sync + */ + void handleJoinedRoomSync(@NonNull RoomSync roomSync, boolean isGlobalInitialSync); + + /** + * Store an outgoing event. + * + * @param event the event to store + */ + void storeOutgoingEvent(Event event); + + /** + * Tells if a back pagination can be triggered. + * + * @return true if a back pagination can be triggered. + */ + boolean canBackPaginate(); + + /** + * Request older messages. + * + * @param callback the asynchronous callback + * @return true if request starts + */ + boolean backPaginate(ApiCallback callback); + + /** + * Request older messages. + * + * @param eventCount number of events we want to retrieve + * @param callback callback to implement to be informed that the pagination request has been completed. Can be null. + * @return true if request starts + */ + boolean backPaginate(int eventCount, ApiCallback callback); + + /** + * Request older messages. + * + * @param eventCount number of events we want to retrieve + * @param useCachedOnly to use the cached events list only (i.e no request will be triggered) + * @param callback callback to implement to be informed that the pagination request has been completed. Can be null. + * @return true if request starts + */ + boolean backPaginate(int eventCount, boolean useCachedOnly, ApiCallback callback); + + /** + * Request newer messages. + * + * @param callback callback to implement to be informed that the pagination request has been completed. Can be null. + * @return true if request starts + */ + boolean forwardPaginate(ApiCallback callback); + + /** + * Trigger a pagination in the expected direction. + * + * @param direction the direction. + * @param callback the callback. + * @return true if the operation succeeds + */ + boolean paginate(Direction direction, ApiCallback callback); + + /** + * Cancel any pending pagination requests + */ + void cancelPaginationRequests(); + + /** + * Reset the pagination timeline and start loading the context around its `initialEventId`. + * The retrieved (backwards and forwards) events will be sent to registered listeners. + * + * @param limit the maximum number of messages to get around the initial event. + * @param callback the operation callback + */ + void resetPaginationAroundInitialEvent(int limit, ApiCallback callback); + + /** + * Add an events listener. + * + * @param listener the listener to add. + */ + void addEventTimelineListener(Listener listener); + + /** + * Remove an events listener. + * + * @param listener the listener to remove. + */ + void removeEventTimelineListener(Listener listener); + + /** + * The direction from which an incoming event is considered. + */ + enum Direction { + /** + * Forwards when the event is added to the end of the timeline. + * These events come from the /sync stream or from forwards pagination. + */ + FORWARDS, + + /** + * Backwards when the event is added to the start of the timeline. + * These events come from a back pagination. + */ + BACKWARDS + } + + interface Listener { + + /** + * Call when an event has been handled in the timeline. + * + * @param event the event. + * @param direction the direction. + * @param roomState the room state + */ + void onEvent(Event event, Direction direction, RoomState roomState); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/EventTimelineFactory.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/EventTimelineFactory.java new file mode 100644 index 00000000..6cbdefab --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/EventTimelineFactory.java @@ -0,0 +1,91 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data.timeline; + +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; + +import im.vector.matrix.android.internal.legacy.MXDataHandler; +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.data.store.MXMemoryStore; + +/** + * This factory creates MXEventTimeline instances + */ +public class EventTimelineFactory { + + /** + * Method to create a live timeline associated with the room. + * + * @param dataHandler the dataHandler + * @param room the linked room + * @param roomId the room id + */ + public static EventTimeline liveTimeline(@NonNull final MXDataHandler dataHandler, + @NonNull final Room room, + @NonNull final String roomId) { + return new MXEventTimeline(dataHandler.getStore(roomId), dataHandler, room, roomId, null, true); + } + + /** + * Method to create an in memory timeline for a room. + * + * @param dataHandler the data handler + * @param roomId the room id. + */ + public static EventTimeline inMemoryTimeline(@NonNull final MXDataHandler dataHandler, + @NonNull final String roomId) { + return inMemoryTimeline(dataHandler, roomId, null); + } + + /** + * Method to create a past timeline around an eventId. + * It will create a memory store and a room + * + * @param dataHandler the data handler + * @param roomId the room id + * @param eventId the event id + */ + public static EventTimeline pastTimeline(@NonNull final MXDataHandler dataHandler, + @NonNull final String roomId, + @NonNull final String eventId) { + return inMemoryTimeline(dataHandler, roomId, eventId); + } + + /* ========================================================================================== + * Private + * ========================================================================================== */ + + /** + * Method to create a in memory timeline. + * It will create a memory store and a room + * + * @param dataHandler the data handler + * @param roomId the room id + * @param eventId the event id or null + */ + private static EventTimeline inMemoryTimeline(@NonNull final MXDataHandler dataHandler, + @NonNull final String roomId, + @Nullable final String eventId) { + final MXMemoryStore store = new MXMemoryStore(dataHandler.getCredentials(), null); + final Room room = dataHandler.getRoom(store, roomId, true); + final EventTimeline eventTimeline = new MXEventTimeline(store, dataHandler, room, roomId, eventId, false); + room.setTimeline(eventTimeline); + room.setReadyState(true); + return eventTimeline; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/MXEventTimeline.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/MXEventTimeline.java new file mode 100644 index 00000000..ea4ead5f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/MXEventTimeline.java @@ -0,0 +1,990 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data.timeline; + +import android.os.AsyncTask; +import android.os.Looper; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.MXDataHandler; +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.data.RoomSummary; +import im.vector.matrix.android.internal.legacy.data.store.IMXStore; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.EventContext; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.TokensChunkEvents; +import im.vector.matrix.android.internal.legacy.rest.model.sync.InvitedRoomSync; +import im.vector.matrix.android.internal.legacy.rest.model.sync.RoomSync; +import im.vector.matrix.android.internal.legacy.util.FilterUtil; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * A private implementation of EventTimeline interface. It's not exposed as you don't have to directly instantiate it. + * Should be instantiated through EventTimelineFactory. + */ +class MXEventTimeline implements EventTimeline { + private static final String LOG_TAG = MXEventTimeline.class.getSimpleName(); + + /** + * The initial event id used to initialise the timeline. + * null in case of live timeline. + */ + private String mInitialEventId; + + /** + * Indicate if this timeline is a live one. + */ + private boolean mIsLiveTimeline; + + /** + * The associated room. + */ + private final Room mRoom; + + /** + * the room Id + */ + private String mRoomId; + + /** + * The store. + */ + private IMXStore mStore; + + /** + * MXStore does only back pagination. So, the forward pagination token for + * past timelines is managed locally. + */ + private String mForwardsPaginationToken; + private boolean mHasReachedHomeServerForwardsPaginationEnd; + + /** + * The data handler : used to retrieve data from the store or to trigger REST requests. + */ + private MXDataHandler mDataHandler; + + /** + * Pending request statuses + */ + private boolean mIsBackPaginating = false; + private boolean mIsForwardPaginating = false; + + /** + * true if the back history has been retrieved. + */ + public boolean mCanBackPaginate = true; + + /** + * true if the last back chunck has been received + */ + private boolean mIsLastBackChunk; + + /** + * the server provides a token even for the first room message (which should never change it is the creator message). + * so requestHistory always triggers a remote request which returns an empty json. + * try to avoid such behaviour + */ + private String mBackwardTopToken = "not yet found"; + + // true when the current timeline is an historical one + private boolean mIsHistorical; + + /** + * Unique identifier + */ + private final String mTimelineId = System.currentTimeMillis() + ""; + + /** + * * This class handles storing a live room event in a dedicated store. + */ + private final TimelineEventSaver mTimelineEventSaver; + + /** + * This class is responsible for holding the state and backState of a room timeline + */ + private final TimelineStateHolder mStateHolder; + + /** + * This class handle the timeline event listeners + */ + private final TimelineEventListeners mEventListeners; + + /** + * This class is responsible for handling events coming down from the event stream. + */ + private final TimelineLiveEventHandler mLiveEventHandler; + + /** + * Constructor with package visibility. Creation should be done through EventTimelineFactory + * + * @param store the store associated (in case of past timeline, the store is memory only) + * @param dataHandler the dataHandler + * @param room the room + * @param roomId the room id + * @param eventId the eventId + * @param isLive true if the timeline is a live one + */ + MXEventTimeline(@NonNull final IMXStore store, + @NonNull final MXDataHandler dataHandler, + @NonNull final Room room, + @NonNull final String roomId, + @Nullable final String eventId, + final boolean isLive) { + mIsLiveTimeline = isLive; + mInitialEventId = eventId; + mDataHandler = dataHandler; + mRoom = room; + mRoomId = roomId; + mStore = store; + mEventListeners = new TimelineEventListeners(); + mStateHolder = new TimelineStateHolder(mDataHandler, mStore, roomId); + final StateEventRedactionChecker stateEventRedactionChecker = new StateEventRedactionChecker(this, mStateHolder); + mTimelineEventSaver = new TimelineEventSaver(mStore, mRoom, mStateHolder); + final TimelinePushWorker timelinePushWorker = new TimelinePushWorker(mDataHandler); + mLiveEventHandler = new TimelineLiveEventHandler(this, + mTimelineEventSaver, + stateEventRedactionChecker, + timelinePushWorker, + mStateHolder, + mEventListeners); + } + + /** + * Defines that the current timeline is an historical one + * + * @param isHistorical true when the current timeline is an historical one + */ + @Override + public void setIsHistorical(boolean isHistorical) { + mIsHistorical = isHistorical; + } + + /** + * Returns true if the current timeline is an historical one + */ + @Override + public boolean isHistorical() { + return mIsHistorical; + } + + /* + * @return the unique identifier + */ + @Override + public String getTimelineId() { + return mTimelineId; + } + + /** + * @return the dedicated room + */ + @Override + public Room getRoom() { + return mRoom; + } + + /** + * @return the used store + */ + @Override + public IMXStore getStore() { + return mStore; + } + + /** + * @return the initial event id. + */ + @Override + public String getInitialEventId() { + return mInitialEventId; + } + + /** + * @return true if this timeline is the live one + */ + @Override + public boolean isLiveTimeline() { + return mIsLiveTimeline; + } + + /** + * Get whether we are at the end of the message stream + * + * @return true if end has been reached + */ + @Override + public boolean hasReachedHomeServerForwardsPaginationEnd() { + return mHasReachedHomeServerForwardsPaginationEnd; + } + + + /** + * Reset the back state so that future history requests start over from live. + * Must be called when opening a room if interested in history. + */ + @Override + public void initHistory() { + final RoomState backState = getState().deepCopy(); + setBackState(backState); + mCanBackPaginate = true; + + mIsBackPaginating = false; + mIsForwardPaginating = false; + + // sanity check + if (null != mDataHandler && null != mDataHandler.getDataRetriever()) { + mDataHandler.resetReplayAttackCheckInTimeline(getTimelineId()); + mDataHandler.getDataRetriever().cancelHistoryRequests(mRoomId); + } + } + + /** + * @return The state of the room at the top most recent event of the timeline. + */ + @Override + public RoomState getState() { + return mStateHolder.getState(); + } + + /** + * Update the state. + * + * @param state the new state. + */ + @Override + public void setState(RoomState state) { + mStateHolder.setState(state); + } + + /** + * Update the backState. + * + * @param state the new backState. + */ + private void setBackState(RoomState state) { + mStateHolder.setBackState(state); + } + + /** + * @return the backState. + */ + private RoomState getBackState() { + return mStateHolder.getBackState(); + } + + /** + * Lock over the backPaginate process + * + * @param canBackPaginate the state of the lock (true/false) + */ + protected void setCanBackPaginate(final boolean canBackPaginate) { + mCanBackPaginate = canBackPaginate; + } + + /** + * Make a deep copy or the dedicated state. + * + * @param direction the room state direction to deep copy. + */ + private void deepCopyState(Direction direction) { + mStateHolder.deepCopyState(direction); + } + + /** + * Process a state event to keep the internal live and back states up to date. + * + * @param event the state event + * @param direction the direction; ie. forwards for live state, backwards for back state + * @return true if the event has been processed. + */ + private boolean processStateEvent(Event event, Direction direction) { + return mStateHolder.processStateEvent(event, direction); + } + + /** + * Handle the invitation room events + * + * @param invitedRoomSync the invitation room events. + */ + @Override + public void handleInvitedRoomSync(InvitedRoomSync invitedRoomSync) { + final TimelineInvitedRoomSyncHandler invitedRoomSyncHandler = new TimelineInvitedRoomSyncHandler(mRoom, mLiveEventHandler, invitedRoomSync); + invitedRoomSyncHandler.handle(); + } + + /** + * Manage the joined room events. + * + * @param roomSync the roomSync. + * @param isGlobalInitialSync true if the sync has been triggered by a global initial sync + */ + @Override + public void handleJoinedRoomSync(@NonNull final RoomSync roomSync, final boolean isGlobalInitialSync) { + final TimelineJoinRoomSyncHandler joinRoomSyncHandler = new TimelineJoinRoomSyncHandler(this, + roomSync, + mStateHolder, + mLiveEventHandler, + isGlobalInitialSync); + joinRoomSyncHandler.handle(); + } + + /** + * Store an outgoing event. + * + * @param event the event to store + */ + @Override + public void storeOutgoingEvent(Event event) { + if (mIsLiveTimeline) { + storeEvent(event); + } + } + + /** + * Store the event and update the dedicated room summary + * + * @param event the event to store + */ + private void storeEvent(Event event) { + mTimelineEventSaver.storeEvent(event); + } + + //================================================================================ + // History request + //================================================================================ + + private static final int MAX_EVENT_COUNT_PER_PAGINATION = 30; + + // the storage events are buffered to provide a small bunch of events + // the storage can provide a big bunch which slows down the UI. + public class SnapshotEvent { + public final Event mEvent; + public final RoomState mState; + + public SnapshotEvent(Event event, RoomState state) { + mEvent = event; + mState = state; + } + } + + // avoid adding to many events + // the room history request can provide more than expected event. + private final List mSnapshotEvents = new ArrayList<>(); + + /** + * Send MAX_EVENT_COUNT_PER_PAGINATION events to the caller. + * + * @param maxEventCount the max event count + * @param callback the callback. + */ + private void manageBackEvents(int maxEventCount, final ApiCallback callback) { + // check if the SDK was not logged out + if (!mDataHandler.isAlive()) { + Log.d(LOG_TAG, "manageEvents : mDataHandler is not anymore active."); + + return; + } + + int count = Math.min(mSnapshotEvents.size(), maxEventCount); + + Event latestSupportedEvent = null; + + for (int i = 0; i < count; i++) { + SnapshotEvent snapshotedEvent = mSnapshotEvents.get(0); + + // in some cases, there is no displayed summary + // https://github.com/vector-im/vector-android/pull/354 + if (null == latestSupportedEvent && RoomSummary.isSupportedEvent(snapshotedEvent.mEvent)) { + latestSupportedEvent = snapshotedEvent.mEvent; + } + + mSnapshotEvents.remove(0); + mEventListeners.onEvent(snapshotedEvent.mEvent, Direction.BACKWARDS, snapshotedEvent.mState); + } + + // https://github.com/vector-im/vector-android/pull/354 + // defines a new summary if the known is not supported + RoomSummary summary = mStore.getSummary(mRoomId); + + if (null != latestSupportedEvent && (null == summary || !RoomSummary.isSupportedEvent(summary.getLatestReceivedEvent()))) { + mStore.storeSummary(new RoomSummary(null, latestSupportedEvent, getState(), mDataHandler.getUserId())); + } + + Log.d(LOG_TAG, "manageEvents : commit"); + mStore.commit(); + + if (mSnapshotEvents.size() < MAX_EVENT_COUNT_PER_PAGINATION && mIsLastBackChunk) { + mCanBackPaginate = false; + } + mIsBackPaginating = false; + if (callback != null) { + try { + callback.onSuccess(count); + } catch (Exception e) { + Log.e(LOG_TAG, "requestHistory exception " + e.getMessage(), e); + } + } + } + + /** + * Add some events in a dedicated direction. + * + * @param events the events list + * @param stateEvents the received state events (in case of lazy loading of room members) + * @param direction the direction + */ + private void addPaginationEvents(List events, + @Nullable List stateEvents, + Direction direction) { + RoomSummary summary = mStore.getSummary(mRoomId); + boolean shouldCommitStore = false; + + // Process additional state events (this happens in case of lazy loading) + if (stateEvents != null) { + for (Event stateEvent : stateEvents) { + if (direction == Direction.BACKWARDS) { + // Enrich the timeline root state with the additional state events observed during back pagination + processStateEvent(stateEvent, Direction.FORWARDS); + } + + processStateEvent(stateEvent, direction); + } + } + + // the backward events have a dedicated management to avoid providing too many events for each request + for (Event event : events) { + boolean processedEvent = true; + + if (event.stateKey != null) { + deepCopyState(direction); + processedEvent = processStateEvent(event, direction); + } + + // Decrypt event if necessary + mDataHandler.decryptEvent(event, getTimelineId()); + + if (processedEvent) { + // warn the listener only if the message is processed. + // it should avoid duplicated events. + if (direction == Direction.BACKWARDS) { + if (mIsLiveTimeline) { + // update the summary is the event has been received after the oldest known event + // it might happen after a timeline update (hole in the chat history) + if (null != summary + && (null == summary.getLatestReceivedEvent() + || event.isValidOriginServerTs() + && summary.getLatestReceivedEvent().originServerTs < event.originServerTs + && RoomSummary.isSupportedEvent(event))) { + summary.setLatestReceivedEvent(event, getState()); + mStore.storeSummary(summary); + shouldCommitStore = true; + } + } + mSnapshotEvents.add(new SnapshotEvent(event, getBackState())); + // onEvent will be called in manageBackEvents + } + } + } + + if (shouldCommitStore) { + mStore.commit(); + } + } + + /** + * Add some events in a dedicated direction. + * + * @param events the events list + * @param stateEvents the received state events (in case of lazy loading of room members) + * @param direction the direction + * @param callback the callback. + */ + private void addPaginationEvents(final List events, + @Nullable final List stateEvents, + final Direction direction, + final ApiCallback callback) { + AsyncTask task = new AsyncTask() { + @Override + protected Void doInBackground(Void... params) { + addPaginationEvents(events, stateEvents, direction); + return null; + } + + @Override + protected void onPostExecute(Void args) { + if (direction == Direction.BACKWARDS) { + manageBackEvents(MAX_EVENT_COUNT_PER_PAGINATION, callback); + } else { + for (Event event : events) { + mEventListeners.onEvent(event, Direction.FORWARDS, getState()); + } + + if (null != callback) { + callback.onSuccess(events.size()); + } + } + } + }; + + try { + task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } catch (final Exception e) { + Log.e(LOG_TAG, "## addPaginationEvents() failed " + e.getMessage(), e); + task.cancel(true); + + new android.os.Handler(Looper.getMainLooper()).post(new Runnable() { + @Override + public void run() { + if (null != callback) { + callback.onUnexpectedError(e); + } + } + }); + } + } + + /** + * Tells if a back pagination can be triggered. + * + * @return true if a back pagination can be triggered. + */ + @Override + public boolean canBackPaginate() { + // One at a time please + return !mIsBackPaginating + // history_visibility flag management + && getState().canBackPaginate(mRoom.isJoined(), mRoom.isInvited()) + // If we have already reached the end of history + && mCanBackPaginate + // If the room is not finished being set up + && mRoom.isReady(); + } + + /** + * Request older messages. + * + * @param callback the asynchronous callback + * @return true if request starts + */ + @Override + public boolean backPaginate(final ApiCallback callback) { + return backPaginate(MAX_EVENT_COUNT_PER_PAGINATION, callback); + } + + /** + * Request older messages. + * + * @param eventCount number of events we want to retrieve + * @param callback callback to implement to be informed that the pagination request has been completed. Can be null. + * @return true if request starts + */ + @Override + public boolean backPaginate(final int eventCount, final ApiCallback callback) { + return backPaginate(eventCount, false, callback); + } + + /** + * Request older messages. + * + * @param eventCount number of events we want to retrieve + * @param useCachedOnly to use the cached events list only (i.e no request will be triggered) + * @param callback callback to implement to be informed that the pagination request has been completed. Can be null. + * @return true if request starts + */ + @Override + public boolean backPaginate(final int eventCount, final boolean useCachedOnly, final ApiCallback callback) { + if (!canBackPaginate()) { + Log.d(LOG_TAG, "cannot requestHistory " + mIsBackPaginating + " " + !getState().canBackPaginate(mRoom.isJoined(), mRoom.isInvited()) + + " " + !mCanBackPaginate + " " + !mRoom.isReady()); + return false; + } + + Log.d(LOG_TAG, "backPaginate starts"); + + // restart the pagination + if (null == getBackState().getToken()) { + mSnapshotEvents.clear(); + } + + final String fromBackToken = getBackState().getToken(); + + mIsBackPaginating = true; + + // enough buffered data + if (useCachedOnly + || mSnapshotEvents.size() >= eventCount + || TextUtils.equals(fromBackToken, mBackwardTopToken) + || TextUtils.equals(fromBackToken, Event.PAGINATE_BACK_TOKEN_END)) { + + mIsLastBackChunk = TextUtils.equals(fromBackToken, mBackwardTopToken) || TextUtils.equals(fromBackToken, Event.PAGINATE_BACK_TOKEN_END); + + final android.os.Handler handler = new android.os.Handler(Looper.getMainLooper()); + final int maxEventsCount; + + if (useCachedOnly) { + Log.d(LOG_TAG, "backPaginate : load " + mSnapshotEvents.size() + "cached events list"); + maxEventsCount = Math.min(mSnapshotEvents.size(), eventCount); + } else if (mSnapshotEvents.size() >= eventCount) { + Log.d(LOG_TAG, "backPaginate : the events are already loaded."); + maxEventsCount = eventCount; + } else { + Log.d(LOG_TAG, "backPaginate : reach the history top"); + maxEventsCount = eventCount; + } + + // call the callback with a delay + // to reproduce the same behaviour as a network request. + Runnable r = new Runnable() { + @Override + public void run() { + handler.postDelayed(new Runnable() { + public void run() { + manageBackEvents(maxEventsCount, callback); + } + }, 0); + } + }; + + Thread t = new Thread(r); + t.start(); + + return true; + } + + mDataHandler.getDataRetriever().backPaginate(mStore, mRoomId, getBackState().getToken(), eventCount, mDataHandler.isLazyLoadingEnabled(), + new SimpleApiCallback(callback) { + @Override + public void onSuccess(TokensChunkEvents response) { + if (mDataHandler.isAlive()) { + + if (null != response.chunk) { + Log.d(LOG_TAG, "backPaginate : " + response.chunk.size() + " events are retrieved."); + } else { + Log.d(LOG_TAG, "backPaginate : there is no event"); + } + + mIsLastBackChunk = null != response.chunk + && 0 == response.chunk.size() + && TextUtils.equals(response.end, response.start) + || null == response.end; + + if (mIsLastBackChunk && null != response.end) { + // save its token to avoid useless request + mBackwardTopToken = fromBackToken; + } else { + // the server returns a null pagination token when there is no more available data + if (null == response.end) { + getBackState().setToken(Event.PAGINATE_BACK_TOKEN_END); + } else { + getBackState().setToken(response.end); + } + } + + addPaginationEvents(null == response.chunk ? new ArrayList() : response.chunk, + response.stateEvents, + Direction.BACKWARDS, + callback); + + } else { + Log.d(LOG_TAG, "mDataHandler is not active."); + } + } + + @Override + public void onMatrixError(MatrixError e) { + Log.d(LOG_TAG, "backPaginate onMatrixError"); + + // When we've retrieved all the messages from a room, the pagination token is some invalid value + if (MatrixError.UNKNOWN.equals(e.errcode)) { + mCanBackPaginate = false; + } + mIsBackPaginating = false; + + super.onMatrixError(e); + } + + @Override + public void onNetworkError(Exception e) { + Log.d(LOG_TAG, "backPaginate onNetworkError"); + + mIsBackPaginating = false; + + super.onNetworkError(e); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.d(LOG_TAG, "backPaginate onUnexpectedError"); + + mIsBackPaginating = false; + + super.onUnexpectedError(e); + } + }); + + return true; + } + + /** + * Request newer messages. + * + * @param callback callback to implement to be informed that the pagination request has been completed. Can be null. + * @return true if request starts + */ + @Override + public boolean forwardPaginate(final ApiCallback callback) { + if (mIsLiveTimeline) { + Log.d(LOG_TAG, "Cannot forward paginate on Live timeline"); + return false; + } + + if (mIsForwardPaginating || mHasReachedHomeServerForwardsPaginationEnd) { + Log.d(LOG_TAG, "forwardPaginate " + mIsForwardPaginating + + " mHasReachedHomeServerForwardsPaginationEnd " + mHasReachedHomeServerForwardsPaginationEnd); + return false; + } + + mIsForwardPaginating = true; + + mDataHandler.getDataRetriever().paginate(mStore, mRoomId, mForwardsPaginationToken, Direction.FORWARDS, mDataHandler.isLazyLoadingEnabled(), + new SimpleApiCallback(callback) { + @Override + public void onSuccess(TokensChunkEvents response) { + if (mDataHandler.isAlive()) { + Log.d(LOG_TAG, "forwardPaginate : " + response.chunk.size() + " are retrieved."); + + mHasReachedHomeServerForwardsPaginationEnd = 0 == response.chunk.size() && TextUtils.equals(response.end, response.start); + mForwardsPaginationToken = response.end; + + addPaginationEvents(response.chunk, + response.stateEvents, + Direction.FORWARDS, + callback); + + mIsForwardPaginating = false; + } else { + Log.d(LOG_TAG, "mDataHandler is not active."); + } + } + + @Override + public void onMatrixError(MatrixError e) { + mIsForwardPaginating = false; + + super.onMatrixError(e); + } + + @Override + public void onNetworkError(Exception e) { + mIsForwardPaginating = false; + + super.onNetworkError(e); + } + + @Override + public void onUnexpectedError(Exception e) { + mIsForwardPaginating = false; + + super.onUnexpectedError(e); + } + }); + + return true; + } + + /** + * Trigger a pagination in the expected direction. + * + * @param direction the direction. + * @param callback the callback. + * @return true if the operation succeeds + */ + @Override + public boolean paginate(Direction direction, final ApiCallback callback) { + if (Direction.BACKWARDS == direction) { + return backPaginate(callback); + } else { + return forwardPaginate(callback); + } + } + + /** + * Cancel any pending pagination requests + */ + @Override + public void cancelPaginationRequests() { + mDataHandler.getDataRetriever().cancelHistoryRequests(mRoomId); + mIsBackPaginating = false; + mIsForwardPaginating = false; + } + + //============================================================================================================== + // pagination methods + //============================================================================================================== + + /** + * Reset the pagination timeline and start loading the context around its `initialEventId`. + * The retrieved (backwards and forwards) events will be sent to registered listeners. + * + * @param limit the maximum number of messages to get around the initial event. + * @param callback the operation callback + */ + @Override + public void resetPaginationAroundInitialEvent(final int limit, final ApiCallback callback) { + // Reset the store + mStore.deleteRoomData(mRoomId); + + mDataHandler.resetReplayAttackCheckInTimeline(getTimelineId()); + + mForwardsPaginationToken = null; + mHasReachedHomeServerForwardsPaginationEnd = false; + + mDataHandler.getDataRetriever() + .getRoomsRestClient() + .getContextOfEvent(mRoomId, mInitialEventId, limit, FilterUtil.createRoomEventFilter(mDataHandler.isLazyLoadingEnabled()), + new SimpleApiCallback(callback) { + @Override + public void onSuccess(final EventContext eventContext) { + + AsyncTask task = new AsyncTask() { + @Override + protected Void doInBackground(Void... params) { + // the state is the one after the latest event of the chunk i.e. the last message of eventContext.eventsAfter + for (Event event : eventContext.state) { + processStateEvent(event, Direction.FORWARDS); + } + + // init the room states + initHistory(); + + // build the events list + List events = new ArrayList<>(); + + Collections.reverse(eventContext.eventsAfter); + events.addAll(eventContext.eventsAfter); + events.add(eventContext.event); + events.addAll(eventContext.eventsBefore); + + // add events after + addPaginationEvents(events, null, Direction.BACKWARDS); + + return null; + } + + @Override + protected void onPostExecute(Void args) { + // create dummy forward events list + // to center the selected event id + // else if might be out of screen + List nextSnapshotEvents = new ArrayList<>(mSnapshotEvents.subList(0, (mSnapshotEvents.size() + 1) / 2)); + + // put in the right order + Collections.reverse(nextSnapshotEvents); + + // send them one by one + for (SnapshotEvent snapshotEvent : nextSnapshotEvents) { + mSnapshotEvents.remove(snapshotEvent); + mEventListeners.onEvent(snapshotEvent.mEvent, Direction.FORWARDS, snapshotEvent.mState); + } + + // init the tokens + getBackState().setToken(eventContext.start); + mForwardsPaginationToken = eventContext.end; + + // send the back events to complete pagination + manageBackEvents(MAX_EVENT_COUNT_PER_PAGINATION, new ApiCallback() { + @Override + public void onSuccess(Integer info) { + Log.d(LOG_TAG, "addPaginationEvents succeeds"); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "addPaginationEvents failed " + e.getMessage(), e); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "addPaginationEvents failed " + e.getMessage()); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "addPaginationEvents failed " + e.getMessage(), e); + } + }); + + // everything is done + callback.onSuccess(null); + } + }; + + try { + task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } catch (final Exception e) { + Log.e(LOG_TAG, "## resetPaginationAroundInitialEvent() failed " + e.getMessage(), e); + task.cancel(true); + + new android.os.Handler(Looper.getMainLooper()).post(new Runnable() { + @Override + public void run() { + if (callback != null) { + callback.onUnexpectedError(e); + } + } + }); + } + } + }); + } + + //============================================================================================================== + // onEvent listener management. + //============================================================================================================== + + /** + * Add an events listener. + * + * @param listener the listener to add. + */ + @Override + public void addEventTimelineListener(@Nullable final Listener listener) { + mEventListeners.add(listener); + } + + /** + * Remove an events listener. + * + * @param listener the listener to remove. + */ + @Override + public void removeEventTimelineListener(@Nullable final Listener listener) { + mEventListeners.remove(listener); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/StateEventRedactionChecker.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/StateEventRedactionChecker.java new file mode 100644 index 00000000..f0ac3bf5 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/StateEventRedactionChecker.java @@ -0,0 +1,175 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data.timeline; + +import android.support.annotation.NonNull; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.MXDataHandler; +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.data.store.IMXStore; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.List; + +import javax.annotation.Nonnull; + +/** + * This class is responsible of checking state events redaction. + */ +class StateEventRedactionChecker { + + private static final String LOG_TAG = StateEventRedactionChecker.class.getSimpleName(); + private final EventTimeline mEventTimeline; + private final TimelineStateHolder mTimelineStateHolder; + + StateEventRedactionChecker(@NonNull final EventTimeline eventTimeline, + @NonNull final TimelineStateHolder timelineStateHolder) { + mEventTimeline = eventTimeline; + mTimelineStateHolder = timelineStateHolder; + } + + /** + * Redaction of a state event might require to reload the timeline + * because the room states has to be updated. + * + * @param redactionEvent the redaction event + */ + public void checkStateEventRedaction(@NonNull final Event redactionEvent) { + final IMXStore store = mEventTimeline.getStore(); + final Room room = mEventTimeline.getRoom(); + final MXDataHandler dataHandler = room.getDataHandler(); + final String roomId = room.getRoomId(); + final String eventId = redactionEvent.getRedactedEventId(); + final RoomState state = mTimelineStateHolder.getState(); + Log.d(LOG_TAG, "checkStateEventRedaction of event " + eventId); + // check if the state events is locally known + state.getStateEvents(store, null, new SimpleApiCallback>() { + @Override + public void onSuccess(List stateEvents) { + + // Check whether the current room state depends on this redacted event. + boolean isFound = false; + for (int index = 0; index < stateEvents.size(); index++) { + Event stateEvent = stateEvents.get(index); + + if (TextUtils.equals(stateEvent.eventId, eventId)) { + + Log.d(LOG_TAG, "checkStateEventRedaction: the current room state has been modified by the event redaction"); + + // remove expected keys + stateEvent.prune(redactionEvent); + stateEvents.set(index, stateEvent); + // digest the updated state + mTimelineStateHolder.processStateEvent(stateEvent, EventTimeline.Direction.FORWARDS); + isFound = true; + break; + } + } + + if (!isFound) { + // Else try to find the redacted event among members which + // are stored apart from other state events + + // Reason: The membership events are not anymore stored in the application store + // until we have found a way to improve the way they are stored. + // It used to have many out of memory errors because they are too many stored small memory objects. + // see https://github.com/matrix-org/matrix-android-sdk/issues/196 + + // Note: if lazy loading is on, getMemberByEventId() can return null, but it is ok, because we just want to update our cache + RoomMember member = state.getMemberByEventId(eventId); + if (member != null) { + Log.d(LOG_TAG, "checkStateEventRedaction: the current room members list has been modified by the event redaction"); + + // the android SDK does not store stock member events but a representation of them, RoomMember. + // Prune this representation + member.prune(); + + isFound = true; + } + } + + if (isFound) { + store.storeLiveStateForRoom(roomId); + // warn that there was a flush + mEventTimeline.initHistory(); + dataHandler.onRoomFlush(roomId); + } else { + Log.d(LOG_TAG, "checkStateEventRedaction: the redacted event is unknown. Fetch it from the homeserver"); + checkStateEventRedactionWithHomeserver(dataHandler, roomId, eventId); + } + } + }); + } + + /** + * Check with the HS whether the redacted event impacts the room data we have locally. + * If yes, local data must be pruned. + * + * @param eventId the redacted event id + */ + private void checkStateEventRedactionWithHomeserver(@Nonnull final MXDataHandler dataHandler, + @Nonnull final String roomId, + @Nonnull final String eventId) { + Log.d(LOG_TAG, "checkStateEventRedactionWithHomeserver on event Id " + eventId); + + // We need to figure out if this redacted event is a room state in the past. + // If yes, we must prune the `prev_content` of the state event that replaced it. + // Indeed, redacted information shouldn't spontaneously appear when you backpaginate... + // TODO: This is no more implemented (see https://github.com/vector-im/riot-ios/issues/443). + // The previous implementation based on a room initial sync was too heavy server side + // and has been removed. + if (!TextUtils.isEmpty(eventId)) { + Log.d(LOG_TAG, "checkStateEventRedactionWithHomeserver : retrieving the event"); + dataHandler.getDataRetriever().getRoomsRestClient().getEvent(roomId, eventId, new ApiCallback() { + @Override + public void onSuccess(Event event) { + if (null != event && null != event.stateKey) { + Log.d(LOG_TAG, "checkStateEventRedactionWithHomeserver : the redacted event is a state event in the past." + + " TODO: prune prev_content of the new state event"); + + } else { + Log.d(LOG_TAG, "checkStateEventRedactionWithHomeserver : the redacted event is a not state event -> job is done"); + } + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "checkStateEventRedactionWithHomeserver : failed to retrieved the redacted event: onNetworkError " + e.getMessage(), e); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "checkStateEventRedactionWithHomeserver : failed to retrieved the redacted event: onNetworkError " + e.getMessage()); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "checkStateEventRedactionWithHomeserver : failed to retrieved the redacted event: onNetworkError " + e.getMessage(), e); + } + }); + } + } + + +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineEventListeners.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineEventListeners.java new file mode 100644 index 00000000..ed5c843b --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineEventListeners.java @@ -0,0 +1,105 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data.timeline; + +import android.os.Handler; +import android.os.Looper; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; + +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.ArrayList; +import java.util.List; + +/** + * Handle the timeline event listeners + * Is responsible for dispatching events + */ +class TimelineEventListeners { + + private static final String LOG_TAG = TimelineEventListeners.class.getSimpleName(); + + // The inner listeners + private final List mListeners = new ArrayList<>(); + + /** + * Add an events listener. + * + * @param listener the listener to add. + */ + public void add(@Nullable final EventTimeline.Listener listener) { + if (listener != null) { + synchronized (this) { + if (!mListeners.contains(listener)) { + mListeners.add(listener); + } + } + } + } + + /** + * Remove an events listener. + * + * @param listener the listener to remove. + */ + public void remove(@Nullable final EventTimeline.Listener listener) { + if (null != listener) { + synchronized (this) { + mListeners.remove(listener); + } + } + } + + /** + * Dispatch the onEvent callback. + * + * @param event the event. + * @param direction the direction. + * @param roomState the roomState. + */ + public void onEvent(@NonNull final Event event, + @NonNull final EventTimeline.Direction direction, + @NonNull final RoomState roomState) { + // ensure that the listeners are called in the UI thread + if (Looper.getMainLooper().getThread() == Thread.currentThread()) { + final List listeners; + synchronized (this) { + listeners = new ArrayList<>(mListeners); + } + for (EventTimeline.Listener listener : listeners) { + try { + listener.onEvent(event, direction, roomState); + } catch (Exception e) { + Log.e(LOG_TAG, "EventTimeline.onEvent " + listener + " crashes " + e.getMessage(), e); + } + } + } else { + final Handler handler = new Handler(Looper.getMainLooper()); + handler.post(new Runnable() { + @Override + public void run() { + onEvent(event, direction, roomState); + } + }); + } + } + + +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineEventSaver.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineEventSaver.java new file mode 100644 index 00000000..a7b9b507 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineEventSaver.java @@ -0,0 +1,74 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data.timeline; + +import android.support.annotation.NonNull; + +import im.vector.matrix.android.internal.legacy.MXDataHandler; +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.data.RoomSummary; +import im.vector.matrix.android.internal.legacy.data.store.IMXStore; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.ReceiptData; + +/** + * This class handles storing a live room event in a dedicated store. + */ +class TimelineEventSaver { + + private final IMXStore mStore; + private final Room mRoom; + private final TimelineStateHolder mTimelineStateHolder; + + TimelineEventSaver(@NonNull final IMXStore store, + @NonNull final Room room, + @NonNull final TimelineStateHolder timelineStateHolder) { + mStore = store; + mRoom = room; + mTimelineStateHolder = timelineStateHolder; + } + + /** + * * Store a live room event. + * + * @param event the event to be stored. + */ + + public void storeEvent(@NonNull final Event event) { + final MXDataHandler dataHandler = mRoom.getDataHandler(); + final String myUserId = dataHandler.getCredentials().userId; + + // create dummy read receipt for any incoming event + // to avoid not synchronized read receipt and event + if (event.getSender() != null && event.eventId != null) { + mRoom.handleReceiptData(new ReceiptData(event.getSender(), event.eventId, event.originServerTs)); + } + mStore.storeLiveRoomEvent(event); + if (RoomSummary.isSupportedEvent(event)) { + final RoomState roomState = mTimelineStateHolder.getState(); + RoomSummary summary = mStore.getSummary(event.roomId); + if (summary == null) { + summary = new RoomSummary(summary, event, roomState, myUserId); + } else { + summary.setLatestReceivedEvent(event, roomState); + } + mStore.storeSummary(summary); + } + } + +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineInvitedRoomSyncHandler.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineInvitedRoomSyncHandler.java new file mode 100644 index 00000000..e70c9a8d --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineInvitedRoomSyncHandler.java @@ -0,0 +1,68 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data.timeline; + +import android.support.annotation.NonNull; + +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.sync.InvitedRoomSync; + +import javax.annotation.Nullable; + +/** + * This class is responsible for handling the invitation room events from the SyncResponse + */ +class TimelineInvitedRoomSyncHandler { + + private final Room mRoom; + private final TimelineLiveEventHandler mLiveEventHandler; + private final InvitedRoomSync mInvitedRoomSync; + + TimelineInvitedRoomSyncHandler(@NonNull final Room room, + @NonNull final TimelineLiveEventHandler liveEventHandler, + @Nullable final InvitedRoomSync invitedRoomSync) { + mRoom = room; + mLiveEventHandler = liveEventHandler; + mInvitedRoomSync = invitedRoomSync; + } + + /** + * Handle the invitation room events + */ + public void handle() { + // Handle the state events as live events (the room state will be updated, and the listeners (if any) will be notified). + if (mInvitedRoomSync != null && mInvitedRoomSync.inviteState != null && mInvitedRoomSync.inviteState.events != null) { + final String roomId = mRoom.getRoomId(); + + for (Event event : mInvitedRoomSync.inviteState.events) { + // Add a fake event id if none in order to be able to store the event + if (event.eventId == null) { + event.eventId = roomId + "-" + System.currentTimeMillis() + "-" + event.hashCode(); + } + + // The roomId is not defined. + event.roomId = roomId; + mLiveEventHandler.handleLiveEvent(event, false, true); + } + // The room related to the pending invite can be considered as ready from now + mRoom.setReadyState(true); + } + } + + +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineJoinRoomSyncHandler.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineJoinRoomSyncHandler.java new file mode 100644 index 00000000..4a2d3b7b --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineJoinRoomSyncHandler.java @@ -0,0 +1,298 @@ +package im.vector.matrix.android.internal.legacy.data.timeline; + +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.MXDataHandler; +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.data.RoomSummary; +import im.vector.matrix.android.internal.legacy.data.store.IMXStore; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; +import im.vector.matrix.android.internal.legacy.rest.model.sync.RoomSync; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * This class is responsible for handling a Join RoomSync + */ +class TimelineJoinRoomSyncHandler { + + private static final String LOG_TAG = TimelineJoinRoomSyncHandler.class.getSimpleName(); + + private final MXEventTimeline mEventTimeline; + private final RoomSync mRoomSync; + private final TimelineStateHolder mTimelineStateHolder; + private final TimelineLiveEventHandler mTimelineLiveEventHandler; + private final boolean mIsGlobalInitialSync; + + TimelineJoinRoomSyncHandler(@NonNull final MXEventTimeline eventTimeline, + @NonNull final RoomSync roomSync, + @NonNull final TimelineStateHolder timelineStateHolder, + @NonNull final TimelineLiveEventHandler timelineLiveEventHandler, + final boolean isGlobalInitialSync) { + mEventTimeline = eventTimeline; + mRoomSync = roomSync; + mTimelineStateHolder = timelineStateHolder; + mTimelineLiveEventHandler = timelineLiveEventHandler; + mIsGlobalInitialSync = isGlobalInitialSync; + } + + + public void handle() { + final IMXStore store = mEventTimeline.getStore(); + final Room room = mEventTimeline.getRoom(); + final MXDataHandler dataHandler = room.getDataHandler(); + final String roomId = room.getRoomId(); + final String myUserId = dataHandler.getMyUser().user_id; + final RoomMember selfMember = mTimelineStateHolder.getState().getMember(myUserId); + final RoomSummary currentSummary = store.getSummary(roomId); + + final String membership = selfMember != null ? selfMember.membership : null; + final boolean isRoomInitialSync = membership == null || TextUtils.equals(membership, RoomMember.MEMBERSHIP_INVITE); + + // Check whether the room was pending on an invitation. + if (RoomMember.MEMBERSHIP_INVITE.equals(membership)) { + // Reset the storage of this room. An initial sync of the room will be done with the provided 'roomSync'. + cleanInvitedRoom(store, roomId); + } + if (mRoomSync.state != null && mRoomSync.state.events != null && mRoomSync.state.events.size() > 0) { + handleRoomSyncState(room, store, isRoomInitialSync); + } + // Handle now timeline.events, the room state is updated during this step too (Note: timeline events are in chronological order) + if (mRoomSync.timeline != null) { + handleRoomSyncTimeline(store, myUserId, roomId, currentSummary, isRoomInitialSync); + } + if (isRoomInitialSync) { + // any request history can be triggered by now. + room.setReadyState(true); + } else if (mRoomSync.timeline != null && mRoomSync.timeline.limited) { + // Finalize initial sync + // The room has been synced with a limited timeline + dataHandler.onRoomFlush(roomId); + } + // the EventTimeLine is used when displaying a room preview + // so, the following items should only be called when it is a live one. + if (mEventTimeline.isLiveTimeline()) { + handleLiveTimeline(dataHandler, store, roomId, myUserId, currentSummary); + } + } + + private void handleRoomSyncState(@NonNull final Room room, + @NonNull final IMXStore store, + final boolean isRoomInitialSync) { + if (isRoomInitialSync) { + Log.d(LOG_TAG, "##" + mRoomSync.state.events.size() + " events " + + "for room " + room.getRoomId() + + "in store " + store + ); + } + + // Build/Update first the room state corresponding to the 'start' of the timeline. + // Note: We consider it is not required to clone the existing room state here, because no notification is posted for these events. + if (room.getDataHandler().isAlive()) { + for (Event event : mRoomSync.state.events) { + try { + mTimelineStateHolder.processStateEvent(event, EventTimeline.Direction.FORWARDS); + } catch (Exception e) { + Log.e(LOG_TAG, "processStateEvent failed " + e.getMessage(), e); + } + } + + room.setReadyState(true); + } else { + Log.e(LOG_TAG, "## mDataHandler.isAlive() is false"); + } + // if it is an initial sync, the live state is initialized here + // so the back state must also be initialized + if (isRoomInitialSync) { + final RoomState state = mTimelineStateHolder.getState(); + Log.d(LOG_TAG, "## handleJoinedRoomSync() : retrieve X " + state.getLoadedMembers().size() + " members for room " + room.getRoomId()); + mTimelineStateHolder.setBackState(state.deepCopy()); + } + } + + private void cleanInvitedRoom(@NonNull final IMXStore store, + @NonNull final String roomId) { + Log.d(LOG_TAG, "clean invited room from the store " + roomId); + store.deleteRoomData(roomId); + mTimelineStateHolder.clear(); + } + + private void handleRoomSyncTimeline(@NonNull final IMXStore store, + @NonNull final String myUserId, + @NonNull final String roomId, + @Nullable final RoomSummary currentSummary, + final boolean isRoomInitialSync) { + if (mRoomSync.timeline.limited) { + if (!isRoomInitialSync) { + final RoomState state = mTimelineStateHolder.getState(); + // There is a gap between known events and received events in this incremental sync. + // define a summary if some messages are left + // the unsent messages are often displayed messages. + final Event oldestEvent = store.getOldestEvent(roomId); + // Flush the existing messages for this room by keeping state events. + store.deleteAllRoomMessages(roomId, true); + if (oldestEvent != null) { + if (RoomSummary.isSupportedEvent(oldestEvent)) { + if (currentSummary != null) { + currentSummary.setLatestReceivedEvent(oldestEvent, state); + store.storeSummary(currentSummary); + } else { + store.storeSummary(new RoomSummary(null, oldestEvent, state, myUserId)); + } + } + } + // Force a fetch of the loaded members the next time they will be requested + state.forceMembersRequest(); + } + + // if the prev batch is set to null + // it implies there is no more data on server side. + if (mRoomSync.timeline.prevBatch == null) { + mRoomSync.timeline.prevBatch = Event.PAGINATE_BACK_TOKEN_END; + } + + // In case of limited timeline, update token where to start back pagination + store.storeBackToken(roomId, mRoomSync.timeline.prevBatch); + // reset the state back token + // because it does not make anymore sense + // by setting at null, the events cache will be cleared when a requesthistory will be called + mTimelineStateHolder.getBackState().setToken(null); + // reset the back paginate lock + mEventTimeline.setCanBackPaginate(true); + } + + // any event ? + if (mRoomSync.timeline.events != null && !mRoomSync.timeline.events.isEmpty()) { + final List events = mRoomSync.timeline.events; + // save the back token + events.get(0).mToken = mRoomSync.timeline.prevBatch; + + // Here the events are handled in forward direction (see [handleLiveEvent:]). + // They will be added at the end of the stored events, so we keep the chronological order. + for (Event event : events) { + // the roomId is not defined. + event.roomId = roomId; + try { + boolean isLimited = mRoomSync.timeline != null && mRoomSync.timeline.limited; + + // digest the forward event + mTimelineLiveEventHandler.handleLiveEvent(event, !isLimited && !mIsGlobalInitialSync, !mIsGlobalInitialSync && !isRoomInitialSync); + } catch (Exception e) { + Log.e(LOG_TAG, "timeline event failed " + e.getMessage(), e); + } + } + } + } + + private void handleLiveTimeline(@NonNull final MXDataHandler dataHandler, + @NonNull final IMXStore store, + @NonNull final String roomId, + @NonNull final String myUserId, + @Nullable final RoomSummary currentSummary) { + final RoomState state = mTimelineStateHolder.getState(); + // check if the summary is defined + // after a sync, the room summary might not be defined because the latest message did not generate a room summary/ + if (null != store.getRoom(roomId)) { + RoomSummary summary = store.getSummary(roomId); + // if there is no defined summary + // we have to create a new one + if (summary == null) { + // define a summary if some messages are left + // the unsent messages are often displayed messages. + final Event oldestEvent = store.getOldestEvent(roomId); + + // if there is an oldest event, use it to set a summary + if (oldestEvent != null) { + // always defined a room summary else the room won't be displayed in the recents + store.storeSummary(new RoomSummary(null, oldestEvent, state, myUserId)); + store.commit(); + + // if the event is not displayable + // back paginate until to find a valid one + if (!RoomSummary.isSupportedEvent(oldestEvent)) { + Log.e(LOG_TAG, "the room " + roomId + " has no valid summary, back paginate once to find a valid one"); + } + } + // use the latest known event + else if (currentSummary != null) { + currentSummary.setLatestReceivedEvent(currentSummary.getLatestReceivedEvent(), state); + store.storeSummary(currentSummary); + store.commit(); + } + // try to build a summary from the state events + else if (mRoomSync.state != null && mRoomSync.state.events != null && mRoomSync.state.events.size() > 0) { + final List events = new ArrayList<>(mRoomSync.state.events); + Collections.reverse(events); + + for (Event event : events) { + event.roomId = roomId; + if (RoomSummary.isSupportedEvent(event)) { + summary = new RoomSummary(store.getSummary(roomId), event, state, myUserId); + store.storeSummary(summary); + store.commit(); + break; + } + } + } + } + } + + if (null != mRoomSync.unreadNotifications) { + int notifCount = 0; + int highlightCount = 0; + + if (null != mRoomSync.unreadNotifications.highlightCount) { + highlightCount = mRoomSync.unreadNotifications.highlightCount; + } + + if (null != mRoomSync.unreadNotifications.notificationCount) { + notifCount = mRoomSync.unreadNotifications.notificationCount; + } + + if (notifCount != state.getNotificationCount() || state.getHighlightCount() != highlightCount) { + Log.d(LOG_TAG, "## handleJoinedRoomSync() : update room state notifs count for room id " + roomId + + ": highlightCount " + highlightCount + " - notifCount " + notifCount); + + state.setNotificationCount(notifCount); + state.setHighlightCount(highlightCount); + store.storeLiveStateForRoom(roomId); + dataHandler.onNotificationCountUpdate(roomId); + } + + // some users reported that the summary notification counts were sometimes invalid + // so check roomstates and summaries separately + final RoomSummary summary = store.getSummary(roomId); + if (summary != null && (notifCount != summary.getNotificationCount() || summary.getHighlightCount() != highlightCount)) { + Log.d(LOG_TAG, "## handleJoinedRoomSync() : update room summary notifs count for room id " + roomId + + ": highlightCount " + highlightCount + " - notifCount " + notifCount); + + summary.setNotificationCount(notifCount); + summary.setHighlightCount(highlightCount); + store.flushSummary(summary); + dataHandler.onNotificationCountUpdate(roomId); + } + } + + // TODO LazyLoading, maybe this should be done earlier, because nb of members can be usefull in the instruction above. + if (mRoomSync.roomSyncSummary != null) { + RoomSummary summary = store.getSummary(roomId); + + if (summary == null) { + // Should never happen here + Log.e(LOG_TAG, "!!!!!!!!!!!!!!!!!!!!! RoomSummary is null !!!!!!!!!!!!!!!!!!!!!"); + } else { + summary.setRoomSyncSummary(mRoomSync.roomSyncSummary); + + store.flushSummary(summary); + } + } + } + +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineLiveEventHandler.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineLiveEventHandler.java new file mode 100644 index 00000000..9d75e94d --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineLiveEventHandler.java @@ -0,0 +1,285 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data.timeline; + +import android.support.annotation.NonNull; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.MXDataHandler; +import im.vector.matrix.android.internal.legacy.data.MyUser; +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.data.RoomSummary; +import im.vector.matrix.android.internal.legacy.data.store.IMXStore; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.EventContent; +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; +import im.vector.matrix.android.internal.legacy.util.EventDisplay; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Nonnull; + +/** + * This class is responsible for handling live event + */ +class TimelineLiveEventHandler { + + private static final String LOG_TAG = TimelineLiveEventHandler.class.getSimpleName(); + + private final MXEventTimeline mEventTimeline; + private final TimelineEventSaver mTimelineEventSaver; + private final StateEventRedactionChecker mStateEventRedactionChecker; + private final TimelinePushWorker mTimelinePushWorker; + private final TimelineStateHolder mTimelineStateHolder; + private final TimelineEventListeners mEventListeners; + + TimelineLiveEventHandler(@Nonnull final MXEventTimeline eventTimeline, + @Nonnull final TimelineEventSaver timelineEventSaver, + @Nonnull final StateEventRedactionChecker stateEventRedactionChecker, + @Nonnull final TimelinePushWorker timelinePushWorker, + @NonNull final TimelineStateHolder timelineStateHolder, + @NonNull final TimelineEventListeners eventListeners) { + mEventTimeline = eventTimeline; + mTimelineEventSaver = timelineEventSaver; + mStateEventRedactionChecker = stateEventRedactionChecker; + mTimelinePushWorker = timelinePushWorker; + mTimelineStateHolder = timelineStateHolder; + mEventListeners = eventListeners; + } + + /** + * Handle events coming down from the event stream. + * + * @param event the live event + * @param checkRedactedStateEvent set to true to check if it triggers a state event redaction + * @param withPush set to true to trigger pushes when it is required + */ + public void handleLiveEvent(@NonNull final Event event, + final boolean checkRedactedStateEvent, + final boolean withPush) { + final IMXStore store = mEventTimeline.getStore(); + final Room room = mEventTimeline.getRoom(); + final MXDataHandler dataHandler = room.getDataHandler(); + final String timelineId = mEventTimeline.getTimelineId(); + final MyUser myUser = dataHandler.getMyUser(); + + // Decrypt event if necessary + dataHandler.decryptEvent(event, timelineId); + + // dispatch the call events to the calls manager + if (event.isCallEvent()) { + final RoomState roomState = mTimelineStateHolder.getState(); + dataHandler.getCallsManager().handleCallEvent(store, event); + storeLiveRoomEvent(dataHandler, store, event, false); + // the candidates events are not tracked + // because the users don't need to see the peer exchanges. + if (!TextUtils.equals(event.getType(), Event.EVENT_TYPE_CALL_CANDIDATES)) { + // warn the listeners + // general listeners + dataHandler.onLiveEvent(event, roomState); + // timeline listeners + mEventListeners.onEvent(event, EventTimeline.Direction.FORWARDS, roomState); + } + + // trigger pushes when it is required + if (withPush) { + mTimelinePushWorker.triggerPush(roomState, event); + } + + } else { + final Event storedEvent = store.getEvent(event.eventId, event.roomId); + + // avoid processing event twice + if (storedEvent != null) { + // an event has been echoed + if (storedEvent.getAge() == Event.DUMMY_EVENT_AGE) { + store.deleteEvent(storedEvent); + store.storeLiveRoomEvent(event); + store.commit(); + Log.d(LOG_TAG, "handleLiveEvent : the event " + event.eventId + " in " + event.roomId + " has been echoed"); + } else { + Log.d(LOG_TAG, "handleLiveEvent : the event " + event.eventId + " in " + event.roomId + " already exist."); + return; + } + } + + // Room event + if (event.roomId != null) { + // check if the room has been joined + // the initial sync + the first requestHistory call is done here + // instead of being done in the application + if (Event.EVENT_TYPE_STATE_ROOM_MEMBER.equals(event.getType()) && TextUtils.equals(event.getSender(), dataHandler.getUserId())) { + EventContent eventContent = JsonUtils.toEventContent(event.getContentAsJsonObject()); + EventContent prevEventContent = event.getPrevContent(); + + String prevMembership = null; + + if (prevEventContent != null) { + prevMembership = prevEventContent.membership; + } + + // if the membership keeps the same value "join". + // it should mean that the user profile has been updated. + if (!event.isRedacted() && TextUtils.equals(prevMembership, eventContent.membership) + && TextUtils.equals(RoomMember.MEMBERSHIP_JOIN, eventContent.membership)) { + // check if the user updates his profile from another device. + + boolean hasAccountInfoUpdated = false; + + if (!TextUtils.equals(eventContent.displayname, myUser.displayname)) { + hasAccountInfoUpdated = true; + myUser.displayname = eventContent.displayname; + store.setDisplayName(myUser.displayname, event.getOriginServerTs()); + } + + if (!TextUtils.equals(eventContent.avatar_url, myUser.getAvatarUrl())) { + hasAccountInfoUpdated = true; + myUser.setAvatarUrl(eventContent.avatar_url); + store.setAvatarURL(myUser.avatar_url, event.getOriginServerTs()); + } + + if (hasAccountInfoUpdated) { + dataHandler.onAccountInfoUpdate(myUser); + } + } + } + + final RoomState previousState = mTimelineStateHolder.getState(); + if (event.stateKey != null) { + // copy the live state before applying any update + mTimelineStateHolder.deepCopyState(EventTimeline.Direction.FORWARDS); + // check if the event has been processed + if (!mTimelineStateHolder.processStateEvent(event, EventTimeline.Direction.FORWARDS)) { + // not processed -> do not warn the application + // assume that the event is a duplicated one. + return; + } + } + storeLiveRoomEvent(dataHandler, store, event, checkRedactedStateEvent); + + // warn the listeners + // general listeners + dataHandler.onLiveEvent(event, previousState); + + // timeline listeners + mEventListeners.onEvent(event, EventTimeline.Direction.FORWARDS, previousState); + + // trigger pushes when it is required + if (withPush) { + mTimelinePushWorker.triggerPush(mTimelineStateHolder.getState(), event); + } + } else { + Log.e(LOG_TAG, "Unknown live event type: " + event.getType()); + } + } + } + + /** + * Store a live room event. + * + * @param event The event to be stored. + * @param checkRedactedStateEvent true to check if this event redacts a state event + */ + private void storeLiveRoomEvent(@NonNull final MXDataHandler dataHandler, + @NonNull final IMXStore store, + @NonNull Event event, + final boolean checkRedactedStateEvent) { + boolean shouldBeSaved = false; + String myUserId = dataHandler.getCredentials().userId; + + if (Event.EVENT_TYPE_REDACTION.equals(event.getType())) { + if (event.getRedactedEventId() != null) { + Event eventToPrune = store.getEvent(event.getRedactedEventId(), event.roomId); + + // when an event is redacted, some fields must be kept. + if (eventToPrune != null) { + shouldBeSaved = true; + // remove expected keys + eventToPrune.prune(event); + // store the prune event + mTimelineEventSaver.storeEvent(eventToPrune); + // store the redaction event too (for the read markers management) + mTimelineEventSaver.storeEvent(event); + // the redaction check must not be done during an initial sync + // or the redacted event is received with roomSync.timeline.limited + if (checkRedactedStateEvent && eventToPrune.stateKey != null) { + mStateEventRedactionChecker.checkStateEventRedaction(event); + } + // search the latest displayable event + // to replace the summary text + final List events = new ArrayList<>(store.getRoomMessages(event.roomId)); + for (int index = events.size() - 1; index >= 0; index--) { + final Event indexedEvent = events.get(index); + if (RoomSummary.isSupportedEvent(indexedEvent)) { + // Decrypt event if necessary + if (TextUtils.equals(indexedEvent.getType(), Event.EVENT_TYPE_MESSAGE_ENCRYPTED)) { + if (null != dataHandler.getCrypto()) { + dataHandler.decryptEvent(indexedEvent, mEventTimeline.getTimelineId()); + } + } + final RoomState state = mTimelineStateHolder.getState(); + final EventDisplay eventDisplay = new EventDisplay(store.getContext(), indexedEvent, state); + // ensure that message can be displayed + if (!TextUtils.isEmpty(eventDisplay.getTextualDisplay())) { + event = indexedEvent; + break; + } + } + + } + } else if (checkRedactedStateEvent) { + // the redaction check must not be done during an initial sync + // or the redacted event is received with roomSync.timeline.limited + mStateEventRedactionChecker.checkStateEventRedaction(event); + } + } + } else { + // the candidate events are not stored. + shouldBeSaved = !event.isCallEvent() || !Event.EVENT_TYPE_CALL_CANDIDATES.equals(event.getType()); + // thread issue + // if the user leaves a room, + if (Event.EVENT_TYPE_STATE_ROOM_MEMBER.equals(event.getType()) && myUserId.equals(event.stateKey)) { + final String membership = event.getContentAsJsonObject().getAsJsonPrimitive("membership").getAsString(); + if (RoomMember.MEMBERSHIP_LEAVE.equals(membership) || RoomMember.MEMBERSHIP_BAN.equals(membership)) { + shouldBeSaved = mEventTimeline.isHistorical(); + // delete the room and warn the listener of the leave event only at the end of the events chunk processing + } + } + } + if (shouldBeSaved) { + mTimelineEventSaver.storeEvent(event); + } + // warn the listener that a new room has been created + if (Event.EVENT_TYPE_STATE_ROOM_CREATE.equals(event.getType())) { + dataHandler.onNewRoom(event.roomId); + } + // warn the listeners that a room has been joined + if (Event.EVENT_TYPE_STATE_ROOM_MEMBER.equals(event.getType()) && myUserId.equals(event.stateKey)) { + final String membership = event.getContentAsJsonObject().getAsJsonPrimitive("membership").getAsString(); + if (RoomMember.MEMBERSHIP_JOIN.equals(membership)) { + dataHandler.onJoinRoom(event.roomId); + } else if (RoomMember.MEMBERSHIP_INVITE.equals(membership)) { + dataHandler.onNewRoom(event.roomId); + } + } + } + +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelinePushWorker.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelinePushWorker.java new file mode 100644 index 00000000..c97fe034 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelinePushWorker.java @@ -0,0 +1,91 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data.timeline; + +import android.support.annotation.NonNull; + +import com.google.gson.JsonObject; + +import im.vector.matrix.android.internal.legacy.MXDataHandler; +import im.vector.matrix.android.internal.legacy.call.MXCall; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.BingRule; +import im.vector.matrix.android.internal.legacy.util.BingRulesManager; +import im.vector.matrix.android.internal.legacy.util.Log; + +/** + * This class is responsible for handling push rules for an event + */ +class TimelinePushWorker { + + private static final String LOG_TAG = TimelinePushWorker.class.getSimpleName(); + + private final MXDataHandler mDataHandler; + + TimelinePushWorker(@NonNull final MXDataHandler dataHandler) { + mDataHandler = dataHandler; + } + + /** + * Trigger a push if there is a dedicated push rules which implies it. + * + * @param event the event + */ + public void triggerPush(@NonNull final RoomState state, + @NonNull final Event event) { + BingRule bingRule; + boolean outOfTimeEvent = false; + long maxLifetime = 0; + long eventLifetime = 0; + final JsonObject eventContent = event.getContentAsJsonObject(); + if (eventContent != null && eventContent.has("lifetime")) { + maxLifetime = eventContent.get("lifetime").getAsLong(); + eventLifetime = System.currentTimeMillis() - event.getOriginServerTs(); + outOfTimeEvent = eventLifetime > maxLifetime; + } + final BingRulesManager bingRulesManager = mDataHandler.getBingRulesManager(); + // If the bing rules apply, bing + if (!outOfTimeEvent + && bingRulesManager != null + && (bingRule = bingRulesManager.fulfilledBingRule(event)) != null) { + + if (bingRule.shouldNotify()) { + // bing the call events only if they make sense + if (Event.EVENT_TYPE_CALL_INVITE.equals(event.getType())) { + long lifeTime = event.getAge(); + if (Long.MAX_VALUE == lifeTime) { + lifeTime = System.currentTimeMillis() - event.getOriginServerTs(); + } + if (lifeTime > MXCall.CALL_TIMEOUT_MS) { + Log.d(LOG_TAG, "IGNORED onBingEvent rule id " + bingRule.ruleId + " event id " + event.eventId + + " in " + event.roomId); + return; + } + } + Log.d(LOG_TAG, "onBingEvent rule id " + bingRule.ruleId + " event id " + event.eventId + " in " + event.roomId); + mDataHandler.onBingEvent(event, state, bingRule); + } else { + Log.d(LOG_TAG, "rule id " + bingRule.ruleId + " event id " + event.eventId + + " in " + event.roomId + " has a mute notify rule"); + } + } else if (outOfTimeEvent) { + Log.e(LOG_TAG, "outOfTimeEvent for " + event.eventId + " in " + event.roomId); + Log.e(LOG_TAG, "outOfTimeEvent maxlifetime " + maxLifetime + " eventLifeTime " + eventLifetime); + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineStateHolder.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineStateHolder.java new file mode 100644 index 00000000..1e40769f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/data/timeline/TimelineStateHolder.java @@ -0,0 +1,149 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.data.timeline; + +import android.support.annotation.NonNull; + +import im.vector.matrix.android.internal.legacy.MXDataHandler; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.data.store.IMXStore; +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +/** + * This class is responsible for holding the state and backState of a room timeline + */ +class TimelineStateHolder { + + private final MXDataHandler mDataHandler; + private final IMXStore mStore; + private String mRoomId; + + /** + * The state of the room at the top most recent event of the timeline. + */ + private RoomState mState; + + /** + * The historical state of the room when paginating back. + */ + private RoomState mBackState; + + TimelineStateHolder(@NonNull final MXDataHandler dataHandler, + @NonNull final IMXStore store, + @NonNull final String roomId) { + mDataHandler = dataHandler; + mStore = store; + mRoomId = roomId; + initStates(); + } + + /** + * Clear the states + */ + public void clear() { + initStates(); + } + + /** + * @return The state of the room at the top most recent event of the timeline. + */ + @NonNull + public RoomState getState() { + return mState; + } + + /** + * Update the state. + * + * @param state the new state. + */ + public void setState(@NonNull final RoomState state) { + mState = state; + } + + /** + * @return the backState. + */ + @NonNull + public RoomState getBackState() { + return mBackState; + } + + /** + * Update the backState. + * + * @param state the new backState. + */ + public void setBackState(@NonNull final RoomState state) { + mBackState = state; + } + + /** + * Make a deep copy or the dedicated state. + * + * @param direction the room state direction to deep copy. + */ + public void deepCopyState(final EventTimeline.Direction direction) { + if (direction == EventTimeline.Direction.FORWARDS) { + mState = mState.deepCopy(); + } else { + mBackState = mBackState.deepCopy(); + } + } + + /** + * Process a state event to keep the internal live and back states up to date. + * + * @param event the state event + * @param direction the direction; ie. forwards for live state, backwards for back state + * @return true if the event has been processed. + */ + public boolean processStateEvent(@NonNull final Event event, + @NonNull final EventTimeline.Direction direction) { + final RoomState affectedState = direction == EventTimeline.Direction.FORWARDS ? mState : mBackState; + final boolean isProcessed = affectedState.applyState(mStore, event, direction); + if (isProcessed && direction == EventTimeline.Direction.FORWARDS) { + mStore.storeLiveStateForRoom(mRoomId); + } + return isProcessed; + } + + /** + * Set the room Id + * + * @param roomId the new room id. + */ + public void setRoomId(@NonNull final String roomId) { + mRoomId = roomId; + mState.roomId = roomId; + mBackState.roomId = roomId; + } + + /** + * Initialize the state and backState to default, with roomId and dataHandler + */ + private void initStates() { + mBackState = new RoomState(); + mBackState.setDataHandler(mDataHandler); + mBackState.roomId = mRoomId; + mState = new RoomState(); + mState.setDataHandler(mDataHandler); + mState.roomId = mRoomId; + } + + +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/db/MXLatestChatMessageCache.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/db/MXLatestChatMessageCache.java new file mode 100644 index 00000000..c1e16412 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/db/MXLatestChatMessageCache.java @@ -0,0 +1,168 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.db; + +import android.content.Context; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.util.ContentUtils; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.util.HashMap; +import java.util.Map; + +public class MXLatestChatMessageCache { + private static final String LOG_TAG = MXLatestChatMessageCache.class.getSimpleName(); + private static final String FILENAME = "ConsoleLatestChatMessageCache"; + + final String MXLATESTMESSAGES_STORE_FOLDER = "MXLatestMessagesStore"; + + private Map mLatestMesssageByRoomId = null; + private String mUserId = null; + private File mLatestMessagesDirectory = null; + private File mLatestMessagesFile = null; + + /** + * Constructor + * + * @param userId the user id + */ + public MXLatestChatMessageCache(String userId) { + mUserId = userId; + } + + /** + * Clear the text caches. + * + * @param context The application context to use. + */ + public void clearCache(Context context) { + ContentUtils.deleteDirectory(mLatestMessagesDirectory); + mLatestMesssageByRoomId = null; + } + + /** + * Open the texts cache file. + * + * @param context the context. + */ + private void openLatestMessagesDict(Context context) { + + // already checked + if (null != mLatestMesssageByRoomId) { + return; + } + + mLatestMesssageByRoomId = new HashMap<>(); + + try { + mLatestMessagesDirectory = new File(context.getApplicationContext().getFilesDir(), MXLATESTMESSAGES_STORE_FOLDER); + mLatestMessagesDirectory = new File(mLatestMessagesDirectory, mUserId); + + mLatestMessagesFile = new File(mLatestMessagesDirectory, FILENAME.hashCode() + ""); + + if (!mLatestMessagesDirectory.exists()) { + + // create dir tree + mLatestMessagesDirectory.mkdirs(); + + File oldFile = new File(context.getApplicationContext().getFilesDir(), FILENAME.hashCode() + ""); + + // backward compatibility + if (oldFile.exists()) { + oldFile.renameTo(mLatestMessagesFile); + } + } + + if (mLatestMessagesFile.exists()) { + FileInputStream fis = new FileInputStream(mLatestMessagesFile); + ObjectInputStream ois = new ObjectInputStream(fis); + mLatestMesssageByRoomId = (Map) ois.readObject(); + ois.close(); + fis.close(); + } + } catch (Exception e) { + Log.e(LOG_TAG, "## openLatestMessagesDict failed " + e.getMessage(), e); + } + } + + /** + * Get the latest written text for a dedicated room. + * + * @param context the context. + * @param roomId the roomId + * @return the latest message + */ + public String getLatestText(Context context, String roomId) { + if (null == mLatestMesssageByRoomId) { + openLatestMessagesDict(context); + } + + if (TextUtils.isEmpty(roomId)) { + return ""; + } + + if (mLatestMesssageByRoomId.containsKey(roomId)) { + return mLatestMesssageByRoomId.get(roomId); + } + + return ""; + } + + /** + * Update the latest message dictionnary. + * + * @param context the context. + */ + private void saveLatestMessagesDict(Context context) { + try { + FileOutputStream fos = new FileOutputStream(mLatestMessagesFile); + ObjectOutputStream oos = new ObjectOutputStream(fos); + oos.writeObject(mLatestMesssageByRoomId); + oos.close(); + fos.close(); + } catch (Exception e) { + Log.e(LOG_TAG, "## saveLatestMessagesDict() failed " + e.getMessage(), e); + } + } + + /** + * Update the latest message for a dedicated roomId. + * + * @param context the context. + * @param roomId the roomId. + * @param message the message. + */ + public void updateLatestMessage(Context context, String roomId, String message) { + if (null == mLatestMesssageByRoomId) { + openLatestMessagesDict(context); + } + + if (TextUtils.isEmpty(message)) { + mLatestMesssageByRoomId.remove(roomId); + } + + mLatestMesssageByRoomId.put(roomId, message); + saveLatestMessagesDict(context); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/db/MXMediaDownloadWorkerTask.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/db/MXMediaDownloadWorkerTask.java new file mode 100644 index 00000000..7ae2f8da --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/db/MXMediaDownloadWorkerTask.java @@ -0,0 +1,1157 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.db; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.net.Uri; +import android.os.AsyncTask; +import android.support.annotation.Nullable; +import android.support.v4.util.LruCache; +import android.text.TextUtils; +import android.util.Pair; +import android.webkit.MimeTypeMap; +import android.widget.ImageView; + +import com.google.gson.JsonElement; +import com.google.gson.JsonParser; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.crypto.MXEncryptedAttachments; +import im.vector.matrix.android.internal.legacy.listeners.IMXMediaDownloadListener; +import im.vector.matrix.android.internal.legacy.network.NetworkConnectivityReceiver; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.client.MediaScanRestClient; +import im.vector.matrix.android.internal.legacy.rest.model.EncryptedMediaScanBody; +import im.vector.matrix.android.internal.legacy.rest.model.EncryptedMediaScanEncryptedBody; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.EncryptedBodyFileInfo; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.EncryptedFileInfo; +import im.vector.matrix.android.internal.legacy.ssl.CertUtil; +import im.vector.matrix.android.internal.legacy.util.ImageUtils; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; +import org.matrix.olm.OlmPkEncryption; +import org.matrix.olm.OlmPkMessage; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.lang.ref.WeakReference; +import java.net.HttpURLConnection; +import java.net.URL; +import java.security.MessageDigest; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Timer; +import java.util.TimerTask; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +import javax.net.ssl.HttpsURLConnection; +import javax.net.ssl.SSLSocketFactory; +import javax.net.ssl.X509TrustManager; + +/** + * This class manages the media downloading in background. + *

    + * JsonElement: Error message if not null. + */ +class MXMediaDownloadWorkerTask extends AsyncTask { + + private static final String LOG_TAG = MXMediaDownloadWorkerTask.class.getSimpleName(); + + /** + * Pending media URLs + */ + private static final Map sPendingDownloadById = new HashMap<>(); + + /** + * List of unreachable media urls. + */ + private static final List sUnreachableUrls = new ArrayList<>(); + + // avoid sync on "this" because it might differ if there is a timer. + private static final Object sSyncObject = new Object(); + + /** + * The medias cache + */ + private static LruCache sBitmapByDownloadIdCache = null; + + /** + * The downloaded media callbacks. + */ + private final List mDownloadListeners = new ArrayList<>(); + + /** + * The ImageView list to refresh when the media is downloaded. + */ + private final List> mImageViewReferences; + + /** + * The media URL. + */ + private String mUrl; + + /** + * The download identifier based on the original matrix content url for this media. + */ + private String mDownloadId; + + /** + * Tells if the anti-virus scanner is enabled. + */ + private boolean mIsAvScannerEnabled; + + /** + * The media mime type + */ + private String mMimeType; + + /** + * The application context + */ + private Context mApplicationContext; + + /** + * The directory in which the media must be stored. + */ + private File mDirectoryFile; + + /** + * The rotation to apply. + */ + private int mRotation; + + /** + * The download stats. + */ + private IMXMediaDownloadListener.DownloadStats mDownloadStats; + + /** + * Tells the download has been cancelled. + */ + private boolean mIsDownloadCancelled; + + /** + * Tells if the download has been completed + */ + private boolean mIsDone; + + /** + * The home server config. + */ + private final HomeServerConnectionConfig mHsConfig; + + /** + * The bitmap to use when the URL is unreachable. + */ + private Bitmap mDefaultBitmap; + + /** + * the encrypted file information + */ + private final EncryptedFileInfo mEncryptedFileInfo; + + /** + * Network updates tracker + */ + private final NetworkConnectivityReceiver mNetworkConnectivityReceiver; + + /** + * Rest client to retrieve public antivirus server key + */ + @Nullable + private MediaScanRestClient mMediaScanRestClient; + + /** + * Download constants + */ + private static final int DOWNLOAD_TIME_OUT = 10 * 1000; + private static final int DOWNLOAD_BUFFER_READ_SIZE = 1024 * 32; + + //============================================================================================================== + // static methods + //============================================================================================================== + + /** + * Clear the internal cache. + */ + public static void clearBitmapsCache() { + if (null != sBitmapByDownloadIdCache) { + sBitmapByDownloadIdCache.evictAll(); + } + + // Clear the list of unreachable Urls, to retry to download it on next access + synchronized (sUnreachableUrls) { + sUnreachableUrls.clear(); + } + } + + /** + * Check if there is a pending download with the provided id. + * + * @param downloadId The identifier to check + * @return the dedicated MXMediaDownloadWorkerTask if it exists. + */ + public static MXMediaDownloadWorkerTask getMediaDownloadWorkerTask(String downloadId) { + if (sPendingDownloadById.containsKey(downloadId)) { + MXMediaDownloadWorkerTask task; + synchronized (sPendingDownloadById) { + task = sPendingDownloadById.get(downloadId); + } + return task; + } else { + return null; + } + } + + /** + * Generate an unique ID for a string + * + * @param input the string + * @return the unique ID + */ + private static String uniqueId(String input) { + String uniqueId = null; + + try { + MessageDigest mDigest = MessageDigest.getInstance("SHA1"); + byte[] result = mDigest.digest(input.getBytes()); + StringBuffer sb = new StringBuffer(); + + for (int i = 0; i < result.length; i++) { + sb.append(Integer.toString((result[i] & 0xff) + 0x100, 16).substring(1)); + } + + uniqueId = sb.toString(); + } catch (Exception e) { + Log.e(LOG_TAG, "uniqueId failed " + e.getMessage(), e); + } + + if (null == uniqueId) { + uniqueId = "" + Math.abs(input.hashCode() + (System.currentTimeMillis() + "").hashCode()); + } + + return uniqueId; + } + + /** + * Build a filename from a download Id + * + * @param downloadId the media url + * @param mimeType the mime type; + * @return the cache filename + */ + static String buildFileName(String downloadId, String mimeType) { + String name = "file_" + uniqueId(downloadId); + + if (!TextUtils.isEmpty(mimeType)) { + String fileExtension = MimeTypeMap.getSingleton().getExtensionFromMimeType(mimeType); + + // some devices don't support .jpeg files + if ("jpeg".equals(fileExtension)) { + fileExtension = "jpg"; + } + + if (null != fileExtension) { + name += "." + fileExtension; + } + } + + return name; + } + + /** + * Tell if the media is cached with the provided cache identifier + * + * @param mediaCacheId + * @return true if a media is cached with this identifier + */ + public static boolean isMediaCached(String mediaCacheId) { + boolean res = false; + + if ((null != sBitmapByDownloadIdCache)) { + synchronized (sSyncObject) { + res = (null != sBitmapByDownloadIdCache.get(mediaCacheId)); + } + } + + return res; + } + + /** + * Tells if the media URL is unreachable. + * + * @param url the url to test. + * @return true if the media URL is unreachable. + */ + public static boolean isMediaUrlUnreachable(String url) { + boolean res = true; + + if (!TextUtils.isEmpty(url)) { + synchronized (sUnreachableUrls) { + res = sUnreachableUrls.contains(url); + } + } + + return res; + } + + /** + * Search a cached bitmap from an url. + * rotationAngle is set to Integer.MAX_VALUE when undefined : the EXIF metadata must be checked. + * + * @param baseFile the base file + * @param url the actual media url + * @param downloadId the predefined id of the download task for this content + * @param aRotation the bitmap rotation + * @param mimeType the mime type + * @param encryptionInfo the encryption information + * @return true if the bitmap is cached + */ + static boolean bitmapForURL(final Context context, + final File baseFile, + final String url, + final String downloadId, + final int aRotation, + final String mimeType, + final EncryptedFileInfo encryptionInfo, + final ApiCallback callback) { + if (TextUtils.isEmpty(url)) { + Log.d(LOG_TAG, "bitmapForURL : null url"); + return false; + } + + if (null == sBitmapByDownloadIdCache) { + int lruSize = Math.min(20 * 1024 * 1024, (int) Runtime.getRuntime().maxMemory() / 8); + + Log.d(LOG_TAG, "bitmapForURL lruSize : " + lruSize); + + sBitmapByDownloadIdCache = new LruCache(lruSize) { + @Override + protected int sizeOf(String key, Bitmap bitmap) { + return bitmap.getRowBytes() * bitmap.getHeight(); // size in bytes + } + }; + } + + // the image is downloading in background + if (null != getMediaDownloadWorkerTask(downloadId)) { + return false; + } + + // the url is invalid + if (isMediaUrlUnreachable(url)) { + return false; + } + + final Bitmap cachedBitmap; + + synchronized (sSyncObject) { + cachedBitmap = sBitmapByDownloadIdCache.get(downloadId); + } + + if (null != cachedBitmap) { + MXMediasCache.mUIHandler.post(new Runnable() { + @Override + public void run() { + callback.onSuccess(cachedBitmap); + } + }); + return true; + } + + // invalid basefile + if (null == baseFile) { + return false; + } + + // check if the image has not been saved in file system + String filename = null; + + // the url is a file one + if (url.startsWith("file:")) { + // try to parse it + try { + Uri uri = Uri.parse(url); + filename = uri.getPath(); + } catch (Exception e) { + Log.e(LOG_TAG, "bitmapForURL #1 : " + e.getMessage(), e); + } + + // cannot extract the filename -> sorry + if (null == filename) { + return false; + } + } + + // not a valid file name + if (null == filename) { + filename = buildFileName(downloadId, mimeType); + } + + final String fFilename = filename; + final File file = filename.startsWith(File.separator) ? new File(filename) : new File(baseFile, filename); + + if (!file.exists()) { + return false; + } + + MXMediasCache.mDecryptingHandler.post(new Runnable() { + @Override + public void run() { + Bitmap bitmap = null; + int rotation = aRotation; + + try { + + InputStream fis = new FileInputStream(file); + + if (null != encryptionInfo) { + InputStream decryptedIs = MXEncryptedAttachments.decryptAttachment(fis, encryptionInfo); + fis.close(); + fis = decryptedIs; + } + + // read the metadata + if (Integer.MAX_VALUE == rotation) { + rotation = ImageUtils.getRotationAngleForBitmap(context, Uri.fromFile(file)); + } + + if (null != fis) { + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inPreferredConfig = Bitmap.Config.ARGB_8888; + + try { + bitmap = BitmapFactory.decodeStream(fis, null, options); + } catch (OutOfMemoryError error) { + System.gc(); + Log.e(LOG_TAG, "bitmapForURL() : Out of memory 1 " + error, error); + } + + // try again + if (null == bitmap) { + try { + bitmap = BitmapFactory.decodeStream(fis, null, options); + } catch (OutOfMemoryError error) { + Log.e(LOG_TAG, "bitmapForURL() Out of memory 2 " + error, error); + } + } + + if (null != bitmap) { + synchronized (sSyncObject) { + if (0 != rotation) { + try { + android.graphics.Matrix bitmapMatrix = new android.graphics.Matrix(); + bitmapMatrix.postRotate(rotation); + + Bitmap transformedBitmap = Bitmap.createBitmap(bitmap, + 0, 0, bitmap.getWidth(), bitmap.getHeight(), bitmapMatrix, false); + + // Bitmap.createBitmap() can return the same bitmap, so do not recycle it if it is the case + if (transformedBitmap != bitmap) { + bitmap.recycle(); + } + + bitmap = transformedBitmap; + } catch (OutOfMemoryError ex) { + Log.e(LOG_TAG, "bitmapForURL rotation error : " + ex.getMessage(), ex); + } + } + + // cache only small images + // caching large images does not make sense + // it would replace small ones. + // let assume that the application must be faster when showing the chat history. + if ((bitmap.getWidth() < 1000) && (bitmap.getHeight() < 1000)) { + sBitmapByDownloadIdCache.put(downloadId, bitmap); + } + } + } + + fis.close(); + } + + } catch (FileNotFoundException e) { + Log.d(LOG_TAG, "bitmapForURL() : " + fFilename + " does not exist"); + } catch (Exception e) { + Log.e(LOG_TAG, "bitmapForURL() " + e, e); + + } + + final Bitmap fBitmap = bitmap; + MXMediasCache.mUIHandler.post(new Runnable() { + @Override + public void run() { + callback.onSuccess(fBitmap); + } + }); + } + }); + + return true; + } + + //============================================================================================================== + // class methods + //============================================================================================================== + + /** + * MXMediaDownloadWorkerTask creator + * + * @param appContext the context + * @param hsConfig the home server config + * @param networkConnectivityReceiver the network connectivity receiver + * @param directoryFile the directory in which the media must be stored + * @param url the media url + * @param downloadId the predefined id of the download task for this content + * @param rotation the rotation angle (degrees), use 0 by default + * @param mimeType the mime type. + * @param encryptedFileInfo the encryption information + * @param mediaScanRestClient the media scan rest client + * @param isAvScannerEnabled tell whether an anti-virus scanner is enabled + */ + public MXMediaDownloadWorkerTask(Context appContext, + HomeServerConnectionConfig hsConfig, + NetworkConnectivityReceiver networkConnectivityReceiver, + File directoryFile, + String url, + String downloadId, + int rotation, + String mimeType, + EncryptedFileInfo encryptedFileInfo, + @Nullable MediaScanRestClient mediaScanRestClient, + boolean isAvScannerEnabled) { + mApplicationContext = appContext; + mHsConfig = hsConfig; + mNetworkConnectivityReceiver = networkConnectivityReceiver; + mDirectoryFile = directoryFile; + mUrl = url; + mDownloadId = downloadId; + mRotation = rotation; + mMimeType = mimeType; + mEncryptedFileInfo = encryptedFileInfo; + mMediaScanRestClient = mediaScanRestClient; + mIsAvScannerEnabled = isAvScannerEnabled; + + mImageViewReferences = new ArrayList<>(); + + synchronized (sPendingDownloadById) { + sPendingDownloadById.put(downloadId, this); + } + } + + /** + * MXMediaDownloadWorkerTask creator + * + * @param task another bitmap task + */ + public MXMediaDownloadWorkerTask(MXMediaDownloadWorkerTask task) { + mApplicationContext = task.mApplicationContext; + mHsConfig = task.mHsConfig; + mNetworkConnectivityReceiver = task.mNetworkConnectivityReceiver; + mDirectoryFile = task.mDirectoryFile; + mUrl = task.mUrl; + mDownloadId = task.mDownloadId; + mRotation = task.mRotation; + mMimeType = task.mMimeType; + mEncryptedFileInfo = task.mEncryptedFileInfo; + mIsAvScannerEnabled = task.mIsAvScannerEnabled; + mMediaScanRestClient = task.mMediaScanRestClient; + + mImageViewReferences = task.mImageViewReferences; + + synchronized (sPendingDownloadById) { + sPendingDownloadById.put(mDownloadId, this); + } + } + + /** + * Cancels the current download. + */ + public synchronized void cancelDownload() { + mIsDownloadCancelled = true; + } + + /** + * @return tells if the current download has been cancelled. + */ + public synchronized boolean isDownloadCancelled() { + return mIsDownloadCancelled; + } + + /** + * @return the media URL. + */ + public String getUrl() { + return mUrl; + } + + /** + * Add an imageView to the list to refresh when the bitmap is downloaded. + * + * @param imageView an image view instance to refresh. + */ + public void addImageView(ImageView imageView) { + mImageViewReferences.add(new WeakReference<>(imageView)); + } + + /** + * Set the default bitmap to use when the Url is unreachable. + * + * @param aBitmap the bitmap. + */ + public void setDefaultBitmap(Bitmap aBitmap) { + mDefaultBitmap = aBitmap; + } + + /** + * Add a download listener. + * + * @param listener the listener to add. + */ + public void addDownloadListener(IMXMediaDownloadListener listener) { + if (null != listener) { + mDownloadListeners.add(listener); + } + } + + /** + * Returns the download progress. + * + * @return the download progress + */ + public int getProgress() { + if (null != mDownloadStats) { + return mDownloadStats.mProgress; + } + + return -1; + } + + /** + * @return the download stats + */ + public IMXMediaDownloadListener.DownloadStats getDownloadStats() { + return mDownloadStats; + } + + /** + * @return true if the current task is an image one. + */ + private boolean isBitmapDownloadTask() { + return null != mMimeType && mMimeType.startsWith("image/"); + } + + /** + * Push the download progress. + * + * @param startDownloadTime the start download time. + */ + private void updateAndPublishProgress(long startDownloadTime) { + mDownloadStats.mElapsedTime = (int) ((System.currentTimeMillis() - startDownloadTime) / 1000); + + if (mDownloadStats.mFileSize > 0) { + if (mDownloadStats.mDownloadedSize >= mDownloadStats.mFileSize) { + mDownloadStats.mProgress = 99; + } else { + mDownloadStats.mProgress = (int) (mDownloadStats.mDownloadedSize * 100L / mDownloadStats.mFileSize); + } + } else { + mDownloadStats.mProgress = -1; + } + + // avoid zero div + if (System.currentTimeMillis() != startDownloadTime) { + mDownloadStats.mBitRate = (int) (mDownloadStats.mDownloadedSize * 1000L / (System.currentTimeMillis() - startDownloadTime) / 1024); + } else { + mDownloadStats.mBitRate = -1; + } + + if ((0 != mDownloadStats.mBitRate) && (mDownloadStats.mFileSize > 0) && (mDownloadStats.mFileSize > mDownloadStats.mDownloadedSize)) { + mDownloadStats.mEstimatedRemainingTime = (mDownloadStats.mFileSize - mDownloadStats.mDownloadedSize) / 1024 / mDownloadStats.mBitRate; + } else { + mDownloadStats.mEstimatedRemainingTime = -1; + } + + Log.d(LOG_TAG, "updateAndPublishProgress " + this + " : " + mDownloadStats.mProgress); + + publishProgress(); + } + + /** + * Download and decode media in background. + * + * @param params + * @return JsonElement if an error occurs + */ + @Override + protected JsonElement doInBackground(Void... params) { + JsonElement jsonElementResult = null; + + MatrixError defaultError = new MatrixError(); + defaultError.errcode = MatrixError.UNKNOWN; + + // Note: No need for access token here + + try { + URL url = new URL(mUrl); + Log.d(LOG_TAG, "MXMediaDownloadWorkerTask " + this + " starts"); + + mDownloadStats = new IMXMediaDownloadListener.DownloadStats(); + // don't known yet + mDownloadStats.mEstimatedRemainingTime = -1; + + InputStream stream = null; + + int filelen = -1; + HttpURLConnection connection = null; + + try { + connection = (HttpURLConnection) url.openConnection(); + + if (RestClient.getUserAgent() != null) { + connection.setRequestProperty("User-Agent", RestClient.getUserAgent()); + } + + if (mHsConfig != null && connection instanceof HttpsURLConnection) { + // Add SSL Socket factory. + HttpsURLConnection sslConn = (HttpsURLConnection) connection; + try { + Pair pair = CertUtil.newPinnedSSLSocketFactory(mHsConfig); + sslConn.setSSLSocketFactory(pair.first); + sslConn.setHostnameVerifier(CertUtil.newHostnameVerifier(mHsConfig)); + } catch (Exception e) { + Log.e(LOG_TAG, "doInBackground SSL exception " + e.getMessage(), e); + } + } + + // add a timeout to avoid infinite loading display. + float scale = (null != mNetworkConnectivityReceiver) ? mNetworkConnectivityReceiver.getTimeoutScale() : 1.0f; + connection.setReadTimeout((int) (DOWNLOAD_TIME_OUT * scale)); + + if (mIsAvScannerEnabled && null != mEncryptedFileInfo) { + // POST the encryption info to let the av scanner decrypt and scan the content. + connection.setRequestMethod("POST"); + connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8"); + connection.setDoOutput(true); + connection.setUseCaches(false); + + EncryptedMediaScanBody encryptedMediaScanBody = new EncryptedMediaScanBody(); + encryptedMediaScanBody.encryptedFileInfo = mEncryptedFileInfo; + + String data = JsonUtils.getCanonicalizedJsonString(encryptedMediaScanBody); + + // Encrypt the data, if antivirus server supports it + String publicServerKey = getAntivirusServerPublicKey(); + + if (publicServerKey == null) { + // Error + throw new Exception("Unable to get public key"); + } else if (!TextUtils.isEmpty(publicServerKey)) { + OlmPkEncryption olmPkEncryption = new OlmPkEncryption(); + + olmPkEncryption.setRecipientKey(publicServerKey); + + OlmPkMessage message = olmPkEncryption.encrypt(data); + + EncryptedMediaScanEncryptedBody encryptedMediaScanEncryptedBody = new EncryptedMediaScanEncryptedBody(); + encryptedMediaScanEncryptedBody.encryptedBodyFileInfo = new EncryptedBodyFileInfo(message); + + data = JsonUtils.getCanonicalizedJsonString(encryptedMediaScanEncryptedBody); + } + // Else: no public key on this server, do not encrypt data + + OutputStream outputStream = connection.getOutputStream(); + try { + outputStream.write(data.getBytes("UTF-8")); + } catch (Exception e) { + Log.e(LOG_TAG, "doInBackground Failed to serialize encryption info " + e.getMessage(), e); + } finally { + outputStream.close(); + } + } + + filelen = connection.getContentLength(); + stream = connection.getInputStream(); + } catch (Exception e) { + Log.e(LOG_TAG, "bitmapForURL : fail to open the connection " + e.getMessage(), e); + defaultError.error = e.getLocalizedMessage(); + + // In case of 403, revert the key + if (connection.getResponseCode() == 403 && mMediaScanRestClient != null) { + mMediaScanRestClient.resetServerPublicKey(); + } + + InputStream errorStream = connection.getErrorStream(); + + if (null != errorStream) { + try { + BufferedReader streamReader = new BufferedReader(new InputStreamReader(errorStream, "UTF-8")); + StringBuilder responseStrBuilder = new StringBuilder(); + + String inputStr; + + while ((inputStr = streamReader.readLine()) != null) { + responseStrBuilder.append(inputStr); + } + + jsonElementResult = new JsonParser().parse(responseStrBuilder.toString()); + } catch (Exception ee) { + Log.e(LOG_TAG, "bitmapForURL : Error parsing error " + ee.getMessage(), ee); + } + } + + // privacy + //Log.d(LOG_TAG, "MediaWorkerTask " + mUrl + " does not exist"); + Log.d(LOG_TAG, "MediaWorkerTask an url does not exist"); + + // If some medias are not found, + // do not try to reload them until the next application launch. + // We mark this url as unreachable. + // We can do this only if the av scanner is disabled or if the media is unencrypted, + // (because the same url is used for all encrypted media when the av scanner is enabled). + if (!mIsAvScannerEnabled || null == mEncryptedFileInfo) { + synchronized (sUnreachableUrls) { + sUnreachableUrls.add(mUrl); + } + } + } + + dispatchDownloadStart(); + + // failed to open the remote stream without having exception + if ((null == stream) && (null == jsonElementResult)) { + jsonElementResult = new JsonParser().parse("Cannot open " + mUrl); + + // if some medias are not found + // do not try to reload them until the next application launch. + // We mark this url as unreachable. + // We can do this only if the av scanner is disabled or if the media is unencrypted, + // (because the same url is used for all encrypted media when the av scanner is enabled). + if (!mIsAvScannerEnabled || null == mEncryptedFileInfo) { + synchronized (sUnreachableUrls) { + sUnreachableUrls.add(mUrl); + } + } + } + + // test if the download has not been cancelled + if (!isDownloadCancelled() && (null == jsonElementResult)) { + final long startDownloadTime = System.currentTimeMillis(); + + String filename = buildFileName(mDownloadId, mMimeType) + ".tmp"; + FileOutputStream fos = new FileOutputStream(new File(mDirectoryFile, filename)); + + mDownloadStats.mDownloadId = mDownloadId; + mDownloadStats.mProgress = 0; + mDownloadStats.mDownloadedSize = 0; + mDownloadStats.mFileSize = filelen; + mDownloadStats.mElapsedTime = 0; + mDownloadStats.mEstimatedRemainingTime = -1; + mDownloadStats.mBitRate = 0; + + // Publish progress every 100ms + final Timer refreshTimer = new Timer(); + + refreshTimer.scheduleAtFixedRate(new TimerTask() { + @Override + public void run() { + if (!mIsDone) { + updateAndPublishProgress(startDownloadTime); + } + } + }, new Date(), 100); + + try { + byte[] buf = new byte[DOWNLOAD_BUFFER_READ_SIZE]; + int len; + while (!isDownloadCancelled() && (len = stream.read(buf)) != -1) { + fos.write(buf, 0, len); + mDownloadStats.mDownloadedSize += len; + } + + if (!isDownloadCancelled()) { + mDownloadStats.mProgress = 100; + } + } catch (OutOfMemoryError outOfMemoryError) { + Log.e(LOG_TAG, "doInBackground: out of memory", outOfMemoryError); + defaultError.error = outOfMemoryError.getLocalizedMessage(); + } catch (Exception e) { + Log.e(LOG_TAG, "doInBackground fail to read image " + e.getMessage(), e); + defaultError.error = e.getLocalizedMessage(); + } + + mIsDone = true; + + close(stream); + fos.flush(); + fos.close(); + + refreshTimer.cancel(); + + if ((null != connection) && (connection instanceof HttpsURLConnection)) { + connection.disconnect(); + } + + // the file has been successfully downloaded + if (mDownloadStats.mProgress == 100) { + try { + File originalFile = new File(mDirectoryFile, filename); + String newFileName = buildFileName(mDownloadId, mMimeType); + File newFile = new File(mDirectoryFile, newFileName); + if (newFile.exists()) { + // Or you could throw here. + mApplicationContext.deleteFile(newFileName); + } + originalFile.renameTo(newFile); + } catch (Exception e) { + Log.e(LOG_TAG, "doInBackground : renaming error " + e.getMessage(), e); + defaultError.error = e.getLocalizedMessage(); + } + } + } + + if (mDownloadStats.mProgress == 100) { + Log.d(LOG_TAG, "The download " + this + " is done."); + } else { + if (null != jsonElementResult) { + Log.d(LOG_TAG, "The download " + this + " failed : mErrorAsJsonElement " + jsonElementResult.toString()); + } else { + Log.d(LOG_TAG, "The download " + this + " failed."); + } + } + } catch (Exception e) { + Log.e(LOG_TAG, "Unable to download media " + this, e); + defaultError.error = e.getMessage(); + } + + // build a JSON from the error + if (!TextUtils.isEmpty(defaultError.error)) { + jsonElementResult = JsonUtils.getGson(false).toJsonTree(defaultError); + } + + // remove the task from the loading one + synchronized (sPendingDownloadById) { + sPendingDownloadById.remove(mDownloadId); + } + + return jsonElementResult; + } + + /** + * Get the public key of the antivirus server + * + * @return either empty string if server does not provide the public key, null in case of error, or the public server key + */ + @Nullable + private String getAntivirusServerPublicKey() { + if (mMediaScanRestClient == null) { + // Error + Log.e(LOG_TAG, "Mandatory mMediaScanRestClient is null"); + return null; + } + + // Make async request sync with a CountDownLatch + // It is easier than adding a method to get the server public key synchronously with Call.execute() + final CountDownLatch latch = new CountDownLatch(1); + final String[] publicServerKey = new String[1]; + + mMediaScanRestClient.getServerPublicKey(new ApiCallback() { + @Override + public void onSuccess(String serverPublicKey) { + publicServerKey[0] = serverPublicKey; + latch.countDown(); + } + + @Override + public void onNetworkError(Exception e) { + latch.countDown(); + } + + @Override + public void onMatrixError(MatrixError e) { + latch.countDown(); + } + + @Override + public void onUnexpectedError(Exception e) { + latch.countDown(); + } + }); + + try { + latch.await(30, TimeUnit.SECONDS); + } catch (InterruptedException ie) { + + } + + return publicServerKey[0]; + } + + /** + * Close the stream. + * + * @param stream the stream to close. + */ + private void close(InputStream stream) { + try { + stream.close(); + } catch (Exception e) { + Log.e(LOG_TAG, "close error " + e.getMessage(), e); + } + } + + @Override + protected void onProgressUpdate(Void... aVoid) { + super.onProgressUpdate(); + dispatchOnDownloadProgress(mDownloadStats); + } + + // Once complete, see if ImageView is still around and set bitmap. + @Override + protected void onPostExecute(JsonElement jsonElementError) { + if (null != jsonElementError) { + dispatchOnDownloadError(jsonElementError); + } else if (isDownloadCancelled()) { + dispatchDownloadCancel(); + } else { + dispatchOnDownloadComplete(); + + // image download + // update the linked ImageViews. + if (isBitmapDownloadTask()) { + // retrieve the bitmap from the file s + if (!bitmapForURL(mApplicationContext, mDirectoryFile, mUrl, mDownloadId, mRotation, mMimeType, mEncryptedFileInfo, + new SimpleApiCallback() { + @Override + public void onSuccess(Bitmap bitmap) { + setBitmap((null == bitmap) ? mDefaultBitmap : bitmap); + } + })) { + setBitmap(mDefaultBitmap); + } + } + } + } + + /** + * Set the bitmap in a referenced imageview + * + * @param bitmap the bitmap + */ + private void setBitmap(Bitmap bitmap) { + // update the imageViews image + if (bitmap != null) { + for (WeakReference weakRef : mImageViewReferences) { + final ImageView imageView = weakRef.get(); + + if (imageView != null && TextUtils.equals(mDownloadId, (String) imageView.getTag())) { + imageView.setImageBitmap(bitmap); + } + } + } + } + + + //============================================================================================================== + // Dispatchers + //============================================================================================================== + + /** + * Dispatch start event to the callbacks. + */ + private void dispatchDownloadStart() { + for (IMXMediaDownloadListener callback : mDownloadListeners) { + try { + callback.onDownloadStart(mDownloadId); + } catch (Exception e) { + Log.e(LOG_TAG, "dispatchDownloadStart error " + e.getMessage(), e); + } + } + } + + /** + * Dispatch stats update to the callbacks. + * + * @param stats the new stats value + */ + private void dispatchOnDownloadProgress(IMXMediaDownloadListener.DownloadStats stats) { + for (IMXMediaDownloadListener callback : mDownloadListeners) { + try { + callback.onDownloadProgress(mDownloadId, stats); + } catch (Exception e) { + Log.e(LOG_TAG, "dispatchOnDownloadProgress error " + e.getMessage(), e); + } + } + } + + /** + * Dispatch error message. + * + * @param jsonElement the Json error + */ + private void dispatchOnDownloadError(JsonElement jsonElement) { + for (IMXMediaDownloadListener callback : mDownloadListeners) { + try { + callback.onDownloadError(mDownloadId, jsonElement); + } catch (Exception e) { + Log.e(LOG_TAG, "dispatchOnDownloadError error " + e.getMessage(), e); + } + } + } + + /** + * Dispatch end of download + */ + private void dispatchOnDownloadComplete() { + for (IMXMediaDownloadListener callback : mDownloadListeners) { + try { + callback.onDownloadComplete(mDownloadId); + } catch (Exception e) { + Log.e(LOG_TAG, "dispatchOnDownloadComplete error " + e.getMessage(), e); + } + } + } + + /** + * Dispatch download cancel + */ + private void dispatchDownloadCancel() { + for (IMXMediaDownloadListener callback : mDownloadListeners) { + try { + callback.onDownloadCancel(mDownloadId); + } catch (Exception e) { + Log.e(LOG_TAG, "dispatchDownloadCancel error " + e.getMessage(), e); + } + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/db/MXMediaUploadWorkerTask.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/db/MXMediaUploadWorkerTask.java new file mode 100644 index 00000000..2ec1f01f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/db/MXMediaUploadWorkerTask.java @@ -0,0 +1,569 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.db; + +import android.os.AsyncTask; +import android.util.Pair; + +import org.json.JSONException; +import org.json.JSONObject; +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.listeners.IMXMediaUploadListener; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.ContentResponse; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.ssl.CertUtil; +import im.vector.matrix.android.internal.legacy.util.ContentManager; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.io.DataOutputStream; +import java.io.EOFException; +import java.io.InputStream; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Timer; +import java.util.TimerTask; + +import javax.net.ssl.HttpsURLConnection; +import javax.net.ssl.SSLSocketFactory; +import javax.net.ssl.X509TrustManager; + +/** + * Private AsyncTask used to upload files. + */ +public class MXMediaUploadWorkerTask extends AsyncTask { + + private static final String LOG_TAG = MXMediaUploadWorkerTask.class.getSimpleName(); + + // upload ID -> task + private static final Map mPendingUploadByUploadId = new HashMap<>(); + + // progress listener + private final List mUploadListeners = new ArrayList<>(); + + // the upload stats + private IMXMediaUploadListener.UploadStats mUploadStats; + + // the media mimeType + private final String mMimeType; + + // the media to upload + private final InputStream mContentStream; + + // its unique identifier + private final String mUploadId; + + // store the server response to provide it the listeners + private String mResponseFromServer; + + // tells if the current upload has been cancelled. + private boolean mIsCancelled; + + /** + * Tells if the upload has been completed + */ + private boolean mIsDone; + + // upload const + private static final int UPLOAD_BUFFER_READ_SIZE = 1024 * 32; + + // dummy ApiCallback uses to be warned when the upload must be declared as "undeliverable". + private final ApiCallback mApiCallback = new ApiCallback() { + @Override + public void onSuccess(Object info) { + } + + @Override + public void onNetworkError(Exception e) { + } + + @Override + public void onMatrixError(MatrixError e) { + } + + @Override + public void onUnexpectedError(Exception e) { + dispatchResult(mResponseFromServer); + } + }; + + // the upload server HTTP response code + private int mResponseCode = -1; + + // the media file name + private String mFilename; + + // the content manager + private final ContentManager mContentManager; + + /** + * Check if there is a pending download for the url. + * + * @param uploadId The id to check the existence + * @return the dedicated BitmapWorkerTask if it exists. + */ + public static MXMediaUploadWorkerTask getMediaUploadWorkerTask(String uploadId) { + if (uploadId != null) { + MXMediaUploadWorkerTask task = null; + synchronized (mPendingUploadByUploadId) { + if (mPendingUploadByUploadId.containsKey(uploadId)) { + task = mPendingUploadByUploadId.get(uploadId); + } + } + return task; + } + + return null; + } + + /** + * Cancel the pending uploads. + */ + public static void cancelPendingUploads() { + Collection tasks = mPendingUploadByUploadId.values(); + + // cancels the running task + for (MXMediaUploadWorkerTask task : tasks) { + try { + task.cancelUpload(); + task.cancel(true); + } catch (Exception e) { + Log.e(LOG_TAG, "cancelPendingUploads " + e.getMessage(), e); + } + } + + mPendingUploadByUploadId.clear(); + } + + /** + * Constructor + * + * @param contentManager the content manager + * @param contentStream the stream to upload + * @param mimeType the mime type + * @param uploadId the upload id + * @param filename the dest filename + * @param listener the upload listener + */ + public MXMediaUploadWorkerTask(ContentManager contentManager, + InputStream contentStream, + String mimeType, + String uploadId, + String filename, + IMXMediaUploadListener listener) { + if (contentStream.markSupported()) { + try { + contentStream.reset(); + } catch (Exception e) { + Log.e(LOG_TAG, "MXMediaUploadWorkerTask " + e.getMessage(), e); + } + } else { + Log.w(LOG_TAG, "Warning, reset() is not supported for this stream"); + } + + + mContentManager = contentManager; + mContentStream = contentStream; + mMimeType = mimeType; + mUploadId = uploadId; + mFilename = filename; + + addListener(listener); + + if (null != uploadId) { + mPendingUploadByUploadId.put(uploadId, this); + } + } + + /** + * Add an upload listener + * + * @param aListener the listener to add. + */ + public void addListener(IMXMediaUploadListener aListener) { + if (null != aListener && mUploadListeners.indexOf(aListener) < 0) { + mUploadListeners.add(aListener); + } + } + + /** + * @return the upload progress + */ + public int getProgress() { + if (null != mUploadStats) { + return mUploadStats.mProgress; + } + return -1; + } + + /** + * @return the upload stats + */ + public IMXMediaUploadListener.UploadStats getStats() { + return mUploadStats; + } + + /** + * @return true if the current upload has been cancelled. + */ + private synchronized boolean isUploadCancelled() { + return mIsCancelled; + } + + /** + * Cancel the current upload. + */ + public synchronized void cancelUpload() { + mIsCancelled = true; + } + + /** + * refresh the progress info + */ + private void publishProgress(long startUploadTime) { + mUploadStats.mElapsedTime = (int) ((System.currentTimeMillis() - startUploadTime) / 1000); + + if (0 != mUploadStats.mFileSize) { + // Uploading data is 90% of the job + // the other 10% is the end of the connection related actions + mUploadStats.mProgress = (int) (((long) mUploadStats.mUploadedSize) * 96 / mUploadStats.mFileSize); + } + + // avoid zero div + if (System.currentTimeMillis() != startUploadTime) { + mUploadStats.mBitRate = (int) (((long) mUploadStats.mUploadedSize) * 1000 / (System.currentTimeMillis() - startUploadTime) / 1024); + } else { + mUploadStats.mBitRate = 0; + } + + if (0 != mUploadStats.mBitRate) { + mUploadStats.mEstimatedRemainingTime = (mUploadStats.mFileSize - mUploadStats.mUploadedSize) / 1024 / mUploadStats.mBitRate; + } else { + mUploadStats.mEstimatedRemainingTime = -1; + } + + publishProgress(); + } + + @Override + protected String doInBackground(Void... params) { + HttpURLConnection conn; + DataOutputStream dos; + + mResponseCode = -1; + + int bytesRead, bytesAvailable; + int totalWritten, totalSize; + int bufferSize; + byte[] buffer; + + String serverResponse = null; + + String urlString = mContentManager.getHsConfig().getHomeserverUri().toString() + ContentManager.URI_PREFIX_CONTENT_API + "upload"; + + if (null != mFilename) { + try { + String utf8Filename = URLEncoder.encode(mFilename, "utf-8"); + urlString += "?filename=" + utf8Filename; + } catch (Exception e) { + Log.e(LOG_TAG, "doInBackground " + e.getMessage(), e); + } + } + + try { + URL url = new URL(urlString); + + conn = (HttpURLConnection) url.openConnection(); + if (RestClient.getUserAgent() != null) { + conn.setRequestProperty("User-Agent", RestClient.getUserAgent()); + } + conn.setRequestProperty("Authorization", "Bearer " + mContentManager.getHsConfig().getCredentials().accessToken); + conn.setDoInput(true); + conn.setDoOutput(true); + conn.setUseCaches(false); + conn.setRequestMethod("POST"); + + if (conn instanceof HttpsURLConnection) { + // Add SSL Socket factory. + HttpsURLConnection sslConn = (HttpsURLConnection) conn; + try { + Pair pair = CertUtil.newPinnedSSLSocketFactory(mContentManager.getHsConfig()); + sslConn.setSSLSocketFactory(pair.first); + sslConn.setHostnameVerifier(CertUtil.newHostnameVerifier(mContentManager.getHsConfig())); + } catch (Exception e) { + Log.e(LOG_TAG, "sslConn " + e.getMessage(), e); + } + } + + conn.setRequestProperty("Content-Type", mMimeType); + conn.setRequestProperty("Content-Length", Integer.toString(mContentStream.available())); + // avoid caching data before really sending them. + conn.setFixedLengthStreamingMode(mContentStream.available()); + + conn.connect(); + + dos = new DataOutputStream(conn.getOutputStream()); + + // create a buffer of maximum size + totalSize = bytesAvailable = mContentStream.available(); + totalWritten = 0; + bufferSize = Math.min(bytesAvailable, UPLOAD_BUFFER_READ_SIZE); + buffer = new byte[bufferSize]; + + mUploadStats = new IMXMediaUploadListener.UploadStats(); + mUploadStats.mUploadId = mUploadId; + mUploadStats.mProgress = 0; + mUploadStats.mUploadedSize = 0; + mUploadStats.mFileSize = totalSize; + mUploadStats.mElapsedTime = 0; + mUploadStats.mEstimatedRemainingTime = -1; + mUploadStats.mBitRate = 0; + + final long startUploadTime = System.currentTimeMillis(); + + Log.d(LOG_TAG, "doInBackground : start Upload (" + totalSize + " bytes)"); + + // read file and write it into form... + bytesRead = mContentStream.read(buffer, 0, bufferSize); + + dispatchOnUploadStart(); + + final Timer refreshTimer = new Timer(); + + // Publish progress every 100ms + refreshTimer.scheduleAtFixedRate(new TimerTask() { + @Override + public void run() { + if (!mIsDone) { + publishProgress(startUploadTime); + } + } + }, new Date(), 100); + + while ((bytesRead > 0) && !isUploadCancelled()) { + dos.write(buffer, 0, bytesRead); + totalWritten += bytesRead; + bytesAvailable = mContentStream.available(); + bufferSize = Math.min(bytesAvailable, UPLOAD_BUFFER_READ_SIZE); + + Log.d(LOG_TAG, "doInBackground : totalWritten " + totalWritten + " / totalSize " + totalSize); + mUploadStats.mUploadedSize = totalWritten; + bytesRead = mContentStream.read(buffer, 0, bufferSize); + } + mIsDone = true; + + refreshTimer.cancel(); + + if (!isUploadCancelled()) { + mUploadStats.mProgress = 96; + publishProgress(startUploadTime); + dos.flush(); + mUploadStats.mProgress = 97; + publishProgress(startUploadTime); + dos.close(); + mUploadStats.mProgress = 98; + publishProgress(startUploadTime); + + try { + // Read the SERVER RESPONSE + mResponseCode = conn.getResponseCode(); + } catch (EOFException eofEx) { + mResponseCode = HttpURLConnection.HTTP_INTERNAL_ERROR; + } + + mUploadStats.mProgress = 99; + publishProgress(startUploadTime); + + Log.d(LOG_TAG, "doInBackground : Upload is done with response code " + mResponseCode); + + InputStream is; + + if (mResponseCode == HttpURLConnection.HTTP_OK) { + is = conn.getInputStream(); + } else { + is = conn.getErrorStream(); + } + + int ch; + StringBuffer b = new StringBuffer(); + while ((ch = is.read()) != -1) { + b.append((char) ch); + } + serverResponse = b.toString(); + is.close(); + + // the server should provide an error description + if (mResponseCode != HttpURLConnection.HTTP_OK) { + try { + JSONObject responseJSON = new JSONObject(serverResponse); + serverResponse = responseJSON.getString("error"); + } catch (JSONException e) { + Log.e(LOG_TAG, "doInBackground : Error parsing " + e.getMessage(), e); + } + } + } else { + dos.flush(); + dos.close(); + } + + if (null != conn) { + conn.disconnect(); + } + } catch (Exception e) { + serverResponse = e.getLocalizedMessage(); + Log.e(LOG_TAG, "doInBackground ; failed with error " + e.getClass() + " - " + e.getMessage(), e); + } + + mResponseFromServer = serverResponse; + + return serverResponse; + } + + @Override + protected void onProgressUpdate(Void... aVoid) { + super.onProgressUpdate(); + + Log.d(LOG_TAG, "Upload " + this + " : " + mUploadStats.mProgress); + + dispatchOnUploadProgress(mUploadStats); + } + + /** + * Dispatch the result to the callbacks + * + * @param serverResponse the server response + */ + private void dispatchResult(final String serverResponse) { + if (null != mUploadId) { + mPendingUploadByUploadId.remove(mUploadId); + } + + mContentManager.getUnsentEventsManager().onEventSent(mApiCallback); + + // close the source stream + try { + mContentStream.close(); + } catch (Exception e) { + Log.e(LOG_TAG, "dispatchResult " + e.getMessage(), e); + } + + if (isUploadCancelled()) { + dispatchOnUploadCancel(); + } else { + ContentResponse uploadResponse = (mResponseCode != 200 || serverResponse == null) ? null : JsonUtils.toContentResponse(serverResponse); + + if (null == uploadResponse || null == uploadResponse.contentUri) { + dispatchOnUploadError(mResponseCode, serverResponse); + } else { + dispatchOnUploadComplete(uploadResponse.contentUri); + } + } + } + + @Override + protected void onPostExecute(final String serverResponseMessage) { + // do not call the callback if cancelled. + if (!isCancelled()) { + dispatchResult(serverResponseMessage); + } + } + + //============================================================================================================== + // Dispatchers + //============================================================================================================== + + /** + * Dispatch Upload start + */ + private void dispatchOnUploadStart() { + for (IMXMediaUploadListener listener : mUploadListeners) { + try { + listener.onUploadStart(mUploadId); + } catch (Exception e) { + Log.e(LOG_TAG, "dispatchOnUploadStart failed " + e.getMessage(), e); + } + } + } + + /** + * Dispatch Upload start + * + * @param stats the upload stats + */ + private void dispatchOnUploadProgress(IMXMediaUploadListener.UploadStats stats) { + for (IMXMediaUploadListener listener : mUploadListeners) { + try { + listener.onUploadProgress(mUploadId, stats); + } catch (Exception e) { + Log.e(LOG_TAG, "dispatchOnUploadProgress failed " + e.getMessage(), e); + } + } + } + + /** + * Dispatch Upload cancel. + */ + private void dispatchOnUploadCancel() { + for (IMXMediaUploadListener listener : mUploadListeners) { + try { + listener.onUploadCancel(mUploadId); + } catch (Exception e) { + Log.e(LOG_TAG, "listener failed " + e.getMessage(), e); + } + } + } + + /** + * Dispatch Upload error. + * + * @param serverResponseCode the server response code. + * @param serverErrorMessage the server error message + */ + private void dispatchOnUploadError(int serverResponseCode, String serverErrorMessage) { + for (IMXMediaUploadListener listener : mUploadListeners) { + try { + listener.onUploadError(mUploadId, serverResponseCode, serverErrorMessage); + } catch (Exception e) { + Log.e(LOG_TAG, "dispatchOnUploadError failed " + e.getMessage(), e); + } + } + } + + /** + * Dispatch Upload complete. + * + * @param contentUri the media uri. + */ + private void dispatchOnUploadComplete(String contentUri) { + for (IMXMediaUploadListener listener : mUploadListeners) { + try { + listener.onUploadComplete(mUploadId, contentUri); + } catch (Exception e) { + Log.e(LOG_TAG, "dispatchOnUploadComplete failed " + e.getMessage(), e); + } + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/db/MXMediasCache.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/db/MXMediasCache.java new file mode 100644 index 00000000..ab2ecced --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/db/MXMediasCache.java @@ -0,0 +1,1522 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.db; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.media.ExifInterface; +import android.net.Uri; +import android.os.AsyncTask; +import android.os.Handler; +import android.os.HandlerThread; +import android.os.Looper; +import android.support.annotation.Nullable; +import android.text.TextUtils; +import android.webkit.MimeTypeMap; +import android.widget.ImageView; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.crypto.MXEncryptedAttachments; +import im.vector.matrix.android.internal.legacy.listeners.IMXMediaDownloadListener; +import im.vector.matrix.android.internal.legacy.listeners.IMXMediaUploadListener; +import im.vector.matrix.android.internal.legacy.listeners.MXMediaDownloadListener; +import im.vector.matrix.android.internal.legacy.network.NetworkConnectivityReceiver; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.client.MediaScanRestClient; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.EncryptedFileInfo; +import im.vector.matrix.android.internal.legacy.util.ContentManager; +import im.vector.matrix.android.internal.legacy.util.ContentUtils; +import im.vector.matrix.android.internal.legacy.util.Log; +import im.vector.matrix.android.internal.legacy.util.MXOsHandler; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Set; +import java.util.concurrent.RejectedExecutionException; + +public class MXMediasCache { + + private static final String LOG_TAG = MXMediasCache.class.getSimpleName(); + + /** + * The medias folders. + */ + // Put the previous folders used for cache here. Every time the cache management change (change of id format, etc.), + // append the current cache folder to this list, and change value of MXMEDIA_STORE_FOLDER (typically increment the value) + private static final List sPreviousMediaCacheFolders = Arrays.asList( + "MXMediaStore", + "MXMediaStore2" + ); + + private static final String MXMEDIA_STORE_FOLDER = "MXMediaStore3"; + private static final String MXMEDIA_STORE_MEMBER_THUMBNAILS_FOLDER = "MXMemberThumbnailsStore"; + private static final String MXMEDIA_STORE_IMAGES_FOLDER = "Images"; + private static final String MXMEDIA_STORE_OTHERS_FOLDER = "Others"; + private static final String MXMEDIA_STORE_TMP_FOLDER = "tmp"; + private static final String MXMEDIA_STORE_SHARE_FOLDER = "share"; + + /** + * The content manager + */ + private ContentManager mContentManager; + + /** + * The medias folders list. + */ + private File mMediasFolderFile; + private File mImagesFolderFile; + private File mOthersFolderFile; + private File mThumbnailsFolderFile; + + // This folder will contain decrypted media files + private File mTmpFolderFile; + + // This folder will contain decrypted media files, for file sharing + private File mShareFolderFile; + + // track the network updates + private final NetworkConnectivityReceiver mNetworkConnectivityReceiver; + + // the background thread + static HandlerThread mDecryptingHandlerThread = null; + static MXOsHandler mDecryptingHandler = null; + static android.os.Handler mUIHandler = null; + + private MediaScanRestClient mMediaScanRestClient; + + /** + * Constructor + * + * @param contentManager the content manager. + * @param networkConnectivityReceiver the network connectivity receiver + * @param userID the account user Id. + * @param context the context + */ + public MXMediasCache(ContentManager contentManager, NetworkConnectivityReceiver networkConnectivityReceiver, String userID, Context context) { + mContentManager = contentManager; + mNetworkConnectivityReceiver = networkConnectivityReceiver; + + File mediaBaseFolderFile; + + // Clear previous cache + for (String previousMediaCacheFolder : sPreviousMediaCacheFolders) { + mediaBaseFolderFile = new File(context.getApplicationContext().getFilesDir(), previousMediaCacheFolder); + + if (mediaBaseFolderFile.exists()) { + ContentUtils.deleteDirectory(mediaBaseFolderFile); + } + } + + mediaBaseFolderFile = new File(context.getApplicationContext().getFilesDir(), MXMEDIA_STORE_FOLDER); + + if (!mediaBaseFolderFile.exists()) { + mediaBaseFolderFile.mkdirs(); + } + + // create the dir tree + mMediasFolderFile = new File(mediaBaseFolderFile, userID); + mImagesFolderFile = new File(mMediasFolderFile, MXMEDIA_STORE_IMAGES_FOLDER); + mOthersFolderFile = new File(mMediasFolderFile, MXMEDIA_STORE_OTHERS_FOLDER); + mTmpFolderFile = new File(mMediasFolderFile, MXMEDIA_STORE_TMP_FOLDER); + + if (mTmpFolderFile.exists()) { + ContentUtils.deleteDirectory(mTmpFolderFile); + } + mTmpFolderFile.mkdirs(); + + mShareFolderFile = new File(mMediasFolderFile, MXMEDIA_STORE_SHARE_FOLDER); + + if (mShareFolderFile.exists()) { + ContentUtils.deleteDirectory(mShareFolderFile); + } + mShareFolderFile.mkdirs(); + + mThumbnailsFolderFile = new File(mediaBaseFolderFile, MXMEDIA_STORE_MEMBER_THUMBNAILS_FOLDER); + + // use the same thread for all the sessions + if (null == mDecryptingHandlerThread) { + mDecryptingHandlerThread = new HandlerThread("MXMediaDecryptingBackgroundThread", Thread.MIN_PRIORITY); + mDecryptingHandlerThread.start(); + mDecryptingHandler = new MXOsHandler(mDecryptingHandlerThread.getLooper()); + mUIHandler = new Handler(Looper.getMainLooper()); + } + } + + /** + * Returns the mediasFolder files. + * Creates it if it does not exist + * + * @return the medias folder file. + */ + private File getMediasFolderFile() { + if (!mMediasFolderFile.exists()) { + mMediasFolderFile.mkdirs(); + } + + return mMediasFolderFile; + } + + /** + * Returns the folder file for a dedicated mimetype. + * Creates it if it does not exist + * + * @param mimeType the media mimetype. + * @return the folder file. + */ + private File getFolderFile(String mimeType) { + File file; + + // + if ((null == mimeType) || mimeType.startsWith("image/")) { + file = mImagesFolderFile; + } else { + file = mOthersFolderFile; + } + + if (!file.exists()) { + file.mkdirs(); + } + + return file; + } + + /** + * Returns the thumbnails folder. + * Creates it if it does not exist + * + * @return the thumbnails folder file. + */ + private File getThumbnailsFolderFile() { + if (!mThumbnailsFolderFile.exists()) { + mThumbnailsFolderFile.mkdirs(); + } + + return mThumbnailsFolderFile; + } + + /** + * Compute the medias cache size + * + * @param context the context + * @param callback the asynchronous callback + */ + public static void getCachesSize(final Context context, final ApiCallback callback) { + AsyncTask task = new AsyncTask() { + @Override + protected Long doInBackground(Void... params) { + return ContentUtils.getDirectorySize(context, + new File(context.getApplicationContext().getFilesDir(), MXMEDIA_STORE_FOLDER), + 1); + } + + @Override + protected void onPostExecute(Long result) { + Log.d(LOG_TAG, "## getCachesSize() : " + result); + if (null != callback) { + callback.onSuccess(result); + } + } + }; + try { + task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } catch (Exception e) { + Log.e(LOG_TAG, "## getCachesSize() : failed " + e.getMessage(), e); + task.cancel(true); + } + } + + /** + * Remove medias older than ts + * + * @param ts the ts + * @param filePathToKeep set of files to keep + * @return length of deleted files + */ + public long removeMediasBefore(long ts, Set filePathToKeep) { + long length = 0; + + length += removeMediasBefore(getMediasFolderFile(), ts, filePathToKeep); + length += removeMediasBefore(getThumbnailsFolderFile(), ts, filePathToKeep); + + return length; + } + + /** + * Recursive method to remove older messages + * + * @param folder the base folder + * @param aTs the ts + * @param filePathToKeep set of files to keep + * @return length of deleted files + */ + private long removeMediasBefore(File folder, long aTs, Set filePathToKeep) { + long length = 0; + File[] files = folder.listFiles(); + + if (null != files) { + for (int i = 0; i < files.length; i++) { + File file = files[i]; + + if (!file.isDirectory()) { + + if (!filePathToKeep.contains(file.getPath())) { + long ts = ContentUtils.getLastAccessTime(file); + if (ts < aTs) { + length += file.length(); + file.delete(); + } + } + } else { + length += removeMediasBefore(file, aTs, filePathToKeep); + } + } + } + + return length; + } + + /** + * Clear the medias caches. + */ + public void clear() { + ContentUtils.deleteDirectory(getMediasFolderFile()); + + ContentUtils.deleteDirectory(mThumbnailsFolderFile); + + // clear the media cache + MXMediaDownloadWorkerTask.clearBitmapsCache(); + + // cancel pending uploads. + MXMediaUploadWorkerTask.cancelPendingUploads(); + } + + /** + * The thumbnails cached is not cleared when logging out a session + * because many sessions share the same thumbnails. + * This method must be called when performing an application logout + * i.e. logging out of all sessions. + * + * @param applicationContext the application context + */ + public static void clearThumbnailsCache(Context applicationContext) { + ContentUtils.deleteDirectory(new File(new File(applicationContext.getApplicationContext().getFilesDir(), MXMediasCache.MXMEDIA_STORE_FOLDER), + MXMEDIA_STORE_MEMBER_THUMBNAILS_FOLDER)); + } + + /** + * Provide the thumbnail file. + * + * @param url the thumbnail url/ + * @param size the thumbnail size. + * @return the File if it exits. + */ + @Nullable + public File thumbnailCacheFile(String url, int size) { + // We use the download task id to define a cache id + String thumbnailCacheId = mContentManager.downloadTaskIdForMatrixMediaContent(url); + + if (null != thumbnailCacheId) { + if (size > 0) { + thumbnailCacheId += "_w_" + size + "_h_" + size; + } + String filename = MXMediaDownloadWorkerTask.buildFileName(thumbnailCacheId, "image/jpeg"); + + try { + File file = new File(getThumbnailsFolderFile(), filename); + + if (file.exists()) { + return file; + } + } catch (Exception e) { + Log.e(LOG_TAG, "thumbnailCacheFile failed " + e.getMessage(), e); + } + } + + return null; + } + + /** + * Return the cache file name for a media defined by its URL and its mime type. + * + * @param url the media URL + * @param width the media width + * @param height the media height + * @param mimeType the media mime type + * @return the media file it is found + */ + @Nullable + private File mediaCacheFile(String url, int width, int height, String mimeType) { + // sanity check + if (null == url) { + return null; + } + + String filename; + if (url.startsWith("file:")) { + filename = url; + } else { + // We use the download task id to define a cache id + String cacheId = mContentManager.downloadTaskIdForMatrixMediaContent(url); + if (null != cacheId) { + if ((width > 0) && (height > 0)) { + cacheId += "_w_" + width + "_h_" + height; + } + filename = MXMediaDownloadWorkerTask.buildFileName(cacheId, mimeType); + } else { + return null; + } + } + + try { + // already a local file + if (filename.startsWith("file:")) { + Uri uri = Uri.parse(filename); + filename = uri.getLastPathSegment(); + } + + File file = new File(getFolderFile(mimeType), filename); + + if (file.exists()) { + return file; + } + + } catch (Exception e) { + Log.e(LOG_TAG, "mediaCacheFile failed " + e.getMessage(), e); + } + + return null; + } + + /** + * Tells if a media is cached + * + * @param url the url + * @param mimeType the mimetype + * @return true if the media is cached + */ + public boolean isMediaCached(String url, String mimeType) { + return isMediaCached(url, -1, -1, mimeType); + } + + /** + * Tells if a media is cached + * + * @param url the media URL + * @param width the media width + * @param height the media height + * @param mimeType the media mime type + * @return the media file is cached + */ + public boolean isMediaCached(String url, int width, int height, String mimeType) { + return null != mediaCacheFile(url, width, height, mimeType); + } + + /** + * Create a temporary decrypted copy of a media. + * It must be released when it is not used anymore with clearTmpDecryptedMediaCache(). + * + * @param url the media url + * @param mimeType the media mime type + * @param encryptedFileInfo the encryption information + * @param callback the asynchronous callback + * @return true if the file is cached + */ + public boolean createTmpDecryptedMediaFile(String url, + String mimeType, + EncryptedFileInfo encryptedFileInfo, + ApiCallback callback) { + return createTmpDecryptedMediaFile(url, + -1, + -1, + mimeType, + encryptedFileInfo, + callback); + } + + /** + * Create a temporary decrypted copy of a media. + * It must be released when it is not used anymore with clearTmpDecryptedMediaCache(). + * + * @param url the media URL + * @param width the media width + * @param height the media height + * @param mimeType the media mime type + * @param encryptedFileInfo the encryption information + * @param callback the asynchronous callback + * @return true if the file is cached + */ + public boolean createTmpDecryptedMediaFile(String url, + int width, + int height, + String mimeType, + final EncryptedFileInfo encryptedFileInfo, + final ApiCallback callback) { + final File file = mediaCacheFile(url, width, height, mimeType); + + if (null != file) { + mDecryptingHandler.post(new Runnable() { + @Override + public void run() { + final File tmpFile = new File(mTmpFolderFile, file.getName()); + + // create it only if it does not exist yet + if (!tmpFile.exists()) { + try { + InputStream fis = new FileInputStream(file); + + if (null != encryptedFileInfo) { + InputStream is = MXEncryptedAttachments.decryptAttachment(fis, encryptedFileInfo); + fis.close(); + fis = is; + } + + FileOutputStream fos = new FileOutputStream(tmpFile); + byte[] buf = new byte[2048]; + int len; + while ((len = fis.read(buf)) != -1) { + fos.write(buf, 0, len); + } + + fis.close(); + fos.close(); + } catch (Exception e) { + Log.e(LOG_TAG, "## createTmpDecryptedMediaFile() failed " + e.getMessage(), e); + } + } + + mUIHandler.post(new Runnable() { + @Override + public void run() { + callback.onSuccess(tmpFile); + } + }); + } + }); + } + return (null != file); + } + + /** + * Clear the temporary decrypted media cache folder + */ + public void clearTmpDecryptedMediaCache() { + Log.d(LOG_TAG, "clearTmpDecryptedMediaCache()"); + + if (mTmpFolderFile.exists()) { + ContentUtils.deleteDirectory(mTmpFolderFile); + } + + if (!mTmpFolderFile.exists()) { + mTmpFolderFile.mkdirs(); + } + } + + /** + * Move a decrypted media file to the /share folder, to avoid this file to be deleted if in the /tmp folder + * + * @param fileToMove The file to move + * @param filename the filename, without path + * @return The copied file in the Share folder location + */ + public File moveToShareFolder(final File fileToMove, + final String filename) { + File dstFile = new File(mShareFolderFile, filename); + + if (dstFile.exists()) { + if (!dstFile.delete()) { + Log.w(LOG_TAG, "Unable to delete file"); + } + } + + if (!fileToMove.renameTo(dstFile)) { + Log.w(LOG_TAG, "Unable to rename file"); + + // Return the original file + return fileToMove; + } + + return dstFile; + } + + /** + * Clear the temporary shared decrypted media cache folder + */ + public void clearShareDecryptedMediaCache() { + Log.d(LOG_TAG, "clearShareDecryptedMediaCache()"); + + if (mShareFolderFile.exists()) { + ContentUtils.deleteDirectory(mShareFolderFile); + } + + if (!mShareFolderFile.exists()) { + mShareFolderFile.mkdirs(); + } + } + + /** + * Save a bitmap to the local cache + * it could be used for unsent media to allow them to be resent. + * + * @param bitmap the bitmap to save + * @param defaultFileName the filename is provided, if null, a filename will be generated + * @return the media cache URL + */ + public String saveBitmap(Bitmap bitmap, String defaultFileName) { + String filename = "file" + System.currentTimeMillis() + ".jpg"; + String cacheURL = null; + + try { + if (null != defaultFileName) { + File file = new File(getFolderFile(null), defaultFileName); + file.delete(); + + filename = Uri.fromFile(file).getLastPathSegment(); + } + + File file = new File(getFolderFile(null), filename); + FileOutputStream fos = new FileOutputStream(file.getPath()); + + // We got an java.lang.IllegalStateException: Can't compress a recycled bitmap + if (bitmap.isRecycled()) { + Log.w(LOG_TAG, "Trying to compress a recycled Bitmap. Create a copy first."); + bitmap = Bitmap.createBitmap(bitmap); + } + + bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos); + + fos.flush(); + fos.close(); + + cacheURL = Uri.fromFile(file).toString(); + } catch (Exception e) { + Log.e(LOG_TAG, "saveBitmap failed " + e.getMessage(), e); + } + + return cacheURL; + } + + /** + * Save a media to the local cache + * it could be used for unsent media to allow them to be resent. + * + * @param stream the file stream to save + * @param defaultFileName the filename is provided, if null, a filename will be generated + * @param mimeType the mime type. + * @return the media cache URL + */ + public String saveMedia(InputStream stream, String defaultFileName, String mimeType) { + String filename = defaultFileName; + + if (null == filename) { + filename = "file" + System.currentTimeMillis(); + + if (null != mimeType) { + String extension = MimeTypeMap.getSingleton().getExtensionFromMimeType(mimeType); + + if (null == extension) { + if (mimeType.lastIndexOf("/") >= 0) { + extension = mimeType.substring(mimeType.lastIndexOf("/") + 1); + } + } + + if (!TextUtils.isEmpty(extension)) { + filename += "." + extension; + } + } + } + + String cacheURL = null; + + try { + File file = new File(getFolderFile(mimeType), filename); + + // if the file exits, delete it + if (file.exists()) { + file.delete(); + } + + FileOutputStream fos = new FileOutputStream(file.getPath()); + + try { + byte[] buf = new byte[1024 * 32]; + + int len; + while ((len = stream.read(buf)) != -1) { + fos.write(buf, 0, len); + } + } catch (Exception e) { + Log.e(LOG_TAG, "saveMedia failed " + e.getMessage(), e); + } + + fos.flush(); + fos.close(); + stream.close(); + + cacheURL = Uri.fromFile(file).toString(); + } catch (Exception e) { + Log.e(LOG_TAG, "saveMedia failed " + e.getMessage(), e); + + } + + return cacheURL; + } + + /** + * Replace a media cache by a file content. + * + * @param mediaUrl the mediaUrl + * @param mimeType the mimeType. + * @param fileUrl the file which replaces the cached media. + */ + public void saveFileMediaForUrl(String mediaUrl, + String fileUrl, + String mimeType) { + saveFileMediaForUrl(mediaUrl, + fileUrl, + -1, + -1, + mimeType); + } + + /** + * Replace a media cache by a file content. + * MediaUrl is the same model as the one used in loadBitmap. + * + * @param mediaUrl the mediaUrl + * @param fileUrl the file which replaces the cached media. + * @param width the expected image width + * @param height the expected image height + * @param mimeType the mimeType. + */ + public void saveFileMediaForUrl(String mediaUrl, + String fileUrl, + int width, + int height, + String mimeType) { + saveFileMediaForUrl(mediaUrl, + fileUrl, + width, + height, + mimeType, + false); + } + + /** + * Copy or Replace a media cache by a file content. + * MediaUrl is the same model as the one used in loadBitmap. + * + * @param mediaUrl the mediaUrl + * @param fileUrl the file which replaces the cached media. + * @param width the expected image width + * @param height the expected image height + * @param mimeType the mimeType. + * @param keepSource keep the source file + */ + public void saveFileMediaForUrl(String mediaUrl, + String fileUrl, + int width, + int height, + String mimeType, + boolean keepSource) { + // We use the download task id to define a cache id + String cacheId = mContentManager.downloadTaskIdForMatrixMediaContent(mediaUrl); + if (null != cacheId) { + if ((width > 0) && (height > 0)) { + cacheId += "_w_" + width + "_h_" + height; + } + String filename = MXMediaDownloadWorkerTask.buildFileName(cacheId, mimeType); + + try { + // delete the current content + File destFile = new File(getFolderFile(mimeType), filename); + + if (destFile.exists()) { + try { + destFile.delete(); + } catch (Exception e) { + Log.e(LOG_TAG, "saveFileMediaForUrl delete failed " + e.getMessage(), e); + } + } + + Uri uri = Uri.parse(fileUrl); + File srcFile = new File(uri.getPath()); + + if (keepSource) { + InputStream in = new FileInputStream(srcFile); + OutputStream out = new FileOutputStream(destFile); + + // Transfer bytes from in to out + byte[] buf = new byte[1024]; + int len; + while ((len = in.read(buf)) > 0) { + out.write(buf, 0, len); + } + in.close(); + out.close(); + } else { + srcFile.renameTo(destFile); + } + + } catch (Exception e) { + Log.e(LOG_TAG, "saveFileMediaForUrl failed " + e.getMessage(), e); + } + } + } + + /** + * Load an avatar thumbnail. + * The imageView image is updated when the bitmap is loaded or downloaded. + * + * @param hsConfig the home server config. + * @param imageView Ihe imageView to update with the image. + * @param url the image url + * @param side the avatar thumbnail side + * @return a download identifier if the image is not cached else null. + */ + public String loadAvatarThumbnail(HomeServerConnectionConfig hsConfig, + ImageView imageView, + String url, + int side) { + return loadBitmap(imageView.getContext(), + hsConfig, + imageView, + url, + side, + side, + 0, + ExifInterface.ORIENTATION_UNDEFINED, + null, + getThumbnailsFolderFile(), + null); + } + + /** + * Load an avatar thumbnail. + * The imageView image is updated when the bitmap is loaded or downloaded. + * + * @param hsConfig the home server config. + * @param imageView Ihe imageView to update with the image. + * @param url the image url + * @param side the avatar thumbnail side + * @param aDefaultAvatar the avatar to use when the Url is not reachable. + * @return a download identifier if the image is not cached else null. + */ + public String loadAvatarThumbnail(HomeServerConnectionConfig hsConfig, + ImageView imageView, + String url, + int side, + Bitmap aDefaultAvatar) { + return loadBitmap(imageView.getContext(), + hsConfig, + imageView, + url, + side, + side, + 0, + ExifInterface.ORIENTATION_UNDEFINED, + null, + getThumbnailsFolderFile(), + aDefaultAvatar, + null); + } + + /** + * Tells if the avatar is cached + * + * @param url the avatar url to test + * @param size the thumbnail size + * @return true if the avatar bitmap is cached. + */ + public boolean isAvatarThumbnailCached(String url, int size) { + boolean isCached = false; + + // We use the download task id to define a cache id + String thumbnailCacheId = mContentManager.downloadTaskIdForMatrixMediaContent(url); + if (null != thumbnailCacheId) { + if (size > 0) { + thumbnailCacheId += "_w_" + size + "_h_" + size; + } + isCached = MXMediaDownloadWorkerTask.isMediaCached(thumbnailCacheId); + + if (!isCached) { + try { + isCached = (new File(getThumbnailsFolderFile(), MXMediaDownloadWorkerTask.buildFileName(thumbnailCacheId, "image/jpeg"))).exists(); + } catch (Throwable t) { + Log.e(LOG_TAG, "## isAvatarThumbnailCached() : failed " + t.getMessage(), t); + } + } + } + + return isCached; + } + + /** + * Tells if the media URL is unreachable. + * + * @param url the url to test. + * @return true if the media URL is unreachable. + */ + public static boolean isMediaUrlUnreachable(String url) { + return MXMediaDownloadWorkerTask.isMediaUrlUnreachable(url); + } + + /** + * Load a bitmap from the url. + * The imageView image is updated when the bitmap is loaded or downloaded. + * + * @param hsConfig The home server config. + * @param imageView The imageView to update with the image. + * @param url the image url + * @param rotationAngle the rotation angle (degrees) + * @param orientation the orientation (ExifInterface.ORIENTATION_XXX value) + * @param mimeType the mimeType. + * @param encryptionInfo the encryption file info + * @return a download identifier if the image is not cached else null. + */ + public String loadBitmap(HomeServerConnectionConfig hsConfig, + ImageView imageView, + String url, + int rotationAngle, + int orientation, + String mimeType, + EncryptedFileInfo encryptionInfo) { + return loadBitmap(hsConfig, + imageView, + url, + -1, + -1, + rotationAngle, + orientation, + mimeType, + encryptionInfo); + } + + /** + * Load a bitmap from the url. + * The imageView image is updated when the bitmap is loaded or downloaded. + * + * @param hsConfig The home server config. + * @param context The context + * @param url the image url + * @param rotationAngle the rotation angle (degrees) + * @param orientation the orientation (ExifInterface.ORIENTATION_XXX value) + * @param mimeType the mimeType. + * @param encryptionInfo the encryption file info + * @return a download identifier if the image is not cached. + */ + public String loadBitmap(Context context, + HomeServerConnectionConfig hsConfig, + String url, + int rotationAngle, + int orientation, + String mimeType, + EncryptedFileInfo encryptionInfo) { + return loadBitmap(context, + hsConfig, + null, + url, + -1, + -1, + rotationAngle, + orientation, + mimeType, + getFolderFile(mimeType), + encryptionInfo); + } + + /** + * Load a bitmap from an url. + * The imageView image is updated when the bitmap is loaded or downloaded. + * The width/height parameters are optional. If they are positive, download a thumbnail. + * rotationAngle is set to Integer.MAX_VALUE when undefined : the EXIF metadata must be checked. + * + * @param hsConfig The home server config. + * @param imageView The imageView to fill when the image is downloaded + * @param url the image url + * @param width the expected image width + * @param height the expected image height + * @param rotationAngle the rotation angle (degrees) + * @param orientation the orientation (ExifInterface.ORIENTATION_XXX value) + * @param mimeType the mimeType. + * @param encryptionInfo the encryption file info + * @return a download identifier if the image is not cached + */ + public String loadBitmap(HomeServerConnectionConfig hsConfig, + ImageView imageView, + String url, + int width, + int height, + int rotationAngle, + int orientation, + String mimeType, + EncryptedFileInfo encryptionInfo) { + return loadBitmap(imageView.getContext(), + hsConfig, + imageView, + url, + width, + height, + rotationAngle, + orientation, + mimeType, + getFolderFile(mimeType), + encryptionInfo); + } + + // some tasks have been stacked because there are too many running ones. + private final List mSuspendedTasks = new ArrayList<>(); + + /** + * Check whether a download is in progress for the content at a Matrix media content URI + * (in the form of "mxc://..."). Returns the identifier of the download task if any. + * + * @param contentUrl the matrix media url + * @return the download ID if there is a pending download or null + */ + @Nullable + public String downloadIdFromUrl(String contentUrl) { + // Check and resolve the provided URL, the resulting URL is used as download identifier. + String downloadId = mContentManager.downloadTaskIdForMatrixMediaContent(contentUrl); + + if (null != downloadId && null != MXMediaDownloadWorkerTask.getMediaDownloadWorkerTask(downloadId)) { + return downloadId; + } + + return null; + } + + /** + * Download a media. + * + * @param context the application context + * @param hsConfig the home server config. + * @param url the media url + * @param mimeType the media mimetype + * @param encryptionInfo the encryption information + * @return the download identifier if there is a pending download else null + */ + public String downloadMedia(Context context, + HomeServerConnectionConfig hsConfig, + String url, + String mimeType, + EncryptedFileInfo encryptionInfo) { + return downloadMedia(context, + hsConfig, + url, + mimeType, + encryptionInfo, + null); + } + + /** + * Download a media. + * + * @param context the application context + * @param hsConfig the home server config. + * @param url the media url + * @param mimeType the media mimetype + * @param encryptionInfo the encryption information + * @param listener the encryption information + * @return the download identifier if there is a pending download else null + */ + public String downloadMedia(Context context, + HomeServerConnectionConfig hsConfig, + String url, + String mimeType, + EncryptedFileInfo encryptionInfo, + IMXMediaDownloadListener listener) { + // sanity checks + if ((null == mimeType) || (null == context)) { + return null; + } + + // Check the provided URL + String downloadId = mContentManager.downloadTaskIdForMatrixMediaContent(url); + + // Return if the media url is not valid, or if the media is already downloaded + if (null == downloadId || isMediaCached(url, mimeType)) { + return null; + } + + // is the media downloading? + MXMediaDownloadWorkerTask task = MXMediaDownloadWorkerTask.getMediaDownloadWorkerTask(downloadId); + if (null != task) { + task.addDownloadListener(listener); + return downloadId; + } + + // Download it in background + String downloadableUrl = mContentManager.getDownloadableUrl(url, null != encryptionInfo); + task = new MXMediaDownloadWorkerTask(context, + hsConfig, + mNetworkConnectivityReceiver, + getFolderFile(mimeType), + downloadableUrl, + downloadId, + 0, + mimeType, + encryptionInfo, + mMediaScanRestClient, + mContentManager.isAvScannerEnabled()); + task.addDownloadListener(listener); + + // avoid crash if there are too many running task + try { + task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } catch (RejectedExecutionException e) { + // too many tasks have been launched + synchronized (mSuspendedTasks) { + task.cancel(true); + // create a new task from the existing one + task = new MXMediaDownloadWorkerTask(task); + mSuspendedTasks.add(task); + // privacy + //Log.e(LOG_TAG, "Suspend the task " + task.getUrl()); + Log.e(LOG_TAG, "Suspend the task ", e); + } + + } catch (Exception e) { + Log.e(LOG_TAG, "downloadMedia failed " + e.getMessage(), e); + synchronized (mSuspendedTasks) { + task.cancel(true); + } + } + + return downloadId; + } + + /** + * Start any suspended task + */ + private void launchSuspendedTask() { + synchronized (mSuspendedTasks) { + // some task have been suspended because there were too many running ones ? + if (!mSuspendedTasks.isEmpty()) { + MXMediaDownloadWorkerTask task = mSuspendedTasks.get(0); + + // privacy + //Log.d(LOG_TAG, "Restart the task " + task.getUrl()); + Log.d(LOG_TAG, "Restart a task "); + + // avoid crash if there are too many running task + try { + task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + mSuspendedTasks.remove(task); + } catch (RejectedExecutionException e) { + task.cancel(true); + + mSuspendedTasks.remove(task); + // create a new task from the existing one + task = new MXMediaDownloadWorkerTask(task); + mSuspendedTasks.add(task); + + // privacy + //Log.d(LOG_TAG, "Suspend again the task " + task.getUrl() + " - " + task.getStatus()); + Log.d(LOG_TAG, "Suspend again the task " + task.getStatus()); + } catch (Exception e) { + Log.e(LOG_TAG, "Try to Restart a task fails " + e.getMessage(), e); + } + } + } + } + + /** + * The default bitmap to use when the media cannot be retrieved. + */ + private static Bitmap mDefaultBitmap = null; + + /** + * Load a bitmap from an url. + * The imageView image is updated when the bitmap is loaded or downloaded. + * The width/height parameters are optional. If they are positive, download a thumbnail. + *

    + * The rotation angle is checked first. + * If rotationAngle is set to Integer.MAX_VALUE, check the orientation is defined to a valid value. + * If the orientation is defined, request the properly oriented image to the server + * + * @param context the context + * @param hsConfig the home server config + * @param imageView the imageView to fill when the image is downloaded + * @param url the image url + * @param width the expected image width + * @param height the expected image height + * @param rotationAngle the rotation angle (degrees) + * @param orientation the orientation (ExifInterface.ORIENTATION_XXX value) + * @param mimeType the mimeType. + * @param folderFile the folder where the media should be stored + * @param encryptionInfo the encryption file information. + * @return a download identifier if the image is not cached + */ + public String loadBitmap(Context context, + HomeServerConnectionConfig hsConfig, + final ImageView imageView, + String url, + int width, + int height, + int rotationAngle, + int orientation, + String mimeType, + File folderFile, + EncryptedFileInfo encryptionInfo) { + return loadBitmap(context, + hsConfig, + imageView, + url, + width, + height, + rotationAngle, + orientation, + mimeType, + folderFile, + null, + encryptionInfo); + } + + /** + * Load a bitmap from an url. + * The imageView image is updated when the bitmap is loaded or downloaded. + * The width/height parameters are optional. If they are positive, download a thumbnail. + *

    + * The rotation angle is checked first. + * If rotationAngle is set to Integer.MAX_VALUE, check the orientation is defined to a valid value. + * If the orientation is defined, request the properly oriented image to the server + * + * @param context the context + * @param hsConfig the home server config + * @param imageView the imageView to fill when the image is downloaded + * @param url the image url + * @param width the expected image width + * @param height the expected image height + * @param rotationAngle the rotation angle (degrees) + * @param orientation the orientation (ExifInterface.ORIENTATION_XXX value) + * @param mimeType the mimeType. + * @param folderFile the folder where the media should be stored + * @param aDefaultBitmap the default bitmap to use when the url media cannot be retrieved. + * @param encryptionInfo the file encryption info + * @return a download identifier if the image is not cached + */ + public String loadBitmap(Context context, + HomeServerConnectionConfig hsConfig, + final ImageView imageView, + String url, + int width, + int height, + int rotationAngle, + int orientation, + String mimeType, + File folderFile, + Bitmap aDefaultBitmap, + EncryptedFileInfo encryptionInfo) { + // Check invalid bitmap size + if ((0 == width) || (0 == height)) { + return null; + } + + if (null == mDefaultBitmap) { + mDefaultBitmap = BitmapFactory.decodeResource(context.getResources(), android.R.drawable.ic_menu_gallery); + } + + final Bitmap defaultBitmap = (null == aDefaultBitmap) ? mDefaultBitmap : aDefaultBitmap; + + // Check whether the url is valid + String downloadId = mContentManager.downloadTaskIdForMatrixMediaContent(url); + if (null == downloadId) { + // Nothing to do + if (null != imageView) { + imageView.setImageBitmap(defaultBitmap); + } + return null; + } + + // Resolve the provided URL. + // Note: it is not possible to resize an encrypted image. + String downloadableUrl; + if (null == encryptionInfo && width > 0 && height > 0) { + downloadableUrl = mContentManager.getDownloadableThumbnailUrl(url, width, height, ContentManager.METHOD_SCALE); + downloadId += "_w_" + width + "_h_" + height; + } else { + downloadableUrl = mContentManager.getDownloadableUrl(url, null != encryptionInfo); + } + + // the thumbnail params are ignored when encrypted + if ((null == encryptionInfo) + && (rotationAngle == Integer.MAX_VALUE) + && (orientation != ExifInterface.ORIENTATION_UNDEFINED) + && (orientation != ExifInterface.ORIENTATION_NORMAL)) { + if (downloadableUrl.contains("?")) { + downloadableUrl += "&apply_orientation=true"; + } else { + downloadableUrl += "?apply_orientation=true"; + } + downloadId += "_apply_orientation"; + } + + final String fDownloadId = downloadId; + + if (null != imageView) { + imageView.setTag(fDownloadId); + } + + // if the mime type is not provided, assume it is a jpeg file + if (null == mimeType) { + mimeType = "image/jpeg"; + } + + boolean isCached = MXMediaDownloadWorkerTask.bitmapForURL(context.getApplicationContext(), + folderFile, downloadableUrl, downloadId, rotationAngle, mimeType, encryptionInfo, new SimpleApiCallback() { + @Override + public void onSuccess(Bitmap bitmap) { + if (null != imageView) { + if (TextUtils.equals(fDownloadId, (String) imageView.getTag())) { + // display it + imageView.setImageBitmap((null != bitmap) ? bitmap : defaultBitmap); + } + } + } + }); + + if (isCached) { + downloadId = null; + } else { + MXMediaDownloadWorkerTask currentTask = MXMediaDownloadWorkerTask.getMediaDownloadWorkerTask(downloadId); + + if (null != currentTask) { + if (null != imageView) { + currentTask.addImageView(imageView); + } + } else { + // Download it in background + MXMediaDownloadWorkerTask task = new MXMediaDownloadWorkerTask(context, + hsConfig, + mNetworkConnectivityReceiver, + folderFile, + downloadableUrl, + downloadId, + rotationAngle, + mimeType, + encryptionInfo, + mMediaScanRestClient, + mContentManager.isAvScannerEnabled()); + + if (null != imageView) { + task.addImageView(imageView); + } + + task.setDefaultBitmap(defaultBitmap); + + // check at the end of the download, if a suspended task can be launched again. + task.addDownloadListener(new MXMediaDownloadListener() { + @Override + public void onDownloadComplete(String downloadId) { + launchSuspendedTask(); + } + }); + + + // avoid crash if there are too many running task + try { + task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } catch (RejectedExecutionException e) { + // too many tasks have been launched + synchronized (mSuspendedTasks) { + task.cancel(true); + // create a new task from the existing one + task = new MXMediaDownloadWorkerTask(task); + mSuspendedTasks.add(task); + // privacy + //Log.e(LOG_TAG, "Suspend the task " + task.getUrl()); + Log.e(LOG_TAG, "Suspend a task", e); + } + + } catch (Exception e) { + Log.e(LOG_TAG, "loadBitmap failed " + e.getMessage(), e); + } + } + } + + return downloadId; + } + + /** + * Returns the download progress (percentage). + * + * @param downloadId the downloadId provided by loadBitmap; + * @return the download progress + */ + public int getProgressValueForDownloadId(String downloadId) { + MXMediaDownloadWorkerTask currentTask = MXMediaDownloadWorkerTask.getMediaDownloadWorkerTask(downloadId); + + if (null != currentTask) { + return currentTask.getProgress(); + } + return -1; + } + + /** + * Returns the download stats for a dedicated download id. + * + * @param downloadId the downloadId provided by loadBitmap; + * @return the download stats + */ + @Nullable + public IMXMediaDownloadListener.DownloadStats getStatsForDownloadId(String downloadId) { + MXMediaDownloadWorkerTask task = MXMediaDownloadWorkerTask.getMediaDownloadWorkerTask(downloadId); + + if (null != task) { + return task.getDownloadStats(); + } + + return null; + } + + /** + * Add a download listener for an downloadId. + * + * @param downloadId The uploadId. + * @param listener the download listener. + */ + public void addDownloadListener(String downloadId, IMXMediaDownloadListener listener) { + MXMediaDownloadWorkerTask task = MXMediaDownloadWorkerTask.getMediaDownloadWorkerTask(downloadId); + + if (null != task) { + task.addDownloadListener(listener); + } + // Else consider calling listener.onDownloadComplete(downloadId) ? + } + + /** + * Cancel a download. + * + * @param downloadId the download id. + */ + public void cancelDownload(String downloadId) { + MXMediaDownloadWorkerTask task = MXMediaDownloadWorkerTask.getMediaDownloadWorkerTask(downloadId); + + if (null != task) { + task.cancelDownload(); + } + } + + /** + * Upload a file + * + * @param contentStream the stream to upload + * @param filename the dst filename + * @param mimeType the mimetype + * @param uploadId the upload id + * @param listener the upload progress listener + */ + public void uploadContent(InputStream contentStream, + String filename, + String mimeType, + String uploadId, + IMXMediaUploadListener listener) { + try { + new MXMediaUploadWorkerTask(mContentManager, + contentStream, + mimeType, + uploadId, + filename, + listener) + .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); + } catch (Exception e) { + // cannot start the task + if (null != listener) { + listener.onUploadError(uploadId, -1, null); + } + } + } + + /** + * Returns the upload progress (percentage) for a dedicated uploadId + * + * @param uploadId The uploadId. + * @return the upload percentage. -1 means there is no pending upload. + */ + public int getProgressValueForUploadId(String uploadId) { + MXMediaUploadWorkerTask task = MXMediaUploadWorkerTask.getMediaUploadWorkerTask(uploadId); + + if (null != task) { + return task.getProgress(); + } + + return -1; + } + + /** + * Returns the upload stats for a dedicated uploadId + * + * @param uploadId The uploadId. + * @return the upload stats + */ + public IMXMediaUploadListener.UploadStats getStatsForUploadId(String uploadId) { + MXMediaUploadWorkerTask task = MXMediaUploadWorkerTask.getMediaUploadWorkerTask(uploadId); + + if (null != task) { + return task.getStats(); + } + + return null; + } + + + /** + * Add an upload listener for an uploadId. + * + * @param uploadId The uploadId. + * @param listener the upload listener + */ + public void addUploadListener(String uploadId, IMXMediaUploadListener listener) { + MXMediaUploadWorkerTask task = MXMediaUploadWorkerTask.getMediaUploadWorkerTask(uploadId); + + if (null != task) { + task.addListener(listener); + } + } + + /** + * Cancel an upload. + * + * @param uploadId the upload Id + */ + public void cancelUpload(String uploadId) { + MXMediaUploadWorkerTask task = MXMediaUploadWorkerTask.getMediaUploadWorkerTask(uploadId); + + if (null != task) { + task.cancelUpload(); + } + } + + /** + * Set MediaScan rest client + * + * @param mediaScanRestClient + */ + public void setMediaScanRestClient(MediaScanRestClient mediaScanRestClient) { + mMediaScanRestClient = mediaScanRestClient; + } +} + diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/groups/GroupsManager.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/groups/GroupsManager.java new file mode 100644 index 00000000..4030a3a0 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/groups/GroupsManager.java @@ -0,0 +1,802 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.groups; + +import android.os.Handler; +import android.os.Looper; +import android.support.annotation.NonNull; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.MXDataHandler; +import im.vector.matrix.android.internal.legacy.MXPatterns; +import im.vector.matrix.android.internal.legacy.data.store.IMXStore; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.client.GroupsRestClient; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; +import im.vector.matrix.android.internal.legacy.rest.model.group.CreateGroupParams; +import im.vector.matrix.android.internal.legacy.rest.model.group.Group; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupProfile; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupRooms; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupSummary; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupSyncProfile; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupUsers; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * This class manages the groups + */ +public class GroupsManager { + private static final String LOG_TAG = GroupsManager.class.getSimpleName(); + + private MXDataHandler mDataHandler; + private GroupsRestClient mGroupsRestClient; + private IMXStore mStore; + + // callbacks + private Set> mRefreshProfilesCallback = new HashSet<>(); + + // + private final Map> mPendingJoinGroups = new HashMap<>(); + private final Map> mPendingLeaveGroups = new HashMap<>(); + + // publicise management + private Map>>> mPendingPubliciseRequests = new HashMap<>(); + private Map> mPubliciseByUserId = new HashMap<>(); + + private Handler mUIHandler; + + /** + * Constructor + * + * @param dataHandler the data handler + * @param restClient the group rest client + */ + public GroupsManager(MXDataHandler dataHandler, GroupsRestClient restClient) { + mDataHandler = dataHandler; + mStore = mDataHandler.getStore(); + mGroupsRestClient = restClient; + + mUIHandler = new Handler(Looper.getMainLooper()); + } + + /** + * @return the groups rest client + */ + public GroupsRestClient getGroupsRestClient() { + return mGroupsRestClient; + } + + + /** + * Call when the session is paused + */ + public void onSessionPaused() { + mPubliciseByUserId.clear(); + } + + /** + * Call when the session is resumed + */ + public void onSessionResumed() { + refreshGroupProfiles((ApiCallback) null); + getUserPublicisedGroups(mDataHandler.getUserId(), true, new SimpleApiCallback>() { + @Override + public void onSuccess(Set info) { + // Ignore + } + }); + + mGroupProfileByGroupId.clear(); + mGroupProfileCallback.clear(); + } + + /** + * Retrieve the group from a group id + * + * @param groupId the group id + * @return the group if it exists + */ + public Group getGroup(String groupId) { + return mStore.getGroup(groupId); + } + + /** + * @return the existing groups + */ + public Collection getGroups() { + return mStore.getGroups(); + } + + /** + * @return the groups list in which the user is invited + */ + public Collection getInvitedGroups() { + List invitedGroups = new ArrayList<>(); + Collection groups = getGroups(); + + for (Group group : groups) { + if (group.isInvited()) { + invitedGroups.add(group); + } + } + + return invitedGroups; + } + + /** + * @return the joined groups + */ + public Collection getJoinedGroups() { + List joinedGroups = new ArrayList<>(getGroups()); + joinedGroups.removeAll(getInvitedGroups()); + + return joinedGroups; + } + + /** + * Manage the group joining. + * + * @param groupId the group id + * @param notify true to notify + */ + public void onJoinGroup(final String groupId, final boolean notify) { + Group group = getGroup(groupId); + + if (null == group) { + group = new Group(groupId); + } + + if (TextUtils.equals(RoomMember.MEMBERSHIP_JOIN, group.getMembership())) { + Log.d(LOG_TAG, "## onJoinGroup() : the group " + groupId + " was already joined"); + return; + } + + group.setMembership(RoomMember.MEMBERSHIP_JOIN); + mStore.storeGroup(group); + + // try retrieve the summary + mGroupsRestClient.getGroupSummary(groupId, new ApiCallback() { + /** + * Common method + */ + private void onDone() { + if (notify) { + mDataHandler.onJoinGroup(groupId); + } + } + + @Override + public void onSuccess(GroupSummary groupSummary) { + Group group = getGroup(groupId); + + if (null != group) { + group.setGroupSummary(groupSummary); + mStore.flushGroup(group); + onDone(); + + if (null != mPendingJoinGroups.get(groupId)) { + mPendingJoinGroups.get(groupId).onSuccess(null); + mPendingJoinGroups.remove(groupId); + } + } + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## onJoinGroup() : failed " + e.getMessage(), e); + onDone(); + + if (null != mPendingJoinGroups.get(groupId)) { + mPendingJoinGroups.get(groupId).onNetworkError(e); + mPendingJoinGroups.remove(groupId); + } + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## onMatrixError() : failed " + e.getMessage()); + onDone(); + + if (null != mPendingJoinGroups.get(groupId)) { + mPendingJoinGroups.get(groupId).onMatrixError(e); + mPendingJoinGroups.remove(groupId); + } + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## onUnexpectedError() : failed " + e.getMessage(), e); + onDone(); + + if (null != mPendingJoinGroups.get(groupId)) { + mPendingJoinGroups.get(groupId).onUnexpectedError(e); + mPendingJoinGroups.remove(groupId); + } + } + }); + } + + /** + * Create a group from an invitation. + * + * @param groupId the group id + * @param profile the profile + * @param inviter the inviter + * @param notify true to notify + */ + public void onNewGroupInvitation(final String groupId, final GroupSyncProfile profile, final String inviter, final boolean notify) { + Group group = getGroup(groupId); + + // it should always be null + if (null == group) { + group = new Group(groupId); + } + + GroupSummary summary = new GroupSummary(); + summary.profile = new GroupProfile(); + if (null != profile) { + summary.profile.name = profile.name; + summary.profile.avatarUrl = profile.avatarUrl; + } + + group.setGroupSummary(summary); + group.setInviter(inviter); + group.setMembership(RoomMember.MEMBERSHIP_INVITE); + + mStore.storeGroup(group); + + if (notify) { + mUIHandler.post(new Runnable() { + @Override + public void run() { + mDataHandler.onNewGroupInvitation(groupId); + } + }); + } + } + + /** + * Remove a group. + * + * @param groupId the group id. + * @param notify true to notify + */ + public void onLeaveGroup(final String groupId, final boolean notify) { + if (null != mStore.getGroup(groupId)) { + mStore.deleteGroup(groupId); + + mUIHandler.post(new Runnable() { + @Override + public void run() { + if (notify) { + mDataHandler.onLeaveGroup(groupId); + } + + if (mPendingLeaveGroups.containsKey(groupId)) { + mPendingLeaveGroups.get(groupId).onSuccess(null); + mPendingLeaveGroups.remove(groupId); + } + } + }); + } + } + + /** + * Refresh the group profiles + * + * @param callback the asynchronous callback + */ + public void refreshGroupProfiles(ApiCallback callback) { + if (!mRefreshProfilesCallback.isEmpty()) { + Log.d(LOG_TAG, "## refreshGroupProfiles() : there already is a pending request"); + mRefreshProfilesCallback.add(callback); + return; + } + + mRefreshProfilesCallback.add(callback); + refreshGroupProfiles(getGroups().iterator()); + } + + /** + * Internal method to refresh the group profiles. + * + * @param iterator the iterator. + */ + private void refreshGroupProfiles(final Iterator iterator) { + if (!iterator.hasNext()) { + for (ApiCallback callback : mRefreshProfilesCallback) { + try { + if (null != callback) { + callback.onSuccess(null); + } + } catch (Exception e) { + Log.e(LOG_TAG, "## refreshGroupProfiles() failed " + e.getMessage(), e); + } + } + mRefreshProfilesCallback.clear(); + return; + } + + final String groupId = iterator.next().getGroupId(); + + mGroupsRestClient.getGroupProfile(groupId, new ApiCallback() { + private void onDone() { + refreshGroupProfiles(iterator); + } + + @Override + public void onSuccess(GroupProfile profile) { + Group group = getGroup(groupId); + + if (null != group) { + group.setGroupProfile(profile); + mStore.flushGroup(group); + } + + mDataHandler.onGroupProfileUpdate(groupId); + mGroupProfileByGroupId.put(groupId, profile); + onDone(); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## refreshGroupProfiles() : failed " + e.getMessage(), e); + onDone(); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## refreshGroupProfiles() : failed " + e.getMessage()); + onDone(); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## refreshGroupProfiles() : failed " + e.getMessage(), e); + onDone(); + } + }); + } + + /** + * Join a group. + * + * @param groupId the group id + * @param callback the asynchronous callback + */ + public void joinGroup(final String groupId, final ApiCallback callback) { + getGroupsRestClient().joinGroup(groupId, new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + Group group = getGroup(groupId); + // not yet synced -> wait it is synced + if ((null == group) || TextUtils.equals(group.getMembership(), RoomMember.MEMBERSHIP_INVITE)) { + mPendingJoinGroups.put(groupId, callback); + onJoinGroup(groupId, true); + } else { + callback.onSuccess(null); + } + } + }); + } + + /** + * Leave a group. + * + * @param groupId the group id + * @param callback the asynchronous callback + */ + public void leaveGroup(final String groupId, final ApiCallback callback) { + getGroupsRestClient().leaveGroup(groupId, new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + Group group = getGroup(groupId); + // not yet synced -> wait it is synced + if (null != group) { + mPendingLeaveGroups.put(groupId, callback); + onLeaveGroup(groupId, true); + } else { + callback.onSuccess(null); + } + } + }); + } + + /** + * Create a group. + * + * @param localPart the local part + * @param groupName the group human name + * @param callback the asynchronous callback + */ + public void createGroup(String localPart, String groupName, final ApiCallback callback) { + final CreateGroupParams params = new CreateGroupParams(); + params.localpart = localPart; + params.profile = new GroupProfile(); + params.profile.name = groupName; + + getGroupsRestClient().createGroup(params, new SimpleApiCallback(callback) { + @Override + public void onSuccess(String groupId) { + Group group = getGroup(groupId); + + // if the group does not exist, create it + if (null == group) { + group = new Group(groupId); + group.setGroupProfile(params.profile); + group.setMembership(RoomMember.MEMBERSHIP_JOIN); + mStore.storeGroup(group); + } + + callback.onSuccess(groupId); + } + }); + } + + /** + * Refresh the group data i.e the invited users list, the users list and the rooms list. + * + * @param group the group + * @param callback the asynchronous callback + */ + public void refreshGroupData(Group group, ApiCallback callback) { + refreshGroupData(group, GROUP_REFRESH_STEP_PROFILE, callback); + } + + private static final int GROUP_REFRESH_STEP_PROFILE = 0; + private static final int GROUP_REFRESH_STEP_ROOMS_LIST = 1; + private static final int GROUP_REFRESH_STEP_USERS_LIST = 2; + private static final int GROUP_REFRESH_STEP_INVITED_USERS_LIST = 3; + + /** + * Internal method to refresh the group informations. + * + * @param group the group + * @param step the current step + * @param callback the asynchronous callback + */ + private void refreshGroupData(final Group group, final int step, final ApiCallback callback) { + if (step == GROUP_REFRESH_STEP_PROFILE) { + getGroupsRestClient().getGroupProfile(group.getGroupId(), new SimpleApiCallback(callback) { + @Override + public void onSuccess(GroupProfile groupProfile) { + group.setGroupProfile(groupProfile); + mStore.flushGroup(group); + mDataHandler.onGroupProfileUpdate(group.getGroupId()); + refreshGroupData(group, GROUP_REFRESH_STEP_ROOMS_LIST, callback); + } + }); + + return; + } + + if (step == GROUP_REFRESH_STEP_ROOMS_LIST) { + getGroupsRestClient().getGroupRooms(group.getGroupId(), new SimpleApiCallback(callback) { + @Override + public void onSuccess(GroupRooms groupRooms) { + group.setGroupRooms(groupRooms); + mStore.flushGroup(group); + mDataHandler.onGroupRoomsListUpdate(group.getGroupId()); + refreshGroupData(group, GROUP_REFRESH_STEP_USERS_LIST, callback); + } + }); + return; + } + + if (step == GROUP_REFRESH_STEP_USERS_LIST) { + getGroupsRestClient().getGroupUsers(group.getGroupId(), new SimpleApiCallback(callback) { + @Override + public void onSuccess(GroupUsers groupUsers) { + group.setGroupUsers(groupUsers); + mStore.flushGroup(group); + mDataHandler.onGroupUsersListUpdate(group.getGroupId()); + refreshGroupData(group, GROUP_REFRESH_STEP_INVITED_USERS_LIST, callback); + } + }); + return; + } + + + //if (step == GROUP_REFRESH_STEP_INVITED_USERS_LIST) + + getGroupsRestClient().getGroupInvitedUsers(group.getGroupId(), new SimpleApiCallback(callback) { + @Override + public void onSuccess(GroupUsers groupUsers) { + group.setInvitedGroupUsers(groupUsers); + + if (null != mStore.getGroup(group.getGroupId())) { + mStore.flushGroup(group); + } + mDataHandler.onGroupInvitedUsersListUpdate(group.getGroupId()); + callback.onSuccess(null); + } + }); + } + + /** + * Retrieves the cached publicisedGroups for an userId. + * + * @param userId the user id + * @return a set if there is a cached one, else null + */ + public Set getUserPublicisedGroups(final String userId) { + if (mPubliciseByUserId.containsKey(userId)) { + return new HashSet<>(mPubliciseByUserId.get(userId)); + } + + return null; + } + + /** + * Request the publicised groups for an user. + * + * @param userId the user id + * @param forceRefresh true to do not use the cached data + * @param callback the asynchronous callback. + */ + public void getUserPublicisedGroups(final String userId, + final boolean forceRefresh, + @NonNull final ApiCallback> callback) { + Log.d(LOG_TAG, "## getUserPublicisedGroups() : " + userId); + + // sanity check + if (!MXPatterns.isUserId(userId)) { + mUIHandler.post(new Runnable() { + @Override + public void run() { + callback.onSuccess(new HashSet()); + } + }); + + return; + } + + // already cached + if (forceRefresh) { + mPubliciseByUserId.remove(userId); + } else { + if (mPubliciseByUserId.containsKey(userId)) { + mUIHandler.post(new Runnable() { + @Override + public void run() { + Log.d(LOG_TAG, "## getUserPublicisedGroups() : " + userId + " --> cached data " + mPubliciseByUserId.get(userId)); + // reported by a rage shake + if (mPubliciseByUserId.containsKey(userId)) { + callback.onSuccess(new HashSet<>(mPubliciseByUserId.get(userId))); + } else { + callback.onSuccess(new HashSet()); + } + } + }); + + return; + } + } + + // request in progress + if (mPendingPubliciseRequests.containsKey(userId)) { + Log.d(LOG_TAG, "## getUserPublicisedGroups() : " + userId + " request in progress"); + mPendingPubliciseRequests.get(userId).add(callback); + return; + } + + mPendingPubliciseRequests.put(userId, new HashSet>>()); + mPendingPubliciseRequests.get(userId).add(callback); + + mGroupsRestClient.getUserPublicisedGroups(userId, new ApiCallback>() { + private void onDone(Set groupIdsSet) { + + // cache only if the request succeeds + // else it will be tried later + if (null != groupIdsSet) { + mPubliciseByUserId.put(userId, new HashSet<>(groupIdsSet)); + } else { + groupIdsSet = new HashSet<>(); + } + + Log.d(LOG_TAG, "## getUserPublicisedGroups() : " + userId + " -- " + groupIdsSet); + + Set>> callbacks = mPendingPubliciseRequests.get(userId); + mPendingPubliciseRequests.remove(userId); + + if (null != callbacks) { + for (ApiCallback> callback : callbacks) { + if (null != callback) { + try { + callback.onSuccess(new HashSet<>(groupIdsSet)); + } catch (Throwable t) { + Log.d(LOG_TAG, "## getUserPublicisedGroups() : callback failed " + t.getMessage()); + } + } + } + } + } + + @Override + public void onSuccess(List groupIdsList) { + onDone((null == groupIdsList) ? new HashSet() : new HashSet<>(groupIdsList)); + } + + @Override + public void onNetworkError(Exception e) { + Log.e(LOG_TAG, "## getUserPublicisedGroups() : request failed " + e.getMessage(), e); + onDone(null); + } + + @Override + public void onMatrixError(MatrixError e) { + Log.e(LOG_TAG, "## getUserPublicisedGroups() : request failed " + e.getMessage()); + onDone(null); + } + + @Override + public void onUnexpectedError(Exception e) { + Log.e(LOG_TAG, "## getUserPublicisedGroups() : request failed " + e.getMessage(), e); + onDone(null); + } + }); + } + + /** + * Update a group publicity status. + * + * @param groupId the group id + * @param publicity the new publicity status + * @param callback the asynchronous callback. + */ + public void updateGroupPublicity(final String groupId, final boolean publicity, final ApiCallback callback) { + getGroupsRestClient().updateGroupPublicity(groupId, publicity, new SimpleApiCallback(callback) { + @Override + public void onSuccess(Void info) { + if (mPubliciseByUserId.containsKey(groupId)) { + if (publicity) { + mPubliciseByUserId.get(groupId).add(groupId); + } else { + mPubliciseByUserId.get(groupId).remove(groupId); + } + } + + if (null != callback) { + callback.onSuccess(null); + } + } + }); + } + + Map mGroupProfileByGroupId = new HashMap<>(); + Map>> mGroupProfileCallback = new HashMap<>(); + + + /** + * Retrieve the cached group profile + * + * @param groupId the group id + * @return the cached GroupProfile if it exits, else null + */ + public GroupProfile getGroupProfile(final String groupId) { + return mGroupProfileByGroupId.get(groupId); + } + + /** + * Request the profile of a group. + * + * @param groupId the group id + * @param callback the asynchronous callback + */ + public void getGroupProfile(final String groupId, final ApiCallback callback) { + // sanity check + if (null == callback) { + return; + } + + // valid group id + if (TextUtils.isEmpty(groupId) || !MXPatterns.isGroupId(groupId)) { + mUIHandler.post(new Runnable() { + @Override + public void run() { + callback.onSuccess(new GroupProfile()); + } + }); + + return; + } + + // already downloaded + if (mGroupProfileByGroupId.containsKey(groupId)) { + mUIHandler.post(new Runnable() { + @Override + public void run() { + callback.onSuccess(mGroupProfileByGroupId.get(groupId)); + } + }); + + return; + } + + // in progress + if (mGroupProfileCallback.containsKey(groupId)) { + mGroupProfileCallback.get(groupId).add(callback); + return; + } + + mGroupProfileCallback.put(groupId, new ArrayList<>(Arrays.asList(callback))); + + mGroupsRestClient.getGroupProfile(groupId, new ApiCallback() { + @Override + public void onSuccess(GroupProfile groupProfile) { + mGroupProfileByGroupId.put(groupId, groupProfile); + List> callbacks = mGroupProfileCallback.get(groupId); + mGroupProfileCallback.remove(groupId); + + if (null != callbacks) { + for (ApiCallback c : callbacks) { + c.onSuccess(groupProfile); + } + } + } + + @Override + public void onNetworkError(Exception e) { + List> callbacks = mGroupProfileCallback.get(groupId); + mGroupProfileCallback.remove(groupId); + + if (null != callbacks) { + for (ApiCallback c : callbacks) { + c.onNetworkError(e); + } + } + } + + @Override + public void onMatrixError(MatrixError e) { + List> callbacks = mGroupProfileCallback.get(groupId); + mGroupProfileCallback.remove(groupId); + + if (null != callbacks) { + for (ApiCallback c : callbacks) { + c.onMatrixError(e); + } + } + } + + @Override + public void onUnexpectedError(Exception e) { + List> callbacks = mGroupProfileCallback.get(groupId); + mGroupProfileCallback.remove(groupId); + + if (null != callbacks) { + for (ApiCallback c : callbacks) { + c.onUnexpectedError(e); + } + } + } + }); + + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/interfaces/DatedObject.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/interfaces/DatedObject.java new file mode 100644 index 00000000..6c43ab44 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/interfaces/DatedObject.java @@ -0,0 +1,25 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.interfaces; + +/** + * Can be implemented by any object containing a timestamp. + * This interface can be use to sort such object + */ +public interface DatedObject { + long getDate(); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/interfaces/HtmlToolbox.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/interfaces/HtmlToolbox.java new file mode 100644 index 00000000..0fe4c3a4 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/interfaces/HtmlToolbox.java @@ -0,0 +1,49 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.interfaces; + +import android.support.annotation.Nullable; +import android.text.Html; + +public interface HtmlToolbox { + + /** + * Convert a html String + * Example: remove not supported html tags, etc. + * + * @param html the source HTML + * @return the converted HTML + */ + String convert(String html); + + /** + * Get a HTML Image Getter + * + * @return a HTML Image Getter or null + */ + @Nullable + Html.ImageGetter getImageGetter(); + + /** + * Get a HTML Tag Handler + * + * @param html the source HTML + * @return a HTML Tag Handler or null + */ + @Nullable + Html.TagHandler getTagHandler(String html); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/IMXEventListener.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/IMXEventListener.java new file mode 100644 index 00000000..7a4c6f72 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/IMXEventListener.java @@ -0,0 +1,265 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.listeners; + +import im.vector.matrix.android.internal.legacy.data.MyUser; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.User; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.BingRule; + +import java.util.List; + +public interface IMXEventListener { + /** + * The store is ready. + */ + void onStoreReady(); + + /** + * User presence was updated. + * + * @param event The presence event. + * @param user The new user value. + */ + void onPresenceUpdate(Event event, User user); + + /** + * The self user has been updated (display name, avatar url...). + * + * @param myUser The updated myUser + */ + void onAccountInfoUpdate(MyUser myUser); + + /** + * The ignored users list has been updated. + */ + void onIgnoredUsersListUpdate(); + + /** + * The direct chat rooms list have been updated. + */ + void onDirectMessageChatRoomsListUpdate(); + + /** + * A live room event was received. + * + * @param event the event + * @param roomState the room state right before the event + */ + void onLiveEvent(Event event, RoomState roomState); + + /** + * The live events from a chunk are performed. + * + * @param fromToken the start sync token + * @param toToken the up-to sync token + */ + void onLiveEventsChunkProcessed(String fromToken, String toToken); + + /** + * A received event fulfills the bing rules + * The first matched bing rule is provided in paramater to perform + * dedicated action like playing a notification sound. + * + * @param event the event + * @param roomState the room state right before the event + * @param bingRule the bing rule + */ + void onBingEvent(Event event, RoomState roomState, BingRule bingRule); + + /** + * The state of an event has been updated. + * + * @param event the event + */ + void onEventSentStateUpdated(Event event); + + /** + * An event has been sent. + * prevEventId defines the event id set before getting the server new one. + * + * @param event the event + * @param prevEventId the previous eventId + */ + void onEventSent(Event event, String prevEventId); + + /** + * An event has been decrypted + * + * @param event the decrypted event + */ + void onEventDecrypted(Event event); + + /** + * The bing rules have been updated + */ + void onBingRulesUpdate(); + + /** + * The initial sync is complete and the store can be queried for current state. + * + * @param toToken the up-to sync token + */ + void onInitialSyncComplete(String toToken); + + /** + * The sync has encountered an error + * + * @param matrixError the error + */ + void onSyncError(MatrixError matrixError); + + /** + * The crypto sync is complete + */ + void onCryptoSyncComplete(); + + /** + * A new room has been created. + * + * @param roomId the roomID + */ + void onNewRoom(String roomId); + + /** + * The user joined a room. + * + * @param roomId the roomID + */ + void onJoinRoom(String roomId); + + /** + * The messages of an existing room has been flushed during server sync. + * This flush may be due to a limited timeline in the room sync, or the redaction of a state event. + * + * @param roomId the room Id + */ + void onRoomFlush(String roomId); + + /** + * The room data has been internally updated. + * It could be triggered when a request failed. + * + * @param roomId the roomID + */ + void onRoomInternalUpdate(String roomId); + + /** + * The notification count of a dedicated room + * has been updated. + * + * @param roomId the room ID + */ + void onNotificationCountUpdate(String roomId); + + /** + * The user left the room. + * + * @param roomId the roomID + */ + void onLeaveRoom(String roomId); + + /** + * The user has been kicked or banned. + * + * @param roomId the roomID + */ + void onRoomKick(String roomId); + + /** + * A receipt event has been received. + * It could be triggered when a request failed. + * + * @param roomId the roomID + * @param senderIds the list of the + */ + void onReceiptEvent(String roomId, List senderIds); + + /** + * A Room Tag event has been received. + * + * @param roomId the roomID + */ + void onRoomTagEvent(String roomId); + + /** + * A read marker has been updated + * + * @param roomId thr room id. + */ + void onReadMarkerEvent(String roomId); + + /** + * An event was sent to the current device. + * + * @param event the event + */ + void onToDeviceEvent(Event event); + + /** + * The user has been invited to a new group. + * + * @param groupId the group id + */ + void onNewGroupInvitation(String groupId); + + /** + * A group has been joined. + * + * @param groupId the group id + */ + void onJoinGroup(String groupId); + + /** + * A group has been left. + * + * @param groupId the group id + */ + void onLeaveGroup(String groupId); + + /** + * The group file has been updated. + * + * @param groupId the group id + */ + void onGroupProfileUpdate(String groupId); + + /** + * The group rooms list has been updated. + * + * @param groupId the group id + */ + void onGroupRoomsListUpdate(String groupId); + + /** + * The group users id list has been updated. + * + * @param groupId the group id + */ + void onGroupUsersListUpdate(String groupId); + + /** + * The group invited users id list has been updated. + * + * @param groupId the group id + */ + void onGroupInvitedUsersListUpdate(String groupId); +} + diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/IMXMediaDownloadListener.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/IMXMediaDownloadListener.java new file mode 100644 index 00000000..342a9d48 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/IMXMediaDownloadListener.java @@ -0,0 +1,115 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.listeners; + +import com.google.gson.JsonElement; + +/** + * Interface to monitor a media download. + */ +public interface IMXMediaDownloadListener { + /** + * provide some download stats + */ + class DownloadStats { + /** + * The download id + */ + public String mDownloadId; + + /** + * the download progress in percentage + */ + public int mProgress; + + /** + * The downloaded size in bytes + */ + public int mDownloadedSize; + + /** + * The file size in bytes. + */ + public int mFileSize; + + /** + * time in seconds since the download started + */ + public int mElapsedTime; + + /** + * estimated remained time in seconds to download the media + */ + public int mEstimatedRemainingTime; + + /** + * download bit rate in KB/s + */ + public int mBitRate; + + @Override + public java.lang.String toString() { + String res = ""; + + res += "mProgress : " + mProgress + "%\n"; + res += "mDownloadedSize : " + mDownloadedSize + " bytes\n"; + res += "mFileSize : " + mFileSize + "bytes\n"; + res += "mElapsedTime : " + mProgress + " seconds\n"; + res += "mEstimatedRemainingTime : " + mEstimatedRemainingTime + " seconds\n"; + res += "mBitRate : " + mBitRate + " KB/s\n"; + + return res; + } + } + + /** + * The download starts. + * + * @param downloadId the download Identifier + */ + void onDownloadStart(String downloadId); + + /** + * The download stats have been updated. + * + * @param downloadId the download Identifier + * @param stats the download stats + */ + void onDownloadProgress(String downloadId, DownloadStats stats); + + /** + * The download is completed. + * + * @param downloadId the download Identifier + */ + void onDownloadComplete(String downloadId); + + /** + * The download failed. + * + * @param downloadId the download Identifier + * @param jsonElement the error + */ + void onDownloadError(String downloadId, JsonElement jsonElement); + + /** + * The download has been cancelled. + * + * @param downloadId the download Identifier + */ + void onDownloadCancel(String downloadId); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/IMXMediaUploadListener.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/IMXMediaUploadListener.java new file mode 100644 index 00000000..a89d4b6b --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/IMXMediaUploadListener.java @@ -0,0 +1,116 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.listeners; + +/** + * Interface to monitor a media upload. + */ +public interface IMXMediaUploadListener { + + /** + * Provide some upload stats + */ + class UploadStats { + /** + * The upload id + */ + public String mUploadId; + + /** + * the upload progress in percentage + */ + public int mProgress; + + /** + * The uploaded size in bytes + */ + public int mUploadedSize; + + /** + * The file size in bytes. + */ + public int mFileSize; + + /** + * time in seconds since the upload started + */ + public int mElapsedTime; + + /** + * estimated remained time in seconds to upload the media + */ + public int mEstimatedRemainingTime; + + /** + * upload bit rate in KB/s + */ + public int mBitRate; + + @Override + public java.lang.String toString() { + String res = ""; + + res += "mProgress : " + mProgress + "%\n"; + res += "mUploadedSize : " + mUploadedSize + " bytes\n"; + res += "mFileSize : " + mFileSize + " bytes\n"; + res += "mElapsedTime : " + mProgress + " seconds\n"; + res += "mEstimatedRemainingTime : " + mEstimatedRemainingTime + " seconds\n"; + res += "mBitRate : " + mBitRate + " KB/s\n"; + + return res; + } + } + + /** + * The upload starts. + * + * @param uploadId the upload Identifier + */ + void onUploadStart(String uploadId); + + /** + * The media upload is in progress. + * + * @param uploadId the upload Identifier + * @param uploadStats the upload stats + */ + void onUploadProgress(String uploadId, UploadStats uploadStats); + + /** + * The upload has been cancelled. + * + * @param uploadId the upload Identifier + */ + void onUploadCancel(String uploadId); + + /** + * The upload fails. + * + * @param uploadId the upload identifier + * @param serverResponseCode the server response code + * @param serverErrorMessage the server error message. + */ + void onUploadError(String uploadId, int serverResponseCode, String serverErrorMessage); + + /** + * The upload failed. + * + * @param uploadId the upload identifier + * @param contentUri the media URI on server. + */ + void onUploadComplete(String uploadId, String contentUri); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/IMXNetworkEventListener.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/IMXNetworkEventListener.java new file mode 100644 index 00000000..64091b06 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/IMXNetworkEventListener.java @@ -0,0 +1,26 @@ +/* + * Copyright 2015 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.listeners; + + +public interface IMXNetworkEventListener { + /** + * The network connection has been updated + * + * @param isConnected true if the device uses a data connection. + */ + void onNetworkConnectionUpdate(boolean isConnected); +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/MXEventListener.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/MXEventListener.java new file mode 100644 index 00000000..39bff6e9 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/MXEventListener.java @@ -0,0 +1,166 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.listeners; + +import im.vector.matrix.android.internal.legacy.data.MyUser; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.User; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.BingRule; + +import java.util.List; + +/** + * A no-op class implementing {@link IMXEventListener} so listeners can just implement the methods + * that they require. + */ +public class MXEventListener implements IMXEventListener { + + @Override + public void onStoreReady() { + } + + @Override + public void onPresenceUpdate(Event event, User user) { + } + + @Override + public void onAccountInfoUpdate(MyUser myUser) { + } + + @Override + public void onLiveEvent(Event event, RoomState roomState) { + + } + + @Override + public void onLiveEventsChunkProcessed(String fromToken, String toToken) { + } + + @Override + public void onBingEvent(Event event, RoomState roomState, BingRule bingRule) { + } + + @Override + public void onEventSent(final Event event, final String prevEventId) { + } + + @Override + public void onEventSentStateUpdated(Event event) { + } + + @Override + public void onEventDecrypted(Event event) { + } + + @Override + public void onBingRulesUpdate() { + } + + @Override + public void onInitialSyncComplete(String toToken) { + } + + @Override + public void onSyncError(MatrixError matrixError) { + } + + @Override + public void onCryptoSyncComplete() { + } + + @Override + public void onNewRoom(String roomId) { + } + + @Override + public void onJoinRoom(String roomId) { + } + + @Override + public void onRoomInternalUpdate(String roomId) { + } + + @Override + public void onNotificationCountUpdate(String roomId) { + } + + @Override + public void onLeaveRoom(String roomId) { + } + + @Override + public void onRoomKick(String roomId) { + } + + @Override + public void onReceiptEvent(String roomId, List senderIds) { + } + + @Override + public void onRoomTagEvent(String roomId) { + } + + @Override + public void onReadMarkerEvent(String roomId) { + } + + @Override + public void onRoomFlush(String roomId) { + } + + @Override + public void onIgnoredUsersListUpdate() { + } + + @Override + public void onToDeviceEvent(Event event) { + } + + @Override + public void onDirectMessageChatRoomsListUpdate() { + } + + @Override + public void onNewGroupInvitation(String groupId) { + } + + @Override + public void onJoinGroup(String groupId) { + } + + @Override + public void onLeaveGroup(String groupId) { + } + + @Override + public void onGroupProfileUpdate(String groupId) { + } + + @Override + public void onGroupRoomsListUpdate(String groupId) { + } + + @Override + public void onGroupUsersListUpdate(String groupId) { + } + + @Override + public void onGroupInvitedUsersListUpdate(String groupId) { + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/MXMediaDownloadListener.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/MXMediaDownloadListener.java new file mode 100644 index 00000000..05a66dfb --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/MXMediaDownloadListener.java @@ -0,0 +1,45 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.listeners; + +import com.google.gson.JsonElement; + +/** + * A no-op class implementing {@link IMXMediaDownloadListener} so listeners can just implement the methods + * that they require. + */ +public class MXMediaDownloadListener implements IMXMediaDownloadListener { + + @Override + public void onDownloadStart(String downloadId) { + } + + @Override + public void onDownloadProgress(String downloadId, DownloadStats stats) { + } + + @Override + public void onDownloadComplete(String downloadId) { + } + + @Override + public void onDownloadError(String downloadId, JsonElement jsonElement) { + } + + @Override + public void onDownloadCancel(String downloadId) { + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/MXMediaUploadListener.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/MXMediaUploadListener.java new file mode 100644 index 00000000..5c771b18 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/MXMediaUploadListener.java @@ -0,0 +1,43 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.listeners; + +/** + * A no-op class implementing {@link IMXMediaUploadListener} so listeners can just implement the methods + * that they require. + */ +public class MXMediaUploadListener implements IMXMediaUploadListener { + @Override + public void onUploadStart(String uploadId) { + } + + @Override + public void onUploadProgress(String uploadId, UploadStats uploadStats) { + } + + @Override + public void onUploadCancel(String uploadId) { + } + + @Override + public void onUploadError(String uploadId, int serverResponseCode, String serverErrorMessage) { + } + + @Override + public void onUploadComplete(String uploadId, String contentUri) { + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/MXRoomEventListener.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/MXRoomEventListener.java new file mode 100644 index 00000000..ffcf8b91 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/listeners/MXRoomEventListener.java @@ -0,0 +1,237 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.listeners; + +import android.support.annotation.NonNull; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.User; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.List; + +/** + * A listener which filter event for a specific room + */ +public class MXRoomEventListener extends MXEventListener { + + private static final String LOG_TAG = MXRoomEventListener.class.getSimpleName(); + + private final String mRoomId; + private final IMXEventListener mEventListener; + private final Room mRoom; + + public MXRoomEventListener(@NonNull Room room, + @NonNull IMXEventListener eventListener) { + mRoom = room; + mRoomId = room.getRoomId(); + mEventListener = eventListener; + } + + @Override + public void onPresenceUpdate(Event event, User user) { + // Only pass event through if the user is a member of the room + // FIXME LazyLoading. We cannot rely on getMember nullity anymore + if (mRoom.getMember(user.user_id) != null) { + try { + mEventListener.onPresenceUpdate(event, user); + } catch (Exception e) { + Log.e(LOG_TAG, "onPresenceUpdate exception " + e.getMessage(), e); + } + } + } + + @Override + public void onLiveEvent(Event event, RoomState roomState) { + // Filter out events for other rooms and events while we are joining (before the room is ready) + if (TextUtils.equals(mRoomId, event.roomId) && mRoom.isReady()) { + try { + mEventListener.onLiveEvent(event, roomState); + } catch (Exception e) { + Log.e(LOG_TAG, "onLiveEvent exception " + e.getMessage(), e); + } + } + } + + @Override + public void onLiveEventsChunkProcessed(String fromToken, String toToken) { + try { + mEventListener.onLiveEventsChunkProcessed(fromToken, toToken); + } catch (Exception e) { + Log.e(LOG_TAG, "onLiveEventsChunkProcessed exception " + e.getMessage(), e); + } + } + + @Override + public void onEventSentStateUpdated(Event event) { + // Filter out events for other rooms + if (TextUtils.equals(mRoomId, event.roomId)) { + try { + mEventListener.onEventSentStateUpdated(event); + } catch (Exception e) { + Log.e(LOG_TAG, "onEventSentStateUpdated exception " + e.getMessage(), e); + } + } + } + + @Override + public void onEventDecrypted(Event event) { + // Filter out events for other rooms + if (TextUtils.equals(mRoomId, event.roomId)) { + try { + mEventListener.onEventDecrypted(event); + } catch (Exception e) { + Log.e(LOG_TAG, "onDecryptedEvent exception " + e.getMessage(), e); + } + } + } + + @Override + public void onEventSent(final Event event, final String prevEventId) { + // Filter out events for other rooms + if (TextUtils.equals(mRoomId, event.roomId)) { + try { + mEventListener.onEventSent(event, prevEventId); + } catch (Exception e) { + Log.e(LOG_TAG, "onEventSent exception " + e.getMessage(), e); + } + } + } + + @Override + public void onRoomInternalUpdate(String roomId) { + // Filter out events for other rooms + if (TextUtils.equals(mRoomId, roomId)) { + try { + mEventListener.onRoomInternalUpdate(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "onRoomInternalUpdate exception " + e.getMessage(), e); + } + } + } + + @Override + public void onNotificationCountUpdate(String roomId) { + // Filter out events for other rooms + if (TextUtils.equals(mRoomId, roomId)) { + try { + mEventListener.onNotificationCountUpdate(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "onNotificationCountUpdate exception " + e.getMessage(), e); + } + } + } + + @Override + public void onNewRoom(String roomId) { + // Filter out events for other rooms + if (TextUtils.equals(mRoomId, roomId)) { + try { + mEventListener.onNewRoom(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "onNewRoom exception " + e.getMessage(), e); + } + } + } + + @Override + public void onJoinRoom(String roomId) { + // Filter out events for other rooms + if (TextUtils.equals(mRoomId, roomId)) { + try { + mEventListener.onJoinRoom(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "onJoinRoom exception " + e.getMessage(), e); + } + } + } + + @Override + public void onReceiptEvent(String roomId, List senderIds) { + // Filter out events for other rooms + if (TextUtils.equals(mRoomId, roomId)) { + try { + mEventListener.onReceiptEvent(roomId, senderIds); + } catch (Exception e) { + Log.e(LOG_TAG, "onReceiptEvent exception " + e.getMessage(), e); + } + } + } + + @Override + public void onRoomTagEvent(String roomId) { + // Filter out events for other rooms + if (TextUtils.equals(mRoomId, roomId)) { + try { + mEventListener.onRoomTagEvent(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "onRoomTagEvent exception " + e.getMessage(), e); + } + } + } + + @Override + public void onReadMarkerEvent(String roomId) { + // Filter out events for other rooms + if (TextUtils.equals(mRoomId, roomId)) { + try { + mEventListener.onReadMarkerEvent(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "onReadMarkerEvent exception " + e.getMessage(), e); + } + } + } + + @Override + public void onRoomFlush(String roomId) { + // Filter out events for other rooms + if (TextUtils.equals(mRoomId, roomId)) { + try { + mEventListener.onRoomFlush(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "onRoomFlush exception " + e.getMessage(), e); + } + } + } + + @Override + public void onLeaveRoom(String roomId) { + // Filter out events for other rooms + if (TextUtils.equals(mRoomId, roomId)) { + try { + mEventListener.onLeaveRoom(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "onLeaveRoom exception " + e.getMessage(), e); + } + } + } + + @Override + public void onRoomKick(String roomId) { + // Filter out events for other rooms + if (TextUtils.equals(mRoomId, roomId)) { + try { + mEventListener.onRoomKick(roomId); + } catch (Exception e) { + Log.e(LOG_TAG, "onRoomKick exception " + e.getMessage(), e); + } + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/network/NetworkConnectivityReceiver.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/network/NetworkConnectivityReceiver.java new file mode 100644 index 00000000..4e24097b --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/network/NetworkConnectivityReceiver.java @@ -0,0 +1,317 @@ +/* + * Copyright 2015 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.network; + +import android.annotation.SuppressLint; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.net.ConnectivityManager; +import android.net.Network; +import android.net.NetworkInfo; +import android.os.Build; +import android.os.Bundle; +import android.telephony.TelephonyManager; + +import im.vector.matrix.android.internal.legacy.util.Log; + +import im.vector.matrix.android.internal.legacy.listeners.IMXNetworkEventListener; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Set; + +public class NetworkConnectivityReceiver extends BroadcastReceiver { + + private static final String LOG_TAG = NetworkConnectivityReceiver.class.getSimpleName(); + + // any network state listener + private final List mNetworkEventListeners = new ArrayList<>(); + + // the one call listeners are listeners which are expected to be called ONCE + // the device is connected to a data network + private final List mOnNetworkConnectedEventListeners = new ArrayList<>(); + + private boolean mIsConnected = false; + private boolean mIsUseWifiConnection = false; + private int mNetworkSubType = TelephonyManager.NETWORK_TYPE_UNKNOWN; + + @Override + public void onReceive(final Context context, final Intent intent) { + NetworkInfo networkInfo = null; + + if (null != intent) { + + Log.d(LOG_TAG, "## onReceive() : action " + intent.getAction()); + + Bundle extras = intent.getExtras(); + + if (null != extras) { + Set keys = extras.keySet(); + + for (String key : keys) { + Log.d(LOG_TAG, "## onReceive() : " + key + " -> " + extras.get(key)); + } + + if (extras.containsKey("networkInfo")) { + Object networkInfoAsVoid = extras.get("networkInfo"); + + if (networkInfoAsVoid instanceof NetworkInfo) { + networkInfo = (NetworkInfo) networkInfoAsVoid; + } + } + } + } else { + Log.d(LOG_TAG, "## onReceive()"); + } + + checkNetworkConnection(context, networkInfo); + } + + /** + * Check if there is a connection update. + * + * @param context the context + */ + public void checkNetworkConnection(Context context) { + checkNetworkConnection(context, null); + } + + /** + * Check if there is a connection update. + * + * @param context the context + */ + private void checkNetworkConnection(Context context, NetworkInfo aNetworkInfo) { + synchronized (LOG_TAG) { + try { + NetworkInfo networkInfo = aNetworkInfo; + + // https://issuetracker.google.com/issues/37137911 + // it seems that getActiveNetworkInfo does not provide the true active network connection + if (null == networkInfo) { + ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + networkInfo = connMgr.getActiveNetworkInfo(); + } + boolean isConnected = (networkInfo != null) && networkInfo.isConnectedOrConnecting(); + + if (isConnected) { + Log.d(LOG_TAG, "## checkNetworkConnection() : Connected to " + networkInfo); + } else if (null != networkInfo) { + Log.d(LOG_TAG, "## checkNetworkConnection() : there is a default connection but it is not connected " + networkInfo); + listNetworkConnections(context); + } else { + Log.d(LOG_TAG, "## checkNetworkConnection() : there is no connection"); + listNetworkConnections(context); + } + + mIsUseWifiConnection = (null != networkInfo) && (networkInfo.getType() == ConnectivityManager.TYPE_WIFI); + mNetworkSubType = (null != networkInfo) ? networkInfo.getSubtype() : TelephonyManager.NETWORK_TYPE_UNKNOWN; + + // avoid triggering useless info + if (mIsConnected != isConnected) { + Log.d(LOG_TAG, "## checkNetworkConnection() : Warn there is a connection update"); + mIsConnected = isConnected; + onNetworkUpdate(); + } else { + Log.d(LOG_TAG, "## checkNetworkConnection() : No network update"); + } + } catch (Exception e) { + Log.e(LOG_TAG, "Failed to report :" + e.getMessage(), e); + } + } + } + + /** + * List the available network connections + * + * @param context the context + */ + @SuppressLint("deprecation") + private static void listNetworkConnections(Context context) { + ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + List networkInfos = new ArrayList<>(); + + // + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + Network[] activeNetworks = cm.getAllNetworks(); + if (null != activeNetworks) { + for (Network network : activeNetworks) { + NetworkInfo networkInfo = cm.getNetworkInfo(network); + if (null != networkInfo) { + networkInfos.add(networkInfo); + } + } + } + } else { + NetworkInfo[] info = cm.getAllNetworkInfo(); + + if (info != null) { + networkInfos.addAll(Arrays.asList(info)); + } + } + + Log.d(LOG_TAG, "## listNetworkConnections() : " + networkInfos.size() + " connections"); + + for (NetworkInfo networkInfo : networkInfos) { + Log.d(LOG_TAG, "-> " + networkInfo); + } + } + + /** + * Add a network event listener. + * + * @param networkEventListener the event listener to add + */ + public void addEventListener(final IMXNetworkEventListener networkEventListener) { + if (null != networkEventListener) { + mNetworkEventListeners.add(networkEventListener); + } + } + + /** + * Add a ONE CALL network event listener. + * The listener is called when a data connection is established. + * The listener is removed from the listeners list once its callback is called. + * + * @param networkEventListener the event listener to add + */ + public void addOnConnectedEventListener(final IMXNetworkEventListener networkEventListener) { + if (null != networkEventListener) { + synchronized (LOG_TAG) { + mOnNetworkConnectedEventListeners.add(networkEventListener); + } + } + } + + /** + * Remove a network event listener. + * + * @param networkEventListener the event listener to remove + */ + public void removeEventListener(final IMXNetworkEventListener networkEventListener) { + synchronized (LOG_TAG) { + mNetworkEventListeners.remove(networkEventListener); + mOnNetworkConnectedEventListeners.remove(networkEventListener); + } + } + + /** + * Remove all registered listeners + */ + public void removeListeners() { + synchronized (LOG_TAG) { + mNetworkEventListeners.clear(); + mOnNetworkConnectedEventListeners.clear(); + } + } + + /** + * Warn the listener that a network updated has been triggered + */ + private synchronized void onNetworkUpdate() { + for (IMXNetworkEventListener listener : mNetworkEventListeners) { + try { + listener.onNetworkConnectionUpdate(mIsConnected); + } catch (Exception e) { + Log.e(LOG_TAG, "## onNetworkUpdate() : onNetworkConnectionUpdate failed " + e.getMessage(), e); + } + } + + // onConnected listeners are called once + // and only when there is an available network connection + if (mIsConnected) { + for (IMXNetworkEventListener listener : mOnNetworkConnectedEventListeners) { + try { + listener.onNetworkConnectionUpdate(true); + } catch (Exception e) { + Log.e(LOG_TAG, "## onNetworkUpdate() : onNetworkConnectionUpdate failed " + e.getMessage(), e); + } + } + + mOnNetworkConnectedEventListeners.clear(); + } + } + + /** + * @return true if the application is connected to a data network + */ + public boolean isConnected() { + boolean res; + + synchronized (LOG_TAG) { + res = mIsConnected; + } + + Log.d(LOG_TAG, "## isConnected() : " + res); + + return res; + } + + + /** + * Tells if the connection is a wifi one + * + * @return true if a wifi connection is used + */ + public boolean useWifiConnection() { + boolean res; + + synchronized (LOG_TAG) { + res = mIsUseWifiConnection; + } + + Log.d(LOG_TAG, "## useWifiConnection() : " + res); + + return res; + } + + /** + * Provides a scale factor to apply to the request timeouts. + * + * @return the scale factor + */ + public float getTimeoutScale() { + float scale; + + synchronized (LOG_TAG) { + switch (mNetworkSubType) { + case TelephonyManager.NETWORK_TYPE_GPRS: + scale = 3.0f; + break; + case TelephonyManager.NETWORK_TYPE_EDGE: + scale = 2.5f; + break; + case TelephonyManager.NETWORK_TYPE_UMTS: + case TelephonyManager.NETWORK_TYPE_CDMA: + case TelephonyManager.NETWORK_TYPE_HSPA: + case TelephonyManager.NETWORK_TYPE_HSDPA: + case TelephonyManager.NETWORK_TYPE_HSUPA: + case TelephonyManager.NETWORK_TYPE_HSPAP: + scale = 2.0f; + break; + case TelephonyManager.NETWORK_TYPE_LTE: + scale = 1.5f; + break; + default: + scale = 1.0f; + break; + } + } + return scale; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/AccountDataApi.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/AccountDataApi.java new file mode 100644 index 00000000..b25af37e --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/AccountDataApi.java @@ -0,0 +1,48 @@ +/* + * Copyright 2015 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.api; + +import java.util.Map; + +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.POST; +import retrofit2.http.PUT; +import retrofit2.http.Path; + +public interface AccountDataApi { + + /** + * Set some account_data for the client. + * + * @param userId the user id + * @param type the type + * @param params the put params + */ + @PUT("user/{userId}/account_data/{type}") + Call setAccountData(@Path("userId") String userId, @Path("type") String type, @Body Object params); + + /** + * Gets a bearer token from the homeserver that the user can + * present to a third party in order to prove their ownership + * of the Matrix account they are logged into. + * + * @param userId the user id + * @param body the body content + */ + @POST("user/{userId}/openid/request_token") + Call> openIdToken(@Path("userId") String userId, @Body Map body); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/CallRulesApi.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/CallRulesApi.java new file mode 100644 index 00000000..6c5a8069 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/CallRulesApi.java @@ -0,0 +1,26 @@ +/* + * Copyright 2015 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.api; + +import com.google.gson.JsonObject; + +import retrofit2.Call; +import retrofit2.http.GET; + +public interface CallRulesApi { + @GET("voip/turnServer") + Call getTurnServer(); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/CryptoApi.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/CryptoApi.java new file mode 100644 index 00000000..58e37e62 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/CryptoApi.java @@ -0,0 +1,112 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.api; + + +import im.vector.matrix.android.internal.legacy.rest.model.pid.DeleteDeviceParams; +import im.vector.matrix.android.internal.legacy.rest.model.sync.DevicesListResponse; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.KeyChangesResponse; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.KeysClaimResponse; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.KeysQueryResponse; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.KeysUploadResponse; + +import java.util.Map; + +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.HTTP; +import retrofit2.http.POST; +import retrofit2.http.PUT; +import retrofit2.http.Path; +import retrofit2.http.Query; + +public interface CryptoApi { + + /** + * Upload device and/or one-time keys. + * @param params the params. + */ + @POST("keys/upload") + Call uploadKeys(@Body Map params); + + /** + * Upload device and/or one-time keys. + * + * @param deviceId the deviceId + * @param params the params. + */ + @POST("keys/upload/{deviceId}") + Call uploadKeys(@Path("deviceId") String deviceId, @Body Map params); + + /** + * Download device keys. + * @param params the params. + */ + @POST("keys/query") + Call downloadKeysForUsers(@Body Map params); + + /** + * Claim one-time keys. + * @param params the params. + */ + @POST("keys/claim") + Call claimOneTimeKeysForUsersDevices(@Body Map params); + + /** + * Send an event to a specific list of devices + * + * @param eventType the type of event to send + * @param transactionId the random path item + * @param params the params + */ + @PUT("sendToDevice/{eventType}/{random}") + Call sendToDevice(@Path("eventType") String eventType, @Path("random") String transactionId, @Body Map params); + + /** + * Get the devices list + */ + @GET("devices") + Call getDevices(); + + /** + * Delete a device. + * + * @param deviceId the device id + * @param params the deletion parameters + */ + @HTTP(path = "devices/{device_id}", method = "DELETE", hasBody = true) + Call deleteDevice(@Path("device_id") String deviceId, @Body DeleteDeviceParams params); + + /** + * Update the device information. + * + * @param deviceId the device id + * @param params the params + */ + @PUT("devices/{device_id}") + Call updateDeviceInfo(@Path("device_id") String deviceId, @Body Map params); + + /** + * Get the update devices list from two sync token. + * + * @param oldToken the start token. + * @param newToken the up-to token. + */ + @GET("keys/changes") + Call getKeyChanges(@Query("from") String oldToken, @Query("to") String newToken); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/EventsApi.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/EventsApi.java new file mode 100644 index 00000000..414616fa --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/EventsApi.java @@ -0,0 +1,101 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.api; + +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.pid.ThirdPartyProtocol; +import im.vector.matrix.android.internal.legacy.rest.model.publicroom.PublicRoomsParams; +import im.vector.matrix.android.internal.legacy.rest.model.publicroom.PublicRoomsResponse; +import im.vector.matrix.android.internal.legacy.rest.model.search.SearchParams; +import im.vector.matrix.android.internal.legacy.rest.model.search.SearchResponse; +import im.vector.matrix.android.internal.legacy.rest.model.search.SearchUsersParams; +import im.vector.matrix.android.internal.legacy.rest.model.search.SearchUsersRequestResponse; +import im.vector.matrix.android.internal.legacy.rest.model.sync.SyncResponse; + +import java.util.Map; + +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.Path; +import retrofit2.http.Query; +import retrofit2.http.QueryMap; + +/** + * The events API. + */ +public interface EventsApi { + + /** + * Perform the initial sync to find the rooms that concern the user, the participants' presence, etc. + * + * @param params the GET params. + */ + @GET(RestClient.URI_API_PREFIX_PATH_R0 + "sync") + Call sync(@QueryMap Map params); + + /** + * Retrieve an event from its event id + * + * @param eventId the event Id + */ + @GET(RestClient.URI_API_PREFIX_PATH_R0 + "events/{eventId}") + Call getEvent(@Path("eventId") String eventId); + + /** + * Get the third party server protocols. + */ + @GET(RestClient.URI_API_PREFIX_PATH_UNSTABLE + "thirdparty/protocols") + Call> thirdPartyProtocols(); + + /** + * Get the list of public rooms. + * + * @param server the server (might be null) + * @param publicRoomsParams the request params + */ + @POST(RestClient.URI_API_PREFIX_PATH_R0 + "publicRooms") + Call publicRooms(@Query("server") String server, @Body PublicRoomsParams publicRoomsParams); + + /** + * Perform a search. + * + * @param searchParams the search params. + * @param nextBatch the next batch token + */ + @POST(RestClient.URI_API_PREFIX_PATH_R0 + "search") + Call searchEvents(@Body SearchParams searchParams, @Query("next_batch") String nextBatch); + + /** + * Perform an users search. + * + * @param searchUsersParams the search params. + */ + @POST(RestClient.URI_API_PREFIX_PATH_R0 + "user_directory/search") + Call searchUsers(@Body SearchUsersParams searchUsersParams); + + /** + * Retrieve the preview information of an URL. + * + * @param url the URL + * @param ts the ts + */ + @GET(RestClient.URI_API_PREFIX_PATH_MEDIA_R0 + "preview_url") + Call> getURLPreview(@Query("url") String url, @Query("ts") long ts); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/FilterApi.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/FilterApi.java new file mode 100644 index 00000000..4acade8d --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/FilterApi.java @@ -0,0 +1,48 @@ +/* + * Copyright 2018 Matthias Kesler + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.api; + +import im.vector.matrix.android.internal.legacy.rest.model.filter.FilterBody; +import im.vector.matrix.android.internal.legacy.rest.model.filter.FilterResponse; + +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.Path; + +public interface FilterApi { + + /** + * Upload FilterBody to get a filter_id which can be used for /sync requests + * + * @param userId the user id + * @param body the Json representation of a FilterBody object + */ + @POST("user/{userId}/filter") + Call uploadFilter(@Path("userId") String userId, @Body FilterBody body); + + /** + * Gets a filter with a given filterId from the homeserver + * + * @param userId the user id + * @param filterId the filterID + * @return Filter + */ + @GET("user/{userId}/filter/{filterId}") + Call getFilterById(@Path("userId") String userId, @Path("filterId") String filterId); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/GroupsApi.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/GroupsApi.java new file mode 100644 index 00000000..bfde2f68 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/GroupsApi.java @@ -0,0 +1,196 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.api; + +import im.vector.matrix.android.internal.legacy.rest.model.group.AcceptGroupInvitationParams; +import im.vector.matrix.android.internal.legacy.rest.model.group.AddGroupParams; +import im.vector.matrix.android.internal.legacy.rest.model.group.CreateGroupParams; +import im.vector.matrix.android.internal.legacy.rest.model.group.CreateGroupResponse; +import im.vector.matrix.android.internal.legacy.rest.model.group.GetGroupsResponse; +import im.vector.matrix.android.internal.legacy.rest.model.group.GetPublicisedGroupsResponse; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupInviteUserParams; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupInviteUserResponse; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupKickUserParams; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupProfile; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupRooms; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupSummary; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupUsers; +import im.vector.matrix.android.internal.legacy.rest.model.group.LeaveGroupParams; +import im.vector.matrix.android.internal.legacy.rest.model.group.UpdatePubliciseParams; + +import java.util.List; +import java.util.Map; + +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.DELETE; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.PUT; +import retrofit2.http.Path; + +/** + * The groups API. + */ +public interface GroupsApi { + + /** + * Create a group + * + * @param params the group creation params + */ + @POST("create_group") + Call createGroup(@Body CreateGroupParams params); + + /** + * Invite an user to a group. + * + * @param groupId the group id + * @param userId the user id + * @param params the invitation parameters + */ + @PUT("groups/{groupId}/admin/users/invite/{userId}") + Call inviteUser(@Path("groupId") String groupId, @Path("userId") String userId, @Body GroupInviteUserParams params); + + /** + * Kick an user from a group. + * + * @param groupId the group id + * @param userId the user id + * @param params the kick parameters + */ + @PUT("groups/{groupId}/users/remove/{userId}") + Call kickUser(@Path("groupId") String groupId, @Path("userId") String userId, @Body GroupKickUserParams params); + + /** + * Add a room in a group. + * + * @param groupId the group id + * @param roomId the room id + * @param params the kick parameters + */ + @PUT("groups/{groupId}/admin/rooms/{roomId}") + Call addRoom(@Path("groupId") String groupId, @Path("roomId") String roomId, @Body AddGroupParams params); + + /** + * Remove a room from a group. + * + * @param groupId the group id + * @param roomId the room id + */ + @DELETE("groups/{groupId}/admin/rooms/{roomId}") + Call removeRoom(@Path("groupId") String groupId, @Path("roomId") String roomId); + + /** + * Update the group profile. + * + * @param groupId the group id + * @param profile the group profile + */ + @POST("groups/{groupId}/profile") + Call updateProfile(@Path("groupId") String groupId, @Body GroupProfile profile); + + /** + * Get the group profile. + * + * @param groupId the group id + */ + @GET("groups/{groupId}/profile") + Call getProfile(@Path("groupId") String groupId); + + /** + * Request the invited users list. + * + * @param groupId the group id + */ + @GET("groups/{groupId}/invited_users") + Call getInvitedUsers(@Path("groupId") String groupId); + + /** + * Request the users list. + * + * @param groupId the group id + */ + @GET("groups/{groupId}/users") + Call getUsers(@Path("groupId") String groupId); + + /** + * Request the rooms list. + * + * @param groupId the group id + */ + @GET("groups/{groupId}/rooms") + Call getRooms(@Path("groupId") String groupId); + + /** + * Request a group summary + * + * @param groupId the group id + */ + @GET("groups/{groupId}/summary") + Call getSummary(@Path("groupId") String groupId); + + /** + * Accept an invitation in a group. + * + * @param groupId the group id + * @param params the parameters + */ + @PUT("groups/{groupId}/self/accept_invite") + Call acceptInvitation(@Path("groupId") String groupId, @Body AcceptGroupInvitationParams params); + + /** + * Leave a group + * + * @param groupId the group id + * @param params the parameters + */ + @PUT("groups/{groupId}/self/leave") + Call leave(@Path("groupId") String groupId, @Body LeaveGroupParams params); + + /** + * Update the publicity status. + * + * @param groupId the group id + * @param params the parameters + */ + @PUT("groups/{groupId}/self/update_publicity") + Call updatePublicity(@Path("groupId") String groupId, @Body UpdatePubliciseParams params); + + /** + * Request the joined group list. + */ + @GET("joined_groups") + Call getJoinedGroupIds(); + + // NOT FEDERATED + /** + * Request the publicised groups for an user id. + * + * @param userId the user id + */ + //@GET("publicised_groups/{userId}") + //Call getUserPublicisedGroups(@Path("userId") String userId); + + /** + * Request the publicised groups for user ids. + * + * @param params the request params + */ + @POST("publicised_groups") + Call getPublicisedGroups(@Body Map> params); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/LoginApi.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/LoginApi.java new file mode 100644 index 00000000..ef9ea941 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/LoginApi.java @@ -0,0 +1,70 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.api; + +import com.google.gson.JsonObject; + +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.rest.model.Versions; +import im.vector.matrix.android.internal.legacy.rest.model.login.LoginFlowResponse; +import im.vector.matrix.android.internal.legacy.rest.model.login.LoginParams; +import im.vector.matrix.android.internal.legacy.rest.model.login.RegistrationParams; + +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.POST; + +/** + * The login REST API. + */ +public interface LoginApi { + + /** + * Get the different login flows supported by the server. + */ + @GET(RestClient.URI_API_PREFIX_PATH + "versions") + Call versions(); + + /** + * Get the different login flows supported by the server. + */ + @GET(RestClient.URI_API_PREFIX_PATH_R0 + "login") + Call login(); + + /** + * Try to create an account + * + * @param params the registration params + */ + @POST(RestClient.URI_API_PREFIX_PATH_R0 + "register") + Call register(@Body RegistrationParams params); + + /** + * Pass params to the server for the current login phase. + * + * @param loginParams the login parameters + */ + @POST(RestClient.URI_API_PREFIX_PATH_R0 + "login") + Call login(@Body LoginParams loginParams); + + /** + * Invalidate the access token, so that it can no longer be used for authorization. + */ + @POST(RestClient.URI_API_PREFIX_PATH_R0 + "logout") + Call logout(); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/MediaScanApi.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/MediaScanApi.java new file mode 100644 index 00000000..6b30215f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/MediaScanApi.java @@ -0,0 +1,63 @@ +/* + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.api; + +import im.vector.matrix.android.internal.legacy.rest.model.EncryptedMediaScanBody; +import im.vector.matrix.android.internal.legacy.rest.model.EncryptedMediaScanEncryptedBody; +import im.vector.matrix.android.internal.legacy.rest.model.MediaScanPublicKeyResult; +import im.vector.matrix.android.internal.legacy.rest.model.MediaScanResult; + +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.Path; + +/** + * The matrix content scanner REST API. + */ +public interface MediaScanApi { + /** + * Get the current public curve25519 key that the AV server is advertising. + */ + @GET("public_key") + Call getServerPublicKey(); + + /** + * Scan an unencrypted file. + * + * @param domain the server name + * @param mediaId the user id + */ + @GET("scan/{domain}/{mediaId}") + Call scanUnencrypted(@Path("domain") String domain, @Path("mediaId") String mediaId); + + /** + * Scan an encrypted file. + * + * @param encryptedMediaScanBody the encryption information required to decrypt the content before scanning it. + */ + @POST("scan_encrypted") + Call scanEncrypted(@Body EncryptedMediaScanBody encryptedMediaScanBody); + + /** + * Scan an encrypted file, sending an encrypted body. + * + * @param encryptedMediaScanEncryptedBody the encrypted encryption information required to decrypt the content before scanning it. + */ + @POST("scan_encrypted") + Call scanEncrypted(@Body EncryptedMediaScanEncryptedBody encryptedMediaScanEncryptedBody); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/PresenceApi.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/PresenceApi.java new file mode 100644 index 00000000..8a270484 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/PresenceApi.java @@ -0,0 +1,35 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.api; + +import im.vector.matrix.android.internal.legacy.rest.model.User; + +import retrofit2.Call; +import retrofit2.http.GET; +import retrofit2.http.Path; + +/** + * The presence REST API. + */ +public interface PresenceApi { + /** + * Get a user's presence state. + * + * @param userId the user id + */ + @GET("presence/{userId}/status") + Call presenceStatus(@Path("userId") String userId); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/ProfileApi.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/ProfileApi.java new file mode 100644 index 00000000..41d3fd8a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/ProfileApi.java @@ -0,0 +1,176 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.api; + +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.rest.model.DeactivateAccountParams; +import im.vector.matrix.android.internal.legacy.rest.model.RequestEmailValidationParams; +import im.vector.matrix.android.internal.legacy.rest.model.RequestEmailValidationResponse; +import im.vector.matrix.android.internal.legacy.rest.model.RequestPhoneNumberValidationParams; +import im.vector.matrix.android.internal.legacy.rest.model.RequestPhoneNumberValidationResponse; +import im.vector.matrix.android.internal.legacy.rest.model.pid.AccountThreePidsResponse; +import im.vector.matrix.android.internal.legacy.rest.model.pid.AddThreePidsParams; +import im.vector.matrix.android.internal.legacy.rest.model.ChangePasswordParams; +import im.vector.matrix.android.internal.legacy.rest.model.pid.DeleteThreePidParams; +import im.vector.matrix.android.internal.legacy.rest.model.ForgetPasswordParams; +import im.vector.matrix.android.internal.legacy.rest.model.ForgetPasswordResponse; +import im.vector.matrix.android.internal.legacy.rest.model.User; +import im.vector.matrix.android.internal.legacy.rest.model.login.TokenRefreshParams; +import im.vector.matrix.android.internal.legacy.rest.model.login.TokenRefreshResponse; + +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.PUT; +import retrofit2.http.Path; + + +/** + * The profile REST API. + */ +public interface ProfileApi { + + /** + * Update a user's display name. + * + * @param userId the user id + * @param user the user object containing the new display name + */ + @PUT(RestClient.URI_API_PREFIX_PATH_R0 + "profile/{userId}/displayname") + Call displayname(@Path("userId") String userId, @Body User user); + + /** + * Get a user's display name. + * + * @param userId the user id + */ + @GET(RestClient.URI_API_PREFIX_PATH_R0 + "profile/{userId}/displayname") + Call displayname(@Path("userId") String userId); + + /** + * Update a user's avatar URL. + * + * @param userId the user id + * @param user the user object containing the new avatar url + */ + @PUT(RestClient.URI_API_PREFIX_PATH_R0 + "profile/{userId}/avatar_url") + Call avatarUrl(@Path("userId") String userId, @Body User user); + + /** + * Get a user's avatar URL. + * + * @param userId the user id + */ + @GET(RestClient.URI_API_PREFIX_PATH_R0 + "profile/{userId}/avatar_url") + Call avatarUrl(@Path("userId") String userId); + + /** + * Update the password + * + * @param passwordParams the new password + */ + @POST(RestClient.URI_API_PREFIX_PATH_R0 + "account/password") + Call updatePassword(@Body ChangePasswordParams passwordParams); + + /** + * Reset the password server side. + * + * @param params the forget password params + */ + @POST(RestClient.URI_API_PREFIX_PATH_R0 + "account/password/email/requestToken") + Call forgetPassword(@Body ForgetPasswordParams params); + + /** + * Deactivate the user account + * + * @param params the deactivate account params + */ + @POST(RestClient.URI_API_PREFIX_PATH_R0 + "account/deactivate") + Call deactivate(@Body DeactivateAccountParams params); + + /** + * Pass params to the server for the token refresh phase. + * + * @param refreshParams the refresh token parameters + */ + @POST(RestClient.URI_API_PREFIX_PATH_R0 + "tokenrefresh") + Call tokenrefresh(@Body TokenRefreshParams refreshParams); + + /** + * List all 3PIDs linked to the Matrix user account. + */ + @GET(RestClient.URI_API_PREFIX_PATH_R0 + "account/3pid") + Call threePIDs(); + + /** + * Add an 3Pid to a user + * + * @param params the params + */ + @POST(RestClient.URI_API_PREFIX_PATH_R0 + "account/3pid") + Call add3PID(@Body AddThreePidsParams params); + + /** + * Delete a 3Pid of a user + * + * @param params the params + */ + @POST(RestClient.URI_API_PREFIX_PATH_UNSTABLE + "account/3pid/delete") + Call delete3PID(@Body DeleteThreePidParams params); + + /** + * Request a validation token for an email + * Note: Proxies the identity server API validate/email/requestToken, but first checks that + * the given email address is not already associated with an account on this Home Server. + * + * @param params the parameters + */ + @POST(RestClient.URI_API_PREFIX_PATH_R0 + "account/3pid/email/requestToken") + Call requestEmailValidation(@Body RequestEmailValidationParams params); + + /** + * Request a validation token for an email being added during registration process + * Note: Proxies the identity server API validate/email/requestToken, but first checks that + * the given email address is not already associated with an account on this Home Server. + * + * @param params the parameters + */ + @POST(RestClient.URI_API_PREFIX_PATH_R0 + "register/email/requestToken") + Call requestEmailValidationForRegistration(@Body RequestEmailValidationParams params); + + /** + * Request a validation token for a phone number + * Note: Proxies the identity server API validate/msisdn/requestToken, but first checks that + * the given phone number is not already associated with an account on this Home Server. + * + * @param params the parameters + */ + @POST(RestClient.URI_API_PREFIX_PATH_R0 + "account/3pid/msisdn/requestToken") + Call requestPhoneNumberValidation(@Body RequestPhoneNumberValidationParams params); + + /** + * Request a validation token for a phone number being added during registration process + * Note: Proxies the identity server API validate/msisdn/requestToken, but first checks that + * the given phone number is not already associated with an account on this Home Server. + * + * @param params the parameters + */ + @POST(RestClient.URI_API_PREFIX_PATH_R0 + "register/msisdn/requestToken") + Call requestPhoneNumberValidationForRegistration(@Body RequestPhoneNumberValidationParams params); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/PushRulesApi.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/PushRulesApi.java new file mode 100644 index 00000000..251db04d --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/PushRulesApi.java @@ -0,0 +1,78 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.api; + +import com.google.gson.JsonElement; + +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.PushRulesResponse; + +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.DELETE; +import retrofit2.http.GET; +import retrofit2.http.PUT; +import retrofit2.http.Path; + +public interface PushRulesApi { + + /** + * Get all push rules + */ + @GET("pushrules/") + Call getAllRules(); + + /** + * Update the ruleID enable status + * + * @param kind the notification kind (sender, room...) + * @param ruleId the ruleId + * @param enable the new enable status + */ + @PUT("pushrules/global/{kind}/{ruleId}/enabled") + Call updateEnableRuleStatus(@Path("kind") String kind, @Path("ruleId") String ruleId, @Body Boolean enable); + + + /** + * Update the ruleID enable status + * + * @param kind the notification kind (sender, room...) + * @param ruleId the ruleId + * @param actions the actions + */ + @PUT("pushrules/global/{kind}/{ruleId}/actions") + Call updateRuleActions(@Path("kind") String kind, @Path("ruleId") String ruleId, @Body Object actions); + + + /** + * Update the ruleID enable status + * + * @param kind the notification kind (sender, room...) + * @param ruleId the ruleId + */ + @DELETE("pushrules/global/{kind}/{ruleId}") + Call deleteRule(@Path("kind") String kind, @Path("ruleId") String ruleId); + + /** + * Add the ruleID enable status + * + * @param kind the notification kind (sender, room...) + * @param ruleId the ruleId. + * @param rule the rule to add. + */ + @PUT("pushrules/global/{kind}/{ruleId}") + Call addRule(@Path("kind") String kind, @Path("ruleId") String ruleId, @Body JsonElement rule); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/PushersApi.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/PushersApi.java new file mode 100644 index 00000000..e7e72b66 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/PushersApi.java @@ -0,0 +1,36 @@ +/* + * Copyright 2015 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.api; + +import im.vector.matrix.android.internal.legacy.data.Pusher; +import im.vector.matrix.android.internal.legacy.rest.model.PushersResponse; + +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.POST; + +/** + * The pusher API + */ +public interface PushersApi { + @POST("pushers/set") + Call set(@Body Pusher pusher); + + @GET("pushers") + Call get(); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/RoomsApi.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/RoomsApi.java new file mode 100644 index 00000000..f9370133 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/RoomsApi.java @@ -0,0 +1,410 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.api; + +import android.support.annotation.Nullable; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; + +import im.vector.matrix.android.internal.legacy.rest.model.BannedUser; +import im.vector.matrix.android.internal.legacy.rest.model.ChunkEvents; +import im.vector.matrix.android.internal.legacy.rest.model.CreateRoomParams; +import im.vector.matrix.android.internal.legacy.rest.model.CreateRoomResponse; +import im.vector.matrix.android.internal.legacy.rest.model.CreatedEvent; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.EventContext; +import im.vector.matrix.android.internal.legacy.rest.model.PowerLevels; +import im.vector.matrix.android.internal.legacy.rest.model.ReportContentParams; +import im.vector.matrix.android.internal.legacy.rest.model.RoomAliasDescription; +import im.vector.matrix.android.internal.legacy.rest.model.RoomDirectoryVisibility; +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; +import im.vector.matrix.android.internal.legacy.rest.model.TokensChunkEvents; +import im.vector.matrix.android.internal.legacy.rest.model.Typing; +import im.vector.matrix.android.internal.legacy.rest.model.User; +import im.vector.matrix.android.internal.legacy.rest.model.message.Message; +import im.vector.matrix.android.internal.legacy.rest.model.sync.RoomResponse; + +import java.util.Map; + +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.DELETE; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.PUT; +import retrofit2.http.Path; +import retrofit2.http.Query; + +/** + * The rooms REST API. + */ +public interface RoomsApi { + + /** + * Send an event to a room. + * + * @param txId the transaction Id + * @param roomId the room id + * @param eventType the event type + * @param content the event content + */ + @PUT("rooms/{roomId}/send/{eventType}/{txId}") + Call send(@Path("txId") String txId, @Path("roomId") String roomId, @Path("eventType") String eventType, @Body JsonObject content); + + /** + * Send a message to the specified room. + * + * @param txId the transaction Id + * @param roomId the room id + * @param message the message + */ + @PUT("rooms/{roomId}/send/m.room.message/{txId}") + Call sendMessage(@Path("txId") String txId, @Path("roomId") String roomId, @Body Message message); + + /** + * Update the power levels + * + * @param roomId the room id + * @param powerLevels the new power levels + */ + @PUT("rooms/{roomId}/state/m.room.power_levels") + Call setPowerLevels(@Path("roomId") String roomId, @Body PowerLevels powerLevels); + + /** + * Send a generic state events + * + * @param roomId the room id. + * @param stateEventType the state event type + * @param params the request parameters + */ + @PUT("rooms/{roomId}/state/{state_event_type}") + Call sendStateEvent(@Path("roomId") String roomId, @Path("state_event_type") String stateEventType, @Body Map params); + + /** + * Send a generic state events + * + * @param roomId the room id. + * @param stateEventType the state event type + * @param stateKey the state keys + * @param params the request parameters + */ + @PUT("rooms/{roomId}/state/{state_event_type}/{stateKey}") + Call sendStateEvent(@Path("roomId") String roomId, + @Path("state_event_type") String stateEventType, + @Path("stateKey") String stateKey, + @Body Map params); + + /** + * Looks up the contents of a state event in a room + * + * @param roomId the room id + * @param eventType the event type + */ + @GET("rooms/{roomId}/state/{eventType}") + Call getStateEvent(@Path("roomId") String roomId, @Path("eventType") String eventType); + + /** + * Looks up the contents of a state event in a room + * + * @param roomId the room id + * @param eventType the event type + * @param stateKey the key of the state to look up + */ + @GET("rooms/{roomId}/state/{eventType}/{stateKey}") + Call getStateEvent(@Path("roomId") String roomId, @Path("eventType") String eventType, @Path("stateKey") String stateKey); + + /** + * Invite a user to the given room. + * + * @param roomId the room id + * @param user a user object that just needs a user id + */ + @POST("rooms/{roomId}/invite") + Call invite(@Path("roomId") String roomId, @Body User user); + + /** + * Trigger an invitation with a parameters set. + * + * @param roomId the room id + * @param params the parameters + */ + @POST("rooms/{roomId}/invite") + Call invite(@Path("roomId") String roomId, @Body Map params); + + /** + * Join the given room. + * + * @param roomId the room id + * @param content the request body + */ + @POST("rooms/{roomId}/join") + Call join(@Path("roomId") String roomId, @Body JsonObject content); + + /** + * Join the room with a room id or an alias. + * + * @param roomAliasOrId a room alias (or room id) + * @param params the extra join param + */ + @POST("join/{roomAliasOrId}") + Call joinRoomByAliasOrId(@Path("roomAliasOrId") String roomAliasOrId, @Body Map params); + + /** + * Leave the given room. + * + * @param roomId the room id + * @param content the request body + */ + @POST("rooms/{roomId}/leave") + Call leave(@Path("roomId") String roomId, @Body JsonObject content); + + /** + * Forget the given room. + * + * @param roomId the room id + * @param content the request body + */ + @POST("rooms/{roomId}/forget") + Call forget(@Path("roomId") String roomId, @Body JsonObject content); + + /** + * Ban a user from the given room. + * + * @param roomId the room id + * @param user the banned user object (userId and reason for ban) + */ + @POST("rooms/{roomId}/ban") + Call ban(@Path("roomId") String roomId, @Body BannedUser user); + + /** + * unban a user from the given room. + * + * @param roomId the room id + * @param user the banned user object (userId and reason for unban) + */ + @POST("rooms/{roomId}/unban") + Call unban(@Path("roomId") String roomId, @Body BannedUser user); + + /** + * Change the membership state for a user in a room. + * + * @param roomId the room id + * @param userId the user id + * @param member object containing the membership field to set + */ + @PUT("rooms/{roomId}/state/m.room.member/{userId}") + Call updateRoomMember(@Path("roomId") String roomId, @Path("userId") String userId, @Body RoomMember member); + + /** + * Update the typing notification + * + * @param roomId the room id + * @param userId the user id + * @param typing the typing notification + */ + @PUT("rooms/{roomId}/typing/{userId}") + Call setTypingNotification(@Path("roomId") String roomId, @Path("userId") String userId, @Body Typing typing); + + /** + * Create a room. + * + * @param createRoomRequest the creation room request + */ + @POST("createRoom") + Call createRoom(@Body CreateRoomParams createRoomRequest); + + /** + * Get a list of messages starting from a reference. + * + * @param roomId the room id + * @param from the token identifying where to start. Required. + * @param dir The direction to return messages from. Required. + * @param limit the maximum number of messages to retrieve. Optional. + * @param filter A JSON RoomEventFilter to filter returned events with. Optional. + */ + @GET("rooms/{roomId}/messages") + Call getRoomMessagesFrom(@Path("roomId") String roomId, + @Query("from") String from, + @Query("dir") String dir, + @Query("limit") int limit, + @Nullable @Query("filter") String filter); + + /** + * Get the initial information concerning a specific room. + * + * @param roomId the room id + * @param limit the maximum number of messages to retrieve + */ + @GET("rooms/{roomId}/initialSync") + Call initialSync(@Path("roomId") String roomId, @Query("limit") int limit); + + /** + * Get the context surrounding an event. + * + * @param roomId the room id + * @param eventId the event Id + * @param limit the maximum number of messages to retrieve + * @param filter A JSON RoomEventFilter to filter returned events with. Optional. + */ + @GET("rooms/{roomId}/context/{eventId}") + Call getContextOfEvent(@Path("roomId") String roomId, + @Path("eventId") String eventId, + @Query("limit") int limit, + @Nullable @Query("filter") String filter); + + /** + * Retrieve an event from its room id / events id + * + * @param roomId the room id + * @param eventId the event Id + */ + @GET("rooms/{roomId}/event/{eventId}") + Call getEvent(@Path("roomId") String roomId, @Path("eventId") String eventId); + + /** + * Redact an event from the room>. + * + * @param roomId the room id + * @param eventId the event id of the event to redact + * @param reason the reason + */ + @POST("rooms/{roomId}/redact/{eventId}") + Call redactEvent(@Path("roomId") String roomId, @Path("eventId") String eventId, @Body JsonObject reason); + + /** + * Report an event content. + * + * @param roomId the room id + * @param eventId the event id of the event to redact + * @param param the request parameters + */ + @POST("rooms/{roomId}/report/{eventId}") + Call reportEvent(@Path("roomId") String roomId, @Path("eventId") String eventId, @Body ReportContentParams param); + + /** + * Send a read receipt. + * + * @param roomId the room id + * @param EventId the latest eventId + * @param content the event content + */ + @POST("rooms/{roomId}/receipt/m.read/{eventId}") + Call sendReadReceipt(@Path("roomId") String roomId, @Path("eventId") String EventId, @Body JsonObject content); + + /** + * Send read markers. + * + * @param roomId the room id + * @param markers the read markers + */ + @POST("rooms/{roomId}/read_markers") + Call sendReadMarker(@Path("roomId") String roomId, @Body Map markers); + + /** + * Add a tag to a room + * + * @param userId the userId + * @param roomId the room id + * @param tag the new room tag + * @param content the event content + */ + @PUT("user/{userId}/rooms/{roomId}/tags/{tag}") + Call addTag(@Path("userId") String userId, @Path("roomId") String roomId, @Path("tag") String tag, @Body Map content); + + /** + * Remove a tag to a room + * + * @param userId the userId + * @param roomId the room id + * @param tag the new room tag + */ + @DELETE("user/{userId}/rooms/{roomId}/tags/{tag}") + Call removeTag(@Path("userId") String userId, @Path("roomId") String roomId, @Path("tag") String tag); + + /** + * Update a dedicated account data field + * + * @param userId the userId + * @param roomId the room id + * @param subPath the url sub path + * @param content the event content + */ + @PUT("user/{userId}/rooms/{roomId}/account_data/{tag}") + Call updateAccountData(@Path("userId") String userId, + @Path("roomId") String roomId, + @Path("tag") String subPath, + @Body Map content); + + /** + * Get the room ID associated to the room alias. + * + * @param roomAlias the room alias. + */ + @GET("directory/room/{roomAlias}") + Call getRoomIdByAlias(@Path("roomAlias") String roomAlias); + + /** + * Associate a room alias with a room ID. + * + * @param roomAlias the room alias. + * @param description the alias description containing the room ID + */ + @PUT("directory/room/{roomAlias}") + Call setRoomIdByAlias(@Path("roomAlias") String roomAlias, @Body RoomAliasDescription description); + + /** + * Get the room ID corresponding to this room alias. + * + * @param roomAlias the room alias. + */ + @DELETE("directory/room/{roomAlias}") + Call removeRoomAlias(@Path("roomAlias") String roomAlias); + + /** + * Set the visibility of the given room in the list directory. If the visibility is set to public, the room + * name is listed among the directory list. + * + * @param roomId the room id where to apply the request + * @param roomDirectoryVisibility the put params containing the new "visibility" field + */ + @PUT("directory/list/room/{roomId}") + Call setRoomDirectoryVisibility(@Path("roomId") String roomId, RoomDirectoryVisibility roomDirectoryVisibility); + + /** + * Get the visibility of the given room in the list directory. + * + * @param roomId the room id where to apply the request + */ + @GET("directory/list/room/{roomId}") + Call getRoomDirectoryVisibility(@Path("roomId") String roomId); + + /** + * Get all members of a room + * + * @param roomId the room id where to get the members + * @param syncToken the sync token (optional) + * @param membership to include only one type of membership (optional) + * @param notMembership to exclude one type of membership (optional) + */ + @GET("rooms/{roomId}/members") + Call getMembers(@Path("roomId") String roomId, + @Nullable @Query("at") String syncToken, + @Nullable @Query("membership") String membership, + @Nullable @Query("not_membership") String notMembership); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/ThirdPidApi.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/ThirdPidApi.java new file mode 100644 index 00000000..57203b4f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/api/ThirdPidApi.java @@ -0,0 +1,68 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.api; + +import im.vector.matrix.android.internal.legacy.rest.model.BulkLookupParams; +import im.vector.matrix.android.internal.legacy.rest.model.BulkLookupResponse; +import im.vector.matrix.android.internal.legacy.rest.model.RequestEmailValidationParams; +import im.vector.matrix.android.internal.legacy.rest.model.pid.PidResponse; + +import java.util.Map; + +import retrofit2.Call; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.POST; +import retrofit2.http.Path; +import retrofit2.http.Query; + +public interface ThirdPidApi { + + /** + * Get the 3rd party id from a medium + * + * @param address the address. + * @param medium the medium. + */ + @GET("lookup") + Call lookup3Pid(@Query("address") String address, + @Query("medium") String medium); + + /** + * Request a bunch of 3PIDs + * + * @param body the body request + */ + @POST("bulk_lookup") + Call bulkLookup(@Body BulkLookupParams body); + + + /** + * Request the ownership validation of an email address or a phone number previously set + * by {@link ProfileApi#requestEmailValidation(RequestEmailValidationParams)} + * + * @param medium the medium of the 3pid + * @param token the token generated by the requestToken call + * @param clientSecret the client secret which was supplied in the requestToken call + * @param sid the sid for the session + */ + @POST("validate/{medium}/submitToken") + Call> requestOwnershipValidation(@Path("medium") String medium, + @Query("token") String token, + @Query("client_secret") String clientSecret, + @Query("sid") String sid); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/ApiCallback.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/ApiCallback.java new file mode 100644 index 00000000..8b9d7b4a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/ApiCallback.java @@ -0,0 +1,26 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.callback; + +/** + * Generic callback interface for asynchronously returning information. + * + * @param the type of information to return on success + */ +public interface ApiCallback extends SuccessCallback, ApiFailureCallback { + +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/ApiFailureCallback.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/ApiFailureCallback.java new file mode 100644 index 00000000..29b04200 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/ApiFailureCallback.java @@ -0,0 +1,45 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.callback; + +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; + +/** + * Callback interface for asynchronously returning API call failures. + */ +public interface ApiFailureCallback { + + /** + * Called if there is a network error. + * + * @param e the exception + */ + void onNetworkError(Exception e); + + /** + * Called in case of a Matrix error. + * + * @param e the Matrix error + */ + void onMatrixError(MatrixError e); + + /** + * Called for some other type of error. + * + * @param e the exception + */ + void onUnexpectedError(Exception e); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/DefaultRetrofit2CallbackWrapper.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/DefaultRetrofit2CallbackWrapper.java new file mode 100644 index 00000000..271e8de7 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/DefaultRetrofit2CallbackWrapper.java @@ -0,0 +1,48 @@ +package im.vector.matrix.android.internal.legacy.rest.callback; + +import im.vector.matrix.android.internal.legacy.rest.model.HttpError; +import im.vector.matrix.android.internal.legacy.rest.model.HttpException; + +import java.io.IOException; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; + +public class DefaultRetrofit2CallbackWrapper + implements Callback, DefaultRetrofit2ResponseHandler.Listener { + + private final ApiCallback apiCallback; + + public DefaultRetrofit2CallbackWrapper(ApiCallback apiCallback) { + this.apiCallback = apiCallback; + } + + public ApiCallback getApiCallback() { + return apiCallback; + } + + @Override public void onResponse(Call call, Response response) { + try { + handleResponse(response); + } catch (IOException e) { + apiCallback.onUnexpectedError(e); + } + } + + private void handleResponse(Response response) throws IOException { + DefaultRetrofit2ResponseHandler.handleResponse(response, this); + } + + @Override public void onFailure(Call call, Throwable t) { + apiCallback.onNetworkError((Exception) t); + } + + @Override public void onSuccess(Response response) { + apiCallback.onSuccess(response.body()); + } + + @Override public void onHttpError(HttpError httpError) { + apiCallback.onNetworkError(new HttpException(httpError)); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/DefaultRetrofit2ResponseHandler.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/DefaultRetrofit2ResponseHandler.java new file mode 100644 index 00000000..74b5c645 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/DefaultRetrofit2ResponseHandler.java @@ -0,0 +1,24 @@ +package im.vector.matrix.android.internal.legacy.rest.callback; + +import im.vector.matrix.android.internal.legacy.rest.model.HttpError; + +import java.io.IOException; + +import retrofit2.Response; + +public class DefaultRetrofit2ResponseHandler { + public static void handleResponse(Response response, Listener listener) + throws IOException { + if (response.isSuccessful()) { + listener.onSuccess(response); + } else { + String errorBody = response.errorBody().string(); + listener.onHttpError(new HttpError(errorBody, response.code())); + } + } + + public interface Listener { + void onSuccess(Response response); + void onHttpError(HttpError httpError); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/RestAdapterCallback.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/RestAdapterCallback.java new file mode 100644 index 00000000..34808313 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/RestAdapterCallback.java @@ -0,0 +1,274 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.callback; + +import com.google.gson.JsonSyntaxException; +import com.google.gson.stream.MalformedJsonException; + +import im.vector.matrix.android.internal.legacy.rest.model.HttpError; +import im.vector.matrix.android.internal.legacy.rest.model.HttpException; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; +import im.vector.matrix.android.internal.legacy.util.UnsentEventsManager; + +import java.io.IOException; + +import okhttp3.ResponseBody; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; + +public class RestAdapterCallback implements Callback { + + private static final String LOG_TAG = "RestAdapterCallback"; + + /** + * Callback when a request failed after a network error. + * This callback should manage the request auto resent. + */ + public interface RequestRetryCallBack { + void onRetry(); + } + + // the event description + private final String mEventDescription; + + // the callback + // FIXME It should be safer if the type was ApiCallback, else onSuccess() has to be overridden + private final ApiCallback mApiCallback; + + // the retry callback + private final RequestRetryCallBack mRequestRetryCallBack; + + // the unsent events manager + private final UnsentEventsManager mUnsentEventsManager; + + // true to do not test if he event time line when sending again + // the request when a data connection is retrieved. + private final boolean mIgnoreEventTimeLifeInOffline; + + /** + * Constructor with unsent events management + * + * @param description the event description + * @param unsentEventsManager the unsent events manager + * @param apiCallback the callback + * @param requestRetryCallBack the retry callback + */ + public RestAdapterCallback(String description, + UnsentEventsManager unsentEventsManager, + ApiCallback apiCallback, + RequestRetryCallBack requestRetryCallBack) { + this(description, unsentEventsManager, false, apiCallback, requestRetryCallBack); + } + + /** + * Constructor with unsent events management + * + * @param description the event description + * @param ignoreEventTimeLifeOffline true to ignore the event time when resending the event. + * @param unsentEventsManager the unsent events manager + * @param apiCallback the callback + * @param requestRetryCallBack the retry callback + */ + public RestAdapterCallback(String description, + UnsentEventsManager unsentEventsManager, + boolean ignoreEventTimeLifeOffline, + ApiCallback apiCallback, + RequestRetryCallBack requestRetryCallBack) { + if (null != description) { + Log.d(LOG_TAG, "Trigger the event [" + description + "]"); + } + + mEventDescription = description; + mIgnoreEventTimeLifeInOffline = ignoreEventTimeLifeOffline; + mApiCallback = apiCallback; + mRequestRetryCallBack = requestRetryCallBack; + mUnsentEventsManager = unsentEventsManager; + } + + /** + * Notify the {@link UnsentEventsManager} that the event has been successfully sent. + * This method must be called each time a REST call succeed, in order to warn + * the {@link UnsentEventsManager} to send the next unsent events. + */ + protected void onEventSent() { + if (null != mUnsentEventsManager) { + try { + // some users reported that their devices were connected + // whereas this receiver was not called + if (!mUnsentEventsManager.getNetworkConnectivityReceiver().isConnected()) { + Log.d(LOG_TAG, "## onEventSent(): request succeed, while network seen as disconnected => ask ConnectivityReceiver to dispatch info"); + mUnsentEventsManager.getNetworkConnectivityReceiver().checkNetworkConnection(mUnsentEventsManager.getContext()); + } + + mUnsentEventsManager.onEventSent(mApiCallback); + } catch (Exception e) { + Log.e(LOG_TAG, "## onEventSent(): Exception " + e.getMessage(), e); + } + } + } + + @Override + public void onResponse(Call call, final Response response) { + try { + handleResponse(response); + } catch (IOException e) { + onFailure(call, e); + } + } + + private void handleResponse(final Response response) throws IOException { + DefaultRetrofit2ResponseHandler.handleResponse( + response, + new DefaultRetrofit2ResponseHandler.Listener() { + @Override + public void onSuccess(Response response) { + success(response.body(), response); + } + + @Override + public void onHttpError(HttpError httpError) { + failure(response, new HttpException(httpError)); + } + } + ); + } + + @Override + public void onFailure(Call call, Throwable t) { + failure(null, (Exception) t); + } + + public void success(T t, Response response) { + if (null != mEventDescription) { + Log.d(LOG_TAG, "## Succeed() : [" + mEventDescription + "]"); + } + + // add try catch to prevent application crashes while managing destroyed object + try { + onEventSent(); + + if (null != mApiCallback) { + try { + mApiCallback.onSuccess(t); + } catch (Exception e) { + Log.e(LOG_TAG, "## succeed() : onSuccess failed " + e.getMessage(), e); + mApiCallback.onUnexpectedError(e); + } + } + } catch (Exception e) { + // privacy + Log.e(LOG_TAG, "## succeed(): Exception " + e.getMessage(), e); + } + } + + /** + * Default failure implementation that calls the right error handler + * + * @param response the retrofit response + * @param exception the retrofit exception + */ + public void failure(Response response, Exception exception) { + if (null != mEventDescription) { + String error = exception != null + ? exception.getMessage() + : (response != null ? response.message() : "unknown"); + + Log.d(LOG_TAG, "## failure(): [" + mEventDescription + "]" + " with error " + error); + } + + boolean retry = true; + + if (null != response) { + retry = (response.code() < 400) || (response.code() > 500); + } + + // do not retry if the response format is not the expected one. + retry &= (null == exception.getCause()) + || !(exception.getCause() instanceof MalformedJsonException || exception.getCause() instanceof JsonSyntaxException); + + if (retry && (null != mUnsentEventsManager)) { + Log.d(LOG_TAG, "Add it to the UnsentEventsManager"); + mUnsentEventsManager.onEventSendingFailed(mEventDescription, mIgnoreEventTimeLifeInOffline, response, exception, mApiCallback, + mRequestRetryCallBack); + } else { + if (exception != null && exception instanceof IOException) { + try { + if (null != mApiCallback) { + try { + mApiCallback.onNetworkError(exception); + } catch (Exception e) { + Log.e(LOG_TAG, "## failure(): onNetworkError " + exception.getLocalizedMessage(), exception); + } + } + } catch (Exception e) { + // privacy + //Log.e(LOG_TAG, "Exception NetworkError " + e.getMessage() + " while managing " + error.getUrl()); + Log.e(LOG_TAG, "## failure(): NetworkError " + e.getMessage(), e); + } + } else { + // Try to convert this into a Matrix error + MatrixError mxError; + try { + HttpError error = ((HttpException) exception).getHttpError(); + ResponseBody errorBody = response.errorBody(); + + String bodyAsString = error.getErrorBody(); + mxError = JsonUtils.getGson(false).fromJson(bodyAsString, MatrixError.class); + + mxError.mStatus = response.code(); + mxError.mReason = response.message(); + mxError.mErrorBodyMimeType = errorBody.contentType(); + mxError.mErrorBody = errorBody; + mxError.mErrorBodyAsString = bodyAsString; + } catch (Exception e) { + mxError = null; + } + if (mxError != null) { + if (MatrixError.LIMIT_EXCEEDED.equals(mxError.errcode) && (null != mUnsentEventsManager)) { + mUnsentEventsManager.onEventSendingFailed(mEventDescription, mIgnoreEventTimeLifeInOffline, response, exception, mApiCallback, + mRequestRetryCallBack); + } else if (MatrixError.isConfigurationErrorCode(mxError.errcode) && (null != mUnsentEventsManager)) { + mUnsentEventsManager.onConfigurationErrorCode(mxError.errcode, mEventDescription); + } else { + try { + if (null != mApiCallback) { + mApiCallback.onMatrixError(mxError); + } + } catch (Exception e) { + // privacy + //Log.e(LOG_TAG, "Exception MatrixError " + e.getMessage() + " while managing " + error.getUrl()); + Log.e(LOG_TAG, "## failure(): MatrixError " + e.getMessage(), e); + } + } + } else { + try { + if (null != mApiCallback) { + mApiCallback.onUnexpectedError(exception); + } + } catch (Exception e) { + // privacy + //Log.e(LOG_TAG, "Exception UnexpectedError " + e.getMessage() + " while managing " + error.getUrl()); + Log.e(LOG_TAG, "## failure(): UnexpectedError " + e.getMessage(), e); + } + } + } + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/SimpleApiCallback.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/SimpleApiCallback.java new file mode 100644 index 00000000..c4a5ff29 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/SimpleApiCallback.java @@ -0,0 +1,139 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.callback; + +import android.app.Activity; +import android.content.Context; + +import im.vector.matrix.android.internal.legacy.util.Log; + +import android.view.View; +import android.widget.Toast; + +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; + +/** + * A stub implementation of {@link ApiCallback} which only chosen callbacks + * can be implemented. + */ +public abstract class SimpleApiCallback implements ApiCallback { + + private static final String LOG_TAG = "SimpleApiCallback"; + + private Activity mActivity; + + private Context mContext = null; + private View mPostView = null; + + /** + * Failure callback to pass on failures to. + */ + private ApiFailureCallback failureCallback = null; + + /** + * Constructor + */ + public SimpleApiCallback() { + } + + /** + * Constructor + * + * @param activity The context. + */ + public SimpleApiCallback(Activity activity) { + mActivity = activity; + } + + /** + * Constructor + * + * @param context The context. + * @param postOnView the view to post the code to execute + */ + public SimpleApiCallback(Context context, View postOnView) { + mContext = context; + mPostView = postOnView; + } + + /** + * Constructor to delegate failure callback to another object. This allows us to stack failure callback implementations + * in a decorator-type approach. + * + * @param failureCallback the failure callback implementation to delegate to + */ + public SimpleApiCallback(ApiFailureCallback failureCallback) { + this.failureCallback = failureCallback; + } + + private void displayToast(final String message) { + if (null != mActivity) { + mActivity.runOnUiThread(new Runnable() { + @Override + public void run() { + Toast.makeText(mActivity, message, Toast.LENGTH_SHORT).show(); + } + }); + } else if ((null != mContext) && (null != mPostView)) { + mPostView.post(new Runnable() { + @Override + public void run() { + Toast.makeText(mContext, message, Toast.LENGTH_SHORT).show(); + } + }); + } + } + + @Override + public void onNetworkError(Exception e) { + if (failureCallback != null) { + try { + failureCallback.onNetworkError(e); + } catch (Exception exception) { + Log.e(LOG_TAG, "## onNetworkError() failed" + exception.getMessage(), exception); + } + } else { + displayToast("Network Error"); + } + } + + @Override + public void onMatrixError(final MatrixError e) { + if (failureCallback != null) { + try { + failureCallback.onMatrixError(e); + } catch (Exception exception) { + Log.e(LOG_TAG, "## onMatrixError() failed" + exception.getMessage(), exception); + } + } else { + displayToast("Matrix Error : " + e.getLocalizedMessage()); + } + } + + @Override + public void onUnexpectedError(final Exception e) { + if (failureCallback != null) { + try { + failureCallback.onUnexpectedError(e); + } catch (Exception exception) { + Log.e(LOG_TAG, "## onUnexpectedError() failed" + exception.getMessage(), exception); + } + } else { + displayToast(e.getLocalizedMessage()); + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/SuccessCallback.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/SuccessCallback.java new file mode 100644 index 00000000..1e624b69 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/SuccessCallback.java @@ -0,0 +1,26 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.callback; + +public interface SuccessCallback { + /** + * Called if the result is successful. + * + * @param info the returned information + */ + void onSuccess(T info); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/ToastErrorHandler.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/ToastErrorHandler.java new file mode 100644 index 00000000..cdfbad4e --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/callback/ToastErrorHandler.java @@ -0,0 +1,60 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.callback; + +import android.content.Context; +import android.widget.Toast; + +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; + +/** + * Failure callback that shows different toast messages. + */ +public class ToastErrorHandler implements ApiFailureCallback { + + private final Context context; + private final String msgPrefix; + + /** + * Constructor with context for the toast messages and a common prefix for messages. + * + * @param context the context - needed for toast + * @param msgPrefix the message prefix + */ + public ToastErrorHandler(Context context, String msgPrefix) { + this.context = context; + this.msgPrefix = msgPrefix; + } + + @Override + public void onNetworkError(Exception e) { + Toast.makeText(context, appendPrefix("Connection error"), Toast.LENGTH_LONG).show(); + } + + @Override + public void onMatrixError(MatrixError e) { + Toast.makeText(context, appendPrefix(e.getLocalizedMessage()), Toast.LENGTH_LONG).show(); + } + + @Override + public void onUnexpectedError(Exception e) { + Toast.makeText(context, appendPrefix(null), Toast.LENGTH_LONG).show(); + } + + String appendPrefix(String text) { + return (text == null) ? msgPrefix : msgPrefix + ": " + text; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/AccountDataRestClient.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/AccountDataRestClient.java new file mode 100644 index 00000000..ea7cfce3 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/AccountDataRestClient.java @@ -0,0 +1,92 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.client; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.rest.api.AccountDataApi; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.RestAdapterCallback; + +import java.util.HashMap; +import java.util.Map; + +public class AccountDataRestClient extends RestClient { + /** + * Account data types + */ + public static final String ACCOUNT_DATA_TYPE_IGNORED_USER_LIST = "m.ignored_user_list"; + public static final String ACCOUNT_DATA_TYPE_DIRECT_MESSAGES = "m.direct"; + public static final String ACCOUNT_DATA_TYPE_PREVIEW_URLS = "org.matrix.preview_urls"; + public static final String ACCOUNT_DATA_TYPE_WIDGETS = "m.widgets"; + + /** + * Account data keys + */ + public static final String ACCOUNT_DATA_KEY_IGNORED_USERS = "ignored_users"; + public static final String ACCOUNT_DATA_KEY_URL_PREVIEW_DISABLE = "disable"; + + /** + * {@inheritDoc} + */ + public AccountDataRestClient(HomeServerConnectionConfig hsConfig) { + super(hsConfig, AccountDataApi.class, RestClient.URI_API_PREFIX_PATH_R0, false); + } + + /** + * Set some account_data for the client. + * + * @param userId the user id + * @param type the account data type. + * @param params the put params. + * @param callback the asynchronous callback called when finished + */ + public void setAccountData(final String userId, final String type, final Object params, final ApiCallback callback) { + // privacy + //final String description = "setAccountData userId : " + userId + " type " + type + " params " + params; + final String description = "setAccountData userId : " + userId + " type " + type; + + mApi.setAccountData(userId, type, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + setAccountData(userId, type, params, callback); + } + })); + } + + /** + * Gets a bearer token from the homeserver that the user can + * present to a third party in order to prove their ownership + * of the Matrix account they are logged into. + * + * @param userId the user id + * @param callback the asynchronous callback called when finished + */ + public void openIdToken(final String userId, final ApiCallback> callback) { + final String description = "openIdToken userId : " + userId; + + mApi.openIdToken(userId, new HashMap<>()) + .enqueue(new RestAdapterCallback>(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + openIdToken(userId, callback); + } + })); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/CallRestClient.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/CallRestClient.java new file mode 100644 index 00000000..a8336754 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/CallRestClient.java @@ -0,0 +1,38 @@ +/* + * Copyright 2015 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.client; + +import com.google.gson.JsonObject; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.rest.api.CallRulesApi; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.DefaultRetrofit2CallbackWrapper; + +public class CallRestClient extends RestClient { + + /** + * {@inheritDoc} + */ + public CallRestClient(HomeServerConnectionConfig hsConfig) { + super(hsConfig, CallRulesApi.class, RestClient.URI_API_PREFIX_PATH_R0, false); + } + + public void getTurnServer(final ApiCallback callback) { + mApi.getTurnServer().enqueue(new DefaultRetrofit2CallbackWrapper<>(callback)); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/CryptoRestClient.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/CryptoRestClient.java new file mode 100644 index 00000000..026ddfdb --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/CryptoRestClient.java @@ -0,0 +1,308 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.client; + +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.crypto.data.MXKey; +import im.vector.matrix.android.internal.legacy.crypto.data.MXUsersDevicesMap; +import im.vector.matrix.android.internal.legacy.rest.api.CryptoApi; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.RestAdapterCallback; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.KeyChangesResponse; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.KeysClaimResponse; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.KeysQueryResponse; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.KeysUploadResponse; +import im.vector.matrix.android.internal.legacy.rest.model.pid.DeleteDeviceParams; +import im.vector.matrix.android.internal.legacy.rest.model.sync.DevicesListResponse; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; + +import retrofit2.Response; + +public class CryptoRestClient extends RestClient { + + private static final String LOG_TAG = CryptoRestClient.class.getSimpleName(); + + /** + * {@inheritDoc} + */ + public CryptoRestClient(HomeServerConnectionConfig hsConfig) { + super(hsConfig, CryptoApi.class, URI_API_PREFIX_PATH_UNSTABLE, false, false); + } + + /** + * Upload device and/or one-time keys. + * + * @param deviceKeys the device keys to send. + * @param oneTimeKeys the one-time keys to send. + * @param deviceId he explicit device_id to use for upload (default is to use the same as that used during auth). + * @param callback the asynchronous callback + */ + public void uploadKeys(final Map deviceKeys, + final Map oneTimeKeys, + final String deviceId, + final ApiCallback callback) { + final String description = "uploadKeys"; + + String encodedDeviceId = JsonUtils.convertToUTF8(deviceId); + Map params = new HashMap<>(); + + if (null != deviceKeys) { + params.put("device_keys", deviceKeys); + } + + if (null != oneTimeKeys) { + params.put("one_time_keys", oneTimeKeys); + } + + if (!TextUtils.isEmpty(encodedDeviceId)) { + mApi.uploadKeys(encodedDeviceId, params) + .enqueue(new RestAdapterCallback(description, null, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + uploadKeys(deviceKeys, oneTimeKeys, deviceId, callback); + } + })); + } else { + mApi.uploadKeys(params) + .enqueue(new RestAdapterCallback(description, null, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + uploadKeys(deviceKeys, oneTimeKeys, deviceId, callback); + } + })); + } + } + + /** + * Download device keys. + * + * @param userIds list of users to get keys for. + * @param token the up-to token + * @param callback the asynchronous callback + */ + public void downloadKeysForUsers(final List userIds, final String token, final ApiCallback callback) { + final String description = "downloadKeysForUsers"; + + Map> downloadQuery = new HashMap<>(); + + if (null != userIds) { + for (String userId : userIds) { + downloadQuery.put(userId, new HashMap()); + } + } + + Map parameters = new HashMap<>(); + parameters.put("device_keys", downloadQuery); + + if (!TextUtils.isEmpty(token)) { + parameters.put("token", token); + } + + mApi.downloadKeysForUsers(parameters) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + downloadKeysForUsers(userIds, token, callback); + } + })); + } + + /** + * Claim one-time keys. + * + * @param usersDevicesKeyTypesMap a list of users, devices and key types to retrieve keys for. + * @param callback the asynchronous callback + */ + public void claimOneTimeKeysForUsersDevices( + final MXUsersDevicesMap usersDevicesKeyTypesMap, + final ApiCallback> callback) { + final String description = "claimOneTimeKeysForUsersDevices"; + + Map params = new HashMap<>(); + params.put("one_time_keys", usersDevicesKeyTypesMap.getMap()); + + mApi.claimOneTimeKeysForUsersDevices(params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + claimOneTimeKeysForUsersDevices(usersDevicesKeyTypesMap, callback); + } + }) { + @Override + public void success(KeysClaimResponse keysClaimResponse, Response response) { + onEventSent(); + + Map> map = new HashMap<>(); + + if (null != keysClaimResponse.oneTimeKeys) { + for (String userId : keysClaimResponse.oneTimeKeys.keySet()) { + Map>> mapByUserId = keysClaimResponse.oneTimeKeys.get(userId); + + Map keysMap = new HashMap<>(); + + for (String deviceId : mapByUserId.keySet()) { + try { + keysMap.put(deviceId, new MXKey(mapByUserId.get(deviceId))); + } catch (Exception e) { + Log.e(LOG_TAG, "## claimOneTimeKeysForUsersDevices : fail to create a MXKey " + e.getMessage(), e); + } + } + + if (keysMap.size() != 0) { + map.put(userId, keysMap); + } + } + } + + callback.onSuccess(new MXUsersDevicesMap<>(map)); + } + }); + } + + /** + * Send an event to a specific list of devices + * + * @param eventType the type of event to send + * @param contentMap content to send. Map from user_id to device_id to content dictionary. + * @param callback the asynchronous callback. + */ + public void sendToDevice(final String eventType, + final MXUsersDevicesMap> contentMap, final ApiCallback callback) { + sendToDevice(eventType, contentMap, (new Random()).nextInt(Integer.MAX_VALUE) + "", callback); + } + + /** + * Send an event to a specific list of devices + * + * @param eventType the type of event to send + * @param contentMap content to send. Map from user_id to device_id to content dictionary. + * @param transactionId the transactionId + * @param callback the asynchronous callback. + */ + public void sendToDevice(final String eventType, + final MXUsersDevicesMap> contentMap, final String transactionId, + final ApiCallback callback) { + final String description = "sendToDevice " + eventType; + + Map content = new HashMap<>(); + content.put("messages", contentMap.getMap()); + + mApi.sendToDevice(eventType, transactionId, content) + .enqueue(new RestAdapterCallback(description, null, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + sendToDevice(eventType, contentMap, callback); + } + })); + } + + /** + * Retrieves the devices informaty + * + * @param callback the asynchronous callback. + */ + public void getDevices(final ApiCallback callback) { + final String description = "getDevicesListInfo"; + + mApi.getDevices() + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getDevices(callback); + } + })); + } + + /** + * Delete a device. + * + * @param deviceId the device id + * @param params the deletion parameters + * @param callback the asynchronous callback + */ + public void deleteDevice(final String deviceId, final DeleteDeviceParams params, + final ApiCallback callback) { + final String description = "deleteDevice"; + + mApi.deleteDevice(deviceId, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + deleteDevice(deviceId, params, callback); + } + })); + } + + /** + * Set a device name. + * + * @param deviceId the device id + * @param deviceName the device name + * @param callback the asynchronous callback + */ + public void setDeviceName(final String deviceId, final String deviceName, + final ApiCallback callback) { + final String description = "setDeviceName"; + + Map params = new HashMap<>(); + params.put("display_name", TextUtils.isEmpty(deviceName) ? "" : deviceName); + + mApi.updateDeviceInfo(deviceId, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + setDeviceName(deviceId, deviceName, callback); + } + })); + } + + /** + * Get the update devices list from two sync token. + * + * @param from the start token. + * @param to the up-to token. + * @param callback the asynchronous callback + */ + public void getKeyChanges(final String from, final String to, + final ApiCallback callback) { + final String description = "getKeyChanges"; + + mApi.getKeyChanges(from, to) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getKeyChanges(from, to, callback); + } + })); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/EventsRestClient.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/EventsRestClient.java new file mode 100644 index 00000000..987572da --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/EventsRestClient.java @@ -0,0 +1,603 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.client; + +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.rest.api.EventsApi; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.RestAdapterCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.URLPreview; +import im.vector.matrix.android.internal.legacy.rest.model.User; +import im.vector.matrix.android.internal.legacy.rest.model.pid.ThirdPartyProtocol; +import im.vector.matrix.android.internal.legacy.rest.model.publicroom.PublicRoomsFilter; +import im.vector.matrix.android.internal.legacy.rest.model.publicroom.PublicRoomsParams; +import im.vector.matrix.android.internal.legacy.rest.model.publicroom.PublicRoomsResponse; +import im.vector.matrix.android.internal.legacy.rest.model.search.SearchParams; +import im.vector.matrix.android.internal.legacy.rest.model.search.SearchResponse; +import im.vector.matrix.android.internal.legacy.rest.model.search.SearchRoomEventCategoryParams; +import im.vector.matrix.android.internal.legacy.rest.model.search.SearchUsersParams; +import im.vector.matrix.android.internal.legacy.rest.model.search.SearchUsersRequestResponse; +import im.vector.matrix.android.internal.legacy.rest.model.search.SearchUsersResponse; +import im.vector.matrix.android.internal.legacy.rest.model.sync.SyncResponse; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * Class used to make requests to the events API. + */ +public class EventsRestClient extends RestClient { + + private static final int EVENT_STREAM_TIMEOUT_MS = 30000; + + private String mSearchEventsPatternIdentifier = null; + private String mSearchEventsMediaNameIdentifier = null; + private String mSearchUsersPatternIdentifier = null; + + /** + * {@inheritDoc} + */ + public EventsRestClient(HomeServerConnectionConfig hsConfig) { + super(hsConfig, EventsApi.class, "", false); + } + + protected EventsRestClient(EventsApi api) { + mApi = api; + } + + /** + * Retrieves the third party server protocols + * + * @param callback the asynchronous callback + */ + public void getThirdPartyServerProtocols(final ApiCallback> callback) { + final String description = "getThirdPartyServerProtocols"; + + mApi.thirdPartyProtocols() + .enqueue(new RestAdapterCallback>(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getThirdPartyServerProtocols(callback); + } + })); + } + + /** + * Get the public rooms count. + * The count can be null. + * + * @param callback the public rooms count callbacks + */ + public void getPublicRoomsCount(final ApiCallback callback) { + getPublicRoomsCount(null, null, false, callback); + } + + /** + * Get the public rooms count. + * The count can be null. + * + * @param server the server url + * @param callback the asynchronous callback + */ + public void getPublicRoomsCount(final String server, final ApiCallback callback) { + getPublicRoomsCount(server, null, false, callback); + } + + /** + * Get the public rooms count. + * The count can be null. + * + * @param server the server url + * @param thirdPartyInstanceId the third party instance id (optional) + * @param includeAllNetworks true to search in all the connected network + * @param callback the asynchronous callback + */ + public void getPublicRoomsCount(final String server, + final String thirdPartyInstanceId, + final boolean includeAllNetworks, + final ApiCallback callback) { + loadPublicRooms(server, thirdPartyInstanceId, includeAllNetworks, null, null, 0, new SimpleApiCallback(callback) { + @Override + public void onSuccess(PublicRoomsResponse publicRoomsResponse) { + callback.onSuccess(publicRoomsResponse.total_room_count_estimate); + } + }); + } + + /** + * Get the list of the public rooms. + * + * @param server search on this home server only (null for any one) + * @param thirdPartyInstanceId the third party instance id (optional) + * @param includeAllNetworks true to search in all the connected network + * @param pattern the pattern to search + * @param since the pagination token + * @param limit the maximum number of public rooms + * @param callback the public rooms callbacks + */ + public void loadPublicRooms(final String server, + final String thirdPartyInstanceId, + final boolean includeAllNetworks, + final String pattern, + final String since, + final int limit, + final ApiCallback callback) { + final String description = "loadPublicRooms"; + + PublicRoomsParams publicRoomsParams = new PublicRoomsParams(); + + publicRoomsParams.thirdPartyInstanceId = thirdPartyInstanceId; + publicRoomsParams.includeAllNetworks = includeAllNetworks; + publicRoomsParams.limit = Math.max(0, limit); + publicRoomsParams.since = since; + + if (!TextUtils.isEmpty(pattern)) { + publicRoomsParams.filter = new PublicRoomsFilter(); + publicRoomsParams.filter.generic_search_term = pattern; + } + + mApi.publicRooms(server, publicRoomsParams) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + loadPublicRooms(server, thirdPartyInstanceId, includeAllNetworks, pattern, since, limit, callback); + } + })); + } + + + /** + * Synchronise the client's state and receive new messages. Based on server sync C-S v2 API. + *

    + * Synchronise the client's state with the latest state on the server. + * Client's use this API when they first log in to get an initial snapshot + * of the state on the server, and then continue to call this API to get + * incremental deltas to the state, and to receive new messages. + * + * @param token the token to stream from (nil in case of initial sync). + * @param serverTimeout the maximum time in ms to wait for an event. + * @param clientTimeout the maximum time in ms the SDK must wait for the server response. + * @param setPresence the optional parameter which controls whether the client is automatically + * marked as online by polling this API. If this parameter is omitted then the client is + * automatically marked as online when it uses this API. Otherwise if + * the parameter is set to "offline" then the client is not marked as + * being online when it uses this API. + * @param filterOrFilterId a JSON filter or the ID of a filter created using the filter API (optional). + * @param callback The request callback + */ + public void syncFromToken(final String token, + final int serverTimeout, + final int clientTimeout, + final String setPresence, + final String filterOrFilterId, + final ApiCallback callback) { + Map params = new HashMap<>(); + int timeout = (EVENT_STREAM_TIMEOUT_MS / 1000); + + if (!TextUtils.isEmpty(token)) { + params.put("since", token); + } + + if (-1 != serverTimeout) { + timeout = serverTimeout; + } + + if (!TextUtils.isEmpty(setPresence)) { + params.put("set_presence", setPresence); + } + + if (!TextUtils.isEmpty(filterOrFilterId)) { + params.put("filter", filterOrFilterId); + } + + params.put("timeout", timeout); + + // increase the timeout because the init sync might require more time to be built + setConnectionTimeout(RestClient.CONNECTION_TIMEOUT_MS * ((null == token) ? 2 : 1)); + + final String description = "syncFromToken"; + // Disable retry because it interferes with clientTimeout + // Let the client manage retries on events streams + mApi.sync(params) + .enqueue(new RestAdapterCallback(description, null, false, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + syncFromToken(token, serverTimeout, clientTimeout, setPresence, filterOrFilterId, callback); + } + })); + } + + /** + * Retrieve an event from its event id. + * + * @param eventId the event id + * @param callback the asynchronous callback. + */ + public void getEventFromEventId(final String eventId, final ApiCallback callback) { + final String description = "getEventFromEventId : eventId " + eventId; + + mApi.getEvent(eventId) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getEventFromEventId(eventId, callback); + } + })); + } + + /** + * Search a text in room messages. + * + * @param text the text to search for. + * @param rooms a list of rooms to search in. nil means all rooms the user is in. + * @param beforeLimit the number of events to get before the matching results. + * @param afterLimit the number of events to get after the matching results. + * @param nextBatch the token to pass for doing pagination from a previous response. + * @param callback the request callback + */ + public void searchMessagesByText(final String text, + final List rooms, + final int beforeLimit, + final int afterLimit, + final String nextBatch, + final ApiCallback callback) { + SearchParams searchParams = new SearchParams(); + SearchRoomEventCategoryParams searchEventParams = new SearchRoomEventCategoryParams(); + + searchEventParams.search_term = text; + searchEventParams.order_by = "recent"; + + searchEventParams.event_context = new HashMap<>(); + searchEventParams.event_context.put("before_limit", beforeLimit); + searchEventParams.event_context.put("after_limit", afterLimit); + searchEventParams.event_context.put("include_profile", true); + + if (null != rooms) { + searchEventParams.filter = new HashMap<>(); + searchEventParams.filter.put("rooms", rooms); + } + + searchParams.search_categories = new HashMap<>(); + searchParams.search_categories.put("room_events", searchEventParams); + + final String description = "searchMessageText"; + + final String uid = System.currentTimeMillis() + ""; + mSearchEventsPatternIdentifier = uid + text; + + // don't retry to send the request + // if the search fails, stop it + mApi.searchEvents(searchParams, nextBatch) + .enqueue(new RestAdapterCallback(description, null, new ApiCallback() { + /** + * Tells if the current response for the latest request. + * + * @return true if it is the response of the latest request. + */ + private boolean isActiveRequest() { + return TextUtils.equals(mSearchEventsPatternIdentifier, uid + text); + } + + @Override + public void onSuccess(SearchResponse response) { + if (isActiveRequest()) { + if (null != callback) { + callback.onSuccess(response); + } + + mSearchEventsPatternIdentifier = null; + } + } + + @Override + public void onNetworkError(Exception e) { + if (isActiveRequest()) { + if (null != callback) { + callback.onNetworkError(e); + } + + mSearchEventsPatternIdentifier = null; + } + } + + @Override + public void onMatrixError(MatrixError e) { + if (isActiveRequest()) { + if (null != callback) { + callback.onMatrixError(e); + } + + mSearchEventsPatternIdentifier = null; + } + } + + @Override + public void onUnexpectedError(Exception e) { + if (isActiveRequest()) { + if (null != callback) { + callback.onUnexpectedError(e); + } + + mSearchEventsPatternIdentifier = null; + } + } + + }, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + searchMessagesByText(text, rooms, beforeLimit, afterLimit, nextBatch, callback); + } + })); + } + + /** + * Search a media from its name. + * + * @param name the text to search for. + * @param rooms a list of rooms to search in. nil means all rooms the user is in. + * @param beforeLimit the number of events to get before the matching results. + * @param afterLimit the number of events to get after the matching results. + * @param nextBatch the token to pass for doing pagination from a previous response. + * @param callback the request callback + */ + public void searchMediasByText(final String name, + final List rooms, + final int beforeLimit, + final int afterLimit, + final String nextBatch, + final ApiCallback callback) { + SearchParams searchParams = new SearchParams(); + SearchRoomEventCategoryParams searchEventParams = new SearchRoomEventCategoryParams(); + + searchEventParams.search_term = name; + searchEventParams.order_by = "recent"; + + searchEventParams.event_context = new HashMap<>(); + searchEventParams.event_context.put("before_limit", beforeLimit); + searchEventParams.event_context.put("after_limit", afterLimit); + searchEventParams.event_context.put("include_profile", true); + + searchEventParams.filter = new HashMap<>(); + + if (null != rooms) { + searchEventParams.filter.put("rooms", rooms); + } + + List types = new ArrayList<>(); + types.add(Event.EVENT_TYPE_MESSAGE); + searchEventParams.filter.put("types", types); + + searchEventParams.filter.put("contains_url", true); + + searchParams.search_categories = new HashMap<>(); + searchParams.search_categories.put("room_events", searchEventParams); + + // other unused filter items + // not_types + // not_rooms + // senders + // not_senders + + final String uid = System.currentTimeMillis() + ""; + mSearchEventsMediaNameIdentifier = uid + name; + + final String description = "searchMediasByText"; + + // don't retry to send the request + // if the search fails, stop it + mApi.searchEvents(searchParams, nextBatch) + .enqueue(new RestAdapterCallback(description, null, new ApiCallback() { + /** + * Tells if the current response for the latest request. + * + * @return true if it is the response of the latest request. + */ + private boolean isActiveRequest() { + return TextUtils.equals(mSearchEventsMediaNameIdentifier, uid + name); + } + + @Override + public void onSuccess(SearchResponse newSearchResponse) { + if (isActiveRequest()) { + callback.onSuccess(newSearchResponse); + mSearchEventsMediaNameIdentifier = null; + } + } + + @Override + public void onNetworkError(Exception e) { + if (isActiveRequest()) { + callback.onNetworkError(e); + mSearchEventsMediaNameIdentifier = null; + } + } + + @Override + public void onMatrixError(MatrixError e) { + if (isActiveRequest()) { + callback.onMatrixError(e); + mSearchEventsMediaNameIdentifier = null; + } + } + + @Override + public void onUnexpectedError(Exception e) { + if (isActiveRequest()) { + callback.onUnexpectedError(e); + mSearchEventsMediaNameIdentifier = null; + } + } + + }, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + searchMediasByText(name, rooms, beforeLimit, afterLimit, nextBatch, callback); + } + })); + } + + + /** + * Search users with a patter, + * + * @param text the text to search for. + * @param limit the maximum nbr of users in the response + * @param userIdsFilter the userIds to exclude from the result + * @param callback the request callback + */ + public void searchUsers(final String text, final Integer limit, final Set userIdsFilter, final ApiCallback callback) { + SearchUsersParams searchParams = new SearchUsersParams(); + + searchParams.search_term = text; + searchParams.limit = limit + ((null != userIdsFilter) ? userIdsFilter.size() : 0); + + final String uid = mSearchUsersPatternIdentifier = System.currentTimeMillis() + " " + text + " " + limit; + final String description = "searchUsers"; + + // don't retry to send the request + // if the search fails, stop it + mApi.searchUsers(searchParams) + .enqueue(new RestAdapterCallback(description, null, + new ApiCallback() { + /** + * Tells if the current response for the latest request. + * + * @return true if it is the response of the latest request. + */ + private boolean isActiveRequest() { + return TextUtils.equals(mSearchUsersPatternIdentifier, uid); + } + + @Override + public void onSuccess(SearchUsersRequestResponse aResponse) { + if (isActiveRequest()) { + SearchUsersResponse response = new SearchUsersResponse(); + response.limited = aResponse.limited; + response.results = new ArrayList<>(); + Set filter = (null != userIdsFilter) ? userIdsFilter : new HashSet(); + + if (null != aResponse.results) { + for (SearchUsersRequestResponse.User user : aResponse.results) { + if ((null != user.user_id) && !filter.contains(user.user_id)) { + User addedUser = new User(); + addedUser.user_id = user.user_id; + addedUser.avatar_url = user.avatar_url; + addedUser.displayname = user.display_name; + response.results.add(addedUser); + } + } + } + + callback.onSuccess(response); + mSearchUsersPatternIdentifier = null; + } + } + + @Override + public void onNetworkError(Exception e) { + if (isActiveRequest()) { + callback.onNetworkError(e); + mSearchUsersPatternIdentifier = null; + } + } + + @Override + public void onMatrixError(MatrixError e) { + if (isActiveRequest()) { + callback.onMatrixError(e); + mSearchUsersPatternIdentifier = null; + } + } + + @Override + public void onUnexpectedError(Exception e) { + if (isActiveRequest()) { + callback.onUnexpectedError(e); + mSearchUsersPatternIdentifier = null; + } + } + + }, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + searchUsers(text, limit, userIdsFilter, callback); + } + })); + } + + /** + * Cancel any pending file search request + */ + public void cancelSearchMediasByText() { + mSearchEventsMediaNameIdentifier = null; + } + + /** + * Cancel any pending search request + */ + public void cancelSearchMessagesByText() { + mSearchEventsPatternIdentifier = null; + } + + /** + * Cancel any pending search request + */ + public void cancelUsersSearch() { + mSearchUsersPatternIdentifier = null; + } + + /** + * Retrieve the URL preview information. + * + * @param url the URL + * @param ts the timestamp + * @param callback the asynchronous callback + */ + public void getURLPreview(final String url, final long ts, final ApiCallback callback) { + final String description = "getURLPreview : URL " + url + " with ts " + ts; + + mApi.getURLPreview(url, ts) + .enqueue(new RestAdapterCallback>(description, null, false, + new SimpleApiCallback>(callback) { + @Override + public void onSuccess(Map map) { + if (null != callback) { + callback.onSuccess(new URLPreview(map, url)); + } + } + }, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getURLPreview(url, ts, callback); + } + })); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/FilterRestClient.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/FilterRestClient.java new file mode 100644 index 00000000..fb506562 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/FilterRestClient.java @@ -0,0 +1,73 @@ +/* + * Copyright 2018 Matthias Kesler + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.client; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.rest.api.FilterApi; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.RestAdapterCallback; +import im.vector.matrix.android.internal.legacy.rest.model.filter.FilterBody; +import im.vector.matrix.android.internal.legacy.rest.model.filter.FilterResponse; + +public class FilterRestClient extends RestClient{ + + /** + * {@inheritDoc} + */ + public FilterRestClient(HomeServerConnectionConfig hsConfig) { + super(hsConfig, FilterApi.class, RestClient.URI_API_PREFIX_PATH_R0, false); + } + + /** + * Uploads a FilterBody to homeserver + * + * @param userId the user id + * @param filterBody FilterBody which should be send to server + * @param callback on success callback containing a String with populated filterId + */ + public void uploadFilter(final String userId, final FilterBody filterBody, final ApiCallback callback) { + final String description = "uploadFilter userId : " + userId + " filter : " + filterBody; + + mApi.uploadFilter(userId, filterBody) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + uploadFilter(userId, filterBody, callback); + } + })); + } + + /** + * Get a user's filter by filterId + * + * @param userId the user id + * @param filterId the filter id + * @param callback on success callback containing a User object with populated filterbody + */ + public void getFilter(final String userId, final String filterId, final ApiCallback callback) { + final String description = "getFilter userId : " + userId + " filterId : " + filterId; + + mApi.getFilterById(userId, filterId) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getFilter(userId, filterId, callback); + } + })); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/GroupsRestClient.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/GroupsRestClient.java new file mode 100644 index 00000000..8471adb4 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/GroupsRestClient.java @@ -0,0 +1,436 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.client; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.rest.api.GroupsApi; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.RestAdapterCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.group.AcceptGroupInvitationParams; +import im.vector.matrix.android.internal.legacy.rest.model.group.AddGroupParams; +import im.vector.matrix.android.internal.legacy.rest.model.group.CreateGroupParams; +import im.vector.matrix.android.internal.legacy.rest.model.group.CreateGroupResponse; +import im.vector.matrix.android.internal.legacy.rest.model.group.GetGroupsResponse; +import im.vector.matrix.android.internal.legacy.rest.model.group.GetPublicisedGroupsResponse; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupInviteUserParams; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupInviteUserResponse; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupKickUserParams; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupProfile; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupRooms; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupSummary; +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupUsers; +import im.vector.matrix.android.internal.legacy.rest.model.group.LeaveGroupParams; +import im.vector.matrix.android.internal.legacy.rest.model.group.UpdatePubliciseParams; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import retrofit2.Response; + +/** + * Class used to make requests to the groups API. + */ +public class GroupsRestClient extends RestClient { + + /** + * {@inheritDoc} + */ + public GroupsRestClient(HomeServerConnectionConfig hsConfig) { + super(hsConfig, GroupsApi.class, RestClient.URI_API_PREFIX_PATH_R0, false); + } + + protected GroupsRestClient(GroupsApi api) { + mApi = api; + } + + /** + * Create a group. + * + * @param params the room creation parameters + * @param callback the asynchronous callback. + */ + public void createGroup(final CreateGroupParams params, final ApiCallback callback) { + final String description = "createGroup " + params.localpart; + + mApi.createGroup(params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + createGroup(params, callback); + } + }) { + @Override + public void success(CreateGroupResponse createGroupResponse, Response response) { + onEventSent(); + callback.onSuccess(createGroupResponse.group_id); + } + }); + } + + /** + * Invite an user in a group. + * + * @param groupId the group id + * @param userId the user id + * @param callback the asynchronous callback. + */ + public void inviteUserInGroup(final String groupId, final String userId, final ApiCallback callback) { + final String description = "inviteUserInGroup " + groupId + " - " + userId; + + GroupInviteUserParams params = new GroupInviteUserParams(); + + mApi.inviteUser(groupId, userId, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + inviteUserInGroup(groupId, userId, callback); + } + }) { + @Override + public void success(GroupInviteUserResponse groupInviteUserResponse, Response response) { + onEventSent(); + callback.onSuccess(groupInviteUserResponse.state); + } + }); + } + + /** + * Kick an user from a group. + * + * @param groupId the group id + * @param userId the user id + * @param callback the asynchronous callback. + */ + public void KickUserFromGroup(final String groupId, final String userId, final ApiCallback callback) { + final String description = "KickFromGroup " + groupId + " " + userId; + + GroupKickUserParams params = new GroupKickUserParams(); + + mApi.kickUser(groupId, userId, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + KickUserFromGroup(groupId, userId, callback); + } + })); + } + + /** + * Add a room in a group. + * + * @param groupId the group id + * @param roomId the room id + * @param callback the asynchronous callback. + */ + public void addRoomInGroup(final String groupId, final String roomId, final ApiCallback callback) { + final String description = "addRoomInGroup " + groupId + " " + roomId; + + AddGroupParams params = new AddGroupParams(); + + mApi.addRoom(groupId, roomId, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + addRoomInGroup(groupId, roomId, callback); + } + })); + } + + /** + * Remove a room from a group. + * + * @param groupId the group id + * @param roomId the room id + * @param callback the asynchronous callback. + */ + public void removeRoomFromGroup(final String groupId, final String roomId, final ApiCallback callback) { + final String description = "removeRoomFromGroup " + groupId + " " + roomId; + + mApi.removeRoom(groupId, roomId) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + removeRoomFromGroup(groupId, roomId, callback); + } + })); + } + + /** + * Update a group profile. + * + * @param groupId the group id + * @param profile the profile + * @param callback the asynchronous callback. + */ + public void updateGroupProfile(final String groupId, final GroupProfile profile, final ApiCallback callback) { + final String description = "updateGroupProfile " + groupId; + + mApi.updateProfile(groupId, profile) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + updateGroupProfile(groupId, profile, callback); + } + })); + } + + /** + * Update a group profile. + * + * @param groupId the group id + * @param callback the asynchronous callback. + */ + public void getGroupProfile(final String groupId, final ApiCallback callback) { + final String description = "getGroupProfile " + groupId; + + mApi.getProfile(groupId) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getGroupProfile(groupId, callback); + } + })); + } + + /** + * Request the group invited users. + * + * @param groupId the group id + * @param callback the asynchronous callback. + */ + public void getGroupInvitedUsers(final String groupId, final ApiCallback callback) { + final String description = "getGroupInvitedUsers " + groupId; + + mApi.getInvitedUsers(groupId) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getGroupInvitedUsers(groupId, callback); + } + })); + } + + /** + * Request the group rooms. + * + * @param groupId the group id + * @param callback the asynchronous callback. + */ + public void getGroupRooms(final String groupId, final ApiCallback callback) { + final String description = "getGroupRooms " + groupId; + + mApi.getRooms(groupId) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getGroupRooms(groupId, callback); + } + })); + } + + /** + * Request the group users. + * + * @param groupId the group id + * @param callback the asynchronous callback. + */ + public void getGroupUsers(final String groupId, final ApiCallback callback) { + final String description = "getGroupUsers " + groupId; + + mApi.getUsers(groupId) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getGroupUsers(groupId, callback); + } + })); + } + + /** + * Request a group summary + * + * @param groupId the group id + * @param callback the asynchronous callback. + */ + public void getGroupSummary(final String groupId, final ApiCallback callback) { + final String description = "getGroupSummary " + groupId; + + mApi.getSummary(groupId) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getGroupSummary(groupId, callback); + } + })); + } + + /** + * Join a group. + * + * @param groupId the group id + * @param callback the asynchronous callback. + */ + public void joinGroup(final String groupId, final ApiCallback callback) { + final String description = "joinGroup " + groupId; + + AcceptGroupInvitationParams params = new AcceptGroupInvitationParams(); + + mApi.acceptInvitation(groupId, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + joinGroup(groupId, callback); + } + })); + } + + /** + * Leave a group. + * + * @param groupId the group id + * @param callback the asynchronous callback. + */ + public void leaveGroup(final String groupId, final ApiCallback callback) { + final String description = "leaveGroup " + groupId; + + LeaveGroupParams params = new LeaveGroupParams(); + + mApi.leave(groupId, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + leaveGroup(groupId, callback); + } + })); + } + + /** + * Update a group publicity status. + * + * @param groupId the group id + * @param publicity the new publicity status + * @param callback the asynchronous callback. + */ + public void updateGroupPublicity(final String groupId, final boolean publicity, final ApiCallback callback) { + final String description = "updateGroupPublicity " + groupId + " - " + publicity; + + UpdatePubliciseParams params = new UpdatePubliciseParams(); + params.publicise = publicity; + + mApi.updatePublicity(groupId, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + updateGroupPublicity(groupId, publicity, callback); + } + })); + } + + /** + * Request the joined groups. + * + * @param callback the asynchronous callback. + */ + public void getJoinedGroups(final ApiCallback> callback) { + final String description = "getJoinedGroups"; + + mApi.getJoinedGroupIds() + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getJoinedGroups(callback); + } + }) { + @Override + public void success(GetGroupsResponse getGroupsResponse, Response response) { + onEventSent(); + callback.onSuccess(getGroupsResponse.groupIds); + } + }); + } + + /** + * Request the publicised groups for an user. + * + * @param userId the user id + * @param callback the asynchronous callback. + */ + public void getUserPublicisedGroups(final String userId, final ApiCallback> callback) { + getPublicisedGroups(Arrays.asList(userId), new SimpleApiCallback>>(callback) { + @Override + public void onSuccess(Map> map) { + callback.onSuccess(map.get(userId)); + } + }); + } + + /** + * Request the publicised groups for an users list. + * + * @param userIds the user ids list + * @param callback the asynchronous callback + */ + public void getPublicisedGroups(final List userIds, final ApiCallback>> callback) { + final String description = "getPublicisedGroups " + userIds; + + Map> params = new HashMap<>(); + params.put("user_ids", userIds); + + mApi.getPublicisedGroups(params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getPublicisedGroups(userIds, callback); + } + } + ) { + @Override + public void success(GetPublicisedGroupsResponse getPublicisedGroupsResponse, Response response) { + onEventSent(); + + Map> map = new HashMap<>(); + + for (String userId : userIds) { + List groupIds = null; + + if ((null != getPublicisedGroupsResponse.users) && getPublicisedGroupsResponse.users.containsKey(userId)) { + groupIds = getPublicisedGroupsResponse.users.get(userId); + } + + if (null == groupIds) { + groupIds = new ArrayList<>(); + } + + map.put(userId, groupIds); + } + + callback.onSuccess(map); + } + }); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/LoginRestClient.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/LoginRestClient.java new file mode 100644 index 00000000..3671ed2d --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/LoginRestClient.java @@ -0,0 +1,360 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.client; + +import android.os.Build; +import android.support.annotation.Nullable; +import android.text.TextUtils; + +import com.google.gson.JsonObject; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.rest.api.LoginApi; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.RestAdapterCallback; +import im.vector.matrix.android.internal.legacy.rest.model.Versions; +import im.vector.matrix.android.internal.legacy.rest.model.login.Credentials; +import im.vector.matrix.android.internal.legacy.rest.model.login.LoginFlow; +import im.vector.matrix.android.internal.legacy.rest.model.login.LoginFlowResponse; +import im.vector.matrix.android.internal.legacy.rest.model.login.LoginParams; +import im.vector.matrix.android.internal.legacy.rest.model.login.PasswordLoginParams; +import im.vector.matrix.android.internal.legacy.rest.model.login.RegistrationParams; +import im.vector.matrix.android.internal.legacy.rest.model.login.TokenLoginParams; + +import java.util.List; +import java.util.UUID; + +import retrofit2.Response; + +/** + * Class used to make requests to the login API. + */ +public class LoginRestClient extends RestClient { + + public static final String LOGIN_FLOW_TYPE_PASSWORD = "m.login.password"; + public static final String LOGIN_FLOW_TYPE_OAUTH2 = "m.login.oauth2"; + public static final String LOGIN_FLOW_TYPE_EMAIL_CODE = "m.login.email.code"; + public static final String LOGIN_FLOW_TYPE_EMAIL_URL = "m.login.email.url"; + public static final String LOGIN_FLOW_TYPE_EMAIL_IDENTITY = "m.login.email.identity"; + public static final String LOGIN_FLOW_TYPE_MSISDN = "m.login.msisdn"; + public static final String LOGIN_FLOW_TYPE_RECAPTCHA = "m.login.recaptcha"; + public static final String LOGIN_FLOW_TYPE_DUMMY = "m.login.dummy"; + + /** + * Public constructor. + * + * @param hsConfig the home server connection config + */ + public LoginRestClient(HomeServerConnectionConfig hsConfig) { + super(hsConfig, LoginApi.class, "", false); + } + + /** + * Get Versions supported by the server and other server capabilities + * + * @param callback the callback + */ + public void getVersions(final ApiCallback callback) { + final String description = "getVersions"; + + mApi.versions() + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, null)); + } + + /** + * Retrieve the login supported flows. + * It should be done to check before displaying a default login form. + * + * @param callback the callback success and failure callback + */ + public void getSupportedLoginFlows(final ApiCallback> callback) { + final String description = "geLoginSupportedFlows"; + + mApi.login() + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getSupportedLoginFlows(callback); + } + }) { + @Override + public void success(LoginFlowResponse loginFlowResponse, Response response) { + onEventSent(); + callback.onSuccess(loginFlowResponse.flows); + } + }); + } + + /** + * Request an account creation + * + * @param params the registration parameters + * @param callback the callback + */ + public void register(final RegistrationParams params, final ApiCallback callback) { + final String description = "register"; + + // define a default device name only there is a password + if (!TextUtils.isEmpty(params.password) && TextUtils.isEmpty(params.initial_device_display_name)) { + params.initial_device_display_name = Build.MODEL.trim(); + + // Temporary flag to notify the server that we support msisdn flow. Used to prevent old app + // versions to end up in fallback because the HS returns the msisdn flow which they don't support + // Only send it if we send any params at all (the password param is + // mandatory, so if we send any params, we'll send the password param) + params.x_show_msisdn = true; + } else if (params.password == null && params.username == null && params.auth == null) { + // Happens when we call the method to get flows, also add flag in that case + params.x_show_msisdn = true; + } + + mApi.register(params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + register(params, callback); + } + }) { + + @Override + public void success(JsonObject jsonObject, Response response) { + onEventSent(); + mCredentials = gson.fromJson(jsonObject, Credentials.class); + callback.onSuccess(mCredentials); + } + }); + } + + /** + * Attempt to login with username/password + * + * @param user the username + * @param password the password + * @param callback the callback success and failure callback + */ + public void loginWithUser(final String user, final String password, final ApiCallback callback) { + loginWithUser(user, password, null, null, callback); + } + + /** + * Attempt to login with username/password + * + * @param user the username + * @param password the password + * @param deviceName the device name + * @param deviceId the device id, used for e2e encryption + * @param callback the callback success and failure callback + */ + public void loginWithUser(final String user, + final String password, + final String deviceName, + @Nullable final String deviceId, + final ApiCallback callback) { + final String description = "loginWithUser : " + user; + + PasswordLoginParams params = new PasswordLoginParams(); + params.setUserIdentifier(user, password); + params.setDeviceName(deviceName); + params.setDeviceId(deviceId); + + login(params, callback, description); + } + + /** + * Attempt to login with 3pid/password + * + * @param medium the medium of the 3pid + * @param address the address of the 3pid + * @param password the password + * @param callback the callback success and failure callback + */ + public void loginWith3Pid(final String medium, final String address, final String password, final ApiCallback callback) { + loginWith3Pid(medium, address, password, null, null, callback); + } + + /** + * Attempt to login with 3pid/password + * + * @param medium the medium of the 3pid + * @param address the address of the 3pid + * @param password the password + * @param deviceName the device name + * @param deviceId the device id, used for e2e encryption + * @param callback the callback success and failure callback + */ + public void loginWith3Pid(final String medium, + final String address, + final String password, + final String deviceName, + @Nullable final String deviceId, + final ApiCallback callback) { + final String description = "loginWith3pid : " + address; + + PasswordLoginParams params = new PasswordLoginParams(); + params.setThirdPartyIdentifier(medium, address, password); + params.setDeviceName(deviceName); + params.setDeviceId(deviceId); + + login(params, callback, description); + } + + /** + * Attempt to login with phone number/password + * + * @param phoneNumber the phone number + * @param countryCode the ISO country code + * @param password the password + * @param callback the callback success and failure callback + */ + public void loginWithPhoneNumber(final String phoneNumber, final String countryCode, final String password, final ApiCallback callback) { + loginWithPhoneNumber(phoneNumber, countryCode, password, null, null, callback); + } + + /** + * Attempt to login with phone number/password + * + * @param phoneNumber the phone number + * @param countryCode the ISO country code + * @param password the password + * @param deviceName the device name + * @param deviceId the device id, used for e2e encryption + * @param callback the callback success and failure callback + */ + public void loginWithPhoneNumber(final String phoneNumber, + final String countryCode, + final String password, + final String deviceName, + @Nullable final String deviceId, + final ApiCallback callback) { + final String description = "loginWithPhoneNumber : " + phoneNumber; + + PasswordLoginParams params = new PasswordLoginParams(); + params.setPhoneIdentifier(phoneNumber, countryCode, password); + params.setDeviceName(deviceName); + params.setDeviceId(deviceId); + + login(params, callback, description); + } + + /** + * Make a login request. + * + * @param params custom login params + * @param callback the asynchronous callback + */ + public void login(LoginParams params, final ApiCallback callback) { + login(params, callback, "login with a " + params.getClass().getSimpleName() + " object"); + } + + /** + * Make login request + * + * @param params login params + * @param callback the asynchronous callback + * @param description the request description + */ + private void login(final LoginParams params, final ApiCallback callback, final String description) { + mApi.login(params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + login(params, callback, description); + } + }) { + @Override + public void success(JsonObject jsonObject, Response response) { + onEventSent(); + mCredentials = gson.fromJson(jsonObject, Credentials.class); + callback.onSuccess(mCredentials); + } + }); + } + + /** + * Attempt a user/token log in. + * + * @param user the user name + * @param token the token + * @param deviceName the device name + * @param callback the callback success and failure callback + */ + public void loginWithToken(final String user, final String token, final String deviceName, final ApiCallback callback) { + loginWithToken(user, token, UUID.randomUUID().toString(), deviceName, callback); + } + + /** + * Attempt a user/token log in. + * + * @param user the user name + * @param token the token + * @param txn_id the client transaction id to include in the request + * @param deviceName the device name + * @param callback the callback success and failure callback + */ + public void loginWithToken(final String user, final String token, final String txn_id, String deviceName, final ApiCallback callback) { + // privacy + //final String description = "loginWithPassword user : " + user; + final String description = "loginWithPassword user"; + + TokenLoginParams params = new TokenLoginParams(); + params.user = user; + params.token = token; + params.txn_id = txn_id; + + if ((null != deviceName) && !TextUtils.isEmpty(deviceName.trim())) { + params.initial_device_display_name = deviceName.trim(); + } else { + params.initial_device_display_name = Build.MODEL.trim(); + } + + mApi.login(params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + loginWithToken(user, token, txn_id, callback); + } + }) { + @Override + public void success(JsonObject jsonObject, Response response) { + onEventSent(); + mCredentials = gson.fromJson(jsonObject, Credentials.class); + callback.onSuccess(mCredentials); + } + }); + } + + /** + * Invalidate the access token, so that it can no longer be used for authorization. + * + * @param callback the callback success and failure callback + */ + public void logout(final ApiCallback callback) { + // privacy + final String description = "logout user"; + + mApi.logout() + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + logout(callback); + } + })); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/MXRestExecutorService.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/MXRestExecutorService.java new file mode 100644 index 00000000..fd9692b1 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/MXRestExecutorService.java @@ -0,0 +1,76 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.client; + +import android.os.HandlerThread; +import android.support.annotation.NonNull; + +import im.vector.matrix.android.internal.legacy.util.MXOsHandler; + +import java.util.Collections; +import java.util.List; +import java.util.concurrent.AbstractExecutorService; +import java.util.concurrent.TimeUnit; + +/** + * MXRestExecutor is a basic thread executor + */ +public class MXRestExecutorService extends AbstractExecutorService { + private HandlerThread mHandlerThread; + private MXOsHandler mHandler; + + public MXRestExecutorService() { + mHandlerThread = new HandlerThread("MXRestExecutor" + hashCode(), Thread.MIN_PRIORITY); + mHandlerThread.start(); + mHandler = new MXOsHandler(mHandlerThread.getLooper()); + } + + @Override + public void execute(final Runnable r) { + mHandler.post(r); + } + + /** + * Stop any running thread + */ + public void stop() { + if (null != mHandlerThread) { + mHandlerThread.quit(); + } + } + + @Override public void shutdown() { + + } + + @NonNull @Override public List shutdownNow() { + return Collections.emptyList(); + } + + @Override public boolean isShutdown() { + return false; + } + + @Override public boolean isTerminated() { + return false; + } + + @Override + public boolean awaitTermination(long timeout, @NonNull TimeUnit unit) throws InterruptedException { + return false; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/MediaScanRestClient.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/MediaScanRestClient.java new file mode 100644 index 00000000..34a20f10 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/MediaScanRestClient.java @@ -0,0 +1,175 @@ +/* + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.client; + +import android.support.annotation.Nullable; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.data.store.IMXStore; +import im.vector.matrix.android.internal.legacy.rest.api.MediaScanApi; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.DefaultRetrofit2CallbackWrapper; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.EncryptedMediaScanBody; +import im.vector.matrix.android.internal.legacy.rest.model.EncryptedMediaScanEncryptedBody; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.MediaScanPublicKeyResult; +import im.vector.matrix.android.internal.legacy.rest.model.MediaScanResult; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.EncryptedBodyFileInfo; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import org.matrix.olm.OlmException; +import org.matrix.olm.OlmPkEncryption; +import org.matrix.olm.OlmPkMessage; + +import retrofit2.Call; + +/** + * Class used to make requests to the anti-virus scanner API. + */ +public class MediaScanRestClient extends RestClient { + + @Nullable + private IMXStore mMxStore; + + /** + * {@inheritDoc} + */ + public MediaScanRestClient(HomeServerConnectionConfig hsConfig) { + super(hsConfig, MediaScanApi.class, RestClient.URI_API_PREFIX_PATH_MEDIA_PROXY_UNSTABLE, false, EndPointServer.ANTIVIRUS_SERVER); + } + + /** + * Set MxStore instance + * + * @param mxStore + */ + public void setMxStore(IMXStore mxStore) { + mMxStore = mxStore; + } + + /** + * Get the current public curve25519 key that the AV server is advertising. + * Read the value from cache if any + * + * @param callback on success callback containing the server public key + */ + public void getServerPublicKey(final ApiCallback callback) { + if (mMxStore == null) { + callback.onUnexpectedError(new Exception("MxStore not configured")); + return; + } + + // Check in cache + String keyFromCache = mMxStore.getAntivirusServerPublicKey(); + if (keyFromCache != null) { + callback.onSuccess(keyFromCache); + } else { + mApi.getServerPublicKey().enqueue(new DefaultRetrofit2CallbackWrapper<>(new SimpleApiCallback(callback) { + @Override + public void onSuccess(MediaScanPublicKeyResult info) { + // Store the key in cache for next times + mMxStore.setAntivirusServerPublicKey(info.mCurve25519PublicKey); + + // Note: for some reason info.mCurve25519PublicKey may be null + if (info.mCurve25519PublicKey != null) { + callback.onSuccess(info.mCurve25519PublicKey); + } else { + callback.onUnexpectedError(new Exception("Unable to get server public key from Json")); + } + } + + @Override + public void onMatrixError(MatrixError e) { + // Old Antivirus scanner instance will return a 404 + if (e.mStatus == 404) { + // On 404 consider the public key is not available, so do not encrypt body + mMxStore.setAntivirusServerPublicKey(""); + + callback.onSuccess(""); + } else { + super.onMatrixError(e); + } + } + })); + } + } + + /** + * Reset Antivirus server public key on cache + */ + public void resetServerPublicKey() { + if (mMxStore != null) { + mMxStore.setAntivirusServerPublicKey(null); + } + } + + /** + * Scan an unencrypted file. + * + * @param domain the server name extracted from the matrix content uri + * @param mediaId the media id extracted from the matrix content uri + * @param callback on success callback containing a MediaScanResult object + */ + public void scanUnencryptedFile(final String domain, final String mediaId, final ApiCallback callback) { + mApi.scanUnencrypted(domain, mediaId).enqueue(new DefaultRetrofit2CallbackWrapper<>(callback)); + } + + /** + * Scan an encrypted file. + * + * @param encryptedMediaScanBody the encryption information required to decrypt the content before scanning it. + * @param callback on success callback containing a MediaScanResult object + */ + public void scanEncryptedFile(final EncryptedMediaScanBody encryptedMediaScanBody, final ApiCallback callback) { + // Encrypt encryptedMediaScanBody if the server support it + getServerPublicKey(new SimpleApiCallback(callback) { + @Override + public void onSuccess(String serverPublicKey) { + Call request; + + // Encrypt the data, if antivirus server supports it + if (!TextUtils.isEmpty(serverPublicKey)) { + try { + OlmPkEncryption olmPkEncryption = new OlmPkEncryption(); + olmPkEncryption.setRecipientKey(serverPublicKey); + + String data = JsonUtils.getCanonicalizedJsonString(encryptedMediaScanBody); + + OlmPkMessage message = olmPkEncryption.encrypt(data); + + EncryptedMediaScanEncryptedBody encryptedMediaScanEncryptedBody = new EncryptedMediaScanEncryptedBody(); + encryptedMediaScanEncryptedBody.encryptedBodyFileInfo = new EncryptedBodyFileInfo(message); + + request = mApi.scanEncrypted(encryptedMediaScanEncryptedBody); + } catch (OlmException e) { + // should not happen. Send the error to the caller + request = null; + callback.onUnexpectedError(e); + } + } else { + // No public key on this server, do not encrypt data + request = mApi.scanEncrypted(encryptedMediaScanBody); + } + + if (request != null) { + request.enqueue(new DefaultRetrofit2CallbackWrapper<>(callback)); + } + } + }); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/PresenceRestClient.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/PresenceRestClient.java new file mode 100644 index 00000000..73a90e84 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/PresenceRestClient.java @@ -0,0 +1,55 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.client; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.rest.api.PresenceApi; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.RestAdapterCallback; +import im.vector.matrix.android.internal.legacy.rest.model.User; + +/** + * Class used to make requests to the presence API. + */ +public class PresenceRestClient extends RestClient { + + /** + * {@inheritDoc} + */ + public PresenceRestClient(HomeServerConnectionConfig hsConfig) { + super(hsConfig, PresenceApi.class, RestClient.URI_API_PREFIX_PATH_R0, false); + } + + /** + * Get a user's presence state. + * + * @param userId the user id + * @param callback on success callback containing a User object with populated presence and statusMsg fields + */ + public void getPresence(final String userId, final ApiCallback callback) { + final String description = "getPresence userId : " + userId; + + mApi.presenceStatus(userId) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getPresence(userId, callback); + } + })); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/ProfileRestClient.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/ProfileRestClient.java new file mode 100644 index 00000000..11a45617 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/ProfileRestClient.java @@ -0,0 +1,495 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.client; + +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.rest.api.ProfileApi; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.RestAdapterCallback; +import im.vector.matrix.android.internal.legacy.rest.model.AuthParams; +import im.vector.matrix.android.internal.legacy.rest.model.ChangePasswordParams; +import im.vector.matrix.android.internal.legacy.rest.model.DeactivateAccountParams; +import im.vector.matrix.android.internal.legacy.rest.model.ForgetPasswordParams; +import im.vector.matrix.android.internal.legacy.rest.model.ForgetPasswordResponse; +import im.vector.matrix.android.internal.legacy.rest.model.RequestEmailValidationParams; +import im.vector.matrix.android.internal.legacy.rest.model.RequestEmailValidationResponse; +import im.vector.matrix.android.internal.legacy.rest.model.RequestPhoneNumberValidationParams; +import im.vector.matrix.android.internal.legacy.rest.model.RequestPhoneNumberValidationResponse; +import im.vector.matrix.android.internal.legacy.rest.model.ThreePidCreds; +import im.vector.matrix.android.internal.legacy.rest.model.User; +import im.vector.matrix.android.internal.legacy.rest.model.login.Credentials; +import im.vector.matrix.android.internal.legacy.rest.model.login.TokenRefreshParams; +import im.vector.matrix.android.internal.legacy.rest.model.login.TokenRefreshResponse; +import im.vector.matrix.android.internal.legacy.rest.model.pid.AccountThreePidsResponse; +import im.vector.matrix.android.internal.legacy.rest.model.pid.AddThreePidsParams; +import im.vector.matrix.android.internal.legacy.rest.model.pid.DeleteThreePidParams; +import im.vector.matrix.android.internal.legacy.rest.model.pid.ThirdPartyIdentifier; +import im.vector.matrix.android.internal.legacy.rest.model.pid.ThreePid; + +import java.util.List; +import java.util.Map; + +import retrofit2.Response; + +/** + * Class used to make requests to the profile API. + */ +public class ProfileRestClient extends RestClient { + private static final String LOG_TAG = ProfileRestClient.class.getSimpleName(); + + /** + * {@inheritDoc} + */ + public ProfileRestClient(HomeServerConnectionConfig hsConfig) { + super(hsConfig, ProfileApi.class, "", false); + } + + /** + * Get the user's display name. + * + * @param userId the user id + * @param callback the callback to return the name on success + */ + public void displayname(final String userId, final ApiCallback callback) { + final String description = "display name userId : " + userId; + + mApi.displayname(userId) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + displayname(userId, callback); + } + }) { + @Override + public void success(User user, Response response) { + onEventSent(); + callback.onSuccess(user.displayname); + } + }); + } + + /** + * Update this user's own display name. + * + * @param newName the new name + * @param callback the callback if the call succeeds + */ + public void updateDisplayname(final String newName, final ApiCallback callback) { + // privacy + //final String description = "updateDisplayname newName : " + newName; + final String description = "update display name"; + + // TODO Do not create a User for this + User user = new User(); + user.displayname = newName; + + // don't retry if the network comes back + // let the user chooses what he want to do + mApi.displayname(mCredentials.userId, user) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + updateDisplayname(newName, callback); + } + })); + } + + /** + * Get the user's avatar URL. + * + * @param userId the user id + * @param callback the callback to return the URL on success + */ + public void avatarUrl(final String userId, final ApiCallback callback) { + final String description = "avatarUrl userId : " + userId; + + mApi.avatarUrl(userId) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + avatarUrl(userId, callback); + } + }) { + @Override + public void success(User user, Response response) { + onEventSent(); + callback.onSuccess(user.getAvatarUrl()); + } + }); + } + + /** + * Update this user's own avatar URL. + * + * @param newUrl the new name + * @param callback the callback if the call succeeds + */ + public void updateAvatarUrl(final String newUrl, final ApiCallback callback) { + // privacy + //final String description = "updateAvatarUrl newUrl : " + newUrl; + final String description = "updateAvatarUrl"; + + // TODO Do not create a User for this + User user = new User(); + user.setAvatarUrl(newUrl); + + mApi.avatarUrl(mCredentials.userId, user) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + updateAvatarUrl(newUrl, callback); + } + })); + } + + /** + * Update the password + * + * @param userId the user id + * @param oldPassword the former password + * @param newPassword the new password + * @param callback the callback + */ + public void updatePassword(final String userId, final String oldPassword, final String newPassword, final ApiCallback callback) { + // privacy + //final String description = "update password : " + userId + " oldPassword " + oldPassword + " newPassword " + newPassword; + final String description = "update password"; + + ChangePasswordParams passwordParams = new ChangePasswordParams(); + + passwordParams.auth = new AuthParams(); + passwordParams.auth.type = LoginRestClient.LOGIN_FLOW_TYPE_PASSWORD; + passwordParams.auth.user = userId; + passwordParams.auth.password = oldPassword; + passwordParams.new_password = newPassword; + + mApi.updatePassword(passwordParams) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + updatePassword(userId, oldPassword, newPassword, callback); + } + } + )); + } + + /** + * Reset the password to a new one. + * + * @param newPassword the new password + * @param threepid_creds the three pids. + * @param callback the callback + */ + public void resetPassword(final String newPassword, final Map threepid_creds, final ApiCallback callback) { + // privacy + //final String description = "Reset password : " + threepid_creds + " newPassword " + newPassword; + final String description = "Reset password"; + + ChangePasswordParams passwordParams = new ChangePasswordParams(); + + passwordParams.auth = new AuthParams(); + passwordParams.auth.type = "m.login.email.identity"; + passwordParams.auth.threepid_creds = threepid_creds; + passwordParams.new_password = newPassword; + + mApi.updatePassword(passwordParams) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + resetPassword(newPassword, threepid_creds, callback); + } + })); + } + + /** + * Reset the password server side. + * + * @param email the email to send the password reset. + * @param callback the callback + */ + public void forgetPassword(final String email, final ApiCallback callback) { + final String description = "forget password"; + + if (!TextUtils.isEmpty(email)) { + final ThreePid pid = new ThreePid(email, ThreePid.MEDIUM_EMAIL); + + final ForgetPasswordParams forgetPasswordParams = new ForgetPasswordParams(); + forgetPasswordParams.email = email; + forgetPasswordParams.client_secret = pid.clientSecret; + forgetPasswordParams.send_attempt = 1; + forgetPasswordParams.id_server = mHsConfig.getIdentityServerUri().getHost(); + + mApi.forgetPassword(forgetPasswordParams) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + forgetPassword(email, callback); + } + }) { + @Override + public void success(ForgetPasswordResponse forgetPasswordResponse, Response response) { + onEventSent(); + + pid.sid = forgetPasswordResponse.sid; + callback.onSuccess(pid); + } + }); + } + } + + /** + * Deactivate account + * + * @param type type of authentication + * @param userId current user id + * @param userPassword current password + * @param eraseUserData true to also erase all the user data + * @param callback the callback + */ + public void deactivateAccount(final String type, + final String userId, + final String userPassword, + final boolean eraseUserData, + final ApiCallback callback) { + final String description = "deactivate account"; + + final DeactivateAccountParams params = new DeactivateAccountParams(); + params.auth = new AuthParams(); + params.auth.type = type; + params.auth.user = userId; + params.auth.password = userPassword; + + params.erase = eraseUserData; + + mApi.deactivate(params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + deactivateAccount(type, userId, userPassword, eraseUserData, callback); + } + })); + } + + /** + * Refresh access/refresh tokens, using the current refresh token. + * + * @param callback the callback success and failure callback + */ + public void refreshTokens(final ApiCallback callback) { + final String description = "refreshTokens"; + + TokenRefreshParams params = new TokenRefreshParams(); + params.refresh_token = mCredentials.refreshToken; + + mApi.tokenrefresh(params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, null) { + @Override + public void success(TokenRefreshResponse tokenreponse, Response response) { + onEventSent(); + mCredentials.refreshToken = tokenreponse.refresh_token; + mCredentials.accessToken = tokenreponse.access_token; + if (null != callback) { + callback.onSuccess(mCredentials); + } + } + }); + } + + /** + * List all 3PIDs linked to the Matrix user account. + * + * @param callback the asynchronous callback called with the response + */ + public void threePIDs(final ApiCallback> callback) { + final String description = "threePIDs"; + + mApi.threePIDs() + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, null) { + @Override + public void success(AccountThreePidsResponse accountThreePidsResponse, Response response) { + onEventSent(); + if (null != callback) { + callback.onSuccess(accountThreePidsResponse.threepids); + } + + } + }); + } + + /** + * Request an email validation token. + * + * @param address the email address + * @param clientSecret the client secret number + * @param attempt the attempt count + * @param nextLink the next link + * @param isDuringRegistration true if it occurs during a registration flow + * @param callback the callback + */ + public void requestEmailValidationToken(final String address, final String clientSecret, final int attempt, + final String nextLink, final boolean isDuringRegistration, + final ApiCallback callback) { + final String description = "requestEmailValidationToken"; + + RequestEmailValidationParams params = new RequestEmailValidationParams(); + params.email = address; + params.clientSecret = clientSecret; + params.sendAttempt = attempt; + params.id_server = mHsConfig.getIdentityServerUri().getHost(); + if (!TextUtils.isEmpty(nextLink)) { + params.next_link = nextLink; + } + + final RestAdapterCallback adapterCallback + = new RestAdapterCallback(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + requestEmailValidationToken(address, clientSecret, attempt, nextLink, isDuringRegistration, callback); + } + } + ) { + @Override + public void success(RequestEmailValidationResponse requestEmailValidationResponse, Response response) { + onEventSent(); + requestEmailValidationResponse.email = address; + requestEmailValidationResponse.clientSecret = clientSecret; + requestEmailValidationResponse.sendAttempt = attempt; + + callback.onSuccess(requestEmailValidationResponse); + } + }; + + if (isDuringRegistration) { + // URL differs in that case + mApi.requestEmailValidationForRegistration(params).enqueue(adapterCallback); + } else { + mApi.requestEmailValidation(params).enqueue(adapterCallback); + } + } + + /** + * Request a phone number validation token. + * + * @param phoneNumber the phone number + * @param countryCode the country code of the phone number + * @param clientSecret the client secret number + * @param attempt the attempt count + * @param isDuringRegistration true if it occurs during a registration flow + * @param callback the callback + */ + public void requestPhoneNumberValidationToken(final String phoneNumber, final String countryCode, + final String clientSecret, final int attempt, + final boolean isDuringRegistration, final ApiCallback callback) { + final String description = "requestPhoneNumberValidationToken"; + + RequestPhoneNumberValidationParams params = new RequestPhoneNumberValidationParams(); + params.phone_number = phoneNumber; + params.country = countryCode; + params.clientSecret = clientSecret; + params.sendAttempt = attempt; + params.id_server = mHsConfig.getIdentityServerUri().getHost(); + + final RestAdapterCallback adapterCallback + = new RestAdapterCallback(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + requestPhoneNumberValidationToken(phoneNumber, countryCode, clientSecret, attempt, isDuringRegistration, callback); + } + } + ) { + @Override + public void success(RequestPhoneNumberValidationResponse requestPhoneNumberValidationResponse, Response response) { + onEventSent(); + requestPhoneNumberValidationResponse.clientSecret = clientSecret; + requestPhoneNumberValidationResponse.sendAttempt = attempt; + + callback.onSuccess(requestPhoneNumberValidationResponse); + } + }; + + if (isDuringRegistration) { + // URL differs in that case + mApi.requestPhoneNumberValidationForRegistration(params).enqueue(adapterCallback); + } else { + mApi.requestPhoneNumberValidation(params).enqueue(adapterCallback); + } + } + + /** + * Add an 3Pids to an user + * + * @param pid the 3Pid to add + * @param bind bind the email + * @param callback the asynchronous callback called with the response + */ + public void add3PID(final ThreePid pid, final boolean bind, final ApiCallback callback) { + final String description = "add3PID"; + + AddThreePidsParams params = new AddThreePidsParams(); + params.three_pid_creds = new ThreePidCreds(); + + String identityServerHost = mHsConfig.getIdentityServerUri().toString(); + if (identityServerHost.startsWith("http://")) { + identityServerHost = identityServerHost.substring("http://".length()); + } else if (identityServerHost.startsWith("https://")) { + identityServerHost = identityServerHost.substring("https://".length()); + } + + params.three_pid_creds.id_server = identityServerHost; + params.three_pid_creds.sid = pid.sid; + params.three_pid_creds.client_secret = pid.clientSecret; + + params.bind = bind; + + mApi.add3PID(params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + add3PID(pid, bind, callback); + } + })); + } + + /** + * Delete a 3pid of the user + * + * @param pid the 3Pid to delete + * @param callback the asynchronous callback called with the response + */ + public void delete3PID(final ThirdPartyIdentifier pid, final ApiCallback callback) { + final String description = "delete3PID"; + + final DeleteThreePidParams params = new DeleteThreePidParams(); + params.medium = pid.medium; + params.address = pid.address; + + mApi.delete3PID(params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + delete3PID(pid, callback); + } + }) + ); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/PushRulesRestClient.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/PushRulesRestClient.java new file mode 100644 index 00000000..022a0932 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/PushRulesRestClient.java @@ -0,0 +1,89 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.client; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.rest.api.PushRulesApi; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.DefaultRetrofit2CallbackWrapper; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.BingRule; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.PushRulesResponse; + +public class PushRulesRestClient extends RestClient { + + /** + * {@inheritDoc} + */ + public PushRulesRestClient(HomeServerConnectionConfig hsConfig) { + super(hsConfig, PushRulesApi.class, RestClient.URI_API_PREFIX_PATH_R0, false); + } + + /** + * Retrieve the push rules list. + * + * @param callback the asynchronous callback. + */ + public void getAllRules(final ApiCallback callback) { + mApi.getAllRules().enqueue(new DefaultRetrofit2CallbackWrapper<>(callback)); + } + + /** + * Update the rule enable status. + * + * @param Kind the rule kind + * @param ruleId the rule id + * @param status the rule state + * @param callback the asynchronous callback. + */ + public void updateEnableRuleStatus(String Kind, String ruleId, boolean status, final ApiCallback callback) { + mApi.updateEnableRuleStatus(Kind, ruleId, status).enqueue(new DefaultRetrofit2CallbackWrapper<>(callback)); + } + + /** + * Update the rule actions lists. + * + * @param Kind the rule kind + * @param ruleId the rule id + * @param actions the rule actions list + * @param callback the asynchronous callback + */ + public void updateRuleActions(String Kind, String ruleId, Object actions, final ApiCallback callback) { + mApi.updateRuleActions(Kind, ruleId, actions).enqueue(new DefaultRetrofit2CallbackWrapper<>(callback)); + } + + /** + * Delete a rule. + * + * @param Kind the rule kind + * @param ruleId the rule id + * @param callback the asynchronous callback + */ + public void deleteRule(String Kind, String ruleId, final ApiCallback callback) { + mApi.deleteRule(Kind, ruleId).enqueue(new DefaultRetrofit2CallbackWrapper<>(callback)); + } + + /** + * Add a rule. + * + * @param rule the rule + * @param callback the asynchronous callback + */ + public void addRule(BingRule rule, final ApiCallback callback) { + mApi.addRule(rule.kind, rule.ruleId, rule.toJsonElement()).enqueue(new DefaultRetrofit2CallbackWrapper<>(callback)); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/PushersRestClient.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/PushersRestClient.java new file mode 100644 index 00000000..2bddac1c --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/PushersRestClient.java @@ -0,0 +1,166 @@ +/* + * Copyright 2015 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.client; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.data.Pusher; +import im.vector.matrix.android.internal.legacy.rest.api.PushersApi; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.RestAdapterCallback; +import im.vector.matrix.android.internal.legacy.rest.model.PushersResponse; + +import java.util.HashMap; + +/** + * REST client for the Pushers API. + */ +public class PushersRestClient extends RestClient { + private static final String LOG_TAG = PushersRestClient.class.getSimpleName(); + + private static final String PUSHER_KIND_HTTP = "http"; + private static final String DATA_KEY_HTTP_URL = "url"; + + public PushersRestClient(HomeServerConnectionConfig hsConfig) { + super(hsConfig, PushersApi.class, RestClient.URI_API_PREFIX_PATH_R0, true); + } + + /** + * Add a new HTTP pusher. + * + * @param pushkey the pushkey + * @param appId the application id + * @param profileTag the profile tag + * @param lang the language + * @param appDisplayName a human-readable application name + * @param deviceDisplayName a human-readable device name + * @param url the URL that should be used to send notifications + * @param append append the pusher + * @param withEventIdOnly true to limit the push content + * @param callback the asynchronous callback + */ + public void addHttpPusher(final String pushkey, + final String appId, + final String profileTag, + final String lang, + final String appDisplayName, + final String deviceDisplayName, + final String url, + boolean append, + boolean withEventIdOnly, + final ApiCallback callback) { + manageHttpPusher(pushkey, appId, profileTag, lang, appDisplayName, deviceDisplayName, url, append, withEventIdOnly, true, callback); + } + + /** + * remove a new HTTP pusher. + * + * @param pushkey the pushkey + * @param appId the application id + * @param profileTag the profile tag + * @param lang the language + * @param appDisplayName a human-readable application name + * @param deviceDisplayName a human-readable device name + * @param url the URL that should be used to send notifications + * @param callback the asynchronous callback + */ + public void removeHttpPusher(final String pushkey, + final String appId, + final String profileTag, + final String lang, + final String appDisplayName, + final String deviceDisplayName, + final String url, + final ApiCallback callback) { + manageHttpPusher(pushkey, appId, profileTag, lang, appDisplayName, deviceDisplayName, url, false, false, false, callback); + } + + + /** + * add/remove a new HTTP pusher. + * + * @param pushkey the pushkey + * @param appId the application id + * @param profileTag the profile tag + * @param lang the language + * @param appDisplayName a human-readable application name + * @param deviceDisplayName a human-readable device name + * @param url the URL that should be used to send notifications + * @param withEventIdOnly true to limit the push content + * @param addPusher true to add the pusher / false to remove it + * @param callback the asynchronous callback + */ + private void manageHttpPusher(final String pushkey, + final String appId, + final String profileTag, + final String lang, + final String appDisplayName, + final String deviceDisplayName, + final String url, + final boolean append, + final boolean withEventIdOnly, + final boolean addPusher, + final ApiCallback callback) { + Pusher pusher = new Pusher(); + pusher.pushkey = pushkey; + pusher.appId = appId; + pusher.profileTag = profileTag; + pusher.lang = lang; + pusher.kind = addPusher ? PUSHER_KIND_HTTP : null; + pusher.appDisplayName = appDisplayName; + pusher.deviceDisplayName = deviceDisplayName; + pusher.data = new HashMap<>(); + pusher.data.put(DATA_KEY_HTTP_URL, url); + + if (addPusher) { + pusher.append = append; + } + + if (withEventIdOnly) { + pusher.data.put("format", "event_id_only"); + } + + final String description = "manageHttpPusher"; + + mApi.set(pusher) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + manageHttpPusher(pushkey, appId, profileTag, lang, appDisplayName, deviceDisplayName, + url, append, withEventIdOnly, addPusher, callback); + } + })); + } + + /** + * Retrieve the pushers list + * + * @param callback the callback + */ + public void getPushers(final ApiCallback callback) { + final String description = "getPushers"; + + mApi.get() + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getPushers(callback); + } + })); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/RoomsRestClient.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/RoomsRestClient.java new file mode 100644 index 00000000..8f0caeb2 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/RoomsRestClient.java @@ -0,0 +1,1023 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.client; + +import android.support.annotation.Nullable; +import android.text.TextUtils; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.data.timeline.EventTimeline; +import im.vector.matrix.android.internal.legacy.rest.api.RoomsApi; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.RestAdapterCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.model.BannedUser; +import im.vector.matrix.android.internal.legacy.rest.model.ChunkEvents; +import im.vector.matrix.android.internal.legacy.rest.model.CreateRoomParams; +import im.vector.matrix.android.internal.legacy.rest.model.CreateRoomResponse; +import im.vector.matrix.android.internal.legacy.rest.model.CreatedEvent; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.EventContext; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.PowerLevels; +import im.vector.matrix.android.internal.legacy.rest.model.ReportContentParams; +import im.vector.matrix.android.internal.legacy.rest.model.RoomAliasDescription; +import im.vector.matrix.android.internal.legacy.rest.model.RoomDirectoryVisibility; +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; +import im.vector.matrix.android.internal.legacy.rest.model.TokensChunkEvents; +import im.vector.matrix.android.internal.legacy.rest.model.Typing; +import im.vector.matrix.android.internal.legacy.rest.model.User; +import im.vector.matrix.android.internal.legacy.rest.model.filter.RoomEventFilter; +import im.vector.matrix.android.internal.legacy.rest.model.message.Message; +import im.vector.matrix.android.internal.legacy.rest.model.sync.RoomResponse; + +import java.util.HashMap; +import java.util.Map; + +/** + * Class used to make requests to the rooms API. + */ +public class RoomsRestClient extends RestClient { + private static final String LOG_TAG = RoomsRestClient.class.getSimpleName(); + + public static final int DEFAULT_MESSAGES_PAGINATION_LIMIT = 30; + + // read marker field names + private static final String READ_MARKER_FULLY_READ = "m.fully_read"; + private static final String READ_MARKER_READ = "m.read"; + + /** + * {@inheritDoc} + */ + public RoomsRestClient(HomeServerConnectionConfig hsConfig) { + super(hsConfig, RoomsApi.class, RestClient.URI_API_PREFIX_PATH_R0, false); + } + + /** + * Send a message to room + * + * @param transactionId the unique transaction id (it should avoid duplicated messages) + * @param roomId the room id + * @param message the message + * @param callback the callback containing the created event if successful + */ + public void sendMessage(final String transactionId, final String roomId, final Message message, final ApiCallback callback) { + // privacy + // final String description = "SendMessage : roomId " + roomId + " - message " + message.body; + final String description = "SendMessage : roomId " + roomId; + + // the messages have their dedicated method in MXSession to be resent if there is no available network + mApi.sendMessage(transactionId, roomId, message) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + sendMessage(transactionId, roomId, message, callback); + } + })); + } + + /** + * Send an event to a room. + * + * @param transactionId the unique transaction id (it should avoid duplicated messages) + * @param roomId the room id + * @param eventType the type of event + * @param content the event content + * @param callback the callback containing the created event if successful + */ + public void sendEventToRoom(final String transactionId, + final String roomId, + final String eventType, + final JsonObject content, + final ApiCallback callback) { + // privacy + //final String description = "sendEvent : roomId " + roomId + " - eventType " + eventType + " content " + content; + final String description = "sendEvent : roomId " + roomId + " - eventType " + eventType; + + // do not retry the call invite + // it might trigger weird behaviour on flaggy networks + if (!TextUtils.equals(eventType, Event.EVENT_TYPE_CALL_INVITE)) { + mApi.send(transactionId, roomId, eventType, content) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + sendEventToRoom(transactionId, roomId, eventType, content, callback); + } + })); + } else { + mApi.send(transactionId, roomId, eventType, content) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, null)); + } + } + + /** + * Get a limited amount of messages, for the given room starting from the given token. + * The amount of message is set to {@link #DEFAULT_MESSAGES_PAGINATION_LIMIT}. + * + * @param roomId the room id + * @param fromToken the token identifying the message to start from Required. + * @param direction the direction. Required. + * @param limit the maximum number of messages to retrieve. + * @param roomEventFilter A RoomEventFilter to filter returned events with. Optional. + * @param callback the callback called with the response. Messages will be returned in reverse order. + */ + public void getRoomMessagesFrom(final String roomId, + final String fromToken, + final EventTimeline.Direction direction, + final int limit, + @Nullable final RoomEventFilter roomEventFilter, + final ApiCallback callback) { + final String description = "messagesFrom : roomId " + roomId + " fromToken " + fromToken + "with direction " + direction + " with limit " + limit; + + mApi.getRoomMessagesFrom(roomId, fromToken, (direction == EventTimeline.Direction.BACKWARDS) ? "b" : "f", limit, toJson(roomEventFilter)) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getRoomMessagesFrom(roomId, fromToken, direction, limit, roomEventFilter, callback); + } + })); + } + + /** + * Invite a user to a room. + * + * @param roomId the room id + * @param userId the user id + * @param callback the async callback + */ + public void inviteUserToRoom(final String roomId, final String userId, final ApiCallback callback) { + final String description = "inviteToRoom : roomId " + roomId + " userId " + userId; + + // TODO Do not create a User for this + User user = new User(); + user.user_id = userId; + + mApi.invite(roomId, user) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + inviteUserToRoom(roomId, userId, callback); + } + })); + } + + /** + * Invite a user by his email address to a room. + * + * @param roomId the room id + * @param email the email + * @param callback the async callback + */ + public void inviteByEmailToRoom(final String roomId, final String email, final ApiCallback callback) { + inviteThreePidToRoom("email", email, roomId, callback); + } + + /** + * Invite an user from a 3Pids. + * + * @param medium the medium + * @param address the address + * @param roomId the room id + * @param callback the async callback + */ + private void inviteThreePidToRoom(final String medium, final String address, final String roomId, final ApiCallback callback) { + // privacy + //final String description = "inviteThreePidToRoom : medium " + medium + " address " + address + " roomId " + roomId; + final String description = "inviteThreePidToRoom : medium " + medium + " roomId " + roomId; + + // This request must not have the protocol part + String identityServer = mHsConfig.getIdentityServerUri().toString(); + + if (identityServer.startsWith("http://")) { + identityServer = identityServer.substring("http://".length()); + } else if (identityServer.startsWith("https://")) { + identityServer = identityServer.substring("https://".length()); + } + + Map parameters = new HashMap<>(); + parameters.put("id_server", identityServer); + parameters.put("medium", medium); + parameters.put("address", address); + + mApi.invite(roomId, parameters) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + inviteThreePidToRoom(medium, address, roomId, callback); + } + })); + } + + /** + * Join a room by its roomAlias or its roomId. + * + * @param roomIdOrAlias the room id or the room alias + * @param callback the async callback + */ + public void joinRoom(final String roomIdOrAlias, final ApiCallback callback) { + joinRoom(roomIdOrAlias, null, callback); + } + + /** + * Join a room by its roomAlias or its roomId with some parameters. + * + * @param roomIdOrAlias the room id or the room alias + * @param params the joining parameters. + * @param callback the async callback + */ + public void joinRoom(final String roomIdOrAlias, final Map params, final ApiCallback callback) { + final String description = "joinRoom : roomId " + roomIdOrAlias; + + mApi.joinRoomByAliasOrId(roomIdOrAlias, (null == params) ? new HashMap() : params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + joinRoom(roomIdOrAlias, params, callback); + } + })); + } + + /** + * Leave a room. + * + * @param roomId the room id + * @param callback the async callback + */ + public void leaveRoom(final String roomId, final ApiCallback callback) { + final String description = "leaveRoom : roomId " + roomId; + + mApi.leave(roomId, new JsonObject()) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + leaveRoom(roomId, callback); + } + })); + } + + /** + * Forget a room. + * + * @param roomId the room id + * @param callback the async callback + */ + public void forgetRoom(final String roomId, final ApiCallback callback) { + final String description = "forgetRoom : roomId " + roomId; + + mApi.forget(roomId, new JsonObject()) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + forgetRoom(roomId, callback); + } + })); + } + + /** + * Kick a user from a room. + * + * @param roomId the room id + * @param userId the user id + * @param callback the async callback + */ + public void kickFromRoom(final String roomId, final String userId, final ApiCallback callback) { + final String description = "kickFromRoom : roomId " + roomId + " userId " + userId; + + // TODO It does not look like this in the Matrix spec + // Kicking is done by posting that the user is now in a "leave" state + RoomMember member = new RoomMember(); + member.membership = RoomMember.MEMBERSHIP_LEAVE; + + mApi.updateRoomMember(roomId, userId, member) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + kickFromRoom(roomId, userId, callback); + } + })); + } + + /** + * Ban a user from a room. + * + * @param roomId the room id + * @param user the banned user object (userId and reason for ban) + * @param callback the async callback + */ + public void banFromRoom(final String roomId, final BannedUser user, final ApiCallback callback) { + final String description = "banFromRoom : roomId " + roomId + " userId " + user.userId; + + mApi.ban(roomId, user) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + banFromRoom(roomId, user, callback); + } + })); + } + + /** + * Unban an user from a room. + * + * @param roomId the room id + * @param user the banned user (userId) + * @param callback the async callback + */ + public void unbanFromRoom(final String roomId, final BannedUser user, final ApiCallback callback) { + final String description = "Unban : roomId " + roomId + " userId " + user.userId; + + mApi.unban(roomId, user) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + unbanFromRoom(roomId, user, callback); + } + })); + } + + /** + * Create a new room. + * + * @param params the room creation parameters + * @param callback the async callback + */ + public void createRoom(final CreateRoomParams params, final ApiCallback callback) { + // privacy + //final String description = "createRoom : name " + name + " topic " + topic; + final String description = "createRoom"; + + mApi.createRoom(params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + createRoom(params, callback); + } + })); + } + + /** + * Perform an initial sync on the room + * + * @param roomId the room id + * @param callback the async callback + */ + public void initialSync(final String roomId, final ApiCallback callback) { + final String description = "initialSync : roomId " + roomId; + + mApi.initialSync(roomId, DEFAULT_MESSAGES_PAGINATION_LIMIT) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + initialSync(roomId, callback); + } + })); + } + + /** + * Retrieve an event from its room id / event id. + * + * @param roomId the room id + * @param eventId the event id + * @param callback the asynchronous callback. + */ + public void getEvent(final String roomId, final String eventId, final ApiCallback callback) { + // try first with roomid / event id + getEventFromRoomIdEventId(roomId, eventId, new SimpleApiCallback(callback) { + @Override + public void onSuccess(Event event) { + callback.onSuccess(event); + } + + @Override + public void onMatrixError(MatrixError e) { + if (TextUtils.equals(e.errcode, MatrixError.UNRECOGNIZED)) { + // Try to retrieve the event using the context API + // It's ok to pass null as a filter here + getContextOfEvent(roomId, eventId, 1, null, new SimpleApiCallback(callback) { + @Override + public void onSuccess(EventContext eventContext) { + callback.onSuccess(eventContext.event); + } + }); + } else { + callback.onMatrixError(e); + } + } + }); + } + + /** + * Retrieve an event from its room id / event id. + * + * @param roomId the room id + * @param eventId the event id + * @param callback the asynchronous callback. + */ + private void getEventFromRoomIdEventId(final String roomId, final String eventId, final ApiCallback callback) { + final String description = "getEventFromRoomIdEventId : roomId " + roomId + " eventId " + eventId; + + mApi.getEvent(roomId, eventId) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getEventFromRoomIdEventId(roomId, eventId, callback); + } + })); + } + + /** + * Get the context surrounding an event. + * + * @param roomId the room id + * @param eventId the event Id + * @param limit the maximum number of messages to retrieve + * @param roomEventFilter A RoomEventFilter to filter returned events with. Optional. + * @param callback the asynchronous callback called with the response + */ + public void getContextOfEvent(final String roomId, + final String eventId, + final int limit, + @Nullable final RoomEventFilter roomEventFilter, + final ApiCallback callback) { + final String description = "getContextOfEvent : roomId " + roomId + " eventId " + eventId + " limit " + limit; + + mApi.getContextOfEvent(roomId, eventId, limit, toJson(roomEventFilter)) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getContextOfEvent(roomId, eventId, limit, roomEventFilter, callback); + } + })); + } + + /** + * Update the room name. + * + * @param roomId the room id + * @param name the room name + * @param callback the async callback + */ + public void updateRoomName(final String roomId, final String name, final ApiCallback callback) { + final String description = "updateName : roomId " + roomId + " name " + name; + + Map params = new HashMap<>(); + params.put("name", name); + + mApi.sendStateEvent(roomId, Event.EVENT_TYPE_STATE_ROOM_NAME, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + updateRoomName(roomId, name, callback); + } + })); + } + + /** + * Update the canonical alias. + * + * @param roomId the room id + * @param canonicalAlias the canonical alias + * @param callback the async callback + */ + public void updateCanonicalAlias(final String roomId, final String canonicalAlias, final ApiCallback callback) { + final String description = "updateCanonicalAlias : roomId " + roomId + " canonicalAlias " + canonicalAlias; + + Map params = new HashMap<>(); + params.put("alias", canonicalAlias); + + mApi.sendStateEvent(roomId, Event.EVENT_TYPE_STATE_CANONICAL_ALIAS, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + updateCanonicalAlias(roomId, canonicalAlias, callback); + } + })); + } + + /** + * Update history visibility. + * + * @param roomId the room id + * @param aVisibility the visibility + * @param callback the async callback + */ + public void updateHistoryVisibility(final String roomId, final String aVisibility, final ApiCallback callback) { + final String description = "updateHistoryVisibility : roomId " + roomId + " visibility " + aVisibility; + + Map params = new HashMap<>(); + params.put("history_visibility", aVisibility); + + mApi.sendStateEvent(roomId, Event.EVENT_TYPE_STATE_HISTORY_VISIBILITY, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + updateHistoryVisibility(roomId, aVisibility, callback); + } + })); + } + + /** + * Update the directory visibility of the room. + * + * @param aRoomId the room id + * @param aDirectoryVisibility the visibility of the room in the directory list + * @param callback the async callback response + */ + public void updateDirectoryVisibility(final String aRoomId, final String aDirectoryVisibility, final ApiCallback callback) { + final String description = "updateRoomDirectoryVisibility : roomId=" + aRoomId + " visibility=" + aDirectoryVisibility; + + RoomDirectoryVisibility roomDirectoryVisibility = new RoomDirectoryVisibility(); + roomDirectoryVisibility.visibility = aDirectoryVisibility; + + mApi.setRoomDirectoryVisibility(aRoomId, roomDirectoryVisibility) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + updateDirectoryVisibility(aRoomId, aDirectoryVisibility, callback); + } + })); + } + + + /** + * Get the directory visibility of the room (see {@link #updateDirectoryVisibility(String, String, ApiCallback)}). + * + * @param aRoomId the room ID + * @param callback on success callback containing a the room directory visibility + */ + public void getDirectoryVisibility(final String aRoomId, final ApiCallback callback) { + final String description = "getDirectoryVisibility roomId=" + aRoomId; + + mApi.getRoomDirectoryVisibility(aRoomId) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getDirectoryVisibility(aRoomId, callback); + } + })); + } + + /** + * Get the room members + * + * @param roomId the room id where to get the members + * @param syncToken the sync token (optional) + * @param membership to include only one type of membership (optional) + * @param notMembership to exclude one type of membership (optional) + * @param callback the callback + */ + public void getRoomMembers(final String roomId, + @Nullable final String syncToken, + @Nullable final String membership, + @Nullable final String notMembership, + final ApiCallback callback) { + final String description = "getRoomMembers roomId=" + roomId; + + mApi.getMembers(roomId, syncToken, membership, notMembership) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getRoomMembers(roomId, syncToken, membership, notMembership, callback); + } + })); + } + + /** + * Update the room topic. + * + * @param roomId the room id + * @param topic the room topic + * @param callback the async callback + */ + public void updateTopic(final String roomId, final String topic, final ApiCallback callback) { + final String description = "updateTopic : roomId " + roomId + " topic " + topic; + + Map params = new HashMap<>(); + params.put("topic", topic); + + mApi.sendStateEvent(roomId, Event.EVENT_TYPE_STATE_ROOM_TOPIC, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + updateTopic(roomId, topic, callback); + } + })); + } + + /** + * Redact an event. + * + * @param roomId the room id + * @param eventId the event id + * @param callback the callback containing the created event if successful + */ + public void redactEvent(final String roomId, final String eventId, final ApiCallback callback) { + final String description = "redactEvent : roomId " + roomId + " eventId " + eventId; + + mApi.redactEvent(roomId, eventId, new JsonObject()) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + redactEvent(roomId, eventId, callback); + } + })); + } + + /** + * Report an event. + * + * @param roomId the room id + * @param eventId the event id + * @param score the metric to let the user rate the severity of the abuse. It ranges from -100 “most offensive” to 0 “inoffensive” + * @param reason the reason + * @param callback the callback + */ + public void reportEvent(final String roomId, final String eventId, final int score, final String reason, final ApiCallback callback) { + final String description = "report : roomId " + roomId + " eventId " + eventId; + + ReportContentParams content = new ReportContentParams(); + + content.score = score; + content.reason = reason; + + mApi.reportEvent(roomId, eventId, content) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + reportEvent(roomId, eventId, score, reason, callback); + } + })); + } + + /** + * Update the power levels. + * + * @param roomId the room id + * @param powerLevels the new powerLevels + * @param callback the async callback + */ + public void updatePowerLevels(final String roomId, final PowerLevels powerLevels, final ApiCallback callback) { + final String description = "updatePowerLevels : roomId " + roomId + " powerLevels " + powerLevels; + + mApi.setPowerLevels(roomId, powerLevels) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + updatePowerLevels(roomId, powerLevels, callback); + } + })); + } + + /** + * Send a state events. + * + * @param roomId the dedicated room id + * @param eventType the event type + * @param stateKey the state key + * @param params the put parameters + * @param callback the asynchronous callback + */ + public void sendStateEvent(final String roomId, + final String eventType, + @Nullable final String stateKey, + final Map params, + final ApiCallback callback) { + final String description = "sendStateEvent : roomId " + roomId + " - eventType " + eventType; + + if (null != stateKey) { + mApi.sendStateEvent(roomId, eventType, stateKey, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + sendStateEvent(roomId, eventType, stateKey, params, callback); + } + })); + } else { + mApi.sendStateEvent(roomId, eventType, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + sendStateEvent(roomId, eventType, null, params, callback); + } + })); + } + } + + /** + * Looks up the contents of a state event in a room + * + * @param roomId the room id + * @param eventType the event type + * @param callback the asynchronous callback + */ + public void getStateEvent(final String roomId, final String eventType, final ApiCallback callback) { + final String description = "getStateEvent : roomId " + roomId + " eventId " + eventType; + + mApi.getStateEvent(roomId, eventType) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getStateEvent(roomId, eventType, callback); + } + })); + } + + /** + * Looks up the contents of a state event in a room + * + * @param roomId the room id + * @param eventType the event type + * @param stateKey the key of the state to look up + * @param callback the asynchronous callback + */ + public void getStateEvent(final String roomId, final String eventType, final String stateKey, final ApiCallback callback) { + final String description = "getStateEvent : roomId " + roomId + " eventId " + eventType + " stateKey " + stateKey; + + mApi.getStateEvent(roomId, eventType, stateKey) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getStateEvent(roomId, eventType, stateKey, callback); + } + })); + } + + /** + * send typing notification. + * + * @param roomId the room id + * @param userId the user id + * @param isTyping true if the user is typing + * @param timeout the typing event timeout + * @param callback the asynchronous callback + */ + public void sendTypingNotification(String roomId, String userId, boolean isTyping, int timeout, ApiCallback callback) { + final String description = "sendTypingNotification : roomId " + roomId + " isTyping " + isTyping; + + Typing typing = new Typing(); + typing.typing = isTyping; + + if (-1 != timeout) { + typing.timeout = timeout; + } + + // never resend typing on network error + mApi.setTypingNotification(roomId, userId, typing) + .enqueue(new RestAdapterCallback(description, null, callback, null)); + } + + /** + * Update the room avatar url. + * + * @param roomId the room id + * @param avatarUrl canonical alias + * @param callback the async callback + */ + public void updateAvatarUrl(final String roomId, final String avatarUrl, final ApiCallback callback) { + final String description = "updateAvatarUrl : roomId " + roomId + " avatarUrl " + avatarUrl; + + Map params = new HashMap<>(); + params.put("url", avatarUrl); + + mApi.sendStateEvent(roomId, Event.EVENT_TYPE_STATE_ROOM_AVATAR, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + updateAvatarUrl(roomId, avatarUrl, callback); + } + })); + } + + /** + * Send a read markers. + * + * @param roomId the room id + * @param rmEventId the read marker event Id + * @param rrEventId the read receipt event Id + * @param callback the callback + */ + public void sendReadMarker(final String roomId, final String rmEventId, final String rrEventId, final ApiCallback callback) { + final String description = "sendReadMarker : roomId " + roomId + " - rmEventId " + rmEventId + " -- rrEventId " + rrEventId; + final Map params = new HashMap<>(); + + if (!TextUtils.isEmpty(rmEventId)) { + params.put(READ_MARKER_FULLY_READ, rmEventId); + } + + if (!TextUtils.isEmpty(rrEventId)) { + params.put(READ_MARKER_READ, rrEventId); + } + + mApi.sendReadMarker(roomId, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, true, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + sendReadMarker(roomId, rmEventId, rrEventId, callback); + } + })); + } + + /** + * Add a tag to a room. + * Use this method to update the order of an existing tag. + * + * @param roomId the roomId + * @param tag the new tag to add to the room. + * @param order the order. + * @param callback the operation callback + */ + public void addTag(final String roomId, final String tag, final Double order, final ApiCallback callback) { + final String description = "addTag : roomId " + roomId + " - tag " + tag + " - order " + order; + + Map hashMap = new HashMap<>(); + hashMap.put("order", order); + + mApi.addTag(mCredentials.userId, roomId, tag, hashMap) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + addTag(roomId, tag, order, callback); + } + })); + } + + /** + * Remove a tag to a room. + * + * @param roomId the roomId + * @param tag the new tag to add to the room. + * @param callback the operation callback + */ + public void removeTag(final String roomId, final String tag, final ApiCallback callback) { + final String description = "removeTag : roomId " + roomId + " - tag " + tag; + + mApi.removeTag(mCredentials.userId, roomId, tag) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + removeTag(roomId, tag, callback); + } + })); + } + + /** + * Update the URL preview status + * + * @param roomId the roomId + * @param status the new status + * @param callback the operation callback + */ + public void updateURLPreviewStatus(final String roomId, final boolean status, final ApiCallback callback) { + final String description = "updateURLPreviewStatus : roomId " + roomId + " - status " + status; + + Map params = new HashMap<>(); + params.put(AccountDataRestClient.ACCOUNT_DATA_KEY_URL_PREVIEW_DISABLE, !status); + + mApi.updateAccountData(mCredentials.userId, roomId, Event.EVENT_TYPE_URL_PREVIEW, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + updateURLPreviewStatus(roomId, status, callback); + } + })); + } + + /** + * Get the room ID corresponding to this room alias. + * + * @param roomAlias the room alias. + * @param callback the operation callback + */ + public void getRoomIdByAlias(final String roomAlias, final ApiCallback callback) { + final String description = "getRoomIdByAlias : " + roomAlias; + + mApi.getRoomIdByAlias(roomAlias) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, + new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + getRoomIdByAlias(roomAlias, callback); + } + })); + } + + /** + * Set the room ID corresponding to a room alias. + * + * @param roomId the room id. + * @param roomAlias the room alias. + * @param callback the operation callback + */ + public void setRoomIdByAlias(final String roomId, final String roomAlias, final ApiCallback callback) { + final String description = "setRoomIdByAlias : roomAlias " + roomAlias + " - roomId : " + roomId; + + RoomAliasDescription roomAliasDescription = new RoomAliasDescription(); + roomAliasDescription.room_id = roomId; + + mApi.setRoomIdByAlias(roomAlias, roomAliasDescription) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + setRoomIdByAlias(roomId, roomAlias, callback); + } + })); + } + + /** + * Remove the room alias. + * + * @param roomAlias the room alias. + * @param callback the room alias description + */ + public void removeRoomAlias(final String roomAlias, final ApiCallback callback) { + final String description = "removeRoomAlias : " + roomAlias; + + mApi.removeRoomAlias(roomAlias) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + removeRoomAlias(roomAlias, callback); + } + })); + } + + /** + * Update the join rule of the room. + * To make the room private, the aJoinRule must be set to {@link RoomState#JOIN_RULE_INVITE}. + * + * @param aRoomId the room id + * @param aJoinRule the join rule: {@link RoomState#JOIN_RULE_PUBLIC} or {@link RoomState#JOIN_RULE_INVITE} + * @param callback the async callback response + */ + public void updateJoinRules(final String aRoomId, final String aJoinRule, final ApiCallback callback) { + final String description = "updateJoinRules : roomId=" + aRoomId + " rule=" + aJoinRule; + + Map params = new HashMap<>(); + params.put("join_rule", aJoinRule); + + mApi.sendStateEvent(aRoomId, Event.EVENT_TYPE_STATE_ROOM_JOIN_RULES, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + updateJoinRules(aRoomId, aJoinRule, callback); + } + })); + } + + /** + * Update the guest access rule of the room. + * To deny guest access to the room, aGuestAccessRule must be set to {@link RoomState#GUEST_ACCESS_FORBIDDEN} + * + * @param aRoomId the room id + * @param aGuestAccessRule the guest access rule: {@link RoomState#GUEST_ACCESS_CAN_JOIN} or {@link RoomState#GUEST_ACCESS_FORBIDDEN} + * @param callback the async callback response + */ + public void updateGuestAccess(final String aRoomId, final String aGuestAccessRule, final ApiCallback callback) { + final String description = "updateGuestAccess : roomId=" + aRoomId + " rule=" + aGuestAccessRule; + + Map params = new HashMap<>(); + params.put("guest_access", aGuestAccessRule); + + mApi.sendStateEvent(aRoomId, Event.EVENT_TYPE_STATE_ROOM_GUEST_ACCESS, params) + .enqueue(new RestAdapterCallback(description, mUnsentEventsManager, callback, new RestAdapterCallback.RequestRetryCallBack() { + @Override + public void onRetry() { + updateGuestAccess(aRoomId, aGuestAccessRule, callback); + } + })); + } + + @Nullable + private String toJson(@Nullable RoomEventFilter roomEventFilter) { + if (roomEventFilter == null) { + return null; + } + + return roomEventFilter.toJSONString(); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/ThirdPidRestClient.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/ThirdPidRestClient.java new file mode 100644 index 00000000..b3db9a53 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/ThirdPidRestClient.java @@ -0,0 +1,255 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.client; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.rest.api.ThirdPidApi; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.DefaultRetrofit2ResponseHandler; +import im.vector.matrix.android.internal.legacy.rest.model.BulkLookupParams; +import im.vector.matrix.android.internal.legacy.rest.model.BulkLookupResponse; +import im.vector.matrix.android.internal.legacy.rest.model.HttpError; +import im.vector.matrix.android.internal.legacy.rest.model.HttpException; +import im.vector.matrix.android.internal.legacy.rest.model.pid.PidResponse; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; + +public class ThirdPidRestClient extends RestClient { + + private static final String KEY_SUBMIT_TOKEN_SUCCESS = "success"; + + /** + * {@inheritDoc} + */ + public ThirdPidRestClient(HomeServerConnectionConfig hsConfig) { + super(hsConfig, ThirdPidApi.class, URI_API_PREFIX_IDENTITY, false, true); + } + + /** + * Retrieve user matrix id from a 3rd party id. + * + * @param address 3rd party id + * @param medium the media. + * @param callback the 3rd party callback + */ + public void lookup3Pid(String address, String medium, final ApiCallback callback) { + mApi.lookup3Pid(address, medium).enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + try { + handleLookup3PidResponse(response, callback); + } catch (IOException e) { + onFailure(call, e); + } + } + + @Override + public void onFailure(Call call, Throwable t) { + callback.onUnexpectedError((Exception) t); + } + }); + } + + private void handleLookup3PidResponse( + Response response, + final ApiCallback callback + ) throws IOException { + DefaultRetrofit2ResponseHandler.handleResponse( + response, + new DefaultRetrofit2ResponseHandler.Listener() { + @Override + public void onSuccess(Response response) { + PidResponse pidResponse = response.body(); + callback.onSuccess((null == pidResponse.mxid) ? "" : pidResponse.mxid); + } + + @Override + public void onHttpError(HttpError httpError) { + callback.onNetworkError(new HttpException(httpError)); + } + } + ); + } + + + /** + * Request the ownership validation of an email address or a phone number previously set + * by {@link ProfileRestClient#requestEmailValidationToken(String, String, int, String, boolean, ApiCallback)} + * + * @param medium the medium of the 3pid + * @param token the token generated by the requestEmailValidationToken call + * @param clientSecret the client secret which was supplied in the requestEmailValidationToken call + * @param sid the sid for the session + * @param callback asynchronous callback response + */ + public void submitValidationToken(final String medium, + final String token, + final String clientSecret, + final String sid, + final ApiCallback callback) { + mApi.requestOwnershipValidation(medium, token, clientSecret, sid).enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + try { + handleSubmitValidationTokenResponse(response, callback); + } catch (IOException e) { + callback.onUnexpectedError(e); + } + } + + @Override + public void onFailure(Call> call, Throwable t) { + callback.onUnexpectedError((Exception) t); + } + }); + } + + private void handleSubmitValidationTokenResponse( + Response> response, + final ApiCallback callback + ) throws IOException { + DefaultRetrofit2ResponseHandler.handleResponse( + response, + new DefaultRetrofit2ResponseHandler.Listener>() { + @Override + public void onSuccess(Response> response) { + Map aDataRespMap = response.body(); + if (aDataRespMap.containsKey(KEY_SUBMIT_TOKEN_SUCCESS)) { + callback.onSuccess((Boolean) aDataRespMap.get(KEY_SUBMIT_TOKEN_SUCCESS)); + } else { + callback.onSuccess(false); + } + } + + @Override + public void onHttpError(HttpError httpError) { + callback.onNetworkError(new HttpException(httpError)); + } + } + ); + } + + /** + * Retrieve user matrix id from a 3rd party id. + * + * @param addresses 3rd party ids + * @param mediums the medias. + * @param callback the 3rd parties callback + */ + public void lookup3Pids(final List addresses, final List mediums, final ApiCallback> callback) { + // sanity checks + if ((null == addresses) || (null == mediums) || (addresses.size() != mediums.size())) { + callback.onUnexpectedError(new Exception("invalid params")); + return; + } + + // nothing to check + if (0 == mediums.size()) { + callback.onSuccess(new ArrayList()); + return; + } + + BulkLookupParams threePidsParams = new BulkLookupParams(); + + List> list = new ArrayList<>(); + + for (int i = 0; i < addresses.size(); i++) { + list.add(Arrays.asList(mediums.get(i), addresses.get(i))); + } + + threePidsParams.threepids = list; + + mApi.bulkLookup(threePidsParams).enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + try { + handleBulkLookupResponse(response, addresses, callback); + } catch (IOException e) { + callback.onUnexpectedError(e); + } + } + + @Override + public void onFailure(Call call, Throwable t) { + callback.onUnexpectedError((Exception) t); + } + }); + } + + private void handleBulkLookupResponse( + Response response, + final List addresses, + final ApiCallback> callback + ) throws IOException { + DefaultRetrofit2ResponseHandler.handleResponse( + response, + new DefaultRetrofit2ResponseHandler.Listener() { + @Override + public void onSuccess(Response response) { + handleBulkLookupSuccess(response, addresses, callback); + } + + @Override + public void onHttpError(HttpError httpError) { + callback.onNetworkError(new HttpException(httpError)); + } + } + ); + } + + private void handleBulkLookupSuccess( + Response response, + List addresses, + ApiCallback> callback + ) { + BulkLookupResponse bulkLookupResponse = response.body(); + Map mxidByAddress = new HashMap<>(); + + if (null != bulkLookupResponse.threepids) { + for (int i = 0; i < bulkLookupResponse.threepids.size(); i++) { + List items = bulkLookupResponse.threepids.get(i); + // [0] : medium + // [1] : address + // [2] : matrix id + mxidByAddress.put(items.get(1), items.get(2)); + } + } + + List matrixIds = new ArrayList<>(); + + for (String address : addresses) { + if (mxidByAddress.containsKey(address)) { + matrixIds.add(mxidByAddress.get(address)); + } else { + matrixIds.add(""); + } + } + + callback.onSuccess(matrixIds); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/UrlPostTask.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/UrlPostTask.java new file mode 100644 index 00000000..64a2d99a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/client/UrlPostTask.java @@ -0,0 +1,140 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.client; + +import android.os.AsyncTask; + +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; + +import im.vector.matrix.android.internal.legacy.RestClient; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.io.BufferedInputStream; +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; + +/** + * UrlPostTask triggers a POST with no param. + */ +public class UrlPostTask extends AsyncTask { + + public interface IPostTaskListener { + /** + * The post succeeds. + * + * @param object the object retrieves in the response. + */ + void onSucceed(JsonObject object); + + /** + * The post failed + * + * @param errorMessage thr error message + */ + void onError(String errorMessage); + } + + private static final String LOG_TAG = "UrlPostTask"; + + // the post listener + private IPostTaskListener mListener; + + @Override + protected String doInBackground(String... params) { + String result = ""; + + try { + URL url = new URL(params[0]); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + if (RestClient.getUserAgent() != null) { + conn.setRequestProperty("User-Agent", RestClient.getUserAgent()); + } + conn.setRequestMethod("POST"); + + InputStream is = new BufferedInputStream(conn.getInputStream()); + + if (is != null) { + result = convertStreamToString(is); + } + } catch (Exception e) { + // Do something about exceptions + result = e.getMessage(); + } + return result; + } + + /** + * Set the post listener + * + * @param listener the listener + */ + public void setListener(IPostTaskListener listener) { + mListener = listener; + } + + /** + * Convert a stream to a string + * + * @param is the input stream to convert + * @return the string + */ + private static String convertStreamToString(InputStream is) { + BufferedReader reader = new BufferedReader(new InputStreamReader(is)); + StringBuilder sb = new StringBuilder(); + + String line; + try { + while ((line = reader.readLine()) != null) { + sb.append(line + "\n"); + } + } catch (Exception e) { + Log.e(LOG_TAG, "convertStreamToString " + e.getMessage(), e); + } finally { + try { + is.close(); + } catch (Exception e) { + Log.e(LOG_TAG, "convertStreamToString finally failed " + e.getMessage(), e); + } + } + return sb.toString(); + } + + protected void onPostExecute(String result) { + JsonObject object = null; + + Log.d(LOG_TAG, "onPostExecute " + result); + + try { + JsonParser parser = new JsonParser(); + object = parser.parse(result).getAsJsonObject(); + } catch (Exception e) { + Log.e(LOG_TAG, "## onPostExecute() failed" + e.getMessage(), e); + } + + if (null != mListener) { + if (null != object) { + mListener.onSucceed(object); + } else { + mListener.onError(result); + } + } + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/json/BooleanDeserializer.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/json/BooleanDeserializer.java new file mode 100644 index 00000000..cf00509c --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/json/BooleanDeserializer.java @@ -0,0 +1,96 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.json; + +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonParseException; +import com.google.gson.JsonPrimitive; + +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.lang.reflect.Type; + +/** + * Convenient JsonDeserializer to accept various type of Boolean + */ +public class BooleanDeserializer implements JsonDeserializer { + + private static final String LOG_TAG = BooleanDeserializer.class.getSimpleName(); + + private final boolean mCanReturnNull; + + /** + * Constructor + * + * @param canReturnNull true if the deserializer can return null in case of error + */ + public BooleanDeserializer(boolean canReturnNull) { + mCanReturnNull = canReturnNull; + } + + /** + * @param json The Json data being deserialized + * @param typeOfT The type of the Object to deserialize to + * @param context not used + * @return true if json is: true, 1, "true" or "1". false for other values. null in other cases. + * @throws JsonParseException + */ + @Override + public Boolean deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { + if (json.isJsonPrimitive()) { + JsonPrimitive jsonPrimitive = json.getAsJsonPrimitive(); + + if (jsonPrimitive.isBoolean()) { + // Nominal case + return jsonPrimitive.getAsBoolean(); + } else if (jsonPrimitive.isNumber()) { + Log.w(LOG_TAG, "Boolean detected as a number"); + return jsonPrimitive.getAsInt() == 1; + } else if (jsonPrimitive.isString()) { + Log.w(LOG_TAG, "Boolean detected as a string"); + + String jsonPrimitiveString = jsonPrimitive.getAsString(); + return "1".equals(jsonPrimitiveString) + || "true".equals(jsonPrimitiveString); + } else { + // Should not happen + Log.e(LOG_TAG, "Unknown primitive"); + if (mCanReturnNull) { + return null; + } else { + return false; + } + } + } else if (json.isJsonNull()) { + if (mCanReturnNull) { + return null; + } else { + Log.w(LOG_TAG, "Boolean is null, but not allowed to return null"); + return false; + } + } + + Log.w(LOG_TAG, "Boolean detected as not a primitive type"); + if (mCanReturnNull) { + return null; + } else { + return false; + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/json/ConditionDeserializer.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/json/ConditionDeserializer.java new file mode 100644 index 00000000..7739d7e5 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/json/ConditionDeserializer.java @@ -0,0 +1,74 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.json; + +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; + +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.Condition; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.ContainsDisplayNameCondition; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.DeviceCondition; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.EventMatchCondition; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.RoomMemberCountCondition; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.SenderNotificationPermissionCondition; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.UnknownCondition; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.lang.reflect.Type; + +public class ConditionDeserializer implements JsonDeserializer { + private static final String LOG_TAG = ConditionDeserializer.class.getSimpleName(); + + @Override + public Condition deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { + Condition condition = null; + + JsonObject jsonObject = json.getAsJsonObject(); + JsonElement kindElement = jsonObject.get("kind"); + + if (null != kindElement) { + String kind = kindElement.getAsString(); + + if (null != kind) { + switch (kind) { + case Condition.KIND_EVENT_MATCH: + condition = context.deserialize(json, EventMatchCondition.class); + break; + case Condition.KIND_DEVICE: + condition = context.deserialize(json, DeviceCondition.class); + break; + case Condition.KIND_CONTAINS_DISPLAY_NAME: + condition = context.deserialize(json, ContainsDisplayNameCondition.class); + break; + case Condition.KIND_ROOM_MEMBER_COUNT: + condition = context.deserialize(json, RoomMemberCountCondition.class); + break; + case Condition.KIND_SENDER_NOTIFICATION_PERMISSION: + condition = context.deserialize(json, SenderNotificationPermissionCondition.class); + break; + default: + Log.e(LOG_TAG, "## deserialize() : unsupported kind " + kind + " with value " + json); + condition = context.deserialize(json, UnknownCondition.class); + break; + } + } + } + return condition; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/json/MatrixFieldNamingStrategy.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/json/MatrixFieldNamingStrategy.java new file mode 100644 index 00000000..c6c5db2d --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/json/MatrixFieldNamingStrategy.java @@ -0,0 +1,58 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.json; + +import com.google.gson.FieldNamingStrategy; + +import java.lang.reflect.Field; +import java.util.Locale; + +/** + * Based on FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES. + * toLowerCase() is replaced by toLowerCase(Locale.ENGLISH). + * In some languages like turkish, toLowerCase does not provide the expected string. + * e.g _I is not converted to _i. + */ +public class MatrixFieldNamingStrategy implements FieldNamingStrategy { + + /** + * Converts the field name that uses camel-case define word separation into + * separate words that are separated by the provided {@code separatorString}. + */ + private static String separateCamelCase(String name, String separator) { + StringBuilder translation = new StringBuilder(); + for (int i = 0; i < name.length(); i++) { + char character = name.charAt(i); + if (Character.isUpperCase(character) && translation.length() != 0) { + translation.append(separator); + } + translation.append(character); + } + return translation.toString(); + } + + /** + * Translates the field name into its JSON field name representation. + * + * @param f the field object that we are translating + * @return the translated field name. + * @since 1.3 + */ + public String translateName(Field f) { + return separateCamelCase(f.getName(), "_").toLowerCase(Locale.ENGLISH); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/AuthParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/AuthParams.java new file mode 100644 index 00000000..086424fc --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/AuthParams.java @@ -0,0 +1,33 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import java.util.Map; + +/** + * Class to define the authentication parameters + */ +public class AuthParams { + // + public String type; + + // update password (type = m.login.password) + public String user; + public String password; + + // forget password parameters (type = m.login.email.identity) + public Map threepid_creds; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/BannedUser.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/BannedUser.java new file mode 100644 index 00000000..cb970ad9 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/BannedUser.java @@ -0,0 +1,24 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +/** + * Class to contain a banned user and the reason they were banned. + */ +public class BannedUser { + public String userId; + public String reason; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/BulkLookupParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/BulkLookupParams.java new file mode 100644 index 00000000..d39d1ae2 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/BulkLookupParams.java @@ -0,0 +1,26 @@ +/* + * Copyright 2017 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import java.util.List; + +/** + * 3 pids request param + */ +public class BulkLookupParams { + // List of [medium, value] + public List> threepids; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/BulkLookupResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/BulkLookupResponse.java new file mode 100644 index 00000000..27fb21f0 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/BulkLookupResponse.java @@ -0,0 +1,26 @@ +/* + * Copyright 2017 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import java.util.List; + +/** + * 3 pids request response + */ +public class BulkLookupResponse { + // List of [medium, value, mxid] + public List> threepids; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ChangePasswordParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ChangePasswordParams.java new file mode 100644 index 00000000..12e7258c --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ChangePasswordParams.java @@ -0,0 +1,26 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +/** + * Class to update the password + */ +public class ChangePasswordParams { + // current account information + public AuthParams auth; + // the new password + public String new_password; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ChunkEvents.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ChunkEvents.java new file mode 100644 index 00000000..f6a02357 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ChunkEvents.java @@ -0,0 +1,20 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model; + +public class ChunkEvents extends ChunkResponse { +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ChunkResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ChunkResponse.java new file mode 100644 index 00000000..97163f85 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ChunkResponse.java @@ -0,0 +1,25 @@ +/* + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import java.util.List; + +/** + * Class representing an API response with start and end tokens and a generically-typed chunk. + */ +public class ChunkResponse { + public List chunk; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ContentResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ContentResponse.java new file mode 100644 index 00000000..b4c132ff --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ContentResponse.java @@ -0,0 +1,23 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +public class ContentResponse { + + public String contentUri; + public int w; + public int h; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/CreateRoomParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/CreateRoomParams.java new file mode 100644 index 00000000..70cb803b --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/CreateRoomParams.java @@ -0,0 +1,254 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model; + +import android.support.annotation.Nullable; +import android.text.TextUtils; + +import com.google.gson.annotations.SerializedName; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.MXPatterns; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.rest.model.pid.Invite3Pid; +import im.vector.matrix.android.internal.legacy.rest.model.pid.ThreePid; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class CreateRoomParams { + + public static final String PRESET_PRIVATE_CHAT = "private_chat"; + public static final String PRESET_PUBLIC_CHAT = "public_chat"; + public static final String PRESET_TRUSTED_PRIVATE_CHAT = "trusted_private_chat"; + + /** + * A public visibility indicates that the room will be shown in the published room list. + * A private visibility will hide the room from the published room list. + * Rooms default to private visibility if this key is not included. + * NB: This should not be confused with join_rules which also uses the word public. One of: ["public", "private"] + */ + public String visibility; + + /** + * The desired room alias local part. If this is included, a room alias will be created and mapped to the newly created room. + * The alias will belong on the same homeserver which created the room. + * For example, if this was set to "foo" and sent to the homeserver "example.com" the complete room alias would be #foo:example.com. + */ + @SerializedName("room_alias_name") + public String roomAliasName; + + /** + * If this is included, an m.room.name event will be sent into the room to indicate the name of the room. + * See Room Events for more information on m.room.name. + */ + public String name; + + /** + * If this is included, an m.room.topic event will be sent into the room to indicate the topic for the room. + * See Room Events for more information on m.room.topic. + */ + public String topic; + + /** + * A list of user IDs to invite to the room. + * This will tell the server to invite everyone in the list to the newly created room. + */ + @SerializedName("invite") + public List invitedUserIds; + + /** + * A list of objects representing third party IDs to invite into the room. + */ + @SerializedName("invite_3pid") + public List invite3pids; + + /** + * Extra keys to be added to the content of the m.room.create. + * The server will clobber the following keys: creator. + * Future versions of the specification may allow the server to clobber other keys. + */ + public Object creation_content; + + /** + * A list of state events to set in the new room. + * This allows the user to override the default state events set in the new room. + * The expected format of the state events are an object with type, state_key and content keys set. + * Takes precedence over events set by presets, but gets overriden by name and topic keys. + */ + @SerializedName("initial_state") + public List initialStates; + + /** + * Convenience parameter for setting various default state events based on a preset. Must be either: + * private_chat => join_rules is set to invite. history_visibility is set to shared. + * trusted_private_chat => join_rules is set to invite. history_visibility is set to shared. All invitees are given the same power level as the + * room creator. + * public_chat: => join_rules is set to public. history_visibility is set to shared. One of: ["private_chat", "public_chat", "trusted_private_chat"] + */ + public String preset; + + /** + * This flag makes the server set the is_direct flag on the m.room.member events sent to the users in invite and invite_3pid. + * See Direct Messaging for more information. + */ + @SerializedName("is_direct") + public Boolean isDirect; + + /** + * Add the crypto algorithm to the room creation parameters. + * + * @param algorithm the algorithm + */ + public void addCryptoAlgorithm(String algorithm) { + if (!TextUtils.isEmpty(algorithm)) { + Event algoEvent = new Event(); + algoEvent.type = Event.EVENT_TYPE_MESSAGE_ENCRYPTION; + + Map contentMap = new HashMap<>(); + contentMap.put("algorithm", algorithm); + algoEvent.content = JsonUtils.getGson(false).toJsonTree(contentMap); + + if (null == initialStates) { + initialStates = Arrays.asList(algoEvent); + } else { + initialStates.add(algoEvent); + } + } + } + + /** + * Force the history visibility in the room creation parameters. + * + * @param historyVisibility the expected history visibility, set null to remove any existing value. + * see {@link RoomState#HISTORY_VISIBILITY_INVITED}, + * {@link RoomState#HISTORY_VISIBILITY_JOINED}, + * {@link RoomState#HISTORY_VISIBILITY_SHARED}, + * {@link RoomState#HISTORY_VISIBILITY_WORLD_READABLE} + */ + public void setHistoryVisibility(@Nullable String historyVisibility) { + if (!TextUtils.isEmpty(historyVisibility)) { + Event historyVisibilityEvent = new Event(); + historyVisibilityEvent.type = Event.EVENT_TYPE_STATE_HISTORY_VISIBILITY; + + Map contentMap = new HashMap<>(); + contentMap.put("history_visibility", historyVisibility); + historyVisibilityEvent.content = JsonUtils.getGson(false).toJsonTree(contentMap); + + if (null == initialStates) { + initialStates = Arrays.asList(historyVisibilityEvent); + } else { + initialStates.add(historyVisibilityEvent); + } + } else if (!initialStates.isEmpty()) { + final List newInitialStates = new ArrayList<>(); + for (Event event : initialStates) { + if (!event.type.equals(Event.EVENT_TYPE_STATE_HISTORY_VISIBILITY)) { + newInitialStates.add(event); + } + } + initialStates = newInitialStates; + } + } + + /** + * Mark as a direct message room. + */ + public void setDirectMessage() { + preset = CreateRoomParams.PRESET_TRUSTED_PRIVATE_CHAT; + isDirect = true; + } + + /** + * @return the invite count + */ + private int getInviteCount() { + return (null == invitedUserIds) ? 0 : invitedUserIds.size(); + } + + /** + * @return the pid invite count + */ + private int getInvite3PidCount() { + return (null == invite3pids) ? 0 : invite3pids.size(); + } + + /** + * Tells if the created room can be a direct chat one. + * + * @return true if it is a direct chat + */ + public boolean isDirect() { + return TextUtils.equals(preset, CreateRoomParams.PRESET_TRUSTED_PRIVATE_CHAT) + && (null != isDirect) + && isDirect + && (1 == getInviteCount() || (1 == getInvite3PidCount())); + } + + /** + * @return the first invited user id + */ + public String getFirstInvitedUserId() { + if (0 != getInviteCount()) { + return invitedUserIds.get(0); + } + + if (0 != getInvite3PidCount()) { + return invite3pids.get(0).address; + } + + return null; + } + + /** + * Add some ids to the room creation + * ids might be a matrix id or an email address. + * + * @param ids the participant ids to add. + */ + public void addParticipantIds(HomeServerConnectionConfig hsConfig, List ids) { + for (String id : ids) { + if (android.util.Patterns.EMAIL_ADDRESS.matcher(id).matches()) { + if (null == invite3pids) { + invite3pids = new ArrayList<>(); + } + + Invite3Pid pid = new Invite3Pid(); + pid.id_server = hsConfig.getIdentityServerUri().getHost(); + pid.medium = ThreePid.MEDIUM_EMAIL; + pid.address = id; + + invite3pids.add(pid); + } else if (MXPatterns.isUserId(id)) { + // do not invite oneself + if (!TextUtils.equals(hsConfig.getCredentials().userId, id)) { + if (null == invitedUserIds) { + invitedUserIds = new ArrayList<>(); + } + + invitedUserIds.add(id); + } + + } // TODO add phonenumbers when it will be available + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/CreateRoomResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/CreateRoomResponse.java new file mode 100644 index 00000000..0f8516c0 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/CreateRoomResponse.java @@ -0,0 +1,24 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import com.google.gson.annotations.SerializedName; + +public class CreateRoomResponse { + @SerializedName("room_id") + public String roomId; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/CreatedEvent.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/CreatedEvent.java new file mode 100644 index 00000000..7b979dab --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/CreatedEvent.java @@ -0,0 +1,24 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model; + +import com.google.gson.annotations.SerializedName; + +public class CreatedEvent { + @SerializedName("event_id") + public String eventId; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/DeactivateAccountParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/DeactivateAccountParams.java new file mode 100644 index 00000000..0bf1454c --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/DeactivateAccountParams.java @@ -0,0 +1,26 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model; + +public class DeactivateAccountParams { + + // Auth params + public AuthParams auth; + + // Set to true to erase all data of the account + public boolean erase; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/EncryptedMediaScanBody.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/EncryptedMediaScanBody.java new file mode 100644 index 00000000..1bb60c0d --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/EncryptedMediaScanBody.java @@ -0,0 +1,29 @@ +/* + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import com.google.gson.annotations.SerializedName; + +import im.vector.matrix.android.internal.legacy.rest.model.crypto.EncryptedFileInfo; + +/** + * Class to prepare the request body used to scan an encrypted content. + */ +public class EncryptedMediaScanBody { + // The encryption information used to decrypt the content before scanning it + @SerializedName("file") + public EncryptedFileInfo encryptedFileInfo; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/EncryptedMediaScanEncryptedBody.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/EncryptedMediaScanEncryptedBody.java new file mode 100644 index 00000000..2897e402 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/EncryptedMediaScanEncryptedBody.java @@ -0,0 +1,29 @@ +/* + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import com.google.gson.annotations.SerializedName; + +import im.vector.matrix.android.internal.legacy.rest.model.crypto.EncryptedBodyFileInfo; + +/** + * Class to prepare the request body used to scan an encrypted content. + */ +public class EncryptedMediaScanEncryptedBody { + // The encrypted encryption information used to decrypt the content before scanning it + @SerializedName("encrypted_body") + public EncryptedBodyFileInfo encryptedBodyFileInfo; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Event.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Event.java new file mode 100644 index 00000000..71d9deef --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Event.java @@ -0,0 +1,1339 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import android.support.annotation.Nullable; +import android.text.TextUtils; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import com.google.gson.annotations.SerializedName; + +import im.vector.matrix.android.internal.legacy.crypto.MXCryptoError; +import im.vector.matrix.android.internal.legacy.crypto.MXEventDecryptionResult; +import im.vector.matrix.android.internal.legacy.db.MXMediasCache; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.EncryptedFileInfo; +import im.vector.matrix.android.internal.legacy.rest.model.message.FileMessage; +import im.vector.matrix.android.internal.legacy.rest.model.message.ImageMessage; +import im.vector.matrix.android.internal.legacy.rest.model.message.LocationMessage; +import im.vector.matrix.android.internal.legacy.rest.model.message.Message; +import im.vector.matrix.android.internal.legacy.rest.model.message.StickerMessage; +import im.vector.matrix.android.internal.legacy.rest.model.message.VideoMessage; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.io.Externalizable; +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; +import java.util.TimeZone; + +/** + * Generic event class with all possible fields for events. + */ +public class Event implements Externalizable { + private static final String LOG_TAG = Event.class.getSimpleName(); + + private static final long serialVersionUID = -1431845331022808337L; + + public enum SentState { + // the event has not been sent + UNSENT, + // the event is encrypting + ENCRYPTING, + // the event is currently sending + SENDING, + // the event is going to be resent asap + WAITING_RETRY, + // the event has been sent + SENT, + // The event failed to be sent + UNDELIVERED, + // the event failed to be sent because some unknown devices have been found while encrypting it + FAILED_UNKNOWN_DEVICES + } + + // when there is no more message to be paginated in a room + // the server returns a null token. + // defines by a non null one to be able to store it. + public static final String PAGINATE_BACK_TOKEN_END = "PAGINATE_BACK_TOKEN_END"; + + public static final String EVENT_TYPE_PRESENCE = "m.presence"; + public static final String EVENT_TYPE_MESSAGE = "m.room.message"; + public static final String EVENT_TYPE_STICKER = "m.sticker"; + public static final String EVENT_TYPE_MESSAGE_ENCRYPTED = "m.room.encrypted"; + public static final String EVENT_TYPE_MESSAGE_ENCRYPTION = "m.room.encryption"; + public static final String EVENT_TYPE_FEEDBACK = "m.room.message.feedback"; + public static final String EVENT_TYPE_TYPING = "m.typing"; + public static final String EVENT_TYPE_REDACTION = "m.room.redaction"; + public static final String EVENT_TYPE_RECEIPT = "m.receipt"; + public static final String EVENT_TYPE_TAGS = "m.tag"; + public static final String EVENT_TYPE_ROOM_KEY = "m.room_key"; + public static final String EVENT_TYPE_READ_MARKER = "m.fully_read"; + public static final String EVENT_TYPE_ROOM_PLUMBING = "m.room.plumbing"; + public static final String EVENT_TYPE_ROOM_BOT_OPTIONS = "m.room.bot.options"; + public static final String EVENT_TYPE_ROOM_KEY_REQUEST = "m.room_key_request"; + public static final String EVENT_TYPE_FORWARDED_ROOM_KEY = "m.forwarded_room_key"; + public static final String EVENT_TYPE_URL_PREVIEW = "org.matrix.room.preview_urls"; + + // State events + public static final String EVENT_TYPE_STATE_ROOM_NAME = "m.room.name"; + public static final String EVENT_TYPE_STATE_ROOM_TOPIC = "m.room.topic"; + public static final String EVENT_TYPE_STATE_ROOM_AVATAR = "m.room.avatar"; + public static final String EVENT_TYPE_STATE_ROOM_MEMBER = "m.room.member"; + public static final String EVENT_TYPE_STATE_ROOM_THIRD_PARTY_INVITE = "m.room.third_party_invite"; + public static final String EVENT_TYPE_STATE_ROOM_CREATE = "m.room.create"; + public static final String EVENT_TYPE_STATE_ROOM_JOIN_RULES = "m.room.join_rules"; + public static final String EVENT_TYPE_STATE_ROOM_GUEST_ACCESS = "m.room.guest_access"; + public static final String EVENT_TYPE_STATE_ROOM_POWER_LEVELS = "m.room.power_levels"; + public static final String EVENT_TYPE_STATE_ROOM_ALIASES = "m.room.aliases"; + public static final String EVENT_TYPE_STATE_ROOM_TOMBSTONE = "m.room.tombstone"; + public static final String EVENT_TYPE_STATE_CANONICAL_ALIAS = "m.room.canonical_alias"; + public static final String EVENT_TYPE_STATE_HISTORY_VISIBILITY = "m.room.history_visibility"; + public static final String EVENT_TYPE_STATE_RELATED_GROUPS = "m.room.related_groups"; + public static final String EVENT_TYPE_STATE_PINNED_EVENT = "m.room.pinned_events"; + + // call events + public static final String EVENT_TYPE_CALL_INVITE = "m.call.invite"; + public static final String EVENT_TYPE_CALL_CANDIDATES = "m.call.candidates"; + public static final String EVENT_TYPE_CALL_ANSWER = "m.call.answer"; + public static final String EVENT_TYPE_CALL_HANGUP = "m.call.hangup"; + + public static final long DUMMY_EVENT_AGE = Long.MAX_VALUE - 1; + + /** + * Type of the event + * Warning, consider using {@link #getType()} to get the type of the unencrypted event + */ + public String type; + + public transient JsonElement content = null; + private String contentAsString = null; + + public transient JsonElement prev_content = null; + private String prev_content_as_string = null; + + public String eventId; + public String roomId; + // former Sync V1 sender name + public String userId; + // Sync V2 sender name + public String sender; + public long originServerTs; + public Long age; + + // Specific to state events + @SerializedName("state_key") + public String stateKey; + + // Contains optional extra information about the event. + public UnsignedData unsigned; + + // Specific to redaction + public String redacts; + + // A subset of the state of the room at the time of the invite, if membership is invite + public List invite_room_state; + + // store the exception triggered when unsent + public Exception unsentException = null; + public MatrixError unsentMatrixError = null; + + // sent state + public SentState mSentState; + + // save the token to back paginate + // the room history could have been reduced to save memory. + // so store the token from each event. + public String mToken; + + // The file cache uses the token as a pagination marker. + // When the user paginates, the file cache paginate until to find X events or an event with a token. + // This token must be used to perform a server catchup. + public boolean mIsInternalPaginationToken; + + // store the linked matrix id + private String mMatrixId; + + // the time raw offset (time zone management) + private long mTimeZoneRawOffset = 0; + + private long getTimeZoneOffset() { + return TimeZone.getDefault().getRawOffset(); + } + + /** + * Default constructor + */ + public Event() { + type = null; + content = null; + prev_content = null; + mIsInternalPaginationToken = false; + + userId = roomId = eventId = null; + originServerTs = 0; + age = null; + + mTimeZoneRawOffset = getTimeZoneOffset(); + + stateKey = null; + redacts = null; + + unsentMatrixError = null; + unsentException = null; + + mMatrixId = null; + + mSentState = SentState.SENT; + } + + /** + * @return the sender + */ + public String getSender() { + return (null == sender) ? userId : sender; + } + + /** + * Update the sender + * + * @param aSender the new sender + */ + public void setSender(String aSender) { + sender = userId = aSender; + } + + /** + * Update the matrix Id. + * + * @param aMatrixId the new matrix id. + */ + public void setMatrixId(String aMatrixId) { + mMatrixId = aMatrixId; + } + + /** + * @return the matrix id. + */ + public String getMatrixId() { + return mMatrixId; + } + + static final long MAX_ORIGIN_SERVER_TS = 1L << 50L; + + /** + * @return true if originServerTs is valid. + */ + public boolean isValidOriginServerTs() { + return originServerTs < MAX_ORIGIN_SERVER_TS; + } + + /** + * @return the originServerTs. + */ + public long getOriginServerTs() { + return originServerTs; + } + + /** + * Update the event content. + * + * @param newContent the new content. + */ + public void updateContent(JsonElement newContent) { + content = newContent; + contentAsString = null; + } + + /** + * @return true if content has some entries + */ + public boolean hasContentFields() { + boolean res = false; + JsonObject json = getContentAsJsonObject(); + + if (null != json) { + Set> entries = getContentAsJsonObject().entrySet(); + + res = (null != entries) && (0 != entries.size()); + } + return res; + } + + /** + * @return true if this event was redacted + */ + public boolean isRedacted() { + return (null != unsigned) && (null != unsigned.redacted_because); + } + + static DateFormat mDateFormat = null; + static long mFormatterRawOffset = 1234; + + /** + * @return a formatted timestamp. + */ + public String formattedOriginServerTs() { + // avoid displaying weird origin ts + if (!isValidOriginServerTs()) { + return " "; + } else { + // the formatter must be updated if the timezone has been updated + // else the formatted string are wrong (does not use the current timezone) + if ((null == mDateFormat) || (mFormatterRawOffset != getTimeZoneOffset())) { + mDateFormat = new SimpleDateFormat("MMM d HH:mm", Locale.getDefault()); + mFormatterRawOffset = getTimeZoneOffset(); + } + + return mDateFormat.format(new Date(getOriginServerTs())); + } + } + + /** + * Update the originServerTs. + * + * @param anOriginServer the new originServerTs. + */ + public void setOriginServerTs(long anOriginServer) { + originServerTs = anOriginServer; + } + + /** + * @return the event type + */ + public String getType() { + if (null != mClearEvent) { + return mClearEvent.type; + } else { + return type; + } + } + + /** + * Update the event type + * + * @param aType the new type + */ + public void setType(String aType) { + // TODO manage encryption + type = aType; + } + + /** + * @return the wire event type + */ + public String getWireType() { + return type; + } + + /** + * @return the event content + */ + public JsonElement getContent() { + if (null != mClearEvent) { + return mClearEvent.getWireContent(); + } else { + return getWireContent(); + } + } + + /** + * @return the wired event content + */ + public JsonElement getWireContent() { + finalizeDeserialization(); + return content; + } + + /** + * @return a Json representation of the event + */ + public JsonObject toJsonObject() { + finalizeDeserialization(); + return JsonUtils.toJson(this); + } + + /** + * @return the content casted as JsonObject. + */ + @Nullable + public JsonObject getContentAsJsonObject() { + JsonElement cont = getContent(); + + if (null != cont && cont.isJsonObject()) { + return cont.getAsJsonObject(); + } + return null; + } + + /** + * @return the prev_content casted as JsonObject. + */ + public JsonObject getPrevContentAsJsonObject() { + finalizeDeserialization(); + + if ((null != unsigned) && (null != unsigned.prev_content)) { + // avoid getting two value for the same thing + if (null == prev_content) { + prev_content = unsigned.prev_content; + } + unsigned.prev_content = null; + } + + if ((null != prev_content) && prev_content.isJsonObject()) { + return prev_content.getAsJsonObject(); + } + return null; + } + + /** + * @return the content formatted as EventContent. + */ + public EventContent getEventContent() { + if (null != getContent()) { + return JsonUtils.toEventContent(getContent()); + } + return null; + } + + /** + * @return the content formatted as EventContent. + */ + public EventContent getWireEventContent() { + if (null != getWireContent()) { + return JsonUtils.toEventContent(getWireContent()); + } + return null; + } + + /** + * @return the content formatted as EventContent. + */ + public EventContent getPrevContent() { + if (null != getPrevContentAsJsonObject()) { + return JsonUtils.toEventContent(getPrevContentAsJsonObject()); + } + return null; + } + + /** + * @return the event age. + */ + public long getAge() { + if (null != age) { + return age; + } else if ((null != unsigned) && (null != unsigned.age)) { + age = unsigned.age; + return age; + } + + return Long.MAX_VALUE; + } + + /** + * @return the redacted event id. + */ + @Nullable + public String getRedactedEventId() { + if (null != redacts) { + return redacts; + } else if (isRedacted()) { + redacts = unsigned.redacted_because.redacts; + return redacts; + } + + return null; + } + + /** + * Create an event from a message. + * + * @param message the event content + * @param anUserId the event user Id + * @param aRoomId the vent room Id + */ + public Event(Message message, String anUserId, String aRoomId) { + type = Event.EVENT_TYPE_MESSAGE; + content = JsonUtils.toJson(message); + originServerTs = System.currentTimeMillis(); + sender = userId = anUserId; + roomId = aRoomId; + mSentState = Event.SentState.UNSENT; + createDummyEventId(); + } + + /** + * Create an event from a content and a type. + * + * @param aType the event type + * @param aContent the event content + * @param anUserId the event user Id + * @param aRoomId the vent room Id + */ + public Event(String aType, JsonObject aContent, String anUserId, String aRoomId) { + type = aType; + content = aContent; + originServerTs = System.currentTimeMillis(); + sender = userId = anUserId; + roomId = aRoomId; + mSentState = Event.SentState.UNSENT; + createDummyEventId(); + } + + /** + * Some events are not sent by the server. + * They are temporary stored until to get the server response. + */ + public void createDummyEventId() { + eventId = roomId + "-" + originServerTs; + age = DUMMY_EVENT_AGE; + } + + /** + * @return true if the event is a dummy id i.e this event has been created with createDummyEventId. + */ + public boolean isDummyEvent() { + return (roomId + "-" + originServerTs).equals(eventId); + } + + /** + * Update the pagination token. + * + * @param token the new token. + */ + public void setInternalPaginationToken(String token) { + mToken = token; + mIsInternalPaginationToken = true; + } + + /** + * @return true if the token has been set by setInternalPaginationToken. + */ + public boolean isInternalPaginationToken() { + return mIsInternalPaginationToken; + } + + /** + * @return true if the event has a token. + */ + public boolean hasToken() { + return (null != mToken) && !mIsInternalPaginationToken; + } + + /** + * @return true if the event if a call event. + */ + public boolean isCallEvent() { + return EVENT_TYPE_CALL_INVITE.equals(getType()) + || EVENT_TYPE_CALL_CANDIDATES.equals(getType()) + || EVENT_TYPE_CALL_ANSWER.equals(getType()) + || EVENT_TYPE_CALL_HANGUP.equals(getType()); + } + + /** + * Make a deep copy of this room state object. + * + * @return the copy + */ + public Event deepCopy() { + finalizeDeserialization(); + + Event copy = new Event(); + copy.type = type; + copy.content = content; + copy.contentAsString = contentAsString; + + copy.eventId = eventId; + copy.roomId = roomId; + copy.userId = userId; + copy.sender = sender; + copy.originServerTs = originServerTs; + copy.mTimeZoneRawOffset = mTimeZoneRawOffset; + copy.age = age; + + copy.stateKey = stateKey; + copy.prev_content = prev_content; + copy.prev_content_as_string = prev_content_as_string; + + copy.unsigned = unsigned; + copy.invite_room_state = invite_room_state; + copy.redacts = redacts; + + copy.mSentState = mSentState; + + copy.unsentException = unsentException; + copy.unsentMatrixError = unsentMatrixError; + + copy.mMatrixId = mMatrixId; + copy.mToken = mToken; + copy.mIsInternalPaginationToken = mIsInternalPaginationToken; + + return copy; + } + + /** + * Check if the current event can resent. + * + * @return true if it can be resent. + */ + public boolean canBeResent() { + return (mSentState == SentState.WAITING_RETRY) || (mSentState == SentState.UNDELIVERED) || (mSentState == SentState.FAILED_UNKNOWN_DEVICES); + } + + /** + * Check if the current event is encrypting. + * + * @return true if the message encryption is in progress. + */ + public boolean isEncrypting() { + return (mSentState == SentState.ENCRYPTING); + } + + /** + * Check if the current event is unsent. + * + * @return true if it is unsent. + */ + public boolean isUnsent() { + return (mSentState == SentState.UNSENT); + } + + /** + * Check if the current event is sending. + * + * @return true if it is sending. + */ + public boolean isSending() { + return (mSentState == SentState.SENDING) || (mSentState == SentState.WAITING_RETRY); + } + + /** + * Tell if the message sending failed + * + * @return true if the event has not been sent because of a failure + */ + public boolean isUndelivered() { + return (mSentState == SentState.UNDELIVERED); + } + + /** + * Tells if the message sending failed because some unknown devices have been detected. + * + * @return true if some unknown devices have been detected. + */ + public boolean isUnknownDevice() { + return (mSentState == SentState.FAILED_UNKNOWN_DEVICES); + } + + /** + * Check if the current event is sent. + * + * @return true if it is sent. + */ + public boolean isSent() { + return (mSentState == SentState.SENT); + } + + /** + * @return the media URLs defined in the event. + */ + public List getMediaUrls() { + List urls = new ArrayList<>(); + + if (Event.EVENT_TYPE_MESSAGE.equals(getType())) { + String msgType = JsonUtils.getMessageMsgType(getContent()); + + if (Message.MSGTYPE_IMAGE.equals(msgType)) { + ImageMessage imageMessage = JsonUtils.toImageMessage(getContent()); + + if (null != imageMessage.getUrl()) { + urls.add(imageMessage.getUrl()); + } + if (null != imageMessage.getThumbnailUrl()) { + urls.add(imageMessage.getThumbnailUrl()); + } + } else if (Message.MSGTYPE_FILE.equals(msgType) || Message.MSGTYPE_AUDIO.equals(msgType)) { + FileMessage fileMessage = JsonUtils.toFileMessage(getContent()); + + if (null != fileMessage.getUrl()) { + urls.add(fileMessage.getUrl()); + } + } else if (Message.MSGTYPE_VIDEO.equals(msgType)) { + VideoMessage videoMessage = JsonUtils.toVideoMessage(getContent()); + + if (null != videoMessage.getUrl()) { + urls.add(videoMessage.getUrl()); + } + if (null != videoMessage.getThumbnailUrl()) { + urls.add(videoMessage.getThumbnailUrl()); + } + } else if (Message.MSGTYPE_LOCATION.equals(msgType)) { + LocationMessage locationMessage = JsonUtils.toLocationMessage(getContent()); + + if (null != locationMessage.thumbnail_url) { + urls.add(locationMessage.thumbnail_url); + } + } + } else if (Event.EVENT_TYPE_STICKER.equals(getType())) { + StickerMessage stickerMessage = JsonUtils.toStickerMessage(getContent()); + + if (null != stickerMessage.getUrl()) { + urls.add(stickerMessage.getUrl()); + } + + if (null != stickerMessage.getThumbnailUrl()) { + urls.add(stickerMessage.getThumbnailUrl()); + } + } + + return urls; + } + + /** + * @return all the encrypted file infos defined in the event. + */ + public List getEncryptedFileInfos() { + List encryptedFileInfos = new ArrayList<>(); + + if (!isEncrypted()) { + // return empty array + return encryptedFileInfos; + } + + if (Event.EVENT_TYPE_MESSAGE.equals(getType())) { + String msgType = JsonUtils.getMessageMsgType(getContent()); + + if (Message.MSGTYPE_IMAGE.equals(msgType)) { + ImageMessage imageMessage = JsonUtils.toImageMessage(getContent()); + + if (null != imageMessage.file) { + encryptedFileInfos.add(imageMessage.file); + } + if (null != imageMessage.info && null != imageMessage.info.thumbnail_file) { + encryptedFileInfos.add(imageMessage.info.thumbnail_file); + } + } else if (Message.MSGTYPE_FILE.equals(msgType) || Message.MSGTYPE_AUDIO.equals(msgType)) { + FileMessage fileMessage = JsonUtils.toFileMessage(getContent()); + + if (null != fileMessage.file) { + encryptedFileInfos.add(fileMessage.file); + } + } else if (Message.MSGTYPE_VIDEO.equals(msgType)) { + VideoMessage videoMessage = JsonUtils.toVideoMessage(getContent()); + + if (null != videoMessage.file) { + encryptedFileInfos.add(videoMessage.file); + } + if (null != videoMessage.info && null != videoMessage.info.thumbnail_file) { + encryptedFileInfos.add(videoMessage.info.thumbnail_file); + } + } + } else if (Event.EVENT_TYPE_STICKER.equals(getType())) { + StickerMessage stickerMessage = JsonUtils.toStickerMessage(getContent()); + + if (null != stickerMessage.file) { + encryptedFileInfos.add(stickerMessage.file); + } + if (null != stickerMessage.info && null != stickerMessage.info.thumbnail_file) { + encryptedFileInfos.add(stickerMessage.info.thumbnail_file); + } + } + + return encryptedFileInfos; + } + + /** + * Tells if the current event is uploading a media. + * + * @param mediasCache the media cache + * @return true if the event is uploading a media. + */ + public boolean isUploadingMedias(MXMediasCache mediasCache) { + List urls = getMediaUrls(); + + for (String url : urls) { + if (mediasCache.getProgressValueForUploadId(url) >= 0) { + return true; + } + } + + return false; + } + + /** + * Tells if the current event is downloading a media. + * + * @param mediasCache the media cache + * @return true if the event is downloading a media. + */ + public boolean isDownloadingMedias(MXMediasCache mediasCache) { + List urls = getMediaUrls(); + + for (String url : urls) { + if (mediasCache.getProgressValueForDownloadId(mediasCache.downloadIdFromUrl(url)) >= 0) { + return true; + } + } + + return false; + } + + @Override + public String toString() { + // build the string by hand + String text = "{\n"; + + text += " \"age\" : " + age + ",\n"; + + text += " \"content\": {\n"; + + if (null != getWireContent()) { + if (getWireContent().isJsonArray()) { + for (JsonElement e : getWireContent().getAsJsonArray()) { + text += " " + e.toString() + ",\n"; + } + } else if (getWireContent().isJsonObject()) { + for (Map.Entry e : getWireContent().getAsJsonObject().entrySet()) { + text += " \"" + e.getKey() + "\": " + e.getValue().toString() + ",\n"; + } + } else { + text += getWireContent().toString(); + } + } + + text += " },\n"; + + text += " \"eventId\": \"" + eventId + "\",\n"; + text += " \"originServerTs\": " + originServerTs + ",\n"; + text += " \"roomId\": \"" + roomId + "\",\n"; + text += " \"type\": \"" + type + "\",\n"; + text += " \"userId\": \"" + userId + "\",\n"; + text += " \"sender\": \"" + sender + "\",\n"; + + text += "}"; + + text += "\n\n Sent state : "; + + if (mSentState == SentState.UNSENT) { + text += "UNSENT"; + } else if (mSentState == SentState.SENDING) { + text += "SENDING"; + } else if (mSentState == SentState.WAITING_RETRY) { + text += "WAITING_RETRY"; + } else if (mSentState == SentState.SENT) { + text += "SENT"; + } else if (mSentState == SentState.UNDELIVERED) { + text += "UNDELIVERED"; + } else if (mSentState == SentState.FAILED_UNKNOWN_DEVICES) { + text += "FAILED UNKNOWN DEVICES"; + } + + if (null != unsentException) { + text += "\n\n Exception reason: " + unsentException.getMessage() + "\n"; + } + + if (null != unsentMatrixError) { + text += "\n\n Matrix reason: " + unsentMatrixError.getLocalizedMessage() + "\n"; + } + + return text; + } + + @Override + public void readExternal(ObjectInput input) throws IOException, ClassNotFoundException { + if (input.readBoolean()) { + type = input.readUTF(); + } + + if (input.readBoolean()) { + contentAsString = input.readUTF(); + } + + if (input.readBoolean()) { + prev_content_as_string = input.readUTF(); + } + + if (input.readBoolean()) { + eventId = input.readUTF(); + } + + if (input.readBoolean()) { + roomId = input.readUTF(); + } + + if (input.readBoolean()) { + userId = input.readUTF(); + } + + if (input.readBoolean()) { + sender = input.readUTF(); + } + + originServerTs = input.readLong(); + + if (input.readBoolean()) { + age = input.readLong(); + } + + if (input.readBoolean()) { + stateKey = input.readUTF(); + } + + if (input.readBoolean()) { + unsigned = (UnsignedData) input.readObject(); + } + + if (input.readBoolean()) { + redacts = input.readUTF(); + } + + if (input.readBoolean()) { + invite_room_state = (List) input.readObject(); + } + + if (input.readBoolean()) { + unsentException = (Exception) input.readObject(); + } + + if (input.readBoolean()) { + unsentMatrixError = (MatrixError) input.readObject(); + } + + mSentState = (SentState) input.readObject(); + + if (input.readBoolean()) { + mToken = input.readUTF(); + } + + mIsInternalPaginationToken = input.readBoolean(); + + if (input.readBoolean()) { + mMatrixId = input.readUTF(); + } + + mTimeZoneRawOffset = input.readLong(); + } + + @Override + public void writeExternal(ObjectOutput output) throws IOException { + prepareSerialization(); + + output.writeBoolean(null != type); + if (null != type) { + output.writeUTF(type); + } + + output.writeBoolean(null != contentAsString); + if (null != contentAsString) { + output.writeUTF(contentAsString); + } + + output.writeBoolean(null != prev_content_as_string); + if (null != prev_content_as_string) { + output.writeUTF(prev_content_as_string); + } + + output.writeBoolean(null != eventId); + if (null != eventId) { + output.writeUTF(eventId); + } + + output.writeBoolean(null != roomId); + if (null != roomId) { + output.writeUTF(roomId); + } + + output.writeBoolean(null != userId); + if (null != userId) { + output.writeUTF(userId); + } + + output.writeBoolean(null != sender); + if (null != sender) { + output.writeUTF(sender); + } + + output.writeLong(originServerTs); + + output.writeBoolean(null != age); + if (null != age) { + output.writeLong(age); + } + + output.writeBoolean(null != stateKey); + if (null != stateKey) { + output.writeUTF(stateKey); + } + + output.writeBoolean(null != unsigned); + if (null != unsigned) { + output.writeObject(unsigned); + } + + output.writeBoolean(null != redacts); + if (null != redacts) { + output.writeUTF(redacts); + } + + output.writeBoolean(null != invite_room_state); + if (null != invite_room_state) { + output.writeObject(invite_room_state); + } + + output.writeBoolean(null != unsentException); + if (null != unsentException) { + output.writeObject(unsentException); + } + + output.writeBoolean(null != unsentMatrixError); + if (null != unsentMatrixError) { + output.writeObject(unsentMatrixError); + } + + output.writeObject(mSentState); + + output.writeBoolean(null != mToken); + if (null != mToken) { + output.writeUTF(mToken); + } + + output.writeBoolean(mIsInternalPaginationToken); + + output.writeBoolean(null != mMatrixId); + if (null != mMatrixId) { + output.writeUTF(mMatrixId); + } + + output.writeLong(mTimeZoneRawOffset); + } + + /** + * Init some internal fields to serialize the event. + */ + private void prepareSerialization() { + if ((null != content) && (null == contentAsString)) { + contentAsString = content.toString(); + } + + if ((null != getPrevContentAsJsonObject()) && (null == prev_content_as_string)) { + prev_content_as_string = getPrevContentAsJsonObject().toString(); + } + + if ((null != unsigned) && (null != unsigned.prev_content)) { + unsigned.prev_content = null; + } + } + + /** + * Deserialize the event. + */ + private void finalizeDeserialization() { + if ((null != contentAsString) && (null == content)) { + try { + content = new JsonParser().parse(contentAsString).getAsJsonObject(); + } catch (Exception e) { + Log.e(LOG_TAG, "finalizeDeserialization : contentAsString deserialization " + e.getMessage(), e); + contentAsString = null; + } + } + + if ((null != prev_content_as_string) && (null == prev_content)) { + try { + prev_content = new JsonParser().parse(prev_content_as_string).getAsJsonObject(); + } catch (Exception e) { + Log.e(LOG_TAG, "finalizeDeserialization : prev_content_as_string deserialization " + e.getMessage(), e); + prev_content_as_string = null; + } + } + } + + /** + * Filter a JsonObject to keep only the allowed keys. + * + * @param aContent the JsonObject to filter. + * @param allowedKeys the allowed keys list. + * @return the filtered JsonObject + */ + private static JsonObject filterInContentWithKeys(JsonObject aContent, List allowedKeys) { + // sanity check + if (null == aContent) { + return null; + } + + JsonObject filteredContent = new JsonObject(); + + // remove any key + if ((null == allowedKeys) || (0 == allowedKeys.size())) { + return new JsonObject(); + } + + Set> entries = aContent.entrySet(); + + if (null != entries) { + for (Map.Entry entry : entries) { + if (allowedKeys.indexOf(entry.getKey()) >= 0) { + filteredContent.add(entry.getKey(), entry.getValue()); + } + } + } + + return filteredContent; + } + + /** + * Prune the event which removes all keys we don't know about or think could potentially be dodgy. + * This is used when we "redact" an event. We want to remove all fields that the user has specified, + * but we do want to keep necessary information like type, state_key etc. + * + * @param redactionEvent the event which triggers this redaction + */ + public void prune(Event redactionEvent) { + // Filter in event by keeping only the following keys + List allowedKeys; + + // Add filtered content, allowed keys in content depends on the event type + if (TextUtils.equals(Event.EVENT_TYPE_STATE_ROOM_MEMBER, type)) { + allowedKeys = new ArrayList<>(Arrays.asList("membership")); + } else if (TextUtils.equals(Event.EVENT_TYPE_STATE_ROOM_CREATE, type)) { + allowedKeys = new ArrayList<>(Arrays.asList("creator")); + } else if (TextUtils.equals(Event.EVENT_TYPE_STATE_ROOM_JOIN_RULES, type)) { + allowedKeys = new ArrayList<>(Arrays.asList("join_rule")); + } else if (TextUtils.equals(Event.EVENT_TYPE_STATE_ROOM_POWER_LEVELS, type)) { + allowedKeys = new ArrayList<>(Arrays.asList("users", + "users_default", + "events", + "events_default", + "state_default", + "ban", + "kick", + "redact", + "invite")); + } else if (TextUtils.equals(Event.EVENT_TYPE_STATE_ROOM_ALIASES, type)) { + allowedKeys = new ArrayList<>(Arrays.asList("aliases")); + } else if (TextUtils.equals(Event.EVENT_TYPE_STATE_CANONICAL_ALIAS, type)) { + allowedKeys = new ArrayList<>(Arrays.asList("alias")); + } else if (TextUtils.equals(Event.EVENT_TYPE_FEEDBACK, type)) { + allowedKeys = new ArrayList<>(Arrays.asList("type", "target_event_id")); + } else if (TextUtils.equals(Event.EVENT_TYPE_MESSAGE_ENCRYPTED, type)) { + mClearEvent = null; + allowedKeys = null; + } else { + allowedKeys = null; + } + + content = filterInContentWithKeys(getContentAsJsonObject(), allowedKeys); + prev_content = filterInContentWithKeys(getPrevContentAsJsonObject(), allowedKeys); + + prev_content_as_string = null; + contentAsString = null; + + if (null != redactionEvent) { + if (null == unsigned) { + unsigned = new UnsignedData(); + } + + unsigned.redacted_because = new RedactedBecause(); + unsigned.redacted_because.type = redactionEvent.type; + unsigned.redacted_because.origin_server_ts = redactionEvent.originServerTs; + unsigned.redacted_because.sender = redactionEvent.sender; + unsigned.redacted_because.event_id = redactionEvent.eventId; + unsigned.redacted_because.unsigned = redactionEvent.unsigned; + unsigned.redacted_because.redacts = redactionEvent.redacts; + + unsigned.redacted_because.content = new RedactedContent(); + + JsonObject contentAsJson = getContentAsJsonObject(); + if ((null != contentAsJson) && contentAsJson.has("reason")) { + try { + unsigned.redacted_because.content.reason = contentAsJson.get("reason").getAsString(); + } catch (Exception e) { + Log.e(LOG_TAG, "unsigned.redacted_because.content.reason failed " + e.getMessage(), e); + } + + } + } + } + + //============================================================================================================== + // Crypto + //============================================================================================================== + + /** + * For encrypted events, the plaintext payload for the event. + * This is a small MXEvent instance with typically value for `type` and 'content' fields. + */ + private transient Event mClearEvent; + + /** + * Curve25519 key which we believe belongs to the sender of the event. + * See `senderKey` property. + */ + private transient String mSenderCurve25519Key; + + /** + * Ed25519 key which the sender of this event (for olm) or the creator of the megolm session (for megolm) claims to own. + * See `claimedEd25519Key` property. + */ + private transient String mClaimedEd25519Key; + + /** + * Curve25519 keys of devices involved in telling us about the senderCurve25519Key and claimedEd25519Key. + * See `forwardingCurve25519KeyChain` property. + */ + private transient List mForwardingCurve25519KeyChain = new ArrayList<>(); + + /** + * Decryption error + */ + private MXCryptoError mCryptoError; + + /** + * @return true if this event is encrypted. + */ + public boolean isEncrypted() { + return TextUtils.equals(getWireType(), EVENT_TYPE_MESSAGE_ENCRYPTED); + } + + /** + * Update the clear data on this event. + * This is used after decrypting an event; it should not be used by applications. + * It fires kMXEventDidDecryptNotification. + * + * @param decryptionResult the decryption result, including the plaintext and some key info. + */ + public void setClearData(@Nullable MXEventDecryptionResult decryptionResult) { + mClearEvent = null; + + if (null != decryptionResult) { + if (null != decryptionResult.mClearEvent) { + mClearEvent = JsonUtils.toEvent(decryptionResult.mClearEvent); + } + + if (null != mClearEvent) { + mClearEvent.mSenderCurve25519Key = decryptionResult.mSenderCurve25519Key; + mClearEvent.mClaimedEd25519Key = decryptionResult.mClaimedEd25519Key; + + if (null != decryptionResult.mForwardingCurve25519KeyChain) { + mClearEvent.mForwardingCurve25519KeyChain = decryptionResult.mForwardingCurve25519KeyChain; + } else { + mClearEvent.mForwardingCurve25519KeyChain = new ArrayList<>(); + } + + try { + // Add "m.relates_to" data from e2e event to the unencrypted event + if (getWireContent().getAsJsonObject().has("m.relates_to")) { + mClearEvent.getContentAsJsonObject() + .add("m.relates_to", getWireContent().getAsJsonObject().get("m.relates_to")); + } + } catch (Exception e) { + Log.e(LOG_TAG, "Unable to restore 'm.relates_to' the clear event", e); + } + } + + mCryptoError = null; + } + } + + /** + * @return The curve25519 key that sent this event. + */ + public String senderKey() { + if (null != mClearEvent) { + return mClearEvent.mSenderCurve25519Key; + } else { + return mSenderCurve25519Key; + } + } + + /** + * @return The additional keys the sender of this encrypted event claims to possess. + */ + public Map getKeysClaimed() { + Map res = new HashMap<>(); + + String claimedEd25519Key = (null != getClearEvent()) ? getClearEvent().mClaimedEd25519Key : mClaimedEd25519Key; + + if (null != claimedEd25519Key) { + res.put("ed25519", claimedEd25519Key); + } + + return res; + } + + /** + * @return the claimed Ed25519 key + */ + /*public String getClaimedEd25519Key() { + if (null != mClearEvent) { + return mClearEvent.mClaimedEd25519Key; + } else { + return mClaimedEd25519Key; + } + }*/ + + /** + * @return Get the curve25519 keys of the devices which were involved in telling us about the claimedEd25519Key and sender curve25519 key. + */ + /*public List getForwardingCurve25519KeyChain() { + List res = (null != mClearEvent) ? mClearEvent.mForwardingCurve25519KeyChain : mForwardingCurve25519KeyChain; + + if (null == res) { + res = new ArrayList<>(); + } + + return res; + }*/ + + /** + * @return the linked crypto error + */ + public MXCryptoError getCryptoError() { + return mCryptoError; + } + + /** + * Update the linked crypto error + * + * @param error the new crypto error. + */ + public void setCryptoError(MXCryptoError error) { + mCryptoError = error; + if (null != error) { + mClearEvent = null; + } + } + + /** + * @return the clear event + */ + public Event getClearEvent() { + return mClearEvent; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/EventContent.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/EventContent.java new file mode 100644 index 00000000..ae0540d5 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/EventContent.java @@ -0,0 +1,49 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import im.vector.matrix.android.internal.legacy.rest.model.pid.RoomThirdPartyInvite; + +/** + * Class representing an event content + */ +public class EventContent implements java.io.Serializable { + /** + * The display name for this user, if any. + */ + public String displayname; + + /** + * The avatar URL for this user, if any. + */ + public String avatar_url; + + /** + * The membership state of the user. One of: ["invite", "join", "knock", "leave", "ban"] + */ + public String membership; + + /** + * the third party invite + */ + public RoomThirdPartyInvite third_party_invite; + + /* + * e2e encryption format + */ + public String algorithm; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/EventContext.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/EventContext.java new file mode 100644 index 00000000..8e8a4680 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/EventContext.java @@ -0,0 +1,56 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import java.util.List; + +/** + * represents the response to the /context request. + */ +public class EventContext { + + /** + * The event on which /context has been requested. + */ + public Event event; + + /** + * A token that can be used to paginate backwards with. + */ + public String start; + + /** + * A list of room events that happened just before the requested event. + * The order is anti-chronological. + */ + public List eventsBefore; + + /** + * A list of room events that happened just after the requested event. + * The order is chronological. + */ + public List eventsAfter; + + /** + * A token that can be used to paginate forwards with. + */ + public String end; + + /** + * The state of the room at the last event returned. + */ + public List state; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ForgetPasswordParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ForgetPasswordParams.java new file mode 100644 index 00000000..f340681a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ForgetPasswordParams.java @@ -0,0 +1,42 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +/** + * The forget password params + */ +public class ForgetPasswordParams { + + /** + * The email address + **/ + public String email; + + /** + * Client-generated secret string used to protect this session + **/ + public String client_secret; + + /** + * Used to distinguish protocol level retries from requests to re-send the email. + **/ + public Integer send_attempt; + + /** + * The ID server to send the onward request to as a hostname with an appended colon and port number if the port is not the default. + **/ + public String id_server; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ForgetPasswordResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ForgetPasswordResponse.java new file mode 100644 index 00000000..46570b3c --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ForgetPasswordResponse.java @@ -0,0 +1,27 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +/** + * The forget password response + */ +public class ForgetPasswordResponse { + + /** + * The session id + **/ + public String sid; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/HttpError.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/HttpError.java new file mode 100644 index 00000000..baeec219 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/HttpError.java @@ -0,0 +1,44 @@ +package im.vector.matrix.android.internal.legacy.rest.model; + +public final class HttpError { + private final String errorBody; + private final int httpCode; + + public HttpError(String errorBody, int httpCode) { + this.errorBody = errorBody; + this.httpCode = httpCode; + } + + public String getErrorBody() { + return errorBody; + } + + public int getHttpCode() { + return httpCode; + } + + @Override public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + HttpError httpError = (HttpError) o; + + if (httpCode != httpError.httpCode) return false; + return errorBody != null ? + errorBody.equals(httpError.errorBody) : + httpError.errorBody == null; + } + + @Override public int hashCode() { + int result = errorBody != null ? errorBody.hashCode() : 0; + result = 31 * result + httpCode; + return result; + } + + @Override public String toString() { + return "HttpError{" + + "errorBody='" + errorBody + '\'' + + ", httpCode=" + httpCode + + '}'; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/HttpException.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/HttpException.java new file mode 100644 index 00000000..957d49a9 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/HttpException.java @@ -0,0 +1,14 @@ +package im.vector.matrix.android.internal.legacy.rest.model; + +public class HttpException extends Exception { + + private final HttpError httpError; + + public HttpException(HttpError httpError) { + this.httpError = httpError; + } + + public HttpError getHttpError() { + return httpError; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Invite.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Invite.java new file mode 100644 index 00000000..9105ca7f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Invite.java @@ -0,0 +1,31 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +/** + * subclass representing a search API response + */ +public class Invite implements java.io.Serializable { + /** + * A name which can be displayed to represent the user instead of their third party identifier. + */ + public String display_name; + + /** + * A block of content which has been signed, which servers can use to verify the event. Clients should ignore this. + */ + public Signed signed; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/MatrixError.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/MatrixError.java new file mode 100644 index 00000000..ae7fd3e1 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/MatrixError.java @@ -0,0 +1,160 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import android.support.annotation.Nullable; +import android.text.TextUtils; + +import com.google.gson.annotations.SerializedName; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +import okhttp3.MediaType; +import okhttp3.ResponseBody; + +/** + * Represents a standard error response. + */ +public class MatrixError implements java.io.Serializable { + public static final String FORBIDDEN = "M_FORBIDDEN"; + public static final String UNKNOWN = "M_UNKNOWN"; + public static final String UNKNOWN_TOKEN = "M_UNKNOWN_TOKEN"; + public static final String BAD_JSON = "M_BAD_JSON"; + public static final String NOT_JSON = "M_NOT_JSON"; + public static final String NOT_FOUND = "M_NOT_FOUND"; + public static final String LIMIT_EXCEEDED = "M_LIMIT_EXCEEDED"; + public static final String USER_IN_USE = "M_USER_IN_USE"; + public static final String ROOM_IN_USE = "M_ROOM_IN_USE"; + public static final String BAD_PAGINATION = "M_BAD_PAGINATION"; + public static final String UNAUTHORIZED = "M_UNAUTHORIZED"; + public static final String OLD_VERSION = "M_OLD_VERSION"; + public static final String UNRECOGNIZED = "M_UNRECOGNIZED"; + + public static final String LOGIN_EMAIL_URL_NOT_YET = "M_LOGIN_EMAIL_URL_NOT_YET"; + public static final String THREEPID_AUTH_FAILED = "M_THREEPID_AUTH_FAILED"; + // Error code returned by the server when no account matches the given 3pid + public static final String THREEPID_NOT_FOUND = "M_THREEPID_NOT_FOUND"; + public static final String THREEPID_IN_USE = "M_THREEPID_IN_USE"; + public static final String SERVER_NOT_TRUSTED = "M_SERVER_NOT_TRUSTED"; + public static final String TOO_LARGE = "M_TOO_LARGE"; + public static final String M_CONSENT_NOT_GIVEN = "M_CONSENT_NOT_GIVEN"; + public static final String RESOURCE_LIMIT_EXCEEDED = "M_RESOURCE_LIMIT_EXCEEDED"; + + // custom ones + public static final String NOT_SUPPORTED = "M_NOT_SUPPORTED"; + + // Possible value for "limit_type" + public static final String LIMIT_TYPE_MAU = "monthly_active_user"; + + // Define the configuration error codes. + // The others matrix errors are requests dedicated + // UNKNOWN_TOKEN : the access token is no more valid + // OLD_VERSION : the current SDK / application versions are too old and might trigger some unexpected errors. + public static final Set mConfigurationErrorCodes = new HashSet<>(Arrays.asList(UNKNOWN_TOKEN, OLD_VERSION)); + + public String errcode; + public String error; + public Integer retry_after_ms; + + @SerializedName("consent_uri") + public String consentUri; + + // RESOURCE_LIMIT_EXCEEDED data + @SerializedName("limit_type") + public String limitType; + @Nullable + @SerializedName("admin_contact") + public String adminUri; + + + // extracted from the error response + public Integer mStatus; + public String mReason; + public ResponseBody mErrorBody; + public String mErrorBodyAsString; + public MediaType mErrorBodyMimeType; + + /** + * Default creator + */ + public MatrixError() { + } + + /** + * Creator with error description + * + * @param anErrcode the error code. + * @param anError the error message. + */ + public MatrixError(String anErrcode, String anError) { + errcode = anErrcode; + error = anError; + } + + /** + * @return a localized error message. + */ + public String getLocalizedMessage() { + String localizedMessage = ""; + + if (!TextUtils.isEmpty(error)) { + localizedMessage = error; + } else if (!TextUtils.isEmpty(errcode)) { + localizedMessage = errcode; + } + + return localizedMessage; + } + + /** + * @return a error message. + */ + public String getMessage() { + return getLocalizedMessage(); + } + + /** + * @return true if the error code is a supported one + */ + public boolean isSupportedErrorCode() { + return MatrixError.FORBIDDEN.equals(errcode) + || MatrixError.UNKNOWN_TOKEN.equals(errcode) + || MatrixError.BAD_JSON.equals(errcode) + || MatrixError.NOT_JSON.equals(errcode) + || MatrixError.NOT_FOUND.equals(errcode) + || MatrixError.LIMIT_EXCEEDED.equals(errcode) + || MatrixError.USER_IN_USE.equals(errcode) + || MatrixError.ROOM_IN_USE.equals(errcode) + || MatrixError.TOO_LARGE.equals(errcode) + || MatrixError.BAD_PAGINATION.equals(errcode) + || MatrixError.OLD_VERSION.equals(errcode) + || MatrixError.UNRECOGNIZED.equals(errcode) + || MatrixError.RESOURCE_LIMIT_EXCEEDED.equals(errcode); + } + + /** + * Tells if a matrix error code is a configuration error code. + * + * @param matrixErrorCode the matrix error code + * @return true if it is one + */ + public static boolean isConfigurationErrorCode(String matrixErrorCode) { + return (null != matrixErrorCode) && mConfigurationErrorCodes.contains(matrixErrorCode); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/MediaScanPublicKeyResult.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/MediaScanPublicKeyResult.java new file mode 100644 index 00000000..14599399 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/MediaScanPublicKeyResult.java @@ -0,0 +1,27 @@ +/* + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import com.google.gson.annotations.SerializedName; + +/** + * Class to contain the public key of the media scan server. + */ +public class MediaScanPublicKeyResult { + + @SerializedName("public_key") + public String mCurve25519PublicKey; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/MediaScanResult.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/MediaScanResult.java new file mode 100644 index 00000000..138e156c --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/MediaScanResult.java @@ -0,0 +1,26 @@ +/* + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +/** + * Class to contain the anti-virus scan result of a matrix content. + */ +public class MediaScanResult { + // If true, the script ran with an exit code of 0. Otherwise it ran with a non-zero exit code. + public boolean clean; + // Human-readable information about the result. + public String info; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/PowerLevels.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/PowerLevels.java new file mode 100644 index 00000000..a2be2ee8 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/PowerLevels.java @@ -0,0 +1,169 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import android.text.TextUtils; + +import java.util.HashMap; +import java.util.Map; + +public class PowerLevels implements java.io.Serializable { + public int ban = 50; + public int kick = 50; + public int invite = 50; + public int redact = 50; + + public int events_default = 0; + public Map events = new HashMap<>(); + + public int users_default = 0; + public Map users = new HashMap<>(); + + public int state_default = 50; + + public Map notifications = new HashMap<>(); + + public PowerLevels deepCopy() { + PowerLevels copy = new PowerLevels(); + copy.ban = ban; + copy.kick = kick; + copy.invite = invite; + copy.redact = redact; + + copy.events_default = events_default; + copy.events = new HashMap<>(); + copy.events.putAll(events); + + copy.users_default = users_default; + copy.users = new HashMap<>(); + copy.users.putAll(users); + + copy.state_default = state_default; + + copy.notifications = new HashMap<>(notifications); + + return copy; + } + + /** + * Returns the user power level of a dedicated user Id + * + * @param userId the user id + * @return the power level + */ + public int getUserPowerLevel(String userId) { + // sanity check + if (!TextUtils.isEmpty(userId)) { + Integer powerLevel = users.get(userId); + return (powerLevel != null) ? powerLevel : users_default; + } + + return users_default; + } + + /** + * Updates the user power levels of a dedicated user id + * + * @param userId the user + * @param powerLevel the new power level + */ + public void setUserPowerLevel(String userId, int powerLevel) { + if (null != userId) { + users.put(userId, Integer.valueOf(powerLevel)); + } + } + + /** + * Tell if an user can send an event of type 'eventTypeString'. + * + * @param eventTypeString the event type (in Event.EVENT_TYPE_XXX values) + * @param userId the user id + * @return true if the user can send the event + */ + public boolean maySendEventOfType(String eventTypeString, String userId) { + if (!TextUtils.isEmpty(eventTypeString) && !TextUtils.isEmpty(userId)) { + return getUserPowerLevel(userId) >= minimumPowerLevelForSendingEventAsMessage(eventTypeString); + } + + return false; + } + + /** + * Tells if an user can send a room message. + * + * @param userId the user id + * @return true if the user can send a room message + */ + public boolean maySendMessage(String userId) { + return maySendEventOfType(Event.EVENT_TYPE_MESSAGE, userId); + } + + /** + * Helper to get the minimum power level the user must have to send an event of the given type + * as a message. + * + * @param eventTypeString the type of event (in Event.EVENT_TYPE_XXX values) + * @return the required minimum power level. + */ + public int minimumPowerLevelForSendingEventAsMessage(String eventTypeString) { + int minimumPowerLevel = events_default; + + if ((null != eventTypeString) && events.containsKey(eventTypeString)) { + minimumPowerLevel = events.get(eventTypeString); + } + + return minimumPowerLevel; + } + + /** + * Helper to get the minimum power level the user must have to send an event of the given type + * as a state event. + * + * @param eventTypeString the type of event (in Event.EVENT_TYPE_STATE_ values). + * @return the required minimum power level. + */ + public int minimumPowerLevelForSendingEventAsStateEvent(String eventTypeString) { + int minimumPowerLevel = state_default; + + if ((null != eventTypeString) && events.containsKey(eventTypeString)) { + minimumPowerLevel = events.get(eventTypeString); + } + + return minimumPowerLevel; + } + + + /** + * Get the notification level for a dedicated key. + * + * @param key the notification key + * @return the level + */ + public int notificationLevel(String key) { + if ((null != key) && notifications.containsKey(key)) { + Object valAsVoid = notifications.get(key); + + // the first implementation was a string value + if (valAsVoid instanceof String) { + return Integer.parseInt((String) valAsVoid); + } else { + return (int) valAsVoid; + } + } + + return 50; + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/PushersResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/PushersResponse.java new file mode 100644 index 00000000..a3a9d28f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/PushersResponse.java @@ -0,0 +1,27 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import im.vector.matrix.android.internal.legacy.data.Pusher; + +import java.util.List; + +/** + * Class representing the pushers GET response + */ +public class PushersResponse { + public List pushers; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ReceiptData.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ReceiptData.java new file mode 100644 index 00000000..89372347 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ReceiptData.java @@ -0,0 +1,42 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import im.vector.matrix.android.internal.legacy.interfaces.DatedObject; + +public class ReceiptData implements java.io.Serializable, DatedObject { + + // the user id + public String userId; + + // The event id. + public String eventId; + + // The timestamp in ms since Epoch generated by the origin homeserver when it receives the event from the client. + public long originServerTs; + + public ReceiptData(String anUserId, String anEventId, long aTs) { + userId = anUserId; + eventId = anEventId; + originServerTs = aTs; + } + + @Override + public long getDate() { + return originServerTs; + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RedactedBecause.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RedactedBecause.java new file mode 100644 index 00000000..c81881da --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RedactedBecause.java @@ -0,0 +1,43 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +/** + * Redacted information + */ +public class RedactedBecause implements java.io.Serializable { + + // should be m.room.redaction" + public String type; + + // + public long origin_server_ts; + + // the redacted sender + public String sender; + + // the events Id + public String event_id; + + // unsigned + public UnsignedData unsigned; + + // + public String redacts; + + // should defined the reason + public RedactedContent content; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RedactedContent.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RedactedContent.java new file mode 100644 index 00000000..06636683 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RedactedContent.java @@ -0,0 +1,25 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +/** + * Redacted information + */ +public class RedactedContent implements java.io.Serializable { + + // the redaction reason + public String reason; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ReportContentParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ReportContentParams.java new file mode 100644 index 00000000..fc6ecc78 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ReportContentParams.java @@ -0,0 +1,31 @@ +/* + * Copyright 2014 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model; + +import java.util.List; + +/** + * Parameters to report an event content + */ +public class ReportContentParams { + + // The event range from -100 “most offensive” to 0 “inoffensive”. + public int score; + + // the report reason + public String reason; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RequestEmailValidationParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RequestEmailValidationParams.java new file mode 100755 index 00000000..8c4c68a4 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RequestEmailValidationParams.java @@ -0,0 +1,38 @@ +/* + * Copyright 2017 Vector Creations 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model; + +/** + * Parameters to request a validation token for an email + */ +public class RequestEmailValidationParams { + + // the email address + public String email; + + // the client secret key + public String clientSecret; + + // the attempt count + public Integer sendAttempt; + + // the server id + public String id_server; + + // the nextlink (given if it is a registration process) + public String next_link; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RequestEmailValidationResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RequestEmailValidationResponse.java new file mode 100755 index 00000000..8fd3b9ec --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RequestEmailValidationResponse.java @@ -0,0 +1,34 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +/** + * Response to a request an email validation post + */ +public class RequestEmailValidationResponse { + + // the client secret key + public String clientSecret; + + // the email address + public String email; + + // the attempt count + public Integer sendAttempt; + + // the email sid + public String sid; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RequestPhoneNumberValidationParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RequestPhoneNumberValidationParams.java new file mode 100755 index 00000000..b62fbaa6 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RequestPhoneNumberValidationParams.java @@ -0,0 +1,38 @@ +/* + * Copyright 2017 Vector Creations 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model; + +/** + * Parameters to request a validation token for a phone number + */ +public class RequestPhoneNumberValidationParams { + + // the country + public String country; + + // the phone number + public String phone_number; + + // the client secret key + public String clientSecret; + + // the attempt count + public Integer sendAttempt; + + // the server id + public String id_server; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RequestPhoneNumberValidationResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RequestPhoneNumberValidationResponse.java new file mode 100755 index 00000000..c11813e5 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RequestPhoneNumberValidationResponse.java @@ -0,0 +1,37 @@ +/* + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +/** + * Response to a request an phone number validation request + */ +public class RequestPhoneNumberValidationResponse { + + // the client secret key + public String clientSecret; + + // the attempt count + public Integer sendAttempt; + + // the sid + public String sid; + + // the msisdn + public String msisdn; + + // phone number international format + public String intl_fmt; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomAliasDescription.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomAliasDescription.java new file mode 100644 index 00000000..f034cb2e --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomAliasDescription.java @@ -0,0 +1,33 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import java.util.List; + +/** + * Class representing a room alias + */ +public class RoomAliasDescription { + /** + * The room ID for this alias. + */ + public String room_id; + + /** + * A list of servers that are aware of this room ID. + */ + public List servers; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomCreateContent.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomCreateContent.java new file mode 100644 index 00000000..3d4e2fe6 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomCreateContent.java @@ -0,0 +1,62 @@ +/* + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +/** + * Content of a m.room.create type event + */ +public class RoomCreateContent implements Serializable { + + public String creator; + public Predecessor predecessor; + + public RoomCreateContent deepCopy() { + final RoomCreateContent copy = new RoomCreateContent(); + copy.creator = creator; + copy.predecessor = predecessor != null ? predecessor.deepCopy() : null; + return copy; + } + + public boolean hasPredecessor() { + return predecessor != null; + } + + /** + * A link to an old room in case of room versioning + */ + public static class Predecessor implements Serializable { + + @SerializedName("room_id") + public String roomId; + + @SerializedName("event_id") + public String eventId; + + public Predecessor deepCopy() { + final Predecessor copy = new Predecessor(); + copy.roomId = roomId; + copy.eventId = eventId; + return copy; + } + } + + +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomDirectoryVisibility.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomDirectoryVisibility.java new file mode 100644 index 00000000..24d76067 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomDirectoryVisibility.java @@ -0,0 +1,24 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model; + +public class RoomDirectoryVisibility { + public static final String DIRECTORY_VISIBILITY_PRIVATE = "private"; + public static final String DIRECTORY_VISIBILITY_PUBLIC = "public"; + + public String visibility; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomMember.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomMember.java new file mode 100644 index 00000000..e797b831 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomMember.java @@ -0,0 +1,349 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import android.text.TextUtils; + +import com.google.gson.annotations.SerializedName; + +import im.vector.matrix.android.internal.legacy.util.ContentManager; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.io.Externalizable; +import java.io.IOException; +import java.io.ObjectInput; +import java.io.ObjectOutput; +import java.util.Comparator; + +/** + * Class representing a room member: a user with membership information. + */ +public class RoomMember implements Externalizable { + private static final String LOG_TAG = RoomMember.class.getSimpleName(); + + public static final String MEMBERSHIP_JOIN = "join"; + public static final String MEMBERSHIP_INVITE = "invite"; + public static final String MEMBERSHIP_LEAVE = "leave"; + public static final String MEMBERSHIP_BAN = "ban"; + + // not supported by the server sync response by computed from the room state events + public static final String MEMBERSHIP_KICK = "kick"; + + public String displayname; + public String avatarUrl; + public String membership; + public Invite thirdPartyInvite; + + // tells that the inviter starts a direct chat room + @SerializedName("is_direct") + public Boolean isDirect; + + private String userId = null; + // timestamp of the event which has created this member + private long mOriginServerTs = -1; + + // the event used to build the room member + private String mOriginalEventId = null; + + // kick / ban reason + public String reason; + // user which banned or kicked this member + public String mSender; + + @Override + public void readExternal(ObjectInput input) throws IOException, ClassNotFoundException { + if (input.readBoolean()) { + displayname = input.readUTF(); + } + + if (input.readBoolean()) { + avatarUrl = input.readUTF(); + } + + if (input.readBoolean()) { + membership = input.readUTF(); + } + + if (input.readBoolean()) { + thirdPartyInvite = (Invite) input.readObject(); + } + + if (input.readBoolean()) { + isDirect = input.readBoolean(); + } + + if (input.readBoolean()) { + userId = input.readUTF(); + } + + mOriginServerTs = input.readLong(); + + if (input.readBoolean()) { + mOriginalEventId = input.readUTF(); + } + + if (input.readBoolean()) { + reason = input.readUTF(); + } + + if (input.readBoolean()) { + mSender = input.readUTF(); + } + } + + @Override + public void writeExternal(ObjectOutput output) throws IOException { + output.writeBoolean(null != displayname); + if (null != displayname) { + output.writeUTF(displayname); + } + + output.writeBoolean(null != avatarUrl); + if (null != avatarUrl) { + output.writeUTF(avatarUrl); + } + + output.writeBoolean(null != membership); + if (null != membership) { + output.writeUTF(membership); + } + + output.writeBoolean(null != thirdPartyInvite); + if (null != thirdPartyInvite) { + output.writeObject(thirdPartyInvite); + } + + output.writeBoolean(null != isDirect); + if (null != isDirect) { + output.writeBoolean(isDirect); + } + + output.writeBoolean(null != userId); + if (null != userId) { + output.writeUTF(userId); + } + + output.writeLong(mOriginServerTs); + + output.writeBoolean(null != mOriginalEventId); + if (null != mOriginalEventId) { + output.writeUTF(mOriginalEventId); + } + + output.writeBoolean(null != reason); + if (null != reason) { + output.writeUTF(reason); + } + + output.writeBoolean(null != mSender); + if (null != mSender) { + output.writeUTF(mSender); + } + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public void setOriginServerTs(long aTs) { + mOriginServerTs = aTs; + } + + public long getOriginServerTs() { + return mOriginServerTs; + } + + public void setOriginalEventId(String eventId) { + mOriginalEventId = eventId; + } + + public String getOriginalEventId() { + return mOriginalEventId; + } + + public String getAvatarUrl() { + // allow only url which starts with mxc:// + if ((null != avatarUrl) && !avatarUrl.toLowerCase().startsWith(ContentManager.MATRIX_CONTENT_URI_SCHEME)) { + Log.e(LOG_TAG, "## getAvatarUrl() : the member " + userId + " has an invalid avatar url " + avatarUrl); + return null; + } + + return avatarUrl; + } + + public void setAvatarUrl(String anAvatarUrl) { + avatarUrl = anAvatarUrl; + } + + public String getThirdPartyInviteToken() { + if ((null != thirdPartyInvite) && (null != thirdPartyInvite.signed)) { + return thirdPartyInvite.signed.token; + } + + return null; + } + + // Comparator to order members alphabetically + public static Comparator alphaComparator = new Comparator() { + @Override + public int compare(RoomMember member1, RoomMember member2) { + String lhs = member1.getName(); + String rhs = member2.getName(); + + if (lhs == null) { + return -1; + } else if (rhs == null) { + return 1; + } + if (lhs.startsWith("@")) { + lhs = lhs.substring(1); + } + if (rhs.startsWith("@")) { + rhs = rhs.substring(1); + } + return String.CASE_INSENSITIVE_ORDER.compare(lhs, rhs); + } + }; + + /** + * Test if a room member fields matches with a pattern. + * The check is done with the displayname and the userId. + * + * @param aPattern the pattern to search. + * @return true if it matches. + */ + public boolean matchWithPattern(String aPattern) { + if (TextUtils.isEmpty(aPattern) || TextUtils.isEmpty(aPattern.trim())) { + return false; + } + + boolean res = false; + + if (!TextUtils.isEmpty(displayname)) { + res = (displayname.toLowerCase().indexOf(aPattern) >= 0); + } + + if (!res && !TextUtils.isEmpty(userId)) { + res = (userId.toLowerCase().indexOf(aPattern) >= 0); + } + + return res; + } + + /** + * Test if a room member matches with a reg ex. + * The check is done with the displayname and the userId. + * + * @param aRegEx the reg ex + * @return true if it matches. + */ + public boolean matchWithRegEx(String aRegEx) { + if (TextUtils.isEmpty(aRegEx)) { + return false; + } + + boolean res = false; + + if (!TextUtils.isEmpty(displayname)) { + res = displayname.matches(aRegEx); + } + + if (!res && !TextUtils.isEmpty(userId)) { + res = userId.matches(aRegEx); + } + + return res; + } + + /** + * Compare two members. + * The members are equals if each field have the same value. + * + * @param otherMember the member to compare. + * @return true if they define the same member. + */ + public boolean equals(RoomMember otherMember) { + // compare to null + if (null == otherMember) { + return false; + } + + // compare display name + boolean isEqual = TextUtils.equals(displayname, otherMember.displayname); + + if (isEqual) { + isEqual = TextUtils.equals(avatarUrl, otherMember.avatarUrl); + } + + if (isEqual) { + isEqual = TextUtils.equals(membership, otherMember.membership); + } + + if (isEqual) { + isEqual = TextUtils.equals(userId, otherMember.userId); + } + + return isEqual; + } + + public String getName() { + if (displayname != null) { + return displayname; + } + if (userId != null) { + return userId; + } + return null; + } + + /** + * Prune the room member data as we would have done with its original state event. + */ + public void prune() { + // Redact redactable data + displayname = null; + avatarUrl = null; + reason = null; + + // Note: if we had access to the original event content, we should store + // the `redacted_because` of the redaction event in it. + } + + public RoomMember deepCopy() { + RoomMember copy = new RoomMember(); + copy.displayname = displayname; + copy.avatarUrl = avatarUrl; + copy.membership = membership; + copy.userId = userId; + copy.mOriginalEventId = mOriginalEventId; + copy.mSender = mSender; + copy.reason = reason; + return copy; + } + + /** + * @return true if the user has been banned or kicked + */ + public boolean kickedOrBanned() { + return TextUtils.equals(membership, MEMBERSHIP_KICK) || TextUtils.equals(membership, MEMBERSHIP_BAN); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomPinnedEventsContent.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomPinnedEventsContent.java new file mode 100644 index 00000000..f081408d --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomPinnedEventsContent.java @@ -0,0 +1,40 @@ +/* + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * Content of a m.room.pinned_events type event + */ +public class RoomPinnedEventsContent implements Serializable { + + // List of eventIds of pinned events + public List pinned; + + public RoomPinnedEventsContent deepCopy() { + final RoomPinnedEventsContent copy = new RoomPinnedEventsContent(); + if (pinned == null) { + copy.pinned = null; + } else { + copy.pinned = new ArrayList<>(pinned); + } + return copy; + } + +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomTags.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomTags.java new file mode 100644 index 00000000..f3774cee --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomTags.java @@ -0,0 +1,24 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + + +import java.util.Map; + +public class RoomTags implements java.io.Serializable { + public Map> tags; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomTombstoneContent.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomTombstoneContent.java new file mode 100644 index 00000000..84c720f1 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/RoomTombstoneContent.java @@ -0,0 +1,40 @@ +/* + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + + +import com.google.gson.annotations.SerializedName; + +import java.io.Serializable; + +/** + * Class to contains Tombstone information + */ +public class RoomTombstoneContent implements Serializable { + + public String body; + + @SerializedName("replacement_room") + public String replacementRoom; + + public RoomTombstoneContent deepCopy() { + final RoomTombstoneContent copy = new RoomTombstoneContent(); + copy.body = body; + copy.replacementRoom = replacementRoom; + return copy; + } + +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ServerNoticeUsageLimitContent.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ServerNoticeUsageLimitContent.java new file mode 100644 index 00000000..5ad436fd --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ServerNoticeUsageLimitContent.java @@ -0,0 +1,39 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model; + +import com.google.gson.annotations.SerializedName; + +/** + * Content of a m.server_notice.usage_limit_reached type event + */ +public class ServerNoticeUsageLimitContent { + + private static final String EVENT_TYPE_SERVER_NOTICE_USAGE_LIMIT = "m.server_notice.usage_limit_reached"; + + // The kind of user limit, generally is monthly_active_user + public String limit; + @SerializedName("admin_contact") + public String adminUri; + @SerializedName("server_notice_type") + public String type; + + public boolean isServerNoticeUsageLimit() { + return EVENT_TYPE_SERVER_NOTICE_USAGE_LIMIT.equals(type); + } + +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Signed.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Signed.java new file mode 100644 index 00000000..c4faf8d7 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Signed.java @@ -0,0 +1,36 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +/** + * subclass representing a search API response + */ +public class Signed implements java.io.Serializable { + /** + * The token property of the containing third_party_invite object. + */ + public String token; + + /** + * A single signature from the verifying server, in the format specified by the Signing Events section of the server-server API. + */ + public Object signatures; + + /** + * The invited matrix user ID. Must be equal to the user_id property of the event. + */ + public String mxid; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/StateEvent.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/StateEvent.java new file mode 100644 index 00000000..71b6d0e7 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/StateEvent.java @@ -0,0 +1,50 @@ +/* + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +/** + * Class representing a state event content + * Usually, only one field is not null, depending of the type of the Event. + */ +public class StateEvent { + public String name; + + public String topic; + + @SerializedName("join_rule") + public String joinRule; + + @SerializedName("guest_access") + public String guestAccess; + + @SerializedName("alias") + public String canonicalAlias; + + public List aliases; + + public String algorithm; + + @SerializedName("history_visibility") + public String historyVisibility; + + public String url; + + public List groups; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ThreePidCreds.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ThreePidCreds.java new file mode 100755 index 00000000..e2b64742 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/ThreePidCreds.java @@ -0,0 +1,31 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +/** + * 3 pid credentials + */ +public class ThreePidCreds { + + // the identity server URL (without the http://) + public String id_server; + + // the 3 pids sid + public String sid; + + // a secret key + public String client_secret; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/TokensChunkEvents.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/TokensChunkEvents.java new file mode 100644 index 00000000..a65f579a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/TokensChunkEvents.java @@ -0,0 +1,28 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +public class TokensChunkEvents extends TokensChunkResponse { + + // With LazyLoading, we can have state events here + @SerializedName("state") + public List stateEvents; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/TokensChunkResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/TokensChunkResponse.java new file mode 100644 index 00000000..849dab73 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/TokensChunkResponse.java @@ -0,0 +1,25 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +/** + * Class representing an API response with start and end tokens and a generically-typed chunk. + */ +public class TokensChunkResponse extends ChunkResponse { + public String start; + public String end; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Typing.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Typing.java new file mode 100644 index 00000000..5dd7b970 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Typing.java @@ -0,0 +1,24 @@ +/* + * Copyright 2015 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +/** + * Class to contain a banned user and the reason they were banned. + */ +public class Typing { + public boolean typing; + public int timeout; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/URLPreview.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/URLPreview.java new file mode 100644 index 00000000..a4686c90 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/URLPreview.java @@ -0,0 +1,124 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2017 Vector Creations 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model; + +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.util.JsonUtils; + +import java.util.Map; + +/** + * Class representing an URL preview. + */ +public class URLPreview implements java.io.Serializable { + + private static final String OG_DESCRIPTION = "og:description"; + private static final String OG_TITLE = "og:title"; + private static final String OG_TYPE = "og:type"; + + private static final String OG_SITE_NAME = "og:site_name"; + private static final String OG_URL = "og:url"; + + private static final String OG_IMAGE = "og:image"; + private static final String OG_IMAGE_SIZE = "matrix:image:size"; + private static final String OG_IMAGE_TYPE = "og:image:type"; + private static final String OG_IMAGE_WIDTH = "og:image:width"; + private static final String OG_IMAGE_HEIGHT = "og:image:height"; + + /** + * Global information + */ + private final String mDescription; + private final String mTitle; + private final String mType; + + private final String mSiteName; + private final String mRequestedURL; + + /** + * Image information + */ + private final String mThumbnailURL; + private final String mThumbnailMimeType; + + private boolean mIsDismissed; + + /** + * Constructor + * + * @param map the constructor parameters + * @param url the original url, will be used if the map does not contain OG_URL field + */ + public URLPreview(Map map, String url) { + mDescription = JsonUtils.getAsString(map, OG_DESCRIPTION); + mTitle = JsonUtils.getAsString(map, OG_TITLE); + mType = JsonUtils.getAsString(map, OG_TYPE); + + mSiteName = JsonUtils.getAsString(map, OG_SITE_NAME); + + String requestedUrl = JsonUtils.getAsString(map, OG_URL); + + if (TextUtils.isEmpty(requestedUrl)) { + // Fallback: use url + mRequestedURL = url; + } else { + mRequestedURL = requestedUrl; + } + + mThumbnailURL = JsonUtils.getAsString(map, OG_IMAGE); + mThumbnailMimeType = JsonUtils.getAsString(map, OG_IMAGE_TYPE); + } + + + public String getDescription() { + return mDescription; + } + + public String getTitle() { + return mTitle; + } + + public String getType() { + return mType; + } + + public String getSiteName() { + return mSiteName; + } + + public String getRequestedURL() { + return mRequestedURL; + } + + public String getThumbnailURL() { + return mThumbnailURL; + } + + public String getThumbnailMimeType() { + return mThumbnailMimeType; + } + + public boolean IsDismissed() { + return mIsDismissed; + } + + public void setIsDismissed(boolean isDismissed) { + mIsDismissed = isDismissed; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/UnsignedData.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/UnsignedData.java new file mode 100644 index 00000000..7ebcc439 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/UnsignedData.java @@ -0,0 +1,44 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model; + +import com.google.gson.JsonElement; + +/** + * Contains optional extra information about the event. + */ +public class UnsignedData implements java.io.Serializable { + + /** + * The time in milliseconds that has elapsed since the event was sent + */ + public Long age; + + /** + * The reason this event was redacted, if it was redacted + */ + public RedactedBecause redacted_because; + + /** + * The client-supplied transaction ID, if the client being given the event is the same one which sent it. + */ + public String transaction_id; + + /** + * The previous event content (room member information only) + */ + public transient JsonElement prev_content; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/User.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/User.java new file mode 100644 index 00000000..c1ee93e2 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/User.java @@ -0,0 +1,279 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model; + +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.MXDataHandler; +import im.vector.matrix.android.internal.legacy.listeners.IMXEventListener; +import im.vector.matrix.android.internal.legacy.listeners.MXEventListener; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Class representing a user. + */ +public class User implements java.io.Serializable { + private static final long serialVersionUID = 5234056937639712713L; + + // the user presence values + public static final String PRESENCE_ONLINE = "online"; + public static final String PRESENCE_UNAVAILABLE = "unavailable"; + public static final String PRESENCE_OFFLINE = "offline"; + public static final String PRESENCE_FREE_FOR_CHAT = "free_for_chat"; + public static final String PRESENCE_HIDDEN = "hidden"; + + // user fields provided by the server + public String user_id; + public String displayname; + public String avatar_url; + public String presence; + public Boolean currently_active; + public Long lastActiveAgo; + public String statusMsg; + + // tell if the information has been refreshed + private transient boolean mIsPresenceRefreshed; + + // Used to provide a more realistic last active time: + // the last active ago time provided by the server + the time that has gone by since + private long mLastPresenceTs; + + // Map to keep track of the listeners the client adds vs. the ones we actually register to the global data handler. + // This is needed to find the right one when removing the listener. + private transient Map mEventListeners = new HashMap<>(); + + // data handler + protected transient MXDataHandler mDataHandler; + + // events listeners list + private transient List mPendingListeners = new ArrayList<>(); + + // hash key to store the user in the file system; + private Integer mStorageHashKey = null; + + // The user data can have been retrieved by a room member + // The data can be partially invalid until a presence is received + private boolean mIsRetrievedFromRoomMember = false; + + // avatar URLs setter / getter + public String getAvatarUrl() { + return avatar_url; + } + + public void setAvatarUrl(String newAvatarUrl) { + avatar_url = newAvatarUrl; + } + + /** + * Tells if this user has been created from a room member event + * + * @return true if this user has been created from a room member event + */ + public boolean isRetrievedFromRoomMember() { + return mIsRetrievedFromRoomMember; + } + + /** + * Set that this user has been created from a room member. + */ + public void setRetrievedFromRoomMember() { + mIsRetrievedFromRoomMember = true; + } + + /** + * Check if mEventListeners has been initialized before providing it. + * The users are now serialized and the transient fields are not initialized. + * + * @return the events listener + */ + private Map getEventListeners() { + if (null == mEventListeners) { + mEventListeners = new HashMap<>(); + } + + return mEventListeners; + } + + /** + * Check if mPendingListeners has been initialized before providing it. + * The users are now serialized and the transient fields are not initialized. + * + * @return the pending listener + */ + private List getPendingListeners() { + if (null == mPendingListeners) { + mPendingListeners = new ArrayList<>(); + } + + return mPendingListeners; + } + + /** + * @return the user hash key + */ + public int getStorageHashKey() { + if (null == mStorageHashKey) { + mStorageHashKey = Math.abs(user_id.hashCode() % 100); + } + + return mStorageHashKey; + } + + /** + * @return true if the presence should be refreshed + */ + public boolean isPresenceObsolete() { + return !mIsPresenceRefreshed || (null == presence); + } + + /** + * Clone an user into this instance + * + * @param user the user to clone. + */ + protected void clone(User user) { + if (user != null) { + user_id = user.user_id; + displayname = user.displayname; + avatar_url = user.avatar_url; + presence = user.presence; + currently_active = user.currently_active; + lastActiveAgo = user.lastActiveAgo; + statusMsg = user.statusMsg; + + mIsPresenceRefreshed = user.mIsPresenceRefreshed; + mLastPresenceTs = user.mLastPresenceTs; + + mEventListeners = new HashMap<>(user.getEventListeners()); + mDataHandler = user.mDataHandler; + + mPendingListeners = user.getPendingListeners(); + } + } + + /** + * Create a deep copy of the current user. + * + * @return a deep copy of the current object + */ + public User deepCopy() { + User copy = new User(); + copy.clone(this); + return copy; + } + + /** + * Tells if an user is active + * + * @return true if the user is active + */ + public boolean isActive() { + return TextUtils.equals(presence, PRESENCE_ONLINE) || ((null != currently_active) && currently_active); + } + + /** + * Set the latest presence event time. + * + * @param ts the timestamp. + */ + public void setLatestPresenceTs(long ts) { + mIsPresenceRefreshed = true; + mLastPresenceTs = ts; + } + + /** + * @return the timestamp of the latest presence event. + */ + public long getLatestPresenceTs() { + return mLastPresenceTs; + } + + /** + * Get the user's last active ago time by adding the one given by the server and the time since elapsed. + * + * @return how long ago the user was last active (in ms) + */ + public long getAbsoluteLastActiveAgo() { + // sanity check + if (null == lastActiveAgo) { + return 0; + } else { + return System.currentTimeMillis() - (mLastPresenceTs - lastActiveAgo); + } + } + + /** + * Set the event listener to send back events to. This is typically the DataHandler for dispatching the events to listeners. + * + * @param dataHandler should be the main data handler for dispatching back events to registered listeners. + */ + public void setDataHandler(MXDataHandler dataHandler) { + mDataHandler = dataHandler; + + for (IMXEventListener listener : getPendingListeners()) { + mDataHandler.addListener(listener); + } + } + + /** + * Add an event listener to this room. Only events relative to the room will come down. + * + * @param eventListener the event listener to add + */ + public void addEventListener(final IMXEventListener eventListener) { + // Create a global listener that we'll add to the data handler + IMXEventListener globalListener = new MXEventListener() { + @Override + public void onPresenceUpdate(Event event, User user) { + // Only pass event through for this user + if (user.user_id.equals(user_id)) { + eventListener.onPresenceUpdate(event, user); + } + } + }; + getEventListeners().put(eventListener, globalListener); + + // the handler could be set later + if (null != mDataHandler) { + mDataHandler.addListener(globalListener); + } else { + getPendingListeners().add(globalListener); + } + } + + /** + * Remove an event listener. + * + * @param eventListener the event listener to remove + */ + public void removeEventListener(IMXEventListener eventListener) { + + if (null != mDataHandler) { + mDataHandler.removeListener(getEventListeners().get(eventListener)); + } else { + getPendingListeners().remove(getEventListeners().get(eventListener)); + } + + getEventListeners().remove(eventListener); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Versions.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Versions.java new file mode 100644 index 00000000..8d54ffe3 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/Versions.java @@ -0,0 +1,36 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; +import java.util.Map; + +/** + * Model for https://matrix.org/docs/spec/client_server/r0.3.0.html#get-matrix-client-versions + *

    + * Ex: {"unstable_features": {"m.lazy_load_members": true}, "versions": ["r0.0.1", "r0.1.0", "r0.2.0", "r0.3.0"]} + */ +public class Versions { + + @SerializedName("versions") + public List supportedVersions; + + @SerializedName("unstable_features") + public Map unstableFeatures; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/BingRule.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/BingRule.java new file mode 100644 index 00000000..a080285c --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/BingRule.java @@ -0,0 +1,361 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.bingrules; + +import android.text.TextUtils; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.annotations.SerializedName; + +import im.vector.matrix.android.internal.legacy.util.JsonUtils; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class BingRule { + private static final String LOG_TAG = BingRule.class.getSimpleName(); + + public static final String RULE_ID_DISABLE_ALL = ".m.rule.master"; + public static final String RULE_ID_CONTAIN_USER_NAME = ".m.rule.contains_user_name"; + public static final String RULE_ID_CONTAIN_DISPLAY_NAME = ".m.rule.contains_display_name"; + public static final String RULE_ID_ONE_TO_ONE_ROOM = ".m.rule.room_one_to_one"; + public static final String RULE_ID_INVITE_ME = ".m.rule.invite_for_me"; + public static final String RULE_ID_PEOPLE_JOIN_LEAVE = ".m.rule.member_event"; + public static final String RULE_ID_CALL = ".m.rule.call"; + public static final String RULE_ID_SUPPRESS_BOTS_NOTIFICATIONS = ".m.rule.suppress_notices"; + public static final String RULE_ID_ALL_OTHER_MESSAGES_ROOMS = ".m.rule.message"; + public static final String RULE_ID_FALLBACK = ".m.rule.fallback"; + + public static final String ACTION_NOTIFY = "notify"; + public static final String ACTION_DONT_NOTIFY = "dont_notify"; + public static final String ACTION_COALESCE = "coalesce"; + + public static final String ACTION_SET_TWEAK_SOUND_VALUE = "sound"; + public static final String ACTION_SET_TWEAK_HIGHLIGHT_VALUE = "highlight"; + + public static final String ACTION_PARAMETER_SET_TWEAK = "set_tweak"; + public static final String ACTION_PARAMETER_VALUE = "value"; + + public static final String ACTION_VALUE_DEFAULT = "default"; + public static final String ACTION_VALUE_RING = "ring"; + + public static final String KIND_OVERRIDE = "override"; + public static final String KIND_CONTENT = "content"; + public static final String KIND_ROOM = "room"; + public static final String KIND_SENDER = "sender"; + public static final String KIND_UNDERRIDE = "underride"; + + public String ruleId = null; + public List conditions = null; + // Object is either String or Map + public List actions = null; + @SerializedName("default") + public boolean isDefault = false; + + @SerializedName("enabled") + public boolean isEnabled = true; + + public String kind = null; + + public BingRule(boolean isDefaultValue) { + isDefault = isDefaultValue; + } + + public BingRule() { + isDefault = false; + } + + @Override + public String toString() { + return "BingRule{" + + "ruleId='" + ruleId + '\'' + + ", conditions=" + conditions + + ", actions=" + actions + + ", isDefault=" + isDefault + + ", isEnabled=" + isEnabled + + ", kind='" + kind + '\'' + + '}'; + } + + /** + * Convert BingRule to a JsonElement. + * It seems that "conditions" name triggers conversion issues. + * + * @return the JsonElement + */ + public JsonElement toJsonElement() { + JsonObject jsonObject = JsonUtils.getGson(false).toJsonTree(this).getAsJsonObject(); + + if (null != conditions) { + jsonObject.add("conditions", JsonUtils.getGson(false).toJsonTree(conditions)); + } + + return jsonObject; + } + + /** + * Bing rule creator + * + * @param ruleKind the rule kind + * @param aPattern the pattern to check the condition + * @param notify true to notify + * @param highlight true to highlight + * @param sound true to play sound + */ + public BingRule(String ruleKind, String aPattern, Boolean notify, Boolean highlight, boolean sound) { + // + ruleId = aPattern; + isEnabled = true; + isDefault = false; + kind = ruleKind; + conditions = null; + + actions = new ArrayList<>(); + + if (null != notify) { + setNotify(notify); + } + + if (null != highlight) { + setHighlight(highlight); + } + + if (sound) { + setNotificationSound(); + } + } + + /** + * Build a bing rule from another one. + * + * @param otherRule the other rule + */ + public BingRule(BingRule otherRule) { + ruleId = otherRule.ruleId; + + if (null != otherRule.conditions) { + conditions = new ArrayList<>(otherRule.conditions); + } + + if (null != otherRule.actions) { + actions = new ArrayList<>(otherRule.actions); + } + + isDefault = otherRule.isDefault; + isEnabled = otherRule.isEnabled; + kind = otherRule.kind; + } + + /** + * Add a condition to the rule. + * + * @param condition the condition to add. + */ + public void addCondition(Condition condition) { + if (null == conditions) { + conditions = new ArrayList<>(); + } + conditions.add(condition); + } + + /** + * Search an action map from its tweak. + * + * @param tweak the tweak name. + * @return the action map. null if not found. + */ + public Map getActionMap(String tweak) { + if ((null != actions) && !TextUtils.isEmpty(tweak)) { + for (Object action : actions) { + if (action instanceof Map) { + try { + Map actionMap = ((Map) action); + + if (TextUtils.equals((String) actionMap.get(ACTION_PARAMETER_SET_TWEAK), tweak)) { + return actionMap; + } + } catch (Exception e) { + Log.e(LOG_TAG, "## getActionMap() : " + e.getMessage(), e); + } + } + } + } + + return null; + } + + /** + * Check if the sound type is the default notification sound. + * + * @param sound the sound name. + * @return true if the sound is the default notification sound. + */ + public static boolean isDefaultNotificationSound(String sound) { + return ACTION_VALUE_DEFAULT.equals(sound); + } + + /** + * Check if the sound type is the call ring. + * + * @param sound the sound name. + * @return true if the sound is the call ring. + */ + public static boolean isCallRingNotificationSound(String sound) { + return ACTION_VALUE_RING.equals(sound); + } + + /** + * @return the notification sound (null if it is not defined) + */ + public String getNotificationSound() { + String sound = null; + Map actionMap = getActionMap(ACTION_SET_TWEAK_SOUND_VALUE); + + if ((null != actionMap) && actionMap.containsKey(ACTION_PARAMETER_VALUE)) { + sound = (String) actionMap.get(ACTION_PARAMETER_VALUE); + } + + return sound; + } + + /** + * Add the default notification sound. + */ + public void setNotificationSound() { + setNotificationSound(ACTION_VALUE_DEFAULT); + } + + /** + * Set the notification sound + * + * @param sound notification sound + */ + public void setNotificationSound(String sound) { + removeNotificationSound(); + + if (!TextUtils.isEmpty(sound)) { + Map actionMap = new HashMap<>(); + actionMap.put(ACTION_PARAMETER_SET_TWEAK, ACTION_SET_TWEAK_SOUND_VALUE); + actionMap.put(ACTION_PARAMETER_VALUE, sound); + actions.add(actionMap); + } + } + + /** + * Remove the notification sound + */ + public void removeNotificationSound() { + Map actionMap = getActionMap(ACTION_SET_TWEAK_SOUND_VALUE); + + if (null != actionMap) { + actions.remove(actionMap); + } + } + + /** + * Set the highlight status. + * + * @param highlight the highlight status + */ + public void setHighlight(boolean highlight) { + Map actionMap = getActionMap(ACTION_SET_TWEAK_HIGHLIGHT_VALUE); + + if (null == actionMap) { + actionMap = new HashMap<>(); + actionMap.put(ACTION_PARAMETER_SET_TWEAK, ACTION_SET_TWEAK_HIGHLIGHT_VALUE); + actions.add(actionMap); + } + + if (highlight) { + actionMap.remove(ACTION_PARAMETER_VALUE); + } else { + actionMap.put(ACTION_PARAMETER_VALUE, false); + } + } + + /** + * Return true if the rule should highlight the event. + * + * @return true if the rule should play sound + */ + public boolean shouldHighlight() { + boolean shouldHighlight = false; + + Map actionMap = getActionMap(ACTION_SET_TWEAK_HIGHLIGHT_VALUE); + + if (null != actionMap) { + // default behaviour + shouldHighlight = true; + + if (actionMap.containsKey(ACTION_PARAMETER_VALUE)) { + Object valueAsVoid = actionMap.get(ACTION_PARAMETER_VALUE); + + if (valueAsVoid instanceof Boolean) { + shouldHighlight = (boolean) valueAsVoid; + } else if (valueAsVoid instanceof String) { + shouldHighlight = TextUtils.equals((String)valueAsVoid, "true"); + } else { + Log.e(LOG_TAG, "## shouldHighlight() : unexpected type " + valueAsVoid); + } + } + } + + return shouldHighlight; + } + + /** + * Set the notification status. + * + * @param notify true to notify + */ + public void setNotify(boolean notify) { + if (notify) { + actions.remove(ACTION_DONT_NOTIFY); + + if (!actions.contains(ACTION_NOTIFY)) { + actions.add(ACTION_NOTIFY); + } + } else { + actions.remove(ACTION_NOTIFY); + + if (!actions.contains(ACTION_DONT_NOTIFY)) { + actions.add(ACTION_DONT_NOTIFY); + } + } + } + + /** + * Return true if the rule should highlight the event. + * + * @return true if the rule should play sound + */ + public boolean shouldNotify() { + return actions.contains(ACTION_NOTIFY); + } + + /** + * Return true if the rule should not highlight the event. + * + * @return true if the rule should not play sound + */ + public boolean shouldNotNotify() { + return actions.contains(ACTION_DONT_NOTIFY); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/Condition.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/Condition.java new file mode 100644 index 00000000..51f1c270 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/Condition.java @@ -0,0 +1,49 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.bingrules; + + +public class Condition { + // defined in the push rules spec + // https://matrix.org/docs/spec/client_server/r0.3.0.html#push-rules + + /* 'key': The dot-separated field of the event to match, eg. content.body + 'pattern': The glob-style pattern to match against. Patterns with no special glob characters should be treated as having asterisks prepended + and appended when testing the condition.*/ + public static final String KIND_EVENT_MATCH = "event_match"; + + /* 'profile_tag': The profile_tag to match with.*/ + public static final String KIND_PROFILE_TAG = "profile_tag"; + + /* no parameter */ + public static final String KIND_CONTAINS_DISPLAY_NAME = "contains_display_name"; + + /* 'is': A decimal integer optionally prefixed by one of, '==', '<', '>', '>=' or '<='. + A prefix of '<' matches rooms where the member count is strictly less than the given number and so forth. If no prefix is present, this matches + rooms where the member count is exactly equal to the given number (ie. the same as '=='). + */ + public static final String KIND_ROOM_MEMBER_COUNT = "room_member_count"; + + /* */ + public static final String KIND_DEVICE = "device"; + + public static final String KIND_SENDER_NOTIFICATION_PERMISSION = "sender_notification_permission"; + + public static final String KIND_UNKNOWN = "unknown_condition"; + + public String kind; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/ContainsDisplayNameCondition.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/ContainsDisplayNameCondition.java new file mode 100644 index 00000000..f641a3db --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/ContainsDisplayNameCondition.java @@ -0,0 +1,41 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.bingrules; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.message.Message; +import im.vector.matrix.android.internal.legacy.util.EventUtils; +import im.vector.matrix.android.internal.legacy.util.JsonUtils; + +/** + * Bing rule condition that is satisfied when a message body contains the user's current display name. + */ +public class ContainsDisplayNameCondition extends Condition { + public ContainsDisplayNameCondition() { + kind = Condition.KIND_CONTAINS_DISPLAY_NAME; + } + + public boolean isSatisfied(Event event, String myDisplayName) { + if (Event.EVENT_TYPE_MESSAGE.equals(event.getType())) { + Message msg = JsonUtils.toMessage(event.getContent()); + + if (null != msg) { + return EventUtils.caseInsensitiveFind(myDisplayName, msg.body); + } + } + return false; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/ContentRule.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/ContentRule.java new file mode 100644 index 00000000..e34ded8d --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/ContentRule.java @@ -0,0 +1,25 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.bingrules; + +public class ContentRule extends BingRule { + public String pattern; + + public ContentRule(String ruleKind, String aPattern, boolean notify, boolean highlight, boolean sound) { + super(ruleKind, aPattern, notify, highlight, sound); + pattern = aPattern; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/DeviceCondition.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/DeviceCondition.java new file mode 100644 index 00000000..6585e3bc --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/DeviceCondition.java @@ -0,0 +1,29 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.bingrules; + +public class DeviceCondition extends Condition { + public String profileTag; + + public DeviceCondition() { + kind = Condition.KIND_DEVICE; + } + + @Override + public String toString() { + return "DeviceCondition{" + "profileTag='" + profileTag + "'}'"; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/EventMatchCondition.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/EventMatchCondition.java new file mode 100644 index 00000000..aad33413 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/EventMatchCondition.java @@ -0,0 +1,113 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.bingrules; + +import android.text.TextUtils; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +import java.util.HashMap; +import java.util.Map; +import java.util.regex.Pattern; + +public class EventMatchCondition extends Condition { + + public String key; + public String pattern; + + private static Map mPatternByRule = null; + + public EventMatchCondition() { + kind = Condition.KIND_EVENT_MATCH; + } + + @Override + public String toString() { + return "EventMatchCondition{" + "key='" + key + ", pattern=" + pattern + '}'; + } + + /** + * Returns whether the given event satisfies the condition. + * + * @param event the event + * @return true if the event satisfies the condition + */ + public boolean isSatisfied(Event event) { + String fieldVal = null; + + // some information are in the decrypted event (like type) + if (event.isEncrypted() && (null != event.getClearEvent())) { + JsonObject eventJson = event.getClearEvent().toJsonObject(); + fieldVal = extractField(eventJson, key); + } + + if (TextUtils.isEmpty(fieldVal)) { + JsonObject eventJson = event.toJsonObject(); + fieldVal = extractField(eventJson, key); + } + + if (TextUtils.isEmpty(fieldVal)) { + return false; + } + + if (TextUtils.equals(pattern, fieldVal)) { + return true; + } + + if (null == mPatternByRule) { + mPatternByRule = new HashMap<>(); + } + + Pattern patternEx = mPatternByRule.get(pattern); + + if (null == patternEx) { + patternEx = Pattern.compile(globToRegex(pattern), Pattern.CASE_INSENSITIVE); + mPatternByRule.put(pattern, patternEx); + } + + return patternEx.matcher(fieldVal).matches(); + } + + private String extractField(JsonObject jsonObject, String fieldPath) { + String[] fieldParts = fieldPath.split("\\."); + JsonElement jsonElement = null; + for (String field : fieldParts) { + jsonElement = jsonObject.get(field); + if (jsonElement == null) { + return null; + } + if (jsonElement.isJsonObject()) { + jsonObject = (JsonObject) jsonElement; + } + } + return (jsonElement == null) ? null : jsonElement.getAsString(); + } + + private String globToRegex(String glob) { + String res = glob.replace("*", ".*").replace("?", "."); + + // If no special characters were found (detected here by no replacements having been made), + // add asterisks and boundaries to both sides + if (res.equals(glob)) { + res = "(^|.*\\W)" + res + "($|\\W.*)"; + } + return res; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/PushRuleSet.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/PushRuleSet.java new file mode 100644 index 00000000..7cdf3459 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/PushRuleSet.java @@ -0,0 +1,205 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.bingrules; + +import android.text.TextUtils; + +import java.util.ArrayList; +import java.util.List; + +public class PushRuleSet { + public List override; + public List content; + public List room; + public List sender; + public List underride; + + /** + * Constructor + */ + public PushRuleSet() { + override = new ArrayList<>(); + content = new ArrayList<>(); + room = new ArrayList<>(); + sender = new ArrayList<>(); + underride = new ArrayList<>(); + } + + /** + * Find a rule from its rule ID. + * + * @param rules the rules list. + * @param ruleID the rule ID. + * @return the bing rule if it exists, else null. + */ + private BingRule findRule(List rules, String ruleID) { + for (BingRule rule : rules) { + if (TextUtils.equals(ruleID, rule.ruleId)) { + return rule; + } + } + return null; + } + + private List getBingRulesList(String kind) { + List res = null; + + if (BingRule.KIND_OVERRIDE.equals(kind)) { + res = override; + } else if (BingRule.KIND_ROOM.equals(kind)) { + res = room; + } else if (BingRule.KIND_SENDER.equals(kind)) { + res = sender; + } else if (BingRule.KIND_UNDERRIDE.equals(kind)) { + res = underride; + } + + return res; + } + + /** + * Add a rule from the bingRules + * + * @param rule the rule to add. + */ + public void addAtTop(BingRule rule) { + if (TextUtils.equals(BingRule.KIND_CONTENT, rule.kind)) { + if (null != content) { + if (rule instanceof ContentRule) { + content.add(0, (ContentRule) rule); + } + } + } else { + List rulesList = getBingRulesList(rule.kind); + + if (null != rulesList) { + rulesList.add(0, rule); + } + } + } + + /** + * Remove a rule from the bingRules + * + * @param rule the rule to delete. + * @return true if the rule has been deleted + */ + public boolean remove(BingRule rule) { + boolean res = false; + + if (BingRule.KIND_CONTENT.equals(rule.kind)) { + if (null != content) { + res = content.remove(rule); + } + } else { + List rulesList = getBingRulesList(rule.kind); + + if (null != rulesList) { + res = rulesList.remove(rule); + } + } + + return res; + } + + /** + * Find a rule from its rule ID. + * + * @param rules the rules list. + * @param ruleID the rule ID. + * @return the bing rule if it exists, else null. + */ + private BingRule findContentRule(List rules, String ruleID) { + for (BingRule rule : rules) { + if (TextUtils.equals(ruleID, rule.ruleId)) { + return rule; + } + } + return null; + } + + /** + * Find a rule from its ruleID. + * + * @param ruleId a RULE_ID_XX value + * @return the matched bing rule or null it doesn't exist. + */ + public BingRule findDefaultRule(String ruleId) { + BingRule rule = null; + + // sanity check + if (null != ruleId) { + if (TextUtils.equals(BingRule.RULE_ID_CONTAIN_USER_NAME, ruleId)) { + rule = findContentRule(content, ruleId); + } else { + // assume that the ruleId is unique. + rule = findRule(override, ruleId); + + if (null == rule) { + rule = findRule(underride, ruleId); + } + } + } + + return rule; + } + + /** + * Return the content rules list. + * + * @return the content rules list. + */ + public List getContentRules() { + List res = new ArrayList<>(); + + if (null != content) { + for (BingRule rule : content) { + if (!rule.ruleId.startsWith(".m.")) { + res.add(rule); + } + } + } + + return res; + } + + /** + * Return the room rules list. + * + * @return the room rules list. + */ + public List getRoomRules() { + if (null == room) { + return new ArrayList<>(); + } else { + return room; + } + } + + /** + * Return the room rules list. + * + * @return the sender rules list. + */ + public List getSenderRules() { + if (null == sender) { + return new ArrayList<>(); + } else { + return sender; + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/PushRulesResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/PushRulesResponse.java new file mode 100644 index 00000000..9e94c00a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/PushRulesResponse.java @@ -0,0 +1,21 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.bingrules; + +public class PushRulesResponse { + public PushRuleSet device; + public PushRuleSet global; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/RoomMemberCountCondition.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/RoomMemberCountCondition.java new file mode 100644 index 00000000..56b542df --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/RoomMemberCountCondition.java @@ -0,0 +1,102 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.bingrules; + +import im.vector.matrix.android.internal.legacy.util.Log; +import im.vector.matrix.android.internal.legacy.data.Room; + +public class RoomMemberCountCondition extends Condition { + + private static final String LOG_TAG = RoomMemberCountCondition.class.getSimpleName(); + + // NB: Leave the strings in order of descending length + private static final String[] PREFIX_ARR = new String[]{"==", "<=", ">=", "<", ">", ""}; + + public String is; + private String comparisonPrefix = null; + private int limit; + private boolean parseError = false; + + public RoomMemberCountCondition() { + kind = Condition.KIND_ROOM_MEMBER_COUNT; + } + + @Override + public String toString() { + return "RoomMemberCountCondition{" + "is='" + is + "'}'"; + } + + @SuppressWarnings("SimplifiableIfStatement") + public boolean isSatisfied(Room room) { + // sanity check + if (room == null) return false; + + if (parseError) return false; + + // Parse the is field into prefix and number the first time + if (comparisonPrefix == null) { + parseIsField(); + if (parseError) return false; + } + + int numMembers = room.getNumberOfJoinedMembers(); + + if ("==".equals(comparisonPrefix) || "".equals(comparisonPrefix)) { + return numMembers == limit; + } + if ("<".equals(comparisonPrefix)) { + return numMembers < limit; + } + if (">".equals(comparisonPrefix)) { + return numMembers > limit; + } + if ("<=".equals(comparisonPrefix)) { + return numMembers <= limit; + } + if (">=".equals(comparisonPrefix)) { + return numMembers >= limit; + } + + return false; + } + + /** + * Parse the is field to extract meaningful information. + */ + protected void parseIsField() { + for (String prefix : PREFIX_ARR) { + if (is.startsWith(prefix)) { + comparisonPrefix = prefix; + break; + } + } + + if (comparisonPrefix == null) { + parseError = true; + } else { + try { + limit = Integer.parseInt(is.substring(comparisonPrefix.length())); + } catch (NumberFormatException e) { + parseError = true; + } + } + + if (parseError) { + Log.e(LOG_TAG, "parsing error : " + is); + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/SenderNotificationPermissionCondition.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/SenderNotificationPermissionCondition.java new file mode 100644 index 00000000..d8ada7b9 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/SenderNotificationPermissionCondition.java @@ -0,0 +1,37 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.bingrules; + +import im.vector.matrix.android.internal.legacy.rest.model.PowerLevels; + +public class SenderNotificationPermissionCondition extends Condition { + private static final String LOG_TAG = SenderNotificationPermissionCondition.class.getSimpleName(); + + public String key; + + public SenderNotificationPermissionCondition() { + kind = Condition.KIND_SENDER_NOTIFICATION_PERMISSION; + } + + public boolean isSatisfied(PowerLevels powerLevels, String userId) { + return (null != powerLevels) && (null != userId) && powerLevels.getUserPowerLevel(userId) >= powerLevels.notificationLevel(key); + } + + @Override + public String toString() { + return "SenderNotificationPermissionCondition{" + "key=" + key; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/UnknownCondition.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/UnknownCondition.java new file mode 100644 index 00000000..c94fcf4e --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/bingrules/UnknownCondition.java @@ -0,0 +1,36 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.bingrules; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +public class UnknownCondition extends Condition { + public UnknownCondition() { + kind = Condition.KIND_UNKNOWN; + } + + // unknown conditions: we previously matched all unknown conditions, + // but given that rules can be added to the base rules on a server, + // it's probably better to not match unknown conditions. + public boolean isSatisfied(Event event) { + return false; + } + + @Override + public String toString() { + return "UnknownCondition"; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/EncryptedBodyFileInfo.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/EncryptedBodyFileInfo.java new file mode 100644 index 00000000..40f5221a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/EncryptedBodyFileInfo.java @@ -0,0 +1,35 @@ +/* + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.crypto; + +import org.matrix.olm.OlmPkMessage; + +public class EncryptedBodyFileInfo { + public String ciphertext; + public String mac; + public String ephemeral; + + /** + * Build from a OlmPkMessage object + * + * @param olmPkMessage OlmPkMessage + */ + public EncryptedBodyFileInfo(OlmPkMessage olmPkMessage) { + ciphertext = olmPkMessage.mCipherText; + mac = olmPkMessage.mMac; + ephemeral = olmPkMessage.mEphemeralKey; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/EncryptedEventContent.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/EncryptedEventContent.java new file mode 100644 index 00000000..fe340654 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/EncryptedEventContent.java @@ -0,0 +1,47 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.crypto; + +/** + * Class representing an encrypted event content + */ +public class EncryptedEventContent implements java.io.Serializable { + + /** + * the used algorithm + */ + public String algorithm; + + /** + * The encrypted event + */ + public String ciphertext; + + /** + * The device id + */ + public String device_id; + + /** + * the sender key + */ + public String sender_key; + + /** + * The session id + */ + public String session_id; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/EncryptedFileInfo.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/EncryptedFileInfo.java new file mode 100644 index 00000000..cb4229ae --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/EncryptedFileInfo.java @@ -0,0 +1,50 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.crypto; + +import java.io.Serializable; +import java.util.Map; + +public class EncryptedFileInfo implements Serializable{ + public String url; + public String mimetype; + public EncryptedFileKey key; + public String iv; + public Map hashes; + public String v; + + /** + * Make a deep copy. + * @return the copy + */ + public EncryptedFileInfo deepCopy() { + EncryptedFileInfo encryptedFile = new EncryptedFileInfo(); + encryptedFile.url = url; + encryptedFile.mimetype = mimetype; + + if (null != key) { + encryptedFile.key = key.deepCopy(); + } + + encryptedFile.iv = iv; + encryptedFile.hashes = hashes; + + return encryptedFile; + } +} + + + diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/EncryptedFileKey.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/EncryptedFileKey.java new file mode 100644 index 00000000..b5ae311c --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/EncryptedFileKey.java @@ -0,0 +1,47 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.crypto; + +import java.io.Serializable; +import java.util.List; + +public class EncryptedFileKey implements Serializable { + public String alg; + public Boolean ext; + public List key_ops; + public String kty; + public String k; + + /** + * Make a deep copy. + * + * @return the copy + */ + public EncryptedFileKey deepCopy() { + EncryptedFileKey encryptedFileKey = new EncryptedFileKey(); + + encryptedFileKey.alg = alg; + encryptedFileKey.ext = ext; + encryptedFileKey.key_ops = key_ops; + encryptedFileKey.kty = kty; + encryptedFileKey.k = k; + + return encryptedFileKey; + } +} + + + diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/ForwardedRoomKeyContent.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/ForwardedRoomKeyContent.java new file mode 100644 index 00000000..a3385aae --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/ForwardedRoomKeyContent.java @@ -0,0 +1,37 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.crypto; + +import java.util.List; + +/** + * Class representing the forward room key request body content + */ +public class ForwardedRoomKeyContent implements java.io.Serializable { + public String algorithm; + + public String room_id; + + public String sender_key; + + public String session_id; + + public String session_key; + + public List forwarding_curve25519_key_chain; + + public String sender_claimed_ed25519_key; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/KeyChangesResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/KeyChangesResponse.java new file mode 100644 index 00000000..1865b276 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/KeyChangesResponse.java @@ -0,0 +1,29 @@ +/* + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.crypto; + +import java.util.List; + +/** + * This class describes the key changes response + */ +public class KeyChangesResponse { + // list of user ids which have new devices + public List changed; + + // List of user ids who are no more tracked. + public List left; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/KeysClaimResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/KeysClaimResponse.java new file mode 100644 index 00000000..fa374438 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/KeysClaimResponse.java @@ -0,0 +1,30 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model.crypto; + +import java.util.Map; + +/** + * This class represents the response to /keys/query request made by claimOneTimeKeysForUsersDevices. + */ +public class KeysClaimResponse { + /** + * The requested keys ordered by device by user. + */ + public Map>>> oneTimeKeys; +} + diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/KeysQueryResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/KeysQueryResponse.java new file mode 100644 index 00000000..62e1acba --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/KeysQueryResponse.java @@ -0,0 +1,37 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2017 Vector Creations 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model.crypto; + +import im.vector.matrix.android.internal.legacy.crypto.data.MXDeviceInfo; + +import java.util.Map; + +/** + * This class represents the response to /keys/query request made by downloadKeysForUsers + */ +public class KeysQueryResponse { + /** + * The device keys per devices per users. + */ + public Map> deviceKeys; + + /** + * The failures sorted by homeservers. + */ + public Map> failures; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/KeysUploadResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/KeysUploadResponse.java new file mode 100644 index 00000000..5b35cb7c --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/KeysUploadResponse.java @@ -0,0 +1,62 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.crypto; + +import android.text.TextUtils; + +import java.util.Map; + +/** + * This class represents the response to /keys/upload request made by uploadKeys. + */ +public class KeysUploadResponse { + + /** + * The count per algorithm as returned by the home server: a map (algorithm to count). + */ + public Map oneTimeKeyCounts; + + /** + * Helper methods to extract information from 'oneTimeKeyCounts' + * + * @param algorithm the expected algorithm + * @return the time key counts + */ + public int oneTimeKeyCountsForAlgorithm(String algorithm) { + int res = 0; + + if ((null != oneTimeKeyCounts) && !TextUtils.isEmpty(algorithm)) { + Integer val = oneTimeKeyCounts.get(algorithm); + + if (null != val) { + res = val.intValue(); + } + } + + return res; + } + + /** + * Tells if there is a oneTimeKeys for a dedicated algorithm. + * + * @param algorithm the algorithm + * @return true if it is found + */ + public boolean hasOneTimeKeyCountsForAlgorithm(String algorithm) { + return (null != oneTimeKeyCounts) && (null != algorithm) && oneTimeKeyCounts.containsKey(algorithm); + } +} + diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/NewDeviceContent.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/NewDeviceContent.java new file mode 100644 index 00000000..05eb31c2 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/NewDeviceContent.java @@ -0,0 +1,28 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.crypto; + +import java.util.List; + +public class NewDeviceContent { + private static final String LOG_TAG = "NewDeviceContent"; + + // the device id + public String deviceId; + + // the room ids list + public List rooms; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/OlmEventContent.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/OlmEventContent.java new file mode 100644 index 00000000..67def0ce --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/OlmEventContent.java @@ -0,0 +1,38 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.crypto; + +import java.util.Map; + +/** + * Class representing an encrypted event content + */ +public class OlmEventContent implements java.io.Serializable { + /** + * + */ + public Map ciphertext; + + /** + * The device id + */ + //public String device_id; + + /** + * the sender key + */ + public String sender_key; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/OlmPayloadContent.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/OlmPayloadContent.java new file mode 100644 index 00000000..6ff0eea7 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/OlmPayloadContent.java @@ -0,0 +1,48 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.crypto; + +import java.util.Map; + +/** + * Class representing the OLM payload content + */ +public class OlmPayloadContent implements java.io.Serializable { + /** + * The room id + */ + public String room_id; + + /** + * The sender + */ + public String sender; + + /** + * The receipient + */ + public String recipient; + + /** + * the recipient keys + */ + public Map recipient_keys; + + /** + * The keys + */ + public Map keys; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/RoomKeyContent.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/RoomKeyContent.java new file mode 100644 index 00000000..034a6492 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/RoomKeyContent.java @@ -0,0 +1,33 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.crypto; + +/** + * Class representing an sharekey content + */ +public class RoomKeyContent implements java.io.Serializable { + + public String algorithm; + + public String room_id; + + public String session_id; + + public String session_key; + + // should be a Long but it is sometimes a double + public Object chain_index; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/RoomKeyRequest.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/RoomKeyRequest.java new file mode 100644 index 00000000..d3c60d9d --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/RoomKeyRequest.java @@ -0,0 +1,32 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.crypto; + +/** + * Class representing an room key request content + */ +public class RoomKeyRequest implements java.io.Serializable { + public static final String ACTION_REQUEST = "request"; + public static final String ACTION_REQUEST_CANCELLATION = "request_cancellation"; + + public String action; + + public String requesting_device_id; + + public String request_id; + + public RoomKeyRequestBody body; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/RoomKeyRequestBody.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/RoomKeyRequestBody.java new file mode 100644 index 00000000..7e6b9156 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/crypto/RoomKeyRequestBody.java @@ -0,0 +1,29 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.crypto; + +/** + * Class representing an room key request body content + */ +public class RoomKeyRequestBody implements java.io.Serializable { + public String algorithm; + + public String room_id; + + public String sender_key; + + public String session_id; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/Filter.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/Filter.java new file mode 100644 index 00000000..bdf48068 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/Filter.java @@ -0,0 +1,55 @@ +/* + * Copyright 2018 Matthias Kesler + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.filter; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +/** + * Represents "Filter" as mentioned in the SPEC + * https://matrix.org/docs/spec/client_server/r0.3.0.html#post-matrix-client-r0-user-userid-filter + */ +public class Filter { + + public Integer limit; + + public List senders; + + @SerializedName("not_senders") + public List notSenders; + + public List types; + + @SerializedName("not_types") + public List notTypes; + + public List rooms; + + @SerializedName("not_rooms") + public List notRooms; + + public boolean hasData() { + return limit != null + || senders != null + || notSenders != null + || types != null + || notTypes != null + || rooms != null + || notRooms != null; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/FilterBody.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/FilterBody.java new file mode 100644 index 00000000..0806c6e8 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/FilterBody.java @@ -0,0 +1,54 @@ +/* + * Copyright 2018 Matthias Kesler + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.filter; + +import com.google.gson.annotations.SerializedName; + +import im.vector.matrix.android.internal.legacy.util.JsonUtils; + +import java.util.List; + +/** + * Class which can be parsed to a filter json string. Used for POST and GET + * Have a look here for further information: + * https://matrix.org/docs/spec/client_server/r0.3.0.html#post-matrix-client-r0-user-userid-filter + */ +public class FilterBody { + public static final String LOG_TAG = FilterBody.class.getSimpleName(); + + @SerializedName("event_fields") + public List eventFields; + + @SerializedName("event_format") + public String eventFormat; + + public Filter presence; + + @SerializedName("account_data") + public Filter accountData; + + public RoomFilter room; + + @Override + public String toString() { + return LOG_TAG + toJSONString(); + } + + public String toJSONString() { + return JsonUtils.getGson(false).toJson(this); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/FilterResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/FilterResponse.java new file mode 100644 index 00000000..4fdb0054 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/FilterResponse.java @@ -0,0 +1,29 @@ +/* + * Copyright 2018 Matthias Kesler + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.filter; + +import com.google.gson.annotations.SerializedName; + +/** + * Represents the body which is the response when creating a filter on the server + * https://matrix.org/docs/spec/client_server/r0.3.0.html#post-matrix-client-r0-user-userid-filter + */ +public class FilterResponse { + + @SerializedName("filter_id") + public String filterId; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/RoomEventFilter.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/RoomEventFilter.java new file mode 100644 index 00000000..54c8c481 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/RoomEventFilter.java @@ -0,0 +1,69 @@ +/* + * Copyright 2018 Matthias Kesler + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.filter; + +import com.google.gson.annotations.SerializedName; + +import im.vector.matrix.android.internal.legacy.util.JsonUtils; + +import java.util.List; + +/** + * Represents "RoomEventFilter" as mentioned in the SPEC + * https://matrix.org/docs/spec/client_server/r0.3.0.html#post-matrix-client-r0-user-userid-filter + */ +public class RoomEventFilter { + + public Integer limit; + + @SerializedName("not_senders") + public List notSenders; + + @SerializedName("not_types") + public List notTypes; + + public List senders; + + public List types; + + public List rooms; + + @SerializedName("not_rooms") + public List notRooms; + + @SerializedName("contains_url") + public Boolean containsUrl; + + @SerializedName("lazy_load_members") + public Boolean lazyLoadMembers; + + public boolean hasData() { + return limit != null + || notSenders != null + || notTypes != null + || senders != null + || types != null + || rooms != null + || notRooms != null + || containsUrl != null + || lazyLoadMembers != null; + } + + public String toJSONString() { + return JsonUtils.getGson(false).toJson(this); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/RoomFilter.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/RoomFilter.java new file mode 100644 index 00000000..1861a075 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/filter/RoomFilter.java @@ -0,0 +1,55 @@ +/* + * Copyright 2018 Matthias Kesler + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.filter; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +/** + * Represents "RoomFilter" as mentioned in the SPEC + * https://matrix.org/docs/spec/client_server/r0.3.0.html#post-matrix-client-r0-user-userid-filter + */ +public class RoomFilter { + + @SerializedName("not_rooms") + public List notRooms; + + public List rooms; + + public RoomEventFilter ephemeral; + + @SerializedName("include_leave") + public Boolean includeLeave; + + public RoomEventFilter state; + + public RoomEventFilter timeline; + + @SerializedName("account_data") + public RoomEventFilter accountData; + + public boolean hasData() { + return notRooms != null + || rooms != null + || ephemeral != null + || includeLeave != null + || state != null + || timeline != null + || accountData != null; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/AcceptGroupInvitationParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/AcceptGroupInvitationParams.java new file mode 100644 index 00000000..53f3a289 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/AcceptGroupInvitationParams.java @@ -0,0 +1,22 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +/** + * Accept an invitation in a group + */ +public class AcceptGroupInvitationParams { +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/AddGroupParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/AddGroupParams.java new file mode 100644 index 00000000..251cb296 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/AddGroupParams.java @@ -0,0 +1,22 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +/** + * Room addition to a group + */ +public class AddGroupParams { +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/CreateGroupParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/CreateGroupParams.java new file mode 100644 index 00000000..80cabed8 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/CreateGroupParams.java @@ -0,0 +1,32 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + + +/** + * Group creation params + */ +public class CreateGroupParams { + /** + * The group local part + */ + public String localpart; + + /** + * The group profile + */ + public GroupProfile profile; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/CreateGroupResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/CreateGroupResponse.java new file mode 100644 index 00000000..47caaab4 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/CreateGroupResponse.java @@ -0,0 +1,26 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +/** + * Group creation response + */ +public class CreateGroupResponse { + /** + * The group Id + */ + public String group_id; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GetGroupsResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GetGroupsResponse.java new file mode 100644 index 00000000..d3058646 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GetGroupsResponse.java @@ -0,0 +1,28 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +import java.util.List; + +/** + * Get groups list response + */ +public class GetGroupsResponse { + /** + * Group ids list + */ + public List groupIds; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GetPublicisedGroupsResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GetPublicisedGroupsResponse.java new file mode 100644 index 00000000..258fbf60 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GetPublicisedGroupsResponse.java @@ -0,0 +1,29 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +import java.util.List; +import java.util.Map; + +/** + * Get groups list response + */ +public class GetPublicisedGroupsResponse { + /** + * Group ids list indexed by userId + */ + public Map> users; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GetUserPublicisedGroupsResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GetUserPublicisedGroupsResponse.java new file mode 100644 index 00000000..77c54202 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GetUserPublicisedGroupsResponse.java @@ -0,0 +1,28 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +import java.util.List; + +/** + * Get groups list response + */ +public class GetUserPublicisedGroupsResponse { + /** + * Group ids list + */ + public List groups; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/Group.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/Group.java new file mode 100644 index 00000000..9ccb54f2 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/Group.java @@ -0,0 +1,277 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; + +import java.io.Serializable; +import java.util.Comparator; + +/** + * This class represents a community in Matrix. + */ +public class Group implements Serializable { + /** + * Sort by group id + */ + public static final Comparator mGroupsComparator = new Comparator() { + public int compare(Group group1, Group group2) { + return group1.getGroupId().compareTo(group2.getGroupId()); + } + }; + + /** + * The group id. + */ + private String mGroupId; + + /** + * The community summary. + */ + private GroupSummary mSummary = new GroupSummary(); + + /** + * The rooms of the community. + */ + private GroupRooms mRooms = new GroupRooms(); + + /** + * The community members. + */ + private GroupUsers mUsers = new GroupUsers(); + + /** + * The community invited members. + */ + private GroupUsers mInvitedUsers = new GroupUsers(); + + /** + * The user membership. + */ + private String mMembership; + + /** + * The identifier of the potential inviter (tells wether an invite is pending for this group). + */ + private String mInviter; + + /** + * Create an instance with a group id. + * + * @param groupId the identifier. + * @return the MXGroup instance. + */ + public Group(String groupId) { + mGroupId = groupId; + } + + /** + * @return the group ID + */ + public String getGroupId() { + return mGroupId; + } + + /** + * Update the group profile. + * + * @param profile the group profile. + */ + public void setGroupProfile(GroupProfile profile) { + if (null == mSummary) { + mSummary = new GroupSummary(); + } + + getGroupSummary().profile = profile; + } + + /** + * @return the group profile + */ + public GroupProfile getGroupProfile() { + if (null != getGroupSummary()) { + return getGroupSummary().profile; + } + + return null; + } + + /** + * @return the group name + */ + public String getDisplayName() { + String name = null; + + if (null != getGroupProfile()) { + name = getGroupProfile().name; + } + + if (TextUtils.isEmpty(name)) { + name = getGroupId(); + } + + return name; + } + + /** + * @return the group long description + */ + public String getLongDescription() { + if (null != getGroupProfile()) { + return getGroupProfile().longDescription; + } + + return null; + } + + /** + * @return the avatar URL + */ + public String getAvatarUrl() { + if (null != getGroupProfile()) { + return getGroupProfile().avatarUrl; + } + + return null; + } + + /** + * @return the short description + */ + public String getShortDescription() { + if (null != getGroupProfile()) { + return getGroupProfile().shortDescription; + } + + return null; + } + + /** + * Tells if the group is public. + * + * @return true if the group is public. + */ + public boolean isPublic() { + return (null != getGroupProfile()) && (null != getGroupProfile().isPublic) && getGroupProfile().isPublic; + } + + /** + * Tells if the user is invited to this group. + * + * @return true if the user is invited + */ + public boolean isInvited() { + return TextUtils.equals(mMembership, RoomMember.MEMBERSHIP_INVITE); + } + + /** + * @return the group summary + */ + public GroupSummary getGroupSummary() { + return mSummary; + } + + /** + * Update the group summary + * + * @param aGroupSummary the new group summary + */ + public void setGroupSummary(GroupSummary aGroupSummary) { + mSummary = aGroupSummary; + } + + /** + * @return the group rooms + */ + public GroupRooms getGroupRooms() { + return mRooms; + } + + /** + * Update the group rooms + * + * @param aGroupRooms the new group rooms + */ + public void setGroupRooms(GroupRooms aGroupRooms) { + mRooms = aGroupRooms; + } + + /** + * @return the group users + */ + public GroupUsers getGroupUsers() { + return mUsers; + } + + /** + * Update the group users + * + * @param aGroupUsers the group users + */ + public void setGroupUsers(GroupUsers aGroupUsers) { + mUsers = aGroupUsers; + } + + /** + * @return the invited group users + */ + public GroupUsers getInvitedGroupUsers() { + return mInvitedUsers; + } + + /** + * Update the invited group users + * + * @param aGroupUsers the group users + */ + public void setInvitedGroupUsers(GroupUsers aGroupUsers) { + mInvitedUsers = aGroupUsers; + } + + /** + * Update the membership + * + * @param membership the new membership + */ + public void setMembership(String membership) { + mMembership = membership; + } + + /** + * @return the membership + */ + public String getMembership() { + return mMembership; + } + + /** + * @return the inviter + */ + public String getInviter() { + return mInviter; + } + + /** + * Update the inviter. + * + * @param inviter the inviter. + */ + public void setInviter(String inviter) { + mInviter = inviter; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupInviteUserParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupInviteUserParams.java new file mode 100644 index 00000000..b534ff5a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupInviteUserParams.java @@ -0,0 +1,22 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +/** + * Group user invitation parameters + */ +public class GroupInviteUserParams { +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupInviteUserResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupInviteUserResponse.java new file mode 100644 index 00000000..03326d7f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupInviteUserResponse.java @@ -0,0 +1,30 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +/** + * Group user invitation response + */ +public class GroupInviteUserResponse { + /** + * The user state + *

    + * join - the invitee’s HS immediately accepted the invite + * invite - the invitee’s HS accepted the invite, and then may relay to invitee’s clients + * reject - the invitee’s HS immediately rejected the invite + */ + public String state; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupKickUserParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupKickUserParams.java new file mode 100644 index 00000000..0e657a07 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupKickUserParams.java @@ -0,0 +1,22 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +/** + * Group user kick parameters + */ +public class GroupKickUserParams { +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupProfile.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupProfile.java new file mode 100644 index 00000000..bc73e71b --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupProfile.java @@ -0,0 +1,46 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +import java.io.Serializable; + +/** + * This class represents a community profile in the server responses. + */ +public class GroupProfile implements Serializable { + + public String shortDescription; + + /** + * Tell whether the group is public. + */ + public Boolean isPublic; + + /** + * The URL for the group's avatar. May be nil. + */ + public String avatarUrl; + + /** + * The group's name. + */ + public String name; + + /** + * The optional HTML formatted string used to described the group. + */ + public String longDescription; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupRoom.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupRoom.java new file mode 100644 index 00000000..7b06a60a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupRoom.java @@ -0,0 +1,41 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.rest.model.publicroom.PublicRoom; + +/** + * This class represents a room linked to a community + */ +public class GroupRoom extends PublicRoom { + + /** + * @return the display name + */ + public String getDisplayName() { + if (!TextUtils.isEmpty(name)) { + return name; + } + + if (!TextUtils.isEmpty(canonicalAlias)) { + return canonicalAlias; + } + + return roomId; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupRooms.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupRooms.java new file mode 100644 index 00000000..a04e121c --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupRooms.java @@ -0,0 +1,53 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * This class represents the group rooms in the server response. + */ +public class GroupRooms implements Serializable { + // estimated room count + public Integer totalRoomCountEstimate; + + // rooms list + public List chunk; + + /** + * @return the rooms list + */ + public List getRoomsList() { + if (null == chunk) { + chunk = new ArrayList<>(); + } + + return chunk; + } + + /** + * @return the estimated rooms count + */ + public int getEstimatedRoomCount() { + if (null == totalRoomCountEstimate) { + totalRoomCountEstimate = getRoomsList().size(); + } + + return totalRoomCountEstimate; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSummary.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSummary.java new file mode 100644 index 00000000..87b768f5 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSummary.java @@ -0,0 +1,43 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +import java.io.Serializable; + +/** + * This class represents the summary of a community in the server response. + */ +public class GroupSummary implements Serializable { + /** + * The group profile. + */ + public GroupProfile profile; + + /** + * The group users. + */ + public GroupSummaryUsersSection usersSection; + + /** + * The current user status. + */ + public GroupSummaryUser user; + + /** + * The rooms linked to the community. + */ + public GroupSummaryRoomsSection roomsSection; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSummaryRoomsSection.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSummaryRoomsSection.java new file mode 100644 index 00000000..15f88cbb --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSummaryRoomsSection.java @@ -0,0 +1,32 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +import java.io.Serializable; +import java.util.List; + +/** + * This class represents the community rooms in a group summary response. + */ +public class GroupSummaryRoomsSection implements Serializable { + + public Integer totalRoomCountEstimate; + + public List rooms; + + // @TODO: Check the meaning and the usage of these categories. This dictionary is empty FTM. + //public Map categories; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSummaryUser.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSummaryUser.java new file mode 100644 index 00000000..09168bee --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSummaryUser.java @@ -0,0 +1,34 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +import java.io.Serializable; + +/** + * This class represents the current user status in a group summary response. + */ +public class GroupSummaryUser implements Serializable { + + /** + * The current user membership in this community. + */ + public String membership; + + /** + * Tell whether the user published this community on his profile. + */ + public Boolean isPublicised; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSummaryUsersSection.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSummaryUsersSection.java new file mode 100644 index 00000000..9b56cade --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSummaryUsersSection.java @@ -0,0 +1,32 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +import java.io.Serializable; +import java.util.List; + +/** + * This class represents the community members in a group summary response. + */ +public class GroupSummaryUsersSection implements Serializable { + + public Integer totalUserCountEstimate; + + public List users; + + // @TODO: Check the meaning and the usage of these roles. This dictionary is empty FTM. + //public Map roles; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSyncProfile.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSyncProfile.java new file mode 100644 index 00000000..dbc323f2 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupSyncProfile.java @@ -0,0 +1,34 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +import java.io.Serializable; + +/** + * Group sync profile + */ +public class GroupSyncProfile { + /** + * The name of the group, if any. May be nil. + */ + public String name; + + /** + * The URL for the group's avatar. May be nil. + */ + public String avatarUrl; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupUser.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupUser.java new file mode 100644 index 00000000..9e0aee70 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupUser.java @@ -0,0 +1,56 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +import java.io.Serializable; + +/** + * This class represents a community member + */ +public class GroupUser implements Serializable { + /** + * The user display name. + */ + public String displayname; + + /** + * The ID of the user. + */ + public String userId; + + /** + * Tell whether the user has a role in the community. + */ + public Boolean isPrivileged; + + /** + * The URL for the user's avatar. May be null. + */ + public String avatarUrl; + + /** + * Tell whether the user's membership is public. + */ + public Boolean isPublic; + + + /** + * @return the user display name + */ + public String getDisplayname() { + return (null != displayname) ? displayname : userId; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupUsers.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupUsers.java new file mode 100644 index 00000000..742698ec --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupUsers.java @@ -0,0 +1,71 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * This class represents the group users in the server response. + */ +public class GroupUsers implements Serializable { + + public Integer totalUserCountEstimate; + + public List chunk; + + // the server sends some duplicated entries + private List mFilteredUsers; + + /** + * @return the users list + */ + public List getUsers() { + if (null == chunk) { + mFilteredUsers = chunk = new ArrayList<>(); + } else if (null == mFilteredUsers) { + mFilteredUsers = new ArrayList<>(); + + Map map = new HashMap<>(); + + for (GroupUser user : chunk) { + if (null != user.userId) { + map.put(user.userId, user); + } else { + mFilteredUsers.add(user); + } + } + mFilteredUsers.addAll(map.values()); + } + + return mFilteredUsers; + } + + /** + * @return the estimated users count + */ + public int getEstimatedUsersCount() { + if (null == totalUserCountEstimate) { + totalUserCountEstimate = getUsers().size(); + } + + return totalUserCountEstimate; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupsSyncResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupsSyncResponse.java new file mode 100644 index 00000000..424aa30f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/GroupsSyncResponse.java @@ -0,0 +1,40 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +import java.io.Serializable; +import java.util.Map; + +/** + * Group sync response + */ +public class GroupsSyncResponse { + /** + * Joined groups: An array of groups ids. + */ + public Map join; + + /** + * Invitations. The groups that the user has been invited to: keys are groups ids. + */ + public Map invite; + + /** + * Left groups. An array of groups ids: the groups that the user has left or been banned from. + */ + public Map leave; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/InvitedGroupSync.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/InvitedGroupSync.java new file mode 100644 index 00000000..925417c6 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/InvitedGroupSync.java @@ -0,0 +1,34 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +import java.io.Serializable; + +/** + * invited group sync + */ +public class InvitedGroupSync { + /** + * The identifier of the inviter. + */ + public String inviter; + + /** + * The group profile. + */ + public GroupSyncProfile profile; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/LeaveGroupParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/LeaveGroupParams.java new file mode 100644 index 00000000..7f720d1a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/LeaveGroupParams.java @@ -0,0 +1,22 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +/** + * The leave group params + */ +public class LeaveGroupParams { +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/UpdatePubliciseParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/UpdatePubliciseParams.java new file mode 100644 index 00000000..1ce14e5f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/group/UpdatePubliciseParams.java @@ -0,0 +1,26 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.group; + +/** + * Update the Publicise status + */ +public class UpdatePubliciseParams { + /* + * Whether to show the group on a user’s profile, i.e. this doesn’t affect who gets shown on the group's profile. + */ + public Boolean publicise; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/Credentials.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/Credentials.java new file mode 100644 index 00000000..77d7f2d6 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/Credentials.java @@ -0,0 +1,78 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.login; + +import android.text.TextUtils; + +import org.json.JSONException; +import org.json.JSONObject; + +/** + * The user's credentials. + */ +public class Credentials { + public String userId; + public String homeServer; // This is the server name and not a URI, e.g. "matrix.org" + public String accessToken; + public String refreshToken; + public String deviceId; + + public JSONObject toJson() throws JSONException { + JSONObject json = new JSONObject(); + + json.put("user_id", userId); + json.put("home_server", homeServer); + json.put("access_token", accessToken); + json.put("refresh_token", TextUtils.isEmpty(refreshToken) ? JSONObject.NULL : refreshToken); + json.put("device_id", deviceId); + + return json; + } + + public static Credentials fromJson(JSONObject obj) throws JSONException { + Credentials creds = new Credentials(); + creds.userId = obj.getString("user_id"); + creds.homeServer = obj.getString("home_server"); + creds.accessToken = obj.getString("access_token"); + + if (obj.has("device_id")) { + creds.deviceId = obj.getString("device_id"); + } + + // refresh_token is mandatory + if (obj.has("refresh_token")) { + try { + creds.refreshToken = obj.getString("refresh_token"); + } catch (Exception e) { + creds.refreshToken = null; + } + } else { + throw new RuntimeException("refresh_token is required."); + } + + return creds; + } + + @Override + public String toString() { + return "Credentials{" + + "userId='" + userId + '\'' + + ", homeServer='" + homeServer + '\'' + + ", refreshToken.length='" + (refreshToken != null ? refreshToken.length() : "null") + '\'' + + ", accessToken.length='" + (accessToken != null ? accessToken.length() : "null") + '\'' + + '}'; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/LoginFlow.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/LoginFlow.java new file mode 100644 index 00000000..aea8fb71 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/LoginFlow.java @@ -0,0 +1,26 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.login; + +import java.util.List; + +/** + * A Login flow. + */ +public class LoginFlow implements java.io.Serializable { + public String type; + public List stages; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/LoginFlowResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/LoginFlowResponse.java new file mode 100644 index 00000000..da5f9be9 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/LoginFlowResponse.java @@ -0,0 +1,25 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.login; + +import java.util.List; + +/** + * Response to a GET /login call with the different login flows. + */ +public class LoginFlowResponse { + public List flows; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/LoginParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/LoginParams.java new file mode 100644 index 00000000..963b56ab --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/LoginParams.java @@ -0,0 +1,23 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.login; + +/** + * Class to pass parameters to the different login types for /login. + */ +public class LoginParams { + public String type; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/PasswordLoginParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/PasswordLoginParams.java new file mode 100644 index 00000000..d0f0d2b9 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/PasswordLoginParams.java @@ -0,0 +1,146 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.login; + +import android.os.Build; +import android.support.annotation.NonNull; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.rest.client.LoginRestClient; + +import java.util.HashMap; +import java.util.Map; + +/** + * Object to pass to a /login call of type password. + */ +public class PasswordLoginParams extends LoginParams { + public static final String IDENTIFIER_KEY_TYPE_USER = "m.id.user"; + public static final String IDENTIFIER_KEY_TYPE_THIRD_PARTY = "m.id.thirdparty"; + public static final String IDENTIFIER_KEY_TYPE_PHONE = "m.id.phone"; + + public static final String IDENTIFIER_KEY_TYPE = "type"; + public static final String IDENTIFIER_KEY_MEDIUM = "medium"; + public static final String IDENTIFIER_KEY_ADDRESS = "address"; + public static final String IDENTIFIER_KEY_USER = "user"; + public static final String IDENTIFIER_KEY_COUNTRY = "country"; + public static final String IDENTIFIER_KEY_NUMBER = "number"; + + // identifier parameters + public Map identifier; + + // user name login + public String user; + + // email login + public String address; + public String medium; + + // common + public String password; + + // A display name to assign to the newly-created device + public String initial_device_display_name; + + // The device id, used for e2e encryption + public String device_id; + + /** + * Set login params for username/password + * + * @param username the username + * @param password the password + */ + public void setUserIdentifier(@NonNull final String username, @NonNull final String password) { + identifier = new HashMap<>(); + identifier.put(IDENTIFIER_KEY_TYPE, IDENTIFIER_KEY_TYPE_USER); + identifier.put(IDENTIFIER_KEY_USER, username); + // For backward compatibility + user = username; + + setOtherData(password); + } + + /** + * Set login params for 3pid(except phone number)/password + * + * @param medium 3pid type + * @param address 3pid value + * @param password the password + */ + public void setThirdPartyIdentifier(@NonNull final String medium, @NonNull final String address, @NonNull final String password) { + identifier = new HashMap<>(); + identifier.put(IDENTIFIER_KEY_TYPE, IDENTIFIER_KEY_TYPE_THIRD_PARTY); + identifier.put(IDENTIFIER_KEY_MEDIUM, medium); + identifier.put(IDENTIFIER_KEY_ADDRESS, address); + // For backward compatibility + this.medium = medium; + this.address = address; + + setOtherData(password); + } + + /** + * Set login params for phone number/password + * + * @param phoneNumber the phone number + * @param countryCode the country code + * @param password the password + */ + public void setPhoneIdentifier(@NonNull final String phoneNumber, @NonNull final String countryCode, @NonNull final String password) { + identifier = new HashMap<>(); + identifier.put(IDENTIFIER_KEY_TYPE, IDENTIFIER_KEY_TYPE_PHONE); + identifier.put(IDENTIFIER_KEY_NUMBER, phoneNumber); + identifier.put(IDENTIFIER_KEY_COUNTRY, countryCode); + + setOtherData(password); + } + + /** + * Set basic params + * + * @param password the password + */ + private void setOtherData(@NonNull final String password) { + this.password = password; + type = LoginRestClient.LOGIN_FLOW_TYPE_PASSWORD; + initial_device_display_name = Build.MODEL.trim(); + } + + /** + * Set the device name + * + * @param deviceName the new device name + */ + public void setDeviceName(String deviceName) { + if ((null != deviceName) && !TextUtils.isEmpty(deviceName.trim())) { + initial_device_display_name = deviceName.trim(); + } else { + initial_device_display_name = Build.MODEL.trim(); + } + } + + /** + * Set the device Id + * + * @param deviceId the device id, used for e2e encryption + */ + public void setDeviceId(String deviceId) { + device_id = deviceId; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/RegistrationFlowResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/RegistrationFlowResponse.java new file mode 100644 index 00000000..8dc490e2 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/RegistrationFlowResponse.java @@ -0,0 +1,47 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.login; + +import java.util.List; +import java.util.Map; + +/** + * Response to a POST /register call with the different flows. + */ +public class RegistrationFlowResponse implements java.io.Serializable { + /** + * The list of stages the client has completed successfully. + */ + public List flows; + + /** + * The list of stages the client has completed successfully. + */ + public List completed; + + /** + * The session identifier that the client must pass back to the home server, if one is provided, + * in subsequent attempts to authenticate in the same API call. + */ + public String session; + + /** + * The information that the client will need to know in order to use a given type of authentication. + * For each login stage type presented, that type may be present as a key in this dictionary. + * For example, the public key of reCAPTCHA stage could be given here. + */ + public Map params; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/RegistrationParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/RegistrationParams.java new file mode 100644 index 00000000..b48c4df9 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/RegistrationParams.java @@ -0,0 +1,46 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.login; + +import java.util.Map; + +/** + * Class to pass parameters to the different registration types for /register. + */ +public class RegistrationParams { + // authentification parameters + public Map auth; + + // the account username + public String username; + + // the account password + public String password; + + // With email + public Boolean bind_email; + + // With phone_number + public Boolean bind_msisdn; + + // device name + public String initial_device_display_name; + + // Temporary flag to notify the server that we support msisdn flow. Used to prevent old app + // versions to end up in fallback because the HS returns the msisdn flow which they don't support + public Boolean x_show_msisdn; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/TokenLoginParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/TokenLoginParams.java new file mode 100644 index 00000000..dd6bbb3a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/TokenLoginParams.java @@ -0,0 +1,16 @@ +package im.vector.matrix.android.internal.legacy.rest.model.login; + + +public class TokenLoginParams extends LoginParams { + public String user; + public String token; + public String txn_id; + + // A display name to assign to the newly-created device + public String initial_device_display_name; + + + public TokenLoginParams() { + type = "m.login.token"; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/TokenRefreshParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/TokenRefreshParams.java new file mode 100644 index 00000000..9c6b8ce3 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/TokenRefreshParams.java @@ -0,0 +1,7 @@ +package im.vector.matrix.android.internal.legacy.rest.model.login; + + +public class TokenRefreshParams { + public String refresh_token; +} + diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/TokenRefreshResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/TokenRefreshResponse.java new file mode 100644 index 00000000..647a55ad --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/login/TokenRefreshResponse.java @@ -0,0 +1,8 @@ +package im.vector.matrix.android.internal.legacy.rest.model.login; + + +public class TokenRefreshResponse { + public String access_token; + public String refresh_token; +} + diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/AudioMessage.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/AudioMessage.java new file mode 100644 index 00000000..dbab6913 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/AudioMessage.java @@ -0,0 +1,25 @@ +/* + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.message; + +public class AudioMessage extends FileMessage { + public AudioMessage() { + msgtype = MSGTYPE_AUDIO; + } +} + + + diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/FileInfo.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/FileInfo.java new file mode 100644 index 00000000..465b6090 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/FileInfo.java @@ -0,0 +1,33 @@ +/* + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.message; + +public class FileInfo { + public String mimetype; + public Long size; + + /** + * Make a deep copy. + * + * @return the copy + */ + public FileInfo deepCopy() { + FileInfo copy = new FileInfo(); + copy.mimetype = mimetype; + copy.size = size; + return copy; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/FileMessage.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/FileMessage.java new file mode 100644 index 00000000..665e867a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/FileMessage.java @@ -0,0 +1,111 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.message; + +import android.content.ClipDescription; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.crypto.MXEncryptedAttachments; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.EncryptedFileInfo; +import im.vector.matrix.android.internal.legacy.util.Log; + +import android.webkit.MimeTypeMap; + +public class FileMessage extends MediaMessage { + private static final String LOG_TAG = FileMessage.class.getSimpleName(); + + public FileInfo info; + public String url; + + // encrypted medias + // url and thumbnailUrl are replaced by their dedicated file + public EncryptedFileInfo file; + + public FileMessage() { + msgtype = MSGTYPE_FILE; + } + + @Override + public String getUrl() { + if (null != url) { + return url; + } else if (null != file) { + return file.url; + } else { + return null; + } + } + + @Override + public void setUrl(MXEncryptedAttachments.EncryptionResult encryptionResult, String contentUrl) { + if (null != encryptionResult) { + file = encryptionResult.mEncryptedFileInfo; + file.url = contentUrl; + url = null; + } else { + url = contentUrl; + } + } + + /** + * Make a deep copy of this VideoMessage. + * + * @return the copy + */ + public FileMessage deepCopy() { + FileMessage copy = new FileMessage(); + copy.msgtype = msgtype; + copy.body = body; + copy.url = url; + + if (null != info) { + copy.info = info.deepCopy(); + } + + if (null != file) { + copy.file = file.deepCopy(); + } + + return copy; + } + + @Override + public String getMimeType() { + if (null != info) { + // the mimetype was not provided or it's invalid + // some android application set the mimetype to text/uri-list + // it should be fixed on application side but we need to patch it on client side. + if ((TextUtils.isEmpty(info.mimetype) || ClipDescription.MIMETYPE_TEXT_URILIST.equals(info.mimetype)) && (body.indexOf('.') > 0)) { + // the body should contain the filename so try to extract the mimetype from the extension + String extension = body.substring(body.lastIndexOf('.') + 1, body.length()); + + try { + info.mimetype = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension.toLowerCase()); + } catch (Exception e) { + Log.e(LOG_TAG, "## getMimeType() : getMimeTypeFromExtensionfailed " + e.getMessage(), e); + } + } + + if (TextUtils.isEmpty(info.mimetype)) { + info.mimetype = "application/octet-stream"; + } + + return info.mimetype; + } else { + return null; + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/ImageInfo.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/ImageInfo.java new file mode 100644 index 00000000..15c57ff8 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/ImageInfo.java @@ -0,0 +1,63 @@ +/* + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.message; + +import im.vector.matrix.android.internal.legacy.rest.model.crypto.EncryptedFileInfo; + +public class ImageInfo { + public String mimetype; + public Integer w; + public Integer h; + public Long size; + public Integer rotation; + + // ExifInterface.ORIENTATION_XX values + public Integer orientation; + + public ThumbnailInfo thumbnailInfo; + public String thumbnailUrl; + public EncryptedFileInfo thumbnail_file; + + /** + * Make a deep copy. + * + * @return the copy + */ + public ImageInfo deepCopy() { + ImageInfo copy = new ImageInfo(); + copy.mimetype = mimetype; + copy.w = w; + copy.h = h; + copy.size = size; + copy.rotation = rotation; + copy.orientation = orientation; + + if (null != thumbnail_file) { + copy.thumbnail_file = thumbnail_file.deepCopy(); + } + + copy.thumbnailUrl = thumbnailUrl; + + if (null != thumbnailInfo) { + copy.thumbnailInfo = thumbnailInfo.deepCopy(); + } + + return copy; + } +} + + + diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/ImageMessage.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/ImageMessage.java new file mode 100644 index 00000000..d42145ff --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/ImageMessage.java @@ -0,0 +1,131 @@ +/* + * Copyright 2017 Vector Creations 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model.message; + +import android.media.ExifInterface; + +import im.vector.matrix.android.internal.legacy.crypto.MXEncryptedAttachments; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.EncryptedFileInfo; + +public class ImageMessage extends MediaMessage { + public ImageInfo info; + public String url; + + // encrypted medias + // url and thumbnailUrl are replaced by their dedicated file + public EncryptedFileInfo file; + + public ImageMessage() { + msgtype = MSGTYPE_IMAGE; + } + + /** + * Make a deep copy of this ImageMessage. + * FIXME Remove this? + * @return the copy + */ + public ImageMessage deepCopy() { + ImageMessage copy = new ImageMessage(); + copy.msgtype = msgtype; + copy.body = body; + copy.url = url; + + if (null != file) { + copy.file = file.deepCopy(); + } + + return copy; + } + + @Override + public String getUrl() { + if (null != url) { + return url; + } else if (null != file) { + return file.url; + } else { + return null; + } + } + + @Override + public void setUrl(MXEncryptedAttachments.EncryptionResult encryptionResult, String contentUrl) { + if (null != encryptionResult) { + file = encryptionResult.mEncryptedFileInfo; + file.url = contentUrl; + url = null; + } else { + url = contentUrl; + } + } + + @Override + public String getThumbnailUrl() { + if (null != info) { + if (null != info.thumbnail_file) { + return info.thumbnail_file.url; + } else { + return info.thumbnailUrl; + } + } + return null; + } + + @Override + public void setThumbnailUrl(MXEncryptedAttachments.EncryptionResult encryptionResult, String url) { + if (null != encryptionResult) { + info.thumbnail_file = encryptionResult.mEncryptedFileInfo; + info.thumbnail_file.url = url; + info.thumbnailUrl = null; + } else { + info.thumbnailUrl = url; + } + } + + @Override + public String getMimeType() { + if (null != file) { + return file.mimetype; + } else if (null != info) { + return info.mimetype; + } else { + return null; + } + } + + /** + * @return the rotation angle. Integer.MAX_VALUE if not defined. + */ + public int getRotation() { + if ((null != info) && (null != info.rotation)) { + return info.rotation; + } else { + return Integer.MAX_VALUE; + } + } + + /** + * @return the image orientation. ExifInterface.ORIENTATION_UNDEFINED if not defined. + */ + public int getOrientation() { + if ((null != info) && (null != info.orientation)) { + return info.orientation; + } else { + return ExifInterface.ORIENTATION_UNDEFINED; + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/LocationMessage.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/LocationMessage.java new file mode 100644 index 00000000..d6b96b03 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/LocationMessage.java @@ -0,0 +1,74 @@ +/* + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.message; + +import android.net.Uri; + +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.io.File; + +public class LocationMessage extends Message { + private static final String LOG_TAG = "LocationMessage"; + public ThumbnailInfo thumbnail_info; + public String geo_uri; + public String thumbnail_url; + + public LocationMessage() { + msgtype = MSGTYPE_LOCATION; + } + + /** + * Make a deep copy + * @return the copy + */ + public LocationMessage deepCopy() { + LocationMessage copy = new LocationMessage(); + copy.msgtype = msgtype; + copy.body = body; + copy.geo_uri = geo_uri; + copy.thumbnail_url = thumbnail_url; + + if (null != thumbnail_info) { + copy.thumbnail_info = thumbnail_info.deepCopy(); + } + + return copy; + } + + public boolean isLocalThumbnailContent() { + return (null != thumbnail_url) && (thumbnail_url.startsWith("file://")); + } + + /** + * Checks if the media Urls are still valid. + * The media Urls could define a file path. + * They could have been deleted after a media cache cleaning. + */ + public void checkMediaUrls() { + if ((thumbnail_url != null) && thumbnail_url.startsWith("file://")) { + try { + File file = new File(Uri.parse(thumbnail_url).getPath()); + + if (!file.exists()) { + thumbnail_url = null; + } + } catch (Exception e) { + Log.e(LOG_TAG, "## checkMediaUrls() failed " + e.getMessage(), e); + } + } + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/MediaMessage.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/MediaMessage.java new file mode 100644 index 00000000..43367414 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/MediaMessage.java @@ -0,0 +1,106 @@ +/* + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.message; + +import android.net.Uri; + +import im.vector.matrix.android.internal.legacy.crypto.MXEncryptedAttachments; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.io.File; + +public class MediaMessage extends Message { + public static final String LOG_TAG = MediaMessage.class.getSimpleName(); + + /** + * @return the media URL + */ + public String getUrl() { + return null; + } + + + public void setUrl(MXEncryptedAttachments.EncryptionResult encryptionResult, String url) { + } + + /** + * @return the thumbnail url + */ + public String getThumbnailUrl() { + return null; + } + + public void setThumbnailUrl(MXEncryptedAttachments.EncryptionResult encryptionResult, String url) { + } + + /** + * @return true if the thumbnail is a file url + */ + public boolean isThumbnailLocalContent() { + String thumbUrl = getThumbnailUrl(); + return (null != thumbUrl) && thumbUrl.startsWith("file://"); + } + + /** + * @return true if the media url is a file one. + */ + public boolean isLocalContent() { + String url = getUrl(); + return (null != url) && url.startsWith("file://"); + } + + /** + * @return The image mimetype. null is not defined. + */ + public String getMimeType() { + return null; + } + + /** + * Checks if the media Urls are still valid. + * The media Urls could define a file path. + * They could have been deleted after a media cache cleaning. + */ + public void checkMediaUrls() { + String thumbUrl = getThumbnailUrl(); + + if ((null != thumbUrl) && thumbUrl.startsWith("file://")) { + try { + File file = new File(Uri.parse(thumbUrl).getPath()); + + if (!file.exists()) { + setThumbnailUrl(null, null); + } + } catch (Exception e) { + Log.e(LOG_TAG, "## checkMediaUrls() failed" + e.getMessage(), e); + } + } + + String url = getUrl(); + + if ((url != null) && url.startsWith("file://")) { + try { + File file = new File(Uri.parse(url).getPath()); + + if (!file.exists()) { + setUrl(null, null); + } + } catch (Exception e) { + Log.e(LOG_TAG, "## checkMediaUrls() failed" + e.getMessage(), e); + } + } + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/Message.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/Message.java new file mode 100644 index 00000000..0c517cc0 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/Message.java @@ -0,0 +1,44 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.message; + +import com.google.gson.annotations.SerializedName; + +public class Message { + public static final String MSGTYPE_TEXT = "m.text"; + public static final String MSGTYPE_EMOTE = "m.emote"; + public static final String MSGTYPE_NOTICE = "m.notice"; + public static final String MSGTYPE_IMAGE = "m.image"; + public static final String MSGTYPE_AUDIO = "m.audio"; + public static final String MSGTYPE_VIDEO = "m.video"; + public static final String MSGTYPE_LOCATION = "m.location"; + public static final String MSGTYPE_FILE = "m.file"; + public static final String FORMAT_MATRIX_HTML = "org.matrix.custom.html"; + + // Add, in local, a fake message type in order to StickerMessage can inherit Message class + // Because sticker isn't a message type but a event type without msgtype field + public static final String MSGTYPE_STICKER_LOCAL = "org.matrix.android.sdk.sticker"; + + public String msgtype; + public String body; + + public String format; + public String formatted_body; + + @SerializedName("m.relates_to") + public RelatesTo relatesTo; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/RelatesTo.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/RelatesTo.java new file mode 100644 index 00000000..8a05528e --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/RelatesTo.java @@ -0,0 +1,26 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model.message; + +import com.google.gson.annotations.SerializedName; + +import java.util.Map; + +public class RelatesTo { + @SerializedName("m.in_reply_to") + public Map dict; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/StickerJsonMessage.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/StickerJsonMessage.java new file mode 100644 index 00000000..e9dd1c82 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/StickerJsonMessage.java @@ -0,0 +1,28 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.message; + + +// It's just an intermediate object to create a StickerMessage from a m.sticker event type. +public class StickerJsonMessage { + + public final String msgtype = Message.MSGTYPE_STICKER_LOCAL; + public String body; + public String url; + public String format; + public ImageInfo info; + +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/StickerMessage.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/StickerMessage.java new file mode 100644 index 00000000..e52fac6f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/StickerMessage.java @@ -0,0 +1,53 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model.message; + + +public class StickerMessage extends ImageMessage { + + public StickerMessage() { + msgtype = MSGTYPE_STICKER_LOCAL; + } + + public StickerMessage(StickerJsonMessage stickerJsonMessage) { + this(); + info = stickerJsonMessage.info; + url = stickerJsonMessage.url; + body = stickerJsonMessage.body; + format = stickerJsonMessage.format; + } + + /** + * Make a deep copy of this StickerMessage. + * + * @return the copy + */ + public StickerMessage deepCopy() { + StickerMessage copy = new StickerMessage(); + copy.info = info; + copy.url = url; + copy.body = body; + copy.format = format; + + if (null != file) { + copy.file = file.deepCopy(); + } + + return copy; + } +} + diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/ThumbnailInfo.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/ThumbnailInfo.java new file mode 100644 index 00000000..8fc3c8ad --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/ThumbnailInfo.java @@ -0,0 +1,39 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.message; + +public class ThumbnailInfo { + public Integer w; + public Integer h; + public Long size; + public String mimetype; + + /** + * Make a deep copy of this VideoMessage. + * + * @return the copy + */ + public ThumbnailInfo deepCopy() { + ThumbnailInfo copy = new ThumbnailInfo(); + + copy.w = w; + copy.h = h; + copy.size = size; + copy.mimetype = mimetype; + + return copy; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/VideoInfo.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/VideoInfo.java new file mode 100644 index 00000000..62770fe1 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/VideoInfo.java @@ -0,0 +1,54 @@ +/* + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.message; + +import im.vector.matrix.android.internal.legacy.rest.model.crypto.EncryptedFileInfo; + +public class VideoInfo { + public Integer h; + public Integer w; + public String mimetype; + public Long duration; + public Long size; + public String thumbnail_url; + public ThumbnailInfo thumbnail_info; + + public EncryptedFileInfo thumbnail_file; + + /** + * Make a deep copy. + * + * @return the copy + */ + public VideoInfo deepCopy() { + VideoInfo copy = new VideoInfo(); + copy.h = h; + copy.w = w; + copy.mimetype = mimetype; + copy.duration = duration; + copy.thumbnail_url = thumbnail_url; + + if (null != thumbnail_info) { + copy.thumbnail_info = thumbnail_info.deepCopy(); + } + + if (null != thumbnail_file) { + copy.thumbnail_file = thumbnail_file.deepCopy(); + } + + return copy; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/VideoMessage.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/VideoMessage.java new file mode 100644 index 00000000..f6d3f841 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/message/VideoMessage.java @@ -0,0 +1,108 @@ +/* + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.message; + +import im.vector.matrix.android.internal.legacy.crypto.MXEncryptedAttachments; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.EncryptedFileInfo; + +public class VideoMessage extends MediaMessage { + + public VideoInfo info; + public String url; + + // encrypted medias + // url and thumbnailUrl are replaced by their dedicated file + public EncryptedFileInfo file; + + public VideoMessage() { + msgtype = MSGTYPE_VIDEO; + } + + @Override + public String getUrl() { + if (null != url) { + return url; + } else if (null != file) { + return file.url; + } else { + return null; + } + } + + @Override + public void setUrl(MXEncryptedAttachments.EncryptionResult encryptionResult, String contentUrl) { + if (null != encryptionResult) { + file = encryptionResult.mEncryptedFileInfo; + file.url = contentUrl; + url = null; + } else { + url = contentUrl; + } + } + + @Override + public String getThumbnailUrl() { + if ((null != info) && (null != info.thumbnail_url)) { + return info.thumbnail_url; + } else if ((null != info) && (null != info.thumbnail_file)) { + return info.thumbnail_file.url; + } + + return null; + } + + @Override + public void setThumbnailUrl(MXEncryptedAttachments.EncryptionResult encryptionResult, String url) { + if (null != encryptionResult) { + info.thumbnail_file = encryptionResult.mEncryptedFileInfo; + info.thumbnail_file.url = url; + info.thumbnail_url = null; + } else { + info.thumbnail_url = url; + } + } + + /** + * Make a deep copy of this VideoMessage. + * + * @return the copy + */ + public VideoMessage deepCopy() { + VideoMessage copy = new VideoMessage(); + copy.url = url; + copy.msgtype = msgtype; + copy.body = body; + + if (null != info) { + copy.info = info.deepCopy(); + } + + if (null != file) { + copy.file = file.deepCopy(); + } + + return copy; + } + + @Override + public String getMimeType() { + if (null != info) { + return info.mimetype; + } else { + return null; + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/AccountThreePidsResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/AccountThreePidsResponse.java new file mode 100644 index 00000000..60f8e879 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/AccountThreePidsResponse.java @@ -0,0 +1,25 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.pid; + +import java.util.List; + +/** + * Class representing the ThreePids response + */ +public class AccountThreePidsResponse { + public List threepids; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/AddThreePidsParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/AddThreePidsParams.java new file mode 100644 index 00000000..698f7b2d --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/AddThreePidsParams.java @@ -0,0 +1,31 @@ +/* + * Copyright 2014 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model.pid; + +import im.vector.matrix.android.internal.legacy.rest.model.ThreePidCreds; + +/** + * Parameters to add a 3Pids to an user + */ +public class AddThreePidsParams { + + // the 3rd party id credentials + public ThreePidCreds three_pid_creds; + + // true when the email has been binded. + public Boolean bind; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/DeleteDeviceAuth.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/DeleteDeviceAuth.java new file mode 100644 index 00000000..c62e334f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/DeleteDeviceAuth.java @@ -0,0 +1,30 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.pid; + +/** + * This class provides the + */ +public class DeleteDeviceAuth { + + // device device session id + public String session; + + // registration information + public String type; + public String user; + public String password; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/DeleteDeviceParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/DeleteDeviceParams.java new file mode 100644 index 00000000..899aa9e8 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/DeleteDeviceParams.java @@ -0,0 +1,23 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.pid; + +/** + * This class provides the parameter to delete a device + */ +public class DeleteDeviceParams { + public DeleteDeviceAuth auth; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/DeleteThreePidParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/DeleteThreePidParams.java new file mode 100644 index 00000000..d5977dc9 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/DeleteThreePidParams.java @@ -0,0 +1,29 @@ +/* + * Copyright 2017 Vector Creations 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model.pid; + +/** + * Parameters to delete a 3Pid of a user + */ +public class DeleteThreePidParams { + + // the 3pid medium (email, phone number, etc.) + public String medium; + + // the msisdn that will be deleted from the account + public String address; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/Invite3Pid.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/Invite3Pid.java new file mode 100755 index 00000000..e28e7152 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/Invite3Pid.java @@ -0,0 +1,39 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.pid; + +/** + * + */ +public class Invite3Pid { + /** + * Required. + * The hostname+port of the identity server which should be used for third party identifier lookups. + */ + public String id_server; + + /** + * Required. + * The kind of address being passed in the address field, for example email. + */ + public String medium; + + /** + * Required. + * The invitee's third party identifier. + */ + public String address; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/PidResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/PidResponse.java new file mode 100755 index 00000000..c4766323 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/PidResponse.java @@ -0,0 +1,20 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.pid; + +public class PidResponse { + public String mxid; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/RoomThirdPartyInvite.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/RoomThirdPartyInvite.java new file mode 100644 index 00000000..6e246d10 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/RoomThirdPartyInvite.java @@ -0,0 +1,65 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.pid; + +/** + * Class representing a room member: a user with membership information. + */ +public class RoomThirdPartyInvite implements java.io.Serializable { + + /** + * The user display name as provided by the home sever. + */ + public String display_name; + + /** + * The token generated by the identity server. + */ + public String token; + + // the event used to build this class + private String mOriginalEventId = null; + + /** + * @return a RoomThirdPartyInvite deep copy. + */ + public RoomThirdPartyInvite deepCopy() { + RoomThirdPartyInvite copy = new RoomThirdPartyInvite(); + copy.display_name = display_name; + copy.token = token; + copy.mOriginalEventId = mOriginalEventId; + return copy; + } + + /** + * Set the original used to create this class + * + * @param eventId the event id + */ + public void setOriginalEventid(String eventId) { + mOriginalEventId = eventId; + } + + /** + * Provides the even used to create this class + * + * @return the event uses to create this class + */ + public String getOriginalEventId() { + return mOriginalEventId; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/ThirdPartyIdentifier.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/ThirdPartyIdentifier.java new file mode 100755 index 00000000..dc332830 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/ThirdPartyIdentifier.java @@ -0,0 +1,45 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model.pid; + +import java.io.Serializable; + +public class ThirdPartyIdentifier implements Serializable { + /** + * The medium of the third party identifier (ThreePid.MEDIUM_XXX) + */ + public String medium; + + /** + * The third party identifier address. + */ + public String address; + + /** + * The timestamp in milliseconds when this 3PID has been validated. + * Define as Object because it should be Long and it is a Double. + * So, it might change. + */ + public Object validatedAt; + + /** + * The timestamp in milliseconds when this 3PID has been added to the user account. + * Define as Object because it should be Long and it is a Double. + * So, it might change. + */ + public Object addedAt; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/ThirdPartyProtocol.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/ThirdPartyProtocol.java new file mode 100755 index 00000000..530d752c --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/ThirdPartyProtocol.java @@ -0,0 +1,36 @@ +/* + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.pid; + +import java.util.List; +import java.util.Map; + +/** + * This class describes the third party server protocols. + */ +public class ThirdPartyProtocol { + // the user fields (domain, nick, username...) + public List userFields; + + // the location fields (domain, channels, room...) + public List locationFields; + + // the field types + public Map> fieldTypes; + + // the protocol instance + public List instances; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/ThirdPartyProtocolInstance.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/ThirdPartyProtocolInstance.java new file mode 100755 index 00000000..a7197098 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/ThirdPartyProtocolInstance.java @@ -0,0 +1,43 @@ +/* + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.pid; + +import java.io.Serializable; +import java.util.Map; + +/** + * This class describes a third party protocol instance + */ +public class ThirdPartyProtocolInstance implements Serializable { + + // the network identifier + public String networkId; + + // the fields (domain...) + public Map fields; + + // the instance id + public String instanceId; + + // the description + public String desc; + + // the dedicated bot + public String botUserId; + + // the icon URL + public String icon; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/ThreePid.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/ThreePid.java new file mode 100755 index 00000000..617ac6f3 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/pid/ThreePid.java @@ -0,0 +1,293 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.pid; + +import android.content.Context; +import android.text.TextUtils; + +import im.vector.matrix.android.R; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.client.ProfileRestClient; +import im.vector.matrix.android.internal.legacy.rest.client.ThirdPidRestClient; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.RequestEmailValidationResponse; +import im.vector.matrix.android.internal.legacy.rest.model.RequestPhoneNumberValidationResponse; + +import java.util.UUID; + +/** + * 3 pid + */ +public class ThreePid implements java.io.Serializable { + /** + * Types of third party media. + * The list is not exhaustive and depends on the Identity server capabilities. + */ + public static final String MEDIUM_EMAIL = "email"; + public static final String MEDIUM_MSISDN = "msisdn"; + + // state + public static final int AUTH_STATE_TOKEN_UNKNOWN = 0; + public static final int AUTH_STATE_TOKEN_REQUESTED = 1; + public static final int AUTH_STATE_TOKEN_RECEIVED = 2; + public static final int AUTH_STATE_TOKEN_SUBMITTED = 3; + public static final int AUTH_STATE_TOKEN_AUTHENTIFICATED = 4; + + /** + * Types of third party media. + */ + public String medium; + + /** + * The email of the user + * Used when MEDIUM_EMAIL + */ + public String emailAddress; + + /** + * The phone number of the user + * Used when MEDIUM_MSISDN + */ + public String phoneNumber; + + /** + * The country of the user + * Usedwhen MEDIUM_MSISDN + */ + public String country; + + /** + * The current client secret key used during email validation. + */ + public String clientSecret; + + /** + * The current session identifier during email validation. + */ + public String sid; + + /** + * The number of attempts + */ + public int sendAttempt; + + /** + * Current validation state (AUTH_STATE_XXX) + */ + private int mValidationState; + + /** + * Two params constructors (MEDIUM_EMAIL) + * + * @param emailAddress the email address. + * @param medium the identifier medium, MEDIUM_EMAIL in that case + */ + public ThreePid(String emailAddress, String medium) { + this.medium = medium; + this.emailAddress = emailAddress; + + if (TextUtils.equals(MEDIUM_EMAIL, medium) && !TextUtils.isEmpty(emailAddress)) { + this.emailAddress = emailAddress.toLowerCase(); + } + + clientSecret = UUID.randomUUID().toString(); + } + + /** + * Build a ThreePid with the given phone number and country (MEDIUM_MSISDN) + * + * @param phoneNumber the phone number (national or international format) + * @param country country code of the phone number (can be empty if phone number has international format and starts by "+") + * @param medium the identifier medium, MEDIUM_MSISDN in that case + */ + public ThreePid(String phoneNumber, String country, String medium) { + this.medium = medium; + this.phoneNumber = phoneNumber; + this.country = country == null ? "" : country.toUpperCase(); + + clientSecret = UUID.randomUUID().toString(); + } + + /** + * Clear the validation parameters + */ + private void resetValidationParameters() { + mValidationState = AUTH_STATE_TOKEN_UNKNOWN; + + clientSecret = UUID.randomUUID().toString(); + sendAttempt = 1; + sid = null; + } + + /** + * Request an email validation token. + * + * @param restClient the rest client to use. + * @param nextLink the nextLink + * @param isDuringRegistration true if it is added during a registration + * @param callback the callback when the operation is done + */ + public void requestEmailValidationToken(final ProfileRestClient restClient, + final String nextLink, + final boolean isDuringRegistration, + final ApiCallback callback) { + // sanity check + if (null != restClient && mValidationState != AUTH_STATE_TOKEN_REQUESTED) { + + if (mValidationState != AUTH_STATE_TOKEN_UNKNOWN) { + resetValidationParameters(); + } + + mValidationState = AUTH_STATE_TOKEN_REQUESTED; + restClient.requestEmailValidationToken(emailAddress, clientSecret, sendAttempt, nextLink, isDuringRegistration, + new ApiCallback() { + + @Override + public void onSuccess(RequestEmailValidationResponse requestEmailValidationResponse) { + + if (TextUtils.equals(requestEmailValidationResponse.clientSecret, clientSecret)) { + mValidationState = AUTH_STATE_TOKEN_RECEIVED; + sid = requestEmailValidationResponse.sid; + callback.onSuccess(null); + } + } + + private void commonError() { + sendAttempt++; + mValidationState = AUTH_STATE_TOKEN_UNKNOWN; + } + + @Override + public void onNetworkError(Exception e) { + commonError(); + callback.onNetworkError(e); + } + + @Override + public void onMatrixError(MatrixError e) { + commonError(); + callback.onMatrixError(e); + } + + @Override + public void onUnexpectedError(Exception e) { + commonError(); + callback.onUnexpectedError(e); + } + }); + + } + } + + /** + * Request a phone number validation token. + * + * @param restClient the rest client to use. + * @param isDuringRegistration true if it is added during a registration + * @param callback the callback when the operation is done + */ + public void requestPhoneNumberValidationToken(final ProfileRestClient restClient, final boolean isDuringRegistration, + final ApiCallback callback) { + // sanity check + if ((null != restClient) && (mValidationState != AUTH_STATE_TOKEN_REQUESTED)) { + + if (mValidationState != AUTH_STATE_TOKEN_UNKNOWN) { + resetValidationParameters(); + } + + mValidationState = AUTH_STATE_TOKEN_REQUESTED; + + restClient.requestPhoneNumberValidationToken(phoneNumber, country, clientSecret, sendAttempt, isDuringRegistration, + new ApiCallback() { + + @Override + public void onSuccess(RequestPhoneNumberValidationResponse requestPhoneNumberValidationResponse) { + + if (TextUtils.equals(requestPhoneNumberValidationResponse.clientSecret, clientSecret)) { + mValidationState = AUTH_STATE_TOKEN_RECEIVED; + sid = requestPhoneNumberValidationResponse.sid; + callback.onSuccess(null); + } + } + + private void commonError() { + sendAttempt++; + mValidationState = AUTH_STATE_TOKEN_UNKNOWN; + } + + @Override + public void onNetworkError(Exception e) { + commonError(); + callback.onNetworkError(e); + } + + @Override + public void onMatrixError(MatrixError e) { + commonError(); + callback.onMatrixError(e); + } + + @Override + public void onUnexpectedError(Exception e) { + commonError(); + callback.onUnexpectedError(e); + } + }); + } + } + + /** + * Request the ownership validation of an email address or a phone number previously set + * by {@link #requestEmailValidationToken(ProfileRestClient, String, boolean, ApiCallback)} + * + * @param restClient REST client + * @param token the token generated by the requestEmailValidationToken or requestPhoneNumberValidationToken call + * @param clientSecret the client secret which was supplied in the requestEmailValidationToken or requestPhoneNumberValidationToken call + * @param sid the sid for the session + * @param respCallback asynchronous callback response + */ + public void submitValidationToken(final ThirdPidRestClient restClient, final String token, final String clientSecret, + final String sid, final ApiCallback respCallback) { + // sanity check + if (null != restClient) { + restClient.submitValidationToken(medium, token, clientSecret, sid, respCallback); + } + } + + /** + * Get the friendly name of the medium + * + * @param medium medium of the 3pid + * @param context the context + * @return friendly name of the medium + */ + public static String getMediumFriendlyName(final String medium, final Context context) { + String mediumFriendlyName = ""; + switch (medium) { + case MEDIUM_EMAIL: + mediumFriendlyName = context.getString(R.string.medium_email); + break; + case MEDIUM_MSISDN: + mediumFriendlyName = context.getString(R.string.medium_phone_number); + break; + } + + return mediumFriendlyName; + } + +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/publicroom/PublicRoom.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/publicroom/PublicRoom.java new file mode 100644 index 00000000..29219cba --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/publicroom/PublicRoom.java @@ -0,0 +1,53 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.publicroom; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +/** + * Class representing the objects returned by /publicRooms call. + */ +public class PublicRoom { + + public List aliases; + + @SerializedName("canonical_alias") + public String canonicalAlias; + + public String name; + + // number of members which have joined the room (the members list is not provided) + @SerializedName("num_joined_members") + public int numJoinedMembers; + + @SerializedName("room_id") + public String roomId; + + public String topic; + + // true when the room history is visible (room preview) + @SerializedName("world_readable") + public boolean worldReadable; + + // a guest can join the room + @SerializedName("guest_can_join") + public boolean guestCanJoin; + + @SerializedName("avatar_url") + public String avatarUrl; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/publicroom/PublicRoomsFilter.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/publicroom/PublicRoomsFilter.java new file mode 100644 index 00000000..65a114bc --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/publicroom/PublicRoomsFilter.java @@ -0,0 +1,26 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.publicroom; + +/** + * Class to define a filter to retrieve public rooms + */ +public class PublicRoomsFilter { + /** + * String to search for + **/ + public String generic_search_term; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/publicroom/PublicRoomsParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/publicroom/PublicRoomsParams.java new file mode 100644 index 00000000..5f5fe88c --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/publicroom/PublicRoomsParams.java @@ -0,0 +1,47 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.publicroom; + +/** + * Class to pass parameters to get the public rooms list + */ +public class PublicRoomsParams { + /** + * The third party instance id + */ + public String thirdPartyInstanceId; + + /** + * Tell if the query must be done in all the connected networks. + */ + public boolean includeAllNetworks; + + /** + * Maximum number of entries to return + **/ + public Integer limit; + + /** + * token to paginate from + **/ + public String since; + + /** + * Filter parameters + **/ + public PublicRoomsFilter filter; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/publicroom/PublicRoomsResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/publicroom/PublicRoomsResponse.java new file mode 100644 index 00000000..6f76ae75 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/publicroom/PublicRoomsResponse.java @@ -0,0 +1,43 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.publicroom; + +import java.util.List; + +/** + * Class representing the public rooms request response + */ +public class PublicRoomsResponse { + /** + * token to forward paginate + **/ + public String next_batch; + + /** + * token to back paginate + **/ + public String prev_batch; + + /** + * public rooms list + **/ + public List chunk; + + /** + * number of unfiltered existing rooms + **/ + public Integer total_room_count_estimate; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchCategories.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchCategories.java new file mode 100644 index 00000000..b344c9e6 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchCategories.java @@ -0,0 +1,28 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model.search; + +/** + * subclass representing a search API response + */ +public class SearchCategories { + + /** + * Mapping of category name to search criteria. + */ + public SearchRoomEventResults roomEvents; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchEventContext.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchEventContext.java new file mode 100644 index 00000000..baab968d --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchEventContext.java @@ -0,0 +1,53 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.search; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +import java.util.List; +import java.util.Map; + +/** + * subclass representing a search API response + */ +public class SearchEventContext { + /** + * Pagination token for the start of the chunk. + */ + public String start; + + /** + * Pagination token for the end of the chunk. + */ + public String end; + + /** + * Events just before the result. + */ + public List eventsBefore; + + /** + * Events just after the result. + */ + public List eventsAfter; + + /** + * The historic profile information of the users that sent the events returned. + * The key is the user id, the value the user profile. + */ + public Map profileInfo; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchGroup.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchGroup.java new file mode 100644 index 00000000..50902935 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchGroup.java @@ -0,0 +1,30 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.search; + +import java.util.Map; + +/** + * subclass representing a search API response + */ +public class SearchGroup { + /** + * Total number of results found. + * The key is "room_id" (TODO_SEARCH) , the value the group. + */ + public Map group; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchGroupContent.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchGroupContent.java new file mode 100644 index 00000000..09bc8b79 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchGroupContent.java @@ -0,0 +1,38 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.search; + +import java.util.List; + +/** + * subclass representing a search API response + */ +public class SearchGroupContent { + /** + * Which results are in this group. + */ + public List results; + + /** + * Key that can be used to order different groups. + */ + public Integer order; + + /** + * Token that can be used to get the next batch of results in the group, if exists. + */ + public String nextBatch; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchParams.java new file mode 100644 index 00000000..58f0eb63 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchParams.java @@ -0,0 +1,27 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.search; + +import java.util.Map; + +/** + * Class representing a search parameters + */ +public class SearchParams { + // the search categories + public Map search_categories; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchResponse.java new file mode 100644 index 00000000..a416e10f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchResponse.java @@ -0,0 +1,28 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model.search; + +/** + * subclass representing a search API response + */ +public class SearchResponse { + + /** + * Categories to search in and their criteria.. + */ + public SearchCategories searchCategories; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchResult.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchResult.java new file mode 100644 index 00000000..db58a9ef --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchResult.java @@ -0,0 +1,40 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model.search; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +/** + * subclass representing a search API response + */ +public class SearchResult { + + /** + * The event that matched. + */ + public Event result; + + /** + * A number that describes how closely this result matches the search. Higher is closer. + */ + public Double rank; + + /** + * Context for result, if requested. + */ + public SearchEventContext context; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchRoomEventCategoryParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchRoomEventCategoryParams.java new file mode 100644 index 00000000..eb03ab12 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchRoomEventCategoryParams.java @@ -0,0 +1,37 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model.search; + +import java.util.Map; + +/** + * Class representing the room events search category parameters + */ +public class SearchRoomEventCategoryParams { + // the searched text + public String search_term; + + // the sort order + public String order_by; + + // the event context + public Map event_context; + + // the search filters + public Map filter; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchRoomEventResults.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchRoomEventResults.java new file mode 100644 index 00000000..180b547a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchRoomEventResults.java @@ -0,0 +1,56 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model.search; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +import java.util.List; +import java.util.Map; + +/** + * Class representing a search API response + */ +public class SearchRoomEventResults { + /** + * Total number of results found. + */ + public Integer count; + + /** + * List of results in the requested order. + */ + public List results; + + /** + * The current state for every room in the results. + * This is included if the request had the include_state key set with a value of true. + * The key is the roomId, the value its state. (TODO_SEARCH: right?) + */ + public Map> state; + + /** + * Any groups that were requested. + * The key is the group id (TODO_SEARCH). + */ + public Map groups; + + /** + * Token that can be used to get the next batch of results in the group, if exists. + */ + public String nextBatch; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchUserProfile.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchUserProfile.java new file mode 100644 index 00000000..f439e328 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchUserProfile.java @@ -0,0 +1,31 @@ +/* + * Copyright 2016 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.search; + +/** + * subclass representing a search API response + */ +public class SearchUserProfile { + /** + * The avatar URL for this user, if any. + */ + public String avatarUrl; + + /** + * The display name for this user, if any. + */ + public String displayName; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchUsersParams.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchUsersParams.java new file mode 100644 index 00000000..05d76a52 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchUsersParams.java @@ -0,0 +1,27 @@ +/* + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.search; + +/** + * Class representing an user search parameters + */ +public class SearchUsersParams { + // the searched term + public String search_term; + + // set a limit to the request response + public Integer limit; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchUsersRequestResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchUsersRequestResponse.java new file mode 100644 index 00000000..7ff7435a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchUsersRequestResponse.java @@ -0,0 +1,38 @@ +/* + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.search; + +import java.util.List; + +/** + * Class representing an users search response + */ +public class SearchUsersRequestResponse { + + // cannot use org.matrix.androidsdk.rest.model.User + // because the display name does not have the same syntax + public class User { + public String user_id; + public String display_name; + public String avatar_url; + } + + // indicates if the result list has been truncated by the limit. + public Boolean limited; + + // set a limit to the request response + public List results; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchUsersResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchUsersResponse.java new file mode 100644 index 00000000..94f7af7e --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/search/SearchUsersResponse.java @@ -0,0 +1,32 @@ +/* + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.search; + +import im.vector.matrix.android.internal.legacy.rest.model.User; + +import java.util.List; + +/** + * Class representing an users search response + */ +public class SearchUsersResponse { + + // indicates if the result list has been truncated by the limit. + public Boolean limited; + + // set a limit to the request response + public List results; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/DeviceInfo.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/DeviceInfo.java new file mode 100644 index 00000000..625d804d --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/DeviceInfo.java @@ -0,0 +1,70 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.sync; + +import im.vector.matrix.android.internal.legacy.data.comparator.Comparators; +import im.vector.matrix.android.internal.legacy.interfaces.DatedObject; + +import java.util.Collections; +import java.util.List; + +/** + * This class describes the device information + */ +public class DeviceInfo implements DatedObject { + /** + * The owner user id + */ + public String user_id; + + /** + * The device id + */ + public String device_id; + + /** + * The device display name + */ + public String display_name; + + /** + * The last time this device has been seen. + */ + public long last_seen_ts = 0; + + /** + * The last ip address + */ + public String last_seen_ip; + + @Override + public long getDate() { + return last_seen_ts; + } + + /** + * Sort a devices list by their presences from the most recent to the oldest one. + * + * @param deviceInfos the deviceinfo list + */ + public static void sortByLastSeen(List deviceInfos) { + if (null != deviceInfos) { + Collections.sort(deviceInfos, Comparators.descComparator); + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/DeviceListResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/DeviceListResponse.java new file mode 100644 index 00000000..8a4b0e68 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/DeviceListResponse.java @@ -0,0 +1,29 @@ +/* + * Copyright 2017 Vector Creations 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.sync; + +import java.util.List; + +/** + * This class describes the device list response from a sync request + */ +public class DeviceListResponse { + // user ids list which have new crypto devices + public List changed; + + // List of user ids who are no more tracked. + public List left; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/DeviceOneTimeKeysCountSyncResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/DeviceOneTimeKeysCountSyncResponse.java new file mode 100644 index 00000000..f336148b --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/DeviceOneTimeKeysCountSyncResponse.java @@ -0,0 +1,23 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model.sync; + +public class DeviceOneTimeKeysCountSyncResponse { + + public Integer signed_curve25519; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/DevicesListResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/DevicesListResponse.java new file mode 100644 index 00000000..d0bf1dba --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/DevicesListResponse.java @@ -0,0 +1,25 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.sync; + +import java.util.List; + +/** + * This class describes the + */ +public class DevicesListResponse { + public List devices; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/InvitedRoomSync.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/InvitedRoomSync.java new file mode 100644 index 00000000..9e661080 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/InvitedRoomSync.java @@ -0,0 +1,33 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.sync; + +import com.google.gson.annotations.SerializedName; + +// InvitedRoomSync represents a room invitation during server sync v2. +public class InvitedRoomSync { + + /** + * The state of a room that the user has been invited to. These state events may only have the 'sender', 'type', 'state_key' + * and 'content' keys present. These events do not replace any state that the client already has for the room, for example if + * the client has archived the room. Instead the client should keep two separate copies of the state: the one from the 'invite_state' + * and one from the archived 'state'. If the client joins the room then the current state will be given as a delta against the + * archived 'state' not the 'invite_state'. + */ + @SerializedName("invite_state") + public RoomInviteState inviteState; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/PresenceSyncResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/PresenceSyncResponse.java new file mode 100644 index 00000000..caf4d951 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/PresenceSyncResponse.java @@ -0,0 +1,30 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.sync; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +import java.util.List; + +// PresenceSyncResponse represents the updates to the presence status of other users during server sync v2. +public class PresenceSyncResponse { + + /** + * List of presence events (array of Event with type m.presence). + */ + public List events; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomInviteState.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomInviteState.java new file mode 100644 index 00000000..85f3e7ce --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomInviteState.java @@ -0,0 +1,30 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.sync; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +import java.util.List; + +// RoomInviteState represents the state of a room that the user has been invited to. +public class RoomInviteState { + + /** + * List of state events (array of MXEvent). + */ + public List events; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomResponse.java new file mode 100644 index 00000000..7b39063f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomResponse.java @@ -0,0 +1,57 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.sync; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.TokensChunkEvents; + +import java.util.List; + +/** + * Class representing a room from a JSON response from room or global initial sync. + */ +public class RoomResponse { + // The room identifier. + public String roomId; + + // The last recent messages of the room. + public TokensChunkEvents messages; + + // The state events. + public List state; + + // The private data that this user has attached to this room. + public List accountData; + + // The current user membership in this room. + public String membership; + + // The room visibility (public/private). + public String visibility; + + // The matrix id of the inviter in case of pending invitation. + public String inviter; + + // The invite event if membership is invite. + public Event invite; + + // The presence status of other users (Provided in case of room initial sync @see http://matrix.org/docs/api/client-server/#!/-rooms/get_room_sync_data)). + public List presence; + + // The read receipts (Provided in case of room initial sync). + public List receipts; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSync.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSync.java new file mode 100644 index 00000000..81595074 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSync.java @@ -0,0 +1,54 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.sync; + +import com.google.gson.annotations.SerializedName; + +// RoomSync represents the response for a room during server sync v2. +public class RoomSync { + /** + * The state updates for the room. + */ + public RoomSyncState state; + + /** + * The timeline of messages and state changes in the room. + */ + public RoomSyncTimeline timeline; + + /** + * The ephemeral events in the room that aren't recorded in the timeline or state of the room (e.g. typing, receipts). + */ + public RoomSyncEphemeral ephemeral; + + /** + * The account data events for the room (e.g. tags). + */ + public RoomSyncAccountData accountData; + + /** + The notification counts for the room. + */ + public RoomSyncUnreadNotifications unreadNotifications; + + /** + * The room summary + */ + @SerializedName("summary") + public RoomSyncSummary roomSyncSummary; + +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncAccountData.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncAccountData.java new file mode 100644 index 00000000..fdc2e1c8 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncAccountData.java @@ -0,0 +1,29 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.sync; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +import java.util.List; + +// RoomSyncAccountData represents the account data events for a room. +public class RoomSyncAccountData { + /** + * List of account data events (array of Event). + */ + public List events; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncEphemeral.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncEphemeral.java new file mode 100644 index 00000000..d57b29db --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncEphemeral.java @@ -0,0 +1,29 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.sync; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +import java.util.List; + +// RoomSyncEphemeral represents the ephemeral events in the room that aren't recorded in the timeline or state of the room (e.g. typing). +public class RoomSyncEphemeral { + /** + * List of ephemeral events. + */ + public List events; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncState.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncState.java new file mode 100644 index 00000000..a1d65aa5 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncState.java @@ -0,0 +1,31 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.sync; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +import java.util.List; + +// RoomSyncState represents the state updates for a room during server sync v2. +public class RoomSyncState { + + /** + * List of state events. The resulting state corresponds to the *start* of the timeline. + */ + public List events; + +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncSummary.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncSummary.java new file mode 100644 index 00000000..399a4dea --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncSummary.java @@ -0,0 +1,52 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model.sync; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +/** + * See https://docs.google.com/document/d/11i14UI1cUz-OJ0knD5BFu7fmT6Fo327zvMYqfSAR7xs + */ +public class RoomSyncSummary { + + /** + * Present only if the room has no m.room.name or m.room.canonical_alias. + *

    + * Lists the mxids of the first 5 members in the room who are currently joined or invited (ordered by stream ordering as seen on the server, + * to avoid it jumping around if/when topological order changes). As the heroes’ membership status changes, the list changes appropriately + * (sending the whole new list in the next /sync response). This list always excludes the current logged in user. If there are no joined or + * invited users, it lists the parted and banned ones instead. Servers can choose to send more or less than 5 members if they must, but 5 + * seems like a good enough number for most naming purposes. Clients should use all the provided members to name the room, but may truncate + * the list if helpful for UX + */ + @SerializedName("m.heroes") + public List heroes; + + /** + * The number of m.room.members in state 'joined' (including the syncing user) (can be null) + */ + @SerializedName("m.joined_member_count") + public Integer joinedMembersCount; + + /** + * The number of m.room.members in state 'invited' (can be null) + */ + @SerializedName("m.invited_member_count") + public Integer invitedMembersCount; +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncTimeline.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncTimeline.java new file mode 100644 index 00000000..01c557b2 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncTimeline.java @@ -0,0 +1,43 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.sync; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +import java.util.List; + +/** + * RoomSyncTimeline represents the timeline of messages and state changes for a room during server sync v2. + */ +public class RoomSyncTimeline { + + /** + * List of events. + */ + public List events; + + /** + * Boolean which tells whether there are more events on the server + * In the case of an incremental sync, if the value is true, it's means that there is a gap between known events and received events + */ + public boolean limited; + + /** + * If the batch was limited then this is a token that can be supplied to the server to retrieve more events + */ + public String prevBatch; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncUnreadNotifications.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncUnreadNotifications.java new file mode 100644 index 00000000..34a869d7 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomSyncUnreadNotifications.java @@ -0,0 +1,41 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.sync; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +import java.util.List; + +/** + `MXRoomSyncUnreadNotifications` represents the unread counts for a room. + */ +public class RoomSyncUnreadNotifications { + /** + * List of account data events (array of Event). + */ + public List events; + + /** + * The number of unread messages that match the push notification rules. + */ + public Integer notificationCount; + + /** + * The number of highlighted unread messages (subset of notifications). + */ + public Integer highlightCount; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomsSyncResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomsSyncResponse.java new file mode 100644 index 00000000..179e3b2d --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/RoomsSyncResponse.java @@ -0,0 +1,38 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.rest.model.sync; + +import java.util.Map; + +// RoomsSyncResponse represents the rooms list in server sync v2 response. +public class RoomsSyncResponse { + + /** + * Joined rooms: keys are rooms ids. + */ + public Map join; + + /** + * Invitations. The rooms that the user has been invited to: keys are rooms ids. + */ + public Map invite; + + /** + * Left rooms. The rooms that the user has left or been banned from: keys are rooms ids. + */ + public Map leave; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/SyncResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/SyncResponse.java new file mode 100644 index 00000000..f13d133b --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/SyncResponse.java @@ -0,0 +1,67 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model.sync; + +import im.vector.matrix.android.internal.legacy.rest.model.group.GroupsSyncResponse; + +import java.util.Map; + +// SyncResponse represents the request response for server sync v2. +public class SyncResponse { + + /** + * The user private data. + */ + public Map accountData; + + /** + * The opaque token for the end. + */ + public String nextBatch; + + /** + * The updates to the presence status of other users. + */ + public PresenceSyncResponse presence; + + /* + * Data directly sent to one of user's devices. + */ + public ToDeviceSyncResponse toDevice; + + /** + * List of rooms. + */ + public RoomsSyncResponse rooms; + + /** + * Devices list update + */ + public DeviceListResponse deviceLists; + + /** + * One time keys management + */ + public DeviceOneTimeKeysCountSyncResponse deviceOneTimeKeysCount; + + /** + * List of groups. + */ + public GroupsSyncResponse groups; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/ToDeviceSyncResponse.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/ToDeviceSyncResponse.java new file mode 100644 index 00000000..5293459e --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/rest/model/sync/ToDeviceSyncResponse.java @@ -0,0 +1,31 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.rest.model.sync; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +import java.util.List; + +// ToDeviceSyncResponse represents the data directly sent to one of user's devices. +public class ToDeviceSyncResponse { + + /** + * List of direct-to-device events. + */ + public List events; +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/CertUtil.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/CertUtil.java new file mode 100644 index 00000000..0e577f81 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/CertUtil.java @@ -0,0 +1,270 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.ssl; + +import android.util.Pair; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.security.KeyStore; +import java.security.MessageDigest; +import java.security.cert.Certificate; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.util.ArrayList; +import java.util.List; + +import javax.net.ssl.HostnameVerifier; +import javax.net.ssl.HttpsURLConnection; +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLPeerUnverifiedException; +import javax.net.ssl.SSLSession; +import javax.net.ssl.SSLSocketFactory; +import javax.net.ssl.TrustManager; +import javax.net.ssl.TrustManagerFactory; +import javax.net.ssl.X509TrustManager; + +import okhttp3.CipherSuite; +import okhttp3.ConnectionSpec; +import okhttp3.TlsVersion; + +/** + * Various utility classes for dealing with X509Certificates + */ +public class CertUtil { + private static final String LOG_TAG = CertUtil.class.getSimpleName(); + + /** + * Generates the SHA-256 fingerprint of the given certificate + * + * @param cert the certificate. + * @return the finger print + * @throws CertificateException the certificate exception + */ + public static byte[] generateSha256Fingerprint(X509Certificate cert) throws CertificateException { + return generateFingerprint(cert, "SHA-256"); + } + + /** + * Generates the SHA-1 fingerprint of the given certificate + * + * @param cert the certificated + * @return the SHA1 fingerprint + * @throws CertificateException the certificate exception + */ + public static byte[] generateSha1Fingerprint(X509Certificate cert) throws CertificateException { + return generateFingerprint(cert, "SHA-1"); + } + + /** + * Generate the fingerprint for a dedicated type. + * + * @param cert the certificate + * @param type the type + * @return the fingerprint + * @throws CertificateException certificate exception + */ + private static byte[] generateFingerprint(X509Certificate cert, String type) throws CertificateException { + final byte[] fingerprint; + final MessageDigest md; + try { + md = MessageDigest.getInstance(type); + } catch (Exception e) { + // This really *really* shouldn't throw, as java should always have a SHA-256 and SHA-1 impl. + throw new CertificateException(e); + } + + fingerprint = md.digest(cert.getEncoded()); + + return fingerprint; + } + + final private static char[] hexArray = "0123456789ABCDEF".toCharArray(); + + /** + * Convert the fingerprint to an hexa string. + * + * @param fingerprint the fingerprint + * @return the hexa string. + */ + public static String fingerprintToHexString(byte[] fingerprint) { + return fingerprintToHexString(fingerprint, ' '); + } + + public static String fingerprintToHexString(byte[] fingerprint, char sep) { + char[] hexChars = new char[fingerprint.length * 3]; + for (int j = 0; j < fingerprint.length; j++) { + int v = fingerprint[j] & 0xFF; + hexChars[j * 3] = hexArray[v >>> 4]; + hexChars[j * 3 + 1] = hexArray[v & 0x0F]; + hexChars[j * 3 + 2] = sep; + } + return new String(hexChars, 0, hexChars.length - 1); + } + + /** + * Recursively checks the exception to see if it was caused by an + * UnrecognizedCertificateException + * + * @param e the throwable. + * @return The UnrecognizedCertificateException if exists, else null. + */ + public static UnrecognizedCertificateException getCertificateException(Throwable e) { + int i = 0; // Just in case there is a getCause loop + while (e != null && i < 10) { + if (e instanceof UnrecognizedCertificateException) { + return (UnrecognizedCertificateException) e; + } + e = e.getCause(); + i++; + } + + return null; + } + + /** + * Create a SSLSocket factory for a HS config. + * + * @param hsConfig the HS config. + * @return SSLSocket factory + */ + public static Pair newPinnedSSLSocketFactory(HomeServerConnectionConfig hsConfig) { + try { + X509TrustManager defaultTrustManager = null; + + // If we haven't specified that we wanted to pin the certs, fallback to standard + // X509 checks if fingerprints don't match. + if (!hsConfig.shouldPin()) { + TrustManagerFactory tf = null; + + // get the PKIX instance + try { + tf = TrustManagerFactory.getInstance("PKIX"); + } catch (Exception e) { + Log.e(LOG_TAG, "## newPinnedSSLSocketFactory() : TrustManagerFactory.getInstance failed " + e.getMessage(), e); + } + + // it doesn't exist, use the default one. + if (null == tf) { + try { + tf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); + } catch (Exception e) { + Log.e(LOG_TAG, "## addRule : onBingRuleUpdateFailure failed " + e.getMessage(), e); + } + } + + tf.init((KeyStore) null); + TrustManager[] trustManagers = tf.getTrustManagers(); + + for (int i = 0; i < trustManagers.length; i++) { + if (trustManagers[i] instanceof X509TrustManager) { + defaultTrustManager = (X509TrustManager) trustManagers[i]; + break; + } + } + } + + TrustManager[] trustPinned = new TrustManager[]{ + new PinnedTrustManager(hsConfig.getAllowedFingerprints(), defaultTrustManager) + }; + + SSLSocketFactory sslSocketFactory; + + if (hsConfig.forceUsageOfTlsVersions() && hsConfig.getAcceptedTlsVersions() != null) { + // Force usage of accepted Tls Versions for Android < 20 + sslSocketFactory = new TLSSocketFactory(trustPinned, hsConfig.getAcceptedTlsVersions()); + } else { + SSLContext sslContext = SSLContext.getInstance("TLS"); + sslContext.init(null, trustPinned, new java.security.SecureRandom()); + sslSocketFactory = sslContext.getSocketFactory(); + } + + return new Pair<>(sslSocketFactory, defaultTrustManager); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + /** + * Create a Host name verifier for a hs config. + * + * @param hsConfig the hs config. + * @return a new HostnameVerifier. + */ + public static HostnameVerifier newHostnameVerifier(HomeServerConnectionConfig hsConfig) { + final HostnameVerifier defaultVerifier = HttpsURLConnection.getDefaultHostnameVerifier(); + final List trusted_fingerprints = hsConfig.getAllowedFingerprints(); + + return new HostnameVerifier() { + @Override + public boolean verify(String hostname, SSLSession session) { + if (defaultVerifier.verify(hostname, session)) return true; + if (trusted_fingerprints == null || trusted_fingerprints.size() == 0) return false; + + // If remote cert matches an allowed fingerprint, just accept it. + try { + for (Certificate cert : session.getPeerCertificates()) { + for (Fingerprint allowedFingerprint : trusted_fingerprints) { + if (allowedFingerprint != null && cert instanceof X509Certificate && allowedFingerprint.matchesCert((X509Certificate) cert)) { + return true; + } + } + } + } catch (SSLPeerUnverifiedException e) { + return false; + } catch (CertificateException e) { + return false; + } + + return false; + } + }; + } + + /** + * Create a list of accepted TLS specifications for a hs config. + * + * @param hsConfig the hs config. + * @return a list of accepted TLS specifications. + */ + public static List newConnectionSpecs(HomeServerConnectionConfig hsConfig) { + final ConnectionSpec.Builder builder = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS); + + final List tlsVersions = hsConfig.getAcceptedTlsVersions(); + if (null != tlsVersions) { + builder.tlsVersions(tlsVersions.toArray(new TlsVersion[0])); + } + + final List tlsCipherSuites = hsConfig.getAcceptedTlsCipherSuites(); + if (null != tlsCipherSuites) { + builder.cipherSuites(tlsCipherSuites.toArray(new CipherSuite[0])); + } + + builder.supportsTlsExtensions(hsConfig.shouldAcceptTlsExtensions()); + + List list = new ArrayList<>(); + + list.add(builder.build()); + + if (hsConfig.isHttpConnectionAllowed()) { + list.add(ConnectionSpec.CLEARTEXT); + } + + return list; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/Fingerprint.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/Fingerprint.java new file mode 100644 index 00000000..1c5a7208 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/Fingerprint.java @@ -0,0 +1,133 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.ssl; + +import android.util.Base64; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.util.Arrays; + +/** + * Represents a X509 Certificate fingerprint. + */ +public class Fingerprint { + public enum HashType {SHA1, SHA256} + + private final byte[] mBytes; + private final HashType mHashType; + private String mDisplayableHexRepr; + + public Fingerprint(byte[] bytes, HashType hashType) { + mBytes = bytes; + mHashType = hashType; + mDisplayableHexRepr = null; + } + + public static Fingerprint newSha256Fingerprint(X509Certificate cert) throws CertificateException { + return new Fingerprint( + CertUtil.generateSha256Fingerprint(cert), + HashType.SHA256 + ); + } + + public static Fingerprint newSha1Fingerprint(X509Certificate cert) throws CertificateException { + return new Fingerprint( + CertUtil.generateSha1Fingerprint(cert), + HashType.SHA1 + ); + } + + public HashType getType() { + return mHashType; + } + + public byte[] getBytes() { + return mBytes; + } + + public String getBytesAsHexString() { + if (mDisplayableHexRepr == null) { + mDisplayableHexRepr = CertUtil.fingerprintToHexString(mBytes); + } + + return mDisplayableHexRepr; + } + + public JSONObject toJson() throws JSONException { + JSONObject obj = new JSONObject(); + obj.put("bytes", Base64.encodeToString(getBytes(), Base64.DEFAULT)); + obj.put("hash_type", mHashType.toString()); + return obj; + } + + public static Fingerprint fromJson(JSONObject obj) throws JSONException { + String hashTypeStr = obj.getString("hash_type"); + byte[] fingerprintBytes = Base64.decode(obj.getString("bytes"), Base64.DEFAULT); + + final HashType hashType; + if ("SHA256".equalsIgnoreCase(hashTypeStr)) { + hashType = HashType.SHA256; + } else if ("SHA1".equalsIgnoreCase(hashTypeStr)) { + hashType = HashType.SHA1; + } else { + throw new JSONException("Unrecognized hash type: " + hashTypeStr); + } + + return new Fingerprint(fingerprintBytes, hashType); + } + + public boolean matchesCert(X509Certificate cert) throws CertificateException { + Fingerprint o = null; + switch (mHashType) { + case SHA256: + o = Fingerprint.newSha256Fingerprint(cert); + break; + case SHA1: + o = Fingerprint.newSha1Fingerprint(cert); + break; + } + + return equals(o); + } + + public String toString() { + return String.format("Fingerprint{type: '%s', fingeprint: '%s'}", mHashType.toString(), getBytesAsHexString()); + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Fingerprint that = (Fingerprint) o; + + if (!Arrays.equals(mBytes, that.mBytes)) return false; + return mHashType == that.mHashType; + + } + + @Override + public int hashCode() { + int result = mBytes != null ? Arrays.hashCode(mBytes) : 0; + result = 31 * result + (mHashType != null ? mHashType.hashCode() : 0); + return result; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/PinnedTrustManager.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/PinnedTrustManager.java new file mode 100644 index 00000000..15925c79 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/PinnedTrustManager.java @@ -0,0 +1,101 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.ssl; + +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.util.List; + +import javax.net.ssl.X509TrustManager; + +/** + * Implements a TrustManager that checks Certificates against an explicit list of known + * fingerprints. + */ +public class PinnedTrustManager implements X509TrustManager { + private final List mFingerprints; + private final X509TrustManager mDefaultTrustManager; + + /** + * @param fingerprints An array of SHA256 cert fingerprints + * @param defaultTrustManager Optional trust manager to fall back on if cert does not match + * any of the fingerprints. Can be null. + */ + public PinnedTrustManager(List fingerprints, X509TrustManager defaultTrustManager) { + mFingerprints = fingerprints; + mDefaultTrustManager = defaultTrustManager; + } + + @Override + public void checkClientTrusted(X509Certificate[] chain, String s) throws CertificateException { + try { + if (mDefaultTrustManager != null) { + mDefaultTrustManager.checkClientTrusted( + chain, s + ); + return; + } + } catch (CertificateException e) { + // If there is an exception we fall back to checking fingerprints + if (mFingerprints == null || mFingerprints.size() == 0) { + throw new UnrecognizedCertificateException(chain[0], Fingerprint.newSha256Fingerprint(chain[0]), e.getCause()); + } + } + checkTrusted("client", chain); + } + + @Override + public void checkServerTrusted(X509Certificate[] chain, String s) throws CertificateException { + try { + if (mDefaultTrustManager != null) { + mDefaultTrustManager.checkServerTrusted( + chain, s + ); + return; + } + } catch (CertificateException e) { + // If there is an exception we fall back to checking fingerprints + if (mFingerprints == null || mFingerprints.size() == 0) { + throw new UnrecognizedCertificateException(chain[0], Fingerprint.newSha256Fingerprint(chain[0]), e.getCause()); + } + } + checkTrusted("server", chain); + } + + private void checkTrusted(String type, X509Certificate[] chain) throws CertificateException { + X509Certificate cert = chain[0]; + + boolean found = false; + if (mFingerprints != null) { + for (Fingerprint allowedFingerprint : mFingerprints) { + if (allowedFingerprint != null && allowedFingerprint.matchesCert(cert)) { + found = true; + break; + } + } + } + + if (!found) { + throw new UnrecognizedCertificateException(cert, Fingerprint.newSha256Fingerprint(cert), null); + } + } + + @Override + public X509Certificate[] getAcceptedIssuers() { + return new X509Certificate[0]; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/TLSSocketFactory.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/TLSSocketFactory.java new file mode 100644 index 00000000..60e6ecc6 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/TLSSocketFactory.java @@ -0,0 +1,134 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.ssl; + +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.io.IOException; +import java.net.InetAddress; +import java.net.Socket; +import java.net.UnknownHostException; +import java.security.KeyManagementException; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLSocket; +import javax.net.ssl.SSLSocketFactory; +import javax.net.ssl.TrustManager; + +import okhttp3.TlsVersion; + +/** + * Force the usage of Tls versions on every created socket + * Inspired from https://blog.dev-area.net/2015/08/13/android-4-1-enable-tls-1-1-and-tls-1-2/ + */ +/*package*/ class TLSSocketFactory extends SSLSocketFactory { + private static final String LOG_TAG = TLSSocketFactory.class.getSimpleName(); + + private SSLSocketFactory internalSSLSocketFactory; + + private String[] enabledProtocols; + + /** + * Constructor + * + * @param trustPinned + * @param acceptedTlsVersions + * @throws KeyManagementException + * @throws NoSuchAlgorithmException + */ + /*package*/ TLSSocketFactory(TrustManager[] trustPinned, List acceptedTlsVersions) throws KeyManagementException, NoSuchAlgorithmException { + SSLContext context = SSLContext.getInstance("TLS"); + context.init(null, trustPinned, new SecureRandom()); + internalSSLSocketFactory = context.getSocketFactory(); + + enabledProtocols = new String[acceptedTlsVersions.size()]; + int i = 0; + for (TlsVersion tlsVersion : acceptedTlsVersions) { + enabledProtocols[i] = tlsVersion.javaName(); + i++; + } + } + + @Override + public String[] getDefaultCipherSuites() { + return internalSSLSocketFactory.getDefaultCipherSuites(); + } + + @Override + public String[] getSupportedCipherSuites() { + return internalSSLSocketFactory.getSupportedCipherSuites(); + } + + @Override + public Socket createSocket() throws IOException { + return enableTLSOnSocket(internalSSLSocketFactory.createSocket()); + } + + @Override + public Socket createSocket(Socket s, String host, int port, boolean autoClose) throws IOException { + return enableTLSOnSocket(internalSSLSocketFactory.createSocket(s, host, port, autoClose)); + } + + @Override + public Socket createSocket(String host, int port) throws IOException, UnknownHostException { + return enableTLSOnSocket(internalSSLSocketFactory.createSocket(host, port)); + } + + @Override + public Socket createSocket(String host, int port, InetAddress localHost, int localPort) throws IOException, UnknownHostException { + return enableTLSOnSocket(internalSSLSocketFactory.createSocket(host, port, localHost, localPort)); + } + + @Override + public Socket createSocket(InetAddress host, int port) throws IOException { + return enableTLSOnSocket(internalSSLSocketFactory.createSocket(host, port)); + } + + @Override + public Socket createSocket(InetAddress address, int port, InetAddress localAddress, int localPort) throws IOException { + return enableTLSOnSocket(internalSSLSocketFactory.createSocket(address, port, localAddress, localPort)); + } + + private Socket enableTLSOnSocket(Socket socket) { + if (socket != null && (socket instanceof SSLSocket)) { + SSLSocket sslSocket = (SSLSocket) socket; + + List supportedProtocols = Arrays.asList(sslSocket.getSupportedProtocols()); + List filteredEnabledProtocols = new ArrayList<>(); + + for (String protocol : enabledProtocols) { + if (supportedProtocols.contains(protocol)) { + filteredEnabledProtocols.add(protocol); + } + } + + if (!filteredEnabledProtocols.isEmpty()) { + try { + sslSocket.setEnabledProtocols(filteredEnabledProtocols.toArray(new String[filteredEnabledProtocols.size()])); + } catch (Exception e) { + Log.e(LOG_TAG, "Exception: ", e); + } + } + } + return socket; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/UnrecognizedCertificateException.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/UnrecognizedCertificateException.java new file mode 100644 index 00000000..e85b86e8 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/ssl/UnrecognizedCertificateException.java @@ -0,0 +1,43 @@ +/* + * Copyright 2016 OpenMarket 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. + */ + +package im.vector.matrix.android.internal.legacy.ssl; + +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; + +/** + * Thrown when we are given a certificate that does match the certificate we were told to + * expect. + */ +public class UnrecognizedCertificateException extends CertificateException { + private final X509Certificate mCert; + private final Fingerprint mFingerprint; + + public UnrecognizedCertificateException(X509Certificate cert, Fingerprint fingerprint, Throwable cause) { + super("Unrecognized certificate with unknown fingerprint: " + cert.getSubjectDN(), cause); + mCert = cert; + mFingerprint = fingerprint; + } + + public X509Certificate getCertificate() { + return mCert; + } + + public Fingerprint getFingerprint() { + return mFingerprint; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/sync/DefaultEventsThreadListener.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/sync/DefaultEventsThreadListener.java new file mode 100644 index 00000000..886fb1d3 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/sync/DefaultEventsThreadListener.java @@ -0,0 +1,50 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.sync; + +import im.vector.matrix.android.internal.legacy.MXDataHandler; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.sync.SyncResponse; + +/** + * Listener for the events thread that sends data back to a data handler. + */ +public class DefaultEventsThreadListener implements EventsThreadListener { + + private final MXDataHandler mDataHandler; + + public DefaultEventsThreadListener(MXDataHandler data) { + mDataHandler = data; + } + + @Override + public void onSyncResponse(SyncResponse syncResponse, String fromToken, boolean isCatchingUp) { + mDataHandler.onSyncResponse(syncResponse, fromToken, isCatchingUp); + } + + @Override + public void onSyncError(MatrixError matrixError) { + mDataHandler.onSyncError(matrixError); + } + + @Override + public void onConfigurationError(String matrixErrorCode) { + mDataHandler.onConfigurationError(matrixErrorCode); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/sync/EventsThread.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/sync/EventsThread.java new file mode 100644 index 00000000..9c580b14 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/sync/EventsThread.java @@ -0,0 +1,707 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.sync; + +import android.annotation.SuppressLint; +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.os.Build; +import android.os.Handler; +import android.os.Looper; +import android.os.PowerManager; +import android.os.SystemClock; + +import im.vector.matrix.android.internal.legacy.data.metrics.MetricsListener; +import im.vector.matrix.android.internal.legacy.listeners.IMXNetworkEventListener; +import im.vector.matrix.android.internal.legacy.network.NetworkConnectivityReceiver; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiFailureCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.client.EventsRestClient; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.sync.RoomsSyncResponse; +import im.vector.matrix.android.internal.legacy.rest.model.sync.SyncResponse; +import im.vector.matrix.android.internal.legacy.util.Log; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.CountDownLatch; + + +/** + * Thread that continually watches the event stream and sends events to its listener. + */ +public class EventsThread extends Thread { + private static final String LOG_TAG = EventsThread.class.getSimpleName(); + + private static final int RETRY_WAIT_TIME_MS = 10000; + + private static final int DEFAULT_SERVER_TIMEOUT_MS = 30000; + private static final int DEFAULT_CLIENT_TIMEOUT_MS = 120000; + + private EventsRestClient mEventsRestClient; + private EventsThreadListener mListener; + private String mCurrentToken; + + private MetricsListener mMetricsListener; + + private boolean mPaused = true; + private boolean mIsNetworkSuspended = false; + private boolean mIsCatchingUp = false; + private boolean mIsOnline = false; + + private boolean mKilling = false; + + private int mDefaultServerTimeoutms = DEFAULT_SERVER_TIMEOUT_MS; + private int mNextServerTimeoutms = DEFAULT_SERVER_TIMEOUT_MS; + + // add a delay between two sync requests + private final Context mContext; + private int mRequestDelayMs = 0; + private final AlarmManager mAlarmManager; + private PowerManager mPowerManager; + private PendingIntent mPendingDelayedIntent; + private static final Map mSyncObjectByInstance = new HashMap<>(); + + // avoid sync on "this" because it might differ if there is a timer. + private final Object mSyncObject = new Object(); + + // Custom Retrofit error callback that will convert Retrofit errors into our own error callback + private ApiFailureCallback mFailureCallback; + + // avoid restarting the listener if there is no network. + // wait that there is an available network. + private NetworkConnectivityReceiver mNetworkConnectivityReceiver; + private boolean mbIsConnected = true; + + // use dedicated filter when enable + private String mFilterOrFilterId; + + private final IMXNetworkEventListener mNetworkListener = new IMXNetworkEventListener() { + @Override + public void onNetworkConnectionUpdate(boolean isConnected) { + Log.d(LOG_TAG, "onNetworkConnectionUpdate : before " + mbIsConnected + " now " + isConnected); + + synchronized (mSyncObject) { + mbIsConnected = isConnected; + } + + // the thread has been suspended and there is an available network + if (isConnected && !mKilling) { + Log.d(LOG_TAG, "onNetworkConnectionUpdate : call onNetworkAvailable"); + onNetworkAvailable(); + } + } + }; + + /** + * Default constructor. + * + * @param context the context + * @param apiClient API client to make the events API calls + * @param listener a listener to inform + * @param initialToken the sync initial token. + */ + public EventsThread(Context context, EventsRestClient apiClient, EventsThreadListener listener, String initialToken) { + super("Events thread"); + mContext = context; + mEventsRestClient = apiClient; + mListener = listener; + mCurrentToken = initialToken; + mSyncObjectByInstance.put(toString(), this); + mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); + mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE); + } + + /** + * Update the metrics listener mode + * + * @param metricsListener the metrics listener + */ + + public void setMetricsListener(MetricsListener metricsListener) { + this.mMetricsListener = metricsListener; + } + + /** + * @return the current sync token + */ + public String getCurrentSyncToken() { + return mCurrentToken; + } + + /** + * Set filterOrFilterId used for /sync requests + * + * @param filterOrFilterId + */ + public void setFilterOrFilterId(String filterOrFilterId) { + mFilterOrFilterId = filterOrFilterId; + } + + /** + * Update the long poll timeout. + * + * @param ms the timeout in ms + */ + public void setServerLongPollTimeout(int ms) { + mDefaultServerTimeoutms = Math.max(ms, DEFAULT_SERVER_TIMEOUT_MS); + Log.d(LOG_TAG, "setServerLongPollTimeout : " + mDefaultServerTimeoutms); + + } + + /** + * @return the long poll timeout + */ + public int getServerLongPollTimeout() { + return mDefaultServerTimeoutms; + } + + /** + * Set a delay between two sync requests. + * + * @param ms the delay in ms + */ + public void setSyncDelay(int ms) { + mRequestDelayMs = Math.max(0, ms); + + Log.d(LOG_TAG, "## setSyncDelay() : " + mRequestDelayMs + " with state " + getState()); + + if (State.WAITING == getState() && (!mPaused || (0 == mRequestDelayMs) && mIsCatchingUp)) { + if (!mPaused) { + Log.d(LOG_TAG, "## setSyncDelay() : resume the application"); + } + + if ((0 == mRequestDelayMs) && mIsCatchingUp) { + Log.d(LOG_TAG, "## setSyncDelay() : cancel catchup"); + mIsCatchingUp = false; + } + + // and sync asap + synchronized (mSyncObject) { + mSyncObject.notify(); + } + } + } + + /** + * @return the delay between two sync requests. + */ + public int getSyncDelay() { + return mRequestDelayMs; + } + + /** + * Set the network connectivity listener. + * It is used to avoid restarting the events threads each 10 seconds when there is no available network. + * + * @param networkConnectivityReceiver the network receiver + */ + public void setNetworkConnectivityReceiver(NetworkConnectivityReceiver networkConnectivityReceiver) { + mNetworkConnectivityReceiver = networkConnectivityReceiver; + } + + /** + * Set the failure callback. + * + * @param failureCallback the failure callback. + */ + public void setFailureCallback(ApiFailureCallback failureCallback) { + mFailureCallback = failureCallback; + } + + /** + * Pause the thread. It will resume where it left off when unpause()d. + */ + public void pause() { + Log.d(LOG_TAG, "pause()"); + mPaused = true; + mIsCatchingUp = false; + } + + /** + * A network connection has been retrieved. + */ + private void onNetworkAvailable() { + Log.d(LOG_TAG, "onNetWorkAvailable()"); + if (mIsNetworkSuspended) { + mIsNetworkSuspended = false; + + if (mPaused) { + Log.d(LOG_TAG, "the event thread is still suspended"); + } else { + Log.d(LOG_TAG, "Resume the thread"); + // cancel any catchup process. + mIsCatchingUp = false; + + synchronized (mSyncObject) { + mSyncObject.notify(); + } + } + } else { + Log.d(LOG_TAG, "onNetWorkAvailable() : nothing to do"); + } + } + + /** + * Unpause the thread if it had previously been paused. If not, this does nothing. + */ + public void unpause() { + Log.d(LOG_TAG, "## unpause() : thread state " + getState()); + + if (State.WAITING == getState()) { + Log.d(LOG_TAG, "## unpause() : the thread was paused so resume it."); + + mPaused = false; + synchronized (mSyncObject) { + mSyncObject.notify(); + } + } + + // cancel any catchup process. + mIsCatchingUp = false; + } + + /** + * Catchup until some events are retrieved. + */ + public void catchup() { + Log.d(LOG_TAG, "## catchup() : thread state " + getState()); + + if (State.WAITING == getState()) { + Log.d(LOG_TAG, "## catchup() : the thread was paused so wake it up"); + + mPaused = false; + synchronized (mSyncObject) { + mSyncObject.notify(); + } + } + + mIsCatchingUp = true; + } + + /** + * Allow the thread to finish its current processing, then permanently stop. + */ + public void kill() { + Log.d(LOG_TAG, "killing ..."); + + mKilling = true; + + if (mPaused) { + Log.d(LOG_TAG, "killing : the thread was pause so wake it up"); + + mPaused = false; + synchronized (mSyncObject) { + mSyncObject.notify(); + } + + Log.d(LOG_TAG, "Resume the thread to kill it."); + } + } + + /** + * Cancel the killing process + */ + public void cancelKill() { + if (mKilling) { + Log.d(LOG_TAG, "## cancelKill() : Cancel the pending kill"); + mKilling = false; + } else { + Log.d(LOG_TAG, "## cancelKill() : Nothing to d"); + } + } + + /** + * Update the online status + * + * @param isOnline true if the client must be seen as online + */ + public void setIsOnline(boolean isOnline) { + Log.d(LOG_TAG, "setIsOnline to " + isOnline); + mIsOnline = isOnline; + } + + /** + * Tells if the presence is online. + * + * @return true if the user is seen as online. + */ + public boolean isOnline() { + return mIsOnline; + } + + @Override + public void run() { + try { + Looper.prepare(); + } catch (Exception e) { + Log.e(LOG_TAG, "## run() : prepare failed " + e.getMessage(), e); + } + startSync(); + } + + /** + * Tells if a sync request contains some changed devices. + * + * @param syncResponse the sync response + * @return true if the response contains some changed devices. + */ + private static boolean hasDevicesChanged(SyncResponse syncResponse) { + return (null != syncResponse.deviceLists) + && (null != syncResponse.deviceLists.changed) + && (syncResponse.deviceLists.changed.size() > 0); + } + + + /** + * Use a broadcast receiver because the Timer delay might be inaccurate when the screen is turned off. + * For example, request a 1 min delay and get a 6 mins one. + */ + public static class SyncDelayReceiver extends BroadcastReceiver { + public static final String EXTRA_INSTANCE_ID = "EXTRA_INSTANCE_ID"; + + public void onReceive(Context context, Intent intent) { + String instanceId = intent.getStringExtra(EXTRA_INSTANCE_ID); + + if ((null != instanceId) && mSyncObjectByInstance.containsKey(instanceId)) { + EventsThread eventsThread = mSyncObjectByInstance.get(instanceId); + + eventsThread.mPendingDelayedIntent = null; + + Log.d(LOG_TAG, "start a sync after " + eventsThread.mRequestDelayMs + " ms"); + + synchronized (eventsThread.mSyncObject) { + eventsThread.mSyncObject.notify(); + } + } + } + } + + private void resumeInitialSync() { + Log.d(LOG_TAG, "Resuming initial sync from " + mCurrentToken); + // dummy initial sync + // to hide the splash screen + SyncResponse dummySyncResponse = new SyncResponse(); + dummySyncResponse.nextBatch = mCurrentToken; + mListener.onSyncResponse(dummySyncResponse, null, true); + } + + private void executeInitialSync() { + Log.d(LOG_TAG, "Requesting initial sync..."); + long initialSyncStartTime = System.currentTimeMillis(); + while (!isInitialSyncDone()) { + final CountDownLatch latch = new CountDownLatch(1); + mEventsRestClient.syncFromToken(null, 0, DEFAULT_CLIENT_TIMEOUT_MS, mIsOnline ? null : "offline", mFilterOrFilterId, + new SimpleApiCallback(mFailureCallback) { + @Override + public void onSuccess(SyncResponse syncResponse) { + Log.d(LOG_TAG, "Received initial sync response."); + mNextServerTimeoutms = hasDevicesChanged(syncResponse) ? 0 : mDefaultServerTimeoutms; + mListener.onSyncResponse(syncResponse, null, (0 == mNextServerTimeoutms)); + mCurrentToken = syncResponse.nextBatch; + // unblock the events thread + latch.countDown(); + } + + private void sleepAndUnblock() { + Log.i(LOG_TAG, "Waiting a bit before retrying"); + new Handler(Looper.getMainLooper()).postDelayed(new Runnable() { + public void run() { + latch.countDown(); + } + }, RETRY_WAIT_TIME_MS); + } + + @Override + public void onNetworkError(Exception e) { + if (isInitialSyncDone()) { + // Ignore error + // FIXME I think this is the source of infinite initial sync if a network error occurs + // FIXME because latch is not counted down. TO BE TESTED + onSuccess(null); + } else { + Log.e(LOG_TAG, "Sync V2 onNetworkError " + e.getMessage(), e); + super.onNetworkError(e); + sleepAndUnblock(); + } + } + + @Override + public void onMatrixError(MatrixError e) { + super.onMatrixError(e); + + if (MatrixError.isConfigurationErrorCode(e.errcode)) { + mListener.onConfigurationError(e.errcode); + } else { + mListener.onSyncError(e); + sleepAndUnblock(); + } + } + + @Override + public void onUnexpectedError(Exception e) { + super.onUnexpectedError(e); + Log.e(LOG_TAG, "Sync V2 onUnexpectedError " + e.getMessage(), e); + sleepAndUnblock(); + } + }); + + // block until the initial sync callback is invoked. + try { + latch.await(); + } catch (InterruptedException e) { + Log.e(LOG_TAG, "Interrupted whilst performing initial sync.", e); + } catch (Exception e) { + // reported by GA + // The thread might have been killed. + Log.e(LOG_TAG, "latch.await() failed " + e.getMessage(), e); + } + } + long initialSyncEndTime = System.currentTimeMillis(); + long initialSyncDuration = initialSyncEndTime - initialSyncStartTime; + if (mMetricsListener != null) { + mMetricsListener.onInitialSyncFinished(initialSyncDuration); + } + } + + + /** + * Start the events sync + */ + @SuppressLint("NewApi") + private void startSync() { + int serverTimeout; + mPaused = false; + if (isInitialSyncDone()) { + resumeInitialSync(); + serverTimeout = 0; + } else { + // Start with initial sync + executeInitialSync(); + serverTimeout = mNextServerTimeoutms; + } + + Log.d(LOG_TAG, "Starting event stream from token " + mCurrentToken); + // sanity check + if (null != mNetworkConnectivityReceiver) { + mNetworkConnectivityReceiver.addEventListener(mNetworkListener); + // + mbIsConnected = mNetworkConnectivityReceiver.isConnected(); + mIsNetworkSuspended = !mbIsConnected; + } + + // Then repeatedly long-poll for events + + while (!mKilling) { + + // test if a delay between two syncs + if ((!mPaused && !mIsNetworkSuspended) && (0 != mRequestDelayMs)) { + Log.d(LOG_TAG, "startSync : start a delay timer "); + + Intent intent = new Intent(mContext, SyncDelayReceiver.class); + intent.putExtra(SyncDelayReceiver.EXTRA_INSTANCE_ID, toString()); + mPendingDelayedIntent = PendingIntent.getBroadcast(mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); + + long futureInMillis = SystemClock.elapsedRealtime() + mRequestDelayMs; + + if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) + && mPowerManager.isIgnoringBatteryOptimizations(mContext.getPackageName())) { + mAlarmManager.setAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, futureInMillis, mPendingDelayedIntent); + } else { + mAlarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, futureInMillis, mPendingDelayedIntent); + } + } + + if (mPaused || mIsNetworkSuspended || (null != mPendingDelayedIntent)) { + if (null != mPendingDelayedIntent) { + Log.d(LOG_TAG, "Event stream is paused because there is a timer delay."); + } else if (mIsNetworkSuspended) { + Log.d(LOG_TAG, "Event stream is paused because there is no available network."); + } else { + Log.d(LOG_TAG, "Event stream is paused. Waiting."); + } + + try { + Log.d(LOG_TAG, "startSync : wait ..."); + + synchronized (mSyncObject) { + mSyncObject.wait(); + } + + if (null != mPendingDelayedIntent) { + Log.d(LOG_TAG, "startSync : cancel mSyncDelayTimer"); + mAlarmManager.cancel(mPendingDelayedIntent); + mPendingDelayedIntent.cancel(); + mPendingDelayedIntent = null; + } + + Log.d(LOG_TAG, "Event stream woken from pause."); + + // perform a catchup asap + serverTimeout = 0; + } catch (InterruptedException e) { + Log.e(LOG_TAG, "Unexpected interruption while paused: " + e.getMessage(), e); + } + } + + // the service could have been killed while being paused. + if (!mKilling) { + + long incrementalSyncStartTime = System.currentTimeMillis(); + + final CountDownLatch latch = new CountDownLatch(1); + + Log.d(LOG_TAG, "Get events from token " + mCurrentToken + " with filterOrFilterId " + mFilterOrFilterId); + + final int fServerTimeout = serverTimeout; + mNextServerTimeoutms = mDefaultServerTimeoutms; + + mEventsRestClient.syncFromToken(mCurrentToken, serverTimeout, DEFAULT_CLIENT_TIMEOUT_MS, mIsOnline ? null : "offline", mFilterOrFilterId, + new SimpleApiCallback(mFailureCallback) { + @Override + public void onSuccess(SyncResponse syncResponse) { + if (!mKilling) { + // poll /sync with timeout=0 until + // we get no to_device messages back. + if (0 == fServerTimeout) { + if (hasDevicesChanged(syncResponse)) { + if (mIsCatchingUp) { + Log.d(LOG_TAG, "Some devices have changed but do not set mNextServerTimeoutms to 0 to avoid infinite loops"); + } else { + Log.d(LOG_TAG, "mNextServerTimeoutms is set to 0 because of hasDevicesChanged " + + syncResponse.deviceLists.changed); + mNextServerTimeoutms = 0; + } + } + } + + // the catchup request is suspended when there is no need + // to loop again + if (mIsCatchingUp && (0 != mNextServerTimeoutms)) { + // the catchup triggers sync requests until there are some useful events + int eventCounts = 0; + + if (null != syncResponse.rooms) { + RoomsSyncResponse roomsSyncResponse = syncResponse.rooms; + + if (null != roomsSyncResponse.join) { + eventCounts += roomsSyncResponse.join.size(); + } + + if (null != roomsSyncResponse.invite) { + eventCounts += roomsSyncResponse.invite.size(); + } + } + + // stop any catch up + mIsCatchingUp = false; + mPaused = (0 == mRequestDelayMs); + Log.d(LOG_TAG, "Got " + eventCounts + " useful events while catching up : mPaused is set to " + mPaused); + } + Log.d(LOG_TAG, "Got event response"); + mListener.onSyncResponse(syncResponse, mCurrentToken, (0 == mNextServerTimeoutms)); + mCurrentToken = syncResponse.nextBatch; + Log.d(LOG_TAG, "mCurrentToken is now set to " + mCurrentToken); + + } + + // unblock the events thread + latch.countDown(); + } + + private void onError(String description) { + boolean isConnected; + Log.d(LOG_TAG, "Got an error while polling events " + description); + + synchronized (mSyncObject) { + isConnected = mbIsConnected; + } + + // detected if the device is connected before trying again + if (isConnected) { + new Handler(Looper.getMainLooper()).postDelayed(new Runnable() { + public void run() { + latch.countDown(); + } + }, RETRY_WAIT_TIME_MS); + + } else { + // no network -> wait that a network connection comes back. + mIsNetworkSuspended = true; + latch.countDown(); + } + } + + @Override + public void onNetworkError(Exception e) { + onError(e.getLocalizedMessage()); + } + + @Override + public void onMatrixError(MatrixError e) { + if (MatrixError.isConfigurationErrorCode(e.errcode)) { + mListener.onConfigurationError(e.errcode); + } else { + mListener.onSyncError(e); + onError(e.getLocalizedMessage()); + } + } + + @Override + public void onUnexpectedError(Exception e) { + onError(e.getLocalizedMessage()); + } + }); + + // block until the sync callback is invoked. + try { + latch.await(); + } catch (InterruptedException e) { + Log.e(LOG_TAG, "Interrupted whilst polling message", e); + } catch (Exception e) { + // reported by GA + // The thread might have been killed. + Log.e(LOG_TAG, "latch.await() failed " + e.getMessage(), e); + } + long incrementalSyncEndTime = System.currentTimeMillis(); + long incrementalSyncDuration = incrementalSyncEndTime - incrementalSyncStartTime; + if (mMetricsListener != null) { + mMetricsListener.onIncrementalSyncFinished(incrementalSyncDuration); + } + } + serverTimeout = mNextServerTimeoutms; + } + + if (null != mNetworkConnectivityReceiver) { + mNetworkConnectivityReceiver.removeEventListener(mNetworkListener); + } + Log.d(LOG_TAG, "Event stream terminating."); + } + + /** + * Ask if the initial sync is done. It means we have a sync token + * + * @return + */ + private boolean isInitialSyncDone() { + return mCurrentToken != null; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/sync/EventsThreadListener.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/sync/EventsThreadListener.java new file mode 100644 index 00000000..d858a7fb --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/sync/EventsThreadListener.java @@ -0,0 +1,49 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.sync; + +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.sync.SyncResponse; + +/** + * Interface to implement to listen to the event thread. + */ +public interface EventsThreadListener { + /** + * Call when a sync request has been performed with the API V2. + * + * @param response the response (can be null) + * @param fromToken the start token + * @param isCatchingUp true if a catchup is on progress + */ + void onSyncResponse(SyncResponse response, String fromToken, boolean isCatchingUp); + + /** + * The sync has encountered an error + * + * @param matrixError the matrix error + */ + void onSyncError(final MatrixError matrixError); + + /** + * A configuration error has been received. + * + * @param matrixErrorCode the matrix error code + */ + void onConfigurationError(String matrixErrorCode); +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/BingRulesManager.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/BingRulesManager.java new file mode 100644 index 00000000..8c9363cc --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/BingRulesManager.java @@ -0,0 +1,1106 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.util; + +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.MXDataHandler; +import im.vector.matrix.android.internal.legacy.MXSession; +import im.vector.matrix.android.internal.legacy.data.MyUser; +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.listeners.IMXNetworkEventListener; +import im.vector.matrix.android.internal.legacy.network.NetworkConnectivityReceiver; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.SimpleApiCallback; +import im.vector.matrix.android.internal.legacy.rest.client.PushRulesRestClient; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.BingRule; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.Condition; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.ContainsDisplayNameCondition; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.ContentRule; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.EventMatchCondition; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.PushRuleSet; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.PushRulesResponse; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.RoomMemberCountCondition; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.SenderNotificationPermissionCondition; +import im.vector.matrix.android.internal.legacy.rest.model.message.Message; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.regex.Pattern; + +/** + * Object that gets and processes bing rules from the server. + */ +public class BingRulesManager { + private static final String LOG_TAG = BingRulesManager.class.getSimpleName(); + + /** + * Bing rule listener + */ + public interface onBingRuleUpdateListener { + /** + * The manager succeeds to update the bingrule enable status. + */ + void onBingRuleUpdateSuccess(); + + /** + * The manager fails to update the bingrule enable status. + * + * @param errorMessage the error message. + */ + void onBingRuleUpdateFailure(String errorMessage); + } + + /** + * Bing rules update + */ + public interface onBingRulesUpdateListener { + /** + * Warn that some bing rules have been updated + */ + void onBingRulesUpdate(); + } + + // general members + private final PushRulesRestClient mApiClient; + private final MXSession mSession; + private final String mMyUserId; + private final MXDataHandler mDataHandler; + + // the rules set to apply + private PushRuleSet mRulesSet = new PushRuleSet(); + + // the rules list + private final List mRules = new ArrayList<>(); + + // the default bing rule + private BingRule mDefaultBingRule = new BingRule(true); + + // tell if the bing rules set is initialized + private boolean mIsInitialized = false; + + // map to check if a room is "mention only" + private final Map mIsMentionOnlyMap = new HashMap<>(); + + // network management + private NetworkConnectivityReceiver mNetworkConnectivityReceiver; + private IMXNetworkEventListener mNetworkListener; + private ApiCallback mLoadRulesCallback; + + // listener + private final Set mBingRulesUpdateListeners = new HashSet<>(); + + /** + * Defines the room notification state + */ + public enum RoomNotificationState { + /** + * All the messages will trigger a noisy notification + */ + ALL_MESSAGES_NOISY, + + /** + * All the messages will trigger a notification + */ + ALL_MESSAGES, + + /** + * Only the messages with user display name / user name will trigger notifications + */ + MENTIONS_ONLY, + + /** + * No notifications + */ + MUTE + } + + private Map mRoomNotificationStateByRoomId = new HashMap<>(); + + /** + * Constructor + * + * @param session the session + * @param networkConnectivityReceiver the network events listener + */ + public BingRulesManager(MXSession session, NetworkConnectivityReceiver networkConnectivityReceiver) { + mSession = session; + mApiClient = session.getBingRulesApiClient(); + mMyUserId = session.getCredentials().userId; + mDataHandler = session.getDataHandler(); + + mNetworkListener = new IMXNetworkEventListener() { + @Override + public void onNetworkConnectionUpdate(boolean isConnected) { + // mLoadRulesCallback is set when a loadRules failed + // so when a network is available, trigger again loadRules + if (isConnected && (null != mLoadRulesCallback)) { + loadRules(mLoadRulesCallback); + } + } + }; + + mNetworkConnectivityReceiver = networkConnectivityReceiver; + networkConnectivityReceiver.addEventListener(mNetworkListener); + } + + /** + * @return true if it is ready to be used (i.e initializedà + */ + public boolean isReady() { + return mIsInitialized; + } + + /** + * Remove the network events listener. + * This listener is only used to initialize the rules at application launch. + */ + private void removeNetworkListener() { + if ((null != mNetworkConnectivityReceiver) && (null != mNetworkListener)) { + mNetworkConnectivityReceiver.removeEventListener(mNetworkListener); + mNetworkConnectivityReceiver = null; + mNetworkListener = null; + } + } + + /** + * Add a listener + * + * @param listener the listener + */ + public void addBingRulesUpdateListener(onBingRulesUpdateListener listener) { + if (null != listener) { + mBingRulesUpdateListeners.add(listener); + } + } + + /** + * remove a listener + * + * @param listener the listener + */ + public void removeBingRulesUpdateListener(onBingRulesUpdateListener listener) { + if (null != listener) { + mBingRulesUpdateListeners.remove(listener); + } + } + + /** + * Some rules have been updated. + */ + private void onBingRulesUpdate() { + // delete cached data + mRoomNotificationStateByRoomId.clear(); + + for (onBingRulesUpdateListener listener : mBingRulesUpdateListeners) { + try { + listener.onBingRulesUpdate(); + } catch (Exception e) { + Log.e(LOG_TAG, "## onBingRulesUpdate() : onBingRulesUpdate failed " + e.getMessage(), e); + } + } + } + + /** + * Load the bing rules from the server. + * + * @param callback an async callback called when the rules are loaded + */ + public void loadRules(final ApiCallback callback) { + mLoadRulesCallback = null; + + Log.d(LOG_TAG, "## loadRules() : refresh the bing rules"); + mApiClient.getAllRules(new ApiCallback() { + @Override + public void onSuccess(PushRulesResponse info) { + Log.d(LOG_TAG, "## loadRules() : succeeds"); + + buildRules(info); + mIsInitialized = true; + + if (callback != null) { + callback.onSuccess(null); + } + + removeNetworkListener(); + } + + private void onError(String errorMessage) { + Log.e(LOG_TAG, "## loadRules() : failed " + errorMessage); + // the callback will be called when the request will succeed + mLoadRulesCallback = callback; + } + + @Override + public void onNetworkError(Exception e) { + onError(e.getMessage()); + + if (null != callback) { + callback.onNetworkError(e); + } + } + + @Override + public void onMatrixError(MatrixError e) { + onError(e.getMessage()); + + if (null != callback) { + callback.onMatrixError(e); + } + } + + @Override + public void onUnexpectedError(Exception e) { + onError(e.getMessage()); + + if (null != callback) { + callback.onUnexpectedError(e); + } + } + }); + } + + /** + * Returns whether a string contains an occurrence of another, as a standalone word, regardless of case. + * + * @param subString the string to search for + * @param longString the string to search in + * @return whether a match was found + */ + private static boolean caseInsensitiveFind(String subString, String longString) { + // sanity check + if (TextUtils.isEmpty(subString) || TextUtils.isEmpty(longString)) { + return false; + } + + boolean found = false; + + try { + Pattern pattern = Pattern.compile("(\\W|^)" + subString + "(\\W|$)", Pattern.CASE_INSENSITIVE); + found = pattern.matcher(longString).find(); + } catch (Exception e) { + Log.e(LOG_TAG, "caseInsensitiveFind : pattern.matcher failed with " + e.getMessage(), e); + } + + return found; + } + + /** + * Returns the first highlighted notifiable bing rule which fulfills its condition with this event. + * + * @param event the event + * @return the first matched bing rule, null if none + */ + public BingRule fulfilledHighlightBingRule(Event event) { + return fulfilledBingRule(event, true); + } + + /** + * Returns the first notifiable bing rule which fulfills its condition with this event. + * + * @param event the event + * @return the first matched bing rule, null if none + */ + public BingRule fulfilledBingRule(Event event) { + return fulfilledBingRule(event, false); + } + + /** + * Returns the first notifiable bing rule which fulfills its condition with this event. + * + * @param event the event + * @param highlightRuleOnly true to only check the highlight rule + * @return the first matched bing rule, null if none + */ + private BingRule fulfilledBingRule(Event event, boolean highlightRuleOnly) { + // sanity check + if (null == event) { + Log.e(LOG_TAG, "## fulfilledBingRule() : null event"); + return null; + } + + if (!mIsInitialized) { + Log.e(LOG_TAG, "## fulfilledBingRule() : not initialized"); + return null; + } + + if (0 == mRules.size()) { + Log.e(LOG_TAG, "## fulfilledBingRule() : no rules"); + return null; + } + + // do not trigger notification for oneself messages + if ((null != event.getSender()) && TextUtils.equals(event.getSender(), mMyUserId)) { + return null; + } + + String eventType = event.getType(); + + // some types are not bingable + if (TextUtils.equals(eventType, Event.EVENT_TYPE_PRESENCE) + || TextUtils.equals(eventType, Event.EVENT_TYPE_TYPING) + || TextUtils.equals(eventType, Event.EVENT_TYPE_REDACTION) + || TextUtils.equals(eventType, Event.EVENT_TYPE_RECEIPT) + || TextUtils.equals(eventType, Event.EVENT_TYPE_TAGS)) { + return null; + } + + // GA issue + final List rules; + + synchronized (this) { + rules = new ArrayList<>(mRules); + } + + // Go down the rule list until we find a match + for (BingRule bingRule : rules) { + if (bingRule.isEnabled && (!highlightRuleOnly || bingRule.shouldHighlight())) { + boolean isFullfilled = false; + + // some rules have no condition + // so their ruleId defines the method + if (BingRule.RULE_ID_CONTAIN_USER_NAME.equals(bingRule.ruleId) || BingRule.RULE_ID_CONTAIN_DISPLAY_NAME.equals(bingRule.ruleId)) { + if (Event.EVENT_TYPE_MESSAGE.equals(event.getType())) { + Message message = JsonUtils.toMessage(event.getContent()); + MyUser myUser = mSession.getMyUser(); + String pattern = null; + + if (BingRule.RULE_ID_CONTAIN_USER_NAME.equals(bingRule.ruleId)) { + if (mMyUserId.indexOf(":") >= 0) { + pattern = mMyUserId.substring(1, mMyUserId.indexOf(":")); + } else { + pattern = mMyUserId; + } + } else if (BingRule.RULE_ID_CONTAIN_DISPLAY_NAME.equals(bingRule.ruleId)) { + pattern = myUser.displayname; + if ((null != mSession.getDataHandler()) && (null != mSession.getDataHandler().getStore())) { + Room room = mSession.getDataHandler().getStore().getRoom(event.roomId); + + if ((null != room) && (null != room.getState())) { + String disambiguousedName = room.getState().getMemberName(mMyUserId); + + if (!TextUtils.equals(disambiguousedName, mMyUserId)) { + pattern = Pattern.quote(disambiguousedName); + } + } + } + } + + if (!TextUtils.isEmpty(pattern)) { + isFullfilled = caseInsensitiveFind(pattern, message.body); + } + } + } else if (BingRule.RULE_ID_FALLBACK.equals(bingRule.ruleId)) { + isFullfilled = true; + } else { + // some default rules define conditions + // so use them instead of doing a custom treatment + // RULE_ID_ONE_TO_ONE_ROOM + // RULE_ID_SUPPRESS_BOTS_NOTIFICATIONS + isFullfilled = eventMatchesConditions(event, bingRule.conditions); + } + + if (isFullfilled) { + return bingRule; + } + } + } + + // no rules are fulfilled + return null; + } + + /** + * Check if an event matches a conditions set + * + * @param event the event to test + * @param conditions the conditions set + * @return true if the event matches all the conditions set. + */ + private boolean eventMatchesConditions(Event event, List conditions) { + try { + if ((conditions != null) && (event != null)) { + for (Condition condition : conditions) { + if (condition instanceof EventMatchCondition) { + if (!((EventMatchCondition) condition).isSatisfied(event)) { + return false; + } + } else if (condition instanceof ContainsDisplayNameCondition) { + String myDisplayName = null; + + if (event.roomId != null) { + Room room = mDataHandler.getRoom(event.roomId, false); + + // sanity checks + if (room != null && room.getMember(mMyUserId) != null) { + // Best way to get your display name for now + myDisplayName = room.getMember(mMyUserId).displayname; + } + } + + if (TextUtils.isEmpty(myDisplayName)) { + // RoomMember is maybe not known due to lazy loading + // Get displayName from the session + myDisplayName = mSession.getMyUser().displayname; + } + + if (!((ContainsDisplayNameCondition) condition).isSatisfied(event, myDisplayName)) { + return false; + } + } else if (condition instanceof RoomMemberCountCondition) { + if (event.roomId != null) { + Room room = mDataHandler.getRoom(event.roomId, false); + + if (!((RoomMemberCountCondition) condition).isSatisfied(room)) { + return false; + } + } + } else if (condition instanceof SenderNotificationPermissionCondition) { + if (event.roomId != null) { + Room room = mDataHandler.getRoom(event.roomId, false); + + if (!((SenderNotificationPermissionCondition) condition).isSatisfied(room.getState().getPowerLevels(), event.sender)) { + return false; + } + } + } else { + // unknown conditions: we previously matched all unknown conditions, + // but given that rules can be added to the base rules on a server, + // it's probably better to not match unknown conditions. + return false; + } + } + } + } catch (Exception e) { + Log.e(LOG_TAG, "## eventMatchesConditions() failed " + e.getMessage(), e); + return false; + } + return true; + } + + /** + * Build the internal push rules + * + * @param pushRulesResponse the server request response. + */ + public void buildRules(PushRulesResponse pushRulesResponse) { + if (null != pushRulesResponse) { + updateRulesSet(pushRulesResponse.global); + onBingRulesUpdate(); + } + } + + /** + * @return the rules set + */ + public PushRuleSet pushRules() { + return mRulesSet; + } + + /** + * Update mRulesSet with the new one. + * + * @param ruleSet the new ruleSet to apply + */ + private void updateRulesSet(PushRuleSet ruleSet) { + synchronized (this) { + // clear the rules list + // it is + mRules.clear(); + + // sanity check + if (null == ruleSet) { + mRulesSet = new PushRuleSet(); + return; + } + + // Replace the list by ArrayList to be able to add/remove rules + // Add the rule kind in each rule + // Ensure that the null pointers are replaced by an empty list + if (ruleSet.override != null) { + ruleSet.override = new ArrayList<>(ruleSet.override); + for (BingRule rule : ruleSet.override) { + rule.kind = BingRule.KIND_OVERRIDE; + } + mRules.addAll(ruleSet.override); + } else { + ruleSet.override = new ArrayList<>(ruleSet.override); + } + + if (ruleSet.content != null) { + ruleSet.content = new ArrayList<>(ruleSet.content); + for (BingRule rule : ruleSet.content) { + rule.kind = BingRule.KIND_CONTENT; + } + addContentRules(ruleSet.content); + } else { + ruleSet.content = new ArrayList<>(); + } + + mIsMentionOnlyMap.clear(); + if (ruleSet.room != null) { + ruleSet.room = new ArrayList<>(ruleSet.room); + + for (BingRule rule : ruleSet.room) { + rule.kind = BingRule.KIND_ROOM; + } + addRoomRules(ruleSet.room); + } else { + ruleSet.room = new ArrayList<>(); + } + + if (ruleSet.sender != null) { + ruleSet.sender = new ArrayList<>(ruleSet.sender); + + for (BingRule rule : ruleSet.sender) { + rule.kind = BingRule.KIND_SENDER; + } + addSenderRules(ruleSet.sender); + } else { + ruleSet.sender = new ArrayList<>(); + } + + if (ruleSet.underride != null) { + ruleSet.underride = new ArrayList<>(ruleSet.underride); + for (BingRule rule : ruleSet.underride) { + rule.kind = BingRule.KIND_UNDERRIDE; + } + mRules.addAll(ruleSet.underride); + } else { + ruleSet.underride = new ArrayList<>(); + } + + mRulesSet = ruleSet; + + Log.d(LOG_TAG, "## updateRules() : has " + mRules.size() + " rules"); + } + } + + /** + * Create a content EventMatchConditions list from a ContentRules list + * + * @param rules the ContentRules list + */ + private void addContentRules(List rules) { + // sanity check + if (null != rules) { + for (ContentRule rule : rules) { + EventMatchCondition condition = new EventMatchCondition(); + condition.kind = Condition.KIND_EVENT_MATCH; + condition.key = "content.body"; + condition.pattern = rule.pattern; + + rule.addCondition(condition); + + mRules.add(rule); + } + } + } + + /** + * Create a room EventMatchConditions list from a BingRule list + * + * @param rules the BingRule list + */ + private void addRoomRules(List rules) { + if (null != rules) { + for (BingRule rule : rules) { + EventMatchCondition condition = new EventMatchCondition(); + condition.kind = Condition.KIND_EVENT_MATCH; + condition.key = "room_id"; + condition.pattern = rule.ruleId; + + rule.addCondition(condition); + + mRules.add(rule); + } + } + } + + /** + * Create a sender EventMatchConditions list from a BingRule list + * + * @param rules the BingRule list + */ + private void addSenderRules(List rules) { + if (null != rules) { + for (BingRule rule : rules) { + EventMatchCondition condition = new EventMatchCondition(); + condition.kind = Condition.KIND_EVENT_MATCH; + condition.key = "user_id"; + condition.pattern = rule.ruleId; + + rule.addCondition(condition); + + mRules.add(rule); + } + } + } + + /** + * Force to refresh the rules. + * The listener is called when the rules are refreshed. + * + * @param errorMsg the error message to dispatch. + * @param listener the asynchronous listener + */ + private void forceRulesRefresh(final String errorMsg, final onBingRuleUpdateListener listener) { + // refresh only there is a listener + if (null != listener) { + // clear cached data + mRoomNotificationStateByRoomId.clear(); + + loadRules(new ApiCallback() { + private void onDone(String error) { + // clear cached data + mRoomNotificationStateByRoomId.clear(); + + try { + if (TextUtils.isEmpty(error) && TextUtils.isEmpty(errorMsg)) { + listener.onBingRuleUpdateSuccess(); + } else { + listener.onBingRuleUpdateFailure(TextUtils.isEmpty(errorMsg) ? error : errorMsg); + } + } catch (Exception e) { + Log.e(LOG_TAG, "## forceRulesRefresh() : failed " + e.getMessage(), e); + } + } + + @Override + public void onSuccess(Void info) { + onDone(null); + } + + @Override + public void onNetworkError(Exception e) { + onDone(e.getLocalizedMessage()); + } + + @Override + public void onMatrixError(MatrixError e) { + onDone(e.getLocalizedMessage()); + } + + @Override + public void onUnexpectedError(Exception e) { + onDone(e.getLocalizedMessage()); + } + }); + } + } + + /** + * Get the rules update callback. + * + * @param listener the listener + * @return the asynchronous callback + */ + private ApiCallback getUpdateCallback(final onBingRuleUpdateListener listener) { + return new ApiCallback() { + @Override + public void onSuccess(Void info) { + forceRulesRefresh(null, listener); + } + + private void onError(String message) { + forceRulesRefresh(message, listener); + } + + /** + * Called if there is a network error. + * + * @param e the exception + */ + @Override + public void onNetworkError(Exception e) { + onError(e.getLocalizedMessage()); + } + + /** + * Called in case of a Matrix error. + * + * @param e the Matrix error + */ + @Override + public void onMatrixError(MatrixError e) { + onError(e.getLocalizedMessage()); + } + + /** + * Called for some other type of error. + * + * @param e the exception + */ + @Override + public void onUnexpectedError(Exception e) { + onError(e.getLocalizedMessage()); + } + }; + } + + /** + * Update the rule enable status. + * The rules lits are refreshed when the listener is called. + * + * @param rule the bing rule to toggle. + * @param listener the rule update listener. + */ + public void updateEnableRuleStatus(final BingRule rule, final boolean isEnabled, final onBingRuleUpdateListener listener) { + if (null != rule) { + mApiClient.updateEnableRuleStatus(rule.kind, rule.ruleId, isEnabled, getUpdateCallback(listener)); + } + } + + /** + * Delete the rule. + * The rules lists are refreshed when the listener is called. + * + * @param rule the rule to delete. + * @param listener the rule update listener. + */ + public void deleteRule(final BingRule rule, final onBingRuleUpdateListener listener) { + // null case + if (null == rule) { + if (listener != null) { + try { + listener.onBingRuleUpdateSuccess(); + } catch (Exception e) { + Log.e(LOG_TAG, "## deleteRule : onBingRuleUpdateSuccess failed " + e.getMessage(), e); + } + } + return; + } + + mApiClient.deleteRule(rule.kind, rule.ruleId, getUpdateCallback(listener)); + } + + /** + * Delete a rules list. + * The rules lists are refreshed when the listener is called. + * + * @param rules the rules to delete + * @param listener the listener when the rules are deleted + */ + public void deleteRules(final List rules, final onBingRuleUpdateListener listener) { + deleteRules(rules, 0, listener); + } + + /** + * Recursive rules deletion method. + * + * @param rules the rules to delete + * @param index the rule index + * @param listener the listener when the rules are deleted + */ + private void deleteRules(final List rules, final int index, final onBingRuleUpdateListener listener) { + // sanity checks + if ((null == rules) || (index >= rules.size())) { + onBingRulesUpdate(); + if (null != listener) { + try { + listener.onBingRuleUpdateSuccess(); + } catch (Exception e) { + Log.e(LOG_TAG, "## deleteRules() : onBingRuleUpdateSuccess failed " + e.getMessage(), e); + } + } + + return; + } + + // delete the rule + deleteRule(rules.get(index), new onBingRuleUpdateListener() { + @Override + public void onBingRuleUpdateSuccess() { + deleteRules(rules, index + 1, listener); + } + + @Override + public void onBingRuleUpdateFailure(String errorMessage) { + if (null != listener) { + try { + listener.onBingRuleUpdateFailure(errorMessage); + } catch (Exception e) { + Log.e(LOG_TAG, "## deleteRules() : onBingRuleUpdateFailure failed " + e.getMessage(), e); + } + } + } + }); + } + + /** + * Add a rule. + * The rules lists are refreshed when the listener is called. + * + * @param rule the rule to delete. + * @param listener the rule update listener. + */ + public void addRule(final BingRule rule, final onBingRuleUpdateListener listener) { + // null case + if (null == rule) { + if (listener != null) { + try { + listener.onBingRuleUpdateSuccess(); + } catch (Exception e) { + Log.e(LOG_TAG, "## addRule : onBingRuleUpdateSuccess failed " + e.getMessage(), e); + } + } + return; + } + + mApiClient.addRule(rule, getUpdateCallback(listener)); + } + + /** + * Update a bing rule. + * The rules list are updated when the callback is called. + * + * @param source the source + * @param target the target + * @param listener the listener + */ + public void updateRule(final BingRule source, final BingRule target, final onBingRuleUpdateListener listener) { + if (null == source) { + addRule(target, listener); + return; + } + + if (null == target) { + deleteRule(source, listener); + return; + } + + if (source.isEnabled != target.isEnabled) { + mApiClient.updateEnableRuleStatus(target.kind, target.ruleId, target.isEnabled, new ApiCallback() { + @Override + public void onSuccess(Void info) { + source.isEnabled = target.isEnabled; + updateRule(source, target, listener); + } + + @Override + public void onNetworkError(Exception e) { + forceRulesRefresh(e.getLocalizedMessage(), listener); + } + + @Override + public void onMatrixError(MatrixError e) { + forceRulesRefresh(e.getLocalizedMessage(), listener); + } + + @Override + public void onUnexpectedError(Exception e) { + forceRulesRefresh(e.getLocalizedMessage(), listener); + } + }); + + return; + } + + if (source.actions != target.actions) { + Map map = new HashMap<>(); + List sortedActions = new ArrayList<>(); + + // the webclient needs to have them sorted + if (null != target.actions) { + if (target.actions.contains(BingRule.ACTION_NOTIFY)) { + sortedActions.add(BingRule.ACTION_NOTIFY); + } + + if (target.actions.contains(BingRule.ACTION_DONT_NOTIFY)) { + sortedActions.add(BingRule.ACTION_DONT_NOTIFY); + } + + if (null != target.getActionMap(BingRule.ACTION_SET_TWEAK_SOUND_VALUE)) { + sortedActions.add(target.getActionMap(BingRule.ACTION_SET_TWEAK_SOUND_VALUE)); + } + + if (null != target.getActionMap(BingRule.ACTION_SET_TWEAK_HIGHLIGHT_VALUE)) { + sortedActions.add(target.getActionMap(BingRule.ACTION_SET_TWEAK_HIGHLIGHT_VALUE)); + } + } + + map.put("actions", sortedActions); + + mApiClient.updateRuleActions(target.kind, target.ruleId, map, new SimpleApiCallback() { + @Override + public void onSuccess(Void info) { + source.actions = target.actions; + updateRule(source, target, listener); + } + + @Override + public void onNetworkError(Exception e) { + forceRulesRefresh(e.getLocalizedMessage(), listener); + } + + @Override + public void onMatrixError(MatrixError e) { + forceRulesRefresh(e.getLocalizedMessage(), listener); + } + + @Override + public void onUnexpectedError(Exception e) { + forceRulesRefresh(e.getLocalizedMessage(), listener); + } + }); + + return; + } + + // the update succeeds + forceRulesRefresh(null, listener); + } + + /** + * Search the push rules for the room id + * + * @param roomId the room id + * @return the room rules list + */ + private List getPushRulesForRoomId(String roomId) { + List rules = new ArrayList<>(); + + // sanity checks + if (!TextUtils.isEmpty(roomId) && (null != mRulesSet)) { + // the webclient defines two ways to set a room rule + // mention only : the user won't have any push for the room except if a content rule is fulfilled + // mute : no notification for this room + + // mute rules are defined in override groups + if (null != mRulesSet.override) { + for (BingRule roomRule : mRulesSet.override) { + if (TextUtils.equals(roomRule.ruleId, roomId)) { + rules.add(roomRule); + } + } + } + + // mention only are defined in room group + if (null != mRulesSet.room) { + for (BingRule roomRule : mRulesSet.room) { + if (TextUtils.equals(roomRule.ruleId, roomId)) { + rules.add(roomRule); + } + } + } + } + + return rules; + } + + /** + * Provide the room notification state + * + * @param roomId the room + * @return the room notification state + */ + public RoomNotificationState getRoomNotificationState(String roomId) { + if (TextUtils.isEmpty(roomId)) { + return RoomNotificationState.ALL_MESSAGES; + } + + if (mRoomNotificationStateByRoomId.containsKey(roomId)) { + return mRoomNotificationStateByRoomId.get(roomId); + } + + RoomNotificationState result = RoomNotificationState.ALL_MESSAGES; + List bingRules = getPushRulesForRoomId(roomId); + + for (BingRule rule : bingRules) { + if (rule.isEnabled) { + if (rule.shouldNotNotify()) { + result = TextUtils.equals(rule.kind, BingRule.KIND_OVERRIDE) ? RoomNotificationState.MUTE : RoomNotificationState.MENTIONS_ONLY; + break; + } else if (rule.shouldNotify()) { + result = (null != rule.getNotificationSound()) ? RoomNotificationState.ALL_MESSAGES_NOISY : RoomNotificationState.ALL_MESSAGES; + } + } + } + + mRoomNotificationStateByRoomId.put(roomId, result); + return result; + } + + /** + * Update the notification state of a dedicated room + * + * @param roomId the room id + * @param state the new state + * @param listener the asynchronous callback + */ + public void updateRoomNotificationState(final String roomId, final RoomNotificationState state, final onBingRuleUpdateListener listener) { + List bingRules = getPushRulesForRoomId(roomId); + + deleteRules(bingRules, new onBingRuleUpdateListener() { + @Override + public void onBingRuleUpdateSuccess() { + if (state == RoomNotificationState.ALL_MESSAGES) { + forceRulesRefresh(null, listener); + } else { + BingRule rule; + + if (state == RoomNotificationState.ALL_MESSAGES_NOISY) { + rule = new BingRule(BingRule.KIND_ROOM, roomId, true, false, true); + } else { + rule = new BingRule((state == RoomNotificationState.MENTIONS_ONLY) ? + BingRule.KIND_ROOM : BingRule.KIND_OVERRIDE, roomId, false, null, false); + + EventMatchCondition condition = new EventMatchCondition(); + condition.key = "room_id"; + condition.pattern = roomId; + rule.addCondition(condition); + + } + + addRule(rule, listener); + } + } + + @Override + public void onBingRuleUpdateFailure(String errorMessage) { + listener.onBingRuleUpdateFailure(errorMessage); + } + }); + } + + /** + * Tell whether the regular notifications are disabled for the room. + * + * @param roomId the room id + * @return true if the regular notifications are disabled (mention only) + */ + public boolean isRoomMentionOnly(String roomId) { + return RoomNotificationState.MENTIONS_ONLY == getRoomNotificationState(roomId); + } + + /** + * Test if the room has a dedicated rule which disables notification. + * + * @param roomId the roomId + * @return true if there is a rule to disable notifications. + */ + public boolean isRoomNotificationsDisabled(String roomId) { + RoomNotificationState state = getRoomNotificationState(roomId); + return (RoomNotificationState.MENTIONS_ONLY == state) || (RoomNotificationState.MUTE == state); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/CompatUtil.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/CompatUtil.java new file mode 100644 index 00000000..fb52caff --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/CompatUtil.java @@ -0,0 +1,319 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.util; + +import android.content.Context; +import android.content.SharedPreferences; +import android.os.Build; +import android.preference.PreferenceManager; +import android.security.KeyPairGeneratorSpec; +import android.security.keystore.KeyGenParameterSpec; +import android.security.keystore.KeyProperties; +import android.support.annotation.Nullable; +import android.support.annotation.RequiresApi; +import android.util.Base64; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.math.BigInteger; +import java.security.InvalidAlgorithmParameterException; +import java.security.InvalidKeyException; +import java.security.KeyPair; +import java.security.KeyPairGenerator; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.NoSuchProviderException; +import java.security.PrivateKey; +import java.security.SecureRandom; +import java.security.UnrecoverableKeyException; +import java.security.cert.CertificateException; +import java.security.spec.AlgorithmParameterSpec; +import java.security.spec.RSAKeyGenParameterSpec; +import java.util.Calendar; +import java.util.zip.GZIPOutputStream; + +import javax.crypto.Cipher; +import javax.crypto.CipherInputStream; +import javax.crypto.CipherOutputStream; +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.KeyGenerator; +import javax.crypto.NoSuchPaddingException; +import javax.crypto.SecretKey; +import javax.crypto.spec.GCMParameterSpec; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; +import javax.security.auth.x500.X500Principal; + +public class CompatUtil { + private static final String TAG = CompatUtil.class.getSimpleName(); + private static final String ANDROID_KEY_STORE_PROVIDER = "AndroidKeyStore"; + private static final String AES_GCM_CIPHER_TYPE = "AES/GCM/NoPadding"; + private static final int AES_GCM_KEY_SIZE_IN_BITS = 128; + private static final int AES_GCM_IV_LENGTH = 12; + private static final String AES_LOCAL_PROTECTION_KEY_ALIAS = "aes_local_protection"; + + private static final String RSA_WRAP_LOCAL_PROTECTION_KEY_ALIAS = "rsa_wrap_local_protection"; + private static final String RSA_WRAP_CIPHER_TYPE = "RSA/NONE/PKCS1Padding"; + private static final String AES_WRAPPED_PROTECTION_KEY_SHARED_PREFERENCE = "aes_wrapped_local_protection"; + + private static final String SHARED_KEY_ANDROID_VERSION_WHEN_KEY_HAS_BEEN_GENERATED = "android_version_when_key_has_been_generated"; + + private static SecretKeyAndVersion sSecretKeyAndVersion; + private static SecureRandom sPrng; + + /** + * Create a GZIPOutputStream instance + * Special treatment on KitKat device, force the syncFlush param to false + * Before Kitkat, this param does not exist and after Kitkat it is set to false by default + * + * @param outputStream the output stream + */ + public static GZIPOutputStream createGzipOutputStream(OutputStream outputStream) throws IOException { + if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) { + return new GZIPOutputStream(outputStream, false); + } else { + return new GZIPOutputStream(outputStream); + } + } + + /** + * Returns the AES key used for local storage encryption/decryption with AES/GCM. + * The key is created if it does not exist already in the keystore. + * From Marshmallow, this key is generated and operated directly from the android keystore. + * From KitKat and before Marshmallow, this key is stored in the application shared preferences + * wrapped by a RSA key generated and operated directly from the android keystore. + * + * @param context the context holding the application shared preferences + */ + @RequiresApi(Build.VERSION_CODES.KITKAT) + private static synchronized SecretKeyAndVersion getAesGcmLocalProtectionKey(Context context) + throws KeyStoreException, CertificateException, NoSuchAlgorithmException, IOException, + NoSuchProviderException, InvalidAlgorithmParameterException, NoSuchPaddingException, + InvalidKeyException, IllegalBlockSizeException, UnrecoverableKeyException { + if (sSecretKeyAndVersion == null) { + final KeyStore keyStore = KeyStore.getInstance(ANDROID_KEY_STORE_PROVIDER); + keyStore.load(null); + + Log.i(TAG, "Loading local protection key"); + + SecretKey key; + + final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context); + // Get the version of Android when the key has been generated, default to the current version of the system. In this case, the + // key will be generated + final int androidVersionWhenTheKeyHasBeenGenerated + = sharedPreferences.getInt(SHARED_KEY_ANDROID_VERSION_WHEN_KEY_HAS_BEEN_GENERATED, Build.VERSION.SDK_INT); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + if (keyStore.containsAlias(AES_LOCAL_PROTECTION_KEY_ALIAS)) { + Log.i(TAG, "AES local protection key found in keystore"); + key = (SecretKey) keyStore.getKey(AES_LOCAL_PROTECTION_KEY_ALIAS, null); + } else { + // Check if a key has been created on version < M (in case of OS upgrade) + key = readKeyApiL(sharedPreferences, keyStore); + + if (key == null) { + Log.i(TAG, "Generating AES key with keystore"); + final KeyGenerator generator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, ANDROID_KEY_STORE_PROVIDER); + generator.init( + new KeyGenParameterSpec.Builder(AES_LOCAL_PROTECTION_KEY_ALIAS, + KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT) + .setBlockModes(KeyProperties.BLOCK_MODE_GCM) + .setKeySize(AES_GCM_KEY_SIZE_IN_BITS) + .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE) + .build()); + key = generator.generateKey(); + + sharedPreferences.edit() + .putInt(SHARED_KEY_ANDROID_VERSION_WHEN_KEY_HAS_BEEN_GENERATED, Build.VERSION.SDK_INT) + .apply(); + } + } + } else { + key = readKeyApiL(sharedPreferences, keyStore); + + if (key == null) { + Log.i(TAG, "Generating RSA key pair with keystore"); + final KeyPairGenerator generator = KeyPairGenerator.getInstance(KeyProperties.KEY_ALGORITHM_RSA, ANDROID_KEY_STORE_PROVIDER); + final Calendar start = Calendar.getInstance(); + final Calendar end = Calendar.getInstance(); + end.add(Calendar.YEAR, 10); + + generator.initialize( + new KeyPairGeneratorSpec.Builder(context) + .setAlgorithmParameterSpec(new RSAKeyGenParameterSpec(2048, RSAKeyGenParameterSpec.F4)) + .setAlias(RSA_WRAP_LOCAL_PROTECTION_KEY_ALIAS) + .setSubject(new X500Principal("CN=matrix-android-sdk")) + .setStartDate(start.getTime()) + .setEndDate(end.getTime()) + .setSerialNumber(BigInteger.ONE) + .build()); + final KeyPair keyPair = generator.generateKeyPair(); + + Log.i(TAG, "Generating wrapped AES key"); + + final byte[] aesKeyRaw = new byte[AES_GCM_KEY_SIZE_IN_BITS / Byte.SIZE]; + getPrng().nextBytes(aesKeyRaw); + key = new SecretKeySpec(aesKeyRaw, "AES"); + + final Cipher cipher = Cipher.getInstance(RSA_WRAP_CIPHER_TYPE); + cipher.init(Cipher.WRAP_MODE, keyPair.getPublic()); + byte[] wrappedAesKey = cipher.wrap(key); + + sharedPreferences.edit() + .putString(AES_WRAPPED_PROTECTION_KEY_SHARED_PREFERENCE, Base64.encodeToString(wrappedAesKey, 0)) + .putInt(SHARED_KEY_ANDROID_VERSION_WHEN_KEY_HAS_BEEN_GENERATED, Build.VERSION.SDK_INT) + .apply(); + } + } + + sSecretKeyAndVersion = new SecretKeyAndVersion(key, androidVersionWhenTheKeyHasBeenGenerated); + } + + return sSecretKeyAndVersion; + } + + /** + * Read the key, which may have been stored when the OS was < M + * + * @param sharedPreferences shared pref + * @param keyStore key store + * @return the key if it exists or null + */ + @Nullable + private static SecretKey readKeyApiL(SharedPreferences sharedPreferences, KeyStore keyStore) + throws KeyStoreException, NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, UnrecoverableKeyException { + final String wrappedAesKeyString = sharedPreferences.getString(AES_WRAPPED_PROTECTION_KEY_SHARED_PREFERENCE, null); + if (wrappedAesKeyString != null && keyStore.containsAlias(RSA_WRAP_LOCAL_PROTECTION_KEY_ALIAS)) { + Log.i(TAG, "RSA + wrapped AES local protection keys found in keystore"); + final PrivateKey privateKey = (PrivateKey) keyStore.getKey(RSA_WRAP_LOCAL_PROTECTION_KEY_ALIAS, null); + final byte[] wrappedAesKey = Base64.decode(wrappedAesKeyString, 0); + final Cipher cipher = Cipher.getInstance(RSA_WRAP_CIPHER_TYPE); + cipher.init(Cipher.UNWRAP_MODE, privateKey); + return (SecretKey) cipher.unwrap(wrappedAesKey, "AES", Cipher.SECRET_KEY); + } + + // Key does not exist + return null; + } + + /** + * Returns the unique SecureRandom instance shared for all local storage encryption operations. + */ + private static SecureRandom getPrng() { + if (sPrng == null) { + sPrng = new SecureRandom(); + } + + return sPrng; + } + + /** + * Create a CipherOutputStream instance. + * Before Kitkat, this method will return out as local storage encryption is not implemented for + * devices before KitKat. + * + * @param out the output stream + * @param context the context holding the application shared preferences + */ + @Nullable + public static OutputStream createCipherOutputStream(OutputStream out, Context context) + throws IOException, CertificateException, NoSuchAlgorithmException, + UnrecoverableKeyException, InvalidKeyException, InvalidAlgorithmParameterException, + NoSuchPaddingException, NoSuchProviderException, KeyStoreException, IllegalBlockSizeException { + + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { + return out; + } + + final SecretKeyAndVersion keyAndVersion = getAesGcmLocalProtectionKey(context); + if (keyAndVersion == null || keyAndVersion.getSecretKey() == null) { + throw new KeyStoreException(); + } + + final Cipher cipher = Cipher.getInstance(AES_GCM_CIPHER_TYPE); + byte[] iv; + + if (keyAndVersion.getAndroidVersionWhenTheKeyHasBeenGenerated() >= Build.VERSION_CODES.M) { + cipher.init(Cipher.ENCRYPT_MODE, keyAndVersion.getSecretKey()); + iv = cipher.getIV(); + } else { + iv = new byte[AES_GCM_IV_LENGTH]; + getPrng().nextBytes(iv); + cipher.init(Cipher.ENCRYPT_MODE, keyAndVersion.getSecretKey(), new IvParameterSpec(iv)); + } + + if (iv.length != AES_GCM_IV_LENGTH) { + Log.e(TAG, "Invalid IV length " + iv.length); + return null; + } + + out.write(iv.length); + out.write(iv); + + return new CipherOutputStream(out, cipher); + } + + /** + * Create a CipherInputStream instance. + * Before Kitkat, this method will return `in` because local storage encryption is not implemented for devices before KitKat. + * Warning, if `in` is not an encrypted stream, it's up to the caller to close and reopen `in`, because the stream has been read. + * + * @param in the input stream + * @param context the context holding the application shared preferences + * @return in, or the created InputStream, or null if the InputStream `in` does not contain encrypted data + */ + @Nullable + public static InputStream createCipherInputStream(InputStream in, Context context) + throws NoSuchPaddingException, NoSuchAlgorithmException, CertificateException, + InvalidKeyException, KeyStoreException, UnrecoverableKeyException, IllegalBlockSizeException, + NoSuchProviderException, InvalidAlgorithmParameterException, IOException { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { + return in; + } + + final int iv_len = in.read(); + if (iv_len != AES_GCM_IV_LENGTH) { + Log.e(TAG, "Invalid IV length " + iv_len); + return null; + } + + final byte[] iv = new byte[AES_GCM_IV_LENGTH]; + in.read(iv); + + final Cipher cipher = Cipher.getInstance(AES_GCM_CIPHER_TYPE); + + final SecretKeyAndVersion keyAndVersion = getAesGcmLocalProtectionKey(context); + if (keyAndVersion == null || keyAndVersion.getSecretKey() == null) { + throw new KeyStoreException(); + } + + AlgorithmParameterSpec spec; + + if (keyAndVersion.getAndroidVersionWhenTheKeyHasBeenGenerated() >= Build.VERSION_CODES.M) { + spec = new GCMParameterSpec(AES_GCM_KEY_SIZE_IN_BITS, iv); + } else { + spec = new IvParameterSpec(iv); + } + + cipher.init(Cipher.DECRYPT_MODE, keyAndVersion.getSecretKey(), spec); + + return new CipherInputStream(in, cipher); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/ContentManager.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/ContentManager.java new file mode 100644 index 00000000..740930ed --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/ContentManager.java @@ -0,0 +1,229 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.util; + +import android.support.annotation.Nullable; + +import im.vector.matrix.android.internal.legacy.HomeServerConnectionConfig; +import im.vector.matrix.android.internal.legacy.RestClient; + +/** + * Class for accessing content from the current session. + */ +public class ContentManager { + private static final String LOG_TAG = ContentManager.class.getSimpleName(); + + public static final String MATRIX_CONTENT_URI_SCHEME = "mxc://"; + + public static final String METHOD_CROP = "crop"; + public static final String METHOD_SCALE = "scale"; + + public static final String URI_PREFIX_CONTENT_API = "/_matrix/media/v1/"; + + public static final String MATRIX_CONTENT_IDENTICON_PREFIX = "identicon/"; + + // HS config + private final HomeServerConnectionConfig mHsConfig; + + // the unsent events Manager + private final UnsentEventsManager mUnsentEventsManager; + + // AV scanner handling + private boolean mIsAvScannerEnabled; + private String mDownloadUrlPrefix; + + /** + * Default constructor. + * + * @param hsConfig the HomeserverConnectionConfig to use + * @param unsentEventsManager the unsent events manager + */ + public ContentManager(HomeServerConnectionConfig hsConfig, UnsentEventsManager unsentEventsManager) { + mHsConfig = hsConfig; + mUnsentEventsManager = unsentEventsManager; + // The AV scanner is disabled by default + configureAntiVirusScanner(false); + } + + /** + * Configure the anti-virus scanner. + * If the anti-virus server url is different than the home server url, + * it must be provided in HomeServerConnectionConfig. + * The home server url is considered by default. + * + * @param isEnabled true to enable the anti-virus scanner, false otherwise. + */ + public void configureAntiVirusScanner(boolean isEnabled) { + mIsAvScannerEnabled = isEnabled; + if (isEnabled) { + mDownloadUrlPrefix = mHsConfig.getAntiVirusServerUri().toString() + "/" + RestClient.URI_API_PREFIX_PATH_MEDIA_PROXY_UNSTABLE; + } else { + mDownloadUrlPrefix = mHsConfig.getHomeserverUri().toString() + URI_PREFIX_CONTENT_API; + } + } + + public boolean isAvScannerEnabled() { + return mIsAvScannerEnabled; + } + + /** + * @return the hs config. + */ + public HomeServerConnectionConfig getHsConfig() { + return mHsConfig; + } + + /** + * @return the unsent events manager + */ + public UnsentEventsManager getUnsentEventsManager() { + return mUnsentEventsManager; + } + + /** + * Compute the identicon URL for an userId. + * + * @param userId the user id. + * @return the url + */ + public static String getIdenticonURL(String userId) { + // sanity check + if (null != userId) { + String urlEncodedUser = null; + try { + urlEncodedUser = java.net.URLEncoder.encode(userId, "UTF-8"); + } catch (Exception e) { + Log.e(LOG_TAG, "## getIdenticonURL() : java.net.URLEncoder.encode failed " + e.getMessage(), e); + } + + return ContentManager.MATRIX_CONTENT_URI_SCHEME + MATRIX_CONTENT_IDENTICON_PREFIX + urlEncodedUser; + } + + return null; + } + + /** + * Check whether an url is a valid matrix content url. + * + * @param contentUrl the content URL (in the form of "mxc://..."). + * @return true if contentUrl is valid. + */ + public static boolean isValidMatrixContentUrl(String contentUrl) { + return (null != contentUrl && contentUrl.startsWith(MATRIX_CONTENT_URI_SCHEME)); + } + + /** + * Returns the task identifier used to download the content at a Matrix media content URI + * (in the form of "mxc://..."). + * + * @param contentUrl the matrix content url. + * @return the task identifier, or null if the url is invalid.. + */ + @Nullable + public String downloadTaskIdForMatrixMediaContent(String contentUrl) { + if (isValidMatrixContentUrl(contentUrl)) { + // We extract the server name and the media id from the matrix content url + // to define a unique download task id + return contentUrl.substring(MATRIX_CONTENT_URI_SCHEME.length()); + } + + // do not allow non-mxc content URLs: we should not be making requests out to whatever + // http urls people send us + return null; + } + + /** + * Get the actual URL for accessing the full-size image of a Matrix media content URI. + * + * @param contentUrl the Matrix media content URI (in the form of "mxc://..."). + * @return the URL to access the described resource, or null if the url is invalid. + * @deprecated See getDownloadableUrl(contentUrl, isEncrypted). + */ + @Nullable + public String getDownloadableUrl(String contentUrl) { + // Suppose here by default that the content is not encrypted. + // FIXME this method should be removed as soon as possible + return getDownloadableUrl(contentUrl, false); + } + + /** + * Get the actual URL for accessing the full-size image of a Matrix media content URI. + * + * @param contentUrl the Matrix media content URI (in the form of "mxc://..."). + * @param isEncrypted tell whether the related content is encrypted (This information is + * required when the anti-virus scanner is enabled). + * @return the URL to access the described resource, or null if the url is invalid. + */ + @Nullable + public String getDownloadableUrl(String contentUrl, boolean isEncrypted) { + if (isValidMatrixContentUrl(contentUrl)) { + if (!isEncrypted || !mIsAvScannerEnabled) { + String mediaServerAndId = contentUrl.substring(MATRIX_CONTENT_URI_SCHEME.length()); + return mDownloadUrlPrefix + "download/" + mediaServerAndId; + } else { + // In case of encrypted content, a unique url is used when the scanner is enabled + // The encryption info must be sent in the body of the request. + return mDownloadUrlPrefix + "download_encrypted"; + } + } + + // do not allow non-mxc content URLs + return null; + } + + /** + * Get the actual URL for accessing the thumbnail image of a given Matrix media content URI. + * + * @param contentUrl the Matrix media content URI (in the form of "mxc://..."). + * @param width the desired width + * @param height the desired height + * @param method the desired scale method (METHOD_CROP or METHOD_SCALE) + * @return the URL to access the described resource, or null if the url is invalid. + */ + @Nullable + public String getDownloadableThumbnailUrl(String contentUrl, int width, int height, String method) { + if (isValidMatrixContentUrl(contentUrl)) { + String mediaServerAndId = contentUrl.substring(MATRIX_CONTENT_URI_SCHEME.length()); + + // ignore the #auto pattern + if (mediaServerAndId.endsWith("#auto")) { + mediaServerAndId = mediaServerAndId.substring(0, mediaServerAndId.length() - "#auto".length()); + } + + // Build the thumbnail url. + String url; + // Caution: identicon has no thumbnail path. + if (mediaServerAndId.startsWith(MATRIX_CONTENT_IDENTICON_PREFIX)) { + // identicon url still go to the media repo since they don’t need virus scanning + url = mHsConfig.getHomeserverUri().toString() + URI_PREFIX_CONTENT_API; + } else { + // Use the current download url prefix to take into account a potential antivirus scanner + url = mDownloadUrlPrefix + "thumbnail/"; + } + + url += mediaServerAndId; + url += "?width=" + width; + url += "&height=" + height; + url += "&method=" + method; + return url; + } + + // do not allow non-mxc content URLs + return null; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/ContentUtils.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/ContentUtils.java new file mode 100644 index 00000000..2eb33163 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/ContentUtils.java @@ -0,0 +1,187 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.util; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; + +import android.os.Build; +import android.os.StatFs; +import android.system.Os; +import android.webkit.MimeTypeMap; + +import im.vector.matrix.android.internal.legacy.rest.model.message.ImageInfo; + +import java.io.File; +import java.lang.reflect.Field; +import java.lang.reflect.Method; + +/** + * Static content utility methods. + */ +public class ContentUtils { + private static final String LOG_TAG = ContentUtils.class.getSimpleName(); + + /** + * Build an ImageInfo object based on the image at the given path. + * + * @param filePath the path to the image in storage + * @return the image info + */ + public static ImageInfo getImageInfoFromFile(String filePath) { + ImageInfo imageInfo = new ImageInfo(); + try { + Bitmap imageBitmap = BitmapFactory.decodeFile(filePath); + imageInfo.w = imageBitmap.getWidth(); + imageInfo.h = imageBitmap.getHeight(); + + File file = new File(filePath); + imageInfo.size = file.length(); + + imageInfo.mimetype = getMimeType(filePath); + } catch (OutOfMemoryError oom) { + Log.e(LOG_TAG, "## getImageInfoFromFile() : oom", oom); + } + + return imageInfo; + } + + public static String getMimeType(String filePath) { + MimeTypeMap mime = MimeTypeMap.getSingleton(); + return mime.getMimeTypeFromExtension(filePath.substring(filePath.lastIndexOf('.') + 1).toLowerCase()); + } + + /** + * Delete a directory with its content + * + * @param directory the base directory + * @return true if the directory is deleted + */ + public static boolean deleteDirectory(File directory) { + // sanity check + if (null == directory) { + return false; + } + + boolean succeed = true; + + if (directory.exists()) { + File[] files = directory.listFiles(); + + if (null != files) { + for (int i = 0; i < files.length; i++) { + if (files[i].isDirectory()) { + succeed &= deleteDirectory(files[i]); + } else { + succeed &= files[i].delete(); + } + } + } + } + + return succeed && directory.delete(); + } + + /** + * Recursive method to compute a directory size + * + * @param context the context + * @param directory the directory + * @param logPathDepth the depth to log + * @return the directory size + */ + @SuppressLint("deprecation") + public static long getDirectorySize(Context context, File directory, int logPathDepth) { + StatFs statFs = new StatFs(directory.getAbsolutePath()); + long blockSize; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { + blockSize = statFs.getBlockSizeLong(); + } else { + blockSize = statFs.getBlockSize(); + } + + if (blockSize < 0) { + blockSize = 1; + } + + return getDirectorySize(context, directory, logPathDepth, blockSize); + } + + /** + * Recursive method to compute a directory size + * + * @param context the context + * @param directory the directory + * @param logPathDepth the depth to log + * @param blockSize the filesystem block size + * @return the directory size + */ + public static long getDirectorySize(Context context, File directory, int logPathDepth, long blockSize) { + long size = 0; + + File[] files = directory.listFiles(); + + if (null != files) { + for (int i = 0; i < files.length; i++) { + File file = files[i]; + + if (!file.isDirectory()) { + size += (file.length() / blockSize + 1) * blockSize; + } else { + size += getDirectorySize(context, file, logPathDepth - 1); + } + } + } + + if (logPathDepth > 0) { + Log.d(LOG_TAG, "## getDirectorySize() " + directory.getPath() + " " + android.text.format.Formatter.formatFileSize(context, size)); + } + + return size; + } + + @SuppressLint("NewApi") + public static long getLastAccessTime(File file) { + long lastAccessTime = file.lastModified(); + + try { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + lastAccessTime = Os.lstat(file.getAbsolutePath()).st_atime; + } else { + Class clazz = Class.forName("libcore.io.Libcore"); + Field field = clazz.getDeclaredField("os"); + if (!field.isAccessible()) { + field.setAccessible(true); + } + Object os = field.get(null); + + Method method = os.getClass().getMethod("lstat", String.class); + Object lstat = method.invoke(os, file.getAbsolutePath()); + + field = lstat.getClass().getDeclaredField("st_atime"); + if (!field.isAccessible()) { + field.setAccessible(true); + } + lastAccessTime = field.getLong(lstat); + } + } catch (Exception e) { + Log.e(LOG_TAG, "## getLastAccessTime() failed " + e.getMessage() + " for file " + file, e); + } + return lastAccessTime; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/EventDisplay.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/EventDisplay.java new file mode 100644 index 00000000..7d09f771 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/EventDisplay.java @@ -0,0 +1,620 @@ +/* + * Copyright 2016 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.util; + +import android.content.Context; +import android.graphics.Typeface; +import android.os.Build; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.text.Html; +import android.text.Spannable; +import android.text.SpannableString; +import android.text.SpannableStringBuilder; +import android.text.TextUtils; +import android.text.style.ForegroundColorSpan; +import android.text.style.StyleSpan; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonPrimitive; + +import im.vector.matrix.android.R; +import im.vector.matrix.android.internal.legacy.call.MXCallsManager; +import im.vector.matrix.android.internal.legacy.crypto.MXCryptoError; +import im.vector.matrix.android.internal.legacy.data.RoomState; +import im.vector.matrix.android.internal.legacy.interfaces.HtmlToolbox; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.EventContent; +import im.vector.matrix.android.internal.legacy.rest.model.RedactedBecause; +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; +import im.vector.matrix.android.internal.legacy.rest.model.message.Message; +import im.vector.matrix.android.internal.legacy.rest.model.pid.RoomThirdPartyInvite; + +/** + * Class helper to stringify an event + */ +public class EventDisplay { + private static final String LOG_TAG = EventDisplay.class.getSimpleName(); + + private static final String MESSAGE_IN_REPLY_TO_FIRST_PART = "
    "; + private static final String MESSAGE_IN_REPLY_TO_LAST_PART = ""; + + // members + protected final Event mEvent; + protected final Context mContext; + protected final RoomState mRoomState; + + @Nullable + protected final HtmlToolbox mHtmlToolbox; + + protected boolean mPrependAuthor; + + // let the application defines if the redacted events must be displayed + public static final boolean mDisplayRedactedEvents = false; + + // constructor + public EventDisplay(Context context, Event event, RoomState roomState) { + this(context, event, roomState, null); + } + + // constructor + public EventDisplay(Context context, Event event, RoomState roomState, @Nullable HtmlToolbox htmlToolbox) { + mContext = context.getApplicationContext(); + mEvent = event; + mRoomState = roomState; + mHtmlToolbox = htmlToolbox; + } + + /** + *

    Prepend the text with the author's name if they have not been mentioned in the text.

    + * This will prepend text messages with the author's name. This will NOT prepend things like + * emote, room topic changes, etc which already mention the author's name in the message. + * + * @param prepend true to prepend the message author. + */ + public void setPrependMessagesWithAuthor(boolean prepend) { + mPrependAuthor = prepend; + } + + /** + * Compute an "human readable" name for an user Id. + * + * @param userId the user id + * @param roomState the room state + * @return the user display name + */ + protected static String getUserDisplayName(String userId, RoomState roomState) { + if (null != roomState) { + return roomState.getMemberName(userId); + } else { + return userId; + } + } + + /** + * Stringify the linked event. + * + * @return The text or null if it isn't possible. + */ + public CharSequence getTextualDisplay() { + return getTextualDisplay(null); + } + + /** + * Stringify the linked event. + * + * @param displayNameColor the display name highlighted color. + * @return The text or null if it isn't possible. + */ + public CharSequence getTextualDisplay(Integer displayNameColor) { + CharSequence text = null; + + try { + JsonObject jsonEventContent = mEvent.getContentAsJsonObject(); + + String userDisplayName = getUserDisplayName(mEvent.getSender(), mRoomState); + String eventType = mEvent.getType(); + + if (mEvent.isCallEvent()) { + if (Event.EVENT_TYPE_CALL_INVITE.equals(eventType)) { + boolean isVideo = false; + // detect call type from the sdp + try { + JsonObject offer = jsonEventContent.get("offer").getAsJsonObject(); + JsonElement sdp = offer.get("sdp"); + String sdpValue = sdp.getAsString(); + isVideo = sdpValue.contains("m=video"); + } catch (Exception e) { + Log.e(LOG_TAG, "getTextualDisplay : " + e.getMessage(), e); + } + + if (isVideo) { + return mContext.getString(R.string.notice_placed_video_call, userDisplayName); + } else { + return mContext.getString(R.string.notice_placed_voice_call, userDisplayName); + } + } else if (Event.EVENT_TYPE_CALL_ANSWER.equals(eventType)) { + return mContext.getString(R.string.notice_answered_call, userDisplayName); + } else if (Event.EVENT_TYPE_CALL_HANGUP.equals(eventType)) { + return mContext.getString(R.string.notice_ended_call, userDisplayName); + } else { + return eventType; + } + } else if (Event.EVENT_TYPE_STATE_HISTORY_VISIBILITY.equals(eventType)) { + CharSequence subpart; + String historyVisibility = (null != jsonEventContent.get("history_visibility")) ? + jsonEventContent.get("history_visibility").getAsString() : RoomState.HISTORY_VISIBILITY_SHARED; + + if (TextUtils.equals(historyVisibility, RoomState.HISTORY_VISIBILITY_SHARED)) { + subpart = mContext.getString(R.string.notice_room_visibility_shared); + } else if (TextUtils.equals(historyVisibility, RoomState.HISTORY_VISIBILITY_INVITED)) { + subpart = mContext.getString(R.string.notice_room_visibility_invited); + } else if (TextUtils.equals(historyVisibility, RoomState.HISTORY_VISIBILITY_JOINED)) { + subpart = mContext.getString(R.string.notice_room_visibility_joined); + } else if (TextUtils.equals(historyVisibility, RoomState.HISTORY_VISIBILITY_WORLD_READABLE)) { + subpart = mContext.getString(R.string.notice_room_visibility_world_readable); + } else { + subpart = mContext.getString(R.string.notice_room_visibility_unknown, historyVisibility); + } + + text = mContext.getString(R.string.notice_made_future_room_visibility, userDisplayName, subpart); + } else if (Event.EVENT_TYPE_RECEIPT.equals(eventType)) { + // the read receipt should not be displayed + text = "Read Receipt"; + } else if (Event.EVENT_TYPE_MESSAGE.equals(eventType)) { + final String msgtype = (null != jsonEventContent.get("msgtype")) ? jsonEventContent.get("msgtype").getAsString() : ""; + // all m.room.message events should support the 'body' key fallback, so use it. + + text = jsonEventContent.has("body") ? jsonEventContent.get("body").getAsString() : null; + // check for html formatting + if (jsonEventContent.has("formatted_body") && jsonEventContent.has("format")) { + text = getFormattedMessage(mContext, jsonEventContent, mHtmlToolbox); + } + // avoid empty image name + if (TextUtils.equals(msgtype, Message.MSGTYPE_IMAGE) && TextUtils.isEmpty(text)) { + text = mContext.getString(R.string.summary_user_sent_image, userDisplayName); + } else if (TextUtils.equals(msgtype, Message.MSGTYPE_EMOTE)) { + text = "* " + userDisplayName + " " + text; + } else if (TextUtils.isEmpty(text)) { + text = ""; + } else if (mPrependAuthor) { + text = new SpannableStringBuilder(mContext.getString(R.string.summary_message, userDisplayName, text)); + + if (null != displayNameColor) { + ((SpannableStringBuilder) text).setSpan(new ForegroundColorSpan(displayNameColor), + 0, userDisplayName.length() + 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + ((SpannableStringBuilder) text).setSpan(new StyleSpan(Typeface.BOLD), + 0, userDisplayName.length() + 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + } + } + } else if (Event.EVENT_TYPE_STICKER.equals(eventType)) { + // all m.stickers events should support the 'body' key fallback, so use it. + text = jsonEventContent.has("body") ? jsonEventContent.get("body").getAsString() : null; + + if (TextUtils.isEmpty(text)) { + text = mContext.getString(R.string.summary_user_sent_sticker, userDisplayName); + } + + } else if (Event.EVENT_TYPE_MESSAGE_ENCRYPTION.equals(eventType)) { + text = mContext.getString(R.string.notice_end_to_end, userDisplayName, mEvent.getWireEventContent().algorithm); + } else if (Event.EVENT_TYPE_MESSAGE_ENCRYPTED.equals(eventType)) { + // don't display + if (mEvent.isRedacted()) { + String redactedInfo = EventDisplay.getRedactionMessage(mContext, mEvent, mRoomState); + + if (TextUtils.isEmpty(redactedInfo)) { + return null; + } else { + return redactedInfo; + } + } else { + String message = null; + + + if (null != mEvent.getCryptoError()) { + String errorDescription; + + MXCryptoError error = mEvent.getCryptoError(); + + if (TextUtils.equals(error.errcode, MXCryptoError.UNKNOWN_INBOUND_SESSION_ID_ERROR_CODE)) { + errorDescription = mContext.getResources().getString(R.string.notice_crypto_error_unkwown_inbound_session_id); + } else { + errorDescription = error.getLocalizedMessage(); + } + + message = mContext.getString(R.string.notice_crypto_unable_to_decrypt, errorDescription); + } + + if (TextUtils.isEmpty(message)) { + message = mContext.getString(R.string.encrypted_message); + } + + SpannableString spannableStr = new SpannableString(message); + spannableStr.setSpan(new StyleSpan(Typeface.ITALIC), 0, message.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + text = spannableStr; + } + } else if (Event.EVENT_TYPE_STATE_ROOM_TOPIC.equals(eventType)) { + String topic = jsonEventContent.getAsJsonPrimitive("topic").getAsString(); + + if (mEvent.isRedacted()) { + String redactedInfo = EventDisplay.getRedactionMessage(mContext, mEvent, mRoomState); + + if (TextUtils.isEmpty(redactedInfo)) { + return null; + } + + topic = redactedInfo; + } + + if (!TextUtils.isEmpty(topic)) { + text = mContext.getString(R.string.notice_topic_changed, userDisplayName, topic); + } else { + text = mContext.getString(R.string.notice_room_topic_removed, userDisplayName); + } + } else if (Event.EVENT_TYPE_STATE_ROOM_NAME.equals(eventType)) { + JsonPrimitive nameAsJson = jsonEventContent.getAsJsonPrimitive("name"); + String roomName = (null == nameAsJson) ? null : nameAsJson.getAsString(); + + if (mEvent.isRedacted()) { + String redactedInfo = EventDisplay.getRedactionMessage(mContext, mEvent, mRoomState); + + if (TextUtils.isEmpty(redactedInfo)) { + return null; + } + + roomName = redactedInfo; + } + + if (!TextUtils.isEmpty(roomName)) { + text = mContext.getString(R.string.notice_room_name_changed, userDisplayName, roomName); + } else { + text = mContext.getString(R.string.notice_room_name_removed, userDisplayName); + } + } else if (Event.EVENT_TYPE_STATE_ROOM_THIRD_PARTY_INVITE.equals(eventType)) { + RoomThirdPartyInvite invite = JsonUtils.toRoomThirdPartyInvite(mEvent.getContent()); + String displayName = invite.display_name; + + if (mEvent.isRedacted()) { + String redactedInfo = EventDisplay.getRedactionMessage(mContext, mEvent, mRoomState); + + if (TextUtils.isEmpty(redactedInfo)) { + return null; + } + + displayName = redactedInfo; + } + + text = mContext.getString(R.string.notice_room_third_party_invite, userDisplayName, displayName); + } else if (Event.EVENT_TYPE_STATE_ROOM_MEMBER.equals(eventType)) { + text = getMembershipNotice(mContext, mEvent, mRoomState); + } + } catch (Exception e) { + Log.e(LOG_TAG, "getTextualDisplay() " + e.getMessage(), e); + } + + return text; + } + + /** + * Compute the redact text for an event. + * + * @param context the context + * @param event the event + * @param roomState the room state + * @return the redacted event text + */ + public static String getRedactionMessage(Context context, Event event, RoomState roomState) { + // test if the redacted event must be displayed. + if (!mDisplayRedactedEvents) { + return null; + } + + // Check first whether the event has been redacted + String redactedInfo = null; + + if (event.isRedacted() && (null != roomState)) { + RedactedBecause redactedBecause = event.unsigned.redacted_because; + String redactedBy = redactedBecause.sender; + String redactedReason = null; + + if (null != redactedBecause.content) { + redactedReason = redactedBecause.content.reason; + } + + if (!TextUtils.isEmpty(redactedReason)) { + if (!TextUtils.isEmpty(redactedBy)) { + redactedBy = context.getString(R.string.notice_event_redacted_by, redactedBy) + + context.getString(R.string.notice_event_redacted_reason, redactedReason); + } else { + redactedBy = context.getString(R.string.notice_event_redacted_reason, redactedReason); + } + } else if (!TextUtils.isEmpty(redactedBy)) { + redactedBy = context.getString(R.string.notice_event_redacted_by, redactedBy); + } + + redactedInfo = context.getString(R.string.notice_event_redacted, redactedBy); + } + + return redactedInfo; + } + + /** + * Compute the sender display name + * + * @param event the event + * @param eventContent the event content + * @param prevEventContent the prev event content + * @param roomState the room state + * @return the "human readable" display name + */ + protected static String senderDisplayNameForEvent(Event event, EventContent eventContent, EventContent prevEventContent, RoomState roomState) { + String senderDisplayName = event.getSender(); + + if (!event.isRedacted()) { + if (null != roomState) { + // Consider first the current display name defined in provided room state + // (Note: this room state is supposed to not take the new event into account) + senderDisplayName = roomState.getMemberName(event.getSender()); + } + + // Check whether this sender name is updated by the current event (This happens in case of new joined member) + if ((null != eventContent) && TextUtils.equals(RoomMember.MEMBERSHIP_JOIN, eventContent.membership)) { + // detect if it is displayname update + // a display name update is detected when the previous state was join and there was a displayname + if (!TextUtils.isEmpty(eventContent.displayname) + || ((null != prevEventContent) + && TextUtils.equals(RoomMember.MEMBERSHIP_JOIN, prevEventContent.membership) + && !TextUtils.isEmpty(prevEventContent.displayname))) { + senderDisplayName = eventContent.displayname; + } + } + } + + return senderDisplayName; + } + + /** + * Build a membership notice text from its dedicated event. + * + * @param context the context. + * @param event the event. + * @param roomState the room state. + * @return the membership text. + */ + public static String getMembershipNotice(Context context, Event event, RoomState roomState) { + JsonObject content = event.getContentAsJsonObject(); + + // don't support redacted membership event + if ((null == content) || (content.entrySet().size() == 0)) { + return null; + } + + EventContent eventContent = JsonUtils.toEventContent(event.getContentAsJsonObject()); + EventContent prevEventContent = event.getPrevContent(); + + String senderDisplayName = senderDisplayNameForEvent(event, eventContent, prevEventContent, roomState); + String prevUserDisplayName = null; + + String prevMembership = null; + + if (null != prevEventContent) { + prevMembership = prevEventContent.membership; + } + + if ((null != prevEventContent)) { + prevUserDisplayName = prevEventContent.displayname; + } + + // use by default the provided display name + String targetDisplayName = eventContent.displayname; + + // if it is not provided, use the stateKey value + // and try to retrieve a valid display name + if (null == targetDisplayName) { + targetDisplayName = event.stateKey; + if ((null != targetDisplayName) && (null != roomState) && !event.isRedacted()) { + targetDisplayName = roomState.getMemberName(targetDisplayName); + } + } + + // Check whether the sender has updated his profile (the membership is then unchanged) + if (TextUtils.equals(prevMembership, eventContent.membership)) { + String redactedInfo = EventDisplay.getRedactionMessage(context, event, roomState); + + // Is redacted event? + if (event.isRedacted()) { + + // Here the event is ignored (no display) + if (null == redactedInfo) { + return null; + } + + return context.getString(R.string.notice_profile_change_redacted, senderDisplayName, redactedInfo); + } else { + String displayText = ""; + + if (!TextUtils.equals(senderDisplayName, prevUserDisplayName)) { + if (TextUtils.isEmpty(prevUserDisplayName)) { + if (!TextUtils.equals(event.getSender(), senderDisplayName)) { + displayText = context.getString(R.string.notice_display_name_set, event.getSender(), senderDisplayName); + } + } else if (TextUtils.isEmpty(senderDisplayName)) { + displayText = context.getString(R.string.notice_display_name_removed, event.getSender(), prevUserDisplayName); + } else { + displayText = context.getString(R.string.notice_display_name_changed_from, event.getSender(), prevUserDisplayName, senderDisplayName); + } + } + + // Check whether the avatar has been changed + String avatar = eventContent.avatar_url; + String prevAvatar = null; + + if (null != prevEventContent) { + prevAvatar = prevEventContent.avatar_url; + } + + if (!TextUtils.equals(prevAvatar, avatar)) { + if (!TextUtils.isEmpty(displayText)) { + displayText = displayText + " " + context.getString(R.string.notice_avatar_changed_too); + } else { + displayText = context.getString(R.string.notice_avatar_url_changed, senderDisplayName); + } + } + + return displayText; + } + } else if (RoomMember.MEMBERSHIP_INVITE.equals(eventContent.membership)) { + if (null != eventContent.third_party_invite) { + return context.getString(R.string.notice_room_third_party_registered_invite, targetDisplayName, eventContent.third_party_invite.display_name); + } else { + String selfUserId = null; + + if ((null != roomState) && (null != roomState.getDataHandler())) { + selfUserId = roomState.getDataHandler().getUserId(); + } + + if (TextUtils.equals(event.stateKey, selfUserId)) { + return context.getString(R.string.notice_room_invite_you, senderDisplayName); + } + + if (null == event.stateKey) { + return context.getString(R.string.notice_room_invite_no_invitee, senderDisplayName); + } + + // conference call case + if (targetDisplayName.equals(MXCallsManager.getConferenceUserId(event.roomId))) { + return context.getString(R.string.notice_requested_voip_conference, senderDisplayName); + } + + return context.getString(R.string.notice_room_invite, senderDisplayName, targetDisplayName); + } + } else if (RoomMember.MEMBERSHIP_JOIN.equals(eventContent.membership)) { + // conference call case + if (TextUtils.equals(event.sender, MXCallsManager.getConferenceUserId(event.roomId))) { + return context.getString(R.string.notice_voip_started); + } + + return context.getString(R.string.notice_room_join, senderDisplayName); + } else if (RoomMember.MEMBERSHIP_LEAVE.equals(eventContent.membership)) { + // conference call case + if (TextUtils.equals(event.sender, MXCallsManager.getConferenceUserId(event.roomId))) { + return context.getString(R.string.notice_voip_finished); + } + + // 2 cases here: this member may have left voluntarily or they may have been "left" by someone else ie. kicked + if (TextUtils.equals(event.getSender(), event.stateKey)) { + if ((null != prevEventContent) && TextUtils.equals(prevEventContent.membership, RoomMember.MEMBERSHIP_INVITE)) { + return context.getString(R.string.notice_room_reject, senderDisplayName); + } else { + + // use the latest known displayname + if ((null == eventContent.displayname) && (null != prevUserDisplayName)) { + senderDisplayName = prevUserDisplayName; + } + + return context.getString(R.string.notice_room_leave, senderDisplayName); + } + + } else if (null != prevMembership) { + if (prevMembership.equals(RoomMember.MEMBERSHIP_INVITE)) { + return context.getString(R.string.notice_room_withdraw, senderDisplayName, targetDisplayName); + } else if (prevMembership.equals(RoomMember.MEMBERSHIP_JOIN)) { + return context.getString(R.string.notice_room_kick, senderDisplayName, targetDisplayName); + } else if (prevMembership.equals(RoomMember.MEMBERSHIP_BAN)) { + return context.getString(R.string.notice_room_unban, senderDisplayName, targetDisplayName); + } + } + } else if (RoomMember.MEMBERSHIP_BAN.equals(eventContent.membership)) { + return context.getString(R.string.notice_room_ban, senderDisplayName, targetDisplayName); + } else if (RoomMember.MEMBERSHIP_KICK.equals(eventContent.membership)) { + return context.getString(R.string.notice_room_kick, senderDisplayName, targetDisplayName); + } else { + Log.e(LOG_TAG, "Unknown membership: " + eventContent.membership); + } + return null; + } + + + /** + * @param context the context + * @param jsonEventContent the current jsonEventContent + * @param htmlToolbox an optional htmlToolbox to manage html images and tag + * @return the formatted message as CharSequence + */ + private CharSequence getFormattedMessage(@NonNull final Context context, + @NonNull final JsonObject jsonEventContent, + @Nullable final HtmlToolbox htmlToolbox) { + final String format = jsonEventContent.getAsJsonPrimitive("format").getAsString(); + CharSequence text = null; + if (Message.FORMAT_MATRIX_HTML.equals(format)) { + String htmlBody = jsonEventContent.getAsJsonPrimitive("formatted_body").getAsString(); + if (htmlToolbox != null) { + htmlBody = htmlToolbox.convert(htmlBody); + } + // Special treatment for "In reply to" message + if (jsonEventContent.has("m.relates_to")) { + final JsonElement relatesTo = jsonEventContent.get("m.relates_to"); + if (relatesTo.isJsonObject()) { + if (relatesTo.getAsJsonObject().has("m.in_reply_to")) { + // Note: tag has been removed by HtmlToolbox.convert() + + // Replace
    In reply to + // By
    ['In reply to' from resources] + // To disable the link and to localize the "In reply to" string + if (htmlBody.startsWith(MESSAGE_IN_REPLY_TO_FIRST_PART)) { + final int index = htmlBody.indexOf(MESSAGE_IN_REPLY_TO_LAST_PART); + if (index != -1) { + htmlBody = MESSAGE_IN_REPLY_TO_FIRST_PART + + context.getString(R.string.message_reply_to_prefix) + + htmlBody.substring(index + MESSAGE_IN_REPLY_TO_LAST_PART.length()); + } + } + } + } + } + // some markers are not supported so fallback on an ascii display until to find the right way to manage them + // an issue has been created https://github.com/vector-im/vector-android/issues/38 + // BMA re-enable
      and
    1. support (https://github.com/vector-im/riot-android/issues/2184) + if (!TextUtils.isEmpty(htmlBody)) { + final Html.ImageGetter imageGetter; + final Html.TagHandler tagHandler; + if (htmlToolbox != null) { + imageGetter = htmlToolbox.getImageGetter(); + tagHandler = htmlToolbox.getTagHandler(htmlBody); + } else { + imageGetter = null; + tagHandler = null; + } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + text = Html.fromHtml(htmlBody, + Html.FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM | Html.FROM_HTML_SEPARATOR_LINE_BREAK_LIST, + imageGetter, tagHandler); + } else { + text = Html.fromHtml(htmlBody, imageGetter, tagHandler); + } + // fromHtml formats quotes (> character) with two newlines at the end + // remove any newlines at the end of the CharSequence + while (text.charAt(text.length() - 1) == '\n') { + text = text.subSequence(0, text.length() - 2); + } + } + } + return text; + } + +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/EventUtils.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/EventUtils.java new file mode 100644 index 00000000..9e15611a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/EventUtils.java @@ -0,0 +1,127 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.util; + +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.MXSession; +import im.vector.matrix.android.internal.legacy.data.Room; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.RoomDirectoryVisibility; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.BingRule; + +import java.util.regex.Pattern; + +/** + * Utility methods for events. + */ +public class EventUtils { + private static final String LOG_TAG = EventUtils.class.getSimpleName(); + + /** + * Whether the given event should be highlighted in its chat room. + * + * @param session the session. + * @param event the event + * @return whether the event is important and should be highlighted + */ + public static boolean shouldHighlight(MXSession session, Event event) { + // sanity check + if ((null == session) || (null == event)) { + return false; + } + + boolean res = false; + + // search if the event fulfills a rule + BingRule rule = session.fulfillRule(event); + + if (null != rule) { + res = rule.shouldHighlight(); + + if (res) { + Log.d(LOG_TAG, "## shouldHighlight() : the event " + event.roomId + "/" + event.eventId + " is higlighted by " + rule); + } + } + + return res; + } + + /** + * Whether the given event should trigger a notification. + * + * @param session the current matrix session + * @param event the event + * @param activeRoomID the RoomID of disaplyed roomActivity + * @return true if the event should trigger a notification + */ + public static boolean shouldNotify(MXSession session, Event event, String activeRoomID) { + if ((null == event) || (null == session)) { + Log.e(LOG_TAG, "shouldNotify invalid params"); + return false; + } + + // Only room events trigger notifications + if (null == event.roomId) { + Log.e(LOG_TAG, "shouldNotify null room ID"); + return false; + } + + if (null == event.getSender()) { + Log.e(LOG_TAG, "shouldNotify null room ID"); + return false; + } + + // No notification if the user is currently viewing the room + if (TextUtils.equals(event.roomId, activeRoomID)) { + return false; + } + + if (shouldHighlight(session, event)) { + return true; + } + + Room room = session.getDataHandler().getRoom(event.roomId); + return RoomDirectoryVisibility.DIRECTORY_VISIBILITY_PRIVATE.equals(room.getVisibility()) + && !TextUtils.equals(event.getSender(), session.getCredentials().userId); + } + + /** + * Returns whether a string contains an occurrence of another, as a standalone word, regardless of case. + * + * @param subString the string to search for + * @param longString the string to search in + * @return whether a match was found + */ + public static boolean caseInsensitiveFind(String subString, String longString) { + // add sanity checks + if (TextUtils.isEmpty(subString) || TextUtils.isEmpty(longString)) { + return false; + } + + boolean res = false; + + try { + Pattern pattern = Pattern.compile("(\\W|^)" + Pattern.quote(subString) + "(\\W|$)", Pattern.CASE_INSENSITIVE); + res = pattern.matcher(longString).find(); + } catch (Exception e) { + Log.e(LOG_TAG, "## caseInsensitiveFind() : failed", e); + } + + return res; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/FilterUtil.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/FilterUtil.java new file mode 100644 index 00000000..27af8db4 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/FilterUtil.java @@ -0,0 +1,152 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.util; + +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; + +import im.vector.matrix.android.internal.legacy.rest.model.filter.Filter; +import im.vector.matrix.android.internal.legacy.rest.model.filter.FilterBody; +import im.vector.matrix.android.internal.legacy.rest.model.filter.RoomEventFilter; +import im.vector.matrix.android.internal.legacy.rest.model.filter.RoomFilter; + +import java.util.ArrayList; + +public class FilterUtil { + + /** + * Patch the filterBody to enable or disable the data save mode + *

      + * If data save mode is on, FilterBody will contains + * "{\"room\": {\"ephemeral\": {\"types\": [\"m.receipt\"]}}, \"presence\":{\"notTypes\": [\"*\"]}}" + * + * @param filterBody filterBody to patch + * @param useDataSaveMode true to enable data save mode + */ + public static void enableDataSaveMode(@NonNull FilterBody filterBody, boolean useDataSaveMode) { + if (useDataSaveMode) { + // Enable data save mode + if (filterBody.room == null) { + filterBody.room = new RoomFilter(); + } + if (filterBody.room.ephemeral == null) { + filterBody.room.ephemeral = new RoomEventFilter(); + } + if (filterBody.room.ephemeral.types == null) { + filterBody.room.ephemeral.types = new ArrayList<>(); + } + if (!filterBody.room.ephemeral.types.contains("m.receipt")) { + filterBody.room.ephemeral.types.add("m.receipt"); + } + + if (filterBody.presence == null) { + filterBody.presence = new Filter(); + } + if (filterBody.presence.notTypes == null) { + filterBody.presence.notTypes = new ArrayList<>(); + } + if (!filterBody.presence.notTypes.contains("*")) { + filterBody.presence.notTypes.add("*"); + } + } else { + if (filterBody.room != null + && filterBody.room.ephemeral != null + && filterBody.room.ephemeral.types != null) { + filterBody.room.ephemeral.types.remove("m.receipt"); + + if (filterBody.room.ephemeral.types.isEmpty()) { + filterBody.room.ephemeral.types = null; + } + + if (!filterBody.room.ephemeral.hasData()) { + filterBody.room.ephemeral = null; + } + + if (!filterBody.room.hasData()) { + filterBody.room = null; + } + } + + if (filterBody.presence != null + && filterBody.presence.notTypes != null) { + filterBody.presence.notTypes.remove("*"); + + if (filterBody.presence.notTypes.isEmpty()) { + filterBody.presence.notTypes = null; + } + + if (!filterBody.presence.hasData()) { + filterBody.presence = null; + } + } + } + } + + /** + * Patch the filterBody to enable or disable the lazy loading + *

      + * If lazy loading is on, the filterBody will looks like + * {"room":{"state":{"lazy_load_members":true})} + * + * @param filterBody filterBody to patch + * @param useLazyLoading true to enable lazy loading + */ + public static void enableLazyLoading(FilterBody filterBody, boolean useLazyLoading) { + if (useLazyLoading) { + // Enable lazy loading + if (filterBody.room == null) { + filterBody.room = new RoomFilter(); + } + if (filterBody.room.state == null) { + filterBody.room.state = new RoomEventFilter(); + } + + filterBody.room.state.lazyLoadMembers = true; + } else { + if (filterBody.room != null + && filterBody.room.state != null) { + filterBody.room.state.lazyLoadMembers = null; + + if (!filterBody.room.state.hasData()) { + filterBody.room.state = null; + } + + if (!filterBody.room.hasData()) { + filterBody.room = null; + } + } + } + } + + /** + * Create a RoomEventFilter + * + * @param withLazyLoading true when lazy loading is enabled + * @return a RoomEventFilter or null if lazy loading if OFF + */ + @Nullable + public static RoomEventFilter createRoomEventFilter(boolean withLazyLoading) { + RoomEventFilter roomEventFilter = null; + + if (withLazyLoading) { + roomEventFilter = new RoomEventFilter(); + roomEventFilter.lazyLoadMembers = true; + } + + return roomEventFilter; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/ImageUtils.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/ImageUtils.java new file mode 100644 index 00000000..c5e881e8 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/ImageUtils.java @@ -0,0 +1,335 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.util; + +import android.content.Context; +import android.database.Cursor; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.media.ExifInterface; +import android.net.Uri; +import android.provider.MediaStore; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.db.MXMediasCache; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; + +public class ImageUtils { + private static final String LOG_TAG = ImageUtils.class.getSimpleName(); + + /** + * Gets the bitmap rotation angle from the {@link android.media.ExifInterface}. + * + * @param context Application context for the content resolver. + * @param uri The URI to find the orientation for. Must be local. + * @return The orientation value, which may be {@link android.media.ExifInterface#ORIENTATION_UNDEFINED}. + */ + public static int getRotationAngleForBitmap(Context context, Uri uri) { + int orientation = getOrientationForBitmap(context, uri); + + int rotationAngle = 0; + + if (ExifInterface.ORIENTATION_ROTATE_90 == orientation) { + rotationAngle = 90; + } else if (ExifInterface.ORIENTATION_ROTATE_180 == orientation) { + rotationAngle = 180; + } else if (ExifInterface.ORIENTATION_ROTATE_270 == orientation) { + rotationAngle = 270; + } + + return rotationAngle; + } + + /** + * Gets the {@link ExifInterface} value for the orientation for this local bitmap Uri. + * + * @param context Application context for the content resolver. + * @param uri The URI to find the orientation for. Must be local. + * @return The orientation value, which may be {@link ExifInterface#ORIENTATION_UNDEFINED}. + */ + public static int getOrientationForBitmap(Context context, Uri uri) { + int orientation = ExifInterface.ORIENTATION_UNDEFINED; + + if (uri == null) { + return orientation; + } + + if (TextUtils.equals(uri.getScheme(), "content")) { + String[] proj = {MediaStore.Images.Media.DATA}; + Cursor cursor = null; + try { + cursor = context.getContentResolver().query(uri, proj, null, null, null); + if (cursor != null && cursor.getCount() > 0) { + cursor.moveToFirst(); + int idxData = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); + String path = cursor.getString(idxData); + if (TextUtils.isEmpty(path)) { + Log.w(LOG_TAG, "Cannot find path in media db for uri " + uri); + return orientation; + } + ExifInterface exif = new ExifInterface(path); + orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED); + } + } catch (Exception e) { + // eg SecurityException from com.google.android.apps.photos.content.GooglePhotosImageProvider URIs + // eg IOException from trying to parse the returned path as a file when it is an http uri. + Log.e(LOG_TAG, "Cannot get orientation for bitmap: " + e.getMessage(), e); + } finally { + if (cursor != null) { + cursor.close(); + } + } + } else if (TextUtils.equals(uri.getScheme(), "file")) { + try { + ExifInterface exif = new ExifInterface(uri.getPath()); + orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED); + } catch (Exception e) { + Log.e(LOG_TAG, "Cannot get EXIF for file uri " + uri + " because " + e.getMessage(), e); + } + } + + return orientation; + } + + public static BitmapFactory.Options decodeBitmapDimensions(InputStream stream) { + BitmapFactory.Options o = new BitmapFactory.Options(); + o.inJustDecodeBounds = true; + BitmapFactory.decodeStream(stream, null, o); + if (o.outHeight == -1 || o.outWidth == -1) { + // this doesn't look like an image... + Log.e(LOG_TAG, "Cannot resize input stream, failed to get w/h."); + return null; + } + return o; + } + + public static int getSampleSize(int w, int h, int maxSize) { + int highestDimensionSize = (h > w) ? h : w; + double ratio = (highestDimensionSize > maxSize) ? (highestDimensionSize / maxSize) : 1.0; + int sampleSize = Integer.highestOneBit((int) Math.floor(ratio)); + if (sampleSize == 0) { + sampleSize = 1; + } + return sampleSize; + } + + /** + * Resize an image from its stream. + * + * @param fullImageStream the image stream + * @param maxSize the square side to draw the image in. -1 to ignore. + * @param aSampleSize the image dimension divider. + * @param quality the image quality (0 -> 100) + * @return a stream of the resized imaged + * @throws IOException file IO exception. + */ + public static InputStream resizeImage(InputStream fullImageStream, int maxSize, int aSampleSize, int quality) throws IOException { + /* + * This is all a bit of a mess because android doesn't ship with sensible bitmap streaming libraries. + * + * General structure here is: (N = size of file, M = decompressed size) + * - Copy inputstream to outstream (Usage: 2N) + * - Release inputstream (Usage: N) + * - Copy outstream to instream (Usage: 2N) --- This is done to make sure we can .reset() the stream else we would potentially + * have to re-download the file once we knew the dimensions of the image (!!!) + * - Release outstream (Usage: N) + * - Decode image dimensions, if the size is good, just return instream, else: + * - Decode the full image with the new sample size (Usage: N + M) + * - Release instream (Usage: M) + * - Bitmap compress to JPEG output stream (Usage: N + M) + * - Release bitmap (Usage: N) + * - Return input stream of output stream (Usage: N) + * Usages assume immediate GC, which is no guarantee. If it didn't, the total usage is 5N + M. In an extreme scenario + * of a full 8 MP image roughly 1.85MB file (3264x2448), this equates to roughly 25 MB of memory. On average, it will + * maybe not immediately release the streams but will probably in the future, so maybe 3N which is ~5.55MB - either + * way this isn't cool. + */ + + ByteArrayOutputStream outstream = new ByteArrayOutputStream(); + + // copy the bytes we just got to the byte array output stream so we can resize.... + byte[] buffer = new byte[2048]; + int l; + while ((l = fullImageStream.read(buffer)) != -1) { + outstream.write(buffer, 0, l); + } + + // we're done with the input stream now so get rid of it (bearing in mind this could be several MB..) + fullImageStream.close(); + + // get the width/height of the image without decoding ALL THE THINGS (though this still makes a copy of the compressed image :/) + ByteArrayInputStream bais = new ByteArrayInputStream(outstream.toByteArray()); + + // allow it to GC.. + outstream.close(); + + BitmapFactory.Options o = decodeBitmapDimensions(bais); + if (o == null) { + return null; + } + int w = o.outWidth; + int h = o.outHeight; + bais.reset(); // yay no need to re-read the stream (which is why we dumped to another stream) + int sampleSize = (maxSize == -1) ? aSampleSize : getSampleSize(w, h, maxSize); + + if (sampleSize == 1) { + // small optimisation + return bais; + } else { + // yucky, we have to decompress the entire (albeit subsampled) bitmap into memory then dump it back into a stream + o = new BitmapFactory.Options(); + o.inSampleSize = sampleSize; + Bitmap bitmap = BitmapFactory.decodeStream(bais, null, o); + if (bitmap == null) { + return null; + } + + bais.close(); + + // recopy it back into an input stream :/ + outstream = new ByteArrayOutputStream(); + bitmap.compress(Bitmap.CompressFormat.JPEG, quality, outstream); + + // cleanup + bitmap.recycle(); + + return new ByteArrayInputStream(outstream.toByteArray()); + } + } + + /** + * Apply rotation to the cached image (stored at imageURL). + * The rotated image replaces the genuine one. + * + * @param context the application + * @param imageURL the genuine image URL. + * @param rotationAngle angle in degrees + * @param mediasCache the used media cache + * @return the rotated bitmap + */ + public static Bitmap rotateImage(Context context, String imageURL, int rotationAngle, MXMediasCache mediasCache) { + Bitmap rotatedBitmap = null; + + try { + Uri imageUri = Uri.parse(imageURL); + + // there is one + if (0 != rotationAngle) { + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inPreferredConfig = Bitmap.Config.ARGB_8888; + options.outWidth = -1; + options.outHeight = -1; + + // decode the bitmap + Bitmap bitmap = null; + try { + final String filename = imageUri.getPath(); + FileInputStream imageStream = new FileInputStream(new File(filename)); + bitmap = BitmapFactory.decodeStream(imageStream, null, options); + imageStream.close(); + } catch (OutOfMemoryError e) { + Log.e(LOG_TAG, "applyExifRotation BitmapFactory.decodeStream : " + e.getMessage(), e); + } catch (Exception e) { + Log.e(LOG_TAG, "applyExifRotation " + e.getMessage(), e); + } + + android.graphics.Matrix bitmapMatrix = new android.graphics.Matrix(); + bitmapMatrix.postRotate(rotationAngle); + Bitmap transformedBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), bitmapMatrix, false); + + // Bitmap.createBitmap() can return the same bitmap, so do not recycle it if it is the case + if (transformedBitmap != bitmap) { + bitmap.recycle(); + } + + if (null != mediasCache) { + mediasCache.saveBitmap(transformedBitmap, imageURL); + } + + rotatedBitmap = transformedBitmap; + } + + } catch (OutOfMemoryError e) { + Log.e(LOG_TAG, "applyExifRotation " + e.getMessage(), e); + } catch (Exception e) { + Log.e(LOG_TAG, "applyExifRotation " + e.getMessage(), e); + } + + return rotatedBitmap; + } + + /** + * Apply exif rotation to the cached image (stored at imageURL). + * The rotated image replaces the genuine one. + * + * @param context the application + * @param imageURL the genuine image URL. + * @param mediasCache the used media cache + * @return the rotated bitmap if the operation succeeds. + */ + public static Bitmap applyExifRotation(Context context, String imageURL, MXMediasCache mediasCache) { + Bitmap rotatedBitmap = null; + + try { + Uri imageUri = Uri.parse(imageURL); + // get the exif rotation angle + final int rotationAngle = ImageUtils.getRotationAngleForBitmap(context, imageUri); + + if (0 != rotationAngle) { + rotatedBitmap = rotateImage(context, imageURL, rotationAngle, mediasCache); + } + + } catch (Exception e) { + Log.e(LOG_TAG, "applyExifRotation " + e.getMessage(), e); + } + + return rotatedBitmap; + } + + /** + * Scale and apply exif rotation to an image defines by its stream. + * + * @param context the context + * @param stream the image stream + * @param mimeType the mime type + * @param maxSide reduce the image to this square side. + * @param rotationAngle the rotation angle + * @param mediasCache the media cache. + * @return the media url + */ + public static String scaleAndRotateImage(Context context, InputStream stream, String mimeType, int maxSide, int rotationAngle, MXMediasCache mediasCache) { + String url = null; + + // sanity checks + if ((null != context) && (null != stream) && (null != mediasCache)) { + try { + InputStream scaledStream = ImageUtils.resizeImage(stream, maxSide, 0, 75); + url = mediasCache.saveMedia(scaledStream, null, mimeType); + rotateImage(context, url, rotationAngle, mediasCache); + } catch (Exception e) { + Log.e(LOG_TAG, "rotateAndScale " + e.getMessage(), e); + } + } + return url; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/JsonUtils.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/JsonUtils.java new file mode 100644 index 00000000..98af3049 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/JsonUtils.java @@ -0,0 +1,664 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2017 Vector Creations Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.util; + +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; + +import im.vector.matrix.android.internal.legacy.rest.json.BooleanDeserializer; +import im.vector.matrix.android.internal.legacy.rest.json.ConditionDeserializer; +import im.vector.matrix.android.internal.legacy.rest.json.MatrixFieldNamingStrategy; +import im.vector.matrix.android.internal.legacy.rest.model.ContentResponse; +import im.vector.matrix.android.internal.legacy.rest.model.Event; +import im.vector.matrix.android.internal.legacy.rest.model.EventContent; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.rest.model.PowerLevels; +import im.vector.matrix.android.internal.legacy.rest.model.RoomCreateContent; +import im.vector.matrix.android.internal.legacy.rest.model.RoomMember; +import im.vector.matrix.android.internal.legacy.rest.model.RoomPinnedEventsContent; +import im.vector.matrix.android.internal.legacy.rest.model.RoomTags; +import im.vector.matrix.android.internal.legacy.rest.model.RoomTombstoneContent; +import im.vector.matrix.android.internal.legacy.rest.model.StateEvent; +import im.vector.matrix.android.internal.legacy.rest.model.User; +import im.vector.matrix.android.internal.legacy.rest.model.bingrules.Condition; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.EncryptedEventContent; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.ForwardedRoomKeyContent; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.OlmEventContent; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.OlmPayloadContent; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.RoomKeyContent; +import im.vector.matrix.android.internal.legacy.rest.model.crypto.RoomKeyRequest; +import im.vector.matrix.android.internal.legacy.rest.model.login.RegistrationFlowResponse; +import im.vector.matrix.android.internal.legacy.rest.model.message.AudioMessage; +import im.vector.matrix.android.internal.legacy.rest.model.message.FileMessage; +import im.vector.matrix.android.internal.legacy.rest.model.message.ImageMessage; +import im.vector.matrix.android.internal.legacy.rest.model.message.LocationMessage; +import im.vector.matrix.android.internal.legacy.rest.model.message.Message; +import im.vector.matrix.android.internal.legacy.rest.model.message.StickerJsonMessage; +import im.vector.matrix.android.internal.legacy.rest.model.message.StickerMessage; +import im.vector.matrix.android.internal.legacy.rest.model.message.VideoMessage; +import im.vector.matrix.android.internal.legacy.rest.model.pid.RoomThirdPartyInvite; + +import java.lang.reflect.Constructor; +import java.lang.reflect.Modifier; +import java.util.Map; +import java.util.TreeSet; + +/** + * Static methods for converting json into objects. + */ +public class JsonUtils { + private static final String LOG_TAG = JsonUtils.class.getSimpleName(); + + private static final Gson gson = new GsonBuilder() + .setFieldNamingStrategy(new MatrixFieldNamingStrategy()) + .excludeFieldsWithModifiers(Modifier.PRIVATE, Modifier.STATIC) + .registerTypeAdapter(Condition.class, new ConditionDeserializer()) + .registerTypeAdapter(boolean.class, new BooleanDeserializer(false)) + .registerTypeAdapter(Boolean.class, new BooleanDeserializer(true)) + .create(); + + // add a call to serializeNulls(). + // by default the null parameters are not sent in the requests. + // serializeNulls forces to add them. + private static final Gson gsonWithNullSerialization = new GsonBuilder() + .setFieldNamingStrategy(new MatrixFieldNamingStrategy()) + .excludeFieldsWithModifiers(Modifier.PRIVATE, Modifier.STATIC) + .serializeNulls() + .registerTypeAdapter(Condition.class, new ConditionDeserializer()) + .registerTypeAdapter(boolean.class, new BooleanDeserializer(false)) + .registerTypeAdapter(Boolean.class, new BooleanDeserializer(true)) + .create(); + + // for crypto (canonicalize) + // avoid converting "=" to \u003d + private static final Gson gsonWithoutHtmlEscaping = new GsonBuilder() + .setFieldNamingStrategy(new MatrixFieldNamingStrategy()) + .disableHtmlEscaping() + .excludeFieldsWithModifiers(Modifier.PRIVATE, Modifier.STATIC) + .registerTypeAdapter(Condition.class, new ConditionDeserializer()) + .registerTypeAdapter(boolean.class, new BooleanDeserializer(false)) + .registerTypeAdapter(Boolean.class, new BooleanDeserializer(true)) + .create(); + + /** + * Provides the JSON parser. + * + * @param withNullSerialization true to serialise the null parameters + * @return the JSON parser + */ + public static Gson getGson(boolean withNullSerialization) { + return withNullSerialization ? gsonWithNullSerialization : gson; + } + + /** + * Convert a JSON object to a state event. + * The result is never null. + * + * @param jsonObject the json to convert + * @return a room state + */ + public static StateEvent toStateEvent(JsonElement jsonObject) { + return toClass(jsonObject, StateEvent.class); + } + + /** + * Convert a JSON object to an User. + * The result is never null. + * + * @param jsonObject the json to convert + * @return an user + */ + public static User toUser(JsonElement jsonObject) { + return toClass(jsonObject, User.class); + } + + /** + * Convert a JSON object to a RoomMember. + * The result is never null. + * + * @param jsonObject the json to convert + * @return a RoomMember + */ + public static RoomMember toRoomMember(JsonElement jsonObject) { + return toClass(jsonObject, RoomMember.class); + } + + /** + * Convert a JSON object to a RoomTags. + * The result is never null. + * + * @param jsonObject the json to convert + * @return a RoomTags + */ + public static RoomTags toRoomTags(JsonElement jsonObject) { + return toClass(jsonObject, RoomTags.class); + } + + /** + * Convert a JSON object to a MatrixError. + * The result is never null. + * + * @param jsonObject the json to convert + * @return a MatrixError + */ + public static MatrixError toMatrixError(JsonElement jsonObject) { + return toClass(jsonObject, MatrixError.class); + } + + /** + * Retrieves the message type from a Json object. + * + * @param jsonObject the json object + * @return the message type + */ + @Nullable + public static String getMessageMsgType(JsonElement jsonObject) { + try { + Message message = gson.fromJson(jsonObject, Message.class); + return message.msgtype; + } catch (Exception e) { + Log.e(LOG_TAG, "## getMessageMsgType failed " + e.getMessage(), e); + } + + return null; + } + + /** + * Convert a JSON object to a Message. + * The result is never null. + * + * @param jsonObject the json to convert + * @return a Message + */ + @NonNull + public static Message toMessage(JsonElement jsonObject) { + try { + Message message = gson.fromJson(jsonObject, Message.class); + + // Try to return the right subclass + if (Message.MSGTYPE_IMAGE.equals(message.msgtype)) { + return toImageMessage(jsonObject); + } + + if (Message.MSGTYPE_VIDEO.equals(message.msgtype)) { + return toVideoMessage(jsonObject); + } + + if (Message.MSGTYPE_LOCATION.equals(message.msgtype)) { + return toLocationMessage(jsonObject); + } + + // Try to return the right subclass + if (Message.MSGTYPE_FILE.equals(message.msgtype)) { + return toFileMessage(jsonObject); + } + + if (Message.MSGTYPE_AUDIO.equals(message.msgtype)) { + return toAudioMessage(jsonObject); + } + + // Fall back to the generic Message type + return message; + } catch (Exception e) { + Log.e(LOG_TAG, "## toMessage failed " + e.getMessage(), e); + } + + return new Message(); + } + + /** + * Convert a JSON object to an Event. + * The result is never null. + * + * @param jsonObject the json to convert + * @return an Event + */ + public static Event toEvent(JsonElement jsonObject) { + return toClass(jsonObject, Event.class); + } + + /** + * Convert a JSON object to an EncryptedEventContent. + * The result is never null. + * + * @param jsonObject the json to convert + * @return an EncryptedEventContent + */ + public static EncryptedEventContent toEncryptedEventContent(JsonElement jsonObject) { + return toClass(jsonObject, EncryptedEventContent.class); + } + + /** + * Convert a JSON object to an OlmEventContent. + * The result is never null. + * + * @param jsonObject the json to convert + * @return an OlmEventContent + */ + public static OlmEventContent toOlmEventContent(JsonElement jsonObject) { + return toClass(jsonObject, OlmEventContent.class); + } + + /** + * Convert a JSON object to an OlmPayloadContent. + * The result is never null. + * + * @param jsonObject the json to convert + * @return an OlmPayloadContent + */ + public static OlmPayloadContent toOlmPayloadContent(JsonElement jsonObject) { + return toClass(jsonObject, OlmPayloadContent.class); + } + + /** + * Convert a JSON object to an EventContent. + * The result is never null. + * + * @param jsonObject the json to convert + * @return an EventContent + */ + public static EventContent toEventContent(JsonElement jsonObject) { + return toClass(jsonObject, EventContent.class); + } + + /** + * Convert a JSON object to an RoomKeyContent. + * The result is never null. + * + * @param jsonObject the json to convert + * @return an RoomKeyContent + */ + public static RoomKeyContent toRoomKeyContent(JsonElement jsonObject) { + return toClass(jsonObject, RoomKeyContent.class); + } + + /** + * Convert a JSON object to an RoomKeyRequest. + * The result is never null. + * + * @param jsonObject the json to convert + * @return an RoomKeyRequest + */ + public static RoomKeyRequest toRoomKeyRequest(JsonElement jsonObject) { + return toClass(jsonObject, RoomKeyRequest.class); + } + + /** + * Convert a JSON object to an ForwardedRoomKeyContent. + * The result is never null. + * + * @param jsonObject the json to convert + * @return an ForwardedRoomKeyContent + */ + public static ForwardedRoomKeyContent toForwardedRoomKeyContent(JsonElement jsonObject) { + return toClass(jsonObject, ForwardedRoomKeyContent.class); + } + + /** + * Convert a JSON object to an ImageMessage. + * The result is never null. + * + * @param jsonObject the json to convert + * @return an ImageMessage + */ + public static ImageMessage toImageMessage(JsonElement jsonObject) { + return toClass(jsonObject, ImageMessage.class); + } + + /** + * Convert a JSON object to a StickerMessage. + * The result is never null. + * + * @param jsonObject the json to convert + * @return a StickerMessage + */ + public static StickerMessage toStickerMessage(JsonElement jsonObject) { + final StickerJsonMessage stickerJsonMessage = toClass(jsonObject, StickerJsonMessage.class); + return new StickerMessage(stickerJsonMessage); + } + + /** + * Convert a JSON object to an FileMessage. + * The result is never null. + * + * @param jsonObject the json to convert + * @return an FileMessage + */ + public static FileMessage toFileMessage(JsonElement jsonObject) { + return toClass(jsonObject, FileMessage.class); + } + + /** + * Convert a JSON object to an AudioMessage. + * The result is never null. + * + * @param jsonObject the json to convert + * @return an AudioMessage + */ + public static AudioMessage toAudioMessage(JsonElement jsonObject) { + return toClass(jsonObject, AudioMessage.class); + } + + /** + * Convert a JSON object to a VideoMessage. + * The result is never null. + * + * @param jsonObject the json to convert + * @return a VideoMessage + */ + public static VideoMessage toVideoMessage(JsonElement jsonObject) { + return toClass(jsonObject, VideoMessage.class); + } + + /** + * Convert a JSON object to a LocationMessage. + * The result is never null. + * + * @param jsonObject the json to convert + * @return a LocationMessage + */ + public static LocationMessage toLocationMessage(JsonElement jsonObject) { + return toClass(jsonObject, LocationMessage.class); + } + + /** + * Convert a JSON object to a ContentResponse. + * The result is never null. + * + * @param jsonString the json as string to convert + * @return a ContentResponse + */ + public static ContentResponse toContentResponse(String jsonString) { + return toClass(jsonString, ContentResponse.class); + } + + /** + * Convert a JSON object to a PowerLevels. + * The result is never null. + * + * @param jsonObject the json to convert + * @return a PowerLevels + */ + public static PowerLevels toPowerLevels(JsonElement jsonObject) { + return toClass(jsonObject, PowerLevels.class); + } + + /** + * Convert a JSON object to a RoomThirdPartyInvite. + * The result is never null. + * + * @param jsonObject the json to convert + * @return a RoomThirdPartyInvite + */ + public static RoomThirdPartyInvite toRoomThirdPartyInvite(JsonElement jsonObject) { + return toClass(jsonObject, RoomThirdPartyInvite.class); + } + + /** + * Convert a stringified JSON object to a RegistrationFlowResponse. + * The result is never null. + * + * @param jsonString the json as string to convert + * @return a RegistrationFlowResponse + */ + public static RegistrationFlowResponse toRegistrationFlowResponse(String jsonString) { + return toClass(jsonString, RegistrationFlowResponse.class); + } + + /** + * Convert a JSON object to a RoomTombstoneContent. + * The result is never null. + * + * @param jsonElement the json to convert + * @return a RoomTombstoneContent + */ + public static RoomTombstoneContent toRoomTombstoneContent(final JsonElement jsonElement) { + return toClass(jsonElement, RoomTombstoneContent.class); + } + + /** + * Convert a JSON object to a RoomCreateContent. + * The result is never null. + * + * @param jsonElement the json to convert + * @return a RoomCreateContent + */ + public static RoomCreateContent toRoomCreateContent(final JsonElement jsonElement) { + return toClass(jsonElement, RoomCreateContent.class); + } + + /** + * Convert a JSON object to a RoomPinnedEventsContent. + * The result is never null. + * + * @param jsonElement the json to convert + * @return a RoomPinnedEventsContent + */ + public static RoomPinnedEventsContent toRoomPinnedEventsContent(final JsonElement jsonElement) { + return toClass(jsonElement, RoomPinnedEventsContent.class); + } + + /** + * Convert a JSON object into a class instance. + * The returned value cannot be null. + * + * @param jsonObject the json object to convert + * @param aClass the class + * @return the converted object + */ + public static T toClass(JsonElement jsonObject, Class aClass) { + T object = null; + try { + object = gson.fromJson(jsonObject, aClass); + } catch (Exception e) { + Log.e(LOG_TAG, "## toClass failed " + e.getMessage(), e); + } + if (null == object) { + try { + final Constructor constructor = aClass.getConstructor(); + object = constructor.newInstance(); + } catch (Throwable t) { + Log.e(LOG_TAG, "## toClass failed " + t.getMessage(), t); + } + } + return object; + } + + /** + * Convert a stringified JSON into a class instance. + * The returned value cannot be null. + * + * @param jsonObjectAsString the json object as string to convert + * @param aClass the class + * @return the converted object + */ + public static T toClass(String jsonObjectAsString, Class aClass) { + T object = null; + try { + object = gson.fromJson(jsonObjectAsString, aClass); + } catch (Exception e) { + Log.e(LOG_TAG, "## toClass failed " + e.getMessage(), e); + } + if (null == object) { + try { + final Constructor constructor = aClass.getConstructor(); + object = constructor.newInstance(); + } catch (Throwable t) { + Log.e(LOG_TAG, "## toClass failed " + t.getMessage(), t); + } + } + return object; + } + + /** + * Convert an Event instance to a Json object. + * + * @param event the event instance. + * @return the json object + */ + public static JsonObject toJson(Event event) { + try { + return (JsonObject) gson.toJsonTree(event); + } catch (Exception e) { + Log.e(LOG_TAG, "## toJson failed " + e.getMessage(), e); + } + + return new JsonObject(); + } + + /** + * Convert an Message instance into a Json object. + * + * @param message the Message instance. + * @return the json object + */ + public static JsonObject toJson(Message message) { + try { + return (JsonObject) gson.toJsonTree(message); + } catch (Exception e) { + Log.e(LOG_TAG, "## toJson failed " + e.getMessage(), e); + } + + return null; + } + + /** + * Create a canonicalized json string for an object + * + * @param object the object to convert + * @return the canonicalized string + */ + public static String getCanonicalizedJsonString(Object object) { + String canonicalizedJsonString = null; + + if (null != object) { + if (object instanceof JsonElement) { + canonicalizedJsonString = gsonWithoutHtmlEscaping.toJson(canonicalize((JsonElement) object)); + } else { + canonicalizedJsonString = gsonWithoutHtmlEscaping.toJson(canonicalize(gsonWithoutHtmlEscaping.toJsonTree(object))); + } + + if (null != canonicalizedJsonString) { + canonicalizedJsonString = canonicalizedJsonString.replace("\\/", "/"); + } + } + + return canonicalizedJsonString; + } + + /** + * Canonicalize a JsonElement element + * + * @param src the src + * @return the canonicalize element + */ + public static JsonElement canonicalize(JsonElement src) { + // sanity check + if (null == src) { + return null; + } + + if (src instanceof JsonArray) { + // Canonicalize each element of the array + JsonArray srcArray = (JsonArray) src; + JsonArray result = new JsonArray(); + for (int i = 0; i < srcArray.size(); i++) { + result.add(canonicalize(srcArray.get(i))); + } + return result; + } else if (src instanceof JsonObject) { + // Sort the attributes by name, and the canonicalize each element of the object + JsonObject srcObject = (JsonObject) src; + JsonObject result = new JsonObject(); + TreeSet attributes = new TreeSet<>(); + + for (Map.Entry entry : srcObject.entrySet()) { + attributes.add(entry.getKey()); + } + for (String attribute : attributes) { + result.add(attribute, canonicalize(srcObject.get(attribute))); + } + return result; + } else { + return src; + } + } + + /** + * Convert a string from an UTF8 String + * + * @param s the string to convert + * @return the utf-16 string + */ + public static String convertFromUTF8(String s) { + String out = s; + + if (null != out) { + try { + byte[] bytes = out.getBytes(); + out = new String(bytes, "UTF-8"); + } catch (Exception e) { + Log.e(LOG_TAG, "## convertFromUTF8() failed " + e.getMessage(), e); + } + } + + return out; + } + + /** + * Convert a string to an UTF8 String + * + * @param s the string to convert + * @return the utf-8 string + */ + public static String convertToUTF8(String s) { + String out = s; + + if (null != out) { + try { + byte[] bytes = out.getBytes("UTF-8"); + out = new String(bytes); + } catch (Exception e) { + Log.e(LOG_TAG, "## convertToUTF8() failed " + e.getMessage(), e); + } + } + + return out; + } + + /** + * Returns a dedicated parameter as a string + * + * @param paramName the parameter name + * @return the string value, or null if not defined or not a String + */ + @Nullable + public static String getAsString(Map map, String paramName) { + if (map.containsKey(paramName) && map.get(paramName) instanceof String) { + return (String) map.get(paramName); + } + + return null; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/Log.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/Log.java new file mode 100644 index 00000000..7b738885 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/Log.java @@ -0,0 +1,306 @@ +/* + * Copyright 2017 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.util; + +import android.text.TextUtils; + +import java.io.File; +import java.io.IOException; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Locale; +import java.util.TimeZone; +import java.util.logging.FileHandler; +import java.util.logging.Formatter; +import java.util.logging.Level; +import java.util.logging.LogRecord; +import java.util.logging.Logger; + +import im.vector.matrix.android.BuildConfig; + +/** + * Intended to mimic {@link android.util.Log} in terms of interface, but with a lot of extra behind the scenes stuff. + */ +public class Log { + private static final String LOG_TAG = "Log"; + + private static final String LINE_SEPARATOR = System.getProperty("line.separator"); + private static final int LOG_SIZE_BYTES = 50 * 1024 * 1024; // 50MB + + // relatively large rotation count because closing > opening the app rotates the log (!) + private static final int LOG_ROTATION_COUNT = 15; + + private static final Logger sLogger = Logger.getLogger("org.matrix.androidsdk"); + private static FileHandler sFileHandler = null; + private static File sCacheDirectory = null; + private static String sFileName = "matrix"; + + // determine if messsages with DEBUG level should be logged or not + public static boolean sShouldLogDebug = BuildConfig.DEBUG; + + public enum EventTag { + /** + * A navigation event, e.g. onPause + */ + NAVIGATION, + /** + * A user triggered event, e.g. onClick + */ + USER, + /** + * User-visible notifications + */ + NOTICE, + /** + * A background event e.g. incoming messages + */ + BACKGROUND + } + + /** + * Initialises the logger. Should be called AFTER {@link Log#setLogDirectory(File)}. + * + * @param fileName the base file name + */ + public static void init(String fileName) { + try { + if (!TextUtils.isEmpty(fileName)) { + sFileName = fileName; + } + sFileHandler = new FileHandler(sCacheDirectory.getAbsolutePath() + "/" + sFileName + ".%g.txt", LOG_SIZE_BYTES, LOG_ROTATION_COUNT); + sFileHandler.setFormatter(new LogFormatter()); + sLogger.setUseParentHandlers(false); + sLogger.setLevel(Level.ALL); + sLogger.addHandler(sFileHandler); + } catch (IOException e) { + } + } + + /** + * Set the directory to put log files. + * + * @param cacheDir The directory, usually {@link android.content.ContextWrapper#getCacheDir()} + */ + public static void setLogDirectory(File cacheDir) { + if (!cacheDir.exists()) { + cacheDir.mkdirs(); + } + sCacheDirectory = cacheDir; + } + + /** + * Set the directory to put log files. + * + * @return the cache directory + */ + public static File getLogDirectory() { + return sCacheDirectory; + } + + /** + * Adds our own log files to the provided list of files. + * + * @param files The list of files to add to. + * @return The same list with more files added. + */ + public static List addLogFiles(List files) { + try { + // reported by GA + if (null != sFileHandler) { + sFileHandler.flush(); + String absPath = sCacheDirectory.getAbsolutePath(); + + for (int i = 0; i <= LOG_ROTATION_COUNT; i++) { + String filepath = absPath + "/" + sFileName + "." + i + ".txt"; + File file = new File(filepath); + if (file.exists()) { + files.add(file); + } + } + } + } catch (Exception e) { + Log.e(LOG_TAG, "## addLogFiles() failed : " + e.getMessage(), e); + } + return files; + } + + private static void logToFile(String level, String tag, String content) { + if (null == sCacheDirectory) { + return; + } + + StringBuilder b = new StringBuilder(); + b.append(Thread.currentThread().getId()); + b.append(" "); + b.append(level); + b.append("/"); + b.append(tag); + b.append(": "); + b.append(content); + sLogger.info(b.toString()); + } + + /** + * Log an Throwable + * + * @param throwable the throwable to log + */ + private static void logToFile(Throwable throwable) { + if (null == sCacheDirectory || throwable == null) { + return; + } + + + StringWriter errors = new StringWriter(); + throwable.printStackTrace(new PrintWriter(errors)); + + sLogger.info(errors.toString()); + } + + /** + * Log events which can be automatically analysed + * + * @param tag the EventTag + * @param content Content to log + */ + public static void event(EventTag tag, String content) { + android.util.Log.v(tag.name(), content); + logToFile("EVENT", tag.name(), content); + } + + /** + * Log connection information, such as urls hit, incoming data, current connection status. + * + * @param tag Log tag + * @param content Content to log + */ + public static void con(String tag, String content) { + android.util.Log.v(tag, content); + logToFile("CON", tag, content); + } + + public static void v(String tag, String content) { + android.util.Log.v(tag, content); + logToFile("V", tag, content); + } + + public static void v(String tag, String content, Throwable throwable) { + android.util.Log.v(tag, content, throwable); + logToFile("V", tag, content); + logToFile(throwable); + } + + public static void d(String tag, String content) { + if (sShouldLogDebug) { + android.util.Log.d(tag, content); + logToFile("D", tag, content); + } + } + + public static void d(String tag, String content, Throwable throwable) { + if (sShouldLogDebug) { + android.util.Log.d(tag, content, throwable); + logToFile("D", tag, content); + logToFile(throwable); + } + } + + public static void i(String tag, String content) { + android.util.Log.i(tag, content); + logToFile("I", tag, content); + } + + public static void i(String tag, String content, Throwable throwable) { + android.util.Log.i(tag, content, throwable); + logToFile("I", tag, content); + logToFile(throwable); + } + + public static void w(String tag, String content) { + android.util.Log.w(tag, content); + logToFile("W", tag, content); + } + + public static void w(String tag, String content, Throwable throwable) { + android.util.Log.w(tag, content, throwable); + logToFile("W", tag, content); + logToFile(throwable); + } + + public static void e(String tag, String content) { + android.util.Log.e(tag, content); + logToFile("E", tag, content); + } + + public static void e(String tag, String content, Throwable throwable) { + android.util.Log.e(tag, content, throwable); + logToFile("E", tag, content); + logToFile(throwable); + } + + public static void wtf(String tag, String content) { + android.util.Log.wtf(tag, content); + logToFile("WTF", tag, content); + } + + public static void wtf(String tag, Throwable throwable) { + android.util.Log.wtf(tag, throwable); + logToFile("WTF", tag, throwable.getMessage()); + logToFile(throwable); + } + + public static void wtf(String tag, String content, Throwable throwable) { + android.util.Log.wtf(tag, content, throwable); + logToFile("WTF", tag, content); + logToFile(throwable); + } + + public static final class LogFormatter extends Formatter { + private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("MM-dd HH:mm:ss.SSS", Locale.US); + private static boolean mIsTimeZoneSet = false; + + @Override + public String format(LogRecord r) { + if (!mIsTimeZoneSet) { + DATE_FORMAT.setTimeZone(TimeZone.getTimeZone("UTC")); + mIsTimeZoneSet = true; + } + + Throwable thrown = r.getThrown(); + if (thrown != null) { + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + sw.write(r.getMessage()); + sw.write(LINE_SEPARATOR); + thrown.printStackTrace(pw); + pw.flush(); + return sw.toString(); + } else { + StringBuilder b = new StringBuilder(); + String date = DATE_FORMAT.format(new Date(r.getMillis())); + b.append(date); + b.append("Z "); + b.append(r.getMessage()); + b.append(LINE_SEPARATOR); + return b.toString(); + } + } + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/MXOsHandler.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/MXOsHandler.java new file mode 100644 index 00000000..bfa101b4 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/MXOsHandler.java @@ -0,0 +1,64 @@ +/* + * Copyright 2014 OpenMarket 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. + */ +package im.vector.matrix.android.internal.legacy.util; + +import android.os.Handler; +import android.os.Looper; + +/** + * Override the os handler to support unitary tests + */ +public class MXOsHandler { + + // the internal handler + private final android.os.Handler mHandler; + + /** + * Listener + */ + public interface IPostListener { + // a post has been done in the thread + void onPost(Looper looper); + } + + // static + public static final IPostListener mPostListener = null; + + /** + * Constructor + * + * @param looper the looper + */ + public MXOsHandler(Looper looper) { + mHandler = new Handler(looper); + } + + /** + * Post a runnable + * + * @param r the runnable + * @return true if the runnable is placed + */ + public boolean post(Runnable r) { + boolean result = mHandler.post(r); + + if (result && (null != mPostListener)) { + mPostListener.onPost(mHandler.getLooper()); + } + + return result; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/PermalinkUtils.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/PermalinkUtils.java new file mode 100644 index 00000000..5fa63c75 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/PermalinkUtils.java @@ -0,0 +1,103 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.util; + +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.rest.model.Event; + +/** + * Useful methods to deals with Matrix permalink + */ +public class PermalinkUtils { + + private static final String MATRIX_TO_URL_BASE = "https://matrix.to/#/"; + + /** + * Creates a permalink for an event. + * Ex: "https://matrix.to/#/!nbzmcXAqpxBXjAdgoX:matrix.org/$1531497316352799BevdV:matrix.org" + * + * @param event the event + * @return the permalink, or null in case of error + */ + @Nullable + public static String createPermalink(Event event) { + if (event == null) { + return null; + } + + return createPermalink(event.roomId, event.eventId); + } + + /** + * Creates a permalink for an id (can be a user Id, Room Id, etc.). + * Ex: "https://matrix.to/#/@benoit:matrix.org" + * + * @param id the id + * @return the permalink, or null in case of error + */ + @Nullable + public static String createPermalink(String id) { + if (TextUtils.isEmpty(id)) { + return null; + } + + return MATRIX_TO_URL_BASE + escape(id); + } + + /** + * Creates a permalink for an event. If you have an event you can use {@link #createPermalink(Event)} + * Ex: "https://matrix.to/#/!nbzmcXAqpxBXjAdgoX:matrix.org/$1531497316352799BevdV:matrix.org" + * + * @param roomId the id of the room + * @param eventId the id of the event + * @return the permalink + */ + @NonNull + public static String createPermalink(@NonNull String roomId, @NonNull String eventId) { + return MATRIX_TO_URL_BASE + escape(roomId) + "/" + escape(eventId); + } + + /** + * Extract the linked id from the universal link + * + * @param url the universal link, Ex: "https://matrix.to/#/@benoit:matrix.org" + * @return the id from the url, ex: "@benoit:matrix.org", or null if the url is not a permalink + */ + public static String getLinkedId(@Nullable String url) { + boolean isSupported = url != null && url.startsWith(MATRIX_TO_URL_BASE); + + if (isSupported) { + return url.substring(MATRIX_TO_URL_BASE.length()); + } + + return null; + } + + + /** + * Escape '/' in id, because it is used as a separator + * + * @param id the id to escape + * @return the escaped id + */ + private static String escape(String id) { + return id.replaceAll("/", "%2F"); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/PolymorphicRequestBodyConverter.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/PolymorphicRequestBodyConverter.java new file mode 100644 index 00000000..a26c0156 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/PolymorphicRequestBodyConverter.java @@ -0,0 +1,61 @@ +package im.vector.matrix.android.internal.legacy.util; + + +import java.io.IOException; +import java.lang.annotation.Annotation; +import java.lang.reflect.Type; +import java.util.LinkedHashMap; +import java.util.Map; + +import okhttp3.RequestBody; +import retrofit2.Converter; +import retrofit2.Retrofit; + +public final class PolymorphicRequestBodyConverter implements Converter { + public static final Factory FACTORY = new Factory() { + @Override public Converter requestBodyConverter( + Type type, + Annotation[] parameterAnnotations, + Annotation[] methodAnnotations, + Retrofit retrofit + ) { + return new PolymorphicRequestBodyConverter<>( + this, parameterAnnotations, methodAnnotations, retrofit + ); + } + }; + + private final Factory skipPast; + private final Annotation[] parameterAnnotations; + private final Annotation[] methodsAnnotations; + private final Retrofit retrofit; + private final Map, Converter> cache = new LinkedHashMap<>(); + + PolymorphicRequestBodyConverter( + Factory skipPast, + Annotation[] parameterAnnotations, + Annotation[] methodsAnnotations, + Retrofit retrofit) { + this.skipPast = skipPast; + this.parameterAnnotations = parameterAnnotations; + this.methodsAnnotations = methodsAnnotations; + this.retrofit = retrofit; + } + + @Override public RequestBody convert(T value) throws IOException { + Class cls = value.getClass(); + Converter requestBodyConverter; + synchronized (cache) { + requestBodyConverter = cache.get(cls); + } + if (requestBodyConverter == null) { + requestBodyConverter = retrofit.nextRequestBodyConverter( + skipPast, cls, parameterAnnotations, methodsAnnotations + ); + synchronized (cache) { + cache.put(cls, requestBodyConverter); + } + } + return requestBodyConverter.convert(value); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/ResourceUtils.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/ResourceUtils.java new file mode 100755 index 00000000..11f8049f --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/ResourceUtils.java @@ -0,0 +1,192 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.util; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.net.Uri; +import android.text.TextUtils; +import android.webkit.MimeTypeMap; + +import java.io.InputStream; + +/** + * Static resource utility methods. + */ +public class ResourceUtils { + private static final String LOG_TAG = ResourceUtils.class.getSimpleName(); + + /** + * Mime types + **/ + public static final String MIME_TYPE_JPEG = "image/jpeg"; + public static final String MIME_TYPE_JPG = "image/jpg"; + public static final String MIME_TYPE_IMAGE_ALL = "image/*"; + public static final String MIME_TYPE_ALL_CONTENT = "*/*"; + + + public static class Resource { + public InputStream mContentStream; + public String mMimeType; + + public Resource(InputStream contentStream, String mimeType) { + mContentStream = contentStream; + mMimeType = mimeType; + } + + /** + * Close the content stream. + */ + public void close() { + try { + mMimeType = null; + + if (null != mContentStream) { + mContentStream.close(); + mContentStream = null; + } + } catch (Exception e) { + Log.e(LOG_TAG, "Resource.close failed " + e.getLocalizedMessage(), e); + } + } + + /** + * Tells if the opened resource is a jpeg one. + * + * @return true if the opened resource is a jpeg one. + */ + public boolean isJpegResource() { + return MIME_TYPE_JPEG.equals(mMimeType) || MIME_TYPE_JPG.equals(mMimeType); + } + } + + /** + * Get a resource stream and metadata about it given its URI returned from onActivityResult. + * + * @param context the context. + * @param uri the URI + * @param mimetype the mimetype + * @return a {@link Resource} encapsulating the opened resource stream and associated metadata + * or {@code null} if opening the resource stream failed. + */ + public static Resource openResource(Context context, Uri uri, String mimetype) { + try { + // if the mime type is not provided, try to find it out + if (TextUtils.isEmpty(mimetype)) { + mimetype = context.getContentResolver().getType(uri); + + // try to find the mimetype from the filename + if (null == mimetype) { + String extension = MimeTypeMap.getFileExtensionFromUrl(uri.toString().toLowerCase()); + if (extension != null) { + mimetype = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension); + } + } + } + + return new Resource( + context.getContentResolver().openInputStream(uri), + mimetype); + + } catch (Exception e) { + Log.e(LOG_TAG, "Failed to open resource input stream", e); + } + + return null; + } + + /** + * Creates a thumbnail bitmap from a media Uri + * + * @param context the context + * @param mediaUri the media Uri + * @param maxThumbWidth max thumbnail width + * @param maxThumbHeight max thumbnail height + * @return the bitmap. + */ + public static Bitmap createThumbnailBitmap(Context context, Uri mediaUri, int maxThumbWidth, int maxThumbHeight) { + Bitmap thumbnailBitmap = null; + ResourceUtils.Resource resource = ResourceUtils.openResource(context, mediaUri, null); + + // check if the resource can be i + if (null == resource) { + return null; + } + + try { + // need to decompress the high res image + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inPreferredConfig = Bitmap.Config.ARGB_8888; + resource = ResourceUtils.openResource(context, mediaUri, null); + + // get the full size bitmap + Bitmap fullSizeBitmap = null; + + if (null != resource) { + try { + fullSizeBitmap = BitmapFactory.decodeStream(resource.mContentStream, null, options); + } catch (Exception e) { + Log.e(LOG_TAG, "BitmapFactory.decodeStream fails " + e.getLocalizedMessage(), e); + } + } + + // succeeds to retrieve the full size bitmap + if (null != fullSizeBitmap) { + + // the bitmap is smaller that max sizes + if ((fullSizeBitmap.getHeight() < maxThumbHeight) && (fullSizeBitmap.getWidth() < maxThumbWidth)) { + thumbnailBitmap = fullSizeBitmap; + } else { + double thumbnailWidth = maxThumbWidth; + double thumbnailHeight = maxThumbHeight; + + double imageWidth = fullSizeBitmap.getWidth(); + double imageHeight = fullSizeBitmap.getHeight(); + + if (imageWidth > imageHeight) { + thumbnailHeight = thumbnailWidth * imageHeight / imageWidth; + } else { + thumbnailWidth = thumbnailHeight * imageWidth / imageHeight; + } + + try { + thumbnailBitmap = Bitmap.createScaledBitmap((null == fullSizeBitmap) ? thumbnailBitmap : fullSizeBitmap, + (int) thumbnailWidth, (int) thumbnailHeight, false); + } catch (OutOfMemoryError ex) { + Log.e(LOG_TAG, "createThumbnailBitmap " + ex.getMessage(), ex); + } + } + + // reduce the memory consumption + if (null != fullSizeBitmap) { + fullSizeBitmap.recycle(); + System.gc(); + } + } + + if (null != resource) { + resource.mContentStream.close(); + } + + } catch (Exception e) { + Log.e(LOG_TAG, "createThumbnailBitmap fails " + e.getLocalizedMessage()); + } + + return thumbnailBitmap; + } +} \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/SecretKeyAndVersion.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/SecretKeyAndVersion.java new file mode 100644 index 00000000..1258ba88 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/SecretKeyAndVersion.java @@ -0,0 +1,57 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.util; + +import javax.crypto.SecretKey; + +/** + * Tuple which contains the secret key and the version of Android when the key has been generated + */ +public class SecretKeyAndVersion { + // The key + private final SecretKey secretKey; + + // the android version when the key has been generated + private final int androidVersionWhenTheKeyHasBeenGenerated; + + /** + * @param secretKey the key + * @param androidVersionWhenTheKeyHasBeenGenerated the android version when the key has been generated + */ + public SecretKeyAndVersion(SecretKey secretKey, int androidVersionWhenTheKeyHasBeenGenerated) { + this.secretKey = secretKey; + this.androidVersionWhenTheKeyHasBeenGenerated = androidVersionWhenTheKeyHasBeenGenerated; + } + + /** + * Get the key + * + * @return the key + */ + public SecretKey getSecretKey() { + return secretKey; + } + + /** + * Get the android version when the key has been generated + * + * @return the android version when the key has been generated + */ + public int getAndroidVersionWhenTheKeyHasBeenGenerated() { + return androidVersionWhenTheKeyHasBeenGenerated; + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/UnsentEventsManager.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/UnsentEventsManager.java new file mode 100644 index 00000000..7a2229b2 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/UnsentEventsManager.java @@ -0,0 +1,577 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.util; + +import android.content.Context; +import android.text.TextUtils; + +import im.vector.matrix.android.internal.legacy.MXDataHandler; +import im.vector.matrix.android.internal.legacy.listeners.IMXNetworkEventListener; +import im.vector.matrix.android.internal.legacy.network.NetworkConnectivityReceiver; +import im.vector.matrix.android.internal.legacy.rest.callback.ApiCallback; +import im.vector.matrix.android.internal.legacy.rest.callback.RestAdapterCallback; +import im.vector.matrix.android.internal.legacy.rest.model.MatrixError; +import im.vector.matrix.android.internal.legacy.ssl.CertUtil; +import im.vector.matrix.android.internal.legacy.ssl.UnrecognizedCertificateException; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; +import java.util.Timer; +import java.util.TimerTask; + +import retrofit2.Response; + +/** + * unsent matrix events manager + * This manager schedules the unsent events sending. + * 1 - it keeps the unsent events order (i.e. wait that the first event is resent before sending the second one) + * 2 - Apply the retry rules (event time life, 3 tries...) + */ +public class UnsentEventsManager { + + private static final String LOG_TAG = UnsentEventsManager.class.getSimpleName(); + + // 3 minutes + private static final int MAX_MESSAGE_LIFETIME_MS = 180000; + + // perform only MAX_RETRIES retries + private static final int MAX_RETRIES = 4; + + // The jitter value to apply to compute a random retry time. + private static final int RETRY_JITTER_MS = 3000; + + // the network receiver + private final NetworkConnectivityReceiver mNetworkConnectivityReceiver; + // faster way to check if the event is already sent + private final Map mUnsentEventsMap = new HashMap<>(); + // get the sending order + private final List mUnsentEvents = new ArrayList<>(); + // true of the device is connected to a data network + private boolean mbIsConnected = false; + + // matrix error management + private final MXDataHandler mDataHandler; + + /** + * storage class + */ + private class UnsentEventSnapshot { + // first time the message has been sent + // -1 to ignore age test + private long mAge; + // the number of retries + // it should be limited + private int mRetryCount; + // retry callback. + private RestAdapterCallback.RequestRetryCallBack mRequestRetryCallBack; + // retry timer + private Timer mAutoResendTimer = null; + + public Timer mLifeTimeTimer = null; + // the retry is in progress + public boolean mIsResending = false; + // human description of the event + // The snapshot creator can hide some fields + public String mEventDescription = null; + + /** + * + */ + public boolean waitToBeResent() { + return (null != mAutoResendTimer); + } + + /** + * Resend the event after a delay. + * + * @param delayMs the delay in milliseconds. + * @return true if the operation succeeds + */ + public boolean resendEventAfter(int delayMs) { + stopTimer(); + + try { + if (null != mEventDescription) { + Log.d(LOG_TAG, "Resend after " + delayMs + " [" + mEventDescription + "]"); + } + + mAutoResendTimer = new Timer(); + mAutoResendTimer.schedule(new TimerTask() { + @Override + public void run() { + try { + mIsResending = true; + + if (null != mEventDescription) { + Log.d(LOG_TAG, "Resend [" + mEventDescription + "]"); + } + + mRequestRetryCallBack.onRetry(); + } catch (Throwable throwable) { + mIsResending = false; + Log.e(LOG_TAG, "## resendEventAfter() : " + mEventDescription + " + onRetry failed " + throwable.getMessage(), throwable); + } + } + }, delayMs); + return true; + + } catch (Throwable t) { + Log.e(LOG_TAG, "## resendEventAfter failed " + t.getMessage(), t); + } + + return false; + } + + /** + * Stop any pending resending timer. + */ + public void stopTimer() { + if (null != mAutoResendTimer) { + mAutoResendTimer.cancel(); + mAutoResendTimer = null; + } + } + + /** + * Stop timers. + */ + public void stopTimers() { + if (null != mAutoResendTimer) { + mAutoResendTimer.cancel(); + mAutoResendTimer = null; + } + + if (null != mLifeTimeTimer) { + mLifeTimeTimer.cancel(); + mLifeTimeTimer = null; + } + } + } + + /** + * Constructor + * + * @param networkConnectivityReceiver the network received + * @param dataHandler the data handler + */ + public UnsentEventsManager(NetworkConnectivityReceiver networkConnectivityReceiver, MXDataHandler dataHandler) { + mNetworkConnectivityReceiver = networkConnectivityReceiver; + + // add a default listener + // to resend the unsent messages + mNetworkConnectivityReceiver.addEventListener(new IMXNetworkEventListener() { + @Override + public void onNetworkConnectionUpdate(boolean isConnected) { + mbIsConnected = isConnected; + + if (isConnected) { + resentUnsents(); + } + } + }); + + mbIsConnected = mNetworkConnectivityReceiver.isConnected(); + + mDataHandler = dataHandler; + } + + /** + * Warn that the apiCallback has been called + * + * @param apiCallback the called apiCallback + */ + public void onEventSent(ApiCallback apiCallback) { + if (null != apiCallback) { + UnsentEventSnapshot snapshot = null; + + synchronized (mUnsentEventsMap) { + if (mUnsentEventsMap.containsKey(apiCallback)) { + snapshot = mUnsentEventsMap.get(apiCallback); + } + } + + if (null != snapshot) { + if (null != snapshot.mEventDescription) { + Log.d(LOG_TAG, "Resend Succeeded [" + snapshot.mEventDescription + "]"); + } + + snapshot.stopTimers(); + + synchronized (mUnsentEventsMap) { + mUnsentEventsMap.remove(apiCallback); + mUnsentEvents.remove(snapshot); + } + + resentUnsents(); + } + } + } + + /** + * Clear the session data + */ + public void clear() { + synchronized (mUnsentEventsMap) { + for (UnsentEventSnapshot snapshot : mUnsentEvents) { + snapshot.stopTimers(); + } + + mUnsentEvents.clear(); + mUnsentEventsMap.clear(); + } + } + + /** + * @return the network connectivity receiver + */ + public NetworkConnectivityReceiver getNetworkConnectivityReceiver() { + return mNetworkConnectivityReceiver; + } + + /** + * @return the context + */ + public Context getContext() { + return mDataHandler.getStore().getContext(); + } + + /** + * The event failed to be sent and cannot be resent. + * It triggers the error callbacks. + * + * @param eventDescription the event description + * @param exception the exception + * @param callback the callback. + */ + private static void triggerErrorCallback(MXDataHandler dataHandler, String eventDescription, Response response, Exception exception, ApiCallback callback) { + if ((null != exception) && !TextUtils.isEmpty(exception.getMessage())) { + // privacy + //Log.e(LOG_TAG, error.getMessage() + " url=" + error.getUrl()); + Log.e(LOG_TAG, exception.getLocalizedMessage(), exception); + } + + if (null == exception) { + try { + if (null != eventDescription) { + Log.e(LOG_TAG, "Unexpected Error " + eventDescription); + } + if (null != callback) { + callback.onUnexpectedError(null); + } + } catch (Exception e) { + // privacy + //Log.e(LOG_TAG, "Exception UnexpectedError " + e.getMessage() + " while managing " + error.getUrl()); + Log.e(LOG_TAG, "Exception UnexpectedError " + e.getMessage(), e); + } + } else if (exception instanceof IOException) { + try { + if (null != eventDescription) { + Log.e(LOG_TAG, "Network Error " + eventDescription); + } + if (null != callback) { + callback.onNetworkError(exception); + } + } catch (Exception e) { + // privacy + //Log.e(LOG_TAG, "Exception NetworkError " + e.getMessage() + " while managing " + error.getUrl()); + Log.e(LOG_TAG, "Exception NetworkError " + e.getMessage(), e); + } + } else { + // Try to convert this into a Matrix error + MatrixError mxError; + try { + mxError = JsonUtils.getGson(false).fromJson(response.errorBody().string(), MatrixError.class); + } catch (Exception e) { + mxError = null; + } + if (mxError != null) { + try { + if (null != eventDescription) { + Log.e(LOG_TAG, "Matrix Error " + mxError + " " + eventDescription); + } + + if (MatrixError.isConfigurationErrorCode(mxError.errcode)) { + dataHandler.onConfigurationError(mxError.errcode); + } else if (null != callback) { + callback.onMatrixError(mxError); + } + + } catch (Exception e) { + // privacy + //Log.e(LOG_TAG, "Exception MatrixError " + e.getMessage() + " while managing " + error.getUrl()); + Log.e(LOG_TAG, "Exception MatrixError " + e.getLocalizedMessage(), e); + } + } else { + try { + if (null != eventDescription) { + Log.e(LOG_TAG, "Unexpected Error " + eventDescription); + } + + if (null != callback) { + callback.onUnexpectedError(exception); + } + } catch (Exception e) { + // privacy + //Log.e(LOG_TAG, "Exception UnexpectedError " + e.getMessage() + " while managing " + error.getUrl()); + Log.e(LOG_TAG, "Exception UnexpectedError " + e.getLocalizedMessage(), e); + } + } + } + } + + /** + * A request fails with an unknown matrix token error code. + * + * @param matrixErrorCode the matrix error code + * @param eventDescription the event description + */ + public void onConfigurationErrorCode(final String matrixErrorCode, final String eventDescription) { + Log.e(LOG_TAG, eventDescription + " failed because of an unknown matrix token"); + mDataHandler.onConfigurationError(matrixErrorCode); + } + + /** + * warns that an event failed to be sent. + * + * @param eventDescription the event description + * @param ignoreEventTimeLifeInOffline tell if the event timelife is ignored in offline mode + * @param response Retrofit response + * @param exception Retrofit Exception + * @param apiCallback the apiCallback. + * @param requestRetryCallBack requestRetryCallBack. + */ + public void onEventSendingFailed(final String eventDescription, + final boolean ignoreEventTimeLifeInOffline, + final Response response, + final Exception exception, + final ApiCallback apiCallback, + final RestAdapterCallback.RequestRetryCallBack requestRetryCallBack) { + boolean isManaged = false; + + if (null != eventDescription) { + Log.d(LOG_TAG, "Fail to send [" + eventDescription + "]"); + } + + if ((null != requestRetryCallBack) && (null != apiCallback)) { + synchronized (mUnsentEventsMap) { + UnsentEventSnapshot snapshot; + + // Try to convert this into a Matrix error + MatrixError mxError = null; + + if (null != response) { + try { + mxError = JsonUtils.getGson(false).fromJson(response.errorBody().string(), MatrixError.class); + } catch (Exception e) { + mxError = null; + } + } + + // trace the matrix error. + if ((null != eventDescription) && (null != mxError)) { + Log.d(LOG_TAG, "Matrix error " + mxError.errcode + " " + mxError.getMessage() + " [" + eventDescription + "]"); + + if (MatrixError.isConfigurationErrorCode(mxError.errcode)) { + Log.e(LOG_TAG, "## onEventSendingFailed() : invalid token detected"); + mDataHandler.onConfigurationError(mxError.errcode); + triggerErrorCallback(mDataHandler, eventDescription, response, exception, apiCallback); + return; + } + } + + int matrixRetryTimeout = -1; + + if ((null != mxError) && MatrixError.LIMIT_EXCEEDED.equals(mxError.errcode) && (null != mxError.retry_after_ms)) { + matrixRetryTimeout = mxError.retry_after_ms + 200; + } + + if (null != exception) { + UnrecognizedCertificateException unrecCertEx = CertUtil.getCertificateException(exception); + + if (null != unrecCertEx) { + Log.e(LOG_TAG, "## onEventSendingFailed() : SSL issue detected"); + mDataHandler.onSSLCertificateError(unrecCertEx); + triggerErrorCallback(mDataHandler, eventDescription, response, exception, apiCallback); + return; + } + } + + // some matrix errors are not trapped. + if ((null == mxError) || !mxError.isSupportedErrorCode() || MatrixError.LIMIT_EXCEEDED.equals(mxError.errcode)) { + // is it the first time that the event has been sent ? + if (mUnsentEventsMap.containsKey(apiCallback)) { + snapshot = mUnsentEventsMap.get(apiCallback); + + snapshot.mIsResending = false; + snapshot.stopTimer(); + + // assume that LIMIT_EXCEEDED error is not a default retry + if (matrixRetryTimeout < 0) { + snapshot.mRetryCount++; + } + + // any event has a time life to avoid very old messages + long timeLife = 0; + + // age < 0 means that the event time life is ignored + if (snapshot.mAge > 0) { + timeLife = System.currentTimeMillis() - snapshot.mAge; + } + + if ((timeLife > MAX_MESSAGE_LIFETIME_MS) || (snapshot.mRetryCount > MAX_RETRIES)) { + snapshot.stopTimers(); + mUnsentEventsMap.remove(apiCallback); + mUnsentEvents.remove(snapshot); + + if (null != eventDescription) { + Log.d(LOG_TAG, "Cancel [" + eventDescription + "]"); + } + + isManaged = false; + } else { + isManaged = true; + } + } else { + snapshot = new UnsentEventSnapshot(); + + try { + snapshot.mAge = ignoreEventTimeLifeInOffline ? -1 : System.currentTimeMillis(); + snapshot.mRequestRetryCallBack = requestRetryCallBack; + snapshot.mRetryCount = 1; + snapshot.mEventDescription = eventDescription; + mUnsentEventsMap.put(apiCallback, snapshot); + mUnsentEvents.add(snapshot); + + if (mbIsConnected || !ignoreEventTimeLifeInOffline) { + // the event has a life time + final UnsentEventSnapshot fSnapshot = snapshot; + fSnapshot.mLifeTimeTimer = new Timer(); + fSnapshot.mLifeTimeTimer.schedule(new TimerTask() { + @Override + public void run() { + try { + + if (null != eventDescription) { + Log.d(LOG_TAG, "Cancel to send [" + eventDescription + "]"); + } + + fSnapshot.stopTimers(); + synchronized (mUnsentEventsMap) { + mUnsentEventsMap.remove(apiCallback); + mUnsentEvents.remove(fSnapshot); + } + + triggerErrorCallback(mDataHandler, eventDescription, response, exception, apiCallback); + } catch (Exception e) { + Log.e(LOG_TAG, "## onEventSendingFailed() : failure Msg=" + e.getMessage(), e); + } + } + }, MAX_MESSAGE_LIFETIME_MS); + } else if (ignoreEventTimeLifeInOffline) { + Log.d(LOG_TAG, "The request " + eventDescription + " will be sent when a network will be available"); + } + } catch (Throwable throwable) { + Log.e(LOG_TAG, "## snapshot creation failed " + throwable.getMessage(), throwable); + + if (null != snapshot.mLifeTimeTimer) { + snapshot.mLifeTimeTimer.cancel(); + } + + mUnsentEventsMap.remove(apiCallback); + mUnsentEvents.remove(snapshot); + + try { + triggerErrorCallback(mDataHandler, eventDescription, response, exception, apiCallback); + } catch (Exception e) { + Log.e(LOG_TAG, "## onEventSendingFailed() : failure Msg=" + e.getMessage(), e); + } + } + + isManaged = true; + } + + // retry to send the message ? + if (isManaged) { + // resend the event only if there is an available network + // retrofitError.isNetworkError() does not provide a valid description of the failure + // 1- there is no available network / the connection is lost. (what we could expect) + // 2- the server did not response after 15s : the client would wrongly behave, it would wait until to switch to a valid network + // It never happens, so the message is never resent. + // + if (mbIsConnected) { + int jitterTime = ((int) Math.pow(2, snapshot.mRetryCount)) + + (Math.abs(new Random(System.currentTimeMillis()).nextInt()) % RETRY_JITTER_MS); + isManaged = snapshot.resendEventAfter((matrixRetryTimeout > 0) ? matrixRetryTimeout : jitterTime); + } + } + } + } + } + + if (!isManaged) { + Log.d(LOG_TAG, "Cannot resend it"); + triggerErrorCallback(mDataHandler, eventDescription, response, exception, apiCallback); + } + } + + /** + * check if some messages must be resent + */ + private void resentUnsents() { + Log.d(LOG_TAG, "resentUnsents"); + + synchronized (mUnsentEventsMap) { + if (mUnsentEvents.size() > 0) { + List staledSnapShots = new ArrayList<>(); + + // retry the first + for (int index = 0; index < mUnsentEvents.size(); index++) { + UnsentEventSnapshot unsentEventSnapshot = mUnsentEvents.get(index); + + // check if there is no required delay to resend the message + if (!unsentEventSnapshot.waitToBeResent()) { + // if the message is already resending, + if (unsentEventSnapshot.mIsResending) { + // do not resend any other one to try to keep the messages sending order. + } else { + if (null != unsentEventSnapshot.mEventDescription) { + Log.d(LOG_TAG, "Automatically resend " + unsentEventSnapshot.mEventDescription); + } + + try { + unsentEventSnapshot.mIsResending = true; + unsentEventSnapshot.mRequestRetryCallBack.onRetry(); + break; + } catch (Exception e) { + unsentEventSnapshot.mIsResending = false; + staledSnapShots.add(unsentEventSnapshot); + Log.e(LOG_TAG, "## resentUnsents() : " + unsentEventSnapshot.mEventDescription + " onRetry() failed " + e.getMessage(), e); + } + } + } + } + + mUnsentEvents.removeAll(staledSnapShots); + } + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/VersionsUtil.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/VersionsUtil.java new file mode 100644 index 00000000..0b7724fa --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/util/VersionsUtil.java @@ -0,0 +1,42 @@ +/* + * Copyright 2018 New Vector 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. + */ + +package im.vector.matrix.android.internal.legacy.util; + +import android.support.annotation.Nullable; + +import im.vector.matrix.android.internal.legacy.rest.model.Versions; + +/** + * Companion for class {@link Versions} + */ +public class VersionsUtil { + + private static final String FEATURE_LAZY_LOAD_MEMBERS = "m.lazy_load_members"; + + /** + * Return true if the server support the lazy loading of room members + * + * @param versions the Versions object from the server request + * @return true if the server support the lazy loading of room members + */ + public static boolean supportLazyLoadMembers(@Nullable Versions versions) { + return versions != null + && versions.unstableFeatures != null + && versions.unstableFeatures.containsKey(FEATURE_LAZY_LOAD_MEMBERS) + && versions.unstableFeatures.get(FEATURE_LAZY_LOAD_MEMBERS); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/view/AutoScrollDownListView.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/view/AutoScrollDownListView.java new file mode 100644 index 00000000..5fad5f8a --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/view/AutoScrollDownListView.java @@ -0,0 +1,88 @@ +/* + * Copyright 2014 OpenMarket Ltd + * Copyright 2018 New Vector 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. + */ +package im.vector.matrix.android.internal.legacy.view; + +import android.content.Context; +import android.util.AttributeSet; +import android.widget.ListView; + +import im.vector.matrix.android.internal.legacy.util.Log; + +/** + * The listView automatically scrolls down when its height is updated. + * It is used to scroll the list when the keyboard is displayed + * Note that the list scrolls down automatically thank to android:transcriptMode="normal" in the XML + */ +public class AutoScrollDownListView extends ListView { + private static final String LOG_TAG = AutoScrollDownListView.class.getSimpleName(); + + private boolean mLockSelectionOnResize = false; + + public AutoScrollDownListView(Context context) { + super(context); + } + + public AutoScrollDownListView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public AutoScrollDownListView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + } + + @Override + protected void onSizeChanged(int xNew, int yNew, int xOld, int yOld) { + super.onSizeChanged(xNew, yNew, xOld, yOld); + + if (!mLockSelectionOnResize) { + // check if the keyboard is displayed + // we don't want that the list scrolls to the bottom when the keyboard is hidden. + if (yNew < yOld) { + postDelayed(new Runnable() { + @Override + public void run() { + setSelection(getCount() - 1); + } + }, 100); + } + } + } + + /** + * The listview selection is locked even if the view position is updated. + */ + public void lockSelectionOnResize() { + mLockSelectionOnResize = true; + } + + @Override + protected void layoutChildren() { + // the adapter items are added without refreshing the list (back pagination only) + // to reduce the number of refresh + try { + super.layoutChildren(); + } catch (Exception e) { + Log.e(LOG_TAG, "## layoutChildren() failed " + e.getMessage(), e); + } + } + + @Override + // require to avoid lint errors with MatrixMessageListFragment + public void setSelectionFromTop(int position, int y) { + super.setSelectionFromTop(position, y); + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/view/HtmlTagHandler.java b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/view/HtmlTagHandler.java new file mode 100755 index 00000000..18d0bec5 --- /dev/null +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/legacy/view/HtmlTagHandler.java @@ -0,0 +1,315 @@ +/* + * Copyright (C) 2013-2015 Dominik Schürmann + * Copyright (C) 2013-2015 Juha Kuitunen + * Copyright (C) 2013 Mohammed Lakkadshaw + * Copyright (C) 2007 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. + */ + +package im.vector.matrix.android.internal.legacy.view; + +import android.content.Context; +import android.support.annotation.ColorInt; +import android.support.v4.content.ContextCompat; +import android.text.Editable; +import android.text.Html; +import android.text.Layout; +import android.text.Spannable; +import android.text.Spanned; +import android.text.style.AlignmentSpan; +import android.text.style.BackgroundColorSpan; +import android.text.style.BulletSpan; +import android.text.style.LeadingMarginSpan; +import android.text.style.StrikethroughSpan; +import android.text.style.TypefaceSpan; + +import org.xml.sax.XMLReader; + +import java.util.Stack; + +/** + * Some parts of this code are based on android.text.Html + */ +// custom implementation of org.sufficientlysecure.htmltextview.HtmlTagHandler +// to have the same UI as the webclient +public class HtmlTagHandler implements Html.TagHandler { + /** + * Keeps track of lists (ol, ul). On bottom of Stack is the outermost list + * and on top of Stack is the most nested list + */ + private final Stack lists = new Stack<>(); + /** + * Tracks indexes of ordered lists so that after a nested list ends + * we can continue with correct index of outer list + */ + private final Stack olNextIndex = new Stack<>(); + + /** + * Running HTML table string based off of the root table tag. Root table tag being the tag which + * isn't embedded within any other table tag. Example: + * + * + * ... + *
      + * ... + *
      + * ... + * + * + */ + StringBuilder tableHtmlBuilder = new StringBuilder(); + /** + * Tells us which level of table tag we're on; ultimately used to find the root table tag. + */ + int tableTagLevel = 0; + + private static final int indent = 10; + private static final int listItemIndent = indent * 2; + private static final BulletSpan bullet = new BulletSpan(indent); + + public Context mContext; + + public int mCodeBlockBackgroundColor = -1; + + private static class Ul { + } + + private static class Ol { + } + + private static class Code { + } + + private static class Center { + } + + private static class Strike { + } + + private static class Table { + } + + private static class Tr { + } + + private static class Th { + } + + private static class Td { + } + + /** + * Defines the code block background color + * @param color the new color + */ + public void setCodeBlockBackgroundColor(@ColorInt int color) { + mCodeBlockBackgroundColor = color; + } + + @Override + public void handleTag(final boolean opening, final String tag, Editable output, final XMLReader xmlReader) { + if (opening) { + + if (tag.equalsIgnoreCase("ul")) { + lists.push(tag); + } else if (tag.equalsIgnoreCase("ol")) { + lists.push(tag); + olNextIndex.push(1); + } else if (tag.equalsIgnoreCase("li")) { + if (output.length() > 0 && output.charAt(output.length() - 1) != '\n') { + output.append("\n"); + } + String parentList = lists.peek(); + if (parentList.equalsIgnoreCase("ol")) { + start(output, new Ol()); + output.append(olNextIndex.peek().toString()).append(". "); + olNextIndex.push(olNextIndex.pop() + 1); + } else if (parentList.equalsIgnoreCase("ul")) { + start(output, new Ul()); + } + } else if (tag.equalsIgnoreCase("code")) { + start(output, new Code()); + } else if (tag.equalsIgnoreCase("center")) { + start(output, new Center()); + } else if (tag.equalsIgnoreCase("s") || tag.equalsIgnoreCase("strike")) { + start(output, new Strike()); + } else if (tag.equalsIgnoreCase("table")) { + start(output, new Table()); + if (tableTagLevel == 0) { + tableHtmlBuilder = new StringBuilder(); + // We need some text for the table to be replaced by the span because + // the other tags will remove their text when their text is extracted + output.append("table placeholder"); + } + + tableTagLevel++; + } + else if (tag.equalsIgnoreCase("tr")) { + start(output, new Tr()); + } else if (tag.equalsIgnoreCase("th")) { + start(output, new Th()); + } else if (tag.equalsIgnoreCase("td")) { + start(output, new Td()); + } + } else { + if (tag.equalsIgnoreCase("ul")) { + lists.pop(); + } else if (tag.equalsIgnoreCase("ol")) { + lists.pop(); + olNextIndex.pop(); + } else if (tag.equalsIgnoreCase("li")) { + if (lists.peek().equalsIgnoreCase("ul")) { + if (output.length() > 0 && output.charAt(output.length() - 1) != '\n') { + output.append("\n"); + } + // Nested BulletSpans increases distance between bullet and text, so we must prevent it. + int bulletMargin = indent; + if (lists.size() > 1) { + bulletMargin = indent - bullet.getLeadingMargin(true); + if (lists.size() > 2) { + // This get's more complicated when we add a LeadingMarginSpan into the same line: + // we have also counter it's effect to BulletSpan + bulletMargin -= (lists.size() - 2) * listItemIndent; + } + } + BulletSpan newBullet = new BulletSpan(bulletMargin); + end(output, Ul.class, false, + new LeadingMarginSpan.Standard(listItemIndent * (lists.size() - 1)), + newBullet); + } else if (lists.peek().equalsIgnoreCase("ol")) { + if (output.length() > 0 && output.charAt(output.length() - 1) != '\n') { + output.append("\n"); + } + int numberMargin = listItemIndent * (lists.size() - 1); + if (lists.size() > 2) { + // Same as in ordered lists: counter the effect of nested Spans + numberMargin -= (lists.size() - 2) * listItemIndent; + } + end(output, Ol.class, false, new LeadingMarginSpan.Standard(numberMargin)); + } + } else if (tag.equalsIgnoreCase("code")) { + if (-1 == mCodeBlockBackgroundColor) { + mCodeBlockBackgroundColor = ContextCompat.getColor(mContext, android.R.color.darker_gray); + } + + end(output, Code.class, false, new BackgroundColorSpan(mCodeBlockBackgroundColor), new TypefaceSpan("monospace")); + } else if (tag.equalsIgnoreCase("center")) { + end(output, Center.class, true, new AlignmentSpan.Standard(Layout.Alignment.ALIGN_CENTER)); + } else if (tag.equalsIgnoreCase("s") || tag.equalsIgnoreCase("strike")) { + end(output, Strike.class, false, new StrikethroughSpan()); + } else if (tag.equalsIgnoreCase("table")) { + tableTagLevel--; + + // When we're back at the root-level table + end(output, Table.class, false); + } + else if (tag.equalsIgnoreCase("tr")) { + end(output, Tr.class, false); + } else if (tag.equalsIgnoreCase("th")) { + end(output, Th.class, false); + } else if (tag.equalsIgnoreCase("td")) { + end(output, Td.class, false); + } + } + + storeTableTags(opening, tag); + } + + /** + * If we're arriving at a table tag or are already within a table tag, then we should store it + * the raw HTML for our ClickableTableSpan + */ + private void storeTableTags(boolean opening, String tag) { + if (tableTagLevel > 0 || tag.equalsIgnoreCase("table")) { + tableHtmlBuilder.append("<"); + if (!opening) { + tableHtmlBuilder.append("/"); + } + tableHtmlBuilder + .append(tag.toLowerCase()) + .append(">"); + } + } + + /** + * Mark the opening tag by using private classes + */ + private void start(Editable output, Object mark) { + int len = output.length(); + output.setSpan(mark, len, len, Spannable.SPAN_MARK_MARK); + } + + /** + * Modified from {@link android.text.Html} + */ + private void end(Editable output, Class kind, boolean paragraphStyle, Object... replaces) { + Object obj = getLast(output, kind); + // start of the tag + int where = output.getSpanStart(obj); + // end of the tag + int len = output.length(); + + // If we're in a table, then we need to store the raw HTML for later + if (tableTagLevel > 0) { + final CharSequence extractedSpanText = extractSpanText(output, kind); + tableHtmlBuilder.append(extractedSpanText); + } + + output.removeSpan(obj); + + if (where != len) { + int thisLen = len; + // paragraph styles like AlignmentSpan need to end with a new line! + if (paragraphStyle) { + output.append("\n"); + thisLen++; + } + for (Object replace : replaces) { + output.setSpan(replace, where, thisLen, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + } + } + } + + /** + * Returns the text contained within a span and deletes it from the output string + */ + private CharSequence extractSpanText(Editable output, Class kind) { + final Object obj = getLast(output, kind); + // start of the tag + final int where = output.getSpanStart(obj); + // end of the tag + final int len = output.length(); + + final CharSequence extractedSpanText = output.subSequence(where, len); + output.delete(where, len); + return extractedSpanText; + } + + /** + * Get last marked position of a specific tag kind (private class) + */ + private static Object getLast(Editable text, Class kind) { + Object[] objs = text.getSpans(0, text.length(), kind); + if (objs.length == 0) { + return null; + } else { + for (int i = objs.length; i > 0; i--) { + if (text.getSpanFlags(objs[i - 1]) == Spannable.SPAN_MARK_MARK) { + return objs[i - 1]; + } + } + return null; + } + } +} diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultSession.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultSession.kt index cdf42142..a187b9ce 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultSession.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultSession.kt @@ -1,7 +1,7 @@ package im.vector.matrix.android.internal.session -import im.vector.matrix.android.api.session.Session import im.vector.matrix.android.api.auth.data.HomeServerConnectionConfig +import im.vector.matrix.android.api.session.Session import im.vector.matrix.android.internal.di.SessionModule import im.vector.matrix.android.internal.events.sync.SyncModule import im.vector.matrix.android.internal.events.sync.Synchronizer diff --git a/matrix-sdk-android/src/main/res/drawable-xxhdpi/matrix_user.png b/matrix-sdk-android/src/main/res/drawable-xxhdpi/matrix_user.png new file mode 100755 index 0000000000000000000000000000000000000000..4a47aaf96d7cb0341d40eaa46c61fbe4eee208b5 GIT binary patch literal 510 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0h38YK~#8N?VG_4 z!Y~X&`~N>Z#Eo?lPnJy!%t&15nkJ6prkxna%|GMj@gD`C444oYV;stNH-L(-&u8b) zzH06AO$L<9)XG5}P4c?qZs5+NwVG_Lw%Yk<070RRLj z!!)iYqzq6IqvuJ*)e=bCi=PI`L6@>*Uj?)Pq>satp}%JUQE>M-B_O^F><*YjI<5iV z7H|QWMXonOy%9RS?5zf*`+(bv;Oa(51^nZEKmiE9PA5Ri01<)ZC7^a<6b}X9&bQA3 z + + + + + + + + \ No newline at end of file diff --git a/matrix-sdk-android/src/main/res/layout/fragment_dialog_icon_text_list.xml b/matrix-sdk-android/src/main/res/layout/fragment_dialog_icon_text_list.xml new file mode 100644 index 00000000..bc246d8e --- /dev/null +++ b/matrix-sdk-android/src/main/res/layout/fragment_dialog_icon_text_list.xml @@ -0,0 +1,13 @@ + + + + + + + \ No newline at end of file diff --git a/matrix-sdk-android/src/main/res/layout/fragment_matrix_message_list_fragment.xml b/matrix-sdk-android/src/main/res/layout/fragment_matrix_message_list_fragment.xml new file mode 100644 index 00000000..22ce4e9a --- /dev/null +++ b/matrix-sdk-android/src/main/res/layout/fragment_matrix_message_list_fragment.xml @@ -0,0 +1,22 @@ + + + + + + + \ No newline at end of file diff --git a/matrix-sdk-android/src/main/res/values-ar/strings.xml b/matrix-sdk-android/src/main/res/values-ar/strings.xml new file mode 100644 index 00000000..5d4d33f6 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-ar/strings.xml @@ -0,0 +1,76 @@ + +عُدّة تطوير البرمجيات لِ‍«ماترِكس» على أندرويد + + أرسل ⁨%1$s⁩ صورة. + + دعوة من ⁨%s⁩ + دعى ⁨%1$s⁩ ⁨%2$s⁩ + دعاك ⁨%1$s⁩ + انضمّ ⁨%1$s⁩ + غادر ⁨%1$s⁩ + رفض ⁨%1$s⁩ الدعوة + طرد ⁨%1$s⁩ ⁨%2$s⁩ + رفع ⁨%1$s⁩ المنع عن ⁨%2$s⁩ + منع ⁨%1$s⁩ ⁨%2$s⁩ + غيّر ⁨%1$s⁩ صورته + ضبط ⁨%1$s⁩ اسم العرض على ⁨%2$s⁩ + غيّر ⁨%1$s⁩ اسم العرض من ⁨%2$s⁩ إلى ⁨%3$s⁩ + أزال ⁨%1$s⁩ اسم العرض (⁨%2$s⁩) + غيّر ⁨%1$s⁩ الموضوع إلى: ⁨%2$s⁩ + غيّر ⁨%1$s⁩ اسم الغرفة إلى: ⁨%2$s⁩ + ردّ ⁨%s⁩ على المكالمة. + أنهى ⁨%s⁩ المكالمة. + جعل ⁨%1$s⁩ تأريخ الغرفة مستقبلًا ظاهرا على %2$s + كل أعضاء الغرفة من لحظة دعوتهم. + كل أعضاء الغرفة من لحظة انضمامهم. + كل أعضاء الغرفة. + الكل. + المجهول (⁨%s⁩). + فعّل ⁨%1$s⁩ تعمية الطرفين (⁨%2$s⁩) + + طلب ⁨%1$s⁩ اجتماع VoIP + بدأ اجتماع VoIP + انتهى اجتماع VoIP + + أزال ⁨%1$s⁩ اسم الغرفة + أزال ⁨%1$s⁩ موضوع الغرفة + " [السبب: ⁨%1$s⁩]" + حدّث ⁨%1$s⁩ اللاحة ⁨%2$s⁩ + أرسل ⁨%1$s⁩ دعوة إلى ⁨%2$s⁩ للانضمام إلى الغرفة + ** تعذّر فك التعمية: ⁨%s⁩ ** + لم يُرسل جهاز المرسل مفاتيح هذه الرسالة. + + تعذّر إرسال الرسالة + + فشل رفع الصورة + + خطأ في الشبكة + خطأ في «ماترِكس» + + ليس ممكنا الانضمام ثانيةً إلى غرفة فارغة. + + رسالة معمّاة + + عنوان البريد الإلكتروني + رقم الهاتف + +‏‏⁨%1$s⁩: ‏⁨%2$s⁩ + انسحب ⁨%1$s⁩ من دعوة ⁨%2$s⁩ + أجرى ⁨%s⁩ مكالمة مرئية. + أجرى ⁨%s⁩ مكالمة صوتية. + "هُذّبت ⁨%1$s⁩ " + " على يد ⁨%1$s⁩" + قبل ⁨%1$s⁩ دعوة ⁨%2$s⁩ + + تعذر التهذيب + أرسل ⁨%1$s⁩ ملصقا. + + (تغيّرت الصورة أيضا) + ردا على + + أرسل صورة. + أرسل فديوهًا. + أرسل ملف صوت. + أرسل ملفًا. + + diff --git a/matrix-sdk-android/src/main/res/values-bg/strings.xml b/matrix-sdk-android/src/main/res/values-bg/strings.xml new file mode 100644 index 00000000..70de11ac --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-bg/strings.xml @@ -0,0 +1,76 @@ + +Matrix Android SDK + + %1$s: %2$s + %1$s изпрати снимка. + + Поканата на %s + %1$s покани %2$s + %1$s Ви покани + %1$s се присъедини + %1$s напусна + %1$s отхвърли поканата + %1$s изгони %2$s + %1$s отблокира %2$s + %1$s блокира %2$s + %1$s оттегли поканата си за %2$s + %1$s смени своята профилна снимка + %1$s си сложи име %2$s + %1$s смени своето име от %2$s на %3$s + %1$s премахна своето име (%2$s) + %1$s смени темата на: %2$s + %1$s смени името на стаята на: %2$s + %s започна видео разговор. + %s започна гласов разговор. + %s отговори на повикването. + %s прекрати разговора. + %1$s направи бъдещата история на стаята видима за %2$s + всички членове, от момента на поканването им в нея. + всички членове, от момента на присъединяването им в нея. + всички членове в нея. + всеки. + непозната (%s). + %1$s включи шифроване от край до край (%2$s) + + %1$s заяви VoIP групов разговор + Започна VoIP групов разговор + Груповият разговор приключи + + (профилната снимка също беше сменена) + %1$s премахна името на стаята + %1$s премахна темата на стаята + "изтрито %1$s " + " от %1$s" + " [причина: %1$s]" + %1$s обнови своя профил %2$s + %1$s изпрати покана на %2$s да се присъедини към стаята + %1$s прие поканата за %2$s + + ** Неуспешно разшифроване: %s ** + Неуспешно премахване + Неуспешно изпращане на съобщението + + Неуспешно качване на снимката + + Грешка в мрежата + Matrix грешка + + В момента не е възможно да се присъедините отново към празна стая. + + Шифровано съобщение + + Имейл адрес + Телефонен номер + +Устройството на подателя не изпрати ключовете за това съобщение. + + %1$s изпрати стикер. + + В отговор на + + изпрати снимка. + изпрати видео. + изпрати аудио файл. + изпрати файл. + + diff --git a/matrix-sdk-android/src/main/res/values-bs/strings.xml b/matrix-sdk-android/src/main/res/values-bs/strings.xml new file mode 100644 index 00000000..a6b3daec --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-bs/strings.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/matrix-sdk-android/src/main/res/values-ca/strings.xml b/matrix-sdk-android/src/main/res/values-ca/strings.xml new file mode 100644 index 00000000..539ca6a1 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-ca/strings.xml @@ -0,0 +1,67 @@ + +%1$s: %2$s + %1$s ha enviat una imatge. + + %1s ha sortit + %1s ha entrat + Número de telèfon + +Correu electrònic + Missatge encriptat + + la invitació de %s + %1$s ha convidat a %2$s + %1$s vos ha convidat + %1$s ha rebutjat la invitació + %1$s ha fet fora a %2$s + Android SDK de Matrix + + %1$s ha canviat el seu nom visible de %2$s a %3$s + %1$s ha eliminat el seu nom visible (%2$s) + %1$s ha canviat el tema a: %2$s + %1$s ha canviat el nom de la sala a: %2$s + %s ha contestat la trucada. + %s ha finalitzat la trucada. + tots el membres de la sala, des del punt en què són convidats. + tots els membres de la sala. + desconegut (%s). + %1$s ha activat l\'encriptació d\'extrem a extrem (%2$s) + + %1$s ha sol·licitat una conferència VoIP + %1$s ha readmès a %2$s + %1$s ha expulsat a %2$s + %1$s ha retirat la invitació de %2$s + %1$s ha canviat el seu avatar + %1$s ha permès a %2$s veure l\'historial que es generi a partir d\'ara + tots els membres de la sala des del punt en què hi entrin. + qualsevol. + S\'ha iniciat la conferència VoIP + S\'ha finalitzat la conferència VoIP + + (s\'ha canviat també l\'avatar) + %1$s ha eliminat el nom de la sala + %1$s ha eliminat el tema de la sala + "ha redactat %1$s " + " per %1$s" + " [raó: %1$s]" + %1$s ha actualitzat el seu perfil %2$s + %1$s ha enviat una invitació a l\'usuari %2$s per a entrar a la sala + %1$s ha acceptat la invitació de l\'usuari %2$s + + ** No s\'ha pogut desencriptar: %s ** + El dispositiu del remitent no ha enviat les claus per aquest missatge. + + No s\'ha pogut redactar + No s\'ha pogut enviar el missatge + + No s\'ha pogut pujar la imatge + + S\'ha produït un error de xarxa + S\'ha produït un error de Matrix + + Actualment no es pot tornar a entrar a una sala buida. + + %1$s a canviat el seu nom visible a %2$s + %s ha iniciat una trucada de vídeo. + %s ha iniciat una trucada de veu. + diff --git a/matrix-sdk-android/src/main/res/values-cs/strings.xml b/matrix-sdk-android/src/main/res/values-cs/strings.xml new file mode 100644 index 00000000..a6b3daec --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-cs/strings.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/matrix-sdk-android/src/main/res/values-da/strings.xml b/matrix-sdk-android/src/main/res/values-da/strings.xml new file mode 100644 index 00000000..d7c37c1d --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-da/strings.xml @@ -0,0 +1,67 @@ + +Matrix Android SDK + + %1$s: %2$s + %1$s sendte et billede. + + %ss invitation + %1$s inviterede %2$s + %1$s inviterede dig + %1$s forbandt + %1$s forlod rummet + %1$s afviste invitationen + %1$s kickede %2$s + %1$s unbannede %2$s + %1$s bannede %2$s + %1$s trak %2$ss invitation tilbage + %1$s skiftede sin avatar + %1$s satte sit viste navn til %2$s + %1$s ændrede sit viste navn fra %2$s til %3$s + %1$s fjernede sit viste navn (%2$s) + %1$s ændrede emnet til: %2$s + %1$s ændrede rumnavnet til: %2$s + %s startede et videoopkald. + %s startede et stemmeopkald. + %s svarede opkaldet. + %s stoppede opkaldet. + %1$s gjorde den fremtidige rum historik synlig for %2$s + alle medlemmer af rummet, fra det tidspunkt de er inviteret. + alle medlemmer af rummet, fra det tidspunkt de er forbundede. + Alle medlemmer af rummet. + alle. + ukendt (%s). + %1$s slog ende-til-ende kryptering til (%2$s) + + %1$s forespurgte en VoIP konference + VoIP konference startet + VoIP konference afsluttet + + (avatar blev også ændret) + %1$s fjernede navnet på rummet + %1$s fjernede emnet for rummet + "hemmeligholdte %1$s " + " af %1$s" + " [årsag: %1$s]" + %1$s opdaterede sin profil %2$s + %1$s inviterede %2$s til rummet + %1$s accepterede invitationen til %2$s + + ** Kunne ikke dekryptere: %s ** + Afsenderens enhed har ikke sendt os nøglerne til denne besked. + + Kunne ikke hemmeligholde + Kunne ikke sende besked + + Kunne ikke uploade billede + + Netværks fejl + Matrix fejl + + Det er i øjeblikket ikke muligt at genforbinde til et tomt rum. + + Krypteret besked + + mailadresse + Telefonnummer + + diff --git a/matrix-sdk-android/src/main/res/values-de/strings.xml b/matrix-sdk-android/src/main/res/values-de/strings.xml new file mode 100644 index 00000000..d58c9404 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-de/strings.xml @@ -0,0 +1,87 @@ + + + Matrix-Android-SDK + + %1$s: %2$s + %1$s hat ein Bild gesendet. + + %s\'s Einladung + %1$s hat %2$s eingeladen + %1$s hat dich eingeladen + %1$s hat den Raum betreten + %1$s hat den Raum verlassen + %1$s hat die Einladung abgelehnt + %1$s hat %2$s gekickt + %1$s hat die Verbannung von %2$s aufgehoben + %1$s hat %2$s verbannt + %1$s hat die Einladung für %2$s zurückgezogen + %1$s hat das Profilbild geändert + %1$s hat den Anzeigenamen geändert in %2$s + %1$s hat den Anzeigenamen von %2$s auf %3$s geändert + %1$s hat den Anzeigenamen gelöscht (%2$s) + %1$s hat das Raumthema geändert auf: %2$s + %1$s hat den Raumnamen geändert in: %2$s + %s hat einen Videoanruf durchgeführt. + %s hat einen Sprachanruf getätigt. + %s hat den Anruf angenommen. + %s hat den Anruf beendet. + %1$s hat den zukünftigen Chatverlauf sichtbar gemacht für %2$s + Alle Mitglieder (ab dem Zeitpunkt, an dem sie eingeladen wurden). + Alle Mitglieder (ab dem Zeitpunkt, an dem sie den Raum betreten haben). + alle Raum-Mitglieder. + Jeder. + Unbekannt (%s). + %1$s hat die Ende-zu-Ende-Verschlüsselung aktiviert (%2$s) + + %1$s möchte eine VoIP-Konferenz beginnen + VoIP-Konferenz gestartet + VoIP-Konferenz beendet + + (Profilbild wurde ebenfalls geändert) + %1$s hat den Raumnamen entfernt + %1$s hat das Raum-Thema entfernt + "Verborgen %1$s " + durch %1$s + [Grund: %1$s] + %1$s hat das Benutzerprofil aktualisiert %2$s + %1$s hat eine Einladung an %2$s gesendet + %1$s hat die Einladung für %2$s akzeptiert + + ** Nicht entschlüsselbar: %s ** + Das absendende Gerät hat uns keine Schlüssel für diese Nachricht übermittelt. + + + Entfernen nicht möglich + Nachricht kann nicht gesendet werden + + Bild konnte nicht hochgeladen werden + + + Netzwerk-Fehler + Matrix-Fehler + + + + + + + + + Es ist aktuell nicht möglich, einen leeren Raum erneut zu betreten. + + Verschlüsselte Nachricht + + + E-Mail-Adresse + Telefonnummer + +%1$s sandte einen Sticker. + + Als Antwort auf + + sandte ein Bild. + sandte ein Video. + sandte eine Audio-Datei. + sandte eine Datei. + + diff --git a/matrix-sdk-android/src/main/res/values-el/strings.xml b/matrix-sdk-android/src/main/res/values-el/strings.xml new file mode 100644 index 00000000..ff855d71 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-el/strings.xml @@ -0,0 +1,60 @@ + +Ηλεκτρονική διεύθυνση + %1$s: %2$s + Ο/Η %1$s έστειλε μια εικόνα. + Ο/Η %1$s έστειλε ένα αυτοκόλλητο. + + Ο/Η %1$s σας προσκάλεσε + Ο/Η %1$s αποχώρησε + Ο/Η %1$s απέρριψε την πρόσκληση + Ο/Η %1$s έδιωξε τον/την %2$s + Ο/Η %1$s προσκάλεσε τον/την %2$s + Η πρόσκληση του/της %s + Αριθμός τηλεφώνου + +Ο/Η %1$s απέκλεισε τον/την %2$s + Ο/Η %1$s απέσυρε την πρόσκληση του/της %2$s + Ο/Η %1$s άλλαξε εικονίδιο χρήστη + Ο/Η %1$s άλλαξε το εμφανιζόμενό του/της όνομα σε %2$s + Ο/Η %1$s άλλαξε το εμφανιζόμενό του/της όνομα από %2$s σε %3$s + Ο/Η %1$s αφαίρεσε το εμφανιζόμενό του/της όνομα (%2$s) + Ο/Η %1$s άλλαξε το θέμα σε: %2$s + Ο/Η %1$s άλλαξε το όνομα του δωματίου σε: %2$s + Ο/Η %s απάντησε στην κλήση. + Ο/Η %s τερμάτισε την κλήση. + SDK για Android του Matrix + + Ο/Η %s πραγματοποίησε μια κλήση βίντεο. + Ο/Η %s πραγματοποίησε μια κλήση ήχου. + Ο/Η %1$s κατέστησε το μελλοντικό ιστορικό του δωματίου ορατό στον/στην %2$s + όλα τα μέλη του δωματίου, από την στιγμή που προσκλήθηκαν. + όλα τα μέλη του δωματίου. + οποιοσδήποτε. + άγνωστος/η (%s). + (έγινε αλλαγή και του εικονιδίου χρήστη) + Ο/Η %1$s αφαίρεσε το όνομα του δωματίου + Ο/Η %1$s αφαίρεσε το θέμα του δωματίου + " από τον/την %1$s" + " [λόγος: %1$s]" + Ο/Η %1$s ανανέωσε το προφίλ του/της %2$s + Ο/Η %1$s δέχτηκε την πρόσκληση για το %2$s + + ** Αδυναμία αποκρυπτογράφησης: %s ** + Η συσκευή του/της αποστολέα δεν μας έχει στείλει τα κλειδιά για αυτό το μήνυμα. + + Προς απάντηση στο + + Αποτυχία αποστολής μηνύματος + + Αποτυχία αναφόρτωσης εικόνας + + Σφάλμα δικτύου + Σφάλμα του Matrix + + Κρυπτογραφημένο μήνυμα + + Ο/Η %1$s ζήτησε μια VoIP διάσκεψη + Η VoIP διάσκεψη ξεκίνησε + Η VoIP διάσκεψη έληξε + + diff --git a/matrix-sdk-android/src/main/res/values-eo/strings.xml b/matrix-sdk-android/src/main/res/values-eo/strings.xml new file mode 100644 index 00000000..916ca209 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-eo/strings.xml @@ -0,0 +1,16 @@ + +%1$s sendis bildon. + %1$s sendis glumarkon. + + invito de %s + %1$s invitis %2$s + %1$s invitis vin + %1$s alvenis + %1$s foriris + %1$s malakceptis la inviton + %1$s forpelis %2$s + %1$s malforbaris %2$s + %1$s forbaris %2$s + %1$s malinvitis %2$s + %1$s ŝanĝis sian profilbildon + diff --git a/matrix-sdk-android/src/main/res/values-es-rMX/strings.xml b/matrix-sdk-android/src/main/res/values-es-rMX/strings.xml new file mode 100644 index 00000000..57fb929b --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-es-rMX/strings.xml @@ -0,0 +1,87 @@ + + + Matrix Android SDK + + %1$s: %2$s + %1$s envió una imagen. + + la invitación de %s + %1$s invitó a %2$s + %1$s te invitó + %1$s se unió + %1$s salió + %1$s rechazó la invitación + %1$s quitó a %2$s + %1$s desprohibió a %2$s + %1$s prohibió %2$s + %1$s retiró la invitación de %2$s + %1$s cambio su foto de perfil + %1$s estableció %2$s como su nombre visible + %1$s cambió su nombre visible de %2$s a %3$s + %1$s retiró su nombre visible (%2$s) + %1$s cambio el tema a: %2$s + %1$s cambió el nombre de la sala a: %2$s + %s comenzó una llamada de video. + %s comenzó una llamada de voz. + %s recibió la llmada. + %s terminó la llamada. + %1$s dejo que %2$s vea el historial del futuro + todos los miembros de la sala, desde su invitación. + todos los miembros de la sala, desde cuando entraron. + todos los miembros de la sala. + todos. + desconocido (%s). + %1$s encendió el cifrado de extremo a extremo (%2$s) + + %1$s solicitó una conferencia VoIP + conferencia VoIP comenzó + conferencia VoIP finalizó + + (foto de perfil también se cambió) + %1$s retiró el nombre de la sala + %1$s retiro el tema de la sala + redactado %1$s + por %1$s + [razón: %1$s] + %1$s actualizó su perfil %2$s + %1$s envió una invitación a %2$s para entrar a la sala + %1$s aceptó la invitacion de %2$s + + ** No se puede descifrar: %s ** + El dispositivo del remitente no nos ha enviado las claves de este mensaje. + + + No se pudo redactar + No se puede enviar el mensaje + + La subida de la imagen falló + + + Error de la red + Error de Matrix + + + + + + + + + No es posible volver a entrar en una sala vacía. + + Mensaje cifrado + + + Correo electrónico + Número telefónico + +%1$s envió una pegatina. + + En respuesta a + + envió una imagen. + envió un vídeo. + envió un archivo de audio. + envió un archivo. + + diff --git a/matrix-sdk-android/src/main/res/values-es/strings.xml b/matrix-sdk-android/src/main/res/values-es/strings.xml new file mode 100644 index 00000000..a6cc2bd7 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-es/strings.xml @@ -0,0 +1,87 @@ + + + SDK de Matrix Android + + %1$s: %2$s + %1$s envió una imagen. + + la invitación de %s + %1$s invitó a %2$s + %1$s te invitó + %1$s se unió + %1$s salió + %1$s rechazó la invitación + %1$s expulsó a %2$s + %1$s le quitó el veto a %2$s + %1$s vetó a %2$s + %1$s retiró la invitación de %2$s + %1$s cambió su avatar + %1$s estableció %2$s como su nombre público + %1$s cambió su nombre público de %2$s a %3$s + %1$s eliminó su nombre público (%2$s) + %1$s cambió el tema a: %2$s + %1$s cambió el nombre de la sala a: %2$s + %s realizó una llamada de vídeo. + %s realizó una llamada de voz. + %s contestó la llamada. + %s finalizó la llamada. + %1$s hizo visible el historial futuro de la sala para %2$s + todos los miembros de la sala, desde el momento en que son invitados. + todos los miembros de la sala, desde el momento en que se unieron. + todos los miembros de la sala. + cualquier persona. + desconocido (%s). + %1$s activó el cifrado de extremo a extremo (%2$s) + + %1$s solicitó una conferencia de vozIP + conferencia de vozIP iniciada + conferencia de vozIP finalizada + + (el avatar también se cambió) + %1$s eliminó el nombre de la sala + %1$s eliminó el tema de la sala + redactado %1$s + por %1$s + [razón: %1$s] + %1$s actualizó su perfil %2$s + %1$s invitó a %2$s a unirse a la sala + %1$s aceptó la invitación para %2$s + + ** No es posible descifrar: %s ** + El dispositivo emisor no nos ha enviado las claves para este mensaje. + + + No se pudo redactar + No es posible enviar el mensaje + + No se pudo cargar la imagen + + + Error de red + Error de Matrix + + + + + + + + + Actualmente no es posible volver a unirse a una sala vacía. + + Mensaje cifrado + + + Dirección de correo electrónico + Número telefónico + + %1$s envió una pegatina. + + En respuesta a + + envió una imagen. + envió un vídeo. + envió un archivo de audio. + envió un archivo. + + diff --git a/matrix-sdk-android/src/main/res/values-eu/strings.xml b/matrix-sdk-android/src/main/res/values-eu/strings.xml new file mode 100644 index 00000000..41d306f6 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-eu/strings.xml @@ -0,0 +1,76 @@ + +Matrix Android SDK + + %1$s: %2$s + %1$s erabiltzaileak irudi bat bidali du. + + %s erabiltzailearen gonbidapena + %1$s erabiltzaileak %2$s gonbidatu du + %1$s erabiltzaileak gonbidatu zaitu + %1$s elkartu da + %1$s atera da + %1$s erabiltzaileak gonbidapena baztertu du + %1$s erabiltzaileak %2$s kanporatu du + %1$s erabiltzaileak debekua kendu dio %2$s erabiltzaileari + %1$s erabiltzaileak %2$s debekatu du + %1$s erabiltzaileak %2$s erabiltzailearen gonbidapena atzera bota du + %1$s erabiltzaileak abatarra aldatu du + %1$s erabiltzaileak bere pantaila-izena aldatu du beste honetara: %2$s + %1$s erabiltzaileak bere pantaila-izena aldatu du, honetatik: %2$s honetara: %3$s + %1$s erabiltzaileak bere pantaila-izena kendu du (%2$s) + %1$s erabiltzaileak mintzagaia honetara aldatu du: %2$s + %1$s erabiltzaileak gelaren izena honetara aldatu du: %2$s + %s erabiltzaileak bideo deia hasi du. + %s erabiltzaileak ahots deia hasi du. + %s erabiltzaileak deia erantzun du. + %s erabiltzaileak deia amaitu du. + %1$s erabiltzaileak gelaren historiala ikusgai jarri du hauentzat: %2$s + gelako kide guztiak, gonbidatu zitzaienetik. + gelako kide guztiak, elkartu zirenetik. + gelako kide guztiak. + edonor. + ezezaguna (%s). + %1$s erabiltzaileak muturretik muturrera zifratzea aktibatu du (%2$s) + + %1$s erabiltzaileak VoIP konferentzia bat eskatu du + VoIP konferentzia hasita + VoIP konferentzia amaituta + + (abatarra ere aldatu da) + %1$s erabiltzaileak gelaren izena kendu du + %1$s erabiltzaileak gelaren mintzagaia kendu du + "kenduta %1$s " + " nork: %1$s" + " [arrazoia: %1$s]" + %1$s erabiltzaileak bere profila eguneratu du %2$s + %1$s erabiltzaileak gelara elkartzeko gonbidapen bat bidali dio %2$s erabiltzaileari + %1$s erabiltzaileak %2$s gelarako gonbidapena onartu du + + ** Ezin izan da deszifratu: %s ** + Igorlearen gailuak ez dizkigu mezu honetarako gakoak bidali. + + Ezin izan da kendu + Ezin izan da mezua bidali + + Huts egin du irudia igotzean + + Sare errorea + Matrix errorea + + Ezin da oraingoz hutsik dagoen gela batetara berriro sartu. + + Zifratutako mezua + + E-mail helbidea + Telefono zenbakia + +%1$s erabiltzaileak eranskailu bat bidali du. + + Honi erantzunez + + irudi bat bidali du. + bideo bat bidali du. + audio fitxategi bat bidali du. + fitxategi bat bidali du. + + diff --git a/matrix-sdk-android/src/main/res/values-fi/strings.xml b/matrix-sdk-android/src/main/res/values-fi/strings.xml new file mode 100644 index 00000000..dac28a3b --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-fi/strings.xml @@ -0,0 +1,66 @@ + +%1$s lähetti kuvan. + + %s:n kutsu + %1$s kutsui %2$s + %1$s kutsui sinut + %1$s liittyi + %1$s poistui + %1$s hylkäsi kutsun + %1$s poisti käyttäjän %2$s + %1$s poisti porttikiellon käyttäjältä %2$s + %1$s antoi porttikiellon käyttäjälle %2$s + %1$s veti takaisin kutsun käyttäjälle %2$s + %1$s vaihtoi profiilikuvaa + %1$s asetti näyttönimekseen %2$s + %1$s muutti näyttönimensä %2$s -> %3$s + %1$s poisti näyttönimensä (%2$s) + %1$s muutti aiheeksi %2$s + %1$s muutti huoneen nimeksi %2$s + %s soitti videopuhelun. + %s soitti puhelun. + %s vastasi puheluun. + %s lopetti puhelun. + %1$s muutti tulevan huonehistorian näkyväksi käyttäjälle %2$s + kaikki jäsenet, heidän kutsuistaan asti. + kaikki jäsenet, heidän liittymisestään asti. + kaikki huoneen jäsenet. + kaikki. + tuntematon (%s). + %1$s kytki päälle päästä päähän-salauksen (%2$s) + + %1$s lähetti VoIP konferenssi-pyynnön + VoIP konferenssi alkoi + VoIP konferenssi loppui + + (profiilikuva muuttui myös) + %1$s poisti huoneen nimen + %1$s poisti huoneen aiheen + " [syy: %1$s]" + %1$s päivitti profiilinsa %2$s + %1$s lähetti liittymiskutsun käyttäjälle %2$s + %1$s hyväksyi kutsun käyttäjän %2$s puolesta + ** Salauksen purku epäonnistui: %s ** + Lähettäjän laite ei ole lähettänyt avaimia tähän viestiin. + + Viestin lähetys epäonnistui + + Kuvan lataaminen epäonnistui + + Verkkovirhe + Matrix virhe + + Tällä hetkellä ei ole mahdollista liittyä uudelleen tyhjään huoneeseen. + + Salattu viesti + + Sähköpostiosoite + Puhelinnumero + +Matrix Android SDK + + " käyttäjän %1$s toimesta" + Takaisinveto epäonnistui + %1$s: %2$s + "veti takaisin %1$s " + diff --git a/matrix-sdk-android/src/main/res/values-fr/strings.xml b/matrix-sdk-android/src/main/res/values-fr/strings.xml new file mode 100644 index 00000000..039e7129 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-fr/strings.xml @@ -0,0 +1,76 @@ + +SDK Matrix Android + + %1$s : %2$s + %1$s a envoyé une image. + + invitation de %s + %1$s a invité %2$s + %1$s vous a invité + %1$s a rejoint la discussion + %1$s est parti + %1$s a rejeté l\'invitation + %1$s a exclu %2$s + %1$s a révoqué le bannissement de %2$s + %1$s a banni %2$s + %1$s a annulé l\'invitation de %2$s + %1$s a changé d\'avatar + %1$s a réglé son nom affiché en %2$s + %1$s a modifié son nom affiché %2$s en %3$s + %1$s a supprimé son nom affiché (%2$s) + %1$s a changé le sujet en : %2$s + %1$s a changé le nom du salon en : %2$s + %s a passé un appel vidéo. + %s a passé un appel vocal. + %s a répondu à l\'appel. + %s a raccroché. + %1$s a rendu l\'historique futur du salon visible pour %2$s + tous les membres du salon, depuis qu\'ils ont été invités. + tous les membres du salon, depuis qu\'ils l\'ont rejoint. + tous les membres du salon. + n\'importe qui. + inconnu (%s). + %1$s a activé le chiffrement de bout en bout (%2$s) + + %1$s a demandé une téléconférence VoIP + Téléconférence VoIP démarrée + Téléconférence VoIP terminée + + (l\'avatar a aussi changé) + %1$s a supprimé le nom du salon + %1$s a supprimé le sujet du salon + "a effacé %1$s " + " de %1$s" + " [motif : %1$s]" + %1$s a mis à jour son profil %2$s + %1$s a envoyé une invitation à %2$s pour rejoindre le salon + %1$s a accepté l\'invitation pour %2$s + + ** Déchiffrement impossible : %s ** + L\'appareil de l\'expéditeur ne nous a pas envoyé les clés pour ce message. + + Effacement impossible + Envoi du message impossible + + L\'envoi de l\'image a échoué + + Erreur de réseau + Erreur de Matrix + + Il est impossible pour le moment de revenir dans un salon vide. + + Message chiffré + + Adresse e-mail + Numéro de téléphone + +%1$s a envoyé un sticker. + + En réponse à + + a envoyé une image. + a envoyé une vidéo. + a envoyé un fichier audio. + a envoyé un fichier. + + diff --git a/matrix-sdk-android/src/main/res/values-gl/strings.xml b/matrix-sdk-android/src/main/res/values-gl/strings.xml new file mode 100644 index 00000000..5110fb77 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-gl/strings.xml @@ -0,0 +1,75 @@ + +Enderezo de correo + Fallo ao subir a páxina + + Matrix Android SDK + + %1$s: %2$s + %1$s enviou unha imaxe. + %1$s enviou unha icona. + + Convite de %s + %1$s convidou a %2$s + %1$s convidouno + %1$s entrou + %1$s saíu + %1$s rexeitou o convite + %1$s expulsou a %2$s + %1$s desbloqueou a %2$s + %1$s bloqueou a %2$s + %1$s cancelou o convite de %2$s + %1$s cambiou o seu avatar + %1$s cambiou o seu nome a %2$s + %1$s cambiou o seu nome de %2$s a %3$s + %1$s borrou o seu nome público (%2$s) + %1$s cambiou o tema desta sala para: %2$s + %1$s cambiou o nome desta sala para: %2$s + %s iniciou unha chamada de vídeo. + %s iniciou unha chamada de voz. + %s respondeu á chamada. + %s terminou a chamada. + %1$s fixo visible os próximos históricos para %2$s + toda a xente que integran esta sala, desde o momento en que foron convidados. + todas a xente da sala, desde o momento en que entraron. + todas os membros da sala. + todos. + descoñecido (%s). + %1$s activou a criptografía par-a-par (%2$s) + + %1$s solicitou unha conferencia VoIP + A conferencia VoIP comenzou + A conferencia VoIP terminou + + (o avatar tamén foi cambiado) + %1$s borrou o nome da sala + %1$s removeu o tema da sala + "redactou %1$s " + " de %1s" + " [motivo: %1$s]" + %1$s actualizou o seu perfil %2$s + %1$s envioulle un convite a %2$s para que entre na sala + %1$s aceptou o convite para %2$s + + ** Imposíbel descifrar: %s ** + O dispositivo do que envía non enviou as chaves desta mensaxe. + + Respondéndolle a + + Non se puido redactar + Non foi posíbel enviar a mensaxe + + Erro da conexión + Erro de Matrix + + Aínda non é posíbel volver a entrar nunha sala baleira. + + Mensaxe cifrada + + Número de teléfono + +Responder a + enviar un vídeo. + enviar un ficheiro de son. + enviar un ficheiro. + + diff --git a/matrix-sdk-android/src/main/res/values-hu/strings.xml b/matrix-sdk-android/src/main/res/values-hu/strings.xml new file mode 100644 index 00000000..ccbcead0 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-hu/strings.xml @@ -0,0 +1,76 @@ + +Matrix Android SDK + + %1$s: %2$s + %1$s küldött egy képet. + + %s meghívója + %1$s meghívta %2$s -t + %1$s meghívott + %1$s csatlakozott + %1$s kilépett + %1$s elutasította a meghívást + %1$s kidobta %2$s -t + %1$s feloldotta tiltását %2$s -nak/nek + %1$s kitiltotta %2$s -t + %1$s visszavonta %2$s\'s meghívását + %1$s megváltoztatták a felhasználó képüket + %1$s megváltoztatták a megjelenő nevüket erre: %2$s + %1$s megváltoztatták a megjelenő nevüket erről %2$s erre %3$s + %1$s eltávolították a megjelenő nevüket (%2$s) + %1$s megváltoztatta a témát erre: %2$s + %1$s megváltoztatta a szoba nevét erre: %2$s + %s videóhívást kezdeményezett. + %s hanghívást kezdeményezett. + %s elfogadta a hívást. + %s befejezte a hívást. + %1$s láthatóvá tette a jövőbeli előzményeket %2$s számára + az összes szoba tag, onnantól, hogy meg lettek hívva. + az összes szoba tag, onnantól, hogy csatlakoztak. + az összes szoba tag. + bárki. + ismeretlen (%s). + %1$s bekapcsolta a végtől végig titkosítást (%2$s) + + %1$s hanghívás konferenciát kérelmezett + Hanghívás konferencia elindult + Hanghívás konferencia befejeződött + + (profilképp is meg lett változtatva) + %1$s eltávolította a szoba nevét + %1$s eltávolította a szoba témáját + "szerkesztett %1$s " + " %1$s által" + " [ok: %1$s]" + %1$s megváltoztatták a profiljukat %2$s + "%1$s meghívót küldött %2$s -nak/-nek hogy csatlakozzon a szobához" + %1$s elfogadta a meghívót a %2$s -hoz + + ** Visszafejtés sikertelen: %s ** + A küldő eszköze nem küldte el a kulcsokat ehhez az üzenethez. + + Szerkesztés sikertelen + Üzenet küldése sikertelen + + Kép feltöltése sikertelen + + Hálózat hiba + Matrix hiba + + Jelenleg nem lehetséges újracsatlakozni egy üres szobába. + + Titkosított üzenet + + Email cím + Telefonszám + +%1$s küldött egy matricát. + + Válasz erre: + + kép elküldve. + videó elküldve. + hangfájl elküldve. + fájl elküldve. + + diff --git a/matrix-sdk-android/src/main/res/values-is/strings.xml b/matrix-sdk-android/src/main/res/values-is/strings.xml new file mode 100644 index 00000000..e665055a --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-is/strings.xml @@ -0,0 +1,70 @@ + +Matrix Android SDK + + %1$s: %2$s + %1$s sendi mynd. + %1$s sendi límmerki. + + %s sendi boð um þátttöku + %1$s bauð %2$s + %1$s bauð þér + %1$s gekk í hópinn + %1$s hætti + %1$s hafnaði boðinu + %1$s sparkaði %2$s + %1$s afbannaði %2$s + %1$s bannaði %2$s + %1$s breyttu auðkennismynd sinni + allir meðlimir spjallrásar, síðan þeim var boðið. + allir meðlimir spjallrásar, síðan þeir skráðu sig. + allir meðlimir spjallrásar. + hver sem er. + óþekktur (%s). + VoIP-símafundur hafinn + VoIP-símafundi lokið + + (einnig var skipt um auðkennismynd) + " af %1$s" + " [ástæða: %1$s]" + ** Mistókst að afkóða: %s ** + Sem svar til + + Gat ekki sent skilaboð + + Gat ekki sent inn mynd + + Villa í netkerfi + Villa í Matrix + + Dulrituð skilaboð + + Tölvupóstfang + Símanúmer + +%1$s tók til baka boð frá %2$s + %1$s setti birtingarnafn sitt sem %2$s + %1$s breytti birtingarnafni sínu úr %2$s í %3$s + %1$s fjarlægði birtingarnafn sitt (%2$s) + %1$s breytti umræðuefninu í: %2$s + %1$s breytti heiti spjallrásarinnar í: %2$s + %s hringdi myndsamtal. + %s hringdi raddsamtal. + %s svaraði símtalinu. + %s lauk símtalinu. + %1$s kveikti á enda-í-enda dulritun (%2$s) + + %1$s bað um VoIP-símafund + %1$s fjarlægði heiti spjallrásar + %1$s fjarlægði umfjöllunarefni spjallrásar + %1$s gerði ferilskrá spjallrásar héðan í frá sýnilega fyrir %2$s + "ritstýrði %1$s " + %1$s uppfærði notandasniðið sitt %2$s + %1$s sendi boð til %2$s um þátttöku í spjallrásinni + %1$s samþykkti boð um að taka þátt í %2$s + + Tæki sendandans hefur ekki sent okkur dulritunarlyklana fyrir þessi skilaboð. + + Gat ekki ritstýrt + Ekki er í augnablikinu hægt að taka aftur þátt í spjallrás sem er tóm. + + diff --git a/matrix-sdk-android/src/main/res/values-it/strings.xml b/matrix-sdk-android/src/main/res/values-it/strings.xml new file mode 100644 index 00000000..5348662f --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-it/strings.xml @@ -0,0 +1,76 @@ + +Matrix Android SDK + + %1$s: %2$s + %1$s ha inviato un\'immagine. + + Invito di %s + %1$s ha invitato %2$s + %1$s ti ha invitato + %1$s è entrato + %1$s è uscito + %1$s ha rifiutato l\'invito + %1$s ha buttato fuori %2$s + %1$s ha tolto il bando a %2$s + %1$s ha bandito %2$s + %1$s ha revocato l\'invito per %2$s + %1$s ha modificato il suo avatar + %1$s hanno cambiato il nome visualizzato con %2$s + %1$s ha cambiato il nome visualizzato da %2$s a %3$s + %1$s ha rimosso il nome visibile (%2$s) + %1$s ha cambiato l\'argomento con: %2$s + %1$s ha cambiato il nome della stanza con: %2$s + %s ha iniziato una chiamata video. + %s ha iniziato una chiamata vocale. + %s ha risposto alla chiamata. + %s ha terminato la chiamata. + %1$s ha reso la futura cronologia della stanza visibile a %2$s + tutti i membri della stanza, dal momento del loro invito. + tutti i membri della stanza, dal momento in cui sono entrati. + tutti i membri della stanza. + chiunque. + sconosciuto (%s). + %1$s ha attivato la crittografia end-to-end (%2$s) + + %1$s ha richiesto una conferenza VoIP + Conferenza VoIP iniziata + Conferenza VoIP terminata + + (anche l\'avatar è cambiato) + %1$s ha rimosso il nome della stanza + %1$s ha rimosso l\'argomento della stanza + " da %1$s" + " [motivo: %1$s]" + %1$s ha aggiornato il profilo %2$s + %1$s ha mandato un invito a %2$s per unirsi alla stanza + %1$s ha accettato l\'invito per %2$s + + ** Impossibile decriptare: %s ** + Il dispositivo del mittente non ci ha inviato le chiavi per questo messaggio. + + Impossibile revisionare + Impossibile inviare il messaggio + + Invio dell\'immagine fallito + + Errore di rete + Errore di Matrix + + Al momento non è possibile rientrare in una stanza vuota. + + Messaggio criptato + + Indirizzo email + Numero di telefono + +"revisionato %1$s " + %1$s ha inviato un adesivo. + + In risposta a + + inviata un\'immagine. + inviato un video. + inviato un file audio. + inviato un file. + + diff --git a/matrix-sdk-android/src/main/res/values-lv/strings.xml b/matrix-sdk-android/src/main/res/values-lv/strings.xml new file mode 100644 index 00000000..0e7a9cc0 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-lv/strings.xml @@ -0,0 +1,67 @@ + +Matrix Android SDK + + %1$s: %2$s + %1$s nosūtīja attēlu. + + %s\'s uzaicinājums + %1$s uzaicināja %2$s + %1$s uzaicināja tevi + %1$s pievienojās + %1$s atstāja + %1$s noraidīja uzaicinājumu + %1$s \"izspēra\" ārā %2$s + %1$s atbanoja (atcēla pieejas liegumu) %2$s + %1$s liedza pieeju (banoja) %2$s + %1$s atsauca %2$s uzaicinājumu + %1$s nomainīja profila attēlu + %1$s uzstādīja redzamo vārdu uz %2$s + %1$s nomainīja redzamo vārdu no %2$s uz %3$s + %1$s dzēsa savu redzamo vārdu (%2$s) + %1$s nomainīja tēmas nosaukumu uz: %2$s + %1$s nomainīja istabas nosaukumu uz: %2$s + %s veica video zvanu. + %s veica audio zvanu. + %s atbildēja zvanam. + %s beidza zvanu. + %1$s padarīja istabas nākamo ziņu vēsturi redzamu %2$s + visi istabas biedri no brīža, kad tika uzaicināti. + visi istabas biedri no brīža, kad tika pievienojušies. + visi istabas biedri. + ikviens. + nezināms (%s). + %1$s ieslēdza ierīce-ierīce šifrēšanu (%2$s) + + %1$s vēlas VoIP konferenci + VoIP konference sākusies + VoIP konference ir beigusies + + (arī profila attēls mainījās) + %1$s dzēsa istabas nosaukumu + %1$s dzēsa istabas tēmas nosaukumu + "rediģēts %1$s " + " no %1$s" + " [iemesls: %1$s]" + %1$s atjaunoja profila informāciju %2$s + %1$s nosūtīja uzaicinājumu %2$s pievienoties istabai + %1$s apstiprināja uzaicinājumu priekš %2$s + + ** Nav iespējams atkodēt: %s ** + Sūtītāja ierīce mums nenosūtīja atslēgas priekš šīs ziņas. + + Nevarēja rediģēt + Nav iespējams nosūtīt ziņu + + Neizdevās augšuplādēt attēlu + + Tīkla kļūda + Matrix kļūda + + Šobrīd nav iespējams atkārtoti pievienoties tukšai istabai. + + Šifrēta ziņa + + Epasta adrese + Telefona numurs + + diff --git a/matrix-sdk-android/src/main/res/values-nl/strings.xml b/matrix-sdk-android/src/main/res/values-nl/strings.xml new file mode 100644 index 00000000..11f8e438 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-nl/strings.xml @@ -0,0 +1,85 @@ + + + Matrix Android SDK + + %1$s: %2$s + %1$s stuurde een afbeelding. + + %s\'s uitnodiging + %1$s nodigde %2$s uit + %1$s heeft jou uitgenodigd + %1$s is tot de ruimte toegetreden + %1$s heeft de ruimte verlaten + %1$s heeft de uitnodiging niet geaccepteerd + %1$s verwijderde %2$s + %1$s heeft %2$s ontbannen + %1$s heeft %2$s verbannen + %1$s heeft de uitnodiging van %2$s teruggetrokken + %1$s heeft zijn of haar avatar aangepast + %1$s heeft zijn of haar naam aangepast naar %2$s + %1$s heeft zijn of haar naam aangepast van %2$s naar %3$s + %1$s heeft zijn of haar naam verwijderd (%2$s) + %1$s heeft het onderwerp veranderd naar: %2$s + %1$s heeft de ruimtenaam veranderd naar: %2$s + %s heeft een video-oproep geplaatst. + %s heeft een spraak-oproep geplaatst. + %s heeft de oproep beantwoord. + %s heeft de oproep beëindigd. + %1$s heeft de toekomstige geschiedenis beschikbaar gemaakt voor %2$s + alle ruimte deelnemers, vanaf het punt dat ze zijn uitgenodigd. + alle ruimte deelnemers, vanaf het punt dat ze zijn toegetreden. + alle ruimte deelnemers. + Iedereen. + onbekend (%s). + %1$s heeft eind-tot-eind encryptie aangezet (%2$s) + + %1$s heeft een VoIP vergadering aangevraagd + VoIP vergadering gestart + VoIP vergadering gestopt + + (avatar was veranderd naar) + %1$s heeft de ruimtenaam verwijderd + %1$s heeft het ruimteonderwerp verwijderd + verdwijderd %1$s + door %1$s + [reden: %1$s] + %1$s heeft zijn of haar profiel %2$s geüpdatet + %1$s stuurde een uitnodiging naar %2$s om de ruimte toe te treden + %1$s accepteerde de uitnodiging voor %2$s + + ** Niet in staat tot het decoderen van: %s ** + De afzender\'s apparaat heeft geen sleutels voor dit bericht gestuurd. + + + Kon niet verwijderd worden + Niet in staat om het bericht te sturen + + Uploaden van de afbeelding mislukt + + + Netwerkfout + Matrix fout + + + + + + + Het is momenteel niet mogelijk om een lege ruimte opnieuw toe te treden. + + Versleuteld bericht + + + E-mailadres + Telefoonnummer + +%1$s heeft een sticker gestuurd. + + Als antwoord op + + verstuurde een plaatje. + verstuurde een video. + verstuurde een audiobestand. + verstuurde een bestand. + + diff --git a/matrix-sdk-android/src/main/res/values-nn/strings.xml b/matrix-sdk-android/src/main/res/values-nn/strings.xml new file mode 100644 index 00000000..b9010f0c --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-nn/strings.xml @@ -0,0 +1,75 @@ + +Kryptert melding + + Matrix-Android-SDK + + %1$s: %2$s + %1$s sende eit bilete. + %1$s sende eit klistremerke. + + %s si innbyding + %1$s baud %2$s inn + %1$s baud deg inn + %1$s kom inn + %1$s fór ut + %1$s sa nei til innbydinga + %1$s sparka %2$s + %1$s slapp %2$s inn att + %1$s stengde %2$s ute + %1$s tok attende %2$s si innbyding + %1$s endra avataren sin + %1$s sette visingsnamnet sitt som %2$s + %1$s endra visingsnamnet sitt frå %2$s til %3$s + %1$s fjerna visingsnamnet sitt (%2$s) + %1$s endra emnet til: %2$s + %1$s endra romnamnet til: %2$s + %s starta ei videosamtale. + %s starta ei røystsamtale. + %s tok røret. + %s la på røret. + %1$s gjorde den framtidige romhistoria synleg for %2$s + alle rommedlemer, frå då dei vart bodne inn. + alle rommedlemer, frå då dei kom inn. + alle rommedlemer. + kven som helst. + ukjend (%s). + %1$s skrudde ende-til-ende-enkryptering på (%2$s) + + %1$s bad om ei VoIP-gruppesamtale + VoIP-gruppesamtala er starta + VoIP-gruppesamtala er ferdig + + (avataren vart endra òg) + %1$s fjerna romnamnet + %1$s fjerna romemnet + "gjorde om på %1$s " + " av %1$s" + " [grunnlag: %1$s]" + %1$s oppdaterte profilbiletet sitt %2$s + %1$s baud %2$s inn i rommet + %1$s sa ja til innbydinga til %2$s + + ** Klarte ikkje dekryptere: %s ** + Avsendareininga har ikkje sendt oss nyklane for denne meldinga. + + Som svar til + + Kunne ikkje gjera om + Klarte ikkje å senda meldinga + + Fekk ikkje til å lasta biletet opp + + Noko gjekk gale med nettverket + Noko gjekk gale med Matrix + + Det er førebels ikkje mogeleg å fara inn att i eit tomt rom. + + Epostadresse + Telefonnummer + + sende eit bilete. + sende ein video. + sende ein ljodfil. + sende ei fil. + + diff --git a/matrix-sdk-android/src/main/res/values-pl/strings.xml b/matrix-sdk-android/src/main/res/values-pl/strings.xml new file mode 100644 index 00000000..9cdc88bd --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-pl/strings.xml @@ -0,0 +1,44 @@ + +Matrix Android SDK + + %1$s: %2$s + %1$s wysłał zdjęcie. + + Zaproszenie od %s + %1$s zaprosił %2$s + %1$s zaprosił Cię + %1$s dołączył + %1$s wyszedł + %1$s odrzucił zaproszenie + %1$s wyrzucił %2$s + %1$s odblokował %2$s + %1$s zablokował %2$s + %1$s zmienił awatar + %1$s zmienił wyświetlaną nazwę na %2$s + %1$s zmienił wyświetlaną nazwę z %2$s na %3$s + %1$s usunął swoją wyświetlaną nazwę (%2$s) + %1$s zmienił temat na: %2$s + Nie udało się wysłać wiadomości + + Nie udało się wysłać zdjęcia + + ogólne błędy + Błąd Matrixa + + Wiadomość zaszyfrowana + + Adres e-mail + Numer telefonu + +wszyscy członkowie pokoju. + wszyscy. + %1$s zmienił znawę pokoju na: %2$s + %s zakończył rozmowę. + %1$s usunął nazwę pokoju + %1$s usunął temat pokoju + " [powód: %1$s]" + %1$s wysłał naklejkę. + + %1$s włączył szyfrowanie end-to-end (%2$s) + + diff --git a/matrix-sdk-android/src/main/res/values-pt-rBR/strings.xml b/matrix-sdk-android/src/main/res/values-pt-rBR/strings.xml new file mode 100644 index 00000000..25e57390 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-pt-rBR/strings.xml @@ -0,0 +1,88 @@ + + + Matrix Android SDK + + %1$s: %2$s + %1$s enviou uma imagem. + + convite de %s + %1$s convidou %2$s + %1$s convidou você + %1$s entrou + %1$s saiu + %1$s recusou o convite + %1$s expulsou %2$s + %1$s des-baniu %2$s + %1$s baniu %2$s + %1$s cancelou o convite de %2$s + %1$s mudou seu avatar + %1$s definiu seu nome público como %2$s + %1$s alterou seu nome públido de %2$s para %3$s + %1$s apagou seu nome público (%2$s) + %1$s alterou o tópico desta sala para: %2$s + %1$s alterou o nome desta sala para: %2$s + %s iniciou uma chamada de vídeo. + %s iniciou uma chamada de voz. + %s respondeu à chamada. + %s encerrou a chamada. + %1$s deixou o histórico futuro desta sala visível para %2$s + todas as pessoas que integram esta sala, a partir do momento em que foram convidadas. + todas as pessoas que integram esta sala, a partir do momento em que entraram. + todas as pessoas que integram esta sala. + qualquer pessoa. + desconhedido (%s). + %1$s ativou a criptografia ponta-a-ponta (%2$s) + + %1$s solicitou uma conferência VoIP + A conferência VoIP começou + A conferência VoIP terminou + + (o avatar também foi alterado) + %1$s apagou o nome da sala + %1$s apagou o tópico da sala + removeu a mensagem %1$s + por %1$s + [razão: %1$s] + %1$s atualizou o seu perfil %2$s + %1$s enviou um convite para que %2$s se junte à sala + %1$s aceitou o convite para %2$s + + ** Impossível descriptografar: %s ** + O dispositivo de quem enviou a mensagem não nos enviou as chaves para esta mensagem. + + + Não foi possível apagar + Não foi possível enviar a mensagem + + O envio da imagem falhou + + + Erro de conexão à internet + Erro no servidor Matrix + + + + + + + + + Ainda não é possível voltar a entrar em uma sala vazia. + + Mensagem criptografada + + + Endereço de email + Número de telefone + + +%1$s enviou um sticker. + + Em resposta a + + enviou uma imagem. + enviou um vídeo. + enviou um arquivo de áudio. + enviou um arquivo. + + diff --git a/matrix-sdk-android/src/main/res/values-pt/strings.xml b/matrix-sdk-android/src/main/res/values-pt/strings.xml new file mode 100644 index 00000000..6d8500a6 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-pt/strings.xml @@ -0,0 +1,79 @@ + + + Matrix Android SDK + + %1$s: %2$s + %1$s enviou uma imagem. + + convite de %s + %1$s convidou %2$s + %1$s convidou-o + %1$s entrou + %1$s saiu + %1$s recusou o convite + %1$s expulsou %2$s + %1$s des-baniu %2$s + %1$s baniu %2$s + %1$s cancelou o convite de %2$s + %1$s mudou o seu avatar + %1$s definiu seu nome público como %2$s + %1$s alterou seu nome público de %2$s para %3$s + %1$s apagou o seu nome público (%2$s) + %1$s alterou o tópico desta sala para: %2$s + %1$s alterou o nome desta sala para: %2$s + %s iniciou uma chamada de vídeo. + %s iniciou uma chamada de voz. + %s respondeu à chamada. + %s terminou a chamada. + %1$s tornou o histórico futuro desta sala visível para %2$s + todas os membros que integram esta sala, a partir do momento em que foram convidados. + todas os membros da sala, a partir do momento em que entraram. + todas os membros da sala. + todos. + desconhecida (%s). + %1$s ativou a criptografia ponta-a-ponta (%2$s) + + %1$s solicitou uma conferência VoIP + A conferência VoIP começou + A conferência VoIP terminou + + (o avatar também foi alterado) + %1$s removeu o nome da sala + %1$s removeu o tópico da sala + "apagou a mensagem %1$s " + por %1$s + [razão: %1$s] + %1$s atualizou o seu perfil %2$s + %1$s enviou um convite para que %2$s se junte à sala + %1$s aceitou o convite para %2$s + + ** Impossível decifrar: %s ** + O dispositivo de quem enviou a mensagem não nos enviou as chaves para esta mensagem. + + + Não foi possível apagar + Não foi possível enviar a mensagem + + O envio da imagem falhou + + + Erro de conexão à Internet + Erro do Matrix + + + + + + + + + Ainda não é possível voltar a entrar numa sala vazia. + + Mensagem cifrada + + + Endereço de e-mail + Número de telefone + + + diff --git a/matrix-sdk-android/src/main/res/values-ru/strings.xml b/matrix-sdk-android/src/main/res/values-ru/strings.xml new file mode 100644 index 00000000..704ea394 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-ru/strings.xml @@ -0,0 +1,87 @@ + + + Matrix Android SDK + + %1$s: %2$s + %1$s отправил(а) изображение. + + %s приглашение + %1$s пригласил(а) %2$s + %1$s пригласил(а) вас + %1$s присоединился(лась) + %1$s покинул(а) + %1$s отклонил(а) приглашение + %1$s выгнан %2$s + %1$s разблокировал(а) %2$s + %1$s заблокировал(а) %2$s + %1$s отозвал(а) приглашение %2$s + %1$s изменил(а) свой аватар + %1$s установил(а) имя %2$s + %1$s изменил(а) имя с %2$s на %3$s + %1$s удалил(а) свое имя (%2$s) + %1$s изменил(а) тему на: %2$s + %1$s изменил(а) название комнаты: %2$s + %s начал(а) видеовызов. + %s начал(а) голосовой вызов. + %s ответил(а) на звонок. + %s завершил(а) вызов. + %1$s сделал(а) будущую историю комнаты видимой %2$s + всем членам, с момента их приглашения. + всем членам, с момента присоединения. + всем членам. + всем. + неизвестно (%s). + %1$s включил(а) сквозное шифрование (%2$s) + + %1$s запросил(а) VoIP конференцию + VoIP-конференция начата + VoIP-конференция завершена + + (аватар также был изменен) + %1$s удалил(а) название комнаты + %1$s удалил(а) тему комнаты + "отредактировано %1$s " + %1$s + [причина: %1$s] + %1$s обновил(а) свой профиль %2$s + %1$s отправил(а) приглашение %2$s присоединиться к комнате + %1$s принял(а) приглашение от %2$s + + ** Невозможно расшифровать: %s ** + Устройство отправителя не предоставило нам ключ для расшифровки этого сообщения. + + + Не удалось изменить + Не удалось отправить сообщение + + Не удалось загрузить изображение + + + Сетевая ошибка + Ошибка Matrix + + + + + + + + + В настоящее время невозможно вновь присоединиться к пустой комнате. + + Зашифрованное сообщение + + + Адрес электронной почты + Номер телефона + + %1$s отправил стикер. + + В ответ на + + отправил изображение. + отправил видео. + отправил аудиофайл. + отправил файл. + + diff --git a/matrix-sdk-android/src/main/res/values-sk/strings.xml b/matrix-sdk-android/src/main/res/values-sk/strings.xml new file mode 100644 index 00000000..fb98be02 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-sk/strings.xml @@ -0,0 +1,76 @@ + +Matrix Android SDK + + %1$s: %2$s + %1$s poslal obrázok. + + Pozvanie %s + %1$s pozval %2$s + %1$s vás pozval + %1$s vstúpil + %1$s opustil + %1$s odmietol pozvanie + %1$s vykázal %2$s + %1$s povolil vstup %2$s + %1$s zakázal vstup %2$s + %1$s stiahol pozvanie %2$s + %1$s si zmenil obrázok v profile + %1$s si nastavil zobrazované meno %2$s + %1$s si zmenil zobrazované meno z %2$s na %3$s + %1$s odstránil svoje zobrazované meno (%2$s) + %1$s zmenil tému na: %2$s + %1$s zmenil názov miestnosti na: %2$s + %s uskutočnil video hovor. + %s uskutočnil audio hovor. + %s prijal hovor. + %s ukončil hovor. + %1$s sprístupnil budúcu históriu miestnosti %2$s + pre všetkých členov, od kedy boli pozvaní. + pre všetkých členov, od kedy vstúpili. + pre všetkých členov. + pre každého. + neznámym (%s). + %1$s povolil E2E šifrovanie (%2$s) + + %1$s požiadal o VoIP konferenciu + Začala VoIP konferencia + Skončila VoIP konferencia + + (a tiež obrázok v profile) + %1$s odstránil názov miestnosti + %1$s odstránil tému miestnosti + "zmazaná udalosť %1$s " + " používateľom %1$s" + " [dôvod: %1$s]" + %1$s aktualizoval svoj profil %2$s + %1$s pozval %2$s vstúpiť do miestnosti + %1$s prijal pozvanie do %2$s + + ** Nie je možné dešifrovať: %s ** + Zo zariadenia odosieľateľa nebolo možné získať kľúče potrebné na dešifrovanie tejto správy. + + Nie je ožné vymazať + Nie je možné odoslať správu + + Nepodarilo sa nahrať obrázok + + Chyba siete + Chyba Matrix + + V súčasnosti nie je možné znovu vstúpiť do prázdnej miestnosti. + + Šifrovaná správa + + Emailová adresa + Telefónne číslo + +%1$s poslal nálepku. + + Odpoveď na + + odoslal obrázok. + odoslal video. + odoslal zvukový súbor. + Odoslal súbor. + + diff --git a/matrix-sdk-android/src/main/res/values-sq/strings.xml b/matrix-sdk-android/src/main/res/values-sq/strings.xml new file mode 100644 index 00000000..a6b3daec --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-sq/strings.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/matrix-sdk-android/src/main/res/values-te/strings.xml b/matrix-sdk-android/src/main/res/values-te/strings.xml new file mode 100644 index 00000000..207e69c0 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-te/strings.xml @@ -0,0 +1,67 @@ + +%s\'s ఆహ్వానం + %1$s ఆహ్వానించారు %2$s + %1$s వదిలి వెళారు + %1$s ఆహ్వానాన్ని తిరస్కరించారు + %1$s తన్నాడు %2$s + %1$s నిషేధాన్ని %2$s + %1$s నిషేధించారు %2$s + %1$s ఉపసంహరించుకుంది %2$s\'s ఆహ్వానం + %1$s వారి అవతార్ను మార్చారు + %1$s వారి డిస్ప్లే పేరును ని సెట్ చేసారు %2$s + %1$s వారి ప్రదర్శన పేరును %2$s నుండి %3$s మార్చారు + %1$s వారి ప్రదర్శన పేరుని తీసివేసారు (%2$s) + %1$s అంశం మార్చబడింది:%2$s + %1$s గది పెరు మార్చబడింది %2$s + %s ఒక వీడియో కాల్ని ఉంచింది. + %s వాయిస్ కాల్ని ఉంచారు. + %s కాల్కి సమాధానం ఇచ్చారు. + %s కాల్ ముగిసింది. + %1$s భవిష్యత్ గది చరిత్రను %2$s కి కనిపించేలా చేసింది + పాయింట్నుండి, అన్ని గది సభ్యుల వారు ఆహ్వానించబడ్డారు. + పాయింట్ నుండి, అన్ని గదుల సభ్యుల వారు చేరారు. + అన్ని గదుల సభ్యులు. + ఎవరైనా. + తెలియని (%s). + %1$s ఎండ్-టు-ఎండ్ ఎన్క్రిప్షన్ ఆన్ చెయ్యబడింది (%2$s) + + %1$s వి ఓ ఇ పి సమావేశాన్ని అభ్యర్థించారు + వి ఓ ఇ పి సమావేశం ప్రారంభమైంది + వి ఓ ఇ పి సమావేశం ముగిసింది + + (అవతార్ మార్చబడింది) + %1$s గది పేరు తొలగించబడింది + %1$s గది అంశాన్ని తీసివేసారు + "శోధించాడు %1$s " + " ద్వారా %1$s" + " [కారణం:%1$s]" + %1$s వారి ప్రొఫైల్ నవీకరించబడింది %2$s + %1$s గదిలో చేరడానికి %2$s కు ఆహ్వానాన్ని పంపారు + %2$sకోసం %1$s ఆహ్వానాన్ని అంగీకరించారు + + ** వ్యక్తీకరించడానికి సాధ్యం కాలేదు: %s ** + ఈ సందేశానికి పంపేవారి పరికరం మాకు కీలను పంపలేదు. + + గది స్క్రీన్ + సందేశం పంపడం సాధ్యం కాలేదు + + చిత్రాన్ని అప్లోడ్ చేయడంలో విఫలమైంది + + సాధారణ లోపాలు + మాట్రిక్స్ లోపం + + మళ్లీ ఖాళీ గది ని చేరడానికి ప్రస్తుతం ఇది సాధ్యం కాదు. + + ఎన్క్రిప్టెడ్ సందేశం + + ఇమెయిల్ చిరునామా + ఫోను నంబరు + +మ్యాట్రిక్స్ అండ్రొఇడ్ ఏస్ డి కె + + %1$s: %2$s + %1$s ఒక చిత్రం పంపారు. + + %1$s మిమ్మల్ని ఆహ్వానించారు + %1$s చేరారు + diff --git a/matrix-sdk-android/src/main/res/values-th/strings.xml b/matrix-sdk-android/src/main/res/values-th/strings.xml new file mode 100644 index 00000000..d8374c66 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-th/strings.xml @@ -0,0 +1,5 @@ + +Matrix Android SDK + + %1$s: %2$s + diff --git a/matrix-sdk-android/src/main/res/values-uk/strings.xml b/matrix-sdk-android/src/main/res/values-uk/strings.xml new file mode 100644 index 00000000..24cf6744 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-uk/strings.xml @@ -0,0 +1,11 @@ + +Matrix Android SDK + + %1$s: %2$s + %1$s відправив зображення. + + %s запрошення + %1$s запросив(ла) %2$s + Закодоване повідомлення + + diff --git a/matrix-sdk-android/src/main/res/values-zh-rCN/strings.xml b/matrix-sdk-android/src/main/res/values-zh-rCN/strings.xml new file mode 100644 index 00000000..5d5edf5c --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-zh-rCN/strings.xml @@ -0,0 +1,76 @@ + +%1$s 发送了一张图片。 + + %s 的邀请 + %1$s 邀请了 %2$s + %1$s 邀请了您 + %1$s 加入了聊天室 + %1$s 退出了聊天室 + %1$s 拒绝了邀请 + %1$s 移除了 %2$s + %1$s 解封了 %2$s + %1$s 封禁了 %2$s + %1$s 更换了他们的头像 + %1$s 将他们的昵称设置为 %2$s + %1$s 把他们的昵称从 %2$s 改为 %3$s + %1$s 移除了他们的昵称 (%2$s) + %1$s 把主题改为: %2$s + %1$s 把聊天室名称改为: %2$s + %s 发起了一次视频通话。 + %s 发起了一次语音通话。 + %s 已接听通话。 + %s 已结束通话。 + 所有聊天室成员,从他们被邀请开始。 + 所有聊天室成员,从他们加入开始。 + 所有聊天室成员。 + 任何人。 + 未知(%s)。 + %1$s 开启了端对端加密(%2$s) + + %1$s 请求了一次 VoIP 会议 + VoIP 会议已开始 + VoIP 会议已结束 + + (头像也被更改) + %1$s 移除了聊天室名称 + %1$s 移除了聊天室主题 + " [理由:%1$s]" + ** 无法解密:%s ** + 发送者的设备没有向我们发送此消息的密钥。 + + 无法发送消息 + + 上传图像失败 + + 网络错误 + Matrix 错误 + + 目前无法重新加入一个空的聊天室。 + + 已加密消息 + + 邮箱地址 + 电话号码 + +%1$s 撤销了对 %2$s 的邀请 + %1$s 让之后的聊天室历史记录对 %2$s 可见 + "删改了 %1$s " + " 被 %1$s" + %1$s 更新了他们的配置文件 %2$s + %1$s 向 %2$s 发送了加入聊天室的邀请 + %1$s 接受了 %2$s 的邀请 + + 无法撤回 + Matrix Android SDK + + %1$s:%2$s + %1$s 发送了一张贴纸。 + + 发送了一张图片。 + 发送了一个视频。 + 发送了一段音频。 + 发送了一个文件。 + +回复 + + diff --git a/matrix-sdk-android/src/main/res/values-zh-rTW/strings.xml b/matrix-sdk-android/src/main/res/values-zh-rTW/strings.xml new file mode 100644 index 00000000..516201cb --- /dev/null +++ b/matrix-sdk-android/src/main/res/values-zh-rTW/strings.xml @@ -0,0 +1,76 @@ + +Matrix Android 軟體開發工具 + + %1$s:%2$s + %1$s 傳送了一張圖片。 + + %s 的邀請 + %1$s 邀請了 %2$s + %1$s 邀請您 + %1$s 已加入 + %1$s 已離開 + %1$s 拒絕邀請 + %1$s 踢出 %2$s + %1$s 解除禁止 %2$s + %1$s 禁止 %2$s + %1$s 收回了對 %2$s 的邀請 + %1$s 變更了他們的大頭貼 + %1$s 設定了他們的顯示名稱為 %2$s + %1$s 變更了他們的顯示名稱從 %2$s 到 %3$s + %1$s 移除了他們的顯示名稱 (%2$s) + %1$s 變更主題為:%2$s + %1$s 變更房間名稱為:%2$s + %s 撥出了視訊通話。 + %s 撥出了語音通話。 + %s 回覆了通話。 + %s 結束通話。 + %1$s 讓房間未來可讓 %2$s 看到歷史紀錄 + 所有的房間成員,從他們被邀請的時間開始。 + 所有的房間成員,從他們加入的時間開始。 + 所有的房間成員。 + 任何人。 + 未知 (%s)。 + %1$s 開啟了端對端加密 (%2$s) + + %1$s 請求了 VoIP 會議通話 + VoIP 會議通話已開始 + VoIP 會議通話已結束 + + (大頭貼也變更了) + %1$s 移除了房間名稱 + %1$s 移除了房間主題 + "已編輯 %1$s " + " 由 %1$s" + " [理由:%1$s]" + %1$s 更新了他們的基本資料 %2$s + %1$s 傳送加入房間的邀請給 %2$s + %1$s 接受 %2$s 的邀請 + + ** 無法解密:%s ** + 傳送者的裝置並未在此訊息傳送他們的金鑰。 + + 無法編輯 + 無法傳送訊息 + + 上傳圖片失敗 + + 網路錯誤 + Matrix 錯誤 + + 目前無法重新加入空房間。 + + 已加密的訊息 + + 電子郵件 + 電話號碼 + +%1$s 傳送了一張貼圖。 + + 回覆 + + 傳送了圖片。 + 傳送了影片。 + 傳送了音訊檔案。 + 傳送了檔案。 + + diff --git a/matrix-sdk-android/src/main/res/values/dimens.xml b/matrix-sdk-android/src/main/res/values/dimens.xml new file mode 100644 index 00000000..f11f7450 --- /dev/null +++ b/matrix-sdk-android/src/main/res/values/dimens.xml @@ -0,0 +1,3 @@ + + + diff --git a/matrix-sdk-android/src/main/res/values/strings.xml b/matrix-sdk-android/src/main/res/values/strings.xml index e13f2d6a..28e684ed 100644 --- a/matrix-sdk-android/src/main/res/values/strings.xml +++ b/matrix-sdk-android/src/main/res/values/strings.xml @@ -1,3 +1,87 @@ - matrix-sdk-android + Matrix Android SDK + + %1$s: %2$s + %1$s sent an image. + %1$s sent a sticker. + + %s\'s invitation + %1$s invited %2$s + %1$s invited you + %1$s joined + %1$s left + %1$s rejected the invitation + %1$s kicked %2$s + %1$s unbanned %2$s + %1$s banned %2$s + %1$s withdrew %2$s\'s invitation + %1$s changed their avatar + %1$s set their display name to %2$s + %1$s changed their display name from %2$s to %3$s + %1$s removed their display name (%2$s) + %1$s changed the topic to: %2$s + %1$s changed the room name to: %2$s + %s placed a video call. + %s placed a voice call. + %s answered the call. + %s ended the call. + %1$s made future room history visible to %2$s + all room members, from the point they are invited. + all room members, from the point they joined. + all room members. + anyone. + unknown (%s). + %1$s turned on end-to-end encryption (%2$s) + + %1$s requested a VoIP conference + VoIP conference started + VoIP conference finished + + (avatar was changed too) + %1$s removed the room name + %1$s removed the room topic + redacted %1$s + by %1$s + [reason: %1$s] + %1$s updated their profile %2$s + %1$s sent an invitation to %2$s to join the room + %1$s accepted the invitation for %2$s + + ** Unable to decrypt: %s ** + The sender\'s device has not sent us the keys for this message. + + + In reply to + + + Could not redact + Unable to send message + + Failed to upload image + + + Network error + Matrix error + + + + + + + + + It is not currently possible to re-join an empty room. + + Encrypted message + + + Email address + Phone number + + + sent an image. + sent a video. + sent an audio file. + sent a file. +

    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˻d@|I(i$)>n1Hfa&7Oc3 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 !|Ce_Qfrub4Z`+n zs`Sj~wC}cYp%d?klaG5Um9Nd}P36(eGbsj*ZWp`nrZZ{xZ5YaDr3DUvuGs(IWKQ5K z{`bVr1eHbn2GqR>g$zMad77xu(9}nQyyg+2TigCbM`o>Y2sOx1)>`ph@*HwH0{jrF z!P^7Tzx5JpWfE)oa{3eNIWSGEogESDxrnc)bo!3?B#guO#PeLN{gav^)?StnYnPr) zLQw4NK1NVN`6A4Z(4OonjZ;pWe3LjD5g}hb9TD=Bf25v_6{)1Rf=KV=6@5{l-EO2n z-GTzeRtO5z-TP#G4k^(3&yWIjCr-xadYz0);$*Byzh7})%HZG(RB%2_+tNwVqdn=T z-qqU<$I~rK0~7nO<1{+|KFvIJoT)>1($J^A-q+CgSK`pOi=pp&T?~DDZ{oWahyKAo zaOm3;#CL5k;wuFIX(Oi9P!KRbJLBtgslIAQs#NbWr23*0xbye48Y&h0D!o?wp+0p1 zxo7f-^GLG`zV3ZSnY%V05uE9ge6s&+A)4jjoaru!cw-EAwlGqjGHK7?4+1d+VJeUC;hI(ysqxELfCC;!^``M5= zVvGIAx7hDa;Ux3wdHgO6G$wVKvM_0vwQZe55$>F1q3~gP-0c<~(!j@>Upy4&!JYGb z?A$YX^zsOgh4CA#mjLG(=(&KJz?d#dCUEyls0JsXI+K1s+ns{gXC}5o@lZ*M*?8i5P8Y1-@u-D6LdO}v(pWpmgmz+L zOMGjkEzxyC+_=~eL`2?7ChAiG^|u=$1>YZAd&K?-os9eA>Rw3MA2~z+`~7hp5A=9li`X9_zCX5|bS(ShmAth5@%%}Ae@wia z?~m!H^ZoH5mxz%(`Tz-inJn*LKQ~ey9}~_O_Qv@_DCA7R`3w=Rx80KZz2x)6Hl*Kw z-x-gmWA?>+egd--C_M7>zEN22x+0;Ydf_Cx|MDUC1mns5=0P)1{Xw{3=d(r9Z5#aV0GxTw92z7j1CmC{u|U?sFAh>x4w`^~(u~fP3ZIdV9IsT)n(>Z5dv=wiGYjacnYmxOyXX*sU+lJ4oIuHr1vn zmZ*!gT3DNm@W0_Z9cz>4^qEw-ePb%Le-Y4Ll7u$k_rSY64Dr~$AFwbRk%D7kPA??9 zOzoZ^EMITsVe{u~Oxgn5xbRPD$1&n@*ey(wanu2zNpj^`NgY7&9H9V+HVb<3kF$tg zj5&eRiyvFL0$`x#vdk&%2eYY04f|VnB9C)9f$@h81V$bQ1Mm51&pI#&EJ0&NCBDlN zlZ!VMcX%l4LP>z_K08Ocj_aKR?9y|RcEYk0s~yrAUk2cpVFPsmc6=(}U8s&&2)H}v zV875!N!7==1+@+7Of6G8(N(JCB4`x?3hXm0D8tzngmg$*SIH(Ca*V| zEWsvoj*v&}X`PiOldjB}b1-X`jJfNgm1fLQQJxj8l<`aG)LGd_)`l#xQ_AOtvdixd z4UE~yxvkP1%i&*SaUzgSoQs1?ZMY`~zDIk~#rNcfbkcBD(pv!le;keV8GyGS;H9ws zAp!V=vk6&;TX)1`x4?E@iDY%54PX!5n9|x^e%x^x)6j6Y#Ba7kg8`$#IlRHok56p6 z^Nme+7HqmVEqqtpHrp`$cO<0x^^Qottwk@ z9kmh3G(~uv_cs@2H&>(D7>V23EPJ2S#+YGR+t-n?*~3={g3VYx{N5x|>j|E{lUB4DfuOrT6hEA$?_**K%jgnRg2vxUcNv(3Dh-Op1mWrwj7>n{$g&1Rgw zM_x#FmDUeMLgjryKNZ9X7-pbbevHSXqeuW&^iguq z#fHNBxqz>CoRs-K^39RR_pNAUTbRq8;bzOR{?_F`ZUh!`j79jz+0Z|ZB=Q<-UQqG` zCGLZqds>cEHzC+B!17Pek;d1lyR6H1`QZdPot^`gI0v6!hj&H*BYmgSbw4G7$yB7J zrqBQl<7&EOOseCtzTDw~Li?ai>+(vx*0U5luf)!~flhRI(VBZ2wuf;m1MD;EMfX{} z0k+|EL}toREyCK?vZoJ=oYMK^|62ZnDLI#)TW~I2>x4U3i=zO!g78^<$&dWiB}H8_ z#oF(Ty70h7FDd*JD^1wuwaW-$!q;fi1gdmGz4jegh3XQ6WUXN8G&3S+!*l3gW$Bc% zII^hO;%>}@@i1pK2Y`V+M|fr_x?9GG%L@A?MlEp5n%~kXXJx@_Y%`J)^m-f{L}Ll9 zo6{A%Yo7NMrT ziE@MPUhAM5hZ#PByMs?42;Sffg?;@)wzL;>+#wmT2G&`JucDHc8G}8Zy$E8k%+JpL zftttMM(DwYQX58K2X5GQxkOT*eFW!<^R+4&sW1W-zs%1(9I!|fvwjzpMZ^EZC>SNd zazDG2ULmHG2Cwk5bN3M>^^`)?I=mi0uwfKDbMPiVdy+Q;?;9Ov>+nW=i9W2B;LUzE zpT9KhM#vqrUBi*j?&=Ink#5_p;ac0=ijz0TO>5&@^|>zsS$<2O`!fHtg8x~?|E%GE zF!KfcxpK}2apZJMb8#vk?KCU`B?pt<%d)~YZ_AdffetbX=TZERw98c(Z^T`cevJyl z+Bnj)eMQ|aUfOARK*I(Rp?>Vz*mBKXTDCS+h{==6Y~lW8&2nf=q{AHhPCIWzqa!a| zQ8rr+UlmzxE?XbouCCHr%XN=g-B8vYvT21-P;JtE*$HR4l0lft2^emKn!w*#NTttfAqr1(0g=S_-hIXxUy6h>N)VM=N3u zW(C;9J$yxK9cGV5%SJgBPpv!=4jR=-ApBVnarm7yp*Aq$RvR&rkLKQMgulj{&>%!^m$8b<|Tx{G~6Dp;gVML|=5RdHzXyvdYD48^Q)HMMC{ zA0;f@dV7KyXKCi!0!aWlaXt!zIk0P4HYujaTet%-X870GWgcvL_5>UU?Q!b^9VvFt zwK>?-`ELtf3{FSsjyJXtFY>dGze%)MLoI&xRkkE_86e^CtI(M8w8XGrhN#Vt-{OZB zDqlRf6>Ajs$>4$L0F9nK#hXBwMd{cq&Zf2p`RQr#`h&SX_QD z=M*4rE+B4$=$>6Ze5sQCL05q3-_th7%k06C0oH2#v@5~O0&M#CoIbQbkD(J3Ul0?J z+P&=S-Sj*rg9vV>>*9Cd$vhM7AnL)c8{!nTI~nMFKP5fzvr}yYNo(@bQkSu&iL?7Y zlte4IB&rqtN3!T;**JNRtmdBL+Li5b*obbqEQ*;FLXqv{BhH@mq-0XKlofLr3{TFz z{ptQoY8&VAHcqR`w~pm9Kd#u|FqTp>=$gnz61X-j{48`M@FXaK62)j(7v#fVth&D|4 zk!5Xjim&~`C+U%IP-H2f%q^eb*Auxb?GE@J{5AE+z5(84vL5;Bn-AiX_>=5@z`l3l zrN%lfdxBQI&$QbUV2_QtQX&IbwB)qLi%50Gp)!{Ju38!5d2r53=8 z?SwKYnTB$S)$ZDuqN(lInp3>L3xkk?0se6x_x#+^fI+AB=L zGxv-8_r)i}q)dY6v0wJxd#NE8-<{NhEK)K$doS79=#0)bNTRdbL}%@M1zwT3+IMQB zAq=ia%Dm|RYa;*Om4Z*k>pL&Dz&Yk;_dk4yr#sRYzW_W=s7_JhFV3M?vy!hK$5&V2 zt2TO7pL}&6zB&^&)Qbz~)yU+l1@KCbARA<@+@NllAh?oo>>L6|eIsn-I;n=?BB$b_ zSVAZlAoAK^#GPLfNzntc4~0`FEB*{OEQm@dma3iB_D|5V?Du)uTmPUPuXX~JsdCK0 zLjlN(OAeiZ!~q1B_zS4(Whd{a&_YVk;b(6!OTfZ ziV_H(Y$6m$TCHfM2L=?NYWA8IWsS9;? zmdbB_>uyuDjdG(R6BgxnzHdjY;{m-@e(xKW3Tjr$&;uS*3JAs^G%E3nP-6D6CvZ}D zBrfDV4~DDaj9KLtumff5vp++AdZ{Z=t?7yN@a+vp8yXPPJ~yI=?~2bm1w9HwI_iqGl>iuNzg z?DGMEi1!5`a3dyAnS%F!4(0-z9thU@SY(^nS&#KYlNPKu&aD#k`&a|K8egYV)^Vux z3{=AXI>pDv8kKG_DxqahiF8&6Z}71qdTa3qZ}Tw+e6QoSq%r%*g@gk0v7~?HZ9TZ* zHorm~m|>7OA86vG0rpv3qSi^ zcqP@w@@r9Y#P&iZqtrc-Tho; zYpkPKaYy@(&?&M081rT*Qc!sZVuHf%evF%YEX>r6iF;r^LdTQ-akQ)rR;y*zrpXSy z!3<0+I)^}KH4gk{!N<+rBWfI$&`FUlGcdZjnh7(Z<){HUveO*fhE^*mrCq5`lZUO3 zeAPW{Lwj7!CY7MuEOL15e$22prD`UhJ&2>UzAR3j8VUoEM{)4bZ~xYE6>o5&M&ef2 z?RFU3@x=3^POnl@eR5=Exj8lj7Gh+nALAJ+?9C&TtAP}u0JG1>&AfRi3Mq;|nB!xA z{4`tgvuzS35&#*??u)FFF*`v%yYcVYlBnI@5iV8~pNAdVOu|_H1Z~Lp0LHTq1pLA2 z=;N=jJHI4^_Ok~iBjLG^J+?cZaffitk2uW21uVe5LGuf$SpXP*3r8Cq%2F}mL7og`!_P3L9&)DxcvRaGLw0KF#tHavSz5%15;%6- zXa+~;52OKC5f+1V5R$Cz&vVg?@-dwHA*}WBILUtVu=N0A*@l@;-Ea0H{P>%UK-B?u zIY3CE3D+Fqkle+6aXCt%?av-?Q0a)K-dbH zN4QaCUVgg;770h}mgSfQP|nYm@(#4S0Q-%8XLxQNXkb1s6s z-v6|Tt0L9}*hxDLL%jnAq+r3}h#Nr3pZ}gGCVb%Vb|XeDYK0E-gwmK5CfRKk@7CjiA+AaIi&Hoj z_LPkhhKDd<$Bi3l?r<`3`fx%6?7EGK2`#}1#cM3EPWQ1lHe?$)s}Rb|@Lq$525nOUu(dS`wzm`NT9>0DVZlazw|z)x0PHR# zDCq5hDirJT8b|qp^>e<$4E8mY?Ec42bZ!NJEa97g-5nx@j?-M`woT!IAo5-jJJZ#+ z37*tAD(Gc+a7@PM$Tyo-W0Nrlsz_}fh3)%ryGVMv1e%NuSvaWFW^G>$OYRyu0SYqv$cmf^51>do-qEEB41@?i+TtVeB7P4z}xdUToqhe|l@X8m0 z*b@7aCgF+W2PVS~^7uE@?n^HuWEvh_wMj-j*kD-qg*lO}c$s8?b$QOlZaV4UA57x_ z#1J`@qY>qh7rN00C)a^x2Zs7<)AC|D*5!?k+>M7vG&*G6KL}4stNT6fCDTvy+o=(~ z$^<{E%#rOf22ed?lUUNQxeTh!kYlzxj@Pmg3pG3hI%9Kq1N~vh*aP%QV9C@PkZTJx zH(jPa1Eyr31F+A4nJVk9~tDdU|Dka^)V{gDZFFIa;|VHDp=gXn@rV>D754Bq1gv z+QG)nG15=rEiXkx1;aZ@s6!9khI*(qvXQa|bL*9QJir2=P+7_z-9$o2iJFI2ol;aU zvxonVR3jhGcWkYY{q7SgZI0DGk%idWvgE_;Q>)Cj22Jz!(bpz z;OuQay;}Cfi@fZ7vyp+lT&qUGU-&g*t_~+69WsVU-K}kf{b(!zYC@>X2t1R_*AA6n z-d5#93kBRlhS{y`FpVy5X>sz2tYxRXoGXn-ecs7T#i7{&pY6v{(? zp$a9)BkjNSiSeoeULlaxO7KQ{we%B1Aq2cF`o7%^cvGt=xP^-X?9rZFX(0%|+#m83WUSBsz!lr? z+~blGJya+$nP&4Ee(NF;Dbc6?9ZAge?MPxaEhUv(IZ6p=%8r;1Z!$bQg$AUAr$=MQ zU3#UYN1RjRaiJX&>KN4Gp#PGtSaeqbDM=#rH^wn|d8zI~H<jKLnQmGBNQrv#Iw&iTp~x@#d2#RVH2 z=)#PtfNLGKF<^rB0IeLe@rY?pTL+B0jv_&Y%<#4bLq!3F1{A*Bj6Tp5x6?)tSldF_ zd#&hwL)$vidqGRqN_e;*iuNOS9bf`N*`_`Coi8rZnmmPFx0?o8N;2{6eHwZel$xTE zYh}}QlYtYq|9T(dXCwNp*g_|xVz>+jcRR9Xb!auJN9}a%+@IY49ULT2~0YyPD_7irNp|V1DM-9 zFPi}~vk?9IGwnTc7jCs%o)S(2Ee>=^E%39Qs8ZX53QBeh>~*ypz$`bR^#FOBlRNwe zHbgqI6(8FdMV(92PGTMvICASI__)et*IU_WN!{PRAqyuTL&%|*4xj~ci3M_rYg!HH(GGt@NRsf_=MDAZHCzRm zLFS@(L6QG8l*I{JBmRcO-)2Ds=OpQ2oA}xb+({&$!>+tbxRj>dAH5#F1k#LWa>My# zJmcn!0L#5b*w3Cnhny+z``30J9n_N}bqzK1OzOY|1lXcnvVbe5R10`2D9A4(`-u8} z1xi+v1;q)h-r`GO$`|n|=i&ZzPf^*1aIUc>VyEbuZT8>e&_tm>(vcr8hFa%#(!v7| zQYcy5(E&7NWYcrV7=yW#aT)qtNJ|h6H)8a2*C1Rp1DE#WH!g7o{LDOB%)q8|$cOu$ zZQC(9hr;gP!B4MR7YGEWJf=Vwp9 z%k4LnHA*ns&mM)J@vs~Z!&v<6Z|?zz{lE%3jS94OJVS-w+L?Z~5fZUoSgY`cs$N+S-|nMtjqvRu z`W8~TIY_T;R=G7uuSAo^3-k@m9j{PBPx6L3=*Q#y$6ETal>gX36{f1(w4+yARBrar zE6pl5(&&{_V0v4IC-=pL{3}W`zu;eSc$NGsf?mbHV&_-$uZSn3`Bxn57%9PYc=%T| z5Y_RoNOs5buW0X?$iJdtXCVKImK+QJigM2+{uM8MP32$FPVy`M6}=kGe5ku<+|TkK z-Sp!H{)4VRv{UMoq@4_XGxaty+|fB5iJG-*d*a3MS>1j%nyc1OA`Slw@hU%<>t|W- z2nUbSvdWTBQ3m2k2IBqoM}c^u+Yn2HJ-Z?duWk z{Y9F)B!TuD($PN4KzpeVw7<~kU0q{sdk;sqTHVEJK0;4;cP${ik3GGP@V~fYKV=8b zvOdtE1Pgp@-n(hfP4xT%ADhN!W6sLQ2yyYlfRB=#L*_liajyh9bz=u|L{H#e zpeKG2*(cv$mx6m9j(e~+YdP+@U1jcaj(bucxL152iF^KXz&$VGo+8if#0l+sfSo z62HVqwxR`Z2p_yQ0+DniKL?#sN$2L_7J>qyL_+iiHn;>Ne328|xQ*&(>%-`F zlc%onvtMr$x&UkYBN83zc}71@%20(;J*KGQ>YzJPz`y{*jU*~LS=)i_oYi)+o?UT3 zL4UBnk3F^m`D#0LVfT@wgebJ}6(Uw@C+Zr4AfG?jY4Ej$!3sZ{-^mwa_hxQqq6TPmj>PC=`l8XHqff{0YTi2|LniC+{-YxIU*noV>Zr4=2r4P9Ept zR|BeW^Q~=fm<-oOQi)W`Dvt_Z>Swp_-ySEDv4_QWl0aUHULi0sbaB-1JDI&XZrlq7 zdF3lwiwKHXDWNi~_qws47KcO0*x-wCgZr7sC3besxjg>kr`tvR$3_wV(G5Er(FLUw zLQwB=A)u&HkkRQ4;tpBY3eX}QVDtY^wzM$S%wz*8u!(Mp?Adq(U7(%xhLq?SP5EHi zM{lB=T-XCbqD=}N*R~Fr*b6k5Ig}sk?`m5Igbn05dKu1*$@tRL89UA6_bTiUuNp?B z2LPtn@e6ZH&EfH`QDwWr`-+AArc`0?ez~2?alqYQoa!fvIzsX~vJnZQ1denwWEt@s z><=6H#$IFYaskE=ps}UBzaHPQ-Cn#>0%7Q*boF?%%UDSaiP)Z(w;_HIs*ZY!Rmx!;u;F^q7eeCqUq@b7kXZkD3 z4Y}f&SW3r)e5F993(louV&N7p1zifqM_0JNAqABN*u2BJd|EQapMo^;N3TS==g~si z%Z0iRb0O$F!=pJ(@HyG5FGk4+g`SJZa?LJ$HC67JE2YUjn`K&-RE@I%fCz^U=WKGQ za>I!<&}V6&K6dIAsltwrJ@GN_8W8C7=B`4(Jqmkt>vl39U;Ya&_S_&7g=~bq*g#Tn z7~g31q!t)r{UM$7yoBY<396)CLgSz6 zsyb3&RZSt+tg3p_q*YBNC#$Lk(kE6a1}|3CV(?;B3HhU{(cs1A3lycJxGH3@V^z%t zJ2rn#k_*zSstwkss=^RHs>r->D@WSeU-G~8r|`d1uagpN+VJH0UX(oFi<9U3MalF1 z;^g^WA|=?gOQZywcBzzL(}aA2te96y$Q**ZLzzQJBDnu2OG!ba%4|p(RW(Ay&?(_L z9(MJBmNu`Z$iUJSAyxOY`#XfeAIL|Cc?6J{@E5>mU=KQHPqB_Ct(o6~etyPtlRh5L!%fKhV z?SE}g@{$3RVIAx5==K+xGo;wYqeF?;$6W&Q+!r^d{$k2*3|f{DeySZ2p`uru;%JZHs83&Kf#Y1g{^_7<54fCuwC!* z{+@i#U`NYMsZk)``4A7g;rAun_?&)1Djvq1FrjN>d z717l?Y88)Yovd%yT=t)=Z-)9a`e~!`GHW_Cm*fAY=OWEjbnHF*0?CwX7@D}b92wAq z$?Anry@6L}Q2k)&RIGjyRHu}5C#0mLi)Hip|LQKD%A;4?)tJccf2r+S%~kuq)%Fz4 zHRWe&`@f4D^54Z832eYU_u8T~&)|YSJ%cHx%Z#*}T_;oRmSe4bauHp{p<&;?emFS{Hj-W3|L~GVH zaUm-21yeUViILB4uDUvurJA*{q;Am0$dT3DdlOwZ$4F`=5?PDtliSy+mE8ZRR(OI{BUAT*UOq%7`Ao|kc$dBddcj7(CeC@LK{ow#kA|8cy z)-f#+OFhd-`^dML8*N({Hd$PASKVgyGF(Tr=J$gM2IRdg9+sI2q~8EzK%BpLrI}Bx zQ+Ma3V8WR+mUi|3m9gym)&KQaF8T84WAVR>V|jH!GOqO^eglGsx7L;rd##m4O(fiL zu2#KLZ?$N-QRIx!Z>SakFA%}s(P4gUfj+iKZ8c;50rWr{>(s}hd%B#NkuyCNXL=6K z^yHgqH^p1?kZV%Mmg-}x)v*=uBTpY&tBzIBuU#KIB|X@<$Z8OEbF-g&3jagKK6Pw8 zOtk`In1U8obX=`<)Wgq4tyJ(Z@Sp)6H20CDYKr)qcF80~m`)R-(IW+UJ7_Nij4d#= z5h+!Xh7r8WCulk2`CZQZU;5@jceMd-1#t_qTG`y7%_t=H{oAWorK{9np;lbo+ z?F6Q)USW6jU{tcilLm#AVNi-fp|83#xfQFPjT1pjGXIwY^d^ z(=9)APA=E0aq?X_a1X2Ez*eK*<%kc+X`lkH@H`WA;cl@m&|ij>EH2Xx7x#*i863RP}Po zeR+dRQk!j27ZGh(qH>_EVz)*mA`LE1xU0=-mNvFj8vrLpKOk$k4?P}`-)EMy=6?Y3 zrZ}2N?Y)tXJg-k-TYi8c`YkYN=wD=vWli5>VaGa_g7mR88e=J7({8~KM8;U6E>5^z z`NuXgvoSJra%2|v`%iIXHZd|yv5!#lZ%1~zhHgOQMqG9|b^?tU&ls=5I)C75Q;=f+ zLAazf+f)o{&}**X(Pm`{<#n* zuQ%d2IO3RY&On@!pPt?dV|p>vlY>uhHM{B)oZcEfy$%C${;(Gj$Nn=SjeOK`l--ny zH2;1adB!-9x;fy?f^pc{tSvZ>d@&BSIZvpK2BSKh=!Tr28)!+B!y&vgRGoqqNHk@9 zWo^G5{Wp|MEyaa<3>8Mg_v=5QQ&UM% z!yet2K)1%D(W%;>3*GF!mnn}g)BQJQpqt~Tmq{^}iF}_qy4A7`AK^09@ny<0&~55& zL^sFJOsCAf=~N!4Q=K>bB%S&{#g3ySoWJ=0?d@-tZq1 zqZV#$xO0!djwSTwX!K~x&xIiQy%EI55#+Y(GZ3WUr>C*rn8td3_XMYL3VVJtPUBQQ zjWz>8ez6k~r08cv4$D!;@s}wX^yuG=!)c5I{r+v79u=`~Kg4mAh;a}->cC}w4EWLe zMBdAMZ4Th07EWlGtAm33(3)#qBgI6lRjfDhV7876$iAEY^|m^PR}Tt zfwl4@ziERACzr3pH{z{l(!D4ol`Ceg2_#C3$kll~=IRWXcE_9S@uoaae3K}CAGycR zL1d)Rx%Z{U&b=ESyWYBQ9J^*Eih|G0HZnTb95gaIE39eh0Fl8N$m+b;UPoy5B3PjF^QN6RWMu+xoo%0D8TOpRocX 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�c-~b$|Dg!Ke>(HpkK>bqAu)F%Eq+qt-MQu@Ts1Cyt+t4kn@g%} zslXhpm1=AiMmawP;dAap+O0z3Ol)New{iqpQDrOF77=T8X)_%fHwLhtk%F-&uE@|p z09OC=Q`-hO7TL71b_#GDYb}fJa3}$@yYGP!#a_Y+l`x-SuSkHL%#MaZJ(>#)D`+lJ zoqgZMiVC?>(_dx?d{<~>M;&1L3{J^ zk)A>>B&PXA914^>#_(Ew7iQU%LO3x==DFPl$pD1JsV__T9JnY+N8n+To-fW86I2%1 zDb%vdnWWdWXCH{eV{N9_s8VIr8!{lED2YWG@nxEf70;k*18!TY&1Y00v7?f_{_3&t zQKu06c4?R%4OTm_`lWne8CLF#MEaof864%xg#Tgk7l-4(d^`@soB@i6bci9l326S< zqgoL%=OFWPFDd9LYrUAd>Lg2IX9c!6!)mbMwQx0YDv$)SRRr?g#D5ReBuRGPCitbW zwvp^)OQvwg?TK&SZ_9;e!cAPl)ztQTLE^$|60P1Xxp0NaaGnZEUL4*AS#!vWHe6gP7?ue;I=&eclK^F^ z5SPD8qKglA&Lss&<=33m=UA~uNR*TdaKL|MBC|%+O)Q>laaJG1snd*y;f!l6iTFsf zm)9q7m?WOkM=T|4YISYo{9ury65+l1^xmBlC^!*TV=f-_&s{^|lr*XzE;L6a3&lw= z0;bBuTNkz&^Sn4K6SmMBVR5L8SYn}iNL<$V2Vk58-~kmJ=EMM=2>nsk&1fzu2gM^5 z4Dr?N5<=vLWFlBtaV!x`DoYSSo%pZGbV)dw2>v>Phja~QMcoV=05pZA8mnaR;wfQ0 z>dx2|4=ZK^_AqOyfV+Ym4KrJMjmJ{iZRs_q!1-nzEz@nNxdKK)?|&a4>6~;Yyj*RT zNLLDdAy2D6 z>p7H!k2Mr}hQ(knlv2#E=gDe+ts_wW(wR-;W;lYjAfNzZWjsHq^#oz*dN^)sn+PfuOjwgR1xxTnVyL=1(N&|lO!{%G0!qdRt}Te`?W(z#$7`@Ezs0G`BD~+4w1yRlZkC< zzN9W%fFbemPD8R;LkmWXcuop8rwnVNMZUq3yvQH2&>~-FF&Fv$7Un{598tsr6YxaG zySySkxquncJ2cUq7a$s#I)VRRkjx0i{fU2VqGu~7^Dm@%CB}J%7EfkD?ZyjC=DuvP z9i38~w=A;||G$`$JeZ5QX)G`1%aRwf>ludJFxkv20_Cj&`#lGLRU248aof{zUa>_N zB(KDfc(Nf`3hec)1XOb#b0pZemM%WU5(y#CUEG(E$V0glh612MQ3s^uLmOo7uDrJG zk8accU!O7bAKZSByavquqHq|dtP~&B)2^6_s?{sKX9TvOO6%i?A93lSDhd>dRmEv-7B$f*rHng7f-%?*LH#G9Kc;bY9#AF+| z*kOW_YE8EB#dS%dVLLnn_R@CQ#``;tXB!huw(-ivCt@2@&Bb)b#l$v(VpKh|jhtLQ z(k=GVkq+CS15Nm8Mv*($IM7`8WZY!)F!7v#B69NNBI}n$2h^qVfa=VW_d8}uqYpr~ zlkxJ;=b|kD;irgw*!?s(<&E3H##*L%Yoxcv@yYcxkqwfc$6WQ*J`6s#)bop!6a?Ul z2o9=0iMv4ZfyqW-vW7Xgntn-$EKXcj$;%4!448g?@`~Itjeqe`5G&^ zc_=fAmrX{2ngblO)Q+MNK3^_p@%N`#?lGwHg`s98xpH3#T5B=+#T);O$Bo_ES-mHf zL;0PX3p~_3?cQG5`~qBWbG=FH4HgM5HL+*3MCbA+8J$H#4RmgJ0?~=?m3qJfIGcGs z>R=LUaqFAOYcb;~xfX3hjkS)0@g)Y6o;;Wt?G0v%F_^>ac`z@ZXAGu)(qPc^`Nhz- zgUM<$n6*#J!7Mt@9E?`t$}4d=tCv_$xPQYLnHM4q?3Xs{@#4kiHlF!Mw($$M9lsu@ znd>p5u>(OD z65l?C%z7)8=~l!eNf1#SS^?GVl(n+S^J~Y|{ggSajv{4tn)TC=c>J+AFUnc`VQhy~ zqR`==fVG8y1xR?hE*S~E*GnYq8^U%i+_R)NEl_N(m6bXVwV{L!ObHW;rQ+!4$C(nI z9YVeXlo#^abGjhc#*N7S7@5@Zz9JfOC?hdk{k$&Dg5;(g-V)~xp-dD^E-L#nwbt&J z3>ynWd(~~w-JhP2V;(W2$%v}e3MdT+)vT}feaQ}%CVu`*8n3X)1}aCpQ98QY%Nnv3 zemRkJIg#%M8|v%QbrQ199HeEQ+ss-+9gUX6j~v74#u`|1%35sLM?tji#+D)+4n{=;-(tC<_(rW2O0h#BC%PdzCoL*oBTfp z(`M?Ho9PQyIy9{)n7kZ`tI(ID!V&6(lCrVots$Z>6C#r2EOde`Z;V4-$xEy(4Hg?M zu`gdwHo~ltOKc4-u`*F#`1?!jkwUq|#=pT!Y-G0Ks09b1nL&^@(NP2z+m=FkwwSbz z7hCUaW>6p;KO*yM+ZAzcHi8!kapof!0lqp{ZhM{#%p8Lc#>0atlV)0MNHg*NhvKoJ z(2rgAQ*QLL?@{jOxh$iflau;s$YS#uFUWBCxCPng^<=!>v`*sn(kw2fp4XG|4-tNQ z4<`IRu{D9;3$oha_oSXljPpxVx#ebFu!ZO!hmb~_<0)6SJ^0K`?5ha%1jlT$8XVIH z_eHm@Z8>JMl{a7qwR&(Aq0^ga40|(-3!jhTBTsf*RBvVJW#PHf*QbQj57~f1HHS|t z$Q(2>y{^TU*Wiqzz^a}9!P^tB$J~1r24j){s=FuzUQ)ZoH{dI z3!)Lshxox_p#ibrAu`{=3I?2?b}kx65$BiC?H~(76Ac*>&~){dWHkNb5s9W(&*7v0 zXjGSuERD8UBd0Am84jUR{aSe@^3NQgnV1i++<0ZjtAZq+8tV*%l}3aW5{E~Ul+7~| zYaZsg1kN$&sL7xsJS55UAbM1S{Po^z$?Vci>@vp~s`DIU#SF4U{(>-GoU0Y&=QTuT zWVDz$D`5uCn`&H0Mw~}1^@gHgoAgwvGvDh#AgRz~daB+Tl%DGEXOR3@3cqk6y?+Mt z_3Lh<^i zW>i6f6kE{s3`p_g2bnqC4$V|(BbfYL0kQvnneyR@%p|>wBJTB(Qs0IEyzgu&YuETF zCtJt`H*Y$d%=cavQ9EeR0##zTDe}erAs#yy9?)#dra)t@kq(y*dzBOxUJJ*Ix56MYn6|lE-)gqWfCO zW6+P{^?}G^*p>u8pFfR$hV5|u!XSRMbm9B>=uUbBJV+ZTdC+{`Dt>w?nM5ynK$7Ut zfm|y;|)woe*Ai9NB za-0B%!ktbim@~R1+>j-OOyT_5xxaH*&hhCbrsR+i&L7!)yl_6n6wX)XpICC(K=TWV znfcNL+3O{CnCX;((jD$1@kKTxTzZe>NWIdV44daP zphkNdz2w%5>?kaE%t)eDOsSxV@B26LmtR18+7is87mZsZrzi@-t}G;W^p}k6^5^#_ zZDNX&AZ_ z7Kd3Eyqa`wVQOvoCYFfLJ(CUfl{Qg%4-z$6+tbCDcg309yB&lySfBF+GqhiZqh zg%moRxIBe~ohE3rcy*;iq-2=gp%)8YkEn>&n`P^7oEhEy^#*&#o)#ZJPI zTB(W^AFheZc~VI*v+HGM*V_|afAtPWPGQ&Y_&7iy(e(!IdZW>GZF1Kexa)8@Wa^13 z*2uub+{Th4M9Fv`DCP#DGbBgFe0gk*5q>sQ+rsyZAsfJd?|fKV>LF5F!;*R6Gv1a? z_Yo$g5e1v4#kNy6&tUkm+GswgZKCG$81K$;{5LOxh=Tv9{QEduDd&?`pL=f+X`eA) zdF*sk8D>nSP>&~c;bN%Hfofk{DA*0HrXO2)Tb{2l`;zB?Ve`v*TPD4+X=eoPPAu*H zp>%X_5m(;HT@Qq=wUApIhna+YxLLC{Jh}!IEYc5c$m!%uud$_7oOvp0i^tic^;whP zr_YD{PeTSb1%BF3mEQb#Q26yUsnR006&6!ACJRn)-65bFuVx zA)B3BpIMHgrNgHeZO9v$@2nolxmJ@sk5R30nvJ|GxNc-{msa#q#xApfKpvK?irxwB z&w(qCR+@t9B3oW*io;pGklAe1-nXqP4`ozw`*~6kk#z@C&E5f&VA)+UDYbGJ>LbRk zjB4nNs|Y168Fo?%sXm$Uj4tD&oB4Qo?Q({Cu$SF*UkCwe25_rc4Ti(0-Re)`#1!E#?ERP+*stJFU;f2j2~F}B zsT{>pKgW?QR>Xxj8yOw!X^r1~j?uqHvQ~16?VBx4M043K`G=M9_%yhju86z)B6p== z6J0jX{%ZsLEOjjEOQ~zoNsJ>=)~2%e?lv19#;WNs9}?eY$t1+hV(BUd!SKGUaU*&B z;alQ#pem0x;BjkeKSQOn{1z$LUffTbsh)T$p}=*ElWvm;`qA4IZ!G&sMzWlJGI|ZK z`XG|zlI=Q?OSU`7CHu{3zweS=!V#6yC41|W?Ym?@bM6UUvTr|Ex@2GY6f>x7FRh0q z8M|OT1Vx#e;)z;W?CGX7GT9iN?oGy|AicORys^%_Yd6g+*@UD1)$ zgR@U1EN7zF4AhWh^oX{kM6lp7WdTA;gI#|Dr}2qh5r}Sc1j+y>IYIHWSDqH!LD4(g z%`Q-tS-1_}%8IIc&OxE6g|aow72_V30v>c9>thOd%Q-tjP<(paJqi|mHeUvdnxX6z z|8x??KkZ7U8gvuS(U|OIXoEXJOa>7p2IT@4u3bbK^3!tlkO2*Z=#|HCV9^yEJZxQiZdA8&v#Mbtp{AcgdV%y1; zOtnEx81$orQO14x&mGZ;@9gOIw53(PZk9@~k&;AF1tr~rr+rZ_y%~l4%>eu5+m?P~ zU0&{UMmnMt7wh2M+_F3F+}wTn+x(zAy9ITis+@VBE_h~l3$*RDM9_GISzWthYS!!N zjbC@iGg|nT9RzUgdd{VNy%mNL2$#w9`>*@3=tdewR!)f2B^seCW87hbsrvfXX38v5^wON$<^H1oAuxMJ~;4W z1%+daZy3A_2kKL1rv(ypt86gCltsRbZFPrII2}jc$Id7wxSI2>LtA9C z)(u-^kDP*erWGX+5`Xsa{#$Hwki+7j^Ir`HgT2&dldWMn>@JJC=!(@^o43t5Y8P64 z=X^lE4Rr825OI~2(LpC9zUL{! zww>dk9Xki;_UA0#cOPZTR8ixZCK@so@#*=d#6W2IycfIqC$TwV{oS32mcRTTp=Fc) zG@6JpKgX+B5O=mk45|e2s2X$R=Tr`&0<))Q(CIq+13=FVwIwwBQt{Ry+Q`)%VgYp1 zcpqmS3yGF=X#%>k&}Ue)Mm2@<7NYkZrB~>Mg!;!iOHApCexu8 z3G-Ql*vqKR7SrdLEvES(3~@(ev&ATPk%JWqJfcUsR4bOI6VYK>nwcn|p_rN}{6~zL z-R(xdUumCPD;HimEj(xSOL(Hgf)VhIb!YVlm{bD#$iUhTS;Gpkj;Hf=*Rn%#cyCcR z?Zqu1-)TdgZ6c?_UwWUddbyKwN{>k+um2W?ExkVLgIn5 zlDEDI_Zp+zcTy7Cp`CA%f2S*=_B@%H+RTEsyG1YcWiko77)uBJi zwe^SE=h{ooJR#S<>`ckEoewkDww^>>yX!#a+NX6*;@T&j)J9(F*i|y|c@G`S#CzV8 zpwH)eG7}#?>;!RWUvxzXjo3*`=4IfwlTQ>C%>>LCTX?%c#9oq=?wZO(Tmao^b14@n z5;0aoHObhzXlzYwCFamFmO@r?E3gy-vXw(U*khzGG~>ekp7i?_%EC* zYCw|sUi6T4QL;D&D_Z=*x#MC5nBy8~QuKQnONFuQ)psDtUVYC<5a0~)!CeGDD&sS+ zhgrr4Ya_5Lm9I<`4dMIA`S&J>Te=`Hf3A-hF}#>LnzCAP;3fJoiU(f8{+%@#^>$n& zuc8=qDG9Ml`R_;ZwvDBU}znUT>H2kU!i{bojMFhhDMb&IBEv z&p1s2y~q6w^i*dXp!+%{fPRLn4bVGxl0aXu_E@0zx+4Mf7rHahOV4i?=#-@gvj=|K z2_bmFc7kA2D}|nCvT?x`;&9Sz7tMpx)u_!FMwk^A<8Q^#f|H@ywyxSReHm;}fZ9Tk zAZ~ibVt7BH>NPB`7{I6QZ&{3hDFz3S)aa%nXqA_sgp&qHpN{U2cu0}HkI3hwak&Ur z@KywtzJUTvgQ6Uph4I0DzR8zP{@hD%Cl?^KUOd_j;7iByd%Ce7%j^^*>7z^3@IA4l zo3Y7|)PQQ_*%q}y{503h1Xsh8kqoig=OfL;WjYsM!^-JoQz+!BLInsjswy-bs|w|l zV`*3vpG*FvScWU1Jo6;NuDprMGS2uiV2nsHeNOIYhpb${Q)pAJ)=V`LoxhWaoZX{`3!|ZT7)b zxkcOWp;Kh`2dFgy;>smk!|AJ#DBNm&SQK^T#rBUONkYnWMV#HWiL_4T3hn3SqY_2* z>`GDhUb5lSk~~p0DHNn;C>UsRcDN&QwD~IM$c+r*b)B@&c5>dd&cPaXOxQyj%4jWg z_rrZ=Zlfr?5IYZW4^Tt&g+-r!h9JC&{HfIDFv!ANxpEsUp37ltYs3IdLo5h~@h~Ho z8K9D-&}OmU%%?f%|D*0*z?-VFhT){7rIbJdR4G!lXdH_aY^6dg2nBjmQBML%3KT?T z5DN-I0#&PmX|drDMZxQMA8(`RpkPJhQf@6EqXp5y0l~XF2IMM~Qk#FTwe~*eqy^`l z_x;}Q|9_uHdUDR*Yv0yhd#$zC1#&n_?m-E89f~Xs4qm+IH8Q-ZzkSxp@YfxY?VO}( zXF|>)3P>D!tszkBaozxk64Xc?@XXglIWIaV%NYuIE{7z0+NknD&lfxrY~nD0qOp^Y ziUEbEbOfi3(C|$CYU|?PJ7Aczq7-wes0XA4N%KOChanshc80oQZa*?s;<9G@06#P0 z<_zGCPK#~yv($spiFExXn|)Agc3+Zo(l7V2TT+qdpBb7tri4OSf!cW3vxX2=6!j`H zQO2_3-!Ia?dps2ODl*hbv8+HT8GT0k4q>q%?p5SMEs~Xo9nijyl!33j>mV8(Yu{T# zP`R7zr#qNL_+wvd-B*V><01n9@WV)iwej}^A{;yZN96c-bRg8kKu)0%lYsarY}7L` z#HXbLrn8+CDvT2nE?R?$h9NE5tl`SEFS&dX_y*xvxy( zC)xtzDRY4(RFQB3uPsu&?D$i1t@%Q!7)~|;Tp{J28s*4$vJbQ%r&U1S`5|R9g%7l+ zg@QOsikH2m0kSJfJ0F?Rz?jH{a5t5z)Jml~ow5{-^*9l~Fa%n5g#v4k`g)m5tI>~_ zxA5JT#`pLKkqGeU_fsTT10tm#jzq(d9upc}MvdAu5H|=A7jqD^5QMMCl=&5oi+^sn z3f!5d*b4I<7f<1{cyXk68`wL3jRI9gyWVnK)^DhMr^F)F@{&xtzUU9Mmkk0hrBF9XM+#w?U!EGCsxH~~q zd|JG&z}MpvP+!H-9o|*ryTSy@@3$0xt?N#@Z?Faur!GIV-{g-NQ`HXF=UC8|Al%IG z*H?U>l?ZcCh27Jgz8%3|)4Jnq@cF8An8+F>4W8qKRh?UXEe!H`b_XaFRfNmi8kUJGy zNY}w;=#QCt3nvRwvGWe>e42#ai^EPuHqeE(Yb$ZZ*;SX)WfJ9<{3kY%t;5aHABRYW zaGd0fLIqqjz7>cYtvEJbY7V(eg9Rnfg~`~3NwNzQco#}zy5NH@yzhwVLdZRp?sWC0 z%k{?!<3Ok4Kxbkr(`74n@K&bsRnl9T2d#{1-HH!enWuxU)E}#jt@yB&3T&lZw&Lfl z`0$2WwgMsR*-w|mw(`V0i5ZJ@=!^BorG|#8psd+~Ro8_-;pOph7qTvr87k)}E< zggHWGyTIhKyNvCsv~8gIrLy@}tgv`|N$#$yMO5!iv5XiW(HyJ-VhcTbPWI?&Lyw-I z9zoHVRb2)>+IO*`N1>{hOhkeNiY?Rouv~v!X+$x2Pk|VtM>}u`4Fn+tyVoG6YLD#L zZbQd*QpXywW1+S1my&HKvx19J0%9?{mWg&lRr{zT2lYN3F|N=)(d-j&u*2T1`o_@g z*VHT&0=x9J@BsUGXK!rtgltnKaua&upzOd2y}d^Lu~|G$306TO&?zdBE9?nWHS-U@ zhy^+!=i!K8k*Ggf#iK3?&cE`E!H8*nON1`{ zVKQjRMjhz@K}0C3HyXpS+bxD0csiaJ@QM>OHl>{Zveo#I-KA1=7eA>bqE{r2>IVH4 z-pXHNEJA$s<;Eh@$$B%q=NJX^J|d3a)yRPs{=yl>y2wsXXvB2Sx+D`CG^HO!zC0ZM z4HYudRy8!HyVdCgGYrYih*<#BtAjFmOr5Rr28yN!^-xl>$y=XU|d{g+^) zLWM&Vw)ap65>X4MW3lP{^-P5wGmB#7{C9=IzB3E^ z6hy7if@;K-9aKsnVrT&dhh;TpJmA5YGPvL++P81wk5?s)dX>u4Hdr8`5TCSw@Nfk0 zn7%ne3kZS7$+8FOE$rI)btc?gL#bW(F(p{ojN6``TM!UNF7vSNX1Sld>}dZpDAWVh zXHvQ8KLIPVXE`Z1`3m?j`(8R;MEi7H^`)R&6-f4uc)G{_*o3ghfrenyXx0}YJwlKU zhL#NJfgzDn!H10tQm>8Z0v}SwlWz3)<4}4Mm0k%_14<7Sj;WB1*_7K5+~DgLsLjbO z-{C*z^*TMwabp)#1lZgVWSd~04DMnIR)E2x+r#GNP^OPLl$j}bL~6ff5Yb1lxubu_ z=9a1=p9l$ACR^p>uyDl|h}x(^!d=Rz`=ClFpbk}w$Eb>uyVI8x*qD=h?+!j|;{wsH zbKTSa2{(mHyOo~dNPT4xv!~qANti$;M`tDS6J?gg?M0I;cF7P>5T|%Knq%PVAMYkJ zOt^Q2?*HX9k)t|G_&y5zKV8I}AI)|ggArUoBdFyQH93U2%zchAp(2GZ^=mCiwuDtt zhQfMABb0p!;@?A#pnOM(7&(6|OS;1^F4jMv%R~0R*Whu6|{#|TukxF5-MUK{V z5Bml7EGVbFZ1~k(U{__p%^dH2?p9kRY=l6$B^sKV<9A^qw|lR{LYbV134L$b*1=== zB%e=uK0a@^7h(FER6fO#{lI$XZt?X9DO-USgK0$GR#()H7c4;*c}C@H#RaNSyijk@ zsXLwSz?K|w={q(mvsQ9|iIKgK9(E-P9<1LioO2QDx8Qdg{+}nxe6iDG%?R8_VH#Gw zL-*+*sQTFM$6Kc)LnQ=T^SB`;S$8B?9-?sHTqScbaa=8wDaocYU!lkkM%mnal#(tQnHq8k=KHc@Pz`Ilx#YCT-4upCMGG_sMw@rhY!On zyO!ZBKgX9AkT#hw86Yd=B`bqdV=3-O)G!i4!gLiprs=;oArAwIxEvlfEnAGgf{(v| z5^)hk)|^jCs|wHH`HPS+N7?Dcu{p~8m_n;}w#ZSoIbY=9`d9#nKcgqlA~>u@1JOE7 z*}n$p`LpiL7x}a97LYz}YLlj{)Hp?;1K|7rZJeT)#1z@(6k*;Gn5MUBnyU3_S|q0F z!o}J&U1&B;Q~m&)CIN_jJ5tUROf}mzlDe1LB(s)P2$<|2kH#i0Lvwjdu;pQguat?) zD%hhV#iT6|uo_NdALr3&iT&eK|G=ZI=IuV5``4}%t60u=>qwcttb*kVV1d)d6~K;V z$3ik>Fe|xIUxCIEVg(M5AV|5V+hi~+ZJoia-5s?b-nqACG`r>yEXPZKqXR|DV73Xz z6xh=?gBcL~z~P)=6MNzjZ6QG5(leN4yV-|XB6-ia5h96|a|C5Dy9$MAPY$T6VRcnZ zMTOexn;`#GK716bhKhBTgWL`O{uJn09b$!fDb(x0XW~gjsih*7nFSkqU?#MMJTPWx zV81lUY-Vqo&X&zAU1T#meoD(`mIK+$a{gU5Gdv0BhuUN_Tb3D{&8&EMY&Nr;;b+fg z1`abZ+01S^)jFHmR?23EY1tr~Sv%Q!n`~y&W3!nRMPSw6dV^M7WHU>LjVQC3wY%dG zAP8nN+knXM_K~*P%yeX^UZf#ILcGjo#u4G&D+D4q^8_Lk=Mj(d_({H+J)L}coH{C` z2~@}z3C&hhLNfzGq#6)n0c7dg6N3;bZ4n{>X!Sm(HQQz~;za0OD5haXL!&XXS$Z%g zvsqTF%x1XSOVl=*&DQldW;QDw7Ms~@tITXBmMonqs=j1xGMn`pCNrD;`8Vl6gb3Lt zv)R@MGAXlJ4rVsX(KDOTp4`4z5LsL7* zZw7=$JCbrY-d`rQ7K@0VX<-E-#o0tH#hLhcghOEtLzXjokEzQ#wMlf=Cvs=yHe2Pr zU|`Y`?xH0-GgR7Z$ai+6$*}&H>-o+W435cnHg~XGv-L;yd}p1Ff)D3=cK-+@chD69^4&uI+&@g0KlwQq=!f!WGRmJzFK;V<4l&A~ow2#QUlt55m&!sjQ8-BRvL2&B zl)@aA{rjPm1VPr)g($U3ic(6ZAMPX*xj5x!?rX3hi0Ucw9&SVf7pN@0^PQNqBUxd2 zSK|qq64;o@1uFiK+u-XRx~>5hZ@npWE(Z>DjYCexS8l` zj&APIc;vv$DA-fZgcT**o1n!J{yh!u2?M`gj?r7m0Ectkywej(_>_+VPc`1|5ZP`T zyYEhl&J%w45}f|kx0*m79%L+~n7)WZ;I24nr*#Cmj`e3E;9~*dA14BC+O_7w{0kSP z85`}@&Drx{Yx%Nsx`>=QZ`w%Rcx_4;mEDaL(sZSh}aosP2}z z$%0Kzr>G?r&%EX8FSWjlYTzTr33+0it?EwFaAItrBtKgJRgOhVrlt3M5nYe5DNWCu zisn))wnv80t*hl6rcM~$CYj14Dw>^B+2saP!Lu7VfprtvISC^tjPt-seSc)>RM-?b zhouuZ+&AOmT-+294)<2J!$-zW>wb!$5#bvdXxVyTe}qz9Se*)M;NQTCFoR;@Y}y|o zpQJ=D>*GU1LIo^;n)uXyI$f*`2RV&b!xgd_ZVis$Mp1quz4YPUCewV%7V($OX{J^1 zkGcqVjqOI7;5%wz%7eob_4?twRKmtvBsMNAkbCP|8R{p__9!GU^u&bwiJN+N5^R!{ zc<1Y3w~iE1e@uOG*zD^FB!vpE?FF$@KE{}5UJZ5opBAY5^cWp=tA32=sRMjBp;R1y zx)sWjF=WdQz1oe&YPQOs(m=WZ)g$aa*78dv8h)Rjg9b~-Y8nXz|ea8nAU9^ zae;8wnatt2XYi`xL@F8g%#yYDjn->#`yr+iyNSkn*w;l-(f=}&SY4LTYSZ{TW6`Tq z&P2mmEi!O6A=rjf5s_JftO%~)!vTyK`vd)bnSUQU!K;}Q*u?kTA5bTn!`m2~@5u1= zuB!EQb3@2BFcRdbcm4<&FCWuqMeGoc06lTyW<_-*qZ_UlyYsHy*#y(@F~p*T{0q}g ziD~%4rBB1g?~RjqAuizv9D-OrKCQ(-;A*Xr>p8H=0@#HTShWF|KL*&92<*3$X9Jd^ zU}d&ls~rB}0y3T%MX^uUo)isS=F;8zlE0S(&uT*M6wW}gO8h{9CRpf`Xf(XiLckW2 z0Z^Jo^7+}5$8M3ZKXH=ZL_J&m9e>p*kRjBLNTS*HaQgYu6J976tP0!zTSSWvOg1Mw z_#4h;fpIJ6xfb1uR;|EV^8YPhroZP3G}Gq|IrWD87ixC*f{ZYB&!@x}|EwJFEFeEv|z|7KkDBrH@pw$?cXK6Lj%d_r0C845Iv) zxR|ir1}Aqzz!tDlg4asfV06UZ+AjeyYz}nY$!XR#9#*so(LT>s88yi%Au~Jg30ejus~8b!8Qwavq3{88#ouHm zkTzWx<7UqO=vkL4amas#7h|tzH;P426{xw~`lqK5kNE62hAUc1zVq-mIx_nE z8cF<}-$c+Hh%U=+=D+Ir?Baba=qvcKxCUoO&jC^}140z?0l6v|kK2%pM04GN2*yGP z#9n(3I6znGbR~Hy{}ujgSLEElFAa`@*N%z3Yr9b=Jk9%!gvVD;jELZy<>rD)?YFgN zf2Ll5=!uNqBKk8kLnQ!JCxgQ?Y?bN15s8QJ>o=Z=N0sct{dB;$+%wD+w$Ro1)8f2| zlUz}7{VWw%sg$WD5M6>|(u$PXC7Lsnz zC*joB#z~lqJe}_f%zH&AeA!Vz?qfP~r%smr`}k|bugE}HQRo@pJ@!weQXvf&8qOh! z2&Zn-IQFCy97rRCAq}VY(0jhUjC%g3^N12tq(EslaDa-`N4go5K^216#2IqNsTJ2*>IG zHe9a*cz2(^v2B&FwTlU|27(w7H9-(1#RHZS4gk^-SC^8X7NsEsCsg)&dIE~#H*xSP z)$2=;0x`zu=D8QOIv0>g-@KL2bA8y-E|v;94+~@S63vJ#=?z<0vqABaL zqTvgP6M&`$Q!^NH33r?fxdb0E+LK$Os`13=7KZtrh++T}m_i+=Ht>0!s2e4a-J-(s z-fjjnL?5U&0+^)euBwy1NiG*Zsr&!RC5A#P4!F=xe<(T+Sw;p6VW+0!6ChFsJ|)K* zFB(i59lEtufD7Cy;VvLiO?OP{^J^a#JhqlkTGEEbb{m>R%pY>W8*$ATw>y4rVkpCu z`-N@9FZFc7;4#X@^&lBjWYtz3^4X?s0cSmhJ?R?;txP)v{=+mw!IhYTmHz>2Dl-cb z7(UqBF=!MfqT^iaq5r)xS7HxR(8UFwJY>8ydJG*KhesP2RahOtl_~7Jx0SQbh2T!jMyIvM=&u7ImJB~CLV~)*Y6G!Mv~R~ZQ@rk{&I)$BmqTikU;V_r;-F&YO8#{ zD-u+z%jMxv?~u2jC7`e`fo{yK)da@31__Ri!aOP3`SRlw=_$}v3Dj8>NngVoO%PE$ zkkO06Xs^}EO|GY{E0*Pi{@5rUf&YcqUJPDE+q}AW0-Q7^QbAeBkk@e76hlDchpW5r z%|56LGD8r52@H5fYAxG%53{u%MlQiX&Arg!;X;F1`Bxi~^Um&w=4r`g z>D{fUjlvcgUlFf+kEm0NzozZhS%`275U0?`ChUouegCsYn64kGa~(Om4Qz|8@`kt= zZ62{5XE~i?NmG|GlI=iCIG|2fq!HV(=W|3BsMnVu#j+i7bCFuLYelUXQ5{G4IkTh~ z7!!u=`6)t?+`IjZr0Qma8Wo^p%2+wL@t?;GF3%hrxHg7f?a}Df-VM^quijP(NlsNF zmB@^zgzmE9m8jh9MZ7~CgBTrU2TiRpDA3q$j?Ed^=y19`>}fg%R6**Aj5(cdxiy!G zeKCDEFcqNi)Ar}s-NIfN&{@$o>WJMqzr|$YEHrr`1ycJB9-ijwMLUtpcI|GAil$M9 z%S%mF*@POdV=C^>@1jN0-Y8VWvHs~ehb1HOplM5spBaT|fWTXKt={U^f1 zI~l{Rk5yWQTW^naU=5-XKa=_i{p&V3jJ#~>Ry=?j#Q`*y|HRz00C_-$zd7(@C#eA% z2VfK%E0M}t<+r17);S~{d*(rcQ%GR=Ewnq z%q6wmH}LLEoM4c-5|L~T{LDxTTdS!Cz+LAmI(>t?DAcNlbv_SGkTqRXL6NZk z>5f)fD?0n9{VM2kxUU5_TrvcaKMY&$NFm zo-|RHkfN~l@9B4ow(a_@ujtzw-_tZ4?1|HmHC|GYj+*u>-)z)ff3l6sD>v|M;-Ei`4H#N&Fo-`gYC$Z=}fGNJ1&nYUMryd#3NC#kiA> zG5>O%C~w(n#EcSK4Q)7x%+f)aDnoRZs$Kpe(7=^&Kdc==sr%ZT96Jmu={t1T)fPtp zlkdWux!6s{R&7<=_eZ1Q@7n2{L!9l=n*F#rV{UJoVs39=y)^dr_VU^YWI-Wz;qq-n z<+k-rFokd548hsqtHqJ6pfj#0j^RBxkNbb_-q zgTWF(ur){2xt76m6K$23C7?2?C+Ctq{HS2gZEy+}Sm6lV`xGf@iYzIC`bm*@IOI{P z&ruw-I0OcUrsfUKc2Kev@k&*O3|8`dX^;|JQ9OKR@?$yUA(O)I>&5#jIji^y9v9rX z;dJ~R+u$^xe|n7DZJwJH8g4dk%iU@lv0+*xm?Bx~iGdb;YjBz1xhCC$G53;%v~1pJ zZVWC(O%(r=O4bGr5Z@K6lLDSW}wE*D(=|PdELW)^U!g*ZVS>L3<>XH`LRWX52T0Hi_(j?&{e^G z$jSMAhJn5Pm0@6;|0H=0&Nl=eq!CG3?Z6&5adAKsbbr2Wd+36qQ4Z|B>vgi1vIUVk z{PBLg|H7LZpTiL(ruN`5+N=u^(t)jb{LUZAh>M~6;4&ytNd-f#Q}mO^V~el za{iHREQ^OPc}oBp^o1P{+xs8L;`4Xqq)xNu1q{<3(KXa`7gRXR${6^x;$NB zw{&O$MfPMs&Xcyv8z>89Np79*ya3A!V6eBz3j5|#GF<(h?9(Q(@i(KYI1EwKouNXz z6B6=nLs|Kp+Ll0LoWCms;|5Ul#2oXdSm&Sct4Y>W9<9HbJ`LY*iKv3&{(BB%;mOKnq$r z%dLK&pniAv=119QEzxM-L7|%xfmkO6kHKXJUUSTE!fTGC&=7};aFO|Q9qXQA8R(yZZNV$ z25S@N#4%<(n=qIVujsT4ojOKgn|Uo^Qu)_f5X#Ze^66UGuxM~|x=&O_JcdA2v3_}L zKLRt)v^f+V5~SwI%rw5WUmk{|VQieiFYi3F^vkn)*}fJ#S!|bZ`O+r+@=95Pjl9-g z{~XO-CzD^^OXK8K?Jekm@&eZ8;>SNb3%|U-nl!&WYWhxDCHS-O%DY2r(#>A%EWPqd z*^CCBXF!+Sr-br|rO%%0TcIr-G z90)sEaxNddUz+Wj2UuDs;Q`iNfcbD|8y~z;#tA9@5GLg9**GD~#e~>#LSSS#DYY~y zK^7pQ&Ef&MJNFrn6HW3CvRs#%Zo# zkH&&AINAly=+pdBM={OI1sJ8FjicSD){b@-qP?Tp?hnxZe-_U9tD2+TYNXnM#GY*& z?SQNY4rg+4{)k7Lb_lGZJKANq*>_EL@*?TkQTSJN?MRMxeaz@+mx-Q?XxGFt!5wNo zxI+zvFHySZPKFPm!b$LPJGj{OhLz;sK@)-B7Eq`FDzZxW*O?Li1CyW$&Rn8n-ggT*eDkN!VY5b&+9-A93OC@A(Gmo~ z7xJu=NRVnkf-T@5wpT}jl(tB)0+47G`qb5#jCc@w7m5)!bU$r$s7s4=sO#Cvp$=C# zK@L=Rs53X(4GwizCB{0`HAsg#u}tY~)962Ns5{wSI@B%QAsp&55eeHk)HOWNj~wbU z(V;F=cc|mj65~zxCd^hZ@TSW&c+Qbc#()&>i1OwH`HXKZ`3J?SJPvTyxY9L9O!|f0CmSPIx=i6pm#MkZVVB%msTfzfQNP*Am98pY zccr^0Ub@nC-~J!C(qTJ?6b(}_W&*m>U88EQbeS8PEZ|B9WJNo4ayQ;Tfn4c){I~=^ zx^cpfZnow}2Vaix`mEUCLRgxNb_8bHi`C+^lCSIUvSm%31uha>QTZueA*CliVz?9&a2{cuk1hQ{l)gn-gq;&7KLe+VQL8PEJ85 zhA#C|-2*;Xp0YU+PV}3UvKd;94O)#sSmQulY>gQlS8`1wQ%(jvhJJAZY8N%N!QlJH3i z@0}XCn~Ta;#f5nK^eUktg3#WeAwryeXccMR%Vuk%-;^y!e>IN&+byx9pKTodhNtw= zPko;*58p`yft=6i9U9CT*^t&V*i`1%UX^BJq^XHzf7V`ID@)DPUJaC`Zqr^}LjA)Q zZVgfTN00oNpmqKL7Vv3b4i2E62E@HD#Ln?wO!w=w!x}fo4%8R!3c3J(JeAGTtjYwm z7Y1nU03c`Zn6u0$1DDG}_sBxNOZds+Z40GDhZ0$%1dl0Y_iB}g48X}aRyIw0)rX2> zxZ%vQTUs}lG(bCBE{C|Rp|=;~C6PA3@tY%*oMg*II2UOc|9v?s=hH;ZXUs90D8gQo zZgXZ4k1{>OW0?|rPe|`Mibup*~!!DtwrVr7uc2m6zvMdBcFlr zqs~knJQFT+N;x23zp9hIi=YtbSUkL442?RIY)Y$dI1?2jQy?!j1yZGo7}}hYpXp(^ zjrGxO>{Pra9eh6_$)rU zQLN?ZUiw=8^sZqoNkPP>Y!vQDnYxlLQp_Pu7LW=gq`w;=Jr@IMFhWXg1&KT?p=Q@7 z^_sWpHN(TAc&k$)+ywS+5G@rLTDmf(CA+ZD#v9vizvF%DDB%O}oUEQ;sDAt%WA$Em zoQKGMTRIj)hSl(;X1cX}iJYwz32Sw#4(p9~Vz$EDCX7plRzJS0pt8FkUOjc&plj{1 zg)IYgDtPNV+O=oowtB)Pv6Cc)hIVH>C27M@btSf;QrW7LK{76|Rd#FE-7xAm(xz(n z4q?#T;$f!n;WOB-HGFkD8r{=0x>>bibo+YhquaL3I8$kIrcM}U>Hx(h3P1ci-LB@4 zad8U76PF-^J@pjHa|onEOxO`~>=o}D>%|ps3O_^Fg ztqq~3n>BlKgxVW^V`YM!POwvS*zMITIMf>m>JJj?n`U(205~euigei7C;%>8geY=y z0~A_`Lr~XXwanRn8_yEp2%|$U81>s{4Fx`qzSJSzhHsGklk3bMewlZwE{(^ z^w1Y}^jk4|Do?1L<&jjmHin*a1QBPXM9FI(lkv9U;@=bg2{MmVI7$XrI7)rJtD+FJ zj*p|}ZM45Brv(odS;6er9&ruEn-Z6cE{{+q$= z?ZSY_qPVL|a}-n0vV-|_-88q8%(PXmu(#JBvz!*CFccmSp4oSXAS9POu*de*4(vWw zowMbCE98kLj^SuNhX3}U*#TeXay(Mc>mySmRbbkOfxpG0D*3>hd@|NhJR*t|(CT8S zu^ky6S`2LC5q5Z~Fw?K>D0~Yrggu|jdVZ*Vn%fi|Hx^_QkU>C0;$?Yn;p)94dKql2 zrx2U)-}-i@7!!T=)>WGP2Z>%J)muaMtIOy(G3NTFlkmdAGi2Sc+hjDj+VZyu1?2oj zye9L}clm2^`5jy%E;Qk?WFjAKnVmUD3^R=l)=%&RTNL)EzhcDL$cSm5S>N5UN1X^TJv&JwIv+Bcx`0DOF9r;w;&=B!^6N%qjtI-K^ z5EoPeGcjp{M0zfvRItxhi_MaIzV62Qr#E7p9G)VOWu@$y;loV9x{tb>z$+$r>iFAG zI;mqcT3@KZifH|IB8ZE*hkYqv-voFf{&?Bj;nS^ovqj&Z zMsqoAKKzOqtw5)WOd9bYiItp@tgmG0YcVTXAy#ra`)t@S2+t9$W7l^uEZ?X$%U4%e z%9ju{JQfF=z{RwiOQI|G;c8Z`g>x0Nu>7}|a{Ov-DgSEzzq^!VbWTf|JoKzfse}q) z!Pg)#)}bRRVe?@r^I9+Eq4%OBR~+a?ky|fKqPtmlGBGoSaYW5ZDY1#?L$O@7UG?R9 z=dUr#RV$Wj5=$E@m+QIqhUHpxw&gO@j{64J=-ZEB$Ho0mcihTVVwwEi)C4#IvQ9=7 zxU2~uwfw)g0VfXmqYdclXxxCsuxk0OSM83G+6GiwZ@`(hXzL9)p0DWyjt*0?zOzAvMO6bto`n1zzE%| zusyE`K06)_(8CSwfHk*O-b;}Zl1;XyT-@V4!DS}jJ?L}bYtPAjvMDl+TIN44L#z03 zYpeK)=$o(%4{G{m^0|Mn(2-~m|nh-z0i*@&yqd&d?EO%qR^6q{6}OM z+ScSd#`vsiVMcCYx~=Nbcz)g-f}Du(4Gup`?v~lldV|cn;TubVd83QVmz_x0{gu<{ z(pKo`3i8nfH+!$t(ZCN@bQ}ckWG}n=C6K5++7h358BM-)R-U}xE*dJ1e~N`!>Bz^| zb-XmjtGA2S3cmjP%MqF5gYy^Y$Vpp36%L-X2Z$%QfOvvyuI5|3p7%D`;$>a`f;<5~ z&r3*PB&#SlGI||;>uM4l41Cob0%5z6L*P=XMAHzW#^9nJw6HH>4{!c%NQ`e_tIP$u zZ{T#Z^bLgE5NvcttZyKua0yYG3WZ(sJ~CphGDT3zvz5r%dRUM5Bb24AE`xjnSG|Bn z{k{7`$}`jve)(hs@|rD0CXQp<=PyPmOWG9~nAl9W!UvV4mnEUbFBv1>AQQ>uX@}tb zIR*BTZbJfL6+}l*)CDAxzqabd$rSacxTq$bKcI&>;r#mZ=WhQxsPsN=+B&0FGPnzitoVxZLc5QD$lrtH^ zZkP3Z-XMoiQzzGv9pW7vnbYFHUKpfBtN0~ig>l+skNOMwK2G=Lp>tz@GFT&d3v_bh z#)_VKjGEm0dy}=}E6*X{nkwCHP?`xnXAps|mLkw+mS$YlWELJY3~Uo21leGpW3q3C zngHHkDnL+ZH3D^($oF*K!70wG*+nvL z9b}dv)pN5M@9J?~P>}B3+u;B7EZHU2JgaS<@L!vyK^T{oFEvFCQBB^9wxCVe7%u-m zOEzJ}3cE*CHrj+O_KarlE`f`#E{ZWqWcVFIt_@ddQ6g0^$DRkl=ts&;gQj=J*r_tZ^`N3-LPL)SewiS)8y@TOYt{UWN)LuIl(nk8!3DSV~Z z0~h3WbylJ}!m7F~!J~nn%)aERU7=acU=U=o<)2cs6Vy>zQGB-=-xYl6F*kS!(oUES zikFD91*Reu4o56RxK$NU*Amp<1k_+7$NHK^{y{<53I`6+ky6YJ1UrqwJN}>Q=Klba zj7a%^1la$%ZvC%8`v2;R{{LegVrMV?zdL(g4x9td_+Q-;%6|(Ir?s+2{~z92d>uFi zhXAw5>H=_LpI--Y8LB-;Y&E~+9`Pls<(80=$VGZrR7nKRxiP}J!>gNo%8YCiT0*5V`p1A}BaUgE-j$ z@q8o1tyr+{St0K2Z-DqB7L3y%E;B&fJjVcW4i@~X_-qh^Iz(P_6qfwEC>aVY{T=-z zQbAqBS%>G|q^qJS1RW~DxqLp>x+ezy-v#_W#vUJ1p`bzqPe|;7K1Y|sImpb5yNPZC z+;v#IHx+MGDF&dSxQAukkLB%zG2 z+Urg(7jQv>Jx2bgYM0ONCS!d&wmQ2|usBn#f$~HX->gWK#fLN)ay7kqTQX%cXt9XoaXI( zSHq-F1e&3!qj<^T7WHnc>J)U~e4qnf^D%GqZabBgbQjAes(0H}r?pMlQ zOuJfa1%F3gxU)K@J7=iN9f8_pulcCrjP8=O<=;TJ)m)qGJPUk_I@78aC&s`J)Y{EQ zy$0ZaK&0$mzQh~ z7AJyYiOU2IUJF?kIJI4FFT4NO_8^UA%Q)T~Gg?b;yki+8Ibe@xJq$hmVx;V``3hr? z=huNKCi=Zn@3#&5{lIS7>FMdB)3CLn)5mzHc{lljj?w#$+OXo}v-Nw+q5q`cAHgje zbpC?{(D@YV{K`<^_0Ls^%RMPn!5I)P*Mcp%jBXyB?npoW8rt;E6efUHg{^yq52Okg zhk|&90+(F@;(K5>j&_X0L7qarRzpFtQt4Dana#e84}1&u2hA!AEJTZf1t6Sfaz-jU z=uZs!Fb7#q@P2FPeqP8PDsUWs4Xqm!xg^WGz&jVSo=BjfZLnr%Zyfx$vqK63E9=UE zX;zT5!i%e5l8z6@N!p`AUn(4VYJw-K$b{S&5gnD?^lsr|NYGckbKbY+>QRo)zC`s+ z&?iRXISaD$cUw(&{N#&Qy`TYU%KgGWW?qG(vnjL~T-ALE>S8dgtK1eUGDEudMEvNt zn7@cz;B+f4R(e}RIFF}BtP2x!lKjad@^XLipU^rHzR9e2$#Ir$I{q(o^MhOeO*b9k zHw|4%7u|fO)jL}a_A|Jpy1`+t&c}{EfgRCtcYu1(%icBV+`&k!@%pf{aVoFU<&ahyv9Bvu@Kc3Vyx=5`fu+JfXmXJA zF2bG~you5XEBW?K32qEFvYJL|t!K%KMl!W&$B)m*kG}7xO5U_4(Bn_?ZtjkHyM z2P?8b9JQSS>*mqxPhc;t!?eTjwwm5T))72y7sQ;%a4DG4h<5<6$d4jO?POk1-MXwv zmi67vsmTpQRGz+&NT}7#c6<XWtn z2YODqUF_}WJ3!3GA;7tObRrtF~ee4b%gb$`DN9cm8fbX!zWJ9;sh$9#3cDXf_<7zWU#UdZVu`R3Y); z9SDUjUIpRKJ|>xCd|@zh`iCI8^_W#>ZX7r0k3 z*W-;qeV&E>pe?m+>4rLfj0HdA$1hk^!>78u6jNPZD*rzXEU5Wwh}*;;Gx-0RCUsVE zFmvH`W2%d->a0=0^2Fdw%fjnQtBaH8-8;$TOHy5vc~Nsv$((pIa_Hd)VO~cKIV*=g zpu)hRug8)XQ^|vdQoSZ?rAVi@6m@o^SqN(!8Qi8uKh*&Db}Y4h@L79M|BzNv@W)_^ znVjZ+StyLOVH7yz=*RxysB6yD1SjT;xLfnJ0d(aXR5= zmiSp)!a01TOy$`6-m7uAKkxx%YTS4i;>N4MvAH%38V`<~IVRsR4WWR4&kQz#vtE3V z^tpw6$0D|XTUzcYN1|`j!oq0q6k4ru+J09%IGEVZ-{B~?)!5-Q@O9wrW~(lFK3!Y6 zjnnoA+QZus;6(yuITOuaU#PfUUUqS*r1BR6N5QvCVlZd9Ig-lH4CXty(Aqxl>QQk~ z-!X8J4AiBCXOLS2QGDLBM9}b7ZR0}CQ8Z9zgyUP*mXU4@IJN z3-CRbuo_C>B`SLpOISq-bpf)M`0v@;s9S*1aZAKlR^10Z?3p8HV4qmoM;$fIo97h$T%0TiMddFX>$Qvj!G4gS>xgv4vCq z;B^*|#S()_(Hr^nU(f49RMe;!lunUfelhix+z%T1?W3<~sy2?OEBboeo_=HV<^x|cov zwdn9iyg+1VU=?l$zuN%g!P}j!>OZO1cggzQGBFiYkJ3AC zu|0a!jL~KdowrO~WTDRIc-a&CMCS{s^F8OH*~q<_Xf_fV!I}45n_r0m`GUFid|IYH zu7eyQLB2&Gx6Yvn@O_619llv|GgZ)Ek4Lq8Ic}$^b1lJ*eFtr5X?I86f%^`x6-lKb zqcjOg68(4&DoO8PrA~OXUOa=n@HuikY|UQLi@lj>kuzcrpkYW&&VqP4Y``25!I&gTRCm`02lP#JG;@|@!tjv zg8fZ?MgV6)fw+7(YGZkDq|$08U(si>@n2#LIaxT95BSAadguX~(%xD(JQ#9F>Bas3H#XLS#g?*{YfVxfUkUuS(!pfN2M}I7qzq zQM?H)j2%7bFDMU8$6td`lhYl1*AIR?9@CML;YtbWAYRWxaiIdm1zrVnkFaO{77qkC zJEWrinGc+|Q_3mS5X^+h5g8LzmIkS<<18CLmv*fLv#* z3Fs706Ohh#+8!|hJ7@y7&Y}_f_`wkQkPm5%94?NwZZ?dzPo_TFWi;9kD3gf4*s$^c zV!{a4F-`ZIXBpjP z`sl)6iqYLiqnmLz7*Q-)&VSv^F>BJ@G+3(~Yz+-o(Ffb_^*6F~5ov)9?YYfG)FT}9-U5N}u z`Ah?SzM~w^tJ7DKnPcfpK_Q)jyNKd3U{@ao87}x?IZ0U^;cmmDV46%pD-COwjpKN# zpFWP2M(2X6lRh_kv<}$Z)fD;|hk?RNVPIIh2d|E$=k2CGo1mRZ>2f43w1Drc8>zT)34ZILAqJJz0(r)S}?X`p8>d(cTDg$t}Ywr|udQ0>eF8ghG zQrIISNe?=I%SzgTn3{nLzTMTCG-l|G9Pp9IkJ4^#m>*m{;UJCJ`r|y%PZ6$^j4N)qEGI?X?UFx6C0M#P-%eoi*}}$mT)rO0arw}5&q zunNOB*q+FD*s^L-weIVwCK&C{Tws6(EH~hj6C+dD*@WNXB}wKh#i_E--HKWiSu~0~ zsX+|&$pJ`_e<~9cSs&^*vylW{Pb7$K#uEGt**cr-(1j4Vtc=KX$(KZ?6R3+$w5fw_ zo#GXm&OaWCRkJeX2y+=fb2&ck)2MpYF5lG>PrcIscksRm?w$CQK>Rj36v5E)C15+Hmi{65x28Q} zZuJEAKP&!e41V|0sljLsoJ7cayI3lkDyHbw#>%fQ{KXNqQ8o9uw zc%AHrVu{9`Bi$Ev&*|dtGQ22vga3qgejUbJ^+b9&$*vOuRzF`EiAFlRaEC$o=}ohQ zi?~#%ZM2wZycuOM-beq`nhy=ElLGiUDS(UnhKb_7K@*-20V+MvT6lgrPUC6L`_v$O zb0Ybdse~VI(Rs6IDxHuy{CtWGfCzswbDqb`Zf}W3G5s?*0D7Y}xEnIY!EQ(nZt=2< zW=0HrN|5PP&~*ol?1M|sa>AoC;UaO+*Av&65otO?F>)&hnS8{bY?8NUF@5Fr|HbN z0uL2C?-*}C{H{q}%5C^Lp0_%#UCvlB0XLsD-J#S%^ke%qcvacQ6Sa)|unJtp+&{v~frPW($O13GDff8MZ5ZiyNHlIc^6Xfi&}GAVE=SG+CMpbXhoh3nz)4zf$p$6fp5k0obxvV z3Wo|U5PUU-7Id620D}6}SU++}O#M`2{WQJ)o*A+A5f=&(!rv}ITxe`Tt~HJ1;#4$@ z9<{owNhD+sVCe80bmZoIz(MjTkKxKL*2Tf>Phxq#)qfW9A3rWIH3#R%M>(BdPP$4J zHjwvFonb#$lJUMX@Y08A-lO1{jZW_C+Yf_I&NOe~|4t81clgGsUZ985qjT-d+bGjc z0#)U}I7XCkVtg0yKZvkt!Hq%2K5x=Ii95#`uBGu~jsEed;T}63KRzQr2DkV}g?9pj zchI6ZU92!aBI)7=lXPtMDeR%?5m4+-M~4er)m>)!jnBfA>EsLndUGk`*1_p!t08y! zYPg8#fY(8Jf|x!Dcp`7jZJeM!nM?$=DYwCY9fakchuIXIKvbQHL}4H4LUi?!6r!sT zLly{~xdG1ENa8|sPMp8fh~c1w@*l%E6d+=wCfv)4R!Kje%1fhY6`vSdGA0RcJHbLD zRY+1PV%{qpnO-*LPD;SBSm8V9d8mhqG|;hsHF!-ab^_|dz2#+ zT;+Jb^7*?_{9Q383?cpqh8RxPJe}Ayh?Qk`v76_StoFvw z5`{pvQV8Vf3OiIrt|1}>@>EumK<*B=@CsRn!bABV!BPrxx|q!b>!1yHq~X=6CG^<- z*$+p9_RwQR@K*r_HmD?ufK5TgN(6Z4ZLsOG)3m$0^w7tX?&CbpREWTr;dO^*`q*F3 zoR+Aw5zc9dXZfgn=PQLE-SaT=_Pz4uYC3bam+`Z4#~eXXCI|$=~QpZ>uaYl=iS^wXgB`^)mjIAADkb724MX z{MsRAd=s^=?eS~Gq}O$`JgpxyupgOP=|n8O)Pt9q{XmCgVJxI4!>>;n(>l zV?VyszIH^FmHgsnYvdRI4cLceT1l|6@?GP0%l04FzI1{wmw3Ih?Q;4OXyo%9`0h+# zW4B2B>TV{q+OUccxN!e<3*LYA5>|^4du_!J2w)Ha$l6tfF$1G37`{$BZNw~J4_K3f z_$48x#kgR@IJm(=LLR9XdC9Z6aXsIe-Zv=`@d zVv?pl2EHy%HOT|l*>Jc)5De@rdcknkn#)L0SF*V1Ht0u^aeQ-A@x&ZM7c&@JjFLgB z#dbB%n!D9jxeDd>L{+im{u2DsR*5l;o`iVY^H#6qJch~lbEq(9Z5+wni6Ois#Nd*J zV992I@ojE~%U3R;JaI~ndoa*oaB-&9=e+wVjZpMJW!<1NlyIRpdztWeIts{S%&DBS&RPAN;`(81*jV*0bc^4DW0*w%rb$iqGvM+}8|9J*n? zd-7Avt>l_Oyw@>5=Rayw!_ztGR@MRr@=0AKCpGV+oSn+=pup6viQvE%MKZrEMsslC zL|FCt7a&&e2z{IZQW)o5yb#RR%?is!T&~$Gx`I#QMZf?)KUrh^z})G5b7UH4b=<5+ zIm990g^%&Vl<#U5FRJ#33!l3zzAs&1Kl$@=DUw~b(4E3X_cRco`05t$89IWiJMXvC z5UchgLX7ypmbA!vwIFp~IcL+3fs#UxM?0F8PJj`t?|~zDj$|^p->#M*Z25a`>9q`R7H=F$3=B-6wz9jk#TWsEg86ZFxWzJihj9acM zh5zyQsH=jX=7?Rq_qC@tyh1jwu(0T=d25>iSasF!W~u-`u>!t_3izNF<;`2W(u}ZS z@B8@&_-S5Pls|9n8iKJ_e1M;3buCi39iF4^EI6G{saOC)9HgsBkKX zXY7;ap{C%*l28>$XJb8l>wW<4%wDi<&0rti#yb=OYYPf7kXE%V_yqjq>m%ef5v@8^ zHp|y;g0^;%o3w^*rG~&^F-@W7S~b>q>wl@SkZN6}Mnm^oI1A?psc*ioMkP`~bYQjW zRk~(Nb-6sDnQ6#=JU^qE{H^cmgh@8&QVVSix++SUDf$6gl)N&Y%q=7e#u^!yqE#B* ztGma+HduAOFrCeJ4B^{2r>ZtoZdrx8qXLM(3XTGK!lE%Bract+X@v@5ydZ+Hos-x^ zg_(KZFi-3*YcuEsGsmM{`e=4^Ec(Cv=WS%JY~9B5cZoLcYSl&v+cYj&i@rUQ#G9at$BCgO zFjzj-$)V+N2??g;@j$M4_tHa4S`9kQsjxX56o#ZPO2X6?%OM>35NS8+BF_FIoOt;&&96_hc$~I?Q%Hm{+lCF zQq#h^`6UO+cL@@g<35W3b_hhF$X`om=DKp*d-LLpL9D36X z8pK*Buqvf0VqA3j)2QUMTTTuYWGn10&S-c&+E+zk{hKj;%KM-owU8DdO<|KtBXG7S(>hi+ zX#D3=H>}U8F8|5;d_Cch*QZy(e`$SA<{Q_i^B!0qd)$9{eQx*w)&~x2Tpu(8ZL>aP z9QwbpJ}swPtq=AD)~C2htWT-JK5Z83Ltpv&JkoTw^{E|qj`cY)8s#55$_LFYc;_uN zYM^JSIuvBKd`e3$OsIyD0cc=6`Z+cuZ|b`nyPHn z*QB7n20VPwgJ$o7c$2z-bT(+KIL0vq>{sx_8Rf`B51BEJ$zZp_-%T1@0>PR}LiE$_ zWci}8Q4XJz4Wh=tg$D1pQ7~D0R|nHVO0WkB8qjEo?fjDTI)lfOs&&9vTnxb9N`5Te z&j%AuMB{PX6^Cs3l$e>sDtFc)K7n#tC*$ zG+bkrv1hTJ54Q+MkYK$p6D?0K53Ivb@BZFS$PfHJWKZO)@Aa@Zq)!VNl0sM-1Dr?C z1_z}Xe{UDSDbwLZPaELOkA-u)0Zs>^BV3-qXwTs@AYuUMBLOs>GWmZN44Z#{xY873 zSqP!JTi?&DNYJjUrmPV2^cA0{$RI<-uUarCXiUX5dc}US;%OpJD{dh2bn{1K129hE zq?6tMwKmxIoAkj}WgDz-d0Th#wpx?IEqYrU-WP54xQci3ae4oxTh@-g5m2lq$p@Y( zbZ62Y?@M|sa2Xn?2e#M}sIx2VH4k1udDwFvL?_)YwKD>_J4tvNfJy&M3+KIqV7>o4 zT#dm+x~=9$yXFekK`jK1(-KM8d72YMNTZpv&_tK|9nkW>+#>GvL190*f{NG*Kg+A! zg>C~mYMxNtd%F1Ash*U;L5ovyv2XfH4}!#8UTaojB(B_|CPd=ZLQC-1;BUdYa2cP& z!P6ayzH)3fQS{0Z)AH$^(S-%V%phL%qm{vtoh`X7!PB9FF1Er?c|Y2z1t}2mXapvb z^|i<7N3KNC6OY!DgxpiJth^tI9DZgnJ(2`}$+rQX4A-sT+sybfq;c9{1)`rGdh%&x zz9ABqOJOQs@WDPuitPz-7H|k(k42+k1r8^kJL(NO&Payr2sO>os ziz*Oz0#lxFPLAW9bud4VCvG`;>>#{UpRjGda4UBXmDe^&%#GL3EXu&>_^TZMx0;)oF*)Q9l`>5m`;t#coc!!3bq$hp-LH5tB^L6jnNVE}LlNI)lN{j#% z`Ihc<(pcrep#lPuN8~Y1D8xn_RE%ar((jJ+f7hY@FQJWfA6dl(){_aqc-dOT{PTZuZ!5HDEA z`7E11*FcY_P<;BBKHRTc24%@U{0Q_opOcVIsNWpK5Ak4KWQ1-Cd39?Oy-FQQWSM}{ zbs!$mcNftS-D}0!Ebx|_Va>{lVa@(wG1@thWrMA<2WciSy9%F_c4ng!axPr929ALc z1BOOEhxE0T?qHmz6abF7Nr29Uh~EJSxAO{%f35VI_q$F_!n~Xzisa z(ny4DZo+%oZUHnXYG?9M*1gOqrrfcFfr>8VlVLPd7|kvzf@xgPPWSKu#&_^yV9R_L z1o3bDZX7)9Fon$?ZS?sGZlPR*`w9Wfuy(r7y256xkq)&N!okV8@4j!9$b2y7n)3~f!@|tZ0W03}<`VV0oYSCbj{dWP{f5+*w z5-Oa@CDLD`d{NPA`Hh=7nM0pRbspMIga235mCnx&FH3Z3AK!!}s9zwnjEo(p2;pMN zGYLZc07*^-QO9UFR&~hNgFcgOS!=5@FZ<$pgUKWI+K#=RZ8rA0SYeMJ(t3S#B6JLp z{Vct9Ikk_X*D_6#-s{(&`XBcCqBgxAmyh?KCPS|mfIOzKuMTP*&%usc&OY7GDB4HS zaZ8)&Hvdnjd&+e&7N!6_K*GPg<1dedj$5eXyQS%!mnk2~?UMi;zOR!I9>@d~fpuzI z1n1gT^^q)cxmF|zir6Zbqr8P9^I;N7wzh@jH>v1-gzC!adlmzMTSI~Q1JUL_L$|sA zXpXeGA0=$=LraF#qyAEw+NXiwO-ck|YX8ziGT)f=0Y$~V7(20}nZiRlqI8YK?iL9s z2a-Q*8gl0z;rW=NCX_+sf#Q;JWhQf`L%}0_YAtL8IWhf! zoC?csBe}&*9o0^=SzY#;bPXAVHmg_Wq0QV}Mn5c#i^7$GiyqFjsZYVD+%J6togSB$!O0W+ z5MG6f(p7JU@W1A)s@0dQmRUmAB`O}TldN`wzeIk5NLV^|HZKom@B3!M?ETQ(0_Q!9 zESMnnMJTT%SZEPAeSed{Y1|Lu<%MU&OC$ELKV!sxLVApzcRMkaDeM_0Ho&k!xB*s* z4Upz#t7gZWWRRDTI*Q^#WQ0`M1bkzFyH}|w&)zyND!*Wf6xBC62DiT^ZPvfKJOgg zaUiAGqw_X#M8L}+uv2P}zp}-z(;H!snXZ(DaCN^RM5h5m=Xd`Yyb~j)IY|%!H5McwU4G3%&7=}SAXl=EvZEe+R z#RvM;ikhG#;1f_3TdHV%%(4jKnE*-le;#*cXP3a2`nBr+*Yf$0*_k_YALpKP?z!il zhxk7ERs7zneSa(;a$YQA%f!*;CbMzXKDxXsZhbtuoYK56+<(mSb}DZ_Mmfn<2Vi+o z7UFt_Bm0u>9v63;TB0K6bXyCKzezlQ0q@*(`11++S&cvcKtD_I=Y8}u7k?`BGb7k) z!Mi(K*dP76h9hxy>cLu<#S*>-W zSAXv$K2RFd9=4)?3;d}zk;6*>e>a#~IT$rw(GtO=M^6e&(}Na)q@OZ>9nvNnijJSu zhppzxtR+-LW*?m1y`hL4a0<@JN)>;pE)cYUg);BHY){Em?=U7L9+heA!@vUdZw=P{} zXuYx5*5``WwV>Z;hz@u}2VM(x8yIUKP{GEf6{3X;uEL!S#Z|b$L+y~utV3&y4-TlU za`ji5_QZ*=mU&dEG7{JLuYb#pzq^PVFX6^LatitE`e2hp`OZ8AUiHgm-DqrpsAKT+ zTWc|K{G$;R|LEY%nC`FEl|3&H1S52dnl}f&@>&8D4i;O?0lR#yt<`L5E2fQO#M)Zi z$JAPE5q@q{O?(RR(2rQZ^8y;Iq35qsXOTYG_s3rIe@3o=QhM{4ub}CE>`DZ`SEeMa@At4z@kcKK;mg|D3NayhsBFdak7`e}+&V#CW~KA|0Uli1b*UL% z0g1TWfzwnqnxx?}gD&RoJnZd({nXoL=xwDCvlkiyOixA^ANgKnjCjh1wf6H=_@Py1 z+i2pZ387FJYL@P`vc-y#eR2xbv}3T&sab0AhodO9Nt=4xuTxF(y<$a?C;(vM8IH1| z?nODOOv9`o8On;kt!6_3tsC4i#D|Is1wLrD5zxtoT3uO2h75S*1Uum!NASxmsACNo zQ)DYE&VH7pY7#V1*D!&r8}Fx>78zX2*fKIX;9AbqYdJ@+Wm-ZlPwm=Xj2gbE_Nt>sQ&wJ|`fKsV zA73PizD(Hd(5yc&9A`bccP4Lwid;n?OP0!Y7F6e)0xc{_4Q@xBc3=B*shc{rwAJ$( zU47}?FOVviSn$UZH~MPyBmH-O4C3RAq+)81ew(^S!g8Yc2B7-g?tTkC?QbGIJ5{2E zltWcFNWr%{V@h}UY=$M``02?QvESY#Bk)=y^SFXOvYT3fHmO?{s!hi9&dKt03$^Jt z$J*?RZThYBvEoKWzdKE|*>P%Oo2UE~!&$flZ?<-ObkUTM%8^KBJ;(vNk;rfPnaSp z$>WI*N1KCaokiVnHGPY(MGLJ@n&FMY#bYeeM(ILr53Bo{{4Ez}@QOY93>Lx+7JYX! z_~NA$82ZW{!UYEBFjsx!z1SQobJ9I(=g3Gjr}+i6b>8=wQk;&$ z*3@gYsm?wM@; zjk~=|LSF?&%d;){2Li*Cg=qPV+W8WTvhXuBx}CoZ%`H{eZHGy?OTUd3_HX0f>T-3< zd!xjHWsB)Ueol?--!+qB7s;bS(ZDc(VSZa+kmC6aYxh}#Dln>BIB#I&Q><*bx|l1| z@JAcQ! z)OqNStqrq-9yQ=wAJhkYq4>uAt~MR%G0vPseZJ`{>ho$D7l9)3tFyrRg{xbJiLq9X ze+bOq5Uezip^MuJ8F2^)XxIoR(I(xNARz1SyAt2ud?@by%!Kzd6W{+mzpn-I8mOQl zJ_$YL6~GyTqB=C3gmn!l3W+@5<_g?NJE#8FP=3lHBAy~wskoMjSwL~f8fIgooji=&X{C@Hk4` zBD5L+@w885qTfH&5~+%vOIFoghx);*0?po z6L4y>Pj#;mYMl(S`(|Cwux>57$CE7eYv+F#)A`>H!tqA{#{*N-)Y5lGv2SFv1%;tD zW}+;QOG&T>2GEJhA&s#qZZrqY4z}iDEKrzaO~chThFrtYET(OYQxJ!hf>&nG8wERx zN7?d3nQOtL%3!NQy|?7JNJqz2P(ht=PrW}^3&wOkI=vwonnaU;X@3C%8&8LzyMGXg zPMm}-N9$1Vb%6ZoQGfCP@(q4!A=|4V!#N9;L(PAOm;pKImzVqL*)wZXNrdL5oiDWm~a>mpo#8uZhHDs))xbu&}hRp5>Es}mkCEhWEv7q>SS#vqsv6C z!|41+C31E0xw3_=7-*NW3W-*oe_dZwzFI%1+=r%4HagWIM74#p_#l%k_?6(S)0SeA z#|*YT_5st%_NuA>hysbYLAJ;nkKwP&*m$pf8*(3?@(eC}Xp+aaq91M(y3D?Lq{}Q4 z0jtuo#pOp65iPIQi`l%cvUjv zl67h)^U_oAWNioMjs$4$G#R(`!MCI1)VvER|G^hCHJcKTYI{(R51fOpF%9T}!7k+| zk^Uw6%o;RD3%Kfh>gXagCRAtBhSwL(W;7W+(?Q1>N;aT%Nu_+JM{x3y1ulCNdW86V zlwZ}aUOdgAIo1B!%ubNadhMTFMfQy#=sgmv3EM&C1T1xabs2n#jykxkqTg5WYKwWQ3CDkdNBzN7 zT86YUf%S!$FfsC(OG9zFX21D>T$~0=Fs**(IgdzPdn*X@_xj{ayo;!``O7nt;Qxz3}$^a$lxL$AO{ z|6p5ocmy7dy-g{c! zpsb64h6={B$E|-6(XCCXaKdek9|lodp&qOQ?<*SqLbssc-gP~=qOsd&ZGEGpOU=r zyb>IJ&mzQ}YT%Rs$!%4F)9zgqmE6E))92$4hvH6?+)h5Xl2Z7jN^xhjxk;qwv!6CM z(SSz{#gyxJ#8mFnV~Y4GG4=fTIKBN3>Fz#pcLm*Py8cUAXt}CsTll6n(+f9hymVnR zQ)8{P@HPHbCoM$xwb;o)_ozrzZTcjYn=?LbhH3il>J*Vcu^ zr{&bPR2t!23ru&T#5z0xv}|fKb050&KI|79A$DLAJ6eey!iey@t)w|NiEzEGq*^wK zfV;61ABhfyV+TVQHX9F((&?^R+@0KNKJ<69q^W`zVJkFQD@Z|}vdXLCoS_fq)A~tzDO^W+{d}D2@~R7Hx5WvTvsUjVfp_rvq=OG$f^s|^;T8-Q z1|5YLU`lID1p5eujgV@ugN31otfR!Ia%C`4Pm*ot9&Yk zi^dPtJ5l$z#)S-2TeMjc5nyeO{d`UQ#N^h`(;Pd_i^NPR$SfCx4~|Xa@Tn`G-WwG* zmle7Z>sTC@SFKxss)S6RSM7T~+q*onm~)Y>acSNz1d!{lC9f9DIi1sdy(WGE5{*+o zJ_}K3%-?2m_<&$B?X5rx^r`*xFvo2B1nDqTQtDMh-DIRW1RJ>C#SsK_XHGBMQZA?J z_I=2j^iVVEY2{j1Q9brW>h!8Xq4*q$Vj@o44`U7f>T;MjseL@g%1Nt`4y&hji=?*D zV)$G=nXPVv#%-okn|E@XTM^qi7zkHdd^sYZv=_#ZhnY6h)$(Yp))k`GIOpOw(y_ve zKh%X%5=V)&6jYMb5-nvTiLtM44ek)F3^UA@btN+}Dag}4*0Q?GwAo~R0h zyV4JbA1#zlU_DdzaFMn9AMh<|l-@Zf5<5DJo=dR|kybGH>_5*Cq_CB6?UQpcz=Myd zaRhu0`2RzeXpMp*@Bh!F{r^@1LRnPfEx6@DV<7SgFSM%Tjk$vh9E)!YKx36M}eDm26G&aNGN$qOeR&@9Z zR^(yMbFcdO=@{}I*hKgoVgGeD=9Tx06Lt0SRS1HdYa+)vQ-ApkvVZ$vrWOm6;Q(!t zsbnoVLKFfhWVU4%DA9oS2aPb6DF#lvJ_eFE1xSEu86`@26FU$4Rs2LeV9F*j+rBK9 z0Mj4<)5xrrtgFt*C4V!o+V%uv#S0nCR@@l3!q&7o(7(JK_VHb5eNBX$TCGaj5uhIo28Jym=Tc$lZXdJaAG zdem1R-HS)Dz%RK;RCK`2*<#^1JP5U|z5uFPk7S64pVPy8AB6Vtd6l!TiJrg3FINX! zYw-CS+WXHA63Yq#Zz4AThe3!iY(0L@$%pv0WrMJkGO4Qb;2~g?NB!v_jF5=z)}s!> zzA7soeC?g+M5uov79nmIc{GFfmmWvVJ8eir*f9O2gmAE(ad2A#4vt7e9Q^frGY!6n z6monG2dy4!kq73#E^VyC0>eWBUYM>pR~ZluLV3D)J2dRrPu>g`|Vv3mQCff!a5KsR@Y@PAmqOHmFi z)sY{_i*#G|MZ%WdhWRahm|`HP1%l?#wEWZ->@9A0_8^4Bigy#Z5^*C;!~8hWn9i6g zUDXxp8Rm_-vl`T{SC66&<%0G){ zl&0x z@~O7dhz1&6PQW}Ch7@`IAKyXy$#y4C!1L*Zb-_IR%%^_n6o$2A%lZQL3%=cWR$ScI z)$r1IWHy*9;BLjn6;-6~vMLlJ7&_c=t%`f$w zWFA9#IY?Fu`BYf6vk#di55;T`VU$8I?3T2lJh(y|N)66eyO=K+O7q3N4dt#59?HpQ zvbvUIo2`U*Z;`nzdlH>N^R;VXE4ujhG!(v0gO)_d=IR8^1$)XGwg`@ z^k&R(6E}LZPyO3+ee|AQMsIKG!3_kA+v9<8FY6NHR#}oN^{GcL!l_J?_WHeAw^Hv3TWZ4TTf@Wx~>-stgE_|(S7w0W#J zj*Is4WD>$7v&6CAKl8|d{q_MYik~%y&iN1#Uc-Y5uliyZaKbXBh~xvSXKIp;I6wKh z)?i@*;w*x1NZ#CAC8;E~O*kO%KaKbc8D{N3df&Z28jVyFLYxGMIKE0wnc4^a40I$& z@~K;v=}1t~D-s;S_+5wq%He3#FYVA~`se#G&mj(Ma#|#IBn-=G8M|=L+-VBFk&`iR7EJaY32CCANAl_`$1rHW_uH=-Ov)HHRimE z=8tqjCGA%K02^57dRa^xTPE1QM_emSLJTYQt5=Z((OZLl_0(0glgPlyI&+Z57KP)= zv(zlg0@^v6RpTc1&_`GZmEy3YPm<`ULCUkAA+hh_ECyIJdCtIr#aLQA%}XKTuNDA z^Ix}zFkjTXM%P&;Wh`2sjkOA!wjm~^0UtD2skGi=em!!wr@~*Z4%oRvcrl(9o@_?5 zxI9<}eemnblKf5e?eg4o;vIM0sAWI1grZtpX5~f1LR4_%COWULGqGcEl}~-(cFnUo z(nqHBpZTn*!s54S4{tznfy#8Oe!pXp(E*h}BzkyI|8@ELXkWpKG7R zwF8a323)s1GF~o8&o4={hvvmsU6D}r=2+F?I#G2&KIeZCRi8OqUjZH%!bjDB;13Ve z1Uir_1szg}MvG7HLigkF2H-bQSgXRXb|>IT;0%18fKM~Fg%_B6#h$!Ly<*Qvll~R# z8GID>psi1D*faQ;*z;~UhCL(TYsMb*@n!5G)Tx{#P$$ll``4zUBOV-#&A?Bliy1%+ zi`-~`&Xb1m(fi1rbQ}t-@n6#p&!@@ z;^$*L!wwLx@YF=(R$>vUKV6Me;lpj3R^Nd0IYVy&y5oEiNMKdg(bJ87^8F zn|7GjBp0H&IN;ncGe)LZYY*+>MUbpl;&IYx52l*Qp4~z5O!~Ea*~fgy+-83+6{9_9 z5yR8;)C(9d%l_Pe7%uk3CvrI_EZt}iEnxajGbw&E8M0#em4s)3RC@PnE0xz{`yo-n48CJAYZ6(yv$*Jg4I!&;XIJqCa{ zt6;O@Ri8U(2&;2N5_t=_JRrLJSe$t6Pb5yHp*Zp8$=n8oN?%#zve)+wzC>rGfqHxh z2ouEl3DE)lv)T?k&Z8hi?rouCy0=kUK>41f^j6G?PPzx52WA`Jjoi{2LV3{4fiUSX z>GlW_Ha8+M4kcCBt zS1sBj#9xFd9hYip8vF71SOWoHR=g|>@{|ysB1WHOU&4nQIrPX&B(t`Kv@=g7^Z>y{ zI}MfSE7r&0cA6x94udH|oe|-0Gg02qKAnOJb2XC_=D}v{C7akIs?XRsa=hIT64zsi>@=kBCS2Uw2XS%a z+L)y*5X2M$of+2R3-`yzXRtRtnWP1gL33IHAaBCZxE6L^<>hj!A3Nw(&wPjw72_nU z=h_V0H^59=l0*h+%LK;7PMjmoM2AeWKjcPUUfdf7)3?WS@FWDeH_?q#x)+}ZM#o`r zjzqaru#2X8mz;_Y=~0h$JjQU|@r)+q_AlotD)&TwtiN*uzVlHtVP3;jGzM{jys?WQ zcrHd2W(d-eQ)0@NDHRm}?kz8B4OBt{i+O>d7({3cMN=}{N_u)QeKyrJNoB-oV%eP56WT+Ob=2peTPh8L6FmzT4YRYfciM4h+~0{taUj8 z#U3x)P;OZ)`V|<=fH~j8zP4U6UQ)k$lPvTic8{Oa7quqyM6b(;JS(=Ch#Y~lXsy2x z)-*X4k5mwHIGU>PCB$F>cXFa$F+5Vec-5@?F(!5f&MF(v0;dBy)=iVw@`6SAJ{0i-6w{uLV zT$bD{xUv_}-ey3PHgC5WgclSQ6T^aiDAEUJ_|!k&EF_DEShC1AN1~H%5OsRgi~EtD z_3!ztXFbKta>vWH97Ux87MwgYfz={si<^;kmcS&G{w$&zuj;<#NR*YVybO}|)hn`1 z^`@OgJuH@|2SwDpPC~Bxrch9($UOiDG+#-GDgadFY`WBX5Q$DZbFX)s>c7ds_~gO`bclD*CbQ2 zlG0MjGG6Jj5Dm54TgH?YGG~0*MCU&*3BL!-_W>BZ@&$D48+rIPbhs84+)q?CGlPIG<-X0DIgf6;6ov$jPY zqPsRMN0U%3i#c?4M(NmkhtZ?Y#%H8fseR(BKFpC4I0ZzTOG6t1Nm5SGWC^adMAV5m zYd&&QaTf+#3t-j;!F*w2JM2z+Y~ntz(hf$Sj_v?hoVG^5qL$*O<%PcD4Tm0i$R@SM z@?qnV2yA=m#+{;BtD^PfuoTQ?-wKpoY{GRc6SmaA(onR?j0Lp>+PpsJVCbuWH$JLS z>&znkO9y2*bIAQTWdH?~1Om*EQ{~chlrxQQdi*ef>CsK_jyv*L45Fw=L`;yDKeZj(}^xmLN@BF`~t0X<+n3lzxHEP!oU@*v3zdkl-mQ=xb*73$@EkO%u6}U9S{d7c_TCO2on#}tvsYEllEYS=uOB_l` znpEOcf-4bLsd$!EVo`#Wzo#Ta2~q-|5|>hvDV1a@(>+p2me|y_m5@nhTS+=!*j%(E zmoMz8P{NK1C53!pUyTxS9gs@OylVC7r&4&Jk}9uIPkYp^XH!gVi_mg~496B}$JlZT zgI!vLTMePKlNRAJe?yhB2#=VA+RvlzPmV;}7Ht<_0_a*7JxRY_p>0b2V4-N1m(nGe zXFk2TFqm&XeM9h*q=@B7bIu0oE+j~x?H_83tJ!{6zhqim&l;gGuI8G>V%uKoQ?H$* zCHovfi|f0Gb`VzGc~c)#_zl+haeF529cyD>G-=8o1wCc*%y$kiPiTaE_kHTliCR<> zZeWIJVDL?xIkBV+*FiyHXyZ@0Rx!zmbE;K+@cvQcR8IkVl^{_Ea89oU*m-}!&XIg! z$9eY%a(b9|Hl5}jxriy#J2eRer`brEuINS(kHUvof2ll!2s5=zy#kt$)-m!)#TvR5 zYv@+&P>R!}VyD2XVwd7Akc#t^U^Vwexi(Ys7AS=-sXjyU7D{kipW9Zs%)#ePu5da+h_IcX#0$&Z*aGs1r4eukvwX@q;JP*SY%FpK`N zQh&^7K@o)zGg2hj%gGJEj7;7r2Ieb3nKBE*NKm5HLJu9C`Jx}dunUCz8@H>`Rz?dS znCoFnfFErKFp)D68b9H|69S9>Jw2V@-WzwR<-P4uPr=% z^HJ)CUfWO)QyZBvjrdV*(9xCY%EKtzWYX$5rUQBCAD{XuNC<7wk6_JUZ&9=`8bkzpp% zS1nJ|I+4kKR;W9Hb$!7vm~;!66elY6RzPKoup#lNjp8VLumgB2`;S#kfKt@A0Cpy! zQ%{*9_X89(uJPrHTn${LoP8Xg8rsJMG=T@%8YjUuUeHAb>P3s=>A_Niw$On8?c=q8 zk0Xg5X6@g>#%2@-Tn%(H&YwEj7ztDOgNkU4HrcAwS(H00Qa|m0jSVi9I)?}xqTJyS zu|u9p#$xu4D|GUO7?E6n;`T423LJ|7NXZM zXmbK!+xX}#mq&dyx$8J$;d0*#xK`(E9;aSO6+dLCSav%)_Q+!`w{9*?cFwO*=OV_q zagB(MbrwqSt8@CSG^`x@nXO)e{d8L_!D)^>Q9WUux(_S<;gd1lqtH@0f^$kmvO2lA zNOVMb#tSnH?OvP5?JB_=;Q<}EkI?gsXr!&N5qoiaPIGWWRO;CK1V&=$*d$@%kgKEi z=Nv*kPnun&pkFZBZ}v%wr7!H$UC@#9B00e}(nw=~;4j~YR1~|d34z6^ zz;1+P(oKW|Xpz$lcuf&^ER-C^qqJ^#`K1Nr?PA#AcKL3kBtLS#fW39o? z%V(VlvUX6-gRbEUw$36=<2}I`#JssS>GfgIlg^gINw`%^%3o^_rhvFM^qrR7Nr6mg zucp~7sepf0C2K&%(Dj~jue$f`9Z>?;G>h41jm#Xnp3)D(N9JaG z(OSg^+b2(Q%Z{W95!~>{J!qKYv*0=&on=+0x05qm0j&B1DS`ziM{-*L<`lmKU2TeQEz3GMB47ekRy$-Uv21up#lJu;x1rQGW=yQ5+q(B89jg9 ztRiXm(D2YUsWWbn1vE%c$H(PL)k=hmy=2 z>_zJpx6LE1Z&8yxm0 z)>;+zqBi1P9`yjwaht_O^Ifu>7)7==;lM!bp|?$xS1z3ba<7}^{@0+g|4jjvMpu>q zOQkD2^3$O$1QLvTU@ty|+s!18pF#5DE{xua@PJ(ehE-N?+r?rKPaMU+++p;UyeP$(~kQz?37sFOJ4C_K-I!3PD$AUv_ibCDvfBj;M|O|;vD?gn>T z019dL(7PtGccCyCxNX3g(lbX5gTF7u;Lt5dfaIR60Vos;BKYbJ0)rFdGnt`l;d$_y zkrD_HKn;Qt*l6hpC*p_!V#-$rKzvOoOrW|ek7%Gsmj@wbBukzy5VF!O;UlQ1#X}F7 zvuC-mMZ(4`q!tbR5KFQU{TiXvXCvEw!l*+Wi8DbL{P<4fYW7DBS}^Ds##DoSotGl4 z9WS<8dASx_t@N~n*lO4ohF4R(j$?#RJ6PE`Mnga7mq8wRFYU{pxWytFAen{2PgmlZ5$;0_y)f(j5%2K=A z)vKUn!g$P(*^Ny?GvRLjX1-_!X$YO1rHwH#Zlq*bjjkeSj?Yrc)cbq*RBZf2>^BCo zm@JyIH$6i`^(wT5*tlN+tJ14Bc4JSm*Hvm=Hwy#S13X|u4fQEeK!phB4qi^*d;RKY z{@AMy7hk@u)m-W~ew>QIB9bCG1gcV>dfk2;Gxz!k@EvkU+bcp|E!a6dprd+Qcntv&Q#9-o02tLJ0C1W3_${sSGQaVA0f4y#fHI#tmR`f&d(^{65FG&k zdya4&l2%74mLFA3a^!Lij;Z?)j#wpu@=2&*(hWYU^&wGN!9Iqj}^ujcVadGT@Ih zgRGQlUCxm(a(mM~CSg^XZWw!Dlb&8Uoy-q8K7j*pu0lP7S$_V3`jKqe=v7k>Qx<|u zK9fkZ)-S+Dg3THE*v86c(HE&rowJ8GiRV`+*KV)Cs3n=yHnuD6z*QJpe?)pKvXW#M zTvv>T@Z-L~34ZSPGxemFs86AFy4F=W^nj!$Omli{nk&6trD3~|rbwrx*%obv)4l5A zcEV!JsZG=CS1&%q0Z3Y*Br;HNp{m#fcODWGY|+fdrU-;GOyU_ZTagTc)np3ebJR5N zIl|K%#>3#w6#HFIu|}#&nTt~nGd~&LlCd+5B(2e?EiM#lM#8}DO{K->Exg} zHuYJqFSrhI%90VDft&0ySLGF7qHDlUx6i#Cry`|gd!Lr>RC7D@6;tOB2yg-%X4QOv zPz)A|eTRwF0rq4>&S~jRffp6a#pt9D5I~+{1rF88raWYDLXV8o7{Vi6sXO>pM*c2) z=wn1_Wm<;EZ+xk~JipuCvzk5civ@1NO8_)B(2PvWl z>az!tiE{Ig9@Ls2Et-FfVc?BJWpqx!;21u7bHJ531ewEzk7C}Hk6THiJ|N`5QF4L2eb|ZVjalOLfFAB z1%Md&&B!cQAPpEz96I70-(@1Z3@h3{0X0iIhVE77WV9UaGgKu*yE#6}W9jutJ?cAx z@qPi<3V4eP)DI4k-G_tq8??~+)wS?&Nu^7SA*E?^U`XW0@b_0zPxw#py(ji+16K>I zw=ygriA~#eJH@(X^{PkqV{9bsJrT;z{o05Z?9@jb&W##$CdAo(`U!HjZNFwOV-GtH zT=W_0PTpsYJ?2`_G}IYnOcE9vV_*X=Z5sz1!QO;|pfWpSWB_mGn<$ytXNzCwY-Mg0 zcRnJMnbrQB+oIVS+R>lfigt#W6{o(aX|r-29>0&>$(hThp9eS7Y&p#cBW5<`>X28o z6M1LktR+r!;fTsU(RwRJ(W-Bc^p`rAH#BlqG+qpF4k#0)`s)a#t#QT!qjoz20!NN^CxJi7*ZQ6|B9h3;(sd|Hb z0lfXgze5_4?l%c{vB!5%vD5}woNjNL#{JM6Ewpe%S;wZ%CD)rhHCmaW6?ev5MNm0<2Y%NPv+@H>`!?{6>aW-a;frF{X~RfqqFdWEt;IKr9+tCSr+ z#6Q#Iy!;+}6FSh#qonpww7$RGU>%uSZkyXLAuKCAHe+Zc zso^{_6)B?p##T~Yv9(;G7MLLHMD@%lQ++=kmDC<_(XTwE!~(+WT#Ko`KNlgYTe(c? zjL!;Gv<>n5;roO**hngE52l1%Qes~0He<|Tw`EC*b+OyJq@?d+ci$x?{T93XEh*{0 z*xg?)u}N;5T;h=2jwK~d5uvHgoq?CdZYPFy!j+KXKUyVsno^QZaSl)yGF>b5JlE=^Cr#kjJLUeM1`p$6ZPs9`6-8GGUaOio zDLe`@Y3FR#tgEcU+?JNkq=4ntjd|C|Zb!1)nZLH4qk3*pg__fmvsoT%c?Hi~puD3a zf2>up%nuC2^A<UNS*76(x~^KXbKbMH0At8nU$(b?<`T>}%F>)|*R zFPv)#O3+)73J(7Qn>Hm_{o^Pe^yC@hQxtgA)OW5hafE_n1^k5f6Mf_~*J-YY+$w&& zZ$~e|*C@_KDHPFu<)zPQUTd}YVEhNyS_1{hq{=kfx7wQ~m`T%F2`K0>ub+p)l*Bom zuf-Pa#ZU%90Ua96`_vJ*6Xc?@#T#AbKtD33s&rLGV8J~MYxlLAqUOV}ORjWP{k0!7 z89+5*S@6@IYf!!BQ@=Q{BZ|#e2Vdi?r1qvSO~%&A*sm0ure+VqtI5!A5&SOKdoVnv8Zwl`-9h6%;lVS`ivX);oG&)^dpYI>F~1%1e&Uu z$dRfvajrCS!6VlCGqm7@TBu{~s4j8}?mSSdSKw1mN+HwW-r~|_XmRNx12=WzXu^L0 z+!j9vMp-1scy)73CmOHr?2mTD#j8uBLH#8~#9=uqUfrk<5V?Q1BDN`(@1>vz3xv&T zy1amGR_jlZDJq=2oJuy=Pl%N1?f`PBLvBDP|1?&uR4O$YAhKBlu>JE#pTqCeoBf)3 zGte8z_M>cF(N>e0XuKe@NnVcaiH4U5PUmdjyRmK(DcxuHr4{(dBdayX|Q z*Emw(R7dM9K$Rb}PO~09jtotJ_jx+J&m^@Qe=^|%O;yg4t^x2CInMxh%=mzDXc6|W zaB$u<^}T+S9&uitss0>!88tUw_v@hKhZSDG2g8@rzPv3X@(N=|#umhm;LnNm?Idq5 zJgSx-cad8!8)>60nA4|@#Py@eB@$r-pWlwWw*Dr=LF>o+cSH>qLFlQdpWmX4!biI3 z_tW54_vX<_uFtQ^044<2g`?Tw&xfXS*uHwkN6{z=I!Z~dx_56hijJ{|+abb*+RSm3`Ov!v`_$z}Q>O5#$&eSY zpGN(_cpS2aFt~T5;h0FG5$Ad!POti$wTo2csDoun{n0`_s_5b*0)tlaw;GLxPor<| zuyzU0D3{s3ve1mU^AKZjP83%1lZ`%bQX4mJ)fmZAW+XOw`Qlzl-|uCbuX~$m9^Ha> z>NNlQ&KS)9?bq<_CTFuh4w{PMzlabRI?X^Ggjh|MJ%3(EJxn^B3<- zp!w;47v~sTPnhO!e)s=E^V?HSh~|Tv5@|kb6XM-n3eo&FqWK${<_iR|yL{@{2oZZ> zJh4wV5c}Tt1lqeiM(k)3suBAd3MuVZlP=Tf{r;^??;}Psz0*mBSGZcJ=l_l9CVYUs z0g*1{<#BW|LZ^#t;037#%nN>$*q?`Eyx?SbJ&dv+EWEYonSp7E(v%m=Qr?S_jSYx0 z4KSU1pODsfY*ZSeB-W$=P1fPIXRk<=Ug^3GbEP-iiz{6LsDjp~3U$O2Mz@0=gWCbl z8jC3nKJ_Q>vzQX3xD9DQJUIx?%L)jg{;)f~`}VsiiH1Ie({S56MmVShn{(BFensqX zETySrq?~kA9S=esF)*aZrp2eu_<`mr-v0x#p$Vgb1WGt&onKO{Hjg@P6CG}>CUoFX zB){4lJqka7Yx;c1H4C_l9(DMBR&INJ>K;11@oBSs_%L(Fo)2RjbMJ>tLZh~595X$h zW6pRRF?Y)nJ&qF(R^)<16Vws@1k=-p@ldGI)0p+ zDZ8`sI|FCHwwE0`R+C+*=F_1@KGi}K<%Obgjsmi~GSMbYnp=qnx@~R`0ya3e)D)Qh@T;%w6=x0k2cs0(2%bH;mzEr#`pO{&)2myVeYkVUd? z8Tn0I)F%Yn$hQz|zmbm0905G|usJYvM!(?Uq`=59n(4}QXdokxb%HQm;SlZ_et)?q zx;b(R7nYYRW393S9#uHy6qv-wPoTh%?Ykmw4w7oFj?F=LwwQwjJO{xycn&VPT=VsJ zlRp@Rm$S0LPUv7j&-)>abhQ)?gca3q;_zNstc74)$qpu^Xszl*Yt`U`XX{xzXMM3F zdIO$SU$&K@xM?#`rMpZ*Eomd!*OK%tJN#3l7)J};BVZGek>4H23eIsR1x_wkiml~9 zK)-|TMI3T*+EFIOw^41@8YH2mK)D0Y7e)&Oe2@v#BdErC&A*IpT zh<1VZ;=NqBkw#zREc)q;YSliNs+LrcG8-AefuGMRE zH+pD$u6{YZM+;$n-{tso3jS2+XBGZjKtC(-XO8nQ%uZeoZU>z}G*U}P2Wk|QtVKCc zP#{iyP@#lc>3|g}$!n56klm#@o6YNq$U62&n^2>sSQb!4HvRSdTQ{H*%9d=EUXNs< zl@1beu&q?R8AN6BhQtqt6`L+Xv#4Na$?Oz)jzzi6lK(;d#x^(Y*yU*j^4vU09opH_ znH20ynuTV9(aY6+x1#N69?j|BF+I!4P*@K%RfL_2q{0uJ&-~qFR~T%wL}z!YFW*W4 zi-cug9*i%4ZNM5-Et0z+vPX93>b8Qv;MbIC8Ns>Prodp}SL81UU-72^Xew6r%7_S>71_;xAZu3Q_6+JDn*U26~Fi6@99 z7}Ok{3{uQs9)1w$b!fD!sLo-)j00D-N!KyLn$& z?Zs+v4fWn^Z~Co?JCL&(b@0g;gB_0rIG&}s8E(q7p{hxnR1|a3f~d&VxEvMq7()z% zLrK_TMYo_D5uYS;4H7F{(IPBYv86~h7rX*5CkLPrv?Ez-7H^KMbQRP;P6rXI*4kH9 zy2{Kji)Mh+L2ln1I1QVn=J;r!2oGboh%*CJU>1`8h0}8q-SXTD2cE_J(H2#t%C#~%LyL$wL+4z?!Qn~))EfL~_T03Tk0 zZ_h&IQepm5>XbcnCltfYV!D}up$1l!xk}qa-dGc9^A?MrsBs@q5GMg(;?YL?DlwxN1|Nz#9-v!!B{c?j1f11kqRsYI^u=;6 z!;5((0nN-14WHCai#bL8ZzNL(r>xJojpm8Ln`@XWb;%s~v<#rKTnU^HBWEmZ;}69s z>%=uz0E4C;n|z^5e8&?IUZB;ZUUeHZyEc3#LWar2g;fY@WT0jUqk-#_j%&1s?t@5D?H+ha))_S6i@%sS$*jV zZLl{{5SCikWaJu@bSL1d!FMQz=Vtq|cENd6zAnaVXQXLK^}U^BebRKv50> z$|?cMA_2-m1m);P&RZY_Tuw0q`0nI{(=*EAaB8E-vk?Dojd-_Gyz9Ytzx)}Qw`7TM z(+EGQg+ldrY#Q2%$XbNXs~y#@qD?*Ux6F+Ba>qvPtHK>yvA7Z*R+?)8TLC2D^Y}zL zi(t$(&WeL?+N%iPpWP{JqZsD|8z;aZl<<62YLU8I4h?DP9wNP-vv%m~QaI<((6BPq zys2BNbrmSLzz>8pMi&A;-h|<8Kon{)1q#TS4aZtZ$Ug;@swi%Yh`(so+(58Hhc^(I z3HAVs7Y~~eZUy@LwIXMTU?BKvfVhzX`5gplhG-4eQh)4PmL6Tp;#e&KQ40wymq0DV znacEep;;N)3e)gW_#?nxf^lSYcDPFz`0N^C@M0opbo7~y^jqLl%(2-e9ovN8atlT4=7nnMf> zd8NjKjh{H-@jMMguv5i}zykyUp8`>94IUH?j@7i3IR@9lxE&C+32-tP4Yg8@0M@OY zabP8W!ElW5&aa`F=)X~?|H%~Z2P5Ud_3Sk?H9GLfE%j*B|B zA|;2bqw#z(vR=n0bn9f-uK*=OvQaXfB3k`vlF{uGO}5Zp4wXo#;u1*W!tf;I0E8L7 zFrgPdL!0sdED>-&F?`WMZDG^eBX4;Ql2b(R;BO}@wo^cmfIAoFzd`3e1V3do4FER_ zK+6H(W&t|?E5pM*+LZxhl-vP0^GdE2E*AB#2Z%f6O?)*BLbhpn{6C)mmudd*(D@Uh zEr^Em#Kit2CbE&~#UcPLND56IaP3%Ur)B)+A&)m|P&;DFDjJ;n})e*lRt5kd{w68o%#*5%K%T z?EgD{Z!_X|`Yr#(?|(af|L{jK{N6TNL%D*H2K>(aQLp&jI90>%HB*m+-`jNj*5;G( z`{>3PzaMaG`2FUsz2W!L>omMvTK9j!?_TOT7JfhfJjp-x0>3eJrjFcA7=r?F59P(4 zBwEGma24O1L=t@iO7veOkq%(lM@h6@YT^aH>768_CSh@29GL{N9w`L*KPg5c^N2*c zs&sfx5O5oD^Kvyf8RoH2PO*nD-IgLhAZx>W;4Vd*%K>WjWQ~#(3Y7%&8pz-|wTC_? z4SVBwZC-8H^StUrN0QvvCc4Ne%a8i^{ii=|DBI0}qW?PuCd!H0+>(iMFLN7q^ZviL z2@Q|#IYGStQw;Bejl~*$l~oJ+N;lG1SE<&{&WWNOQWqSj{C^DPFuK@2?PekWJWKM= z?Y+{^grpe#j5W~D7z6zb7xZ&+JpBxbr=RtNzC=G%Gp3&d8VWVg^EJQI#=Y&2N&;GU z{-4nL%%jozzxW-8-}O~WuF^Cyi;Gj-ed}o)z^>Xqs{Bm z8wEa}+j9(j44;%Jp|k$?Y102r|4#9<>wmOybiMdr{QUOuv-SoJKWiuUf}iJ(|C;#u zzz?-~&6@Hx@iXs9#LxR{zf=6Iep?$yKX;bt^7hSN z6F=|!3+?}IA^cn^)R^)b*MkB@FSpQk5cOB6>&mpyxdSQ@5m8UKP~bN@7z14GXCd9| zGCEgV>3T@u>b_(e)I$PSi;|6}T!E^CYe87X=nx%kEKrS0CZ;+LPg!tK^<&k^UOIvS zjGjwJStLE-*}dRR1Rs9A+|rpuwlH!O(zX)HCl3 zl&Zy98=spAsX9xSs!J8iOG5~8wo9nPYgLL&qfyiL!jc_WUKwm29o*gwM22HFOY7KK zLu$|2EOVlJGkQDaikT(?s}lNPx~Uf6GEkdGJ8ofG6h~azNnNkMVe4Z!UL!^c{Png76*Y; zZo{&bE=*e%D=q}gK{d3wlA0t-4ck{WQI1|uduQQO?xmg^u5tB-aU8?}F7-dZ1D^rxO@K83Ud5HPM zLniHv&%ihYyuv@%&&`63qXd^YNYAwWM3%mvC=H)u*bfA0zd+@*U%>Kvx{hD|QkRkc z)c&vhC+$%>|GDY=$A2EEH1MD8o)h9fFL;dn=P{3g|I~jQ{3n0mfBDb%m;XH0l*oVT z|Fihdn$h1o{&U|$B>znQPWexU#(z=`{HMTclz+-jO#Ug0lYjW54B|htzZLms{(t$; z_m}?+o0rIcX8&jLpRU619sfytkmR50?;ro!X5>HHOHNGwDT$MRN@Dz{aqhPw|IGO> z|M~v%pT~Zdz<&@a{*(AmF{?Bw=QDE?MAc)kL$Dk3m!Q`R6k2d~r zUwE(_0o+jy|2LueD4$G}xh9A2>Jj$$!K^I8hRpCjvcZ?D&l2Cim~j6B-n0Gv^r*04 zes#IPAHa&kD-kPhD4%H(wx(!%nkj5g(FoZg>`v2#-D!rf2F()or!IrNX*$}QD$jJC z^ByLQa9uw!d;oCxyT3ak*hqEc+$)EPpg$%Azgaq4z7fd_0JXXXWXl9`uUKRYQe=QVX% zsadz`#@l>$E2;y=Q2h8u_ zdw1-2!=JK#WaLldMkMg3>XVnn_|s)0j>(_8{@>tF8Z>nNq>cYX`BT{?@%*V^NIZYi z?~lu$;_$<>9P#6svhQg9nry_6ALJ$A$F?K`ew>zfO#CPq_x}WbXwcB{LmU5z;z#<> zc>GAeARa&T`{UvV;04TaIyqDaTxrNbF(js3L@S3wYNS*j=mCM&4;VE!SNJYuO86Xj zw^(sde$T})sd{omEPe@h{@gI+3x!0#}C)&MgK6yfW0>aFL{WuLNi%WCIOy@v*6Y zERORwxp}#?u48M*7W=B*9Uq%_L|$WfMLrVxFKYj1SI6vQkgQHmB3h|IS~-c0Wa`jJ z#>_@C4M-~#rei5B1wby#zA(qx$9!OpvyWMxU>{S*X6zvk5n1)s%c3!hn0>s^}-W0;HMm)Hg=-WI0Du!Kjq9JSsaNe=|G!GeP0%5PPhY0bDuiV>%Sw|GmU|2?)t|>?rDY#-NQD5-!CSod z!FUggZ%6Wbk;pO?)~@qVc)FH_r#cXx?k0DO#_LEr$ckJn{QdV`O!5=F(3hmE2dpGd zWP$k9Uw!{#%?m@5pXxw<%49qBa@GYQF6ZDcC&=8mC1jY_NbyeERZ`6Hn)Nz3HuNt= z(o3#&RUX&AGT3Gw38WdQBGN(mie@*y&BV5{NW!AZJK9LXdLEGp>O#p1aRx~l>#ctT zT z!a^B3tXIk$v``$ep-5H>D}9*@!-V11t_o^+$fTdpsatE3D839T7~V`GBrHNCY);|> zy64%GpbX0&PvXfQ2admEPuDz++0y4CH;nPs%6<1c2jIlR;nFv#cgCNJ4># zXdxngphVK7oeUL8eC|QGDO{3KvSH}rxdH`if3bt)zAMK1axMjWOu-IfIu00AcDB7~ zDLzq7@&UN9X|rM;*F6}duq zDk5R3ci~IZUy$(i-hpT|Ov+o9ldyH@pVxxj8H4~F?;U@sJ+$q+fm*0t$hlWsIi{q- z-gHAU^vFBjH{KpvV){;cG;S}?<9M3Kb;&|MMKq_q1o9=84~P9)vJOYUzANobxj4fx zlq>7s;?7f^R2aa6Jb(vy0L!%jC_z%wujUvid>D7kepko(T_ySrG={3ELcRa*hPnSU zZk!EUzTzn5tcHHv`7QQgdPJAYuc$zp4q?u|?_e@-*28$fd|e9txU7dl{+0q;D*Aw) z0c$M>6U;yXi0yjP$JgYhWmooK%4ke8Ho5RndPjUS_ zoKXL_%7o6|5AX(TS1bdNt(ez_e}5znFQs1k_4p zEjCq=jIy4(&uVsK(C%!EKzlPq*!{2``%}RE zX@>q(Q#kiZ;)S`Gkfn%nXJpG`ohTv8W6AGQ9*Y_o7bf7wxJ+X$6sGB9(%M{OrL*)> z4(W7_g-*Xq@nV%vp$J^m*WWyILVYd7zVdp2{T)jEU7GXl_jlP-U#Gu64N(5G>~Fun zb60(x{%)9w{mtV3&J%I;f>GGIK7j%$a*kY=`uice@c?RrDW@em-=Yfe=5r~)`5E}$ z8RwWVax;<^rMqOmR?01qVKR+uqHxFoJ3OE&)W5;gNGq04=5mY*T)$m2c%l|E#a4*+ zsZGoaFq0Y^Gf8X}_lQZiZhPFM+q^w*(l=9U_-B!tnt?myuCw2Z$|LeS?M)wWL+b7! z7%14@^st%lKNk11llcCfA^4pM`1!~rduT+IBh79Yg0XhZ_7K`v>Bd=5uzd)}#SA$T z3Le%9I(o<=YmGioN36$~AP<)y97B5v|~jgo3qN!PDI*G``xm#rQr1VhX!@V&khhON_6fJAN2(WfqPo;2W-@_V~zuWQ2MalStl`t*+P{(m@ zAAEA{H6D0pwpEl~2h(cN`w9?8#tD-=*~HUV8RM{JF}~}GapS6(fpKYgQ*501{Mf#- z$W;<<23!_kZCW}2yO)wIrUAC@7oLROv!&n@nuE|*`#04kG4r^{l9bA8Ml+XY3Yiqe z-!id3@JMWcRwb{dbxJNH+cOknOJU=I%Wg8481Ov!MGu)YyelV7IjE6|HAdR z#k?_Dx4*W==)-~^;!DZAE^03U(r>;Tv7P1|1ka|bWLC~y)sLiCvV^0|kSfK(~7a2sHtG2%9MQ zW!{1*Vl{jleJW1h36Hh{Nf^LtRsg5iH9Jnq$@UuAFF zMRQK7!%z{2CJ~)>$xAh0ky1?$f6FuF6f>n+1H}TNGGJS_Cy|WIcL^X?Ec0>Hr#=m< zcWd|o!DqG3mm#q%oYfb5h8?#zB^i48w)q<)7JHQT4+vP)JJ$Bcc2Bm%*waTgB3S$# z@_l3N8elAdnjy&GM1gC>TE$t|@@Z0Nvoa>te)Zax&g7%f_|`uYoO8Q1I5Qt;LO!tQ zBf-iL0(Zlco0r=c-ffS;V3dwT2!~#gXjnAvd>G$;Im%fPCx_qd(&Qjw^uz55&L}xDfOTy$I@;7p*!ewl@4ODYiDOV#(~AAxgdbz0xFgen=a2-g*Sr3!(4s|8Kzj ze3jrpjZlzHc4gkfn)d~gMH06IEGqMNzm-7wd;J!#2}p>gLImpJ%{MN(P~UP)u%KQ=|fS<4PSUb z=a+mCRo3}$;CKJ_IsfQ2f^f-xW1QA+LRx%JKNtF@VA9JVVmlNx;jEF?!fw~RcGF>& zonSLC#om;jLWTykHv*0edm^zP!n&}|O+Dszim<;{M!V0|Vzty(&46o)z7;aRpDauk z%3QfHHv;=~L9>j!q_j*UwWK306ZYd|uZjz~hYmD2Q9zZ%i33W7B_W!rqK4I`uDhQm z=83)ko^|M(k*1Fpo}c(Nb-QEFH;hl;stmAU6%FFjJ;=v}!X?zS{~M%l>;l@p9vh#f zjj$g#Z=|$a7$LG+@t6f-Un=33P51M0=M==<7`m>exVS^ptM70nM;gw`A zGiU$~o8RBmnOuZDL}R7aWId${F=2Ly$Tc!yK9J59vyv%h#U*AXL(EFLm=&Bg(o=|; zs!qT#A|J%3bBWtNy!)HSCxf0PT{=q7lGypm@QPhx|H}vdfxX`_KJ<%>v3$0{S-BxRY_S?be6?DiuqM`Pi$Yn`_!oiaj!&{I8DET((sXX0aso}*PD;M%lNc2w$GYy zocGr5Vyf_iBt5zyjR%6nco+*iscwkfIE>H;p@S_(0 z^HbT&LHgMK`$b1`4od5!J%qgcAlRKEy$#fnZeNIgj?ZK8j+_l#CLNZ#=YMKqdyaHz zkJNDAJw(PbAo3s0_NACjL{4X)h+x$=F!FzpMr1rk=1P_}} z-;AH7cWj2btnmDUEAZCd^h+{#{j6YP6j|ZS;X5!Rcz@||@YCJ%^0Mv4hm~N5DD)W$ zKh_HSU%`d>hQe30!VFQEt{2Yx^iHktGEo@4OfUSRM=QKW6n<(b?A8iz5QXaug-5i) z+eP6chQbc5FeD0PL!my-Uy8zMhC+Rue-VY{hC+RuEut`&3$x*QU>MIYc{1rPd}4jc z*_`uL_@Y>RVW~5?-kkU<;8D&7yLn@9drGh~#UAp(`;r>mo&i%Ywc~s`fP8n^`?kT9 z0%Fep!c+*;zSfk2(+eM-w;d6n;|jdkLxbS+mahiP|J;-TPj^!~5zW8SpVN#fscdq& zO`c&LIm0sN9C?I%WtyDZA!XxrhE?t-m+i4gr4|}iaE#SVhuC7hsU}q6qRzi2yC2eXGH(H`m zgH42XgQjgzx9e{=xENq%n-CLg`$K|G&^$XlN*A`>{_B6Y?b5BgwToM5s4a_`2nnD< zg7TvA1yCR%3JC;~j4<;%-*fJLW+pEXgl@Ifk7Q=+e4LYp?wIzdjMOiv9LV?=h7=kx1r2yFj{|xD*a7FzQAZzJ~5V9_s;5^Q~SG zmb&d@7l#LgU-|w}{-ozM9xA`n2mGEo;CCS5cd`FIs=p-lk-exo-;?0aJ=Ak=!gJ#P zSDF9gm>YXTFpctIAx(0a-=1?Mmc4UXL$zO?a@W>U*M6-!Gu3MOE9I{-`_4PEPkpU@ z0vGx%DfFGtVtQ>xU|GYGKM&2AYG?kETjqX-1}NX&Pm_OU>Ypk6Ge`gIK5=78^9&KC86rb7M51PhD9vDLqXtfj$2TYO{Q6hW z_W!w*+x{-ZQ*rZ0c`nV^d#P-2p1yvazp|j+PG51lS?=}i=%R7maY;(jNzU1KT6^xW zn!eWFQ;b^flv>`w+hJ@&#!^xmCV%r=cBZ(lWd_=}9fxR7#nn+Js_O*#^%tY z(+pk@rIUphncVx3*J_qDyP!EHX>b*uXy^S?N{YgvXblpYo|&7uqN+5sXsQwA`<4C( z26+@ldwW{w4KY<#{V{nmU-0dpSTW;);QO3~knoNo)AZ^bEbS$U0y z_Ob@^pKvU9;$NBd4bOL6mNL{4Y?5!*3Ro;H3M@NiKK^V9t9=pQ>6vl=P+TiH)y`vO z$FT%@Lpi?)`G2)+=aL6VjC}Cr_3()%Z-Ty_J{5PQ)9ap)+h^tcD%fmLc)&u$Jxin&Gjz}){$#n+pnyWErtG9>L zJ-oOdiX>~J*~4_vGX&z`q$aHZrnRlTfwgnHk-&Xv;fnS}e= z7IQF@$2S?u9~UL$J0<*xOQ_}^WS=6o`$e1raEh| zJq$jkJ{un;H6B(E+!2)mbwY|Ju1F?P!t_a2E19F3-TlI9b4_2UFw4k$1~X@Mpk^gB zfwUC-TZ&S{`%*IyrVlQ>nL>vgOZhv;S#lSVCRP$CK`M1}qKuRP+=1$(lT*2q?r z#2~B5q5GFUME|D7`{$(WeFD@{jMR1Ws0Z{zR?Ops0G}YSD`9-#u3gd)eFse|x zUpT1ilyQZWw~Ga;mx`Lg;xK!v#bE{9?f;m|0`;FA|EckBD@?O+!4Q%&kF%P~mYxwo z#}&!vq`eZ-896Qmusq^83?z=%r)FZjUNXwDwtygI*)tk$d@dHN0RoWn%`wYPRgGGD zQ>^MzXTnE&mo72(R=-DPhdU+ZfkM0XCahoVr(&roDV=^&OG_U#UNvi%D2rk91Cubx z#=y`c)Uph?;CR}9`e!`OUw-%)-m~wF+PAuBq5HsPcGa{qxm}f$8 z{CQFI^Q%RC$$E1~b;7+rxZj>%D2QlDPt~cf-&&7 zNSF90g&hCHrT9y;67e>lkD@H(E9>k2k8tuXqu~ayxAsyaF_cNww{Y9*R%z~CruZ+} zEAz_avR9x#%NCAEe|pQrWb)qE0q65nlF^d5NSu6hhDn_NB94!(G= zBIF|UpBr2~MH-8@I=4uC52u*U2Kildmo2}4s^av1UC}p#<3*JO?#d-LR)2&37F8p- z39j2NQG6~EJ~uWaI#mMe8CzQ`bM@WC#Jh2-3CsjvnYGMiW4E!HoxE4X+tKl-sMo?d zol3BCSo`X0?R&q-@efi4@OPn#-$eW^RQ$!@t-cK7wc5+PE-`EWGKtq_t(79T`|gkP z`zq%5yNUc>F@WDiR=3sE=^He^jfDT;J!D`={&yzv{|olY(^-l9?_~a)wf7UXL%`=W1ysPD)LCJwGuJc#&d*L)C2mh+hiC?eeV0=u@l`|iE6PVW|!DnP# zI`4PftMcD9SWZNE3REIX3`7Ob$>RZSVez_SyNTZgH;{g=elyN% z#iyC6#3ycM$9*w}uH3+mzt{Y<*KWAej&*!F7Wa!Qi0fM-G>EO}I_1QT8q})-uTv@-gpocuJ3iv*`xp3jWLSjP9L`;ZFpM*QTssy z=Nip5+YnO-goSn08ci+YgMNq(H@`JTzw%qp@Mfep(7yHzpTJ$naZwjaP#!SX>cZ(C zQe7w_6_K8lC&wc=_J(j$UDWsz4ue`0s4&+w^V^tji)eM!L=$Z>jt_k846lx|vKxe# z^p$-vIXu^dVNDRhKW=9H<9(Lzb!x053Pn+%N^}zF`&53_6)I-NQE=*Kc@ykdr&q^s zdi^px7VIBwKCVM+F;YUMh~=7TPse6)Ubr2RTOuhY)rO)_aJL+{d&~|eS`J2oIg{ha4ObnHJ5!JZ_GWIXttTl z{v^qSgmsB*WJ;RLp2TA5R2iugHE zeTD#`g?)VKBL_Kj$67;Jb|6vitTam0slXC`C~w@&Lxs2sP=X6?UI%Bd!I^+KyP zc!1__;Fg-MzhsjUHl{WaTPb(@xOb8*UE;&dod2H&nYu7y+TVPeP2Hcyrzu^*(hz9m7~WU0`7@@$%cN10ZybrjJDx!b8b#-xjlWn`>Ho-^6k8RD^)TzeaOSxc4>s>Q61; zI1RqP?pPg7I4?Fam-YWiv2T<#N)*x((f>b5Vf}xJ*rT9j)vMRSPC z*Tlr&5WzUN0tBr|OpRJZu-114|H5FG8!Wc*+P@j>;Kz4&(3`8|jXEevjwl%1z@9c= zH*0qqII{9Kj1Ng;mnn|Npc2L*$16In{{?=?M)8>%Fs=-(JocpO(M~Nu{Jdt)l`|C0xy0fp@># z%f?BO4kYzJ!i6Qv9+nDoRN>UxEK3|^>rxy?SrvC2j82hU!(~s|DPK7~Bl0)N@-J95wY)AZ-0i05NO5_fcoqf^3 zImM>Wo=RZTLZV2O@?sNm(paic#d(-unE@%L{rJgb9x49 zJROKPbif;R@i(dxrRbScNiAIA=&!qS82|55_SNFRgTPhLY*H;WlHZeYrvrf2#YgMo zi`59OlIK`lAh6sjQrFf?hzq*i>adP`$PD_byoFG6wYREKd|SdOUMi!wnn&@^WfU)U zM)A9blOUrw)o_UGMCEse?}KClvhx%SBpS-4mfm_$L%FbrA&sg5u|aA$1C2IT<%9JAg-)?M9L6l~TPd17^6HbP$g)kU9E z=`)o+r_raIvU$|AQE*#Q-_z(bi#|tF&oXH-;I95Dd|tRipB#4W9PeK{TT2)(WS60T z*w;szopUpM2<*(8>>TlspgtKu^joyb%?i+xXd`j~cAz!aB!8T)bA|7Sbh z9k&xR>0vr=-nUy3qr>tBXq=h#V~PL9@w%C@8{C2FE>ie3#RbSrbXUJXC40_|e^9QT z5bTeIET7Yw-Rx(>$5T82l3<_=w?9g2)w@Fe0Gs}#C!L@XyIZ5Fz-iaOBViiU3duSm zi)Y$7S=kNF`k2~Z=N)aW|?`K?au~rjHZr5@i;yGG{_cHoA#e3`sIZ3(trtCd9GlCJ9kUvF|Y)8CsAsS z5jMIy7D)VhYS)B1_vN~=E6nv1o-)d;%YQ9x`T}mvXybf-SDintV@FiC-=*81_AAM| zF0uXcu)0);UY&1+vv-C&Tu-@9{KTw%6*>P&aK&i$PVVO+>Zi}j8y{?R=N?!6%o%Sq zc6^cJ?NYn!8dtF0Wk295v+j&`{+FgJr5j`e5eET;*WDTG3?;^UPm=e^8Ibo!4qhaA zFaPTAvAqA|S3Z{akGi~n{wm1(KORVwcN?(-dr8zEniMLWL?&`@A7h70KFfA^;Y2o- z3;kN=hQv%P#BP?oW+ zwXfexfAm9W_r&etd%^2cBXcvAeme z7?bTkyoEYi?Ti5G4UGT{1Uv6>Yxn(u?5$6^Fh0kXS?04Y9ts$n?s0W)Qwx}qi-}4u zrdnZ=iW5KSeBQBlFC%^`W)fS$&zB*8>&GSV|MqBSlk(qA;_vMN@b?${E-rs>`9tCF z^bb3K%RdeN?tC+8zN(&N(@M+QLo6o#9&-5m=bFDVOP!U+zq~p=bEVGmEIU{|`K7L3>zn&oZ9CT*6{Pn?FkcuqD4ttWMv%ZnoaO*FsdHdh`6 z-*JJDy+I}^1PbVfmP>sI+@>#8=@6c502#z>|MhkLT>UPkL*r|H7ZJagD}FB*elK_U zy+Qcx4;ZH$E-S9Xhfgi`r}2cn@pA?|41-ayInQ<%-~ajSoxM$ZqP@J#^6^9vJj9&# zUS8+*CC_V58Px?(xvHm95tW;)Zc^s72Bb+SlykY2!P!WLss=Z{H`UvB5S zf=6A%?J}#_;j>v!=|=FVLG5QfUL5QEDapkE{--nlU%%-5Kl#}|Nd8AZ^AY3!mCXOw zE;|3O&G>`l|4marV*H=P{NFo}|MB(8Lo5M@`<8qboL{V*Jr(i*Xy%igk5X`b%`Uuce}89W=C;?stlSDof?g9Un=f(E$m>BdPdg4e>qDPjAC6aR$!$sN+a_n-$NNlqtwyES%6Tsnl&vbPwdQ&A|1zA*26ihiZGg|SvjNiTDXdR zHF9ikn$gm6g{&{@y%R7@>%0>{Vsja89qL%)tgm@p4DdPLpGD|Tb9|o^cV!ewkDv`s zh1}OzZVZGQ=x1d&F9^D&KYUNpWca}hv3~8qam9h_UG_X1G#>uua*T(@moM^o_~vy( zjfbsCU?6^Y|x*YM-x*Gc08@)QP| zLj&h|G#w6*Hb^4{0F(7`mZZL zTI;FFCiDM=i_ZUpll~z2fAmuyG5%l5{NH-f`TwV%{Db8G)mMBJ_@5r<|0T@-X3c+G ztP`5;w{d~n;=t6T{a>(Q$tPvk*Q?L^Dud`MfzPMnB#zqly@c1kdW!vJO57UyehROi zGi|uIHPMP0Z_sM_zfU{673M#zYOsH<#=cPiv7!go#Ug0YX+Yuwjyj# z1hAj$O@q6T`a8tm_q!2dDK z|IKIRe@k%RPeYa0VSx26ldyjbg-P1l7?+J7-+wXw~vzi0_?H=e^vn3RJ*u z#eI3bqyu0`**V$qcZc41@{gXJ_hOT5Z=ka=-koEKAt7nw=CI6FN9ae8JVP*}du6Q`)!U;m6M`5~_=+|D!a&ls_t zKO7x5odfV zj&B?|f&p*zp7@#7LdM8GZ0~@EOD2G7i}(IC-A6cHdtJ0##2Y1MQN8dEu=7Q&qb=-*Wan z$bxWn)++kVSM-~i;1^Z3x-+~2(TuGvs5`h1$ao;TA>?&g@HTPZKtC(H(N5c+hO@Ld zF0Sm0LG=B1Z3ilU3ot|ZTLcIAMd|>)tdV%zR>9Rj)`acotfc*dF1JnP; z%Px%mXU6|Q)8CAO{*}KzoBp2c=fsgv_)c)yF70C+%$ zzfn1wI!i_UBw0N>76RpOUm!1M!bG6o*r3fDP5QY(ZO*2ZS)+fIusQ2btMiW@*8i$? zpngt+em>&p=NVc*r-6P)gnl!I(a*nHtjWRC4t{=Py@hq1O`;)_?UQw4a6_f961XJ!*S-gJO7k z`4Z`MuN07JbtjBM_vric*+rsy3X!SWo4o(+&#v=lCFsFy%2Q@#@y<=vE1ho+z;`0< z%C*XCB9px)vMqmB+-oA!=rX!Hzk_ms?-2dIMD(jjz<0(0-#KE`&5YU0ndC#@J2&@( zo{vqz?-gnA*#S*upJoOh>A{W{o2=L0 z9~gBD5|GWn;rUW7Qkw@SnN;FU z)D1tGE5uKxNp^-1AF;Pdc7}eM!jby&)W#qcmimy-=)-$EaE@<%3ZLV1_S0P2YLx<* zD=sozW!tVnIKi7kgE*2W9C_(-gO|xsmKxjbF@rl(5}Sv8qu?RKT(&YL;Yi;Dj=##R zSlnNwDcN7;nxuWAUf#;f!O+U_Svh>pEy7!QId&e-x&4Xk6Ln`daK8PgLwS7e-^xpi zpW(w%A)Mc9>G-uizn8R$i2XonuHI)fYY_pd^R==SG|r2ja+R&9zMA@KJ_2u$bL}p6 zoQlGaWWfGn!{Gfzmbc2u`ixud-P`I(ld;+WtWvcHr$aDQp)k}GL}0w5kP zRer?7f%*%yr}-3WE<1W7+En6Aq>?~|vlc4RA&LX-^`?|(9hcpvsTqwt7_;rl(u+MF zA7IR3kAs7pdpySJSMwg|ci=w;(of?-iCeQ1^&Wm-`V0-mArI^9PDe)cF z>U&ieW&sW=5IUjej3|$cuZ_dV@QRCDrhP{-4UYT2)e1gO3Xe3z`GJQTq9sv1l|Qzk*;^qOyqP-I%7ZgkZZ~hHW*S?JZJkR=zQ}0Wq+0UH8a}rwdDKJXA7ftcY;y5PYI*u23CZsec(rL@Ng>i#;k8(9KQ`teU4`59=x z_#OMjulFN9t(`g?`^DMfed5ydfNhj1L;4|0{3o1^dO(&yaPluzphThUh4D!Q_ztk1 zXTv5RhRtU==tq>=#JC_JP2c@DW$(oCgYw{hqx#$N{Rwqeq4UM~c>}h4G|$Gl$_|6{aYwrH10?zF5Pee|?fAq1`AwexJ9z&8$=T#(vLi41&LuC$#-5M7 z)Uu$&Q9frYzd+=LHTRQasjMai2)H~0%7sfCl0_d`Ptetla{RrG&a31Gbrzy2p zto6K(PpY05tLLTq`M)LMVsTImO`%z#bB)8#0q0)-C2mh^dk!qEyFJ$VgQ3pJK0bK< z$d8Zz!#w`~&GGL-Ku$5{a=^}s!p=PY26j$cGQ8WfGU~n_O_Adwutusq;e9UK&#{|~ z-I$s$foH6u0@-}(NVBygb+(6HlO4{VDx7FkO~9=|p%UY? z&>UIHVL9}W-zJlRV`>Hk5w}|NX-hY!~7RnY=(5rHwV~ zyUgbvh74FI!v{T-b&7EmR}DS4sMOpzCfx2b*K9M__yZZ+jizuk&Fb!bHQYaWO7}*- zrT1jUOW`w<$8;dTd)+K*`oh2@^EuoEu;vUdlyDn+GWyNu76-=Kej^-7vsyEb^}cE} zQxV}<+LTu7xYd`jt#@xYGCABgc?_-{3ry+DpqeJvjU9u#4W`z)hKbLv_6O^CU?5$w z90RF~FGP6A2QQF9@3NTr_+waWcx&vO@eteGE<5K}=1LkyxyQ|w;jy@;pmrh195c;F z|JF#6>j-b}Dl^MhzPst=Sh&ND4MdRFUS#lANq3p~K%3PR-j4&2-XJ|Sf=&4+%<`GE zG|8gR{1*CCN<~ad*@i!j5>kCy$^k@9Z@&b8H__kn(>gYLKYpF0e>?E&Am`}izwdAy z_AUJV)F{M_r+=Hu%u*_Fewe;*r+){b7bxuoYLJK0Ptf=M^x1L3tSM`d;Pj=Gaefme ze1lq7bK5@pb88o_V=y1N7CYaCUOVSY#_`-8w!5xsHm=XH9`bcg8vb?$+z;_>gSziE z_@V%}SzqZ2Hl{Y^$6|FePxFCsZ{5r@R(IXZXzoM4nif5<=z&MpC11u1^j?%+uj4Bt zzI;Z%Pp_RZ>x)oEGX0UvF-{ z#NmIt=D%?M-Aj@=f4%wMSShGHtnLs1OE-h>!vFGj6ZjAL*bjCOf3i zp8Ov>i2bo)*#GiS`|*nZFEIb>H2+s%4tmIo+a+Ecg{jR)lcep&l`loP&9-~Jxw0|0 z&||J_@HCpW>nTexO3eQ+`eNVKg(EZWVA!y>g!f@vv?#lQCdXi-L1g^d;>MR_^ttxw z%`eA@#|3FV`a3DjUaKBlC6_d`b<#f?*o$5!Zp@<*y9gIHl)p_s4(Pnch%arpwBa{T z{)*pylX$e3c+@4&%3m%s7trrHxb)$LGPCk{D*fqB#ibII+DcDfrSBwQbCB}|DPa!1 zv4BdbJcZmRQY9zepF>X<#yQnRvs9n3M zT}ROklEX#2=ug|#^lt*?+9fKflinz$95r_bvMA*ZX+NIeJ?_JCC@R%267>a?R(X&b zShFxtEFCF7MoIfA>DW$shv-*I17?0i+EMvVsuYBmYl;Fsd8hIaD6)r=<_1b-c+^w{ z(vjb#bn5HK<&u|~3WtOW3;O6EabON*C_f<2YG_uJS1S*@WQ@)^Oxb!xTjREk1ySny zm6Be0l4@_eN^z$gFVA~jT2a{x4)h=yFTY4HQ12JKq*OTdY5@(=Ih1qGZYdPc%c;k6 zs5c9aNx8?son4C72ZVZ^uTVSvR8@Hih&?wV#4V+2=F_X?)U9%A=e<Ksxi3(kl-LM!GpOBz~S-U+(6)q8Del=6~XKeAwlD76Ls z^t(gSDtlZaD3!9fb0*jp~hvs9Lmd0m!z4TTO+}*}|-H6Q!b`+P}O5f%?Qw<6$~o%2|BEVs}nH>MAF|24-; zbAOA}^tX(rf{m#$QsSjFbrd6d*ko&4IN}QLPi3R7w9dORcwn^c-6a-oOE@xW%r>hf z+~*D-aE)oHE7)j+aA#NePiZNW67C;0W(%dcg3U-SGWw`7HIFCbqoG-z&QG0nelmh# zms!6k7HoDm%^>T&v5s02JTTe9#hG1X$nP5+j=I7JQpX&xyYsZ|-z<&8y@8Y?+&5}W zi`5v8xWoIXiPrJD8E336YB)EM+B_qALs6ip`g^)rL))hlHe-JJ*26MCtqxT1bW2l| zCsfU|)SNW<LvvpMW~&!P$QSHWN>64gnq%g?C|VXe5t?_-c1c4C(DBg1 z3A%EC!eza9NYdK2scVj?q_*QSIOiQwGZd_wH_>d&P%mSKdQIM#_W~<}3K=^zOOVQF z`@x3I+>00FExcXcFGG*@K6Tb7NoXFdGS)_YN=4B0QyNd^q+@N8w?>pnubOjcF3Oi_ zsFY@$`JHNRgc@#_w=tUW8*@ERZ8C#m;(ApT!deQI!-7bf!PM-9G*l_G7hWM{lO@vt z_owZ(vLWX&<`N#DC2a@Pgf{QA5IJ$e!bHUr7BqEcAR#w5bs?&gpSnLC34QHQGexIZ zD)@bDE0sZNe%?Wu_&YHxGI!>_D15HrLQA{FvSH4Xyv(QH_r9$rfOmx^_cp19fnikV zoG!(I&lRCcOZDH$z*VQ244&w<+KMI&b{akRGWj0?pxBw%iSDwg(#WM+p zz`X6+P~pk3bBoYhCK+@C78lRY;4%75)R-fbE*2SNV+V`?q2^Hg7Cf(pUY`t57LPY| zt>sO6`Z}N{xwp9Xd@*#vAi&+ED#X%BkHljtTTfK9?xp7i!f8U(exfHlnl8QE-4 z9n>P$2?D}Orguv*-djdvypI-6;O%*PrICHli~P-}R+Z{9uqeV>2xCu8@1-xPnbCWz zFs+m_%*XQR?pw*auPM3}bLHGyd9GX~cfUUNlL+6h3LQ)HlASlh!adY^kD9f(T-@5g z*|JaR`}Ig&&^)<_=E+3{O_3GWw%~!qRx3>{eWNfN?Fq+t5{iW6%{u>jv!3*=6$u_l z#RHy&T;YAGV;a@9u5~5P7?@z)#?~=ZP+ie8E~~GhZ**P3FH(a|hH9MAg*p6*{|lTb zzI?VG@~|H_%|O8>Ac(<24^5M|(>gAtPR%02wa~0rO}yju5Up#mw$O3nKW2?m^JB2x7jAdk6^6A=dek*wUMw(tvKFK70YhfQ->7vQnPzP?1lmXx7QNz; z2@t9S0?9LDIZ6Gz{g6R>?Tb8@K%YVK%YP=nu{vv`kvBgox*Bg(9&(GiQPV=NEW;QF z+N}-o18%VboV4XZ8KkvdUh! zdTqE_-C2JgRwjN#O+JTN-4Ka7sf9IxfGF$AlPGJKXlnU!K$b@f^wJ5_^oR>#T zSgc}r%|f-!gNTrt>Qrh9CBSwlr8nm*mBo|NtE#z`C(!1X)mmtm)PeO8ua(}A_FzKg z^$Pmjr5VL_Zc~)mBIX6u9#3AIMdr$RvCQieUWa2<0%H&pVdu+AY`dLygw;Iuyqd@M zs&@-`ZNu$F^?Y09UPTwxMwGk&^m$(96MpuVC}p0^Asp{Zxu6}4ntAQIY^Z81GSzfb zEEIB9Tgrgr>3zFu=MI^mcvX%@@`7uV>K;Apq{ftPi%WXxE~$Jz(l$f&^XiFmmIB?_ zLMfAG!0hEmm=zY!NSYOX`o1$O*m;lH-svroj4%R#W@jyiTEo zQwSF#H_^*uy6Oskor-moniF^_6-+vBH=fr?)3HvX3M1~|A=9Elb-U`Mht_e_cbsak zpw$u;Z5me z3O!U!`u|}giX~BFZnx6=x1?&lKP{EB1>47y)(Yra|9!kiI-frpY|0xhu5ZN0zt5I$5*}35Hs!Q;s$guC_PT zl(A?x{_OFn0`@Bq5awdb1rQRZJQ%K)Lj@OD9e{RJ`)sg9bkV~gRS zYUgD`;V099zYMH`M%8GeYnb9`uv6XDn{?qFm!}MS#kU^+YkB-vX!~y;AB>s^e5BB8 z-xjl$2YRTGWm|3kXlqpf*o*o2GvjIGA9YzOMt^r}2W3OBdHX8{Wjc*-f;Cb4J5YOD zjD9<38vW{G=!j2MuM6OQ(NMKN81@-0q<(R2sPP)F5>K@Z%b=8K=+FzU0di|n5m=5~3xH(JE;hHD8pIXyqC>_e0^<7cB^T=AR z*%07OY;zt~_Zw6NZP_YkF6CGiSiw1XHMvT)W!_tyU8;cUty#^d;p81C_Ic2|<7Mln zZI=SX<~f>vxyp_Kk9`kmrlC6ZJlESG1s+p-KhSjao@(!AH6g%)>!|d3mN+3x`Ku7oMiQy{Z*jrckX_ga zyS;^<B0ECM zJ02Mdi9DuQBQUBGT`7RMr9`*wbrEG*!Li7$QZ-Y4C9dPSV?HIgJdJ7571*{#)AoQ8 z=v`V~4v6?NXLiLU*AZB5GaAQ;DNC!QA4?ckytVhHh^+umEHmi0mg0G@v8XDsV2VH< zPpaPPA;BwKQ80sHG(4j(3JVz~Z&AM!U~~KyJldhBE(#k~>?*KaRfL2n zB}5?suW$=w97WMowE|)&5qo2#V^?UQ6TJfXIT{gKB1cqh%R1j*QCqqUpKs8EbX$S~ zW^+&NVRCo&tKqJSik?>K5k)}RFvD)1U?IE|dqGJ}hy12YG;rs?pt}2(qItgn#WlM5 zrLVFnT#9`$rBt+ZvKK`!4}M7~-64|7kiXiHi$+Ba@q)KYmeNS$K2b%{PDzg*QKarw zN>w)?+Nz}BMX_VSUjg^gzvv4Ju;yJ$rH0A`1z)8#+six+NE>-098M~<^oVYgeHUFP zvjisZ!T2*RCaN(#tTzBbpBmsPL*hgXr>_;82-@ zi$D^#@)dHyrJ*E{;x+9QzzCS*5`c6{DptQ#`KVt+Z!aVvV}}Miaf7(3tktd@%DK1B@ORCt%RVmn-o<S1n0rRqh?xhL=qPs+kSDr+kWCLb7^aDPE>CNHB8pGcgwz9+iI;<|YAcD`-KH!@U9lsZ+)%As;yu#M z;9h~o$QRj_Fm{|QTx~h47H%{!Gj2HmIwnTsWnDBVgSOE;7}e&EH2Z{+n9rs1QNJT^ zX$(|niH_IH!pZ|6&^G1i(5f)GU6R%|hL$JTMWUsl+mIQ9Bt_3X5t%@gig-n%vfGqE zaOW{npo+i~!$L7SOFGBownYedAok5}^ zn2@`;QjtWii))Q^OQpQE#(TUpK%@JlU7&lpHmR8Q0L0m6sY!BjeXQyn(P-LQ@qYvv<&9FO5P9bwmj4^Lk9;t(hSC@W zP^;wn%gy>UbPbrst%h0ufU7lPY@rm_eUXaRzWa6_RWzdp%G_Mv+HXYf>woROtrhmV zo46etc-0<`daSOx(f3LIABSYYZ)~w^eaMAoIEyB(EoE;#wdmH{1 zY;zl3OxUU&hUO>b9wiSA`50x^m+WxCYukl~X_ky*)opaPV7p5`(p0}HjF$UW#rbiZ z_+hWQMlmBC@znXp-PclapA__CdM>XWwQD8QY(Ha6xMn$bIdjTf2KUmAYJfV0eoH7% zO$J#2!3gHk@wd3r?~;@xtVqXy`Vq%}`s*Zo_#qF#;jyV4SJ0keq|U~@Ia#?a3bFB7 z$L*pgjNDmXO7LtmYwvWR;#sNO8~cu9;Un%~qahGG!^Dj)xs)+`t8Aqu0L2y1jz3T+ z#!WO5U)4ZyRC)XIYV9h$V82N~Vz^bx`X`NY999ni6u+;5Vk}c+d7@kg1t>nGHldXF zp92*4l{tH03>cG+oPS!(F95}u@N2~T1GaY5UMnCfOfZ;p?CYX{RrtPWKvk_|-V(5Q z7uk{rueQ}QhF7n&*9uh1u&M@%8F+S(VqOdmf{Mr4Yextbrws)ai!VzYFxEX{*jTsl zmm2@ZGYstbIN6WX|{JdSE2CZ zaANU>F8-ESE)C=J!jJ3!fA;_Wy2g*Y_+kfy?1O{D5x~Jb12iw&X^E0HAAfc{6vssS z+fhqk6)Vzu#1dG*{;FZ;33R-hp5jE2eWyWX*%N{C2B3hs40neNLi^wTp^M>K6?PjF?!m~c=5!shoHri626Gms1gsi*ao4Pzw% zPwCwTdhohTT|AqvY#h@vWeX$F0GH*R#xdJ!Tg=+`Oh$#VU$%i?GQZ24X1fFqMpqp; zxYA(%h@cQ-vejrlI$<0UK_;jT^H?!{L>A7^7DT zc;$e?0MHzimtnRm#e=p+TXt}FEZ5+j0)s?K0@(U{o+XJN5Jc2l4CZ z6M)qj&K0-O$vl<5N=w$M{t2p^Ci4groSmf{Fswy@w@D0Z`O(fS6RI(y zd=+B`>4McWo<%8bhvPmQ@?Nvdn}XuC%ajO&4FC{aS8Fs52Z}QwL2uNs{}~e%2W?Js zXYvKCsL`@gqgMds{k#KG%DJ!)Qo{QnyuT4gjYSwZPlZS?C9R0d`Zz^;_Tc0(@v3Ig z8%olzR+4|E+78((0zj?x#UDO>EQ2s7Ja-6D%(kMR!5Zt?G8aUUnUC>XBX#2P)|WnakY z&~A;(^BVAlxQ4>+2~%XRg4$ag-vDs8*kxenqP_C;|^vQshDt zR3m!{?7*XdPZR_zi=C4C5(?(=&mbKUvO-$w>@IP0kw7+H6qfX9g|8ix0WE&Jy!%x8 zmXfX4#KCR8Eceq@iEoM1PaL{@O<}^j1qv<&`izlSqxUAzTDG90VnHhl`;4H&OaSG+ z#J~5(5o2D-w+KkcY2AVnbNZG9iDvlrj6xy%6+r0#4UBc4jO&65ILYs;>|g;p#JU~ey+D<3a?$F|ewGXwEu{+A z2c<#f`8%|~A=t$b@oBY2i8>yNGM>&39p{&g7&_Llv4V`V5+GxUNUH+pTjVW3!+?$j z9%i}3Bj${Pjq?*=1S%!#DX^6N- zwLzoG&dvkSVmYKR1WJ4;4sJ6rjNV3-=cyn8TwAx|2wPzAjYl;KXUbiI?*N&V1x1;KZ`5!;&@`EoS#8MvJj3wZeiH^GdT8kgBz<^D|{D zLXweQZg0^Z9nb?Qr zJX-8ZJQh!D^X$ZUAZC3*WHhbx8S<#Filj0u+^;@HYXmvsaFW1Dx>Qbl(;r$jl9g2uC$HW(k6v8*Dam6*#i& z&w(IUIrj+wM;25?0A$drql_L8?O*)e5b&Y?8NU<%;w0EOcUahXie5wI4up*j1sms{ z2W&h=!N!UH#Uq1_)5|n$92zlf>?=!#jUCTihK;Y#Ub#uI@o(L~Sgid7&^UAs&^X@e zp+Ms)iM==nX#9KRUp&b7cYu3wba?mT#&{g3;r)w^v%41$E?&78Z+76}i7CUv!_N4B zjK}{M&&$8K>tp}ouvzQ!jl{qB^^y1&|Jk?^`WF`^`4?|?{EJHx{EM|CQv#gqi^Iv< zbJ%ex9snl;niDt~7$t*h849eq!hw?&awc%HFAgVbA7ck-6F7M&A7g_7MlpXKA7i!e zKM+njOJ7za+4C&_R!9216tlhwL(5S*Ny1Sk6v;biHnhLaOKkkQG3 zaI)f!11IC)i7Fe}li=j+va`a;r4F3jsNv)(j2aYcIJr@bWh4&)C+D99P8O;$oIFLJ zHh19UDIX9{_6>%U9egkeQErSQ%0kW>?cXAZaw8+kjV$@>j67HQAuIP|kq6FGAp-1p zfwH)d(TFlnNJB%)8A|%Khy7mVe9SYFmUhRFNI}X<*bI%)Ig*`(I3JV;TD%n?tAxLt zy_<)FlvfNb=j^LI9HgAQLn4S{GNina?UX^7vQZY_08yCoGYPVufGGF&n-c_6l|@b$sia`7N+ zxzxdyWe5(3E&DzQw*0^8mOKz!R=VK>VarKQ%0pqxdTaCi;N@rHO&U48d=CF($K7~1 zcv(F@Z+LkKZ{(riW$lezmIyDSgW&|RQSfr;9PqM8;0J)0Mb3tTmo@f25_ow?-{g_P z%j)cemYm-Lyey22BtqdMMVMjk4~H;UoEu>_1|!TL*b_PP{5_HJ%sSqAwZiv?@JAjR zKbVmg_fP(&Yk-4tg#SiI=%CyecThgfPx|=p>EEh@^7SKhP`;B|c&jVXMfp1MP&R+7 z4$3NiQTEnO|4{e}I~6IsB97 z4)33QT{ZBf?`QvR{gaadS-=@;=s*@%>Xp@1Wdj0Pz$fNy$uZ(U7Vsq6Gr&Lj`~q35 z9Tdm{HrddDEV5J}3wT1EaD050%1^?tBLRn-vp)A&pAe4pUuk3`f zxN2ZOh6!bnUiN$LpPYIQ|Ku|l=%1W=cK_rv7sEe!!Xl3U`MLA)PyYTNfPeB!!}urv za%BF=M=u?je{w;xfATKJKe;HuKUt%Jj$g79umWy-9IygT$P%yuPRJ@?MOOk=rM;LP z56!pAbifJ)f61wTg$`d=7WYloK@C*E3I#_c`6f?D1e3KFC-m!tvf%?(NcQA_6=|wd z&nK)S2L`NA?LB+IiV0;pU`5K10V|XNo8*0*7_g!tPCF-H#dQLUaRZ@V$0?8vzqgbP z5wIeyY>0prSCySJV1)wPRKSYjgwozs%{WKEimZ_atdOJYVeP4=qE!e@Bw7V_Ayl-A zbl&d33mmNiZpSrGYNVIDkhW-5v(Fj#8*r0 zP{ArnhX_`o?)m6%)$hu_~@h@GDM=Re^-A zfw3x-C-OOCRVdCmJxWs?Xe>K>tctaRVpYKU=}+)WA7QKt5mpteBISZ(RVaEUqQDCJ zAHvrd%YRAWB7XnG>Y~19a#p75Qh4QXzG#C>6y? zQ7WEsZ~zshLLr_PH%f&xV8l@>;_9bNN2%zF4>yg2eb6WssxcC!0+y{rsldu0IZA~{ z@i0*;vdWU8R4B3yj#5!vrreB25Tzo&>_VedWQ{yZMRD1nC>8l-!$zr4bN%2b6~#%v z@{^)eC~sqlQjv1uQ7Zm7U5zg+N=1@$@!%*GN|`ub#^)KLLYSdKR7hDP3sI2(ASZ^X zC@njy2l5ahD$eP1JWPm+A$*R93Q?hbjG{gg8#8G!2h_P|DGA4|MB~A|Kk`xd7uBrJ~aNvsb+n# zfg{%=^FL1g-|;^lmEeCYpl`qW7&TJ=<5b80c=S;I$Eor$`a|n~JmGH`|M`^0f8Ol} z)I2HJ4(#RKQ7I`viu?W;rA@-Ub+i2TgHbEmdepuZIl6E!ng14`MEorb@OV|AeH25> zM%W^QdKA!d43ANai7X$5dkH+0fLGwJ2VAFNOju>fE%ee)25f-O0Odg~rh06CuW`z@ z+(KVSN=8=pE*!IEN=ry;&Ye9mGm!!O6odeTVWz`FW9sBp7>I$3|;XrNCx zdiAOA({ZaF^xa-gSUY7icfs- ziaZdd4pY#1ICsCAO~UFDrWcVRyMbTZGz$6W9u|GdZq}Q!w>p;SYI*!N=UvA?V2%MH z$6ZdG>&ZZsg2NLO4-kI%_aPUuM^Uug_)T<1c${{N|MkiHg@}kHB$Nx)fB0{HV}~H<5C|w?c$dk z#eBmYPYrm-i*a^nk}#*<*E z!Lo^8enlLly3`l9OUd*mLw%{$<*YVT6(zcg0-chhQv%u#)o&;wx^+sAh7;dO zQDl8ZHb$JrJ{}MtT;t~?on4$(R1NP<;wus z{!GRyl`k^TL+0}?nhz?r(>n)mwtusM*DqYoJ=k@W^|5H-%2ppUPYo$$BpHyg2T)M8NGZT4UGH4BL3V_ zcDhuc-aWeouVKIhmVc8hbDXKKa;HxX`&CMN@$%?NrPnbCKoL+~EbD?+8;1yt%u z=w+??CB*L&H(41L_XxaMB@hM4tDBRfn|UcDb4}&GG_LF&DSv~Sbb8+9;U%N0XM=iN z@rLYSNOzckF%S1ZCYO8mFx)qnDg=-Ns9~Mr*Zn)wf!k1JJ#TP5Y62qN=vH;S67PqS z5}BL0j(c#$m;f>|yVWcXlu$j#5~i)_(~7J>AS(}|uD4Xplt*SXj7VLfd?EGhPM{!H zCWI@H#XoS)sMg_pwcPl)`*k8CX3!h5N-UzDM1ti+z{K z5uu2-c%=amRGkvC?5lJfcL34?nF`GY;hJ zz+@3P-kpTu0=05n1{YtT+Nxyl3kqcA$pu<;v@^MER*JSsiCt%hOacqUz);5JA+d_E zM$+yhxU-XQru>4^HJjljpzTt=xwc8}NH1Tj%+fCIyeu&ejuvT?;T{!D%BMi6H9dRO zs)!gR>j}*C@+GVYi;l`f->bQ*&WTj+@oB?qomw4;L90js@!EySw8bY)KlpiPM5qzO zQ=iE1DyLe<5S1cZ9KG2pWpa5Ws>-;1S}k>Yj&e_xRkK;mWqP^7dJkhfQUxQAik}-V z9#)|EpclZ9iPt8xj;wRw%11BHRfCL6KOx9JHtCq@Y)Fx!%!wZ*MV7g2ew}26s0JhF zW@V_#VS^X5Q?yY%hVzMxffEUG1-FaxwMsg>wXkhh(wAh~bgLZ~5E6PyUBe0#F!(YCi$uJRwKDISUy+e2-e6K0q;wJI;4taH#p zvQznE@MV&$j~nBM*)Zk8L6`58oUG2Bjh5PZZy0Udr;F=6psqQFTPrj;rV-~RN{8H7 zPHR_H6YeqgZ%(ggl5bGZ)h}WfB*A^fI4n##N^vt~V+Fi8x0{bWdX)FwfXaj(^4spqjM-jn zyA^tJSIOQ&-X2SY!+OYH{f&hEn^T38jH)l=&PjfGVrZT02h{uY&O&{PwK(9zHWXf8 z9B|vWyR4#s*S_7L506(_M*$y!`-ZI@1wovL6OHg!k{UgBm>A@!c^$W)HEg1!&LQk0`_^$cfFB*79 z%KMjc1W!J|}R0MlY3ZG~wP@zxE~Cp61TBr@xBazUf#zAg0Gp0Puk zH*AO8L=djMUTrX~*&b5dSFUvm}IX1uOBiI9tY#<3Idm#>mTLaReJhqYZuJ}6U(TmbgI%r zFHSM*{l&PO*kiPqYr<3{iTVVyJ~P97?lxiNu8dZL2$yDU>wPU8nLK41lR2Xmv}_HP z1l)BrG>QV3)7OdSntpo0+HCB}IAcDyIFN1}gAknQeZx9J@0!n1Bc?<|7WP0EA|aZX z>h3h?V-mfLE@hlSnz1>2Ce3OW=C%J1zpri@llzL^Q&%T~FzD!~ z(NRSi&;fl0Ez+%BW_?MqaiM+xa_WdW&mBMsk&ImyB?~EZ_uZ=dQhIX#gYJMqGzd1Q zO=-^vTiX-`VnhK<>Nk`G0_L)#IMh=_qSRtE7$pI(L7g^QZ1;5f;e(8wBIz=!$C5~9 zN!%wQix%9w^P&P8kDs<~3Fac=Qqx`Y5Rb>*SP|sI0q~ z>-FATs;1Q3SWbeno+V(-X8JY7T+?A}wpudU;p&oRHTS+nT$$2LG)>0~XrH;UW;(Tv z2h^G!lp4s`Vl;*$X;!P~Ac%mUNHdkHD<*OJiea^e_j`<1b4^iTVz|R6Nnysl5;d>&%ps)^=)bp!dxXwb`NuO=j&jWlP3UOB5X>uEVVF2%m97ys0ti z8BwdBKBrnI!)N3n%Mazq=tp*?a{ygHqQCc;^;@ZyaKC#@Bz(YYZGZRx^(TcNh7Wnh z>_#UpA&O@-V?;KG5BsU}frk&H+hd~C#KZ0}Q7KF3fZW`T99=16dLQ0FA6-`73Y>?e zvPdK|&1Ij$NvZ;2a9vU0W)jH~`ga%HWhjY~@3!5KkbvB6))xdO((t{}YNx+9k*Ll! zsun^g+Vmb+E`nMtg6d- z9y^45U+&2FVv+Ar1LgZNE#Lc6S-zL1EWOC`{r4YOzJD=qpnQiTsnmNV<&f^B;eDe> zx+(d<*kl2JU}*Wi@0aBj0^P$~S~NeE1VA-=oL$4wURE7be+d zA6T;Y&UGZafL|xcc7^*$ibsX_T{4E{`$m%LB$4j8EM=%ezWV(CwS4}+d(qkaJMX&k z_rkyPicgKizw^Y<{+&e=84+9g0sK3=2KsmI)xMaG_;WJBzw?c<1pm%PXIpH5e`lk! zNk4>tXQT4(R6$$@_;)VXu9@)f+@btCUrg}t6i1-BhZ3E5qRPLs$H^sdEWAM3RWB;2 z_q{L48KoKrbv%*q);jHC30zV+gL0f66}wD%&4^Fa{V%5{_-q1%ta(y7F=5Y(ekhMj zkbEUc`Na8#eI;v^ zpUb^3h-;kVB82YBj~B$hLaJ46cS*(hoqX_N(H?in{syT@NISevg_f@>y!hpTPM(hI zrQ_ep?R{E#(QtdUFwA+CL2w1Qzrf^OmsG!U=X^s-0iXGua6+4~V?*zW2Z$nDZBijs zx)W-nY?XGg)$ITalHMqBTu)Tv3*tVOx?bg-s$4?1a3gw>+!_N;_t`f#T;{~t1M!n8 z6b}n*B`t7hy{vZbmbx0UFA$mY7d<#=@_IAJP(QOB=bD+8*%R_9r#-zw25vIpyU ztSax&xHD(%AScl$wUemc>4V6ms1)TSx?DSnZcw{YV69F`atb|Rmggx)Q0>E9{u>p) zVUltPEtr8r?%o-R4xt=;vtJz|=Rg7x9sFRwI{1vu&tuMpJIP6DyO5U~!XDDg$+4|#%E@=ZjYTLmc-AxF0v%pM&?DSNnOHfc%-%K{nc||c z{oG;3FI`mo&!>&ul55n;?HD5qX+t`scMeL}5LA5uupiVRJs%!z13Hv$13Hv$1B!%; zCIJ=whuDC6?siL^xRQNLy(S%28_@T(Zg^;MOp5s>^OqlftA`{3v7N zmS(R#=mxLR40TBDLB-C^wJubt=nZ3_y?2y7sJH@EThKStEmgg?plY((<=TQmCF)B} zi%h7w0=`@5OLBv`GV_Enk=Gnz0&+r3KujW=9UZz}E%4yN#Qkzqzpy(VBpRF0Lu#AyHTBW-MV%Q?c$QGh%u99vcx+QgepvKIhlJ@-p#eoCdnnM25#%6TH z1)~8aC+3DzovCyfmU|ab%^~3l$rIe9$gX@z&x`^jx5`)$2__gUfgv;(NWSgmSBJ7Z z)}P#pSRu=012y!nIndL_^7ACOpjVs(hZN!uW_c_>r3Hq`OKvNAYsmn* zws6+1*kw0tKBoMKErNzGsD;@n;eC7wU`Tlb>ghtlKD8}1JV?xv2GxC$@tl0C`EWtZ zlbDwdYSBJfJrU*?U(h0hVz|WaHiktyTJUy?tyL+DldfJ;qtbn{&eWC*lt)FhWR9}I zE0`uz(jFAJ1%QzkJtlh>j9iN=PwYaxQ!I^)F)1j_Ub(U-3l4))h_%2CbBF)zd(xDM z5NAAQq-o}%?*=@Q2{WfjqY94C18ju)d}EO}Kt` zw-9)d5$la1=^FvVxc2M4r8=XY6X{hW(pDp!yAUcjK19(W61&itG}csjB%%GvXH(Xq zZLYN_C^oZ)q!^@%BJ|BSI7692C9W#S#jnk(Ac@pe1A&VBa7qXjJbj3%Ba=;qU00sz zQo~Pn4s0wPIpMTPKxO}C=8dl5Xw~OjA?l!zU-r4d^ca_C;8aNLownpBKPhwGKKBy~#aMv)13)iByItw}pQt0v^&)CaL9)fr9JdyPnWW!?Gh zH!yj*nXZ}ozRs~``Lx_pSgbc0*uvb*^4_tGNc+7;qRBJGT+OV4s_s_X)9q62f_B%6RJ~z!P2$;5 zyU{n8Y3b%{r?D%A^(c1EpeBH?mE!^`$y}9S5Y%!d>_DHAyzJ~2*fdFeR;7$ZCkYAX z>j@odlBzdb5K5-}q)^++gBtNb3c9wVhx9V%>y$D}Z)}%S`O3XwD9T2ndGyQCXR3D6 zQ(1GVP^fZrzMa37bGk7g{o1c*Kw6tR|6}{nk`HV@>ik}&*pB-6+=fj^&9Ti5zdJJ0 zn(bPUiXVi;bEqw}nPBLh<32R0zhY|Z*lU_UzU-`svQ>jT^GWw*}p|Nq2( zRN(L5z<|{EfelEn3V;8vupb@wZ*D*O>%-r_ul;DlityxyCE*V)*Z@<}8tO+$c#5-p#F=($CiQ6b$f^bLqxntoY2m(Wuhjm8=utn+A!5NS zyYUWRtR#y-`Hpe1l5w zbEs{Y=f)Fo(bda*?yHvLk41-Ua64!Ec;}8>`-g?$$&p>o@8#N$7lv~p+wI2_6H3B4 zzgZHV9EUXoJv+ghB7`;cJrrq{@1c51x9k4}VIY!`TK<>=Gl!g+w8{uGu+6T2(qbc; zK(yCR^!lBpR{qPdnm~ks72)8g={d(<^Kp^!`2r1`wd453UrZ^x;cU1VqQ)6GDlX2& z(F>eo7w5^vV2MKJMmtN0LWzR}TrKT-)x;EF54Stj+wvI^T~MCG5tul(?9c-rcZ*kO z_moG9cN&+sL+T26yXYN|WFRS39*MSED%4Dy010S9h=ZX*ys<;kL~eveZa;ec$jC^% zD8S|@wSh<>EkiKFnZ71o8>qQMBn{_ROw~ci&IeqkjY*ecxC4$HYJV7{@=|nS#%iIS6HZ(po)YudDL0 z)3azVq^?kWd&f~k=|ucapkvPXc&C#Si_8ziJ794|-vq8QX{P!)RwyiHa>k#I%nf2} z`Z0))iTF;~kL8Tt89!CO-LBtAU=@WGvc2Z70fsfh-Jg^e`BFF61&|>#qFi` z^UwEP_rC4Na;i<^W!09nURLch&C_!xbph@7evd}J9_$Af6?&^jF7ua1?5I#?g+XJ` z|KMlxUwg(^^AY=nYb)ZDeo2s;@r(t=;=eZLpY*^t6kmkl)J`5~Lyp=TF~lYOoFLFfPOp0C?Loqu^{X$Ij< zPXjJeurYgKI7|fZUDl{T7|# z+_}<1`J2$H)guEU-)xgj8*DdmSYM8_3QGeH(jp-d^k@?N3VUO0jBrXqZL$wEIA?pE z541wEAIT}FIBrWwj<=FGaom<)$xapg*LK6B)_&dI(-V)ylyiac%k+k{3Xf?pID#)V zxYxjuAN+tPKS}>Sk6j+rcGwbji;Y;0JJToo+Hm2AaU;EIfWS|7&n1xSqL=h&^bMJq z@^f;NmbV@JKG_iAGrOd0((qkr9<8jZY`AidbZqDq4~@IUTbVD(xJHfjoTQ^+j0@w# z*f3Vi7CZ*>3A@nTZ=fK$U%LrL1gU@cfmk6~#+Jsm% zPT54OW0;6GeWri+jvxUXnus^0Pb6F;Y@FxCf2^} z)~odEo(Z5||J-WmS3fkiqJXn%1oFcR*w3Grg!JkP56dhk_*^^~j&CO};{=yRwt?CN zAPfW|#2Ms;s6(K`uKyyWf+WcVpRt%^1oK}eqM@O$D36c~Kaq@$A`b*r9^k!G%HfA3 z0O|A~aJD!^QyK*N-p@kmc49^1g9A9)^#>oYVe0i{3AWWZp?scVipF8L_~?yJ7udfCCcnm1Rv^HKBoL? zKJgD{)>j~mF}tF_gsPmofNHOb4-_ zQWAg;IynM{wag(^hPPHukr*7`KA|ievg?0K)Yr+xs(w>g)f8b=h)#AY@s1%6KNU7L z1y$$2<}#`hR#{6*EyJlwC(`UrVNO+=&zx%RWt^(?h7ZT7CW2E<3`LuBvEvol`JH;E zg(cz1q|KA2S)1K=>-uW}XltzVHmPdG%{{{o!#L8IP=-jD2CdevnA^FW|`i3q{x?TS8h@W)ZF> zSMshK7|}v-tRH3aJ{)e~40iO8RuadJvYn*r5?7BVv$2ob5Cw$egK?kg;#VNbi-RH`n&!Yz-)^7|5|LvYu_@#953p3OT6zi^uqE_$*>k90_na zs=k_Iy-1BO=^YmFg~^dYzlm)@4%su>0uR)Xy)w2{n7Ejq#gTD9{QoTm_6U6Th_Se1*OCX6oOAS@ z;&iN(ka;Ol@H%UZjHQ}qgv7Chbx-2{q}5~< z!IeOzRV3R}pFvzqoCo1jU!}dNEWCuoUwc#0WCZ!lkgyZ(CKb~O!spdZtBzrKL}*Gw zzLMJWO_*5Li>7XTU@<1k7r{Z6cULL1@Hw>!M}>vqwkdPA8l^ zEFr>#t)%)gM8&wW{u9i$8*{RR&j*P2Bapa71?%1&6<4Gv2YZ&aye0T$Yzfv*dB(Eq z2QJ|*C+`K0f(QGBYoD>qhM`^GPTBhQk-Q-Lg!bxBTG%t>kE@43oOQqOrzySNsmZ|N zmi|K6S76Neu_OUh66?w)kT3Hkai4dIy=nerXTwB>)8Rm@EGua;;nt~dWb8~Mgk3Xf z=4yYQjuO2+7ZEI$k(S__#EMegBrE9sgNwSKO8w1m>YMmM=XYjNPVKwBzogRX8=$?X zlbF#_yQRIaA@cRav6Mt}{x#f#^RGt3pW7R1C-as>PV@w1s%fjw+v_TURJD^u3=73i z@!?m{S&EK1Ik(`FHsrGSX(zZ88X-0iaA|t3=!`fVypa#Q5;L*sx)aw`cg|c9zL5_c zC~b-!lHG7BI!tKZT;E~WKP#sUH*);hX38{Kx%6M?Rzvit9q*8HFuA6Rg9mJ3*lQM9 zEXDCvb=>XL%2wNR~sPlB<%QOH4D?|d;ZIPQ?7uT0^jqoKS2<5M=U2sf9zOUjKpSa-P~c( zvyX%zN}fQEnFy#(OI`O02eAJPAGcz48Z%5%Dl`0W$;#W7iqE&CF3A|^++45HZ8KtSHD z0-qd-Mny?>nz&6a*Fl`*8#9N&7-AKp&&3FSaV~Zl>@I$P*exddO~8?+Kjhdr-^z&@ zNMR5$FzNF^%NX!E#S5Rg43P#lTW`;#H(v@q3A8|G)8Lb#a#Z6Alb5ypuY%9cvw+XY zKL9?vou|W1Z-XUFaZ17kR7*oGcFbmxLbPrLih9ngaaQ%na7KWiX8Z~dB=p$xhIs?7 zEIgghu;z0IRv@j{NbL7ALAXcSp+P8XZkAa*1-(#jsU~m^!QK%cAQoQI)M@0>Vh|0jHy{@-&3{r~4p|B?Ow^U#?6eXJqW4Hy^#ciVR(TBpsk6 zFx9>{>EUa6&Rqr3-ca3Nef_00`RneU3n$RO2i~uLEB?>*?;afBgD1mD-!B4I04`g4 zaDgl17Z2w?Oig^dA6p|C)Zs1?6V7~u9!SkydUgVYhH>;p8uQYDz|@YZIJv;S`Zm#7 z5y@%kY0CdD_3K?6cATQ2^lg_t`*&OQf^dh&E(cW%qcwA&(OntXtPxsg(kZr1$6NSLx5vvzT1$ z_3sX(TF1p&wD4d%<{vZwZ7fQwd)G@u|Bf>K`=6Js_ft!<`Rwx9jbpDnt+IbBes}hcz@x?e`>*r9&D}kp;`UdiwZHY?%1?3!@W4H2 zNmf07@xSaDp}%-8&ZVEy0{XeHobvd$ZarA*-?8=JpZND|J@`k|6GUo7X)8gA*6x-| z)R~s!)R~q`i<-9{oO^Rq%cYAgElKn!H`<$9_di<(zjGOV19SUsFM4?3r`$uFm9ZHz zAt=;WC^ocqJ3t%ojUH0`Gk8PNlP5n9=;hgM$a%fPRH zg2mJ>*M97N8ZMUEwF@NpKf>_;)MfC`P={5WmHqDr|CsOVxCbkqx-xuCQTUqnpB}#M z?)k!d811^hx$=Am{~hQ1?w)54qy1~%r~L!}j`R-eJ(YW~_OGwJ-p8~j7qkAeuQ$dU zc^Bh-;>jzIcZ-g9$NwkB`_)4j@5cY(ju*y5lWDxzPQoGLv-it5S)!UsGU2yL9Qt;U zD)q}Q*n*}r_A1I*{;pFH7%fgz-CmA9l2|x|E#t>PMUikXWgmj<`NJnQyLJ?ceFGz9$mI_y5hhPhD5OY`6B(Br-!DNH)VV+myU03Id^IcmCDo z@;X;QLn{n)LlSG@sha1Jun)0>Jxbpsa`{QFaHUijqzXfP@ui0E&os=UI-SDmeqjer z0r!n?<>Q29h7Jen4t@Or!OwfVox&Leui@UMdjlTfl-L7JZF`{Q@X`)i)UKA6b6u~} zJkvZb+O49b%q{hu{^d--08ZrA{V&YtD1Gd*_5|g)Jy(Ws3UU?aUl-jIm)vmT$Jf|M zZ=*M;zdrhhwn$bD)g^R4Ag%tX%{q)AswIf*Xt`9GfS5axh27gi{O8VGi{J7r=c@(i z`pew)^<&hh-9&vM>85)SW6{4mL(W%o(V=}0NW2DD|NL8-}h^xv6hzaj8)FOqpKD9f3@`$oF{m!@ya(vDu()Pj02=0K`{0@Pme5*iCg zaH=)~hJG`o+HT@T-LH%~C)QZLXb?1B5?_WsPyd1{lhpm3<{*CFoR50?Kf2rAdOaO~ zBW?cv)&2Lv`v>U#Caj?6eAf#P29-wvh6jC>Hm3+qCjtEj8P8Zm!lSoxGoTmem|nOI zT|%>*PUM-$w2)>)KvrHiLDkO;Q9tXRVsd=N{hZOm8l%0`!1nOKSfBW?h|bJhF$*@<#=QST(G8&grv5Cw;yTC;ETlHJ}ENFg5$b( zO#it%pRkhxcun>0WmedOBmxb>R2}l$n-G%P@k2EB5(!0@4qQfGb0#`pW!n1peZQr3 z2C2?&wu3g`-s_tv-%?2@Q|AS8AD$^ED=}pVXz<7|kMF^jp>H=2yzxjg z#z)UbTRO^nS~?aSC)POmIFFA~!6+xcOY1|dyDI04M9N8aDQ|8$H@Kta(%{yu2j}}= z#t%sVmnh}ZRs{(x6ZloK&i@t2a0C*+?3=>%&@z9~n|`#75sX81J0S1>I`zRyh3j;;z^|cy_jv2;#l@Xb_Cv6u`{xXr z#Q5R(_IrN?>#TcHcjyy?q18?CR-7Wmx7qUs5Zq}~ZEzqN-_FP8l)k#jskZ22vF9UB z_KT)u@}auFp@{FPz!;)0beVliQ4Y7+P#dy}LJdWsL^4E;PVJ{6^V*_CQ!MMeQ#_dH z#TmYn^D3Wd;eJ!;NOX9-+)sw15Bp@3bvpli9Ga>fZMC9pp~y}-5P)qa91I~WY%;Oz zE!^9Yd4KTr0Fv+$Y16%Qysk>rtaNhz)PCV6>y+~yE7HH}+x82~e0cHE%L01w<0X?` z%IGBvFMfKton8WX8AmT)rk4qL$)cCvqL(0Evgsw4UarAQfL=aMFQI7Lc-!5`+va;|c}N-z?twH|wcfo+Hn0-5o((IftbUm-q<>ZPF=u*)z3vwl&unJxWNVw_ zpB-s){5I^YTQ$JI-@p`q$hOz~r4X1Uv?#aXtY>dVqQ?)@6bE+p5AMmu{jmI|#6cu# zwA+(ixKoEXK-d#?R`HkZpGP zIDqr*F!|VccSx3e*^!X?wB03j^NkXG+$k3~7I-T|J-9vso;pT-s3NHr)yv*7?VdIH z*z($hdggX_i7#E$&#{D)lIBV`G{cYfiV0_c7R73dBx-&;-aNJK%J!Qt`0ued(Yg`R z#Qc*GDx#zAXv+RS|F!qGFB_x$_F7N*`2d3q973z%zx}JZ*Yb_H!0MOndD{fMn(a-e z2)qW8_OEI`wt6Ivpe*a)iPG_p&s+%$n695w!!#{@WMn-CM>x)+}-_&?o7V4 z*6iGdqLtCX@xK6`+qXA6%Y6hzRHDQhq2FR>c_#fSr$1erW@^SQM8o$hP zmS@qQ8~J61vpk#rg!yHZ3BWK|sw>}fWv)AkFqzHALrV%e&1QA(lve&4FE!7AK+pSJ3b2Hf5= z?>DacGOh%<@8MOSr}ydZd+w@F(t92?`ekl(%Bl(A%hCw|OgT}E%$o3$L{BJoI{_1yY*^w5(S zygt8WYKs#s`69<8ENlqjYRtC?OwKnK*!8dDp^(65iR-Sbt9`^qZ*3s)qhMW zJx3l&j-21>ml_&EHJ?EC>+RLMIQz6E-1}lw`V$b{g9SC$A>iaAwBQ(~^Z2wcJT_v_ zYsMI75_+rzUX*G7^N$lNeXN0=dOwHyR1Ykp4mG~29u!~+5^UHIUZ24?v0(lI`b?RM zM_!}v_rdubzD*BnM9Wg9-xB3=mex`*f;gD>XKrTyshKph1QI1}(H3jwMl+RVcKu&x zuw6-6d>hdmds98Pnpq$I5zuT4Prqfa{<_#A-e>C8ORJ^m0*>$3N{33qfsyvU*!rHQ zYLg>Q119j9f`*Cq>i-9j7~OJPYVN*IDd$`LcKwTZkQrW`;ho{$zfKzSKMvaI5BJ>v zEW4FhV(z;+(J4m-n0o&n{>D;G^gRWB-18~wN4&ZB-lV#DimtfJk;<2|?~UkzQpa8W ze3<6%kbFqzd{dI?_;TM4;LD3K#+Q0p*A0R%m^i{7y^~$ebgIWnbi*L1kg`1|9~LU+ zRO;U)_)9>s`iGf}9fx@Um|4PtC5j!DiX96TJIWP1o=aiJ6DjQYQ3^XY80@&=XYex1 zNP$RM`K?o18?vd{`saLDB)k4bYW}>GCEWNLI@18$AXMORl&k-qGN$hrNDru*?>9Y? zWF%h~qLTGZHD7Yqrc~OQoQZa75C*PP@;WaHrnGUUwNll~wYGJB=4Rmk^mN@#@^JgV~#dmPvHIxp1QjM6;5FW=v7b7-!gr=KaMC|mC?3asWmQe zqzU$5ibdssUxw;gK&;?M2XYg#Jt;U+YVuj92{SOWKE=5Ld+uq<$Ma70S%Zv^{xH=b z3zI25rjI3%zE_ADbD^o5#zc~~y{VHjl;xk#+`xmNO781h&T=InsEldjLJ$DlRRz7R zt)h-R$0%A4M8Ve2AF+klw6KE3j|^AXH90y3wIJ@*H6@{BwS$a8h9O%Oli)Unh?)) zd%YTBvX&%V2q{hkGE%)R*71zA_s%i?a(e#T(&PwHmh9TOP6MMnLFnqH+HpOfU&_SW zu3td(K*9O?+HZKMO7SHg#{Gbc;Ln(ztT6P%z<=#m1olyF-_I)6yG*OJcOl;~aU1RX zi!^%CE8m&U(D&X7^tqnk|5NZzcZ$A(Zl%8e9=`WHSdH=6tKYt8G8wv8N_?eU_{tOS zty8{I+Is{U$MPR{ch4`{K%YKU@6xB|Qv96g(~nXlW23^WKnqsz8C}7iyZ(l7@q9dC z#~vmWjBMmD_J*d&W-e75pdqdPgbzwbW(~h&WGefOx8%A! zRo7-P7t`aUW**H>z~YW6A}kA0r7VImh6m-nM(-W>VGqno3`u6 z`#>~^{%Ftab(1U*AbYj#lhJ(uGP=bWkRo(*XrlLjk|=SEUkB=@h} zj5(={p;V>8lwjv&Ql=AxnRl&Bdg_e#54<(dZsug*3I1bA?%r<@Vi`F~+O?WUFMjN2 z02T!bX9A&F#rl8Sai18t(zsbFVnM9u^^Kf6tWC2CFUxI{wP}JP00sW$W~ADFIwN&w zo+_KB{n(J|$HvqIK4ZB21wwMqdTXvkw=dFfuiim4WA)25vC8pKK?R7zjS~cNW`NyF`DwA*6!n36GP%0o9 zmQA2t#^VAIk&==2Oe#$b7c)3hYOihW-Nf=?18AtBsP?>5yo)`35j2Cb%nz`n*2XNMB;Km30#DVQGF1;?Zoe}g`JUK7lluI{ z$0heKpZ&YP`+U58KqzXw-H^CJAF1q9+Z}%aDd0*&YA2(XZ*naMKKmHevg31)aV@&A z;ykkyBE@)wCmYN^KCnN2G!7j>XQhTs#tT$FrRpIE8KG4uMuSjjf)c0%3aDe=@8q3F z$ReW4{yhg*g-w9^LgYZr|YXkvfi%GjJ zLy2f}rqvUH}-F^oq1%X{X}pU;!LF+~-KHBD`H{CDYMPi>A4`|SEY zTFdA#Nh0emFkMul?{_7TQItx_(@1CUH!k3Qo=a~Cy?$>JXpd8CpULop;j9_Q z;91|7r8yr7xHw1J)t_cF;{KP%Mo1FdD4@LVN5fv6i=Q-Dw~>dM?mx@mUz_0Hv@77> zk`(@JG5GhT;naL#i-}g^p-8j6`nLuZ$38J`6pjVp|2#V7m})~UUL12|-ik)!5=tHM zdvK~_FojY+!ii=>havm_7JkfplA9@B#9&NzD`{;FNtdBc2l;RkTcHcqj$MY56nDM9|mFrBs&k zQVX;!_b~<~GBqo9s_eCkfJQPtgF;JwEfl(CoTAY04*nV_w6}N4ppkPSdu3*@YRc+z z$p@6#E*D-uki7PZA7Kq|#d=4ZSV27VSF9l3CmUGACjNxsZWil1r1@2laxwXLu)FF! zzGW%V^XQ5y62^;I7_lLYEy1QR_&D3Tw^O`ElCnR*VD(|KclCCHa6L~$!S>odCAlF zhNRWp?lesKA!~94vPl$O@k8BE`a`_BU;CbcMA!4mH0n?<^35mDUl5mD>?3VevW zRriJFCUV{Z8daOTWC&j}!u0(^BQD>u zSI@GTWqjtb5rsM$ksJmPPN2|F{v)dSmB#Wq&|Z z`|N@5>m2%rxt71A0)GHP6kYP!$4mijfmm#BJH9=C>;`&t_%TRAYp-QG^~-YYlno^) zI_vv}U-dpc#08Q2R{*8wr;*6q`v}*uf~4f$y=UD;RP4DDrMxmt&2;q@qel^M%JdT1 z7fz$WS+s<`fBr!m?EIh&>R#~%DJNoGZxOe+ganx0FAt=ar}hTw1_>XYHSc|JfF}m? zoX3w_){g>;-n$0U{qwWCMQqEJg_r2IbA#+>JJnW4ay2&eX4oT@R>ugb9yX|^}NYEvnAmg&}bFf z;f;;yZ%MeCIr@_D6dD6ga)Ww4(BnJ7Yr9^#H#G{^b-9#%I?dF5?#=qb@Cqs(jLUf% z$n|m&EE;B&6qTbE645XOu0$$W$d#3`0`2Dw!4=Y{Zy#se?}A~`j7^WXM&Gkx=n!vPHAS}` zXV579$^r8*qK$vSoE6{lc#7$}<6lmntR!Zk=X(Lxzo(e?m=JNK6xxHtrE^qJptF^b}s^iPPyuJPZi1ucFnD%B}t-Y=> z)~}M=d*$07qP=NXYwwldl+xvxQ{c%lbySaaj-?~!&GPQrctMzZHJAaoxc>l`oxmy38|2g`1?G^jy zxU85Sg zYXi|E{i|}gUHA?`KdAjLKhDZ)o>R6GO0J)X3R;L>^ z^_;IO@#ikW9{W*1zEK*YV%h zFqh3qoSJ+qQX6V;Lno0W8f~>A{q_%<5Idu%fnk?4dc51?T6Dx5(KY@lxVMc zLnO&i%Kfi7+~Q> z;W>1uwx{>*5k6OLU%%JKgannmO^Kw=u)yop2l3G`;y{~69@M+h3eE52z6((FW! zUu+Af#aj_pYv|MVnhBY(M&nRhLDGi_9-;}hdY=tQn9Uv;G$QF25d;gMFdNrTda?Yo z^Gw_;j*N9!axH=<&TA-7kGfNVDZJ~m4LPb1d-OL@i#V8v|8ow%1*6qP@QZ#?GK#bJ z&q_3G2CN~|7~*qvi@B*39Tv;OMJRfR0Bt|Lv5%ivvH*k@8|5d7w*&Fle*X~>RD->-NnPD`az9Rtd8Fi zj~Q2i;RHDO8^%@qyOucjKot4Ked1W7ss=rSQ{x4PWo6_$duD`#{?Ee7lKw{J8^?5| z*)G2z;dkM1l_S)`9s8>q1bn*$1W&$#-k7;aHt64z^zV!6VpZJNzpiGvZ%QC=giC{o zFb5Mqp-$ov5*GefkLvv40%<4Jv`4(RCJ7Rf*Qys+aTx!O_T-@2gu?&p4tI z;@7bAzeTT$RcIw>$SZKtm&NhYvZ777krD#;M{iR{!cOpJC+8onxuM8F?R0OvS0Ws+ zc*?aKLm(VZp%2IV;f}$W&*Qh9@PMkzZ?YR_%_hn>&1W~(%(k4GTdanap^jwyR1AJg zSIp-0OmBKgHV6vQ;AzyM8|(h1Z!O1@B6`$BWd5@A8+hTHHQTM7syH3X5hs$~+Bv<< z;!uG^5$f7{Z<6zKqA#N8hkJ8DV?HvP#u)#nKV|=?3xvKr9WKX)?p(x@YbXjvd#$)w zUs?U6*~?~+y>0=H$xPI>Y6MP!FXBJ7;v3j-MFT(Srl6CPMd`fh6Z~#uXMB5Hc7liu zHLT@yiOw`WAu*on6Lx(p%iUefEDBovOtlgb*^Y!2J>^*_HYaE>dejCdyTgrhQB729 z8hxjRu>k^u<0=N7HZk$y?ro7h5~&myZst&~RuHc_K=)2~mz(FhdK7@hl$HNnC<~A|=_Ygo-9)aksv|qVM~KSV`_=gUt5g9#AZwP{u0e z6iM_0@!y$Sf!sH1%8Q=fX3=k>>JHTau{uWiif0_`mV ztsrO$d_pnvJt^~Dd6A(bB(RHUgNWf>Rf07nh^m&-;H0=0SN?_pOM)$G?c@mO&5a6L zT0-k9cky=`Tlqd+po_8uh>e~c@+?WWEC8o%*Cjfp-`d3?IA$wpS8yD2xFMItdUMnq zFb_N_^T1bG;FAD2$!_x5wZ7q6d%=ec5L6w}73x;6)*3Qw5zs1e%kwR1l)d`Cd%6e5k}r zVRnePVZ#=l?8uP)Xx0Uej{dOh74szk|Hqslt_x;ZJ1vgK%O=5Y?&=#XdAEwu@JqI0;9=_SH z;ZA2i3H?#^$%Ba__`6_ z#G?5Dk{xl2)Y=xo9Oj&^z1e%8J(Q+@PA1UvjirCSJT(FR^(ygE@9+WSX$_*y0ntH| zq=QrYleUJ}vsr7y06L9%aWh1RA{S)Uzz4IU#e(ZAPGbJBh`(yV1dascWLy)2+ zC{2C1+sDUj>u$VWB2vr`SWQl`k0iVU9GEv~CFpr8t`aTHBxv4`r)odKqVrQ0J#Ay( zFFm4)L8GCn)_%6QG;2Fab?x{#eO1HC0Oj0))HeEj3{|ZR zWUdTy0O{svQ{hQ%b&k9 zg=J2R&h>wO8|D(Fu@AF_CxMXb>(^y)te&}nHfc|V>L!dm=N3fkkSi?MmD)36ttccCf0d4oBMV}LRDFo6=k;Vw>jY1xcyB;YAZ4N_ z99DfmLQYk1z!^><5vz`)KA}~DQ=OwGz^nqxe6Fp z*F-;yQfT*F3hibXl>5eID0lDGP>%3JAPXC6GE05BTt{8>ql$hHumi66oo)dn>Sw8o zSg4-Yn#NP0*oeG9!o6mZd$>ONyr@@KJ>bE)-G+6x3Vew=w_kzG#h*5_My-lo2B9#v zA#i!)7K3^55l^oe;5VBQ4>1VoC`Mt3Gzh{7$Zyuo0VhyeUMHZc4oaxWtJ}M%iPM``(${2eXD|C!4f(Wvh z8@75y)@L(BDmcafBPETE`FZ-lqu4_!3XPvLfCJYIi4J^$#sfsw&l z`t0HZZ#^Ys(+bEUb?h)GbQNZ^o@?di;4x)Yzn4kvX4opQ3}FWB1LgthRQ6%%(TUV{ z70`%4&&?{7?~y63+)CLhh~XfL9+pJV zK98|TrlRXCWqII9fpV&Cy`_Le$@e_>fdQW+IO#?om7CKfKu;52E?u1`y(<-zGXxFw zVt)DHr(=}%C5%gnd_tz5fJ~+noQ6qTKmiWVub4%H0I^e{kL!9}vBZEBFCoLF5$?R) z2e5kBtg&fPmi3%UaxOtWt^L2zi~44mU7d>4C(OKG@|2a7b4s6Q2%BJuY*3IzCS$ju zKY6OK8YFq$5ONnu6gl02Y&ZCPgoT=F!~3Yyi*`t!MFae)+%vaTu5A3C3S>ARdr!BY z%|{_LJSo~7=Aw?{Sz`7uEBxiKP`eai;)uOLoS4RMNx zaG@7@%|yV%2P9S*`OcG2nx2rCo)Ah;5T4~pXiragEH7hF z@6q?I`rhk_q@a+*hz=z4fJxDW>hy%t^n|?hgiv~d%!4PPJw4&M z^n~^43Dv0t!j>dpb+7DoSIxriJ5YyrQ+R zg7k#k^n{G`1eq^SLQ{Ielj#W$rze!V3B0gI)dVnb;u{`{mfSz8XlZ&~1*y8W3w^_( zc(TLMdc@xZrv+#te+x_8&o02aSexve_ak{sBP7Wx2R$Q)-Po`Gyq;ZSM;z; zUx_YDe{n*{?GG}DivCe&XaUYH`QZHmiv`j?WotLt%H3?pf~<9hY*dNJ&jq!Agni{W zvyj?Uzo=Iku+ET|wAyk_ZBLrogy^KzmSJjJZ)y`#lvZ1}nW=|OZS7aN0UU zv(l;(n3dxoDzbj8dLA}dcu?G2@j_yl&2>YxCv~6kSDy4BX?uVuOId_el@Avw(h}O!6P`;?Sf8Fyot{vdo{)E0r2;J(9!TN&77n`J#Q-A2Dk&*DWkzDCD<>i* z`gSe)N-85Cd2iH~-O|Unbl#{cDIt`e&~K$Bw5KOLm!7abJweIPTbd~Qv!!k>i1^byBAdOYF;6Y;qLyZ&9=+S=AI zH|Wd?^aaDte^FpUE6u_7*_xM=vdjnYW&(r#?48~;{+{4dN z{=4S~;@iGZ6eJ+i39}n>{xJo?)T!qzt686X?o%dgB?#)88S0uD>Y5qq=rlE$@Gb{cd`D4 z(^x7kc9el>_L{YpI7z}rwAgVZ+o&==j4lgv#DOTi!yvpe6m3PUqvBjh8}v{PP3Fx} z$FdjYT!nX^Usv;vqiVgeL(YDyjO8Hj@M8apzmm+h=xtT44$6ig_N#cKcBhCEvKhGF z9Q0uK2gV=0(WU|f=lJo(tzb{Y%?+%o@l}OeBA?7pzj@esOXQ-RNIgK0&WQ4 zHFSE|@!#bH|J-Vebkp{LAS^OEL$Rpj0OXv99REL|SDEuelw4`SrXv7b z=*R2BODyzuE&sKe)to~TH}K!_9RTznj!r~~`WZnsFwQIrh=s?@EnIaxVL#p+pzo7| zY^+ggiLpjI@S_+e(VUBojb*!^@MP-*zO57A9A0P%Zp&swd?yiS)DRzTlOFJDHt;=) zrUIZ#Q?wa>m$wu87%Zc|*I|bo@xusSy56P-gqUG`kUj3*l8298B65b(l{Byq%g+;% zLH1yAH;2%t>$L2_^5N#&6`nu@IDq6j5zJsn+wax08QwbY6XaqG2$bN1^+USTa6mRJ zu+>_AL=W0)SVbizw4Caz>}7*pD7FKtdhHaGPM~w$7PDu2No+b7Z{t$~)maC1Gx)G> zftanTsvS7tYZ8&vRf4f6%C@f^vISFqQ8t`WXVndIuqgZW@3HwR=+#~|EL$LZAi5Q? zLkgfnR7kc>x(?wCvRk**Z!jnF8+BKNsaB`#l~cxV^~+?}@%A*|+PJ}U+<+5fJ~2Sz zJBEZE(*$$q0^@2npT0r*%=L3!n8q8NhLQyDADx%x+2qX_2H+4D`|^wQ92XmRSh-3x za!6JSWSKYE56JSev1+$_9xJnnMSz8E-4?SI^MpBMdtIt5e_O40&B1b&$51KtajjO}<2=S$D)a>8ad4%57d zkv1zK&_QcVs!#HxoPWl4u5}NIVq}e-6 zTJ-O6Ee$)}Wd~6P3}P4&fpNQK0C{K$lDlOEu?d-+C|ir1om)I;+QX&{?2i)yjIcCb zu+5B+x0IjKsi5^fJk@+b%?l2Tg?aL6U9aR*IvqOdW$*fA3X^6b59gaHOI~MequX`v zI(fu-X2gP+$*5+ZIBLX$W}ukPtvVhIpJ(Wx=1l_Hu;*>S#cecc4q6dI0P3UJ(MUce z_mHruv7lL~sE)RkE7Ef~i|YWAJ9=}eO79LOZ;<0|xlom?&_KzS=%aks3Y#F@YpAx} zZUum_J=}-@k6G!YIoXxv;~u(&4sZd16RwvqXmb4TnwGdX8vrjppsF*^^Vp>ea) zAXus=(IK5&-1?Hr4k(c9H(gjDT~H8M$S8&_zh||Fhs|8<@pJ|CV!tEVo*E}CL_FhM z$ag~Y7M9#Z8@t}ETvXxZX{D0M8_eRlH`|t-!yMow@ma;nttkM*Aore7z~KQxRFk_R zJ9G|kPwXARO*TuL=u(1w*A`8g%$qKvfFxk&>6A!*m;v6mcwYNpAaQSh3V|4L2x(;5 zfpywR?6ndbU3^aPhL$VC;EOOEteHz84l05#>&L(m?EsX*5*Wpa1-DZr{Ha~4=R!OQ z9Fzm$-jhljuvWZo?zlO#36)uu6BZoe&A)_V%+b_P_nsa_L2!JrSJpAf_Z4{S(cAYr zb3`Hw78UV^dbGFCgNui+bEoIkiqsVtW5h(XSU}p`sKMO~xukKOaBznFWv2lpeX?Q3 zkm4TD@HHD8a4@rATDsFiOQkL_PuzqV?}8nY8Dy~9R4GDE@Gcdq(o9_w8$_<8M{uk* zG5sjtDm^33z^D|D8ZZrs18juB5 zb(^Z9s(!Tbiz*qo;xVT`BGRe-=wF`W%N>wG8$>82{nTIM|Yda*$ScKwQWivs?{u+MJfv_cCPIrxdbN=>-g zG3Qc)v_Pu5)gWE!7<9@eTC}F9yJOhNxy#%GnUidg?xm`X&B4whX2I&8S(Ib19S_TS zou>8q=imSS3;KD5$;tCf4)qz6AtNr(=~2zcGec=pQ~6=02D=r$nExi#Xx!QHVRrI# zb|zqUD!sF#fdsU^*&ku8ujVqXug0VGm5bK*)_80s#s>*!;Nq)I zs^`s-(|T8)b-aS6XaaxB+oR219S;}W+p%>59nZat!j@RY{c8LBS=Gya!=pC976@!h zG{Hk^r}q`*XSjxcQ6w8|u5b+}Q(B4SgdHAVu^be(fJ^bBSG;2^THjJt;+*PsheR?j zC!wse&ov`@TNICS%3YactDaIJ)qF|ulInP;y=RvfM3cY=*R&km!N~pGg4ddkby>CW zV9tNWYv%JN^CC4f$MvGc=q)Vcq4+@~O=_{5Rj*hG!J+FMu0*t}R3w{LiD(sS??=QrhT($bI`@ztG-Btm6vPW z#g~F_7CSz%9D7fuv+8C?Id;lyb4X1$cgfVSGDccSysuq)13xtmN+#qfkj4RvB_Y=Gv5kE?Kw1Xo?BB4N9|8E#dp* zU>vtY>oyw;$pO~$AoZxGa@ZZRYk~<)txnwznl+bTbOu;V(MR ztJE<{DBGrToLu)UWz9#$6(f(HGfIqzx2nJxClK$b6A1WlU_tF&pBcenT2pp>@Hi_9 z&l^$A@`!5fdVt2Fi0XRuZSSihA3%>?(8=Ra5y*(>FM0&Oy%$)zQZ+)QE8_~{@Nbxr zi=KHzbcn?lc;1>u>5DRF2L+|5O`}cfSg%zXUZ(Dto@qk0HA>JRdv$QVH}tB|WzOe; z`N?|4UlzgoD$IoxnROKD`Xc879JyX8%-<~4et6E=MjgI0`Wen36N>$xtU33UB=b;e zhli*k+;+g?NB~gJlSSL{)6_a0*qLB7w%m-Cv<(+Y3D$U(v3(zXIvV=}4y*pcB zOyhFhF1kz8uKjCP**GD@+66-Tz8941T3B=%*sXe86^OlpQJPBQI{Xy_Wn5#6XPp-u z@$4SBnk8eDf*rhw2&5>JShgVaAY9*^4O=;yktDsldd19L_ z*u%WR^96giW-|_aH=8WjBR!mT*|-mLsgTS7pWYA38ZQP~wQ&bC+?`3&$-~!}{yoiW zD^nE}5yDbDp@Aef8j#x#^;$>B&KczDIJ~E{7(_PT4JA5e+|eA?&79<`X0=UBNrR{C zd8Mn*Lwnfo1Lzm15_`SD5q=hlPb+vhY|Z3~5WHSqH_M=PA^D#?M)gLE# zm(^y~vmgj>FdJBiByGs%`|TcmXl_X5#kfeAQ@5$C-uKBX%l|m^jJEno2Z&1>l#q-! ztGZK@lG^RYIhROeH^&7Ddgpv|kgxi3wWu^D`!63=%SEciBlU}1zk=oZm``(){9BU} z`m4Pv(FzgzMOi{uqKQl@d7G;kQ5n3Cs2ZS?VQpjG=%ZfUi2Vb+tQq<~apn1;$!X!uAeoxA^z&c#pF9Y+ zW>Li5)S%Tju3CxE&e5YjJ?33f>T_~#jpu~ntH^VH7w?ER`4U4RyD@l8tT^ceznqy9 zcHc)LJ+*H(Al41)2rjoq>`nU||3tV8I!~gPRdWr#!e@P>KPy%Q-*o}>GTzen_Ig*p zbA1kkaN~V`P~8qp_HkU|=n41}2*poz^dbaOG-1JOvNOGy-QsoN3cR=`6K{1h3&q_) z&IEd~>z}pQ&%k8cUIXJe#39c=AMLdhy?&`Fn0SZX)_wY+yW6M~51Ir*62$#CMJd5T z;AbIU>;b0<{-CPi2ctR^Z4Du$=rTk-3pvxrTidPv2zAb`zZNS-TAn{pA92YB|5G($OGcSn5A4npV4aSN;>ddqQvy{M ziWN_E=6#G3zCj7&W5pkf6@T2BmqQ8jD1mCui4}jsnRhKE{0=32BvyQFtay?$Z!#rJ zqXcSZa;*3|XWl0%;Zv0G(P-OkLfz1NL>a_ohF_@Ky*A|frd z8MfCQ$zWrJ8yl8{r$u{w?CdV+6wdLfL+d;XAx#5lr^kL_FM@Qn5^aPpj>2p!F+83S z#cu4F+HP<11NQSsJx>f~TSu*JnM=Zf7?Iv~0R0QEU8#^3*cO{JGP5S^ul*slI*odn z=LD;r={MV(;9|_54;Omp5iY9cOVrFX`-PhDw8Sv5ZxYoy$x0;0(}?_9ZGW`2Ad$?b zax|w4!y(2rs=aSZZ_X7aN#*jT)@Eu-tx=H$hi;ZXJQ4mlTYNJ~wzF5?CP6E1 zj9i+ zE!2$@cOix{EqJL_Gn3Zi#{Ac4Y_#mujJ+`#g1K4Ee>G$OsD<~Jr*21oOI#rAk6E;& zGj#Fu2ty`a8AFW!mwVa&%g4?BTJ;F~=SZ0d6=tTJ2vzHz8oR;qSP7ki-Nf1qF_B=$ zY{pio9G)VR6YVwkW-<>%$!JeV&4r{U^}O~ad(9g#uiGraez(!IRL7G>)@+jo7(_&o zB5Iv0Rzn4)(H`8GU%sBT|5A~lv4_Nt$Cf|IrV{j1+O1mz;{B_;LOoD*y@_nk$$prg z9B-{q$7WUU>6RLHkg$!`wU0C9$;nU^0>|iOxiUW3dbL8`Kj8)_ZX3b}n>w~)dw=Ap zn;w?ShJ34!61v1^+F4N*7U|(q*Gsb5!{N&NWfz3Eb@u2jUD+0L?~-!;uAetaPp626aGhDk`3;QOsO^YJ9@Q`MvpLzJXpV<57xLXXnL*rTmNZ`5Ie#p;B6 z`?jcHVxZL`lg%#bpai|nW>BIAps%=4G9%-0_mD(Y0qkbJMU42Kc2P;F3{-)rK!?Ry zU6o*oTgE;2sCvCYAk;|wj~mOYAE%$2>~<9bv`0hfJ4Fu<^+yD1?MJ_NDdhuev--fg z%L#U{4OULd-_qswSJK0>A+gphC6d0GxzWlw3m1JDJw2_GF(zr{{$D9Zup3dzVmN<3z+n zQkgI5ec#WeUCd_Jy4X0o-k2U0w~O@_`-f;38zsGsv|IAw#JkSilW^}B^J#;*EWsWL z+?!6=sJ1CKVzfnm;j3x~Ls-9S-pAdecv~ z_%wF`(HrauOT#;*Ha^C1{R1pg`v6cWY^vk_oRpp9aZA9r><&vJ=9pc6^1PlFBG+|N z=awx}jl%-tWD<07kvQi_?ey>zXM1KAK2u;5CFd-=^`7_j72>AI9c{DD@>_C2EyG@b|`jBWy6FW0=Q+=0?evyZfkIwkI&znt?7RJg7p(IITmFFF8kOx-dk z>#379 zrR3Y1)DacT!??k^&Bm?3ozJPCsg%XwtpbBU9|pa>dVyXB_kK8&@=4vN4hSZ>-WKE* zJBqT$xL)IB<4r*utg8U2ajU?X@`TybHb)HL{miJdD_qCuqn%ncd;NEK5v9)EAkVHy z-ED>Mphf0>eVs|=E6e7_>>@dn@Hp#m?+|uPJ9;O6?@&dZL-8@L}Z z!katN3%UZQb+Y$*KGvDrrb6()_M}wHcA3W%y*8TV?$+DFW`W8Nd(E4A)YP+MR8bw^ zJ6uf87ET^lTh>arZ~NB6EH0NT9vGvoF4)F?lTek9_$Ha7(He0N3Ks+EE@vlgq0(J1=#Q!60BU_L*hh+O9}B zsAAtCc16l}$W9>|quqtrS8^BPt}h>Xv#fiIIf^%@xO@O>sEu3zlv4@ykpc1|?m%=5 zU(&Oxqh8k_<}1)hDA`_RCX<9B3H+bdgi&1TB}v3=!M6$<6c~msYxBAca*+Y@U20Ff zPZ5~0rB2-59x)S%fys$EFBvNdyk3T+9?=Ox+S|tS2hX}XBxY2VMfsfe@31macDcku zx~P`v7X)~TY2?btEBB~#=Qm^>+0{);h4FAbtgCxMasuG%Hh5-{fJWA#TrOZL3p28i z>;3~KbaM03<8nh1s?!rn(-ZPWC-hXLoNnO#q`qI&cdye9yu%>%yk7>f>|ADrJ$ypo zVcGet3ii{%uBc7tmmLo2O-!#t2y>^@mEG84PZFxr6H3z)@=^(>#Q0N;I{EH5ltVbx zfOxU&6grxK-6A>)d}C9@EHy=ZRSzc*Qek#ZZ2Ttcc@}%v=oC9m-~fv|`_!gdoHpo1 z?o>i~dO|^ZLhk5<-SW(r*PA_b##16RIssii?KeZj$hHe$Ejyj1XWBS&S2IAYEMMrw zHS2dUO{XhHJEY)Yb*fqB>54I(Q|LKyt3rZzB#S-$Vq5Xk6=^Opyd=i>wqVoY-DV`s zW{uqOWoe~2R>XzfLx3Ywdxsc7!U%_tYt`x-1|#gRB3l{OS{3{tg}7HKa0QBEX&e=6 zjw)kMQ)ir*uxMJZJg)o|rAFIR?!l|f4U5$M3rek|E|l-|itUg$sc+?-EZ3+WVEjX{ z*MwI7B9+1Rr_L3e4bNxC2}zF>Tkc*ZNIAA@lVnP$P6=6T&!a7*WG~dkd0jbzH&0x- zi;ZiDDVB?IO`e+wmQabS`4{DmH@w%S8oMAMjF0Td9BD(Ed569a>-!#gXF_4d%ihL~ zhcB+BO@U>LK{8Er9qM=zO4AeaMklbDzhB0&>^uNXZH$%;0MG`+2BXT0(>SOWUos&V z;HyUiypf#Y9VsL2OI`}vw<|Js7-+{8i-Am?IO72Ha?n>KW~60uNnEC#gcjNk>| zurQ7s7kE*y>lU>%PorMRL`9m59zOW?JiqFBHm-X-2?gm1xuX+40G-+=S=Hfy^mkcz zNWeeEDz*zla@9nhXH4rZg}jUUe97}{Z1_A01?dU7ZUV#s_7t%DvQ^q80CZXJK@Ctu zXwwC~|6!CwcAYk;=2@4-x#h`-FY#%jcv&cTLc$% zMN8zXGuXj)X|A0iq#54etpu3-Z|>d(JgVy28=o_CNG33H20G%XQAc~UplMBPS`!oN zBsV0H8)Xs`z>iwm*P8-T4LF0yO#<;GAt#3e^c87)>wRlm?|Z$ruh`ZGP{a%p20yBN zsMV?!@hjsL1ysIjGXM2kd!NZ9pzXc)|NP(Q`SUzs&e>;wtiASHYp=cb+G`Vr=bqpt zh`De*YS)N+ShKub7GH&@Q7{JuxjhC$7Qk72@d z%q_q(M>LU+6`3F|cpqpU3G(7Nxi~>xb~TR#d2!AUP)m30A(%cPJ@OMn;Hd@LZA(A> z_dUr?nYMY7pD*L9$haf|r^7Lg6^Bzkxk}dFl139!q%pm+ zKavxh1_7rM(vLH{n}RIrje<_P;dGM1n2ADggtbOIs%j$MFH6EL2;BcpoRjt=S3nPWO|lAtj*+PIVz z*;~?P4{D_a-ExF=y#0ky=NYWbspy57yp$^4cXnl+XGlGR8umFgSgpe94{Iud3jBqk zNxj9U{`Om7iJ-Id)Rq|=r#%vx<;+qVQhJi_2?mmf8EYMmtt+n(*>%cadZ zH4gVT^;=DT$GppyX*^Bag*YAn<9T`Pn*CD{pyLc#NE=rtF&Ezet38M-%a5{vJ1+P_(|;9895RXe6*gc0_~fzlu-=nR<{mbc)(46}Zdb z_`pel5cZ8KoJQe?F3v7&Z1eO~re*If+4o)S%Hz&*krsovc9EWC3uDEK---S_2P^=_eF9$Cf zLGVarZbGu$`6z7)Xls&L-agL$OkXMA|9GTD?$7KRwLgQ40iDfT>l&ZfcLCQQ-LD)s zSLp@x$Qv+FcASIq&i0G#%f(rUPJOE4T(UKO6~D;i@ObPLDO%?$jdwjzWA?F#-8c%r zOY8iB#+^eu;<_zk8+LwCRvd@`R0Udh*F@*)5?$df6QmR66iCW3cbH;@!}}&n!}dLL z-(;$hT#+$%%bnnTVrO_ROiyn9DChW-ZY{uu$>?{mOk3SeY`R z>(~iNP*m{t@xn%v*(}M}o-P|}dm8_F zwx`>#kmi*OnokNOR2s#isC*$8!k=y1l4%eGj2cuPzY;>?P3 z%7xF9zb=api{iICSQxSAKF@QTq?Pxx%v&P{T!~MPhC9k;dztKm2%juBL13%Rm}fcE z0NVit?cvUf+vR;(Y@`%-L+z3w3tr4#B=3_7-Mh`sC2Y>+Wgo~hHhZ(EZQhH#Q6jK` zjTE_sa!@!ips?GIJP3ZWhV) zKFprc%;_Gs=Lv@UAj2j?OJ_2A?RuUnNWrrjW-0qxVLBFL{(P57dM~t)?ldK@}ES4Ct$&Tdijk(P-v;=dGfZeI-eOaqK?UPl9Jolaz4Eh3rLpE*8jT(XJ zV}iPcjKlI~zhj$4X%6on&x*_;=;IT~!Osd>pNlK_{vf5SI4on|BNi9DPvIP+V%x1l zMEu2Jh40Es>GlQ`75+h^7Zo(p*uCY2kK57dd2NLS z-+-geC*|P_7z+mFp^St`=a|F}Yh(3;m5UR0m>YXWr15%QEO7+AXRUeqM<-;1$6&qc z6)Xsp3GiNN&KN#(3Z-Zg-3f8IekyamVhEAk$AK z0}fjrk!;!K6;hEg^}V=UWo4r5?rlCP$}X1BY_PaVtz{6 zF@Y8tCUqVN{4nE9S`UTkQCb{d757WBw(+re=ZOEA@F+JiPdqDmKuS8ua^C-~0VkY4CB}bn3J4CO43Fku#~Y8yy@5nz?>wKTAuQXo@ML1 zCf{`I1X6*O(KY2c(i4LEIA=Bp^T&d~i2PWP5J&AKX1(KOhlMZ8un)_ZBLL`m$LRU$ zNJ-qz%%%;95kR>^9C(5%@*4H&`=cmv3oA;7(B>7Mep&>M(fYiDSt=<9isqSR?kmFo z9`u(nk%`@h_gL4U>Lo0Z~PtuH#BdKIm88*z8( z3(Mb6{f5tn;b0EJolvEzpCu={#yTlC!TPo7B3Qr9e!B(d%eGVFOKBt<36KckbDp;0 z8H;8Z8o8+$IpY}4V}#mIi|_N>E7IxVG!DE_fra+3>b^!icburqMTIC=L07-l`Ex4t zU|8!sM87!HrfFS#y6c|0TUV!#Y*%sgMeF({RKg{EOs42S*VFB{Nd80Jje4tDu9xo6 zW*#&Tnumz1yY^^(FKuQ4QnlL{z!|d;)dR%c1e(=0Y(rR7PnBLkf49hENqTyhr&XWp ziR#g^h5DS>FQ~ia!VWn2<>!ae4~7ZySh0Q2mWtJBfYsF>8#kCoUkFUCb1v}~I&fa> zYTGDSxEdYTlQYtYC(9j+oi93tqA79ya-^=*=kai8+9BhZCwi%I%pEPGv5B2i)L(icdWP*=UiwVb zU(|1$P_%pd*GhZ(&EJu56<<|)c=;jRU8@`^eZKX5%6J?Zi4SoCFFFOE?BXS*&qpUv z6|o0M0B$2bLVdCOQX6G`Og~F?(9di8n10@&f+YlKp|wyiC!oW|uoBDbNT-+6V9h*g z3@I^<`c&M}suzp252yoLXD=klF}K#46hx+V;$#4hUzx|_$Iml&79E?m(^U1r%|5=< zxX#2WsbX^>WuVkwiqr_F)>$O6cb_2Y>v>9HBC0a|OwXD0pNjNa)8Cc8YYNI3A1d00 zLgZEOf8Eg_^(J51-?LyKI$Zr#7JEuGpW&nCtFnQrO1LELX24TNz-!cNcONs|sg=y1 z+4Z(xKdR1y6Ii6ynaW6=M7PD->S3U0NYPe@#TlwhGfzy&!a}Vml02I-Id!&9kZ{I# zAMZ%IRv_q)>DGEaaY;0JQ};1kC*!>$8=Opwmt?m%(s8HlpTXGf)JNGr8}C$-4Z+fR zqV43;@tzIBgQCs|a&&wk`=n^*Ih6J2D~};z_pxc) zlBe_vB~8j7-(xI0RLOUD|JlL(SP&q+#xH+YNpr>0kaQsVI!xKbr|CB8Zqun&8{C27LPuV=CUm^Y<*A+p{3qXl^CW@_l}#^j`pW z`kM;J)?cDRXH-cc9U|Rx2=={Q3Ob{FPTRk_ITPnRt3Lz7x4Y=CHe`px14D$5flmn^ z14G}BZ-0Bp)&I)CFe(Tc$kE4lcED4n; z1p3ebz*k3uudP``5{G6Q!KWkR|5Eh8z)OS=`tQ>*)btvm`L%2`GkpzxzhAzd$k1j2 z6p*>^o$=$BEd+SZDi4p)z)Ooh@h~9_-|nWr8B7Fty2%~-LJFX4mB>~ZI`zjZ@bQX} z-4H(cJ5{V?x-m3>uBfBBqS#majSv0WntviZfr!478Sm=`FF6O3>FQTouu}c$7B8<@ zfB9?i`>XrBOk)|6mxCS=qXbjj71~ZOR&gAV1H_MV@!iXMvGpCI?|${Ca~C1m%sHMbLP zZ@hVIJO}FUGiRf}Uw!5O-Tn^$r}{knpYHeYf2QyML-d`-_qxH?&O&#;^~aV`bc3$u z%dYyoypNSVHMuyxCCR7P;~*YwGA+c~XL#)fpON$}-*aPzUJ0MexPdob7WjNFSKxC? zt|Z)CNw~SE#2*^<7207ELHncyyu<~A@@1`b+S9a3#^fPte+T^`s$Fpl zfh)3%`Xqq9;}sf?H?kj?Bw&QU<5i?&Ka{xsN)I%w?|dT0u>CTa57Dv3vSZqs@5#aJ z%bH)jh{GXg{~&=wKW-fJ@C!qobKC73B&***v>#mCGsDmGmVf!PPmP?X&8|<*mQ-H| zqUyC*2Hu_f(!jg(-WWLWhI`=MHy}Nilki+V19A^D;BKCcv-KY=2j&Mc0MEVH;u@j0 z+Zy$J`u`?9w8`aCX~MW|kS4MtAm2QCfCs@JX+|43tQZURpj%rdcOJVMe9@6|S{MN}1bT6gEsODVnVlavda`7vXa7;Yk>*J0>VcXAuDk|C>=KQG#y zE9q)yvq^Y&GYoA%F{)^F)cUQgR`%pcftsoLWvcm)sF@%fx<}Tx2left`gZlWZxj<@ zHooh0?@zP`w)trVee}55pRLb~{Z0!F#bx}-Wh52Onw&6t2|w6eM#zqTXD_q2TC``3 zyesY8ov*)`j%tVka$<7qql{f^cZkxT647ml{;g`Yt3P^4ef5uts+0=c4cyNERibWx`;XthrAcK zBI(JA6)Qy5$do@SPf*F^2`E{4c-g5;0iE5lhnJn7a2TDa9-?LERO8sUWb4rjtSJOi zqB4Mp7}k_TW$;`4U{>Z^IkVD!0<>cYcXLtB9OMiKPDh5EL^z0KE61Fd$!X2<74=(R zGmmbLVg>dW-^af)XZg&pC8}W+cFh|6IRTug_KJS9p)1k-fb3kN`@zi9uQN}NWS$<) zJZ;ZBZOT0D%sg$$JUy3r>d!pw$~-v(W)|y%Z!Z$R*VprapfY2-kA`eP?E)9|ZS!Pg z?0x{I&O}lF$G^%feXkq*mjKW_w2RUFmvmImAI!xf>=r$EBYpm7{`}|c&;LH;eCBbw zo^x#3l`#(#TGfHCG7QJYYb%Qprl`~SHIbw8N_wBw{iwpYB{EX2>L7ugj(7>^rx|E} z)^`jE%uxxgD}YL>b(liFY#dXy&NnG{t=9E*_&rs_fK5N_{gnI~if;vFxnlodY=t4) z74`RavmaJ}^!DMM(Sp?1t?pMq2J;#%ueBBfXAHTubyd0sGs(LCPI`)7Vw~{AE~4r^ z;EV5rW&(?uc(lItsLqT8>+7wY1?g0|F;pXqH#o&78Ye1ac~l%1prxh~rA0z!ZIJ1W zYPy|L8ycuI7*dt3FkcmLf%y*Xl^NJe%H3SyIDEhCl<-6%fJfFiPSgmNo~jBI;U_hb z-USU8h@V1%z+&-JA`;78u7g)4s>9-~O8nG{pE{8cPege+`ppr48ZYEL}GP@R~sgD8fqctl){c~6~HSS3?13EU3F(rc(pPvL$ zEPB4hB}A4(hRTwBhx<=e8QL8zB&ueDbDN3SSBzFY;ED#EQeWp%S-F3Cf^*+!9wYfr zY+&x_SQ-GsMnl$$2Qqz0bUTq)cw{+;y%lK|bEC1;>xwS5I9FM9^p1b9W_i2zM1y9f zN)=euUTap=jCkomw7tM(J&e4wt?ma|c4DL{y_8d9eMSALD`m}+!vxb4lZ}QY*-C1M z(O#vT*+1@i2#4yxCLk1;Bt&-kfylwD#TabY5az>+O0vy4%<{R2zHN zs^ADX^(v)W72eWqt(!dE9LcW2oBBUi_gWTiKL#Ov`AQyxFC6Xb&4V}IoUA1oSJZz4 zXnvqkFp|ur0)7plu>JYiV|*DU&&{lBcn!pj{+Ztdj(i{NHI{=c%Tm0~`Qr z7a=HYZAD9E52K~FLTlZ_bzepdoduV!U zr&SY#ncl9UG(8{9mDS{HHmt!`O~6!jOV!J|Av-h!6J&x`GXSNizpNWAYW50bUDb_N zGZC<06u7!L{#LHG!KY)J3yLoE{<0Y*ZFSOa09Qb$zo1$RJ44EDgq-p;+OQ>hc{5?5 z9x$J|gtX(brsB5Kq0Cm8jcfAl|B056BlUWk8lq~wsecbAql6O@uiab3py+bMyZU3A z1@q^fL919d?+m0OX;n{tm2xL)7{^qJnj8;PF5@R`@=qC)@EsG)gM%eRi<@|oIX!!N z#E@@Ng_J7V?C2Ga(kQm_IRf6N1=%nxnBlUOVEX7U@95}Rms-^cj?#gbRBY%Drp zZN+?8i@lz*+jPzT7-C|1p-b!B$0Ov!K+jT1S))cUd!a()5d0 zq!A&mPA>s?lsmPB7l*U;3R_*v_q%mWHxi9Wl}G44F+%rcM(E6bqhHM$f$Ik6O@MHG zHj$<9Fl!jg{e&-e-foZ3(*fXc>+9%;K%=qse(|!Gu^V;80+Cy15z$tw4NwDk>Z^%b zHBsun(5@vHm;*v#;r%}FPPHx=;#PWTWTLN9>PR}YHX9|b=#pk*soNF3y_u!%Jo*W_ zqTi*T$*$-P^rJ!)6Jx~R@_JSSCZp7~w1Q>073eSiE9gNP1BS zVqmcCQpI(H;MMDiCQ2l;g7=wWTd5oK1Lj@9us5w6)kLdFQv&td*OCmnXjIo#st7utGiDp{@s*vF3JH8~1KvQkC1HlPN zAJCB3!}7MabzkbLGGeW^QbJNWu}uS2Rtw%C#Dvq)4q&=2!#|Ds97H}OzVXaPj`DCS zPT*TLI+1~2Y2>B?wt6>UOwJ>6fV@n;OyX>M@+SH}Q86L_%ZD8Sn0AXS~g3|oy*Iud%3Y? z0avWBbZ6|WqJHBE92s+wChzHDS=j|p@0?5kHKivDX}UQ%E(fi>lFg=KBidUwo!ImF zaq`N~r4XaP#hZ=FtQKF{DhBC}$sD=$FcqJJ;>zJvNG$V_!rT}R9X(yK1ZxU*SXboL-B{}Fu--+D}^pPQ(CU;O=CdYmgB;Vg2Cc~qp$!*+Q5 zJufw}&@S$$L|a`!FD*q!=xdZW%RBWSi=hQ81*rm(0n~|B?54-}qq?O?>Ew`eNR$B) zDHJB@uxPpAGf&?1e7W_wjYPPE-6W}{63Lk{C+$gKz6#PrJR%Tgp?Iug zlTkPyWV}vvqE2d1#U}cVomGek0c{=gq+Zt8qiZWKB4&y#P>8?1^cNg#xLCnJz+!$wM4+-yhc(%#vyjvscD%ZAj^fUT9D@VNRi{|CkEkBdpaEm-Cw%Po{`qBiKi|gT+N-9FpoJov@to3zGC_G zX0yUA8uN}c<`<0xE`je-R%7!})xytfY@XBD!Y^pdFBkb5-s28TV3 zdcLv?ZMMiZqo{G|=d~Gi+FbetZH7dferod$(dJ}VY(7SsI#^48b<_?iVuJdq-Sg?a z^(RM#qc>Ij&9O~iNKLnjrZbs7ul32I^#HXV6RoSR*sbvCaC%%a(qr8tcnkIRhIg>)e7dO|9FD+oPC6Qnlse}OBX1!g$02UT;@uir*C>&5s#On7S*@>+ zq+`zwPQFM1#|G!zkd8f?j_n*&DB=1WAPQiyuP3oU&&pd`qS zF<@5L5?TtR)yCYxCgx2$A-=-YfQoFa4ExL)S~ibO@|~RIACu(Yykf#Nq=*KJ`mNbs zcvAU0;>l)0N%7tDcl~03#NeI2jt^Y*`(5!9elyTLf7jQprt!Vg-?7a#|3(+5y!Y=& z2~dh%fRyl+Q0-$6&k+`%>jvkh-=|T2>Tw?Bop5`hC1r#s*1KA)iUPA-w>DS77cO$b z>OlXD6L}`$QLkJFZD7kiujntP?ZA2I{nk>N`o^gkr}uXF!fJ`;U^0&q~@a{;mFdoC6@)NeRC>cTy<9A1ZB zkMA)!!%pqZ>+yB74?_87;6?P%o9Usyr>5ki#=a3w4qG@b0tyW)y5CdBR-mb-Sg-iU46Uy>514`eNMq>cwRHJo2$k+B?}f_CJ-q_z zrW|ARv3If?&2Ev|HUqP{zezwBVAOxLB$HXNTV3> z5g`l4#65hYx>z^1i@#R>J6#01)o~YddwsZ-V5-wi>KZev)O7u)?4mNJiz06zn`UJ< z%X@pzklplzQ+Hbt5UV6qbg_;JHRN=Yh3%q`Z8 zAR8H}7x8^=!a^aIL4<|krMI&kq+PY95Dp3n2ZgFto@)i%m;u|pmYVBa9APc}4C`ZM z7Z$T+G@5z~$-u50_V*_ozvy5(Hmh z1k{79ueOToDy$ZrV2!`;p7xP3?4iYe>}DK5NCTBU*c1f5*+@bhWKC2CjR6`j1^N@S zjBZ^`@G90d7$a4T(YD?|juH3t)DQIra(n8BVYTTExWhg5>C~IXuo}%l6REo}gNcSV zxH1j-MmGdUS^jdZXx5u))|Y8klE$O5ot{7k0npRfp`iK34!9V5k>1!rB>NK8i$<4z zixJCLbrkiN9&CG`tHq=m&@EqwMP$&1NZM4Xk|?Xw)o5Ptq>7$1l%uIb;nefag&3^a zbRU6cll*Oqs{uZDxC@8rp}oMKdBSRMF^=ca&}u8$cDKcHUHD=;zTZ7bP%0%#RgNlEbVQV! zR#vP>|J+;m4cCsUjU;sIHoECg>G5r>PQ4=v=KX!m4RLd6r#aYR|8{e}joccwnrZG| z{#HSCW7;W1e;!$I=|AxWET&MM<^x<_Rgsa&w&^E>zENw}OdvJ%orSTLz*k2UkNvVa~P=vAkHb1H_g!0J`~Jr%>fRj0cu zdn(eYKZ|+sr)x!PM-wxkOTAg|BLkk zxKjeH{xAdcg#UWoo{_rUT(|l|;6usOy}|Wgu3I^E-5#ntLoFS!i#TeDPNh!wk8TS1;#UQUN5o29hW38jU)9Q~D8R`_^XL2L3} zUSPm(?(2b_zYkNQ?g?x*cRz-UuBJVMBX??V(krvVM zmg^YbCl?>|mF#+gvH=AB2(y$_dQN<$> zsg5TV6SvOSUWJj-*?wXTPQ^t|Q+dq8TIZL9O2JBx8%hX0Or^Ec*Tf<|-noa+E<5Jr_gYlg}me9IyfpD?}TY#ozOGyoU~&xOxina9}Iu4}6?#6+cY4 z3dKM0OlZ_=J<%sH66Nt>zOTuH(WIJ2I{yr=S2AC+0;~B<*a@m3zTexipQ~>qcp9l~ z-+JY^)>nkA@ee%{2uukop%vu_t?L=B#Twh|-}7|5huV=d{+>VYQ?p=YIQcda7XwaTEB! zTCqy#`2lO0*VyN=I*kWtLS%+m<`a~$ltsfbzu<>f*lDa~kTi|pr}Qc|uxdRg1b1Ku zrIER#l?b6Viy@*J_V9`~$sX7zXcg??2YdY7B^^hFB0CkF05g5xRh}r8^OV3uSzyyL z0`kuHAdH~OZo;r9unFohhTFj?kqnUo=g~dBO{~x#_wPQY93m`2%=-yWzk39oy9K}a z1e5qahjqXdY33Ph4)~4e9J&HR{-QDt7iF zn9Yy}Qh+~)<2$`t-!9NFJ>jxBF-RrIr5wcG1bwTr#1>JlC-C4H(#OU@zWCIm^#Py| zk(CvAXad%13n7EpXQYIl!|@aT-N%)~IF<{0UxovSvjcg!M$g$4DYpZPr9RBOvrw-B zO}jh+yocla2;j*VIzzFImoMrgSQU7>nspqiQc#FfZ))bnFLUgmlJu9t}iOTHsyPo6T9n8G)}B z?J*a!@y5qw92BD7OUu-t*11BeP6UycO$R)aP!ohRs+=&u^-DBhE)r~n&q8pie=_BlFec`mk@IKFlnK{ajbWCXR_*?!7So{0dS05rS2GOu0^sT}0Y?8nvD;yIBLNWj$&V_NJ)o5!Ld!h4ikq>iI=zIrNsL2ShS@ zK=cmw)hZ?eWhCTjeN)niSx}ryv_=zCU<#41LcB}p66`CGwoTxbFyPC{%<(|_?!RlI z5AbMDmBK0{g;l;7{UA^DQ?<@LLRa)dXYV`9 z;8RS>P#p+4mzf`etY3!Bi)A0p@de}A2=uO}<6Um<)A+mo2_(|Yf{t)f2StHXie02h zDu-ySl*4Qki}F+*Q0#&Zt@BJKFVhwU7J0iYT;Mqw?G}$8 zky$&M&6q2>SIowRH;%R2kVxQBm@25M0HY%oD=sB-UPAZC`9k$57Mq}~d7m8}V9vi3 zcfbv})1+}+t(ZIP08DZ&;7Bk&!N}Y<$JQLn|kKBNqPRPN1M8 zVMVn*iTQwJGME4ZTIWh(O>qP!!CXL;q+kF~#%{eBJK_5F)OCa3cpF3a{R`kqT8KZ4XS#5( z#j7CC)En8MeP}<*&Hb5hXm7xYj{JkYjLY$O*NDrpRb605(#8o*Te%Gcvg)2&F2n}qnd$vh zd7^qL`v`3__7Ba7U2GfQL$ft1yA85KB0TeM-PIWOtY@dF%0eJ1^$x;5bgjfbsGk;mDElk9f9Vd7{ z_QfRM89r;OwaR#%z%@>I%xjm%&KvxQFxk}~onRZex2{bm6$YTVYE3!`S&ldt^l9QX z^!^^d6OjAyu*JCPD=(&9v2*C@^@|9Pu`eNwp4_oK<2WhgkMJh%m8+n(zC_Ss_$aRBD_JIsvy^qQF zMWWQOgTM3vby^n(lX`q+38i0-^zAY|pVPnj4N50c;)lT*2i&zebj{SJ=Mf5w{e!StU^gEMl#0C~>&2^fn*DW0Ifgd(UKp~k?Cyv5gVLv|p3Mx3o ze*9N0^gGdhTwO%JIrih{EMA)~I+6<7k1wI8t$Z|Kg8ldlcyWuG1H5<}o8_7rHHZpYEJwyx`Gt@C49%otX%|7J$l7DT5R!|v$Zt|MAkpG#(rM2h;Gt%8bX zv!F6;91F(|CpXJ)MSH9;w8x;fQJrKCXis*Yb<@-r)7pjsSbxTeogQDaS#`S0*yipy z0o6OUH`OLcC?d47!#%k)*L7ICK2Cp~dy(<5cEhfZ zwMmUMD;p=gu{}mVl=)x?!2Kq59*_*=Izu@I%W1JL_BAHY7pjc#U*QuH*9|tk0S4Lh z6Y21S^$UsWMiy+QaDCrq8)y9w;y`!ClRHS&mffbeU4hL$Aq*8M4B6y?+q!WU>ehiq zvsH;~4#N|u|KndJsvatUukG|ye8j!l8~_}DcpY#Q3OHWD4rXM~+QI9@pqaqxbMqt@ zd;ghks_KE?U~d(hj9P_q&^SIRcF?X(cN~XFamhv2HSoa2?lt&3Q4xTTD{3Nwxl+qX|LKl=Cq>$2v}E@fKWj^<1%>Nk&m{E+1yeY!KF0zRPcI>BzcwQ%Nm zR1dRLj9xbmr|~>X&UEC|WiD|}bL70%7QG5*+oE|^=fgNxnaZVy?EuU`?s$UZ^s;>=J_ot{q( zdb7l8FL-MqbmutM<@6UwV`WInPC7bK?AjiEwWraWPQ72FEF=a@Pm28%l{Xiqiw^9l zQZI37TSeP`TL!Bm%30A`aEUAW?fD5JgRA&1^+DTrw>dcNnBAyeVi%N9qXBJe!4+lH zcr3>(-&~VQ0vO@rPapU0D^0X!rh;sk*|$5Lx{tH+4eRQP@?2N+D}+G}I(oP&Hrd$vV@}C4w%&(_ z=oCIpw#>zc8M0239gxSZt|I!zDFZ7Ku);yR?nm%P_SNIm$lz~;|6;z~xU!@nvcNTK z@Mn~gsM^53_k8+lGfq+Ah(z0Wt##e=P|>>eT;B{5|7)i5V9p5AV+lRB7|RM>(Q^}> zE8$+s2SJw6(&cB{w7xy&x|RK4xGD6t-x*Pn5&y!eA0=v7F-X*ilM^-K;6yhhfLWtw zEoc}?3kgXvM3l4IRBJtMaDj72*B-44RT7^}4QgxNrpK;y>>R5)IC3NavFD(;S=RILm})@mN%yS%R0B^F%5y(A}NVjL%89P3q?Wjk+bBr3c>=;kx&zf0=$ zsR+A==e@U3<r(fp4zRnSYN2$ zv{`kHIb1S5X!+SF9#*BLUA4k;UqZDae!C^`@xLYiSFVFIs;SP=)!7E7aGj393uWb* z6)Wr))p)rMrY@SM%AUA|k2^gujv?Vwd4}-kc10)Ctj#AYu-{a?)r^W@D@HjVd=SxS zS~p_v%4x*w`LQ`*dYb*5_*HJ1G8{)N97Dzg3u}WJC5GhIlbTG^#0ya<6h3=jy+F% zrZe{IPcin_$gu~S_UXf| zbfR_c7TRM-IsE_4ki*){Dl7F3Z2{yDN%291$&fj`_dVNs{n8iH5bz<(_d_@yV-NLe z(u)pFJ8rxn>7W2b_QGAPpyqriOd*8>hc=tO_LLvD7T|Xe|FMf?~WgL20MC(hZM&#!yFki%%|>dVRm;%5A)}Amxh@-l=2zJ zwb&V085(iTzDvQLw2`J^=pN>SD*j|0f>Jp1)ZD*P(WW3fMi%R|>}(27OF+L+j`8W& zN|yTOQlGsvV7B;eTIeQ2s?fK`2>DJ&$a^hyliUSTjT5MR?ovBS|&(Y32^CbBY@WY_-zE zY>8O)x~ON`;hx=l2hBrfg6HME`)UOfoqvp7XUjL+*TNY<@EtKyJd2S+tP%-U3JF&7 zD?6J_^-h$n;jyX}hh%wMs;rBr)>XY=qjopKc{JdF4y`rkL^uLDG@-=Jo#vsRkfOPFU-*2uX9exzlBAB! z>CPv30*Q8(^MIQ4pml~s7*>C?S(psa^Qcb0`*8-Axkpa!^p`0AX4&a_99z!n_j{kn zerr7!9$~H#-6+)cFQ?`aJ9C10l`Wa~OzwVYUr^A(svSAe{+GADZn_cYPT@f<7c(<@Z zw-)&l6&xeVtO(PGL`4Z3XetoM#&z^aq5`{-F4B9eUN-A%6D;01N7p>5COd1HBtl!& z8pk|K3TW*wEGlQA53~g4#Ta7lOsAgZt0J|D4J{2t=?1F{AjJ21BI#KE;MoT#FGG60 z)dg^F7GFYx3V)d^mfivu{40Axgl|}knRV3@PItZ5BClCdY*qNQ4F}DN5=t=_m1`R+ zbna{Z(M4YBF}haoHS4R2_8eX0<2N7m)Dk^CXdD~gJ|)wi)3PD&I?{fo$aXDa8Sz@t z+`@QCydurYu9Z)Rm(%9aalggNlbKnev!N!Go5 zoTm%aXEmtA3mN-2NNV;Dkkn&$X9Yxgm_sVG1!zL=!z|t{SLM>Mg{_#091gyTz9xU{ zMrJH1&ZMV~_R#BTmuq=mM|(aV+Rt%}Zqt~|iQbW%vFC1mk&?a9^PF57=d#wn=n{04 z+2Yd2w_oUFI!k1lrE?Ayov&@Ec{DQU`v6w9o!8G1^^0#I`nD-Dcrb}?&tb?#JQ2s#Vb$!k zRwJR-tooro=Z172L+I4GiOaos{hV|kU-s+NcYkt(erjGx)bO>niJD`mvNBmMqa`_D zq?d#SZ$nKS?}Im+^->O{B7|CNo(z=}%_HfCs#3X*n48X4htx$zo8J}7SYW@Lg=LOQ zcFtc}hO?5As!dF1YZ1sQdV!=rM8mn*DPNXVJ{1sQ#7a4YQhSaFC$`D$%G$CZLci@P z5c=-rOz5m|iXC|uPZp5Urj*e3J!_ZI8wve;KHvwheb3@$m_AM+xy^`gL_)JIWh0`y z8SRCx*trc2_AIZ(hs7IaJ66o-Kgghc)&`J^J*zlkt;B`cqy>bWzb2Gy5J$B`rMDF? zo=Anb*=nAWvc2kC^>9|BQ|s%kSz*y=I=a4O_K5ZLA;L+zy3T37x{B{|DBuai9UYGi z(v_4Y^^eqeaR#PH=5I-D163_6Rjq2o8!4?W*6yws%04y~>SVaVQm!Lo&$_BKDIKzX=D0`XDS}FJ1L|B#@z3l~FP}Gu`uhq?+KRNnjInMy* zfH0*M$aqy8*C;m8u1Npn=n!}~Y*un`4BKaaCM>`{D;&0}?k?f@x`@=Hz+KC42fTKj zS7pC3f1B637|vFy!y}OdF!MzIlgKINk*QOnUzI~>ED0+DA7Qh)SUeFbK(MrgBowi~ z!$}AUh@9-*=%5CxxnNkHPGlVYRPNsU`9xjVM-}Ar+KZ+`i7__9ZWu&SbD^%=wQg+# zN1@^~lT)p52_L#td)TSFzMS8Dy|)tDKEwK+L(0%gDG89af8?WT3yEsscNajJkQwmu zA|GD@IKio!foT@UHiEaS>08U@IMwJ^fmYR;Y&P1i)UPC-{f)`5WgULV1f5+wmPr=4 z7H|mK2B>ERVm@2>B-s3ef0h^KK!+wpxU1j#4bT}qgB@D1m17(47#!&!i8xeN$96@8 zbksV(&0mLBtVtIgpzl`4gNii3b~xy>IO=M*V1+MuJ=s;++*orJlum<{}^--Upw+@J?7J-Cl9HhopE!Y}Siwcz9Cd z5St_js%Run>x7HdNI+0Edy4NK8TTDvK#uIFjQChxIw~^@oCDTYNfGes(ydu4CP{!W zndj3I(o7JxsivF>Vf8D_*s%Er;W99r6jhjT1xId`q!GY?V3=qf)5vpEe7~o`aVXHO z*(J6rm`i=gnq4kl3ecYV&~zi-n0i1!2P0IDctmARbU-xx4FuIoG+H&Av<-3DGFtUV zv<)+NBDyrSnvQrK#h~gT@ATA;Y;}?2eH^rw2CW*^y3}0%x==%5uvov3o?~aRnmAib zIJ`&mF{Xw~DSz)ZuG$`wBvH@w)R(feMPJSSuATgSGk@3mnrQxD#qi`T>oZy6`@Oa1 ztPrxCk)1{Bgo|J%n=&g@dx|{&n4L#dm4AwC`sk|iPgRx6$y3YT`qSaDto2QI;l#UU zR3b^0N#2lM}z=ZrAkD)6SSfXtzMC> zRkep)QJ>MC?~3M(_8JUj<+`<6_mmEd)G#5t1|}R=?2Lw6XOR@mj&mpiFh86fK8@!e zI1;`iU)YtyoUX>s9gUYkm@8mmA=F5BZfyPX{;9xKG>6i{sk29ydj#cXs#KIs)L!!$ zY0_;%A%v)2!L5U71F}9ga#U21Bu$er-{LYh6|RT~!Zw`cXa;Of4aIEB?rsG3O6dCeYrXf{`e#JBNT-zM<4;hpsL0!)wviORs8Oa)rs z`g}=~cs_@p^GEqOWM>-5qHSCs;-?TjUBFL-?DgmJ(^N+5>`~<0TXPy!HonFe6<=?V z?a%gcy|Yil2<10eISnE|WyVM20Ck||G;PB+TMd^ENMB@BfQWpl1;(*)OKv6v$F2u* zW7iR4=ftidq|S-e0HLu8LSgx&=%n&5MW>YeV`o#>5!yOcNDn{2!&m6xHawh557#?T zjboIU^YT*&UVn{C`Y4T%iI}zgqlG4ozHw}V){Ur-E3T-}y5Lp1VwrMFtaZgQ_wBJI zE0%e_7i(FuO#P?W05IMDG~5o+@3la+D;!j??-Ya?GXq z@prvuZAf`Zh?aRlhj=mFj$o~~NpXfGT$Yz&>YJh$t>Z(Z8V zmx`V)-5s4FJi;#K_48jaZw5xHT4UwPFu~qY@&spydR;wLzRC1bAr6bAervIJ$h1FP ziJ2-Iyz)Z`w+kA~gAI10epXZcV1zW5)K?=B^Po()idGA$Oibx2X_{~ZHN+$)c))UC zH21epCL~q|n_$#)R<&8DcQP(UUxZ1+_4i>?>l<$h#g3+u(}t~yiHg9DC_7Pf7#5|8 z=KTDI25TaQwH~@6#{#5UDr*V!GyVqH{*03%1KvVix7yXNGy~m~o|Ogky8=h;>P$N_ z;+!)_xNoGx!LGD9#cWq&U&<~S-C<3kB18vvgEBMq?5J-K@wb^oDq7!UDB&F^*h6SM zmTm;YyQy8mZKP{YY@$&SbelQUK=Nk9x4kRqidI_F+4w>Oh*)g`66+e56%Gnpn~-VK zT?^7pm|45z%xZC&pfk0JZ9S^l%o&B2%pDuXR^Gdd)`)q*3J2`9xbUHr=_Pg*GvxPB z+j{<JYvI|w`+^S|5iM}SQuWF8zei5>~B4;S^PE~3$!6^zVEHv|M)QnH%LK-k!q zYgPsvsJu5n#cP4Pd3L({6;UNUt<5|+?Igm&&C4-sh)Xe6IG18LeyQL1EuVk5jf1s5 ziXEVE(BhMtVU@r;AHxMcaO@0B2v>S|QnU&wlh*ewl3_%^)v2?_W{&Q4azP?^?P@-5 zqV?t2Rk_2UYr9Iniv4X{b)R2b{W~|S^|Zdf@T97GP?bx{0O4fA=f;ZCR+Eclf;XI5 zTJ^a|;zckTO(ZAuGoUJy=$kc*-eF~JPum)nXU8 zYC-&I5v*M8$x#wzQ9T&N2{$$Mdy5YM*Xf1E;3Qs55)tC6**d+*tmV6WFC%e|->;js zI)01I+Nt>chFM#H-*1|=h4{VPtSx3!dtjE(Q;3Y+OvcmsFj}pw_i9=13|a3#%6jW$ zz1PTkua))A998cP^mx6fm-<{r1F_uOk!I)F5sNwdZ#kChq9dil(K>;$X(yxX^&vhF zd8)Aj&LFyrad=;?mdB4$k8DPBc4Kk4sDIia^N$}t1SC#7c!b6d>pow!h}~E|@*8Ow zbRDS96;PQ=N381hx+k!UmAY(2tA2)ONl4_y4oz16mMkkgfo`ws!k(9Lg)24%b|Q3X z@S`8IDJcYn*lk@wv~npsXn*_wzl47iHWHIQ{6rCF(jpd+ULlsl zEIc1(;pt3~DUF2Nua85x5iR5ac6`4QcTp^FyAoGYYxbX!f`QUHe?E@VORtRM^BGt6 z^XDJIny7V7r_#w=>Ax$taaNpEy7DQ0{8xHRM)2ureuu|`wu&=6%L%PWSo7sP-rHE9 zBymmlm9O!qGPF4LO7t~)tG4P*BJL|+;1e7kQ=f+B|B>k+szGWi9ot%vz`w_3!A+!LrLmzldJ0 z(636R#)XYz{@8xGQt5Ua`JEeNx(l2HUQ=)dyr58abe|)BptHN06Wt-!8tLHzeh_M; zC?GEI3H#WRo6Z&3bftXaCy#Mkv?n!=y?JQhfB#WBodi0#v)F=7{w~)+22m}Rw4~U~ zRAai>m%%A&1Xd3RzLnK!85d6NdU`B<_vX4p1wwJU8j91HEZ-l=;#LMum1DY-!>&j> zsw$sU7C{~m*A2t)eWCoDv^$FSr68K_%=N!rDce@_D2C(S}%~xh!3!dR)cv_b>%s4WnQbDzx|H{^!X4 zi&g$fSg>a4J(x2&PJQXFwsWbA%g=;;s_Yt4&I}P)-xd9GnAY5>KXcz#E*`s(?-!GE zKGwC|GL|@5!U<8iQaf?Ygh6H1pm1DZOD}I8#Mb_iYf!U1%2iE$vtUqE2!gT>D;ydAG z{e5D+%?O%*3P}Q+K6XjPCKgXMSEt1_JeQg?v$W7;l`46(X;d|%^irNkrV>?fy+Uf~zhuX*3h}NL2Vc*^RIngJ zJ$Avv#uKb9$0qY8=H|8OwAm#?v|Icj^%`7?5@MXS>bfg>^C_XvqIP9%-J8$>Zsg|l2oD*?)MavIJWd7I6~ zYiPczf|fg_=zy_op0fO0ON@o?vg@C;|6@6PBd5QFRaWu_VjsEJ;I*b`8-4T489{Ah z-8{EBBOkx2IU|JM9CL<_U#~f1Dt^bCGYatQGiMayccL*spNerUVBp(?I9e!8S>To< zV+=t(48`u{4Y_E(!{`CZ%;Gg$`Eb;ZAQla?$mRfRTx7c)JNGvAX!Ev$c^k~mc4;P&x4sDhEpuo z3#lu2jj)!vj7Ad%MjmLph9{hkp(iQFV-Pm&O}1S~gZ^8OaXj}<>^OUkw{kn;yw?6h z^m2QqJNx}B_RREeN2Q!@&mK1R=XPx4_m{MFI2u(+iYpfU6@l*xEp~p8ZH|lr)ve|$hvuMd-f}XH3@gFp`rAh&RuQm9}zuO z>d)-2Kf24<=ZTP5kX^cgdy8y*<6EgUyTpw6tXWZ2Pss2yTxTi3hWst zjN{{%uPk6@cGHrc9NT6!=xq3G$-yK&8)wl037 zxl_6oUdPb%-8A9@CNB;A8yD(T7h1E5Wps|xKi>J(`uYXl^pgC+N=h-STfXycyoLt9 z&aYA79mUIp5)b^hCzmFy>ijzko0R^h1>VTu1W|0x4GX+hbx7%t3?AQ}RgzVWVR(M~ z8cJWdv#`Nd!wo36mvgmT|D6TiTdPB!$l$i@VhHb$OmMM#8PFH*ysSRH&s~qAKi-~! zl$xZ}$Y57?VQdvAd%5ucM4L^vx`JW-&h`wf)aJOz;I-MsplBwqqhhx{lf$6i+MmOq zP8|hmPGs|!}6me0jcL-T7ls5#KFEdlNUZiVsBKSWgPIo^T$o)f55*QK0Cl_sbv%PwJqpzE zk-=|d7lWf-@(M0Cf$@23{{#k8dny~B6C#7d+p>ybK23VKm`~!<$3VWaEgMK*WH6Ck z4Cc)wsQuPwPLn{M#z6jjTQ-oVMF!Vq7lZR>@?I`Bk&1nlfSkxcF4&e0+``P*~kV5yP8Bk`>4exX_x z?GbSZ;LaGdR*P-_#!9nxmw2Iv)Z5bcQJ#j!LbI$|Z)?i926)Xl&7jLmSW~;*t8HM9 zL~TRzC(41NLtT4f=ZY^r`cg9bi>f@Gddg&H0$duF`h{q#=m7iz2imTV;7-0smWyM} zquPd=UD}4~eCmIkT@r5)?uFNj@0;ZJP-Ji%e}4r=@JFm!Bpl(>f9Kb&E!LwKznJDI z)iRn*>U?V*OGk6o($wiPl1s`bqpPGmX7y4`4QzObd8}FVRwquMn6p}A7aCjH{t?SJ z+NXMAQxLvo63yW^pWrz>M_l!3Ze8ITdlR1iQ;5rzvqhi=`<_dFz6M%!xwys&Gxo|~ zz*|t8ze~^(Ur_3xuch1;Sb)FH?HkBegqPwZo$PtV{+$>1h+j`4)>nici;7Q2MKtZA_2c_I&Svz^?A zGnV;Xu{;b}*rnau-_Q_g8ocI5^7I4&ds-y2z|}PP%AYt1q=ij1nycCG8;;-+c_|t% z{)J2srv&a5?!%RSs|oiP&p{Kh22qgxORBBux&vwsO}eD_Br5reOKk&Rq=b7CD!tZp zuTyc8m(a`_k_YwTuynX2!$e|#3MyP8taJW`s2M5X%Y0ioW}crT=H^sH!_I#dk~n0J41cQ$O4r_*PGSI@u&#W7S*f za}LL2#&Oa;KqsQ7DT7$*dZ@l5)h&wFdBp1yaVtwlVn0u|e82J3J>iNU_sf8he#FD} z>7H`kE||mt3JZSIdyT7yEoUB|-s_vxQ>*j_&Pe_egK(Fhv3Xa3Zxp&K$f2$80>3ro!BcG^N`G%6>YV(C&Ur|rpfQzr^;M#n zkfdd48)yMLB3DW-Zeo4U|9M9jJAuP4zdh%C`Tb(e%=^we@8!9_&-*;4vI#N8kyzkH z^xhTt*`^ha1e8`80O7qc5v2}QB%;po-#K}z&AW3z&eJWTuIEj;FMrD2H01)wyDtai z-2~*_SsG9iSd%7{lBF_NL^W6fz5vFqK-2BYpKd496=|GPYy4k6*V6l)YggV}7hHa> zi{9s4|Eu(Y=32URu3ftv>G4>0y7S363n{s2_g+p`!L%Q}ysUC586ULCxH655C;nq( z{1GPON|uZ-nZUju=3TBz)MUwc&E;j4nv0v1s>G7XP0GT=5?fY@<&$y5?l^;~M+9V> zjMKDX0b)zVB`z|;6o@tY>ya)dzAv2iM2IpB2KJUN9_RHwjqIM?9sJT91{&Pg^ zx$#Nv_z6s9OFTWp+`dDI!a%d5g$E8TvY}Kxj+FDAE?2m2j--=Fr$U-4o5MauD&@#VTJ^SRyUA z9Z-h!(z@98ao8;1jJa3ci z2NO(0=1KIpl2(3`yZ{?ZiO7|R15b<6Ue5{dHpw?6B6E=k$AecRb7|oh&`$w}7Du3m z?Ewh(3M$HTbM+)q&zY$wGLKQKR1qPY5|R0$Ri!l1FkjxJETEqPg6r`=z?-c{BzWYB zE*2AAl9^~tOtdm(qCH}wX%V)V9x=rMdqX%XD43h4xtu9jx!PMKF$EL59_`2(m!)DQ zX7B}9%)(Y%adOhbVpfcE766fHasrE(_K|dLgFKKy%$-*dG&dFPiVPyl z)*#2Zr&(AeZBlNadok?60yA5!2u2H;o&kZ7g<}z1EjB5tE$Gta9446U9A^}7i5Hk+ zdRPR=e1K86VMu&rsDP8)WuF%AiVPK{!{a9=nO2rs0nA2#vx_99UCARZ>4Y?hjVxC? zyA<$D8ts~LCJgfFng#N?Kv1C>>h{l>L6OfOnBX%`lLV9rni5ka{Btu9exJR9cM|QO zxk)&Qyd-J}AgXrN(Dc+eg%2Jlr{T;y9>|A4@G1z%l@J;}5F(o1EsTqdf{g?UqyGy; zOgsKd5iv5)`CgdlxC|y1T!M+N%V8oAZz?LvbKe6K3ogM#7clW{f(=2;MV4bYgp>o^ zq+J|*vw``l7bIOemH`pz1Obc>K*Di4dtYXi^mARYoZknuAh z2+03-;z9J`J*bB=IE{D|zB}=dFC`w%_aq*UcOxE!mn9zZ2P7W53O_LMsF_ARE+HNe z$}-eLXdThQ_W>Jb?2w$5*cd+kldxgK1zR{uZ41W-fen{fZs#=EkO$K?#N@+9k*Hjl zgAF+Y8wHobhARgf&P!oKvSGt99X7;Ah6<;`MghTw`~hI&3HgJ=hKpgt3D|HFW05X_ z4Hv_PlR1kt?sZ-UFwC{ZoG=`@MJp~37(oV%*#BX`klqV0T+;xf;N1bE=u*It-V-of z?*h2#R!5h|?C^@j zkUle9%$h$44pvw~{0nIQi)3*XKtv@r(l!c+ku~X@fxI%2>^4NH?bnD*WH=ELQhO2T znWnzHPThWAnqf)=hLG9GP~=H-$y<`=JT~NrbX<1WXET>x%jXI_C6Fanz=wkKb18-a zX2K@SY3g_jCC2S3$)hgVUuHFGVRgG)m`%(zXlECv$`K@K3e2ImW+L0x>#j^HH#^A^ z^4@r698A8>`E2A_L=oDI(&R-?o3Y9{{vkU`tw_8OFaw&!=ztkIhWR4MCSY(rA=?MK1v&PyeY+pI<7A*L%h%HtBrfg0$mNc@Mr zzY;^lWoW1hX=?8RxM<0+>x3BFfEQg@_7L&`86s;CLBjn1kfOcOD4}y zDKGeLw=pOLbbghH$zXC1v@D+?G8||E&zOiIm7o>6o=BXUpDQZLhQe+wjB0d?yo8qb zdVt8td1U1}%yBU4U5G~Sy@7tb$XLl41v9DhXx+Utl12k>JaWE57Y7aWO4R)V$H+MX zx*{ap8n+W}5#-Gn0V}cLZZ9&A$s)s7eICT^6by{h?lFyqnQNFCSA!PB9);!o8T+Zm z0A|R)*3Gc4A=47EFrp-uTxH0%qEkA8baR=6dRf->W0AHsK*KfVt+Oy8?OM4j@>7Sg zle%Kbe%t&f=Vc{r<4|Iac_is66PaRT+MOnH#C{{U%SuCNM;gEfJeh=>fWHTP=JMjK zushET4VsOEU~1*`AZV_X5$FWDO;@@BZ~!og>ChtChLcuSsBE^z=f_+k6CB_Vmd1z; zhj50?oc;?L0)HE-;AY)>i^OybXZs_pXNk0B5x|tX{g$*Dco?#SEAR*(^91<8UP#lT zZeK_&pdJ*V9fAU~U-mhK$R#gi^LJ3o%r!(Vn#6^iP!Pfu0SiGzRW8BXPC@iSNYgcs zAT*bkjKC)}H~D5J@fF-Sywnk|jQm$8+Kft~6KzHp*oR1HC-B2(V-_{)MfS)AQ&Yat zQ(D%*LgMvRISMn#h;_`Be8WYrRN5)hG8q`r$Kn~slW%w!U}qd^Gs;OCYBM^V)#tVwTDXCq7N6iq9Gk%6h=VJm$3G}@;iL_oWS>q&_H2LLuxh`SjZ8K&H zL6k(i7&wDhMZz-TH{b}&axkD7r*m^ZA)r2*CBXCV0|9>E(@cQBL)E*edtKCQx6OM6 z0z9t4kH`+W4piv!u!*+I%Oq8>Wg@B8zkur6+_uZy$`pAFN#W#;m@jLwl)do~?+zU> zBL{#pVTN|W!v$-v2OnpSE}Mmn6SbMR^Iez2nHCfIR>AeDB|`)d;zW`3+h7P<+ERt{ zfW2?#a0Z6$kc~4mldCvvX>!I;} z3<#(+1}ivU3n^lm{eCF|}s zKK8oJuwj`9svxa%_~tX`m`e(;t8Xxy$7TF{sNJEeQ>~v|MW?by|7E&MuK2nX`G!Vot?K^@s0zWvTkhcci6emZN+=GKZ?X=@kiG@ zMkPwThi2zWWZtvl>;CQ0bSD)hhVhbuWQpnfN^=MM>Pk|Jt@z$2MUySrCZ!*UChxrK zk|r39dgPR=(nsD)ANi&|@;vw8tXrx1;)(&Y$z$vz zq~DMnZ<8EG@FD%c-|dtf=6&7`M;*&vTjo;5P(+DDCK5K_}H4}V}ug>$WvlpdBK09ZRINi5WoSoM99q|K)l`$l8xk}5v0$R4`t z;=!#_Cacoyo^a;m0Y-;IN%$}yKFFPVEXD}aAMDm#j?T}~)c0z}apWnJdFmtF zYb*YtUkeET$Cnu`DvqUYu}iieq>{I+_|`*&9>2HqPjOkSJkyF7AxauI29_go-B{^Y z*>Q9zvW-DyvB+K3y(4v<8TDB;pzpHPun}pi94p5rwlHJxnvso!6rt44%O;MR4s1Cu zY6cHL*ss0<2n$`G3u+*SEgn9X@lg>GPBkP>(-DgoJL{bGH*lRn_{a`xH7Q8 zrOuQ3bbNiOqjNuEgJ0knDmy9$QuiPXd*1*gN$(RqSJ$iGOWs=q14Y}6>q#Re7E=9n zco26VPJIIE<7z32nC{*&<*zbnl%8XoMueS9l+@47l|INB#`U;B-i~|Z^lha?OGK>w z+mxxX3*Tzz^Iv`rr1JNZoIbAugU!#7WLmuJ)E|yg3Aw9t4k>8}Q5Y*7?-X%W;$1Yp zaSp~gHulRu3MG-od8lGw{2^3X?Bk&KB9)EgRE*NaUNTCuSU>T0NhD8=tlGoMGpi5b5NM!Q_NHK7si9hY(*sz{G(_0fOX* zxY_3D*iRqN2H5X#vd{zFtv(xF9}-D2)^tluL?Y*eR(Vl=(4#Z!uO+~@yXnt$vm~#* zrN%kq6lVY^-72YzNh}+;93lXXs`es)*CzUsoo#}{onZ2eLA4h=xSAB9b)Q6R|IB9w zznTphf=~Ta%6+N~MpOQpk+f>k*Cs6)ah*Kl2sY7orst-m>i5px(~=fSkIb%7k6O%x zacq};s=bd%qa5s$(4j4Uvm^GU)K2(0<;J<_tJ!f@=6xJKQK`R%Zm0H>=!b}ojheUf ztB}Rp;y4l9RfznDDd-9S{$dh}#ygM?qk$v+xzlRjm*}o~g$Rt|am3cAKAJZSoL!Y4lLn+@TfB<+M_R-;)u4Oy98N8zrMnI* zoEz5aEg1~`i@YJZF=h8A)&98{jd7rJdt2XV{y^FcDfM^A>4M=SzMwgfF)AfR1ramstq4z#|fhR!WpsY;bd!ubbavfFqHK91X>vPzDd=;>N*>z0n zo@V1Mb9D1T8_zxb?7{Cyj!aJ8*7&nb6FO({dCiZGt3WW2wi75F`|VjKZm$v2Uu2O0 z=2#*Fu^BkuJ^r$={n*;E$ctF z+Od2k&2?pTZ1T~}Tqjt|Cv~1`^nAiva?Uu(xT3s!wv0f2wv1wKl9uny$FkU5AsoAc zXgZ6{vZnSzZ?5)gR%AAtt=4@k9n>;i`pZYNP+HEm9 zX(R#b*TN2S%Zsm9jjdCtPJD0r#n-J!sU!}Ne^BUMt!!it`wX{zQ;wT@*|<+Jn)qBf$*9C|GNHd3a=^Bs4Z!yMk1??QJ+;~~ zH4PuwO9s$7n{4)?_Ps4J>#$SURX)c7GlCj}O(xK1e3$p_e*hn_U_2%)Y1B%E8BQ@W z;ha3a#%{VM|1Z;8E0cl;b&SYtFBX6PB-oOu4HBE2PNc3`{na#G#4 z1bR5{oKxk>f(gjDPzKa^2OJzB}@}JN#8ozGJ;qW6`C@p1-~NX@+D72g zl8Klfx)VV3HziXe=7;U{DtEkyW9mvK!%8-dik&|tD1P{)StdxbI~ydqV%T8$yLzd% zuDD`!NcMo2#0O6_X4e=huVSR1j2ua2(Wf5!BjLIC0D81IR+L2!Cj;5Cv)0!EzN~+Da)rI9$ zNxa7m;n*XBesHX4PgKPFi2uo}9JV_3C+}71FjY$Z>T+d6wIak`Ez8BtB4+^2?OWLS zAs~f;C}jQ+gUaS;|2jHWR%G7lsoJg9C8I=HywP+gpeU62&k-N^@H>qMAZDuA?y|g_ zmQ&44P$H>ldI(C`;-BF|@;yFB=T&B1c7oDty);8j>8L$JBzjv*vDK|ag(O3NTp`2r>fR>&rEw-q+0Lv zEUAqgF*j)bINQmOn>E}?N4As8L4a}{g$7XTGkah}t7HpjO{|Orl(JhLWwqX_b8785 z^C5JrYCndf)}3#nnuvC1DI1mnu+UYyT#h-Tsgu@;j29kPkI(4wRSmsMhi@NKz62n> z>*}eA#EWyrlc%N{PhS7+qiI`XGKx5e!5!ugD}~q{bQpJe2x(#!=5h}wfr+k2uZ@kJ z>2o;#?2Z*t+vE~m4NC+B>GUWjpw6ATaz(Zbp+MYhK2dUq??7c9V`xwC0oNrhW;kZl zv`&QzuCS5woYb~--zE|cSZfsaCU93bY3qV3?2S5X-;flMJmOThEpB$nTR`PJP3aXZ zC}KaNF}@QbcTH+&sJ4ZndS#1f+*}H~ZKeMJ12-?k4FBG$F|~Hg4jUM@0nzs<)xFZrHO*)7jvhyqbuH@8QcKeACg-i$7Z zeaLFgLA35uSa&d`bsgBdM<%t0rJ<^G_o|EH1I|s$(uwF~BAQMeBb_m|yLoC-->h<) z4g6z z!DPoCCH84`dxKMgHP=#Zfv91%`=#VXr!k&TYSr!SPWFPZ8vM@Wd1s=bRtl$vtj3$u zR;=fOx_u`0sHoeic%UZj#06~}lyuVD7gj4T?g-YQ1n7u1Pe zR6wsd*pL}q1!Ll>3n@3#u*fQzw<~!Ube^d^r*5ybyvwD-Mo6=Ioa*+qoC4A6qRTKY zi>=^Vnj7h)6=aK-b-xo^)yYZOIQ^GF&6SvI#mbBL)|gBzgU3jvc}ppRLRq&UHdIN) za5epnMZoOiyRb(G+qa5++(lMsy>yrqe8?$QC~R=9Tn|l*J2@dIR!(9=kM4^2E}hzL zinPjZ>XFrO_XR5$wi<78TXG*lEl?%IkfPy9iMg~;vDugoFwgO~5Ik(B6MJ*+@u5kc zQ!S_ex3K>IVcTvTVWWB&7IhPQEfGOkc>@4JQ=fKz9cHBMy-wZ)BGIMd3>KsM8HUps zL-%bRrtLrRQ-_2dXdl6e@7^+;%V%d9g4agvqXs-Wz5Wp?8JkJc(MM|%OVX*gSQFY0 z^-b#eNHm(huLDM%dO|lTx?<&uvF~nRj)D^v><*FY%})kUapv~15A%?^eYS-VOOIWx zQoD~4Huh5=y&c&ODgfkr)fynvl60beGEtvSrK0#Kbzn8VOv|@o?Bn9&si&tNzW=8$ z;EOYTc^0FGMa-3;qcaG@@hS)w(=66IhZfsJ_r~853nyY9Z{Q0#RcQW@jrJlMKrX`K zhaI^vHJKzT2p|yiR1DZzBGkVb;C&Ac#$c^Ot`+9&wkGA}c=$(!7RIY#hTZmt8eM9v zcV)schz;9qizz*}%IFVr>1?=N@2{O$iei5fS6?r`=9e%02L zv7h2oA0O!C0D4sf7@c#h_%*+Wsjzh1_7(C;qt(P?)xPghuX_h#pC?!-cEmnz^2zs7 z=h_dCJsXFuJw_k<*;gJ*r@E~8!}w^&*w-G)6g=8a1%GbEgD7Z17bQNr)fpAdeJb1B z$H&U!8Pk2^>%w&3^c9%yOKE{vx7No#lx?^Q4O5l--{fAWZUsTbAbowKMzWLru5jz= z8|}Q>`r6hvs9F;yz?;~7C6Ff3dnIrv7klUvd5f9{HBT?=}MsTvytO8UZA5si6LQ`$l_a zS4U&(-DW*;uq~;p&HAps;n+vaj_#_{-5;uc>_KW}{Ve04{~c5Le&2AX8)o%rhdI;O zw`rcWM(Q1nl{`3cUFZA{; z9i{0GE!|O)?kG-o_^9R}*DR-=DH&bjWE1*(yO(XBoIayhL#{>(F0LL@jFu~;Ojz-k zK6@a&GHS**|B>eM!L2acjoo|mn`wFr5z~Y=@I7v<&?{0bvg0B0C%TQGHdeGKohBv> zSQ=YGFOD7gAIR7Es}E)JHNKr9DDhZZzI{|g)!OopDUsuA%OCiOVr}^~Ur?P_CMVNF zVG)rcEFw~5l7Gdz`KL?Vb@R`I4?4s@BibRB>HJFcwBAImuIWwB_n+r>um836s`6`0^PN1Eu~s9O{OY8dWE}j#}2yw z+wX`j9To$7U=97AqW`bi&kl(WaVJmGHFc=vWxA%$dS0UP@BKmai8_17|2)Un^cAMnUwmn?4~ zF3FU&ydqkg`%ST6p5IdaU*=|KZZnqnS+S}f8B>ILLgz6xV)38F;>VMmjBC(YjZN}C z>tZ@xF-q0r7sT))FL~*%{UtQf@=}2Q-uaS`;58^FFxIk@E0Ofx4u#e<6m{Oe@*KW6#xU*_~KagesXwBqh=XCnRNSkD*bWjU$=q6md<&WdL%G>Gr>*Zy=l|0dUq_^8CH)ZTxs85^ z^wiT2k)B2LL!{?s`XSQuX|?~>NwvReQr$LUcsLqi*od|o%zTW;zRQ0H_%9O~L?CN3 zn^MeV0s{~mpGHGlKAHOUD#+F4U(zfEm5Ex>n*@r?y|G>;xF zZ6gU_9v&@~Mo{d-7v|ygvD!Z>A%D0}+J`P*1J8*vL>=irgAquF^wBR9O6g~QB|(26 zwZ@Hiuc5*cwf~gbPmNLEOZ@xzWBMU<4NtG3%ElovnizfD5RSye4@RxvO#dD}a!{`J zQ<<1Z&gMfSwY(MnQ#9>7Ek*(}O&@ft{iiYfVoRClKV;O0bwc+mg)Hbbp2Dgm&%4V= z(7{}|#K_PZzGXbcYZq;WhC{?+$XN|n$G+dv$TG%Z01NT9h;8CEz0a6kvg>gTo5{qw zmch*2`KJhF-nkgDg*rdSF%_%gT|R=DcvrEb^HV0&uH^ZG4X-kcD{5k9Vu_Sk;!G@Y zC6>sEB?XBkg^49a<4@u%^&Yd_3RL*_nf1Olqn#Fel^fIKwSs? z<1|2nDl0UfGQ*d#*O+vz^13>T%esp3WS(@KCtB@Kn;kUO$DpeE_o@B+c%r5K`Y^9% z8ms9)P7UhE(RMP8sbkN2R4k_XD*>Eb!yh#Rnz6sFtXm@x?k2Dy{jtr}jm1h^%1!>W z$#ek*{U!zt__2rIFx!zJmF=?*8nFxKbNZX4QaJh1<+J!g%7PZG8i3KU+>bonLB; zuP37QXY@lv>vsAfqSZh@M6?#u4-u_}^s@#Lzhq7A4^MJZyyOw5AsLHGj74E%QLC|m zfqw%Nt_@7MHZb9u>Ew+LB6YMX_kEFGzee45Ks5A4b=yfRaHBrj<8wIlW6S2!-!s46 zK?BE$TdyV^w>_}c{^bkR{<{{6k00glTi#Ot81{pbugy*#nJpaz{_;83{=3$I##vtY zN&EaKSqJ4VETt|iphngpy(f2JslnS=TBc85A$SWfpnj?SoCS0z>#9^o+DSD_skcTu z9~*N^@6c6=6>#d*$46$cF9AC`WA9KO{K+C345^yEZ>Q4)7m!qg`mVsV{8q!yG}<$N8Y>(WpEj)O$I>AIvknNCY%(m|%tgGAfPrIRi=Z#Qa+ZmlJbsqR<4sH+ zD@?bw490CaIZ?3THAXM*+{FAulay$3CYoG{COOemkZ3AQG!=~>6)LT{%12aEx!#7v zVTQzGfJAApG-5{KXRDZQ=}_{G+5Qm&Y(*iklTMZ4n2qg&i}44q2Wj;mH9Lv{duCLT zPJvOH^eA(P4DmmL|~b-1G4BH3c$lvk27llJ*WXBtiVit6fj^zON?M^ z7%)XpR17$gj!NUC*U@bWfC_Zk3~E+j9)J$2AD~n^Z3X7gV;2HLwX;RKSlS1VS{Izw zuz9$-0uf}B=dZ|+q?rj775w1a#T$~Bl-`CzieCFYY<}gJg1IMdldSDrh{c$^!lr>< zcG?AO(HdBf`?EDBuE;G{6YP^d|557+{_e#q1TEg=#c4T(*3Wvp;_@#d@Q&g?O@NLU zrxeLkDePl{!bYZ0ShrBU-C5ZWf**)bucios%AQ_0H6cUvi?Y?JS3{OV^J)H3`+4tK z?OziXT)?4j8&vyOhV619Rz$mvxs%p@_==ebE_m2~NI!E^F+oXa4zWs)bV5HGr%}PR*b4C>T0On1lwf(_)Kf%; zQ01aDWXV-bSxYisW?o)z_d4uRx9zq|)c$C>{j?kuGV`<}ia=gepdUMNH6GBkoKUyz zGWMZI_ZB!D2=JqizWO3M`@Ihli8(7BmkyC=Fz}mdnpDvc48gKfVrK&hKFUNGWa%8J zg_G$FU+!c-^(SEKkWS)3O|c*?#v$B2v{@M1OQhXgh)u#0KVNe^Pve1(vItGYfkmHU z8WVKkbP7?xm5qcE)i_huS3SvONZ9O&8t@@QS}y1ZpeFV1vQ<7pc*Coe)qC_~m~%7u zg5KrHEr;uA4OwEW#@P-Rv980sKi}onqdqK&tBYgxiREyGG-*OQs;_cmSy&z?LUEBq zK?y!cg02F`dR<|3zuPrOX#(Mb^8#m{Fn{Vxoy)?Pve^!xkfp zJBtJHfnuP+Jjk+e8S)>cBI95dvl1%{Ij|4WhADWn67iLkGVz!<*xfdsdvQF(msnX~ zd8?*;ieD2bJYnpg{u$Yf{(+kF=zFjvE=9{y4s03}ZSty#l`ggKUZJC%bL8V^v%pV| z_@Bj3R?IlblR(dk0a`oeU~s$Z4-~5XUWwF&LV=JZK=d~jhLf+)-mnu$2o-ExAN|{T z1g0Za_mvJN@te5?01E2`4N?i-BD5UQM=L%F2mAT{!|d4cJl8}i^9ib3{xmY|plRgz9v z0gltnixOi742{QlI`Wv{!fx(!#7E)){gfN0{YUAy3o^6iT__6c>FI=VIGLVhbVpiA zMvR|R)V^JLXh1X2tFdP=t%<(cgW17pXQykkwi}#$fF!`#R*-}+KcAG*YuuO?b2X8k zLjNv+f7xoqtdaSY{sUg~9`62-w5zN}5kn+yT2|wgCZ!XgSkxQ|#f5d8{UhcDto z$`XlZPy((Xq!mg4M=wOU6t^^%t6eCz2Hk!0~O$2Ypl@sE}C1 zM~llup|Oj;CAbv;vT&1Jo>)WxnGyiGbqYXs34r|Or2q-bnb{R(VEitFfwxHQR|)}c zBgt216TlReSU+Mm5My$~V$^24a*SY&U?Z$8YB;Kc%rq(8a~XBAnRwM zv&1GC@%rHPSaLvOV-ZpFJ)|dy_u8H1ct*7RAQ5nV_-+s6oNs>w#HHnDButD;M=c1e zBu10O;NJ)7E*6O~?2%;H9?@7c#ut<4XBiEVO2&Jx)oKOdZ|U%#7BJSpU^P?iyO2*^ z8^sCk_@I}j2pM3^B^TI%G5D-m^A-`&ty$m_-U)wzux*9h{@wZj#%L}%si!e)NaoT` zEAm-~|DyT8ImQ*}1%aw5154WjyGU)&x)KCs!H2+21h4_S$bws<7Lel22P%3dG0&L_ zR5v7QIc!1h6rY=0GLkldl+{G76EIYu_7$cXdJ=iibEh_7;=oxx+~CC6DgX_RMD;fo z0RNh8umKGz0oCvjFS35jw2P{gunrHp1SF*eBH$^Ybw6u$v$pNl&oIFXRrpVdRSUA* z#K>RlAMuZfr=`4Lg`K@1@fBxGgkl?1^d;vQuR~AKT7bUQk{r=$t@02y)10%nt-ksK zJ}ogJAbu`udBPxeyxk;BDq0y%v1KP!O4I@CWF{axvocWAu3E_)zT8M1c+q)D@#~c z$<*7nhr};if?F9@``5OTz(oXHG_s!V&gy4)!b9c$lcW*_kz&Ye?Dikf&uqLNLKjN) z(N~Hb8E*%#eU#9rC!hQnmg**AH86>s_n-0)8T+JN#yQx$qyx5C*&+5q#5X(gB(#%u zVMaoO_Q6tG|7}q|%>|LODQdr~5A6SCI!#03U=;ngb#RsbCj5dxNN4r*d=fFFefpUP zRHh@PmiH$Aps|b39z%cJqmOP05OyDu&Psd;Hog;94)`{fmtjxy5Mk&61{D(BTsSRF zBG_VtD=aRv@A@tXH1SCXxDbMz&(GI=uh?Q7y;;tMI5k;PX5Wb%jx;Gk1YFz_7vs+y zF_fKtF6jG?sOO~@-T2S7yQ|x^pxSpDW_!Y{9hG|Hjwo}q=h=_nTIwN!YzB&G5rGfz zo_75}Llk|pVF&yp-SkF1Rw2~rNdMjqS6NAP+4pT!d`gwL%beAoTe^`56F2~IVW+e!?t^s z82bo0a~hgbL2o2(MZ^z98p(eLd?0bF1P9$i29fzI*rt#b`BorT9!`X6QzXF^d?38+ zlE;NCj^saaWyF#UjrLY0Ruq67!QN^drb(2uh4FJ5m&Q+Gar=)czu&0Ezo3p?+PMpo3IkmK6`^ga5AvyuL77obs@O5|G|T zaoK-B8t^9#RzP4o$~HulyRJlNQQ}E`D?K4PlC%`3KFTa>m|4~Uv#dQ*(vp#U%|i?~ z!tr9gz-ei>eQubT4V$(y?R5}p*V(jTv(W1Z$vcQ9)Dg$uMTAY%TN@>r0%Rupq^W}_ zVFwWc%PSgn>nDFVL*S#n=dNp5X(d=B?q5znr8bYGYa6Dmk~tM{3qi> zPP;(U_w2ud8NWOEn&LkI*`Z9VXo(eMQC6o%x0ed>MW;@0_Coyi5Bm36N}(;a32Nf7 z#WX=pN~9^&q$H1;IBc&H5Zt(!4yUmg)++^6!RR|8=tQy58W*>+zRA~p12zdk;&*=V zV2-BX0TDhyXNanlt9?m9Ri4-Q=wIWGh#4x<_vB#2^}NO>7@$&i?+99Vfpc2jv!P}j zmxld^{Ck19L=GBY17M3!p8PV*z;IL=w*vDamkEMG8o#i*(`!*S`out|cGQDf?Bj_% zgB47^Ia@!91=L5e3dC_>aUx<>iS?7lK^SZLEaI3^KZ+B5y7 zLUvl|=J2^CQ{TcV9B-L;oOvgHu9ROR3Gi3K;1ruerCJ4*dTN@%2^RdPv$BlaLU;}~ zIEm9LqyaPHa-1NRWzJ=vMLD@3Ej(D0up}MG7Oo02DM6&={%{y(@Jva4t8tu($|3#C z@N72f5N+CRj7fWlu}>8Idphkust@!mb0CMePakbBW1#l(%s)RL)Db3k#1Na%FFp;! z$g!%01Z0Qxk)M9vj@Ko^MJX=S0?91V38A;_r@GXobuXsV2rNa=4x_!MCx7th5rN$~VjcLX=Kv9M8RR?0J33+RyO-BPnw|)QIOjVeMZnQ~eK#bpVE&&?X2_G;fzZw4h$HCOwNX3__d01rZ!5!68AXhI1%t(6|Si5iFX zg8K_c~IfKB}jV3lnPq(9ElsSbb=af+l9bk}SHrI%<}J%b*0b&f+o zBl=bkpyXKD!hlZ_At-ahj%L6l$h;Ms?V$T8V4S%r30<^c-8&lCibn#OG^y_g(2#`J zqMrdoanKtGXYD&$q(jm{{S3fM021kE)B^?EOfcjE!XWRtNZ#W?1gM`404;qKFhwJ1 z1RMdK=u_vZv=PuHO<)6vcnKhfJ`Av;Hd^#ifR+`SE1l+$f5EvV(l!9lXb>$7UkBOc z5gY(kzyNQ0Of#^P=$F8L61*nC#skv}m(ApD0X7I;^5!xSaj$>ECb+~hjFF5jQRNDV zf>DB9u6zcNSmxxT4zvzs(~6+NH@Piuh211IlJ^>uao8iSFb-w5A8tx4E8+l9jR=aL z{}Db!Sq6XjJfWBR71ZDc0N@rTQa3#je8KK~{9J&ImPF$}BWV10r_lJ2pz$wB?9UgO zCW-!XipqK?A3yHZUJ;t#EBPA=w}pk?CN>nBhgJs^ z@%}9&d#)!wa9-cPy^MtdR$DT~>syVBqGhPH7m3CxRK*YTqlfoBA^EVwtR+{K!KFOl zM4%Y|pv_E5{O4IJ)v{7)sXYX>zbj8`J!d~f=cpuaZ{b|Fel*JZEW&#p2EC@aSN8iI zj=Z;pw5e=6PC9LWw1ew6a6mm!_zvkj&5z}k^x-eKfi2cm%(6TZ_U!`Fh_RR6cAs^F z1`9HcWA5epu=yKo_~B%qe&VSE>9m2QWpqbq8Iq22s4XGD1dN0Ffn7IJ14pG1{lMk{ z*yYh^%TXrw<@_mZ%)(RF19bq(l>fXzl-q6ZFAnftW19E7y%Ni!=QGs2(AJvy=HXUB zu)RXgtu0|w6kk6a7DZqKOss1`y0r}HemFzw1sA9V;V$)$#dpbEn$^acNY{3={LI%6 z=V{{}eqig>U@@M!SO>9v!==#9t7F*FT_mXa(;D0&iLx{b4YZIb`R{F=ga}}S2srjr z4#D8PPsCW=(LmK37(U;aZ4=5ChD8!O-(grh$gpV7Dj~gqMTo^d$eue8@2psetwau^ z02@}06+B^CxgM07$YK=0Lt1w;tIm6DP&v(@5-ZI|dFH=7N8~#b+1yPt|=b|lu1~ztuHm;R*?`TF%z>c&B!Ff11L*tHm zQsG-65ajPgGn9}OV4yE9ldmSNAVvuF7po4a9p~k@rT4pSEgtR>mWYBrEYtVf=zN$-s2P$(@g_H z@&_@8&)1aQCs72;K{3099L}>ElxJTpRQqlh^m@k>dhHeT`od*oa%2+B$>a?}CT}+o zO{|xY0R*fxE0gccQfHy2i}F<^wkTR6#BcF5Dg<)~03$*)-<>OKwcjA>Jg6U3JS>{} z`8bO{{9ziEe)c@{&7G&pSSc^oPn67rC0g8b*$xu%?L@F#6sE4oaa zMfAKQPf9Ce%|}8)YHyun8}2!?$1D;4@vv=J^%U zMBNd2d&ixw=QYJC!v2wnYc(-zVE-mKX%ZvV_b_-9kT9^501ZGVFmwZsS()5N(@iUa zGT?`QpS}kufXzin$^de9&Dm?kKI^~}fVnN}Hv+IptJ?!)Aw|>;pcn4}%pnpIlVbIi z2>Q7HkbeYh1VTQv5LQ-VJ6gd`Y+xJ)jJmpatkO@|pjZl%GXRv}Lps6k0RdC+fM!4@ zRc^Jxa)M+E;sFepLYQwR0e+P}DgbjXeGiO|^uish0G#yQRitt=R7wY7S(5fa+W~Yk zI?&evnNVH;nAG>6<-I`~0mr1_w=#sb?^p$}B<|C!kD}Akh;*7M|3S9uoR~(RfMne_zrEuO02AO^uo_vKU{MEG9G+{izHFCL!C!&Vjv z6Zeir;)J$W1U$^LZV~5#tX~kn>c7DJ>a8jK>JJy0Um-KL)vYy5(=SS#`T9kMS7{>J zkW6~FmStP^R@W_IW?y@VgXyQ(e`o|AE*Wm753|ovpd7xFR=@+MC7t%~F?LF${=ICY zJRq#!Ui(9~QA*BPqr}ttR{b=Nv)W~_h3jJ%2nu028DQ_BQ8=~e!~gB$1dyz55T=i_ z|K&;B46d+nSS(l^-)B@251W`UFb~`3J-P1WDJ6N`$x}#@*@?M3Dx5WLiNbFq^HlF( zEsM=Zw{)o6#^D!gj3-~64Ifd+r8I2AXsK;x>dxpM3=DN4);;)oV@pP%Ice0jn8KNBV@N#o z2yLXU+q5_4seZAo<;2BG3B|+3yUFN-y){^td0^``#TmZ2(cU~P&alpnP;aWcwR*Mh z)CJpmU&;spo>ZhCXD_YiwSY5gw{Ng+^XQX61L1N<3oQ&wesOvN{L0wlKh1~z@#Lug zG@%1%?45|oYGQ|vcpadd^o{YKvuX;kw*9saN{5K*-wB|X_E^dd5bpdZY@?|H1w=Z_ z(V^+ie^zWe(qtXxP|@A?zJP~%x{5v-6)L`)Xgv4|L!f>XFee?>&jKo;%`iN=rQ`Yu z8~y?U{=fsIKdJ09+|V+^H3y2t^o% zIr=bzpG)wVJQoV!hbLPW@(~S_ArW>9>VA(9i zya=v@c@~_RT)b?yDUu)3%b`nNX3G>x%S36O!XGM3rX>6VCWS17w|=?qrgcq=A&X=#D&)EAt> zkFvWdLZ_O_I9a(Xr4`o4{`)I1qJZ6j$?2zrkEKT+s8TVxtF8dO zyy5q(fx4yL*u|BYFu?TX64tgb{f6LuHs7WNVcdLUKoX8;0uyE#O(nM2%6H%Rt|$&j z?6}s1XvG0OE>X8*1<;txYca_YJ2h=n102)|aEQHg{`X_I+l_}dr zIkOp~WqH*=j+==GwlW4AtYWh`=6_=Eh1jxSWCt^htX?QrcY=|PFk}w{vWcBFH; zz$;o{YJ10jPyqWJ0K0!g8fH^jBky{Vb_BTgpC<*S5$;3!FreL-(9?i^=^`6U1-xH0 zPB6Tavd!=gE>*0L0A?})SlPT0w90+0wkSw{Mh6`ZM`0g!Sh%JuUMwp0kPgsuaiq%s6S8Uatk zOVnI511|%pFsK7e%NlG@t%OBbKPo_#70xiRyHz;9$WVF)P%52fUU-<8+$zAUbXpK_ z0BEJbdo0sfkRYw|SQ`pvIM6h@JI4m#a+vTgDV1!1E*JWYSIen0Ts|AA0-(=a?qzVV z0Pkr`+4z`~V|>MzDmC*myDJly+m46sR%&mOPtn~3(<*&8#v`=0?rG-6d4gS)WOwoN z3T80t6<-QZEh@|u2||#^VCP`3iMbq9NQIaei`Y3^X8c@;lL`?ZdqVKBz!X0Al;C5n zf{#V>eGvs8yK@R3Lk6-2_$}sZS`K0U6VK|IQRQ6HnPVmO12AFh1F!*Gu`Ag$Z5;O> z;Z2XBqS7Jh6tRBy1j*n?gagg%fj4P-5AoE-1oQM$ z?HQlqV;^9aFe~o<$miGss7QOLr@Nm#${}*=^?~`nWFw^FL*MsEJGp(O?@l%z1lhdk zb_uo%e_vPv6@B2xME|6uOQe0l{IWlkK7dhhTCb4p$X1-ON*39gQ&{ZxXB55zS-*l3 zTdNzeS(&ZC32UUy^l~l-lyd2A(Ikja=?3M80)%FW_3ds^rz_~f;oyUw_Xpu(vd?AOn0t!MAm0(=Z zc=u+IdetZlt>u+$TkN!Ap9-6y#vXk)qtO76MjFu%0`QFnj_nm>Qv{V;EA15D#RyaaVEA>Kg9SFyU;Ejz#i}}Mi?}31_;9;wo3Je z3+;?HyK%)RL!c;~V#GPbqZOp7UOK9eGRn|e06}TS+QBNv^fAVJ0ajsYoW$Qsxc(Cf z$(%%C?pkOAT9{7`;9!Y;c%U>BNGZAejwJ$1^ihY zovE2+BX2O@_rIpV#^CHz{uaJcgM=OI^9f};|D8f(kC}A<%|2&2Wzh^{gee~5bhd9$ zXc9FbVeYcLl6X3tebKG5F)|d)^~}N9O|ii8?wz zNk6TQ&Jz0RaCCkc?#J8qC0}(KGmRxB#*(nHq;))Cd-^Gwx^0qFS{w_~OOkKSAx6h; zdmt-kuC2!TEDdGEr-{Ebi>{f|0@5gr7!t=bz=B8_3=K{9pxcPqaeu&s-K-IF(&Y!;)lmQek`;6KE zMH8M^nh&%O+jzXiM!JKwd7;CNI2#I0!YQF6SU=)NlZtUqEAJ8K>d-V%r47mKeRwgB zu?))bi?pz-Cpp@ceZ0JwR*X*$1~s!@HoZS~J$bsjqVLDpcwnKFmEWk#yV&+~hy2cX%;XJp8U=%%DWi z6ik>jnLkN%*Hz53LvulIu>gjum{n<#CF6b8=Fd1tNMsh^PM-fzULX)lIp%PbIFjS@ z=$6mTEpcJ8sJiI=hjP7N!f8eQ=PhM#_8ofaOv@S$Nr#ZX;9rGf{dcAuT0(GkM4Y~J z+QFq(KJE4#4)gny#=iI)e~eE$)!v_jxt=G?00Om{_juHPrHyM{+UQ;S{g<7z(=Zj$JTO~qpu?xlLiafICi;F*n&@tm9@c*;HsgyVzG_&I{6 zYl$9IoUtOTgsw89vZ*{nETg?|wDWp~9E~C88ipC4S!p$S*p;~;=VUfF^#y{DQG8in zRgCT?--LFHbG+Q`i+Y#BeLZ0Y_)G^W5Rc#NAn;C3c*NiSjy>P5hLLKm z@-u`8HO`Gafq2%t)c6}Gt=g+#*7_{!P`M<^H=+EZwD!YhkqAvV2VX8SR{6}LCJ~>%-r!_P@hnb4`&otr((N zG>YKJTGQAM6t)1BqE#xRmKJg@XDIS@rxDreeGvX9t=$RW6z0HmA-MDYBQwNAWnIAz%$k8k~wau zCC{{x4DE9^#k6Fukz*guglFVAC^Wi!nHY`HRamR0m1Fl!vRY7{>1!$XH40@rU__zm z292m_-DbVpRWC1(Cl%x|@J5@)_Rr)~=EVXY z-TtKwsRQQX;Lzfr{ibG$G{;f5D=J&7mE|kwtuM?(>{gF|4f1fhQ@_lHaHUy!qX4sV z%ivuiawYL$A35j_RA~8mw;Q^(Ql9#|F!eJ8 zrTgv#@4uE(YXcvRA2~8*JpakTteSY=gW)Zi_dghj#)xeEITs-7@A~h`L^duryJWL2 zLLh%tywcG*mvF_5Dmb;gtzIVeX|EX$q+T`a>Z!)Hs4;&^jpS=Z$ybXq_5PhCgWem7 z6{PQLSg{h(^T&FNIIeav=8t+>HFob66{Ba*Fu&*EluA1HMn=w!82T zh40!0=f(Heg$JjGgZ`$(`LBO|S1zVDRA#sl5RbM4PA`@3n^|2;-9x{#z&0-r*vwjA zRYa@5=PFmNrwSvv!dz2ajfgc5eU^I5sdVB!rFm~J&U>2^KK>80)?I-t@uW!9B2|JH zO8^&+m7c1D>sFXc5jUx}xN47j+laZ;Cyo1eR}HF52hEkTe^1o`^|ryjfu02%`wNkP zvCox8UWj?=;1hIF-jrS$L^SR-2q|1FA$IrQXC_8;e=X;8OhN5deun2|wH~#8(5UrQ z9HZX7Ti;Ymg(CQV`lmkf`$-(MevdwuPwV4%Xd3J9y^d&eJ<->wBUXCZ1)$Zq$U3|!vvOivK!NH5S0DZzx>xh+2;Xeul=u~ ztcRgYaE1SC0qs4yr&=@KKdk-ce>1Foj`|L{*zP|K)<5LmiA^~x#9+rD_qpg|P%|Go za&vr09^3mdCTFQv|6|bBz|gid3vG!EwC%V6X#3=I3~gi7p}#;StlLV#4 zrm@40j1aP`^E&!a(-joKN0a$FMb*tnZ}nI_sQ9S;kSbFM#=M6ksE51QO-j}{T}S!4|8626zjq_nkfmh4R4nCY>@-(5YM$7l zOyrn~;c7)&2k#ZP8F&P#D;BBSyFcrYNO?~EJ|5DtX+^afiDdOnFzzi$r=AO^z6Oyv zCyH^uGKok;_re|Ka!%i4J|LS*+~)P1Ub%sTPjXM2S>Qw}E)7{vV4LI=CE^sT=;{sX z_KJ8C_EWiry7n1|y8Z4+b$gJ#-KDd1m&TnmX`D>dq*MQj1Sx+rwQK)oV%v!G@0cW0 zSMi4T{jzzBn=N<`bU^LE!S9N6HKB=WjbaS-2;tX|joj40UVrtb@|-~(R(@tigPCo+ z`s~fcP*xl?FO0^bQ0i>HYIaA1=z;)3TydLRFf(X>+ z!o~m+mGEIYQXQ!f+McKyu#dV>1-LnS`At#4PQ{63>Du@kDy%>$13jy&A#vY`mXB+~ zXb}{XQjuP1>|*hGtG!TGqeHIl=~{O+k`zOK_vX?dM}CeyH>EE1n~c0V6;c;WfmD`d zZy)PC2WbE0(+us8o4p#FKkB>8r~XYGHdBx&fK6STP!!qUch?&t1-%0Li!HNyD>4J2 zSCJiFIr~exYN`H#hS+qfg**yT&TU4mBR5+*xOMEAtC>7;S{6mM)?jpxYe?f~c0Up^ zgG?iAbKWpg8?Wcu?>sv1nF8!c}M zT3;p+2mNw7GE+|Q4t1?ZT=D4(X~1@#SiE=zoMr0UtvW&umY4M&moy)MBRRcy4?#cxk247dmK1?AEhh&dfDUEV;o>?3h-aJ z;WX1I!^Sxr({D56`6ixrbHK_Vwg)g?X$V*LIdr$w&0AZZbOY}Om5<+%28-9wfViw=8@u_JmX7WmLrRILuIJ&-(72zbGAgYbD(>uV0SI5i^7Q#Q-2@`UOA zp&8p4%!EWG$q7r^&h06P+IB=!bn&` zcxT{99FmGE4&_FUv5J|9zp6@&Yz=d#{y9AUWs#PzcySmxCF{z^Kc3FZ*RkTcNg6f_ zGfe^|4~Ut-G&W0WWCSx=$6-&?YrBvz1Xi{!@LpQZ80toPa8AKlE>gxQwzWm6uI*B- zQ}&G+*;rz`xp6KN4?&oZle+*FVsp$omUlPEi8S62cbNn<8Ne1a+G9l=lNk^2f=PNV zlE>`SsrsZiSmUW`CkgB^+<~C=%%fQy8EG$&Y5PzL&3h`&d!u8oci6eDGA|?q*aHF-;(5!8SJ_k zf2Hgt7%DVtgMCge03_k$*+d&E^#Lb!sX&?(%fap@hWxX-c-qtX@5s3nMlLD9iif&U z+_}@Z)f?X_^ZX)bSA2cMVa2chQw+P2M`4fj@6Hpj*LGAKBM_0R*L1C0uzWd0Xm2{U zEwXs*BR;XW%VKNB7Fy1>E@9@%PxM6k&uP|we#k5L6v@wbnv3Pt&8wvq$OO6dw#Sgm z(&%G;LJuVB4>GEJ&54eMg}f&+LK;yezOGB|DKQs2#8+>^SCORICyT2U+<^`2S^-~q z6|1rp*<&zM(d5rs-CEH4$pM<}=U~u#`yUM6<-wwIK239R7rQkqZe=NGalm{$-twuJ z0LekRe1$H}-uNp4euBJ#A*)H^WVOZtVqo&RLUr5VqSPM%4C`g%aOy}rEp--~D;y%t zBjjDWF=~9-j#UisE(N_IulrLzyS?qK5!w(=9W&+|yCC;@xE!r(@pS>GvAdJV_~sz* z2!=KqC%<*}bLRXS`Y^uQGc0l?E1A@g6~n1tfM(Ksy6B^wkll<9pV?GmM2pQP4L0ef zQX{H~6xd&cN-~=+{#?u>RTUYrC1k{=^@K&Hvuh>a!&aaPDwav~CRZ=+B56^zo^-HD z7ztrZY?@Ro>Lhr+(eG{!1IH#~ND{u0b9`il9#;{sTlYoN&fMfPL^`Yz+rzgMYVkUM z1=3P^)?LL``vxwNUCKsdKMB2ogfhP-^;?Muerhic25g|VKz%^ih(DI3zRB?xNn#sc zEV2oEjSdfoa_jIKV`EoL5Z)$Ie|iOEeh&Veyk{K!Wwc@gH!6|o#` zrn_xX%++SNZ;KDQQZLk|p5%N_8D!ge9LQGsq#%<#Zx0F`!^=8E*oPf$)~H1+{2H0( z8Ul0;(I^t(WX-HmcuH$L>LUYKoRDS(Gw#o&$u|pe)Z#DCP4fARc9Eu#WbyUYV7;dD zbz>LD$$)=LF%8+fzPK$Oy4w-Eg4a--P?wGQ>#s=tMQ!Rgb@83yRDTT?t>;IeVOEIG z1m?H=C-2tse9`i3w9HaclbrI@rhdnb?pQ*N%Imh9UL-YB)JLEMq2C9SuNNAJICCI> z3tm7nve&GyV!GfZS3;kHOiyK=^`GX}m1n4R4kg9I=(dM(KZX(GVJOB*C8gG-epj0sS`t4N zuJ&r{epUst|Hxm9^)Lp-GQh7%wgOjh^MAt4Q=2a38RSD8=efHYiO^$n4Fnf+qY=WXyl+D-sF)2PVH3;#Y>uiqG9!1!-AorjZA?1xFSNC zH4Vr@L^`4ROi)<^J2ggdR4$tzn4VQ3=%w}75+6&pmkna`g9(S7HIOuQ*-h<(7n#cf zmWh>HM@X{8NFuXG8FrYx-{2#W!>MA3@YE-}6i!TXwp87AfYvT`4b`b!Ux*h|vZ%17 zf(qqt7=v(ejj#|e5?Ka0yDB!XRs~2RqVBEx2y{JooV&|F737WTwlQ_vF=?C{rUyM& zXUcsz4Ut!_ZabNpk4PN!ZK_D$=JKrsfK=xUe>d!Ac=FJo;Y|+aX|4%aKWPzP4*n4N z#&;pL0d>5XxH7#co#G)C)0cDQa8FY*Z{jy?U zs8>cg05Cove-_~xI#bjTTlTD8?G+a`8G6jtG>gso$ehZdki9q_LwIH!Qn#I+isd-nY2GKZ(aQT6E%h8)3;$UI zo;<~8{D*=N|ECNx~ zNRxmVa1-+6nSjJRfDK_6s0D&uQu+AY%Dw1qZ}oa<)qB0_y`{xctk!N4NB}_sA%GGf zJQBXJAmNeMlHL8!%sIQ+4N&8wt^Jq$eqZK$oHJ+6oS8W@bI$iI1iqu$Z(8WXPw4PK z8(!ZB)IjGWE6!*ztVPpHWul}*>^CklB9|n0MUw_Jmp%Xv@iPisMWY5k=C%SR^n(@6 zVHGFC?V31L7M!V})FhtM#qVLx#8BTZzCZ-gy?yO!o>jt6ijKyxM0^k{GHyR^@ZfJZ z8VwKW)~_5O>DGe}VniQA4S`iCW}00Z>v5Yy4<1RRtwsYOY6^^Ry7f;uzTm!(i&FDG zn$SCeN7>f3AQurWlRRQ!v>m7q*qI!|qX!MqN;{8YD;h&-Iv;P0+lkH)|DcXG)UYYe zfggHeTVleK@}-yw3ARp+^&%K^pyb&u5|_QnHVqKs(O4Z|-x~V)eiBUl%rDPkau0({ zoR%vQ?&;Uj7a;9xxCa<5kA9OfgP@xlqj(ofPm-rIT4t^rYO4-iH`U`f8@evp%eL%y zw16M96Z{`(FW7o;iLg_Y?a-*b>Kf|6`1Sd=M^#q67o-(`eLF_UbKy<^uf~`!hr_Ht z2~&wLC$*IFXfhy|xCTE1%KcBC=jJ9mk-JE!6a2a8itmaix-d^fC3)h<_l%-YTIo%| zErK(PF)1kFSF7-w(8+E%EuiJ%5_NGk<~$bQ6}q^~QRg1wA4+HTU-P%m@h9@=tM!^q z692x+i~cLhn#v_nw&g~Z1wTPt0Ftu+n6n(T9?YuS%fF|iPA6A81(RSPK(Wr-@h*PQ zjYOpiaLlxW0{O`+GHAPP{* z9=~IjXv7~Jj^Xl%18<^r47O$+3XTEqT5zW_zA3=|tO>CvsxeEeujtgUKN|+vQ-Y|En+E=?$=y)6%;QjQk;yyenPgn7Ec6$&n*dM}{hvS!K<1EI8apscY! z48!*aWbTSRWuM?(i`q4lZAsL7N1&YM3ez+`zZjhp3wcO0`- zYMyl^hT`unOV8`KVrt}2$8qW1aS3qGc_MrEoGSkFx1`fG37D=CzkK^&C(v8#|Ek!S zL3`FgnJJTGTa~Sn%`geJq4Xwa{@R2;ldy#iqtnRUvaV@cy?(;YVW&bIK3#Bky539C*fTLwERlgcGT<{| z7nOk*c}|w68YmxPUyh+%1Uj`VbL2$vW6}|2!)4kJ8Mi;KT`q`>Z(B70H!!m&cd#eh zCfFQN7<^iroOdHfp;&vIBYr}Jw4F^UieOLfO14!-VMrt?R;7HWbs)wxaqTVfIBJh+ zVC?0`bkanf{Fp(SXpq%XxcrzF1>rFmBt4cuKF~Y#68~~N`V9Bt8dE|HcqQ_?HuRq` zwzh93hiZW_8seS*liwkSmwp2$RY&idq+-;C@jwi{(0DS0$`u;qH8ygo@LS%6`0C3z zG>!OHW~7W^Vgd_8+%DPE+7@C381B8t*22H#Q-pVe@6 zBL;sS1oJMswVJWPkC)>LLhN67j&8x|z~{-L0J4>>8L9Tk4-DjJF?;aEmjqmoi4nJa zxz=&Ano=0V+VRM3&W2mE$2mVlSw8 zem}yl*{&J;}E)i-4zgZ5$kw)owJ%4V} zh@Gp?x~X$&>j5zl&@ZuP%ZqYt?(p6=9*vgsj%VF{F!I>D&S>udS`geL^5?a z8Ck-`EJX7G2yk*qn4AgWzYc#$-kS!NCyJ61QY&U5mvjc0Yg)&GIZ(Z0(!Y0fRb}E5 zmwhUJep4&$z%ke{dqgemZBC>B1>c*CvKxFq)q>x*(Azc7mY-jB8@?{$(8#6T_>m8J zdH0mduRG81nI9t?#EkK4#fk9Cufx=v73ZLw4@7mB- zmzCqDCFQnPfweZg1AMXD>YuFjnv{+2HG64qisf5rY4#0O@9y=cnUr0=yVh{qYgj`~ zRZdftg*{bLd5u)4^7GzRLa9m{ReA8btvuDcN$VctyNZ^o7^upDt-dNz z0j+p^cdY|zsP{DFSj$MYUhSzB(9n*+TDwIp%>LrGl--As%in*Ab6F`zcWwisZm-l@ zZfUo5f;uvC{4M>YT3e%BZ7EBrUO8Mr@4Ky3Z|!=o{5I0wu^oG9`IaExYQUXJwBwbI#Uc zOOrR(YQ-xd{L{~o9o0nkU~tV!O1zu!C$p71p9aft8+fypA%V9KQN@OT6&3IAV?`9FN2uzrpsM_S zKtIURbktx!@CzcAI|UN!;LKESX|$leHjg@W209gZ`}UdCsTpWvpot^(*u*1Wt_k;? z>o&1;y1$8O$}`l!(SH%$|H0K>-B-D9z_-V!;_JSOE?3_wk{x&{9dq=)D*#02YM zqF)bJypB4v;E!An7yLI~MSjTjFy<}1T2aCE@Z39i)v%50;XA(}{oTR!aQCaEhnu+` ze()>O(LeOk!=Zw9>mbs#7_NYNRKQz$?$q)XU|mnx5PJYSwPF3|b!vgXQ@URhIe*}t z+D%>j;E%jhA5a$;e8@Ysg1Wf7f_G~C|Ke55cHXI&SMaL)H@s7k|A|-cZ2szA*5nP?JB z%B?Sftm{$MZxMI?^MxQy`WHfc94S{`rj21~JCG zx;JBvE)U}PU4-~2eL$=WLi}G#dLw?<9E7;K77>r=17dv;;{PoI#P@a7XoN->f}YNq z&zlYLH|x&zH;X@GtWsr2jka?d+v!e8W0acg^IJ{RGP4wH@Y$+gK5tezHFBh}N}6>} zo}?|`$<{m#er>9}TqjS`%VXs^8aYdAAN@0Xq--~=%aNBGAnwCW-1x;a`-1PO)|;}@ zre&teW8^#K!SbVW(m7_nmzf7J>uF~7vc(6qY;i|8GjC%@n%LrcEjv=d7VpzC_ZjBC zz}z*=y_cB}F!NF7KF!?cnYopjyO`U-+&fv*#@E5_u%7C4dfVq#dr}wj`k1#io&&+kq{1H)kh%MO%*XLN?30By`=2o$}&1`PHtxH?_T~-#(%AVG;vMjx= zMQd4NtJd18w6;pEttO&n8hWDV?YhTpUHa0&zM|$zTZ`USqj%nl7<72sybUVbYP4*X z!`7uKWl}g>QX7R=EgD;m#?}>5s>_$cD->uX1b-{NOI@m68*Zn~^*OU=OrMi&tJc`6 zG#IedXeO~2YEX)o&6zzzIyZAxm2=?wp1;2&uVt9=5E$z(WC8=#@xgW9I3(QbcYRSfJ+3$Rhk_RAxLwps?mCSscq)<;%NYYwGQm92K3}vgruPcD< z!2&p-Z}RuYH8<_$H&_00PqN(YEEix0g&W+1!1?UJhqv6Z>c{c~SGpUiNZ0GdKF|WuxC-9*DxLzp=d>@ROVN@|!EK!d`;Z zR8#&B74)>uKZNCur-{jD< zUUxsijU0m9=A+=konMG2Z;B_U@JSQ=D+Ue}0|&aGtuDZ8zK?U0IO%7g8@TD-lMjLn z2k^xWwcJqa>HTmVfpetYjkG@vb)N=K=2pUS0*<4CtDQhMU@5$k&z2kyfqxC~&s+z` zN1{iE;N~ZI^BmlOs)a52tfX@)+}NED!8{x=dPSeWO%L7#a^_xw0~k@XFP|*{0&lEjg?uuQwlJ zFZ6a>G)30*jebBc%mfh61oBDQB-~Lwm z_STYX_3d!q{Hx#I$iKR&Z{J{jv$VtE6?zAK$OWy+1)9yZLhq3C7vUVR7Pi6pVNjh4 zu1{tcoC7@=!|F>X3)Q(TP<66E^3RmTI)?=6PgWHCD~q+&B#;u#3{s-KAhoCw!+NO? z(1(F8X-2RDQTnAvfkH@uKrg~ke?T9vs~lOql%ucyU&+n+=$}eIa-k2o+u=ZYhdIdH z4Rk}H!dBmWbl5i^IRoaSqj+-%+<>Zu&|pb7PCW|f%PBZu)QXP!=A#xd9|7x%>R}#g z6!X!p-t*CLpHe-^=cD01eR{Ib^U?4Cg*p*59}VZ~bShvz8t$Ku8vOIoaQ}SNfb&t~ zU)}#(cym7br_wk7e1v)jJ>R_~xVGU-NwAD!i#5|D5^(b5SnnLatlPP0*h_m_`b* zk1z^(SK%CDAM7sCP&J$VV(SFj+}IwnSa2{53&n8ne_-;d^sFfnhGxB z_9k-;E9hdm70i8^xlb|oRpzEuC-VX3ZpSqf^IqIE;`ZX2Nz*3d{kTN3k%O&~1XdGp zZyHTtBZ0-uYFadLZ{>Ga^Sfu%v}odPqtz1rzYAL|vns4?Wh*Ycnq6Y;we8IqtkkxN zKwcdyyb40j?`90O$2aRq_kNN0?zMl<#%xz<&2&cf5wUrv91=@RfkJ6n?jto zk-cE%Bxp9HlbPo$c!QZAVb*rG_@I^@>0pZwX>qH9`BU8B#n*PkvdTf`KJHsqX~wmt zuWQrTeZiZ?*cuB;XibEzTI<=t%JB_*zR=S0U60qh{;#xu48npNt+zCRK*~v4d8JOC z(j#*#4PchR^h&3)Qm2`e2T+l!5xw*S>Brs5_wagKBw+lU{S$%mzAN{pyx)}fe;#@N zbk?=<{=J*>{!NniFTKff)O9vlP6p>fhYFt03*MyJcYFP{?$`WA*z1wmH|_N|T;9L*CeKmV+2r}T_PX!8 zJiih4x+vqO{QhIe?-$=BI_f%`L_b%4`@T!`8zH}MrQMX@e+>Ek;+srIU1yVNU*xxs zyG;M)^6SfY*9N}-`DBm$?iTWU_qF>Iu94r}`5?e>JeUt6oDVXbk3!6s6$&o$Em^p% zP=M*wihPh|I8MQF6%Mh?fJtq4J5Oqx_wubGZZA)2H*K0p3E-xU0&Y#=a5abSO)EIu z$RS9#$ZET{iYKeZlQU|O)poauWVR1>aazi(weW9cBVQ=QMM2+UVcVMv2uIr{4)f~Z z{#8tLi~Cy_h;;Sy9B$%}GS(pYnCcc!wu&c|>OO-BZQwxhp?r{kIO-^)4jM4TzEA}; zBq1>wnDU)pyB_{O0xSkjfePe<4&^wt`T6Y{(jc3Z2;&uhF4}XXKa{-z2{J!d|wL4f}=XZYzeSI+HroP_P*PHtK zkD{;ZCS9wqAN9dMys5AM*!ueQZIey=vfE_ydX#X0*RO=X`r5Y3qP~S+e}7(|^lN)B z{rdfv(XWw7H|N8DM*aFbZ?jGLV%u!{JRkn8_S^p5=EG+myEz~JGwSQtw@o+g%Wl*C z{Q2;!ZP!J88~*p65AS&7rhffX>(^J_=9~6qxA}g)etos=zNlYg|K9rb#|Llf*FUv> zedTS!z4fcl+l2e3UtfN^@ZV6sntBwfaI8|1b?IT=wT3Wu!GUW#OAd`=M;@^`!flP6wodJ`TX4;1Njuye;~XHLXXd3^ zx-{Ry%=?)66Sm|M+^Ews=ON}ihF@br4CWIocLytIWahKD)LEb~^JSKMm=(0Ldifn( zxT=4RfP2F$1m5Q0<<|*p=3pOlpJR*nhp@%=b6;VL>)`4j9GA6haXYkH$DE(B zvSGN=X;ZZL*^(MP(9NF1Un<5QrWp@#Hs7*cqj{XY;Pr@akIbsFFTLjbvqA5_jR|;v zL8_D|5KnjDFP=;$p8g3>OZDTQ9HqoImr z?j6V@cP;X!Yyc}O(h@V4Y1xsz?8qTjHl>l3WhgUx1~iJAvg~9_F2>>z9+?bfv!L3P zRw&u&EMVpzYMJ?QI5M?gn5-arChLKq2)^ZFSp+q>k7Z`um+HZNCA72Zax5-- znhyZU*dHMBDsxuivZwhRCldEsLE$9&kK9A*%-xy;tsYU|W5V|_QucbdT$$^~Di0OquM`5gHL^{;X0 z-msg)w*`E;fy2!LLbGm|@4+JDD?;$k4Me!X`vj|u4g&tWj4xxg!#^kZ6;ALo%7*2W zr>f|=1V9Jbb0dXu9@5J=?*~aGp0BsRdr#o^!F~RtBQXCF+hdwn3w*@no4>Sy( zdk5#DyO#5=42HL?NG}+*3{H-KpK}BTv}_6pNLfbhj2_8|EXpzbqgMl=Eiktz-uSN-<@gfHF?8B_Hej60;Axtl z#uE?Et?(S_)myj+i;=~W!^8ya4fwFmO76p=ugrTxsZ*?Zgn9$)bmDt-WwYR{eseFT z`+8#&@O{yXw*>^u_^KZ74R*lo5qf&a*FTsv@^RLHcA)Rh?a&n1h_Z?L8K{;O^tv1< zXJwR6KexNNe%jsF%p8C0CKc_;cM5ZTm+fSurI?%Qr>>bVpub@}YRH8VD**W|gNO}1 zY$eJvl4O$y6uA&I6ddtM)SOs+KEPHDlqER-D4*|{J>I~%BXGVz0@#|hD!&O{sp>Jo z0dvN6NC6!$dqN*X)0pegG!1E*5gSaM4ymh3KmuQ1A2@%=eD=@!dLLH81%sId@uBAfFU${jSi>5}gMVSd~ z(d=AAm$#EJmYxt;cXG^Za>BbTZ$HaB!Z)Fvg2(&e(GfWQbv2L*MSkfZ2;L+3jjZyQ zjC};h$yXV3!XZb3KtriLzob2ios2cX(+W7+;Az*Zpxxj(CA9)EdLSm2Em~v(;!1AR zYFZQ^o1P0)ohPE31kvXO(Qj?!RIO{|RGnnz?Tqac)SQ5JtALVSjMc;G9=NrE6KFon z*fzMd89BW#kLK{T7!D7=#aJU$`Q(?hwXlYG z6)SB6kG=z)Ycs?t=2>Dyy6{~JwhKx(z~KU%=K$vhj`K7tJpedAeU*XwcG3H)jMcvcDF`1)bWurq_+4#^I6w_*9 zNOLiAy~SsHgMU9o_(yLv2HBJB;l1q%K7TKyw>@FyYiK}{A#efZcP2yR0z%+SHUZ29 zSb{;(yq#>-j&g@}1`0{x4l*^MUuYage!@mN*w8AL6T+f*u;^MAeVA1{RIGYu2CLrx z7OOtuWh27b2rxe*K8L)MDrkg;OXjV!u_&8%cIKVsP@S+ zDx2AYSZ3C-=#QD9gWa|lF&MV9+m5p6mB6Kiyz3)owIZXSTJ%wt?PA&IhJwI6$%;Q>gWK5PPByBEjZ)aCb~eh(ikn&S1vYOxo41=q&jRYf+C^_BggBf| z9HQ(`S@v!=^DLVQ^c`b4AG4g#SWYz?e3cE}C-9HzV53~D_#i7j&IUKJ!L4l6c{Zw% zjk>}{d1zny8D`%63R%56Hm`|wSF`SqS@%KK-HdZaZUt`9#~A$pD`>z?<9U^=@GNG5 z@YS^ra$%}i(MQbOMAKfg&pv9vKI%d-dpbwQ%3|Qkh}II*A0P{Ndjc~YH;5;D*~{p= z`)V(L4(FHIs;PSTml*~BX2-(6`~>*7$OQkE=EA>KCE#rDf}??lG){=IoDlFh_vC{y z&F9t>OM^d}2firUg#b)Iv%eXRuVO=wtBI^IBn_#`M1p4La`bsSsfm2DDA3LfxXuID zHt&dUZ2+vzjQwoJ5ubtleAD>O=V=8Jq4)8JSTnWcM$N*#^McGKADQQYOuym#0w(XB zK+XDqYgPl-tlj@VnY`jJYV!JS@jiEKzl_EEisK@mqab)G$_}`3__&K@16?io;KSvk z!v!Z*`RH&O5DHqFx$XkYWaK41J;;tjN41>fpzzwr6B_RG4cufARqI%M@B z^jbXlVf%XmO0d{-_p_oS{>bu4dNB<{V>qHQ9>KV#L>R&clBurtRB>w zhZkLytm`B3-TlQELs*ln8w~={wMPUOT}`a3f?liY3J5Hq7Z4fNr|AJxkN;I)WP+AT zM2OL~k99ej`vkrGwTCUf6v7s_g1` zQo*|FnH$hmQL_I6y;RnTM0Y8O$$X6Eb+E$Yhy>s9s^Br*lule<1#&y_>;1UC0lnyE z?p>_w9CjLCoa#hJ*SwFuI8cwv3m7ZbV8}7Iffb$Oh_KINc?1teqs$zO-zb>7mlbv3 zHwES%U`5;bD^|-Q_y|lKN5(=#gle<{Xb?~)0u4ehm;0-ahHn)97TjOl+>b3j(@%`T z;uCPy)DJPwYh&}kuK=|-3(h-Hc-;-mUC9=of^v=hXasgq4XkN?Ee4yKcbLuF!@94q z?rzrIz`A!c^Ffx|!3qvBa}~a`Sx|v-X5M91=tORzzjBhIw^mlviG7@Vjuq_=4&wsd z6rBj_P|H^ZyD8UvPpwC}<=cam+vkc%Jk6Vo$*QSQ`KZzPsM2_5!n0gFE8&?;bUXa6 zM;cFsVJ4s6fdC(&5KLN0E8r`s&47Q(Tky|;_x9qwGkEVf-t&4fw~HCrq}G-pA%6QJ zl50o@qOHdaF$h*ZN>)B9d_HPCPd{VYxvLV6kMjK=MgvjH2U#0G8f|OW9cn8+65 zMCOKbVA;Z}NFL&t)$03r9b&`PrUgLPLS!+NSpdvi*a=R^YVM0{p@?P?e2Tvsg|ZDKj%sBgy#CD2JCtw>QV7oDyeE;{Z*Ty$`6 z^WxSJF}Aoeh9ALme*l^k_or|`-EJ2b7h2OnQEcNcOcZqRp&~J9;+)TG6&prT3_xUy zj&UZ6uUnlR`1A>FH*!Z8)oX z>Y1wvRBt0l{F|W0n?M)0vJ2<2V%}%0&;tQfDAhFAGfxY1?W5{fnX3vcivw!zz=cJq zd6=iJmVyg47hI@Pn7pUL3Pg7JHkdI3+J#Lqfn>C3yR zniF|c+B6VYH;{Sin5PO@4_A!?F;`Mt3kK8ywr>Y=1iIuo!92&9tBbjSD4C;xTc5Df z(@^OYpy* zb|GtBfDJsy4ICBRItdZ?K%yNQ@?0XMglab{h7N+XnL*mjr&!)6l&)^2&k40*N9JCo z1kG9ULcv{~1#FrRGWIA}p)BF9c2XwiDlLXw0T+oYSs5tUGF*xZa#!!}7Vc`)=eVo? zI4b5-t$z-cIuNK*gMn3p{VD}ljf4B3QU?N63M!o%>{ls)f>dhW1vU>Ha4R62a@g*vxB){e4y0Z9B~`->;VY}R3`wj8~aFzfxhC4tk?y#f%?qaiXH}Z zRU!F;E;J%1U4RXGZR4om*5Mu+cQ8*aAw^W?w;Qksk_uc-0*1|clg+!x=AB{P+gbNf z*4@Usn{YP5Ep~ON9JyCm!EX8hV>L<|%J(kHiTXc9cZSV%v!bTJRA{6>#u)EQg^Czs zXZPp+-l;Dinh-SqMhv=s$nkGqI^>v>PhT6ZAL(h$dq|G`)mJ2I%V12dTSw8x)OzuUuHey<-f$+BWDO zARgERd^?iE_c`>%f%*I$L7*xRVwS>feDefGdTkqG1O@?L9?#)x9C{Fg2QheH3_NEL zCysGaEstx^nWYb7SBog16>+8roC3--Io!-4^4x=*!g$4FZ4ILHfB86=|HQ|EdX8nC zV%+M)*uA`f<8pG2!{mzN0slNu!h>nXlX#~Q{uP6RU5xb3Uybq6dd^$qh6iNL18%ho zcBhNxiCUSA91;zdjQ`NK>pxp%=hcZ!c9Cj#BVkf)rsi% ziYN=cUjV#bc(_+Yn}j^h*o5{5rE)&@5y~t8`W7DJ8omG|Xkk;2Me1wpdr_DneC+|% z?PD&CZJTdkhBgQ@bX+7AfQ$>L`Bu`rGhA&;PovRj4CMmof!NdK5yKA5afIq>&`$bVF~9vhm8D+R1{fGS@5wx%Vjf6CH%MhSw9yTe zcOT``1HPzKfbs@YQSN0pujA61=i$HEfQBaza26`UAOT;C&`1ZofLqdmS(FO=cL4u6 z{rQyfm><#g%BMv3mKE(tu7hnl&$fwB%Px;LxKNksMMX_J8KG!o#dY-c>fMxO0LIkgJ|l?r=I&xemAFiWt4qiE z%Om(|P88of*b{r>?=$yWD)JARZ>au`L-e(eOGDte3;}#Y{Nn;wr-t-lTp9w$1u8WT z@sEo@!N+Cu6)ZS!7wv@knD)SQvE1FPpqrxcy)cE7L13$NA#9Z3#sm(H1!C zV4!)44OGGdk?hh4Xk{D(9ud&WIA|dohHg2ukPWJ}oRuErNa_GwV9txoc@(n@eAGCS zN{rX>6~jeZRzCo0X)%T`y@ylF#MSbdIv}{mAaVi*k&`iq%=8D5Y5pLxk$Y{vucF~^FyV??+iSWp+;bDq z7RjN^A--oqKGtR7w;dFI+vb=t!f)en!}u}6ZzJfzzyjuGPc09gcu!KXt@YI++$*4 z@OU4C6$%N^B|Qy%D+E8g@Uq~=K^#{x&c5+`J2Ghe$TO_xetMft@E84GpxD((elM2` z5r|>jf_^FS_EQloqxXAy2>Pi*goljba}(Yvcpl*Fe(fD< zr{q99{M(H#Si=Ucoop4lT&oOWm`6jGYZWeWt%~e%vG9H2!1w>Ug6(VHwPvYT>?<;h z_w$gi7;d$_mLk|UlOPye{z4d-TsS$-)f?ZfgJ483n3p7n8i#cZv~fQVB}?0Vweb@L zrT9x^IO;fNq(?A@F7QoV=&x>gp3uy_%p-^eAoB~|A}ntnB%*c<6iy7n0T}cbg@$Y? z38e`?<8aY;4VbncjG3wYF%$Kq)x2)Z@`lNbox^bYTpFCCL4B6KOWk<6usb{q_R2C7g;CXz8)#p0w1AEM@-f&0gC! zJsA6YOtxyBDbs5)CMt_3(%nsJ=N)m5_#Kwh>kQ!u52p9?S}xhDBU&)bigN(Tkuzq` znN^ih?#RlN7Z?qeWZOBNR4uEdLz!N^ZJQ2|8L~`@9>0{ZO~1xr>0f@{@?CF|%K2?M z49aGDO`4u!EgmZ742g3PTI5jvgUF$s?ZBbejnRNdN;Dem7UO6s-Kfu0CZ{)hbLM#8 zHJ$@TWyBf>23gk(`z^B>Fl88nKGir-(Diixebhu2^vT*KhM_uCn$WX-4;FefH&0y zqZpg16quU5+0&&gqhUOO?`WU|{v z0~(<59>4&#CuW#3Gn68dF+--Z0%~U4Z6ClSGaU-4MWIYAl;kUv1%+~;R07A;@FXuZ z0t-d?3f<2!>Be$Qe-MSTu+Y_RQD~6BbO72jK~Icm3r)&8D2)Ah1YowLOfMos7@^E} z`BY&bFw-ElD&B7DHABm*{P`j3_FcTltuQi%)nzd%X=1EZQ#~<8jpGd?sr>vQBCS<) zG7?&`PaG{>!ni|Gehes~aa+w8Wzj>NJQMHe<*7i{B}tLS8_r4zC#*9y%48eDiJ zFMQU;3pd6S<`RKCEiexZE*!=S&l81n zIA)!|d@LoX@K9cOj3^w#F?WvTn135wSj!9d7lpm!2=jQt3<5qb4P63dMGE2oCni%F zg{M-dPzb$}-r@HOwy1kduHW=0qF2CYEEDQix=BJq^rG>3xRa*5_2U4uf4Il&H~7r{ zWSu=NN_x?VuT$7JkZ+J;Ot+_Lfv}m`K;q0arR^TD{2PSj51RPVeiJ!qX!%RTEsKEU z1o-eQPg7E#Xht&D_K<-@3J(EvS!YsCZ>KpR{kmR)^hA%B;GY8$fp5{!n33iHtRp`b zA?eW0Xi`(b8fY_>r=AJ&7y1p4R|QN2rFE`2b)aZ%>^*jPAy2l<^?q95swpfQY#>Oky@zKsBp40)q0EW!bulqt639)8DR6j zpNzN%E}N%lz%zZe!hLp;N?!BqJ7Ch)JG_ndXA7WKmHpYp96Z#t7r_dC^-~UB;@}Mq ze#60^IM~aoemV=rN+VD3@yD7i+BjQoC7Dc-%+94&WflG zToCY0Mnm8h|D?vcjBUx%uHCo#gnDg?kwH9{rGv1|wJuq^wgPU#jYT?VKek2L=Z4Vh ztaTzt1_M{1KLm3V^=o$8SK-+zJ>9ly)RoRVQ_~=LdS##p&z|G&&&e3ARnBH|}T`1(bopAb0-#~q|VgR#1*l~qj8B~)eFKK25hPE>ffRT?qX zsxRMf(a9m8jA;<`aQ{UswayN%t4#>Lj_7qA+3VWyIoDX9=#1cW(z!0+Jn+6D;9Psn z{oZ{t{DnS!k^c8CtNQ|FBfmgd?H4Hfm->b}i}?XC3X!tj8)x#S8Bl(F5}~O=albqQ z#XYkb%oLbnzyc4WYLc}y&nD}_(8z}sX_NsU#e=oSP#Bt!RZ@64c-k^nFnI@~d0eHR zfzpBDaQbb_bz#<9M#z5a}dYD!yG)pK`IA%9PBzvrh6g3`cZ12 zJ^vSe^>Ys1;9xTc6&!rR!6^<}IOyi!)-(e5aFEEs91hGJlyUGX2XAxmXAbsoaEyai z4qP0BP2(+03!Gx^;8)QcjF}cV?f=leyWQ~-p%bp>;5Ea;+mLu(6Zx;FOnC`Nd=s{tn zOMuQ0KS{qrBad_Tlb36xTB%a%bSm+eEZT=A>sN%z6AZrjOj1b+nwkW%Qe-W(ggs3o z>A^YkC(!UhSOhIuyMEt8Ygcf>Z|#aAl-O#tY}wP%zsXV}z>d^tj5aa_L*dDE zUaQyK{d+!lmpiO_X@$`s0c|<6=d?_Q+gJezPcb6lziC{g!XePhVCh|um z)_a4n7E$3n$FGNVWgynasNn0zZ$NAPh(N3cD!lBvSceB58yr{0LxvLLJvybgoiqmmq@}@7J#cr zrzBU!t7;N7^ckxS4G_i)4U+WJb4;1aYZ%r)g}E~daRAG~?;w`=KrDJi1z4bMV@-mN zDw|N(q9v2oz9B{p)N*8*!N^bxwKyje#i3r%N5H?7@PBgDC)Keau(x}sYOMy6QH`5- zepOYEtfJ~P(Ats37$fUzC?Oz+NkhR4h=6!A!sP2mG&(`+DgRB)lpei-j}yv$9G!Ac zrQZ@nWht33IN;Sl!>H%FCYD_6h$r`&22UrTrwu7c47L%d} zEbug@CYf^0QnJBrOGh?^er6^?I{{o`$2 zvDEvB(8a` z)L`h?xzD?9z}g)~3?@tI&c%J6c#qV@l0RPKz{M*2WL)!{%vU(=NqCW@#YB`o)ucSr z-6W=zu@HfF{1J0@?B@xy=|u#7co07{a?qv$5S(lyhW-sWoKLm zRE?q_)E{tW#W|oW+rNcfiH5HDJ^aZ!TUV&{ZotIR06u}qTdG%9`fxe%v+&lihf2}G z7jx${#Y*@Ne?ppRK-mBbaIeYa9h0Rr;Ov*1a_Mt{68zhZUslLi>LeZbeCJ?4f zVVxqpOZE0-ok{r>=6k}Z`@vHm#zwPwBHk5=P0#v-k0R8Ll2>WsJ1kMMSzCVIVxVl) zuf06|+WjH5CYNcP4YpNUmF0dp8T%*83O(bwyIR|ir~kz zplRl@JGK7|wSV-mXnz5;zrtvgt(y4HEUBrfS=@~nd&%cU^g}n|l)OmGwda{Xaa)C} z+Tc#%edz9a%e_SRSr4Z>kvH$WO~M5!=%bH_md~J)v`S0YQm21;;`E(J)kIF!0pLm^ zbW|C69vrqTlO24MEJZt}**hz{Xik>$%s57K`t-602uI#j9LVq^q98;8EKEQL1(J)Qnl1bFvWKm4MwGy9o${=#K9^#f87-XPj z+*I_JfDLmpm3GQCM%u~@FsI#`Q|qAXV$86MEb znlL^cXgHveTsJ}cChFfaI-!yFiT!My1D0v4!v@%s)y@%i^KGa<>Bb0KQ)`B8k6JnT zK8y=-LAno+^~2c-7gkk2%v=Lna-P42Ue7cTmr^*FgdW|0JM!qI zdLgk3j0r$UqMQVth9zFUU!J6o|9ItKnSO3U+Tpw)q5Dz2~gt{NNMmtV zmrq%QwG9AuqTlL1x6n-o=tm-KT51R2VYLE&>|(TaSgQt3h4 znq^Y{7tH`Dpt;>E)++t^#c9f+VU+(p;CKJfL`CEBMy4_z$jK>pOtmr#7{-$}(Y``{5Q1wZhk18_s#G?sB)Ejkz zM+?Xk90!DrM?PgJuU+&LmX&Ez7M%AHmcfVcF-}#YRHB!b8+r&+2NRY8P0zMlb=iVr z>)nE5KW^i+J=}I3j=eDyiPP3yk7EOTgxw}}rB!s@l?uo{K6fqKHvZu{Y*PhO_kULc z*w)r9*w%Q3llJQ?L2M(+1`=h9_V-Z6sj{>ZRdXzQxQ;d{KLLv7tZ_`YPWKbU1VNOJ z8|RN1fT|F&%+y2JZGnW%^bs~u5Y|7KFr;hAZAjO_eb?jI;R{0K2ZPtMWnY>}+3kco zYaBV&bU$^Aw+ME1^>C{n5x90z4_zxS2hg?cs-WvPmpNUFFJCKXpBj*`hxc7i7azS4 zq>Brj*XrV@zYo^M^=AWg@xrA5T^w^&NY-}*HK#5GOIC(dj|4qV1ie$+vx{eg*1ex^ z5nDl9#9{$stb`j#(hP7}kY!IdE=W_3&%&kLn5S;IgNHBWrW;HA>$v0iI_~({fMI-^ zGOB;TI_~v%@TA>%2M?gYb=>SUMH&^ng9lSZxO^R*sVo|Wz65yOcfNU^9K1nykV_B= z{&Iwj#&uliq${|po0FYJTQ%;ugS?MSrTo9o1HW|bNh-C4feTy>$dkwjJGIqGYE^ZT zN@bERn2J;xO3OpdURt@l{00yZBM6BVa5O@c5>Ny?%quzViN+PUK8w3&sL|Ue&?0PP z;1(TjyWbj&!!u|v$;(!dms}W?*evCx7;tf15NIf)@ylZ1O*NcC@xz6~h)m^=G2EL1 z>-T-)0C-cz4CO~L=uOd{CUmC;V7LXGh;fGP>$ImBzn5l8%}`#C0}`jBM>SKK6vI8L zgAsgx%*PSjv#O3DHs<2I>Gv&Aprq<)O8c!ybI!*^a|7TRXHrH`%SnDeE=eb6kRNBy z=$~au%T(@*LpqB_Wh&3yhno_>Y0pxAb1zKINe0QKOvNuPZsFVA1mzg`>xlAnW4~0y zaW)acWX@C|R*YHa5%IASwCq7h5v zTd@wHzy6L9zY1zA(}l6;2H=lZP1MP2Z0|sruRiQ;qyX#B(YP^8FP&9pyS(0(^SDU? z@Bg>|eiP_HOTF*@3wYlq1Y(@nkP8zMh^WtKqt_k5_gs$3#*MjuK_n*8#$5k?OA-mb z=Q4-yx%_eHSKM@wzviMb%|N0t4lOtM3={P}!+jau ze=?)rzKlAFJD5SSw*RW{(lBDo=So91mxet<_(l?gGJkxt*EtpZ?`3-DcQZ2qfPDp7 zaXz@ZOb=XolH_icq zrKPYXg$7gm5bhmY){Uz)%$AEpS|I3z2GrH-hT4DRhF(P2SE?OnL#Vw_c_nVliDX;$ zt3O$1xD``(xbC&qz}S|d_7Zi)NsaB~qYqh(iA#n6{)BZY;g|~4J6bf--u^CZ(sqGx z;o=Zr_My}PO02eyL@5FgE}4!9K(@x(OF}A6hWPL@z!}1EhWT*Xr>LJ4NcGZQOFwyv zmiQEaRqDc&%UVNx>35t@;G{@nPg9ymH{$bZ&A5l1F+@4EYgI#|qT^N{m6Y{$gaXR7 zhDV%3X_$N%fU0VZ_F<{jhJ0@MC4T91%cZRYfaCi-E&V){fQ{+dLHk<L0NDHbaA% z0->BKRZBIt=1|)i9gIt)tr1@;%rRi<<|HPT;9)4#!_sQDWs0i30`E@YFTJcV>ZIz&*6hFhxW`y24 z2sg$5P8ARKmL*}WT$N=cW~D&Ha;00H-`>}WTSZ8+S|V}brE>r)PlA({16<1ZKJE1_ zFT&i-t>1w#6t=Nd0ojHm{NW^drDjCMh?-}+pyH#;2CH}4m#O0~vL9ZIbASaN;_UY! z&|gNYShfF6qh>e6syi{0gl_4&0aB$UWUW@Vs-#*N?+GI=j@Tj9Tz*}iqT=JJlQJ~r zJ7F|w>{FFz-sD*PK_OB%hN%1ZN@1H}h6f5$f>c4rRY4<@(S56;GX!mGBST>g0aU{*^RI(|_NgL*0X_uj#&1`g z3>%PcybEM=Z93E&1&n(r3F|qao}TK_wrQ-lpD%cU77tUkxDg51hFD7?f9K>y2V82n z%nl8bSuM(JiZKyn7R)!7S(C~#3|%U)KPG9Yb0F2-q_&=RI{ap^#f$Rk+vVU-$WWfy zzbIRk6}Lam%Xecf*2<4*MzqR{b+^0XyzKSL(2B;;5v{Xtclq``l7R-*!nrJht@$0` zFlEu|bB}pm+3}y)iqAK zJ0$+&C3o8mkNj4P3p*qB{m~20>rQ^BmThs=b$$=8q%dd7h>zKp&IwYhw9nQVzVz0L zGx+PYk4bK}zTzpP zHnatQ1QL727u+In#+8dSHcvSFc}4sM_H&1JhjnoL1*@jK-KvwGfzC*!I)8usdw)|< zID*rOl1VR3(vY7g-pCvW_9Mo(=N0WmhVpxmwH)9fs5n(agz+G0_>?^t2IF3;jo-nZ z>xO6VC7|QyxHrY9VQ+NQHMdtpk#w*m4@+v5b|CZaP11q)f-FP~QZ)tvp)2+AXqj`5JI1J?Q6PQy|*<@TJ2*%oZ5++KQG4&;jklwNH908nw=oRO(_yOQ?D;NQLEF zM6*;|p#TvdlB_jLmpb;}J*-;E-*&Z+jIDq-JDr1&$(&(h!8wC#qBTBq8ZYs znJ5BznNKfrc(V#G;@ z8Va4sUZyU>fZdR(DF2VRzkzR}${NS6D%E1AooBYe*70=R~u1^(UyQJT~yVk&3*+-pvfxCE`*Jv zN|j3B@pM?R{+@PCZb2p3WF>71w`K*|zA}?3D##Z9yTGD2(G=BJ)B+wk2Tf5fb_G1H znuf+GyBK2AziFrA=$g~*7-#eR$@eIvtNpunQsdMQwjhn3i|Yi8=*k>paptf;$Jaf2 z+t^QTu}0H&AMW}`EVX#|VR^6~WQlZt4$xk{)$w|Q?khRn*AU$m9$#C(BYM85li=M1 z2{MP^sa3iQ9#4r~f)`5OW1&beD)?TaU>D##U6r1N$J2mT=X}>2t=5lAqE*F-UT8I( z^*v$GY6uYJveTSavri?_>a}k=Cp!3LSsLGT50`~#2k?B6|T(rKLeF$|g6Wz6? z)t|{fy!<1Je{fBJpA-SQpHz@skzM3iRN+)^7E&u*@<+{I^;K(Mw&b1k-3+_A;#huA z!z|VLtKC>`F;fpVdLXm=;#sqr*zsH=?^cX&en067C86C((y}*#p3%aGKlOnf>!e_JD+15 z>i~q6ushx(ckHM#jvPqn>~(srK^x-RkDWvFtlS7UdhRr>|5wbudoSzmYn#{lOmlJ) zTSjF++n9W&h|-y&rMV{sjukyXlHm)_mb11&ZKUtu>t_m+BF+_IT z@AU)5`osZ4p#z2-KVZOe{EtVBA#0P57`p!F6k_`ej_p3QwZb}8=Vs}KwUa|BJWE>Q zwM1@G{FzF~B{yG$qukulS8+9}uDcX}&S-ybq`xu{g=g6*`E!JrT@>Loc!V=psHaWz z7Rmn1Fj(6FQ6zzyw2V$^QXeP_5P($(tc!k^y>^GTzHpbBsDiFENpeDT8Cl+#q#y{ho4 z9J0wF^x#Ij=p?qS3t?t$AOd$2Yb_HL(Ppd~(FUu=5??gi9x`T>?K(d9>j=OXFA;zZ zXeCqpPGzEP4AQ#hTxG8CbEF`;Q$RIHx5Xi) z!HUk_)%EpD&ymy?kw zu^GFV=G#_NB7dFTk=-hHCv}qRX~nMn6>8-e)OossWSL+#y`R=40;)5uI{~HG0yvFP zZ%?IIcQ{J6;~p+=Z)PcC1@MQ0FkA3la%bDR{#TtXC%&|1;Yk}mq2_3iL z-8vKP)~1Thh)%#!(yFidqu-K4KaF?k12Ep@WNx7WFZX&K^(bEftMH&T3#j7%@2GNY zk4_bIIpt)j^ybFy$ZjT*pnk(qdJ3j2kR;4WG6UTrh#u&|TnTdK>nFJsfP~>)EtFAj zRYLEPMn&*Dhuoeyl}fM`%5cN!R0hBE*>zkFN3kkFA9Q+<;EA9t!4+W}y+m--;b{%g zmA)26qwb;peSWmdq=Nwv4$ot^Uo`^$zL}uIclr{*GY~8QXj9M^L2NgX!38Iy94nyK zu?!XZrjtjO8Q>~AF|DC2W{+ao1X zhais!;R>Vu(SOO#maiuHFH_zI!#i6kw#kbvFj%u4zl1+>DP~b%=dSU=9&h8k95|`a zT8hJlFNf(TNdIq9f%2Y#?frTR~9Z5L_rUz|Mz0bWRc#JZs`Y zD4oM$`z*z6rV{4VskyM?yO zXgna&7T+ad0Ok$gLR*sm;IU2|wcuZpJje4<2O{5Q3$i`;0V&6!ND0zcKlwJh+<`(A z3X^vIu%UbPlHdo7g@+{222%~2>hE|og2#x$cFN8U37*|Mi7lk2|M8q@H!Tw4o9C?TL`oLnn!G_ffh6I=zrF0fyY3kOsM8jEfSkRKI<+-&SJ}1mKuBlk2dQ zkR3R=wJjCrSIEwNt@T)^2u-d`nqV(!T;4}IqFl`NX9sXdF=P9cbnsResW~awnpNdIlo>UI2>nW-a1DN*b|(Jv7_6E%YJ0Eewlh0FsGAiUX#V(~`af)Gf zKQC6-6k&*wbhRbwxCz#Gf5*mhucP^(Eo0|Rq*`&3hhQ(T#?r9Z0oFB1uxtqH0z3gZ zHr9I2YCh;jko}v#aAuswCywS%Z5gLCcE+Ixb?|dwAfbu+FQcf|UIk6;UoUit;na{2 zs9@oKhcxRFJXNf>#+lkA_I?ZjUBLl$tJ3>bZ5nQ{l=rGSjotTNyB@+u!7wl%1N!7^ zG8iA{U5y0j%cpc(Rjs#3#Zm`%g5ZGs9S(#_Iy$4D4usf|{3|W$vxP5k@0k!=`Duaf zd)}9P&+}1w(3uZ+Ck(@pJD)eEdNR!Olj|6dJYs=swNv? zF4n&A-~$CO@YUM>1fxgNTindb~AvP`!_savl!hI4RPo84HeeVEEK(xOQ zhbzD*W{%p6o^4?k1h`YGFe(Dhr|^A-s&t?tutH>`u*n%{mlIjeQK;Q&?$-9pjppa} z-uxv=-MUt9zP_Ehbrjox#~(3lgFJCW*4i0wMDODb@kTNZBNd6i~EZ3oVV{ZHs8^@z8O+X>lC?d^JGgB#A~$g5O}`bb1Jv|W}I z*)Sgv&?6hJfUgwxlZa_37DbfPU19dnWl7NtqxKhkKbm0(JN~Z%ie?}i9Bzbq9D@bG1z;JVwjn0iekXC`e&RNNm9rhhVW0q-`u${gonH z(h4;mc$(W+y|T+o?pCu~^=YmT)vI}?4u)9Ozj~b%1OH{{eQ~@-ea^>g-e=~yF0~45 z6V6h3+hmmMfSQM4!iAF?=>DYF244ImG3kTs?*JIxQXTMFH7y)sAOD6sdjX@seg14m zX$b|1i0lnLvdi@q9VI-_Pgd8`uCb-iQCmihC!;~V*o zZiN?9s=`4w5Bh@CyZ%d@v#1!v7=*$Q>-UYxX(gnt^UlI%H+XRf^$(sl=wb~mD)0zz zBM-4_+PNCOBkq4tc?f&_${+bU;Vz}PT3`=@9tS|qDo{fO!2mmbY21snw;ppJ(*95! zdwl8+=rK8rq9Z9B&O*kP^xj2=(HJc$^8hb#+vyyQ;a<9SDn9+%_45F2_Lk8)D_ zlr}OPEQ5JfH61PeB3lmBnI^YPPORYmmnJR67yg;dS@gi7+5a>q5?Uzk{gjiYJR_UQBgFl08FfJ@rY5QOoZ5iqKbBfN+yAR_Jb@lrn zV0J4OJBU9qP6VH;tL3e`v>EXHeRyu9Jh-sl2RmvAbHRC74s;^OE*``k@y!mjC{J=Z zG9ibO=xC8s&PWS^vV;+{?&P|`Ga@qWJpTVP9F%t-n`;rNBpox9-1S!9vB=Ns_c-ov zu0QFxzbSKjWVkXO#K6%Lh3MI0g;rzN7TB56+#XMyH03&OcXAWN-#n)4u+C%=(+_;xX&j-onLQ3%Pcp#Xb;{JdSK zd$94=ab&iVyX7Ih#^zHj4o$!%1pd=U3A2w$9R~7{l7c&xVgqifAKh(rP0<;2lto<= zCbuslWhG#8r^Mq+wuRLq0ZmbG!ozdbV!J9KJ`^?qQ-zM-t)(2ZIixWuGFC%J*E`)> z!lOvffAuNiR{Cf>F4l`uqkJ^uROC`l1nn+^2w`~}5Mfo1nFxAQ4CGckbM=~`Ah8r9 z)Y{%h;vP&zI7Oms9- zYT*;jMn+sm{asvlRfKtvQH7);k+M+vAGIsD;yQKvwx}2&ILGU86z}qVh|ZdhUv_g8 z((dwcr5Vy4uuw9zD=VOcTV(2Ybf)#_#9wST(|t-+knn1FyIa>u6=DCBToKN?e(cP; zwr)*cBA7W9&fw4iq|R$=i8=>(z)0TKb_~C;hS-%`kzs`Bpge2~XOEX}CE>zL*(Zij z^*h&^^0%dKF~oJu|F$3BPcgrr)MR?Um)?&uzyGEA{VVkT9R0n%z&vt_$n5cAlh`UM zb>jE&QXVareY3gUl=)&V71^y9K_5yB-y&^suM;?MlQJ={snhY|0N^4HQLKh7Gq8mg ze(YcR0;arAJM_F_FZSJP!{`z51VW5-$XSjf8b}E;>G#? zPvu{EI1z;gTV1{uIR_O#ud!5%<)N-qH}5Gbc946Y9;uoK;+ee3*ctOR*wt*&b3kH< zU0Sb2uMPl?!H~%Oh+`{C+eCO&) zPm)NHhayERUxeYH0e`W{;PiEv1hhi0HCnIr0mW@fw@u+L5?%i^TqG1&hK7rTdU2AA z#K`x1b&>dDPl09HWJ3UP{GAVI>BmVf5)b^7OVC%G048X1jF`k8+J~h0_QAP0d2Oon zETGir95o>7tlJY2ipIu{sZwFrds^%){#myNWnt9yVX$)4x>XScZdY^4q7XYeiH#$O z&pgPNNd>!UiII$vhjU#*?;Ekjf_hl4ieK=xMx3hnvBW$e=22#pSO+(jXD^8-P@s`J z{7uxb862(v%e`tW^`wH3vsye7F8lV{^Dm|MRmlJOdO;O{;DtOPKf z6Qf_mUR737Do>d;9}rS8-N_cf`ay&&JT0fd_qFi7QOIg277Ejq{0^nILy#BPWr09uwgr7h0beh_gMp#Pt49@aNj^3W;N{cu290(^^b38Ur3k7~*?Bf5ykzn2?9 zMmzxxM&MN%@kX-WEr-y^Hd*$g?sTf`N5hLC71^>nUbAwe6392%t=TQjTI$W(yYIa7 z&T{Rt%P&t|I85%eYR%oLH#gzKB44YcxSPz^gJXR*-*nSWX}7dy(HU~qoiwR$(Xv!~ zfwdFubkMI#j9TXXD&qaZX;s)-#QP-*jUW^?h&Hk+iD*7E@BcgIGrt)_x*K+kg$P1%Env2Yn4rc+`XDNN<{vgrH z6NSd{wq*M2ly8`5Q^woniKvp5Cpwk!E_tF$xznvwds>URk5n-)U(A)dOWg8Yk1{?} zo|vhO_sSE!(pOorM!H)79V2%)cck9D8%Rm|U}d4O{2(xf;kWGh*xDwK6O?f_`C4=s zb;;Z0Ywf$1YEV6cB`qF>qRVA`0=j6 zFNS!&6Bk;n=L+2H?Aw;$r#3d}w9Zd?sf2*C8d)aH5U0M@n#Y6x^GhPF)Zz@WUk(D6Ce0d2P9|_VxB_YZ68;Xc zuG?ui08%DCl~Q0+5t)psV5G{CJU_7%;VvHZU|E4BazP-VuD%Fb#h|Lh{{gZ38n%p- z-?>1WwZ^uF!_o91QtiU~U^revp5G`Qz zLt!?-HarkAEgUFyNX-6ov%RxJI6q!AH=mbT1Chac9g)3FlXJhhh%J0sOeA`Z0c2L2A z+}f~0!!q*K;sreSf;@Q=Se=z_NDx~R(W0@w(4}iItf`D#$1tr*8Ps?;1!f*DuzcRc zi^to!vOp21?b0x>V+mRCJxURp)X0`w?)9#>;`!7E49QU!NukLzh+HCbIGF0=L`+yN z)j&^t{<%XF5I0<66UdL5VSMruKVbRV*TZg{IIX2D{elYpG|1>mG zXk9o5D$LGn(sNjayLN}IJJ5e+W|+PD4IQ^G2(y)66HbmzX@yfGLg59`0TmV1Q^PC* z&p}E|n-WV21Vn$B-M|YjyUG&X1Ba9gpi47FHUXY?oQn}LFr_p3vzOqR8p6VPP0LOT zj=NFUgW+;@t22QwsxCL|xRu($r>$zGH|QvZ-DO!V^daI2@vzm97+{%yrRHA6{&xI{ zi^LSm3hxB{9VW!+xEubMAaP#1NR`rsU1-u-6!Y}8&b7_~Y3GU@rGik-CQm{x;l#7IMe9Eh4AJ6JNDcXc%TC(xdP(M0lzm zg%2l|0G}Ptb)uPs>U^=6k2=zOk&qrePbsp+E$B5me*r$MhdzM7;{;lFECFT$WV(Y- zE&|%sNu;9b4^OT^VO*q;9h7!y&Wj#pkyn|QsT8?UbW~SIdfwCYn0LElQ<;scXS`Gx zt7WMYE(1r&7D`z`J5dh)i|5M+mR}1VFB`>ujiu>0tWOrj%61yt{c2`}=GUkJXDR|`;nBS;*5xC~14H`+LQlt;TiyRty z);f0;%uvBPMe8-w7Z8xpzSbXjXS`f{6f>F zsM2TfxC(a2q3`wP0RMtJ>2xP<>-BV(vCZrNpZ7LD-TiuJ(&_HiclqgV@*!mTJvXg_ z-3w(EReI*v_#LGY^Qn)h_xO8Ay;Q}dUT%ho0-FWiqag;_qkqwlu=1AZuT*ItP%lrD z3WTL|^e*cgpD=qVb)CZPe|H%Y$E`}gp4x^t&Yb%$+6{vubHSHsQ`FTGJP(Mh&%3-Q zFBWijS)4KC6UPr|)mEnIxt{d+_3i}bhu%fZuW5`&F)%y&Ca%Vcc{}7b7$gP1``YA| zjBea&9wT)J@7dPvNn_-ChmX;Q&ovE} z{$;v2z%Kp@lLk6b8FNtvGJAo2*vZ9%Pml1=i*Do5i!`P*cWFdvW}8OU$S*8AQR~(G z4id>Lo3vu{b1aEl6aGN&1$a+<0PEW1z9842q&rY{UbmGo^y6v%v;jaYr^l73kn*KC z?r$P3(R2dQ+>p=`seZS}PVa&3!f(eOeZ7a%;)^|TeUTE+dW;81i~wZIsGU0+=5mj{ zRRgEBX&Ck;m~tlfm2H?e`G=m-ym;?z#3!$T=EcW7blfenQl^YT_|WDFTCOUc1JFe- zZUBo5$z5#ONleNP+v>6B<(;r^bnQ{cYtpH{3;U@;21eMIT4N*CJMkhAJQhh`bds%B z+GS-A&oOkZPPr6)+^B041aul|DRF9ui3ggxPG)*mn@Q{vLbLI1PBxr2ZkV5$h!%V1 z&+RZffWQf@WA{!he%;+>UECL+$4R`8zT&N5Z1?A=q4Qp zC&Z3?h}#;PrTP7Z>55;dZ^GLPBbS!d?NKLU9Q;I^W0PPdCZ2CZ1V)_!IM4XK0K@qO zaSY0UOCwT9?LW3c*9)S@{~T{_BL=zl^;+R?zlcLA7SsuLWdUx8GhztKeo{HNJ0+|r`8O;?1$<}BYWsN%UcXlV{Q5YM&GS+Xb?^Kj&@GSNY z&pbN84xO$Rlww<~uVdpJXr$P>`@29;tRUZL!=uC$x4dKr*+1%a>}$EdU1NHK;3eeK zBX$MOp|>IC6|sJfje-}jzE-`>YGtZISfjF&p>`gl0V5YR+SJvE@ufMaz+y+e z!-|4yF`TyT(L+VC4*}hD3*btiV;Kk*K<@6woEjGdU@tDUR*w|fjHeBq6D6*}7(LazbJcoA_(OFR}w9g1DblFXRxrmyKj5MUbd`YWb|bAc6m!I6<(;tn$-PW z&1C^q$_Hi!+dEoOgY4y9XrBm%m@OVgH=ELTj^bY2F-$QRuGV4TCr+$Rfu$^>s?fu(M4EFJ1+>|p{gu?C zMauD3&~OMbB_hn4z&k_+pso7dW_et!sMbO-vc={SH|mL79Z({cFD57oCz=qu;XT~* zxshw3?k>>|d&Tr=VS08+kD+eKNyLE+ppHiFN@TyTMOfeMk8`?X`{SJMi~XF_A=}j> zodHtE&K}IzuNwq01UZujMjylL$r7n$T~PE-ao>dpw_(HIEZ042(Z{=%vgqZ9*wRGn zkwoh^>#fUkyah5wAOlx0W^4x@yD9$%fnB#ekuz8n;S~SWyU1q!cFD*;>r_H6n!Ta3 z;3yPkHJ?)fcf5cH))6l-lnMl?KstZl2c|#r==!GUIdF&@3Fp60f%wReQL0(`De(wO zoy)UAKl2u%b=LBqvLk%<-|Yw&ocjKb&~qTZBTQl=sqIzEj0j5ZcNhI2)C^ zWtmBEse3AUSDeH?+lqz!%XIzRYI_PfTRUav$s(7PpC0CUSnNiVb27%iQ8mXh^IrOb zp1XeYji!wF5*0kOlp`_w05C^3_fH8VZ=m-r{Czh&{v^G!;j1!w_3YBPJ>R3{>gL3K zPbT$a67x{mrFvPsmaW>sYMwCK!FhCQ3l^EW)SUhcO;su(|L~Kz)Mi^OPD_YA0zbm4 zv_e{?Nv&Bp+kOvEP`_g&SfL!(kuk7fFPz5pdoKQmHGX2~_lCpUsql98;}$N}!#WtU zkJG5@?{tIf{>9R&?vXWVunEy}W>Xvj6>SxE0fLjJKOam}T|eTbwbm=Jg)eY07j zMaBh7eu|&4qh8yFk0KYt@pt(dsP5lqplTCmZ$qumF9X1HwVEvU_7l|K_|3Y!820yR z9f*hjVGr+1^mld(oe`%}5lZQK$v=62)3LvZVR~{TFZ5;|b)ECBU^8~})x}&;fV0b_ zC&*WYOd~BU_yo6c_GpeZ%~H1}Z*i=_bO;f7clJ@~RLYWD(MemqQ-dW{CUpx7$0&7D z;TWFBO)YU~uVHMBv4p_4Mi&~w!|WPZM2g?bNx#oP1-)|^E%jf=ud&`528kTy z-_0cd*7A)(m1wC~>T%gFd2b?`u8)n|o1j`6&+ ztErKbztI~p_=$(&ZCv$D3Ecr*H$Y)vZaD-cQDf{VZR2XWy-7`8_d`vZ{gR;Z!PNL2 zztLR}U=Y~D-_WhvHf69n-dev$?jKF1pdXTfMLxp(8VQ9v@p+9~CytQG0V$Ctvd1tz zkssZ%-TdU$SR_cDRz2T_Q%Nb4Q*{6GZt|yJEGSWnGQr|_uE*Z|wLS0X<%O|>9 za!|N=&$*w>xfa>ubnEWF;rFhCGpsw$$oe6Zdw)2Ou8;1dxp0F<5%^xI#VYM3-YlPT zys*9N&~#N8FvGYxEOP`dXsUp57^%3F$e;WB?;lNiPrLuaZzAo#yTi2mm*{ut%^{CX zbiQ%}a|9lHx>WVsg6Ic>x1TP_m**C=`U^G9>_rLupCCSahxt@&L$?6dFNIq-GCt9g zye9@zjXUm0co}1UBxqS(V#86+6xkJ@U@(}1Y66XtYI^jGM6xsaaMf_Xefy zB#XWLIyUKE6d&YVN+1J+yu8O^Ip9$3|Hj4W@HdOBVVch(A4OgF9^cN$z*eD+>*Cvp z%M`~BXB9GnV8aw3?>nqTs6%k!RWWvjrAxMnXO|v+Z*eZTe|)w@0BaE2*^7k{69svKE$M~>C;-R0 zJWZb98ofAk@c^mRZk2*g%xzY`Bl>!52;e-yvw-RJ#yFekf*YdCn;r77|GJNq>p zw6~+&+l?aI&?_?HEhLTsEDdMpepEjNZ6l)gVT+xdfuW9H@JgDc)&mXqSZmI%-xC=i zowhE7zGW?S00vR-?Y5R80mds9M1D&d(S-duUYKhW+<*7L=XAT*@ygET!_MQ5pKbZ8 z75?r%?x>PBy!5_y+%b6zd~b$NX&L<;0C0b|iJdP1gB>Z!FY6?`oVQnFjn z5g*9hd??l0X|<(BEt+4@N^RB&f}S}!`&A_0%7`Jkd*YJ2Qk2MJas3o?R3XMczC!Vj zk=`WtK2uDR`wl9Yqr+$43?iLpJT~zedVN+zkL)k^&IDMqFh*6nBU6j^m+tUrQJW*& z)Nwhc)Wwqx`A%x0jlvRvR21D?VIz~_SV87Wt$eapj>TMdZuAUtyuffH>6%5+!Ds=^ zw9X-$3(7t|*u`NMpzR31+iJ-ALy^h4dz>=gOHMX-V34uh+Bx8~514-K^-I$*XV@o3RZ`J=o&_+8%X>xm3d{Z{@nwftp^{821+^A2=m+&{-_ z`(&!uw!9g2ZO0rxYd!|c?JegA+A+s;=oZ~hV*3O$R+%HOC$Zd@aptX_pSS@;S`0I; zpR^ceTpyTmv03q~88&4x4NBDOJ6-!ZtgX(Pf89L6h3)s&F5ZViJzF>+F;aBHNhYA{ z26Wwo94Zx(@YD4#{KV$k8jqcomH=iWr6qt_7R8{404F`e5mL_YmHi&Y@03GXawwCF zvLxW?eJ$C5eSK=49w&tR`y5mU{GM(+f;9`^@^;{8%X)Y=sW~uphK@Zt1)fquHe)@& znMj}UFqAeJN;|9v*OK9c2T0&+0#f|laSfbxy22;nx4R0b*Z$GL*GG8+^)%Uh2^I#mZsqj{}z#* zszkqkC!HT?i=zOpRzGe|aJb0CkELU3`$*qe7G448+;`v*TYa8x{UVG4VUVBn}q5)YG^29G<}a~s*cJCeOrDc~0sf=;!#tuSMu(2yQG zS1sOLICNnj>F|{?hq~agye9eRvQtABrb~yz4MQ-?qJFSBfF_6fFQdq83yV6ok}Vhg zjdcwK$hqg`oy2h2(XfXv=-X1#$71O~S0Z(hbu^TVd;(qBp4%Q%0A23vZu>r*fECco;22gPCKK;1t;?T{1%XE#jkuoLB%}+C+A) z{xXtDNkN+r2z{YI1Hf1Psn{?`0^J?cH4<;r@pJZezL5__(8tsmT@;C-YAFnjLp3IC?k@ z2g1nY-o6xzWRqp&(ja~Zf)&zYVmo}fzIr=9GgmAa7;o=qI9TJtk9zNK!_EPnB_r*T^5KZ>WwE7 z_xKqcx!PhJ^g`_3M9c9am4+_2FD7TUDdPntfV$jM#bO0Cu_397j_jk)BeGTl*{I#I zF^%h-1>n3~=WG=zkGU2^7Nm;jNe4T#Kfr|G<Kukd;k z>8;Gse%tLsF+?K};E_qswsJk4U$Dm<w=ausrC5f32Ht3 z*B_@=>$6C$pUoy}wW0erIV#TamQX5=P3TY$>j}25nl&dixtaXhq*I!s?qVyy22UM} z{Js&Su>+_L5r8cS7B#BpiZAp6_4^eFS4H~(ql_KI{6Z+URa9GocuR)J24lZSu*p1` zf|n2!Q(E_8p4L6RrPyj|NwHKw1&aDcoijW6K2J?Vw-U&E>EZ~lE<$JNpA@Yyog3NK zyhtI-)s*HS7-E0S`wGSCIoPJf8X2S%VVmUbUc}q&hd)}1pl#UeMPewE*-~t_);l$E zTSc#pPT^{(;V&i(<)(0&;4`HEzDeJGB=K8P(c<2duM{{orPVb#>Q)1o!k}7Ll$ELo^PZ__f`zVr4&?X`{ZXb5DAq`|7 z#R`=eN@^qz)>;y#iFn^cI${=lM%uzx4d)cY3a1Zu@b|Bmi8NSV6|Xztau8=C~}gM3Q`>RNTj?% znfkKnaZkCF>MGQdmW9~7e!837B;pxU)YbBIa+CYl6Gj9(nzCU9 zwm)(lgQ6dU*BBJNDgGWW{&I_K8@xx!x@rJ7I`E8It)-ltJkS%5ncX)m6^byyW~t>N zp686;cys<3OKK_J(l989uG~P_BNnsQVD*y}|9m~sJfCL}K478L!ACgFJNelMeS}eV z9czaZ5VKIsm7r8OvngND(7kA>!Y~hX>8{OQngMJTQ%BaEhngzPCOIPCI}F}iJLR$V z0jK2(X9tblSeH`amRpy%egPay{!seRGJ1~J?pTR({nEa;WE^*4u1rjJw7dmR%+g*9 zJQf@)U&JCAqw~EyNx%9Mjn-AEj(Z+O$c0{5tpX;d%5K%iZRm&k$fZ`_i6d7KVjDB` zk$awxT;VzxId%2N@T&?25?cTD|#&)H%jz7nbYpPza5siK*Wq}7GLx&$b;~0A6Y>mTfv;J1K0I39 z-Zcl7O&2T^)KeMS{z>dAs{4nTx+?B3=%H(wjX|J5hz;kBu^49Xv#H=By`Um3qL7Jb zUsBw4L~)iGA<{;bgMXs`(-X= zHU>l3mp9Kzhh=5=DrI){4oxZJ;bLVNqg)O`CaQDXCk1b6G!u~BgrN*CS|94_soxWI zz=NAM-OGQW4Sc({ywLk1g4^QwtsAXr-OX&cqaKa^(s%tFcT44Dxg@Cn8 z5Q zIbE;$U)^c`_1O5G<_HdeJx{;}0I*P_w1x+RT~3i{YbY{p+884k>|Ayg8sMe6kvwo! zUflrS*pV@MBp5zd=vkE>F&`k^y?Kl3-iou!mum1`9i|7&H%-} z8IbV-Wd>o@=o{30!*$#%x?%Yv@MbHkq^A?&PuJp8%zynT<-f+~%Eva`+#V+!*I@(O zea9kaDaCdmmT$XbLUZhEnIsh*_Xnu%sVTb1iaUcuFr?>3au*7G_ad~%B z-01-GKT!SGrWjXSnrbb9f{L_`M@*=zA1AN;NFFc`U%59kdLgh6boFz};{|j-gOL<9 zi@aiT&dd%75Qm+bNqUr7ns*?ATQlFP$q>_-sCg z&k{0nu^{Vs$)X@j_(hWlfv0+OFZ?&-4RZS*wfJ^bJQqkwqw;}Gzg}&Q7ae#S%DsaY z&QR*4wYn1zMR~gyWF1Yr>ES>19Yo7fkj66dcEtLSV^Cun`R6r&)DX$wE+XXg+r67^|3Zmk^INGrtR1)>ZuhRT z$Z*3?N0s`|XwwW29%SMjs61bWdS(>zQILN1eMp2-i@KOHb(I#Vr3E0X6}MkuWa_G4X5s&})}N873kvglE`xY&CCJcfsSW)_ z@4vUexaBfQ4%dy=c*SKYx0aRi%OgrN`3FCWm-3T%DbH0<%2O4TQsOIU0|u@@KdBe$ zpGEjtHJNk~=r0szw_f@sH?jgY*ZqO=HKDXF*W>+$lT~Rw%+o2NT8~F^k-fX29lH6T z-c3A3)UVZlEPEXp4s`u-{ehzn!+_bN=wZu6R+f5F!>NJkegqJmKEq&FZrOCQJ*P3L zv@{E5&kQlhvnulN|^nv!oJfPW^JghbtR^z=L`Qwx-p!gA@_}EAJNI(7-r7g>Uz)W## z6hi@^ES`qh=QTVjrz%BsmuEW@9?(zx-`vmH6i82$H+tF#o_dfLpfz%~LTe56hw)Vy z>)%q37dl#6_$qa5q|c|VkzvaHl;DGkN(Xz!-8wXxTw7Keq{3(2lQJdYQ32vKgk=Rt@tm*I>=?+t*$`E z2V-&8A8AlR?Dj|apsZfl^Gso)+hm|yC(Fto;ILKE2E6Jvsuk>P5b+a!U(WV*- zvXAdIw9`Bk z1+`3&w_`qY-vVc?po{|f7S1tSpseVc5U3- z67}jiFiGDX)KAZ^f%&FK8UkH_r?3vOV*~W}kprTk;>%&TYDV-8xnApDvTki2W*L0) zBu|FS7 z1@_dF?V3h62gH^3q<>lVh82CP&ENByl7CaE!PZw%a5mR5t`gG#TA)boM3V)Yg3o{z zFQx-5A%Oo0UfEBESN@aW{r?-ka41a9xC?Cj&@3O74p}3v`aSA`Z#UD1ThgWErzz!m z8a?|PJuCevWNiy^K)Y3bW5E9-q?|MVame2PH^_(PlI?qbve`YYT*e z75s_~xjS|U`JUkyj4atdRce{+>x>M+!lI1~*`7eWeEVeHBl452x1kjMvXDZWCZh&c z2%2gb_q$S!6BuXya;Nn_)m>HTZM% zZv0p+m><@iT8&4m0U2kBE3DNxscxpeM1H(QH`a9-bv!?zz5h*}|DWMlLgEA_+by%9 z4-Qo7uT&1v!q%hOJeM}lS)uLu@9;CVl!P6%WK-rjK|C|Jq%QJUkA~Gn?yzHHkxTq( z?Irg~{%L(eB%xOxZJyiQxBo=H|IoKd>=79S9E;x+YWms;BUvT9Urg^0l=AoL>bLsn zQDIJz{qgn`y&&d4rGl@Nn!VHC)ODr59%1rMA3+6w8;7{h1W`0YOre4|_6qTAGsM3) zV8OyT#1kfnJqt__*Hghky+YjjGZVzSso>!f10s%^0r5FA#OYM9xuiFU^UV-{K?NU- zL$s$QAWktuv{S*`dWAUL4DqwODgHMO(QATeGei6v6+E|Bi0@{bAg-cu5T}~xILi!iFcrL`SBTkWh+nS2f?^zE!~}7m8RA=1 z@RD93?#(hm{5=)yDK;RkG(l{dXM(tZ3VvAJ8^n4u#A~SFb8(34Oc3XqA!brRsaJ@X zn;~}9)A=V3@eLD1j~U{7R4}hsh@W0!g7^d#w8bGFF+tpUn+akq72H3zH;DI`Ax@%# z8^;2&Ibkiec@;_+cBk^L`1N zE-o_qQ<-Y?M{073?9#_IQ||7+QsJ|c`t+LKr)?L-`vfH$sATMFBTGTK&A10z^?OD3 z@ngKwA8$=DDv|wNwUWKC_Qm6Qf|Ef;U{<+b9e&L)?28 z7916aSZ9LRXomPa6&%nj#AdGvVm%dPR~ZmDm>?FIAx@=&o3H8(;%#P#ms7z9;t)SK zK|J(@31VL=cx$f^&ox8*bU79*i9`I>1aXZS;;U3}Sg#P@zR*1Kzon8##~33&CoM7Z zZjt@#5nkyE4&4~}$yDq0F};oaElKc4Qpr_u__IYB)1h_oM(eie!n1Su`x zie&`!uTHM~3$a6MO##lZ?tV>8>@18+O_}VQf15IkjidL^6vmTUkY_-jSJ14qpPE&=uzADCyj#IV3XW?|n&|nqDBa z6vPft{sq0(5UO=&Z?*0*YUN5TxyiLYT|)D}w_11iQtLlR$s`%O3|X9eCxN_=sUo=` zo^Mqu2UFSYA_?E_>3Y_WCZXdUemy*Vw{Q-oVJWt|?mp4_rv&7c z-U7Uz1#g%Ni_G$1Du&@v(g4p1!la18U`R2V*)bdDRgjEDh}~zuA^E>R592NI&Qy7N zw%JP2qT^4XITH|FKNB;$NOP`6d@H><b)_KwGgILuQO z-0@_as&v1+N|R?}T9qPokNJfolEZ_AP9QX8jCr!I7PxX?B8dD@V&RE30|T5pbw!dy8GoEyfu zl5EAbUc6##CcK+Utt$Z}Ih3fH9#qSLd=YPX1ydfNyJpIv*dl0?(oKnUo{6B)8?%KA|T#Tt6}=Five}@frRa+ z1a{mhRn?YYbs9qbzV!!Fp)@HK?$H&VNQ#o8`>2m1%pdthA{>CC(Kb%7D7g(g4Y!>> z$^=Z~bxL>Tf!|AnSRZoX$!qeRa@6m#7#=yg7f#(CbqRi3Vxz}V!P*?VAXEVh>5{OK z?x+5DWcO_xQs8vdW8_@XIN$bYC++)`0@&VIYBw5;IP5c$vF)>5pRLt6(VAawy#PVjT3aW@; zRc5NnKp)VJdy41E+zq5a=C^=k>5R^cm;`G%n+~ul9TSOTV&YyRVe-;txQ2CGZ+6rF4-&iNCMn?Z0@0+Amyh zjgQ8zC?aqfM_@e=U}mFKd#NeqKmG`_g@bxa`JeG9`g?ZjDgRSlx;thkzaW8-!PNhk zsH-~wfA$wlILwPv{%m}xZw6VIfDAgAc0KiTmfp{-FthT0mUERFUU3E!GJ-xbd6tBa z3_M3Rxk&LZ!s}GvE6(M~e5=ey8hm&!vCpZTeGX^W9Klq^FwX<5VDw4kpu>RzGmRWy zuSAe8=j55`5;4;yLUfrius6CKU5j)%qSGZdP^Zh0@6+WX=r6k;Z=vADi7xo?47&W1 z(?v|srQ@j|qRTJ-E4sXSPcmKdVsW};j!LEr=D)rj$o*AgIcas@h&K<{(N<;8b> ze+z$vc4_)z;qQ|+@X7jJUh(sSL%C}o@(q?Ebz2<|a0~t~sHq1pHDsyluaC=81v(i# zVRrCIB11mck3!#oLA1QTN;CXmkfX)ff(JYN&Tpy1g+_<(JFFSKEYkCg*&3bXD10v- zb=F&TuCZZCb;M^;S$Bv~1IQ%Efo~vQ7BH@>grL zue50&*^Sn0;T&&y3kp!m+!L^!Idti3IUndFSMwgi9%^}#JaW<3k{rl-H24pbPBvk4d=7H{8B@7p`&=civMz5m&WUX+X?< zK&iiL)XTdfZgKgRwN~;dq-dG|yJ)2~ zk*0z|vDGV|Npgw@2g}SMZ%V4m&9>;}IiCNsF^+cdKUT=`?UzZ@z)v(s& zMS`l->9Xh>D2tZa8i7#8wdnKk;tFp=nafNbH2DRBVfNtOpH3n~{hoP<`mr3I*a#*> z0bOcL;zESL@F=`9QoBU^RiO3&AQr^>2k1zRF}$9Gv~=)F`rWF{F2u_Hq<03{_d5GpTkL69N#w?_yh&y2m^isa5D7}5y+ z2!lr#5UQn~R7V}U=)uI;%ooraeSTyH+2%hIizwpe31kTB>XBEI?31hWOzs2;gC|!~ z0*YE?9P-H$I7=+!Or(sn%*;?wWQ~o)LCOsda^eu@Am2NiESO9B|DO@IZ=nRPyI6XS zlZO(jrIbj0#p={hK&wD!p#oLf51rs1ZeHKlk?~MUeRdi2NV(Rn3`Ey2B~XSI`vAEr z2ccY6knQ~gogLh=-3!2iT1_pw*@$hnmO{hrL^KEB3A{n|k*&^llD_D-k6PCazmut?^9^B@s9i zOud?)2{OYh_YazWjSSj$kWW`xk~~oh;B5p`G%2A)=$ID0t{9GpY(Zye)SQQG6!@=HIZt8bvGQ+{=Pcd2`vM5}y|yg05o zH(L@umOKlT9nj=^OMuO5NZwnPw8!_B@j;faS%k(Lsx;$LXVYotAPsaE{=S7ZbKHOKw z=R@&lNyjKYBUa2N`=7UWZa93FnH$c&D$WfrSZi=Yv{n8eal;NNnHzp~us3e_!LJeH zE4@F&4QCPkz8w>v!!^G*<}g}8&2#uyKRSn}NXc{f$%DPjVLxH>=L_R=*lC`_PrVC_ zjvmn*cK*m5#{B;`A*^W^8aAUslTFGcvftjyJ)HmePLfUPEvj|Ng}vFN_S(!ABbDc{ z%muQz(f0;wJz*R*{>%kN zv}b+_h3;`H7n`-GTT|!`>3S`ajdvBcMqH}69ZQ64O40U!=A_Iuls{TvS+@8Eu-LQ1 zHzM!}7npl?x8Aew(&Ig2IgJ=6dC>*NoigQ^dCl2@Imq$+Lr~I_pzP40ypnFV+1*Jc zKRF-963+4|M0}^5wrokQg#pWHA%E*ZN1XI&7ghT8MJ>c zEs6GX3Ha{J-e|u(EzukDG;02HrqP?{l4zerP?XHxdNbMtrJA7J5Qp*>hw>-4AUV?IN9LhcprHxZ|EkV(S_Xg#KK1r0FPenf%Zcz3_5@mn8>%XIHpidHI zT?BmL@ZKnUiK#as^b~5ocDT_Sd#ahT?_E#+FTM8WQy~GxNl-H4P`s&T$~F*`*m=D{ z`Mn9sPW0bt-g=$^r7+b@*i3B38fUjQS@lnz0wUiS z_+AA+a;26z@N*>mJmW5pVekm4_};Im|L5V|7Q}apINu#heD~7rn8wI2REhkB)RZr> z0}dEB{u7yT(T^}=Y+(+yu#=@ z8~`Wjp~_gnwbqu+9gF%Ep_ti z1?`x^vDCvoc|9hH%S9M19A;p&=D)#6;MvdO7^VFnMvdRY=+2%W!04{&h*A4F21Y0T zUoeVj1wVk%$nRmqzWY8#h|tk#h*0G@@rXVbC5EeC&;^`gT*?&61;%RNCol`lMvrOm ze$C&e;oCHkP1fJq;HM3^41a6Kx3GM#c=QClb%`Wejo@zw=CbBL1+Z_0rBeIwH+mZNo zq{!C6&&F}6>1y!jg2dJLxWhRv|F~m-Kfgj9S5N_^3V_Q{sZmsF6qK^vq>L-PN%j{u zj=QSCf0h2E2%Z!L)N#cDs8uYoGQH&z_*o({$G4d9bzC{NTrM&T{KU6#nDBzQy2y3;Ns6Z}wYa4gcWhUD3G?}R@H*Q6-SIenWdo1k=kd2nn#M!< z;S>Pp9%tSjWQvOD0j9SAzRq2?$Zd(v)(eFLA@;X+U8a>=qN0(=OISJ{zAv3+y6f`6 zR14i4mK9{rZsyUW(!;YTEdlRtEISjN$V0tYI^_SX z7xqIxtrt%wdeOc~@5L70i(9JnUd;Rz??wL~=>>KoJOw-Px53m2k$0jAiY(iN8dyto zay%{C(oxBHq|AOXm0!r26=u^6JYtAPn0+>xCj-9cEoz?9P`8j$*9zpo^w`iGUM6JN zxpq~N{qKkHi2N8HuP5;M@J$_$Z#W*;>3F1n4-d=t@t{%l6C!^;dv5&7rVW(oImC9u zBn!%|L4G=&BA-&6j*X|PPsdEaZi2hudDV=d$YxC7iO4S6YQAwbF-vPEV}Jhc zICgnwa+-XUXn8b5w0u^lWnELWNLp+W z&O}_8{Z#_-t*`5dhdAQbggD~=Zss>5Ew-dA{pFbhax76_GV0&K>t}@Mems#K`k&(j z=(*xq>rE?r?0}fmfzLA1T)Xbh390av_K$13s$XCG+4Gp0GiPSboSC{+{SDA}%Yypk^_CipJg9+2gd2=YKS11ktjXy=D1UV9 zZX8;5J@6g6v*fjC<28-FHddS7*Zo_J)i8#}`q5Avt2B!`C(l7n1jBr9IE5v|coP^N zWx-Iv1LUC`wc`9S1dXXf1rO-4Z$Ck!C#`AL^!h+w|8LbBDtp2BD4O&DbHJ3oA-%rH z>5!^vipjGv4^oj*(iZjJRE!XO$x0AR=J=c~3_%g5Qv~KTxhX~gP{Lzs4o*vT1BjT@ zvTcUS;%Of*rG?}+>0>muG}PcvqZB7OFns`SHK&Xr1K;MG*_|yD_mUEnIge|{_2V!) zc#;E8xuyiSqT_B2_5{`QTpK#}T9r-@id{cT_4~lqX8MZtJ`%;`Bhl}-%qTt*pZ*Pf zBz6lQiAF9X(F4^ID|{sKp`XhAXvF5?Xg~JhL-Lm34Yg#ceL7|_J>TOAR>ZrN`ztVK z0@he%mbw7JZ2+RV#e|@dIS*8VTu6Z)<1IB9@YG2mm8^>O8FfH4xXFq8wiJa>?Ay9! zH7}M&Ik*KqhRq@?0zBxvwWC2d`+#PjIe}avjR#YIcf*;8qYDM#yiCg~z4v^RNTwB?et}I+T4SSV)%sHU^_+D7ze(J6xh& zLS;h#_4303@UXcK5H#)MWhClMQkhMx<;kf=o=41B z+$yKh^B2Ro*s)ciL4C1Q4C+lD)G)P!jv)m4Rbx2#>@7pMzXyQ(HYZ?cM6#%FTunPt zsWVMB)sS9`bJBqnS3s_n%EWSX$*h94#{t~HjKR%J%nK69Y3?XAap*N|N~^xR%1R&Y z&fwOrTqC?G5|jj(ar zq$L6r!9C+)t>G>0RN+91UU98_dg)xjEzADYt(U`}o0Uc5RnE9OoHN>nAZL8MljeU@ zFwto~xd9Hn7}o40mr`9$yF1C;pHApSD?DhioXfJT*mgk?Rbe>6 z-n{ROW2#MdC@&=(4Q)H(*>P6k6D6pch@8$;xI7${=Sx}yl2!5YB6<$f;EvsDg4wu+ z8TihqSqHwjoz8!BY%Tl07d|0k9xaKKBPvXqr1s^zs)%|INkO9uai%UnUVt-ogo`Gw ze+|bRyQPq2qyryNzZzyxTO=w?{XxZim}Zbl-F&hGbu)#c&)q!#aqO%Jo^0ZD^%w`$ zZ;zLK6Bj%l^xFaTNz?JhiW!LQ39_&0NlYXo7Zmsho8*EL@(a)L`t3H^o&s_TE(0Q6 zPotf0$)`7RP=yo*TPKR4b#LKol#T+w8&tOvzdKpbW;6Tgn{JC4jIjibpDz#aHtNF5qFKhX-o}s==L&$FJ zZjW}?q}?gn-F^*m2PrS_jBPOn{XY1LeDeP=30h9oXgSppj1pbPt+-DhEsr++DJ^?` z(9`lj_!Zj9mwmKXIU|9{b2pJ^qSogm?JilnvuSrJ+FhzPwloG$hDMZ`;gdp7`~_z< z4H|eF_-T6S;5EyR@cK38tl@R#afFwxod&N$g4b|@SCtN4f7z>t*M)oabHCGG{oFtG zJ;E|mgC*@w(pY65?lEdS;amqDn)?kr_j%%zPDC@F3zchk722IwyQ|Xfrf8K-V_1&X z!4enyoAVHuFB`?_5X=V#jJc*>t};+qq|L11b%D#89=aLH^X52$Nf0F!&2^10##)2g^2dL#z zXj*oc;VF+R45}JBl3PtiiA{H!410jyWQj$}-O!6+C3KFR$d)-lY$grb zXiqM%iJ}#G0fzEZtK!i@JJ)QR!|JYYx!NL$6{xduJEux;w4$AjM~?)D)f|xB-V&;{ zReg&Z)%x1KFY2?GhbmjFuj~=1OxUl=pi+u(G}4l{Q(nATS9Lo|*arf?T$h?KS9szV zy-)s%==hCMOQ6;fC4i9LM~_6DgDJQb@$pu0g64|^pOowW+)9T}NXqVwQtlL6Cj)24 zK^cFlNm%rzpl|QO4ReIMWbHCK2*9pX&>_%{3sQXbY2+7-ffgJ}gNH^6nz_@X)E&`A z%5_OM{$~!J`bm?eUHZBTZ7IV>$`#qZ`dk;>E;L=$TL^3-xlH`(CDmYi;7o*NO_)x6uCQsR?Jl zD~(&jV%w8dPm1FBV41N&PC)l?lh;DZ zSGHRzTiZf5c<7nE3`Ruh5HXiZHHzN8U(0;IlzD&Qh@2j`GM#q1`mUrDx{>AtE{W!eA=xGHGux@`hMy(!kOF*L;8Z^4 zx5fCj*r}`>MhS^9>}2zKs4xN!D-8f-f1U|F9{hRnS;xFxF;m|!Wo~8XKM6pA06^AE z*nN`W8L@9Z=w>?q@rS@3rW$WAO^lbOntH8Ubt<-3KiU)a}%^xB5W+UNH7Rf?b_})O4+HW@H0RpnZ zd?F8CRD(GlMYbRRHU5W9zG?VTeBe%JyFGB@#L$~XfkD#jgJE^;rn(OQSzQOIu5Lx` zP*W_TxwjK?SCED;S`-&`$&T^+e=2T z=B)LTCnAP_&1#txA3MdC@t!fz9{ZcVmCi#Q?_FripmbYkYR+~kcU`RI+?ojmjLp?s zy%)oL%d}L#gG05OW?lenB&OCHw43q+`!K=ZDogcTcvk=%CGabB{yJ%}DeF^j`+@$! zrobUQb48(gTfWUi^AuLCxo0rDBHjgk{tu>%?cHViaR9~5lRFqUWUcpqZn>4hEh-zn z$ut-nak~u&sy*^77-|-b(wm3@7cf_6{mhQgvv^GG4bKDLM$kqe7)P*p*yJC8 zq1VxPjz&8v&J%Q?0gn!TVG;nde?YvH2gS@%Uc7&RRUVL#)#62`SgSKwX$@8aW8HO% zo5t_*5@qR`d-!OVe?YSINRl)m+5fQ3KMv0%O9p9dvcoA$dv4wqbjnj~RUT#kMBb!8 z0|}*-b9;i5rUbWxXwU%THa0J7kDC#r**cg_c0l}r(v3s;=PuPkc$v;Zn2llCeNBCU zHDY1~CF4tBBW&sua&8tj!sTcq{PttC5jL@nFasnrwh?B^xt!P>kzuHem&i;LNFu-2 z=Si;rp;$dDwO1n34KCc6iw9(yu11n+&}u00p*e?H?64d)&<|JX8A2N zdpj+8ifS>L-hg&1VbcFR2JI#*Y$&mMl&voa)5&Hw1D0fp4cpL9eZP-s%!p2wFN{CUK*>a!lP-=rDW;Jgy@j=%hr#Zo3 z_(aCJw&4!t?+cBXr%iU@W>pE2BRocW#IP5+w$V^Q)@HA@NF~VpKX^ku4^P=iE|j#& zr99lF@lx1+GQ*+x6~x4o=a*>vUfXEjYq-u3{TBXkDYx#3W{BQihGez}sV3E?e7-{v z*`7Y3Y!rgXen297=p!VuJxpXdvhN2bvRs)Jplq=tdcMmQtcdq054oUt9M(A2tivlx zaOoQeyOtWqWoJm=Z)5nphf81cn7(F9Vr#ex~SiE=PI zY+LMy3>-0xYF9R!*=H=&Z;PdRlsk)ggP{Os;z^!IK7+a~1`m6~!{$<4OIGr>*jPa} z1C3#v<3=OyhK7$PiN>>(#^Y92JtM{wGnQK1=+e(UDY>M3?Spc0dHE>JVX#yrNIfCEfqU38CUsoZsKzMIeBtrvU)$4g0aq~rg(7_lp$N))3)w+zTR8XX< zsrHoYSmDZ(5*4TY5${IHx)JbL_ea-ac>RDJWv9M`dqOq{^ zh9e8xCRmtxt6*WkF%OjbT4E=4 z_O--SIwX66JT*6vCOryxh_%eCw=AodJ@G}d$5aF`+{j51U@5#3P>%7gN&W~Vw&elE zfVMi6!N-s2qOu7u`UDbO3e3LaMsJ+&I4F35%aA*vhS{73V3TqX0zLGbl@y&nK`Zqt zpNBVx*XgS=n<~5g`PXB#uhsa|xs<^vS%RhiL_6>Kz7y@eF5d~0r3Sa!o1a9MQe~Cr zptVza7cHIS$gu1_lV7Qwj+VZDAk}*>0^w60EK)+aoIy7wgusjfdl+tkTcrx92F1`TC)8}RM0-Qf|EbXX|KMIQ#kr67Rb|F3$3`r9EnG&zWKi&?beON+ z8eFpWWDurMHS(|~xq!Hp2Ns;;S{W29-Q8IK|F zA9h%bA0sVS7zN6|S!WG&Z>*+PaLrB+j)5Lq4Tkgs9DxHRu1k1P&oQukms^CXK=2e_ z5;k7UD#I1ffia*skD=q2qj9yshQ~tRpXcw&@f@}|KkR#jVQ}xu{bTKc_GYC0=Z@R*W~^{} zpxtHxCUI)%Zg?*;br8RpkEs%AZ(O)oI5A%ko?Z!@&x#iZc!Y-y8->U0Hh#)QuM|ah z>x(`oirS~hPte4&!kP~PWw0m>6;k@;7MVj*#Hr~SsdWBVAq~Em{r1)}k=GkYgWtqM zK_$y%@FvRCru@z}ejLwz2y~aJ+wwb`wdXX9pk-dJ%~Dfe*@^N)S!#a3X>z*(#F$PF zhtsVL2hayP;}~dQJ2&tcpaxDTl?feMZ=gJVmYRPM!?Vn4}9mTHGl_+otc zk>*p_o1dwHJ`!)!R3Fq;g-koP+Q^=&HkXo`iz23PHB5q1hf5i96;Kh7jlW@7iPT;y zIBfjQ=~4E1b=jIc%8Z`j*_yKPsBnUEb5F|Fe718T-5kFxU$7D@YG$vMy7IrKus8gP-iPjx{A&}{795` zl5IsOF3K3oZI&%jn1A0{lGk7vYw?|1XTVr|SsHZVHJ_|B*(q;JR3Y zdcdPZr^BFYC+KFvJ=3WTvU_NdCufO%J@PxXoZOd1{41czW^@5?p|@;GEHrAY z$F?&Z%AJkm{$(XAtU;>4O_}UoEx4qVz$l*2!7u>jwi1`}EM%%ElV)5E733OsP`JoK zvi_zTH^MVVEFO}l^md@dqDFxAsI-`&;z>WsvXSx7*p4&o=fDFc2M(O+H?i-lfHXH za=6Osug+8Ll!IwecuX~`H5qKm z>f-H-`A6f%p)7`x5S3mxlTTf?|DZBe9IJk;_demeAG6pPitsR0S!TnQFXWcDQT&rB zw!)ddLcNw;NLq5~>S$W>{zBA}cL^=|$JIhh-o;vSyiQBL270K>ejT;sU47J8XZTR~ zGmu0NbX*W?sYYMzhFn`5h_FF+zU|~7M^xpr&?$fynC=UV-d+!w@g~OGkE}dE@o|RA zDV&C{P!KF?DS-@rb*D4z)s1EF>Oy{HFA94VTc*;+)sFN70Ox@M&dF|NReyqW8Nj)_ zNCR+ck*=t`=UGaUmcsJuX zHY_%Jdn3J!360};HjSeM#xeL5kE5uUpchTQ!QT2W!`|-yb^@QXy$KYRY}|fo^d|Te zY{`!YYrFHe9M9l-#kV$7-43UHC*6jVrURx?#dY86Y&GS?aWkau5~%h{FFZMnQf03# ztB&Itn#UhUX>&0A_OFLmS@3F7C)s3q7xPz{0_{OlFr{zk2dvL~6(%EfI6S^aD+Nhb zZtX+kMZrVLKM69E#kbn(A8<0Txq5@w0$--#mOSdINr5RizSZ8TxFrr_#N+h1VSY^t zRe^DX1K$wS*o_hjnI158gr#@)RVPf-Pr$>t$(@ml8nLNMcB)c7G>~{ty6$d9d z9Lj?6L^IQ-W*G3jRd%QFX27J>;G`6XGL7fbOnbZ9{G<|&pYDW;(Rz|V^_fKZ_~0bK ztexwlnyjKFjGXRJu2*YHf|~p-rF87_T)LV*ujPzg-F_;ft7q=%-ny1HdOGXW|7TA> zdhyIX?R{=NEq}4Cp6)%_s;9VCn0nw`x##N%B7#tNSRVQ^mB#xN6K(zv0kp zoElW*1r@nfkLH=N&f60jjA}}Ctg|!JX*RH_aGZhJ!P8u864gq<%<(Klh1tJTb|pgX zY$|HZ;k@iQbcn*AU{fkilh~UmITHOY_&>?-O2T7ju4LI|Ys^XJ;%w5(NmRd@A-+Q9 z6x43Unxr()UvtUsJvd3qlYz%Zo-zunGS;|}?@DEk4J$w3r z9tCV=>0w&YyR-|-Nwku_>bX;Il~$vGZCQ~SmN#ZDl|8b9%1)Dg&w}V6t*~KUWe_BG z-NXkglQ~a7=HMX4;K`IF>H-;~5*5@~J}M z`aKexj^nS7HGmchS^!!fmHZV)`LsQoofaA>;((eBV6};}H#c2~z0KEp`(apb<8Kb@ z?abR-_jcQRXW82x;k_-rF08lDe8jyScDjw;LSHkfug`5)aknil40kcZ7(r}0Vzlr4ktJR+rA6Ea%C0zgSF=6$;OkcH&TL1eW>g%tfl3#CA>rV~u z{{T_{-0=Db&{wZ*i&nqu!*JT`PGuk3regD}Fl;7=)82~PRBU2L7@KR)miC-KhGBEo zwPD!&5v))C&@E>U{xJ=@;CvM;Q+-(C~e+e`laC$vYs{jfXs z_L48cr0xu|;&hSh@x6Xs6^!Wx(sfK$T`CTr)UPNs5a1(j5i45Mxjih0DFJ)&o-pVmapWOo4sj{(S%FM)9Av3VnErEeBvyAl)G4$M-I`<*qu_uGc~Is6Bulwd_}$ zwa)T5o(h+Sn0oz&+DJR~`K0pzFc%nO3vIdR1JaDSdNJfTKBdK}867Ant#F}RS=4i1 za0J@U3Vrov4mUlY-y_c3dqWf#=F@o3GxM zwYqW~+3BFBH1vjcC_{SgV}lnw%7#bT4kf!MojayS1@NfAq4d&~qR>9D;y9G^d$J}8 z^_QW636!l|OHCeNqIoPkE#yi$Dde?>x0w64z$V#ky*?!ytUYzrsaOVBZ}_eGLL=PB z9n_wJ&ylub@7+powomG8Tu(|e%3=X0u94{n=swRu&XOs(Iix(4%mN`=>#&FQX4z>b z7zOXQ2JbgxL5E^FMG>Q^#HvIXMtovFAj``4G1HkB<9N$vKlPa2xuW%tTIhR%kYFt9m!#~T0 zzF$Cl6_TS0&@&dE;O?HEy^XvSb-S8_Jk8>5wt2MgS5oSd`GHee`!NAUpVaB*)L6sJ zYC6mB7jdsoi@Z*kLLYId>h3tK=6BMZf;j%2mEzxRiViQ&$KmkG|5y(%$JxQ_ypI`P zbB73c-N^8&4~N%?TmMhsHE%^Lcv*V4g4bt97+${&W_bNLxD9wUbs_oplj!jJ%ZhM# zU9dtAuY+d?ue~2Jy#6{^z^jzu6(0_-s|V=dg`(&G2415-Y6Y+FdbOsn!wj#Lw==w! z-QEVgmUc#XU9d4aypDYs4zHg+)Wd7x*}?0*4;fz9+%DktFvBY|9A2k#{!ieQ@nI`? z{VSz4eH~(WJyFQ;no$@PUjBxm%423a|FoVUW(#Vum@;D?o$Q*nl1{*bmN*{wf#i>} zk9~%FqPd|x(U`HHix6`KF6FTbu`Tq@c-q;D??k?>PvBOl)1kCaU{_a+s{lWL?kEnb zf8UWez~o87-GP0ZEY&!AS)%@A#aN!i=t`>hhZ#_s29OwMba<4b2ag9;ZzuGE!aaR{ z=Tg3ccaF&8^IuS((Zdq6XDA!*!-i92-zw}kIp0zgl7fz6=d|#A?)m!h9*uCa65#u&bl_CLEl#9b}K&TvoBgJh8C4)zs(_Mz^GuJ*B#vkCSTi=Ib=6nJ(hcmBv- z{nrC(SNC&Q(d`W_!4+Tg#5oT|`}qP-;X9>B&u+`Ida@i}HXqCFZmV1ol>-o*m=_EV z3&irqT@nnT%f4uFFs8*({I@lvCGL^<$a}W_&#i1Z8S>deC$w%(^d3{*S)lF}o6_q8 zw`zV`U5kMAxRoc>*WT}E&cHU|E(sX4WqQN&s?*XdJ&kH6B;9uI?B;eS)fu{{J@)U` zH4`FY1Hz1=qj$3ikkUL3EyIMGNzF~_?3R69$~OnyG!fBR_{s;YzT+|8OyBWXOZ6D& zL|}{);8o;M&-omI{shi*g*}^dnbAIq`v3Md7CoDtrR7rbBOLzsD zVq^2;+E~z`-x^}wKL~(=lyaOiVIchP*wWH`1eOI42i@@i4sPm9Ei|K76>!Rx^)#!n z8;QG6kFAggm*d$3D8q;D3Xz1yqLXw{k?J7rR|0#(<^}6cO>_>kn09Y5K1?dwl$>%t zYP?CbM7n^?r+r7~;!-eUQ=!caows3bM>Kt*52G{4;*D#2f`!cDWQox$*~vDp--EpPw9RY0O@#gl%E zF|?1R`Vn;k@Aq?F5#%hein&}4U~L#%NZIrC5pLE}lP^xlad;(K1W(eUnFzG+U#Gkd zm6S>@!!V@g6n2TIIgd`S#Gl&AnH6);IeoMT4>V<9culm&xZp>HLzz{0J(Nrx9Sk_>U;E_{MM_cW4^o6ZQL?rQ8yGXT zw4Ejp-+#AYH!I3XAU+msLKi^}4>)hmep>eyaP+w5*t5p>^Mn37e9xX29pBR~Y7^gg zUnKB--h9TlDUR`dct!}{UugL54g=Kiy=3-&M(_jkA`rafD-FR*+p7pJ?5iO-g%NyE zMOZ(^u{Xi#hV_onlkQM1_?ZCbKi=$&Z3~B^0EaFOhqbFL)i3F!*I9g-hIG?!I-Vc& zCbLU5F#QZ4$4cO`J}OieFnc^Mw{qjkNb&0R7$Hx7T|-NOzY(~x-gC5XJ1y{H>0NrV za4UOGHL*T1{mK2o<|3%6wh$evB51+sBwColwBTV{m|dXK0$?XPImiw(syQkZ%$yrR z1tXaX9!`u#1r+{gRN_94OJlC%@Uf>&tg`)54OB1!b1#Kx;5-@)0C33@`#D}@8>}ze zMym2Zt1;s?y3R;l9Zr@10jg^5Ftz~+I*<|xi5dBSGApue5s;WRrw#shL7R|pT_7M4 zGnXN8IF=#N4;R!GutS8itX&_nuN1?8rmy*6xwb+}taykJzcYOq`rwus6x{OHXQH_pPPd_} z;U*E>@^8-ySHn%MgIo58F(_9&imry6wBVNb(60+_d4|a3r`oghSKv|hjuLPgF@dDN zu_u~{rzMPG0pUR9wV=#B0x#1+&1b#njc%Yl&SUe+LFL4D7FSOjS?aoqsT+tILphE^ z>c*15Ax@K*Z*nyV9hPch?G&^OMH3IkxiqstI`la-xlkS`VAsTHv%U^$A$@?CQp(kA zniKxU%8nq?FM`!yNI%p@>niaS94{YSNKSCVhx4-;5u2ikujK@W;ww=pOV!7?5=Ps%IA4F?Ki zNM2VdKGl&o)1k!9*E#kkJCuj&kEoUpk!GEBox{hGzC6p?q^~4BeI*fnJ^55L`s#TZ z(pSBpuZy1+^i|)QzRsHn^tEmZ(pSAkU-FfM>jlLcmA?WLxi9}!VElgia@6yv( z(L_Cc6`ZdJ>a$-kP+x>~^vv}2qQ4b=Wk;c}nrFzQr>C##oqs}K(FZQoIDK8XGCFRL? zuZfeF-680!!+j)9zHy|9)}G=!#p&Y8K7hUycZQrvw^apg>L>ww}a1;q`zs|||#V0(z-@^uvV_uo{CTgMb9-=|UBCl)<; zF4@fB>3NbUF8@pvw{LDZ#l8Mfh~ktx^jdB55u`cayHT`S>Fl)H%~7@5zdR8|t9=!< z+S#gB`#5T~Hr8r;gtS`PjF*;g)@ilNw~jolM46s+E>9z5nYPwS@ zoyl8PrbL>7ilWPQt_oVc2K}Z}R)2bo)j!NZ*ru`?6~Djs`|t4kLrnyJM=^fC=+vgNy1bK6R_~s{ zz4f%P;G16+!tXW>zxN*0;kW%``x&7gWlc?lx@y`agypyv6`_Am)|AyuowB-FudEj7 zmDO=y^Neb4o*#=ibE!BxHcH?OmD4w)D5u*b*Q-c+sF`ZYPz12HrkST zuG;ADk44u;_r|w5b0WUr5hJVr9Z2PAAamN0T}l9Fc0QpD3}= zM&UuTmA*w{YqlpcCG@1i=Sj-j`>R-g4>04`p!z}Yx!*B22-)Xz5xPrE; z9);J#M!6k|?+CduCi%@a<0r1xNsRcg4T&+5r(YGPNsI>_VlpqNAc=8O zfa&8hk18=<%SYips9>Q8WX5If^+Hj6BSXo2h&2*_xMXMyNrvV}G(pQ!{a4aR3Rpgj zce&(uFy1l>YO=`NlcacN!4MaWqcOYk*l|R71QZ!rB$DMzTnB1f7{aI&NtOY@r(V6O1_hfKy0< ztJ>)YeSQNE`hwqi(CFXlbO294u)h|OpW^XP=+MV-KgE(RDTVQr0AweQITBU;JbENT z{OobRCVm!%HTvQ@ZuI5f^y259sN(0KnsD(m<=sf}lc@LApOJdwUT>3n6ZF)ZK-7D4 zZ8YlLavoCe3PHV})C%fd(VBXP!1$EP2}r#wH0s5NXQ}Vxg!G+j1`Fz~xSyzZxx&;t zx>%!LK;)eJHADjSw#4dTI%qA!bnrn&V|_Ta<{G?6o{qC3&ooepR?(>3f>JIE8e3`t8G%{$v!%+r@&6;Rb+0TkpxmZx;bu$E2E^bYgy&eFn{B9glA4XA#!#=C97&Ywy0o(*Npr-zFu{G_)dul6W04H_M58vF<;o}!~O%_0pU-I5~z+ykh{-%Kvd)*|Kd z29+es+91T82X%y4B>T2LfD1Mg;?)K{>>sUX*!%YXIUyQ-;e^;>Q7c09Z%0z}?L$)h z@udlBVpe~yPQXiJ0dFjccV1f>rJDoUq}-`o*cZe*3B^0~T>`moc}T=tp^CH*VN@`A zAc}VwoIMjHmkOoRLm=i!B<2mopvKvwNZL{UINgL|-dG{#m8*J9ibvT4uRyOM)}r_y zV%_F%u#^vzeWOQh4vtEv{GUHGvDp7G%nkC^&olMTGia%-vl<^9QWF&Ze6ZoQfg9eCI`+EDP6uj;$yCfYN2i z95c0Qf6%Q|olm}631L|m8T9c@2>S60&l&VDUj5&Ke)i<(pr3ZCP0-(cN(cHbRSbH= z&k>;Sv9}G-n*iueJI`wYoD`Te9prJ{D+ivQ8m_)a12*X~nXJcDC|6Ai*JH9v zNJLUDI@ub^rR)wA#0{|$w@XUGcH2!m;&62wRK7u$98t zDpRI-!?BerBCVF6AZ(QgYzt^f;t*M=#C`cK!}+Bjb>AbVHvSQYsdv8>n0o&w{-EN=Fi6k&R)sVIR5|=0Li(33 z1nJENEw#0Jd`?YVKKVNY_E*nMP*V&$lzWahspvr|F4JJC-e^Qs00uuDnDR*3HyJuV z3YKMiFrp}c(Q2t4!~&;7NrI|0?v}||s{rj`3QW9Qns`84o@v>CVj zfruG5jAz^%Ev;wVNS<*rTC&h`aN~oF!_<9R|LL5c1G6J!#ugm*4Kx{tm9Xw}-M%LF z?p^o*nF{{geHRaehrHsCw?9kQ-I46N`xLAZqp0P+o%aO;mZBoL4t>ypSgbGr44#IO zZ{Of(Nf^O2G0=WX3y9TSoemI*yPiTEktbduR#n0r8qoC=Z-J;;&Q+m6kV5%4ND7}n zqa%gk$6ArXCn_mSIvGX^{Z2(Ch1*n8=z8pINny#A=Sm81S41a;7ml_`3XdHXq|o<% zksJ7jFjBC5;E0Jr3%$1f&a^PE;=iJW1EzDM1!=EJ3zv6_pas*>v!I1`e`vIjvp0+u zq(9C?3uRv;Ev$J;M+=T4ZL@`OC&FlqltN=VrqgKNBOYn1~V3f|JMK<&`#bMgyc@$2# zNZFDMsH_vH+!I1&lPawZz^yS7)#L%>Lk%@z3<8XI2r3RrY|3(&e{vmRcK~7+&u@<& z25n5EHeNc|gtgBO)sAf=sz=Fuvd5!5a!}QC0H#-tXFVtJn5@n`PnRvObP%Bfc*7JfWQ$l6Ta-CBv)8(kB=OIxhgUTexb@yv! z%xXO@QN~JTy32L*wKB>dqMme7X8+e%CQ+_?UMsWq4^dBNQD!}rNs{aSsg;>}MAXx~ zo6EdPWo&ZYQmxDswVrjN%rq)%P>=WT^E#BFbb^nXBZw z{aP8TTF)?1CV|SN%5^8TGW$=6dae^?4t|AY`p9+NylR>CCqzA6MVU=sp^iW{wXVO= z#G3X<8gNTA;5cR9?jB2@x;W-0tUct|UXmK{s=aFttbI?zP=KTHROr$Z9l zCL75l&+`YTqeJFMvmnb~ay^zx2J**92Vy3a8wJbMs2|D4!aUeL9(YI)Qz@v!B^#L5O|gVUQfbKC^&*GCtn|K0AuKq5Qau(D$%FUpnuf zIMAS%fuRtGdlbW0q_oL=08ClB3uz}4=DMJrgUYNH+=PXdXZx3|-_52nH_CNoS{diz zAg@mEiZbO?<|euBL9NWyhmi)Mj4a9&P?-U8U7c1Yxkc1-uP9@qGP!cy%UYS=j);2l zL>U8>DU|D$Yh^w?BI@ZW%Iw~WWs2pxOXr3Vd*b!z)X#6a~?vwX(m?h!$&x9r6t)1a^p9IhsK4Sn5 z-4S8;nGy)ICfxOzuqNEIQ`mj1!tOIr)X+6l1IB~{31V2t_G9}@c*$Vaxo$g}geyDR ze?CJ703Xs(#d_ok|2f8CNPK^I>EoY1#rcs4jsLuZ+j?z#7`hui4Ko_`x(iW#`RS(U zMk8Taedja8byw+}EvvbS|E*>9`oBiEtX`?KX<6;0=q#&C|H=}_Kek0!R@ZH6%d#p0 z&qNrt=Wh~5?X*@#?d55aM(xV&I_qlhZLN*k`J2M6t8d7=Q_(al|`RrD}HQqmZ3e3X4&97d6wmT5jM;2{3K$QEj<-B%WnBZ%(A>~t*on8 ze8O~lU~9xI>#l^&vQrzyEHiG4u&(~Fk!yHsYa7y=bjs#1NDo{e0qN(% z?byB63rJtRB@EJC*E8V0{9OA!M9^6A!A1e%eV>Pcc2{EClG{K2 zxsKcS|Ex8)AJ!1g?LWE$x&8Y`+v4{2MuhyEzO$z4ChNIU^|z(bsrs`$ZBq4;J%Xys z?qI4e`ZSEHA6yqf)e+o&=sH2wp3lOly5Bmc>ex>s_($sAF#d7=IzikQ2=Qs_rZ6Hu zv^I>$-K9w6!lK$1|Jc0_A${{>XT7dIY&q9;)jKTux;py1HrLgG-w8+`9mbGWJ_&<# zhqV#w>Y#8=-MmIX`oN}E>*}X#7s+}7$;?e78@7z|K!_m z3Qn>bH~Jb9iaf#1=soIIzLr%wwwHK-G3gR5F%v^?*(kQeOy(U}H+p2^tY&of|>t9*=NkDjnn z9EMi#UM#sxHCw%%{5$;(BD0k*&t&%1n*-m4N2WAWZ|?j5>P_7LtT$6vV{g8nO0z4M zW>?dbvM zN!!5wSfBUS`5c)Y%KXQV1mzicAOJe9{O~mXS}T5Sr(ds%Uw8HakaMzL`1Qi?m?962 zP1xhD-k#D7bdJkf?d{}K;{Eg^5THnvhyTjZT!1r?i#F+tHie3A;Gz_Wq#nnn^n=w4 zAj9o6&QM*{qoi1qXDp^KIyAB=Z;Q=nknN+fv%lmX56X52jgW4$@pc#8qIp{Rlx`7s z%CmoP1YyTNje530*(m<_50c=>DQfWHS7RyoaB_6w%hnTLHW8nHL^R^NSV7|3EQqh$ zNI`s?Tc`cJ7OC$)803zNQ`*mKE5p-%(!9Ib#f10Z2)^EXH($TV=R7u6hw^L)NNX_t zQpB$u_=R0XjRD}Cj5#|n)2gkx3ge?v&ee(H&eS{_?f^AqD{24pVSR+>fg(l9gJoKT zXRc>cP_1WmP_1V<+#!xHpo$)TSjF*Z)0uE=)8p7iIDYMpXgI#%N5t`3f#dYy0>^7x z<9G<-_-hQz$HfW9L!#lhhnvSI-^JHsc^Yn4`VhC-0@~HX5Vr~9R~q5gs^ZpqCfuDQ zEAl(H=<&1g7RJw*6Os5?q2cE}4L@%%e(G0{{Qr<1KeE8j7bDLBKa;7Vuc}o1*xIT1 zDHQk_PWY)J{FwFlF%y2;l}5wQQ%#7Ug@~DY*S1snHKHfih?H#Vo-wjWN*% z$=Q27ZU@B{j3QzMCnXv;a{iK{;O1I;66do#<2N4TM$59PsUCT1vL`qx398U4@Y^x< zq>XZ@oauY`Hq!%@WWY@dRALKGN^VtE0aTUo=Y2Vwx@IgiP=*MsZm9C$zY!rjDmi(V zTsJzNwBsZ{P}bA07!91}3oti`3cg*b$K1yv?)`{6G|UZEdQ!n^t;Q+38twWTTb5(N zJEGRuNnhjVRPY+D#(BCL55KId@gG#ML)04oU8<|`5h}RHtJb(kSL4h28jGpm2i|Bk z-lMOvHx+zBt8urkMu)z}7%F&o)Ec|#Yy9#9ESRm;XzmcI@$^f&8W&T+^P|?dW|*$V z$Eo1Y52`h0>uOx2uW=+5T=ihI8t>QFcpVjdTC1^GS7WKZMl%(>FKUfF^fmsl3=7(| z8q0Mx#_MbRkP2QBwZ>0NLU|r2nkce`0VZjXSt{ZglL0fPJ?=~xH^Q92N=Ke?ZmA_} z?FlMZIM3*~16g79}S^K*uc)yj)CJ1ive^vGjoCCOq)e}C#Kjk$M9}HEl zcps5cdp{#Z=oaE%kz?Eda-_W8b?P}(+BEVlR{;y{dqi|sHxe8a`*K#WuwejrAgoFwHZW*zje_TGwFaK@gj z{9PVka`tL)J2)J}^tnxHI0oYmDL*NzfiqX-Ck1}1IpFOq<Mem0lnq#A@nZ3FA{pM>Y?{4L2tMt8uWho3ZXYkKu>W9=*?;ky`2cXOE6q3 z7bocLYz4gxDL?H@(94@02E7aodKqVeUjM2H=;7c$dKU+O=|sW)a&0!0Tmc9vl9f}6 zN$vgJTPax=h{Ok=pt?D1KRYW76FaB?wwGGAug&n<+=l#^q?@}pF2<3*P);LVjN#2;w4-MlYN2-77p$Zh>1DTIjC9Jj z@XZgv`A8U&r`WQ|5L>t6g}E4`I_=*kwzZ}*ZqTJJ#ZLi7&4*s2qhT(GviuVQd7(dp zQ#8yyN?}raK=Z@Z_$&3;vxWb{p2c#{)}ldi+SGW1rDh9OJ~ctP^NScmR*U>m33Sd| zCQVEL&1VuGLi2>268l1LF<-qbp|FM939|I_i1|U)Cy|_S{Is_KD?`Mmpg?#!B2ZK0U^wW~*pW1(XTtxd_Nr?j;E~t#$LCP5PWC3@`8|u)% zzmMLbgSBmS=#>rJp=&XPi#v@CXctTN3@xEzhDfOR?;*_I+%_(eqLoMyC7x1CByx!) ztwfS2Q7KB;O=2#$nm_G%sz;eS`gQO0B81YN_X-Lvx1pR-Jkz&HuVQZ^75n8u(KvU; zcI4a(`?8AN=QhE)7c%Fz>NxjD0A%GZ%)rFO=_ocn^mCja+(WU}93=|*juB!bgisdS zls%^r@YyWSBW=oc3!j)9R9$lY7^bwC;_^#*R!T_g0UdgM46P_X9?}^|lN^fo0ZOD> zsE_~l7Rf(jBO$Ru4~Z27iKhofm4CJ&B%T(KuniKBc)B$t+D%6J=O{wrX$=ziFbX7k zO(sa3%+Vlm>31q5P!C~9y!hmwLBiC?kmwTuiE;P0g2d1NL`d9zPb4H3=^?R*An`;& zG)N?WfsmLjAaT(^0g2hIAu$9YG2{qBVzvf}A<-dG$&lC-f<(f%DkQQsNbH{dXOK9t zjv+DW_i#v*RkVV{o;MK^w~pbJMfN=hUBI;kR?>2SONG=07%wuA6*-)N!^Yl_e*;k% zLw!hYtGom?G5-`w-Ia~WHlSAp*u!+}AuKtK$iVTw(3XS2#Jx5fC5i+FK4hJKp-EJ_ z{T}3G8tOvB>mT*GW0NWhxRtUf$d#=w`Q#C5X#mELej{8@#bICT%$f)-#q&2*yw24 z`d%NT&jvV-N`5+8t^cqt+h7W4-0yJx)#3GL&{t1Itv^4k{*F{~0+a;!tmVqB{`S*W zl9#&oJhH*fqiu(|?=-12f=&BG(;Y%hqyGCk>Aztu&sX)|f#G=wpP;h8-9`Id<+R^b z{rX&r;w|w`ytIP$=A}gxt_NOZz>CE?sl?B_&YAFdDVNBWc$XP&bAn50mzm=!y@04t zfOJYIO8rkfgPL-9nX|c+tsr-U7@WaK^y5hZkO-t9R-lH_=mmhMEYPO`_qWjr7p~># z6pZ`UaLt9Q7p?_xttu&X!xX3jVnfeMXc|bhq_)~tOA?;h%Sn{e(zNTQ@1-ci7S^h!9JLYah*3ocHmAqC_7Tl=As}*s|f6q;^abGg3AR> zVDx2Dp32F6B@rm5U%AcfEtvLbwxP1;(Y$!0oY%n{3!L2PbOe{!fNqp09&6%oblxOr zrJp_CJ46dpw(N8V+IF;?(tPXE0`EbG5-3d_R1PEQCi+thO==zb0Yh5App|ZRTC@UP z91fRTsr&7BQhGnoYkp+qo}xQ?oK3(K zI3*)THD3<}DgMJN6#rq=1OxIP!HKY3dnr!xVAe{%JDw^rOZjHh{PL}!_(}N*etV*n zp9sRBl%M3cCrkOse!I=#kn?T6#ta8=DqlmULsMPaBCkFxL$VngV}u8$kD<0XVt)<~V#M4mx{DgTJ6SHr5)F})h6pQc2j-TW=aqpMnC za8O`3joQCOjzpZU+sn`Fl}zaXMVksnpYHL4ZLrK+jVJLcJQ$O;N+h7iB}|EPlg6JRyZiewE$G^m zBG4zV4hHeqNm;~Src#)q#*j%wJ`}0Mq}K=f0@LkhPxfNmq9ipHYmzB&zQfm$$fB5A zxkbxpniOuciCc&O8aG^>dx!tWbIXn0woK?pZ@~@6D~JwF8); zxd*6rD~rM>-g6()#G`YIc((s2oe5P6UZZ)n$q+uTroKr2Kc)Yxc{SnY|INJWmJ@AW zZGHiJdu{0%=T*Wv&8v0Zzu}A;jx%cUO_>ImXv@%glU@%qYAnpCdUOc&>L!#&nc*Uh zqENQ?hlvEz!{n>lnn+>1R(3pGYY@k!`FA__w#ud6K7rBHB&3x;DC7`1e09|TXcY}oT55>NX- z%i?KsJ3>NweKV$^LaM1os(CmY`7lye`i7dIW!@^M8mS$wRy<><@!@RcZ^guivzZU) zFdxoLp*botym>^xuplP9lRYZ^jM8wMn8Kdk)c&3!we?FG$g}BsLX##t0dfuO9-sVz~oFYEo~C#=kf%LZ1B}& z8gqiWlK@N}ozCHpe%UdsKoa~+;-B%zu6nj_32HtAZP%U(vi5&b`fuAgi>pJXuuDG0H29WR@1kS80-=|zb_Z*!Ea^;Jfq<4u@rB^@RfmKu0Yrb2}T^7q|>cNgTEH z77&ZK`;Ny}ZcpC|vc1XMsn@AMtnbrco@M@OoT{~(x%Z2W6#w*Tiho)xcuO(mluxVK zYN_^P-v^kaYtTCfdS>=|Ez9ht+EvrOH`W%~I(gek_V_@|mKMu0kEwPGJcTD7d~zad zbLFkmrr0_eWOqAICfw%g4f1_>cb}OaSDK8Q0~Z66E>dopB$SKFu7Sjvw;M7$R>lv= z%UWG|DA2*zkP?`&*cgaOuh)3YP-XE`wExdNZaJD0kL~7IVT|=1ii%igaVTF_HU(i0 z%&X@e^r6Z_^x5vAXa4Nv$j=7QXRrOqXXC>^Bg%-UFUJoRkWHiG4)|AP$~x^Gf7A}T zmK}91yVWUA%yb5qq)=TwDpiQwnsrLfTkq`(nwD=J2t3#BCuJ+3V9ai5kSS}u_Z@Pb zdT2dXjEYv3NgBA`6YMHBcLLk}zXWD#z^mEny~X2iq*xdCF2L?>Dw<%RaK1x-?!-n$ zN_BXF!vWgXZR#`ceqR;vzxnm3tf$wnq4v>ZcZ=`)Qv)sY48EUZd?$>S1v$pmCR`~@ zXnO2Ct;%S;u->=lw68vP4gWZ{*|#T#wB>_jyMq}##&5R4ee%o%oBy-wt^VIE%RaT_ zZj=&iwFO4YvK`f1EqOa?ah0)-6t!dCcFB<`J_KJBT9#bumYD;5Oi~TJ?78zJv7#Udbqc^W-9>jXyAOO6NtNGvj#x9!dw$1*q#sC zu1EP*3Bk4=ms1CdBuOZTIM6a#7_1np{JhMJ+jbiMQ2(Dt`oA+|2jeXW*=}+uPrn25 zpWW(fNJ5XbnZl6v7(NZz@G7W=FC2PH+9>)Ej{+&ha4YsKWqaCLY+K?-J?MM#4Njoj z0$)Qh`NoPqoPImh2Lx)M4m&Z}!McHTQ%%sDf+mbcOl_Znl#Js^J$Z~w0+ibRdS%~r zByVWDum7M*I`ByL1N>8=vJ@cP!py_LVRF8C1n3H8hw{gBcx)p-u@rs+v)m6qrF;x# z4O)eipW?TtNROsM4=#dc##xmoGC)FHS5oTn|LRiinjeF0`lqHs8)g*?snqh5L)Z!v zT#}0U4$<_j41pimiqK}Xyr?dw~c;8ylwYt)@x;nS2 ztB1a>((t+nBz08T(ZRY6xhb|>LuI_|+ctT7FwkE1?T0Hl-bPhDGmr;u_Fm|qZU024 zvgM}^2C?t&Tb&m877@G3J72R+;rVUN9E9^V@Qr_G^8@VasFQme=HOs@@nF`{z6GdW zs0m;@>Mn<$ZD@&EKu8uDO|;5&gN<~)01s55*dXPY1os6o68r1l;!T$ZBuNjTCxe+p z+ap;G-Y&>Ed<~{7`^n0m12O(}_{O)oENh*2Lx8wWKlt;45M243G})BCLAoI8cklW5 zRaOjee-N52%j%7*0?joWEH#xdpnjfsFYZycCw3X*%Qu+<76;C98|a8eGVcXpAk8-h zBkcdP$^L)4ewN;hS!(T+=~F1>33{cRBJ(FPji++erT&9=jMPq9O`9^hv1gii?w>B+biV$f}csBQ_)qTptU(V8L-xS%%NZwi_vozCD5F6F=rG3dg9 z#!7qqgWWabTrB#b>n_!^DqL?VjBu{^L>D*v*B5rHXrxH)JD$#8jlsF2? znDQW%C~sBbA}q0u-Glc%fsiVIG7c2C(RhjrXR$D|;_A@8(SXNlu~~MSqLeghB|#xcfs!aKyv-#`cyH!X8piZN z|HUvyM{6=p-??Pbxf{>AbJkGjnnwb%nun1CyuV?n;+3(dI|oj{OxXuO==ac;27Kha z;*c{Ec_`TS<rjO6U zriXLW*FLOkdWTKlbpMBSO@Cz5H*FV9zh(<-dI&fDq%B(0LzQXN@DBwOK!NQDv&?#Q z70R%KOdzQrui4-o?rVwh@9?)&-d@ekctkTdsTICw^k(@FD*pzet*)ISmv~&`y^e z1kUDGKD|6tLwA_^OEOO3<7Jm?16y6YxfIaKGAuGikl2H2yzPr5PZFgI@2XE1o^=r5 zQOY6%QRi5bl$Q02|CqNsGEo0PUqiC;RuG5gRs1ceY#VoW{N{(bt~6`a07H$eULUY{f$b=Y&F>OXqze)f}lNAnMIBKnn#Un za?y8QqCEk}oa=RoXoz+Nss1T8jUhr|A|MQiVyb zGWn-~jB*Ms2u~O=Tl!#Y?RuLLQ_FihNOm-NngZ>&9RGjheG7O~#rAK~rfq;g3RI|A zrE1ioRZ=aI&?*7jv}lpt(j*jlsfYzCR7{|1d6`za8=@%qz!yI7jf#qh$kFm@!Gj72 zf}+O<9Gwsl<#_)0`+xVI??{vEy=Tv?S+nN1)~p8rDN5H^tEpKx z=SMAE!z1eoT`}H zkv;K42VP~~eO1KW*$(#Av&!9O1Vq!|K0xo@!#GW;>=M7~YC&!Hi5hpFYJ4<4 zxDvbJ_fEJc!T{-v#cCOB=6+#(y#F2wmyNCF@v(0mZsEl$2+frdnoA_eov-sHT0fDu zx;uK;S*(+`c#fc4^G((HjOg}Y4Y<3Z%;%xJ$Q?ab(=?@lwL2}`18^x5yCX4K(}p3z+2na}9!EP6&WynIH#{pGLB zsM$Jc$7yHOY%Sbzni(zplNlZRjXI;|Kb_Ghy*Q&S1J7VaziarT8I3t`CNp~L)9uXY ziEmFcqy3(an$gd`jha!f96h6V$!9*JU;Pw4qhsgt8SQlNe{x3s^?y90uYUbkW|Z%Y zpUfrw_uB9&k~lZwc^bX5N@2o&rV}KBL}xo3;tW<|3wJ8EwV%9o1{Y2_p5KP1m$Jv7 zGw@4tgS*J-RE}*a55NwYQrLj9n#ohlJO-<}WQS8Si8i}Mk<{>EI zCi?Np?C53>kDeJ_=`Hc<@lDph#q7M!k^9=&sA{X-|G0*1W*H~gs31*Ob;#2ZhL{2x zdQ-*;LLPJQ?b#-_{Q^>5<-={W*VN2G3I?;)vu}~(gJ+TX8D27Wbchp`A3wixfKn5N zMB>Jo-*iH@1enzwUxsI6_d~~;_)w+rP;*-kb#^@IHO2eHFu&x({Cbuc<~KCV-SfC< za0cxsY8u`qHD^G>Y#hL)FaXqAd^2>uJiWDEH4x_MCDw@v10e@n6sz&^`O#LwIn>PF zEP=5q0YBi`54j+qW$a#$42sBQwk+^)nYZ?#XCip7F_DKZ;M7-?@uD@ ziwrmktvWm$164F5=^F6PB^v%tkQQm)hGfe5ndEe_$3#5ykQN2#r;8~pqN(By#-f#&v?=zr#rQ>zO$2YX(G)TMyz#KHP^&0x!h6O*x<kc-;*Hgt;ajasSF@GW5j>ilszwWtXSwQwqanX0ea?CwYPs2xS@i4n@!2Y5k(YTSKsUw50b+4Ha|;BqC~97ttD zFe#%h3w6RTYYj0lq_~j#a8L(h?dYvf3`ng92E+Q--8ig4SM#+`X3|PBBiei@uIM-q zi)NS8*7xp0kr;Zv>WBp!;nyvS?Z7Hbgcrf8Jg2D0#Us2L=aOtr_i+=mEE&9ZT_T!| zT}}Xd3QKx7Cc2n*4mTUmi(aJtshdyq$ zy0md+u0}bC?+q7n`E1sE23BqN=i&6_;av9C_=n<`q57)r9-X#6*sI71`_!jS#i7>{ z>{8p+lIYRf23Ze#js?@u$u1c?A+gO>$jW)95^ic*T}5QaT|v&v^fqJ%Y%rDT>AaBn z{(B5Ssm>Khsq##5cyWCShyb1S`eb)Uv=>T)cZ7mHV5aEXDEy``^n1&Np||J5qAo#x z6$c2@X6+LalQwm}U%WO0U(q>J6%rOakp-T?b9PDP&DNdnp}t&n_cH*w^>PAqJ68vUg7v=Ci$uyz zEP=1E&>!&cOdAQmq<9;!nuS+|1+{qC^%g8FwD##RZ&ERIct0+Oz#F_f)&^tM z>$o?Ek3lc`j-#9(003sUJtd9*F6xx@<7A7b!A`lw;8!IIl@5u43LoP}cv-wk3ce?H zMw5!Rj_5MDX>uryR$6sW68cHn2APlw{4+~W9*_H#84q+g$ZdxzYU?^3C&qmxx9{PB zENBMDH**_b13MZ}*6F1_R|=h$*9Cj~uTQpq=1xWfmlT?o5}F1G^{f^i@EI}n;W%nM z3v^;kpYWA0V&jHW!}az|ZKS{aeID%2zcc<S_y3&;F zpQiH_>EvGlD)jL6wN6T`)cG!jp-j@rpUB(f{lTBCzq&j53KOk8D|IpqRW_^b3}^fA zqWCxSX?z;vgim9v;?o!x;nSGReHs%0SROE}{XR}&dy)vEt^FxZ+u%<^n4lBDHQU9y z%{oaZN4XmRuvDK%r+8X{mikMo_fV?)2)Y`=e&%97&pfI4Q3bytPZN(uo~e;@v0w5~ zblmBUih15)cqeQJ{=9wA06IE+dND(Ya@;@^9qX3}w zem)JT>I&h>F-r$R1_hK~+C-=QdY^5R8i^9GBIUD_qP4WI?a-F-c z&sCh|8sY8%Tn+?w7O`6K&b(p^q6epg^*Y4SL%k)qNj)Lwv#p~y+Thj_`cHO?rv4~u=Hv7~r@qMxcHrV(UYt!>TluqG9ZlV@j zPo~zBl-9dK>xtAlRz>2iZ+NV|))TSy6l^__H=D%&B=go&sC5&yo~pEdF0`IPt<%{Z zwLYPB>;Cc-c^9_JJ-ck&E5pX4@Nrw0nL0-~Q;>o$U#jY*#0@rsoMck;MS|-&;i!m+ zlnFgG!n|mpeKH?l?m8`XLg&NWl6&!((^$2X+hsw;A~oxwb)7VTlPdrk!5fc5Sx zO$9DC3ci$}KnLMoxq}SMX()?xc5+){HvFyS7#j#v-2>lTpB7w39)rE9B^PWFZk*XP z) z0HXA6wEW`nFpeh<#{+w58o_1iU%jyk&Bp>SQ}yVbUvR+uox(qC;;xWlhd_@hlCIu$ zI&$2wO(y@(OYVRPEdqSKzEe|Zq|Z`A{qEzxXKcqc(UaDMIJkcBtqvM09aQRMed{`CN=BfbSjH}d z&p5evOm9N!yX7OuMAxYf5w{ZG6w=ecipM^NM@PGyffxDQhF_hiJmN=!UPX`fQeWy| ztMSP({H1Sx%wO8%p)s$fkl@Mm$j@(zH`R(avAN>rf5Oem+fb!jqH60O6YhEgo*Y@i zM>rIo88e!{Y>;@~CteoAWmJK@HPS5d%tWNJ_F|&)Qy}Ln@bo9N!ZZi1W+?pFBxJ-z zrYbJ5l6^d28p)NUbj4V;o))cx>{YDSn_~QxF#eB_=uXihdmX;wD2}_ELP|^fss5MZ zz~G4wfhY)i$hxrg4QvVMa~E&M!6u0YRzL$IJ9sFG-(|OtmG96t;WD*Ur1^-Yeg`{S4|G~TW&%1D-`{_NrO)3h<2igH?71*Q^ zyFi7LJwuIBx7fA+5Jc-I+L{e*`FQC&rGG&Bp})7H+r32l;$>nMD_rc@8sthRwaV7; z#;&|8at5elvC%EXhG!sQS$GCsUL$7U8PO7(#%Dm+b_PI<$XojyRtvQcX9p(WbPT(Y zrel$}DGrSb#(C>$Oy2o}c7(LML*IimCRM`6Yx{W*S>#h}{BP<+U|etwZT3#gl@=>b%SVJ%qCwxGAWmcTtr#}n42rPz7h`n{N2l@;mw$>yx!I=N>?yG}8>@mb;vR=` zLvIzoUd2h6!Y+N8SOz1F*eCC!%;h-sqxU&AQds;HqDC+dZVA4O4L=MG`*SUd4?VrZ zU%E+s&8icTqSRmseuXCXLl&2OM7iY=^_G3s=4lD?F9GxgRXX*^OT1Ief;}3|dz7yB z$bARz(enzAsN}l#gt{=k!1KvNur%nA>s}HoHVq{G|d} zk6a-z{0m_W&tI)#c=>06;19f@ywbrgSfL>JQLKk}<;sdS2>yc?#CwjsD-e9(U4FA% zK?t7Sg>dJ&RtSFf3u2~VeDA%hAox-2Rq_0giYNr19gX0>8BOQky@cviw)nJo{f_6uXz_)21X_GTG&5jE8@yf+Nsxbz zLV{dzwn(?h36e+z!I2SB>Nrs<1W_uHC>@(sq8PLhMEU+XL6mX_>+z046gTTA`t#a! z1psqEjK82`+m&oxD|G&`g3dufTlAcQ&db;*ZwvaYeVaFQ^K@0yt3>+V-5Qry5P>D7 zKcy~q|Jw>KFJt$JW_nGJBy%OZ^0c5l{<$!jv)>kEzDhLng{KWDFK7+QMd`8O%ykpe ze05Kv`BD{>ujZh9O=m=rk9h)3tbo@>viZHv_I3hZjFVIDS6PBwXiM9IoBJfI~03WtG696+nEkTLt1~1mfmD1LC9^``QBW2}`1Z_~UOy1M!--+6Ut1)<8VL z-5Q8*nF?3ZuGcAU-M@h~H5{{=aAOnHE4iH4=#HCLTnlARxYq1MwYgfq0k! z9u5QXeL4k*!{nDfBPRd3H^t;X{w4?F7SKF{$pFO7g<|?s#q{4NQ23J^g)2;u62Sx; z5lij~GeL4&CU_T_Xcgh_dQBuB_}|3aI5+e>8412qqrvw%t-v?U@T+aXch%F8;Cs~@ z(cpWl0>0-c;CsR!f$zKDP{4Q3X##wki3!_)@2#^g=iu8+;M*Jq-$0fqs&!nbVFHN*q!&30=vy@=CUyCzH^xZ zZ;W@Uu-nXG_k9Gr&8=YfR`oS;jgi9AU>303%wad(@?#s=9n&0!UGF?8V0ZBKFi8IH zb)`o$%iDq7eEpvec8_~ftb@f7E&A0KFDs9L-R3at9@hqTZ&f&HKRZu(8He3w0lUpA z?4~X?wGX>Le?q`+{p(@a{rhVQ?0#bE8NhCO&w?=Qeo=+p*MwoWdF?43!fq5R;d+qaknWK4A!Z7U0%b1|H+$jcKSJ4`J|0HdlV1s=?6Knc>%`02N7>VhDE_<4e*FAe%b>w@~&KkA+e8mY2dPyY404pQZ0N{$-T?$@t=nFQTBoV z6lK5rh}d9?Ulc&=h8O?$qwIz6DZbKw6J@Vh6pgZPTpEqCuU+~VQMML(^j|{R2{%&y z$Bt)&vUP+11C+gTp_qKv3u5wbe1W6vD_1oBKZ3HiKOBj&r#%0+P zV?m(PWv$9po3$8>5W=jzYv=^f#TJr96gK@TP*~+A=3cH$_!!L8Vc|)uEKWA!mVF_N zgT-vMet@z?61!_VuS5hLGCA1`H==((f5gf9+@gdP7`$~Uh;iR~T42B%$wAe}N1^xD zbvQ9dkI@W+uzc3LHasR``}}IispPLRQ9%L9vrGGVU9!YR?4-IiKAuOvQo_p;-iwD1 zVt5k!2GkFqhX72jUWu$C4ApHu_c+YeSpv`C9yL_scj!Mh4S87CXH%cg)Dx6z9x@Gy znbBQt)Yh#H#ZC<2Z+X@x<8@7nmsv&~%ujZ8$Zee5U?De56YEcrWg!biRHaizAh*e^ zZ9+#S=t6gw%g;Gqa7nfKw|bH zZVa^`Z|!ZSIYCfTft`cDmH5|Jq4Q}P_&e!$-WvW-Zs}7muUp#^ivsG$Yv6!TGOGAlXoMyW-&xG$#N!2fU;N;`L<{Cfqt z8tmEpkB$Gy;eYb^p920z;(vaf|YIU zrje41Eq)Du^xMtw+4wB|o{hhMCw|X|&o{&UetR+~u!?g&xoZZ#RdZf1$U!O{)rd&S z9Fq+wl;bPcVX#9tEyfdhzsHz@4#t%U+nSX9ZBC`B137cL6L_h4U9CM4?&_$9)J;hW zCKy+inL2K3#>Aq2XIFH`G}=GqadH^vK#eE?NEm7WtAFeT;h+b2Y?>~Zcy|}{MK)Gp z=&D>FoWmQ4^V#VQ@J{NMj#~5KJ`n4hs-t(hwBdJlz<0XzJdDqdffn{;@y_7+t>4-0 zZcH5oKRgHvEX7-|3!a4^P;U!%LL#9*FCwrjstB`N?;hW*Ia=*J{R*%Z~>t&}t z_(?cJ@nnq6EnEJ3wA8;CP0I%c3R-&eqG&mNU@KbQn#XC`_4W2>X=p>s z>ILo4l8hx58&dPh-^;jM$;SkeiID-QRDuSz+O8wvok!#*H9iv*u>l(uynumBDYD%V z%;Ubm1#B3aSg5K;R-WE%f_2ji(-_A~p zJ}{+KB1tqa-aC-|AAc+3<+daqVM@`Z==p4{$|1-D0{Jr_m@n5LpK8$Yl1;cTA7=M# zP=RM0*Ggc^O6PeZ&M(;);>s}ebe!T$E*ngA)uue@?u(^m3ov3w?>-0R-(n5s-7MrI zb>vZ)V0I8NN?~B0Mu`U<$NKWUdK}WghAl{0gY@n`QSq%k^IFHZl8~_hv5dT(QS2P9 zQM4N$yUYFu@v%QHZww=ebcubRqogRIc-d|IE0wPIM`g#>T}%GYr-KM* z!M(nC5yujB3r0^SDYsM~bl*elyZW6F-#pxx`=vC1G>Ju_^7K%7nv4C`D-jF~Pw7rYSHtnO*VAKfG?ld(5AI~;K{&f!sdv0UMbh}G*6 zjQa?F={UJQnILb*w;b}GNY*y^4JbWyBCSQXixqI|IzsFj$-Z12$rg~q?vY-W>^+q1 zK2lUf#ot`4!J*29hCGh)@;J)NBb4XMH^{>bJ}FUlCHnG{Bb_L~2wJ<0HcF2pT0UmjaV~+sPKefG+m=i;c)9`4?-8n=%$!*o5avX-)tkw?7zH51)9})AG!$ za*J`%+6xLOe#c;}P6ViAZFXNBS!$}tyU_v~T{fjZPfb>!+iqybpe1ycY>jt!_12@J zs)rUm2LdI~PNCnM-S}C^KSft4`FTY*7uyY*92(mwMePQIqGAKduuKu#w!I}p@&+dJ zY#WDh^g3hpnAosT0U9ZRLW&&1bWJ{IiUdR`$CgTf^kXwn*UgvM(xo8^^T{z4OYFg1 z9P?SS`A!1%5C&@6Zw1LM_mxP!@;J#N;8)i+~A#+ zqBTCSh&BSych&S!CyMrk#*T2PBTgBF3N^fX6sol=NcVfjc$~z;)dOjWZroczcDQ@0 z9P<5dN>I=E*l({ODxjN6mW-g_h zgF6K`!Yk`-{j{QaiJfaaF8XJH{_W?lOatj@lDGER1g++Krku9NbW9i7X+dOV(#O9@ zC=zc+=0dA*ddSRqz`T^Mx#2$S5YpV@48}lWz_$4FQ$(fUU`loc%Yw#r{cqHF{47w$eA76@#Q-$URe2_6H3tw?bPd48 zxL`Mj!=sUicL^k_9e-?Jr_BkgK!}e8x3= zDwc|mXK%-bSI~Soz3XC>DcSZy#FTKhboX{qRsiK?%TGnkOc3j=s~7KGrEt8H{b1m= z$CsK4v}mx2sQ=lI>VN+FABaaYoAvbH6pvjNIJ+Ykk39#RPCTwX(XM#>{>16T<4Ya6 zc-&z9uZzb+&z^yJ9JAz)#bZl{|3UGX`|Rn(W7j2Z#N)IMXDl8=k3@^dYIBr$oNkU1 zkGGq-cxN`9t)mQ#p6VMEAhDc_BQsnzqTtL z*Zz7s@i;Gzi^mr;|Lfv$>yu|79tS@0$Kvrj-T$C?y!gq}i^n62+la^Ex-%A!-!F(3 zj}tD75|6ISqQqnVWn4TSd-RXQW1XdqcznYWB_0jG{uS}K;jKRuj}7~y#pC6Vsp9ea z*jD24$;1CG@wjmDpNhw6hyOr4Uh`&HJiZXqj(CLOPj|>WUA*R%8Y`Dop>w-P6aV2E z#XdOLmzUxzw}?_TAgZ$6eSJf9Swr=p*>9#?@`Y^Hn_RQc1@iF>C=UcU;p)c)H+dUU zgU@2RERxLVTsfT0z7%Eik3W^EMNqwucicg83??|!Z%e|GrRavGQb@$Ww z7jC(a=)5XSS4>EWIc5EWF{whPe=xeWl>5D-ZiU}$DDSgTsANlQZ14UW;9vM1n$Hn3 zF<<0WeI=a<(H>6-On?m}>L3I}BoYNF4N^~(3-ixK;D?wafBCs4-i?QX$eD=gnIi^$z zcF^*E$Y&>jR&iJ`=zsye*vRpUSVLbt~LsA=`w?J*iE zJe-OJ4e=PugoXX8PgLlwUmC0K72CSst8d zy*BmN$o0U^PIeKz)Wv!`_l2B7)K|j$M%!?aC%IVmwJjkoBXcD7GN@8`U}}bmdqvAL zSRjAno`pP`jk(^I_M)=FRKhrI%xK(=D1|oWE8TbHKINLfA`ym{K6pn6&z!xvyybjq znX=JkQ%27Dlrg%tFp)|=){t)r3IlP$HzX0WsmY&+@7^Csa z@uJBmY>8TToLrg|>>{#-`*SYW)Yud2b(d;_HBM=g#^KOz?6cERnihNQOQ=!NqrXPq$Vr0sfhLVi!6}% z%c)pQ(#+6~&vq+ru^w;mEb{QnMmIx=-NVgl%kcmo-7QE+u$c>JgjmeW9L|+B(uDHm zAK#O`{}r@4ljrjO#o{;vGt;>{IUK-G%V3&?kk9^8EVl#Ix)c$Z^6_zyLd zsw&1~Se_CF(l6i7U5eMRTRbN4tkkuw^HO zEwSPs@Z~7>*g6!!AN16ar&i<9*YVg~KOb1sE?Be-S(H2VG}t*ji9a1Pl1c^4mbjA@h^qv1Rv2^FIpqen_AOw?+>SMNoi83b5#~laaAU5%#xA(g z$$~i3;vQng!|ddv5zM%sGov$-87~iVW~8*Bd7K-aE;jUe&W-jIt3BD%x3JL3CoXg< zf*UbqEj)qgy2?wij61cM=;?ZQ8j`W_wxfPtKH)6GG}JE9&E4^|3(F2WqW}n zMKWaf0kHeI$i+=z$ovYykhfk;47netCjl38BttqgP7p(`dRj1~%7DG{IRl<>8+`Ey z*IV(Q;o^4qFQ+%(m}>o4k8?U5sxWquoGske{P%JE|n zbCr23bTP(7Ii?;sK|Le~yLLWzeRH$-7ez65A#UN;OOUydM&A>2AGJg?_k}gY-1@f6 ztyl8&!Oq!5tzM!4eK%%@?F;}P%VF`7SH_%mplI=Fm~SD>V>f{Iw)#@8EABIq1m^Vv zU_0vRauKH^gL~_M+hZOK3BS#8+zw(BZzSvwYe0ejxE5%{cP`{2xgxoQmV(2W)8u5k z-k??EuC=wl65!hSS{q*tq-i+WH!nvlhmEip4lGm_LoceY+g*~GQ#k6n+2Di9O3-Vl zE|}Y{E{AKEL@Wn)2fQc7b3rf}15SvaepcPT_huXnb{01tqjr#~h=2ouBVd>2UbV6^ z3+|2%2QO|HJkLkbXg*saEFSD(XSNEq1r%e4N&V>1pH>3C68N0wHt~p+P;w!+6oC@Q zJ$uvSCMS*T&?3Gr=CocH&w>P(H%6|Dm|RR*O-rD|h3zg8O1Q=pSD*%17MG{svRJU2 zmc?#_hBd{e?!xofMy9_67oV)^I$vHga(cYKT<4$id)Cwx_f*tw=U6nJp6JM%Lw>;9 z-aR4=cS*ra(x#7J8Y5hLzY1P}te=lJVwS%b)qCHpEilDf3QP%iEk)Swcc9}UdMYSK z@qrJI@ch(~#>y$@VE4D}B3+8LP;D7A)dc!&0a-3ne6|!E1v1APx`d_>5DmEIFBD$# zzC|VrS^&JjW1~ml++BuKgul5mLQYZ&SD3Q#mKD|1tQqN!WqgcPH^re{ZW5+J$|TEB zwZcsu0nDaqX`ujwPD4Y&_L_A#$F&`5KEsrr*UEt|7>Sd=I9ys7)pQMsLQ-(Zx{fCNBtgng?iUsWnMGdAFABQ^D?yCsT zh+ruK+TMzEji-yC2^VQe;v2k_@2D6Wl8!&rq1Rrfm;`p@0f0IrR!FJg)00PFx zaeI_D=_g5&<6sYNCF(iZ4v;7%qq$kkAYq3F9i{5tXraW(ch zV5TIE8^tW|**9Kn5Y=`QhN)x{O-M8+vq4I1pF5R=oC6T3|0(W!grgo0^7Ed>5gtmQ zFE5)T9L7@cO|W6D!wr8?T}CK%9jy2yV>S8{E3(2MH-N~!`vHZMQysV{&_fD0aU0$# zmW=OPy2piXX{nsiT&cLLvsY$?aF+q)pz=K61-m7K>{Ngt$T2Lu3Bcm-Ab8McQF}lH z3iBo^K1u3DkQG?;yTeIu6AnfG90qwshh0TQps6K>?ktd)X)gB50B{;_J)*@V@wo7< z1*R0hGac4t)YWXQ9dFVXN)v#nSA(9M0gv!Xu1p6X0m-NY93`=V-bNCxlEeafQG9`z+kG|pq>~FI9`kZ#SIsfn9o;{6{qGXGl>~k4Rb1zL7+TN>kF;K z?`XZ2nAwAC+BlTPl)4kpR$PWE&-?cXL-ARaR3Yq|vp5F_=Cok^UosyBD8^0)tw`X0 zA<>Gl5BXDZ4@y;4`EEE+3SjwZZewU9eY$!Tc|`@MQG(V~&Z1M#<93B)0B|}}Mjb1W z>F|eYjMt=4Me}4qrF34j3Rwp2Z1mp>TIsCUBO(Mm;6%UPh}|ks8lqgT7?>M{SmLL_ z*Gjx)-E3+ylS}+0n4kj*B(XrzxMC&9#*K=iaR?L*82XagwA8qg0a`DKC$1YuYsD(| zQUv2TRWK&wE=jUmIo$c@6=bJ(vZje`#CK^c@!jd1eTosEi`5~DNxzO3-v}{O_NFWV zs%pQ@PgVr$D$zyiu`zcol2tMI*I_IjO1?zCz3RPn5-o0J44E>Q<@_6uyelx7t$6fT zb-o(ERN-VtZ&KoyF!ymbNz+tC@EEK1DDg{4DkVBk5%EhKZm0OA;Js?>e?5=WN|!2lBaj1_5}$T7OqB zHI!+OO9>#7%mF+Y0ooOO>~J{Zc%di}E_cnVuf3*5GU+CU@V7i`gK=<^vZdicC7uyv z)bVI0Gr4v;-xbkJW{PGSAwxIdzfly;G+vEn!WY9{bEDdsab}8U8t3G8e%F{IYljyt*9t=rsv(EN{~O+2>A#XfvHIl+6gB(khu(>>IgBy}izds02=%;`!!X?+j${kLSCAhDF2EtCn> zA}BxyN=~0S+zl0Vl&YvBIefL2j*SvK{3>9_XE6B#I(!)cJKm_^u;Uc`l8Ugy4P3l} z*q4ySY2e3TSViwtpaiOgf92eQ$fdFI9*#U$_m zwDa_IIwxs?oH)^Jc7-y*1<17sJv@Vjq*bWu@1gAQM_`9vMbOASS8VdIu3t!s+~lhl zv;r=AfXtl!-nx}>t|w>V(Q5j$OL?~fPfE2Hl!$ds`iiy`FdgAYP$86m!k5QPMv6Q{re zf)D~ZVW9lKn+btD-a=LWkV{=`{e6)LWDX&a6(SvdD+E%5Juz1EMJNym{stPpONT^eFl|vF0xRk5FB}D};$`p6ISQG&pcryVPa|CdyP=QM- z848NJ5pY4Owbs43wTaX(1T-TAtypMI7{ZJSLzr=q5N3QB!bE@;Lm0I1{uc<)!oTH{ ze#${hlCkP?0a|#LUnjeBxPn_!1#Zb?1Lmo??TQ&*Y@|3_Wsf1g; zevIQ5kxqbv6*c@C|JHHzLa>K9dJuXk7fwe}=w;imFkn#7%cwI%FK&Te#sfVnqS4Fa zuSKDkQW*m;+_3Nwy|`8MvVxBUY!*c{*3in2@GFXNDQe(d5FcAPWc(?BF)08h1<=N+R|vqEA^?m@0WhU} zBXLV2%TO7+WHkpc<7Nv0GamNvs~#5sCW!->hY}S4W8wfNmED)b0nD;4`_Khoez?aA z!XFn!V3=gFS^&kM676KW{Q|}`KSVI5rZtQ)oEF9yR2Y+@!Wb@K-kzqwm^6ejRbd#D z!g>TFVN99|V=~z&Ul_)$;4sEs(`KSQQzKwZN(78KK`|ForOKISfxZsXPx`KQ$7@C~M@mJ2{ep#kJDSKaP^vzu{L=cH3Cx(9+pf zA^{ta)3vryHMye*;mnCdILQLxR0xD)fPGNoo~=R|4_Tzb!gpO~4rNm0QwU`+s~UT? zg69W8p5EPwpp3{1(qEyeEfFAr*lMsnfg#8+aC4O^?U!f}Km?0gqaQqHU-e%GQsZ;oV&x=qMkTEyvY>VBu8&fEJn10XB z&`3Po&Udg6&&2~Rhf$L}+kvhsDts$X!k(wQ>0v+HJ16{JfkUylKe^Eirj|FFWJL!scU z@Em!SGQD`T@Gm@SI0%oX75#-f$CICVDzf9{*yAa>IWwCy#_F?T=%7~*Q`j+vU?WDy z&#CAHKb(Y5lJ{ULrL{?7H#wAQwbi%7mB82BG>@gL9qdwvS_=1HwDUWhto%+My4pp# z<{8MBK*m9@MQ42Q140JTCFQrp;cvyJ5g68<%1+)U*1-L+27*q|G#DFELj+nuVYu%U zD{YUCXnXd}t=s)Fy4~lLc0a_mh1C`D_e9oPL+7oDSW>HDGPzp@&&oI$>`HIm_AtHq zQTcer34j#5LL@+nJ!QQ3*4qhugUb!^{bi;fz%e zYk2-iRzLL^!HOTB=PR?4dy7B=_q#f2MwS3sOB}?^DFD;a6M;26hh|1fx|HN#je7L_ zbr?n{n{^ReRmMTE=&{RC#QKOHhvIp!?&7cW>P)Hfp}<8LbKD&K6;?SqkSS+^=-fJ- zovlG3P`M`TWx7!K1}5R*6&AY14&w^(7bU^hQY>XwR>a;Kf*z*AL$Ey$)9VfXBCLp6 z?q4X}11N^IDO4#J3O@Y-}1V(hm&C?!^cbGVkJ6PY#> zNt~hrlFXHp4`qmvPs|%Dq<<= zd>ZRkx!zdS3x#N%#agk&^9!yp(CqmRp2O3$seNAPQ9(heYUa*%vQ3~42^=IJVGBX+ zYSZUH4=OG1$DCK}_xGut6B@0&kteY8*&_H&;j-Zu?L(!}7Ur~ecefELpgkPJg;O@* zt{4gzahr0~sn7YK-KjTWiJNr`|8}TCukhnnGi^EUSsxM=t;Q5?h?0wkT>7OGV5X7D*Y-b}gkR909Tr`Y!c!Dc$e zL$Dc^V(*xQdR?3Hd&QjFVQcXd;x*!M%i zQY<~RH&Tkt4NI||pYo2ZYhQ{bkrXpqD|T=xR*5N1r`cMGu;-_#BJ8$E5f;~tMA#fI z!nQVs+IINjZV@8P`fj8Mn|(SFwjlK{i!gq)a5-#%LWEs_A5{@X^FDV)yYp^{6k-1? zY(4MX(mu7TD!(>0?^WbiNmo^VnFB46@+*gqwE`QW<=4j3%P+%C(emrz;}L88VHnKm zc>ThKS3#8UYC49(>!!E=itwr$-JbADyfa#O-99Wzc&&N+ z&xKd!u(rah%T0}EEWGxP`UBxrT7FvLwcJH3sqG7|{LYcWtNYP*gxAE*5yGqT&A%kPzBuO$g;)7WRe0TYvW@WC@YbIT zuk4}i3$Jb^jf(KE%r;BFpQ~C=d*1p3Zcy`_^s~>%+I#b zo#dCc;zcK1+$t{q+t(NKyM-^hA}@L?VdZ!VxYfyo0&_gPZv@l+N-JX&k6!uUI8UP| zpTcjYr|Xh19KK9&%)kxFK8znPmKi9yS%Y-$_tB*v&tO=`Wg*3dB>0We{H<#9g9DeM{R7^> z)5u}_PIiZtHXq*=*fch3&a&&=Yt=^Idp+Ff_xSKG^riZ$7=nUzlGcLg4*{W;JYG5!kPjD{ktXS;Fo5QwQ~lA4KPv zN>ArOj5aCpx19D9+I2#FDwF|MiGcJqrV-o(|7$GSZ}D43s6NNk4bRiNb7QsQdLz85 z@gCYg&}zM$@AZa^?QH%yGH_ml245aFKwh7Ij1U)tQg@>_8&r$(eZU9!E^T0>Xp5V& zuMy1^Mm9(OY!z*qJHA8LKB={LfKQLmr;hOHQTo&gK0QWH7~qM==~JT2&$?^vNj2QR41tl% z-JAS&iXX_TG$k9WaAU(WkW`jAzrUu05(yAmmtVLBUqbZ^M#LLibpL3X6ny3VU{ zP%?8m{vwAAeo8K}nocJ}J`j1S)!RLJ80gU|0kK0br}-994}9IKx4RQ${-vmh5*FZz zCCdaoFvP8^@_syH-|y~;f-^T!V)|eAl4ZVfKAC+%;(`?FA~*SF>$4I(jRADXl^Za# zv8O4}8@?3!?WRKP>l*6c!$)8!vn;iCGf;c0pf-HmAwFIN zO7dUEKr4&7;*d8LS2l%JKT%j!%$Mg%ax6IKSQ7vbg+wpH7CmMxJVIWZ!XJY5YdRJR zNc`Z0T)rf>?`TtKg!E#_Br+ zMt8EhA{CgA;C^7;G@jmbW@+KBx%@7zlRXi>tBgFD@Y566xmlPQV1WYZ+fqbbwI6R% zR&Djo@I831B)P~y?RIf5f^J#je8#`bGzZ00^?TYdCeqEmy7fU#O&mc#O@Tl{>o^p< z|0fQst}IfLhd7uyksn?RfK3a2%Q&d`GO*>tIod6Sd4P{&`BCyXr|P61mwtpk=19y| z%zw2=EaBs0YMhv{>Pf9qlqZSxbsh^*MF%!SrX>@Y30I3KD)!F=W%W8$vfTtrDKG`L zRp~EC#JwBBw1r0kDe&-|S$HsqU{MX2n zCvi9hUDt6`QV*zP{Q~^%OI)t?o{DpK@a~WGp3)j0t>eEpXrN8a`iwf9Xzi?S_*<<_ z>-~PVm)Wv=(|xXt?M}*)v62fE#t5F2Nq&Q!$=|>X30!U9jUY z98%VP;+&G6X(pJP4o)tljw^+VuU?{PrZ-p6K^hb%4z;-fu4! z^+mk(l?`?hxefNG_@5R05BEW}ui<~{_@52@&nEt73;(l~{~?4Wu{}4y8!*;tyea9X zF@Y^NkjAU?R+x3hC3Wl39a>MqM>2!N0r^n99T;1`$O_@uWZ zB2V0quw3dOXt7N#~H6QEEX6Qf)2yHV$J>VqAPD`5gI-;LZR8l zdAA@A(RK7s(vmX|i$mQAOSSoDhA{fpSamf=N)wGA<%T5o@7oTbww%Uw(b(MJ7a5z$ z!BR4QRCV@wvtbn&Kguy`(fd+j@8jJ(AOKbDL9o(3^`4CPe40@Q%0i;CYA=k)y31I- zM??6`NM%uUyex`-Ta%Y1(67*MEV!aC^sY+)I17jYy9o#f@DSc=Ih_*grF1^%8<`Fr zFbCr)*G?bQPcT9@$1&+FsfbP7)yy%5I~~cCd19^BjSI(;RbVRh^au{vc9K4!owOh9 zV&ji44aQ`kAA*rK_m5$p;e~wO+een$-njNVX4D1aVM4NlThtPfT+V;9ohsoz0J*`TJP?@_~1FWlH5rLhCEX?JM&S{O3d{K$zg$G2GV6J@l6h6g})Yhxq3r?4f^Q zfB1$uyLx=h=Wtyv^)n+BKrah+YYQRU!>|yOKRAo)poWY(s$$x#J^H%Gs3y5$?`3L& z-Mq~)o?hy2F)K4QLhaa$m$SXi2@#jOhA+p%$Kbi%X1ym%y_^cajpdimT1iua`67}f z`p3c2f7WvUJh_3hK~RdYeq)X;snv3NA&MgYYXwD$IYqjEMHHFMDH0g2jWXNsZ)w}! z8&U0D)2hAoyQ#eg1cg`NSFCLF>i3+~uAG)o;B1`9HH7Rn?yhKQi3RCwt)j4U_n?Rl zOl+qEE228E<{Hs~_o)McOIk?YWOBQsQe$LMBOl2WM5#!MJvYpG^$q@E4})WlV#a1L5JsHKMT}|LzwBAY|lS3ai_G& zb_*K0Wvu>yaw0{m$_XrwMn1pdze%wag!k$1yf9AN>oIiw4dptmtNh)#u3ldhkv5Xc z87c_e{Uq)XiE}>0WvX%C!meIQvSnkWC}^|RPQ|EV_Uddg-uSsB3f6on#{2faxF{Gq zn2Ul0E(*9Gl+aH)qjC0pcS~o!(K6qX0 zu62!7XJCc$;Cem-19l2w-1l2P1K*OgMq)4L#9qGu$ZY-+$-MAkj*1ZvhpuKt9}4yt z=geiiZ1{+q#(>TY5B;_i9~$#8RiQz}8MDl!VqG*B`v!I6lF)RWi){<>=$YSUkTnHg ziBJE7o=%N;+7~Y;NU;8Nk{|2*ockln5PPDxKBWYHNt9TpA90h-OBo5B3H?AO23j1P zx67!(&mW4!8~eC|Me3!+XVdj*qIx!%wJ+aT{XG6WINLXk(z9CYja6tt;f1g6$7}J{ z1W$!=GZ*vZB16V!!x*QyMI_5 zz`0=tj_s!4mnjC&xz0j^kls910}`Zw0J~b^30qP14#16vu_!hrRV_f$~tq zne6NVMXhAuIIW72KD3C5-_1E@&=*|N9=w)sYIVURiE@TvnJ{*5i^w7v=~No7aD)E6 zPK$M&+gM0hbBoxhQ6hDc8M=igWmg?VPc7FwkIE%F*`? zY0j4;-_?f&ON1^yh&r|OL7wZ#?>&6;LR11Rz=hd#?&bXuej#6u94e>DGeP2};Lp=b ztm)@thNrlRuQ%v*pBTMJjm-Zape*ZHvfihsg|vbu5;N=^-4K@l8L=^7mwp? zU=>GT__J&cb|gCYTGsMXOr)L^{>gN4z_U%$(PT_-pg|>wL5FMKMtIjudgn#mXH8 zqE4uK$Eg;6hfcXeYTy}@)H`;IJARzTD@_UBkC{E7wSa$9tL_Y6WD52_=RR8JC7<(k z9+wp<*OzO-2|iVDQ~0EOHu6r+OBgy`w zDiAIy)tD1UjG~(uMG7BC(G6ne@Y{vFc<7WkZ*KATOJQekEOt|8M_VOp40X;ue#XpYF zbcxlU5U&P($E(hO@xgzzg8&}Xs5;NktHdl!ypM#?7oU=si0={jS}3s%^cCK7fGjxg z?&McrP0WEJQ@P11u z6m5Vc>2$+q$Ov!N^7V+ShP_f^PhH&@^4l?$D|-k&0*&zqy%noo{yV2}|MJtZdna+n zS>>l&G6Auck4_bLO1AX{S*iM z4_VEBTLw&3HARVZzaA?H&C0*15o@|1jqSr5wgd}`gn_MPH!Qol@5S_etdpIWZOmXk%x@z8RK&z>`u zb8_BE%tz<5=ku=?Y~P-vGB#XLKLB4qpueky0{QB9Zb2G+P}9!p-^aIME(FZFSwq6R zZ~xY;H%hQxv01R*KRD}s{RwBi`>*COV|!qe0_*Q?p-fK^YaLcx4$C|$R-Ah~{M^K^ z;vZLNdOo{a$u?56&i#&}a+%{eFrPiOrr2a`wJax6Ws>!i_gZ9V!g4t0JJB-in%3N_hcMQ2VVC!#8qu} zcl6EYci#=L(WBGW2QMgeLPvjmMc_tbbr*O#m{@DH=#AAe@Y$AUJ?uGLn>$|ZOKF?F zB)0BLlG2wtE$_>1*q1W3FI}VhlC1Ql2>ap;_XW2Qr7zR9YG117AO)#Adf$6^{2%U7 zQyc0uMN{Vr-lOWdsE@|`s%tpQHbv2>sT~@9^s?G7G%hOrLd8z$*ZjzSEoiS_iLLvk zQVLy2uwQ=BuSJpl>KfHAgd!IG>l8Ch8_?|7wj0nCE#H9h zU2IFbVD=O*Z9qj0dqV+_maL4&_zLvaq029xX&czdFSUx@1GheYNu=NY_Dd~S^U(f} zQQ!@9)Tm#FXHoZQBE1^RTN`02v}!fu0ZNYwytMr4>d6Fzs}D^;Z^PHIqfzsb*gK!o zrB}tJN0mzki9IIZ%+*(Nd2%8!J%&3)nfO12%)CR`zT9LEOXvT%ShDiFXJ)v^AGPjr zRhWh~mx&%v;WX?L-Q&zdz%fcvVJAD1bE-&|4YE zA4}TGm!p`6zMj=*Rg_h8$VS^hyJ^-ZU~d^HGx}((58~;^ye1ytN~)b zkk}W8LZPw#p_Q2A1!+{s)*ez)Gmzu!m$&!VP&6#tayyTr9TK50w?0#NK0E?nA2EW( zoL#$a;C=Z=U%`06r-W5niHk?+uiuE$fAZW&8v|mz=uMTD-3mI!cCzR9!4RtIM%JwJ z42!^b=R#L_UI6T&Q?;h`2&?ogO>}Vs@8Xp8yoyrKluX9JoOAn<2Y}1rWUGHsJTG+_+k?0J9O|R)a=EEc zDsr;srtsFhhrhC~Zwe_`8{H{57Jz7IxkLvkdwQdixFGng*ujH|k=^M4-JypN0`-iz zJzm}_p9;>8-g^Pn9Ha6I>OnA@%qvr;@N1f=Yr~XlG;2lcan|0OEvlU7m~5~lb9@y# z0DZ#>{ZkVQfdcRRpd<+C=1TxgRVOzD_sW%+CnDIdsL1JH3)DM=7u~mb+3(T?&!P{| ze=1F8^GiBBE%aSleb95K%*P12dB^enu^mxASsvE(;E z)JuIDbkc*}rod#AwUQLN5-t^l%5|*YF7oQZ+d?)yT6_JuDG?a3XdR7zmKZ;b-8&1t zo{$+N2@jA#V@s0Q=RANVh23%%Yd~=m#1g8!N#0TeN_S*XKFkJ5mLq3N~#;gPsO6hKCK1c+dD8!3?p@%U zsItfLq@9*f0tp&1NY$!A%TlG43M~{Vr41DePD7IvsKBl)+bvZqB!G%MOp8p%QC8U1 zeYmSD?yC5}7m6shAPxBSLF)r|eWAE|OF+xBg{9h$R zbI(2Z+;h%74LM$Jrp%PJEMu-F6&}l1I+U2T0k@Wxu@_EiP7N2OTA0CJ7uQ zdv&~?`Dq~KfJl!nDrEO@Ga+IyJ>GOSZ`yFsRqh4J1V(0l9Py*XbO zfj|98XwlYA8lxwgi zu#WZERjguHv5+>_)rYo~3znzC?t6J8J;eHky3C6)H<1;$^2j-OMb7N#?P?`gZ^Nc@ zdzbM9w&gXP!(ofhSSj4k9cJ`1eTkGL%-Z|CkoAc8(d(9r#H`)QXKezofc7=S{=G)> z-DF_@R^sVML2Pq=jQ#t`Gajk?UxK<1l29HnQqh?tJ|+&!2pyJ3I4m!}Dj4`vO?*-+ zUAnQ_a4^I9^xrlke)=xzl}}Ge;M2!@q2n!aKKyH@h>G1?3!0NZnAfGNA>MG z;X`Iyx;bm^;X%}cGmq#NoEg#Se-+XBTHuV65gxKZbXI6!p3n7y(}{8BL(cGJA%?yJeX?&J~@LJWo7iIG0N-X?`j_+-j%V6-gWCH!6@f$-Fc9AK8(B6EyS3+Czw2{yrd4c2UI z_}%U(am5e2;|HZiuE_o8@$?Y168`aDM*oEiUHpRwju!Hx%tC(VR!C=<Q+!(B z6{7zZ=zm_g@Ep8yz~6cBHwgaDH@u5Om4P1|-ki1;O#EucAX#`gsb}P33-le92I6IC zn-n@(5IhtvWg)*THYq=Zb~rbu!ngcm zM>YgIa+<`Rw>E$HbhMf$Yxh>n@tBoi*~ zZ)~(_lgzs3MY1}{QjV1T>Th)Gs;wo}9Cj1#+J9yiZny9V2QvP|s-92aPS=iP5Pza0 z;fac#PvFkq-jeXdfrKY6?fC>s4ejd^o?r=2bga>zu<|ExAdz3jn}3tgyt!v{vbKzh zH{YAk{DGd$k&FQQsiqdd7#12P4uG?;8P_)XJX*Mqe<&;+*&x{Lzn>@npIhS2WGZHd z!wPShC=e9=Z0$PC3TH=SGkmS~X=Se3a`u~l=bAM2N3z4+Zq=^KfCuU{m9oPD+tseK zz>R`RDuBwq{M#t#;YYK>U3d2EaAjD>xXe{q&c^=FzB97JP3LSm zgk6P{Tg(tQMzy2kI2MnsTSdiIc0aezSUk4*Iib*Ek=R)is7NdpkVS>|@#n-&_J>!v z%7N8m;l2j<_2RLgmygD*(il$aWZxD?fa&l3k_T@k`0Pw$fsGXZQ%loO8|6jg=)~-G zie;1*p+wp0(;Q|t8^*d$KK!7P20tD;qIsiIBot~N?ym~V2h;W zB1>|SHMt14iFNdTP6kJx!}t4Z|7$X6Jn?@^2A{0|e?tbjyUt1mgLersXqm{#;MJFV zCxhoW8SHu{fec=I#y|%C@d;$`=Vt^NtbI9w3|2i8Cxee~Fp$BQMMwt!`20*V;Iebg zvp5s)*7VdZfDka2M8XUXNEnMQ!m(*Q-c~uut~x~oVUepJMow@Qwv+gCsFNfE0rB>q z@b)P>0ac@P!>I@)m-~Ql5JR`@=thYPI|osVw35^c)$T-g7aXjF&&zrel@LVM6i}tCc_h*HQmZs+IQ-pGhXX z%pSUmvF}^<@x<8{{BHHKwG*h+v>kmbR>EecmI28OQUmv)dDxCb^C8FFx(x|L)38A} zZC*YuVk|s;Gu)@b(-xqTv~dZAr^`3QiRRHMvBJ|&7h>V*zkRw7J(X#-V}@dQDJ+IpTcVvpnjNhP;t0&+QOou>aeiVr53mbf28bJYh98#Jn*BOrck$Ou}x^H3e4q3 zvvRG`P=P*TUvEG~LcMX5cXA+KiQ zqAu$Ho?jADzX8g}P-iL`lLQZ)E6#INiyR%uBfhM?4qOddh6g1q6Q0D27=XMrR4uV9 zMRv8sp%fw1H}=w5q*UDWv431Q8int4bBj`BQHmsGfmJQBC?YLXi8L1IFYvT_hXu7w zrA4Hk3KdzbpeIDWQcIjlky9;6SBlcr5=5U~L6iG~jePXYDdEWuyh-VUk|Zt~wv1Yy&s(nhv6dCo^59L>@^x&P(tAr7+^oOj;F@ouSv-n0 z+oLbq`{IG@*zuy$=nLk+APlWH(QTK0+qQ1o>fJNYhn2#%ps#bNui#DGaSrR6Sm}{N z*NR61e!OX+o1evQViBDeCAt}o-MkWuZSXg~5W7i5-cDI4U+uLqFq)L`OrW&dL;9sGgk(%U$^R26|}+ZlGmL$VvAsdnl|+l+#LcN!+6CG>@G( zCKBcQrr1wK@u8Ha#C;IC115mW@U#7I!WM-)UW?;Pm*x(wU#;0rU^0Vz1c1C#`Jlts5zw%M?=~ocZO*sbP2lN!~|Nl7o z|Np!vekuSj0g9zW{HRa!t*gS-8>%|L|6ihNe_rpX`sdcOqUz190#&v7996Sm+f=8Z zROAFCf*!nSNK{KaAX+7fkS95ycneYpE76|U06dydO?>kT83v2H3 zvXmj6faDlzuNaL&*p&RUpcNyxNSm<3USuKD?V3ikw{)1d>z_GI+t=V9{_l*v8~V_H zgQxex?=H}5EG>9G-h#&&s$KQSR0oQO+GlOoC7-j&0ca;{DeQ0lF+m_M2XO0w z9C6}wnfwy_VpecdQ6&d8eRa*ZW?>+Q6#X`Sw^YG!KE4}-_RY(1gF^0AD?KD zYPP~J| zGP`xZLFds^Ux{p22|CZ5n9h^Q7e>~NJb?6#-x_qDT(Laz#3xUWMmkTSxbx) zHtgZmG-w(?SDJ#*-qWT28j}Dj_&N`*$NDq^hBTfpjl-~$p3j5TG|pB6H;+TpWZ(tJ z`?CY7=0kYRgLXk$die2uF~t|lhoSC0eYT2aTJVzlkw5V;IXCPUMu6WxEY8NpjEInP z11fuPf91o-r$Gn2bVP!l_v?q_dfw*osOMoaL;(K@dtflqcs>klA-Z>#V$Fgw_{)o2 z_Jk!kD9kO&+$b7$(=w0z49_UDku&&M)jMPtj0|e+Le#h40h%FP!r0r7=m~(T-rW~X zJhtQK{}0po|BSfhfoq8BOB@?d6WhZj))@L`gvnIj6dZ+U+k#*GY{l5oBGQm**o2Zg z-;2uZoEA{$LZ3kk}xXr1J#DPg{+}LBt~5rOJt?BhUK|&TGUNG=sO=scdtS#B^uHD{0ZGpcwT5Sg`<6)QfM7 zyh}Yx4PtlD?Ikb#0Y`A2-#FS!#AtUE#6}A(S5wP~Pe-a4s{_VL!G;u0$RiCcSkB&U zO$;2wutIk_PPEMKhfx4}^xmhj;newkyz>Lv+HcnI9K;Gb|8+!R<1Umi{)CO&(v2s~ z&Y40pIsAKk(Ca(9A05*4ie;Imz+}T&GsVbjp@$m{DTgY=;r)SbL~*(ndJ})W5{S6w zclgJVq9aAIp*=? zkA4()2#IsFi)c(Mz5nHyLcNU1Eymo+^Q)G*_mV#g5x~@R0E2G>%4h1giWUX$F zBHOjKr+^+6xUQS4)ddu|!LtcvD4;6HrHWjo)CCd+Ri!jt96Bqd+2O)MepMVUtl(Fb z;Xy)}B+D0TwWlcT(i%x&q8Y(7KHB9X&+N zSLg+)l{Jr;xTO)W^7ii#D_2g_BW`g(JmOYcMG0-$v>{zlZ56#la?TSF0zXUN zZO&|AHM9`h5&w|~KX~lAXZRVvIP_mS$m*s4B7SwoJj%)c*!Zhxk^UcBWaurpRwr6y z8ULV_OV8SI285Ysg+1%cp5bnGuXl6L+Dl%q?F-J@zVJseR{W#CmI_ZKKW_c%0*hK? zRXvh&DDEt)q1`0OmqJdy8>@ps09n4twXdeH#Fqh9@#Z;)%^1TTs7lv z;AsZn>4JuXTF_!E?(nfI7lN)(V%NNA?Lb|VjJd;MaJkTNzHAK+QBht|ZkKRH*_DCO zDX@?>M1uE_f&OB`RYFB)@>=ezM-dTV&9*v2=!ypfU{WNKUXKED>U&bheqZ;_N` z7R*~`MNuFl0Q=A_>6+WFEXx2HAto(2DmAxj1~%yicr|yXww8+-ncCC>#hs-K8+nSm zOmoX3oL=$eDpLzYbg$woRi+jy_#;10b63QKpE#g$kENy;+KE)gz)d-bPq7W-q&l09rXE4iIIauXR;x%P?la>1Q>!iSxcHic_d{ zWi>QurB$el)3`u4wDVfiE-ke4xwTx^hd&w6F0&UOKZ+V28IPcoxlwrz<@rAo7IfHH zx&2rf!Sa@hS@#1jxuHpMFR|65>#epHyVsWCyRqhV#uSr583#;wJer&vYAVobT^U|% zB(q$6eI zLQ3WgXgb}iRhNdEWSM=q9&==Pv2QLJ6vR&+n(xN}xyoXZ=omBSW8tf;Du)B_nw*mgKgp*j6o~IS#!7;Zz;c+s(_L=KzxycQ) za4)ljT0pJ+%dM~)-Kc^P7pUed8##4cS@;(zzzw(3^rXi!(V`;9<0+-~-$i+DMt(1y z?%f>~Z-3`LeEW#&1vdz|3gGR2=DL-WwcASj=w+&p5K?26DHLbQgI!c8neUt^O-1$) zAg69Iu6(qAQ~&Qz)}@QNzlli~?oyf6v>bs2ETe$1IP)l6=Hg`q-7Ub&pVM8EAjmxB z&cw^>>8=Ye)9R1~NO(D%8rT7M`0a{JUdXbY<3{KzpJ|l;58#pcgwYudP8!S)kV;SG zj}j78$?S?yoP4pMWbo|D%4tyUwUBX+m3ia70X7;?KN;&m>3?E9h9b zrc>wqxo)>sznThyfCHRqQ9s;1%jJV>nV04@YX=n-m$aVk_G4M26gC6qsl6 z*b3S`MbBq!uRqqJG}fXgbh)u#_?~WfHYNuAc%D|Dd8aQSL+gKRenw7Lecz;bYwcwe zoqy_1yF?2Her%^js$ZlcHT+`|r?TJZRHm*%hutv!t6LfEi`8eMQ_RgrVbNks3YsilX0hQhp4Nr?`9*kh^WwCKR|f1>w(YZvNKN_pt4i!`jp&^!3T#X}cRsF0kR>cJs~f z1{ZFUTA2%L!Me_3E z_h7RcvsY$omK={N{3+<9BSGuZGkrM`7wUc3$lN^kJ~SIFzOY=@R^c7!_SETE`eEm+ zc1m0wr>hx)k2nD;?ms~r`c_JE9N=CI{kiMExEZ`ib<5haGPKC)`>fAkk&8<`f4T=T z6rC80S}k0;)K!{fGMg5i=l83rH8X(Hvp7+=qu-EtgROz8uNAvWHM(Kj^ww&ij7GQt zpXVW!%!9c&r@ST!ruzcf&jypYV-@D|GC#AN=1bEf0$`e!Tf>A8{4Y|>iuQHmSw@+L zQU=;&d=%gh+z@>?RM<~}Oi7@pF_v09u>e;X2LPrW}#z#x!_C``>W*_hV!U zGLDDw+k>=3(y)LYVIuh+DrW16mS@nImsBdv<`!ge$@fz^jT&<~&IL*NcL$H-tT}}o zrBI7}X1n__;tsa@KN5=29ah;f{5kwJ)V+LhWBX#9ju`4JaHwhajT?MO(8`t7oCzS7spLnO65?jb z=f9`-hUtAo`V-4J1=g5-GP^ne+=X6*M38B2%HQd+O=_;80ylPcF8r)M_Y(h^qqBW1 z&rF4eN`rp$LWu0&g+kX_3JO&j=vo!7YRvSl-HL?cM2`(GJAM;)qtrq-y|R}46@WKo z;b|OhM$jg=at2qiuvokN&{1-+i25YNUW#4C+#F&YB)qCAcBKm_%2o=Y z+DZX9ze6Glo?os}hc%{Z+=OM;yx=%#M#zoV9*6Pcrm3w(Oz2xD=gr8IJX$qsd>%S= zlv&Axhzc*FBBu=`rPtTOHt6HcN#|R@b-tW7j~3dvWoF9TlAiG}mC$Um-O;*r; zP=lEeWZVxtv>)t`d>hjz|G(E%Ud3pYxV7&8_xeUm7m&4J*?-anYL=7#`&iNio=%JF z0#BO^68>YC{B#L_5{nu%+BE9_=CMX8zClRw7haNhD*44SY&&6WTzX;FPf2PZo0PUJ zPw0vyGo<4tMVKnn|0u3+Dc`MpXt;3z0a*g+RN-y1MZH6ky)hy>Nrr(hdRPKy5DagO zF~G3;pImY|8w{Q}5GZ^8uK}R<|MM=ge~yW-7+~1NFrTF{8`|Zw$eker7t;QV^b@WR zwgZzXwV)e@QteP=yHaXZeO9GN!hg{OsJN|)EJfW8^k5T?A5mGtRln~>gJA^oUlJ6r z(l+GBd zhk2<&QC#+-?-=KyZ&@jYSaYmVjFkcxEp}y-5I6ZwGlr>$HmZhPdJC}b8;Mjf%eidc zUSyz|+S(7Hkq6H^WXA45ml;q9h0k0X2F+vni%4qgNdWwk&;bb@=U!VvelGK7i~L`A z(ARHN{`IeS2wwf*-6;C;DpfKY4~k(WcVLq5-X{`0d0Fw@#Ly{0H}M>x9T4{H$~vk9 zC@TI%&Sh6`G|WR|0xLHII$&UV z~$yuNd{`Q!Y|Z^onFA}MlY`!v>hJ3ccb-t$mH&nlL4P7=?H z{USrlbIH@;YjEXC9_|^2f$ThnELqX?zBc)SzkDp<#zto`7{a ze(^cxU0Uv#{6n^hhjN-4jt7QBQntd{Umo+-zw!dkyZ~DBHgg9uN%J0Mx9GPpzbkkY zdQ_)K(CORCo+Ing)3-z-MZ{}r*rk+M0^I-bgA4Stbm1Wq^X%j&j&d$Q&;|%f!lU=7 zT&N?6TENa4x;@(z9ITcX&}KipJg@m=(y!Yv1R=k?6h>R#qXTOU!?AfN!d%T4gp0`g z4_b-nWtzFzgtWg47$ENgs@d7h&O=jY(KeVVm=lYy`THdH1v1F4q#3W7Om>sa{qZbi z_jdYKbysP!S@Bh2xuF5kMU^a!DdQD)apZhZpohEjVu2H-`P+iY(Wzy$2d`R;^VvQ! zX61e$ZsmrRXn6z;`KX?W9NE2EnO!nFbQc=4ooK%P_AajO)ZA;_Plck8$EVDUPSrN6Ixy)TDCjmG6Tk#Ph(F|>wdg-y~PZEjd$L=v_EX;!kdl}3+`-i0+9$bZ*<-M? zVP$b7C9W=WNR_;eW}_u-8fyts{*$ZY=V~BBfy7-o-(6~*kqmRlE6ER8MuGu)`LWhP zddl9Rn%SiKaC((na*Z_1!+x^0(Du{sMd1hAWG$3^@9wBL|J?=;!D!QUzd<$4EBigs zaT?kU<|b3vl~v4m4mkDZG( z;o#uNrNm3IunJLI@DDjn?eAiT(PUc#s>+ciaXsiWQ^m@?W| ziYjZHRum1|dax?RT?%+PK#FdE;UmV^DU9G%s@+@?KEv1Sg#~2)7(r7}%BKQb_}F}S z-+XtObv7)F8^w^!cjB?LS9_i8@qRY*X;{BSLqYSNp<)IWPd3ocYCJnU_BgHF^bpS% ziow0I?Dex@_=FvvfCr}I6L$TH?Zzj9x0Y+6M#7C)2M6ke1+W8lRb>Ym9Ff@D%l&NW z76Y;S*@e}K8A`+pKK>OD`)nk32h7Ilo4J82_hw!%)Qx(Hb$*kTZ1*U}*y=IGY&jl~ zJBc|IlOuSB%uWIb(K1*1Y!y(0W<9OgauiVn{eE$KB8u`hz<@7yoq?iE*0!DooGDQB ztx43uP4}~8cnCYG00A41x7p#RpqGDKW}-!GML(1b`T-Ul9SvZIio?a0t>7 zXf#n)nTL%C{o}0yp?_JzQ`<>@C-3jjt?2ztnlP(hat5yLuO;C6`FXwI8uqh!Ia3DEG}$SC(pm zRZ6*U{Or=r38UTq%U(u%FZK?~OAGkWEja3m z;bPRauHwcLtkq_v`h@)gDe7HR?hh!s6>W%xjrePS`gK5{FWyn>s71ilzx8zfY2^go zv$@}+jR^#$K(Z=Z;7dP~R)SwjETCp#GLMhSL^2ONRA{sZ)ABoQccT^(NwuxU6vC@_ z(`)+EYfAAoDYi|ATTfGGiIC-YDu*<$+2($q|Cp?LF=nE)5We>38bzsEsK0rp{^nrc z{L>5U?U^71lC9IGV7fg#8{w%=zd!Og5JKtm$;uDpn^TI?%k#-c9&hyO&>mi&aTh_1Ilv*Qvq*MB7H$zAR3BQz9v!_u zpPY!^U%-}SQ>xG>DGMnXqS!;HC@-y3M7jWN>@>_z znHbrL)+nwzJ@LIH(z)Yef;9tc35W(44veL&NS__J=Hn`tJxsYSaa{AwNH)JTpGnMR zv2m5fhiuoe9^<3l~r8;1#09gM> z(vrSW5c=ES=EP8p;NjzOawzVd9D0GFurW=qZUt1N-bz2Uw|3KVJEnBn+}+0IhR++p zmHj{vvH`yD7xV-8`hYfINs448tT()uY#{Jr4yukpG*~1O#_xZPgmG#p5ynm+49s#q z$E$lf;2(Rfn}`Don%4o#?m--~fjBs~iP6SkK^tD8jV68N%7&FI$5-ynlM-peo`kfK z)(fMPW3(avXWA$=%u8v)yp;B!jncEw#)t0SY2#KNOIIpr!@w#^e}py?VJJ4zMsWgd z6!)NwVon>SMsSHXa@|JS7y$645pD1c=4T_`GudAP0pAhZD-sA8#f?Qh_KR+t`}-dy zU@ri9e~A%^F#=BRg@C31hJZhrNA|zVVxF5QTUKgyPRt!r8ET>wp;hdaPC8ngqkzB{ zYQktQw7P3N@Cy&C5o)wdR@my>&13_$fCwQ<&pC+FErQa!h_0-B9S}~e2{^IFaKdq5 zRZEfVElBnbVKxM^$KzIy7qp^4G37gQ8HvA?7$X*H!e%}nB@9J-Vaf_(bIaLd=1-y+4_?tI9~H}IDLl2jOJ6>~t{MmEqLz_N};9wm{xy)=pJ3gjv+8qEzgIk6&GwP;++o`HoF$@2NI)f~}k4y-7-*VYf6pwpZ7 zgM3NJ+xlij0)WR32WLTh*zCisztREC6F3@8z1y)+1sm2A$>t)PcN(-9m>s`W)C zS!t!UV`+$u=E!nfXnkV~?TiJT+?cqa(_vHn(M64KS?aP|g7ugaDYVU+539wtt_f{( zJcPl?mi~&&aSo$HJg@&fhw6V{NGp3iiZX((0%8MLf=&dw@dJ(g!-11GpGf-kE?V^` zVAYSKRj+;+U-kC*sz;;#9bNHF(`wu_&$dDEP1DLZO?!Oh+x3-Sd2Qm#A80|c>t`X1 zVUZDxqPNFazBOUx7t_lBypM_U786w-w0hC&K&(F}`*R0h{IB-W%hzN=yA07TL#$|* zXrIZR!Q4b6JgCOI(2y${rVAEu<^#Vy##w+LUvMII`A}>PI9`H)!)JgFXfU^&D67`) z>LQk44>9Y?6W=9s@1SLQ%Db)I^AF;b%->~AuH|(n`s2u4_$Pal%UrH$7i3E0bD8C+?03{xgBb0d1ZQE1^?>j;6mmr4N>X)Zb zK_-W>qb1T$R0YoR{$Ir2e-%guSs1&bd~YChU|~q+p&eGz2Qq-#kpVM9gE^{$-IW0Lu^8Atg0>A~j54kiX}CRvZcmQZF3hY! z4m&VeK-PR3;g=Y`aHb9Nx5J<$l)0P$!%3U_<50UkeGa~3^#TVv23!_{V<4cHONJ=g|UbC%-bj_vrH6Z-M7 z7vQ(X3UMkCNQF&)Xr!vX%~pR)l)ALGKMeiJ`ZGQ@vy+$p=IhknzO0ikN1ebOh;n@a z3L8iUH!QTD8zmR0D#Q7&pU!_Bbk>z_OoJq28YCXP0fJ5idLrFR2XVi6)Q}A66BGY0 z%oEHQk|A*?pjbYnN}dm?s*-0^dZx^f4{5Ft++u0NNSdd7NOj^?KzuF{pG(C{SH$06 zAHQ53zeJctZlrASY=XR~kP(yTMjD3aSxaPQ{RNOYcS|yK7BXZ=sukIZ9_3aY6iezT zL(sYAsgSK3W|TT(|SUWL-lD_I=1C! zpWzZtmt3a{mylxSXHTYL8bZn$G)kdlxh^U&iCd0yI@JaBu}TFGKz)9u_2HPp>^-2{ z;6drNW-4;?60HZa|FHK{Ox%wesQU?X0KF-xUMfabd}$IzfvZzYCUGA6KPGZ$!RVI8 zLe~?hfAVkYl1x?3ir8Qi5qDZ)jSt1X?fOPzi}#=31?+fI7(QBT?w#C3TI?E#%A!-S z;*B{vE1sTzdVzQGG-Re0gc@caW^RqvjV?7=l#cOJ_@b6bFp9AymW7kifym?W$!r)u zqz;ux{4DUf>D*J}{#Ckv0HNWb=~!)pa|fB#l0T-seJ2ut?DMjP|BMikyv`3`b7gkJ zs&2yrucXjC;|k#?jIo)%*F*U~2gI`ppn1j1_Wasx($=CM6h@tSowITJ3Owu|Gw={x z^P>Jy=wWZqpsf@$ohiZWhU4K9&X!8J7F$xlKMMH=PXkxNv%r;*8(2$8g-P)i^O~?z zZ4H;;RCx;;+5(Qyeng4lg}45`k}raPpnnMYqpQRf1(y#S-RAl4Y-t9m6W`cY&s4 zrE1~cg8V%R5cSa^!WjzYv4uxQnYj4_V~uoMj^f4mJ%_%~;Yqb3?%1Mu3w`YA+c6bn zK?^p)ut#s64|L#y4lySCaBtjM28Je0R=lNgFFx{*H1|vdf`9D7)5Z!>>t&qhKK+Hq zB2Ukj$JTuU?^)~Ui@`~uUD2GT5@pZfXFFT3E5{HIyPqkQ6wg_zWVu?Ij6tGhKDLS+ zlpTI%hJ82euA+@DM9yrf)Yx4avse>^JPVi+y5-#hI)6?Ryci%%A_#wJ1mF zB?8pt-xn1%Zh`gxIm#=WFYzHDm2p4>R1|EH5v$?z=Ns@HW^3FcqRQDD%?%)^3<1KM z9O#qN)Q*MYU=i8Lzy+Jt{*xs4XQ)d_iO0|@+!$>2Se^qY4fEuBSrfoDtJ2Ha--W>B z7}oGWUl-V~_`L;h^>AMpkM66mcZ$fU`V9TcLQ~kcE?Bv3r6{C#tI~u5F z;7q`L<75n+ijxsY6C{bEKRVLZIe;Qs&Q&@OKdZdm*``g7hEAj{?x#t8SC^nP9Jxxn z!-mTcgYLfTKn2Mkdf&{5&=>P3BrZp0kyn9HhO{j{o-`g&Ia6ro0Ii; ziA45YYfDTBK>KbAFm(ww?Gg#L-}5l}Eod)apPn4*O0%u{13HmdTf5-Pvf9_uNN}-- z_I7Bc(froH44CR*f7NT%N>VVp@lFmpAXix7j44nur3f)xG!)K z$AaDjH(MhqfTSHMvX|SA)0u6_KGcvLA|*R?8ZY*1q*=7SgS_lAbHg?YC3cyGMj$_F zq3OH6oHp%rbSoQQzE4Dfu4{@62%Su`HK31H`@4Mi(5=Zi$f4&YuA{0J8w?$pV$Jde~`|to@BrqCGN`2O`(SQsC zjE~JBv%g;jV-vZ}`Rx5#=4|ih@;>2NRiIZKB`W{jbvTj}DY0zRAm36+krIg zVCTZ^>6IWBpDrelfsWHn0gsxh79LeAQk}5%XQ@Tbu|?^@L9&cet5r?I5M^}cEesBe z4A4r=%48=fX3}a)WH3A^AC+bEVE|4*vA?y*9@=S^J?yqMxhBpc{A|NS?#MQfUS{QG z+-j0QftX&xF&CYU@+wt=7a?&i7@}aS{{zYBYO25!@O29eUG%xhnsD&F#^q<0y@#Rz?r?I{U5)@gpZ^@Ooq>m!x&xplU7ZZGr8MU> zDevQ9){&>^Y%@g(N|97e8U>O`i*&Uqaw)zX4?LwjlX907IS0gm?3UsbGaguGo135= zdjY4-gwLyXb+Q%T;edDGI6BB+(t4UFc!3$n_3*rMT$Dzso9q|VpNAac zG1^;v$UKI!9$nyz;_mIEfs1%kJ|8^J4A?eG9dY~=u#PQapcC4y7E!^AU00AF~jib_{j zX}omhyG5dOrOQ~l@+K`I3PKvwYw5~2@{Oe{|23WuX~_75(v`JEe3@BiQX*p<>eKof zqQGLFHn)Xcz=vv44$q>nDAqSh6@xk{aLKFep!z2hss2fHz99kvlQqL0ZaJQc)a$16 zaGo(c(x=63HnpUhUPV*P?>k?oXbE8UqMRvklRiAt2JS+>#JQ^unPPQm2mW15Un8Hs z2Pg2cPJE_2+P;bNLoa*y8(fiW1S+?rZQ8x)xQ=JZ=X3Vi#}u3trIxF{>H!j zO}z0L{>Gu=jjd1f{2gOG9uDX*g6$c?$@)ZI$fM!CSMq zWo<&FjW#KnGX_{WeT=~kY$CcpH5Z(oF9i4Wi65f*RYD^}`yxFp+lv!$9tNGBuV=n7?0itS#vS_^Vc-}*(YPuUvsg) z$AT0yUj1ZzK@OgdcEixW;r5L%?1J&V4ZBTA81}+Zy$m~@WsTB@?SS!B6!2j;j!hW$ zr`Pgf-|6p;%G!pGq7S2TjmyV&aJP$`CXc7l(T7y=uWh!i73Y~eKDMfApPq@aFw|uU zek#i~SNhnkRrJiO7Sh$veC&pV$E^Bec~w+(1628|L#ujqsH&^#zJ@8EOf`^dt@6d=z+=jaHWQEt8viL&fkh!h-L^5}EnvnmtZQ|RY;OtV~4GfB;yaD&p z=I?Nl7XQR&v=7by$Z2lTtagm{4_xZSBbovq+ci<7Yc0^Kt(x2FmD#3=TwL#?`JC#l zl(utht;-U)GIY=x`ra8hjN#p6WX|$ZsNfW9xi-~W&Mx$Fy&S3LU9z){P(~}0a0rTD z%0CuJhsP<@7@%4uw%cVBIGOEjI7oI1FJm0un2}iI0{iP2#7|1+d~VrU>XOF>Toty^ zdQ{b<(G=(#szt8|atyR>0;St*wgepR$j2~M=!Ur9eEe5wS$Mf^lQf!sR<;EPNA|8b zIWG8(ZBtgC2M%}P6=TNP8c@`6Z*^4Kb+gFigJ(J^|($xDN~w7R6o)wZpU(drbFZPPXyOYo8vC$j?SZV~9}p-z~W z_kfQF-$Or6wOSfmZNUiDz|R2bm=M?-+F@l|C(zLdhA?~C^L$#!@3T;H;sFGn{>^1_ zcdWaG{c@UMFj=;BO=h74X5+RhvnR)ME&S2(+(zq3u*UGH?zTLf&ufm&=e6jTk_TTV zrs`5hsD5eKejs`gV_V^JExZO;^0^+*d;rgB-r+50=L+xi;~ULbDvo|g?t?yTuzPVM z1cg~!6P1#&etur*_cH-n-W|EP~XBljE$*!w9GPt>v%5E6CJaWe@U)dDA6ff zI5<1bTal}j)bAqC;9T|Bmio59aE~8WlzWhV(v}k<$C=CJPz%5b2rXvUb66wi&ru7G+dyoN$9%{ zvR#*aGD^?$z-`xxSHgS-N?2*-`=cz*77M-1?c=FvVmk?qXZt7|&*eu*6kO9CjfLdH z#+jjKZPpWdp}>1@66uQg!TteDsRqAc92M*jCO-(`$5TSSU z=)k6TutZX2i+-k!ckoQx?DxRlQga-p6w?QU&incMQDB9`x@1kdR%Ye!10eiW>Mz|K zHg~E6)wCKjW-hSKt`s8>AM9WuiROXRD4Odx=T=~b0-yG}u&3QOm7h-6qHT~BOhxAo zUXu)I=YG!H>%fej zW_#zw>6yK?OZsbSzr^;d$z(Zw}uL74W zdz1jeoCK3r!-Q%t(TG9z4~{Wa&hTkmh4nG>6krb=`&i?f{hdM`tjA&Ln*#&MAQexB z8%b*^b`3)_L#D~=tuc{lTls;_0EI&1sT+i6WSDnJT!fdO5|>O|R%*f`%p!SwMi3sE zeV!+5%rjvH)>vddvRlVto28f+)k@>VlIds|VBOc_*9zBMk`37R*K@I<&dc^)k3r?3 zx%Z>`?PJa|eiH2CCg2$-xK?sAy**TO|87zy4_{AK1w6Ga2bCdLw3?KMbuzV3-Th>| zc;|W&y)aja2U-m{LFb?j%E89_3yA*yO2M{PFSKG^)M^N}BA>$8Dz$B*ELPU|I*mxm zo>n|eEhH}%*tpKV^eaXun|Gt(nry_3wE_L?Fm{e~H%RaMUY-2Za!bT2zQRH&H_O@< zT>Ipf;$_nh6GLe6qo_5k1Lolxn4O7-$yMFlavUqu!Q4#1qm|N{D0;M8V$IU&VRMg% zQx7Mwk{0v#oR#>Hm1sH#u=;`A*Acnj-9_8VpXdQ=d?0K1K-MG&VK^S&_Q@L*T^!S65l9UHT#qJ#_@7rE;0dLv{Gg(a?yWJ zpN<9aEz%!jBwQ7Mqa5xN?(=zLJJmOnh_7J?5mj+*{2?0k1Ha45B`#slX@cznw%rfk zA7v5*GJQ7SZwU~_ENCmh;6&r~q6gQr$D*`tJw(KwF1D=|e7i$TiYd6uIJx4ny=;q{=pHTk zlpsX?9&L4FNAguPawO&<($PM2q!I1s!#Beuit4PXLp~Wa z6z9cVT+je+Uc%2-S;xDPbKwfR;f}Y=q&wcC(=AVXgL6$ehS}AZ#9VKAT3yj^SN!sn z4s4+%%zYij4^sTnA}&S$IA9CGy{Lo+?2I?X@u1%pqN=iFANOKRY1&V?>&!usNbKu6 z64*tELlg>;`*o2$I}_E_^4 z(R^i&P&tv@CB6AN-h5rG`Gcalhk6Ha9wKl)I3ON)m_Kk+?16dWflG4YoHS5Vu7%d4 z6b()DhLPn07z`|oysL>dZMdITg-#!aK1}di0sNMJwHQz~K==#&h0lxeXU4{#BgW5t zEHG8p7Hp$&k|T>3+nz};T}QQRq3@;~*Blt4r#ouPZw;OeK&EyeWwuHU21TV=SWUROe8)LS(tc3M1F3V(g!HAed zY8$~5`+%G(jo{|^gOL;xn$bAia6B*?edY370vXy8tc0oX@E@6dbQMSLyH|02{Sy&- z$MW9h_Nw)++9cgS6>}3#V?SJhI<4oM`SBC!esAk1(&%bw+mvS8RAg@c%Gtcv-gl>M z)8u5^CQnk|oy}ic`tIKD-;A>{js2baN&9BLC>&V!#c51YDO<#JDSLqLZ$IL|D4qQHLQ5oa-^2Ph zms9cNgOv${YUdz%y-9y*;AOp$A(h$VD7EqK1K#vW?6gtl4AJ#2#{)TBrf z`4FMY+8TYfXvY46XKEd0o|6;tG?-qs^lNdXfS#2YSSd^DR4M=Mz@Ub zL-qK)Wd+iCaP%>l5lq3!D?Fz%Y7#R(mrV#Yg$I(CZUFjQa5a7dE}i z;U!IUT*K%|?u|AY^eJB^wP~hSsItMNRb#Iv^T>LuX#WX1tm4c6x zQkBW`SM2H1WA|j8Oo5M(3;1US%1A@vytEx131V1J=T1X~(1X&>3LrA5@yyf>v`m#rRCA1d#4esRg6&QUog1^=dZ;cmlGH{pcBfp}x`v{J98;lkgFs|Nar0R7|mYu;;rFEmZ zx!tkyL^H@mfqWpUl_#HQ!q9-`l_yU>NihO_cSbU(qdMKkCWtjhsJip4_TT?ooX}Wi zZ3i-yR^0A54cq^U+s}>S{=cnpf_*o;WH2up#+q2bpTMZCcjfw#k>) z{FTMF$=%m{0&esJncsX8E-cO8SeVYbzO!j%)u^q1cLq3JB~i|q~`_k;1s z)^aKW=VbQd+!&Y0 z@H$3LR<2vc3xBg4J+J9z?U;R(c3jsBdz{+oM*EN+7wC-4v~B7Dn9plH9XbHwxVCm8 zbmv!oK*Q7@OQh+W ztG0|XO;=hfd1&|R%K_cokJ`corUBedIp;WcRGxu;8{74WAqN#2BwYcWo1rQB_fUcp ztU9R0N<@A}kz;p~GbZgFplx2sF;QUr^N}B)I!Ga37>AFiwkFk2FaI))tsP9~zaP!l z%eHc-mQ-|T$H6byg1&P4IBc7y@W^S5Uzj4Hzivt^ruHEB^m31nVfa77?(osDtrRPl z#jdRBj`~>xbcQD{`Vq9QMGPPyZsS1c(U*l78zP+Ux8*d2PG;Ed3GlLPHHGY-uZ=Q^ zj8S+NUbv`;?qehb1?PF$W9SeJQovgd>_usTYb6T@vAGZ?cGw}rIZmr1m86xYA`W0! zz*Vu@;F0yu7Y@hIr}*1y;ca2bRY=srX5qWH5$f@gMr)tYp{mu^RJg#1oY0|BtF1|e zp{~Nl*aQ#W61zLXqlG?%yB@gvcm_%LgGOU$@QIGh

  • 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

    hx3?D(t93Nm1}uRb8n9cIBX(towz`Zjq^4tI)Y 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