| listChatReadReceiptsSinglePageAsync(String, Integer, Integer, Context) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| listChatMessagesSinglePageAsync(String, Integer, OffsetDateTime, Context) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| listChatParticipantsSinglePageAsync(String, Integer, Integer, Context) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| lambda$listChatParticipantsNextSinglePageAsync$66(Response) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| lambda$listChatParticipantsNextSinglePageAsync$65(Response) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| lambda$listChatMessagesNextSinglePageAsync$63(Response) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| lambda$listChatMessagesNextSinglePageAsync$62(Response) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| lambda$listChatReadReceiptsNextSinglePageAsync$60(Response) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| lambda$listChatReadReceiptsNextSinglePageAsync$59(Response) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| lambda$listChatParticipantsSinglePageAsync$35(Response) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| lambda$listChatParticipantsSinglePageAsync$34(Response) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| lambda$listChatMessagesSinglePageAsync$17(Response) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| lambda$listChatMessagesSinglePageAsync$16(Response) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| lambda$listChatReadReceiptsSinglePageAsync$2(Response) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| lambda$listChatReadReceiptsSinglePageAsync$1(Response) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| updateChatMessageWithResponseAsync(String, String, UpdateChatMessageOptions, Context) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| sendChatReadReceiptWithResponseAsync(String, SendReadReceiptRequest, Context) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| sendChatMessageWithResponseAsync(String, SendChatMessageOptions, Context) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getChatMessageWithResponseAsync(String, String, Context) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| deleteChatMessageWithResponseAsync(String, String, Context) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| removeChatParticipantWithResponseAsync(String, CommunicationIdentifierModel, Context) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| addChatParticipantsWithResponseAsync(String, AddChatParticipantsOptions, Context) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| updateChatThreadPropertiesWithResponseAsync(String, UpdateChatThreadOptions, Context) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| sendTypingNotificationWithResponseAsync(String, TypingNotificationOptions, Context) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| ChatThreadsImpl(AzureCommunicationChatServiceImpl) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| listChatReadReceiptsAsync(String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| listChatMessagesAsync(String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| listChatParticipantsAsync(String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| getChatThreadPropertiesWithResponseAsync(String, Context) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$listChatParticipantsSinglePageAsync$33(String, Integer, Integer, Context) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$updateChatMessageWithResponseAsync$27(String, String, UpdateChatMessageOptions, Context) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$listChatMessagesSinglePageAsync$15(String, Integer, OffsetDateTime, Context) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$listChatReadReceiptsSinglePageAsync$0(String, Integer, Integer, Context) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| listChatReadReceiptsNextSinglePageAsync(String, Context) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| listChatMessagesNextSinglePageAsync(String, Context) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| listChatParticipantsNextSinglePageAsync(String, Context) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$sendTypingNotificationWithResponseAsync$54(String, TypingNotificationOptions, Context) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$updateChatThreadPropertiesWithResponseAsync$48(String, UpdateChatThreadOptions, Context) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$addChatParticipantsWithResponseAsync$45(String, AddChatParticipantsOptions, Context) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$removeChatParticipantWithResponseAsync$42(String, CommunicationIdentifierModel, Context) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$deleteChatMessageWithResponseAsync$30(String, String, Context) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$getChatMessageWithResponseAsync$24(String, String, Context) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$sendChatMessageWithResponseAsync$12(String, SendChatMessageOptions, Context) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$sendChatReadReceiptWithResponseAsync$9(String, SendReadReceiptRequest, Context) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| listChatReadReceiptsAsync(String, Integer, Integer, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| listChatReadReceipts(String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| listChatMessagesAsync(String, Integer, OffsetDateTime, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| listChatMessages(String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| listChatParticipantsAsync(String, Integer, Integer, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| listChatParticipants(String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| lambda$getChatThreadPropertiesWithResponseAsync$51(String, Context) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| listChatReadReceiptsSinglePageAsync(String, Integer, Integer) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| listChatReadReceiptsAsync(String, Integer, Integer) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| listChatMessagesSinglePageAsync(String, Integer, OffsetDateTime) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| listChatMessagesAsync(String, Integer, OffsetDateTime) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| listChatParticipantsSinglePageAsync(String, Integer, Integer) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| listChatParticipantsAsync(String, Integer, Integer) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| listChatReadReceipts(String, Integer, Integer, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| listChatMessages(String, Integer, OffsetDateTime, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| listChatParticipants(String, Integer, Integer, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatParticipantsNextSinglePageAsync$64(String, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatMessagesNextSinglePageAsync$61(String, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatReadReceiptsNextSinglePageAsync$58(String, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$getChatThreadPropertiesAsync$53(Response) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| lambda$getChatThreadPropertiesAsync$52(Response) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| lambda$addChatParticipantsAsync$47(Response) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| lambda$addChatParticipantsAsync$46(Response) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| lambda$getChatMessageAsync$26(Response) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| lambda$getChatMessageAsync$25(Response) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| lambda$sendChatMessageAsync$14(Response) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| lambda$sendChatMessageAsync$13(Response) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| listChatReadReceipts(String, Integer, Integer) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| listChatMessages(String, Integer, OffsetDateTime) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| updateChatMessageWithResponseAsync(String, String, UpdateChatMessageOptions) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| updateChatMessageAsync(String, String, UpdateChatMessageOptions, Context) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| updateChatMessageWithResponse(String, String, UpdateChatMessageOptions, Context) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| listChatParticipants(String, Integer, Integer) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| sendTypingNotificationAsync(String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| sendTypingNotification(String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| listChatReadReceiptsNextSinglePageAsync(String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| listChatMessagesNextSinglePageAsync(String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| listChatParticipantsNextSinglePageAsync(String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| sendChatReadReceiptWithResponseAsync(String, SendReadReceiptRequest) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| sendChatReadReceiptAsync(String, SendReadReceiptRequest, Context) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| sendChatReadReceiptWithResponse(String, SendReadReceiptRequest, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| sendChatMessageWithResponseAsync(String, SendChatMessageOptions) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| sendChatMessageAsync(String, SendChatMessageOptions, Context) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| sendChatMessageWithResponse(String, SendChatMessageOptions, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getChatMessageWithResponseAsync(String, String) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getChatMessageAsync(String, String, Context) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getChatMessageWithResponse(String, String, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| updateChatMessageAsync(String, String, UpdateChatMessageOptions) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| updateChatMessage(String, String, UpdateChatMessageOptions) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| deleteChatMessageWithResponseAsync(String, String) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| deleteChatMessageAsync(String, String, Context) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| deleteChatMessageWithResponse(String, String, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| removeChatParticipantWithResponseAsync(String, CommunicationIdentifierModel) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| removeChatParticipantAsync(String, CommunicationIdentifierModel, Context) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| removeChatParticipantWithResponse(String, CommunicationIdentifierModel, Context) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| addChatParticipantsWithResponseAsync(String, AddChatParticipantsOptions) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| addChatParticipantsAsync(String, AddChatParticipantsOptions, Context) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| addChatParticipantsWithResponse(String, AddChatParticipantsOptions, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| updateChatThreadPropertiesWithResponseAsync(String, UpdateChatThreadOptions) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| updateChatThreadPropertiesAsync(String, UpdateChatThreadOptions, Context) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| updateChatThreadPropertiesWithResponse(String, UpdateChatThreadOptions, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| sendTypingNotificationWithResponseAsync(String, TypingNotificationOptions) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| sendTypingNotificationAsync(String, TypingNotificationOptions, Context) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| sendTypingNotificationWithResponse(String, TypingNotificationOptions, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| sendChatReadReceiptAsync(String, SendReadReceiptRequest) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| sendChatReadReceipt(String, SendReadReceiptRequest) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| sendChatMessageAsync(String, SendChatMessageOptions) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| sendChatMessage(String, SendChatMessageOptions) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getChatMessageAsync(String, String) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getChatMessage(String, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| deleteChatMessageAsync(String, String) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| deleteChatMessage(String, String) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| removeChatParticipantAsync(String, CommunicationIdentifierModel) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| removeChatParticipant(String, CommunicationIdentifierModel) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| addChatParticipantsAsync(String, AddChatParticipantsOptions) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| addChatParticipants(String, AddChatParticipantsOptions) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| updateChatThreadPropertiesAsync(String, UpdateChatThreadOptions) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| updateChatThreadProperties(String, UpdateChatThreadOptions) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getChatThreadPropertiesWithResponseAsync(String) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getChatThreadPropertiesAsync(String, Context) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getChatThreadPropertiesWithResponse(String, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| sendTypingNotificationAsync(String, TypingNotificationOptions) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| sendTypingNotification(String, TypingNotificationOptions) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$listChatParticipantsAsync$40(String, Integer, Integer, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatMessagesAsync$22(String, Integer, OffsetDateTime, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatReadReceiptsAsync$7(String, Integer, Integer, Context) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getChatThreadPropertiesAsync(String) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getChatThreadProperties(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatParticipantsAsync$38(String, Integer, Integer) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatParticipantsAsync$36(String, Integer, Integer) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatMessagesAsync$20(String, Integer, OffsetDateTime) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatMessagesAsync$18(String, Integer, OffsetDateTime) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatReadReceiptsAsync$5(String, Integer, Integer) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatReadReceiptsAsync$3(String, Integer, Integer) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatParticipantsAsync$41(Context, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatMessagesAsync$23(Context, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatReadReceiptsAsync$8(Context, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatParticipantsAsync$39(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatParticipantsAsync$37(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatMessagesAsync$21(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatMessagesAsync$19(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatReadReceiptsAsync$6(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$listChatReadReceiptsAsync$4(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$sendTypingNotificationAsync$57(Response) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$sendTypingNotificationAsync$56(Response) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$sendTypingNotificationAsync$55(Response) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$updateChatThreadPropertiesAsync$50(Response) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$updateChatThreadPropertiesAsync$49(Response) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$removeChatParticipantAsync$44(Response) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$removeChatParticipantAsync$43(Response) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$deleteChatMessageAsync$32(Response) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$deleteChatMessageAsync$31(Response) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$updateChatMessageAsync$29(Response) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$updateChatMessageAsync$28(Response) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$sendChatReadReceiptAsync$11(Response) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$sendChatReadReceiptAsync$10(Response) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |