@amityco/ts-sdk-react-native 6.35.2 → 6.35.3-ab24b11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.env CHANGED
@@ -1,28 +1,28 @@
1
1
  LIVE_STREAM_KEY='-----BEGIN PRIVATE KEY-----
2
- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHo80SecH7FuF2
3
- hFYnb+l26/VN8UMLXAQFLnxciNTEwkGVFMpdezlH8rU2HtUJL4RETogbAOLVY0XM
4
- js6sPn8G1nALmh9qeDpUtVqFOVtBHxEZ910TLOtQiunjqJKO5nWdqZ71EC3OFluR
5
- iGQkO84BiIFbv37ub7xl3S8XarbtKoLcyVpkDHi+1wx1pgCAn6gtBUgckPL5NR8j
6
- Lseabl3HAXQfhTCKo4tmOFM2Dxwl1IUMmIJrJg/aIU/U0tj/1Eoo7mG0JcNWX19l
7
- W3EecCbi0ncCJOrkUdwlBrcjaMayaX/ubEwyUeTGiLdyc4L3GRLHjyK8xgVNXRMH
8
- bZWJ2a5NAgMBAAECggEASxuE+35zTFO/XydKgmvIGcWL9FbgMlXb7Vcf0nBoG945
9
- biz0NVc2paraIhJXc608xbYF3qLmtAE1MVBI0ORyRdBHNxY024l/6H6SH60Ed+uI
10
- M4ysp5ourY6Vj+DLwpdRiI9YDjqYAQDIUmhNxJP7XPhOMoZI6st+xZQBM34ic/bv
11
- AMSJm9OZphSp3+qXVkFZztr2mxD2EZSJJLYxi8BCdgM2qhazalbcJ6zDKHCZWVWm
12
- 8RRxDGldyMb/237JxETzP40tAlzOZDmBAbUgEnurDJ93RVDIE3rbZUshwgeQd18a
13
- em096mWgvB1AIKYgsTAR3pw+V19YWAjq/glP6fz8wQKBgQD/oQq+ukKF0PRgBeM5
14
- geTjSwsdGppQLmf5ndujvoiz/TpdjDEPu6R8kigQr1rG2t4K/yfdZoI8RdmJD1al
15
- 3Q7N9hofooSy4rj6E3txzWZCHJjHad2cnCp/O26HiReGAl7wTcfTmNdiFHhZQzm5
16
- JBkvWAiwuvQMNfEbnXxw6/vIDwKBgQDH7fX8gsc77JLvAWgp1MaQN/sbqVb6JeT1
17
- FQfR8E/WFCSmzQBtNzd5KgYuCeelwr/8DyYytvN2BzCYZXp73gI1jF3YlW5jVn74
18
- OY6TwQ095digwo6Z0yuxopdIOApKgAkL9PRKgNrqAf3NAyMua6lOGifzjDojC3KU
19
- fylQmxMn4wKBgHp2B9O/H0dEBw5JQ8W0+JX6yWQz7mEjGiR2/1W+XXb8hQ1zr709
20
- w1r6Gb+EghRpnZ3fBpYGGbYOMFx8wKHM+N6qW3F0ReX8v2juFGE8aRSa5oYBrWzt
21
- U16Idjbv8hj84cZ1PJmdyvDtpYn9rpWHOZl4rxEbPvbqkIsOMyNVqdT5AoGAOSge
22
- mwIIU2le2FVeohbibXiToWTYKMuMmURZ5/r72AgKMmWJKbAPe+Q3wBG01/7FRBpQ
23
- oU8Ma0HC8s6QJbliiEyIx9JwrJWd1vkdecBHONrtA4ibm/5zD2WcOllLF+FitLhi
24
- 3qnX6+6F0IaFGFBPJrTzlv0P4dTz/OAdv52V7GECgYEA2TttOKBAqWllgOaZOkql
25
- LVMJVmgR7s6tLi1+cEP8ZcapV9aRbRzTAKXm4f8AEhtlG9F9kCOvHYCYGi6JaiWJ
26
- ZkHjeex3T+eE6Di6y5Bm/Ift5jtVhJ4jCVwHOKTMej79NPUFTJfv8hCo29haBDv6
27
- RXFrv+T21KCcw8k3sJeJWWQ=
2
+ MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDAARz+hmBgi8pJ
3
+ Qb8LeY41gtHhk+ACMwRfhsn7GqpqRQNG2qU0755mzZuVDUqjQMGSo8THJB7O+OJs
4
+ flbZRkFXlFoFOVNw1UpNOgwEQZ6wB9oRwzepTJAfF1sVhm/o/ixvXh1zDFNDy6yZ
5
+ pXyiiJHUVxqyjllZhxnwdvjoVtDs6hW6awG09bB9nh/TTejlUKXoAgzqVwu/1QMu
6
+ UVViET495elEe19aUarEy+oL2iKeXCEvqda/pWNBdbieFyJvvZ08HN8dPuT88wq2
7
+ jZLEAth1vrwQ2IAa4ktaLcBQdLJgIkrbDvAiVZ8lQAjS/bq5vXQikTGvoPlC5bbn
8
+ vuOM/3eLAgMBAAECggEAVZ+peHAghq2QVj71nX5lxsNCKaCyYwixSJBpfouTt7Rz
9
+ E6PpzMOXFi1W1o+I22jDakuSM2SOQKqI/u0QefB0r0O/KVk5NrZHXk0mkrdYtxOp
10
+ UgaGyf8UvmjB+8VqHrNKyZdk9qtmbnNj01kTTcAtmE4H39zPR7eR/8Rul94vaZbs
11
+ wCnKJS3mLT3JxyGug6lxanveKkjG+CKC1nJQYWaxCJxaFSzbwXQPvDhB+TvrIbee
12
+ pd5v4EAyEJohpr+T9oDGGJkb/KARBZCtwLyB976PKJwwBA8MRVL1i5QwawuMiMq5
13
+ UtnOnbGKtCeFzaLbNU0Qi8bqyims84EQxC6DOu1fkQKBgQDdvsoBsEhsOXV7hlIJ
14
+ aEd0eSJZVkdqimxH8uGoMM2FeNaOrcB6yBXqTSP0R3OIyf8eaY6yjRvP30ZNXcll
15
+ /gD3O1Mu6YmWQdt1W2WA6pKOsUuPXasf0pdOF7IiFZKlSabz5YHXFqwVuqm8loaj
16
+ sXel3YWqPVdHiankE7tz+3ssnQKBgQDdqi4TNdD1MdEpihx19jr0QjUiXW3939FK
17
+ qp30HESPEGDGQzXdmJgif9HhZb+cJSuWaHEbjgBrYahvgCF+y6LbEpOD+D/dmT+s
18
+ DEAQaR84sah6dokwPjV8fjBSrcVFjCS+doxv0d3p/9OUEeyUhFrY03nxtIEYkLIE
19
+ /Zvn37b4RwKBgQCLENVFe9XfsaVhQ5r9dV2iyTlmh7qgMZG5CbTFs12hQGhm8McO
20
+ +Z7s41YSJCFr/yq1WwP4LJDtrBw99vyQr1zRsG35tNLp3gGRNzGQSQyC2uQFVHw2
21
+ p+7mNewsfhUK/gbrXNsyFnDz6635rPlhfbII3sWuP2wWXFqkxE9CbMwR7QKBgQC6
22
+ awDMzxmo2/iYArrkyevSuEuPVxvFwpF1RgAI6C0QVCnPE38dmdN4UB7mfHekje4W
23
+ VEercMURidPp0cxZolCYBQtilUjAyL0vqC3In1/Ogjq6oy3FEMxSop1pKxMY5j+Q
24
+ noqFD+6deLUrddeNH7J3X4LSr4dSbX4JjG+tlgt+yQKBgQCuwTL4hA6KqeInQ0Ta
25
+ 9VQX5Qr8hFlqJz1gpymi/k63tW/Ob8yedbg3WWNWyShwRMFYyY9S81ITFWM95uL6
26
+ vF3x9rmRjwElJw9PMwVu6dmf/CO0Z1wzXSp2VVD12gbrUD/0/d7MUoJ9LgC8X8f/
27
+ n0txLHYGHbx+nf95+JUg6lV3hg==
28
28
  -----END PRIVATE KEY-----'
@@ -29,6 +29,8 @@ declare global {
29
29
  userId: string;
30
30
  }) => Promise<void>;
31
31
  disconnect: () => Promise<void>;
32
+ reconnect: () => void;
33
+ listen(callback: (state: Amity.RTEConnectionState) => void): () => void;
32
34
  get connected(): boolean;
33
35
  on: <T extends keyof Amity.MqttEvents>(event: T, handler: (payload: Amity.MqttEvents[T]) => void) => void;
34
36
  once: <T extends keyof Amity.MqttEvents>(event: T, handler: (payload: Amity.MqttEvents[T]) => void) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/@types/core/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,CAAC;AAEV,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,KAAK,eAAe,CAAC,CAAC,IAAI;YACxB,MAAM,EAAE,SAAS,CAAC;YAClB,IAAI,EAAE,CAAC,CAAC;SACT,CAAC;QAEF,KAAK,YAAY,GAAG;YAClB,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC;SACzB,CAAC;QAEF,KAAK,aAAa,GAAG;YACnB,MAAM,EAAE,OAAO,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC;SACzB,CAAC;QAEF,KAAK,QAAQ,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,aAAa,CAAC;QAErE,KAAK,KAAK,GAAG,MAAM,CAAC;QAEpB,KAAK,UAAU,GAAG;YAChB,MAAM,EAAE;gBACN,QAAQ,CAAC,EAAE,KAAK,CAAC;gBACjB,IAAI,CAAC,EAAE,KAAK,CAAC;aACd,CAAC;SACH,CAAC;QAEF,KAAK,UAAU,GAAG;YAChB,OAAO,EAAE,CAAC,MAAM,EAAE;gBAAE,WAAW,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5E,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,SAAS,IAAI,OAAO,CAAC;YACzB,EAAE,EAAE,CAAC,CAAC,SAAS,MAAM,KAAK,CAAC,UAAU,EACnC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,KAC5C,IAAI,CAAC;YACV,IAAI,EAAE,CAAC,CAAC,SAAS,MAAM,KAAK,CAAC,UAAU,EACrC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,KAC5C,IAAI,CAAC;YACV,GAAG,EAAE,CAAC,CAAC,SAAS,MAAM,KAAK,CAAC,UAAU,EACpC,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,KAC7C,IAAI,CAAC;YACV,kBAAkB,EAAE,MAAM,IAAI,CAAC;YAC/B,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,CAAC,YAAY,CAAC;YAC7F,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;SACtC,CAAC;KACH;CACF"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/@types/core/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,CAAC;AAEV,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,KAAK,eAAe,CAAC,CAAC,IAAI;YACxB,MAAM,EAAE,SAAS,CAAC;YAClB,IAAI,EAAE,CAAC,CAAC;SACT,CAAC;QAEF,KAAK,YAAY,GAAG;YAClB,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC;SACzB,CAAC;QAEF,KAAK,aAAa,GAAG;YACnB,MAAM,EAAE,OAAO,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC;SACzB,CAAC;QAEF,KAAK,QAAQ,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,aAAa,CAAC;QAErE,KAAK,KAAK,GAAG,MAAM,CAAC;QAEpB,KAAK,UAAU,GAAG;YAChB,MAAM,EAAE;gBACN,QAAQ,CAAC,EAAE,KAAK,CAAC;gBACjB,IAAI,CAAC,EAAE,KAAK,CAAC;aACd,CAAC;SACH,CAAC;QAEF,KAAK,UAAU,GAAG;YAChB,OAAO,EAAE,CAAC,MAAM,EAAE;gBAAE,WAAW,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5E,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YAChC,SAAS,EAAE,MAAM,IAAI,CAAC;YACtB,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,kBAAkB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;YACxE,IAAI,SAAS,IAAI,OAAO,CAAC;YACzB,EAAE,EAAE,CAAC,CAAC,SAAS,MAAM,KAAK,CAAC,UAAU,EACnC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,KAC5C,IAAI,CAAC;YACV,IAAI,EAAE,CAAC,CAAC,SAAS,MAAM,KAAK,CAAC,UAAU,EACrC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,KAC5C,IAAI,CAAC;YACV,GAAG,EAAE,CAAC,CAAC,SAAS,MAAM,KAAK,CAAC,UAAU,EACpC,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,KAC7C,IAAI,CAAC;YACV,kBAAkB,EAAE,MAAM,IAAI,CAAC;YAC/B,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,CAAC,YAAY,CAAC;YAC7F,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;SACtC,CAAC;KACH;CACF"}
@@ -16,6 +16,14 @@ declare global {
16
16
  TOKEN_EXPIRED = "tokenExpired",
17
17
  TERMINATED = "terminated"
18
18
  }
19
+ enum RTEConnectionStateEnum {
20
+ CONNECTING = "connecting",
21
+ CONNECTED = "connected",
22
+ RECONNECTING = "reconnecting",
23
+ DISCONNECTED = "disconnected",
24
+ DISCONNECTING = "disconnecting"
25
+ }
26
+ type RTEConnectionState = `${Amity.RTEConnectionStateEnum}`;
19
27
  type Client = {
20
28
  version: string;
21
29
  log: Logger;
@@ -35,6 +43,7 @@ declare global {
35
43
  isUnreadCountEnabled: boolean;
36
44
  use: () => void;
37
45
  accessTokenExpiryWatcher: (sessionHandler: Amity.SessionHandler) => Amity.Unsubscriber;
46
+ onRTEConnectionStateChange: (callback: (state: Amity.RTEConnectionState) => void) => (() => void) | undefined;
38
47
  getFeedSettings: () => Promise<Amity.FeedSettings>;
39
48
  getSocialSettings: () => Promise<Amity.SocialSettings>;
40
49
  getMessagePreviewSetting: (refresh?: boolean) => Promise<Amity.MessagePreviewSetting>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createClient.d.ts","sourceRoot":"","sources":["../../../src/client/api/createClient.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAc,MAAM,0BAA0B,CAAC;AAsBnE;;;;;;;;;;;;;;;KAeK;AACL,eAAO,MAAM,YAAY,WACf,MAAM,cACH,CAAA,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;;;;;;;;MAYtD,MAAM,MAkHR,CAAC"}
1
+ {"version":3,"file":"createClient.d.ts","sourceRoot":"","sources":["../../../src/client/api/createClient.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAc,MAAM,0BAA0B,CAAC;AAuBnE;;;;;;;;;;;;;;;KAeK;AACL,eAAO,MAAM,YAAY,WACf,MAAM,cACH,CAAA,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;;;;;;;;MAYtD,MAAM,MAoHR,CAAC"}
@@ -12,4 +12,5 @@ export * from './enableUnreadCount';
12
12
  export * from './setUploadedFileAccessType';
13
13
  export * from './registerPushNotification';
14
14
  export * from './unregisterPushNotification';
15
+ export * from './onRTEConnectionStateChange';
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,cAAc,cAAc,CAAC;AAE7B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAE/B,cAAc,eAAe,CAAC;AAE9B,cAAc,mBAAmB,CAAC;AAElC,cAAc,WAAW,CAAC;AAE1B,cAAc,cAAc,CAAC;AAE7B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,cAAc,cAAc,CAAC;AAE7B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAE/B,cAAc,eAAe,CAAC;AAE9B,cAAc,mBAAmB,CAAC;AAElC,cAAc,WAAW,CAAC;AAE1B,cAAc,cAAc,CAAC;AAE7B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAE7C,cAAc,8BAA8B,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * ```js
3
+ * import { Client } from '@amityco/ts-sdk'
4
+ * const unsubscribe = Client.onRTEConnectionStateChange((state) => console.log(state))
5
+ * unsubscribe()
6
+ * ```
7
+ * @param callback The function to call when the event was fired
8
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
9
+ *
10
+ * @category Client API
11
+ */
12
+ export declare const onRTEConnectionStateChange: (callback: (state: Amity.RTEConnectionState) => void) => (() => void) | undefined;
13
+ //# sourceMappingURL=onRTEConnectionStateChange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onRTEConnectionStateChange.d.ts","sourceRoot":"","sources":["../../../src/client/api/onRTEConnectionStateChange.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B,qBACnB,MAAM,kBAAkB,KAAK,IAAI,KAClD,CAAC,MAAM,IAAI,CAAC,GAAG,SAQjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mqtt.d.ts","sourceRoot":"","sources":["../../../src/core/transports/mqtt.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,cAAc,EAAsB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAgBtF,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,cAAc,CAiBjB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,aAAc,MAAM,KAAG,gBAiHtD,CAAC"}
1
+ {"version":3,"file":"mqtt.d.ts","sourceRoot":"","sources":["../../../src/core/transports/mqtt.ts"],"names":[],"mappings":"AAEA,OAAa,EAAE,cAAc,EAAsB,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAgBtF,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,cAAc,CAiBjB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,aAAc,MAAM,KAAG,gBAwJtD,CAAC"}
package/dist/index.cjs.js CHANGED
@@ -4582,9 +4582,21 @@ function getMqttOptions(params) {
4582
4582
  */
4583
4583
  const createMqttTransport = (endpoint) => {
4584
4584
  let mqttClient;
4585
+ let currentState = 'disconnected';
4586
+ const connectionStateListeners = new Set();
4587
+ const updateConnectionState = (state) => {
4588
+ if (currentState === state)
4589
+ return;
4590
+ currentState = state;
4591
+ connectionStateListeners.forEach(listener => {
4592
+ listener(state);
4593
+ });
4594
+ };
4585
4595
  async function connect(params) {
4586
4596
  const clientId = await getMQTTClientId(params.userId);
4597
+ updateConnectionState('connecting');
4587
4598
  if (mqttClient) {
4599
+ updateConnectionState('disconnecting');
4588
4600
  mqttClient.removeAllListeners();
4589
4601
  mqttClient.end(true);
4590
4602
  }
@@ -4595,6 +4607,7 @@ const createMqttTransport = (endpoint) => {
4595
4607
  }));
4596
4608
  mqttClient.on('connect', () => {
4597
4609
  mqttClient.options.reconnectPeriod = RETRY_BASE_TIMEOUT;
4610
+ updateConnectionState('connected');
4598
4611
  subscribeGlobalTopic();
4599
4612
  });
4600
4613
  mqttClient.on('error', (error) => {
@@ -4604,12 +4617,20 @@ const createMqttTransport = (endpoint) => {
4604
4617
  case 134 /* MqttError.BAD_USERNAME_OR_PASSWORD */:
4605
4618
  case 135 /* MqttError.NOT_AUTHORIZED */:
4606
4619
  mqttClient.end();
4620
+ updateConnectionState('disconnected');
4607
4621
  }
4608
4622
  });
4609
4623
  mqttClient.on('reconnect', () => {
4624
+ updateConnectionState('reconnecting');
4610
4625
  // Double the reconnect period for each attempt
4611
4626
  mqttClient.options.reconnectPeriod = Math.min((mqttClient.options.reconnectPeriod || RETRY_BASE_TIMEOUT) * 2, RETRY_MAX_TIMEOUT);
4612
4627
  });
4628
+ mqttClient.on('close', () => {
4629
+ updateConnectionState('disconnected');
4630
+ });
4631
+ mqttClient.on('disconnect', () => {
4632
+ updateConnectionState('disconnected');
4633
+ });
4613
4634
  return new Promise(resolve => mqttClient.once('connect', () => resolve()));
4614
4635
  }
4615
4636
  return {
@@ -4619,6 +4640,20 @@ const createMqttTransport = (endpoint) => {
4619
4640
  return new Promise(resolve => mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.end(true, undefined, () => resolve()));
4620
4641
  }
4621
4642
  },
4643
+ async reconnect() {
4644
+ return new Promise(resolve => {
4645
+ mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.reconnect();
4646
+ resolve();
4647
+ });
4648
+ },
4649
+ listen(callback) {
4650
+ connectionStateListeners.add(callback);
4651
+ if (currentState)
4652
+ callback(currentState);
4653
+ return () => {
4654
+ connectionStateListeners.delete(callback);
4655
+ };
4656
+ },
4622
4657
  get connected() {
4623
4658
  return !!(mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.connected);
4624
4659
  },
@@ -9428,6 +9463,26 @@ const accessTokenExpiryWatcher = (sessionHandler) => {
9428
9463
  return () => clearInterval(interval);
9429
9464
  };
9430
9465
 
9466
+ /**
9467
+ * ```js
9468
+ * import { Client } from '@amityco/ts-sdk'
9469
+ * const unsubscribe = Client.onRTEConnectionStateChange((state) => console.log(state))
9470
+ * unsubscribe()
9471
+ * ```
9472
+ * @param callback The function to call when the event was fired
9473
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
9474
+ *
9475
+ * @category Client API
9476
+ */
9477
+ const onRTEConnectionStateChange = (callback) => {
9478
+ var _a;
9479
+ const client = getActiveClient();
9480
+ if (client.mqtt) {
9481
+ return (_a = client.mqtt) === null || _a === void 0 ? void 0 : _a.listen(callback);
9482
+ }
9483
+ return undefined;
9484
+ };
9485
+
9431
9486
  const DEFAULT_DEBUG_SESSION = 'amity';
9432
9487
  /**
9433
9488
  * ```js
@@ -9497,6 +9552,7 @@ const createClient = (apiKey, apiRegion = API_REGIONS.SG, { debugSession = DEFAU
9497
9552
  getFeedSettings,
9498
9553
  getSocialSettings,
9499
9554
  getMessagePreviewSetting,
9555
+ onRTEConnectionStateChange,
9500
9556
  use: () => setActiveClient(client),
9501
9557
  isUnreadCountEnabled,
9502
9558
  getMarkerSyncConsistentMode,
@@ -10118,6 +10174,7 @@ var index$l = /*#__PURE__*/Object.freeze({
10118
10174
  setUploadedFileAccessType: setUploadedFileAccessType,
10119
10175
  registerPushNotification: registerPushNotification,
10120
10176
  unregisterPushNotification: unregisterPushNotification,
10177
+ onRTEConnectionStateChange: onRTEConnectionStateChange,
10121
10178
  onConnectionError: onConnectionError,
10122
10179
  onClientDisconnected: onClientDisconnected,
10123
10180
  onClientBanned: onClientBanned,
@@ -25380,7 +25437,7 @@ var index$3 = /*#__PURE__*/Object.freeze({
25380
25437
  getPoll: getPoll
25381
25438
  });
25382
25439
 
25383
- const privateKey = "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHo80SecH7FuF2\nhFYnb+l26/VN8UMLXAQFLnxciNTEwkGVFMpdezlH8rU2HtUJL4RETogbAOLVY0XM\njs6sPn8G1nALmh9qeDpUtVqFOVtBHxEZ910TLOtQiunjqJKO5nWdqZ71EC3OFluR\niGQkO84BiIFbv37ub7xl3S8XarbtKoLcyVpkDHi+1wx1pgCAn6gtBUgckPL5NR8j\nLseabl3HAXQfhTCKo4tmOFM2Dxwl1IUMmIJrJg/aIU/U0tj/1Eoo7mG0JcNWX19l\nW3EecCbi0ncCJOrkUdwlBrcjaMayaX/ubEwyUeTGiLdyc4L3GRLHjyK8xgVNXRMH\nbZWJ2a5NAgMBAAECggEASxuE+35zTFO/XydKgmvIGcWL9FbgMlXb7Vcf0nBoG945\nbiz0NVc2paraIhJXc608xbYF3qLmtAE1MVBI0ORyRdBHNxY024l/6H6SH60Ed+uI\nM4ysp5ourY6Vj+DLwpdRiI9YDjqYAQDIUmhNxJP7XPhOMoZI6st+xZQBM34ic/bv\nAMSJm9OZphSp3+qXVkFZztr2mxD2EZSJJLYxi8BCdgM2qhazalbcJ6zDKHCZWVWm\n8RRxDGldyMb/237JxETzP40tAlzOZDmBAbUgEnurDJ93RVDIE3rbZUshwgeQd18a\nem096mWgvB1AIKYgsTAR3pw+V19YWAjq/glP6fz8wQKBgQD/oQq+ukKF0PRgBeM5\ngeTjSwsdGppQLmf5ndujvoiz/TpdjDEPu6R8kigQr1rG2t4K/yfdZoI8RdmJD1al\n3Q7N9hofooSy4rj6E3txzWZCHJjHad2cnCp/O26HiReGAl7wTcfTmNdiFHhZQzm5\nJBkvWAiwuvQMNfEbnXxw6/vIDwKBgQDH7fX8gsc77JLvAWgp1MaQN/sbqVb6JeT1\nFQfR8E/WFCSmzQBtNzd5KgYuCeelwr/8DyYytvN2BzCYZXp73gI1jF3YlW5jVn74\nOY6TwQ095digwo6Z0yuxopdIOApKgAkL9PRKgNrqAf3NAyMua6lOGifzjDojC3KU\nfylQmxMn4wKBgHp2B9O/H0dEBw5JQ8W0+JX6yWQz7mEjGiR2/1W+XXb8hQ1zr709\nw1r6Gb+EghRpnZ3fBpYGGbYOMFx8wKHM+N6qW3F0ReX8v2juFGE8aRSa5oYBrWzt\nU16Idjbv8hj84cZ1PJmdyvDtpYn9rpWHOZl4rxEbPvbqkIsOMyNVqdT5AoGAOSge\nmwIIU2le2FVeohbibXiToWTYKMuMmURZ5/r72AgKMmWJKbAPe+Q3wBG01/7FRBpQ\noU8Ma0HC8s6QJbliiEyIx9JwrJWd1vkdecBHONrtA4ibm/5zD2WcOllLF+FitLhi\n3qnX6+6F0IaFGFBPJrTzlv0P4dTz/OAdv52V7GECgYEA2TttOKBAqWllgOaZOkql\nLVMJVmgR7s6tLi1+cEP8ZcapV9aRbRzTAKXm4f8AEhtlG9F9kCOvHYCYGi6JaiWJ\nZkHjeex3T+eE6Di6y5Bm/Ift5jtVhJ4jCVwHOKTMej79NPUFTJfv8hCo29haBDv6\nRXFrv+T21KCcw8k3sJeJWWQ=\n-----END PRIVATE KEY-----";
25440
+ const privateKey = "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDAARz+hmBgi8pJ\nQb8LeY41gtHhk+ACMwRfhsn7GqpqRQNG2qU0755mzZuVDUqjQMGSo8THJB7O+OJs\nflbZRkFXlFoFOVNw1UpNOgwEQZ6wB9oRwzepTJAfF1sVhm/o/ixvXh1zDFNDy6yZ\npXyiiJHUVxqyjllZhxnwdvjoVtDs6hW6awG09bB9nh/TTejlUKXoAgzqVwu/1QMu\nUVViET495elEe19aUarEy+oL2iKeXCEvqda/pWNBdbieFyJvvZ08HN8dPuT88wq2\njZLEAth1vrwQ2IAa4ktaLcBQdLJgIkrbDvAiVZ8lQAjS/bq5vXQikTGvoPlC5bbn\nvuOM/3eLAgMBAAECggEAVZ+peHAghq2QVj71nX5lxsNCKaCyYwixSJBpfouTt7Rz\nE6PpzMOXFi1W1o+I22jDakuSM2SOQKqI/u0QefB0r0O/KVk5NrZHXk0mkrdYtxOp\nUgaGyf8UvmjB+8VqHrNKyZdk9qtmbnNj01kTTcAtmE4H39zPR7eR/8Rul94vaZbs\nwCnKJS3mLT3JxyGug6lxanveKkjG+CKC1nJQYWaxCJxaFSzbwXQPvDhB+TvrIbee\npd5v4EAyEJohpr+T9oDGGJkb/KARBZCtwLyB976PKJwwBA8MRVL1i5QwawuMiMq5\nUtnOnbGKtCeFzaLbNU0Qi8bqyims84EQxC6DOu1fkQKBgQDdvsoBsEhsOXV7hlIJ\naEd0eSJZVkdqimxH8uGoMM2FeNaOrcB6yBXqTSP0R3OIyf8eaY6yjRvP30ZNXcll\n/gD3O1Mu6YmWQdt1W2WA6pKOsUuPXasf0pdOF7IiFZKlSabz5YHXFqwVuqm8loaj\nsXel3YWqPVdHiankE7tz+3ssnQKBgQDdqi4TNdD1MdEpihx19jr0QjUiXW3939FK\nqp30HESPEGDGQzXdmJgif9HhZb+cJSuWaHEbjgBrYahvgCF+y6LbEpOD+D/dmT+s\nDEAQaR84sah6dokwPjV8fjBSrcVFjCS+doxv0d3p/9OUEeyUhFrY03nxtIEYkLIE\n/Zvn37b4RwKBgQCLENVFe9XfsaVhQ5r9dV2iyTlmh7qgMZG5CbTFs12hQGhm8McO\n+Z7s41YSJCFr/yq1WwP4LJDtrBw99vyQr1zRsG35tNLp3gGRNzGQSQyC2uQFVHw2\np+7mNewsfhUK/gbrXNsyFnDz6635rPlhfbII3sWuP2wWXFqkxE9CbMwR7QKBgQC6\nawDMzxmo2/iYArrkyevSuEuPVxvFwpF1RgAI6C0QVCnPE38dmdN4UB7mfHekje4W\nVEercMURidPp0cxZolCYBQtilUjAyL0vqC3In1/Ogjq6oy3FEMxSop1pKxMY5j+Q\nnoqFD+6deLUrddeNH7J3X4LSr4dSbX4JjG+tlgt+yQKBgQCuwTL4hA6KqeInQ0Ta\n9VQX5Qr8hFlqJz1gpymi/k63tW/Ob8yedbg3WWNWyShwRMFYyY9S81ITFWM95uL6\nvF3x9rmRjwElJw9PMwVu6dmf/CO0Z1wzXSp2VVD12gbrUD/0/d7MUoJ9LgC8X8f/\nn0txLHYGHbx+nf95+JUg6lV3hg==\n-----END PRIVATE KEY-----";
25384
25441
  /*
25385
25442
  * The crypto algorithm used for importing key and signing string
25386
25443
  */
package/dist/index.esm.js CHANGED
@@ -20639,9 +20639,21 @@ function getMqttOptions(params) {
20639
20639
  */
20640
20640
  const createMqttTransport = (endpoint) => {
20641
20641
  let mqttClient;
20642
+ let currentState = 'disconnected';
20643
+ const connectionStateListeners = new Set();
20644
+ const updateConnectionState = (state) => {
20645
+ if (currentState === state)
20646
+ return;
20647
+ currentState = state;
20648
+ connectionStateListeners.forEach(listener => {
20649
+ listener(state);
20650
+ });
20651
+ };
20642
20652
  async function connect(params) {
20643
20653
  const clientId = await getMQTTClientId(params.userId);
20654
+ updateConnectionState('connecting');
20644
20655
  if (mqttClient) {
20656
+ updateConnectionState('disconnecting');
20645
20657
  mqttClient.removeAllListeners();
20646
20658
  mqttClient.end(true);
20647
20659
  }
@@ -20652,6 +20664,7 @@ const createMqttTransport = (endpoint) => {
20652
20664
  }));
20653
20665
  mqttClient.on('connect', () => {
20654
20666
  mqttClient.options.reconnectPeriod = RETRY_BASE_TIMEOUT;
20667
+ updateConnectionState('connected');
20655
20668
  subscribeGlobalTopic();
20656
20669
  });
20657
20670
  mqttClient.on('error', (error) => {
@@ -20661,12 +20674,20 @@ const createMqttTransport = (endpoint) => {
20661
20674
  case 134 /* MqttError.BAD_USERNAME_OR_PASSWORD */:
20662
20675
  case 135 /* MqttError.NOT_AUTHORIZED */:
20663
20676
  mqttClient.end();
20677
+ updateConnectionState('disconnected');
20664
20678
  }
20665
20679
  });
20666
20680
  mqttClient.on('reconnect', () => {
20681
+ updateConnectionState('reconnecting');
20667
20682
  // Double the reconnect period for each attempt
20668
20683
  mqttClient.options.reconnectPeriod = Math.min((mqttClient.options.reconnectPeriod || RETRY_BASE_TIMEOUT) * 2, RETRY_MAX_TIMEOUT);
20669
20684
  });
20685
+ mqttClient.on('close', () => {
20686
+ updateConnectionState('disconnected');
20687
+ });
20688
+ mqttClient.on('disconnect', () => {
20689
+ updateConnectionState('disconnected');
20690
+ });
20670
20691
  return new Promise(resolve => mqttClient.once('connect', () => resolve()));
20671
20692
  }
20672
20693
  return {
@@ -20676,6 +20697,20 @@ const createMqttTransport = (endpoint) => {
20676
20697
  return new Promise(resolve => mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.end(true, undefined, () => resolve()));
20677
20698
  }
20678
20699
  },
20700
+ async reconnect() {
20701
+ return new Promise(resolve => {
20702
+ mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.reconnect();
20703
+ resolve();
20704
+ });
20705
+ },
20706
+ listen(callback) {
20707
+ connectionStateListeners.add(callback);
20708
+ if (currentState)
20709
+ callback(currentState);
20710
+ return () => {
20711
+ connectionStateListeners.delete(callback);
20712
+ };
20713
+ },
20679
20714
  get connected() {
20680
20715
  return !!(mqttClient === null || mqttClient === void 0 ? void 0 : mqttClient.connected);
20681
20716
  },
@@ -25501,6 +25536,26 @@ const accessTokenExpiryWatcher = (sessionHandler) => {
25501
25536
  return () => clearInterval(interval);
25502
25537
  };
25503
25538
 
25539
+ /**
25540
+ * ```js
25541
+ * import { Client } from '@amityco/ts-sdk'
25542
+ * const unsubscribe = Client.onRTEConnectionStateChange((state) => console.log(state))
25543
+ * unsubscribe()
25544
+ * ```
25545
+ * @param callback The function to call when the event was fired
25546
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
25547
+ *
25548
+ * @category Client API
25549
+ */
25550
+ const onRTEConnectionStateChange = (callback) => {
25551
+ var _a;
25552
+ const client = getActiveClient();
25553
+ if (client.mqtt) {
25554
+ return (_a = client.mqtt) === null || _a === void 0 ? void 0 : _a.listen(callback);
25555
+ }
25556
+ return undefined;
25557
+ };
25558
+
25504
25559
  const DEFAULT_DEBUG_SESSION = 'amity';
25505
25560
  /**
25506
25561
  * ```js
@@ -25570,6 +25625,7 @@ const createClient = (apiKey, apiRegion = API_REGIONS.SG, { debugSession = DEFAU
25570
25625
  getFeedSettings,
25571
25626
  getSocialSettings,
25572
25627
  getMessagePreviewSetting,
25628
+ onRTEConnectionStateChange,
25573
25629
  use: () => setActiveClient(client),
25574
25630
  isUnreadCountEnabled,
25575
25631
  getMarkerSyncConsistentMode,
@@ -26191,6 +26247,7 @@ var index$l = /*#__PURE__*/Object.freeze({
26191
26247
  setUploadedFileAccessType: setUploadedFileAccessType,
26192
26248
  registerPushNotification: registerPushNotification,
26193
26249
  unregisterPushNotification: unregisterPushNotification,
26250
+ onRTEConnectionStateChange: onRTEConnectionStateChange,
26194
26251
  onConnectionError: onConnectionError,
26195
26252
  onClientDisconnected: onClientDisconnected,
26196
26253
  onClientBanned: onClientBanned,
@@ -41453,7 +41510,7 @@ var index$3 = /*#__PURE__*/Object.freeze({
41453
41510
  getPoll: getPoll
41454
41511
  });
41455
41512
 
41456
- const privateKey = "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHo80SecH7FuF2\nhFYnb+l26/VN8UMLXAQFLnxciNTEwkGVFMpdezlH8rU2HtUJL4RETogbAOLVY0XM\njs6sPn8G1nALmh9qeDpUtVqFOVtBHxEZ910TLOtQiunjqJKO5nWdqZ71EC3OFluR\niGQkO84BiIFbv37ub7xl3S8XarbtKoLcyVpkDHi+1wx1pgCAn6gtBUgckPL5NR8j\nLseabl3HAXQfhTCKo4tmOFM2Dxwl1IUMmIJrJg/aIU/U0tj/1Eoo7mG0JcNWX19l\nW3EecCbi0ncCJOrkUdwlBrcjaMayaX/ubEwyUeTGiLdyc4L3GRLHjyK8xgVNXRMH\nbZWJ2a5NAgMBAAECggEASxuE+35zTFO/XydKgmvIGcWL9FbgMlXb7Vcf0nBoG945\nbiz0NVc2paraIhJXc608xbYF3qLmtAE1MVBI0ORyRdBHNxY024l/6H6SH60Ed+uI\nM4ysp5ourY6Vj+DLwpdRiI9YDjqYAQDIUmhNxJP7XPhOMoZI6st+xZQBM34ic/bv\nAMSJm9OZphSp3+qXVkFZztr2mxD2EZSJJLYxi8BCdgM2qhazalbcJ6zDKHCZWVWm\n8RRxDGldyMb/237JxETzP40tAlzOZDmBAbUgEnurDJ93RVDIE3rbZUshwgeQd18a\nem096mWgvB1AIKYgsTAR3pw+V19YWAjq/glP6fz8wQKBgQD/oQq+ukKF0PRgBeM5\ngeTjSwsdGppQLmf5ndujvoiz/TpdjDEPu6R8kigQr1rG2t4K/yfdZoI8RdmJD1al\n3Q7N9hofooSy4rj6E3txzWZCHJjHad2cnCp/O26HiReGAl7wTcfTmNdiFHhZQzm5\nJBkvWAiwuvQMNfEbnXxw6/vIDwKBgQDH7fX8gsc77JLvAWgp1MaQN/sbqVb6JeT1\nFQfR8E/WFCSmzQBtNzd5KgYuCeelwr/8DyYytvN2BzCYZXp73gI1jF3YlW5jVn74\nOY6TwQ095digwo6Z0yuxopdIOApKgAkL9PRKgNrqAf3NAyMua6lOGifzjDojC3KU\nfylQmxMn4wKBgHp2B9O/H0dEBw5JQ8W0+JX6yWQz7mEjGiR2/1W+XXb8hQ1zr709\nw1r6Gb+EghRpnZ3fBpYGGbYOMFx8wKHM+N6qW3F0ReX8v2juFGE8aRSa5oYBrWzt\nU16Idjbv8hj84cZ1PJmdyvDtpYn9rpWHOZl4rxEbPvbqkIsOMyNVqdT5AoGAOSge\nmwIIU2le2FVeohbibXiToWTYKMuMmURZ5/r72AgKMmWJKbAPe+Q3wBG01/7FRBpQ\noU8Ma0HC8s6QJbliiEyIx9JwrJWd1vkdecBHONrtA4ibm/5zD2WcOllLF+FitLhi\n3qnX6+6F0IaFGFBPJrTzlv0P4dTz/OAdv52V7GECgYEA2TttOKBAqWllgOaZOkql\nLVMJVmgR7s6tLi1+cEP8ZcapV9aRbRzTAKXm4f8AEhtlG9F9kCOvHYCYGi6JaiWJ\nZkHjeex3T+eE6Di6y5Bm/Ift5jtVhJ4jCVwHOKTMej79NPUFTJfv8hCo29haBDv6\nRXFrv+T21KCcw8k3sJeJWWQ=\n-----END PRIVATE KEY-----";
41513
+ const privateKey = "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDAARz+hmBgi8pJ\nQb8LeY41gtHhk+ACMwRfhsn7GqpqRQNG2qU0755mzZuVDUqjQMGSo8THJB7O+OJs\nflbZRkFXlFoFOVNw1UpNOgwEQZ6wB9oRwzepTJAfF1sVhm/o/ixvXh1zDFNDy6yZ\npXyiiJHUVxqyjllZhxnwdvjoVtDs6hW6awG09bB9nh/TTejlUKXoAgzqVwu/1QMu\nUVViET495elEe19aUarEy+oL2iKeXCEvqda/pWNBdbieFyJvvZ08HN8dPuT88wq2\njZLEAth1vrwQ2IAa4ktaLcBQdLJgIkrbDvAiVZ8lQAjS/bq5vXQikTGvoPlC5bbn\nvuOM/3eLAgMBAAECggEAVZ+peHAghq2QVj71nX5lxsNCKaCyYwixSJBpfouTt7Rz\nE6PpzMOXFi1W1o+I22jDakuSM2SOQKqI/u0QefB0r0O/KVk5NrZHXk0mkrdYtxOp\nUgaGyf8UvmjB+8VqHrNKyZdk9qtmbnNj01kTTcAtmE4H39zPR7eR/8Rul94vaZbs\nwCnKJS3mLT3JxyGug6lxanveKkjG+CKC1nJQYWaxCJxaFSzbwXQPvDhB+TvrIbee\npd5v4EAyEJohpr+T9oDGGJkb/KARBZCtwLyB976PKJwwBA8MRVL1i5QwawuMiMq5\nUtnOnbGKtCeFzaLbNU0Qi8bqyims84EQxC6DOu1fkQKBgQDdvsoBsEhsOXV7hlIJ\naEd0eSJZVkdqimxH8uGoMM2FeNaOrcB6yBXqTSP0R3OIyf8eaY6yjRvP30ZNXcll\n/gD3O1Mu6YmWQdt1W2WA6pKOsUuPXasf0pdOF7IiFZKlSabz5YHXFqwVuqm8loaj\nsXel3YWqPVdHiankE7tz+3ssnQKBgQDdqi4TNdD1MdEpihx19jr0QjUiXW3939FK\nqp30HESPEGDGQzXdmJgif9HhZb+cJSuWaHEbjgBrYahvgCF+y6LbEpOD+D/dmT+s\nDEAQaR84sah6dokwPjV8fjBSrcVFjCS+doxv0d3p/9OUEeyUhFrY03nxtIEYkLIE\n/Zvn37b4RwKBgQCLENVFe9XfsaVhQ5r9dV2iyTlmh7qgMZG5CbTFs12hQGhm8McO\n+Z7s41YSJCFr/yq1WwP4LJDtrBw99vyQr1zRsG35tNLp3gGRNzGQSQyC2uQFVHw2\np+7mNewsfhUK/gbrXNsyFnDz6635rPlhfbII3sWuP2wWXFqkxE9CbMwR7QKBgQC6\nawDMzxmo2/iYArrkyevSuEuPVxvFwpF1RgAI6C0QVCnPE38dmdN4UB7mfHekje4W\nVEercMURidPp0cxZolCYBQtilUjAyL0vqC3In1/Ogjq6oy3FEMxSop1pKxMY5j+Q\nnoqFD+6deLUrddeNH7J3X4LSr4dSbX4JjG+tlgt+yQKBgQCuwTL4hA6KqeInQ0Ta\n9VQX5Qr8hFlqJz1gpymi/k63tW/Ob8yedbg3WWNWyShwRMFYyY9S81ITFWM95uL6\nvF3x9rmRjwElJw9PMwVu6dmf/CO0Z1wzXSp2VVD12gbrUD/0/d7MUoJ9LgC8X8f/\nn0txLHYGHbx+nf95+JUg6lV3hg==\n-----END PRIVATE KEY-----";
41457
41514
  /*
41458
41515
  * The crypto algorithm used for importing key and signing string
41459
41516
  */