whisper.rn 0.5.0-rc.1 → 0.5.0-rc.10

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.
Files changed (116) hide show
  1. package/README.md +128 -50
  2. package/android/src/main/CMakeLists.txt +1 -0
  3. package/android/src/main/java/com/rnwhisper/RNWhisper.java +35 -0
  4. package/android/src/main/java/com/rnwhisper/WhisperContext.java +33 -0
  5. package/android/src/main/jni.cpp +81 -0
  6. package/android/src/newarch/java/com/rnwhisper/RNWhisperModule.java +5 -0
  7. package/android/src/oldarch/java/com/rnwhisper/RNWhisperModule.java +5 -0
  8. package/cpp/jsi/RNWhisperJSI.cpp +42 -6
  9. package/ios/RNWhisper.mm +11 -0
  10. package/ios/RNWhisperContext.h +1 -0
  11. package/ios/RNWhisperContext.mm +46 -0
  12. package/ios/rnwhisper.xcframework/ios-arm64/rnwhisper.framework/Info.plist +0 -0
  13. package/ios/rnwhisper.xcframework/ios-arm64_x86_64-simulator/rnwhisper.framework/Info.plist +0 -0
  14. package/ios/rnwhisper.xcframework/ios-arm64_x86_64-simulator/rnwhisper.framework/_CodeSignature/CodeResources +1 -1
  15. package/ios/rnwhisper.xcframework/ios-arm64_x86_64-simulator/rnwhisper.framework/rnwhisper +0 -0
  16. package/ios/rnwhisper.xcframework/tvos-arm64/rnwhisper.framework/Info.plist +0 -0
  17. package/ios/rnwhisper.xcframework/tvos-arm64_x86_64-simulator/rnwhisper.framework/Info.plist +0 -0
  18. package/ios/rnwhisper.xcframework/tvos-arm64_x86_64-simulator/rnwhisper.framework/_CodeSignature/CodeResources +1 -1
  19. package/ios/rnwhisper.xcframework/tvos-arm64_x86_64-simulator/rnwhisper.framework/rnwhisper +0 -0
  20. package/lib/commonjs/AudioSessionIos.js +2 -1
  21. package/lib/commonjs/AudioSessionIos.js.map +1 -1
  22. package/lib/commonjs/NativeRNWhisper.js.map +1 -1
  23. package/lib/commonjs/index.js +50 -10
  24. package/lib/commonjs/index.js.map +1 -1
  25. package/lib/commonjs/jest-mock.js +126 -0
  26. package/lib/commonjs/jest-mock.js.map +1 -0
  27. package/lib/commonjs/realtime-transcription/RealtimeTranscriber.js +857 -0
  28. package/lib/commonjs/realtime-transcription/RealtimeTranscriber.js.map +1 -0
  29. package/lib/commonjs/realtime-transcription/SliceManager.js +233 -0
  30. package/lib/commonjs/realtime-transcription/SliceManager.js.map +1 -0
  31. package/lib/commonjs/realtime-transcription/adapters/AudioPcmStreamAdapter.js +133 -0
  32. package/lib/commonjs/realtime-transcription/adapters/AudioPcmStreamAdapter.js.map +1 -0
  33. package/lib/commonjs/realtime-transcription/adapters/JestAudioStreamAdapter.js +201 -0
  34. package/lib/commonjs/realtime-transcription/adapters/JestAudioStreamAdapter.js.map +1 -0
  35. package/lib/commonjs/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js +309 -0
  36. package/lib/commonjs/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js.map +1 -0
  37. package/lib/commonjs/realtime-transcription/index.js +27 -0
  38. package/lib/commonjs/realtime-transcription/index.js.map +1 -0
  39. package/lib/commonjs/realtime-transcription/types.js +114 -0
  40. package/lib/commonjs/realtime-transcription/types.js.map +1 -0
  41. package/lib/commonjs/utils/WavFileReader.js +158 -0
  42. package/lib/commonjs/utils/WavFileReader.js.map +1 -0
  43. package/lib/commonjs/utils/WavFileWriter.js +181 -0
  44. package/lib/commonjs/utils/WavFileWriter.js.map +1 -0
  45. package/lib/commonjs/utils/common.js +25 -0
  46. package/lib/commonjs/utils/common.js.map +1 -0
  47. package/lib/module/AudioSessionIos.js +2 -1
  48. package/lib/module/AudioSessionIos.js.map +1 -1
  49. package/lib/module/NativeRNWhisper.js.map +1 -1
  50. package/lib/module/index.js +48 -10
  51. package/lib/module/index.js.map +1 -1
  52. package/lib/module/jest-mock.js +124 -0
  53. package/lib/module/jest-mock.js.map +1 -0
  54. package/lib/module/realtime-transcription/RealtimeTranscriber.js +851 -0
  55. package/lib/module/realtime-transcription/RealtimeTranscriber.js.map +1 -0
  56. package/lib/module/realtime-transcription/SliceManager.js +226 -0
  57. package/lib/module/realtime-transcription/SliceManager.js.map +1 -0
  58. package/lib/module/realtime-transcription/adapters/AudioPcmStreamAdapter.js +124 -0
  59. package/lib/module/realtime-transcription/adapters/AudioPcmStreamAdapter.js.map +1 -0
  60. package/lib/module/realtime-transcription/adapters/JestAudioStreamAdapter.js +194 -0
  61. package/lib/module/realtime-transcription/adapters/JestAudioStreamAdapter.js.map +1 -0
  62. package/lib/module/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js +302 -0
  63. package/lib/module/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js.map +1 -0
  64. package/lib/module/realtime-transcription/index.js +8 -0
  65. package/lib/module/realtime-transcription/index.js.map +1 -0
  66. package/lib/module/realtime-transcription/types.js +107 -0
  67. package/lib/module/realtime-transcription/types.js.map +1 -0
  68. package/lib/module/utils/WavFileReader.js +151 -0
  69. package/lib/module/utils/WavFileReader.js.map +1 -0
  70. package/lib/module/utils/WavFileWriter.js +174 -0
  71. package/lib/module/utils/WavFileWriter.js.map +1 -0
  72. package/lib/module/utils/common.js +18 -0
  73. package/lib/module/utils/common.js.map +1 -0
  74. package/lib/typescript/AudioSessionIos.d.ts +1 -1
  75. package/lib/typescript/AudioSessionIos.d.ts.map +1 -1
  76. package/lib/typescript/NativeRNWhisper.d.ts +1 -0
  77. package/lib/typescript/NativeRNWhisper.d.ts.map +1 -1
  78. package/lib/typescript/index.d.ts +8 -4
  79. package/lib/typescript/index.d.ts.map +1 -1
  80. package/lib/typescript/jest-mock.d.ts +2 -0
  81. package/lib/typescript/jest-mock.d.ts.map +1 -0
  82. package/lib/typescript/realtime-transcription/RealtimeTranscriber.d.ts +166 -0
  83. package/lib/typescript/realtime-transcription/RealtimeTranscriber.d.ts.map +1 -0
  84. package/lib/typescript/realtime-transcription/SliceManager.d.ts +72 -0
  85. package/lib/typescript/realtime-transcription/SliceManager.d.ts.map +1 -0
  86. package/lib/typescript/realtime-transcription/adapters/AudioPcmStreamAdapter.d.ts +22 -0
  87. package/lib/typescript/realtime-transcription/adapters/AudioPcmStreamAdapter.d.ts.map +1 -0
  88. package/lib/typescript/realtime-transcription/adapters/JestAudioStreamAdapter.d.ts +44 -0
  89. package/lib/typescript/realtime-transcription/adapters/JestAudioStreamAdapter.d.ts.map +1 -0
  90. package/lib/typescript/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.d.ts +75 -0
  91. package/lib/typescript/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.d.ts.map +1 -0
  92. package/lib/typescript/realtime-transcription/index.d.ts +6 -0
  93. package/lib/typescript/realtime-transcription/index.d.ts.map +1 -0
  94. package/lib/typescript/realtime-transcription/types.d.ts +222 -0
  95. package/lib/typescript/realtime-transcription/types.d.ts.map +1 -0
  96. package/lib/typescript/utils/WavFileReader.d.ts +61 -0
  97. package/lib/typescript/utils/WavFileReader.d.ts.map +1 -0
  98. package/lib/typescript/utils/WavFileWriter.d.ts +57 -0
  99. package/lib/typescript/utils/WavFileWriter.d.ts.map +1 -0
  100. package/lib/typescript/utils/common.d.ts +9 -0
  101. package/lib/typescript/utils/common.d.ts.map +1 -0
  102. package/package.json +18 -6
  103. package/src/AudioSessionIos.ts +3 -2
  104. package/src/NativeRNWhisper.ts +2 -0
  105. package/src/index.ts +74 -22
  106. package/{jest/mock.js → src/jest-mock.ts} +2 -2
  107. package/src/realtime-transcription/RealtimeTranscriber.ts +1015 -0
  108. package/src/realtime-transcription/SliceManager.ts +252 -0
  109. package/src/realtime-transcription/adapters/AudioPcmStreamAdapter.ts +143 -0
  110. package/src/realtime-transcription/adapters/JestAudioStreamAdapter.ts +251 -0
  111. package/src/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.ts +378 -0
  112. package/src/realtime-transcription/index.ts +34 -0
  113. package/src/realtime-transcription/types.ts +283 -0
  114. package/src/utils/WavFileReader.ts +202 -0
  115. package/src/utils/WavFileWriter.ts +206 -0
  116. package/src/utils/common.ts +17 -0
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WavFileWriter = void 0;
7
+ var _common = require("./common");
8
+ class WavFileWriter {
9
+ dataSize = 0;
10
+ isWriting = false;
11
+ writeQueue = [];
12
+ constructor(fs, filePath, config) {
13
+ this.fs = fs;
14
+ this.filePath = filePath;
15
+ this.config = config;
16
+ }
17
+
18
+ /**
19
+ * Initialize the WAV file with headers
20
+ */
21
+ async initialize() {
22
+ if (this.isWriting) {
23
+ return;
24
+ }
25
+ try {
26
+ // Create the initial WAV header (we'll update the size later)
27
+ const header = this.createWavHeader(0);
28
+ await this.fs.writeFile(this.filePath, (0, _common.uint8ArrayToBase64)(header), 'base64');
29
+ this.dataSize = 0;
30
+ this.isWriting = true;
31
+ this.writeQueue = [];
32
+ } catch (error) {
33
+ throw new Error(`Failed to initialize WAV file: ${error}`);
34
+ }
35
+ }
36
+
37
+ /**
38
+ * Append PCM audio data to the WAV file
39
+ */
40
+ async appendAudioData(audioData) {
41
+ if (!this.isWriting) {
42
+ throw new Error('WAV file not initialized');
43
+ }
44
+ try {
45
+ // Queue the data for writing
46
+ this.writeQueue.push(audioData);
47
+
48
+ // Process the write queue
49
+ await this.processWriteQueue();
50
+ } catch (error) {
51
+ console.warn(`Failed to append audio data to WAV file: ${error}`);
52
+ }
53
+ }
54
+
55
+ /**
56
+ * Process the write queue to avoid blocking
57
+ */
58
+ async processWriteQueue() {
59
+ if (this.writeQueue.length === 0) {
60
+ return;
61
+ }
62
+ try {
63
+ // Combine all queued data
64
+ const totalLength = this.writeQueue.reduce((sum, data) => sum + data.length, 0);
65
+ const combinedData = new Uint8Array(totalLength);
66
+ let offset = 0;
67
+ this.writeQueue.forEach(data => {
68
+ combinedData.set(new Uint8Array(data), offset);
69
+ offset += data.length;
70
+ });
71
+
72
+ // Append to file
73
+ const base64Data = (0, _common.uint8ArrayToBase64)(combinedData);
74
+ await this.fs.appendFile(this.filePath, base64Data, 'base64');
75
+
76
+ // Update data size
77
+ this.dataSize += combinedData.length;
78
+
79
+ // Clear the queue
80
+ this.writeQueue = [];
81
+ } catch (error) {
82
+ console.warn(`Failed to process WAV write queue: ${error}`);
83
+ // Don't throw here to avoid breaking the recording
84
+ }
85
+ }
86
+
87
+ /**
88
+ * Finalize the WAV file by updating the header with correct sizes
89
+ */
90
+ async finalize() {
91
+ if (!this.isWriting) {
92
+ return;
93
+ }
94
+ try {
95
+ // Process any remaining queued data
96
+ await this.processWriteQueue();
97
+
98
+ // Read the current file
99
+ const currentData = await this.fs.readFile(this.filePath, 'base64');
100
+ const currentBytes = (0, _common.base64ToUint8Array)(currentData);
101
+
102
+ // Create the correct header with final data size
103
+ const correctHeader = this.createWavHeader(this.dataSize);
104
+
105
+ // Replace the header (first 44 bytes)
106
+ const finalData = new Uint8Array(correctHeader.length + this.dataSize);
107
+ finalData.set(correctHeader, 0);
108
+ finalData.set(currentBytes.slice(44), 44); // Skip old header
109
+
110
+ // Write the final file
111
+ const finalBase64 = (0, _common.uint8ArrayToBase64)(finalData);
112
+ await this.fs.writeFile(this.filePath, finalBase64, 'base64');
113
+ this.isWriting = false;
114
+ } catch (error) {
115
+ console.warn(`Failed to finalize WAV file: ${error}`);
116
+ }
117
+ }
118
+
119
+ /**
120
+ * Create WAV file header
121
+ */
122
+ createWavHeader(dataSize) {
123
+ const header = new ArrayBuffer(44);
124
+ const view = new DataView(header);
125
+
126
+ // RIFF header
127
+ view.setUint32(0, 0x52494646, false); // "RIFF"
128
+ view.setUint32(4, 36 + dataSize, true); // File size - 8
129
+ view.setUint32(8, 0x57415645, false); // "WAVE"
130
+
131
+ // Format chunk
132
+ view.setUint32(12, 0x666d7420, false); // "fmt "
133
+ view.setUint32(16, 16, true); // Chunk size
134
+ view.setUint16(20, 1, true); // Audio format (PCM)
135
+ view.setUint16(22, this.config.channels, true); // Number of channels
136
+ view.setUint32(24, this.config.sampleRate, true); // Sample rate
137
+ view.setUint32(28, this.config.sampleRate * this.config.channels * (this.config.bitsPerSample / 8), true); // Byte rate
138
+ view.setUint16(32, this.config.channels * (this.config.bitsPerSample / 8), true); // Block align
139
+ view.setUint16(34, this.config.bitsPerSample, true); // Bits per sample
140
+
141
+ // Data chunk
142
+ view.setUint32(36, 0x64617461, false); // "data"
143
+ view.setUint32(40, dataSize, true); // Data size
144
+
145
+ return new Uint8Array(header);
146
+ }
147
+
148
+ /**
149
+ * Cancel writing and cleanup
150
+ */
151
+ async cancel() {
152
+ this.isWriting = false;
153
+ this.writeQueue = [];
154
+ try {
155
+ // Delete the incomplete file
156
+ const exists = await this.fs.exists(this.filePath);
157
+ if (exists) {
158
+ await this.fs.unlink(this.filePath);
159
+ }
160
+ } catch (error) {
161
+ console.warn(`Failed to cleanup WAV file: ${error}`);
162
+ }
163
+ }
164
+
165
+ /**
166
+ * Get current file statistics
167
+ */
168
+ getStatistics() {
169
+ const durationSec = this.dataSize / (this.config.sampleRate * this.config.channels * (this.config.bitsPerSample / 8));
170
+ return {
171
+ filePath: this.filePath,
172
+ dataSize: this.dataSize,
173
+ durationSec,
174
+ isWriting: this.isWriting,
175
+ queuedChunks: this.writeQueue.length,
176
+ estimatedFileSizeMB: (44 + this.dataSize) / (1024 * 1024)
177
+ };
178
+ }
179
+ }
180
+ exports.WavFileWriter = WavFileWriter;
181
+ //# sourceMappingURL=WavFileWriter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_common","require","WavFileWriter","dataSize","isWriting","writeQueue","constructor","fs","filePath","config","initialize","header","createWavHeader","writeFile","uint8ArrayToBase64","error","Error","appendAudioData","audioData","push","processWriteQueue","console","warn","length","totalLength","reduce","sum","data","combinedData","Uint8Array","offset","forEach","set","base64Data","appendFile","finalize","currentData","readFile","currentBytes","base64ToUint8Array","correctHeader","finalData","slice","finalBase64","ArrayBuffer","view","DataView","setUint32","setUint16","channels","sampleRate","bitsPerSample","cancel","exists","unlink","getStatistics","durationSec","queuedChunks","estimatedFileSizeMB","exports"],"sourceRoot":"../../../src","sources":["utils/WavFileWriter.ts"],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.base64ToUint8Array = base64ToUint8Array;
7
+ exports.uint8ArrayToBase64 = uint8ArrayToBase64;
8
+ const Buffer = global.Buffer || require('safe-buffer').Buffer;
9
+
10
+ /**
11
+ * Convert base64 string to Uint8Array
12
+ */
13
+ function base64ToUint8Array(base64) {
14
+ const buffer = Buffer.from(base64, 'base64');
15
+ return new Uint8Array(buffer);
16
+ }
17
+
18
+ /**
19
+ * Convert Uint8Array to base64 string
20
+ */
21
+ function uint8ArrayToBase64(buffer) {
22
+ const buf = Buffer.from(buffer);
23
+ return buf.toString('base64');
24
+ }
25
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Buffer","global","require","base64ToUint8Array","base64","buffer","from","Uint8Array","uint8ArrayToBase64","buf","toString"],"sourceRoot":"../../../src","sources":["utils/common.ts"],"mappings":";;;;;;;AAAA,MAAMA,MAAW,GAAGC,MAAM,CAACD,MAAM,IAAIE,OAAO,CAAC,aAAa,CAAC,CAACF,MAAM;;AAElE;AACA;AACA;AACO,SAASG,kBAAkBA,CAACC,MAAc,EAAc;EAC7D,MAAMC,MAAM,GAAGL,MAAM,CAACM,IAAI,CAACF,MAAM,EAAE,QAAQ,CAAC;EAC5C,OAAO,IAAIG,UAAU,CAACF,MAAM,CAAC;AAC/B;;AAEA;AACA;AACA;AACO,SAASG,kBAAkBA,CAACH,MAAkB,EAAU;EAC7D,MAAMI,GAAG,GAAGT,MAAM,CAACM,IAAI,CAACD,MAAM,CAAC;EAC/B,OAAOI,GAAG,CAACC,QAAQ,CAAC,QAAQ,CAAC;AAC/B"}
@@ -44,10 +44,11 @@ export let AudioSessionModeIos;
44
44
  })(AudioSessionModeIos || (AudioSessionModeIos = {}));
45
45
  const checkPlatform = () => {
46
46
  if (Platform.OS !== 'ios') throw new Error('Only supported on iOS');
47
+ console.warn('AudioSessionIos is deprecated. To use whisper.rn for realtime transcription, use the new RealtimeTranscriber instead.');
47
48
  };
48
49
 
49
50
  /**
50
- * AudioSession Utility, iOS only.
51
+ * [Deprecated] AudioSession Utility, iOS only.
51
52
  */
52
53
  export default {
53
54
  Category: AudioSessionCategoryIos,
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","RNWhisper","AudioSessionCategoryIos","AudioSessionCategoryOptionIos","AudioSessionModeIos","checkPlatform","OS","Error","Category","CategoryOption","Mode","getCurrentCategory","_result$options","result","getAudioSessionCurrentCategory","category","replace","options","map","option","getCurrentMode","mode","getAudioSessionCurrentMode","setCategory","setAudioSessionCategory","setMode","setAudioSessionMode","setActive","active","setAudioSessionActive"],"sourceRoot":"../../src","sources":["AudioSessionIos.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,OAAOC,SAAS,MAAM,mBAAmB;;AAEzC;AACA;AACA;AACA,WAAYC,uBAAuB;;AASnC;AACA;AACA;AAFA,WATYA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;AAAA,GAAvBA,uBAAuB,KAAvBA,uBAAuB;AAYnC,WAAYC,6BAA6B;;AAUzC;AACA;AACA;AAFA,WAVYA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;AAAA,GAA7BA,6BAA6B,KAA7BA,6BAA6B;AAazC,WAAYC,mBAAmB;AAS9B,WATWA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;AAAA,GAAnBA,mBAAmB,KAAnBA,mBAAmB;AAW/B,MAAMC,aAAa,GAAGA,CAAA,KAAM;EAC1B,IAAIL,QAAQ,CAACM,EAAE,KAAK,KAAK,EAAE,MAAM,IAAIC,KAAK,CAAC,uBAAuB,CAAC;AACrE,CAAC;;AAED;AACA;AACA;AACA,eAAe;EACbC,QAAQ,EAAEN,uBAAuB;EACjCO,cAAc,EAAEN,6BAA6B;EAC7CO,IAAI,EAAEN,mBAAmB;EAEzBO,kBAAkB,EAAE,MAAAA,CAAA,KAGd;IAAA,IAAAC,eAAA;IACJP,aAAa,EAAE;IACf,MAAMQ,MAAM,GAAG,MAAMZ,SAAS,CAACa,8BAA8B,EAAE;IAC/D,OAAO;MACLC,QAAQ,EAAGF,MAAM,CAACE,QAAQ,CAACC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAA6B;MAC5FC,OAAO,GAAAL,eAAA,GAAEC,MAAM,CAACI,OAAO,cAAAL,eAAA,uBAAdA,eAAA,CAAgBM,GAAG,CAAEC,MAAc,IAAMA,MAAM,CAACH,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAmC;IACxI,CAAC;EACH,CAAC;EAEDI,cAAc,EAAE,MAAAA,CAAA,KAA0C;IACxDf,aAAa,EAAE;IACf,MAAMgB,IAAI,GAAG,MAAMpB,SAAS,CAACqB,0BAA0B,EAAE;IACzD,OAAQD,IAAI,CAACL,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;EAChD,CAAC;EAEDO,WAAW,EAAE,MAAAA,CACXR,QAAiC,EACjCE,OAAwC,KACtB;IAClBZ,aAAa,EAAE;IACf,MAAMJ,SAAS,CAACuB,uBAAuB,CAACT,QAAQ,EAAEE,OAAO,CAAC;EAC5D,CAAC;EAEDQ,OAAO,EAAE,MAAOJ,IAAyB,IAAoB;IAC3DhB,aAAa,EAAE;IACf,MAAMJ,SAAS,CAACyB,mBAAmB,CAACL,IAAI,CAAC;EAC3C,CAAC;EAEDM,SAAS,EAAE,MAAOC,MAAe,IAAoB;IACnDvB,aAAa,EAAE;IACf,MAAMJ,SAAS,CAAC4B,qBAAqB,CAACD,MAAM,CAAC;EAC/C;AACF,CAAC"}
1
+ {"version":3,"names":["Platform","RNWhisper","AudioSessionCategoryIos","AudioSessionCategoryOptionIos","AudioSessionModeIos","checkPlatform","OS","Error","console","warn","Category","CategoryOption","Mode","getCurrentCategory","_result$options","result","getAudioSessionCurrentCategory","category","replace","options","map","option","getCurrentMode","mode","getAudioSessionCurrentMode","setCategory","setAudioSessionCategory","setMode","setAudioSessionMode","setActive","active","setAudioSessionActive"],"sourceRoot":"../../src","sources":["AudioSessionIos.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,OAAOC,SAAS,MAAM,mBAAmB;;AAEzC;AACA;AACA;AACA,WAAYC,uBAAuB;;AASnC;AACA;AACA;AAFA,WATYA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;AAAA,GAAvBA,uBAAuB,KAAvBA,uBAAuB;AAYnC,WAAYC,6BAA6B;;AAUzC;AACA;AACA;AAFA,WAVYA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;AAAA,GAA7BA,6BAA6B,KAA7BA,6BAA6B;AAazC,WAAYC,mBAAmB;AAS9B,WATWA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;AAAA,GAAnBA,mBAAmB,KAAnBA,mBAAmB;AAW/B,MAAMC,aAAa,GAAGA,CAAA,KAAM;EAC1B,IAAIL,QAAQ,CAACM,EAAE,KAAK,KAAK,EAAE,MAAM,IAAIC,KAAK,CAAC,uBAAuB,CAAC;EACnEC,OAAO,CAACC,IAAI,CAAC,uHAAuH,CAAC;AACvI,CAAC;;AAED;AACA;AACA;AACA,eAAe;EACbC,QAAQ,EAAER,uBAAuB;EACjCS,cAAc,EAAER,6BAA6B;EAC7CS,IAAI,EAAER,mBAAmB;EAEzBS,kBAAkB,EAAE,MAAAA,CAAA,KAGd;IAAA,IAAAC,eAAA;IACJT,aAAa,EAAE;IACf,MAAMU,MAAM,GAAG,MAAMd,SAAS,CAACe,8BAA8B,EAAE;IAC/D,OAAO;MACLC,QAAQ,EAAGF,MAAM,CAACE,QAAQ,CAACC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAA6B;MAC5FC,OAAO,GAAAL,eAAA,GAAEC,MAAM,CAACI,OAAO,cAAAL,eAAA,uBAAdA,eAAA,CAAgBM,GAAG,CAAEC,MAAc,IAAMA,MAAM,CAACH,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAmC;IACxI,CAAC;EACH,CAAC;EAEDI,cAAc,EAAE,MAAAA,CAAA,KAA0C;IACxDjB,aAAa,EAAE;IACf,MAAMkB,IAAI,GAAG,MAAMtB,SAAS,CAACuB,0BAA0B,EAAE;IACzD,OAAQD,IAAI,CAACL,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;EAChD,CAAC;EAEDO,WAAW,EAAE,MAAAA,CACXR,QAAiC,EACjCE,OAAwC,KACtB;IAClBd,aAAa,EAAE;IACf,MAAMJ,SAAS,CAACyB,uBAAuB,CAACT,QAAQ,EAAEE,OAAO,CAAC;EAC5D,CAAC;EAEDQ,OAAO,EAAE,MAAOJ,IAAyB,IAAoB;IAC3DlB,aAAa,EAAE;IACf,MAAMJ,SAAS,CAAC2B,mBAAmB,CAACL,IAAI,CAAC;EAC3C,CAAC;EAEDM,SAAS,EAAE,MAAOC,MAAe,IAAoB;IACnDzB,aAAa,EAAE;IACf,MAAMJ,SAAS,CAAC8B,qBAAqB,CAACD,MAAM,CAAC;EAC/C;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeRNWhisper.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAElD;;AA0JA,eAAeA,mBAAmB,CAACC,GAAG,CAAO,WAAW,CAAC"}
1
+ {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeRNWhisper.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAElD;;AA4JA,eAAeA,mBAAmB,CAACC,GAAG,CAAO,WAAW,CAAC"}
@@ -5,14 +5,19 @@ import AudioSessionIos from './AudioSessionIos';
5
5
  import { version } from './version.json';
6
6
  let jsiWhisperTranscribeData;
7
7
  let jsiWhisperVadDetectSpeech;
8
- RNWhisper.installJSIBindings().then(() => {
9
- jsiWhisperTranscribeData = global.whisperTranscribeData;
10
- delete global.whisperTranscribeData;
11
- jsiWhisperVadDetectSpeech = global.whisperVadDetectSpeech;
12
- delete global.whisperVadDetectSpeech;
13
- }).catch(e => {
14
- console.warn('Failed to install JSI bindings', e);
15
- });
8
+ let jsiInstalled = false;
9
+ const installJSIBindingsIfNeeded = async () => {
10
+ if (jsiInstalled) return;
11
+ jsiInstalled = true;
12
+ return RNWhisper.installJSIBindings().then(() => {
13
+ jsiWhisperTranscribeData = global.whisperTranscribeData;
14
+ delete global.whisperTranscribeData;
15
+ jsiWhisperVadDetectSpeech = global.whisperVadDetectSpeech;
16
+ delete global.whisperVadDetectSpeech;
17
+ }).catch(e => {
18
+ console.warn('Failed to install JSI bindings', e);
19
+ });
20
+ };
16
21
  let EventEmitter;
17
22
  if (Platform.OS === 'ios') {
18
23
  // @ts-ignore
@@ -23,8 +28,20 @@ if (Platform.OS === 'android') {
23
28
  }
24
29
  const EVENT_ON_TRANSCRIBE_PROGRESS = '@RNWhisper_onTranscribeProgress';
25
30
  const EVENT_ON_TRANSCRIBE_NEW_SEGMENTS = '@RNWhisper_onTranscribeNewSegments';
31
+ const EVENT_ON_NATIVE_LOG = '@RNWhisper_onNativeLog';
26
32
  const EVENT_ON_REALTIME_TRANSCRIBE = '@RNWhisper_onRealtimeTranscribe';
27
33
  const EVENT_ON_REALTIME_TRANSCRIBE_END = '@RNWhisper_onRealtimeTranscribeEnd';
34
+ const logListeners = [];
35
+
36
+ // @ts-ignore
37
+ if (EventEmitter) {
38
+ var _RNWhisper$toggleNati, _RNWhisper$toggleNati2, _RNWhisper$toggleNati3;
39
+ EventEmitter.addListener(EVENT_ON_NATIVE_LOG, evt => {
40
+ logListeners.forEach(listener => listener(evt.level, evt.text));
41
+ });
42
+ // Trigger unset to use default log callback
43
+ RNWhisper === null || RNWhisper === void 0 ? void 0 : (_RNWhisper$toggleNati = RNWhisper.toggleNativeLog) === null || _RNWhisper$toggleNati === void 0 ? void 0 : (_RNWhisper$toggleNati2 = _RNWhisper$toggleNati.call(RNWhisper, false)) === null || _RNWhisper$toggleNati2 === void 0 ? void 0 : (_RNWhisper$toggleNati3 = _RNWhisper$toggleNati2.catch) === null || _RNWhisper$toggleNati3 === void 0 ? void 0 : _RNWhisper$toggleNati3.call(_RNWhisper$toggleNati2, () => {});
44
+ }
28
45
  const updateAudioSession = async setting => {
29
46
  await AudioSessionIos.setCategory(setting.category, setting.options || []);
30
47
  if (setting.mode) {
@@ -144,7 +161,7 @@ export class WhisperContext {
144
161
  */
145
162
  transcribeData(data) {
146
163
  let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
147
- if (data instanceof ArrayBuffer || data instanceof SharedArrayBuffer) {
164
+ if (data instanceof ArrayBuffer) {
148
165
  // Use JSI function for ArrayBuffer
149
166
  if (!jsiWhisperTranscribeData) {
150
167
  throw new Error('JSI binding `whisperTranscribeData` not installed');
@@ -209,6 +226,7 @@ export class WhisperContext {
209
226
  /** Transcribe the microphone audio stream, the microphone user permission is required */
210
227
  async transcribeRealtime() {
211
228
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
229
+ console.warn('`transcribeRealtime` is deprecated, use `RealtimeTranscriber` instead');
212
230
  let lastTranscribePayload;
213
231
  const slices = [];
214
232
  let sliceIndex = 0;
@@ -357,6 +375,7 @@ export async function initWhisper(_ref2) {
357
375
  useCoreMLIos = true,
358
376
  useFlashAttn = false
359
377
  } = _ref2;
378
+ await installJSIBindingsIfNeeded();
360
379
  let path = '';
361
380
  let coreMLAssets;
362
381
  if (coreMLModelAsset) {
@@ -424,6 +443,7 @@ export async function initWhisper(_ref2) {
424
443
  });
425
444
  }
426
445
  export async function releaseAllWhisper() {
446
+ await installJSIBindingsIfNeeded();
427
447
  return RNWhisper.releaseAllContexts();
428
448
  }
429
449
 
@@ -494,7 +514,7 @@ export class WhisperVadContext {
494
514
  */
495
515
  async detectSpeechData(audioData) {
496
516
  let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
497
- if (audioData instanceof ArrayBuffer || audioData instanceof SharedArrayBuffer) {
517
+ if (audioData instanceof ArrayBuffer) {
498
518
  // Use JSI function for ArrayBuffer
499
519
  if (!jsiWhisperVadDetectSpeech) {
500
520
  throw new Error('JSI binding `whisperVadDetectSpeech` not installed');
@@ -521,6 +541,7 @@ export async function initWhisperVad(_ref4) {
521
541
  useGpu = true,
522
542
  nThreads
523
543
  } = _ref4;
544
+ await installJSIBindingsIfNeeded();
524
545
  let path = '';
525
546
  if (typeof filePath === 'number') {
526
547
  try {
@@ -558,6 +579,23 @@ export async function initWhisperVad(_ref4) {
558
579
  * @returns Promise resolving when all contexts are released
559
580
  */
560
581
  export async function releaseAllWhisperVad() {
582
+ await installJSIBindingsIfNeeded();
561
583
  return RNWhisper.releaseAllVadContexts();
562
584
  }
585
+ let logInitialized = false;
586
+ export async function toggleNativeLog(enabled) {
587
+ if (!enabled && !logInitialized) return; // If first call is false, skip
588
+
589
+ logInitialized = true;
590
+ await installJSIBindingsIfNeeded();
591
+ return RNWhisper.toggleNativeLog(enabled);
592
+ }
593
+ export function addNativeLogListener(listener) {
594
+ logListeners.push(listener);
595
+ return {
596
+ remove: () => {
597
+ logListeners.splice(logListeners.indexOf(listener), 1);
598
+ }
599
+ };
600
+ }
563
601
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeEventEmitter","DeviceEventEmitter","Platform","Image","RNWhisper","AudioSessionIos","version","jsiWhisperTranscribeData","jsiWhisperVadDetectSpeech","installJSIBindings","then","global","whisperTranscribeData","whisperVadDetectSpeech","catch","e","console","warn","EventEmitter","OS","EVENT_ON_TRANSCRIBE_PROGRESS","EVENT_ON_TRANSCRIBE_NEW_SEGMENTS","EVENT_ON_REALTIME_TRANSCRIBE","EVENT_ON_REALTIME_TRANSCRIBE_END","updateAudioSession","setting","setCategory","category","options","mode","setMode","setActive","active","WhisperContext","gpu","reasonNoGPU","constructor","_ref","contextPtr","contextId","ptr","id","transcribeWithNativeMethod","method","data","arguments","length","undefined","jobId","Math","floor","random","onProgress","onNewSegments","rest","progressListener","lastProgress","addListener","evt","progress","removeProgressListener","remove","newSegmentsListener","result","removeNewSegmenetsListener","stop","abortTranscribe","promise","isAborted","transcribe","filePathOrBase64","path","source","resolveAssetSource","uri","Error","startsWith","slice","transcribeData","ArrayBuffer","SharedArrayBuffer","transcribeDataArrayBuffer","jsiOptions","error","transcribeRealtime","lastTranscribePayload","slices","sliceIndex","tOffset","putSlice","payload","isUseSlices","_slices$sliceIndex","_segments","segments","t1","map","segment","t0","mergeSlicesIfNeeded","mergedPayload","forEach","_mergedPayload$data","_slice$data","_mergedPayload$data2","_slice$data2","processTime","recordingTime","prevAudioSession","audioSessionOnStartIos","audioSessionOnStopIos","categoryResult","getCurrentCategory","getCurrentMode","startRealtimeTranscribe","subscribe","callback","transcribeListener","endListener","lastPayload","isCapturing","bench","maxThreads","config","nThreads","encodeMs","decodeMs","batchMs","promptMs","JSON","parse","release","releaseContext","coreMLModelAssetPaths","initWhisper","_ref2","filePath","coreMLModelAsset","isBundleAsset","useGpu","useCoreMLIos","useFlashAttn","coreMLAssets","filename","assets","asset","filepath","find","p","includes","filter","initContext","downloadCoreMLAssets","__DEV__","releaseAllWhisper","releaseAllContexts","libVersion","useCoreML","coreMLAllowFallback","_RNWhisper$getConstan","getConstants","call","isUseCoreML","isCoreMLAllowFallback","WhisperVadContext","_ref3","detectSpeech","vadDetectSpeech","vadDetectSpeechFile","detectSpeechData","audioData","releaseVadContext","initWhisperVad","_ref4","initVadContext","releaseAllWhisperVad","releaseAllVadContexts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["NativeEventEmitter","DeviceEventEmitter","Platform","Image","RNWhisper","AudioSessionIos","version","jsiWhisperTranscribeData","jsiWhisperVadDetectSpeech","jsiInstalled","installJSIBindingsIfNeeded","installJSIBindings","then","global","whisperTranscribeData","whisperVadDetectSpeech","catch","e","console","warn","EventEmitter","OS","EVENT_ON_TRANSCRIBE_PROGRESS","EVENT_ON_TRANSCRIBE_NEW_SEGMENTS","EVENT_ON_NATIVE_LOG","EVENT_ON_REALTIME_TRANSCRIBE","EVENT_ON_REALTIME_TRANSCRIBE_END","logListeners","_RNWhisper$toggleNati","_RNWhisper$toggleNati2","_RNWhisper$toggleNati3","addListener","evt","forEach","listener","level","text","toggleNativeLog","call","updateAudioSession","setting","setCategory","category","options","mode","setMode","setActive","active","WhisperContext","gpu","reasonNoGPU","constructor","_ref","contextPtr","contextId","ptr","id","transcribeWithNativeMethod","method","data","arguments","length","undefined","jobId","Math","floor","random","onProgress","onNewSegments","rest","progressListener","lastProgress","progress","removeProgressListener","remove","newSegmentsListener","result","removeNewSegmenetsListener","stop","abortTranscribe","promise","isAborted","transcribe","filePathOrBase64","path","source","resolveAssetSource","uri","Error","startsWith","slice","transcribeData","ArrayBuffer","transcribeDataArrayBuffer","jsiOptions","error","transcribeRealtime","lastTranscribePayload","slices","sliceIndex","tOffset","putSlice","payload","isUseSlices","_slices$sliceIndex","_segments","segments","t1","map","segment","t0","mergeSlicesIfNeeded","mergedPayload","_mergedPayload$data","_slice$data","_mergedPayload$data2","_slice$data2","processTime","recordingTime","prevAudioSession","audioSessionOnStartIos","audioSessionOnStopIos","categoryResult","getCurrentCategory","getCurrentMode","startRealtimeTranscribe","subscribe","callback","transcribeListener","endListener","lastPayload","isCapturing","bench","maxThreads","config","nThreads","encodeMs","decodeMs","batchMs","promptMs","JSON","parse","release","releaseContext","coreMLModelAssetPaths","initWhisper","_ref2","filePath","coreMLModelAsset","isBundleAsset","useGpu","useCoreMLIos","useFlashAttn","coreMLAssets","filename","assets","asset","filepath","find","p","includes","filter","initContext","downloadCoreMLAssets","__DEV__","releaseAllWhisper","releaseAllContexts","libVersion","useCoreML","coreMLAllowFallback","_RNWhisper$getConstan","getConstants","isUseCoreML","isCoreMLAllowFallback","WhisperVadContext","_ref3","detectSpeech","vadDetectSpeech","vadDetectSpeechFile","detectSpeechData","audioData","releaseVadContext","initWhisperVad","_ref4","initVadContext","releaseAllWhisperVad","releaseAllVadContexts","logInitialized","enabled","addNativeLogListener","push","splice","indexOf"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ import { NativeModules, DeviceEventEmitter } from 'react-native';
2
+ if (!NativeModules.RNWhisper) {
3
+ NativeModules.RNWhisper = {
4
+ installJSIBindings: jest.fn(() => Promise.resolve()),
5
+ initContext: jest.fn(() => Promise.resolve({
6
+ contextId: 1
7
+ })),
8
+ transcribeFile: jest.fn(() => Promise.resolve({
9
+ result: ' Test',
10
+ segments: [{
11
+ text: ' Test',
12
+ t0: 0,
13
+ t1: 33
14
+ }],
15
+ isAborted: false
16
+ })),
17
+ transcribeData: jest.fn(() => Promise.resolve({
18
+ result: ' Test',
19
+ segments: [{
20
+ text: ' Test',
21
+ t0: 0,
22
+ t1: 33
23
+ }],
24
+ isAborted: false
25
+ })),
26
+ startRealtimeTranscribe: jest.fn((contextId, jobId) => {
27
+ setTimeout(() => {
28
+ // Start
29
+ DeviceEventEmitter.emit('@RNWhisper_onRealtimeTranscribe', {
30
+ contextId,
31
+ jobId,
32
+ payload: {
33
+ isCapturing: true,
34
+ data: {
35
+ result: ' Test',
36
+ segments: [{
37
+ text: ' Test',
38
+ t0: 0,
39
+ t1: 33
40
+ }]
41
+ },
42
+ processTime: 100,
43
+ recordingTime: 1000
44
+ }
45
+ });
46
+ DeviceEventEmitter.emit('@RNWhisper_onRealtimeTranscribe', {
47
+ contextId,
48
+ jobId,
49
+ payload: {
50
+ isCapturing: false,
51
+ data: {
52
+ result: ' Test',
53
+ segments: [{
54
+ text: ' Test',
55
+ t0: 0,
56
+ t1: 33
57
+ }]
58
+ },
59
+ processTime: 100,
60
+ recordingTime: 2000
61
+ }
62
+ });
63
+ // End event
64
+ DeviceEventEmitter.emit('@RNWhisper_onRealtimeTranscribeEnd', {
65
+ contextId,
66
+ jobId,
67
+ payload: {}
68
+ });
69
+ });
70
+ }),
71
+ bench: jest.fn(() => Promise.resolve({
72
+ config: 'NEON',
73
+ nThreads: 1,
74
+ encodeMs: 1,
75
+ decodeMs: 1,
76
+ batchMs: 1,
77
+ promptMs: 1
78
+ })),
79
+ releaseContext: jest.fn(() => Promise.resolve()),
80
+ releaseAllContexts: jest.fn(() => Promise.resolve()),
81
+ // VAD methods
82
+ initVadContext: jest.fn(() => Promise.resolve({
83
+ contextId: 2,
84
+ gpu: false,
85
+ reasonNoGPU: 'Mock VAD context'
86
+ })),
87
+ vadDetectSpeech: jest.fn().mockResolvedValue([{
88
+ t0: 0.5,
89
+ t1: 2.3
90
+ }, {
91
+ t0: 3.1,
92
+ t1: 5.8
93
+ }, {
94
+ t0: 7.2,
95
+ t1: 9.4
96
+ }]),
97
+ vadDetectSpeechFile: jest.fn().mockResolvedValue([{
98
+ t0: 0.5,
99
+ t1: 2.3
100
+ }, {
101
+ t0: 3.1,
102
+ t1: 5.8
103
+ }, {
104
+ t0: 7.2,
105
+ t1: 9.4
106
+ }]),
107
+ releaseVadContext: jest.fn(() => Promise.resolve()),
108
+ releaseAllVadContexts: jest.fn(() => Promise.resolve()),
109
+ // iOS AudioSession utils
110
+ getAudioSessionCurrentCategory: jest.fn(() => Promise.resolve({
111
+ category: 'AVAudioSessionCategoryPlayAndRecord',
112
+ options: []
113
+ })),
114
+ getAudioSessionCurrentMode: jest.fn(() => Promise.resolve('')),
115
+ setAudioSessionCategory: jest.fn(() => Promise.resolve()),
116
+ setAudioSessionMode: jest.fn(() => Promise.resolve()),
117
+ setAudioSessionActive: jest.fn(() => Promise.resolve()),
118
+ // For NativeEventEmitter
119
+ addListener: jest.fn(),
120
+ removeListeners: jest.fn()
121
+ };
122
+ }
123
+ module.exports = jest.requireActual('whisper.rn/index');
124
+ //# sourceMappingURL=jest-mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","DeviceEventEmitter","RNWhisper","installJSIBindings","jest","fn","Promise","resolve","initContext","contextId","transcribeFile","result","segments","text","t0","t1","isAborted","transcribeData","startRealtimeTranscribe","jobId","setTimeout","emit","payload","isCapturing","data","processTime","recordingTime","bench","config","nThreads","encodeMs","decodeMs","batchMs","promptMs","releaseContext","releaseAllContexts","initVadContext","gpu","reasonNoGPU","vadDetectSpeech","mockResolvedValue","vadDetectSpeechFile","releaseVadContext","releaseAllVadContexts","getAudioSessionCurrentCategory","category","options","getAudioSessionCurrentMode","setAudioSessionCategory","setAudioSessionMode","setAudioSessionActive","addListener","removeListeners","module","exports","requireActual"],"sourceRoot":"../../src","sources":["jest-mock.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,kBAAkB,QAAQ,cAAc;AAEhE,IAAI,CAACD,aAAa,CAACE,SAAS,EAAE;EAC5BF,aAAa,CAACE,SAAS,GAAG;IACxBC,kBAAkB,EAAEC,IAAI,CAACC,EAAE,CAAC,MAAMC,OAAO,CAACC,OAAO,EAAE,CAAC;IACpDC,WAAW,EAAEJ,IAAI,CAACC,EAAE,CAAC,MAAMC,OAAO,CAACC,OAAO,CAAC;MAAEE,SAAS,EAAE;IAAE,CAAC,CAAC,CAAC;IAC7DC,cAAc,EAAEN,IAAI,CAACC,EAAE,CAAC,MAAMC,OAAO,CAACC,OAAO,CAAC;MAC5CI,MAAM,EAAE,OAAO;MACfC,QAAQ,EAAE,CAAC;QAAEC,IAAI,EAAE,OAAO;QAAEC,EAAE,EAAE,CAAC;QAAEC,EAAE,EAAE;MAAG,CAAC,CAAC;MAC5CC,SAAS,EAAE;IACb,CAAC,CAAC,CAAC;IACHC,cAAc,EAAEb,IAAI,CAACC,EAAE,CAAC,MAAMC,OAAO,CAACC,OAAO,CAAC;MAC5CI,MAAM,EAAE,OAAO;MACfC,QAAQ,EAAE,CAAC;QAAEC,IAAI,EAAE,OAAO;QAAEC,EAAE,EAAE,CAAC;QAAEC,EAAE,EAAE;MAAG,CAAC,CAAC;MAC5CC,SAAS,EAAE;IACb,CAAC,CAAC,CAAC;IACHE,uBAAuB,EAAEd,IAAI,CAACC,EAAE,CAAC,CAACI,SAAS,EAAEU,KAAK,KAAK;MACrDC,UAAU,CAAC,MAAM;QACf;QACAnB,kBAAkB,CAACoB,IAAI,CAAC,iCAAiC,EAAE;UACzDZ,SAAS;UACTU,KAAK;UACLG,OAAO,EAAE;YACPC,WAAW,EAAE,IAAI;YACjBC,IAAI,EAAE;cACJb,MAAM,EAAE,OAAO;cACfC,QAAQ,EAAE,CAAC;gBAAEC,IAAI,EAAE,OAAO;gBAAEC,EAAE,EAAE,CAAC;gBAAEC,EAAE,EAAE;cAAG,CAAC;YAC7C,CAAC;YACDU,WAAW,EAAE,GAAG;YAChBC,aAAa,EAAE;UACjB;QACF,CAAC,CAAC;QACFzB,kBAAkB,CAACoB,IAAI,CAAC,iCAAiC,EAAE;UACzDZ,SAAS;UACTU,KAAK;UACLG,OAAO,EAAE;YACPC,WAAW,EAAE,KAAK;YAClBC,IAAI,EAAE;cACJb,MAAM,EAAE,OAAO;cACfC,QAAQ,EAAE,CAAC;gBAAEC,IAAI,EAAE,OAAO;gBAAEC,EAAE,EAAE,CAAC;gBAAEC,EAAE,EAAE;cAAG,CAAC;YAC7C,CAAC;YACDU,WAAW,EAAE,GAAG;YAChBC,aAAa,EAAE;UACjB;QACF,CAAC,CAAC;QACF;QACAzB,kBAAkB,CAACoB,IAAI,CAAC,oCAAoC,EAAE;UAC5DZ,SAAS;UACTU,KAAK;UACLG,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;IACFK,KAAK,EAAEvB,IAAI,CAACC,EAAE,CAAC,MAAMC,OAAO,CAACC,OAAO,CAAC;MACnCqB,MAAM,EAAE,MAAM;MACdC,QAAQ,EAAE,CAAC;MACXC,QAAQ,EAAE,CAAC;MACXC,QAAQ,EAAE,CAAC;MACXC,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAE;IACZ,CAAC,CAAC,CAAC;IACHC,cAAc,EAAE9B,IAAI,CAACC,EAAE,CAAC,MAAMC,OAAO,CAACC,OAAO,EAAE,CAAC;IAChD4B,kBAAkB,EAAE/B,IAAI,CAACC,EAAE,CAAC,MAAMC,OAAO,CAACC,OAAO,EAAE,CAAC;IAEpD;IACA6B,cAAc,EAAEhC,IAAI,CAACC,EAAE,CAAC,MAAMC,OAAO,CAACC,OAAO,CAAC;MAC5CE,SAAS,EAAE,CAAC;MACZ4B,GAAG,EAAE,KAAK;MACVC,WAAW,EAAE;IACf,CAAC,CAAC,CAAC;IACHC,eAAe,EAAEnC,IAAI,CAACC,EAAE,EAAE,CAACmC,iBAAiB,CAAC,CAC3C;MAAE1B,EAAE,EAAE,GAAG;MAAEC,EAAE,EAAE;IAAI,CAAC,EACpB;MAAED,EAAE,EAAE,GAAG;MAAEC,EAAE,EAAE;IAAI,CAAC,EACpB;MAAED,EAAE,EAAE,GAAG;MAAEC,EAAE,EAAE;IAAI,CAAC,CACrB,CAAC;IACF0B,mBAAmB,EAAErC,IAAI,CAACC,EAAE,EAAE,CAACmC,iBAAiB,CAAC,CAC/C;MAAE1B,EAAE,EAAE,GAAG;MAAEC,EAAE,EAAE;IAAI,CAAC,EACpB;MAAED,EAAE,EAAE,GAAG;MAAEC,EAAE,EAAE;IAAI,CAAC,EACpB;MAAED,EAAE,EAAE,GAAG;MAAEC,EAAE,EAAE;IAAI,CAAC,CACrB,CAAC;IACF2B,iBAAiB,EAAEtC,IAAI,CAACC,EAAE,CAAC,MAAMC,OAAO,CAACC,OAAO,EAAE,CAAC;IACnDoC,qBAAqB,EAAEvC,IAAI,CAACC,EAAE,CAAC,MAAMC,OAAO,CAACC,OAAO,EAAE,CAAC;IAEvD;IACAqC,8BAA8B,EAAExC,IAAI,CAACC,EAAE,CAAC,MAAMC,OAAO,CAACC,OAAO,CAAC;MAC5DsC,QAAQ,EAAE,qCAAqC;MAC/CC,OAAO,EAAE;IACX,CAAC,CAAC,CAAC;IACHC,0BAA0B,EAAE3C,IAAI,CAACC,EAAE,CAAC,MAAMC,OAAO,CAACC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9DyC,uBAAuB,EAAE5C,IAAI,CAACC,EAAE,CAAC,MAAMC,OAAO,CAACC,OAAO,EAAE,CAAC;IACzD0C,mBAAmB,EAAE7C,IAAI,CAACC,EAAE,CAAC,MAAMC,OAAO,CAACC,OAAO,EAAE,CAAC;IACrD2C,qBAAqB,EAAE9C,IAAI,CAACC,EAAE,CAAC,MAAMC,OAAO,CAACC,OAAO,EAAE,CAAC;IAEvD;IACA4C,WAAW,EAAE/C,IAAI,CAACC,EAAE,EAAE;IACtB+C,eAAe,EAAEhD,IAAI,CAACC,EAAE;EAC1B,CAAC;AACH;AAEAgD,MAAM,CAACC,OAAO,GAAGlD,IAAI,CAACmD,aAAa,CAAC,kBAAkB,CAAC"}