react-native-timacare 3.3.28 → 3.3.29

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 (78) hide show
  1. package/lib/commonjs/screens/camera/CCCDCameraScreen.js +1 -1
  2. package/lib/commonjs/screens/camera/CCCDCameraScreen.js.flow +29 -26
  3. package/lib/commonjs/screens/camera/CCCDCameraScreen.js.map +1 -1
  4. package/lib/commonjs/screens/camera/index.js +1 -1
  5. package/lib/commonjs/screens/camera/index.js.flow +34 -48
  6. package/lib/commonjs/screens/camera/index.js.map +1 -1
  7. package/lib/commonjs/screens/home/DigitalTopupItem.js +1 -1
  8. package/lib/commonjs/screens/home/DigitalTopupItem.js.flow +31 -33
  9. package/lib/commonjs/screens/home/DigitalTopupItem.js.map +1 -1
  10. package/lib/commonjs/screens/liveness/index.js +1 -1
  11. package/lib/commonjs/screens/liveness/index.js.flow +43 -54
  12. package/lib/commonjs/screens/liveness/index.js.map +1 -1
  13. package/lib/commonjs/screens/liveness-v2/index.js +1 -1
  14. package/lib/commonjs/screens/liveness-v2/index.js.flow +60 -56
  15. package/lib/commonjs/screens/liveness-v2/index.js.map +1 -1
  16. package/lib/commonjs/screens/mrz-scanner/index.js +1 -1
  17. package/lib/commonjs/screens/mrz-scanner/index.js.flow +25 -10
  18. package/lib/commonjs/screens/mrz-scanner/index.js.map +1 -1
  19. package/lib/commonjs/screens/toan-trinh-so/OCR.js +1 -1
  20. package/lib/commonjs/screens/toan-trinh-so/OCR.js.flow +48 -49
  21. package/lib/commonjs/screens/toan-trinh-so/OCR.js.map +1 -1
  22. package/lib/commonjs/screens/toan-trinh-so/RegisterCamera.js +1 -1
  23. package/lib/commonjs/screens/toan-trinh-so/RegisterCamera.js.flow +32 -33
  24. package/lib/commonjs/screens/toan-trinh-so/RegisterCamera.js.map +1 -1
  25. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js +1 -1
  26. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js.flow +26 -37
  27. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js.map +1 -1
  28. package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js +1 -1
  29. package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js.flow +77 -78
  30. package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js.map +1 -1
  31. package/lib/commonjs/screens/uploadVideo/index.js +1 -1
  32. package/lib/commonjs/screens/uploadVideo/index.js.flow +32 -33
  33. package/lib/commonjs/screens/uploadVideo/index.js.map +1 -1
  34. package/lib/module/screens/camera/CCCDCameraScreen.js +1 -1
  35. package/lib/module/screens/camera/CCCDCameraScreen.js.map +1 -1
  36. package/lib/module/screens/camera/index.js +1 -1
  37. package/lib/module/screens/camera/index.js.map +1 -1
  38. package/lib/module/screens/home/DigitalTopupItem.js +1 -1
  39. package/lib/module/screens/home/DigitalTopupItem.js.map +1 -1
  40. package/lib/module/screens/liveness/index.js +1 -1
  41. package/lib/module/screens/liveness/index.js.map +1 -1
  42. package/lib/module/screens/liveness-v2/index.js +1 -1
  43. package/lib/module/screens/liveness-v2/index.js.map +1 -1
  44. package/lib/module/screens/mrz-scanner/index.js +1 -1
  45. package/lib/module/screens/mrz-scanner/index.js.map +1 -1
  46. package/lib/module/screens/toan-trinh-so/OCR.js +1 -1
  47. package/lib/module/screens/toan-trinh-so/OCR.js.map +1 -1
  48. package/lib/module/screens/toan-trinh-so/RegisterCamera.js +1 -1
  49. package/lib/module/screens/toan-trinh-so/RegisterCamera.js.map +1 -1
  50. package/lib/module/screens/toan-trinh-so/TTSSelfie.js +1 -1
  51. package/lib/module/screens/toan-trinh-so/TTSSelfie.js.map +1 -1
  52. package/lib/module/screens/toan-trinh-so/VehicleCamera.js +1 -1
  53. package/lib/module/screens/toan-trinh-so/VehicleCamera.js.map +1 -1
  54. package/lib/module/screens/uploadVideo/index.js +1 -1
  55. package/lib/module/screens/uploadVideo/index.js.map +1 -1
  56. package/lib/typescript/screens/camera/CCCDCameraScreen.d.ts.map +1 -1
  57. package/lib/typescript/screens/camera/index.d.ts.map +1 -1
  58. package/lib/typescript/screens/home/DigitalTopupItem.d.ts.map +1 -1
  59. package/lib/typescript/screens/liveness/index.d.ts.map +1 -1
  60. package/lib/typescript/screens/liveness-v2/index.d.ts.map +1 -1
  61. package/lib/typescript/screens/mrz-scanner/index.d.ts.map +1 -1
  62. package/lib/typescript/screens/toan-trinh-so/OCR.d.ts.map +1 -1
  63. package/lib/typescript/screens/toan-trinh-so/RegisterCamera.d.ts.map +1 -1
  64. package/lib/typescript/screens/toan-trinh-so/TTSSelfie.d.ts.map +1 -1
  65. package/lib/typescript/screens/toan-trinh-so/VehicleCamera.d.ts.map +1 -1
  66. package/lib/typescript/screens/uploadVideo/index.d.ts.map +1 -1
  67. package/package.json +1 -2
  68. package/src/screens/camera/CCCDCameraScreen.tsx +29 -26
  69. package/src/screens/camera/index.tsx +34 -48
  70. package/src/screens/home/DigitalTopupItem.tsx +31 -33
  71. package/src/screens/liveness/index.tsx +43 -54
  72. package/src/screens/liveness-v2/index.tsx +60 -56
  73. package/src/screens/mrz-scanner/index.tsx +25 -10
  74. package/src/screens/toan-trinh-so/OCR.tsx +48 -49
  75. package/src/screens/toan-trinh-so/RegisterCamera.tsx +32 -33
  76. package/src/screens/toan-trinh-so/TTSSelfie.tsx +26 -37
  77. package/src/screens/toan-trinh-so/VehicleCamera.tsx +77 -78
  78. package/src/screens/uploadVideo/index.tsx +32 -33
@@ -21,7 +21,10 @@ import {
21
21
  RESULTS,
22
22
  openSettings,
23
23
  } from 'react-native-permissions';
24
- import { RNCamera } from 'react-native-camera';
24
+ import {
25
+ Camera as VisionCamera,
26
+ useCameraDevice,
27
+ } from 'react-native-vision-camera';
25
28
  import { IconBackFill, IconEkyc } from '../../assets/icons';
26
29
  import { myLog } from '../../utils/log';
27
30
  import { MText } from '../../components/MText';
@@ -50,6 +53,7 @@ export const LiveNess = observer(function LiveNess(props: any) {
50
53
  const [flash, setFlash] = useState(false);
51
54
  const [front, setFront] = useState(true);
52
55
  const myCamera = useRef(null);
56
+ const device = useCameraDevice(front ? 'front' : 'back');
53
57
  const loan = props.route.params?.loan;
54
58
  const actions = [
55
59
  'Ngẩng mặt lên trong 1 giây',
@@ -195,28 +199,41 @@ export const LiveNess = observer(function LiveNess(props: any) {
195
199
  };
196
200
 
197
201
  const recordVideo = async () => {
198
- if (myCamera) {
202
+ if (myCamera.current) {
199
203
  setRecording(true);
200
- const videoFile =
201
- CachesDirectoryPath + '/' + new Date().getTime() + '.mp4';
202
- const options = {
203
- quality: RNCamera.Constants.VideoQuality['720p'],
204
- maxDuration: 13,
205
- path: videoFile,
206
- /** iOS only */
207
- codec: 'H264',
208
- fps: 30,
209
- };
210
204
  startLiveNess();
211
- const data = await myCamera.current.recordAsync(options);
212
- if (data.uri) {
205
+ const data = await new Promise((resolve, reject) => {
206
+ let stopped = false;
207
+ const timeout = setTimeout(() => {
208
+ if (!stopped) {
209
+ stopped = true;
210
+ myCamera.current?.stopRecording();
211
+ }
212
+ }, 13000);
213
+ myCamera.current.startRecording({
214
+ videoCodec: Platform.OS === 'ios' ? 'h264' : undefined,
215
+ onRecordingFinished: (video) => {
216
+ clearTimeout(timeout);
217
+ resolve(video);
218
+ },
219
+ onRecordingError: (error) => {
220
+ clearTimeout(timeout);
221
+ reject(error);
222
+ },
223
+ });
224
+ });
225
+ if (data.path) {
213
226
  setRecording(false);
214
227
  const newPath =
215
228
  CachesDirectoryPath + '/' + new Date().getTime() + '.mp4';
216
- await RNFS.copyFile(data.uri, newPath).then(() => {
229
+ await RNFS.copyFile(data.path, newPath).then(() => {
217
230
  console.log('Copied to:', newPath);
218
231
  });
219
- captureFromVideo(Platform.OS === 'android' ? data?.uri : newPath);
232
+ captureFromVideo(
233
+ Platform.OS === 'android'
234
+ ? 'file://' + data?.path
235
+ : 'file://' + newPath
236
+ );
220
237
  } else {
221
238
  Alert.alert(
222
239
  'Thông báo',
@@ -341,49 +358,21 @@ export const LiveNess = observer(function LiveNess(props: any) {
341
358
  },
342
359
  ]}
343
360
  >
344
- {passPermission && (
345
- <RNCamera
361
+ {passPermission && device ? (
362
+ <VisionCamera
346
363
  ref={myCamera}
347
- defaultVideoQuality={RNCamera.Constants.VideoQuality['2160p']}
348
364
  style={{
349
365
  width: Dimensions.get('window').width,
350
366
  height: (Dimensions.get('window').width * 4) / 3,
351
367
  }}
352
- type={
353
- front
354
- ? RNCamera.Constants.Type.front
355
- : RNCamera.Constants.Type.back
356
- }
357
- flashMode={
358
- flash
359
- ? RNCamera.Constants.FlashMode.on
360
- : RNCamera.Constants.FlashMode.off
361
- }
362
- androidCameraPermissionOptions={{
363
- title: 'Permission to use camera',
364
- message: 'We need your permission to use your camera',
365
- buttonPositive: 'Ok',
366
- buttonNegative: 'Cancel',
367
- }}
368
- androidRecordAudioPermissionOptions={{
369
- title: 'Permission to use audio recording',
370
- message: 'We need your permission to use your audio',
371
- buttonPositive: 'Ok',
372
- buttonNegative: 'Cancel',
373
- }}
374
- // onGoogleVisionBarcodesDetected={({ barcodes }) => {
375
- // console.log(barcodes);
376
- // }}
377
- // onFacesDetected={handlerFace}
378
- >
379
- {({ camera, status, recordAudioPermissionStatus }) => {
380
- if (status !== 'READY') return <ActivityIndicator />;
381
- else if (status === 'READY' && livenessStore.ready === false) {
382
- // startLiveNess()
383
- console.log(status);
384
- }
385
- }}
386
- </RNCamera>
368
+ device={device}
369
+ isActive={true}
370
+ video={true}
371
+ audio={false}
372
+ torch={flash && device.hasTorch ? 'on' : 'off'}
373
+ />
374
+ ) : (
375
+ <ActivityIndicator />
387
376
  )}
388
377
  </View>
389
378
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_native","_mobxReactLite","_CommonStyles","_MButton","_interopRequireDefault","_theme","_reactNativePermissions","_reactNativeCamera","_icons","_log","_MText","_LivenessStore","_reactNativeFs","_navigation","_reactNativeSlackWebhook","_Loading","_reactNativeCreateThumbnail","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t2","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","webHookURL","LiveNess","exports","observer","props","_props$route$params","_this","navigation","useNavigation","_useState","useState","_useState2","_slicedToArray2","isLoading","setIsLoading","_useState3","_useState4","ekycSuccess","setEkycSuccess","_useState5","_useState6","recording","setRecording","_useState7","_useState8","hintAction","setHintAction","_useState9","_useState0","passPermission","setPassPermission","_useState1","_useState10","flash","setFlash","_useState11","_useState12","front","setFront","myCamera","useRef","loan","route","params","actions","uploadLiveness","_callee","template","_t","_regenerator","async","_context","prev","next","awrap","livenessStore","loanBriefId","id","files","selfie","imgSelfie","Slack","post","JSON","stringify","loanID","eKYC","errorMessage","Alert","alert","text","onPress","setTimeout","myLog","stop","Promise","captureFromVideo","_callee2","videoFile","thumbnails","numFrames","time","result","base64","_context2","cancel","createThumbnail","url","timeStamp","sent","console","log","path","RNFS","readFile","push","startLiveNess","ready","counter","interval","setInterval","Math","round","random","length","clearInterval","handlerFace","event","type","isFace","lastFace","Date","getTime","recordVideo","_callee3","options","data","newPath","_context3","CachesDirectoryPath","quality","RNCamera","Constants","VideoQuality","maxDuration","codec","fps","current","recordAsync","uri","copyFile","then","Platform","OS","requestPermissions","request","PERMISSIONS","IOS","CAMERA","ANDROID","RESULTS","UNAVAILABLE","DENIED","openSettings","LIMITED","GRANTED","BLOCKED","useEffect","intervalFace","createElement","View","style","commonStyles","fill","backgroundColor","pointerEvents","__self","__source","fileName","lineNumber","columnNumber","alignCenter","justifyCenter","position","width","Dimensions","height","ref","defaultVideoQuality","Type","back","flashMode","FlashMode","on","off","androidCameraPermissionOptions","title","message","buttonPositive","buttonNegative","androidRecordAudioPermissionOptions","_ref","camera","status","recordAudioPermissionStatus","ActivityIndicator","SafeAreaView","row","goBack","IconBackFill","MText","textNormalBold","fontSize","textAlign","color","textHint","paddingRight","flex","justifyContent","bottom","textNormal","paddingVertical","lineHeight","fontWeight","paddingHorizontal","borderRadius","borderWidth","borderColor","primary","alignSelf","marginBottom","Modal","visible","animationType","transparent","padding","IconEkyc","marginTop","TouchableOpacity","alignItems","typeLoan","ScreenNames","QuickSubmit","dispatch","CommonActions","reset","index","routes","name","Main"],"sourceRoot":"../../../../src","sources":["screens/liveness/index.tsx"],"mappings":"+UACA,IAAAA,MAAA,CAAAC,uBAAA,CAAAC,OAAA,WACA,IAAAC,YAAA,CAAAD,OAAA,iBAUA,IAAAE,OAAA,CAAAF,OAAA,6BACA,IAAAG,cAAA,CAAAH,OAAA,oBACA,IAAAI,aAAA,CAAAJ,OAAA,oBACA,IAAAK,QAAA,CAAAC,sBAAA,CAAAN,OAAA,8BACA,IAAAO,MAAA,CAAAP,OAAA,gBACA,IAAAQ,uBAAA,CAAAR,OAAA,6BAMA,IAAAS,kBAAA,CAAAT,OAAA,wBACA,IAAAU,MAAA,CAAAV,OAAA,uBACA,IAAAW,IAAA,CAAAX,OAAA,oBACA,IAAAY,MAAA,CAAAZ,OAAA,2BACA,IAAAa,cAAA,CAAAP,sBAAA,CAAAN,OAAA,qBACA,IAAAc,cAAA,CAAAf,uBAAA,CAAAC,OAAA,qBACA,IAAAe,WAAA,CAAAf,OAAA,qBAEA,IAAAgB,wBAAA,CAAAV,sBAAA,CAAAN,OAAA,gCACA,IAAAiB,QAAA,CAAAX,sBAAA,CAAAN,OAAA,8BAEA,IAAAkB,2BAAA,CAAAlB,OAAA,kCAAgE,IAAAmB,YAAA,kFAAApB,wBAAAqB,CAAA,CAAAC,CAAA,wBAAAC,OAAA,KAAAC,CAAA,KAAAD,OAAA,GAAAE,CAAA,KAAAF,OAAA,UAAAvB,uBAAA,UAAAA,wBAAAqB,CAAA,CAAAC,CAAA,MAAAA,CAAA,EAAAD,CAAA,EAAAA,CAAA,CAAAK,UAAA,QAAAL,CAAA,KAAAM,CAAA,CAAAC,CAAA,CAAAC,CAAA,EAAAC,SAAA,MAAAC,OAAA,CAAAV,CAAA,YAAAA,CAAA,mBAAAA,CAAA,qBAAAA,CAAA,QAAAQ,CAAA,IAAAF,CAAA,CAAAL,CAAA,CAAAG,CAAA,CAAAD,CAAA,KAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,SAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,CAAAM,CAAA,EAAAO,GAAA,CAAAb,CAAA,CAAAQ,CAAA,WAAAM,GAAA,IAAAd,CAAA,aAAAc,GAAA,KAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,CAAAc,GAAA,KAAAP,CAAA,EAAAD,CAAA,CAAAW,MAAA,CAAAC,cAAA,GAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,CAAAc,GAAA,KAAAP,CAAA,CAAAK,GAAA,EAAAL,CAAA,CAAAM,GAAA,EAAAP,CAAA,CAAAE,CAAA,CAAAM,GAAA,CAAAP,CAAA,EAAAC,CAAA,CAAAM,GAAA,EAAAd,CAAA,CAAAc,GAAA,UAAAN,CAAA,IAAAR,CAAA,CAAAC,CAAA,GAEhE,GAAM,CAAAmB,UAAU,CACd,mFAAmF,CAE9E,GAAM,CAAAC,QAAQ,CAAAC,OAAA,CAAAD,QAAA,CAAG,GAAAE,uBAAQ,EAAC,QAAS,CAAAF,QAAQA,CAACG,KAAU,CAAE,KAAAC,mBAAA,CAAAC,KAAA,MAC7D,GAAM,CAAAC,UAAU,CAAG,GAAAC,qBAAa,EAAC,CAAC,CAClC,IAAAC,SAAA,CAAkC,GAAAC,eAAQ,EAAC,KAAK,CAAC,CAAAC,UAAA,IAAAC,eAAA,CAAAtB,OAAA,EAAAmB,SAAA,IAA1CI,SAAS,CAAAF,UAAA,IAAEG,YAAY,CAAAH,UAAA,IAC9B,IAAAI,UAAA,CAAsC,GAAAL,eAAQ,EAAC,KAAK,CAAC,CAAAM,UAAA,IAAAJ,eAAA,CAAAtB,OAAA,EAAAyB,UAAA,IAA9CE,WAAW,CAAAD,UAAA,IAAEE,cAAc,CAAAF,UAAA,IAClC,IAAAG,UAAA,CAAkC,GAAAT,eAAQ,EAAC,KAAK,CAAC,CAAAU,UAAA,IAAAR,eAAA,CAAAtB,OAAA,EAAA6B,UAAA,IAA1CE,SAAS,CAAAD,UAAA,IAAEE,YAAY,CAAAF,UAAA,IAC9B,IAAAG,UAAA,CAAoC,GAAAb,eAAQ,EAC1C,+DACF,CAAC,CAAAc,UAAA,IAAAZ,eAAA,CAAAtB,OAAA,EAAAiC,UAAA,IAFME,UAAU,CAAAD,UAAA,IAAEE,aAAa,CAAAF,UAAA,IAIhC,IAAAG,UAAA,CAA4C,GAAAjB,eAAQ,EAAC,KAAK,CAAC,CAAAkB,UAAA,IAAAhB,eAAA,CAAAtB,OAAA,EAAAqC,UAAA,IAApDE,cAAc,CAAAD,UAAA,IAAEE,iBAAiB,CAAAF,UAAA,IACxC,IAAAG,UAAA,CAA0B,GAAArB,eAAQ,EAAC,KAAK,CAAC,CAAAsB,WAAA,IAAApB,eAAA,CAAAtB,OAAA,EAAAyC,UAAA,IAAlCE,KAAK,CAAAD,WAAA,IAAEE,QAAQ,CAAAF,WAAA,IACtB,IAAAG,WAAA,CAA0B,GAAAzB,eAAQ,EAAC,IAAI,CAAC,CAAA0B,WAAA,IAAAxB,eAAA,CAAAtB,OAAA,EAAA6C,WAAA,IAAjCE,KAAK,CAAAD,WAAA,IAAEE,QAAQ,CAAAF,WAAA,IACtB,GAAM,CAAAG,QAAQ,CAAG,GAAAC,aAAM,EAAC,IAAI,CAAC,CAC7B,GAAM,CAAAC,IAAI,EAAApC,mBAAA,CAAGD,KAAK,CAACsC,KAAK,CAACC,MAAM,eAAlBtC,mBAAA,CAAoBoC,IAAI,CACrC,GAAM,CAAAG,OAAO,CAAG,CACd,4BAA4B,CAC5B,2BAA2B,CAC3B,iCAAiC,CACjC,iCAAiC,CACjC,oCAAoC,CACpC,oCAAoC,CACpC,uBAAuB,CACxB,CAED,GAAM,CAAAC,cAAc,CAAG,SAAAC,QAAOC,QAAQ,MAAAC,EAAA,QAAAC,YAAA,CAAA3D,OAAA,CAAA4D,KAAA,UAAAC,QAAA,iBAAAA,QAAA,CAAAC,IAAA,CAAAD,QAAA,CAAAE,IAAA,SAAAF,QAAA,CAAAC,IAAA,EAAAD,CAAA,SAAAE,IAAA,UAAAJ,YAAA,CAAA3D,OAAA,CAAAgE,KAAA,CAU5BC,sBAAa,CAACV,cAAc,CAChC,CACEW,WAAW,CAAEf,IAAI,CAACgB,EAAE,CACpBC,KAAK,CAAEX,QAAQ,CACfY,MAAM,CAAEC,SACV,CAAC,CACD,UAAM,CACJ1C,cAAc,CAAC,IAAI,CAAC,CACpBJ,YAAY,CAAC,KAAK,CAAC,CACnB,GAAI,CACF,GAAI,CAAA+C,gCAAK,CAAC7D,UAAU,CAAC,CAAC8D,IAAI,CACxBC,IAAI,CAACC,SAAS,CAAC,CACbC,MAAM,CAAExB,IAAI,cAAJA,IAAI,CAAEgB,EAAE,CAChBS,IAAI,CAAE,SACR,CAAC,CAAC,CACF,WACF,CAAC,CACH,CAAE,MAAOtF,CAAC,CAAE,CAAC,CAOf,CAAC,CACD,SAACuF,YAAY,CAAK,CAChB,GAAI,CACF,GAAI,CAAAN,gCAAK,CAAC7D,UAAU,CAAC,CAAC8D,IAAI,CACxBC,IAAI,CAACC,SAAS,CAAC,CACbC,MAAM,CAAExB,IAAI,cAAJA,IAAI,CAAEgB,EAAE,CAChBS,IAAI,CAAE,MACR,CAAC,CAAC,CACF,WACF,CAAC,CACH,CAAE,MAAOtF,CAAC,CAAE,CAAC,CACbkC,YAAY,CAAC,KAAK,CAAC,CACnBsD,kBAAK,CAACC,KAAK,CAAC,WAAW,CAAEF,YAAY,CAAE,CACrC,CACEG,IAAI,CAAE,QAAQ,CACdC,OAAO,CAAE,QAAT,CAAAA,OAAOA,CAAA,CAAQ,CACbzC,iBAAiB,CAAC,KAAK,CAAC,CACxB0C,UAAU,CAAC,UAAM,CACf1C,iBAAiB,CAAC,IAAI,CAAC,CACzB,CAAC,CAAE,GAAG,CAAC,CACT,CACF,CAAC,CACF,CAAC,CACJ,CACF,CAAC,SAAAqB,QAAA,CAAAE,IAAA,gBAAAF,QAAA,CAAAC,IAAA,EAAAJ,CAAA,GAAAG,QAAA,aAED,GAAAsB,UAAK,EAAAzB,EAAE,CAAC,CACRlC,YAAY,CAAC,KAAK,CAAC,CAAC,wBAAAqC,QAAA,CAAAuB,IAAA,wBAAAC,OAAA,GAEvB,CAED,GAAM,CAAAC,gBAAgB,CAAG,SAAAC,SAAOC,SAAS,MAAAC,UAAA,CAAAC,SAAA,CAAA7F,CAAA,CAAA8F,IAAA,CAAAC,MAAA,CAAAC,MAAA,QAAAlC,YAAA,CAAA3D,OAAA,CAAA4D,KAAA,UAAAkC,SAAA,iBAAAA,SAAA,CAAAhC,IAAA,CAAAgC,SAAA,CAAA/B,IAAA,YAClCE,sBAAa,CAAC8B,MAAM,EAAAD,SAAA,CAAA/B,IAAA,UACvBvC,YAAY,CAAC,IAAI,CAAC,CAsBZiE,UAAoB,CAAG,EAAE,CACzBC,SAAS,CAAG,EAAE,CACX7F,CAAC,CAAG,CAAC,aAAEA,CAAC,CAAG6F,SAAS,GAAAI,SAAA,CAAA/B,IAAA,UACrB4B,IAAI,CAAG9F,CAAC,CAAG,GAAGiG,CAAA,UAAA/B,IAAA,UAAAJ,YAAA,CAAA3D,OAAA,CAAAgE,KAAA,CACC,GAAAgC,2CAAe,EAAC,CACnCC,GAAG,CAAET,SAAS,CACdU,SAAS,CAAEP,IACb,CAAC,CAAC,SAHIC,MAAM,CAAAE,SAAA,CAAAK,IAAA,CAIZC,OAAO,CAACC,GAAG,iBAAiBV,IAAI,QAAQC,MAAM,CAACU,IAAI,CAAC,CAACR,SAAA,CAAA/B,IAAA,UAAAJ,YAAA,CAAA3D,OAAA,CAAAgE,KAAA,CAChCuC,sBAAI,CAACC,QAAQ,CAACZ,MAAM,CAACU,IAAI,CAAE,QAAQ,CAAC,SAAnDT,MAAM,CAAAC,SAAA,CAAAK,IAAA,CACZV,UAAU,CAACgB,IAAI,CAACZ,MAAM,CAAC,CAAC,OARKhG,CAAC,EAAEiG,CAAA,UAAA/B,IAAA,gBAUlCR,cAAc,CAACkC,UAAU,CAAC,CAAC,wBAAAK,SAAA,CAAAV,IAAA,qBAAAC,OAAA,GAE9B,CAED,GAAM,CAAAqB,aAAa,CAAG,QAAhB,CAAAA,aAAaA,CAAA,CAAS,CAC1BzC,sBAAa,CAAC0C,KAAK,CAAG,IAAI,CAC1B1C,sBAAa,CAAC2C,OAAO,CAAG,CAAC,CACzB3C,sBAAa,CAAC4C,QAAQ,CAAGC,WAAW,CAAC,UAAM,CACzC7C,sBAAa,CAAC2C,OAAO,EAAI,CAAC,CAC1B,GAAI3C,sBAAa,CAAC2C,OAAO,CAAG,EAAE,CAAE,CAC9B,GAAI,CAAC3C,sBAAa,CAAC2C,OAAO,CAAG,CAAC,EAAI,CAAC,GAAK,CAAC,CAAE,CACzCxE,aAAa,CAACkB,OAAO,CAACyD,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,CAAG3D,OAAO,CAAC4D,MAAM,CAAC,CAAC,CAAC,CAClEjD,sBAAa,CAAC9B,UAAU,CACtBmB,OAAO,CAACyD,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,CAAG3D,OAAO,CAAC4D,MAAM,CAAC,CAAC,CACvD,CACF,CAAC,IAAM,CACL9E,aAAa,CAAC,EAAE,CAAC,CACjB6B,sBAAa,CAAC9B,UAAU,CAAG,EAAE,CAC7BgF,aAAa,CAAClD,sBAAa,CAAC4C,QAAQ,CAAC,CACvC,CACA,GAAA1B,UAAK,EAAClB,sBAAa,CAAC2C,OAAO,CAAC,CAC9B,CAAC,CAAE,IAAI,CAAC,CACV,CAAC,CAED,GAAM,CAAAQ,WAAW,CAAG,QAAd,CAAAA,WAAWA,CAAIC,KAAK,CAAK,CAC7B,GAAAlC,UAAK,EAACkC,KAAK,CAAC,CACZ,GAAIA,KAAK,CAACC,IAAI,GAAK,MAAM,CAAE,CACzBrD,sBAAa,CAACsD,MAAM,CAAG,IAAI,CAC3BtD,sBAAa,CAACuD,QAAQ,CAAG,GAAI,CAAAC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAC/C,CACF,CAAC,CAED,GAAM,CAAAC,WAAW,CAAG,SAAAC,SAAA,MAAApC,SAAA,CAAAqC,OAAA,CAAAC,IAAA,CAAAC,OAAA,QAAApE,YAAA,CAAA3D,OAAA,CAAA4D,KAAA,UAAAoE,SAAA,iBAAAA,SAAA,CAAAlE,IAAA,CAAAkE,SAAA,CAAAjE,IAAA,aACdd,QAAQ,EAAA+E,SAAA,CAAAjE,IAAA,UACV/B,YAAY,CAAC,IAAI,CAAC,CACZwD,SAAS,CACbyC,kCAAmB,CAAG,GAAG,CAAG,GAAI,CAAAR,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAAG,MAAM,CACrDG,OAAO,CAAG,CACdK,OAAO,CAAEC,2BAAQ,CAACC,SAAS,CAACC,YAAY,CAAC,MAAM,CAAC,CAChDC,WAAW,CAAE,EAAE,CACfhC,IAAI,CAAEd,SAAS,CAEf+C,KAAK,CAAE,MAAM,CACbC,GAAG,CAAE,EACP,CAAC,CACD9B,aAAa,CAAC,CAAC,CAACsB,SAAA,CAAAjE,IAAA,UAAAJ,YAAA,CAAA3D,OAAA,CAAAgE,KAAA,CACGf,QAAQ,CAACwF,OAAO,CAACC,WAAW,CAACb,OAAO,CAAC,SAAlDC,IAAI,CAAAE,SAAA,CAAA7B,IAAA,KACN2B,IAAI,CAACa,GAAG,EAAAX,SAAA,CAAAjE,IAAA,UACV/B,YAAY,CAAC,KAAK,CAAC,CACb+F,OAAO,CACXE,kCAAmB,CAAG,GAAG,CAAG,GAAI,CAAAR,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAAG,MAAMM,CAAA,UAAAjE,IAAA,UAAAJ,YAAA,CAAA3D,OAAA,CAAAgE,KAAA,CACrDuC,sBAAI,CAACqC,QAAQ,CAACd,IAAI,CAACa,GAAG,CAAEZ,OAAO,CAAC,CAACc,IAAI,CAAC,UAAM,CAChDzC,OAAO,CAACC,GAAG,CAAC,YAAY,CAAE0B,OAAO,CAAC,CACpC,CAAC,CAAC,SACFzC,gBAAgB,CAACwD,qBAAQ,CAACC,EAAE,GAAK,SAAS,CAAGjB,IAAI,cAAJA,IAAI,CAAEa,GAAG,CAAGZ,OAAO,CAAC,CAACC,SAAA,CAAAjE,IAAA,gBAElEe,kBAAK,CAACC,KAAK,CACT,WAAW,CACX,oDACF,CAAC,CAAC,wBAAAiD,SAAA,CAAA5C,IAAA,qBAAAC,OAAA,GAGP,CAED,GAAM,CAAA2D,mBAAkB,CAAG,QAArB,CAAAA,kBAAkBA,CAAA,CAAS,CAC/B,GAAAC,+BAAO,EACLH,qBAAQ,CAACC,EAAE,GAAK,KAAK,CACjBG,mCAAW,CAACC,GAAG,CAACC,MAAM,CACtBF,mCAAW,CAACG,OAAO,CAACD,MAC1B,CAAC,CAACP,IAAI,CAAC,SAACjD,MAAM,CAAK,CACjB,OAAQA,MAAM,EACZ,IAAK,CAAA0D,+BAAO,CAACC,WAAW,CACtBzE,kBAAK,CAACC,KAAK,CACT,WAAW,CACX,2EAA2E,CAC3E,CAAC,CAAEC,IAAI,CAAE,QAAS,CAAC,CACrB,CAAC,CACD,MACF,IAAK,CAAAsE,+BAAO,CAACE,MAAM,CACjBpD,OAAO,CAACC,GAAG,CACT,mEACF,CAAC,CACDvB,kBAAK,CAACC,KAAK,CACT,WAAW,CACX,uEAAuE,CACvE,CACE,CACEC,IAAI,CAAE,QAAQ,CACdC,OAAO,CAAE,QAAT,CAAAA,OAAOA,CAAA,CAAQ,CACb,GAAI6D,qBAAQ,CAACC,EAAE,GAAK,KAAK,CAAE,CACzB,GAAAU,oCAAY,EAAC,CAAC,CAChB,CAAC,IAAM,CACLT,mBAAkB,CAAC,CAAC,CACtB,CACF,CACF,CAAC,CAEL,CAAC,CACD,MACF,IAAK,CAAAM,+BAAO,CAACI,OAAO,CAClBtD,OAAO,CAACC,GAAG,CAAC,sDAAsD,CAAC,CACnEvB,kBAAK,CAACC,KAAK,CACT,WAAW,CACX,8DAA8D,CAC9D,CACE,CACEC,IAAI,CAAE,QAAQ,CACdC,OAAO,CAAE,QAAT,CAAAA,OAAOA,CAAA,CAAQ,CACb,GAAI6D,qBAAQ,CAACC,EAAE,GAAK,KAAK,CAAE,CACzB,GAAAU,oCAAY,EAAC,CAAC,CAChB,CAAC,IAAM,CACLT,mBAAkB,CAAC,CAAC,CACtB,CACF,CACF,CAAC,CAEL,CAAC,CACD,MACF,IAAK,CAAAM,+BAAO,CAACK,OAAO,CAClBvD,OAAO,CAACC,GAAG,CAAC,2BAA2B,CAAC,CACxC7D,iBAAiB,CAAC,IAAI,CAAC,CACvB,MACF,IAAK,CAAA8G,+BAAO,CAACM,OAAO,CAClBxD,OAAO,CAACC,GAAG,CAAC,sDAAsD,CAAC,CACnEvB,kBAAK,CAACC,KAAK,CACT,WAAW,CACX,uEAAuE,CACvE,CACE,CACEC,IAAI,CAAE,QAAQ,CACdC,OAAO,CAAE,QAAT,CAAAA,OAAOA,CAAA,CAAQ,CACb,GAAI6D,qBAAQ,CAACC,EAAE,GAAK,KAAK,CAAE,CACzB,GAAAU,oCAAY,EAAC,CAAC,CAChB,CAAC,IAAM,CACL,GAAAA,oCAAY,EAAC,CAAC,CAChB,CACF,CACF,CAAC,CAEL,CAAC,CACD,MACJ,CACF,CAAC,CAAC,CACJ,CAAC,CAED,GAAAI,gBAAS,EAAC,UAAM,CACd5F,sBAAa,CAAC8B,MAAM,CAAG,KAAK,CAC5BiD,mBAAkB,CAAC,CAAC,CACpB/E,sBAAa,CAAC6F,YAAY,CAAGhD,WAAW,CAAC,UAAM,CAC7C,GAAI,GAAI,CAAAW,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAAGzD,sBAAa,CAACuD,QAAQ,CAAG,IAAI,CAAE,CACxDvD,sBAAa,CAACsD,MAAM,CAAG,KAAK,CAC9B,CACF,CAAC,CAAE,IAAI,CAAC,CACR,MAAO,WAAM,CACXtD,sBAAa,CAAC8B,MAAM,CAAG,IAAI,CAC3BoB,aAAa,CAAClD,sBAAa,CAAC4C,QAAQ,CAAC,CACrCM,aAAa,CAAClD,sBAAa,CAAC6F,YAAY,CAAC,CACzCtI,YAAY,CAAC,KAAK,CAAC,CACrB,CAAC,CACH,CAAC,CAAE,EAAE,CAAC,CAEN,MACE,CAAAxD,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAAC5L,YAAA,CAAA6L,IAAI,EACHC,KAAK,CAAE,CAACC,0BAAY,CAACC,IAAI,CAAE,CAAEC,eAAe,CAAE,OAAQ,CAAC,CAAE,CACzDC,aAAa,CAAE,UAAW,CAAAC,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,KAGxB1M,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAAC5L,YAAA,CAAA6L,IAAI,EACHC,KAAK,CAAE,CACLC,0BAAY,CAACS,WAAW,CACxBT,0BAAY,CAACC,IAAI,CACjBD,0BAAY,CAACU,aAAa,CAC1B,CACEC,QAAQ,CAAE,UAAU,CACpBC,KAAK,CAAEC,uBAAU,CAAC7K,GAAG,CAAC,QAAQ,CAAC,CAAC4K,KAAK,CACrCE,MAAM,CAAED,uBAAU,CAAC7K,GAAG,CAAC,QAAQ,CAAC,CAAC8K,MACnC,CAAC,CACD,CAAAV,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,KAEDnI,cAAc,EACbvE,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAACpL,kBAAA,CAAAwJ,QAAQ,EACP8C,GAAG,CAAEhI,QAAS,CACdiI,mBAAmB,CAAE/C,2BAAQ,CAACC,SAAS,CAACC,YAAY,CAAC,OAAO,CAAE,CAC9D4B,KAAK,CAAE,CACLa,KAAK,CAAEC,uBAAU,CAAC7K,GAAG,CAAC,QAAQ,CAAC,CAAC4K,KAAK,CACrCE,MAAM,CAAGD,uBAAU,CAAC7K,GAAG,CAAC,QAAQ,CAAC,CAAC4K,KAAK,CAAG,CAAC,CAAI,CACjD,CAAE,CACFxD,IAAI,CACFvE,KAAK,CACDoF,2BAAQ,CAACC,SAAS,CAAC+C,IAAI,CAACpI,KAAK,CAC7BoF,2BAAQ,CAACC,SAAS,CAAC+C,IAAI,CAACC,IAC7B,CACDC,SAAS,CACP1I,KAAK,CACDwF,2BAAQ,CAACC,SAAS,CAACkD,SAAS,CAACC,EAAE,CAC/BpD,2BAAQ,CAACC,SAAS,CAACkD,SAAS,CAACE,GAClC,CACDC,8BAA8B,CAAE,CAC9BC,KAAK,CAAE,0BAA0B,CACjCC,OAAO,CAAE,4CAA4C,CACrDC,cAAc,CAAE,IAAI,CACpBC,cAAc,CAAE,QAClB,CAAE,CACFC,mCAAmC,CAAE,CACnCJ,KAAK,CAAE,mCAAmC,CAC1CC,OAAO,CAAE,2CAA2C,CACpDC,cAAc,CAAE,IAAI,CACpBC,cAAc,CAAE,QAClB,CAAE,CAAAvB,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,MAMD,SAAAqB,IAAA,CAAqD,IAAlD,CAAAC,MAAM,CAAAD,IAAA,CAANC,MAAM,CAAEC,MAAM,CAAAF,IAAA,CAANE,MAAM,CAAEC,2BAA2B,CAAAH,IAAA,CAA3BG,2BAA2B,CAC7C,GAAID,MAAM,GAAK,OAAO,CAAE,MAAO,CAAAjO,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAAC5L,YAAA,CAAAgO,iBAAiB,EAAA7B,MAAA,CAAAtJ,KAAA,CAAAuJ,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,KAAE,CAAC,CAAC,IAChD,IAAIuB,MAAM,GAAK,OAAO,EAAIhI,sBAAa,CAAC0C,KAAK,GAAK,KAAK,CAAE,CAE5DP,OAAO,CAACC,GAAG,CAAC4F,MAAM,CAAC,CACrB,CACF,CACQ,CAER,CAAC,CAETjO,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAAC5L,YAAA,CAAAiO,YAAY,EACXnC,KAAK,CAAE,CACLC,0BAAY,CAACC,IAAI,CACjB,CAAEU,QAAQ,CAAE,UAAU,CAAEC,KAAK,CAAE,MAAM,CAAEE,MAAM,CAAE,MAAO,CAAC,CACvD,CAAAV,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,KAEF1M,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAAC5L,YAAA,CAAA6L,IAAI,EAACC,KAAK,CAAE,CAACC,0BAAY,CAACmC,GAAG,CAAEnC,0BAAY,CAACS,WAAW,CAAE,CAAAL,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,KACxD1M,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAACxL,QAAA,CAAAyB,OAAO,EACNiF,OAAO,CAAE,QAAT,CAAAA,OAAOA,CAAA,CAAQ,CACbhE,UAAU,CAACqL,MAAM,CAAC,CAAC,CACrB,CAAE,CACFrC,KAAK,CAAE,CACLC,0BAAY,CAACS,WAAW,CACxBT,0BAAY,CAACU,aAAa,CAC1B,CAAEE,KAAK,CAAE,EAAE,CAAEE,MAAM,CAAE,EAAG,CAAC,CACzB,CAAAV,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,MAEF1M,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAACnL,MAAA,CAAA2N,YAAY,EAACzB,KAAK,CAAC,IAAI,CAACE,MAAM,CAAC,IAAI,CAACb,IAAI,CAAC,OAAO,CAAAG,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,KAAE,CAC5C,CAAC,CAEV1M,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAACjL,MAAA,CAAA0N,KAAK,EACJvC,KAAK,CAAE,CACLC,0BAAY,CAACuC,cAAc,CAC3BvC,0BAAY,CAACC,IAAI,CACjB,CACEuC,QAAQ,CAAE,EAAE,CACZC,SAAS,CAAE,QAAQ,CACnBC,KAAK,CAAEA,YAAK,CAACC,QAAQ,CACrBC,YAAY,CAAE,EAChB,CAAC,CACD,CAAAxC,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,MACH,UAEM,CACH,CAAC,CACP1M,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAAC5L,YAAA,CAAA6L,IAAI,EACHC,KAAK,CAAE,CACL8C,IAAI,CAAE,CAAC,CACPC,cAAc,CAAE,QAAQ,CACxBnC,QAAQ,CAAE,UAAU,CACpBoC,MAAM,CAAE,EAAE,CACVnC,KAAK,CAAE,MACT,CAAE,CAAAR,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,KAED,CAAC3I,SAAS,EACT/D,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAACjL,MAAA,CAAA0N,KAAK,EACJvC,KAAK,CAAE,CACLC,0BAAY,CAACgD,UAAU,CACvB,CACEN,KAAK,CAAE,OAAO,CACdD,SAAS,CAAE,QAAQ,CACnBvC,eAAe,CAAE,WAAW,CAC5B+C,eAAe,CAAE,EACnB,CAAC,CACD,CAAA7C,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,MACH,sEAEM,CACR,CACD1M,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAACjL,MAAA,CAAA0N,KAAK,EACJvC,KAAK,CAAE,CACLmD,UAAU,CAAE,EAAE,CACdV,QAAQ,CAAE,EAAE,CACZC,SAAS,CAAE,QAAQ,CACnBvC,eAAe,CAAE,WAAW,CAC5BwC,KAAK,CAAE,OAAO,CACdS,UAAU,CAAE,MAAM,CAClBF,eAAe,CAAE,EAAE,CACnBG,iBAAiB,CAAE,EACrB,CAAE,CAAAhD,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,MAEDvI,UACI,CAAC,CACP,CAACJ,SAAS,CACT/D,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAACxL,QAAA,CAAAyB,OAAO,EACNiF,OAAO,CAAE,QAAT,CAAAA,OAAOA,CAAA,QAAQ,CAAA0C,WAAW,CAAC,CAAC,EAAC,CAC7BsC,KAAK,CAAE,CACLC,0BAAY,CAACS,WAAW,CACxBT,0BAAY,CAACU,aAAa,CAC1B,CACEmC,IAAI,CAAE,CAAC,CACPQ,YAAY,CAAE,EAAE,CAChBnD,eAAe,CAAE,WAAW,CAC5BoD,WAAW,CAAE,CAAC,CACdC,WAAW,CAAEb,YAAK,CAACc,OAAO,CAC1BJ,iBAAiB,CAAE,EAAE,CACrBK,SAAS,CAAE,QAAQ,CACnBC,YAAY,CAAE,EAChB,CAAC,CACD,CAAAtD,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,MAEF1M,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAACjL,MAAA,CAAA0N,KAAK,EACJvC,KAAK,CAAE,CACL2C,KAAK,CAAE,OAAO,CACdS,UAAU,CAAE,MAAM,CAClBF,eAAe,CAAE,EAAE,CACnBG,iBAAiB,CAAE,EACrB,CAAE,CAAAhD,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,MACH,wBAEM,CACA,CAAC,CAEV1M,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAAC5L,YAAA,CAAA6L,IAAI,EAAAM,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,KAAE,CAEL,CACM,CAAC,CACf1M,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAAC5K,QAAA,CAAAa,OAAO,EAACuB,SAAS,CAAEA,SAAU,CAAA+I,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,IAAE,CAAC,CAEjC1M,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAAC5L,YAAA,CAAA0P,KAAK,EAACC,OAAO,CAAEnM,WAAY,CAACoM,aAAa,CAAE,MAAO,CAACC,WAAW,MAAA1D,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,KAC7D1M,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAAC5L,YAAA,CAAA6L,IAAI,EACHC,KAAK,CAAE,CACLC,0BAAY,CAACS,WAAW,CACxBT,0BAAY,CAACU,aAAa,CAC1B,CAAER,eAAe,CAAE,aAAa,CAAEY,MAAM,CAAE,MAAO,CAAC,CAClD,CAAAV,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,KAEF1M,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAAC5L,YAAA,CAAA6L,IAAI,EACHC,KAAK,CAAE,CACLC,0BAAY,CAACS,WAAW,CACxBT,0BAAY,CAACU,aAAa,CAC1B,CAAER,eAAe,CAAE,OAAO,CAAEmD,YAAY,CAAE,CAAC,CAAEU,OAAO,CAAE,EAAG,CAAC,CAC1D,CAAA3D,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,MAEF1M,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAACnL,MAAA,CAAAsP,QAAQ,EAAA5D,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,KAAE,CAAC,CACZ1M,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAACjL,MAAA,CAAA0N,KAAK,EACJvC,KAAK,CAAE,CACLC,0BAAY,CAACuC,cAAc,CAC3B,CAAE0B,SAAS,CAAE,EAAE,CAAExB,SAAS,CAAE,QAAS,CAAC,CACtC,CAAArC,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,MACH,4EACoC,CAAC,IAAI,CAAC,oCACpC,CAAC,CACR1M,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAAC5L,YAAA,CAAAiQ,gBAAgB,EACfnE,KAAK,CAAE,CACLkE,SAAS,CAAE,EAAE,CACb/D,eAAe,CAAEwC,YAAK,CAACc,OAAO,CAC9B1C,MAAM,CAAE,EAAE,CACVqD,UAAU,CAAE,QAAQ,CACpBd,YAAY,CAAE,EAAE,CAChBzC,KAAK,CAAE,GAAG,CACVkC,cAAc,CAAE,QAClB,CAAE,CACF/H,OAAO,CAAE,QAAT,CAAAA,OAAOA,CAAA,CAAQ,CACbrD,cAAc,CAAC,KAAK,CAAC,CACrB,GAAI,CAAAuB,IAAI,cAAJA,IAAI,CAAEmL,QAAQ,IAAK,CAAC,CAAE,CACxBrN,UAAU,CAACwF,IAAI,CAAC8H,uBAAW,CAACC,WAAW,CAAE,CAAErL,IAAI,CAAJA,IAAK,CAAC,CAAC,CACpD,CAAC,IAAM,CACLlC,UAAU,CAACwN,QAAQ,CACjBC,qBAAa,CAACC,KAAK,CAAC,CAClBC,KAAK,CAAE,CAAC,CACRC,MAAM,CAAE,CAAC,CAAEC,IAAI,CAAEP,uBAAW,CAACQ,IAAK,CAAC,CACrC,CAAC,CACH,CAAC,CACH,CACF,CAAE,CAAAzE,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,MAEF1M,MAAA,CAAAgC,OAAA,CAAA+J,aAAA,CAACjL,MAAA,CAAA0N,KAAK,EAACvC,KAAK,CAAE,CAACC,0BAAY,CAACuC,cAAc,CAAE,CAAEG,KAAK,CAAE,OAAQ,CAAC,CAAE,CAAAtC,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAnL,YAAA,CAAAoL,UAAA,KAAAC,YAAA,MAAC,qBAE1D,CACS,CACd,CACF,CACD,CACH,CAAC,CAEX,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_native","_mobxReactLite","_CommonStyles","_MButton","_interopRequireDefault","_theme","_reactNativePermissions","_reactNativeVisionCamera","_icons","_log","_MText","_LivenessStore","_reactNativeFs","_navigation","_reactNativeSlackWebhook","_Loading","_reactNativeCreateThumbnail","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t2","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","webHookURL","LiveNess","exports","observer","props","_props$route$params","navigation","useNavigation","_useState","useState","_useState2","_slicedToArray2","isLoading","setIsLoading","_useState3","_useState4","ekycSuccess","setEkycSuccess","_useState5","_useState6","recording","setRecording","_useState7","_useState8","hintAction","setHintAction","_useState9","_useState0","passPermission","setPassPermission","_useState1","_useState10","flash","setFlash","_useState11","_useState12","front","setFront","myCamera","useRef","device","useCameraDevice","loan","route","params","actions","uploadLiveness","_callee","template","_t","_regenerator","async","_context","prev","next","awrap","livenessStore","loanBriefId","id","files","selfie","imgSelfie","Slack","post","JSON","stringify","loanID","eKYC","errorMessage","Alert","alert","text","onPress","setTimeout","myLog","stop","Promise","captureFromVideo","_callee2","videoFile","thumbnails","numFrames","time","result","base64","_context2","cancel","createThumbnail","url","timeStamp","sent","console","log","path","RNFS","readFile","push","startLiveNess","ready","counter","interval","setInterval","Math","round","random","length","clearInterval","handlerFace","event","type","isFace","lastFace","Date","getTime","recordVideo","_callee3","data","newPath","_context3","current","resolve","reject","stopped","timeout","_myCamera$current","stopRecording","startRecording","videoCodec","Platform","OS","undefined","onRecordingFinished","video","clearTimeout","onRecordingError","error","CachesDirectoryPath","copyFile","then","requestPermissions","request","PERMISSIONS","IOS","CAMERA","ANDROID","RESULTS","UNAVAILABLE","DENIED","openSettings","LIMITED","GRANTED","BLOCKED","useEffect","intervalFace","createElement","View","style","commonStyles","fill","backgroundColor","pointerEvents","__self","__source","fileName","lineNumber","columnNumber","alignCenter","justifyCenter","position","width","Dimensions","height","Camera","ref","isActive","audio","torch","hasTorch","ActivityIndicator","SafeAreaView","row","goBack","IconBackFill","MText","textNormalBold","fontSize","textAlign","color","textHint","paddingRight","flex","justifyContent","bottom","textNormal","paddingVertical","lineHeight","fontWeight","paddingHorizontal","borderRadius","borderWidth","borderColor","primary","alignSelf","marginBottom","Modal","visible","animationType","transparent","padding","IconEkyc","marginTop","TouchableOpacity","alignItems","typeLoan","ScreenNames","QuickSubmit","dispatch","CommonActions","reset","index","routes","name","Main"],"sourceRoot":"../../../../src","sources":["screens/liveness/index.tsx"],"mappings":"+UACA,IAAAA,MAAA,CAAAC,uBAAA,CAAAC,OAAA,WACA,IAAAC,YAAA,CAAAD,OAAA,iBAUA,IAAAE,OAAA,CAAAF,OAAA,6BACA,IAAAG,cAAA,CAAAH,OAAA,oBACA,IAAAI,aAAA,CAAAJ,OAAA,oBACA,IAAAK,QAAA,CAAAC,sBAAA,CAAAN,OAAA,8BACA,IAAAO,MAAA,CAAAP,OAAA,gBACA,IAAAQ,uBAAA,CAAAR,OAAA,6BAMA,IAAAS,wBAAA,CAAAT,OAAA,+BAIA,IAAAU,MAAA,CAAAV,OAAA,uBACA,IAAAW,IAAA,CAAAX,OAAA,oBACA,IAAAY,MAAA,CAAAZ,OAAA,2BACA,IAAAa,cAAA,CAAAP,sBAAA,CAAAN,OAAA,qBACA,IAAAc,cAAA,CAAAf,uBAAA,CAAAC,OAAA,qBACA,IAAAe,WAAA,CAAAf,OAAA,qBAEA,IAAAgB,wBAAA,CAAAV,sBAAA,CAAAN,OAAA,gCACA,IAAAiB,QAAA,CAAAX,sBAAA,CAAAN,OAAA,8BAEA,IAAAkB,2BAAA,CAAAlB,OAAA,kCAAgE,IAAAmB,YAAA,kFAAApB,wBAAAqB,CAAA,CAAAC,CAAA,wBAAAC,OAAA,KAAAC,CAAA,KAAAD,OAAA,GAAAE,CAAA,KAAAF,OAAA,UAAAvB,uBAAA,UAAAA,wBAAAqB,CAAA,CAAAC,CAAA,MAAAA,CAAA,EAAAD,CAAA,EAAAA,CAAA,CAAAK,UAAA,QAAAL,CAAA,KAAAM,CAAA,CAAAC,CAAA,CAAAC,CAAA,EAAAC,SAAA,MAAAC,OAAA,CAAAV,CAAA,YAAAA,CAAA,mBAAAA,CAAA,qBAAAA,CAAA,QAAAQ,CAAA,IAAAF,CAAA,CAAAL,CAAA,CAAAG,CAAA,CAAAD,CAAA,KAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,SAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,CAAAM,CAAA,EAAAO,GAAA,CAAAb,CAAA,CAAAQ,CAAA,WAAAM,GAAA,IAAAd,CAAA,aAAAc,GAAA,KAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,CAAAc,GAAA,KAAAP,CAAA,EAAAD,CAAA,CAAAW,MAAA,CAAAC,cAAA,GAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,CAAAc,GAAA,KAAAP,CAAA,CAAAK,GAAA,EAAAL,CAAA,CAAAM,GAAA,EAAAP,CAAA,CAAAE,CAAA,CAAAM,GAAA,CAAAP,CAAA,EAAAC,CAAA,CAAAM,GAAA,EAAAd,CAAA,CAAAc,GAAA,UAAAN,CAAA,IAAAR,CAAA,CAAAC,CAAA,GAEhE,GAAM,CAAAmB,UAAU,CACd,mFAAmF,CAE9E,GAAM,CAAAC,QAAQ,CAAAC,OAAA,CAAAD,QAAA,CAAG,GAAAE,uBAAQ,EAAC,QAAS,CAAAF,QAAQA,CAACG,KAAU,CAAE,KAAAC,mBAAA,CAC7D,GAAM,CAAAC,UAAU,CAAG,GAAAC,qBAAa,EAAC,CAAC,CAClC,IAAAC,SAAA,CAAkC,GAAAC,eAAQ,EAAC,KAAK,CAAC,CAAAC,UAAA,IAAAC,eAAA,CAAArB,OAAA,EAAAkB,SAAA,IAA1CI,SAAS,CAAAF,UAAA,IAAEG,YAAY,CAAAH,UAAA,IAC9B,IAAAI,UAAA,CAAsC,GAAAL,eAAQ,EAAC,KAAK,CAAC,CAAAM,UAAA,IAAAJ,eAAA,CAAArB,OAAA,EAAAwB,UAAA,IAA9CE,WAAW,CAAAD,UAAA,IAAEE,cAAc,CAAAF,UAAA,IAClC,IAAAG,UAAA,CAAkC,GAAAT,eAAQ,EAAC,KAAK,CAAC,CAAAU,UAAA,IAAAR,eAAA,CAAArB,OAAA,EAAA4B,UAAA,IAA1CE,SAAS,CAAAD,UAAA,IAAEE,YAAY,CAAAF,UAAA,IAC9B,IAAAG,UAAA,CAAoC,GAAAb,eAAQ,EAC1C,+DACF,CAAC,CAAAc,UAAA,IAAAZ,eAAA,CAAArB,OAAA,EAAAgC,UAAA,IAFME,UAAU,CAAAD,UAAA,IAAEE,aAAa,CAAAF,UAAA,IAIhC,IAAAG,UAAA,CAA4C,GAAAjB,eAAQ,EAAC,KAAK,CAAC,CAAAkB,UAAA,IAAAhB,eAAA,CAAArB,OAAA,EAAAoC,UAAA,IAApDE,cAAc,CAAAD,UAAA,IAAEE,iBAAiB,CAAAF,UAAA,IACxC,IAAAG,UAAA,CAA0B,GAAArB,eAAQ,EAAC,KAAK,CAAC,CAAAsB,WAAA,IAAApB,eAAA,CAAArB,OAAA,EAAAwC,UAAA,IAAlCE,KAAK,CAAAD,WAAA,IAAEE,QAAQ,CAAAF,WAAA,IACtB,IAAAG,WAAA,CAA0B,GAAAzB,eAAQ,EAAC,IAAI,CAAC,CAAA0B,WAAA,IAAAxB,eAAA,CAAArB,OAAA,EAAA4C,WAAA,IAAjCE,KAAK,CAAAD,WAAA,IAAEE,QAAQ,CAAAF,WAAA,IACtB,GAAM,CAAAG,QAAQ,CAAG,GAAAC,aAAM,EAAC,IAAI,CAAC,CAC7B,GAAM,CAAAC,MAAM,CAAG,GAAAC,wCAAe,EAACL,KAAK,CAAG,OAAO,CAAG,MAAM,CAAC,CACxD,GAAM,CAAAM,IAAI,EAAArC,mBAAA,CAAGD,KAAK,CAACuC,KAAK,CAACC,MAAM,eAAlBvC,mBAAA,CAAoBqC,IAAI,CACrC,GAAM,CAAAG,OAAO,CAAG,CACd,4BAA4B,CAC5B,2BAA2B,CAC3B,iCAAiC,CACjC,iCAAiC,CACjC,oCAAoC,CACpC,oCAAoC,CACpC,uBAAuB,CACxB,CAED,GAAM,CAAAC,cAAc,CAAG,SAAAC,QAAOC,QAAQ,MAAAC,EAAA,QAAAC,YAAA,CAAA5D,OAAA,CAAA6D,KAAA,UAAAC,QAAA,iBAAAA,QAAA,CAAAC,IAAA,CAAAD,QAAA,CAAAE,IAAA,SAAAF,QAAA,CAAAC,IAAA,EAAAD,CAAA,SAAAE,IAAA,UAAAJ,YAAA,CAAA5D,OAAA,CAAAiE,KAAA,CAU5BC,sBAAa,CAACV,cAAc,CAChC,CACEW,WAAW,CAAEf,IAAI,CAACgB,EAAE,CACpBC,KAAK,CAAEX,QAAQ,CACfY,MAAM,CAAEC,SACV,CAAC,CACD,UAAM,CACJ5C,cAAc,CAAC,IAAI,CAAC,CACpBJ,YAAY,CAAC,KAAK,CAAC,CACnB,GAAI,CACF,GAAI,CAAAiD,gCAAK,CAAC9D,UAAU,CAAC,CAAC+D,IAAI,CACxBC,IAAI,CAACC,SAAS,CAAC,CACbC,MAAM,CAAExB,IAAI,cAAJA,IAAI,CAAEgB,EAAE,CAChBS,IAAI,CAAE,SACR,CAAC,CAAC,CACF,WACF,CAAC,CACH,CAAE,MAAOvF,CAAC,CAAE,CAAC,CAOf,CAAC,CACD,SAACwF,YAAY,CAAK,CAChB,GAAI,CACF,GAAI,CAAAN,gCAAK,CAAC9D,UAAU,CAAC,CAAC+D,IAAI,CACxBC,IAAI,CAACC,SAAS,CAAC,CACbC,MAAM,CAAExB,IAAI,cAAJA,IAAI,CAAEgB,EAAE,CAChBS,IAAI,CAAE,MACR,CAAC,CAAC,CACF,WACF,CAAC,CACH,CAAE,MAAOvF,CAAC,CAAE,CAAC,CACbiC,YAAY,CAAC,KAAK,CAAC,CACnBwD,kBAAK,CAACC,KAAK,CAAC,WAAW,CAAEF,YAAY,CAAE,CACrC,CACEG,IAAI,CAAE,QAAQ,CACdC,OAAO,CAAE,QAAT,CAAAA,OAAOA,CAAA,CAAQ,CACb3C,iBAAiB,CAAC,KAAK,CAAC,CACxB4C,UAAU,CAAC,UAAM,CACf5C,iBAAiB,CAAC,IAAI,CAAC,CACzB,CAAC,CAAE,GAAG,CAAC,CACT,CACF,CAAC,CACF,CAAC,CACJ,CACF,CAAC,SAAAuB,QAAA,CAAAE,IAAA,gBAAAF,QAAA,CAAAC,IAAA,EAAAJ,CAAA,GAAAG,QAAA,aAED,GAAAsB,UAAK,EAAAzB,EAAE,CAAC,CACRpC,YAAY,CAAC,KAAK,CAAC,CAAC,wBAAAuC,QAAA,CAAAuB,IAAA,wBAAAC,OAAA,GAEvB,CAED,GAAM,CAAAC,gBAAgB,CAAG,SAAAC,SAAOC,SAAS,MAAAC,UAAA,CAAAC,SAAA,CAAA9F,CAAA,CAAA+F,IAAA,CAAAC,MAAA,CAAAC,MAAA,QAAAlC,YAAA,CAAA5D,OAAA,CAAA6D,KAAA,UAAAkC,SAAA,iBAAAA,SAAA,CAAAhC,IAAA,CAAAgC,SAAA,CAAA/B,IAAA,YAClCE,sBAAa,CAAC8B,MAAM,EAAAD,SAAA,CAAA/B,IAAA,UACvBzC,YAAY,CAAC,IAAI,CAAC,CAsBZmE,UAAoB,CAAG,EAAE,CACzBC,SAAS,CAAG,EAAE,CACX9F,CAAC,CAAG,CAAC,aAAEA,CAAC,CAAG8F,SAAS,GAAAI,SAAA,CAAA/B,IAAA,UACrB4B,IAAI,CAAG/F,CAAC,CAAG,GAAGkG,CAAA,UAAA/B,IAAA,UAAAJ,YAAA,CAAA5D,OAAA,CAAAiE,KAAA,CACC,GAAAgC,2CAAe,EAAC,CACnCC,GAAG,CAAET,SAAS,CACdU,SAAS,CAAEP,IACb,CAAC,CAAC,SAHIC,MAAM,CAAAE,SAAA,CAAAK,IAAA,CAIZC,OAAO,CAACC,GAAG,iBAAiBV,IAAI,QAAQC,MAAM,CAACU,IAAI,CAAC,CAACR,SAAA,CAAA/B,IAAA,UAAAJ,YAAA,CAAA5D,OAAA,CAAAiE,KAAA,CAChCuC,sBAAI,CAACC,QAAQ,CAACZ,MAAM,CAACU,IAAI,CAAE,QAAQ,CAAC,SAAnDT,MAAM,CAAAC,SAAA,CAAAK,IAAA,CACZV,UAAU,CAACgB,IAAI,CAACZ,MAAM,CAAC,CAAC,OARKjG,CAAC,EAAEkG,CAAA,UAAA/B,IAAA,gBAUlCR,cAAc,CAACkC,UAAU,CAAC,CAAC,wBAAAK,SAAA,CAAAV,IAAA,qBAAAC,OAAA,GAE9B,CAED,GAAM,CAAAqB,aAAa,CAAG,QAAhB,CAAAA,aAAaA,CAAA,CAAS,CAC1BzC,sBAAa,CAAC0C,KAAK,CAAG,IAAI,CAC1B1C,sBAAa,CAAC2C,OAAO,CAAG,CAAC,CACzB3C,sBAAa,CAAC4C,QAAQ,CAAGC,WAAW,CAAC,UAAM,CACzC7C,sBAAa,CAAC2C,OAAO,EAAI,CAAC,CAC1B,GAAI3C,sBAAa,CAAC2C,OAAO,CAAG,EAAE,CAAE,CAC9B,GAAI,CAAC3C,sBAAa,CAAC2C,OAAO,CAAG,CAAC,EAAI,CAAC,GAAK,CAAC,CAAE,CACzC1E,aAAa,CAACoB,OAAO,CAACyD,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,CAAG3D,OAAO,CAAC4D,MAAM,CAAC,CAAC,CAAC,CAClEjD,sBAAa,CAAChC,UAAU,CACtBqB,OAAO,CAACyD,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,CAAG3D,OAAO,CAAC4D,MAAM,CAAC,CAAC,CACvD,CACF,CAAC,IAAM,CACLhF,aAAa,CAAC,EAAE,CAAC,CACjB+B,sBAAa,CAAChC,UAAU,CAAG,EAAE,CAC7BkF,aAAa,CAAClD,sBAAa,CAAC4C,QAAQ,CAAC,CACvC,CACA,GAAA1B,UAAK,EAAClB,sBAAa,CAAC2C,OAAO,CAAC,CAC9B,CAAC,CAAE,IAAI,CAAC,CACV,CAAC,CAED,GAAM,CAAAQ,WAAW,CAAG,QAAd,CAAAA,WAAWA,CAAIC,KAAK,CAAK,CAC7B,GAAAlC,UAAK,EAACkC,KAAK,CAAC,CACZ,GAAIA,KAAK,CAACC,IAAI,GAAK,MAAM,CAAE,CACzBrD,sBAAa,CAACsD,MAAM,CAAG,IAAI,CAC3BtD,sBAAa,CAACuD,QAAQ,CAAG,GAAI,CAAAC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAC/C,CACF,CAAC,CAED,GAAM,CAAAC,WAAW,CAAG,SAAAC,SAAA,MAAAC,IAAA,CAAAC,OAAA,QAAAnE,YAAA,CAAA5D,OAAA,CAAA6D,KAAA,UAAAmE,SAAA,iBAAAA,SAAA,CAAAjE,IAAA,CAAAiE,SAAA,CAAAhE,IAAA,aACdhB,QAAQ,CAACiF,OAAO,EAAAD,SAAA,CAAAhE,IAAA,UAClBjC,YAAY,CAAC,IAAI,CAAC,CAClB4E,aAAa,CAAC,CAAC,CAACqB,SAAA,CAAAhE,IAAA,UAAAJ,YAAA,CAAA5D,OAAA,CAAAiE,KAAA,CACG,GAAI,CAAAqB,OAAO,CAAC,SAAC4C,OAAO,CAAEC,MAAM,CAAK,CAClD,GAAI,CAAAC,OAAO,CAAG,KAAK,CACnB,GAAM,CAAAC,OAAO,CAAGlD,UAAU,CAAC,UAAM,CAC/B,GAAI,CAACiD,OAAO,CAAE,KAAAE,iBAAA,CACZF,OAAO,CAAG,IAAI,CACd,CAAAE,iBAAA,CAAAtF,QAAQ,CAACiF,OAAO,eAAhBK,iBAAA,CAAkBC,aAAa,CAAC,CAAC,CACnC,CACF,CAAC,CAAE,KAAK,CAAC,CACTvF,QAAQ,CAACiF,OAAO,CAACO,cAAc,CAAC,CAC9BC,UAAU,CAAEC,qBAAQ,CAACC,EAAE,GAAK,KAAK,CAAG,MAAM,CAAGC,SAAS,CACtDC,mBAAmB,CAAE,QAArB,CAAAA,mBAAmBA,CAAGC,KAAK,CAAK,CAC9BC,YAAY,CAACV,OAAO,CAAC,CACrBH,OAAO,CAACY,KAAK,CAAC,CAChB,CAAC,CACDE,gBAAgB,CAAE,QAAlB,CAAAA,gBAAgBA,CAAGC,KAAK,CAAK,CAC3BF,YAAY,CAACV,OAAO,CAAC,CACrBF,MAAM,CAACc,KAAK,CAAC,CACf,CACF,CAAC,CAAC,CACJ,CAAC,CAAC,SAnBInB,IAAI,CAAAE,SAAA,CAAA5B,IAAA,KAoBN0B,IAAI,CAACvB,IAAI,EAAAyB,SAAA,CAAAhE,IAAA,UACXjC,YAAY,CAAC,KAAK,CAAC,CACbgG,OAAO,CACXmB,kCAAmB,CAAG,GAAG,CAAG,GAAI,CAAAxB,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAAG,MAAMK,CAAA,UAAAhE,IAAA,UAAAJ,YAAA,CAAA5D,OAAA,CAAAiE,KAAA,CACrDuC,sBAAI,CAAC2C,QAAQ,CAACrB,IAAI,CAACvB,IAAI,CAAEwB,OAAO,CAAC,CAACqB,IAAI,CAAC,UAAM,CACjD/C,OAAO,CAACC,GAAG,CAAC,YAAY,CAAEyB,OAAO,CAAC,CACpC,CAAC,CAAC,SACFxC,gBAAgB,CACdmD,qBAAQ,CAACC,EAAE,GAAK,SAAS,CACrB,SAAS,EAAGb,IAAI,cAAJA,IAAI,CAAEvB,IAAI,EACtB,SAAS,CAAGwB,OAClB,CAAC,CAACC,SAAA,CAAAhE,IAAA,gBAEFe,kBAAK,CAACC,KAAK,CACT,WAAW,CACX,oDACF,CAAC,CAAC,wBAAAgD,SAAA,CAAA3C,IAAA,qBAAAC,OAAA,GAGP,CAED,GAAM,CAAA+D,mBAAkB,CAAG,QAArB,CAAAA,kBAAkBA,CAAA,CAAS,CAC/B,GAAAC,+BAAO,EACLZ,qBAAQ,CAACC,EAAE,GAAK,KAAK,CACjBY,mCAAW,CAACC,GAAG,CAACC,MAAM,CACtBF,mCAAW,CAACG,OAAO,CAACD,MAC1B,CAAC,CAACL,IAAI,CAAC,SAACvD,MAAM,CAAK,CACjB,OAAQA,MAAM,EACZ,IAAK,CAAA8D,+BAAO,CAACC,WAAW,CACtB7E,kBAAK,CAACC,KAAK,CACT,WAAW,CACX,2EAA2E,CAC3E,CAAC,CAAEC,IAAI,CAAE,QAAS,CAAC,CACrB,CAAC,CACD,MACF,IAAK,CAAA0E,+BAAO,CAACE,MAAM,CACjBxD,OAAO,CAACC,GAAG,CACT,mEACF,CAAC,CACDvB,kBAAK,CAACC,KAAK,CACT,WAAW,CACX,uEAAuE,CACvE,CACE,CACEC,IAAI,CAAE,QAAQ,CACdC,OAAO,CAAE,QAAT,CAAAA,OAAOA,CAAA,CAAQ,CACb,GAAIwD,qBAAQ,CAACC,EAAE,GAAK,KAAK,CAAE,CACzB,GAAAmB,oCAAY,EAAC,CAAC,CAChB,CAAC,IAAM,CACLT,mBAAkB,CAAC,CAAC,CACtB,CACF,CACF,CAAC,CAEL,CAAC,CACD,MACF,IAAK,CAAAM,+BAAO,CAACI,OAAO,CAClB1D,OAAO,CAACC,GAAG,CAAC,sDAAsD,CAAC,CACnEvB,kBAAK,CAACC,KAAK,CACT,WAAW,CACX,8DAA8D,CAC9D,CACE,CACEC,IAAI,CAAE,QAAQ,CACdC,OAAO,CAAE,QAAT,CAAAA,OAAOA,CAAA,CAAQ,CACb,GAAIwD,qBAAQ,CAACC,EAAE,GAAK,KAAK,CAAE,CACzB,GAAAmB,oCAAY,EAAC,CAAC,CAChB,CAAC,IAAM,CACLT,mBAAkB,CAAC,CAAC,CACtB,CACF,CACF,CAAC,CAEL,CAAC,CACD,MACF,IAAK,CAAAM,+BAAO,CAACK,OAAO,CAClB3D,OAAO,CAACC,GAAG,CAAC,2BAA2B,CAAC,CACxC/D,iBAAiB,CAAC,IAAI,CAAC,CACvB,MACF,IAAK,CAAAoH,+BAAO,CAACM,OAAO,CAClB5D,OAAO,CAACC,GAAG,CAAC,sDAAsD,CAAC,CACnEvB,kBAAK,CAACC,KAAK,CACT,WAAW,CACX,uEAAuE,CACvE,CACE,CACEC,IAAI,CAAE,QAAQ,CACdC,OAAO,CAAE,QAAT,CAAAA,OAAOA,CAAA,CAAQ,CACb,GAAIwD,qBAAQ,CAACC,EAAE,GAAK,KAAK,CAAE,CACzB,GAAAmB,oCAAY,EAAC,CAAC,CAChB,CAAC,IAAM,CACL,GAAAA,oCAAY,EAAC,CAAC,CAChB,CACF,CACF,CAAC,CAEL,CAAC,CACD,MACJ,CACF,CAAC,CAAC,CACJ,CAAC,CAED,GAAAI,gBAAS,EAAC,UAAM,CACdhG,sBAAa,CAAC8B,MAAM,CAAG,KAAK,CAC5BqD,mBAAkB,CAAC,CAAC,CACpBnF,sBAAa,CAACiG,YAAY,CAAGpD,WAAW,CAAC,UAAM,CAC7C,GAAI,GAAI,CAAAW,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAAGzD,sBAAa,CAACuD,QAAQ,CAAG,IAAI,CAAE,CACxDvD,sBAAa,CAACsD,MAAM,CAAG,KAAK,CAC9B,CACF,CAAC,CAAE,IAAI,CAAC,CACR,MAAO,WAAM,CACXtD,sBAAa,CAAC8B,MAAM,CAAG,IAAI,CAC3BoB,aAAa,CAAClD,sBAAa,CAAC4C,QAAQ,CAAC,CACrCM,aAAa,CAAClD,sBAAa,CAACiG,YAAY,CAAC,CACzC5I,YAAY,CAAC,KAAK,CAAC,CACrB,CAAC,CACH,CAAC,CAAE,EAAE,CAAC,CAEN,MACE,CAAAvD,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACjM,YAAA,CAAAkM,IAAI,EACHC,KAAK,CAAE,CAACC,0BAAY,CAACC,IAAI,CAAE,CAAEC,eAAe,CAAE,OAAQ,CAAC,CAAE,CACzDC,aAAa,CAAE,UAAW,CAAAC,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,KAGxB/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACjM,YAAA,CAAAkM,IAAI,EACHC,KAAK,CAAE,CACLC,0BAAY,CAACS,WAAW,CACxBT,0BAAY,CAACC,IAAI,CACjBD,0BAAY,CAACU,aAAa,CAC1B,CACEC,QAAQ,CAAE,UAAU,CACpBC,KAAK,CAAEC,uBAAU,CAAClL,GAAG,CAAC,QAAQ,CAAC,CAACiL,KAAK,CACrCE,MAAM,CAAED,uBAAU,CAAClL,GAAG,CAAC,QAAQ,CAAC,CAACmL,MACnC,CAAC,CACD,CAAAV,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,KAEDzI,cAAc,EAAIY,MAAM,CACvBlF,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACzL,wBAAA,CAAA2M,MAAY,EACXC,GAAG,CAAEvI,QAAS,CACdsH,KAAK,CAAE,CACLa,KAAK,CAAEC,uBAAU,CAAClL,GAAG,CAAC,QAAQ,CAAC,CAACiL,KAAK,CACrCE,MAAM,CAAGD,uBAAU,CAAClL,GAAG,CAAC,QAAQ,CAAC,CAACiL,KAAK,CAAG,CAAC,CAAI,CACjD,CAAE,CACFjI,MAAM,CAAEA,MAAO,CACfsI,QAAQ,CAAE,IAAK,CACf1C,KAAK,CAAE,IAAK,CACZ2C,KAAK,CAAE,KAAM,CACbC,KAAK,CAAEhJ,KAAK,EAAIQ,MAAM,CAACyI,QAAQ,CAAG,IAAI,CAAG,KAAM,CAAAhB,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,KAChD,CAAC,CAEF/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACjM,YAAA,CAAAyN,iBAAiB,EAAAjB,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,KAAE,CAElB,CAAC,CAET/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACjM,YAAA,CAAA0N,YAAY,EACXvB,KAAK,CAAE,CACLC,0BAAY,CAACC,IAAI,CACjB,CAAEU,QAAQ,CAAE,UAAU,CAAEC,KAAK,CAAE,MAAM,CAAEE,MAAM,CAAE,MAAO,CAAC,CACvD,CAAAV,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,KAEF/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACjM,YAAA,CAAAkM,IAAI,EAACC,KAAK,CAAE,CAACC,0BAAY,CAACuB,GAAG,CAAEvB,0BAAY,CAACS,WAAW,CAAE,CAAAL,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,KACxD/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAAC7L,QAAA,CAAAyB,OAAO,EACNkF,OAAO,CAAE,QAAT,CAAAA,OAAOA,CAAA,CAAQ,CACblE,UAAU,CAAC+K,MAAM,CAAC,CAAC,CACrB,CAAE,CACFzB,KAAK,CAAE,CACLC,0BAAY,CAACS,WAAW,CACxBT,0BAAY,CAACU,aAAa,CAC1B,CAAEE,KAAK,CAAE,EAAE,CAAEE,MAAM,CAAE,EAAG,CAAC,CACzB,CAAAV,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,MAEF/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACxL,MAAA,CAAAoN,YAAY,EAACb,KAAK,CAAC,IAAI,CAACE,MAAM,CAAC,IAAI,CAACb,IAAI,CAAC,OAAO,CAAAG,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,KAAE,CAC5C,CAAC,CAEV/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACtL,MAAA,CAAAmN,KAAK,EACJ3B,KAAK,CAAE,CACLC,0BAAY,CAAC2B,cAAc,CAC3B3B,0BAAY,CAACC,IAAI,CACjB,CACE2B,QAAQ,CAAE,EAAE,CACZC,SAAS,CAAE,QAAQ,CACnBC,KAAK,CAAEA,YAAK,CAACC,QAAQ,CACrBC,YAAY,CAAE,EAChB,CAAC,CACD,CAAA5B,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,MACH,UAEM,CACH,CAAC,CACP/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACjM,YAAA,CAAAkM,IAAI,EACHC,KAAK,CAAE,CACLkC,IAAI,CAAE,CAAC,CACPC,cAAc,CAAE,QAAQ,CACxBvB,QAAQ,CAAE,UAAU,CACpBwB,MAAM,CAAE,EAAE,CACVvB,KAAK,CAAE,MACT,CAAE,CAAAR,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,KAED,CAACjJ,SAAS,EACT9D,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACtL,MAAA,CAAAmN,KAAK,EACJ3B,KAAK,CAAE,CACLC,0BAAY,CAACoC,UAAU,CACvB,CACEN,KAAK,CAAE,OAAO,CACdD,SAAS,CAAE,QAAQ,CACnB3B,eAAe,CAAE,WAAW,CAC5BmC,eAAe,CAAE,EACnB,CAAC,CACD,CAAAjC,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,MACH,sEAEM,CACR,CACD/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACtL,MAAA,CAAAmN,KAAK,EACJ3B,KAAK,CAAE,CACLuC,UAAU,CAAE,EAAE,CACdV,QAAQ,CAAE,EAAE,CACZC,SAAS,CAAE,QAAQ,CACnB3B,eAAe,CAAE,WAAW,CAC5B4B,KAAK,CAAE,OAAO,CACdS,UAAU,CAAE,MAAM,CAClBF,eAAe,CAAE,EAAE,CACnBG,iBAAiB,CAAE,EACrB,CAAE,CAAApC,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,MAED7I,UACI,CAAC,CACP,CAACJ,SAAS,CACT9D,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAAC7L,QAAA,CAAAyB,OAAO,EACNkF,OAAO,CAAE,QAAT,CAAAA,OAAOA,CAAA,QAAQ,CAAA0C,WAAW,CAAC,CAAC,EAAC,CAC7B0C,KAAK,CAAE,CACLC,0BAAY,CAACS,WAAW,CACxBT,0BAAY,CAACU,aAAa,CAC1B,CACEuB,IAAI,CAAE,CAAC,CACPQ,YAAY,CAAE,EAAE,CAChBvC,eAAe,CAAE,WAAW,CAC5BwC,WAAW,CAAE,CAAC,CACdC,WAAW,CAAEb,YAAK,CAACc,OAAO,CAC1BJ,iBAAiB,CAAE,EAAE,CACrBK,SAAS,CAAE,QAAQ,CACnBC,YAAY,CAAE,EAChB,CAAC,CACD,CAAA1C,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,MAEF/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACtL,MAAA,CAAAmN,KAAK,EACJ3B,KAAK,CAAE,CACL+B,KAAK,CAAE,OAAO,CACdS,UAAU,CAAE,MAAM,CAClBF,eAAe,CAAE,EAAE,CACnBG,iBAAiB,CAAE,EACrB,CAAE,CAAApC,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,MACH,wBAEM,CACA,CAAC,CAEV/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACjM,YAAA,CAAAkM,IAAI,EAAAM,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,KAAE,CAEL,CACM,CAAC,CACf/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACjL,QAAA,CAAAa,OAAO,EAACsB,SAAS,CAAEA,SAAU,CAAAqJ,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,IAAE,CAAC,CAEjC/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACjM,YAAA,CAAAmP,KAAK,EAACC,OAAO,CAAE7L,WAAY,CAAC8L,aAAa,CAAE,MAAO,CAACC,WAAW,MAAA9C,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,KAC7D/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACjM,YAAA,CAAAkM,IAAI,EACHC,KAAK,CAAE,CACLC,0BAAY,CAACS,WAAW,CACxBT,0BAAY,CAACU,aAAa,CAC1B,CAAER,eAAe,CAAE,aAAa,CAAEY,MAAM,CAAE,MAAO,CAAC,CAClD,CAAAV,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,KAEF/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACjM,YAAA,CAAAkM,IAAI,EACHC,KAAK,CAAE,CACLC,0BAAY,CAACS,WAAW,CACxBT,0BAAY,CAACU,aAAa,CAC1B,CAAER,eAAe,CAAE,OAAO,CAAEuC,YAAY,CAAE,CAAC,CAAEU,OAAO,CAAE,EAAG,CAAC,CAC1D,CAAA/C,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,MAEF/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACxL,MAAA,CAAA+O,QAAQ,EAAAhD,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,KAAE,CAAC,CACZ/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACtL,MAAA,CAAAmN,KAAK,EACJ3B,KAAK,CAAE,CACLC,0BAAY,CAAC2B,cAAc,CAC3B,CAAE0B,SAAS,CAAE,EAAE,CAAExB,SAAS,CAAE,QAAS,CAAC,CACtC,CAAAzB,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,MACH,4EACoC,CAAC,IAAI,CAAC,oCACpC,CAAC,CACR/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACjM,YAAA,CAAA0P,gBAAgB,EACfvD,KAAK,CAAE,CACLsD,SAAS,CAAE,EAAE,CACbnD,eAAe,CAAE4B,YAAK,CAACc,OAAO,CAC9B9B,MAAM,CAAE,EAAE,CACVyC,UAAU,CAAE,QAAQ,CACpBd,YAAY,CAAE,EAAE,CAChB7B,KAAK,CAAE,GAAG,CACVsB,cAAc,CAAE,QAClB,CAAE,CACFvH,OAAO,CAAE,QAAT,CAAAA,OAAOA,CAAA,CAAQ,CACbvD,cAAc,CAAC,KAAK,CAAC,CACrB,GAAI,CAAAyB,IAAI,cAAJA,IAAI,CAAE2K,QAAQ,IAAK,CAAC,CAAE,CACxB/M,UAAU,CAAC0F,IAAI,CAACsH,uBAAW,CAACC,WAAW,CAAE,CAAE7K,IAAI,CAAJA,IAAK,CAAC,CAAC,CACpD,CAAC,IAAM,CACLpC,UAAU,CAACkN,QAAQ,CACjBC,qBAAa,CAACC,KAAK,CAAC,CAClBC,KAAK,CAAE,CAAC,CACRC,MAAM,CAAE,CAAC,CAAEC,IAAI,CAAEP,uBAAW,CAACQ,IAAK,CAAC,CACrC,CAAC,CACH,CAAC,CACH,CACF,CAAE,CAAA7D,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,MAEF/M,MAAA,CAAAgC,OAAA,CAAAoK,aAAA,CAACtL,MAAA,CAAAmN,KAAK,EAAC3B,KAAK,CAAE,CAACC,0BAAY,CAAC2B,cAAc,CAAE,CAAEG,KAAK,CAAE,OAAQ,CAAC,CAAE,CAAA1B,MAAA,MAAAC,QAAA,EAAAC,QAAA,CAAAxL,YAAA,CAAAyL,UAAA,KAAAC,YAAA,MAAC,qBAE1D,CACS,CACd,CACF,CACD,CACH,CAAC,CAEX,CAAC,CAAC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.LivenessV2=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _native=require("@react-navigation/native");var _mobxReactLite=require("mobx-react-lite");var _reactNative=require("react-native");var _reactNativeCircularProgressIndicator=_interopRequireDefault(require("react-native-circular-progress-indicator"));var _reactNativeFs=_interopRequireWildcard(require("react-native-fs"));var _reactNativePermissions=require("react-native-permissions");var _icons=require("../../assets/icons");var _MText=require("../../components/MText");var _reactNativeCamera=require("react-native-camera");var _LivenessStore=_interopRequireDefault(require("../liveness/LivenessStore"));var _CommonStyles=require("../CommonStyles");var _navigation=require("../../navigation");var _theme=require("../../theme");var _reactNativeCreateThumbnail=require("react-native-create-thumbnail");var _AppStore=_interopRequireDefault(require("../../AppStore"));var _utils=require("../../utils");var _reactNativeSafeAreaContext=require("react-native-safe-area-context");var _jsxFileName="/Users/tima/Tima/react-native-timacare/src/screens/liveness-v2/index.tsx";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t3 in e)"default"!==_t3&&{}.hasOwnProperty.call(e,_t3)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t3))&&(i.get||i.set)?o(f,_t3,i):f[_t3]=e[_t3]);return f;})(e,t);}var _Dimensions$get=_reactNative.Dimensions.get('window'),windowWidth=_Dimensions$get.width;var PREVIEW_SIZE=320;var PREVIEW_RECT={minX:(windowWidth-PREVIEW_SIZE)/2,minY:240,width:PREVIEW_SIZE,height:PREVIEW_SIZE};var LivenessV2=exports.LivenessV2=(0,_mobxReactLite.observer)(function LivenessV2(props){var _props$route$params,_this=this;var loan=(_props$route$params=props.route.params)==null?void 0:_props$route$params.loan;var insets=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)();var navigation=(0,_native.useNavigation)();var cameraRef=(0,_react.useRef)(null);var interval=(0,_react.useRef)(null);var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),passPermission=_useState2[0],setPassPermission=_useState2[1];var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2.default)(_useState3,2),isLoading=_useState4[0],setIsLoading=_useState4[1];var renderHint=function renderHint(key){switch(key){case'blink':return'Nhắm mắt trong 3 giây';case'right':return'Quay sang phải 3 giây';case'left':return'Quay sang trái 3 giây';case'up':return'Nhìn lên trên 3 giây';case'down':return'Nhìn xuống dưới 3 giây';case'mouth':return'Há miệng trong 3 giây';default:return'';}};var renderImg=function renderImg(key){switch(key){case'blink':return _react.default.createElement(_reactNative.Image,{source:require('../../assets/img/blink.png'),style:{height:24,width:50,resizeMode:'contain',marginTop:40},__self:_this,__source:{fileName:_jsxFileName,lineNumber:77,columnNumber:11}});case'right':return _react.default.createElement(_reactNative.Image,{source:require('../../assets/img/right.png'),style:{height:24,width:50,resizeMode:'contain',marginTop:40},__self:_this,__source:{fileName:_jsxFileName,lineNumber:89,columnNumber:11}});case'left':return _react.default.createElement(_reactNative.Image,{source:require('../../assets/img/left.png'),style:{height:24,width:50,resizeMode:'contain',marginTop:40},__self:_this,__source:{fileName:_jsxFileName,lineNumber:101,columnNumber:11}});case'up':return _react.default.createElement(_reactNative.Image,{source:require('../../assets/img/up.png'),style:{height:24,width:50,resizeMode:'contain',marginTop:40},__self:_this,__source:{fileName:_jsxFileName,lineNumber:113,columnNumber:11}});case'down':return _react.default.createElement(_reactNative.Image,{source:require('../../assets/img/down.png'),style:{height:24,width:50,resizeMode:'contain',marginTop:40},__self:_this,__source:{fileName:_jsxFileName,lineNumber:125,columnNumber:11}});case'mouth':return _react.default.createElement(_reactNative.Image,{source:require('../../assets/img/mouth.png'),style:{height:24,width:50,resizeMode:'contain',marginTop:40},__self:_this,__source:{fileName:_jsxFileName,lineNumber:137,columnNumber:11}});default:return _react.default.createElement(_react.default.Fragment,null);}};var _requestPermissions=function requestPermissions(){(0,_reactNativePermissions.request)(_reactNative.Platform.OS==='ios'?_reactNativePermissions.PERMISSIONS.IOS.CAMERA:_reactNativePermissions.PERMISSIONS.ANDROID.CAMERA).then(function(result){switch(result){case _reactNativePermissions.RESULTS.UNAVAILABLE:console.log('This feature is not available (on this device / in this context)');_reactNative.Alert.alert('Thông báo','Máy ảnh trên thiết bị không tương thích.\nVui lòng kiểm tra lại thiết bị!',[{text:'Đồng ý'}]);break;case _reactNativePermissions.RESULTS.DENIED:console.log('The permission has not been requested / is denied but requestable');_reactNative.Alert.alert('Thông báo','Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',[{text:'Đồng ý',onPress:function onPress(){if(_reactNative.Platform.OS==='ios'){(0,_reactNativePermissions.openSettings)();}else{_requestPermissions();}}}]);break;case _reactNativePermissions.RESULTS.GRANTED:console.log('The permission is granted');setPassPermission(true);break;case _reactNativePermissions.RESULTS.BLOCKED:console.log('The permission is denied and not requestable anymore');_reactNative.Alert.alert('Thông báo','Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',[{text:'Đồng ý',onPress:function onPress(){if(_reactNative.Platform.OS==='ios'){(0,_reactNativePermissions.openSettings)();}else{(0,_reactNativePermissions.openSettings)();}}}]);break;}});};var second=3;var start=function start(){_requestPermissions();_LivenessStore.default.getListAction(function(){if(passPermission){interval.current=setInterval(function(){second--;if(second===0){clearInterval(interval.current);startLiveness();}},1000);}});};var extractFramesFromVideo=function _callee(videoPath){var thumbnails,numFrames,i,time,result,base64,_t;return _regenerator.default.async(function(_context){while(1)switch(_context.prev=_context.next){case 0:_context.prev=0;thumbnails=[];numFrames=3;i=0;case 1:if(!(i<numFrames)){_context.next=5;break;}time=i*300;_context.next=2;return _regenerator.default.awrap((0,_reactNativeCreateThumbnail.createThumbnail)({url:videoPath,timeStamp:time}));case 2:result=_context.sent;console.log("Thumbnail at "+time+"ms: ",result.path);_context.next=3;return _regenerator.default.awrap(_reactNativeFs.default.readFile(result.path,'base64'));case 3:base64=_context.sent;thumbnails.push(base64);case 4:i++;_context.next=1;break;case 5:return _context.abrupt("return",thumbnails);case 6:_context.prev=6;_t=_context["catch"](0);setIsLoading(false);console.log(_t,'LỖI');_reactNative.Alert.alert('Thông báo','Quá trình xử lý hình ảnh thất bại',[{text:'Thử lại',onPress:function onPress(){startLiveness();}}]);case 7:case"end":return _context.stop();}},null,null,[[0,6]],Promise);};(0,_react.useEffect)(function(){start();},[passPermission]);var uploadLiveness=function _callee2(template){var _t2;return _regenerator.default.async(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:setIsLoading(true);_context2.prev=1;if(!((loan==null?void 0:loan.typeLoan)===5||(loan==null?void 0:loan.typeLoan)===6||(loan==null?void 0:loan.typeLoan)===4)){_context2.next=3;break;}_context2.next=2;return _regenerator.default.awrap(_LivenessStore.default.verifyLiveness2(loan==null?void 0:loan.id,template,function(){setTimeout(function(){startLiveness();},2000);setIsLoading(false);},function(){setTimeout(function(){startLiveness();},2000);setIsLoading(false);}));case 2:_context2.next=4;break;case 3:_context2.next=4;return _regenerator.default.awrap(_LivenessStore.default.verifyLiveness(loan==null?void 0:loan.id,template,function(){setTimeout(function(){startLiveness();},2000);setIsLoading(false);},function(){setTimeout(function(){startLiveness();},2000);setIsLoading(false);}));case 4:_context2.next=6;break;case 5:_context2.prev=5;_t2=_context2["catch"](1);setIsLoading(false);console.log(_t2);case 6:case"end":return _context2.stop();}},null,null,[[1,5]],Promise);};var captureFromVideo=function _callee4(uri){var time,template,output;return _regenerator.default.async(function(_context4){while(1)switch(_context4.prev=_context4.next){case 0:try{time=new Date().getTime();template=_reactNativeFs.CachesDirectoryPath+'/'+time;output=template+'_img_%04d.jpg';FFmpegKit.execute("-i "+uri+" -r 2 "+output).then(function _callee3(result){var returnCode;return _regenerator.default.async(function(_context3){while(1)switch(_context3.prev=_context3.next){case 0:console.log("FFmpeg process exited with rc="+result+".");_context3.next=1;return _regenerator.default.awrap(result.getReturnCode());case 1:returnCode=_context3.sent;if(ReturnCode.isSuccess(returnCode)){uploadLiveness(template);}else{setIsLoading(false);_reactNative.Alert.alert('Thông báo','Quá trình xử lý hình ảnh thất bại',[{text:'Thử lại',onPress:function onPress(){startLiveness();}}]);}case 2:case"end":return _context3.stop();}},null,null,null,Promise);});}catch(error){setIsLoading(false);console.log(error);_reactNative.Alert.alert('Thông báo','Quá trình xử lý hình ảnh thất bại',[{text:'Thử lại',onPress:function onPress(){startLiveness();}}]);}case 1:case"end":return _context4.stop();}},null,null,null,Promise);};var startLiveness=function _callee5(){var videoFile,options,data,newPath,thump;return _regenerator.default.async(function(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_LivenessStore.default.ekycSuccess=false;if(!(_LivenessStore.default.listAction.length===0)){_context5.next=1;break;}_LivenessStore.default.ekycSuccess=true;_LivenessStore.default.saveLiveness(loan.id);return _context5.abrupt("return");case 1:if(!cameraRef){_context5.next=6;break;}videoFile=_reactNativeFs.CachesDirectoryPath+'/'+new Date().getTime()+'.mp4';options={quality:_reactNativeCamera.RNCamera.Constants.VideoQuality['720p'],maxDuration:3,path:videoFile,codec:'H264',fps:30};_context5.next=2;return _regenerator.default.awrap(cameraRef.current.recordAsync(options));case 2:data=_context5.sent;if(!data.uri){_context5.next=5;break;}setIsLoading(true);newPath=_reactNativeFs.CachesDirectoryPath+'/'+new Date().getTime()+'.mp4';_context5.next=3;return _regenerator.default.awrap(_reactNativeFs.default.copyFile(data.uri,newPath).then(function(){console.log('Copied to:',newPath);}));case 3:_context5.next=4;return _regenerator.default.awrap(extractFramesFromVideo(_reactNative.Platform.OS==='android'?data.uri:newPath));case 4:thump=_context5.sent;if(thump.length>0){uploadLiveness(thump);}_context5.next=6;break;case 5:_reactNative.Alert.alert('Thông báo','Quá trình xác thực thất bại',[{text:'Thử lại',onPress:function onPress(){startLiveness();}}]);case 6:case"end":return _context5.stop();}},null,null,null,Promise);};(0,_react.useEffect)(function(){var trackingEvent=function _callee6(){return _regenerator.default.async(function(_context6){while(1)switch(_context6.prev=_context6.next){case 0:_context6.next=1;return _regenerator.default.awrap((0,_utils.logEvent)('ekyc_started',{event:'ekyc_started',createdAt:new Date(),deviceId:_AppStore.default.deviceId,loanId:String(loan==null?void 0:loan.id),utmSource:loan==null?void 0:loan.utmSource}));case 1:(0,_utils.logEventFb)('ekyc_started');case 2:case"end":return _context6.stop();}},null,null,null,Promise);};trackingEvent();},[]);return _react.default.createElement(_reactNative.View,{style:styles.container,__self:this,__source:{fileName:_jsxFileName,lineNumber:413,columnNumber:5}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:function onPress(){navigation.goBack();},style:{position:'absolute',left:16,top:insets.top+16,width:40,height:40,zIndex:1000},__self:this,__source:{fileName:_jsxFileName,lineNumber:414,columnNumber:7}},_react.default.createElement(_icons.IconBackWhite,{__self:this,__source:{fileName:_jsxFileName,lineNumber:427,columnNumber:9}})),_react.default.createElement(_reactNative.View,{style:[{top:insets.top+16},styles.topOverlay],__self:this,__source:{fileName:_jsxFileName,lineNumber:429,columnNumber:7}},_react.default.createElement(_MText.MText,{style:{color:'white',fontWeight:'600',fontSize:16},__self:this,__source:{fileName:_jsxFileName,lineNumber:430,columnNumber:9}},"X\xE1c th\u1EF1c khu\xF4n m\u1EB7t"),_react.default.createElement(_mobxReactLite.Observer,{__self:this,__source:{fileName:_jsxFileName,lineNumber:439,columnNumber:9}},function(){return _react.default.createElement(_react.default.Fragment,null,isLoading?_react.default.createElement(_reactNative.View,{style:{marginTop:24},__self:_this,__source:{fileName:_jsxFileName,lineNumber:443,columnNumber:17}},_react.default.createElement(_MText.MText,{style:{textAlign:'center',fontSize:16,color:'white'},__self:_this,__source:{fileName:_jsxFileName,lineNumber:444,columnNumber:19}},"\u0110ang x\xE1c th\u1EF1c"),_react.default.createElement(_reactNative.ActivityIndicator,{size:'large',color:'white',style:{marginTop:8},__self:_this,__source:{fileName:_jsxFileName,lineNumber:453,columnNumber:19}})):_react.default.createElement(_react.default.Fragment,null));})),_react.default.createElement(_reactNative.View,{style:styles.preview,__self:this,__source:{fileName:_jsxFileName,lineNumber:467,columnNumber:7}},_react.default.createElement(_reactNativeCamera.RNCamera,{playSoundOnCapture:false,ref:cameraRef,style:_reactNative.StyleSheet.absoluteFill,captureAudio:false,type:_reactNativeCamera.RNCamera.Constants.Type.front,androidCameraPermissionOptions:{title:'Permission to use camera',message:'We need your permission to use your camera',buttonPositive:'Ok',buttonNegative:'Cancel'},androidRecordAudioPermissionOptions:{title:'Permission to use audio recording',message:'We need your permission to use your audio',buttonPositive:'Ok',buttonNegative:'Cancel'},autoFocus:"on",__self:this,__source:{fileName:_jsxFileName,lineNumber:468,columnNumber:9}},_react.default.createElement(_reactNative.View,{style:{height:'100%',width:'100%',justifyContent:'center',alignItems:'center'},__self:this,__source:{fileName:_jsxFileName,lineNumber:488,columnNumber:11}},renderImg(_LivenessStore.default.hintAction),_react.default.createElement(_MText.MText,{style:{color:'white',fontSize:16,marginTop:8,fontWeight:'400'},__self:this,__source:{fileName:_jsxFileName,lineNumber:497,columnNumber:13}},renderHint(_LivenessStore.default.hintAction))))),_react.default.createElement(_reactNative.View,{style:styles.circularProgress,__self:this,__source:{fileName:_jsxFileName,lineNumber:511,columnNumber:7}},_react.default.createElement(_reactNativeCircularProgressIndicator.default,{value:_LivenessStore.default.listAction.length===3?0:_LivenessStore.default.listAction.length===2?100/3:_LivenessStore.default.listAction.length===1?2/3*100:100,radius:PREVIEW_SIZE/2,inActiveStrokeOpacity:0.5,activeStrokeWidth:13,inActiveStrokeWidth:13,showProgressValue:false,activeStrokeColor:"#F05123",inActiveStrokeColor:"#F05123",duration:800,__self:this,__source:{fileName:_jsxFileName,lineNumber:512,columnNumber:9}})),_react.default.createElement(_mobxReactLite.Observer,{__self:this,__source:{fileName:_jsxFileName,lineNumber:536,columnNumber:7}},function(){return _react.default.createElement(_reactNative.View,{style:styles.bottomOverlay,__self:_this,__source:{fileName:_jsxFileName,lineNumber:538,columnNumber:11}},_react.default.createElement(_MText.MText,{style:styles.instructionText,__self:_this,__source:{fileName:_jsxFileName,lineNumber:539,columnNumber:13}},"Vui l\xF2ng \u0111i\u1EC1u ch\u1EC9nh khu\xF4n m\u1EB7t n\u1EB1m g\u1ECDn trong v\xF2ng tr\xF2n \u1EDF tr\xEAn"));}),_react.default.createElement(_reactNative.Modal,{visible:_LivenessStore.default.ekycSuccess,animationType:'fade',transparent:true,__self:this,__source:{fileName:_jsxFileName,lineNumber:546,columnNumber:7}},_react.default.createElement(_reactNative.View,{style:[_CommonStyles.commonStyles.alignCenter,_CommonStyles.commonStyles.justifyCenter,{backgroundColor:'transparent',height:'100%'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:551,columnNumber:9}},_react.default.createElement(_reactNative.View,{style:[_CommonStyles.commonStyles.alignCenter,_CommonStyles.commonStyles.justifyCenter,{backgroundColor:'white',borderRadius:8,padding:16,marginHorizontal:16}],__self:this,__source:{fileName:_jsxFileName,lineNumber:558,columnNumber:11}},_react.default.createElement(_icons.IconEkyc,{__self:this,__source:{fileName:_jsxFileName,lineNumber:570,columnNumber:13}}),_react.default.createElement(_MText.MText,{style:[_CommonStyles.commonStyles.textNormalBold,{marginTop:16,textAlign:'center'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:571,columnNumber:13}},"Ch\xFAc m\u1EEBng b\u1EA1n \u0111\xE3 th\u1EF1c hi\u1EC7n x\xE1c th\u1EF1c kh\xE1ch h\xE0ng",'\n',"th\xE0nh c\xF4ng."),_react.default.createElement(_reactNative.TouchableOpacity,{style:{marginTop:16,backgroundColor:_theme.color.primary,height:40,alignItems:'center',borderRadius:30,width:150,justifyContent:'center'},onPress:function _callee7(){return _regenerator.default.async(function(_context7){while(1)switch(_context7.prev=_context7.next){case 0:_context7.next=1;return _regenerator.default.awrap((0,_utils.logEvent)('ekyc_completed',{event:'ekyc_completed',createdAt:new Date(),deviceId:_AppStore.default.deviceId,loanId:String(loan==null?void 0:loan.id),utmSource:loan==null?void 0:loan.utmSource}));case 1:(0,_utils.logEventFb)('ekyc_completed');_LivenessStore.default.ekycSuccess=false;if((loan==null?void 0:loan.typeLoan)===5||(loan==null?void 0:loan.typeLoan)===6){navigation.dispatch(_native.CommonActions.reset({index:1,routes:[{name:_navigation.ScreenNames.TTSSignLoan,params:{loan:loan}}]}));}else{navigation.dispatch(_native.CommonActions.reset({index:1,routes:[{name:_navigation.ScreenNames.Main}]}));}case 2:case"end":return _context7.stop();}},null,null,null,Promise);},__self:this,__source:{fileName:_jsxFileName,lineNumber:579,columnNumber:13}},_react.default.createElement(_MText.MText,{style:[_CommonStyles.commonStyles.textNormalBold,{color:'white'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:618,columnNumber:15}},"\u0110\u1ED3ng \xFD"))))));});var styles=_reactNative.StyleSheet.create({instructionText:{color:'white',fontSize:12,textAlign:'center',paddingHorizontal:50,marginTop:16},bottomOverlay:{marginTop:24},maskedView:{flex:1,flexDirection:'row',height:'100%'},maskWrapper:{backgroundColor:'transparent',flex:1,justifyContent:'center',alignItems:'center'},mask:{borderRadius:PREVIEW_SIZE/2,height:PREVIEW_SIZE-10,width:PREVIEW_SIZE-10,marginTop:PREVIEW_RECT.minY,alignSelf:'center'},container:{flex:1,flexDirection:'column',backgroundColor:'#333333'},topOverlay:{position:'absolute',right:0,left:0,justifyContent:'center',alignItems:'center'},captureFrame:{height:_reactNative.Dimensions.get('window').width-50,marginHorizontal:16,marginTop:'50%',borderRadius:50},preview:{width:PREVIEW_SIZE-29,height:PREVIEW_SIZE-28,marginTop:PREVIEW_RECT.minY+14,marginLeft:PREVIEW_RECT.minX+14,borderRadius:PREVIEW_SIZE/2,overflow:'hidden'},circularProgress:{width:PREVIEW_SIZE,height:PREVIEW_SIZE,marginTop:PREVIEW_RECT.minY,marginLeft:PREVIEW_RECT.minX,zIndex:100,position:'absolute',top:0,left:0,right:0}});
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.LivenessV2=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _native=require("@react-navigation/native");var _mobxReactLite=require("mobx-react-lite");var _reactNative=require("react-native");var _reactNativeCircularProgressIndicator=_interopRequireDefault(require("react-native-circular-progress-indicator"));var _reactNativeFs=_interopRequireWildcard(require("react-native-fs"));var _reactNativePermissions=require("react-native-permissions");var _icons=require("../../assets/icons");var _MText=require("../../components/MText");var _reactNativeVisionCamera=require("react-native-vision-camera");var _LivenessStore=_interopRequireDefault(require("../liveness/LivenessStore"));var _CommonStyles=require("../CommonStyles");var _navigation=require("../../navigation");var _theme=require("../../theme");var _reactNativeCreateThumbnail=require("react-native-create-thumbnail");var _AppStore=_interopRequireDefault(require("../../AppStore"));var _utils=require("../../utils");var _reactNativeSafeAreaContext=require("react-native-safe-area-context");var _jsxFileName="/Users/tima/Tima/react-native-timacare/src/screens/liveness-v2/index.tsx";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t3 in e)"default"!==_t3&&{}.hasOwnProperty.call(e,_t3)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t3))&&(i.get||i.set)?o(f,_t3,i):f[_t3]=e[_t3]);return f;})(e,t);}var _Dimensions$get=_reactNative.Dimensions.get('window'),windowWidth=_Dimensions$get.width;var PREVIEW_SIZE=320;var PREVIEW_RECT={minX:(windowWidth-PREVIEW_SIZE)/2,minY:240,width:PREVIEW_SIZE,height:PREVIEW_SIZE};var LivenessV2=exports.LivenessV2=(0,_mobxReactLite.observer)(function LivenessV2(props){var _props$route$params,_this=this;var loan=(_props$route$params=props.route.params)==null?void 0:_props$route$params.loan;var insets=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)();var navigation=(0,_native.useNavigation)();var cameraRef=(0,_react.useRef)(null);var interval=(0,_react.useRef)(null);var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),passPermission=_useState2[0],setPassPermission=_useState2[1];var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2.default)(_useState3,2),isLoading=_useState4[0],setIsLoading=_useState4[1];var device=(0,_reactNativeVisionCamera.useCameraDevice)('front');var renderHint=function renderHint(key){switch(key){case'blink':return'Nhắm mắt trong 3 giây';case'right':return'Quay sang phải 3 giây';case'left':return'Quay sang trái 3 giây';case'up':return'Nhìn lên trên 3 giây';case'down':return'Nhìn xuống dưới 3 giây';case'mouth':return'Há miệng trong 3 giây';default:return'';}};var renderImg=function renderImg(key){switch(key){case'blink':return _react.default.createElement(_reactNative.Image,{source:require('../../assets/img/blink.png'),style:{height:24,width:50,resizeMode:'contain',marginTop:40},__self:_this,__source:{fileName:_jsxFileName,lineNumber:81,columnNumber:11}});case'right':return _react.default.createElement(_reactNative.Image,{source:require('../../assets/img/right.png'),style:{height:24,width:50,resizeMode:'contain',marginTop:40},__self:_this,__source:{fileName:_jsxFileName,lineNumber:93,columnNumber:11}});case'left':return _react.default.createElement(_reactNative.Image,{source:require('../../assets/img/left.png'),style:{height:24,width:50,resizeMode:'contain',marginTop:40},__self:_this,__source:{fileName:_jsxFileName,lineNumber:105,columnNumber:11}});case'up':return _react.default.createElement(_reactNative.Image,{source:require('../../assets/img/up.png'),style:{height:24,width:50,resizeMode:'contain',marginTop:40},__self:_this,__source:{fileName:_jsxFileName,lineNumber:117,columnNumber:11}});case'down':return _react.default.createElement(_reactNative.Image,{source:require('../../assets/img/down.png'),style:{height:24,width:50,resizeMode:'contain',marginTop:40},__self:_this,__source:{fileName:_jsxFileName,lineNumber:129,columnNumber:11}});case'mouth':return _react.default.createElement(_reactNative.Image,{source:require('../../assets/img/mouth.png'),style:{height:24,width:50,resizeMode:'contain',marginTop:40},__self:_this,__source:{fileName:_jsxFileName,lineNumber:141,columnNumber:11}});default:return _react.default.createElement(_react.default.Fragment,null);}};var _requestPermissions=function requestPermissions(){(0,_reactNativePermissions.request)(_reactNative.Platform.OS==='ios'?_reactNativePermissions.PERMISSIONS.IOS.CAMERA:_reactNativePermissions.PERMISSIONS.ANDROID.CAMERA).then(function(result){switch(result){case _reactNativePermissions.RESULTS.UNAVAILABLE:console.log('This feature is not available (on this device / in this context)');_reactNative.Alert.alert('Thông báo','Máy ảnh trên thiết bị không tương thích.\nVui lòng kiểm tra lại thiết bị!',[{text:'Đồng ý'}]);break;case _reactNativePermissions.RESULTS.DENIED:console.log('The permission has not been requested / is denied but requestable');_reactNative.Alert.alert('Thông báo','Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',[{text:'Đồng ý',onPress:function onPress(){if(_reactNative.Platform.OS==='ios'){(0,_reactNativePermissions.openSettings)();}else{_requestPermissions();}}}]);break;case _reactNativePermissions.RESULTS.GRANTED:console.log('The permission is granted');setPassPermission(true);break;case _reactNativePermissions.RESULTS.BLOCKED:console.log('The permission is denied and not requestable anymore');_reactNative.Alert.alert('Thông báo','Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',[{text:'Đồng ý',onPress:function onPress(){if(_reactNative.Platform.OS==='ios'){(0,_reactNativePermissions.openSettings)();}else{(0,_reactNativePermissions.openSettings)();}}}]);break;}});};var second=3;var start=function start(){_requestPermissions();_LivenessStore.default.getListAction(function(){if(passPermission){interval.current=setInterval(function(){second--;if(second===0){clearInterval(interval.current);startLiveness();}},1000);}});};var extractFramesFromVideo=function _callee(videoPath){var thumbnails,numFrames,i,time,result,base64,_t;return _regenerator.default.async(function(_context){while(1)switch(_context.prev=_context.next){case 0:_context.prev=0;thumbnails=[];numFrames=3;i=0;case 1:if(!(i<numFrames)){_context.next=5;break;}time=i*300;_context.next=2;return _regenerator.default.awrap((0,_reactNativeCreateThumbnail.createThumbnail)({url:videoPath,timeStamp:time}));case 2:result=_context.sent;console.log("Thumbnail at "+time+"ms: ",result.path);_context.next=3;return _regenerator.default.awrap(_reactNativeFs.default.readFile(result.path,'base64'));case 3:base64=_context.sent;thumbnails.push(base64);case 4:i++;_context.next=1;break;case 5:return _context.abrupt("return",thumbnails);case 6:_context.prev=6;_t=_context["catch"](0);setIsLoading(false);console.log(_t,'LỖI');_reactNative.Alert.alert('Thông báo','Quá trình xử lý hình ảnh thất bại',[{text:'Thử lại',onPress:function onPress(){startLiveness();}}]);case 7:case"end":return _context.stop();}},null,null,[[0,6]],Promise);};(0,_react.useEffect)(function(){start();},[passPermission]);var uploadLiveness=function _callee2(template){var _t2;return _regenerator.default.async(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:setIsLoading(true);_context2.prev=1;if(!((loan==null?void 0:loan.typeLoan)===5||(loan==null?void 0:loan.typeLoan)===6||(loan==null?void 0:loan.typeLoan)===4)){_context2.next=3;break;}_context2.next=2;return _regenerator.default.awrap(_LivenessStore.default.verifyLiveness2(loan==null?void 0:loan.id,template,function(){setTimeout(function(){startLiveness();},2000);setIsLoading(false);},function(){setTimeout(function(){startLiveness();},2000);setIsLoading(false);}));case 2:_context2.next=4;break;case 3:_context2.next=4;return _regenerator.default.awrap(_LivenessStore.default.verifyLiveness(loan==null?void 0:loan.id,template,function(){setTimeout(function(){startLiveness();},2000);setIsLoading(false);},function(){setTimeout(function(){startLiveness();},2000);setIsLoading(false);}));case 4:_context2.next=6;break;case 5:_context2.prev=5;_t2=_context2["catch"](1);setIsLoading(false);console.log(_t2);case 6:case"end":return _context2.stop();}},null,null,[[1,5]],Promise);};var captureFromVideo=function _callee4(uri){var time,template,output;return _regenerator.default.async(function(_context4){while(1)switch(_context4.prev=_context4.next){case 0:try{time=new Date().getTime();template=_reactNativeFs.CachesDirectoryPath+'/'+time;output=template+'_img_%04d.jpg';FFmpegKit.execute("-i "+uri+" -r 2 "+output).then(function _callee3(result){var returnCode;return _regenerator.default.async(function(_context3){while(1)switch(_context3.prev=_context3.next){case 0:console.log("FFmpeg process exited with rc="+result+".");_context3.next=1;return _regenerator.default.awrap(result.getReturnCode());case 1:returnCode=_context3.sent;if(ReturnCode.isSuccess(returnCode)){uploadLiveness(template);}else{setIsLoading(false);_reactNative.Alert.alert('Thông báo','Quá trình xử lý hình ảnh thất bại',[{text:'Thử lại',onPress:function onPress(){startLiveness();}}]);}case 2:case"end":return _context3.stop();}},null,null,null,Promise);});}catch(error){setIsLoading(false);console.log(error);_reactNative.Alert.alert('Thông báo','Quá trình xử lý hình ảnh thất bại',[{text:'Thử lại',onPress:function onPress(){startLiveness();}}]);}case 1:case"end":return _context4.stop();}},null,null,null,Promise);};var startLiveness=function _callee5(){var data,newPath,thump;return _regenerator.default.async(function(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_LivenessStore.default.ekycSuccess=false;if(!(_LivenessStore.default.listAction.length===0)){_context5.next=1;break;}_LivenessStore.default.ekycSuccess=true;_LivenessStore.default.saveLiveness(loan.id);return _context5.abrupt("return");case 1:if(!cameraRef.current){_context5.next=6;break;}_context5.next=2;return _regenerator.default.awrap(new Promise(function(resolve,reject){var stopped=false;var timeout=setTimeout(function(){if(!stopped){var _cameraRef$current;stopped=true;(_cameraRef$current=cameraRef.current)==null?void 0:_cameraRef$current.stopRecording();}},3000);cameraRef.current.startRecording({videoCodec:_reactNative.Platform.OS==='ios'?'h264':undefined,onRecordingFinished:function onRecordingFinished(video){clearTimeout(timeout);resolve(video);},onRecordingError:function onRecordingError(error){clearTimeout(timeout);reject(error);}});}));case 2:data=_context5.sent;if(!data.path){_context5.next=5;break;}setIsLoading(true);newPath=_reactNativeFs.CachesDirectoryPath+'/'+new Date().getTime()+'.mp4';_context5.next=3;return _regenerator.default.awrap(_reactNativeFs.default.copyFile(data.path,newPath).then(function(){console.log('Copied to:',newPath);}));case 3:_context5.next=4;return _regenerator.default.awrap(extractFramesFromVideo(_reactNative.Platform.OS==='android'?'file://'+data.path:'file://'+newPath));case 4:thump=_context5.sent;if(thump.length>0){uploadLiveness(thump);}_context5.next=6;break;case 5:_reactNative.Alert.alert('Thông báo','Quá trình xác thực thất bại',[{text:'Thử lại',onPress:function onPress(){startLiveness();}}]);case 6:case"end":return _context5.stop();}},null,null,null,Promise);};(0,_react.useEffect)(function(){var trackingEvent=function _callee6(){return _regenerator.default.async(function(_context6){while(1)switch(_context6.prev=_context6.next){case 0:_context6.next=1;return _regenerator.default.awrap((0,_utils.logEvent)('ekyc_started',{event:'ekyc_started',createdAt:new Date(),deviceId:_AppStore.default.deviceId,loanId:String(loan==null?void 0:loan.id),utmSource:loan==null?void 0:loan.utmSource}));case 1:(0,_utils.logEventFb)('ekyc_started');case 2:case"end":return _context6.stop();}},null,null,null,Promise);};trackingEvent();},[]);return _react.default.createElement(_reactNative.View,{style:styles.container,__self:this,__source:{fileName:_jsxFileName,lineNumber:428,columnNumber:5}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:function onPress(){navigation.goBack();},style:{position:'absolute',left:16,top:insets.top+16,width:40,height:40,zIndex:1000},__self:this,__source:{fileName:_jsxFileName,lineNumber:429,columnNumber:7}},_react.default.createElement(_icons.IconBackWhite,{__self:this,__source:{fileName:_jsxFileName,lineNumber:442,columnNumber:9}})),_react.default.createElement(_reactNative.View,{style:[{top:insets.top+16},styles.topOverlay],__self:this,__source:{fileName:_jsxFileName,lineNumber:444,columnNumber:7}},_react.default.createElement(_MText.MText,{style:{color:'white',fontWeight:'600',fontSize:16},__self:this,__source:{fileName:_jsxFileName,lineNumber:445,columnNumber:9}},"X\xE1c th\u1EF1c khu\xF4n m\u1EB7t"),_react.default.createElement(_mobxReactLite.Observer,{__self:this,__source:{fileName:_jsxFileName,lineNumber:454,columnNumber:9}},function(){return _react.default.createElement(_react.default.Fragment,null,isLoading?_react.default.createElement(_reactNative.View,{style:{marginTop:24},__self:_this,__source:{fileName:_jsxFileName,lineNumber:458,columnNumber:17}},_react.default.createElement(_MText.MText,{style:{textAlign:'center',fontSize:16,color:'white'},__self:_this,__source:{fileName:_jsxFileName,lineNumber:459,columnNumber:19}},"\u0110ang x\xE1c th\u1EF1c"),_react.default.createElement(_reactNative.ActivityIndicator,{size:'large',color:'white',style:{marginTop:8},__self:_this,__source:{fileName:_jsxFileName,lineNumber:468,columnNumber:19}})):_react.default.createElement(_react.default.Fragment,null));})),_react.default.createElement(_reactNative.View,{style:styles.preview,__self:this,__source:{fileName:_jsxFileName,lineNumber:482,columnNumber:7}},passPermission&&device?_react.default.createElement(_reactNativeVisionCamera.Camera,{ref:cameraRef,style:_reactNative.StyleSheet.absoluteFill,device:device,isActive:true,video:true,audio:false,__self:this,__source:{fileName:_jsxFileName,lineNumber:484,columnNumber:11}}):null,_react.default.createElement(_reactNative.View,{style:{height:'100%',width:'100%',justifyContent:'center',alignItems:'center'},__self:this,__source:{fileName:_jsxFileName,lineNumber:493,columnNumber:9}},renderImg(_LivenessStore.default.hintAction),_react.default.createElement(_MText.MText,{style:{color:'white',fontSize:16,marginTop:8,fontWeight:'400'},__self:this,__source:{fileName:_jsxFileName,lineNumber:502,columnNumber:11}},renderHint(_LivenessStore.default.hintAction)))),_react.default.createElement(_reactNative.View,{style:styles.circularProgress,__self:this,__source:{fileName:_jsxFileName,lineNumber:515,columnNumber:7}},_react.default.createElement(_reactNativeCircularProgressIndicator.default,{value:_LivenessStore.default.listAction.length===3?0:_LivenessStore.default.listAction.length===2?100/3:_LivenessStore.default.listAction.length===1?2/3*100:100,radius:PREVIEW_SIZE/2,inActiveStrokeOpacity:0.5,activeStrokeWidth:13,inActiveStrokeWidth:13,showProgressValue:false,activeStrokeColor:"#F05123",inActiveStrokeColor:"#F05123",duration:800,__self:this,__source:{fileName:_jsxFileName,lineNumber:516,columnNumber:9}})),_react.default.createElement(_mobxReactLite.Observer,{__self:this,__source:{fileName:_jsxFileName,lineNumber:540,columnNumber:7}},function(){return _react.default.createElement(_reactNative.View,{style:styles.bottomOverlay,__self:_this,__source:{fileName:_jsxFileName,lineNumber:542,columnNumber:11}},_react.default.createElement(_MText.MText,{style:styles.instructionText,__self:_this,__source:{fileName:_jsxFileName,lineNumber:543,columnNumber:13}},"Vui l\xF2ng \u0111i\u1EC1u ch\u1EC9nh khu\xF4n m\u1EB7t n\u1EB1m g\u1ECDn trong v\xF2ng tr\xF2n \u1EDF tr\xEAn"));}),_react.default.createElement(_reactNative.Modal,{visible:_LivenessStore.default.ekycSuccess,animationType:'fade',transparent:true,__self:this,__source:{fileName:_jsxFileName,lineNumber:550,columnNumber:7}},_react.default.createElement(_reactNative.View,{style:[_CommonStyles.commonStyles.alignCenter,_CommonStyles.commonStyles.justifyCenter,{backgroundColor:'transparent',height:'100%'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:555,columnNumber:9}},_react.default.createElement(_reactNative.View,{style:[_CommonStyles.commonStyles.alignCenter,_CommonStyles.commonStyles.justifyCenter,{backgroundColor:'white',borderRadius:8,padding:16,marginHorizontal:16}],__self:this,__source:{fileName:_jsxFileName,lineNumber:562,columnNumber:11}},_react.default.createElement(_icons.IconEkyc,{__self:this,__source:{fileName:_jsxFileName,lineNumber:574,columnNumber:13}}),_react.default.createElement(_MText.MText,{style:[_CommonStyles.commonStyles.textNormalBold,{marginTop:16,textAlign:'center'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:575,columnNumber:13}},"Ch\xFAc m\u1EEBng b\u1EA1n \u0111\xE3 th\u1EF1c hi\u1EC7n x\xE1c th\u1EF1c kh\xE1ch h\xE0ng",'\n',"th\xE0nh c\xF4ng."),_react.default.createElement(_reactNative.TouchableOpacity,{style:{marginTop:16,backgroundColor:_theme.color.primary,height:40,alignItems:'center',borderRadius:30,width:150,justifyContent:'center'},onPress:function _callee7(){return _regenerator.default.async(function(_context7){while(1)switch(_context7.prev=_context7.next){case 0:_context7.next=1;return _regenerator.default.awrap((0,_utils.logEvent)('ekyc_completed',{event:'ekyc_completed',createdAt:new Date(),deviceId:_AppStore.default.deviceId,loanId:String(loan==null?void 0:loan.id),utmSource:loan==null?void 0:loan.utmSource}));case 1:(0,_utils.logEventFb)('ekyc_completed');_LivenessStore.default.ekycSuccess=false;if((loan==null?void 0:loan.typeLoan)===5||(loan==null?void 0:loan.typeLoan)===6){navigation.dispatch(_native.CommonActions.reset({index:1,routes:[{name:_navigation.ScreenNames.TTSSignLoan,params:{loan:loan}}]}));}else{navigation.dispatch(_native.CommonActions.reset({index:1,routes:[{name:_navigation.ScreenNames.Main}]}));}case 2:case"end":return _context7.stop();}},null,null,null,Promise);},__self:this,__source:{fileName:_jsxFileName,lineNumber:583,columnNumber:13}},_react.default.createElement(_MText.MText,{style:[_CommonStyles.commonStyles.textNormalBold,{color:'white'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:622,columnNumber:15}},"\u0110\u1ED3ng \xFD"))))));});var styles=_reactNative.StyleSheet.create({instructionText:{color:'white',fontSize:12,textAlign:'center',paddingHorizontal:50,marginTop:16},bottomOverlay:{marginTop:24},maskedView:{flex:1,flexDirection:'row',height:'100%'},maskWrapper:{backgroundColor:'transparent',flex:1,justifyContent:'center',alignItems:'center'},mask:{borderRadius:PREVIEW_SIZE/2,height:PREVIEW_SIZE-10,width:PREVIEW_SIZE-10,marginTop:PREVIEW_RECT.minY,alignSelf:'center'},container:{flex:1,flexDirection:'column',backgroundColor:'#333333'},topOverlay:{position:'absolute',right:0,left:0,justifyContent:'center',alignItems:'center'},captureFrame:{height:_reactNative.Dimensions.get('window').width-50,marginHorizontal:16,marginTop:'50%',borderRadius:50},preview:{width:PREVIEW_SIZE-29,height:PREVIEW_SIZE-28,marginTop:PREVIEW_RECT.minY+14,marginLeft:PREVIEW_RECT.minX+14,borderRadius:PREVIEW_SIZE/2,overflow:'hidden'},circularProgress:{width:PREVIEW_SIZE,height:PREVIEW_SIZE,marginTop:PREVIEW_RECT.minY,marginLeft:PREVIEW_RECT.minX,zIndex:100,position:'absolute',top:0,left:0,right:0}});
2
2
  //# sourceMappingURL=index.js.map
@@ -24,7 +24,10 @@ import {
24
24
  import DeviceInfo from 'react-native-device-info';
25
25
  import { IconBackWhite, IconEkyc } from '../../assets/icons';
26
26
  import { MText } from '../../components/MText';
27
- import { RNCamera } from 'react-native-camera';
27
+ import {
28
+ Camera as VisionCamera,
29
+ useCameraDevice,
30
+ } from 'react-native-vision-camera';
28
31
  import livenessStore from '../liveness/LivenessStore';
29
32
  import { commonStyles } from '../CommonStyles';
30
33
  import { ScreenNames } from '../../navigation';
@@ -51,6 +54,7 @@ export const LivenessV2 = observer(function LivenessV2(props: any) {
51
54
  const interval = useRef<any>(null);
52
55
  const [passPermission, setPassPermission] = useState(false);
53
56
  const [isLoading, setIsLoading] = useState(false);
57
+ const device = useCameraDevice('front');
54
58
 
55
59
  const renderHint = (key: string) => {
56
60
  switch (key) {
@@ -356,28 +360,39 @@ export const LivenessV2 = observer(function LivenessV2(props: any) {
356
360
  livenessStore.saveLiveness(loan.id);
357
361
  return;
358
362
  }
359
- if (cameraRef) {
360
- const videoFile =
361
- CachesDirectoryPath + '/' + new Date().getTime() + '.mp4';
362
- const options = {
363
- quality: RNCamera.Constants.VideoQuality['720p'],
364
- maxDuration: 3,
365
- path: videoFile,
366
- /** iOS only */
367
- codec: 'H264',
368
- fps: 30,
369
- };
370
- const data = await cameraRef.current.recordAsync(options);
371
- if (data.uri) {
363
+ if (cameraRef.current) {
364
+ const data = await new Promise((resolve, reject) => {
365
+ let stopped = false;
366
+ const timeout = setTimeout(() => {
367
+ if (!stopped) {
368
+ stopped = true;
369
+ cameraRef.current?.stopRecording();
370
+ }
371
+ }, 3000);
372
+ cameraRef.current.startRecording({
373
+ videoCodec: Platform.OS === 'ios' ? 'h264' : undefined,
374
+ onRecordingFinished: (video) => {
375
+ clearTimeout(timeout);
376
+ resolve(video);
377
+ },
378
+ onRecordingError: (error) => {
379
+ clearTimeout(timeout);
380
+ reject(error);
381
+ },
382
+ });
383
+ });
384
+ if (data.path) {
372
385
  setIsLoading(true);
373
386
  // captureFromVideo(data.uri);
374
387
  const newPath =
375
388
  CachesDirectoryPath + '/' + new Date().getTime() + '.mp4';
376
- await RNFS.copyFile(data.uri, newPath).then(() => {
389
+ await RNFS.copyFile(data.path, newPath).then(() => {
377
390
  console.log('Copied to:', newPath);
378
391
  });
379
392
  const thump = await extractFramesFromVideo(
380
- Platform.OS === 'android' ? data.uri : newPath
393
+ Platform.OS === 'android'
394
+ ? 'file://' + data.path
395
+ : 'file://' + newPath
381
396
  );
382
397
  if (thump.length > 0) {
383
398
  uploadLiveness(thump);
@@ -465,47 +480,36 @@ export const LivenessV2 = observer(function LivenessV2(props: any) {
465
480
  </View>
466
481
 
467
482
  <View style={styles.preview}>
468
- <RNCamera
469
- playSoundOnCapture={false}
470
- ref={cameraRef}
471
- style={StyleSheet.absoluteFill}
472
- captureAudio={false}
473
- type={RNCamera.Constants.Type.front}
474
- androidCameraPermissionOptions={{
475
- title: 'Permission to use camera',
476
- message: 'We need your permission to use your camera',
477
- buttonPositive: 'Ok',
478
- buttonNegative: 'Cancel',
479
- }}
480
- androidRecordAudioPermissionOptions={{
481
- title: 'Permission to use audio recording',
482
- message: 'We need your permission to use your audio',
483
- buttonPositive: 'Ok',
484
- buttonNegative: 'Cancel',
483
+ {passPermission && device ? (
484
+ <VisionCamera
485
+ ref={cameraRef}
486
+ style={StyleSheet.absoluteFill}
487
+ device={device}
488
+ isActive={true}
489
+ video={true}
490
+ audio={false}
491
+ />
492
+ ) : null}
493
+ <View
494
+ style={{
495
+ height: '100%',
496
+ width: '100%',
497
+ justifyContent: 'center',
498
+ alignItems: 'center',
485
499
  }}
486
- autoFocus="on"
487
500
  >
488
- <View
501
+ {renderImg(livenessStore.hintAction)}
502
+ <MText
489
503
  style={{
490
- height: '100%',
491
- width: '100%',
492
- justifyContent: 'center',
493
- alignItems: 'center',
504
+ color: 'white',
505
+ fontSize: 16,
506
+ marginTop: 8,
507
+ fontWeight: '400',
494
508
  }}
495
509
  >
496
- {renderImg(livenessStore.hintAction)}
497
- <MText
498
- style={{
499
- color: 'white',
500
- fontSize: 16,
501
- marginTop: 8,
502
- fontWeight: '400',
503
- }}
504
- >
505
- {renderHint(livenessStore.hintAction)}
506
- </MText>
507
- </View>
508
- </RNCamera>
510
+ {renderHint(livenessStore.hintAction)}
511
+ </MText>
512
+ </View>
509
513
  </View>
510
514
 
511
515
  <View style={styles.circularProgress}>
@@ -518,10 +522,10 @@ export const LivenessV2 = observer(function LivenessV2(props: any) {
518
522
  livenessStore.listAction.length === 3
519
523
  ? 0
520
524
  : livenessStore.listAction.length === 2
521
- ? 100 / 3
522
- : livenessStore.listAction.length === 1
523
- ? (2 / 3) * 100
524
- : 100
525
+ ? 100 / 3
526
+ : livenessStore.listAction.length === 1
527
+ ? (2 / 3) * 100
528
+ : 100
525
529
  }
526
530
  radius={PREVIEW_SIZE / 2}
527
531
  inActiveStrokeOpacity={0.5}