<testsuites tests="524" failures="166">
    <testsuite name="AblyTests" tests="524" failures="166" skipped="0" time="1672.410451412201">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="ARTDefaultTests" name="testVersions()" time="0.003206014633178711">
        </testcase>
        <testcase classname="AttachRetryStateTests" name="test_addRetryAttempt()" time="0.0018160343170166016">
        </testcase>
        <testcase classname="AttachRetryStateTests" name="test_transitionToAttachingOrSuspendedStateDoesNotResetRetrySequence()" time="0.0006489753723144531">
        </testcase>
        <testcase classname="AttachRetryStateTests" name="test_transitionToNonAttachingOrSuspendedStateResetsRetrySequence()" time="0.0009819269180297852">
        </testcase>
        <testcase classname="AuthTests" name="test__001__should_not_force_token_auth_when_clientId_is_set()" time="4.336059093475342">
        </testcase>
        <testcase classname="AuthTests" name="test__002__should_accept_authURL_response_with_timestamp_argument_as_string()" time="1.2111380100250244">
            <failure message="XCTAssertNil failed: &quot;Error -1002 - unsupported URL (reason: NSURLErrorDomain)&quot; (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=4531&amp;StartingLineNumber=4531)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__004__Basic__should_send_the_API_key_in_the_Authorization_header()" time="0.18630707263946533">
        </testcase>
        <testcase classname="AuthTests" name="test__005__Basic__should_be_default_when_an_API_key_is_set()" time="0.0022269487380981445">
        </testcase>
        <testcase classname="AuthTests" name="test__006__Token__TTL_should_default_to_be_omitted()" time="0.002219080924987793">
        </testcase>
        <testcase classname="AuthTests" name="test__007__Token__should_URL_query_be_correctly_encoded()" time="0.016837000846862793">
            <failure message="failed - expected to param &lt;capability=%7B%22*%22:%5B%22*%22%5D%7D&gt; exists, got &lt;capability=%7B%22*%22:%5B%22*%22%5D%7D&amp;timestamp=1475965860000&amp;format=msgpack&gt;
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=1061&amp;StartingLineNumber=1061)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__008__Token__should_omit_capability_field_if_it_is_not_specified()" time="0.15418696403503418">
        </testcase>
        <testcase classname="AuthTests" name="test__009__Token__should_add_capability_field_if_the_user_specifies_it()" time="0.14195096492767334">
        </testcase>
        <testcase classname="AuthTests" name="test__010__Token__token_auth__should_work_over_HTTP()" time="0.2631239891052246">
        </testcase>
        <testcase classname="AuthTests" name="test__011__Token__token_auth__should_work_over_HTTPS()" time="0.27603793144226074">
        </testcase>
        <testcase classname="AuthTests" name="test__012__Token__token_auth__for_REST_requests__should_send_the_token_in_the_Authorization_header()" time="0.33468008041381836">
        </testcase>
        <testcase classname="AuthTests" name="test__013__Token__token_auth__for_Realtime_connections__should_send_the_token_in_the_querystring_as_a_param_named_accessToken()" time="0.14756691455841064">
            <failure message="failed - expected to param &lt;accessToken=_tmp_ay7N0A.DAK-ipp_FfMl4LiJxewBSWri4KXJnmWBWQs90UbFQoLrTD52XdEKoCCxVVUiJYGlQQ682iUGbL69xO0iC6ExpTZ7tPlNzp9yPoP-rXjsy8CPdfkDZs4vz1YK35qzqoAXe&gt; exists, got &lt;accessToken=_tmp_ay7N0A.DAK-ipp_FfMl4LiJxewBSWri4KXJnmWBWQs90UbFQoLrTD52XdEKoCCxVVUiJYGlQQ682iUGbL69xO0iC6ExpTZ7tPlNzp9yPoP-rXjsy8CPdfkDZs4vz1YK35qzqoAXe&amp;echo=true&amp;v=2&amp;agent=ably-cocoa/1.2.44%20tvOS/18.4.0&amp;format=msgpack&gt;
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=206&amp;StartingLineNumber=206)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__014__Token__authentication_method__should_be_default_auth_method_when_options__useTokenAuth_is_set()" time="0.004224061965942383">
        </testcase>
        <testcase classname="AuthTests" name="test__015__Token__authentication_method__should_be_default_auth_method_when_options__authUrl_is_set()" time="0.0008660554885864258">
        </testcase>
        <testcase classname="AuthTests" name="test__016__Token__authentication_method__should_be_default_auth_method_when_options__authCallback_is_set()" time="0.001692056655883789">
        </testcase>
        <testcase classname="AuthTests" name="test__017__Token__authentication_method__should_be_default_auth_method_when_options__tokenDetails_is_set()" time="0.0019260644912719727">
        </testcase>
        <testcase classname="AuthTests" name="test__018__Token__authentication_method__should_be_default_auth_method_when_options__token_is_set()" time="0.001098036766052246">
        </testcase>
        <testcase classname="AuthTests" name="test__019__Token__authentication_method__should_be_default_auth_method_when_options__key_is_set()" time="0.0005530118942260742">
        </testcase>
        <testcase classname="AuthTests" name="test__020__Token__authentication_method__should_indicate_an_error_and_not_retry_the_request_when_the_server_responds_with_a_token_error_and_there_is_no_way_to_renew_the_token()" time="0.15243196487426758">
        </testcase>
        <testcase classname="AuthTests" name="test__021__Token__authentication_method__should_transition_the_connection_to_the_FAILED_state_when_the_server_responds_with_a_token_error_and_there_is_no_way_to_renew_the_token()" time="2.5479049682617188">
        </testcase>
        <testcase classname="AuthTests" name="test__022__Token__authentication_method__on_token_error__reissues_token_and_retries_REST_requests()" time="0.44167208671569824">
        </testcase>
        <testcase classname="AuthTests" name="test__023__Token__authentication_method__in_REST__if_the_token_creation_failed_or_the_subsequent_request_with_the_new_token_failed_due_to_a_token_error__then_the_request_should_result_in_an_error()" time="0.0049419403076171875">
        </testcase>
        <testcase classname="AuthTests" name="test__024__Token__authentication_method__in_Realtime__if_the_token_creation_failed_then_the_connection_should_move_to_the_DISCONNECTED_state_and_reports_the_error()" time="0.00980997085571289">
        </testcase>
        <testcase classname="AuthTests" name="test__025__Token__authentication_method__in_Realtime__if_the_connection_fails_due_to_a_terminal_token_error__then_the_connection_should_move_to_the_FAILED_state_and_reports_the_error()" time="0.3695639371871948">
        </testcase>
        <testcase classname="AuthTests" name="test__026__Token__authentication_method__if_a_request_by_a_realtime_client_to_an_authUrl_results_in_an_HTTP_403_the_client_library_should_transition_to_the_FAILED_state()" time="20.013614058494568">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=532&amp;StartingLineNumber=532)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__027__Token__authentication_method__if_an_authCallback_results_in_an_HTTP_403_the_client_library_should_transition_to_the_FAILED_state()" time="0.007534027099609375">
        </testcase>
        <testcase classname="AuthTests" name="test__028__Token__authentication_method__local_token_validity_check__should_be_done_if_queryTime_is_true_and_local_time_is_in_sync_with_server()" time="5.665156960487366">
        </testcase>
        <testcase classname="AuthTests" name="test__029__Token__authentication_method__local_token_validity_check__should_NOT_be_done_if_queryTime_is_false_and_local_time_is_NOT_in_sync_with_server()" time="5.662374973297119">
        </testcase>
        <testcase classname="AuthTests" name="test__032__Token__options__if_an_attempt_by_the_realtime_client_library_to_authenticate_is_made_using_the_authUrl_or_authCallback__the_request_to_authUrl_fails__if_the_connection_is_CONNECTING__then_the_connection_attempt_should_be_treated_as_unsuccessful()" time="0.021628975868225098">
            <failure message="XCTUnwrap failed: expected non-nil value of type &quot;ARTErrorInfo&quot; - ErrorInfo is empty (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=601&amp;StartingLineNumber=601)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__033__Token__options__if_an_attempt_by_the_realtime_client_library_to_authenticate_is_made_using_the_authUrl_or_authCallback__the_request_to_authUrl_fails__if_the_connection_is_CONNECTED__then_the_connection_should_remain_CONNECTED()" time="20.153389930725098">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=620&amp;StartingLineNumber=620)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__034__Token__options__if_an_attempt_by_the_realtime_client_library_to_authenticate_is_made_using_the_authUrl_or_authCallback__the_request_to_authCallback_fails__if_the_connection_is_CONNECTING__then_the_connection_attempt_should_be_treated_as_unsuccessful()" time="0.015573978424072266">
        </testcase>
        <testcase classname="AuthTests" name="test__035__Token__options__if_an_attempt_by_the_realtime_client_library_to_authenticate_is_made_using_the_authUrl_or_authCallback__the_request_to_authCallback_fails__if_the_connection_is_CONNECTED__then_the_connection_should_remain_CONNECTED()" time="0.3522219657897949">
        </testcase>
        <testcase classname="AuthTests" name="test__036__Token__options__if_an_attempt_by_the_realtime_client_library_to_authenticate_is_made_using_the_authUrl_or_authCallback__the_provided_token_is_in_an_invalid_format__if_the_connection_is_CONNECTING__then_the_connection_attempt_should_be_treated_as_unsuccessful()" time="0.007373929023742676">
            <failure message="XCTUnwrap failed: expected non-nil value of type &quot;ARTErrorInfo&quot; - ErrorInfo is empty (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=739&amp;StartingLineNumber=739)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__037__Token__options__if_an_attempt_by_the_realtime_client_library_to_authenticate_is_made_using_the_authUrl_or_authCallback__the_provided_token_is_in_an_invalid_format__if_the_connection_is_CONNECTED__then_the_connection_should_remain_CONNECTED()" time="20.297287940979004">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=761&amp;StartingLineNumber=761)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__038__Token__options__if_an_attempt_by_the_realtime_client_library_to_authenticate_is_made_using_the_authUrl_or_authCallback__the_attempt_times_out_after_realtimeRequestTimeout__if_the_connection_is_CONNECTING__then_the_connection_attempt_should_be_treated_as_unsuccessful()" time="0.5324959754943848">
            <failure message="failed - Connection should remain connected
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=781&amp;StartingLineNumber=781)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__039__Token__options__if_an_attempt_by_the_realtime_client_library_to_authenticate_is_made_using_the_authUrl_or_authCallback__the_attempt_times_out_after_realtimeRequestTimeout__if_the_connection_is_CONNECTED__then_the_connection_should_remain_CONNECTED()" time="1.8299280405044556">
        </testcase>
        <testcase classname="AuthTests" name="test__040__Token__token_auth_and_clientId__should_permit_to_be_unauthenticated()" time="0.25317299365997314">
        </testcase>
        <testcase classname="AuthTests" name="test__041__Token__token_auth_and_clientId__should_check_clientId_consistency__on_rest()" time="0.16701900959014893">
        </testcase>
        <testcase classname="AuthTests" name="test__042__Token__token_auth_and_clientId__should_check_clientId_consistency__on_realtime()" time="0.2752920389175415">
        </testcase>
        <testcase classname="AuthTests" name="test__044__Token__token_auth_and_clientId__Incompatible_client__with_Realtime__it_should_change_the_connection_state_to_FAILED_and_emit_an_error()" time="0.333873987197876">
        </testcase>
        <testcase classname="AuthTests" name="test__045__Token__token_auth_and_clientId__Incompatible_client__with_Rest__it_should_result_in_an_appropriate_error_response()" time="0.12654101848602295">
        </testcase>
        <testcase classname="AuthTests" name="test__046__Token__clientId_and_authenticated_clients__should_not_pass_clientId_with_published_message()" time="0.15086698532104492">
        </testcase>
        <testcase classname="AuthTests" name="test__047__Token__clientId_and_authenticated_clients__should_obtain_a_token_if_clientId_is_assigned()" time="0.1287320852279663">
        </testcase>
        <testcase classname="AuthTests" name="test__048__Token__clientId_and_authenticated_clients__should_convenience_clientId_return_a_string()" time="0.0013840198516845703">
        </testcase>
        <testcase classname="AuthTests" name="test__049__Token__clientId_and_authenticated_clients__ClientOptions_clientId_takes_precendence_when_a_clientId_value_is_provided_in_both_ClientOptions_clientId_and_ClientOptions_defaultTokenParams()" time="0.3642311096191406">
        </testcase>
        <testcase classname="AuthTests" name="test__051__Token__clientId_and_authenticated_clients__Auth_clientId_attribute_is_null__identity_should_be_anonymous_for_all_operations()" time="0.2036210298538208">
        </testcase>
        <testcase classname="AuthTests" name="test__052__Token__clientId_and_authenticated_clients__Auth_clientId_attribute_is_null__identity_may_change_and_become_identified()" time="0.33906495571136475">
        </testcase>
        <testcase classname="AuthTests" name="test__053__Token__clientId_and_authenticated_clients__auth_clientId_not_null__when_clientId_attribute_is_assigned_on_client_options()" time="0.0019420385360717773">
        </testcase>
        <testcase classname="AuthTests" name="test__054__Token__clientId_and_authenticated_clients__auth_clientId_not_null__when_tokenRequest_or_tokenDetails_has_clientId_not_null_or_wildcard_string()" time="0.13303804397583008">
        </testcase>
        <testcase classname="AuthTests" name="test__055__Token__clientId_and_authenticated_clients__auth_clientId_not_null__should_CONNECTED_ProtocolMessages_contain_a_clientId()" time="0.30416905879974365">
        </testcase>
        <testcase classname="AuthTests" name="test__056__Token__clientId_and_authenticated_clients__auth_clientId_not_null__client_does_not_have_an_identity_when_a_wildcard_string_____is_present()" time="0.31528496742248535">
        </testcase>
        <testcase classname="AuthTests" name="test__058__requestToken__ensure_the_message_published_does_not_have_a_clientId()" time="0.35913801193237305">
        </testcase>
        <testcase classname="AuthTests" name="test__059__requestToken__ensure_that_the_message_is_rejected()" time="0.2505919933319092">
        </testcase>
        <testcase classname="AuthTests" name="test__060__requestToken__ensure_the_message_published_with_a_wildcard_____does_not_have_a_clientId()" time="0.3563110828399658">
        </testcase>
        <testcase classname="AuthTests" name="test__061__requestToken__ensure_the_message_published_with_a_wildcard_____has_the_provided_clientId()" time="0.3417329788208008">
        </testcase>
        <testcase classname="AuthTests" name="test__062__requestToken__arguments__should_not_merge_with_the_configured_params_and_options_but_instead_replace_all_corresponding_values__even_when__null_()" time="0.2478339672088623">
        </testcase>
        <testcase classname="AuthTests" name="test__063__requestToken__arguments__should_use_configured_defaults_if_the_object_arguments_are_omitted()" time="0.2739980220794678">
        </testcase>
        <testcase classname="AuthTests" name="test__064__requestToken__authUrl__query_will_provide_a_token_string()" time="0.14413094520568848">
            <failure message="XCTAssertEqual failed: (&quot;nil&quot;) is not equal to (&quot;Optional(&quot;echo.ably.io&quot;)&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=1503&amp;StartingLineNumber=1503)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__065__requestToken__authUrl__query_will_provide_a_TokenDetails()" time="0.13510501384735107">
            <failure message="XCTUnwrap failed: throwing &quot;NSInvalidArgumentException: *** +[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write&quot; - Invalid TokenDetails (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=1515&amp;StartingLineNumber=1515)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__066__requestToken__authUrl__query_will_provide_a_TokenRequest()" time="0.003588080406188965">
            <failure message="XCTUnwrap failed: throwing &quot;NSInvalidArgumentException: *** +[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write&quot; - Invalid TokenRequest (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=1571&amp;StartingLineNumber=1571)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__067__requestToken__authUrl__TokenParams_should_take_precedence_over_any_configured_authParams_when_a_name_conflict_occurs()" time="0.0">
            <failure message="Crash: xctest (11682) closure #1 in closure #2 in AuthTests.test__067__requestToken__authUrl__TokenParams_should_take_precedence_over_any_configured_authParams_when_a_name_conflict_occurs()">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__068__requestToken__authUrl__should_override_previously_configured_parameters()" time="0.024016976356506348">
        </testcase>
        <testcase classname="AuthTests" name="test__069__requestToken__authUrl__parameters__should_be_added_to_the_URL_when_auth_method_is_GET()" time="0.003949999809265137">
        </testcase>
        <testcase classname="AuthTests" name="test__070__requestToken__authUrl__parameters__should_added_on_the_body_request_when_auth_method_is_POST()" time="0.002989053726196289">
        </testcase>
        <testcase classname="AuthTests" name="test__071__requestToken__should_support_all_TokenParams__using_defaults()" time="3.5899620056152344">
        </testcase>
        <testcase classname="AuthTests" name="test__072__requestToken__should_support_all_TokenParams__overriding_defaults()" time="0.16241300106048584">
        </testcase>
        <testcase classname="AuthTests" name="test__073__requestToken__When_authCallback_option_is_set__it_will_invoke_the_callback__with_a_token_string()" time="0.008105039596557617">
        </testcase>
        <testcase classname="AuthTests" name="test__074__requestToken__When_authCallback_option_is_set__it_will_invoke_the_callback__with_a_TokenDetails()" time="0.006044983863830566">
        </testcase>
        <testcase classname="AuthTests" name="test__075__requestToken__When_authCallback_option_is_set__it_will_invoke_the_callback__with_a_TokenRequest()" time="0.31949102878570557">
            <failure message="XCTAssertTrue failed (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=1863&amp;StartingLineNumber=1863)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__077__createTokenRequest__should_override_defaults_if_AuthOptions_provided()" time="0.15146994590759277">
        </testcase>
        <testcase classname="AuthTests" name="test__078__createTokenRequest__should_use_defaults_if_no_AuthOptions_is_provided()" time="0.1301020383834839">
        </testcase>
        <testcase classname="AuthTests" name="test__079__createTokenRequest__should_replace_defaults_if__nil__option_s_field_passed()" time="0.0014190673828125">
        </testcase>
        <testcase classname="AuthTests" name="test__081__createTokenRequest__should_create_and_sign_a_TokenRequest()" time="0.0040149688720703125">
        </testcase>
        <testcase classname="AuthTests" name="test__082__createTokenRequest__should_support_AuthOptions()" time="0.0010489225387573242">
        </testcase>
        <testcase classname="AuthTests" name="test__083__createTokenRequest__should_generate_a_unique_16_plus_character_nonce_if_none_is_provided()" time="0.0010520219802856445">
        </testcase>
        <testcase classname="AuthTests" name="test__084__createTokenRequest__should_provide_capability_has_json_text()" time="0.0035889148712158203">
        </testcase>
        <testcase classname="AuthTests" name="test__085__createTokenRequest__should_generate_a_valid_HMAC()" time="0.0012340545654296875">
        </testcase>
        <testcase classname="AuthTests" name="test__086__createTokenRequest__should_respect_all_requirements()" time="0.15994203090667725">
        </testcase>
        <testcase classname="AuthTests" name="test__087__createTokenRequest__should_generate_a_timestamp__from_current_time_if_not_provided()" time="0.0019739866256713867">
        </testcase>
        <testcase classname="AuthTests" name="test__089__createTokenRequest__TTL__should_be_optional()" time="0.0014380216598510742">
        </testcase>
        <testcase classname="AuthTests" name="test__090__createTokenRequest__TTL__should_be_specified_in_milliseconds()" time="0.0">
            <failure message="Crash: xctest (14713) closure #1 in closure #1 in AuthTests.test__090__createTokenRequest__TTL__should_be_specified_in_milliseconds()">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__091__createTokenRequest__TTL__should_be_valid_to_request_a_token_for_24_hours()" time="4.170475959777832">
        </testcase>
        <testcase classname="AuthTests" name="test__092__authorize__should_always_create_a_token()" time="0.390828013420105">
        </testcase>
        <testcase classname="AuthTests" name="test__093__authorize__should_create_a_new_token_if_one_already_exist_and_ensure_Token_Auth_is_used_for_all_future_requests()" time="0.3030589818954468">
        </testcase>
        <testcase classname="AuthTests" name="test__094__authorize__should_create_a_token_immediately_and_ensures_Token_Auth_is_used_for_all_future_requests()" time="0.20158600807189941">
        </testcase>
        <testcase classname="AuthTests" name="test__095__authorize__should_supports_all_TokenParams_and_AuthOptions()" time="0.003988027572631836">
        </testcase>
        <testcase classname="AuthTests" name="test__097__authorize__should_return_TokenDetails_with_valid_token_metadata()" time="0.12710106372833252">
        </testcase>
        <testcase classname="AuthTests" name="test__098__authorize__should_use_the_configured_Auth_clientId__if_not_null__by_default()" time="0.269015908241272">
        </testcase>
        <testcase classname="AuthTests" name="test__099__authorize__on_subsequent_authorisations__should_store_the_AuthOptions_with_authUrl()" time="0.26131200790405273">
            <failure message="XCTAssertNil failed: &quot;Error Domain=NSURLErrorDomain Code=-1002 &quot;unsupported URL&quot; UserInfo={_NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask &lt;576E077A-5D09-4802-A9A7-996A51BAF898&gt;.&lt;1&gt;, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    &quot;LocalDataTask &lt;576E077A-5D09-4802-A9A7-996A51BAF898&gt;.&lt;1&gt;&quot;
), NSUnderlyingError=0x600000c3bb70 {Error Domain=kCFErrorDomainCFNetwork Code=-1002 &quot;(null)&quot;}, NSLocalizedDescription=unsupported URL}&quot; (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=2742&amp;StartingLineNumber=2742)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__100__authorize__on_subsequent_authorisations__should_store_the_AuthOptions_with_authCallback()" time="0.0046880245208740234">
        </testcase>
        <testcase classname="AuthTests" name="test__102__authorize__on_subsequent_authorisations__should_store_the_TokenParams()" time="2.2820879220962524">
        </testcase>
        <testcase classname="AuthTests" name="test__103__authorize__on_subsequent_authorisations__should_use_configured_defaults_if_the_object_arguments_are_omitted()" time="0.2538149356842041">
        </testcase>
        <testcase classname="AuthTests" name="test__104__authorize__should_adhere_to_all_requirements_relating_to__TokenParams()" time="0.13463199138641357">
        </testcase>
        <testcase classname="AuthTests" name="test__105__authorize__should_adhere_to_all_requirements_relating_to__authCallback()" time="0.1421210765838623">
        </testcase>
        <testcase classname="AuthTests" name="test__106__authorize__should_adhere_to_all_requirements_relating_to__authUrl()" time="0.009997963905334473">
            <failure message="failed - Error is nil
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=3013&amp;StartingLineNumber=3013)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__107__authorize__should_adhere_to_all_requirements_relating_to__authUrl_with_json()" time="0.13469195365905762">
            <failure message="XCTUnwrap failed: throwing &quot;NSInvalidArgumentException: *** +[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write&quot; - Couldn&apos;t encode token details (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=3026&amp;StartingLineNumber=3026)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__108__authorize__should_adhere_to_all_requirements_relating_to__authUrl_returning_TokenRequest_decodes_TTL_as_expected()" time="0.005460977554321289">
            <failure message="XCTUnwrap failed: throwing &quot;NSInvalidArgumentException: *** +[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write&quot; - Encode failure (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=3080&amp;StartingLineNumber=3080)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__109__authorize__should_adhere_to_all_requirements_relating_to__authUrl_with_plain_text()" time="0.12826097011566162">
            <failure message="XCTAssertNil failed: &quot;Error Domain=NSURLErrorDomain Code=-1002 &quot;unsupported URL&quot; UserInfo={_NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask &lt;3939A0D6-1522-4A69-A194-8B419BC59237&gt;.&lt;1&gt;, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    &quot;LocalDataTask &lt;3939A0D6-1522-4A69-A194-8B419BC59237&gt;.&lt;1&gt;&quot;
), NSLocalizedDescription=unsupported URL, NSUnderlyingError=0x600000c5cc00 {Error Domain=kCFErrorDomainCFNetwork Code=-1002 &quot;(null)&quot;}}&quot; (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=3127&amp;StartingLineNumber=3127)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__110__authorize__when_TokenParams_and_AuthOptions_are_provided__should_supersede_configured_AuthOptions__using_key__even_if_arguments_objects_are_empty()" time="1.2439990043640137">
        </testcase>
        <testcase classname="AuthTests" name="test__111__authorize__when_TokenParams_and_AuthOptions_are_provided__should_supersede_configured_AuthOptions__using_authUrl__even_if_arguments_objects_are_empty()" time="0.1262120008468628">
            <failure message="XCTUnwrap failed: throwing &quot;NSInvalidArgumentException: *** +[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write&quot; - Encode failure (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=3192&amp;StartingLineNumber=3192)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__112__authorize__when_TokenParams_and_AuthOptions_are_provided__should_supersede_configured_AuthOptions__using_authCallback__even_if_arguments_objects_are_empty()" time="0.0023049116134643555">
        </testcase>
        <testcase classname="AuthTests" name="test__114__authorize__when_TokenParams_and_AuthOptions_are_provided__example__if_a_client_is_initialised_with_TokenParams_ttl_configured_with_a_custom_value__and_a_TokenParams_object_is_passed_in_as_an_argument_to__authorize_with_a_null_value_for_ttl__then_the_ttl_used_for_every_subsequent_authorization_will_be_null()" time="0.1872251033782959">
        </testcase>
        <testcase classname="AuthTests" name="test__118__authorize__server_time_offset__should_use_the_local_clock_offset_to_calculate_the_server_time()" time="0.002107977867126465">
        </testcase>
        <testcase classname="AuthTests" name="test__121__authorize__two_consecutive_authorizations__using_REST__should_call_each_authorize_callback()" time="0.12095296382904053">
        </testcase>
        <testcase classname="AuthTests" name="test__122__authorize__two_consecutive_authorizations__using_Realtime_and_connection_is_CONNECTING__should_call_each_Realtime_authorize_callback()" time="0.5136770009994507">
            <failure message="failed - expected to param &lt;accessToken=_tmp_j8sQkQ.DIImkqxzzL_GTM9TszYKUhIB7MnuarGw8XzQHivlLXkKE9IQ7LIj0Em68vr_wN-S-gg9CiHC5V2XVAbRAdK0w_P8GE6eiw-yD89O_eo9uUXKIvy6KcFLdSpPDmdBtMs-n&gt; exists, got &lt;accessToken=_tmp_j8sQkQ.DIImkqxzzL_GTM9TszYKUhIB7MnuarGw8XzQHivlLXkKE9IQ7LIj0Em68vr_wN-S-gg9CiHC5V2XVAbRAdK0w_P8GE6eiw-yD89O_eo9uUXKIvy6KcFLdSpPDmdBtMs-n&amp;echo=true&amp;format=msgpack&amp;v=2&amp;agent=ably-cocoa/1.2.44%20tvOS/18.4.0&gt;
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=3791&amp;StartingLineNumber=3791)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__123__authorize__two_consecutive_authorizations__using_Realtime_and_connection_is_CONNECTED__should_call_each_Realtime_authorize_callback()" time="0.4124490022659302">
        </testcase>
        <testcase classname="AuthTests" name="test__124__TokenParams__timestamp__if_explicitly_set__should_be_returned_by_the_getter()" time="0.0005689859390258789">
        </testcase>
        <testcase classname="AuthTests" name="test__125__TokenParams__timestamp__if_explicitly_set__the_value_should_stick()" time="0.2656599283218384">
        </testcase>
        <testcase classname="AuthTests" name="test__126__TokenParams__timestamp__object_has_no_timestamp_value_unless_explicitly_set()" time="0.00049591064453125">
        </testcase>
        <testcase classname="AuthTests" name="test__127__Reauth__should_use_authorize__force__true___to_reauth_with_a_token_with_a_different_set_of_capabilities()" time="0.8844280242919922">
        </testcase>
        <testcase classname="AuthTests" name="test__128__Reauth__for_a_token_change_that_fails_due_to_an_incompatible_token__which_should_result_in_the_connection_entering_the_FAILED_state()" time="0.3443340063095093">
        </testcase>
        <testcase classname="AuthTests" name="test__129__TokenParams__timestamp_should_not_be_a_member_of_any_default_token_params()" time="0.0">
            <failure message="failed - expected to be greater than &lt;0&gt;, got &lt;0&gt;
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=3977&amp;StartingLineNumber=3977)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__130__TokenRequest__fromJson__rejects_invalid_JSON()" time="0.004310965538024902">
        </testcase>
        <testcase classname="AuthTests" name="test__131__TokenRequest__fromJson__rejects_non_object_JSON()" time="0.0007059574127197266">
        </testcase>
        <testcase classname="AuthTests" name="test__132__TokenRequest__fromJson__with_TTL__accepts_a_string__which_should_be_interpreted_as_JSON()" time="0.0006029605865478516">
        </testcase>
        <testcase classname="AuthTests" name="test__133__TokenRequest__fromJson__with_TTL__accepts_a_NSDictionary()" time="0.0">
            <failure message="Crash: xctest (14950) test__accepts_a_NSDictionary #1 () in AuthTests.reusableTestsTestTokenRequestFromJson(_:testCase:beforeEach:afterEach:check:)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__134__TokenRequest__fromJson__without_TTL__accepts_a_string__which_should_be_interpreted_as_JSON()" time="0.0012359619140625">
        </testcase>
        <testcase classname="AuthTests" name="test__135__TokenRequest__fromJson__without_TTL__accepts_a_NSDictionary()" time="0.0">
            <failure message="Crash: xctest (14965) test__accepts_a_NSDictionary #1 () in AuthTests.reusableTestsTestTokenRequestFromJson(_:testCase:beforeEach:afterEach:check:)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__136__TokenDetails__fromJson__accepts_a_string__which_should_be_interpreted_as_JSON()" time="0.001429915428161621">
        </testcase>
        <testcase classname="AuthTests" name="test__137__TokenDetails__fromJson__accepts_a_NSDictionary()" time="0.0">
            <failure message="Crash: xctest (14980) AuthTests.test__137__TokenDetails__fromJson__accepts_a_NSDictionary()">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__138__TokenDetails__fromJson__rejects_invalid_JSON()" time="0.006322979927062988">
        </testcase>
        <testcase classname="AuthTests" name="test__139__TokenDetails__fromJson__rejects_non_object_JSON()" time="0.0007100105285644531">
        </testcase>
        <testcase classname="AuthTests" name="test__140__JWT_and_realtime__client_initialized_with_a_JWT_token_in_ClientOptions__with_valid_credentials__pulls_stats_successfully()" time="5.0644519329071045">
        </testcase>
        <testcase classname="AuthTests" name="test__141__JWT_and_realtime__client_initialized_with_a_JWT_token_in_ClientOptions__with_invalid_credentials__fails_to_connect_with_reason__invalid_signature_()" time="0.6254760026931763">
        </testcase>
        <testcase classname="AuthTests" name="test__142__JWT_and_realtime__when_using_authUrl__with_valid_credentials__fetches_a_channels_and_posts_a_message()" time="20.093279004096985">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=4152&amp;StartingLineNumber=4152)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__143__JWT_and_realtime__when_using_authUrl__with_wrong_credentials__fails_to_connect_with_reason__invalid_signature_()" time="0.12390196323394775">
            <failure message="XCTAssertEqual failed: (&quot;80019&quot;) is not equal to (&quot;40144&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=4181&amp;StartingLineNumber=4181)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__144__JWT_and_realtime__when_using_authUrl__when_token_expires__receives_a_40142_error_from_the_server()" time="20.00562298297882">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=4203&amp;StartingLineNumber=4203)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__145__JWT_and_realtime__when_using_authUrl__when_the_server_sends_and_AUTH_protocol_message__client_reauths_correctly_without_going_through_a_disconnection()" time="20.006199955940247">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=4237&amp;StartingLineNumber=4237)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__146__JWT_and_realtime__when_using_authCallback__with_valid_credentials__pulls_stats_successfully()" time="0.6944079399108887">
        </testcase>
        <testcase classname="AuthTests" name="test__147__JWT_and_realtime__when_using_authCallback__with_invalid_credentials__fails_to_connect()" time="1.4643160104751587">
        </testcase>
        <testcase classname="AuthTests" name="test__148__JWT_and_realtime__when_token_expires_and_has_a_means_to_renew__reconnects_using_authCallback_and_obtains_a_new_token()" time="3.8920010328292847">
        </testcase>
        <testcase classname="AuthTests" name="test__149__JWT_and_realtime__when_the_token_request_includes_a_clientId__the_clientId_is_the_same_specified_in_the_JWT_token_request()" time="0.6223809719085693">
        </testcase>
        <testcase classname="AuthTests" name="test__150__JWT_and_realtime__when_the_token_request_includes_subscribe_only_capabilities__fails_to_publish_to_a_channel_with_subscribe_only_capability()" time="0.6670860052108765">
        </testcase>
        <testcase classname="AuthTests" name="test__151__currentTokenDetails__should_hold_a__TokenDetails__instance_in_which_only_the__token__attribute_is_populated_with_that_token_string()" time="0.1362670660018921">
        </testcase>
        <testcase classname="AuthTests" name="test__152__currentTokenDetails__should_be_set_with_the_current_token__if_applicable__on_instantiation_and_each_time_it_is_replaced()" time="0.12215101718902588">
        </testcase>
        <testcase classname="AuthTests" name="test__153__currentTokenDetails__should_be_empty_if_there_is_no_current_token()" time="0.004246115684509277">
        </testcase>
        <testcase classname="AuthTests" name="test__154__JWT_and_rest__when_the_JWT_token_embeds_an_Ably_token__pulls_stats_successfully()" time="0.6629989147186279">
        </testcase>
        <testcase classname="AuthTests" name="test__155__JWT_and_rest__when_the_JWT_token_embeds_an_Ably_token_and_it_is_requested_as_encrypted__pulls_stats_successfully()" time="0.6724870204925537">
        </testcase>
        <testcase classname="AuthTests" name="test__156__JWT_and_rest__when_the_JWT_token_is_returned_with_application_jwt_content_type__the_client_successfully_connects_and_pulls_stats()" time="0.13642501831054688">
            <failure message="XCTAssertNil failed: &quot;Error 40400 - Could not find path: /createJWT&quot; (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=4452&amp;StartingLineNumber=4452)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__157__JWT_and_rest__when_the_JWT_token_is_returned_with_application_jwt_content_type__the_client_can_request_a_new_token_to_initilize_another_client_that_connects_and_pulls_stats()" time="0.0">
            <failure message="Crash: xctest (14994) closure #1 in closure #1 in AuthTests.test__157__JWT_and_rest__when_the_JWT_token_is_returned_with_application_jwt_content_type__the_client_can_request_a_new_token_to_initilize_another_client_that_connects_and_pulls_stats()">
            </failure>
        </testcase>
        <testcase classname="BackoffRetryDelayCalculatorTests" name="test_delay()" time="0.002606987953186035">
        </testcase>
        <testcase classname="ChannelOptionsTests" name="test_copyChannelOptions()" time="0.0">
            <failure message="Crash: xctest (16847) static ARTCrypto.getDefaultParams(_:)">
            </failure>
        </testcase>
        <testcase classname="ChannelOptionsTests" name="test_copyingFrozenChannelOptions_createsUnfrozenCopy()" time="0.002631068229675293">
        </testcase>
        <testcase classname="ChannelOptionsTests" name="test_copyingFrozenRealtimeChannelOptions_createsUnfrozenCopy()" time="0.0022460222244262695">
        </testcase>
        <testcase classname="ChannelOptionsTests" name="test_copyRealtimeChannelOptions()" time="0.0">
            <failure message="Crash: xctest (16852) static ARTCrypto.getDefaultParams(_:)">
            </failure>
        </testcase>
        <testcase classname="ClientInformationTests" name="testAgentIdentifierWithAdditionalAgents_withNilAdditionalAgents()" time="0.0010820627212524414">
        </testcase>
        <testcase classname="ClientInformationTests" name="testAgentIdentifierWithAdditionalAgents_withNonNilAdditionalAgents()" time="0.0005550384521484375">
        </testcase>
        <testcase classname="ClientInformationTests" name="testAgents()" time="0.001849055290222168">
        </testcase>
        <testcase classname="ConnectRetryStateTests" name="test_addRetryAttempt()" time="0.004030108451843262">
        </testcase>
        <testcase classname="ConnectRetryStateTests" name="test_transitionToConnectingOrDisconnectedStateDoesNotResetRetrySequence()" time="0.0006200075149536133">
        </testcase>
        <testcase classname="ConnectRetryStateTests" name="test_transitionToNonConnectingOrDisconnectedStateResetsRetrySequence()" time="0.00044405460357666016">
        </testcase>
        <testcase classname="ContinuousClockTests" name="test_advancedBy()" time="0.5048450231552124">
        </testcase>
        <testcase classname="ContinuousClockTests" name="test_isAfter()" time="0.2563331127166748">
        </testcase>
        <testcase classname="CryptoTests" name="test__002__Crypto__getDefaultParams__calculates_a_keyLength_from_the_key__its_size_in_bits_()" time="0.0">
            <failure message="Crash: xctest (16858) static ARTCrypto.getDefaultParams(_:)">
            </failure>
        </testcase>
        <testcase classname="CryptoTests" name="test__004__Crypto__getDefaultParams__key_parameter__can_be_a_binary()" time="0.0">
            <failure message="Crash: xctest (16862) static ARTCrypto.getDefaultParams(_:)">
            </failure>
        </testcase>
        <testcase classname="CryptoTests" name="test__005__Crypto__getDefaultParams__key_parameter__can_be_a_base64_encoded_string_with_standard_encoding()" time="0.0017050504684448242">
        </testcase>
        <testcase classname="CryptoTests" name="test__006__Crypto__getDefaultParams__key_parameter__can_be_a_base64_encoded_string_with_URL_encoding()" time="0.0015300512313842773">
        </testcase>
        <testcase classname="CryptoTests" name="test__007__Crypto__generateRandomKey__takes_a_single_length_argument_and_returns_a_binary()" time="0.0022580623626708984">
        </testcase>
        <testcase classname="CryptoTests" name="test__008__Crypto__generateRandomKey__takes_no_arguments_and_returns_the_default_algorithm_s_default_length()" time="0.0011919736862182617">
        </testcase>
        <testcase classname="CryptoTests" name="test__009__Crypto__generateHashSHA256__takes_data_and_returns_a_SHA256_digest()" time="0.008468031883239746">
        </testcase>
        <testcase classname="CryptoTests" name="test__010__Crypto__encrypt__should_generate_a_new_IV_every_time_it_s_called__and_should_be_the_first_block_encrypted()" time="0.0023740530014038086">
        </testcase>
        <testcase classname="CryptoTests" name="test__011__Crypto__with_fixtures_from_crypto_data_128_json__should_encrypt_messages_as_expected_in_the_fixtures()" time="0.13490688800811768">
            <failure message="XCTAssertEqual failed: (&quot;&lt;ARTMessage: 0x0000000105d7b5e0&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: Optional(&quot;utf-8/cipher+aes-128-cbc/base64&quot;),
 data: Optional(&quot;HO4cYSP8LybPYBPZPHQOtmHItcxYdSvcNUC6kXVpMn0VFL+9z2/5tJ6WFbR0SBT1xhFRuJ+MeBGTU3yOY9P5ow==&quot;)
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) is not equal to (&quot;&lt;ARTMessage: 0x0000000105d51e80&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: Optional(&quot;utf-8/cipher+aes-128-cbc/base64&quot;),
 data: Optional(&quot;HO4cYSP8LybPYBPZPHQOtmHItcxYdSvcNUC6kXVpMn0VFL+9z2/5tJ6WFbR0SBT1xhFRuJ+MeBGTU3yOY9P5ow==&quot;)
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/CryptoTests.swift#EndingLineNumber=162&amp;StartingLineNumber=162)">
            </failure>
        </testcase>
        <testcase classname="CryptoTests" name="test__012__Crypto__with_fixtures_from_crypto_data_128_json__should_decrypt_messages_as_expected_in_the_fixtures()" time="0.0053130388259887695">
            <failure message="XCTAssertEqual failed: (&quot;&lt;ARTMessage: 0x0000000105da4510&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: nil,
 data: Optional(Optional(&quot;The quick brown fox jumped over the lazy dog&quot;))
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) is not equal to (&quot;&lt;ARTMessage: 0x0000000105d5dc50&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: nil,
 data: Optional(&quot;The quick brown fox jumped over the lazy dog&quot;)
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/CryptoTests.swift#EndingLineNumber=179&amp;StartingLineNumber=179)">
            </failure>
        </testcase>
        <testcase classname="CryptoTests" name="test__013__Crypto__with_fixtures_from_crypto_data_256_json__should_encrypt_messages_as_expected_in_the_fixtures()" time="0.4119659662246704">
            <failure message="XCTAssertEqual failed: (&quot;&lt;ARTMessage: 0x0000000105c187a0&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: Optional(&quot;utf-8/cipher+aes-256-cbc/base64&quot;),
 data: Optional(&quot;NMDl1Acnel8HVdu1cEWdr9CGPYFoBoLgJCzoybbQbnyfwx3UQ8CGuKyP/g56Za/JB3xW6XGkNzrHYvZwad4fvA==&quot;)
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) is not equal to (&quot;&lt;ARTMessage: 0x0000000105c19640&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: Optional(&quot;utf-8/cipher+aes-256-cbc/base64&quot;),
 data: Optional(&quot;NMDl1Acnel8HVdu1cEWdr9CGPYFoBoLgJCzoybbQbnyfwx3UQ8CGuKyP/g56Za/JB3xW6XGkNzrHYvZwad4fvA==&quot;)
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/CryptoTests.swift#EndingLineNumber=162&amp;StartingLineNumber=162)">
            </failure>
        </testcase>
        <testcase classname="CryptoTests" name="test__014__Crypto__with_fixtures_from_crypto_data_256_json__should_decrypt_messages_as_expected_in_the_fixtures()" time="0.46368300914764404">
            <failure message="XCTAssertEqual failed: (&quot;&lt;ARTMessage: 0x0000000105e3d080&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: nil,
 data: Optional(Optional(&quot;The quick brown fox jumped over the lazy dog&quot;))
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) is not equal to (&quot;&lt;ARTMessage: 0x0000000105e37290&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: nil,
 data: Optional(&quot;The quick brown fox jumped over the lazy dog&quot;)
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/CryptoTests.swift#EndingLineNumber=179&amp;StartingLineNumber=179)">
            </failure>
        </testcase>
        <testcase classname="CryptoTests" name="test__015__Crypto__with_fixtures_from_crypto_data_128_json__manual_decrypt_messages_as_expected_in_the_fixtures()" time="0.031304001808166504">
            <failure message="XCTAssertEqual failed: (&quot;&lt;ARTMessage: 0x0000000105e3bea0&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: nil,
 data: Optional(Optional(&quot;The quick brown fox jumped over the lazy dog&quot;))
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) is not equal to (&quot;&lt;ARTMessage: 0x0000000105da8ad0&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: nil,
 data: Optional(&quot;The quick brown fox jumped over the lazy dog&quot;)
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/CryptoTests.swift#EndingLineNumber=216&amp;StartingLineNumber=216)">
            </failure>
        </testcase>
        <testcase classname="CryptoTests" name="test__016__Crypto__with_fixtures_from_crypto_data_256_json__manual_decrypt_messages_as_expected_in_the_fixtures()" time="0.7093319892883301">
            <failure message="XCTAssertEqual failed: (&quot;&lt;ARTMessage: 0x0000000105dae070&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: nil,
 data: Optional(Optional(&quot;The quick brown fox jumped over the lazy dog&quot;))
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) is not equal to (&quot;&lt;ARTMessage: 0x0000000105d7b2e0&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: nil,
 data: Optional(&quot;The quick brown fox jumped over the lazy dog&quot;)
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/CryptoTests.swift#EndingLineNumber=216&amp;StartingLineNumber=216)">
            </failure>
        </testcase>
        <testcase classname="DefaultErrorCheckerTests" name="test_isTokenError_statusCode401AndCodeBetween40140And40150()" time="0.0006320476531982422">
        </testcase>
        <testcase classname="DefaultErrorCheckerTests" name="test_isTokenError_statusCode401ButCodeGreaterThanOrEqualTo40150()" time="0.0004659891128540039">
        </testcase>
        <testcase classname="DefaultErrorCheckerTests" name="test_isTokenError_statusCode401ButCodeLessThan40140()" time="0.002315998077392578">
        </testcase>
        <testcase classname="DefaultErrorCheckerTests" name="test_isTokenError_statusCodeNot401()" time="0.0012339353561401367">
        </testcase>
        <testcase classname="DefaultInternalLogCoreTests" name="test_initWithClientOptions_whenClientOptionsLogLevelIsNone()" time="0.000574946403503418">
        </testcase>
        <testcase classname="DefaultInternalLogCoreTests" name="test_initWithClientOptions_whenClientOptionsLogLevelIsNotNone()" time="0.003346085548400879">
        </testcase>
        <testcase classname="DefaultInternalLogCoreTests" name="test_logLevel()" time="0.0005269050598144531">
        </testcase>
        <testcase classname="DefaultInternalLogCoreTests" name="test_logMessage()" time="0.0005609989166259766">
        </testcase>
        <testcase classname="DefaultInternalLogCoreTests" name="test_setLogLevel()" time="0.0004949569702148438">
        </testcase>
        <testcase classname="DefaultJitterCoefficientGeneratorTests" name="test_generatesAVarietyOfValues()" time="0.004672050476074219">
        </testcase>
        <testcase classname="DefaultJitterCoefficientGeneratorTests" name="test_generatesValuesInExpectedRange()" time="0.0006709098815917969">
        </testcase>
        <testcase classname="DeltaCodecTests" name="test__001__withBinaryProtocol_DeltaCodec__decoding__should_decode_vcdiff_encoded_messages()" time="9.840098023414612">
        </testcase>
        <testcase classname="DeltaCodecTests" name="test__001__withoutBinaryProtocol_DeltaCodec__decoding__should_decode_vcdiff_encoded_messages()" time="4.81075394153595">
        </testcase>
        <testcase classname="DeltaCodecTests" name="test__002__DeltaCodec__decoding__should_fail_and_recover_when_the_vcdiff_messages_are_out_of_order()" time="20.263967990875244">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/DeltaCodecTests.swift#EndingLineNumber=181&amp;StartingLineNumber=181)">
            </failure>
        </testcase>
        <testcase classname="DeltaCodecTests" name="test__003__DeltaCodec__decoding__should_recover_when_the_vcdiff_message_decoding_fails()" time="20.262187957763672">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/DeltaCodecTests.swift#EndingLineNumber=236&amp;StartingLineNumber=236)">
            </failure>
        </testcase>
        <testcase classname="GCDTests" name="testScheduledBlockHandleDerefsBlockAfterInvoke()" time="0.000903010368347168">
        </testcase>
        <testcase classname="LogAdapterTests" name="test_logLevel()" time="0.0008540153503417969">
        </testcase>
        <testcase classname="LogAdapterTests" name="test_logMessage()" time="0.0012739896774291992">
        </testcase>
        <testcase classname="LogAdapterTests" name="test_setLogLevel()" time="0.0004570484161376953">
        </testcase>
        <testcase classname="ObjectLifetimesTests" name="test__001__ObjectLifetimes__user_code_releases_public_object__the_object_s_internal_child_s_back_reference_is_released_too()" time="0.022166967391967773">
        </testcase>
        <testcase classname="ObjectLifetimesTests" name="test__002__ObjectLifetimes__user_code_holds_only_reference_to_public_object_s_public_child__still_can_access_parent_s_internal_object()" time="0.0011240243911743164">
        </testcase>
        <testcase classname="ObjectLifetimesTests" name="test__003__ObjectLifetimes__user_code_holds_only_reference_to_public_object_s_public_child__when_it_s_released__schedules_async_release_of_parent_s_internal_object_in_internal_queue()" time="0.0011419057846069336">
        </testcase>
        <testcase classname="ObjectLifetimesTests" name="test__004__ObjectLifetimes__when_user_leaves_Realtime_open__still_works()" time="0.0">
            <failure message="Crash: xctest (16864) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="ObjectLifetimesTests" name="test__005__ObjectLifetimes__when_Realtime_is_closed_and_user_loses_its_reference__channels_don_t_leak()" time="0.0">
            <failure message="Crash: xctest (18485) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientChannelsTests" name="test__001__Channels__should_exist_methods_to_check_if_a_channel_exists_or_iterate_through_the_existing_channels()" time="4.572221040725708">
        </testcase>
        <testcase classname="RealtimeClientChannelsTests" name="test__002__Channels__get__should_create_a_new_Channel_if_none_exists_or_return_the_existing_one()" time="0.003777027130126953">
        </testcase>
        <testcase classname="RealtimeClientChannelsTests" name="test__003__Channels__get__should_be_possible_to_specify_a_ChannelOptions()" time="0.005355954170227051">
        </testcase>
        <testcase classname="RealtimeClientChannelsTests" name="test__004__Channels__get__accessing_an_existing_Channel_with_options_should_update_the_options_and_then_return_the_object()" time="0.15657198429107666">
            <failure message="XCTAssertNil failed: &quot;&lt;AblySwift.ARTRealtimeChannelOptions: 0x600000c3d650&gt;&quot; (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RealtimeClientChannelsTests.swift#EndingLineNumber=80&amp;StartingLineNumber=80)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientChannelsTests" name="test__005__Channels__release__should_release_a_channel()" time="0.9530880451202393">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__002__Presence__should_receive_all_250_members()" time="125.29452300071716">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__003__Presence__should_be_used_a_PresenceMap_to_maintain_a_list_of_members()" time="50.86499309539795">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__004__Presence__callback_can_be_provided_that_will_be_called_upon_success()" time="0.0">
            <failure message="Crash: xctest (18531) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__005__Presence__callback_can_be_provided_that_will_be_called_upon_failure()" time="0.0">
            <failure message="Crash: xctest (23409) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__006__Presence__should_also_ensure_that_using_updateClient_has_no_side_effects_on_a_client_that_has_entered_normally_using_Presence_enter()" time="0.0">
            <failure message="Crash: xctest (23534) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__007__Presence__should_indicate_an_error_if_the_client_is_identified_and_has_a_valid_clientId_and_the_clientId_argument_does_not_match_the_client_s_clientId()" time="0.0">
            <failure message="Crash: xctest (23630) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__008__Presence__Presence_syncComplete_returns_true_if_the_initial_SYNC_operation_has_completed()" time="130.33935594558716">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__010__Presence__ProtocolMessage_bit_flag__when_members_are_present()" time="126.02164196968079">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__011__Presence__realtime_system-reserves_the_right_to_initiate_a_sync_of_the_presence_members_at_any_point_once_a_channel_is_attached__should_do_a_new_sync_whenever_a_SYNC_ProtocolMessage_is_received_with_a_channel_attribute_and_a_new_sync_sequence_identifier_in_the_channelSerial_attribute()" time="1.1754640340805054">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__012__Presence__realtime_system-reserves_the_right_to_initiate_a_sync_of_the_presence_members_at_any_point_once_a_channel_is_attached__when_a_SYNC_is_sent_with_no_channelSerial_attribute_then_the_sync_data_is_entirely_contained_within_that_ProtocolMessage()" time="0.6568620204925537">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__013__Presence__PresenceMap_has_existing_members_when_a_SYNC_is_started__should_ensure_that_members_no_longer_present_on_the_channel_are_removed_from_the_local_PresenceMap_once_the_sync_is_complete()" time="0.0">
            <failure message="XCTAssertEqual failed: (&quot;Optional(0)&quot;) is not equal to (&quot;Optional(1)&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RealtimeClientPresenceTests.swift#EndingLineNumber=320&amp;StartingLineNumber=320)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__014__Presence__PresenceMap_has_existing_members_when_a_SYNC_is_started__should_emit_a_LEAVE_event_for_each_existing_member_if_the_PresenceMap_has_existing_members_when_an_ATTACHED_message_is_received_without_a_HAS_PRESENCE_flag()" time="5.14286994934082">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__015__Presence__subscribe__with_no_arguments_should_subscribe_a_listener_to_all_presence_messages()" time="0.0">
            <failure message="Crash: xctest (30662) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__016__Presence__unsubscribe__with_no_arguments_unsubscribes_the_listener_if_previously_subscribed_with_an_action_specific_subscription()" time="4.040498971939087">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__017__Presence__Channel_state_change_side_effects__if_a_channel_enters_the_ATTACHED_state_then_all_queued_presence_messages_will_be_sent_immediately_and_a_presence_SYNC_may_be_initiated()" time="0.0">
            <failure message="Crash: xctest (30836) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__018__Presence__Channel_state_change_side_effects__if_the_channel_enters_the_FAILED_state__all_queued_presence_messages_should_fail_immediately()" time="0.0">
            <failure message="Crash: xctest (30955) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__019__Presence__Channel_state_change_side_effects__if_the_channel_enters_the_FAILED_state__should_clear_the_PresenceMap_including_local_members_and_does_not_emit_any_presence_events()" time="0.0">
            <failure message="Crash: xctest (31000) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__020__Presence__Channel_state_change_side_effects__if_the_channel_enters_the_DETACHED_state__all_queued_presence_messages_should_fail_immediately()" time="0.0">
            <failure message="Crash: xctest (31008) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__021__Presence__Channel_state_change_side_effects__if_the_channel_enters_the_DETACHED_state__should_clear_the_PresenceMap_including_local_members_and_does_not_emit_any_presence_events()" time="0.0">
            <failure message="Crash: xctest (31119) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__022__Presence__Channel_state_change_side_effects__channel_enters_the_SUSPENDED_state__all_queued_presence_messages_should_fail_immediately()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__023__Presence__Channel_state_change_side_effects__channel_enters_the_SUSPENDED_state__members_map_is_preserved_and_only_members_that_changed_between_ATTACHED_states_should_result_in_presence_events()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__024__Presence__enter__should_enter_the_current_client__optionally_with_the_data_provided()" time="5.165718078613281">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__025__Presence__unsubscribe__with_a_single_action_argument_unsubscribes_the_provided_listener_to_all_presence_messages_for_that_action()" time="0.002582073211669922">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__026__Presence__subscribe__should_implicitly_attach_the_channel_if_options_attachOnSubscribe_is_true()" time="1.004715085029602">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__026b__Presence__subscribe__should_not_implicitly_attach_the_channel_if_options_attachOnSubscribe_is_false()" time="1.0688259601593018">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__027__Presence__subscribe__should_result_in_an_error_if_the_channel_is_in_the_FAILED_state_and_options_attachOnSubscribe_is_true()" time="0.0034409761428833008">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__027b__Presence__subscribe__should_not_result_in_an_error_if_the_channel_is_in_the_FAILED_state_and_options_attachOnSubscribe_is_false()" time="1.0494059324264526">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__028__Presence__subscribe__should_result_in_an_error_if_the_channel_moves_to_the_FAILED_state()" time="0.002042055130004883">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__029__Presence__subscribe__with_a_single_action_argument()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__030__Presence__enter__optionally_a_callback_can_be_provided_that_is_called_for_success()" time="4.6192450523376465">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__031__Presence__enter__optionally_a_callback_can_be_provided_that_is_called_for_failure()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__032__Presence__enter__entering_without_an_explicit_PresenceMessage_clientId_should_implicitly_use_the_clientId_of_the_current_connection()" time="4.726996064186096">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__033__Presence__enter__should_result_in_an_error_immediately_if_the_connection_state_is_connected_and_the_client_is_anonymous()" time="0.7142590284347534">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__033__Presence__enter__should_result_in_an_error_immediately_if_the_connection_state_is_connected_and_the_client_is_wildcard()" time="0.48322999477386475">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__034__Presence__enter__should_result_in_an_error_immediately_if_the_channel_is_DETACHED()" time="0.6440329551696777">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__035__Presence__enter__should_result_in_an_error_immediately_if_the_channel_is_FAILED()" time="0.0026859045028686523">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__036__Presence__enter__should_result_in_an_error_if_Ably_service_determines_that_the_client_is_unidentified()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__037__Presence__update__should_update_the_data_for_the_present_member_with_a_value()" time="4.702170014381409">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__038__Presence__update__should_update_the_data_for_the_present_member_with_null()" time="0.7531239986419678">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__039__Presence__update__should_enter_current_client_into_the_channel_if_the_client_was_not_already_entered()" time="0.6826590299606323">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__040__Presence__update__optionally_a_callback_can_be_provided_that_is_called_for_success()" time="0.0">
            <failure message="Crash: xctest (35005) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__041__Presence__update__optionally_a_callback_can_be_provided_that_is_called_for_failure()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__042__Presence__update__update_without_an_explicit_PresenceMessage_clientId_should_implicitly_use_the_clientId_of_the_current_connection()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__043__Presence__leave__should_leave_the_current_client_from_the_channel_and_the_data_will_be_updated_with_the_value_provided()" time="4.83934211730957">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__044__Presence__leave__should_leave_the_current_client_with_no_data()" time="0.7814830541610718">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__047__Presence__PresenceMap__if_action_of_UPDATE_arrives__it_should_be_added_to_the_presence_map_with_the_action_set_to_PRESENT()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__049__Presence__PresenceMap__if_a_SYNC_is_not_in_progress__then_when_a_presence_message_with_an_action_of_LEAVE_arrives__that_memberKey_should_be_deleted_from_the_presence_map__if_present()" time="14.86233103275299">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__051__Presence__PresenceMap__any_incoming_presence_message_that_passes_the_newness_check_should_be_emitted_on_the_Presence_object__with_an_event_name_set_to_its_original_action()" time="0.6962509155273438">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__052__Presence__PresenceMap__compare_for_newness__split_the_id_of_both_presence_messages()" time="51.456308007240295">
            <failure message="XCTAssertEqual failed: (&quot;0&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RealtimeClientPresenceTests.swift#EndingLineNumber=1744&amp;StartingLineNumber=1744)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__053__Presence__PresenceMap__compare_for_newness__presence_message_has_a_connectionId_which_is_not_an_initial_substring_of_its_id__compares_them_by_timestamp_numerically()" time="51.37264096736908">
            <failure message="XCTAssertEqual failed: (&quot;0&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RealtimeClientPresenceTests.swift#EndingLineNumber=1666&amp;StartingLineNumber=1666)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__056__Presence__enter__should_result_in_an_error_if_the_client_does_not_have_required_presence_permission()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__057__Presence__update__should_result_in_an_error_immediately_if_the_client_is_anonymous()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__058__Presence__update__should_result_in_an_error_immediately_if_the_channel_is_DETACHED()" time="4.822369933128357">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__059__Presence__update__should_result_in_an_error_immediately_if_the_channel_is_FAILED()" time="0.0023769140243530273">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__060__Presence__update__should_result_in_an_error_if_the_client_does_not_have_required_presence_permission()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__061__Presence__update__should_result_in_an_error_if_Ably_service_determines_that_the_client_is_unidentified()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__062__Presence__leave__optionally_a_callback_can_be_provided_that_is_called_for_success()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__063__Presence__leave__optionally_a_callback_can_be_provided_that_is_called_for_failure()" time="0.0">
            <failure message="Crash: xctest (43845) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__064__Presence__leave__should_raise_an_error_if_client_is_not_present()" time="0.0">
            <failure message="Crash: xctest (43963) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__065__Presence__leave__entering_without_an_explicit_PresenceMessage_clientId_should_implicitly_use_the_clientId_of_the_current_connection()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__066__Presence__leave__if_the_client_is_not_currently_ENTERED__Ably_will_respond_with_an_ACK_and_the_request_will_succeed()" time="0.0">
            <failure message="Crash: xctest (44450) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__067__Presence__enter__implicitly_attaches_the_Channel()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__068__Presence__enter__should_result_in_an_error_if_the_channel_is_in_the_FAILED_state()" time="3.948830008506775">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__069__Presence__enter__should_result_in_an_error_if_the_channel_is_in_the_DETACHED_state()" time="0.7104430198669434">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__070__Presence__leave__should_result_in_an_error_immediately_if_the_client_is_anonymous()" time="0.0">
            <failure message="Crash: xctest (45504) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__071__Presence__leave__should_result_in_an_error_immediately_if_the_channel_is_DETACHED()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__072__Presence__leave__should_result_in_an_error_immediately_if_the_channel_is_FAILED()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__073__Presence__leave__should_result_in_an_error_if_the_client_does_not_have_required_presence_permission()" time="0.0">
            <failure message="Crash: xctest (46461) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__074__Presence__leave__should_result_in_an_error_if_Ably_service_determines_that_the_client_is_unidentified()" time="0.0">
            <failure message="Crash: xctest (46580) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__078__Presence__enter__optional_data_can_be_included_when_entering_a_channel()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__079__Presence__enter__should_emit_the_data_attribute_in_the_LEAVE_event_when_data_is_provided_when_entering_but_no_data_is_provided_when_leaving()" time="0.0">
            <failure message="Crash: xctest (47738) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__080__Presence__private_and_internal_PresenceMap_containing_only_members_that_match_the_current_connectionId__any_ENTER__PRESENT__UPDATE_or_LEAVE_event_that_matches_the_current_connectionId_should_be_applied_to_this_object()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__081__Presence__private_and_internal_PresenceMap_containing_only_members_that_match_the_current_connectionId__all_members_belonging_to_the_current_connection_are_published_as_a_PresenceMessage_on_the_Channel_by_the_server_irrespective_of_whether_the_client_has_permission_to_subscribe_or_the_Channel_is_configured_to_publish_presence_events()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__084__Presence__enterClient__should_implicitly_attach_the_Channel()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__085__Presence__enterClient__should_result_in_an_error_if_the_channel_is_in_the_FAILED_state()" time="4.470239043235779">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__086__Presence__enterClient__should_result_in_an_error_if_the_channel_moves_to_the_FAILED_state()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__087__Presence__updateClient__should_implicitly_attach_the_Channel()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__088__Presence__updateClient__should_result_in_an_error_if_the_channel_is_in_the_FAILED_state()" time="3.9785399436950684">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__089__Presence__updateClient__should_result_in_an_error_if_the_channel_moves_to_the_FAILED_state()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__090__Presence__leaveClient__should_implicitly_attach_the_Channel()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__091__Presence__leaveClient__should_result_in_an_error_if_the_channel_is_in_the_FAILED_state()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__092__Presence__leaveClient__should_result_in_an_error_if_the_channel_moves_to_the_FAILED_state()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__093__Presence__Connection_state_conditions__all_presence_messages_are_published_immediately_if_the_connection_is_CONNECTED()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__094__Presence__Connection_state_conditions__all_presence_messages_will_be_queued_and_delivered_as_soon_as_the_connection_state_returns_to_CONNECTED()" time="4.875123977661133">
            <failure message="XCTAssertEqual failed: (&quot;0&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RealtimeClientPresenceTests.swift#EndingLineNumber=3078&amp;StartingLineNumber=3078)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__095__Presence__Connection_state_conditions__all_presence_messages_will_be_lost_if_queueMessages_has_been_explicitly_set_to_false()" time="0.5740219354629517">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__096__Presence__Connection_state_conditions__should_result_in_an_error_if_the_connection_state_is_INITIALIZED_and_queueMessages_has_been_explicitly_set_to_false()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__097__Presence__Connection_state_conditions__should_result_in_an_error_if_the_connection_state_is__suspended()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__098__Presence__Connection_state_conditions__should_result_in_an_error_if_the_connection_state_is__closed()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__099__Presence__Connection_state_conditions__should_result_in_an_error_if_the_connection_state_is__failed()" time="5.050819993019104">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__100__Presence__get__should_return_a_list_of_current_members_on_the_channel()" time="75.99232792854309">
            <failure message="failed - expected to all pass a condition, but failed first at element &lt;&lt;ARTPresenceMessage: 0x000060000351f4f0&gt; {id: Optional(&quot;rsDma5IZ_u:135:0&quot;),clientId: Optional(&quot;user136&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:07 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}&gt; in &lt;[&lt;ARTPresenceMessage: 0x000060000351f4f0&gt; {id: Optional(&quot;rsDma5IZ_u:135:0&quot;),clientId: Optional(&quot;user136&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:07 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351a310&gt; {id: Optional(&quot;rsDma5IZ_u:7:0&quot;),clientId: Optional(&quot;user8&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:03 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351dad0&gt; {id: Optional(&quot;rsDma5IZ_u:99:0&quot;),clientId: Optional(&quot;user100&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:49 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521550&gt; {id: Optional(&quot;rsDma5IZ_u:41:0&quot;),clientId: Optional(&quot;user42&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:20 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003519ad0&gt; {id: Optional(&quot;rsDma5IZ_u:89:0&quot;),clientId: Optional(&quot;user90&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:44 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351e890&gt; {id: Optional(&quot;rsDma5IZ_u:11:0&quot;),clientId: Optional(&quot;user12&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:05 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351a3c0&gt; {id: Optional(&quot;rsDma5IZ_u:78:0&quot;),clientId: Optional(&quot;user79&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:38 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520a50&gt; {id: Optional(&quot;rsDma5IZ_u:27:0&quot;),clientId: Optional(&quot;user28&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:13 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351a890&gt; {id: Optional(&quot;rsDma5IZ_u:71:0&quot;),clientId: Optional(&quot;user72&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:35 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351e7e0&gt; {id: Optional(&quot;rsDma5IZ_u:118:0&quot;),clientId: Optional(&quot;user119&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:58 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351f910&gt; {id: Optional(&quot;rsDma5IZ_u:140:0&quot;),clientId: Optional(&quot;user141&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:09 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351aaa0&gt; {id: Optional(&quot;rsDma5IZ_u:6:0&quot;),clientId: Optional(&quot;user7&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:02 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351a1b0&gt; {id: Optional(&quot;rsDma5IZ_u:80:0&quot;),clientId: Optional(&quot;user81&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:39 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351da20&gt; {id: Optional(&quot;rsDma5IZ_u:101:0&quot;),clientId: Optional(&quot;user102&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:50 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351b0d0&gt; {id: Optional(&quot;rsDma5IZ_u:60:0&quot;),clientId: Optional(&quot;user61&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:29 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351fe90&gt; {id: Optional(&quot;rsDma5IZ_u:148:0&quot;),clientId: Optional(&quot;user149&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:13 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521c30&gt; {id: Optional(&quot;rsDma5IZ_u:50:0&quot;),clientId: Optional(&quot;user51&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:24 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351b2e0&gt; {id: Optional(&quot;rsDma5IZ_u:58:0&quot;),clientId: Optional(&quot;user59&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:28 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003519970&gt; {id: Optional(&quot;rsDma5IZ_u:91:0&quot;),clientId: Optional(&quot;user92&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:45 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521760&gt; {id: Optional(&quot;rsDma5IZ_u:44:0&quot;),clientId: Optional(&quot;user45&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:21 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035213f0&gt; {id: Optional(&quot;rsDma5IZ_u:39:0&quot;),clientId: Optional(&quot;user40&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:19 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351f0d0&gt; {id: Optional(&quot;rsDma5IZ_u:129:0&quot;),clientId: Optional(&quot;user130&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:04 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351db80&gt; {id: Optional(&quot;rsDma5IZ_u:100:0&quot;),clientId: Optional(&quot;user101&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:49 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003519fa0&gt; {id: Optional(&quot;rsDma5IZ_u:83:0&quot;),clientId: Optional(&quot;user84&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:41 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351a940&gt; {id: Optional(&quot;rsDma5IZ_u:70:0&quot;),clientId: Optional(&quot;user71&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:34 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351ef70&gt; {id: Optional(&quot;rsDma5IZ_u:128:0&quot;),clientId: Optional(&quot;user129&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:03 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520420&gt; {id: Optional(&quot;rsDma5IZ_u:1:0&quot;),clientId: Optional(&quot;user2&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:00 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520d10&gt; {id: Optional(&quot;rsDma5IZ_u:30:0&quot;),clientId: Optional(&quot;user31&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:14 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351e050&gt; {id: Optional(&quot;rsDma5IZ_u:108:0&quot;),clientId: Optional(&quot;user109&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:53 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521b80&gt; {id: Optional(&quot;rsDma5IZ_u:49:0&quot;),clientId: Optional(&quot;user50&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:24 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351e940&gt; {id: Optional(&quot;rsDma5IZ_u:119:0&quot;),clientId: Optional(&quot;user120&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:59 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003519e40&gt; {id: Optional(&quot;rsDma5IZ_u:85:0&quot;),clientId: Optional(&quot;user86&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:42 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351a730&gt; {id: Optional(&quot;rsDma5IZ_u:73:0&quot;),clientId: Optional(&quot;user74&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:36 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351e730&gt; {id: Optional(&quot;rsDma5IZ_u:117:0&quot;),clientId: Optional(&quot;user118&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:58 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351a5d0&gt; {id: Optional(&quot;rsDma5IZ_u:75:0&quot;),clientId: Optional(&quot;user76&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:37 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351f390&gt; {id: Optional(&quot;rsDma5IZ_u:133:0&quot;),clientId: Optional(&quot;user134&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:06 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351fbd0&gt; {id: Optional(&quot;rsDma5IZ_u:144:0&quot;),clientId: Optional(&quot;user145&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:11 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521600&gt; {id: Optional(&quot;rsDma5IZ_u:42:0&quot;),clientId: Optional(&quot;user43&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:20 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351f7b0&gt; {id: Optional(&quot;rsDma5IZ_u:13:0&quot;),clientId: Optional(&quot;user14&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:06 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520c60&gt; {id: Optional(&quot;rsDma5IZ_u:29:0&quot;),clientId: Optional(&quot;user30&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:14 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351b4f0&gt; {id: Optional(&quot;rsDma5IZ_u:55:0&quot;),clientId: Optional(&quot;user56&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:27 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351eb50&gt; {id: Optional(&quot;rsDma5IZ_u:122:0&quot;),clientId: Optional(&quot;user123&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:00 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351b020&gt; {id: Optional(&quot;rsDma5IZ_u:61:0&quot;),clientId: Optional(&quot;user62&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:30 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351ac00&gt; {id: Optional(&quot;rsDma5IZ_u:67:0&quot;),clientId: Optional(&quot;user68&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:33 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351dce0&gt; {id: Optional(&quot;rsDma5IZ_u:103:0&quot;),clientId: Optional(&quot;user104&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:51 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351fb20&gt; {id: Optional(&quot;rsDma5IZ_u:143:0&quot;),clientId: Optional(&quot;user144&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:11 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351b230&gt; {id: Optional(&quot;rsDma5IZ_u:5:0&quot;),clientId: Optional(&quot;user6&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:02 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351f180&gt; {id: Optional(&quot;rsDma5IZ_u:130:0&quot;),clientId: Optional(&quot;user131&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:04 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351a9f0&gt; {id: Optional(&quot;rsDma5IZ_u:69:0&quot;),clientId: Optional(&quot;user70&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:34 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035202c0&gt; {id: Optional(&quot;rsDma5IZ_u:17:0&quot;),clientId: Optional(&quot;user18&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:08 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351e3c0&gt; {id: Optional(&quot;rsDma5IZ_u:112:0&quot;),clientId: Optional(&quot;user113&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:55 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520bb0&gt; {id: Optional(&quot;rsDma5IZ_u:2:0&quot;),clientId: Optional(&quot;user3&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:00 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520370&gt; {id: Optional(&quot;rsDma5IZ_u:18:0&quot;),clientId: Optional(&quot;user19&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:08 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521ad0&gt; {id: Optional(&quot;rsDma5IZ_u:4:0&quot;),clientId: Optional(&quot;user5&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:01 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521ce0&gt; {id: Optional(&quot;rsDma5IZ_u:51:0&quot;),clientId: Optional(&quot;user52&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:25 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351f700&gt; {id: Optional(&quot;rsDma5IZ_u:138:0&quot;),clientId: Optional(&quot;user139&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:08 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351f9c0&gt; {id: Optional(&quot;rsDma5IZ_u:141:0&quot;),clientId: Optional(&quot;user142&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:10 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351dfa0&gt; {id: Optional(&quot;rsDma5IZ_u:107:0&quot;),clientId: Optional(&quot;user108&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:53 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351eec0&gt; {id: Optional(&quot;rsDma5IZ_u:127:0&quot;),clientId: Optional(&quot;user128&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:03 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003519ce0&gt; {id: Optional(&quot;rsDma5IZ_u:87:0&quot;),clientId: Optional(&quot;user88&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:43 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520580&gt; {id: Optional(&quot;rsDma5IZ_u:20:0&quot;),clientId: Optional(&quot;user21&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:09 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351e470&gt; {id: Optional(&quot;rsDma5IZ_u:113:0&quot;),clientId: Optional(&quot;user114&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:56 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351b180&gt; {id: Optional(&quot;rsDma5IZ_u:59:0&quot;),clientId: Optional(&quot;user60&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:29 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351acb0&gt; {id: Optional(&quot;rsDma5IZ_u:66:0&quot;),clientId: Optional(&quot;user67&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:32 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351b390&gt; {id: Optional(&quot;rsDma5IZ_u:57:0&quot;),clientId: Optional(&quot;user58&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:28 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351e520&gt; {id: Optional(&quot;rsDma5IZ_u:114:0&quot;),clientId: Optional(&quot;user115&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:56 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035214a0&gt; {id: Optional(&quot;rsDma5IZ_u:40:0&quot;),clientId: Optional(&quot;user41&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:19 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351ed60&gt; {id: Optional(&quot;rsDma5IZ_u:125:0&quot;),clientId: Optional(&quot;user126&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:02 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351d970&gt; {id: Optional(&quot;rsDma5IZ_u:9:0&quot;),clientId: Optional(&quot;user10&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:04 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351ee10&gt; {id: Optional(&quot;rsDma5IZ_u:126:0&quot;),clientId: Optional(&quot;user127&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:02 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351b5a0&gt; {id: Optional(&quot;rsDma5IZ_u:54:0&quot;),clientId: Optional(&quot;user55&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:26 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351aec0&gt; {id: Optional(&quot;rsDma5IZ_u:63:0&quot;),clientId: Optional(&quot;user64&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:31 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520790&gt; {id: Optional(&quot;rsDma5IZ_u:23:0&quot;),clientId: Optional(&quot;user24&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:11 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351dd90&gt; {id: Optional(&quot;rsDma5IZ_u:104:0&quot;),clientId: Optional(&quot;user105&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:51 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351a7e0&gt; {id: Optional(&quot;rsDma5IZ_u:72:0&quot;),clientId: Optional(&quot;user73&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:35 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035209a0&gt; {id: Optional(&quot;rsDma5IZ_u:26:0&quot;),clientId: Optional(&quot;user27&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:12 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521130&gt; {id: Optional(&quot;rsDma5IZ_u:36:0&quot;),clientId: Optional(&quot;user37&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:17 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351d810&gt; {id: Optional(&quot;rsDma5IZ_u:0:0&quot;),clientId: Optional(&quot;user1&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:54:59 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351f230&gt; {id: Optional(&quot;rsDma5IZ_u:131:0&quot;),clientId: Optional(&quot;user132&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:05 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521290&gt; {id: Optional(&quot;rsDma5IZ_u:38:0&quot;),clientId: Optional(&quot;user39&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:18 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520f20&gt; {id: Optional(&quot;rsDma5IZ_u:33:0&quot;),clientId: Optional(&quot;user34&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:16 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351b440&gt; {id: Optional(&quot;rsDma5IZ_u:56:0&quot;),clientId: Optional(&quot;user57&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:27 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003519c30&gt; {id: Optional(&quot;rsDma5IZ_u:88:0&quot;),clientId: Optional(&quot;user89&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:43 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520e70&gt; {id: Optional(&quot;rsDma5IZ_u:32:0&quot;),clientId: Optional(&quot;user33&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:15 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351e5d0&gt; {id: Optional(&quot;rsDma5IZ_u:115:0&quot;),clientId: Optional(&quot;user116&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:57 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003519b80&gt; {id: Optional(&quot;rsDma5IZ_u:8:0&quot;),clientId: Optional(&quot;user9&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:03 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351e310&gt; {id: Optional(&quot;rsDma5IZ_u:111:0&quot;),clientId: Optional(&quot;user112&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:55 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351d600&gt; {id: Optional(&quot;rsDma5IZ_u:96:0&quot;),clientId: Optional(&quot;user97&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:47 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520840&gt; {id: Optional(&quot;rsDma5IZ_u:24:0&quot;),clientId: Optional(&quot;user25&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:11 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521080&gt; {id: Optional(&quot;rsDma5IZ_u:35:0&quot;),clientId: Optional(&quot;user36&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:17 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521340&gt; {id: Optional(&quot;rsDma5IZ_u:3:0&quot;),clientId: Optional(&quot;user4&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:01 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351e1b0&gt; {id: Optional(&quot;rsDma5IZ_u:109:0&quot;),clientId: Optional(&quot;user110&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:54 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351e260&gt; {id: Optional(&quot;rsDma5IZ_u:110:0&quot;),clientId: Optional(&quot;user111&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:54 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003519a20&gt; {id: Optional(&quot;rsDma5IZ_u:90:0&quot;),clientId: Optional(&quot;user91&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:44 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351a100&gt; {id: Optional(&quot;rsDma5IZ_u:81:0&quot;),clientId: Optional(&quot;user82&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:40 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003519ef0&gt; {id: Optional(&quot;rsDma5IZ_u:84:0&quot;),clientId: Optional(&quot;user85&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:41 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351f440&gt; {id: Optional(&quot;rsDma5IZ_u:134:0&quot;),clientId: Optional(&quot;user135&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:06 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351a520&gt; {id: Optional(&quot;rsDma5IZ_u:76:0&quot;),clientId: Optional(&quot;user77&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:37 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520dc0&gt; {id: Optional(&quot;rsDma5IZ_u:31:0&quot;),clientId: Optional(&quot;user32&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:15 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351ff40&gt; {id: Optional(&quot;rsDma5IZ_u:14:0&quot;),clientId: Optional(&quot;user15&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:06 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351af70&gt; {id: Optional(&quot;rsDma5IZ_u:62:0&quot;),clientId: Optional(&quot;user63&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:30 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520fd0&gt; {id: Optional(&quot;rsDma5IZ_u:34:0&quot;),clientId: Optional(&quot;user35&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:16 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351d760&gt; {id: Optional(&quot;rsDma5IZ_u:95:0&quot;),clientId: Optional(&quot;user96&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:47 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351e680&gt; {id: Optional(&quot;rsDma5IZ_u:116:0&quot;),clientId: Optional(&quot;user117&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:57 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520630&gt; {id: Optional(&quot;rsDma5IZ_u:21:0&quot;),clientId: Optional(&quot;user22&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:10 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035204d0&gt; {id: Optional(&quot;rsDma5IZ_u:19:0&quot;),clientId: Optional(&quot;user20&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:09 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035211e0&gt; {id: Optional(&quot;rsDma5IZ_u:37:0&quot;),clientId: Optional(&quot;user38&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:18 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521810&gt; {id: Optional(&quot;rsDma5IZ_u:45:0&quot;),clientId: Optional(&quot;user46&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:22 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035208f0&gt; {id: Optional(&quot;rsDma5IZ_u:25:0&quot;),clientId: Optional(&quot;user26&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:12 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351e9f0&gt; {id: Optional(&quot;rsDma5IZ_u:120:0&quot;),clientId: Optional(&quot;user121&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:59 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351e100&gt; {id: Optional(&quot;rsDma5IZ_u:10:0&quot;),clientId: Optional(&quot;user11&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:04 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351ecb0&gt; {id: Optional(&quot;rsDma5IZ_u:124:0&quot;),clientId: Optional(&quot;user125&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:01 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003519d90&gt; {id: Optional(&quot;rsDma5IZ_u:86:0&quot;),clientId: Optional(&quot;user87&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:42 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035218c0&gt; {id: Optional(&quot;rsDma5IZ_u:46:0&quot;),clientId: Optional(&quot;user47&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:22 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003518d10&gt; {id: Optional(&quot;rsDma5IZ_u:94:0&quot;),clientId: Optional(&quot;user95&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:46 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521d90&gt; {id: Optional(&quot;rsDma5IZ_u:52:0&quot;),clientId: Optional(&quot;user53&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:25 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351eaa0&gt; {id: Optional(&quot;rsDma5IZ_u:121:0&quot;),clientId: Optional(&quot;user122&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:00 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003519810&gt; {id: Optional(&quot;rsDma5IZ_u:93:0&quot;),clientId: Optional(&quot;user94&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:46 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035206e0&gt; {id: Optional(&quot;rsDma5IZ_u:22:0&quot;),clientId: Optional(&quot;user23&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:10 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035198c0&gt; {id: Optional(&quot;rsDma5IZ_u:92:0&quot;),clientId: Optional(&quot;user93&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:45 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351f020&gt; {id: Optional(&quot;rsDma5IZ_u:12:0&quot;),clientId: Optional(&quot;user13&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:05 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351f650&gt; {id: Optional(&quot;rsDma5IZ_u:137:0&quot;),clientId: Optional(&quot;user138&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:08 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035216b0&gt; {id: Optional(&quot;rsDma5IZ_u:43:0&quot;),clientId: Optional(&quot;user44&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:21 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351de40&gt; {id: Optional(&quot;rsDma5IZ_u:105:0&quot;),clientId: Optional(&quot;user106&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:52 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351f860&gt; {id: Optional(&quot;rsDma5IZ_u:139:0&quot;),clientId: Optional(&quot;user140&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:09 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351b700&gt; {id: Optional(&quot;rsDma5IZ_u:53:0&quot;),clientId: Optional(&quot;user54&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:26 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351ae10&gt; {id: Optional(&quot;rsDma5IZ_u:64:0&quot;),clientId: Optional(&quot;user65&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:31 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351ad60&gt; {id: Optional(&quot;rsDma5IZ_u:65:0&quot;),clientId: Optional(&quot;user66&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:32 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351d4a0&gt; {id: Optional(&quot;rsDma5IZ_u:98:0&quot;),clientId: Optional(&quot;user99&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:48 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351a050&gt; {id: Optional(&quot;rsDma5IZ_u:82:0&quot;),clientId: Optional(&quot;user83&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:40 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351def0&gt; {id: Optional(&quot;rsDma5IZ_u:106:0&quot;),clientId: Optional(&quot;user107&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:52 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351f2e0&gt; {id: Optional(&quot;rsDma5IZ_u:132:0&quot;),clientId: Optional(&quot;user133&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:05 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520000&gt; {id: Optional(&quot;rsDma5IZ_u:149:0&quot;),clientId: Optional(&quot;user150&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:14 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351ec00&gt; {id: Optional(&quot;rsDma5IZ_u:123:0&quot;),clientId: Optional(&quot;user124&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:01 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351fa70&gt; {id: Optional(&quot;rsDma5IZ_u:142:0&quot;),clientId: Optional(&quot;user143&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:10 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351f5a0&gt; {id: Optional(&quot;rsDma5IZ_u:136:0&quot;),clientId: Optional(&quot;user137&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:07 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520210&gt; {id: Optional(&quot;rsDma5IZ_u:16:0&quot;),clientId: Optional(&quot;user17&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:07 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351dc30&gt; {id: Optional(&quot;rsDma5IZ_u:102:0&quot;),clientId: Optional(&quot;user103&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:50 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351a470&gt; {id: Optional(&quot;rsDma5IZ_u:77:0&quot;),clientId: Optional(&quot;user78&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:38 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351d550&gt; {id: Optional(&quot;rsDma5IZ_u:97:0&quot;),clientId: Optional(&quot;user98&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:48 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351a680&gt; {id: Optional(&quot;rsDma5IZ_u:74:0&quot;),clientId: Optional(&quot;user75&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:36 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521a20&gt; {id: Optional(&quot;rsDma5IZ_u:48:0&quot;),clientId: Optional(&quot;user49&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:23 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520160&gt; {id: Optional(&quot;rsDma5IZ_u:15:0&quot;),clientId: Optional(&quot;user16&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:07 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351ab50&gt; {id: Optional(&quot;rsDma5IZ_u:68:0&quot;),clientId: Optional(&quot;user69&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:33 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351a260&gt; {id: Optional(&quot;rsDma5IZ_u:79:0&quot;),clientId: Optional(&quot;user80&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:39 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351fd30&gt; {id: Optional(&quot;rsDma5IZ_u:146:0&quot;),clientId: Optional(&quot;user147&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:12 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520b00&gt; {id: Optional(&quot;rsDma5IZ_u:28:0&quot;),clientId: Optional(&quot;user29&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:13 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351fc80&gt; {id: Optional(&quot;rsDma5IZ_u:145:0&quot;),clientId: Optional(&quot;user146&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:12 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x000060000351fde0&gt; {id: Optional(&quot;rsDma5IZ_u:147:0&quot;),clientId: Optional(&quot;user148&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:56:13 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521970&gt; {id: Optional(&quot;rsDma5IZ_u:47:0&quot;),clientId: Optional(&quot;user48&quot;),connectionId: Optional(&quot;rsDma5IZ_u&quot;),timestamp: Optional(2025-09-16 12:55:23 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}]&gt;
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RealtimeClientPresenceTests.swift#EndingLineNumber=3198&amp;StartingLineNumber=3198)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__101__Presence__get__should_implicitly_attach_the_channel()" time="0.6328659057617188">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__102__Presence__get__should_result_in_an_error_if_the_channel_is_in_the_FAILED_state()" time="0.0019060373306274414">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__103__Presence__get__should_result_in_an_error_if_the_channel_moves_to_the_FAILED_state()" time="0.0031480789184570312">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__104__Presence__get__should_result_in_an_error_if_the_channel_is_in_the_DETACHED_state()" time="0.6632399559020996">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__105__Presence__get__should_result_in_an_error_if_the_channel_moves_to_the_DETACHED_state()" time="60.48412597179413">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__106__Presence__get__query__waitForSync_should_be_true_by_default()" time="0.00048601627349853516">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__107__Presence__get__If_the_Channel_is_in_the_SUSPENDED_state_then__by_default__results_in_an_error()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__108__Presence__get__If_the_Channel_is_in_the_SUSPENDED_state_then__if_waitForSync_is_true__results_in_an_error()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__109__Presence__get__If_the_Channel_is_in_the_SUSPENDED_state_then__if_waitForSync_is_false__returns_the_members_in_the_current_PresenceMap()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__110__Presence__get__Query__set_of_params___waitForSync_is_true__should_wait_until_SYNC_is_complete_before_returning_a_list_of_members()" time="80.13003599643707">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__111__Presence__get__Query__set_of_params___waitForSync_is_false__should_return_immediately_the_known_set_of_presence_members()" time="76.19375193119049">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__112__Presence__get__Query__set_of_params___should_return_members_filtered_by_clientId()" time="0.7746200561523438">
            <failure message="XCTAssertEqual failed: (&quot;0&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RealtimeClientPresenceTests.swift#EndingLineNumber=3534&amp;StartingLineNumber=3534)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__113__Presence__get__Query__set_of_params___should_return_members_filtered_by_connectionId()" time="51.40217101573944">
            <failure message="XCTAssertEqual failed: (&quot;0&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RealtimeClientPresenceTests.swift#EndingLineNumber=3613&amp;StartingLineNumber=3613)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__115__Presence__history__should_return_a_PaginatedResult_page()" time="75.50536394119263">
            <failure message="XCTAssertEqual failed: (&quot;100&quot;) is not equal to (&quot;50&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RealtimeClientPresenceTests.swift#EndingLineNumber=3723&amp;StartingLineNumber=3723)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__117__Presence__enterClient__should_be_present_all_the_registered_members_on_a_presence_channel()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__118__Presence__presence_message_attributes__if_the_presence_message_does_not_contain_an_id__it_should_be_set_to_protocolMsgId_index()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__200__Presence__PresenceMap_should_perform_re_entry_whenever_a_channel_moves_into_the_attached_state_and_presence_message_consists_of_enter_action_with_client_id_and_data()" time="26.166558027267456">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RealtimeClientPresenceTests.swift#EndingLineNumber=2734&amp;StartingLineNumber=2734)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__001__RealtimeClient__All_WebSocket_connections_should_include_the_current_API_version()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__002__RealtimeClient__should_have_access_to_the_underlying_Connection_object()" time="4.310804963111877">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__003__RealtimeClient__should_provide_access_to_the_underlying_Channels_object()" time="0.005502939224243164">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__004__RealtimeClient__should_use_the_configured_timeouts_specified()" time="6.85660195350647">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__005__RealtimeClient__background_behaviour()" time="1.0482360124588013">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__006__RealtimeClient__should_accept_acks_with_different_order()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__007__RealtimeClient__transport_should_guarantee_the_incoming_message_order()" time="24.089797973632812">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RealtimeClientTests.swift#EndingLineNumber=1379&amp;StartingLineNumber=1379)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__008__RealtimeClient__subscriber_should_receive_messages_in_the_same_order_in_which_they_have_been_sent()" time="20.299792051315308">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RealtimeClientTests.swift#EndingLineNumber=1423&amp;StartingLineNumber=1423)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__009__RealtimeClient__should_dispatch_in_user_queue_when_removing_an_observer()" time="0.0022350549697875977">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__010__RealtimeClient__should_never_register_any_connection_listeners_for_internal_use_with_the_public_EventEmitter()" time="0.25454699993133545">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__011__RealtimeClient__should_never_register_any_message_and_channel_listeners_for_internal_use_with_the_public_EventEmitter()" time="0.26739799976348877">
            <failure message="XCTAssertNil failed: &quot;Error 80003 - Connection to server temporarily unavailable&quot; (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RealtimeClientTests.swift#EndingLineNumber=1515&amp;StartingLineNumber=1515)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__012__RealtimeClient__moves_to_DISCONNECTED_on_an_unexpected_normal_WebSocket_close()" time="0.6232160329818726">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__013__RealtimeClient__options__should_support_the_same_options_as_the_Rest_client()" time="0.20959293842315674">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__014__RealtimeClient__options__should_echoMessages_option_be_true_by_default()" time="0.0018799304962158203">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__015__RealtimeClient__options__should_autoConnect_option_be_true_by_default()" time="0.0020519495010375977">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__016__RealtimeClient__options__should_attempt_to_recover_the_connection_state_if_recover_string_is_assigned()" time="0.4040720462799072">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__017__RealtimeClient__options__should_modify_the_realtime_endpoint_host_if_realtimeHost_is_assigned()" time="0.06313908100128174">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__018__RealtimeClient__options__should_modify_both_the_REST_and_realtime_endpoint_if_environment_string_is_assigned()" time="0.0008529424667358398">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__019__RealtimeClient__options__url_should_contains_transport_params()" time="0.003309965133666992">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__020__RealtimeClient__Auth_object__should_provide_access_to_the_Auth_object()" time="0.0024050474166870117">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__021__RealtimeClient__Auth_object__clientId_may_be_populated_when_the_connection_is_established()" time="0.2044910192489624">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__022__RealtimeClient__stats__should_present_an_async_interface()" time="0.20124399662017822">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__023__RealtimeClient__stats__should_accept_all_the_same_params_as_RestClient()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__024__RealtimeClient__time__should_present_an_async_interface()" time="4.1080769300460815">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__025__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__in_the_CONNECTED_state_and_auth_authorize_is_called__the_client_must_obtain_a_new_token__send_an_AUTH_ProtocolMessage_with_an_auth_attribute()" time="0.4952279329299927">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__026__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__when_the_authentication_token_change_is_successful__then_the_client_should_receive_a_new_CONNECTED_ProtocolMessage()" time="0.43839800357818604">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__027__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__performs_an_upgrade_of_capabilities_without_any_loss_of_continuity_or_connectivity_during_the_upgrade_process()" time="0.49401092529296875">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__028__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__when_capabilities_are_downgraded__client_should_receive_an_ERROR_ProtocolMessage_with_a_channel_property()" time="0.44885504245758057">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__029__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__when_the_authentication_token_change_fails__client_should_receive_an_ERROR_ProtocolMessage_triggering_the_connection_to_transition_to_the_FAILED_state()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__030__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__authorize_call_should_complete_with_an_error_if_the_request_fails()" time="4.497112035751343">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__031__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__authorize_call_should_be_indicated_as_completed_with_the_new_token_or_error_only_once_realtime_has_responded_to_the_AUTH_with_either_a_CONNECTED_or_ERROR_respectively()" time="0.3946878910064697">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__033__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__authorize_call_should_complete_with_the_new_token_once_the_connection_has_moved_to_the_CONNECTED_state()" time="0.3776700496673584">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__037__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__when_the_connection_is_in_the_SUSPENDED_state_when_auth_authorize_is_called__after_obtaining_a_token_the_library_should_move_to_the_CONNECTING_state_and_initiate_a_connection_attempt_using_the_new_token()" time="0.6268680095672607">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__038__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__when_the_connection_is_in_the_CLOSED_state_when_auth_authorize_is_called__after_obtaining_a_token_the_library_should_move_to_the_CONNECTING_state_and_initiate_a_connection_attempt_using_the_new_token()" time="0.6161030530929565">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__039__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__when_the_connection_is_in_the_DISCONNECTED_state_when_auth_authorize_is_called__after_obtaining_a_token_the_library_should_move_to_the_CONNECTING_state_and_initiate_a_connection_attempt_using_the_new_token()" time="0.5362740755081177">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__040__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__when_the_connection_is_in_the_FAILED_state_when_auth_authorize_is_called__after_obtaining_a_token_the_library_should_move_to_the_CONNECTING_state_and_initiate_a_connection_attempt_using_the_new_token()" time="0.5622609853744507">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__041__If_the_total_size_of_message_s__exceeds_the_maxMessageSize__the_client_library_should_reject_the_publish_and_indicate_an_error()" time="0.22071504592895508">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__042__If_the_total_size_of_message_s__exceeds_the_maxMessageSize__the_client_library_should_reject_also_presence_messages__enter_()" time="0.33712005615234375">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__043__If_the_total_size_of_message_s__exceeds_the_maxMessageSize__the_client_library_should_reject_also_presence_messages__leave_()" time="0.33634698390960693">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__044__If_the_total_size_of_message_s__exceeds_the_maxMessageSize__the_client_library_should_reject_also_presence_messages__update_()" time="0.36649298667907715">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__045__If_the_total_size_of_message_s__exceeds_the_maxMessageSize__the_client_library_should_reject_also_presence_messages__updateClient_()" time="0.34953200817108154">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__046__If_the_total_size_of_message_s__exceeds_the_maxMessageSize__the_client_library_should_reject_also_presence_messages__leaveClient_()" time="0.37673497200012207">
        </testcase>
        <testcase classname="RestClientChannelsTests" name="test__001__RestClient__channels__should_return_collection_of_channels()" time="0.0023260116577148438">
        </testcase>
        <testcase classname="RestClientChannelsTests" name="test__002__RestClient__channels__should_be_enumerable()" time="0.0025789737701416016">
        </testcase>
        <testcase classname="RestClientChannelsTests" name="test__003__RestClient__channels__get__should_return_a_channel()" time="0.0018939971923828125">
        </testcase>
        <testcase classname="RestClientChannelsTests" name="test__004__RestClient__channels__get__should_return_a_channel_with_the_provided_options()" time="0.09556806087493896">
            <failure message="XCTAssertTrue failed (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientChannelsTests.swift#EndingLineNumber=74&amp;StartingLineNumber=74)">
            </failure>
        </testcase>
        <testcase classname="RestClientChannelsTests" name="test__005__RestClient__channels__get__should_not_replace_the_options_on_an_existing_channel_when_none_are_provided()" time="0.0019390583038330078">
            <failure message="XCTAssertTrue failed (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientChannelsTests.swift#EndingLineNumber=85&amp;StartingLineNumber=85)">
            </failure>
        </testcase>
        <testcase classname="RestClientChannelsTests" name="test__006__RestClient__channels__get__should_replace_the_options_on_an_existing_channel_when_new_ones_are_provided()" time="0.001865983009338379">
        </testcase>
        <testcase classname="RestClientChannelsTests" name="test__007__RestClient__channels__channelExists__should_check_if_a_channel_exists()" time="0.001374959945678711">
        </testcase>
        <testcase classname="RestClientChannelsTests" name="test__008__RestClient__channels__releaseChannel__should_release_a_channel()" time="0.0011849403381347656">
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__002__Presence__get__should_return_a_PaginatedResult_page_containing_the_first_page_of_members()" time="75.25752294063568">
            <failure message="failed - expected to all pass a condition, but failed first at element &lt;&lt;ARTPresenceMessage: 0x0000600003507de0&gt; {id: Optional(&quot;iIFWXdT4UU:0:0&quot;),clientId: Optional(&quot;user1&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:08 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}&gt; in &lt;[&lt;ARTPresenceMessage: 0x0000600003507de0&gt; {id: Optional(&quot;iIFWXdT4UU:0:0&quot;),clientId: Optional(&quot;user1&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:08 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003507b20&gt; {id: Optional(&quot;iIFWXdT4UU:9:0&quot;),clientId: Optional(&quot;user10&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:12 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003507d30&gt; {id: Optional(&quot;iIFWXdT4UU:99:0&quot;),clientId: Optional(&quot;user100&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:57 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003507bd0&gt; {id: Optional(&quot;iIFWXdT4UU:100:0&quot;),clientId: Optional(&quot;user101&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:58 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003507e90&gt; {id: Optional(&quot;iIFWXdT4UU:101:0&quot;),clientId: Optional(&quot;user102&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:58 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003507700&gt; {id: Optional(&quot;iIFWXdT4UU:102:0&quot;),clientId: Optional(&quot;user103&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:59 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003507860&gt; {id: Optional(&quot;iIFWXdT4UU:103:0&quot;),clientId: Optional(&quot;user104&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:59 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003513910&gt; {id: Optional(&quot;iIFWXdT4UU:104:0&quot;),clientId: Optional(&quot;user105&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:00 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003513b20&gt; {id: Optional(&quot;iIFWXdT4UU:105:0&quot;),clientId: Optional(&quot;user106&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:00 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003513860&gt; {id: Optional(&quot;iIFWXdT4UU:106:0&quot;),clientId: Optional(&quot;user107&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:01 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035139c0&gt; {id: Optional(&quot;iIFWXdT4UU:107:0&quot;),clientId: Optional(&quot;user108&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:01 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003513f40&gt; {id: Optional(&quot;iIFWXdT4UU:108:0&quot;),clientId: Optional(&quot;user109&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:02 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003513bd0&gt; {id: Optional(&quot;iIFWXdT4UU:10:0&quot;),clientId: Optional(&quot;user11&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:13 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003513d30&gt; {id: Optional(&quot;iIFWXdT4UU:109:0&quot;),clientId: Optional(&quot;user110&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:02 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003513e90&gt; {id: Optional(&quot;iIFWXdT4UU:110:0&quot;),clientId: Optional(&quot;user111&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:03 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035134f0&gt; {id: Optional(&quot;iIFWXdT4UU:111:0&quot;),clientId: Optional(&quot;user112&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:03 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003513700&gt; {id: Optional(&quot;iIFWXdT4UU:112:0&quot;),clientId: Optional(&quot;user113&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:04 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003513650&gt; {id: Optional(&quot;iIFWXdT4UU:113:0&quot;),clientId: Optional(&quot;user114&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:04 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003513440&gt; {id: Optional(&quot;iIFWXdT4UU:114:0&quot;),clientId: Optional(&quot;user115&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:05 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035137b0&gt; {id: Optional(&quot;iIFWXdT4UU:115:0&quot;),clientId: Optional(&quot;user116&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:05 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003513a70&gt; {id: Optional(&quot;iIFWXdT4UU:116:0&quot;),clientId: Optional(&quot;user117&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:06 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003513c80&gt; {id: Optional(&quot;iIFWXdT4UU:117:0&quot;),clientId: Optional(&quot;user118&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:06 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520000&gt; {id: Optional(&quot;iIFWXdT4UU:118:0&quot;),clientId: Optional(&quot;user119&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:07 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035200b0&gt; {id: Optional(&quot;iIFWXdT4UU:11:0&quot;),clientId: Optional(&quot;user12&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:13 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520160&gt; {id: Optional(&quot;iIFWXdT4UU:119:0&quot;),clientId: Optional(&quot;user120&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:07 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520210&gt; {id: Optional(&quot;iIFWXdT4UU:120:0&quot;),clientId: Optional(&quot;user121&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:08 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035202c0&gt; {id: Optional(&quot;iIFWXdT4UU:121:0&quot;),clientId: Optional(&quot;user122&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:08 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520370&gt; {id: Optional(&quot;iIFWXdT4UU:122:0&quot;),clientId: Optional(&quot;user123&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:09 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520420&gt; {id: Optional(&quot;iIFWXdT4UU:123:0&quot;),clientId: Optional(&quot;user124&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:09 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035204d0&gt; {id: Optional(&quot;iIFWXdT4UU:124:0&quot;),clientId: Optional(&quot;user125&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:10 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520580&gt; {id: Optional(&quot;iIFWXdT4UU:125:0&quot;),clientId: Optional(&quot;user126&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:10 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520630&gt; {id: Optional(&quot;iIFWXdT4UU:126:0&quot;),clientId: Optional(&quot;user127&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:11 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035206e0&gt; {id: Optional(&quot;iIFWXdT4UU:127:0&quot;),clientId: Optional(&quot;user128&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:11 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520790&gt; {id: Optional(&quot;iIFWXdT4UU:128:0&quot;),clientId: Optional(&quot;user129&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:12 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520840&gt; {id: Optional(&quot;iIFWXdT4UU:12:0&quot;),clientId: Optional(&quot;user13&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:14 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035208f0&gt; {id: Optional(&quot;iIFWXdT4UU:129:0&quot;),clientId: Optional(&quot;user130&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:12 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035209a0&gt; {id: Optional(&quot;iIFWXdT4UU:130:0&quot;),clientId: Optional(&quot;user131&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:13 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520a50&gt; {id: Optional(&quot;iIFWXdT4UU:131:0&quot;),clientId: Optional(&quot;user132&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:13 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520b00&gt; {id: Optional(&quot;iIFWXdT4UU:132:0&quot;),clientId: Optional(&quot;user133&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:14 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520bb0&gt; {id: Optional(&quot;iIFWXdT4UU:133:0&quot;),clientId: Optional(&quot;user134&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:14 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520c60&gt; {id: Optional(&quot;iIFWXdT4UU:134:0&quot;),clientId: Optional(&quot;user135&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:15 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520d10&gt; {id: Optional(&quot;iIFWXdT4UU:135:0&quot;),clientId: Optional(&quot;user136&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:15 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520dc0&gt; {id: Optional(&quot;iIFWXdT4UU:136:0&quot;),clientId: Optional(&quot;user137&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:16 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520e70&gt; {id: Optional(&quot;iIFWXdT4UU:137:0&quot;),clientId: Optional(&quot;user138&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:16 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520f20&gt; {id: Optional(&quot;iIFWXdT4UU:138:0&quot;),clientId: Optional(&quot;user139&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:17 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003520fd0&gt; {id: Optional(&quot;iIFWXdT4UU:13:0&quot;),clientId: Optional(&quot;user14&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:14 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521080&gt; {id: Optional(&quot;iIFWXdT4UU:139:0&quot;),clientId: Optional(&quot;user140&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:17 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521130&gt; {id: Optional(&quot;iIFWXdT4UU:140:0&quot;),clientId: Optional(&quot;user141&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:18 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035211e0&gt; {id: Optional(&quot;iIFWXdT4UU:141:0&quot;),clientId: Optional(&quot;user142&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:18 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521290&gt; {id: Optional(&quot;iIFWXdT4UU:142:0&quot;),clientId: Optional(&quot;user143&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:19 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521340&gt; {id: Optional(&quot;iIFWXdT4UU:143:0&quot;),clientId: Optional(&quot;user144&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:19 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035213f0&gt; {id: Optional(&quot;iIFWXdT4UU:144:0&quot;),clientId: Optional(&quot;user145&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:20 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035214a0&gt; {id: Optional(&quot;iIFWXdT4UU:145:0&quot;),clientId: Optional(&quot;user146&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:20 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521550&gt; {id: Optional(&quot;iIFWXdT4UU:146:0&quot;),clientId: Optional(&quot;user147&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:21 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521600&gt; {id: Optional(&quot;iIFWXdT4UU:147:0&quot;),clientId: Optional(&quot;user148&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:21 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035216b0&gt; {id: Optional(&quot;iIFWXdT4UU:148:0&quot;),clientId: Optional(&quot;user149&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:22 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521760&gt; {id: Optional(&quot;iIFWXdT4UU:14:0&quot;),clientId: Optional(&quot;user15&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:15 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521810&gt; {id: Optional(&quot;iIFWXdT4UU:149:0&quot;),clientId: Optional(&quot;user150&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:08:22 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035218c0&gt; {id: Optional(&quot;iIFWXdT4UU:15:0&quot;),clientId: Optional(&quot;user16&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:15 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521970&gt; {id: Optional(&quot;iIFWXdT4UU:16:0&quot;),clientId: Optional(&quot;user17&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:16 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521a20&gt; {id: Optional(&quot;iIFWXdT4UU:17:0&quot;),clientId: Optional(&quot;user18&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:16 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521ad0&gt; {id: Optional(&quot;iIFWXdT4UU:18:0&quot;),clientId: Optional(&quot;user19&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:17 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521b80&gt; {id: Optional(&quot;iIFWXdT4UU:1:0&quot;),clientId: Optional(&quot;user2&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:08 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521c30&gt; {id: Optional(&quot;iIFWXdT4UU:19:0&quot;),clientId: Optional(&quot;user20&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:17 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521ce0&gt; {id: Optional(&quot;iIFWXdT4UU:20:0&quot;),clientId: Optional(&quot;user21&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:18 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521d90&gt; {id: Optional(&quot;iIFWXdT4UU:21:0&quot;),clientId: Optional(&quot;user22&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:18 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521e40&gt; {id: Optional(&quot;iIFWXdT4UU:22:0&quot;),clientId: Optional(&quot;user23&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:19 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521ef0&gt; {id: Optional(&quot;iIFWXdT4UU:23:0&quot;),clientId: Optional(&quot;user24&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:19 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003521fa0&gt; {id: Optional(&quot;iIFWXdT4UU:24:0&quot;),clientId: Optional(&quot;user25&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:20 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003522050&gt; {id: Optional(&quot;iIFWXdT4UU:25:0&quot;),clientId: Optional(&quot;user26&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:20 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003522100&gt; {id: Optional(&quot;iIFWXdT4UU:26:0&quot;),clientId: Optional(&quot;user27&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:21 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035221b0&gt; {id: Optional(&quot;iIFWXdT4UU:27:0&quot;),clientId: Optional(&quot;user28&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:21 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003522260&gt; {id: Optional(&quot;iIFWXdT4UU:28:0&quot;),clientId: Optional(&quot;user29&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:22 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003522310&gt; {id: Optional(&quot;iIFWXdT4UU:2:0&quot;),clientId: Optional(&quot;user3&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:08 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035223c0&gt; {id: Optional(&quot;iIFWXdT4UU:29:0&quot;),clientId: Optional(&quot;user30&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:22 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003522470&gt; {id: Optional(&quot;iIFWXdT4UU:30:0&quot;),clientId: Optional(&quot;user31&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:23 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003522520&gt; {id: Optional(&quot;iIFWXdT4UU:31:0&quot;),clientId: Optional(&quot;user32&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:23 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035225d0&gt; {id: Optional(&quot;iIFWXdT4UU:32:0&quot;),clientId: Optional(&quot;user33&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:24 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003522680&gt; {id: Optional(&quot;iIFWXdT4UU:33:0&quot;),clientId: Optional(&quot;user34&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:24 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003522730&gt; {id: Optional(&quot;iIFWXdT4UU:34:0&quot;),clientId: Optional(&quot;user35&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:25 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035227e0&gt; {id: Optional(&quot;iIFWXdT4UU:35:0&quot;),clientId: Optional(&quot;user36&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:25 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003522890&gt; {id: Optional(&quot;iIFWXdT4UU:36:0&quot;),clientId: Optional(&quot;user37&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:26 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003522940&gt; {id: Optional(&quot;iIFWXdT4UU:37:0&quot;),clientId: Optional(&quot;user38&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:26 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035229f0&gt; {id: Optional(&quot;iIFWXdT4UU:38:0&quot;),clientId: Optional(&quot;user39&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:27 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003522aa0&gt; {id: Optional(&quot;iIFWXdT4UU:3:0&quot;),clientId: Optional(&quot;user4&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:09 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003522b50&gt; {id: Optional(&quot;iIFWXdT4UU:39:0&quot;),clientId: Optional(&quot;user40&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:27 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003522c00&gt; {id: Optional(&quot;iIFWXdT4UU:40:0&quot;),clientId: Optional(&quot;user41&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:28 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003522cb0&gt; {id: Optional(&quot;iIFWXdT4UU:41:0&quot;),clientId: Optional(&quot;user42&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:28 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003522d60&gt; {id: Optional(&quot;iIFWXdT4UU:42:0&quot;),clientId: Optional(&quot;user43&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:29 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003522e10&gt; {id: Optional(&quot;iIFWXdT4UU:43:0&quot;),clientId: Optional(&quot;user44&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:29 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003522ec0&gt; {id: Optional(&quot;iIFWXdT4UU:44:0&quot;),clientId: Optional(&quot;user45&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:30 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003522f70&gt; {id: Optional(&quot;iIFWXdT4UU:45:0&quot;),clientId: Optional(&quot;user46&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:30 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003523020&gt; {id: Optional(&quot;iIFWXdT4UU:46:0&quot;),clientId: Optional(&quot;user47&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:31 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035230d0&gt; {id: Optional(&quot;iIFWXdT4UU:47:0&quot;),clientId: Optional(&quot;user48&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:31 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003523180&gt; {id: Optional(&quot;iIFWXdT4UU:48:0&quot;),clientId: Optional(&quot;user49&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:32 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003523230&gt; {id: Optional(&quot;iIFWXdT4UU:4:0&quot;),clientId: Optional(&quot;user5&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:09 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035232e0&gt; {id: Optional(&quot;iIFWXdT4UU:49:0&quot;),clientId: Optional(&quot;user50&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:32 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003523390&gt; {id: Optional(&quot;iIFWXdT4UU:50:0&quot;),clientId: Optional(&quot;user51&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:33 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x0000600003523440&gt; {id: Optional(&quot;iIFWXdT4UU:51:0&quot;),clientId: Optional(&quot;user52&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:33 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}, &lt;ARTPresenceMessage: 0x00006000035234f0&gt; {id: Optional(&quot;iIFWXdT4UU:52:0&quot;),clientId: Optional(&quot;user53&quot;),connectionId: Optional(&quot;iIFWXdT4UU&quot;),timestamp: Optional(2025-09-16 13:07:34 +0000),encoding: nil,data: Optional(online)extras: nil,action: 1,}]&gt;
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientPresenceTests.swift#EndingLineNumber=39&amp;StartingLineNumber=39)">
            </failure>
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__003__Presence__get__limit_should_support_up_to_1000_items()" time="0.0054090023040771484">
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__004__Presence__get__clientId_should_filter_members_by_the_provided_clientId()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__005__Presence__get__connectionId_should_filter_members_by_the_provided_connectionId()" time="8.335442066192627">
            <failure message="XCTAssertEqual failed: (&quot;9&quot;) is not equal to (&quot;3&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientPresenceTests.swift#EndingLineNumber=150&amp;StartingLineNumber=150)">
            </failure>
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__006__Presence__history__should_return_a_PaginatedResult_page_containing_the_first_page_of_members()" time="75.38929402828217">
            <failure message="failed - expected to all pass a condition, but failed first at element &lt;&lt;ARTPresenceMessage: 0x000060000351ecb0&gt; {id: Optional(&quot;AcUw25skCb:149:0&quot;),clientId: Optional(&quot;user150&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:10:07 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}&gt; in &lt;[&lt;ARTPresenceMessage: 0x000060000351ecb0&gt; {id: Optional(&quot;AcUw25skCb:149:0&quot;),clientId: Optional(&quot;user150&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:10:07 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351ed60&gt; {id: Optional(&quot;AcUw25skCb:148:0&quot;),clientId: Optional(&quot;user149&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:10:07 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351ee10&gt; {id: Optional(&quot;AcUw25skCb:147:0&quot;),clientId: Optional(&quot;user148&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:10:06 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351eec0&gt; {id: Optional(&quot;AcUw25skCb:146:0&quot;),clientId: Optional(&quot;user147&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:10:06 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351ef70&gt; {id: Optional(&quot;AcUw25skCb:145:0&quot;),clientId: Optional(&quot;user146&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:10:05 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351f020&gt; {id: Optional(&quot;AcUw25skCb:144:0&quot;),clientId: Optional(&quot;user145&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:10:05 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351f0d0&gt; {id: Optional(&quot;AcUw25skCb:143:0&quot;),clientId: Optional(&quot;user144&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:10:04 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351f180&gt; {id: Optional(&quot;AcUw25skCb:142:0&quot;),clientId: Optional(&quot;user143&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:10:04 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351f230&gt; {id: Optional(&quot;AcUw25skCb:141:0&quot;),clientId: Optional(&quot;user142&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:10:03 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351f2e0&gt; {id: Optional(&quot;AcUw25skCb:140:0&quot;),clientId: Optional(&quot;user141&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:10:03 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351f390&gt; {id: Optional(&quot;AcUw25skCb:139:0&quot;),clientId: Optional(&quot;user140&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:10:02 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351f440&gt; {id: Optional(&quot;AcUw25skCb:138:0&quot;),clientId: Optional(&quot;user139&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:10:02 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351f4f0&gt; {id: Optional(&quot;AcUw25skCb:137:0&quot;),clientId: Optional(&quot;user138&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:10:01 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351f5a0&gt; {id: Optional(&quot;AcUw25skCb:136:0&quot;),clientId: Optional(&quot;user137&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:10:01 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351f650&gt; {id: Optional(&quot;AcUw25skCb:135:0&quot;),clientId: Optional(&quot;user136&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:10:00 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351f700&gt; {id: Optional(&quot;AcUw25skCb:134:0&quot;),clientId: Optional(&quot;user135&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:10:00 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351f7b0&gt; {id: Optional(&quot;AcUw25skCb:133:0&quot;),clientId: Optional(&quot;user134&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:59 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351f860&gt; {id: Optional(&quot;AcUw25skCb:132:0&quot;),clientId: Optional(&quot;user133&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:59 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351f910&gt; {id: Optional(&quot;AcUw25skCb:131:0&quot;),clientId: Optional(&quot;user132&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:58 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351f9c0&gt; {id: Optional(&quot;AcUw25skCb:130:0&quot;),clientId: Optional(&quot;user131&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:58 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351fa70&gt; {id: Optional(&quot;AcUw25skCb:129:0&quot;),clientId: Optional(&quot;user130&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:57 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351fb20&gt; {id: Optional(&quot;AcUw25skCb:128:0&quot;),clientId: Optional(&quot;user129&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:56 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351fbd0&gt; {id: Optional(&quot;AcUw25skCb:127:0&quot;),clientId: Optional(&quot;user128&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:56 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351fc80&gt; {id: Optional(&quot;AcUw25skCb:126:0&quot;),clientId: Optional(&quot;user127&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:55 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351fd30&gt; {id: Optional(&quot;AcUw25skCb:125:0&quot;),clientId: Optional(&quot;user126&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:55 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351fde0&gt; {id: Optional(&quot;AcUw25skCb:124:0&quot;),clientId: Optional(&quot;user125&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:54 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351fe90&gt; {id: Optional(&quot;AcUw25skCb:123:0&quot;),clientId: Optional(&quot;user124&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:54 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x000060000351ff40&gt; {id: Optional(&quot;AcUw25skCb:122:0&quot;),clientId: Optional(&quot;user123&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:53 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003520000&gt; {id: Optional(&quot;AcUw25skCb:121:0&quot;),clientId: Optional(&quot;user122&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:53 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x00006000035200b0&gt; {id: Optional(&quot;AcUw25skCb:120:0&quot;),clientId: Optional(&quot;user121&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:52 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003520160&gt; {id: Optional(&quot;AcUw25skCb:119:0&quot;),clientId: Optional(&quot;user120&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:52 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003520210&gt; {id: Optional(&quot;AcUw25skCb:118:0&quot;),clientId: Optional(&quot;user119&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:51 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x00006000035202c0&gt; {id: Optional(&quot;AcUw25skCb:117:0&quot;),clientId: Optional(&quot;user118&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:51 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003520370&gt; {id: Optional(&quot;AcUw25skCb:116:0&quot;),clientId: Optional(&quot;user117&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:50 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003520420&gt; {id: Optional(&quot;AcUw25skCb:115:0&quot;),clientId: Optional(&quot;user116&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:50 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x00006000035204d0&gt; {id: Optional(&quot;AcUw25skCb:114:0&quot;),clientId: Optional(&quot;user115&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:49 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003520580&gt; {id: Optional(&quot;AcUw25skCb:113:0&quot;),clientId: Optional(&quot;user114&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:49 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003520630&gt; {id: Optional(&quot;AcUw25skCb:112:0&quot;),clientId: Optional(&quot;user113&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:48 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x00006000035206e0&gt; {id: Optional(&quot;AcUw25skCb:111:0&quot;),clientId: Optional(&quot;user112&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:48 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003520790&gt; {id: Optional(&quot;AcUw25skCb:110:0&quot;),clientId: Optional(&quot;user111&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:47 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003520840&gt; {id: Optional(&quot;AcUw25skCb:109:0&quot;),clientId: Optional(&quot;user110&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:47 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x00006000035208f0&gt; {id: Optional(&quot;AcUw25skCb:108:0&quot;),clientId: Optional(&quot;user109&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:46 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x00006000035209a0&gt; {id: Optional(&quot;AcUw25skCb:107:0&quot;),clientId: Optional(&quot;user108&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:46 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003520a50&gt; {id: Optional(&quot;AcUw25skCb:106:0&quot;),clientId: Optional(&quot;user107&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:45 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003520b00&gt; {id: Optional(&quot;AcUw25skCb:105:0&quot;),clientId: Optional(&quot;user106&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:45 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003520bb0&gt; {id: Optional(&quot;AcUw25skCb:104:0&quot;),clientId: Optional(&quot;user105&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:44 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003520c60&gt; {id: Optional(&quot;AcUw25skCb:103:0&quot;),clientId: Optional(&quot;user104&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:44 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003520d10&gt; {id: Optional(&quot;AcUw25skCb:102:0&quot;),clientId: Optional(&quot;user103&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:43 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003520dc0&gt; {id: Optional(&quot;AcUw25skCb:101:0&quot;),clientId: Optional(&quot;user102&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:43 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003520e70&gt; {id: Optional(&quot;AcUw25skCb:100:0&quot;),clientId: Optional(&quot;user101&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:42 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003520f20&gt; {id: Optional(&quot;AcUw25skCb:99:0&quot;),clientId: Optional(&quot;user100&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:42 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003520fd0&gt; {id: Optional(&quot;AcUw25skCb:98:0&quot;),clientId: Optional(&quot;user99&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:41 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003521080&gt; {id: Optional(&quot;AcUw25skCb:97:0&quot;),clientId: Optional(&quot;user98&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:41 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003521130&gt; {id: Optional(&quot;AcUw25skCb:96:0&quot;),clientId: Optional(&quot;user97&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:40 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x00006000035211e0&gt; {id: Optional(&quot;AcUw25skCb:95:0&quot;),clientId: Optional(&quot;user96&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:40 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003521290&gt; {id: Optional(&quot;AcUw25skCb:94:0&quot;),clientId: Optional(&quot;user95&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:39 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003521340&gt; {id: Optional(&quot;AcUw25skCb:93:0&quot;),clientId: Optional(&quot;user94&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:39 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x00006000035213f0&gt; {id: Optional(&quot;AcUw25skCb:92:0&quot;),clientId: Optional(&quot;user93&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:38 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x00006000035214a0&gt; {id: Optional(&quot;AcUw25skCb:91:0&quot;),clientId: Optional(&quot;user92&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:38 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003521550&gt; {id: Optional(&quot;AcUw25skCb:90:0&quot;),clientId: Optional(&quot;user91&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:37 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003521600&gt; {id: Optional(&quot;AcUw25skCb:89:0&quot;),clientId: Optional(&quot;user90&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:37 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x00006000035216b0&gt; {id: Optional(&quot;AcUw25skCb:88:0&quot;),clientId: Optional(&quot;user89&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:36 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003521760&gt; {id: Optional(&quot;AcUw25skCb:87:0&quot;),clientId: Optional(&quot;user88&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:36 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003521810&gt; {id: Optional(&quot;AcUw25skCb:86:0&quot;),clientId: Optional(&quot;user87&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:35 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x00006000035218c0&gt; {id: Optional(&quot;AcUw25skCb:85:0&quot;),clientId: Optional(&quot;user86&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:35 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003521970&gt; {id: Optional(&quot;AcUw25skCb:84:0&quot;),clientId: Optional(&quot;user85&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:34 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003521a20&gt; {id: Optional(&quot;AcUw25skCb:83:0&quot;),clientId: Optional(&quot;user84&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:34 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003521ad0&gt; {id: Optional(&quot;AcUw25skCb:82:0&quot;),clientId: Optional(&quot;user83&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:33 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003521b80&gt; {id: Optional(&quot;AcUw25skCb:81:0&quot;),clientId: Optional(&quot;user82&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:33 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003521c30&gt; {id: Optional(&quot;AcUw25skCb:80:0&quot;),clientId: Optional(&quot;user81&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:32 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003521ce0&gt; {id: Optional(&quot;AcUw25skCb:79:0&quot;),clientId: Optional(&quot;user80&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:32 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003521d90&gt; {id: Optional(&quot;AcUw25skCb:78:0&quot;),clientId: Optional(&quot;user79&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:31 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003521e40&gt; {id: Optional(&quot;AcUw25skCb:77:0&quot;),clientId: Optional(&quot;user78&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:31 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003521ef0&gt; {id: Optional(&quot;AcUw25skCb:76:0&quot;),clientId: Optional(&quot;user77&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:30 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003521fa0&gt; {id: Optional(&quot;AcUw25skCb:75:0&quot;),clientId: Optional(&quot;user76&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:30 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003522050&gt; {id: Optional(&quot;AcUw25skCb:74:0&quot;),clientId: Optional(&quot;user75&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:29 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003522100&gt; {id: Optional(&quot;AcUw25skCb:73:0&quot;),clientId: Optional(&quot;user74&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:29 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x00006000035221b0&gt; {id: Optional(&quot;AcUw25skCb:72:0&quot;),clientId: Optional(&quot;user73&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:28 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003522260&gt; {id: Optional(&quot;AcUw25skCb:71:0&quot;),clientId: Optional(&quot;user72&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:28 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003522310&gt; {id: Optional(&quot;AcUw25skCb:70:0&quot;),clientId: Optional(&quot;user71&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:27 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x00006000035223c0&gt; {id: Optional(&quot;AcUw25skCb:69:0&quot;),clientId: Optional(&quot;user70&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:27 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003522470&gt; {id: Optional(&quot;AcUw25skCb:68:0&quot;),clientId: Optional(&quot;user69&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:26 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003522520&gt; {id: Optional(&quot;AcUw25skCb:67:0&quot;),clientId: Optional(&quot;user68&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:26 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x00006000035225d0&gt; {id: Optional(&quot;AcUw25skCb:66:0&quot;),clientId: Optional(&quot;user67&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:25 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003522680&gt; {id: Optional(&quot;AcUw25skCb:65:0&quot;),clientId: Optional(&quot;user66&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:25 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003522730&gt; {id: Optional(&quot;AcUw25skCb:64:0&quot;),clientId: Optional(&quot;user65&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:24 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x00006000035227e0&gt; {id: Optional(&quot;AcUw25skCb:63:0&quot;),clientId: Optional(&quot;user64&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:24 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003522890&gt; {id: Optional(&quot;AcUw25skCb:62:0&quot;),clientId: Optional(&quot;user63&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:23 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003522940&gt; {id: Optional(&quot;AcUw25skCb:61:0&quot;),clientId: Optional(&quot;user62&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:23 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x00006000035229f0&gt; {id: Optional(&quot;AcUw25skCb:60:0&quot;),clientId: Optional(&quot;user61&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:22 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003522aa0&gt; {id: Optional(&quot;AcUw25skCb:59:0&quot;),clientId: Optional(&quot;user60&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:22 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003522b50&gt; {id: Optional(&quot;AcUw25skCb:58:0&quot;),clientId: Optional(&quot;user59&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:21 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003522c00&gt; {id: Optional(&quot;AcUw25skCb:57:0&quot;),clientId: Optional(&quot;user58&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:21 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003522cb0&gt; {id: Optional(&quot;AcUw25skCb:56:0&quot;),clientId: Optional(&quot;user57&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:20 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003522d60&gt; {id: Optional(&quot;AcUw25skCb:55:0&quot;),clientId: Optional(&quot;user56&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:20 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003522e10&gt; {id: Optional(&quot;AcUw25skCb:54:0&quot;),clientId: Optional(&quot;user55&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:19 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003522ec0&gt; {id: Optional(&quot;AcUw25skCb:53:0&quot;),clientId: Optional(&quot;user54&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:19 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003522f70&gt; {id: Optional(&quot;AcUw25skCb:52:0&quot;),clientId: Optional(&quot;user53&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:18 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x0000600003523020&gt; {id: Optional(&quot;AcUw25skCb:51:0&quot;),clientId: Optional(&quot;user52&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:18 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}, &lt;ARTPresenceMessage: 0x00006000035230d0&gt; {id: Optional(&quot;AcUw25skCb:50:0&quot;),clientId: Optional(&quot;user51&quot;),connectionId: Optional(&quot;AcUw25skCb&quot;),timestamp: Optional(2025-09-16 13:09:17 +0000),encoding: nil,data: Optional(online)extras: nil,action: 2,}]&gt;
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientPresenceTests.swift#EndingLineNumber=190&amp;StartingLineNumber=190)">
            </failure>
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__007__Presence__history__query_argument__direction_should_change_the_order_of_the_members()" time="4.980370044708252">
            <failure message="XCTAssertEqual failed: (&quot;Optional(&quot;user10&quot;)&quot;) is not equal to (&quot;Optional(&quot;user1&quot;)&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientPresenceTests.swift#EndingLineNumber=266&amp;StartingLineNumber=266)">
            </failure>
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__008__Presence__history__connectionId_should_filter_members_by_the_provided_connectionId()" time="4.191482067108154">
            <failure message="XCTAssertEqual failed: (&quot;9&quot;) is not equal to (&quot;3&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientPresenceTests.swift#EndingLineNumber=346&amp;StartingLineNumber=346)">
            </failure>
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__009__Presence__history__query_argument__limit_supports_up_to_1000_members()" time="0.45794904232025146">
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__010__Presence__history__query_argument__start_and_end_should_filter_members_between_those_two_times()" time="20.192741990089417">
            <failure message="XCTAssertEqual failed: (&quot;38&quot;) is not equal to (&quot;3&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientPresenceTests.swift#EndingLineNumber=411&amp;StartingLineNumber=411)">
            </failure>
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__011__Presence__history__query_argument__start_must_be_equal_to_or_less_than_end_and_is_unaffected_by_the_request_direction()" time="0.001332998275756836">
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__001__RestClient__stats__result__should_match_minute_level_inbound_and_outbound_fixture_data__forwards_()" time="4.821663975715637">
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__002__RestClient__stats__result__should_match_hour_level_inbound_and_outbound_fixture_data__forwards_()" time="5.1521769762039185">
            <failure message="XCTAssertEqual failed: (&quot;3&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientStatsTests.swift#EndingLineNumber=142&amp;StartingLineNumber=142)">
            </failure>
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__003__RestClient__stats__result__should_match_day_level_inbound_and_outbound_fixture_data__forwards_()" time="5.548776030540466">
            <failure message="XCTAssertEqual failed: (&quot;3&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientStatsTests.swift#EndingLineNumber=161&amp;StartingLineNumber=161)">
            </failure>
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__004__RestClient__stats__result__should_match_month_level_inbound_and_outbound_fixture_data__forwards_()" time="4.524505019187927">
            <failure message="XCTAssertEqual failed: (&quot;3&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientStatsTests.swift#EndingLineNumber=180&amp;StartingLineNumber=180)">
            </failure>
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__005__RestClient__stats__result__should_contain_only_one_item_when_limit_is_1__backwards()" time="4.936571002006531">
            <failure message="XCTAssertEqual failed: (&quot;3&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientStatsTests.swift#EndingLineNumber=198&amp;StartingLineNumber=198)">
            </failure>
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__006__RestClient__stats__result__should_contain_only_one_item_when_limit_is_1__forwards()" time="4.924419045448303">
            <failure message="XCTAssertEqual failed: (&quot;3&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientStatsTests.swift#EndingLineNumber=217&amp;StartingLineNumber=217)">
            </failure>
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__007__RestClient__stats__result__should_be_paginated_according_to_the_limit__backwards()" time="4.771636962890625">
            <failure message="XCTAssertEqual failed: (&quot;3&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientStatsTests.swift#EndingLineNumber=232&amp;StartingLineNumber=232)">
            </failure>
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__008__RestClient__stats__result__should_be_paginated_according_to_the_limit__fowards_()" time="4.693259000778198">
            <failure message="XCTAssertEqual failed: (&quot;3&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientStatsTests.swift#EndingLineNumber=282&amp;StartingLineNumber=282)">
            </failure>
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__009__RestClient__stats__query__start__should_return_an_error_when_later_than_end()" time="0.0008400678634643555">
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__010__RestClient__stats__query__direction__should_be_backwards_by_default()" time="0.00039196014404296875">
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__011__RestClient__stats__query__limit__should_have_a_default_value_of_100()" time="0.0019919872283935547">
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__012__RestClient__stats__query__limit__should_return_an_error_when_greater_than_1000()" time="0.0007359981536865234">
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__013__RestClient__stats__query__unit__should_default_to_minute()" time="0.0004659891128540039">
        </testcase>
        <testcase classname="RestClientTests" name="test__001__RestClient__All_REST_requests_should_include_the_current_API_version()" time="0.13093602657318115">
        </testcase>
        <testcase classname="RestClientTests" name="test__002__RestClient__should_provide_access_to_the_AuthOptions_object_passed_in_ClientOptions()" time="0.0">
            <failure message="Test crashed with signal segv.">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__003__RestClient__REST_endpoint_host_should_be_configurable_in_the_Client_constructor_with_the_option_restHost()" time="0.06215810775756836">
        </testcase>
        <testcase classname="RestClientTests" name="test__004__RestClient__should_send_requests_over_http_and_https()" time="4.1450300216674805">
        </testcase>
        <testcase classname="RestClientTests" name="test__005__RestClient__should_use_Auth_to_manage_authentication()" time="0.08824491500854492">
        </testcase>
        <testcase classname="RestClientTests" name="test__006__RestClient__should_request_another_token_after_current_one_is_no_longer_valid()" time="1.4956330060958862">
        </testcase>
        <testcase classname="RestClientTests" name="test__007__RestClient__should_result_in_an_error_when_user_does_not_have_sufficient_permissions()" time="0.18730700016021729">
        </testcase>
        <testcase classname="RestClientTests" name="test__008__RestClient__should_use_MsgPack_binary_protocol()" time="0.3709120750427246">
        </testcase>
        <testcase classname="RestClientTests" name="test__009__RestClient__should_use_JSON_text_protocol()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__010__RestClient__X_Ably_Version_must_be_included_in_all_REST_requests()" time="3.844532012939453">
        </testcase>
        <testcase classname="RestClientTests" name="test__011__RestClient__The_Agent_library_identifier_is_composed_of_a_series_of_key__value__entries_joined_by_spaces()" time="0.08491706848144531">
        </testcase>
        <testcase classname="RestClientTests" name="test__012__RestClient__should_indicate_an_error_if_there_is_no_way_to_renew_the_token()" time="2.4277679920196533">
        </testcase>
        <testcase classname="RestClientTests" name="test__013__RestClient__background_behaviour()" time="0.6052179336547852">
        </testcase>
        <testcase classname="RestClientTests" name="test__014__RestClient__client_should_handle_error_messages_in_plaintext_and_HTML_format()" time="20.13879692554474">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=1799&amp;StartingLineNumber=1799)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__015__RestClient__initializer__should_accept_an_API_key()" time="0.020480990409851074">
        </testcase>
        <testcase classname="RestClientTests" name="test__017__RestClient__initializer__should_result_in_error_status_when_provided_a_bad_key()" time="0.1777440309524536">
        </testcase>
        <testcase classname="RestClientTests" name="test__018__RestClient__initializer__should_accept_a_token()" time="0.0933220386505127">
        </testcase>
        <testcase classname="RestClientTests" name="test__019__RestClient__initializer__should_accept_an_options_object()" time="0.001665949821472168">
        </testcase>
        <testcase classname="RestClientTests" name="test__020__RestClient__initializer__should_accept_an_options_object_with_token_authentication()" time="0.21217501163482666">
        </testcase>
        <testcase classname="RestClientTests" name="test__021__RestClient__initializer__should_result_in_error_status_when_provided_a_bad_token()" time="0.14460492134094238">
        </testcase>
        <testcase classname="RestClientTests" name="test__022__RestClient__logging__should_output_to_the_system-log_and_the_log_level_should_be_Warn()" time="0.0024979114532470703">
        </testcase>
        <testcase classname="RestClientTests" name="test__023__RestClient__logging__should_have_a_mutable_log_level()" time="0.004024982452392578">
        </testcase>
        <testcase classname="RestClientTests" name="test__024__RestClient__logging__should_accept_a_custom_logger()" time="0.0020769834518432617">
        </testcase>
        <testcase classname="RestClientTests" name="test__025__RestClient__endpoint__should_accept_a_custom_host_and_send_requests_to_the_specified_host()" time="0.013762950897216797">
        </testcase>
        <testcase classname="RestClientTests" name="test__026__RestClient__endpoint__should_ignore_an_environment_when_restHost_is_customized()" time="0.01318204402923584">
        </testcase>
        <testcase classname="RestClientTests" name="test__027__RestClient__endpoint__should_accept_an_environment_when_restHost_is_left_unchanged()" time="0.026586055755615234">
        </testcase>
        <testcase classname="RestClientTests" name="test__028__RestClient__endpoint__should_default_to_https___rest_ably_io()" time="0.012695908546447754">
        </testcase>
        <testcase classname="RestClientTests" name="test__029__RestClient__endpoint__should_connect_over_plain_http____when_tls_is_off()" time="0.10062694549560547">
        </testcase>
        <testcase classname="RestClientTests" name="test__030__RestClient__endpoint__should_not_prepend_the_environment_if_environment_is_configured_as__production_()" time="0.0007339715957641602">
        </testcase>
        <testcase classname="RestClientTests" name="test__031__RestClient__should_use_the_the_connection_and_request_timeouts_specified__timeout_for_any_single_HTTP_request_and_response()" time="1.0268679857254028">
        </testcase>
        <testcase classname="RestClientTests" name="test__032__RestClient__should_use_the_the_connection_and_request_timeouts_specified__max_number_of_fallback_hosts()" time="0.0051239728927612305">
        </testcase>
        <testcase classname="RestClientTests" name="test__033__RestClient__should_use_the_the_connection_and_request_timeouts_specified__max_elapsed_time_in_which_fallback_host_retries_for_HTTP_requests_will_be_attempted()" time="0.4245879650115967">
        </testcase>
        <testcase classname="RestClientTests" name="test__034__RestClient__time__should_return_server_time()" time="0.09306597709655762">
        </testcase>
        <testcase classname="RestClientTests" name="test__035__RestClient__Authentication__should_support_basic_authentication_when_an_API_key_is_provided_with_the_key_option()" time="0.08388006687164307">
        </testcase>
        <testcase classname="RestClientTests" name="test__036__RestClient__Authentication__should_error_when_expired_token_and_no_means_to_renew()" time="5.5968769788742065">
        </testcase>
        <testcase classname="RestClientTests" name="test__037__RestClient__Authentication__should_renew_the_token_when_it_has_expired()" time="5.638993978500366">
        </testcase>
        <testcase classname="RestClientTests" name="test__038__RestClient__Authentication__basic_authentication_flag__should_be_true_when_initialized_with_a_key()" time="0.001259922981262207">
        </testcase>
        <testcase classname="RestClientTests" name="test__039__RestClient__Authentication__basic_authentication_flag__should_be_false_when_options__useTokenAuth_is_set()" time="0.0005840063095092773">
        </testcase>
        <testcase classname="RestClientTests" name="test__040__RestClient__Authentication__basic_authentication_flag__should_be_false_when_options__authUrl_is_set()" time="0.014311909675598145">
        </testcase>
        <testcase classname="RestClientTests" name="test__041__RestClient__Authentication__basic_authentication_flag__should_be_false_when_options__authCallback_is_set()" time="0.0038309097290039062">
        </testcase>
        <testcase classname="RestClientTests" name="test__042__RestClient__Authentication__basic_authentication_flag__should_be_false_when_options__tokenDetails_is_set()" time="0.0007610321044921875">
        </testcase>
        <testcase classname="RestClientTests" name="test__043__RestClient__Authentication__basic_authentication_flag__should_be_false_when_options__token_is_set()" time="0.0009109973907470703">
        </testcase>
        <testcase classname="RestClientTests" name="test__044__RestClient__Authentication__basic_authentication_flag__should_be_false_when_options__key_is_set()" time="0.0030039548873901367">
        </testcase>
        <testcase classname="RestClientTests" name="test__045__RestClient__Host_Fallback__failing_HTTP_requests_with_custom_endpoint_should_result_in_an_error_immediately()" time="0.001847982406616211">
        </testcase>
        <testcase classname="RestClientTests" name="test__046__RestClient__Host_Fallback__applies_when_ClientOptions_fallbackHostsUseDefault_is_true()" time="0.013715982437133789">
        </testcase>
        <testcase classname="RestClientTests" name="test__047__RestClient__Host_Fallback__won_t_apply_fallback_hosts_if_ClientOptions_fallbackHosts_array_is_empty()" time="0.0013519525527954102">
        </testcase>
        <testcase classname="RestClientTests" name="test__048__RestClient__Host_Fallback__won_t_apply_custom_fallback_hosts_if_ClientOptions_fallbackHosts_and_ClientOptions_environment_are_not_set__use_defaults_instead()" time="0.0017790794372558594">
        </testcase>
        <testcase classname="RestClientTests" name="test__049__RestClient__Host_Fallback__every_new_HTTP_request_is_first_attempted_to_the_default_primary_host_rest_ably_io()" time="1.1476140022277832">
            <failure message="XCTAssertTrue failed (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=1313&amp;StartingLineNumber=1313)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__050__RestClient__Host_Fallback__should_not_use_an_alternative_host_when_the_client_receives_an_bad_request()" time="0.00144195556640625">
        </testcase>
        <testcase classname="RestClientTests" name="test__051__RestClient__Host_Fallback__fallbackHostsUseDefault_option__allows_the_default_fallback_hosts_to_be_used_when__environment__is_not_production()" time="0.007081031799316406">
        </testcase>
        <testcase classname="RestClientTests" name="test__052__RestClient__Host_Fallback__fallbackHostsUseDefault_option__allows_the_default_fallback_hosts_to_be_used_when_a_custom_Realtime_or_REST_host_endpoint_is_being_used()" time="0.0027589797973632812">
        </testcase>
        <testcase classname="RestClientTests" name="test__053__RestClient__Host_Fallback__fallbackHostsUseDefault_option__should_be_inactive_by_default()" time="0.0015619993209838867">
        </testcase>
        <testcase classname="RestClientTests" name="test__055__RestClient__Host_Fallback__Fallback_behavior__should_be_applied_when_restHost__port_and_tlsPort_has_not_been_set_to_an_explicit_value()" time="0.0019069910049438477">
        </testcase>
        <testcase classname="RestClientTests" name="test__056__RestClient__Host_Fallback__Fallback_behavior__should_NOT_be_applied_when_ClientOptions_restHost_has_been_set()" time="0.0021740198135375977">
        </testcase>
        <testcase classname="RestClientTests" name="test__057__RestClient__Host_Fallback__Fallback_behavior__should_NOT_be_applied_when_ClientOptions_port_has_been_set()" time="0.0013350248336791992">
        </testcase>
        <testcase classname="RestClientTests" name="test__058__RestClient__Host_Fallback__Fallback_behavior__should_NOT_be_applied_when_ClientOptions_tlsPort_has_been_set()" time="0.0029059648513793945">
        </testcase>
        <testcase classname="RestClientTests" name="test__059__RestClient__Host_Fallback__Fallback_behavior__should_be_applied_when_ClientOptions_fallbackHosts_is_provided()" time="0.0013499259948730469">
        </testcase>
        <testcase classname="RestClientTests" name="test__060__RestClient__Host_Fallback__Fallback_behavior__should_be_applied_when_ClientOptions_fallbackHosts_is_not_provided_and_deprecated_fallbackHostsUseDefault_is_on()" time="0.012017011642456055">
        </testcase>
        <testcase classname="RestClientTests" name="test__061__RestClient__Host_Fallback__fallback_hosts_list_and_priorities__should_use_ClientOptions_fallbackHosts_when_list_is_provided()" time="0.0029120445251464844">
        </testcase>
        <testcase classname="RestClientTests" name="test__062__RestClient__Host_Fallback__fallback_hosts_list_and_priorities__should_use_environment_fallback_hosts_when_ClientOptions_environment_is_set_to_a_value_other_than__production__and_ClientOptions_fallbackHosts_is_not_set()" time="0.0016030073165893555">
        </testcase>
        <testcase classname="RestClientTests" name="test__063__RestClient__Host_Fallback__fallback_hosts_list_and_priorities__should_NOT_use_environment_fallback_hosts_when_ClientOptions_environment_is_set_to__production_()" time="0.0015980005264282227">
        </testcase>
        <testcase classname="RestClientTests" name="test__064__RestClient__Host_Fallback__fallback_hosts_list_and_priorities__should_use_default_fallback_hosts_when_both_ClientOptions_fallbackHosts_and_ClientOptions_environment_are_not_set()" time="0.002322077751159668">
        </testcase>
        <testcase classname="RestClientTests" name="test__065__RestClient__Host_Fallback__retry_hosts_in_random_order__default_fallback_hosts_should_match__a_e__ably_realtime_com()" time="0.013100981712341309">
        </testcase>
        <testcase classname="RestClientTests" name="test__066__RestClient__Host_Fallback__retry_hosts_in_random_order__environment_fallback_hosts_have_the_format__environment___a_e__fallback_ably_realtime_com()" time="0.0009279251098632812">
        </testcase>
        <testcase classname="RestClientTests" name="test__067__RestClient__Host_Fallback__retry_hosts_in_random_order__until_httpMaxRetryCount_has_been_reached()" time="0.002917051315307617">
        </testcase>
        <testcase classname="RestClientTests" name="test__068__RestClient__Host_Fallback__retry_hosts_in_random_order__use_custom_fallback_hosts_if_set()" time="0.0036460161209106445">
        </testcase>
        <testcase classname="RestClientTests" name="test__069__RestClient__Host_Fallback__retry_hosts_in_random_order__until_all_fallback_hosts_have_been_tried()" time="0.020675063133239746">
        </testcase>
        <testcase classname="RestClientTests" name="test__070__RestClient__Host_Fallback__retry_hosts_in_random_order__until_httpMaxRetryCount_has_been_reached__if_custom_fallback_hosts_are_provided_in_ClientOptions_fallbackHosts__then_they_will_be_used_instead()" time="0.0017009973526000977">
        </testcase>
        <testcase classname="RestClientTests" name="test__071__RestClient__Host_Fallback__retry_hosts_in_random_order__until_all_fallback_hosts_have_been_tried__if_custom_fallback_hosts_are_provided_in_ClientOptions_fallbackHosts__then_they_will_be_used_instead()" time="0.0032559633255004883">
        </testcase>
        <testcase classname="RestClientTests" name="test__072__RestClient__Host_Fallback__retry_hosts_in_random_order__all_fallback_requests_headers_should_contain__Host__header_with_fallback_host_address()" time="0.008149981498718262">
            <failure message="XCTAssertEqual failed: (&quot;5&quot;) is not equal to (&quot;0&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=1528&amp;StartingLineNumber=1528)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__073__RestClient__Host_Fallback__retry_hosts_in_random_order__if_an_empty_array_of_fallback_hosts_is_provided__then_fallback_host_functionality_is_disabled()" time="0.0050879716873168945">
        </testcase>
        <testcase classname="RestClientTests" name="test__074__RestClient__Host_Fallback__should_use_an_alternative_host_when___hostUnreachable()" time="0.011290907859802246">
        </testcase>
        <testcase classname="RestClientTests" name="test__075__RestClient__Host_Fallback__should_use_an_alternative_host_when___requestTimeout_timeout__0_1_()" time="0.11310005187988281">
        </testcase>
        <testcase classname="RestClientTests" name="test__076__RestClient__Host_Fallback__should_use_an_alternative_host_when___hostInternalError_code__501_()" time="0.0018949508666992188">
        </testcase>
        <testcase classname="RestClientTests" name="test__077__RestClient__Host_Fallback__should_store_successful_fallback_host_as_default_host___hostUnreachable()" time="0.00454103946685791">
        </testcase>
        <testcase classname="RestClientTests" name="test__078__RestClient__Host_Fallback__should_store_successful_fallback_host_as_default_host___requestTimeout_timeout__0_1_()" time="0.10916197299957275">
        </testcase>
        <testcase classname="RestClientTests" name="test__079__RestClient__Host_Fallback__should_store_successful_fallback_host_as_default_host___hostInternalError_code__501_()" time="0.0019279718399047852">
        </testcase>
        <testcase classname="RestClientTests" name="test__080__RestClient__Host_Fallback__should_store_successful_fallback_host_as_default_host__should_restore_default_primary_host_after_fallbackRetryTimeout_expired___hostUnreachable()" time="1.133344054222107">
            <failure message="XCTAssertEqual failed: (&quot;Optional(&quot;c.ably-realtime.com&quot;)&quot;) is not equal to (&quot;Optional(&quot;rest.ably.io&quot;)&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=113&amp;StartingLineNumber=113)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__081__RestClient__Host_Fallback__should_store_successful_fallback_host_as_default_host__should_restore_default_primary_host_after_fallbackRetryTimeout_expired___requestTimeout_timeout__0_1_()" time="1.254262924194336">
            <failure message="XCTAssertEqual failed: (&quot;Optional(&quot;d.ably-realtime.com&quot;)&quot;) is not equal to (&quot;Optional(&quot;rest.ably.io&quot;)&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=113&amp;StartingLineNumber=113)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__082__RestClient__Host_Fallback__should_store_successful_fallback_host_as_default_host__should_restore_default_primary_host_after_fallbackRetryTimeout_expired___hostInternalError_code__501_()" time="1.178413987159729">
            <failure message="XCTAssertEqual failed: (&quot;Optional(&quot;e.ably-realtime.com&quot;)&quot;) is not equal to (&quot;Optional(&quot;rest.ably.io&quot;)&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=113&amp;StartingLineNumber=113)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__083__RestClient__Host_Fallback__should_store_successful_fallback_host_as_default_host__should_use_another_fallback_host_if_previous_fallback_request_failed_and_store_it_as_default_if_current_fallback_request_succseeded___hostUnreachable()" time="0.003298044204711914">
        </testcase>
        <testcase classname="RestClientTests" name="test__084__RestClient__Host_Fallback__should_store_successful_fallback_host_as_default_host__should_use_another_fallback_host_if_previous_fallback_request_failed_and_store_it_as_default_if_current_fallback_request_succseeded___requestTimeout_timeout__0_1_()" time="0.21177399158477783">
        </testcase>
        <testcase classname="RestClientTests" name="test__085__RestClient__Host_Fallback__should_store_successful_fallback_host_as_default_host__should_use_another_fallback_host_if_previous_fallback_request_failed_and_store_it_as_default_if_current_fallback_request_succseeded___hostInternalError_code__501_()" time="0.003309965133666992">
        </testcase>
        <testcase classname="RestClientTests" name="test__086__RestClient__request__method_signature_and_arguments__should_add_query_parameters()" time="0.0033680200576782227">
            <failure message="XCTAssertEqual failed: (&quot;https://rest.ably.io:443/feature&quot;) is not equal to (&quot;https://rest.ably.io:443/feature?foo=1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=1844&amp;StartingLineNumber=1844)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__087__RestClient__request__method_signature_and_arguments__should_add_a_HTTP_body()" time="0.0016560554504394531">
        </testcase>
        <testcase classname="RestClientTests" name="test__088__RestClient__request__method_signature_and_arguments__should_add_a_HTTP_header()" time="0.0010889768600463867">
        </testcase>
        <testcase classname="RestClientTests" name="test__089__RestClient__request__method_signature_and_arguments__should_error_if_method_is_invalid()" time="0.0025709867477416992">
            <failure message="XCTAssertEqual failed: (&quot;40005&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=1910&amp;StartingLineNumber=1910)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__090__RestClient__request__method_signature_and_arguments__should_error_if_path_is_invalid()" time="0.0012929439544677734">
            <failure message="XCTAssertEqual failed: (&quot;40007&quot;) is not equal to (&quot;3&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=1934&amp;StartingLineNumber=1934)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__091__RestClient__request__method_signature_and_arguments__should_error_if_body_is_not_a_Dictionary_or_an_Array()" time="0.0018320083618164062">
            <failure message="XCTAssertEqual failed: (&quot;40006&quot;) is not equal to (&quot;2&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=1949&amp;StartingLineNumber=1949)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__092__RestClient__request__method_signature_and_arguments__should_do_a_request_and_receive_a_valid_response()" time="0.6318060159683228">
        </testcase>
        <testcase classname="RestClientTests" name="test__093__RestClient__request__method_signature_and_arguments__should_handle_response_failures()" time="0.22573399543762207">
        </testcase>
        <testcase classname="RestClientTests" name="test__094__RestClient__if_in_the_course_of_a_REST_request_an_attempt_to_authenticate_using_authUrl_fails_due_to_a_timeout__the_request_should_result_in_an_error_with_code_40170__statusCode_401__and_a_suitable_error_message()" time="0.11383402347564697">
            <failure message="XCTAssertEqual failed: (&quot;0&quot;) is not equal to (&quot;401&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=2069&amp;StartingLineNumber=2069)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__095__RestClient__request_IDs__should_add__request_id__query_parameter()" time="0.0019450187683105469">
        </testcase>
        <testcase classname="RestClientTests" name="test__097__RestClient__request_IDs__ErrorInfo_should_have__requestId__property()" time="0.0010069608688354492">
        </testcase>
        <testcase classname="RestPaginatedTests" name="test__001__RestPaginated__should_extract_links_from_the_response()" time="0.0010290145874023438">
        </testcase>
        <testcase classname="RestPaginatedTests" name="test__002__RestPaginated__should_create_next_first_last_request_from_extracted_link_path()" time="0.0005660057067871094">
        </testcase>
        <testcase classname="RetrySequenceTests" name="test_addRetryAttempt()" time="0.0004069805145263672">
        </testcase>
        <testcase classname="StatsTests" name="test__001__Stats__all__should_return_a_MessagesTypes_object()" time="0.03245401382446289">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c28700&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key all. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=86&amp;StartingLineNumber=86)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__002__Stats__all__should_return_value_for_message_counts()" time="0.005864977836608887">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c25e80&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key all. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=86&amp;StartingLineNumber=86)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__003__Stats__all__should_return_value_for_all_data_transferred()" time="0.005602002143859863">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c4bb00&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key all. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=86&amp;StartingLineNumber=86)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__004__Stats__all__should_return_zero_for_empty_values()" time="0.004927992820739746">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c4b380&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key all. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=86&amp;StartingLineNumber=86)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__005__Stats__persisted__should_return_a_MessagesTypes_object()" time="0.006363987922668457">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c4fc00&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key persisted. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=86&amp;StartingLineNumber=86)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__006__Stats__persisted__should_return_value_for_message_counts()" time="0.004940986633300781">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c4bd80&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key persisted. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=86&amp;StartingLineNumber=86)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__007__Stats__persisted__should_return_value_for_all_data_transferred()" time="0.005079030990600586">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c4a500&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key persisted. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=86&amp;StartingLineNumber=86)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__008__Stats__persisted__should_return_zero_for_empty_values()" time="0.007024049758911133">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c4b580&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key persisted. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=86&amp;StartingLineNumber=86)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__009__Stats__inbound__should_return_a_MessageTraffic_object()" time="0.00519108772277832">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c4b900&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key inbound. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=191&amp;StartingLineNumber=191)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__010__Stats__inbound__should_return_value_for_realtime_message_counts()" time="0.005034089088439941">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c4fc80&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key inbound. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=191&amp;StartingLineNumber=191)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__011__Stats__inbound__should_return_value_for_all_presence_data()" time="0.00486600399017334">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c4b780&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key inbound. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=191&amp;StartingLineNumber=191)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__012__Stats__outbound__should_return_a_MessageTraffic_object()" time="0.0067980289459228516">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c47780&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key outbound. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=191&amp;StartingLineNumber=191)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__013__Stats__outbound__should_return_value_for_realtime_message_counts()" time="0.004902005195617676">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c4a780&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key outbound. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=191&amp;StartingLineNumber=191)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__014__Stats__outbound__should_return_value_for_all_presence_data()" time="0.0055190324783325195">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c4a600&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key outbound. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=191&amp;StartingLineNumber=191)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__015__Stats__connections__should_return_a_ConnectionTypes_object()" time="0.0025800466537475586">
        </testcase>
        <testcase classname="StatsTests" name="test__016__Stats__connections__should_return_value_for_tls_opened_counts()" time="0.0004678964614868164">
        </testcase>
        <testcase classname="StatsTests" name="test__017__Stats__connections__should_return_value_for_all_peak_connections()" time="0.00043904781341552734">
        </testcase>
        <testcase classname="StatsTests" name="test__018__Stats__connections__should_return_zero_for_empty_values()" time="0.0005209445953369141">
        </testcase>
        <testcase classname="StatsTests" name="test__019__Stats__channels__should_return_a_ResourceCount_object()" time="0.001671910285949707">
        </testcase>
        <testcase classname="StatsTests" name="test__020__Stats__channels__should_return_value_for_opened_counts()" time="0.00045800209045410156">
        </testcase>
        <testcase classname="StatsTests" name="test__021__Stats__channels__should_return_value_for_peak_channels()" time="0.00037992000579833984">
        </testcase>
        <testcase classname="StatsTests" name="test__022__Stats__channels__should_return_zero_for_empty_values()" time="0.00037992000579833984">
        </testcase>
        <testcase classname="StatsTests" name="test__023__Stats__apiRequests__should_return_a_RequestCount_object()" time="0.006518006324768066">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c48600&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key apiRequests. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=312&amp;StartingLineNumber=312)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__024__Stats__apiRequests__should_return_value_for_succeeded()" time="0.005853056907653809">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c49000&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key apiRequests. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=312&amp;StartingLineNumber=312)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__025__Stats__apiRequests__should_return_value_for_failed()" time="0.005025982856750488">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c49b80&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key apiRequests. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=312&amp;StartingLineNumber=312)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__026__Stats__tokenRequests__should_return_a_RequestCount_object()" time="0.020923972129821777">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c47f80&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key tokenRequests. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=312&amp;StartingLineNumber=312)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__027__Stats__tokenRequests__should_return_value_for_succeeded()" time="0.005803942680358887">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c4b800&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key tokenRequests. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=312&amp;StartingLineNumber=312)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__028__Stats__tokenRequests__should_return_value_for_failed()" time="0.005688071250915527">
            <failure message="[&lt;AblySwift.ARTStats 0x600002c36c80&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key tokenRequests. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=312&amp;StartingLineNumber=312)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__029__Stats__interval__should_return_a_Date_object_representing_the_start_of_the_interval()" time="0.0051070451736450195">
        </testcase>
        <testcase classname="StatsTests" name="test__030__Stats__push__should_return_a_ARTStatsPushCount_object()" time="0.0016069412231445312">
        </testcase>
        <testcase classname="StatsTests" name="test__031__Stats__push__should_return_value_for_messages_count()" time="0.0005049705505371094">
        </testcase>
        <testcase classname="StatsTests" name="test__032__Stats__push__should_return_value_for_invalid_notifications()" time="0.00048804283142089844">
        </testcase>
        <testcase classname="StatsTests" name="test__033__Stats__push__should_return_value_for_attempted_notifications()" time="0.0006189346313476562">
        </testcase>
        <testcase classname="StatsTests" name="test__034__Stats__push__should_return_value_for_successful_notifications()" time="0.004963994026184082">
        </testcase>
        <testcase classname="StatsTests" name="test__035__Stats__push__should_return_value_for_failed_notifications()" time="0.0005429983139038086">
        </testcase>
        <testcase classname="StatsTests" name="test__036__Stats__push__should_return_value_for_directPublishes()" time="0.0004930496215820312">
        </testcase>
        <testcase classname="StatsTests" name="test__037__Stats__inProgress__should_return_a_Date_object_representing_the_last_sub_interval_included_in_this_statistic()" time="0.0007410049438476562">
        </testcase>
        <testcase classname="StatsTests" name="test__038__Stats__count__should_return_value_for_number_of_lower_level_stats()" time="0.0005910396575927734">
        </testcase>
        <testcase classname="StringifiableTests" name="test__001__Stringifiable__type_conversion__as_string()" time="0.0005769729614257812">
        </testcase>
        <testcase classname="StringifiableTests" name="test__002__Stringifiable__type_conversion__as_bool__true_()" time="0.000637054443359375">
        </testcase>
        <testcase classname="StringifiableTests" name="test__003__Stringifiable__type_conversion__as_bool__false_()" time="0.0005869865417480469">
        </testcase>
        <testcase classname="StringifiableTests" name="test__004__Stringifiable__type_conversion__as_integer_that_is_not_treated_as_bool__false_()" time="0.001350998878479004">
        </testcase>
        <testcase classname="StringifiableTests" name="test__005__Stringifiable__type_conversion__as_integer_that_is_not_treated_as_bool__true_()" time="0.0005429983139038086">
        </testcase>
        <testcase classname="StringifiableTests" name="test__006__Stringifiable__type_conversion__as_number__Int_()" time="0.0004849433898925781">
        </testcase>
        <testcase classname="StringifiableTests" name="test__007__Stringifiable__type_conversion__as_number__Float_1_decimal_digit_()" time="0.0005120038986206055">
        </testcase>
        <testcase classname="StringifiableTests" name="test__008__Stringifiable__type_conversion__as_number__Float_2_decimal_digits_()" time="0.0005300045013427734">
        </testcase>
        <testcase classname="StringifiableTests" name="test__009__Stringifiable__type_conversion__as_number__Float_4_decimal_digits_()" time="0.0005350112915039062">
        </testcase>
    </testsuite>
</testsuites>