Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@id3/face-pad

Package Overview
Dependencies
Maintainers
3
Versions
55
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@id3/face-pad - npm Package Compare versions

Comparing version 1.4.9 to 1.5.3

esm2015/lib/model/parameters.js

2

bundles/id3-face-pad.umd.min.js

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common/http"),require("facedetector"),require("@angular/common"),require("@angular/platform-browser")):"function"==typeof define&&define.amd?define("@id3/face-pad",["exports","@angular/core","@angular/common/http","facedetector","@angular/common","@angular/platform-browser"],t):t(((e=e||self).id3=e.id3||{},e.id3["face-pad"]={}),e.ng.core,e.ng.common.http,e.FaceDetector,e.ng.common,e.ng.platformBrowser)}(this,function(e,t,a,n,r,i){"use strict";function s(e,t,a,n){return new(a||(a=Promise))(function(r,i){function s(e){try{c(n.next(e))}catch(t){i(t)}}function o(e){try{c(n["throw"](e))}catch(t){i(t)}}function c(e){e.done?r(e.value):new a(function(t){t(e.value)}).then(s,o)}c((n=n.apply(e,t||[])).next())})}function o(e,t){var a,n,r,i,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:o(0),"throw":o(1),"return":o(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(a)throw new TypeError("Generator is already executing.");for(;s;)try{if(a=1,n&&(r=2&i[0]?n["return"]:i[0]?n["throw"]||((r=n["return"])&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,n=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(r=(r=s.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){s=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){s.label=i[1];break}if(6===i[0]&&s.label<r[1]){s.label=r[1],r=i;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(i);break}r[2]&&s.ops.pop(),s.trys.pop();continue}i=t.call(e,s)}catch(o){i=[6,o],n=0}finally{a=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,o])}}}var c=function(){function e(){}return e.prototype.connect=function(e,t){var a=this;return new Promise(function(n,r){a.ws=new WebSocket(e+"/pad/session"),a.ws.onopen=function(){console.log("Info: Connection PAD Established."),n(!0)},a.ws.onmessage=t,a.ws.onclose=function(e){console.log("Info: Closing PAD Connection."),r(!1)}})},e.prototype.disconnect=function(){null!=this.ws&&(this.ws.close(),this.ws=null)},e.prototype.isConnected=function(){return null!=this.ws&&this.ws.readyState===this.ws.OPEN},e.prototype.sendMessage=function(e){null!=this.ws?this.ws.bufferedAmount>2e5?console.log("Image not sent : Web socket buffer is too big. We have to wait the previous messages to be send before sending a new message."):this.ws.send(JSON.stringify(e)):console.warn("connection to web socket not established, please connect.")},e.prototype.waitForSocketConnection=function(e,t){var a=this;setTimeout(function(){1===e.readyState?(console.log("Connection is made"),null!=t&&t()):(console.log("wait for connection..."),a.waitForSocketConnection(e,t))},5)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),p={REQUEST_PERMISSIONS:0,INITIAL:1,STARTED:2,PROCESS:3,SUCCESS:4,ERROR_KEY:5,ERROR_SESSION:6,ERROR_NO_FACE:7,ERROR_MULTIPLE_FACE:8,MATCH_READY:9,MATCH_SUCCESS:10,MATCH_ERROR:11};p[p.REQUEST_PERMISSIONS]="REQUEST_PERMISSIONS",p[p.INITIAL]="INITIAL",p[p.STARTED]="STARTED",p[p.PROCESS]="PROCESS",p[p.SUCCESS]="SUCCESS",p[p.ERROR_KEY]="ERROR_KEY",p[p.ERROR_SESSION]="ERROR_SESSION",p[p.ERROR_NO_FACE]="ERROR_NO_FACE",p[p.ERROR_MULTIPLE_FACE]="ERROR_MULTIPLE_FACE",p[p.MATCH_READY]="MATCH_READY",p[p.MATCH_SUCCESS]="MATCH_SUCCESS",p[p.MATCH_ERROR]="MATCH_ERROR";var l=function(){function e(){}return e.messages=new Map([["START_TIPS_LABEL","Cliquez sur Démarrer lorsque vous êtes prêt"],["PROCESS_FACE_CENTER_LABEL","Visage detecté, mais non centré. Veuillez regarder la caméra en mettant votre visage bien en face"],["PROCESS_NO_FACE_LABEL","Pas de visage detecté. Veuillez vous positionner au centre de l'écran."],["PROCESS_MULTIPLE_FACE_LABEL","Plusieurs visages detectés. La detection ne fonctionne qu'avec un seul visage."],["TURN_FACE_LABEL","Maintenant, tournez lentement la tête (vers la droite ou vers la gauche)"],["EXPIRED_SESSION_ERROR_LABEL","La session a expiré. Veuillez réessayer"],["NO_FACE_ERROR_LABEL","Pas de visage detecté. Veuillez réessayer"],["MULTIPLE_FACE_ERROR_LABEL","Plusieurs visages detectés. Veuillez réessayer"],["MATCHING_SUCCESS_LABEL","Le visage correspond bien à la photo de référence"],["MATCHING_READY_LABEL",'La photo est prête à être comparée avec une référence.Veuillez cliquer sur le bouton "Verifier" puis choisir une photo de référence.'],["MATCHING_ERROR_LABEL","Le visage ne correspond pas à la photo de référence"],["SUCCESS_LABEL","La detection du visage a réussi."],["START_BUTTON_LABEL","Démarrer"],["COMPARE_BUTTON_LABEL","Vérifier"],["ENABLE_CAM_BUTTON_LABEL","Activer la webcam"],["RETRY_BUTTON_LABEL","Réessayer"]]),e}(),d=function(){function e(){}return e.messages=new Map([["START_TIPS_LABEL","Press on Start button when you are ready"],["PROCESS_FACE_CENTER_LABEL","Face detected, but not centered. Please look straight to the camera"],["PROCESS_NO_FACE_LABEL","No face detected. Please look straight to the camera."],["PROCESS_MULTIPLE_FACE_LABEL","Multiple faces detected. Only one person is allowed in the detection."],["TURN_FACE_LABEL","Now, please turn your face (look at the right or at the left)"],["EXPIRED_SESSION_ERROR_LABEL","Session has expired. Please try again."],["NO_FACE_ERROR_LABEL","No face detected. Please try again."],["MULTIPLE_FACE_ERROR_LABEL","Multiple faces detected. Please try again."],["MATCHING_SUCCESS_LABEL","Detected face successfully match the reference picture."],["MATCHING_READY_LABEL",'Picture is ready to be compared with a reference picture.Please click on the "Compare" button to upload the reference picture.'],["MATCHING_ERROR_LABEL","Detected face does not match the reference picture"],["SUCCESS_LABEL","Live face successfully detected."],["START_BUTTON_LABEL","Start"],["COMPARE_BUTTON_LABEL","Compare"],["ENABLE_CAM_BUTTON_LABEL","Start the webcam"],["RETRY_BUTTON_LABEL","Retry"]]),e}(),u=function(){function e(){}return e.messages=new Map([["START_TIPS_LABEL","Pressione no botão Iniciar quando estiver pronto"],["PROCESS_FACE_CENTER_LABEL","Rosto detectado, mas não centrado. Por favor, olhe diretamente para a câmera"],["PROCESS_NO_FACE_LABEL","Nenhum rosto detectado. Por favor, olhe diretamente para a câmera."],["PROCESS_MULTIPLE_FACE_LABEL","Múltiplos rostos detectados. Apenas uma pessoa é permitida na detecção."],["TURN_FACE_LABEL","Agora, por favor, vire seu rosto (olhe para a direita ou para a esquerda)"],["EXPIRED_SESSION_ERROR_LABEL","Sessão expirou. Por favor, tente novamente."],["NO_FACE_ERROR_LABEL","Nenhum rosto detectado. Por favor, tente novamente."],["MULTIPLE_FACE_ERROR_LABEL","Múltiplos rostos detectados. Por favor, tente novamente."],["MATCHING_SUCCESS_LABEL","A face detectada corresponde com sucesso à imagem de referência."],["MATCHING_READY_LABEL",'A imagem está pronta para ser comparada com uma imagem de referência.Por favor, clique no botão "Comparar" para carregar a imagem de referência.'],["MATCHING_ERROR_LABEL","Detected face does not match the reference picture"],["SUCCESS_LABEL","O rosto detectado não corresponde à imagem de referência"],["START_BUTTON_LABEL","Iniciar"],["COMPARE_BUTTON_LABEL","Comparar"],["ENABLE_CAM_BUTTON_LABEL","Comece a webcam"],["RETRY_BUTTON_LABEL","Tente novamente"]]),e}(),h=function(){function e(e,a){this.facePadService=e,this.httpClient=a,this.mapLanguage=new Map,this.wsEndpoint="http://localhost:8085",this.wsFormatPicture="/api/face/rotate-and-crop",this.wsFaceVerification="/api/face/match/pictures",this.apiKey="",this.autoStart=!1,this.faceTracking=!1,this.formatFinalPicture=!1,this.downloadFinalPictureOnSuccess=!1,this.resultPictureWidth=800,this.enableAutoMatching=!1,this.allowsMultipleRetries=!1,this.videoWidth=800,this.videoHeight=600,this.frameWidth=120,this.messagesEnabled=!0,this.padFrequency=100,this.faceDetectedHandler=new t.EventEmitter,this.cameraHandler=new t.EventEmitter,this.sessionExpiredHandler=new t.EventEmitter,this.changeStateHandler=new t.EventEmitter,this.matchingHandler=new t.EventEmitter,this.messages=new Map,this.padState=p.REQUEST_PERMISSIONS,this.videoConstraints={audio:!1,video:!0},this.processInstruction="",this.mapLanguage.set("fr",l.messages),this.mapLanguage.set("en",d.messages),this.mapLanguage.set("pt",u.messages)}return e.prototype.ngOnInit=function(){this.languageFile=this.mapLanguage.get(navigator.language.substr(0,2)),this.languageFile||(this.languageFile=d),this.messages.set("START_TIPS_LABEL",this.startTipsLabel),this.messages.set("PROCESS_FACE_CENTER_LABEL",this.processFaceCenterLabel),this.messages.set("PROCESS_NO_FACE_LABEL",this.processNoFaceLabel),this.messages.set("PROCESS_MULTIPLE_FACE_LABEL",this.processMultipleFaceLabel),this.messages.set("TURN_FACE_LABEL",this.turnFaceLabel),this.messages.set("EXPIRED_SESSION_ERROR_LABEL",this.expiredSessionErrorLabel),this.messages.set("NO_FACE_ERROR_LABEL",this.noFaceErrorLabel),this.messages.set("MULTIPLE_FACE_ERROR_LABEL",this.multipleFaceErrorLabel),this.messages.set("SUCCESS_LABEL",this.successLabel),this.messages.set("START_BUTTON_LABEL",this.startButtonLabel),this.messages.set("COMPARE_BUTTON_LABEL",this.compareButtonLabel),this.messages.set("ENABLE_CAM_BUTTON_LABEL",this.enableCamButtonLabel),this.messages.set("RETRY_BUTTON_LABEL",this.retryButtonLabel),this.messages.set("MATCHING_SUCCESS_LABEL",this.matchingSuccessLabel),this.messages.set("MATCHING_READY_LABEL",this.matchingReadyLabel),this.messages.set("MATCHING_ERROR_LABEL",this.matchingErrorLabel)},e.prototype.ngOnDestroy=function(){this.facePadService.disconnect()},e.prototype.ngAfterViewInit=function(){this.autoStart&&this.initPadSource()},e.prototype.processServerResponse=function(e){var t=this;e.result?(this.padState=p.SUCCESS,this.endSessionPad(),this.manageFinalPicture()):(this.processInstruction="",e.errorType||this.padState!==p.STARTED?"INVALID_YAW"===e.errorType?(this.processInstruction=this.getMessage("PROCESS_FACE_CENTER_LABEL"),setTimeout(function(){return t.prepareCallPADStart()},500)):"INVALID_KEY"===e.errorType?(this.padState=p.ERROR_KEY,this.emitInvalidKeyEvent()):"INVALID_FACE"===e.errorType?this.padState===p.PROCESS?(0===e.faceCount?this.padState=p.ERROR_NO_FACE:e.faceCount>1&&(this.padState=p.ERROR_MULTIPLE_FACE),this.endSessionPad()):this.padState===p.STARTED&&(0===e.faceCount?this.processInstruction=this.getMessage("PROCESS_NO_FACE_LABEL"):e.faceCount>1&&(this.processInstruction=this.getMessage("PROCESS_MULTIPLE_FACE_LABEL")),setTimeout(function(){return t.prepareCallPADStart()},500)):"INVALID_SESSION"===e.errorType&&(this.padState=p.ERROR_SESSION,this.endSessionPad(),this.emitSessionExpiredEvent()):(this.padState=p.PROCESS,this.alarmThread=setInterval(function(){return t.prepareCallPADContinue()},this.padFrequency)))},e.prototype.endSessionPad=function(){clearInterval(this.alarmThread),this.alarmThread=undefined,this.facePadService.disconnect()},e.prototype.getMessage=function(e){return!this.messages.get(e)&&this.languageFile?this.languageFile.get(e):this.messages.get(e)},e.prototype.isRequestPermissionState=function(){return this.padState===p.REQUEST_PERMISSIONS},e.prototype.isInitialState=function(){return this.padState===p.INITIAL},e.prototype.isStartedState=function(){return this.padState===p.STARTED},e.prototype.isProcessingState=function(){return this.padState===p.PROCESS},e.prototype.isErrorSessionState=function(){return this.padState===p.ERROR_SESSION},e.prototype.isErrorNoFaceState=function(){return this.padState===p.ERROR_NO_FACE},e.prototype.isErrorMultipleFaceState=function(){return this.padState===p.ERROR_MULTIPLE_FACE},e.prototype.isSuccessState=function(){return this.padState===p.SUCCESS},e.prototype.isInvalidKeyState=function(){return this.padState===p.ERROR_KEY},e.prototype.isMatchingReadyState=function(){return this.padState===p.MATCH_READY},e.prototype.initPadSource=function(){return s(this,void 0,void 0,function(){var e,t,a=this;return o(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),e=this,[4,navigator.mediaDevices.getUserMedia(this.videoConstraints)];case 1:return e.videoPADStream=n.sent(),this.videoPAD&&(this.videoPAD.nativeElement.srcObject=this.videoPADStream),this.handleSuccess(),this.padState=p.INITIAL,window.addEventListener("beforeunload",function(){return a.leaving()}),[3,3];case 2:return t=n.sent(),console.log("Error : "+t),[3,3];case 3:return[2]}})})},e.prototype.leaving=function(){this.videoPADStream.stop()},e.prototype.handleSuccess=function(){var e=this.videoPADStream.getVideoTracks();this.emitCameraEvent("Got stream with constraints: "+JSON.stringify(this.videoConstraints)),this.emitCameraEvent("Using video device: "+JSON.stringify(e[0].label))},e.prototype.prepareCallPADStart=function(){var e=this;this.facePadService.isConnected()?this.callPADStart():this.facePadService.connect(this.wsEndpoint.replace("http","ws"),function(t){return e.processServerResponse(JSON.parse(t.data))}).then(function(t){e.callPADStart()})},e.prototype.callPADStart=function(){var e=this;try{this.faceTracking&&this.faceTracker();var t=this.frameWidth/this.videoPAD.nativeElement.clientWidth;this.padState=p.STARTED;var a=document.createElement("canvas");a.width=this.frameWidth,a.height=this.videoPAD.nativeElement.clientHeight*t,a.getContext("2d").drawImage(this.videoPAD.nativeElement,0,0,a.width,a.height),a.toBlob(function(t){e.photoPADStart=t,e.emitChangeStateEvent("PAD Start photo blob generated"),e.doPADStart()},"image/jpeg");var n=this.resultPictureWidth/this.videoPAD.nativeElement.clientWidth,r=document.createElement("canvas");r.width=this.resultPictureWidth,r.height=this.videoPAD.nativeElement.clientHeight*n,r.getContext("2d").drawImage(this.videoPAD.nativeElement,0,0,r.width,r.height),r.toBlob(function(t){e.photoPADStartOriginal=t,e.emitChangeStateEvent("PAD Start photo original blob generated")},"image/jpeg")}catch(i){console.error(i),this.emitChangeStateEvent("Exception at prepareCallPADStart(): "+JSON.stringify(i))}},e.prototype.doPADStart=function(){return s(this,void 0,void 0,function(){var e;return o(this,function(t){switch(t.label){case 0:return(new a.HttpHeaders).append("Accept","application/json").append("ApiKeyAuth",this.apiKey),(new FormData).append("faceImage",this.photoPADStart),[4,new Response(this.photoPADStart).arrayBuffer()];case 1:return e=t.sent(),this.facePadService.sendMessage({faceImage:this.arrayBufferToBase64(e),typeMessagePad:"START",apiKey:this.apiKey}),[2]}})})},e.prototype.prepareCallPADContinue=function(){var e=this;if(this.facePadService.isConnected())try{var t=this.frameWidth/this.videoPAD.nativeElement.clientWidth,a=document.createElement("canvas");a.width=this.frameWidth,a.height=this.videoPAD.nativeElement.clientHeight*t,a.getContext("2d").drawImage(this.videoPAD.nativeElement,0,0,a.width,a.height),a.toBlob(function(t){return s(e,void 0,void 0,function(){var e;return o(this,function(a){switch(a.label){case 0:return this.emitChangeStateEvent("PAD Continue photo blob generated"),this.photoPADContinue=t,[4,new Response(this.photoPADContinue).arrayBuffer()];case 1:return e=a.sent(),this.facePadService.sendMessage({faceImage:this.arrayBufferToBase64(e),typeMessagePad:"CONTINUE",apiKey:this.apiKey}),[2]}})})},"image/jpeg")}catch(n){this.emitChangeStateEvent("Exception at prepareCallPADContinue(): "+JSON.stringify(n))}else clearInterval(this.alarmThread),this.alarmThread=undefined},e.prototype.arrayBufferToBase64=function(e){for(var t="",a=new Uint8Array(e),n=a.byteLength,r=0;r<n;r++)t+=String.fromCharCode(a[r]);return window.btoa(t)},e.prototype.manageFinalPicture=function(){this.formatFinalPicture?this.rotateAndCropFinalPicture():(this.generatedPicture=this.photoPADStartOriginal,this.emitFaceDetectedEvent(),!this.enableAutoMatching&&this.downloadFinalPictureOnSuccess?this.downloadPicture():this.enableAutoMatching&&this.showInstructionToUploadReference())},e.prototype.showInstructionToUploadReference=function(){this.padState=p.MATCH_READY},e.prototype.rotateAndCropFinalPicture=function(){var e=this,t=new a.HttpHeaders;t=(t=t.append("Accept","application/json")).append("ApiKeyAuth",this.apiKey);var n=new FormData;n.append("picture",this.photoPADStartOriginal),this.httpClient.post(this.wsEndpoint+this.wsFormatPicture,n,{headers:t}).subscribe(function(t){if(t.length>0){var a=e.b64toBlob("data:image/png;base64,"+t[0].picture);e.generatedPicture=a,e.faceDetectedHandler.emit(a),e.enableAutoMatching?e.showInstructionToUploadReference():e.downloadFinalPictureOnSuccess&&e.downloadPicture()}else console.warn("No picture generated from the original picture by the rotate-and-crop method")},function(t){417===t.status?(e.padState=p.ERROR_MULTIPLE_FACE,e.endSessionPad()):404===t.status?(e.padState=p.ERROR_NO_FACE,e.endSessionPad()):console.error("No picture generated from the original picture by the rotate-and-crop method. Error : "+t)})},e.prototype.b64toBlob=function(e){for(var t=atob(e.split(",")[1]),a=new ArrayBuffer(t.length),n=new Uint8Array(a),r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return new Blob([a],{type:"image/png"})},e.prototype.emitFaceDetectedEvent=function(){this.faceDetectedHandler.emit(this.photoPADStartOriginal)},e.prototype.emitInvalidKeyEvent=function(){},e.prototype.emitSessionExpiredEvent=function(){this.sessionExpiredHandler.emit(!0)},e.prototype.emitCameraEvent=function(e){this.cameraHandler.emit(e)},e.prototype.emitChangeStateEvent=function(e){this.changeStateHandler.emit(e)},e.prototype.resetUI=function(){this.padState=p.INITIAL},e.prototype.compareWithReference=function(){this.photoPADStartOriginal?document.getElementById("id3-fileForMatching").click():this.matchingHandler.error("PAD Result picture is missing. You have to execute the entire PAD process before calling the Matching Javascript function.")},e.prototype.handleFiles=function(e){var t=this,n=new a.HttpHeaders;n=(n=n.append("Accept","application/json")).append("ApiKeyAuth",this.apiKey);var r=URL.createObjectURL(e.target.files[0]),i=new Image;i.onload=function(){var e=500/i.width,a=document.createElement("canvas");a.width=500,a.height=i.height*e,a.getContext("2d").drawImage(i,0,0,a.width,a.height),a.toBlob(function(e){return s(t,void 0,void 0,function(){var t,a=this;return o(this,function(r){return(t=new FormData).append("reference",e),t.append("probe",this.photoPADStartOriginal),this.httpClient.post(this.wsEndpoint+this.wsFaceVerification,t,{headers:n}).subscribe(function(e){a.matchingHandler.emit(e),e.decision?a.padState=p.MATCH_SUCCESS:a.padState=p.MATCH_ERROR,e.decision&&a.downloadFinalPictureOnSuccess&&a.downloadPicture()},function(e){a.padState=p.MATCH_ERROR,a.matchingHandler.error("An error occured during the Matching process. Please retry later.")}),[2]})})},"image/jpeg")},i.src=r},e.prototype.downloadPicture=function(){var e=document.createElement("a"),t=URL.createObjectURL(new File([this.generatedPicture],"face-result.jpeg"));e.href=t,e.download="face-result.jpeg",document.body.appendChild(e),e.click(),setTimeout(function(){document.body.removeChild(e),window.URL.revokeObjectURL(t)},0)},e.prototype.faceTracker=function(){var e=this,t=this.videoPAD.nativeElement,a=this.canvasResult.nativeElement.getContext("2d"),r=this.videoPAD.nativeElement.clientWidth,i=this.videoPAD.nativeElement.clientHeight;this.canvasResult.nativeElement.width=r,this.canvasResult.nativeElement.height=i;var s=new n({video:t,flipLeftRight:!1,flipUpsideDown:!1});s.startDetecting(),s.setOnFaceLostCallback(function(t,n){a.clearRect(0,0,e.canvasResult.nativeElement.width,e.canvasResult.nativeElement.height)}),s.setOnFaceUpdatedCallback(function(t){a.clearRect(0,0,e.canvasResult.nativeElement.width,e.canvasResult.nativeElement.height),a.strokeStyle="rgba(0,221,52,1.0)",a.lineWidth=2,a.fillStyle="rgba(0,221,52,0.08)",t.forEach(function(t){a.strokeRect(t.x*e.canvasResult.nativeElement.width,t.y*e.canvasResult.nativeElement.height+10,t.width*e.canvasResult.nativeElement.width,t.height*e.canvasResult.nativeElement.height)})})},e.FRONT="FRONT",e.LEFT="LEFT",e.RIGHT="RIGHT",e.MIRROR="MIRROR",e.decorators=[{type:t.Component,args:[{selector:"id3-face-pad",template:'<script src="../js/facedetector/dist/FaceDetector.js"><\/script>\r\n<id3-face-pad-messages *ngIf="messagesEnabled" class="show-small-screen" [startTipsLabel]="getMessage(\'START_TIPS_LABEL\')"\r\n [turnFaceLabel]="getMessage(\'TURN_FACE_LABEL\')" [expiredSessionErrorLabel]="getMessage(\'EXPIRED_SESSION_ERROR_LABEL\')" \r\n [noFaceErrorLabel]="getMessage(\'NO_FACE_ERROR_LABEL\')"\r\n [multipleFaceErrorLabel]="getMessage(\'MULTIPLE_FACE_ERROR_LABEL\')" [successLabel]="getMessage(\'SUCCESS_LABEL\')" \r\n [processInstruction]="processInstruction" [padState]="padState" [matchingSuccessLabel]="getMessage(\'MATCHING_SUCCESS_LABEL\')"\r\n [matchingErrorLabel]="getMessage(\'MATCHING_ERROR_LABEL\')" [matchingReadyLabel]="getMessage(\'MATCHING_READY_LABEL\')">\r\n</id3-face-pad-messages>\r\n\r\n<input id="id3-fileForMatching" type="file" name="fileForMatch" class="d-none" (change)="handleFiles($event)"/>\r\n<div class="padContainer" [style.max-height]="videoHeight + \'px\'" [style.max-width]="videoWidth + \'px\'">\r\n <div class="id3-overlay">\r\n <canvas class="canvas" #resultCanvas></canvas>\r\n </div>\r\n <video class="liveStream" #videoPAD autoplay playsinline></video>\r\n <div class="id3-pad-overlay">\r\n <div class="extras">\r\n <img class="text-left" id="id3Logo" src="/assets/images/id3_logo_white_40.png" height="40" width="40" *ngIf="apiKey === \'test-token-id3-webcapture\'">\r\n </div>\r\n <div id="mainContent" class="pad-content d-block">\r\n\r\n <button type="button" *ngIf="isRequestPermissionState()" (click)="initPadSource()" class="btn btn-primary btn-id3 mt-5">\r\n <em class="pi pi-caret-right"></em>{{getMessage(\'ENABLE_CAM_BUTTON_LABEL\')}}\r\n </button>\r\n <button type="button" *ngIf="isInitialState()" (click)="prepareCallPADStart()" class="btn btn-primary btn-id3 mt-5">\r\n <em class="pi pi-caret-right"></em> {{getMessage(\'START_BUTTON_LABEL\')}}\r\n </button>\r\n\r\n <id3-face-pad-messages *ngIf="messagesEnabled" class="show-big-screen" [startTipsLabel]="getMessage(\'START_TIPS_LABEL\')"\r\n [turnFaceLabel]="getMessage(\'TURN_FACE_LABEL\')" [expiredSessionErrorLabel]="getMessage(\'EXPIRED_SESSION_ERROR_LABEL\')" \r\n [noFaceErrorLabel]="getMessage(\'NO_FACE_ERROR_LABEL\')"\r\n [multipleFaceErrorLabel]="getMessage(\'MULTIPLE_FACE_ERROR_LABEL\')" [successLabel]="getMessage(\'SUCCESS_LABEL\')" \r\n [processInstruction]="processInstruction" [padState]="padState" [matchingSuccessLabel]="getMessage(\'MATCHING_SUCCESS_LABEL\')"\r\n [matchingErrorLabel]="getMessage(\'MATCHING_ERROR_LABEL\')" [matchingReadyLabel]="getMessage(\'MATCHING_READY_LABEL\')">\r\n </id3-face-pad-messages>\r\n\r\n <button type="button" *ngIf="isErrorSessionState() || isErrorNoFaceState() || isErrorMultipleFaceState() || (allowsMultipleRetries && isSuccessState())" (click)="resetUI()" class="btn btn-primary btn-id3 mt-3">\r\n <em class="pi pi-caret-right"></em> {{getMessage(\'RETRY_BUTTON_LABEL\')}}\r\n </button>\r\n\r\n <button type="button" *ngIf="isMatchingReadyState()" class="btn btn-primary btn-id3 mt-3" (click)="compareWithReference()">\r\n <em class="pi pi-caret-right"></em> {{getMessage(\'COMPARE_BUTTON_LABEL\')}}\r\n </button>\r\n <br>\r\n <div class="d-flex">\r\n <h4 id="padAlert" class="text-white"></h4>\r\n </div>\r\n </div>\r\n </div>\r\n </div>',styles:['.padContainer{position:relative;margin:auto}.padContainer .h1,.padContainer .h2,.padContainer .h3,.padContainer .h4,.padContainer .h5,.padContainer .h6,.padContainer h1,.padContainer h2,.padContainer h3,.padContainer h4,.padContainer h5,.padContainer h6{font-family:"PT Sans",sans-serif;font-weight:700;font-size:50px}.padContainer .liveStream{top:0;left:0;width:100%;height:auto;z-index:1}.padContainer .btn-id3{border-radius:0}.padContainer .font-weight-normal{width:250px;text-align:left}.padContainer .id3-pad-overlay{position:absolute;top:0;bottom:0;left:0;right:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;color:#fff;font-size:20px;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;border:1px solid #ddd}.padContainer .extras{display:-webkit-box;display:flex;top:15;right:15;left:15;width:100%;-webkit-box-align:left;align-items:left}.padContainer .pad-content{position:absolute;display:block;text-align:center}.padContainer .padBehaviorLabel{font-size:20px}.padContainer .breathe{margin:6px 10px}.padContainer .canvas,.padContainer .id3-overlay{position:absolute}@media only screen and (max-width:500px){.show-big-screen{display:none}}@media only screen and (min-width:500px){.show-small-screen{display:none}}@media only screen and (min-width:601px){h4{font-size:25px}}@media only screen and (max-width:600px){h1{font-size:27px!important;margin-left:15%}h4{font-size:25px}}']}]}],e.ctorParameters=function(){return[{type:c},{type:a.HttpClient}]},e.propDecorators={canvasResult:[{type:t.ViewChild,args:["resultCanvas",{"static":!1}]}],videoPAD:[{type:t.ViewChild,args:["videoPAD",{"static":!1}]}],fileForMatching:[{type:t.ViewChild,args:["fileForMatching",{"static":!1}]}],wsEndpoint:[{type:t.Input}],wsFormatPicture:[{type:t.Input}],wsFaceVerification:[{type:t.Input}],apiKey:[{type:t.Input}],autoStart:[{type:t.Input}],faceTracking:[{type:t.Input}],formatFinalPicture:[{type:t.Input}],downloadFinalPictureOnSuccess:[{type:t.Input}],resultPictureWidth:[{type:t.Input}],enableAutoMatching:[{type:t.Input}],allowsMultipleRetries:[{type:t.Input}],videoWidth:[{type:t.Input}],videoHeight:[{type:t.Input}],frameWidth:[{type:t.Input}],messagesEnabled:[{type:t.Input}],padFrequency:[{type:t.Input}],startTipsLabel:[{type:t.Input}],processFaceCenterLabel:[{type:t.Input}],processNoFaceLabel:[{type:t.Input}],processMultipleFaceLabel:[{type:t.Input}],turnFaceLabel:[{type:t.Input}],expiredSessionErrorLabel:[{type:t.Input}],noFaceErrorLabel:[{type:t.Input}],multipleFaceErrorLabel:[{type:t.Input}],successLabel:[{type:t.Input}],startButtonLabel:[{type:t.Input}],compareButtonLabel:[{type:t.Input}],enableCamButtonLabel:[{type:t.Input}],retryButtonLabel:[{type:t.Input}],matchingSuccessLabel:[{type:t.Input}],matchingReadyLabel:[{type:t.Input}],matchingErrorLabel:[{type:t.Input}],faceDetectedHandler:[{type:t.Output}],cameraHandler:[{type:t.Output}],sessionExpiredHandler:[{type:t.Output}],changeStateHandler:[{type:t.Output}],matchingHandler:[{type:t.Output}],compareWithReference:[{type:t.Input}]},e}(),E=function(){function e(){this.processInstruction=""}return e.prototype.ngOnInit=function(){},e.prototype.isRequestPermissionState=function(){return this.padState===p.REQUEST_PERMISSIONS},e.prototype.isInitialState=function(){return this.padState===p.INITIAL},e.prototype.isStartedState=function(){return this.padState===p.STARTED},e.prototype.isProcessingState=function(){return this.padState===p.PROCESS},e.prototype.isErrorSessionState=function(){return this.padState===p.ERROR_SESSION},e.prototype.isErrorNoFaceState=function(){return this.padState===p.ERROR_NO_FACE},e.prototype.isErrorMultipleFaceState=function(){return this.padState===p.ERROR_MULTIPLE_FACE},e.prototype.isSuccessState=function(){return this.padState===p.SUCCESS||this.padState===p.MATCH_SUCCESS},e.prototype.isMatchingReadyState=function(){return this.padState===p.MATCH_READY},e.prototype.isMatchingSuccessState=function(){return this.padState===p.MATCH_SUCCESS},e.prototype.isMatchingErrorState=function(){return this.padState===p.MATCH_ERROR},e.prototype.isInvalidKeyState=function(){return this.padState===p.ERROR_KEY},e.decorators=[{type:t.Component,args:[{selector:"id3-face-pad-messages",template:'<div class="mt-2">\r\n <div *ngIf="isInitialState()" class="alert alert-primary" role="alert">\r\n {{startTipsLabel}}\r\n </div>\r\n <div *ngIf="isStartedState() || (isProcessingState() && processInstruction.length>0)" class="alert alert-danger" role="alert">\r\n {{processInstruction}}\r\n </div>\r\n <div *ngIf="isProcessingState() && processInstruction.length==0" class="alert alert-primary" role="alert">\r\n {{turnFaceLabel}}\r\n </div>\r\n <div *ngIf="isErrorSessionState()" class="alert alert-danger" role="alert">\r\n {{expiredSessionErrorLabel}}\r\n </div>\r\n <div *ngIf="isErrorNoFaceState()" class="alert alert-danger" role="alert">\r\n {{noFaceErrorLabel}}\r\n </div>\r\n <div *ngIf="isErrorMultipleFaceState()" class="alert alert-danger" role="alert">\r\n {{multipleFaceErrorLabel}}\r\n </div>\r\n <div *ngIf="isSuccessState()" class="alert alert-success" role="alert">\r\n {{successLabel}}\r\n </div>\r\n <div *ngIf="isMatchingReadyState()" class="alert alert-primary" role="alert">\r\n {{matchingReadyLabel}}\r\n </div>\r\n <div *ngIf="isMatchingSuccessState()" class="alert alert-success" role="alert">\r\n {{matchingSuccessLabel}}\r\n </div>\r\n <div *ngIf="isMatchingErrorState()" class="alert alert-danger" role="alert">\r\n {{matchingErrorLabel}}\r\n </div>\r\n <div *ngIf="isInvalidKeyState()" class="alert alert-danger" role="alert">\r\n The API Key is invalid. Please check your API key.\r\n </div>\r\n</div>'}]}],e.ctorParameters=function(){return[]},e.propDecorators={startTipsLabel:[{type:t.Input}],turnFaceLabel:[{type:t.Input}],expiredSessionErrorLabel:[{type:t.Input}],noFaceErrorLabel:[{type:t.Input}],multipleFaceErrorLabel:[{type:t.Input}],successLabel:[{type:t.Input}],matchingSuccessLabel:[{type:t.Input}],matchingReadyLabel:[{type:t.Input}],matchingErrorLabel:[{type:t.Input}],padState:[{type:t.Input}],processInstruction:[{type:t.Input}]},e}(),S=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[h,E],imports:[a.HttpClientModule,r.CommonModule,i.BrowserModule],exports:[h],entryComponents:[h]}]}],e}();e.FacePadComponent=h,e.FacePadModule=S,e.FacePadService=c,e.ɵa=E,Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common/http"),require("@id3/facedetector"),require("downloadjs"),require("@angular/common"),require("@angular/platform-browser")):"function"==typeof define&&define.amd?define("@id3/face-pad",["exports","@angular/core","@angular/common/http","@id3/facedetector","downloadjs","@angular/common","@angular/platform-browser"],t):t(((e=e||self).id3=e.id3||{},e.id3["face-pad"]={}),e.ng.core,e.ng.common.http,e.FaceDetector,e.Downloadjs,e.ng.common,e.ng.platformBrowser)}(this,function(e,t,i,r,a,n,s){"use strict";function o(e,t,i,r){return new(i||(i=Promise))(function(a,n){function s(e){try{c(r.next(e))}catch(e){n(e)}}function o(e){try{c(r.throw(e))}catch(e){n(e)}}function c(e){e.done?a(e.value):new i(function(t){t(e.value)}).then(s,o)}c((r=r.apply(e,t||[])).next())})}function c(e,t){var i,r,a,n,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return n={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function o(n){return function(o){return function(n){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,r&&(a=2&n[0]?r.return:n[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,n[1])).done)return a;switch(r=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return s.label++,{value:n[1],done:!1};case 5:s.label++,r=n[1],n=[0];continue;case 7:n=s.ops.pop(),s.trys.pop();continue;default:if(!(a=(a=s.trys).length>0&&a[a.length-1])&&(6===n[0]||2===n[0])){s=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]<a[3])){s.label=n[1];break}if(6===n[0]&&s.label<a[1]){s.label=a[1],a=n;break}if(a&&s.label<a[2]){s.label=a[2],s.ops.push(n);break}a[2]&&s.ops.pop(),s.trys.pop();continue}n=t.call(e,s)}catch(e){n=[6,e],r=0}finally{i=a=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,o])}}}a=a&&a.hasOwnProperty("default")?a.default:a;var h=function(){function e(){}return e.prototype.connect=function(e,t){var i=this;return new Promise(function(r,a){i.ws=new WebSocket(e+"/pad/session"),i.ws.onopen=function(){console.log("Info: Connection PAD Established."),r(!0)},i.ws.onmessage=t,i.ws.onclose=function(e){console.log("Info: Closing PAD Connection."),a(!1)}})},e.prototype.disconnect=function(){null!=this.ws&&(this.ws.close(),this.ws=null)},e.prototype.isConnected=function(){return null!=this.ws&&this.ws.readyState===this.ws.OPEN},e.prototype.sendMessage=function(e){null!=this.ws?this.ws.bufferedAmount>2e5?console.log("Image not sent : Web socket buffer is too big. We have to wait the previous messages to be send before sending a new message."):this.ws.send(JSON.stringify(e)):console.warn("connection to web socket not established, please connect.")},e.prototype.waitForSocketConnection=function(e,t){var i=this;setTimeout(function(){1===e.readyState?(console.log("Connection is made"),null!=t&&t()):(console.log("wait for connection..."),i.waitForSocketConnection(e,t))},5)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),d={REQUEST_PERMISSIONS:0,INITIAL:1,STARTED:2,PROCESS:3,SUCCESS:4,ERROR_KEY:5,ERROR_SESSION:6,ERROR_NO_FACE:7,ERROR_MULTIPLE_FACE:8,ERROR_NO_INTERNET_CONNECTION:9,ERROR_USER_TOO_FAR:10,ERROR_USER_NOT_CENTER:11,MATCH_READY:12,MATCH_SUCCESS:13,MATCH_ERROR:14};d[d.REQUEST_PERMISSIONS]="REQUEST_PERMISSIONS",d[d.INITIAL]="INITIAL",d[d.STARTED]="STARTED",d[d.PROCESS]="PROCESS",d[d.SUCCESS]="SUCCESS",d[d.ERROR_KEY]="ERROR_KEY",d[d.ERROR_SESSION]="ERROR_SESSION",d[d.ERROR_NO_FACE]="ERROR_NO_FACE",d[d.ERROR_MULTIPLE_FACE]="ERROR_MULTIPLE_FACE",d[d.ERROR_NO_INTERNET_CONNECTION]="ERROR_NO_INTERNET_CONNECTION",d[d.ERROR_USER_TOO_FAR]="ERROR_USER_TOO_FAR",d[d.ERROR_USER_NOT_CENTER]="ERROR_USER_NOT_CENTER",d[d.MATCH_READY]="MATCH_READY",d[d.MATCH_SUCCESS]="MATCH_SUCCESS",d[d.MATCH_ERROR]="MATCH_ERROR";var l=function(){function e(){}return e.messages=new Map([["START_TIPS_LABEL","Cliquez sur Démarrer lorsque vous êtes prêt"],["PROCESS_FACE_CENTER_LABEL","Visage detecté, mais non centré. Veuillez regarder la caméra en mettant votre visage bien en face"],["PROCESS_NO_FACE_LABEL","Pas de visage detecté. Veuillez vous positionner au centre de l'écran."],["PROCESS_MULTIPLE_FACE_LABEL","Plusieurs visages detectés. La detection ne fonctionne qu'avec un seul visage."],["TURN_FACE_LABEL","Maintenant, tournez lentement la tête (vers la droite ou vers la gauche)"],["EXPIRED_SESSION_ERROR_LABEL","La session a expiré. Veuillez réessayer"],["NO_FACE_ERROR_LABEL","Pas de visage detecté. Veuillez réessayer"],["NO_INTERNET_CONNECTION_LABEL","Connection internet perdue. Veuillez réessayer"],["MULTIPLE_FACE_ERROR_LABEL","Plusieurs visages detectés. Veuillez réessayer"],["MATCHING_SUCCESS_LABEL","Le visage correspond bien à la photo de référence"],["MATCHING_READY_LABEL",'La photo est prête à être comparée avec une référence.Veuillez cliquer sur le bouton "Verifier" puis choisir une photo de référence.'],["MATCHING_ERROR_LABEL","Le visage ne correspond pas à la photo de référence"],["SUCCESS_LABEL","La detection du visage a réussi."],["START_BUTTON_LABEL","Démarrer"],["RESTART_BUTTON_LABEL","Recommencer"],["COMPARE_BUTTON_LABEL","Vérifier"],["ENABLE_CAM_BUTTON_LABEL","Activer la webcam"],["RETRY_BUTTON_LABEL","Réessayer"],["USER_TOO_FAR_LABEL","Vous êtes trop loin, veuillez vous rapprocher de la caméra"],["USER_NOT_CENTER_LABEL","Veuillez vous positionner à l'intérieur de la zone cible"]]),e}(),p=function(){function e(){}return e.messages=new Map([["START_TIPS_LABEL","Press on Start button when you are ready"],["PROCESS_FACE_CENTER_LABEL","Face detected, but not centered. Please look straight to the camera"],["PROCESS_NO_FACE_LABEL","No face detected. Please look straight to the camera."],["PROCESS_MULTIPLE_FACE_LABEL","Multiple faces detected. Only one person is allowed in the detection."],["TURN_FACE_LABEL","Now, please turn your face (look at the right or at the left)"],["EXPIRED_SESSION_ERROR_LABEL","Session has expired. Please try again."],["NO_FACE_ERROR_LABEL","No face detected. Please try again."],["NO_INTERNET_CONNECTION_LABEL","Internet connection lost. Please try again"],["MULTIPLE_FACE_ERROR_LABEL","Multiple faces detected. Please try again."],["MATCHING_SUCCESS_LABEL","Detected face successfully match the reference picture."],["MATCHING_READY_LABEL",'Picture is ready to be compared with a reference picture.Please click on the "Compare" button to upload the reference picture.'],["MATCHING_ERROR_LABEL","Detected face does not match the reference picture"],["SUCCESS_LABEL","Live face successfully detected."],["START_BUTTON_LABEL","Start"],["RESTART_BUTTON_LABEL","Restart"],["COMPARE_BUTTON_LABEL","Compare"],["ENABLE_CAM_BUTTON_LABEL","Start the webcam"],["RETRY_BUTTON_LABEL","Retry"],["USER_TOO_FAR_LABEL","Too far away, please move closer"],["USER_NOT_CENTER_LABEL","Please, move on the target area"]]),e}(),u=function(){function e(){}return e.messages=new Map([["START_TIPS_LABEL","Pressione no botão Iniciar quando estiver pronto"],["PROCESS_FACE_CENTER_LABEL","Rosto detectado, mas não centrado. Por favor, olhe diretamente para a câmera"],["PROCESS_NO_FACE_LABEL","Nenhum rosto detectado. Por favor, olhe diretamente para a câmera."],["PROCESS_MULTIPLE_FACE_LABEL","Múltiplos rostos detectados. Apenas uma pessoa é permitida na detecção."],["TURN_FACE_LABEL","Agora, por favor, vire seu rosto (olhe para a direita ou para a esquerda)"],["EXPIRED_SESSION_ERROR_LABEL","Sessão expirou. Por favor, tente novamente."],["NO_FACE_ERROR_LABEL","Nenhum rosto detectado. Por favor, tente novamente."],["NO_INTERNET_CONNECTION_LABEL","Conexão perdida com a internet. Por favor, tente novamente."],["MULTIPLE_FACE_ERROR_LABEL","Múltiplos rostos detectados. Por favor, tente novamente."],["MATCHING_SUCCESS_LABEL","A face detectada corresponde com sucesso à imagem de referência."],["MATCHING_READY_LABEL",'A imagem está pronta para ser comparada com uma imagem de referência.Por favor, clique no botão "Comparar" para carregar a imagem de referência.'],["MATCHING_ERROR_LABEL","Detected face does not match the reference picture"],["SUCCESS_LABEL","O rosto detectado não corresponde à imagem de referência"],["START_BUTTON_LABEL","Iniciar"],["RESTART_BUTTON_LABEL","Começar de novo"],["COMPARE_BUTTON_LABEL","Comparar"],["ENABLE_CAM_BUTTON_LABEL","Comece a webcam"],["RETRY_BUTTON_LABEL","Tente novamente"],["USER_TOO_FAR_LABEL","Você está longe demais, por favor, aproxime-se da câmera"],["USER_NOT_CENTER_LABEL","Por favor posicione-se dentro da área alvo"]]),e}(),E=function(){function e(e,i){this.facePadService=e,this.httpClient=i,this.mapLanguage=new Map,this.wsEndpoint="http://localhost:8085",this.wsFormatPicture="/api/face/rotate-and-crop",this.wsFaceVerification="/api/face/match/pictures",this.wsImageSize="/api/parameters",this.apiKey="",this.autoStart=!1,this.faceTracking=!1,this.faceTrackingOptionDesign=!1,this.mirror=!1,this.processProgressCircle=!1,this.circleRadius=200,this.formatFinalPicture=!1,this.downloadFinalPictureOnSuccess=!1,this.resultPictureWidth=600,this.enableAutoMatching=!1,this.allowsMultipleRetries=!1,this.videoWidth=800,this.videoHeight=600,this.videoWidthMobile=600,this.videoHeightMobile=800,this.frameWidth=120,this.minHeadSize=0,this.messagesEnabled=!0,this.padFrequency=100,this.faceDetectedHandler=new t.EventEmitter,this.cameraHandler=new t.EventEmitter,this.sessionExpiredHandler=new t.EventEmitter,this.changeStateHandler=new t.EventEmitter,this.matchingHandler=new t.EventEmitter,this.messages=new Map,this.padState=d.REQUEST_PERMISSIONS,this.videoConstraints={audio:!1,video:!0},this.processInstruction="",this.mapLanguage.set("fr",l.messages),this.mapLanguage.set("en",p.messages),this.mapLanguage.set("pt",u.messages)}return e.prototype.ngOnInit=function(){this.isDeviceMobile(),this.languageFile=this.mapLanguage.get(navigator.language.substr(0,2)),this.languageFile||(this.languageFile=p),this.messages.set("START_TIPS_LABEL",this.startTipsLabel),this.messages.set("PROCESS_FACE_CENTER_LABEL",this.processFaceCenterLabel),this.messages.set("PROCESS_NO_FACE_LABEL",this.processNoFaceLabel),this.messages.set("PROCESS_MULTIPLE_FACE_LABEL",this.processMultipleFaceLabel),this.messages.set("TURN_FACE_LABEL",this.turnFaceLabel),this.messages.set("EXPIRED_SESSION_ERROR_LABEL",this.expiredSessionErrorLabel),this.messages.set("NO_FACE_ERROR_LABEL",this.noFaceErrorLabel),this.messages.set("MULTIPLE_FACE_ERROR_LABEL",this.multipleFaceErrorLabel),this.messages.set("SUCCESS_LABEL",this.successLabel),this.messages.set("START_BUTTON_LABEL",this.startButtonLabel),this.messages.set("RESTART_BUTTON_LABEL",this.restartButtonLabel),this.messages.set("COMPARE_BUTTON_LABEL",this.compareButtonLabel),this.messages.set("ENABLE_CAM_BUTTON_LABEL",this.enableCamButtonLabel),this.messages.set("RETRY_BUTTON_LABEL",this.retryButtonLabel),this.messages.set("MATCHING_SUCCESS_LABEL",this.matchingSuccessLabel),this.messages.set("MATCHING_READY_LABEL",this.matchingReadyLabel),this.messages.set("MATCHING_ERROR_LABEL",this.matchingErrorLabel),this.messages.set("NO_INTERNET_CONNECTION_LABEL",this.noInternetConnectionLabel),this.messages.set("USER_TOO_FAR_LABEL",this.userTooFarLabel),this.messages.set("USER_NOT_CENTER_LABEL",this.userNotCenterLabel)},e.prototype.ngOnDestroy=function(){this.facePadService.disconnect(),this.faceDetector&&this.faceDetector.stop()},e.prototype.ngAfterViewInit=function(){this.autoStart&&(this.initPadSource(),this.getDatasVideoPAD())},e.prototype.processServerResponse=function(e){var t=this;this.processCompletion=e.processCompletion,e.result?(this.padState=d.SUCCESS,this.endSessionPad(),this.manageFinalPicture()):(this.processInstruction="",e.errorType||this.padState!==d.STARTED?"INVALID_YAW"===e.errorType||"INVALID_PITCH"===e.errorType?(this.processInstruction=this.getMessage("PROCESS_FACE_CENTER_LABEL"),setTimeout(function(){return t.prepareCallPADStart()},500)):"INVALID_KEY"===e.errorType?(this.padState=d.ERROR_KEY,this.emitInvalidKeyEvent()):"INVALID_FACE"===e.errorType?this.padState===d.PROCESS?(0===e.faceCount?this.padState=d.ERROR_NO_FACE:e.faceCount>1&&(this.padState=d.ERROR_MULTIPLE_FACE),this.endSessionPad()):this.padState===d.STARTED&&(0===e.faceCount?this.processProgressCircle?this.processInstruction=this.getMessage("USER_NOT_CENTER_LABEL"):this.processInstruction=this.getMessage("PROCESS_NO_FACE_LABEL"):e.faceCount>1&&(this.processInstruction=this.getMessage("PROCESS_MULTIPLE_FACE_LABEL")),setTimeout(function(){return t.prepareCallPADStart()},500)):"INVALID_SESSION"===e.errorType&&(this.padState=d.ERROR_SESSION,this.endSessionPad(),this.emitSessionExpiredEvent()):(this.padState=d.PROCESS,this.alarmThread=setInterval(function(){return t.prepareCallPADContinue()},this.padFrequency)))},e.prototype.endSessionPad=function(){clearInterval(this.alarmThread),this.alarmThread=void 0,this.xCoord=void 0,this.yCoord=void 0,this.wCoord=void 0,this.hCoord=void 0,this.ngOnDestroy()},e.prototype.getMessage=function(e){return!this.messages.get(e)&&this.languageFile?this.languageFile.get(e):this.messages.get(e)},e.prototype.getDatasVideoPAD=function(){var e=this;this.videoPAD.nativeElement.addEventListener("loadedmetadata",function(t){e.width=e.videoPAD.nativeElement.videoWidth,e.height=e.videoPAD.nativeElement.videoHeight,e.ratioWidth=e.width/e.videoWidth,e.ratioHeight=e.height/e.videoHeight},!1)},e.prototype.isRequestPermissionState=function(){return this.padState===d.REQUEST_PERMISSIONS},e.prototype.isInitialState=function(){return this.padState===d.INITIAL},e.prototype.isStartedState=function(){return this.padState===d.STARTED},e.prototype.isProcessingState=function(){return this.padState===d.PROCESS},e.prototype.isErrorSessionState=function(){return this.padState===d.ERROR_SESSION},e.prototype.isErrorNoFaceState=function(){return this.padState===d.ERROR_NO_FACE},e.prototype.isErrorNoInternetConnection=function(){return this.padState===d.ERROR_NO_INTERNET_CONNECTION},e.prototype.isErrorUserTooFar=function(){return this.padState===d.ERROR_USER_TOO_FAR},e.prototype.isErrorUserNotCenter=function(){return this.padState===d.ERROR_USER_NOT_CENTER},e.prototype.isErrorMultipleFaceState=function(){return this.padState===d.ERROR_MULTIPLE_FACE},e.prototype.isSuccessState=function(){return this.padState===d.SUCCESS},e.prototype.isInvalidKeyState=function(){return this.padState===d.ERROR_KEY},e.prototype.isMatchingReadyState=function(){return this.padState===d.MATCH_READY},e.prototype.isMatchingSuccessState=function(){return this.padState===d.MATCH_SUCCESS},e.prototype.isMatchingErrorState=function(){return this.padState===d.MATCH_ERROR},e.prototype.isDeviceMobile=function(){return window.innerHeight>window.innerWidth&&(this.videoWidth=this.videoWidthMobile,this.videoHeight=this.videoHeightMobile),window.innerHeight>window.innerWidth},e.prototype.initPadSource=function(){return o(this,void 0,void 0,function(){var e,t,i=this;return c(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),e=this,[4,navigator.mediaDevices.getUserMedia(this.videoConstraints)];case 1:return e.videoPADStream=r.sent(),this.videoPAD&&(this.videoPAD.nativeElement.srcObject=this.videoPADStream),this.handleSuccess(),this.padState=d.INITIAL,this.getMinHeadSize(),window.addEventListener("beforeunload",function(){return i.leaving()}),[3,3];case 2:return t=r.sent(),console.log("Error : "+t),[3,3];case 3:return[2]}})})},e.prototype.leaving=function(){this.videoPADStream.stop()},e.prototype.handleSuccess=function(){var e=this.videoPADStream.getVideoTracks();this.emitCameraEvent("Got stream with constraints: "+JSON.stringify(this.videoConstraints)),this.emitCameraEvent("Using video device: "+JSON.stringify(e[0].label))},e.prototype.prepareCallPADStart=function(){var e=this;this.facePadService.isConnected()?this.callPADStart():this.facePadService.connect(this.wsEndpoint.replace("http","ws"),function(t){return e.processServerResponse(JSON.parse(t.data))}).then(function(t){e.callPADStart()}).catch(function(t){e.padState=d.ERROR_NO_INTERNET_CONNECTION,e.endSessionPad()})},e.prototype.callPADStart=function(){var e=this;try{!this.faceTracking||this.faceDetector&&this.faceDetector.isRunning()?this.processProgressCircle&&!this.faceTracking&&(this.isCircleRunning||(this.progressCircle(),this.isCircleRunning=!0)):this.faceTracker();var t=this.frameWidth/this.videoPAD.nativeElement.clientWidth;this.padState=d.STARTED;var i=document.createElement("canvas");if(this.faceTracking&&this.faceDetector.isRunning()&&this.xCoord&&!this.processProgressCircle){i.width=3*this.minHeadSize*this.ratioWidth,i.height=3*this.minHeadSize*this.ratioHeight;var r=1.5*this.wCoord*this.ratioWidth,a=(this.xCoord-(r-this.wCoord))*this.ratioWidth,n=1.5*this.hCoord*this.ratioHeight,s=(this.yCoord-(n-this.hCoord))*this.ratioHeight;i.height*this.hCoord/this.videoHeight<this.minHeadSize?this.padState=d.ERROR_USER_TOO_FAR:(i.getContext("2d").drawImage(this.videoPAD.nativeElement,+a,s,r,n,0,0,i.width,i.height),i.toBlob(function(t){e.photoPADStart=t,e.emitChangeStateEvent("PAD Start photo blob generated"),e.doPADStart()},"image/jpeg"))}else this.processProgressCircle&&!this.faceTracking?(i.width=3*this.minHeadSize*this.ratioWidth,i.height=3*this.minHeadSize*this.ratioHeight,i.getContext("2d").drawImage(this.videoPAD.nativeElement,this.width/2-2*this.circleRadius*this.ratioWidth/2,this.height/2-2*this.circleRadius*this.ratioHeight/2,2*this.circleRadius*this.ratioWidth,2*this.circleRadius*this.ratioHeight,0,0,i.width,i.height),i.toBlob(function(t){e.photoPADStart=t,e.emitChangeStateEvent("PAD Start photo blob generated"),e.doPADStart()},"image/jpeg")):(i.width=this.frameWidth,i.height=this.videoPAD.nativeElement.clientHeight*t,i.getContext("2d").drawImage(this.videoPAD.nativeElement,0,0,i.width,i.height),i.toBlob(function(t){e.photoPADStart=t,e.emitChangeStateEvent("PAD Start photo blob generated"),e.doPADStart()},"image/jpeg"));var o=this.resultPictureWidth/this.videoPAD.nativeElement.clientWidth,c=document.createElement("canvas");this.faceTracking&&this.faceDetector.isRunning()&&this.xCoord?(c.width=1.5*this.wCoord,c.height=1.5*this.hCoord,this.xCoord-=c.width-this.wCoord,this.yCoord-=c.height-this.hCoord,c.getContext("2d").drawImage(this.videoPAD.nativeElement,+this.xCoord,this.yCoord,c.width,c.height,0,0,c.width,c.height)):(c.width=this.resultPictureWidth,c.height=this.videoPAD.nativeElement.clientHeight*o,c.getContext("2d").drawImage(this.videoPAD.nativeElement,0,0,c.width,c.height)),c.toBlob(function(t){e.photoPADStartOriginal=t,e.emitChangeStateEvent("PAD Start photo original blob generated")},"image/jpeg")}catch(e){console.error(e),this.emitChangeStateEvent("Exception at prepareCallPADStart(): "+JSON.stringify(e))}},e.prototype.doPADStart=function(){return o(this,void 0,void 0,function(){var e;return c(this,function(t){switch(t.label){case 0:return[4,new Response(this.photoPADStart).arrayBuffer()];case 1:return e=t.sent(),this.facePadService.sendMessage({faceImage:this.arrayBufferToBase64(e),typeMessagePad:"START",apiKey:this.apiKey}),[2]}})})},e.prototype.prepareCallPADContinue=function(){var e=this;if(this.facePadService.isConnected())try{var t=this.frameWidth/this.videoPAD.nativeElement.clientWidth,i=document.createElement("canvas");if(this.faceTracking&&this.faceDetector.isRunning()&&this.xCoord){i.width=3*this.minHeadSize*this.ratioWidth,i.height=3*this.minHeadSize*this.ratioHeight;var r=1.5*this.wCoord*this.ratioWidth,a=(this.xCoord-(r-this.wCoord))*this.ratioWidth,n=1.5*this.hCoord*this.ratioHeight,s=(this.yCoord-(n-this.hCoord))*this.ratioHeight;i.height*this.hCoord/this.videoHeight<this.minHeadSize?this.processInstruction=this.getMessage("USER_TOO_FAR_LABEL"):(i.getContext("2d").drawImage(this.videoPAD.nativeElement,+a,s,r,n,0,0,i.width,i.height),this.tempToBlob(i))}else this.processProgressCircle&&!this.faceTracking?(i.width=3*this.minHeadSize*this.ratioWidth,i.height=3*this.minHeadSize*this.ratioHeight,i.getContext("2d").drawImage(this.videoPAD.nativeElement,this.width/2-2*this.circleRadius*this.ratioWidth/2,this.height/2-2*this.circleRadius*this.ratioHeight/2,2*this.circleRadius*this.ratioWidth,2*this.circleRadius*this.ratioHeight,0,0,i.width,i.height),this.tempToBlob(i)):(i.width=this.frameWidth,i.height=this.videoPAD.nativeElement.clientHeight*t,i.getContext("2d").drawImage(this.videoPAD.nativeElement,0,0,i.width,i.height),this.tempToBlob(i))}catch(e){this.emitChangeStateEvent("Exception at prepareCallPADContinue(): "+JSON.stringify(e))}else this.endSessionPad(),this.padState=d.ERROR_NO_INTERNET_CONNECTION,setTimeout(function(){return e.initPadSource()},5e3)},e.prototype.arrayBufferToBase64=function(e){for(var t="",i=new Uint8Array(e),r=i.byteLength,a=0;a<r;a++)t+=String.fromCharCode(i[a]);return window.btoa(t)},e.prototype.manageFinalPicture=function(){this.formatFinalPicture?this.rotateAndCropFinalPicture():(this.generatedPicture=this.photoPADStartOriginal,this.emitFaceDetectedEvent(),!this.enableAutoMatching&&this.downloadFinalPictureOnSuccess?this.downloadPicture():this.enableAutoMatching&&this.showInstructionToUploadReference())},e.prototype.showInstructionToUploadReference=function(){this.padState=d.MATCH_READY},e.prototype.rotateAndCropFinalPicture=function(){var e=this,t=new i.HttpHeaders;t=(t=t.append("Accept","application/json")).append("ApiKeyAuth",this.apiKey);var r=new FormData;r.append("picture",this.photoPADStartOriginal),this.httpClient.post(this.wsEndpoint+this.wsFormatPicture,r,{headers:t}).subscribe(function(t){if(t.length>0){var i=e.b64toBlob("data:image/png;base64,"+t[0].picture);e.generatedPicture=i,e.faceDetectedHandler.emit(i),e.enableAutoMatching?e.showInstructionToUploadReference():e.downloadFinalPictureOnSuccess&&e.downloadPicture()}else console.warn("No picture generated from the original picture by the rotate-and-crop method")},function(t){417===t.status?(e.padState=d.ERROR_MULTIPLE_FACE,e.endSessionPad()):404===t.status?(e.padState=d.ERROR_NO_FACE,e.endSessionPad()):0===t.status?(e.padState=d.ERROR_NO_INTERNET_CONNECTION,e.endSessionPad()):console.error("No picture generated from the original picture by the rotate-and-crop method. Error : "+t)})},e.prototype.b64toBlob=function(e){for(var t=atob(e.split(",")[1]),i=new ArrayBuffer(t.length),r=new Uint8Array(i),a=0;a<t.length;a++)r[a]=t.charCodeAt(a);return new Blob([i],{type:"image/png"})},e.prototype.emitFaceDetectedEvent=function(){this.faceDetectedHandler.emit(this.photoPADStartOriginal)},e.prototype.emitInvalidKeyEvent=function(){},e.prototype.emitSessionExpiredEvent=function(){this.sessionExpiredHandler.emit(!0)},e.prototype.emitCameraEvent=function(e){this.cameraHandler.emit(e)},e.prototype.emitChangeStateEvent=function(e){this.changeStateHandler.emit(e)},e.prototype.resetUI=function(){this.padState=d.INITIAL},e.prototype.compareWithReference=function(e){if(e||(e=this.generatedPicture),e)document.getElementById("id3-fileForMatching").click();else{var t="PAD Result picture is missing. You have to execute the entire PAD process before calling the Matching Javascript function.\n";t+="IMPORTANT NOTE : If you are using the pureJS component, you have to provide the picture in argument (mandatory).",console.error(t),this.matchingHandler&&this.matchingHandler.error(t)}},e.prototype.handleFiles=function(e){var t=this,r=new i.HttpHeaders;r=(r=r.append("Accept","application/json")).append("ApiKeyAuth",this.apiKey);var a=URL.createObjectURL(e.target.files[0]),n=new Image;n.onload=function(){var e=500/n.width,i=document.createElement("canvas");i.width=500,i.height=n.height*e,i.getContext("2d").drawImage(n,0,0,i.width,i.height),i.toBlob(function(e){return o(t,void 0,void 0,function(){var t,i=this;return c(this,function(a){return(t=new FormData).append("reference",e),t.append("probe",this.photoPADStartOriginal),this.httpClient.post(this.wsEndpoint+this.wsFaceVerification,t,{headers:r}).subscribe(function(e){i.matchingHandler.emit(e),e.decision?i.padState=d.MATCH_SUCCESS:i.padState=d.MATCH_ERROR,e.decision&&i.downloadFinalPictureOnSuccess&&i.downloadPicture()},function(e){i.padState=d.MATCH_ERROR,i.matchingHandler.error("An error occured during the Matching process. Please retry later.")}),[2]})})},"image/jpeg")},n.src=a},e.prototype.downloadPicture=function(){return o(this,void 0,void 0,function(){var e,t;return c(this,function(i){switch(i.label){case 0:return[4,new Response(this.generatedPicture).arrayBuffer()];case 1:return e=i.sent(),t="data:image/jpeg;base64,"+this.arrayBufferToBase64(e),a(t,"face-result.jpeg","image/jpeg"),[2]}})})},e.prototype.faceTracker=function(){var e=this,t=this.videoPAD.nativeElement,i=this.canvasResult.nativeElement,a=i.getContext("2d");i.width=this.videoWidth,i.height=this.videoHeight,this.faceDetector=new r({video:t,flipLeftRight:!1,flipUpsideDown:!1}),this.faceDetector.startDetecting(),this.faceDetector.setOnFaceLostCallback(function(e,t){a.clearRect(0,0,i.width,i.height)}),this.faceDetector.setOnFaceUpdatedCallback(function(t){a.clearRect(0,0,i.width,i.height),e.faceTrackingOptionDesign?(a.strokeStyle="rgba(0,200,200,0)",a.fillStyle="rgba(0,200,200,0)"):(a.strokeStyle="rgba(0,221,52,1.0)",a.fillStyle="rgba(0,221,52,0.08)"),a.lineWidth=2,t.forEach(function(t){a.beginPath();var r=t.width*i.width/2,n=1.5*t.height*i.height/2;a.ellipse(t.x*i.width+r,t.y*i.height+n-n/2,r,n,0,0,2*Math.PI),a.stroke(),a.fill(),e.faceTrackingOptionDesign&&(a.strokeStyle="rgba(0,200,200,0)",a.lineWidth="10",a.fillStyle="rgba(0, 0, 0, 0.7)",a.beginPath(),a.moveTo(0,0),a.lineTo(0,i.height),a.lineTo(i.width/2,i.height),a.lineTo(t.x*i.width+2*r,t.y*i.height+2*n),a.ellipse(t.x*i.width+r,t.y*i.height+n-n/2,r,n,0,Math.PI/2,Math.PI/2.000001),a.lineTo(i.height/2,i.height),a.lineTo(i.width,i.height),a.lineTo(i.width,0),a.lineTo(i.width/2,0),a.lineTo(i.width/2,e.circleRadius/2),a.lineTo(i.width/2,0),a.lineTo(0,0),a.stroke(),a.fill()),e.xCoord=t.x*i.width,e.yCoord=t.y*i.height,e.wCoord=t.width*i.width,e.hCoord=t.height*i.height})})},e.prototype.getMinHeadSize=function(){var e=this,t=new i.HttpHeaders;t=(t=t.append("Accept","application/json")).append("ApiKeyAuth",this.apiKey),this.httpClient.get(this.wsEndpoint+this.wsImageSize,{headers:t}).subscribe(function(t){e.minHeadSize=t.minHeadSize},function(e){console.error(e)})},e.prototype.tempToBlob=function(e){var t=this;e.toBlob(function(e){return o(t,void 0,void 0,function(){var t;return c(this,function(i){switch(i.label){case 0:return this.emitChangeStateEvent("PAD Continue photo blob generated"),this.photoPADContinue=e,[4,new Response(this.photoPADContinue).arrayBuffer()];case 1:return t=i.sent(),this.facePadService.sendMessage({faceImage:this.arrayBufferToBase64(t),typeMessagePad:"CONTINUE",apiKey:this.apiKey}),[2]}})})},"image/jpeg")},e.prototype.progressCircle=function(){var e=this,t=this.canvasResult.nativeElement;t.width=this.videoWidth,t.height=this.videoHeight;var i=t.getContext("2d"),r=t.width/2,a=t.height/2;i.lineCap="round";var n=0,s=setInterval(function(){i.clearRect(0,0,t.width,t.height),i.strokeStyle="rgba(0,200,200,0)",i.lineWidth="10",i.fillStyle="rgba(0, 0, 0, 0.7)",i.beginPath(),i.moveTo(0,0),i.lineTo(0,t.height),i.lineTo(r,t.height),i.lineTo(r,t.height-e.circleRadius/2),i.arc(r,a,e.circleRadius,Math.PI/2,Math.PI/2.000001),i.lineTo(r,t.height),i.lineTo(t.width,t.height),i.lineTo(t.width,0),i.lineTo(r,0),i.lineTo(r,e.circleRadius/2),i.lineTo(r,0),i.lineTo(0,0),i.stroke(),i.fill(),i.beginPath(),i.strokeStyle=e.colorProgressCircle,i.lineWidth="10",i.arc(r,a,e.circleRadius,Math.PI/180*270,Math.PI/180*(270+n)),i.stroke(),e.processCompletion>=100?(i.arc(r,a,e.circleRadius,Math.PI/180*(270+n),Math.PI/180*630),i.stroke(),e.processCompletion=0,n=0,clearInterval(s),e.isCircleRunning=!1):n<e.processCompletion/100*360?n+=10:e.padState===d.ERROR_NO_FACE&&(i.clearRect(0,0,t.width,t.height),e.processCompletion=0,n=0,clearInterval(s),e.isCircleRunning=!1)},60)},e.decorators=[{type:t.Component,args:[{selector:"id3-face-pad",template:'<id3-face-pad-messages *ngIf="messagesEnabled" class="show-small-screen" [startTipsLabel]="getMessage(\'START_TIPS_LABEL\')"\r\n [turnFaceLabel]="getMessage(\'TURN_FACE_LABEL\')" [expiredSessionErrorLabel]="getMessage(\'EXPIRED_SESSION_ERROR_LABEL\')" \r\n [noFaceErrorLabel]="getMessage(\'NO_FACE_ERROR_LABEL\')" [noInternetConnectionLabel]="getMessage(\'NO_INTERNET_CONNECTION_LABEL\')"\r\n [multipleFaceErrorLabel]="getMessage(\'MULTIPLE_FACE_ERROR_LABEL\')" [successLabel]="getMessage(\'SUCCESS_LABEL\')" \r\n [processInstruction]="processInstruction" [padState]="padState" [matchingSuccessLabel]="getMessage(\'MATCHING_SUCCESS_LABEL\')"\r\n [matchingErrorLabel]="getMessage(\'MATCHING_ERROR_LABEL\')" [matchingReadyLabel]="getMessage(\'MATCHING_READY_LABEL\')"\r\n [userTooFarLabel]="getMessage(\'USER_TOO_FAR_LABEL\')" [userNotCenterLabel]="getMessage(\'USER_NOT_CENTER_LABEL\')">\r\n</id3-face-pad-messages>\r\n\r\n<input id="id3-fileForMatching" type="file" name="fileForMatch" class="d-none" (change)="handleFiles($event)"/>\r\n<div class="padContainer" [style.max-height]="videoHeight + \'px\'" [style.max-width]="videoWidth + \'px\'">\r\n <canvas class="canvas {{mirror && !processProgressCircle ? \'mirror\': \'\'}}" #resultCanvas></canvas>\r\n <video class="liveStream {{mirror ? \'mirror\': \'\'}}" #videoPAD autoplay playsinline></video>\r\n <div class="id3-pad-overlay">\r\n <div class="extras">\r\n <img class="text-left" id="id3Logo" src="/assets/images/id3_logo_white_40.png" height="40" width="40" *ngIf="apiKey === \'test-token-id3-webcapture\'">\r\n </div>\r\n <div id="mainContent" class="pad-content d-block">\r\n\r\n <id3-face-pad-messages *ngIf="messagesEnabled" class="show-big-screen" [startTipsLabel]="getMessage(\'START_TIPS_LABEL\')"\r\n [turnFaceLabel]="getMessage(\'TURN_FACE_LABEL\')" [expiredSessionErrorLabel]="getMessage(\'EXPIRED_SESSION_ERROR_LABEL\')" \r\n [noFaceErrorLabel]="getMessage(\'NO_FACE_ERROR_LABEL\')" [noInternetConnectionLabel]="getMessage(\'NO_INTERNET_CONNECTION_LABEL\')"\r\n [multipleFaceErrorLabel]="getMessage(\'MULTIPLE_FACE_ERROR_LABEL\')" [successLabel]="getMessage(\'SUCCESS_LABEL\')" \r\n [processInstruction]="processInstruction" [padState]="padState" [matchingSuccessLabel]="getMessage(\'MATCHING_SUCCESS_LABEL\')"\r\n [matchingErrorLabel]="getMessage(\'MATCHING_ERROR_LABEL\')" [matchingReadyLabel]="getMessage(\'MATCHING_READY_LABEL\')"\r\n [userTooFarLabel]="getMessage(\'USER_TOO_FAR_LABEL\')" [userNotCenterLabel]="getMessage(\'USER_NOT_CENTER_LABEL\')">\r\n </id3-face-pad-messages>\r\n\r\n <br>\r\n <div class="d-flex">\r\n <h4 id="padAlert" class="text-white"></h4>\r\n </div>\r\n </div>\r\n <div id="mainButtons" class="pad-buttons d-block">\r\n <button type="button" *ngIf="isRequestPermissionState()" (click)="initPadSource()" class="btn btn-primary btn-id3 mt-5">\r\n <em class="pi pi-caret-right"></em>{{getMessage(\'ENABLE_CAM_BUTTON_LABEL\')}}\r\n </button>\r\n <button type="button" *ngIf="isInitialState()" (click)="prepareCallPADStart()" class="btn btn-primary btn-id3 mt-5">\r\n <em class="pi pi-caret-right"></em> {{getMessage(\'START_BUTTON_LABEL\')}}\r\n </button>\r\n <button type="button" *ngIf="isErrorSessionState() || isErrorNoFaceState() || isErrorNoInternetConnection() || isErrorUserTooFar() || isErrorUserNotCenter() || isErrorMultipleFaceState() || (allowsMultipleRetries && isSuccessState())" (click)="resetUI()" class="btn btn-primary btn-id3 mt-3">\r\n <em class="pi pi-caret-right"></em> {{getMessage(\'RETRY_BUTTON_LABEL\')}}\r\n </button>\r\n\r\n <button type="button" *ngIf="isMatchingReadyState()" class="btn btn-primary btn-id3 mt-3" (click)="compareWithReference()">\r\n <em class="pi pi-caret-right"></em> {{getMessage(\'COMPARE_BUTTON_LABEL\')}}\r\n </button>\r\n <button type="button" *ngIf="isMatchingSuccessState()|| isMatchingErrorState()" class="btn btn-primary btn-id3 mt-3" (click)="resetUI()">\r\n <em class="pi pi-caret-right"></em> {{getMessage(\'RESTART_BUTTON_LABEL\')}}\r\n </button>\r\n\r\n </div>\r\n </div>\r\n </div>',styles:['.padContainer{position:relative;margin:auto}.padContainer .h1,.padContainer .h2,.padContainer .h3,.padContainer .h4,.padContainer .h5,.padContainer .h6,.padContainer h1,.padContainer h2,.padContainer h3,.padContainer h4,.padContainer h5,.padContainer h6{font-family:"PT Sans",sans-serif;font-weight:700;font-size:50px}.padContainer .liveStream{z-index:1;top:0;left:0;width:100%;height:auto}.padContainer .btn-id3{border-radius:10px}.padContainer .font-weight-normal{width:250px;text-align:left}.padContainer .id3-pad-overlay{z-index:3;position:absolute;top:0;bottom:0;left:0;right:0;display:flex;align-items:center;color:#fff;font-size:20px;flex-direction:column;border:1px solid #ddd}.padContainer .extras{display:flex;top:15;right:15;left:15;width:100%;align-items:left}.padContainer .pad-content{position:absolute;display:block;text-align:center}.padContainer .pad-buttons{position:absolute;display:block;text-align:center;bottom:5%}.padContainer .padBehaviorLabel{font-size:20px}.padContainer .breathe{margin:6px 10px}.padContainer .id3-overlay{position:absolute}.padContainer .canvas{z-index:2;top:0;left:0;width:100%;height:100%;position:absolute}.padContainer .mirror{transform:rotateY(180deg);-webkit-transform:rotateY(180deg);-moz-transform:rotateY(180deg)}@media only screen and (max-width:500px){.show-big-screen{display:none}}@media only screen and (min-width:500px){.show-small-screen{display:none}}@media only screen and (min-width:601px){h4{font-size:25px}}@media only screen and (max-width:600px){h1{font-size:27px!important;margin-left:15%}h4{font-size:25px}}']}]}],e.ctorParameters=function(){return[{type:h},{type:i.HttpClient}]},e.propDecorators={canvasResult:[{type:t.ViewChild,args:["resultCanvas",{static:!1}]}],videoPAD:[{type:t.ViewChild,args:["videoPAD",{static:!1}]}],fileForMatching:[{type:t.ViewChild,args:["fileForMatching",{static:!1}]}],wsEndpoint:[{type:t.Input}],wsFormatPicture:[{type:t.Input}],wsFaceVerification:[{type:t.Input}],wsImageSize:[{type:t.Input}],apiKey:[{type:t.Input}],autoStart:[{type:t.Input}],faceTracking:[{type:t.Input}],faceTrackingOptionDesign:[{type:t.Input}],mirror:[{type:t.Input}],processProgressCircle:[{type:t.Input}],colorProgressCircle:[{type:t.Input}],circleRadius:[{type:t.Input}],formatFinalPicture:[{type:t.Input}],downloadFinalPictureOnSuccess:[{type:t.Input}],resultPictureWidth:[{type:t.Input}],enableAutoMatching:[{type:t.Input}],allowsMultipleRetries:[{type:t.Input}],videoWidth:[{type:t.Input}],videoHeight:[{type:t.Input}],videoWidthMobile:[{type:t.Input}],videoHeightMobile:[{type:t.Input}],frameWidth:[{type:t.Input}],minHeadSize:[{type:t.Input}],messagesEnabled:[{type:t.Input}],padFrequency:[{type:t.Input}],startTipsLabel:[{type:t.Input}],processFaceCenterLabel:[{type:t.Input}],processNoFaceLabel:[{type:t.Input}],processMultipleFaceLabel:[{type:t.Input}],turnFaceLabel:[{type:t.Input}],expiredSessionErrorLabel:[{type:t.Input}],noFaceErrorLabel:[{type:t.Input}],multipleFaceErrorLabel:[{type:t.Input}],successLabel:[{type:t.Input}],startButtonLabel:[{type:t.Input}],restartButtonLabel:[{type:t.Input}],compareButtonLabel:[{type:t.Input}],enableCamButtonLabel:[{type:t.Input}],retryButtonLabel:[{type:t.Input}],matchingSuccessLabel:[{type:t.Input}],matchingReadyLabel:[{type:t.Input}],matchingErrorLabel:[{type:t.Input}],noInternetConnectionLabel:[{type:t.Input}],userTooFarLabel:[{type:t.Input}],userNotCenterLabel:[{type:t.Input}],faceDetectedHandler:[{type:t.Output}],cameraHandler:[{type:t.Output}],sessionExpiredHandler:[{type:t.Output}],changeStateHandler:[{type:t.Output}],matchingHandler:[{type:t.Output}],compareWithReference:[{type:t.Input}]},e}(),g=function(){function e(){this.processInstruction=""}return e.prototype.ngOnInit=function(){},e.prototype.isRequestPermissionState=function(){return this.padState===d.REQUEST_PERMISSIONS},e.prototype.isInitialState=function(){return this.padState===d.INITIAL},e.prototype.isStartedState=function(){return this.padState===d.STARTED},e.prototype.isProcessingState=function(){return this.padState===d.PROCESS},e.prototype.isErrorSessionState=function(){return this.padState===d.ERROR_SESSION},e.prototype.isErrorNoFaceState=function(){return this.padState===d.ERROR_NO_FACE},e.prototype.isErrorNoInternetConnection=function(){return this.padState===d.ERROR_NO_INTERNET_CONNECTION},e.prototype.isErrorUserTooFar=function(){return this.padState===d.ERROR_USER_TOO_FAR},e.prototype.isErrorUserNotCenter=function(){return this.padState===d.ERROR_USER_NOT_CENTER},e.prototype.isErrorMultipleFaceState=function(){return this.padState===d.ERROR_MULTIPLE_FACE},e.prototype.isSuccessState=function(){return this.padState===d.SUCCESS},e.prototype.isMatchingReadyState=function(){return this.padState===d.MATCH_READY},e.prototype.isMatchingSuccessState=function(){return this.padState===d.MATCH_SUCCESS},e.prototype.isMatchingErrorState=function(){return this.padState===d.MATCH_ERROR},e.prototype.isInvalidKeyState=function(){return this.padState===d.ERROR_KEY},e.decorators=[{type:t.Component,args:[{selector:"id3-face-pad-messages",template:'<div class="mt-2">\r\n <div *ngIf="isInitialState()" class="alert alert-primary" role="alert">\r\n {{startTipsLabel}}\r\n </div>\r\n <div *ngIf="isStartedState() || (isProcessingState() && processInstruction.length>0)" class="alert alert-danger" role="alert">\r\n {{processInstruction}}\r\n </div>\r\n <div *ngIf="isProcessingState() && processInstruction.length==0" class="alert alert-primary" role="alert">\r\n {{turnFaceLabel}}\r\n </div>\r\n <div *ngIf="isErrorSessionState()" class="alert alert-danger" role="alert">\r\n {{expiredSessionErrorLabel}}\r\n </div>\r\n <div *ngIf="isErrorNoFaceState()" class="alert alert-danger" role="alert">\r\n {{noFaceErrorLabel}}\r\n </div>\r\n <div *ngIf="isErrorNoInternetConnection()" class="alert alert-danger" role="alert">\r\n {{noInternetConnectionLabel}}\r\n </div>\r\n <div *ngIf="isErrorUserTooFar()" class="alert alert-primary" role="alert">\r\n {{userTooFarLabel}}\r\n </div>\r\n <div *ngIf="isErrorUserNotCenter()" class="alert alert-danger" role="alert">\r\n {{userNotCenterLabel}}\r\n </div>\r\n <div *ngIf="isErrorMultipleFaceState()" class="alert alert-danger" role="alert">\r\n {{multipleFaceErrorLabel}}\r\n </div>\r\n <div *ngIf="isSuccessState()" class="alert alert-success" role="alert">\r\n {{successLabel}}\r\n </div>\r\n <div *ngIf="isMatchingReadyState()" class="alert alert-primary" role="alert">\r\n {{matchingReadyLabel}}\r\n </div>\r\n <div *ngIf="isMatchingSuccessState()" class="alert alert-success" role="alert">\r\n {{matchingSuccessLabel}}\r\n </div>\r\n <div *ngIf="isMatchingErrorState()" class="alert alert-danger" role="alert">\r\n {{matchingErrorLabel}}\r\n </div>\r\n <div *ngIf="isInvalidKeyState()" class="alert alert-danger" role="alert">\r\n The API Key is invalid. Please check your API key.\r\n </div>\r\n</div>'}]}],e.ctorParameters=function(){return[]},e.propDecorators={startTipsLabel:[{type:t.Input}],turnFaceLabel:[{type:t.Input}],expiredSessionErrorLabel:[{type:t.Input}],noFaceErrorLabel:[{type:t.Input}],noInternetConnectionLabel:[{type:t.Input}],userTooFarLabel:[{type:t.Input}],userNotCenterLabel:[{type:t.Input}],multipleFaceErrorLabel:[{type:t.Input}],successLabel:[{type:t.Input}],matchingSuccessLabel:[{type:t.Input}],matchingReadyLabel:[{type:t.Input}],matchingErrorLabel:[{type:t.Input}],padState:[{type:t.Input}],processInstruction:[{type:t.Input}]},e}(),S=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[E,g],imports:[i.HttpClientModule,n.CommonModule,s.BrowserModule],exports:[E],entryComponents:[E]}]}],e}();e.FacePadComponent=E,e.FacePadModule=S,e.FacePadService=h,e.ɵa=g,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=id3-face-pad.umd.min.js.map

@@ -54,2 +54,20 @@ /**

*/
isErrorNoInternetConnection() {
return this.padState === PadState.ERROR_NO_INTERNET_CONNECTION;
}
/**
* @return {?}
*/
isErrorUserTooFar() {
return this.padState === PadState.ERROR_USER_TOO_FAR;
}
/**
* @return {?}
*/
isErrorUserNotCenter() {
return this.padState === PadState.ERROR_USER_NOT_CENTER;
}
/**
* @return {?}
*/
isErrorMultipleFaceState() {

@@ -62,3 +80,3 @@ return this.padState === PadState.ERROR_MULTIPLE_FACE;

isSuccessState() {
return this.padState === PadState.SUCCESS || this.padState === PadState.MATCH_SUCCESS;
return this.padState === PadState.SUCCESS;
}

@@ -93,3 +111,3 @@ /**

selector: 'id3-face-pad-messages',
template: "<div class=\"mt-2\">\r\n <div *ngIf=\"isInitialState()\" class=\"alert alert-primary\" role=\"alert\">\r\n {{startTipsLabel}}\r\n </div>\r\n <div *ngIf=\"isStartedState() || (isProcessingState() && processInstruction.length>0)\" class=\"alert alert-danger\" role=\"alert\">\r\n {{processInstruction}}\r\n </div>\r\n <div *ngIf=\"isProcessingState() && processInstruction.length==0\" class=\"alert alert-primary\" role=\"alert\">\r\n {{turnFaceLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorSessionState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{expiredSessionErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorNoFaceState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{noFaceErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorMultipleFaceState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{multipleFaceErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isSuccessState()\" class=\"alert alert-success\" role=\"alert\">\r\n {{successLabel}}\r\n </div>\r\n <div *ngIf=\"isMatchingReadyState()\" class=\"alert alert-primary\" role=\"alert\">\r\n {{matchingReadyLabel}}\r\n </div>\r\n <div *ngIf=\"isMatchingSuccessState()\" class=\"alert alert-success\" role=\"alert\">\r\n {{matchingSuccessLabel}}\r\n </div>\r\n <div *ngIf=\"isMatchingErrorState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{matchingErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isInvalidKeyState()\" class=\"alert alert-danger\" role=\"alert\">\r\n The API Key is invalid. Please check your API key.\r\n </div>\r\n</div>"
template: "<div class=\"mt-2\">\r\n <div *ngIf=\"isInitialState()\" class=\"alert alert-primary\" role=\"alert\">\r\n {{startTipsLabel}}\r\n </div>\r\n <div *ngIf=\"isStartedState() || (isProcessingState() && processInstruction.length>0)\" class=\"alert alert-danger\" role=\"alert\">\r\n {{processInstruction}}\r\n </div>\r\n <div *ngIf=\"isProcessingState() && processInstruction.length==0\" class=\"alert alert-primary\" role=\"alert\">\r\n {{turnFaceLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorSessionState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{expiredSessionErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorNoFaceState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{noFaceErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorNoInternetConnection()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{noInternetConnectionLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorUserTooFar()\" class=\"alert alert-primary\" role=\"alert\">\r\n {{userTooFarLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorUserNotCenter()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{userNotCenterLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorMultipleFaceState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{multipleFaceErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isSuccessState()\" class=\"alert alert-success\" role=\"alert\">\r\n {{successLabel}}\r\n </div>\r\n <div *ngIf=\"isMatchingReadyState()\" class=\"alert alert-primary\" role=\"alert\">\r\n {{matchingReadyLabel}}\r\n </div>\r\n <div *ngIf=\"isMatchingSuccessState()\" class=\"alert alert-success\" role=\"alert\">\r\n {{matchingSuccessLabel}}\r\n </div>\r\n <div *ngIf=\"isMatchingErrorState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{matchingErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isInvalidKeyState()\" class=\"alert alert-danger\" role=\"alert\">\r\n The API Key is invalid. Please check your API key.\r\n </div>\r\n</div>"
}] }

@@ -104,2 +122,5 @@ ];

noFaceErrorLabel: [{ type: Input }],
noInternetConnectionLabel: [{ type: Input }],
userTooFarLabel: [{ type: Input }],
userNotCenterLabel: [{ type: Input }],
multipleFaceErrorLabel: [{ type: Input }],

@@ -123,2 +144,8 @@ successLabel: [{ type: Input }],

/** @type {?} */
FacePadMessagesComponent.prototype.noInternetConnectionLabel;
/** @type {?} */
FacePadMessagesComponent.prototype.userTooFarLabel;
/** @type {?} */
FacePadMessagesComponent.prototype.userNotCenterLabel;
/** @type {?} */
FacePadMessagesComponent.prototype.multipleFaceErrorLabel;

@@ -138,2 +165,2 @@ /** @type {?} */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZS1wYWQtbWVzc2FnZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlkMy9mYWNlLXBhZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnQvZmFjZS1wYWQtbWVzc2FnZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFNOUMsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQztRQWlDTyx1QkFBa0IsR0FBRyxFQUFFLENBQUM7SUFoQy9CLENBQUM7Ozs7SUFrQ0QsUUFBUSxLQUFVLENBQUM7Ozs7SUFFWix3QkFBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQztJQUN4RCxDQUFDOzs7O0lBRU0sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUM1QyxDQUFDOzs7O0lBRU0sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUM1QyxDQUFDOzs7O0lBRU0saUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzVDLENBQUM7Ozs7SUFFTSxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDbEQsQ0FBQzs7OztJQUVNLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLGFBQWEsQ0FBQztJQUNsRCxDQUFDOzs7O0lBRU0sd0JBQXdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsbUJBQW1CLENBQUM7SUFDeEQsQ0FBQzs7OztJQUVNLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsYUFBYSxDQUFDO0lBQ3hGLENBQUM7Ozs7SUFFTSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFDaEQsQ0FBQzs7OztJQUVNLHNCQUFzQjtRQUMzQixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLGFBQWEsQ0FBQztJQUNsRCxDQUFDOzs7O0lBRU0sb0JBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQ2hELENBQUM7Ozs7SUFFTSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxTQUFTLENBQUM7SUFDOUMsQ0FBQzs7O1lBekZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyx1bkRBQStDO2FBQ2hEOzs7Ozs2QkFLRSxLQUFLOzRCQUdMLEtBQUs7dUNBR0wsS0FBSzsrQkFHTCxLQUFLO3FDQUdMLEtBQUs7MkJBR0wsS0FBSzttQ0FHTCxLQUFLO2lDQUdMLEtBQUs7aUNBR0wsS0FBSzt1QkFHTCxLQUFLO2lDQUdMLEtBQUs7Ozs7SUE5Qk4sa0RBQzhCOztJQUU5QixpREFDNkI7O0lBRTdCLDREQUN3Qzs7SUFFeEMsb0RBQ2dDOztJQUVoQywwREFDc0M7O0lBRXRDLGdEQUM0Qjs7SUFFNUIsd0RBQ29DOztJQUVwQyxzREFDa0M7O0lBRWxDLHNEQUNrQzs7SUFFbEMsNENBQzBCOztJQUUxQixzREFDK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGFkU3RhdGUgfSBmcm9tICcuLi9tb2RlbC9wYWQtc3RhdGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZDMtZmFjZS1wYWQtbWVzc2FnZXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnZmFjZS1wYWQtbWVzc2FnZXMuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGYWNlUGFkTWVzc2FnZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RhcnRUaXBzTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHVybkZhY2VMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBleHBpcmVkU2Vzc2lvbkVycm9yTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbm9GYWNlRXJyb3JMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtdWx0aXBsZUZhY2VFcnJvckxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN1Y2Nlc3NMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtYXRjaGluZ1N1Y2Nlc3NMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtYXRjaGluZ1JlYWR5TGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbWF0Y2hpbmdFcnJvckxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBhZFN0YXRlOiBQYWRTdGF0ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJvY2Vzc0luc3RydWN0aW9uID0gJyc7XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgcHVibGljIGlzUmVxdWVzdFBlcm1pc3Npb25TdGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhZFN0YXRlID09PSBQYWRTdGF0ZS5SRVFVRVNUX1BFUk1JU1NJT05TO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzSW5pdGlhbFN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLklOSVRJQUw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNTdGFydGVkU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuU1RBUlRFRDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc1Byb2Nlc3NpbmdTdGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhZFN0YXRlID09PSBQYWRTdGF0ZS5QUk9DRVNTO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzRXJyb3JTZXNzaW9uU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuRVJST1JfU0VTU0lPTjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0Vycm9yTm9GYWNlU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuRVJST1JfTk9fRkFDRTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0Vycm9yTXVsdGlwbGVGYWNlU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuRVJST1JfTVVMVElQTEVfRkFDRTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc1N1Y2Nlc3NTdGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhZFN0YXRlID09PSBQYWRTdGF0ZS5TVUNDRVNTIHx8IHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLk1BVENIX1NVQ0NFU1M7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNNYXRjaGluZ1JlYWR5U3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuTUFUQ0hfUkVBRFk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNNYXRjaGluZ1N1Y2Nlc3NTdGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhZFN0YXRlID09PSBQYWRTdGF0ZS5NQVRDSF9TVUNDRVNTO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzTWF0Y2hpbmdFcnJvclN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLk1BVENIX0VSUk9SO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzSW52YWxpZEtleVN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLkVSUk9SX0tFWTtcclxuICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZS1wYWQtbWVzc2FnZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlkMy9mYWNlLXBhZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnQvZmFjZS1wYWQtbWVzc2FnZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFNOUMsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQztRQTBDTyx1QkFBa0IsR0FBRyxFQUFFLENBQUM7SUF6Qy9CLENBQUM7Ozs7SUEyQ0QsUUFBUSxLQUFVLENBQUM7Ozs7SUFFWix3QkFBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQztJQUN4RCxDQUFDOzs7O0lBRU0sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUM1QyxDQUFDOzs7O0lBRU0sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUM1QyxDQUFDOzs7O0lBRU0saUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzVDLENBQUM7Ozs7SUFFTSxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDbEQsQ0FBQzs7OztJQUVNLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLGFBQWEsQ0FBQztJQUNsRCxDQUFDOzs7O0lBRU0sMkJBQTJCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsNEJBQTRCLENBQUM7SUFDakUsQ0FBQzs7OztJQUVNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLGtCQUFrQixDQUFDO0lBQ3ZELENBQUM7Ozs7SUFFTSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQztJQUMxRCxDQUFDOzs7O0lBRU0sd0JBQXdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsbUJBQW1CLENBQUM7SUFDeEQsQ0FBQzs7OztJQUVNLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDNUMsQ0FBQzs7OztJQUVNLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUNoRCxDQUFDOzs7O0lBRU0sc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsYUFBYSxDQUFDO0lBQ2xELENBQUM7Ozs7SUFFTSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFDaEQsQ0FBQzs7OztJQUVNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLFNBQVMsQ0FBQztJQUM5QyxDQUFDOzs7WUE5R0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLDhoRUFBK0M7YUFDaEQ7Ozs7OzZCQUtFLEtBQUs7NEJBR0wsS0FBSzt1Q0FHTCxLQUFLOytCQUdMLEtBQUs7d0NBR0wsS0FBSzs4QkFHTCxLQUFLO2lDQUdMLEtBQUs7cUNBR0wsS0FBSzsyQkFHTCxLQUFLO21DQUdMLEtBQUs7aUNBR0wsS0FBSztpQ0FHTCxLQUFLO3VCQUdMLEtBQUs7aUNBR0wsS0FBSzs7OztJQXZDTixrREFDOEI7O0lBRTlCLGlEQUM2Qjs7SUFFN0IsNERBQ3dDOztJQUV4QyxvREFDZ0M7O0lBRWhDLDZEQUN5Qzs7SUFFekMsbURBQytCOztJQUUvQixzREFDa0M7O0lBRWxDLDBEQUNzQzs7SUFFdEMsZ0RBQzRCOztJQUU1Qix3REFDb0M7O0lBRXBDLHNEQUNrQzs7SUFFbEMsc0RBQ2tDOztJQUVsQyw0Q0FDMEI7O0lBRTFCLHNEQUMrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQYWRTdGF0ZSB9IGZyb20gJy4uL21vZGVsL3BhZC1zdGF0ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lkMy1mYWNlLXBhZC1tZXNzYWdlcycsXHJcbiAgdGVtcGxhdGVVcmw6ICdmYWNlLXBhZC1tZXNzYWdlcy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEZhY2VQYWRNZXNzYWdlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzdGFydFRpcHNMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0dXJuRmFjZUxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGV4cGlyZWRTZXNzaW9uRXJyb3JMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBub0ZhY2VFcnJvckxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG5vSW50ZXJuZXRDb25uZWN0aW9uTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdXNlclRvb0ZhckxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHVzZXJOb3RDZW50ZXJMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtdWx0aXBsZUZhY2VFcnJvckxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN1Y2Nlc3NMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtYXRjaGluZ1N1Y2Nlc3NMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtYXRjaGluZ1JlYWR5TGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbWF0Y2hpbmdFcnJvckxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBhZFN0YXRlOiBQYWRTdGF0ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJvY2Vzc0luc3RydWN0aW9uID0gJyc7XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgcHVibGljIGlzUmVxdWVzdFBlcm1pc3Npb25TdGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhZFN0YXRlID09PSBQYWRTdGF0ZS5SRVFVRVNUX1BFUk1JU1NJT05TO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzSW5pdGlhbFN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLklOSVRJQUw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNTdGFydGVkU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuU1RBUlRFRDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc1Byb2Nlc3NpbmdTdGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhZFN0YXRlID09PSBQYWRTdGF0ZS5QUk9DRVNTO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzRXJyb3JTZXNzaW9uU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuRVJST1JfU0VTU0lPTjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0Vycm9yTm9GYWNlU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuRVJST1JfTk9fRkFDRTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0Vycm9yTm9JbnRlcm5ldENvbm5lY3Rpb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuRVJST1JfTk9fSU5URVJORVRfQ09OTkVDVElPTjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0Vycm9yVXNlclRvb0ZhcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhZFN0YXRlID09PSBQYWRTdGF0ZS5FUlJPUl9VU0VSX1RPT19GQVI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNFcnJvclVzZXJOb3RDZW50ZXIoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuRVJST1JfVVNFUl9OT1RfQ0VOVEVSO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzRXJyb3JNdWx0aXBsZUZhY2VTdGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhZFN0YXRlID09PSBQYWRTdGF0ZS5FUlJPUl9NVUxUSVBMRV9GQUNFO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzU3VjY2Vzc1N0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLlNVQ0NFU1M7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNNYXRjaGluZ1JlYWR5U3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuTUFUQ0hfUkVBRFk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNNYXRjaGluZ1N1Y2Nlc3NTdGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhZFN0YXRlID09PSBQYWRTdGF0ZS5NQVRDSF9TVUNDRVNTO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzTWF0Y2hpbmdFcnJvclN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLk1BVENIX0VSUk9SO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzSW52YWxpZEtleVN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLkVSUk9SX0tFWTtcclxuICB9XHJcbn1cclxuIl19

@@ -111,2 +111,2 @@ /**

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZS1wYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpZDMvZmFjZS1wYWQvIiwic291cmNlcyI6WyJsaWIvZmFjZS1wYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGNBQWM7SUFFekIsZ0JBQWdCLENBQUM7Ozs7OztJQUlWLE9BQU8sQ0FBQyxHQUFHLEVBQUUsT0FBTztRQUN6QixPQUFPLElBQUksT0FBTzs7Ozs7UUFBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksU0FBUyxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU07OztZQUFHLEdBQUcsRUFBRTtnQkFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO2dCQUNqRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEIsQ0FBQyxDQUFBLENBQUM7WUFFRixJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7WUFFNUIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPOzs7O1lBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO2dCQUM3QyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEIsQ0FBQyxDQUFBLENBQUM7UUFDSixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFTSxVQUFVO1FBQ2IsSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksRUFBRTtZQUNuQixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDO1NBQ2hCO0lBQ0wsQ0FBQzs7OztJQUVNLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQ2xFLENBQUM7Ozs7O0lBRU0sV0FBVyxDQUFDLE9BQVk7UUFDM0IsSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksRUFBRTtZQUNuQixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxHQUFHLE1BQU0sRUFBRTtnQkFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpREFBaUQ7b0JBQzNELGdGQUFnRixDQUFDLENBQUM7YUFDckY7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQ3ZDO1NBQ0Y7YUFBTTtZQUNILE9BQU8sQ0FBQyxJQUFJLENBQUMsMkRBQTJELENBQUMsQ0FBQztTQUM3RTtJQUNMLENBQUM7Ozs7OztJQUVNLHVCQUF1QixDQUFDLE1BQU0sRUFBRSxRQUFRO1FBQzdDLFVBQVU7OztRQUNOLEdBQUcsRUFBRTtZQUNELElBQUksTUFBTSxDQUFDLFVBQVUsS0FBSyxDQUFDLEVBQUU7Z0JBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFO29CQUNsQixRQUFRLEVBQUUsQ0FBQztpQkFDZDthQUNKO2lCQUFNO2dCQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQzthQUNsRDtRQUVMLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLDBDQUEwQztJQUN2RCxDQUFDOzs7WUFoRUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7Ozs7Ozs7O0lBS0MsNEJBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRmFjZVBhZFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBwcml2YXRlIHdzOiBXZWJTb2NrZXQ7XHJcblxyXG4gIHB1YmxpYyBjb25uZWN0KHVybCwgaGFuZGxlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy53cyA9IG5ldyBXZWJTb2NrZXQodXJsICsgJy9wYWQvc2Vzc2lvbicpO1xyXG4gICAgICB0aGlzLndzLm9ub3BlbiA9ICgpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdJbmZvOiBDb25uZWN0aW9uIFBBRCBFc3RhYmxpc2hlZC4nKTtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICB0aGlzLndzLm9ubWVzc2FnZSA9IGhhbmRsZXI7XHJcblxyXG4gICAgICB0aGlzLndzLm9uY2xvc2UgPSAoZXZlbnQpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdJbmZvOiBDbG9zaW5nIFBBRCBDb25uZWN0aW9uLicpO1xyXG4gICAgICAgICAgcmVqZWN0KGZhbHNlKTtcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRpc2Nvbm5lY3QoKTogdm9pZCB7XHJcbiAgICAgIGlmICh0aGlzLndzICE9IG51bGwpIHtcclxuICAgICAgICB0aGlzLndzLmNsb3NlKCk7XHJcbiAgICAgICAgdGhpcy53cyA9IG51bGw7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0Nvbm5lY3RlZCgpOiBib29sZWFuIHtcclxuICAgICAgcmV0dXJuIHRoaXMud3MgIT0gbnVsbCAmJiB0aGlzLndzLnJlYWR5U3RhdGUgPT09IHRoaXMud3MuT1BFTjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZW5kTWVzc2FnZShtZXNzYWdlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgaWYgKHRoaXMud3MgIT0gbnVsbCkge1xyXG4gICAgICAgIGlmICh0aGlzLndzLmJ1ZmZlcmVkQW1vdW50ID4gMjAwMDAwKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnSW1hZ2Ugbm90IHNlbnQgOiBXZWIgc29ja2V0IGJ1ZmZlciBpcyB0b28gYmlnLiAnICtcclxuICAgICAgICAgICAgJ1dlIGhhdmUgdG8gd2FpdCB0aGUgcHJldmlvdXMgbWVzc2FnZXMgdG8gYmUgc2VuZCBiZWZvcmUgc2VuZGluZyBhIG5ldyBtZXNzYWdlLicpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLndzLnNlbmQoSlNPTi5zdHJpbmdpZnkobWVzc2FnZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUud2FybignY29ubmVjdGlvbiB0byB3ZWIgc29ja2V0IG5vdCBlc3RhYmxpc2hlZCwgcGxlYXNlIGNvbm5lY3QuJyk7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyB3YWl0Rm9yU29ja2V0Q29ubmVjdGlvbihzb2NrZXQsIGNhbGxiYWNrKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHNvY2tldC5yZWFkeVN0YXRlID09PSAxKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnQ29ubmVjdGlvbiBpcyBtYWRlJyk7XHJcbiAgICAgICAgICAgICAgICBpZiAoY2FsbGJhY2sgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnd2FpdCBmb3IgY29ubmVjdGlvbi4uLicpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy53YWl0Rm9yU29ja2V0Q29ubmVjdGlvbihzb2NrZXQsIGNhbGxiYWNrKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9LCA1KTsgLy8gd2FpdCA1IG1pbGlzZWNvbmQgZm9yIHRoZSBjb25uZWN0aW9uLi4uXHJcbiAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZS1wYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpZDMvZmFjZS1wYWQvIiwic291cmNlcyI6WyJsaWIvZmFjZS1wYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGNBQWM7SUFFekIsZ0JBQWdCLENBQUM7Ozs7OztJQUlWLE9BQU8sQ0FBQyxHQUFHLEVBQUUsT0FBTztRQUN6QixPQUFPLElBQUksT0FBTzs7Ozs7UUFBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksU0FBUyxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU07OztZQUFHLEdBQUcsRUFBRTtnQkFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO2dCQUNqRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEIsQ0FBQyxDQUFBLENBQUM7WUFFRixJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7WUFDNUIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPOzs7O1lBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO2dCQUM3QyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEIsQ0FBQyxDQUFBLENBQUM7UUFDSixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFTSxVQUFVO1FBQ2IsSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksRUFBRTtZQUNuQixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDO1NBQ2hCO0lBQ0wsQ0FBQzs7OztJQUVNLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQ2xFLENBQUM7Ozs7O0lBRU0sV0FBVyxDQUFDLE9BQVk7UUFDM0IsSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksRUFBRTtZQUNuQixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxHQUFHLE1BQU0sRUFBRTtnQkFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpREFBaUQ7b0JBQzNELGdGQUFnRixDQUFDLENBQUM7YUFDckY7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQ3pDO1NBQ0Y7YUFBTTtZQUNILE9BQU8sQ0FBQyxJQUFJLENBQUMsMkRBQTJELENBQUMsQ0FBQztTQUM3RTtJQUNMLENBQUM7Ozs7OztJQUVNLHVCQUF1QixDQUFDLE1BQU0sRUFBRSxRQUFRO1FBQzdDLFVBQVU7OztRQUNOLEdBQUcsRUFBRTtZQUNELElBQUksTUFBTSxDQUFDLFVBQVUsS0FBSyxDQUFDLEVBQUU7Z0JBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxRQUFRLElBQUksSUFBSSxFQUFFO29CQUNsQixRQUFRLEVBQUUsQ0FBQztpQkFDZDthQUNKO2lCQUFNO2dCQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQzthQUNsRDtRQUVMLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLDBDQUEwQztJQUN2RCxDQUFDOzs7WUEvREYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7Ozs7Ozs7O0lBS0MsNEJBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRmFjZVBhZFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBwcml2YXRlIHdzOiBXZWJTb2NrZXQ7XHJcblxyXG4gIHB1YmxpYyBjb25uZWN0KHVybCwgaGFuZGxlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy53cyA9IG5ldyBXZWJTb2NrZXQodXJsICsgJy9wYWQvc2Vzc2lvbicpO1xyXG4gICAgICB0aGlzLndzLm9ub3BlbiA9ICgpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdJbmZvOiBDb25uZWN0aW9uIFBBRCBFc3RhYmxpc2hlZC4nKTtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICB0aGlzLndzLm9ubWVzc2FnZSA9IGhhbmRsZXI7XHJcbiAgICAgIHRoaXMud3Mub25jbG9zZSA9IChldmVudCkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ0luZm86IENsb3NpbmcgUEFEIENvbm5lY3Rpb24uJyk7XHJcbiAgICAgICAgICByZWplY3QoZmFsc2UpO1xyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGlzY29ubmVjdCgpOiB2b2lkIHtcclxuICAgICAgaWYgKHRoaXMud3MgIT0gbnVsbCkge1xyXG4gICAgICAgIHRoaXMud3MuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLndzID0gbnVsbDtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzQ29ubmVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICByZXR1cm4gdGhpcy53cyAhPSBudWxsICYmIHRoaXMud3MucmVhZHlTdGF0ZSA9PT0gdGhpcy53cy5PUEVOO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbmRNZXNzYWdlKG1lc3NhZ2U6IGFueSk6IHZvaWQge1xyXG4gICAgICBpZiAodGhpcy53cyAhPSBudWxsKSB7XHJcbiAgICAgICAgaWYgKHRoaXMud3MuYnVmZmVyZWRBbW91bnQgPiAyMDAwMDApIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdJbWFnZSBub3Qgc2VudCA6IFdlYiBzb2NrZXQgYnVmZmVyIGlzIHRvbyBiaWcuICcgK1xyXG4gICAgICAgICAgICAnV2UgaGF2ZSB0byB3YWl0IHRoZSBwcmV2aW91cyBtZXNzYWdlcyB0byBiZSBzZW5kIGJlZm9yZSBzZW5kaW5nIGEgbmV3IG1lc3NhZ2UuJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy53cy5zZW5kKEpTT04uc3RyaW5naWZ5KG1lc3NhZ2UpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ2Nvbm5lY3Rpb24gdG8gd2ViIHNvY2tldCBub3QgZXN0YWJsaXNoZWQsIHBsZWFzZSBjb25uZWN0LicpO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd2FpdEZvclNvY2tldENvbm5lY3Rpb24oc29ja2V0LCBjYWxsYmFjayk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dChcclxuICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChzb2NrZXQucmVhZHlTdGF0ZSA9PT0gMSkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0Nvbm5lY3Rpb24gaXMgbWFkZScpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGNhbGxiYWNrICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3dhaXQgZm9yIGNvbm5lY3Rpb24uLi4nKTtcclxuICAgICAgICAgICAgICAgIHRoaXMud2FpdEZvclNvY2tldENvbm5lY3Rpb24oc29ja2V0LCBjYWxsYmFjayk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSwgNSk7IC8vIHdhaXQgNSBtaWxpc2Vjb25kIGZvciB0aGUgY29ubmVjdGlvbi4uLlxyXG4gIH1cclxufVxyXG4iXX0=

@@ -15,2 +15,3 @@ /**

['NO_FACE_ERROR_LABEL', 'No face detected. Please try again.'],
['NO_INTERNET_CONNECTION_LABEL', 'Internet connection lost. Please try again'],
['MULTIPLE_FACE_ERROR_LABEL', 'Multiple faces detected. Please try again.'],

@@ -23,5 +24,8 @@ ['MATCHING_SUCCESS_LABEL', 'Detected face successfully match the reference picture.'],

['START_BUTTON_LABEL', 'Start'],
['RESTART_BUTTON_LABEL', 'Restart'],
['COMPARE_BUTTON_LABEL', 'Compare'],
['ENABLE_CAM_BUTTON_LABEL', 'Start the webcam'],
['RETRY_BUTTON_LABEL', 'Retry'],
['USER_TOO_FAR_LABEL', 'Too far away, please move closer'],
['USER_NOT_CENTER_LABEL', 'Please, move on the target area'],
]);

@@ -32,2 +36,2 @@ if (false) {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uaTE4bi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpZDMvZmFjZS1wYWQvIiwic291cmNlcyI6WyJsaWIvaTE4bi9lbi5pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNLE9BQU8sVUFBVTs7QUFDWixtQkFBUSxHQUF3QixJQUFJLEdBQUcsQ0FBQztJQUMzQyxDQUFDLGtCQUFrQixFQUFFLDBDQUEwQyxDQUFDO0lBQ2hFLENBQUMsMkJBQTJCLEVBQUUscUVBQXFFLENBQUM7SUFDcEcsQ0FBQyx1QkFBdUIsRUFBRSx1REFBdUQsQ0FBQztJQUNsRixDQUFDLDZCQUE2QixFQUFFLHVFQUF1RSxDQUFDO0lBQ3hHLENBQUMsaUJBQWlCLEVBQUUsK0RBQStELENBQUM7SUFDcEYsQ0FBQyw2QkFBNkIsRUFBRSx3Q0FBd0MsQ0FBQztJQUN6RSxDQUFDLHFCQUFxQixFQUFFLHFDQUFxQyxDQUFDO0lBQzlELENBQUMsMkJBQTJCLEVBQUUsNENBQTRDLENBQUM7SUFDM0UsQ0FBQyx3QkFBd0IsRUFBRSx5REFBeUQsQ0FBQztJQUNyRixDQUFDLHNCQUFzQixFQUFFLDJEQUEyRDtZQUNoRix1RUFBdUUsQ0FBQztJQUM1RSxDQUFDLHNCQUFzQixFQUFFLG9EQUFvRCxDQUFDO0lBQzlFLENBQUMsZUFBZSxFQUFFLGtDQUFrQyxDQUFDO0lBQ3JELENBQUMsb0JBQW9CLEVBQUUsT0FBTyxDQUFDO0lBQy9CLENBQUMsc0JBQXNCLEVBQUUsU0FBUyxDQUFDO0lBQ25DLENBQUMseUJBQXlCLEVBQUUsa0JBQWtCLENBQUM7SUFDL0MsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUM7Q0FDbEMsQ0FBQyxDQUFDOzs7SUFsQkgsb0JBa0JHIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIExhbmd1YWdlRW4ge1xyXG4gICAgc3RhdGljIG1lc3NhZ2VzOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcChbXHJcbiAgICAgICAgWydTVEFSVF9USVBTX0xBQkVMJywgJ1ByZXNzIG9uIFN0YXJ0IGJ1dHRvbiB3aGVuIHlvdSBhcmUgcmVhZHknXSxcclxuICAgICAgICBbJ1BST0NFU1NfRkFDRV9DRU5URVJfTEFCRUwnLCAnRmFjZSBkZXRlY3RlZCwgYnV0IG5vdCBjZW50ZXJlZC4gUGxlYXNlIGxvb2sgc3RyYWlnaHQgdG8gdGhlIGNhbWVyYSddLFxyXG4gICAgICAgIFsnUFJPQ0VTU19OT19GQUNFX0xBQkVMJywgJ05vIGZhY2UgZGV0ZWN0ZWQuIFBsZWFzZSBsb29rIHN0cmFpZ2h0IHRvIHRoZSBjYW1lcmEuJ10sXHJcbiAgICAgICAgWydQUk9DRVNTX01VTFRJUExFX0ZBQ0VfTEFCRUwnLCAnTXVsdGlwbGUgZmFjZXMgZGV0ZWN0ZWQuIE9ubHkgb25lIHBlcnNvbiBpcyBhbGxvd2VkIGluIHRoZSBkZXRlY3Rpb24uJ10sXHJcbiAgICAgICAgWydUVVJOX0ZBQ0VfTEFCRUwnLCAnTm93LCBwbGVhc2UgdHVybiB5b3VyIGZhY2UgKGxvb2sgYXQgdGhlIHJpZ2h0IG9yIGF0IHRoZSBsZWZ0KSddLFxyXG4gICAgICAgIFsnRVhQSVJFRF9TRVNTSU9OX0VSUk9SX0xBQkVMJywgJ1Nlc3Npb24gaGFzIGV4cGlyZWQuIFBsZWFzZSB0cnkgYWdhaW4uJ10sXHJcbiAgICAgICAgWydOT19GQUNFX0VSUk9SX0xBQkVMJywgJ05vIGZhY2UgZGV0ZWN0ZWQuIFBsZWFzZSB0cnkgYWdhaW4uJ10sXHJcbiAgICAgICAgWydNVUxUSVBMRV9GQUNFX0VSUk9SX0xBQkVMJywgJ011bHRpcGxlIGZhY2VzIGRldGVjdGVkLiBQbGVhc2UgdHJ5IGFnYWluLiddLFxyXG4gICAgICAgIFsnTUFUQ0hJTkdfU1VDQ0VTU19MQUJFTCcsICdEZXRlY3RlZCBmYWNlIHN1Y2Nlc3NmdWxseSBtYXRjaCB0aGUgcmVmZXJlbmNlIHBpY3R1cmUuJ10sXHJcbiAgICAgICAgWydNQVRDSElOR19SRUFEWV9MQUJFTCcsICdQaWN0dXJlIGlzIHJlYWR5IHRvIGJlIGNvbXBhcmVkIHdpdGggYSByZWZlcmVuY2UgcGljdHVyZS4nICtcclxuICAgICAgICAgICAgJ1BsZWFzZSBjbGljayBvbiB0aGUgXCJDb21wYXJlXCIgYnV0dG9uIHRvIHVwbG9hZCB0aGUgcmVmZXJlbmNlIHBpY3R1cmUuJ10sXHJcbiAgICAgICAgWydNQVRDSElOR19FUlJPUl9MQUJFTCcsICdEZXRlY3RlZCBmYWNlIGRvZXMgbm90IG1hdGNoIHRoZSByZWZlcmVuY2UgcGljdHVyZSddLFxyXG4gICAgICAgIFsnU1VDQ0VTU19MQUJFTCcsICdMaXZlIGZhY2Ugc3VjY2Vzc2Z1bGx5IGRldGVjdGVkLiddLFxyXG4gICAgICAgIFsnU1RBUlRfQlVUVE9OX0xBQkVMJywgJ1N0YXJ0J10sXHJcbiAgICAgICAgWydDT01QQVJFX0JVVFRPTl9MQUJFTCcsICdDb21wYXJlJ10sXHJcbiAgICAgICAgWydFTkFCTEVfQ0FNX0JVVFRPTl9MQUJFTCcsICdTdGFydCB0aGUgd2ViY2FtJ10sXHJcbiAgICAgICAgWydSRVRSWV9CVVRUT05fTEFCRUwnLCAnUmV0cnknXSxcclxuICAgIF0pO1xyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uaTE4bi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpZDMvZmFjZS1wYWQvIiwic291cmNlcyI6WyJsaWIvaTE4bi9lbi5pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNLE9BQU8sVUFBVTs7QUFDWixtQkFBUSxHQUF3QixJQUFJLEdBQUcsQ0FBQztJQUMzQyxDQUFDLGtCQUFrQixFQUFFLDBDQUEwQyxDQUFDO0lBQ2hFLENBQUMsMkJBQTJCLEVBQUUscUVBQXFFLENBQUM7SUFDcEcsQ0FBQyx1QkFBdUIsRUFBRSx1REFBdUQsQ0FBQztJQUNsRixDQUFDLDZCQUE2QixFQUFFLHVFQUF1RSxDQUFDO0lBQ3hHLENBQUMsaUJBQWlCLEVBQUUsK0RBQStELENBQUM7SUFDcEYsQ0FBQyw2QkFBNkIsRUFBRSx3Q0FBd0MsQ0FBQztJQUN6RSxDQUFDLHFCQUFxQixFQUFFLHFDQUFxQyxDQUFDO0lBQzlELENBQUMsOEJBQThCLEVBQUUsNENBQTRDLENBQUM7SUFDOUUsQ0FBQywyQkFBMkIsRUFBRSw0Q0FBNEMsQ0FBQztJQUMzRSxDQUFDLHdCQUF3QixFQUFFLHlEQUF5RCxDQUFDO0lBQ3JGLENBQUMsc0JBQXNCLEVBQUUsMkRBQTJEO1lBQ2hGLHVFQUF1RSxDQUFDO0lBQzVFLENBQUMsc0JBQXNCLEVBQUUsb0RBQW9ELENBQUM7SUFDOUUsQ0FBQyxlQUFlLEVBQUUsa0NBQWtDLENBQUM7SUFDckQsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUM7SUFDL0IsQ0FBQyxzQkFBc0IsRUFBRSxTQUFTLENBQUM7SUFDbkMsQ0FBQyxzQkFBc0IsRUFBRSxTQUFTLENBQUM7SUFDbkMsQ0FBQyx5QkFBeUIsRUFBRSxrQkFBa0IsQ0FBQztJQUMvQyxDQUFDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQztJQUMvQixDQUFDLG9CQUFvQixFQUFFLGtDQUFrQyxDQUFDO0lBQzFELENBQUMsdUJBQXVCLEVBQUUsaUNBQWlDLENBQUM7Q0FFL0QsQ0FBQyxDQUFDOzs7SUF2Qkgsb0JBdUJHIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIExhbmd1YWdlRW4ge1xyXG4gICAgc3RhdGljIG1lc3NhZ2VzOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcChbXHJcbiAgICAgICAgWydTVEFSVF9USVBTX0xBQkVMJywgJ1ByZXNzIG9uIFN0YXJ0IGJ1dHRvbiB3aGVuIHlvdSBhcmUgcmVhZHknXSxcclxuICAgICAgICBbJ1BST0NFU1NfRkFDRV9DRU5URVJfTEFCRUwnLCAnRmFjZSBkZXRlY3RlZCwgYnV0IG5vdCBjZW50ZXJlZC4gUGxlYXNlIGxvb2sgc3RyYWlnaHQgdG8gdGhlIGNhbWVyYSddLFxyXG4gICAgICAgIFsnUFJPQ0VTU19OT19GQUNFX0xBQkVMJywgJ05vIGZhY2UgZGV0ZWN0ZWQuIFBsZWFzZSBsb29rIHN0cmFpZ2h0IHRvIHRoZSBjYW1lcmEuJ10sXHJcbiAgICAgICAgWydQUk9DRVNTX01VTFRJUExFX0ZBQ0VfTEFCRUwnLCAnTXVsdGlwbGUgZmFjZXMgZGV0ZWN0ZWQuIE9ubHkgb25lIHBlcnNvbiBpcyBhbGxvd2VkIGluIHRoZSBkZXRlY3Rpb24uJ10sXHJcbiAgICAgICAgWydUVVJOX0ZBQ0VfTEFCRUwnLCAnTm93LCBwbGVhc2UgdHVybiB5b3VyIGZhY2UgKGxvb2sgYXQgdGhlIHJpZ2h0IG9yIGF0IHRoZSBsZWZ0KSddLFxyXG4gICAgICAgIFsnRVhQSVJFRF9TRVNTSU9OX0VSUk9SX0xBQkVMJywgJ1Nlc3Npb24gaGFzIGV4cGlyZWQuIFBsZWFzZSB0cnkgYWdhaW4uJ10sXHJcbiAgICAgICAgWydOT19GQUNFX0VSUk9SX0xBQkVMJywgJ05vIGZhY2UgZGV0ZWN0ZWQuIFBsZWFzZSB0cnkgYWdhaW4uJ10sXHJcbiAgICAgICAgWydOT19JTlRFUk5FVF9DT05ORUNUSU9OX0xBQkVMJywgJ0ludGVybmV0IGNvbm5lY3Rpb24gbG9zdC4gUGxlYXNlIHRyeSBhZ2FpbiddLFxyXG4gICAgICAgIFsnTVVMVElQTEVfRkFDRV9FUlJPUl9MQUJFTCcsICdNdWx0aXBsZSBmYWNlcyBkZXRlY3RlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4nXSxcclxuICAgICAgICBbJ01BVENISU5HX1NVQ0NFU1NfTEFCRUwnLCAnRGV0ZWN0ZWQgZmFjZSBzdWNjZXNzZnVsbHkgbWF0Y2ggdGhlIHJlZmVyZW5jZSBwaWN0dXJlLiddLFxyXG4gICAgICAgIFsnTUFUQ0hJTkdfUkVBRFlfTEFCRUwnLCAnUGljdHVyZSBpcyByZWFkeSB0byBiZSBjb21wYXJlZCB3aXRoIGEgcmVmZXJlbmNlIHBpY3R1cmUuJyArXHJcbiAgICAgICAgICAgICdQbGVhc2UgY2xpY2sgb24gdGhlIFwiQ29tcGFyZVwiIGJ1dHRvbiB0byB1cGxvYWQgdGhlIHJlZmVyZW5jZSBwaWN0dXJlLiddLFxyXG4gICAgICAgIFsnTUFUQ0hJTkdfRVJST1JfTEFCRUwnLCAnRGV0ZWN0ZWQgZmFjZSBkb2VzIG5vdCBtYXRjaCB0aGUgcmVmZXJlbmNlIHBpY3R1cmUnXSxcclxuICAgICAgICBbJ1NVQ0NFU1NfTEFCRUwnLCAnTGl2ZSBmYWNlIHN1Y2Nlc3NmdWxseSBkZXRlY3RlZC4nXSxcclxuICAgICAgICBbJ1NUQVJUX0JVVFRPTl9MQUJFTCcsICdTdGFydCddLFxyXG4gICAgICAgIFsnUkVTVEFSVF9CVVRUT05fTEFCRUwnLCAnUmVzdGFydCddLFxyXG4gICAgICAgIFsnQ09NUEFSRV9CVVRUT05fTEFCRUwnLCAnQ29tcGFyZSddLFxyXG4gICAgICAgIFsnRU5BQkxFX0NBTV9CVVRUT05fTEFCRUwnLCAnU3RhcnQgdGhlIHdlYmNhbSddLFxyXG4gICAgICAgIFsnUkVUUllfQlVUVE9OX0xBQkVMJywgJ1JldHJ5J10sXHJcbiAgICAgICAgWydVU0VSX1RPT19GQVJfTEFCRUwnLCAnVG9vIGZhciBhd2F5LCBwbGVhc2UgbW92ZSBjbG9zZXInXSxcclxuICAgICAgICBbJ1VTRVJfTk9UX0NFTlRFUl9MQUJFTCcsICdQbGVhc2UsIG1vdmUgb24gdGhlIHRhcmdldCBhcmVhJ10sXHJcblxyXG4gICAgXSk7XHJcbn1cclxuIl19

@@ -15,2 +15,3 @@ /**

['NO_FACE_ERROR_LABEL', 'Pas de visage detecté. Veuillez réessayer'],
['NO_INTERNET_CONNECTION_LABEL', 'Connection internet perdue. Veuillez réessayer'],
['MULTIPLE_FACE_ERROR_LABEL', 'Plusieurs visages detectés. Veuillez réessayer'],

@@ -23,5 +24,8 @@ ['MATCHING_SUCCESS_LABEL', 'Le visage correspond bien à la photo de référence'],

['START_BUTTON_LABEL', 'Démarrer'],
['RESTART_BUTTON_LABEL', 'Recommencer'],
['COMPARE_BUTTON_LABEL', 'Vérifier'],
['ENABLE_CAM_BUTTON_LABEL', 'Activer la webcam'],
['RETRY_BUTTON_LABEL', 'Réessayer'],
['USER_TOO_FAR_LABEL', 'Vous êtes trop loin, veuillez vous rapprocher de la caméra'],
['USER_NOT_CENTER_LABEL', 'Veuillez vous positionner à l\'intérieur de la zone cible'],
]);

@@ -32,2 +36,2 @@ if (false) {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIuaTE4bi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpZDMvZmFjZS1wYWQvIiwic291cmNlcyI6WyJsaWIvaTE4bi9mci5pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNLE9BQU8sVUFBVTs7QUFDWixtQkFBUSxHQUF3QixJQUFJLEdBQUcsQ0FBQztJQUMzQyxDQUFDLGtCQUFrQixFQUFFLDZDQUE2QyxDQUFDO0lBQ25FLENBQUMsMkJBQTJCLEVBQUUsbUdBQW1HLENBQUM7SUFDbEksQ0FBQyx1QkFBdUIsRUFBRSx5RUFBeUUsQ0FBQztJQUNwRyxDQUFDLDZCQUE2QixFQUFFLGlGQUFpRixDQUFDO0lBQ2xILENBQUMsaUJBQWlCLEVBQUUsMEVBQTBFLENBQUM7SUFDL0YsQ0FBQyw2QkFBNkIsRUFBRSx5Q0FBeUMsQ0FBQztJQUMxRSxDQUFDLHFCQUFxQixFQUFFLDJDQUEyQyxDQUFDO0lBQ3BFLENBQUMsMkJBQTJCLEVBQUUsZ0RBQWdELENBQUM7SUFDL0UsQ0FBQyx3QkFBd0IsRUFBRSxtREFBbUQsQ0FBQztJQUMvRSxDQUFDLHNCQUFzQixFQUFFLHdEQUF3RDtZQUM3RSxnRkFBZ0YsQ0FBQztJQUNyRixDQUFDLHNCQUFzQixFQUFFLHFEQUFxRCxDQUFDO0lBQy9FLENBQUMsZUFBZSxFQUFFLGtDQUFrQyxDQUFDO0lBQ3JELENBQUMsb0JBQW9CLEVBQUUsVUFBVSxDQUFDO0lBQ2xDLENBQUMsc0JBQXNCLEVBQUUsVUFBVSxDQUFDO0lBQ3BDLENBQUMseUJBQXlCLEVBQUUsbUJBQW1CLENBQUM7SUFDaEQsQ0FBQyxvQkFBb0IsRUFBRSxXQUFXLENBQUM7Q0FDdEMsQ0FBQyxDQUFDOzs7SUFsQkgsb0JBa0JHIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIExhbmd1YWdlRnIge1xyXG4gICAgc3RhdGljIG1lc3NhZ2VzOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcChbXHJcbiAgICAgICAgWydTVEFSVF9USVBTX0xBQkVMJywgJ0NsaXF1ZXogc3VyIETDqW1hcnJlciBsb3JzcXVlIHZvdXMgw6p0ZXMgcHLDqnQnXSxcclxuICAgICAgICBbJ1BST0NFU1NfRkFDRV9DRU5URVJfTEFCRUwnLCAnVmlzYWdlIGRldGVjdMOpLCBtYWlzIG5vbiBjZW50csOpLiBWZXVpbGxleiByZWdhcmRlciBsYSBjYW3DqXJhIGVuIG1ldHRhbnQgdm90cmUgdmlzYWdlIGJpZW4gZW4gZmFjZSddLFxyXG4gICAgICAgIFsnUFJPQ0VTU19OT19GQUNFX0xBQkVMJywgJ1BhcyBkZSB2aXNhZ2UgZGV0ZWN0w6kuIFZldWlsbGV6IHZvdXMgcG9zaXRpb25uZXIgYXUgY2VudHJlIGRlIGxcXCfDqWNyYW4uJ10sXHJcbiAgICAgICAgWydQUk9DRVNTX01VTFRJUExFX0ZBQ0VfTEFCRUwnLCAnUGx1c2lldXJzIHZpc2FnZXMgZGV0ZWN0w6lzLiBMYSBkZXRlY3Rpb24gbmUgZm9uY3Rpb25uZSBxdVxcJ2F2ZWMgdW4gc2V1bCB2aXNhZ2UuJ10sXHJcbiAgICAgICAgWydUVVJOX0ZBQ0VfTEFCRUwnLCAnTWFpbnRlbmFudCwgdG91cm5leiBsZW50ZW1lbnQgbGEgdMOqdGUgKHZlcnMgbGEgZHJvaXRlIG91IHZlcnMgbGEgZ2F1Y2hlKSddLFxyXG4gICAgICAgIFsnRVhQSVJFRF9TRVNTSU9OX0VSUk9SX0xBQkVMJywgJ0xhIHNlc3Npb24gYSBleHBpcsOpLiBWZXVpbGxleiByw6llc3NheWVyJ10sXHJcbiAgICAgICAgWydOT19GQUNFX0VSUk9SX0xBQkVMJywgJ1BhcyBkZSB2aXNhZ2UgZGV0ZWN0w6kuIFZldWlsbGV6IHLDqWVzc2F5ZXInXSxcclxuICAgICAgICBbJ01VTFRJUExFX0ZBQ0VfRVJST1JfTEFCRUwnLCAnUGx1c2lldXJzIHZpc2FnZXMgZGV0ZWN0w6lzLiBWZXVpbGxleiByw6llc3NheWVyJ10sXHJcbiAgICAgICAgWydNQVRDSElOR19TVUNDRVNTX0xBQkVMJywgJ0xlIHZpc2FnZSBjb3JyZXNwb25kIGJpZW4gw6AgbGEgcGhvdG8gZGUgcsOpZsOpcmVuY2UnXSxcclxuICAgICAgICBbJ01BVENISU5HX1JFQURZX0xBQkVMJywgJ0xhIHBob3RvIGVzdCBwcsOqdGUgw6Agw6p0cmUgY29tcGFyw6llIGF2ZWMgdW5lIHLDqWbDqXJlbmNlLicgK1xyXG4gICAgICAgICAgICAnVmV1aWxsZXogY2xpcXVlciBzdXIgbGUgYm91dG9uIFwiVmVyaWZpZXJcIiBwdWlzIGNob2lzaXIgdW5lIHBob3RvIGRlIHLDqWbDqXJlbmNlLiddLFxyXG4gICAgICAgIFsnTUFUQ0hJTkdfRVJST1JfTEFCRUwnLCAnTGUgdmlzYWdlIG5lIGNvcnJlc3BvbmQgcGFzIMOgIGxhIHBob3RvIGRlIHLDqWbDqXJlbmNlJ10sXHJcbiAgICAgICAgWydTVUNDRVNTX0xBQkVMJywgJ0xhIGRldGVjdGlvbiBkdSB2aXNhZ2UgYSByw6l1c3NpLiddLFxyXG4gICAgICAgIFsnU1RBUlRfQlVUVE9OX0xBQkVMJywgJ0TDqW1hcnJlciddLFxyXG4gICAgICAgIFsnQ09NUEFSRV9CVVRUT05fTEFCRUwnLCAnVsOpcmlmaWVyJ10sXHJcbiAgICAgICAgWydFTkFCTEVfQ0FNX0JVVFRPTl9MQUJFTCcsICdBY3RpdmVyIGxhIHdlYmNhbSddLFxyXG4gICAgICAgIFsnUkVUUllfQlVUVE9OX0xBQkVMJywgJ1LDqWVzc2F5ZXInXSxcclxuICAgIF0pO1xyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIuaTE4bi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpZDMvZmFjZS1wYWQvIiwic291cmNlcyI6WyJsaWIvaTE4bi9mci5pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNLE9BQU8sVUFBVTs7QUFDWixtQkFBUSxHQUF3QixJQUFJLEdBQUcsQ0FBQztJQUMzQyxDQUFDLGtCQUFrQixFQUFFLDZDQUE2QyxDQUFDO0lBQ25FLENBQUMsMkJBQTJCLEVBQUUsbUdBQW1HLENBQUM7SUFDbEksQ0FBQyx1QkFBdUIsRUFBRSx5RUFBeUUsQ0FBQztJQUNwRyxDQUFDLDZCQUE2QixFQUFFLGlGQUFpRixDQUFDO0lBQ2xILENBQUMsaUJBQWlCLEVBQUUsMEVBQTBFLENBQUM7SUFDL0YsQ0FBQyw2QkFBNkIsRUFBRSx5Q0FBeUMsQ0FBQztJQUMxRSxDQUFDLHFCQUFxQixFQUFFLDJDQUEyQyxDQUFDO0lBQ3BFLENBQUMsOEJBQThCLEVBQUUsZ0RBQWdELENBQUM7SUFDbEYsQ0FBQywyQkFBMkIsRUFBRSxnREFBZ0QsQ0FBQztJQUMvRSxDQUFDLHdCQUF3QixFQUFFLG1EQUFtRCxDQUFDO0lBQy9FLENBQUMsc0JBQXNCLEVBQUUsd0RBQXdEO1lBQzdFLGdGQUFnRixDQUFDO0lBQ3JGLENBQUMsc0JBQXNCLEVBQUUscURBQXFELENBQUM7SUFDL0UsQ0FBQyxlQUFlLEVBQUUsa0NBQWtDLENBQUM7SUFDckQsQ0FBQyxvQkFBb0IsRUFBRSxVQUFVLENBQUM7SUFDbEMsQ0FBQyxzQkFBc0IsRUFBRSxhQUFhLENBQUM7SUFDdkMsQ0FBQyxzQkFBc0IsRUFBRSxVQUFVLENBQUM7SUFDcEMsQ0FBQyx5QkFBeUIsRUFBRSxtQkFBbUIsQ0FBQztJQUNoRCxDQUFDLG9CQUFvQixFQUFFLFdBQVcsQ0FBQztJQUNuQyxDQUFDLG9CQUFvQixFQUFFLDREQUE0RCxDQUFDO0lBQ3BGLENBQUMsdUJBQXVCLEVBQUUsMkRBQTJELENBQUM7Q0FDekYsQ0FBQyxDQUFDOzs7SUF0Qkgsb0JBc0JHIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIExhbmd1YWdlRnIge1xyXG4gICAgc3RhdGljIG1lc3NhZ2VzOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcChbXHJcbiAgICAgICAgWydTVEFSVF9USVBTX0xBQkVMJywgJ0NsaXF1ZXogc3VyIETDqW1hcnJlciBsb3JzcXVlIHZvdXMgw6p0ZXMgcHLDqnQnXSxcclxuICAgICAgICBbJ1BST0NFU1NfRkFDRV9DRU5URVJfTEFCRUwnLCAnVmlzYWdlIGRldGVjdMOpLCBtYWlzIG5vbiBjZW50csOpLiBWZXVpbGxleiByZWdhcmRlciBsYSBjYW3DqXJhIGVuIG1ldHRhbnQgdm90cmUgdmlzYWdlIGJpZW4gZW4gZmFjZSddLFxyXG4gICAgICAgIFsnUFJPQ0VTU19OT19GQUNFX0xBQkVMJywgJ1BhcyBkZSB2aXNhZ2UgZGV0ZWN0w6kuIFZldWlsbGV6IHZvdXMgcG9zaXRpb25uZXIgYXUgY2VudHJlIGRlIGxcXCfDqWNyYW4uJ10sXHJcbiAgICAgICAgWydQUk9DRVNTX01VTFRJUExFX0ZBQ0VfTEFCRUwnLCAnUGx1c2lldXJzIHZpc2FnZXMgZGV0ZWN0w6lzLiBMYSBkZXRlY3Rpb24gbmUgZm9uY3Rpb25uZSBxdVxcJ2F2ZWMgdW4gc2V1bCB2aXNhZ2UuJ10sXHJcbiAgICAgICAgWydUVVJOX0ZBQ0VfTEFCRUwnLCAnTWFpbnRlbmFudCwgdG91cm5leiBsZW50ZW1lbnQgbGEgdMOqdGUgKHZlcnMgbGEgZHJvaXRlIG91IHZlcnMgbGEgZ2F1Y2hlKSddLFxyXG4gICAgICAgIFsnRVhQSVJFRF9TRVNTSU9OX0VSUk9SX0xBQkVMJywgJ0xhIHNlc3Npb24gYSBleHBpcsOpLiBWZXVpbGxleiByw6llc3NheWVyJ10sXHJcbiAgICAgICAgWydOT19GQUNFX0VSUk9SX0xBQkVMJywgJ1BhcyBkZSB2aXNhZ2UgZGV0ZWN0w6kuIFZldWlsbGV6IHLDqWVzc2F5ZXInXSxcclxuICAgICAgICBbJ05PX0lOVEVSTkVUX0NPTk5FQ1RJT05fTEFCRUwnLCAnQ29ubmVjdGlvbiBpbnRlcm5ldCBwZXJkdWUuIFZldWlsbGV6IHLDqWVzc2F5ZXInXSxcclxuICAgICAgICBbJ01VTFRJUExFX0ZBQ0VfRVJST1JfTEFCRUwnLCAnUGx1c2lldXJzIHZpc2FnZXMgZGV0ZWN0w6lzLiBWZXVpbGxleiByw6llc3NheWVyJ10sXHJcbiAgICAgICAgWydNQVRDSElOR19TVUNDRVNTX0xBQkVMJywgJ0xlIHZpc2FnZSBjb3JyZXNwb25kIGJpZW4gw6AgbGEgcGhvdG8gZGUgcsOpZsOpcmVuY2UnXSxcclxuICAgICAgICBbJ01BVENISU5HX1JFQURZX0xBQkVMJywgJ0xhIHBob3RvIGVzdCBwcsOqdGUgw6Agw6p0cmUgY29tcGFyw6llIGF2ZWMgdW5lIHLDqWbDqXJlbmNlLicgK1xyXG4gICAgICAgICAgICAnVmV1aWxsZXogY2xpcXVlciBzdXIgbGUgYm91dG9uIFwiVmVyaWZpZXJcIiBwdWlzIGNob2lzaXIgdW5lIHBob3RvIGRlIHLDqWbDqXJlbmNlLiddLFxyXG4gICAgICAgIFsnTUFUQ0hJTkdfRVJST1JfTEFCRUwnLCAnTGUgdmlzYWdlIG5lIGNvcnJlc3BvbmQgcGFzIMOgIGxhIHBob3RvIGRlIHLDqWbDqXJlbmNlJ10sXHJcbiAgICAgICAgWydTVUNDRVNTX0xBQkVMJywgJ0xhIGRldGVjdGlvbiBkdSB2aXNhZ2UgYSByw6l1c3NpLiddLFxyXG4gICAgICAgIFsnU1RBUlRfQlVUVE9OX0xBQkVMJywgJ0TDqW1hcnJlciddLFxyXG4gICAgICAgIFsnUkVTVEFSVF9CVVRUT05fTEFCRUwnLCAnUmVjb21tZW5jZXInXSxcclxuICAgICAgICBbJ0NPTVBBUkVfQlVUVE9OX0xBQkVMJywgJ1bDqXJpZmllciddLFxyXG4gICAgICAgIFsnRU5BQkxFX0NBTV9CVVRUT05fTEFCRUwnLCAnQWN0aXZlciBsYSB3ZWJjYW0nXSxcclxuICAgICAgICBbJ1JFVFJZX0JVVFRPTl9MQUJFTCcsICdSw6llc3NheWVyJ10sXHJcbiAgICAgICAgWydVU0VSX1RPT19GQVJfTEFCRUwnLCAnVm91cyDDqnRlcyB0cm9wIGxvaW4sIHZldWlsbGV6IHZvdXMgcmFwcHJvY2hlciBkZSBsYSBjYW3DqXJhJ10sXHJcbiAgICAgICAgWydVU0VSX05PVF9DRU5URVJfTEFCRUwnLCAnVmV1aWxsZXogdm91cyBwb3NpdGlvbm5lciDDoCBsXFwnaW50w6lyaWV1ciBkZSBsYSB6b25lIGNpYmxlJ10sXHJcbiAgICBdKTtcclxufVxyXG4iXX0=

@@ -15,2 +15,3 @@ /**

['NO_FACE_ERROR_LABEL', 'Nenhum rosto detectado. Por favor, tente novamente.'],
['NO_INTERNET_CONNECTION_LABEL', 'Conexão perdida com a internet. Por favor, tente novamente.'],
['MULTIPLE_FACE_ERROR_LABEL', 'Múltiplos rostos detectados. Por favor, tente novamente.'],

@@ -23,5 +24,8 @@ ['MATCHING_SUCCESS_LABEL', 'A face detectada corresponde com sucesso à imagem de referência.'],

['START_BUTTON_LABEL', 'Iniciar'],
['RESTART_BUTTON_LABEL', 'Começar de novo'],
['COMPARE_BUTTON_LABEL', 'Comparar'],
['ENABLE_CAM_BUTTON_LABEL', 'Comece a webcam'],
['RETRY_BUTTON_LABEL', 'Tente novamente'],
['USER_TOO_FAR_LABEL', 'Você está longe demais, por favor, aproxime-se da câmera'],
['USER_NOT_CENTER_LABEL', 'Por favor posicione-se dentro da área alvo'],
]);

@@ -32,2 +36,2 @@ if (false) {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQuaTE4bi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpZDMvZmFjZS1wYWQvIiwic291cmNlcyI6WyJsaWIvaTE4bi9wdC5pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNLE9BQU8sVUFBVTs7QUFDWixtQkFBUSxHQUF3QixJQUFJLEdBQUcsQ0FBQztJQUMzQyxDQUFDLGtCQUFrQixFQUFFLGtEQUFrRCxDQUFDO0lBQ3hFLENBQUMsMkJBQTJCLEVBQUUsOEVBQThFLENBQUM7SUFDN0csQ0FBQyx1QkFBdUIsRUFBRSxvRUFBb0UsQ0FBQztJQUMvRixDQUFDLDZCQUE2QixFQUFFLHlFQUF5RSxDQUFDO0lBQzFHLENBQUMsaUJBQWlCLEVBQUUsMkVBQTJFLENBQUM7SUFDaEcsQ0FBQyw2QkFBNkIsRUFBRSw2Q0FBNkMsQ0FBQztJQUM5RSxDQUFDLHFCQUFxQixFQUFFLHFEQUFxRCxDQUFDO0lBQzlFLENBQUMsMkJBQTJCLEVBQUUsMERBQTBELENBQUM7SUFDekYsQ0FBQyx3QkFBd0IsRUFBRSxrRUFBa0UsQ0FBQztJQUM5RixDQUFDLHNCQUFzQixFQUFFLHVFQUF1RTtZQUM1Riw2RUFBNkUsQ0FBQztJQUNsRixDQUFDLHNCQUFzQixFQUFFLG9EQUFvRCxDQUFDO0lBQzlFLENBQUMsZUFBZSxFQUFFLDBEQUEwRCxDQUFDO0lBQzdFLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxDQUFDO0lBQ2pDLENBQUMsc0JBQXNCLEVBQUUsVUFBVSxDQUFDO0lBQ3BDLENBQUMseUJBQXlCLEVBQUUsaUJBQWlCLENBQUM7SUFDOUMsQ0FBQyxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQztDQUM1QyxDQUFDLENBQUM7OztJQWxCSCxvQkFrQkciLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTGFuZ3VhZ2VQdCB7XHJcbiAgICBzdGF0aWMgbWVzc2FnZXM6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwKFtcclxuICAgICAgICBbJ1NUQVJUX1RJUFNfTEFCRUwnLCAnUHJlc3Npb25lIG5vIGJvdMOjbyBJbmljaWFyIHF1YW5kbyBlc3RpdmVyIHByb250byddLFxyXG4gICAgICAgIFsnUFJPQ0VTU19GQUNFX0NFTlRFUl9MQUJFTCcsICdSb3N0byBkZXRlY3RhZG8sIG1hcyBuw6NvIGNlbnRyYWRvLiBQb3IgZmF2b3IsIG9saGUgZGlyZXRhbWVudGUgcGFyYSBhIGPDom1lcmEnXSxcclxuICAgICAgICBbJ1BST0NFU1NfTk9fRkFDRV9MQUJFTCcsICdOZW5odW0gcm9zdG8gZGV0ZWN0YWRvLiBQb3IgZmF2b3IsIG9saGUgZGlyZXRhbWVudGUgcGFyYSBhIGPDom1lcmEuJ10sXHJcbiAgICAgICAgWydQUk9DRVNTX01VTFRJUExFX0ZBQ0VfTEFCRUwnLCAnTcO6bHRpcGxvcyByb3N0b3MgZGV0ZWN0YWRvcy4gQXBlbmFzIHVtYSBwZXNzb2Egw6kgcGVybWl0aWRhIG5hIGRldGVjw6fDo28uJ10sXHJcbiAgICAgICAgWydUVVJOX0ZBQ0VfTEFCRUwnLCAnQWdvcmEsIHBvciBmYXZvciwgdmlyZSBzZXUgcm9zdG8gKG9saGUgcGFyYSBhIGRpcmVpdGEgb3UgcGFyYSBhIGVzcXVlcmRhKSddLFxyXG4gICAgICAgIFsnRVhQSVJFRF9TRVNTSU9OX0VSUk9SX0xBQkVMJywgJ1Nlc3PDo28gZXhwaXJvdS4gUG9yIGZhdm9yLCB0ZW50ZSBub3ZhbWVudGUuJ10sXHJcbiAgICAgICAgWydOT19GQUNFX0VSUk9SX0xBQkVMJywgJ05lbmh1bSByb3N0byBkZXRlY3RhZG8uIFBvciBmYXZvciwgdGVudGUgbm92YW1lbnRlLiddLFxyXG4gICAgICAgIFsnTVVMVElQTEVfRkFDRV9FUlJPUl9MQUJFTCcsICdNw7psdGlwbG9zIHJvc3RvcyBkZXRlY3RhZG9zLiBQb3IgZmF2b3IsIHRlbnRlIG5vdmFtZW50ZS4nXSxcclxuICAgICAgICBbJ01BVENISU5HX1NVQ0NFU1NfTEFCRUwnLCAnQSBmYWNlIGRldGVjdGFkYSBjb3JyZXNwb25kZSBjb20gc3VjZXNzbyDDoCBpbWFnZW0gZGUgcmVmZXLDqm5jaWEuJ10sXHJcbiAgICAgICAgWydNQVRDSElOR19SRUFEWV9MQUJFTCcsICdBIGltYWdlbSBlc3TDoSBwcm9udGEgcGFyYSBzZXIgY29tcGFyYWRhIGNvbSB1bWEgaW1hZ2VtIGRlIHJlZmVyw6puY2lhLicgK1xyXG4gICAgICAgICAgICAnUG9yIGZhdm9yLCBjbGlxdWUgbm8gYm90w6NvIFwiQ29tcGFyYXJcIiBwYXJhIGNhcnJlZ2FyIGEgaW1hZ2VtIGRlIHJlZmVyw6puY2lhLiddLFxyXG4gICAgICAgIFsnTUFUQ0hJTkdfRVJST1JfTEFCRUwnLCAnRGV0ZWN0ZWQgZmFjZSBkb2VzIG5vdCBtYXRjaCB0aGUgcmVmZXJlbmNlIHBpY3R1cmUnXSxcclxuICAgICAgICBbJ1NVQ0NFU1NfTEFCRUwnLCAnTyByb3N0byBkZXRlY3RhZG8gbsOjbyBjb3JyZXNwb25kZSDDoCBpbWFnZW0gZGUgcmVmZXLDqm5jaWEnXSxcclxuICAgICAgICBbJ1NUQVJUX0JVVFRPTl9MQUJFTCcsICdJbmljaWFyJ10sXHJcbiAgICAgICAgWydDT01QQVJFX0JVVFRPTl9MQUJFTCcsICdDb21wYXJhciddLFxyXG4gICAgICAgIFsnRU5BQkxFX0NBTV9CVVRUT05fTEFCRUwnLCAnQ29tZWNlIGEgd2ViY2FtJ10sXHJcbiAgICAgICAgWydSRVRSWV9CVVRUT05fTEFCRUwnLCAnVGVudGUgbm92YW1lbnRlJ10sXHJcbiAgICBdKTtcclxufVxyXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQuaTE4bi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpZDMvZmFjZS1wYWQvIiwic291cmNlcyI6WyJsaWIvaTE4bi9wdC5pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNLE9BQU8sVUFBVTs7QUFDWixtQkFBUSxHQUF3QixJQUFJLEdBQUcsQ0FBQztJQUMzQyxDQUFDLGtCQUFrQixFQUFFLGtEQUFrRCxDQUFDO0lBQ3hFLENBQUMsMkJBQTJCLEVBQUUsOEVBQThFLENBQUM7SUFDN0csQ0FBQyx1QkFBdUIsRUFBRSxvRUFBb0UsQ0FBQztJQUMvRixDQUFDLDZCQUE2QixFQUFFLHlFQUF5RSxDQUFDO0lBQzFHLENBQUMsaUJBQWlCLEVBQUUsMkVBQTJFLENBQUM7SUFDaEcsQ0FBQyw2QkFBNkIsRUFBRSw2Q0FBNkMsQ0FBQztJQUM5RSxDQUFDLHFCQUFxQixFQUFFLHFEQUFxRCxDQUFDO0lBQzlFLENBQUMsOEJBQThCLEVBQUUsNkRBQTZELENBQUM7SUFDL0YsQ0FBQywyQkFBMkIsRUFBRSwwREFBMEQsQ0FBQztJQUN6RixDQUFDLHdCQUF3QixFQUFFLGtFQUFrRSxDQUFDO0lBQzlGLENBQUMsc0JBQXNCLEVBQUUsdUVBQXVFO1lBQzVGLDZFQUE2RSxDQUFDO0lBQ2xGLENBQUMsc0JBQXNCLEVBQUUsb0RBQW9ELENBQUM7SUFDOUUsQ0FBQyxlQUFlLEVBQUUsMERBQTBELENBQUM7SUFDN0UsQ0FBQyxvQkFBb0IsRUFBRSxTQUFTLENBQUM7SUFDakMsQ0FBQyxzQkFBc0IsRUFBRSxpQkFBaUIsQ0FBQztJQUMzQyxDQUFDLHNCQUFzQixFQUFFLFVBQVUsQ0FBQztJQUNwQyxDQUFDLHlCQUF5QixFQUFFLGlCQUFpQixDQUFDO0lBQzlDLENBQUMsb0JBQW9CLEVBQUUsaUJBQWlCLENBQUM7SUFDekMsQ0FBQyxvQkFBb0IsRUFBRSwwREFBMEQsQ0FBQztJQUNsRixDQUFDLHVCQUF1QixFQUFFLDRDQUE0QyxDQUFDO0NBQzFFLENBQUMsQ0FBQzs7O0lBdEJILG9CQXNCRyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBMYW5ndWFnZVB0IHtcclxuICAgIHN0YXRpYyBtZXNzYWdlczogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXAoW1xyXG4gICAgICAgIFsnU1RBUlRfVElQU19MQUJFTCcsICdQcmVzc2lvbmUgbm8gYm90w6NvIEluaWNpYXIgcXVhbmRvIGVzdGl2ZXIgcHJvbnRvJ10sXHJcbiAgICAgICAgWydQUk9DRVNTX0ZBQ0VfQ0VOVEVSX0xBQkVMJywgJ1Jvc3RvIGRldGVjdGFkbywgbWFzIG7Do28gY2VudHJhZG8uIFBvciBmYXZvciwgb2xoZSBkaXJldGFtZW50ZSBwYXJhIGEgY8OibWVyYSddLFxyXG4gICAgICAgIFsnUFJPQ0VTU19OT19GQUNFX0xBQkVMJywgJ05lbmh1bSByb3N0byBkZXRlY3RhZG8uIFBvciBmYXZvciwgb2xoZSBkaXJldGFtZW50ZSBwYXJhIGEgY8OibWVyYS4nXSxcclxuICAgICAgICBbJ1BST0NFU1NfTVVMVElQTEVfRkFDRV9MQUJFTCcsICdNw7psdGlwbG9zIHJvc3RvcyBkZXRlY3RhZG9zLiBBcGVuYXMgdW1hIHBlc3NvYSDDqSBwZXJtaXRpZGEgbmEgZGV0ZWPDp8Ojby4nXSxcclxuICAgICAgICBbJ1RVUk5fRkFDRV9MQUJFTCcsICdBZ29yYSwgcG9yIGZhdm9yLCB2aXJlIHNldSByb3N0byAob2xoZSBwYXJhIGEgZGlyZWl0YSBvdSBwYXJhIGEgZXNxdWVyZGEpJ10sXHJcbiAgICAgICAgWydFWFBJUkVEX1NFU1NJT05fRVJST1JfTEFCRUwnLCAnU2Vzc8OjbyBleHBpcm91LiBQb3IgZmF2b3IsIHRlbnRlIG5vdmFtZW50ZS4nXSxcclxuICAgICAgICBbJ05PX0ZBQ0VfRVJST1JfTEFCRUwnLCAnTmVuaHVtIHJvc3RvIGRldGVjdGFkby4gUG9yIGZhdm9yLCB0ZW50ZSBub3ZhbWVudGUuJ10sXHJcbiAgICAgICAgWydOT19JTlRFUk5FVF9DT05ORUNUSU9OX0xBQkVMJywgJ0NvbmV4w6NvIHBlcmRpZGEgY29tIGEgaW50ZXJuZXQuIFBvciBmYXZvciwgdGVudGUgbm92YW1lbnRlLiddLFxyXG4gICAgICAgIFsnTVVMVElQTEVfRkFDRV9FUlJPUl9MQUJFTCcsICdNw7psdGlwbG9zIHJvc3RvcyBkZXRlY3RhZG9zLiBQb3IgZmF2b3IsIHRlbnRlIG5vdmFtZW50ZS4nXSxcclxuICAgICAgICBbJ01BVENISU5HX1NVQ0NFU1NfTEFCRUwnLCAnQSBmYWNlIGRldGVjdGFkYSBjb3JyZXNwb25kZSBjb20gc3VjZXNzbyDDoCBpbWFnZW0gZGUgcmVmZXLDqm5jaWEuJ10sXHJcbiAgICAgICAgWydNQVRDSElOR19SRUFEWV9MQUJFTCcsICdBIGltYWdlbSBlc3TDoSBwcm9udGEgcGFyYSBzZXIgY29tcGFyYWRhIGNvbSB1bWEgaW1hZ2VtIGRlIHJlZmVyw6puY2lhLicgK1xyXG4gICAgICAgICAgICAnUG9yIGZhdm9yLCBjbGlxdWUgbm8gYm90w6NvIFwiQ29tcGFyYXJcIiBwYXJhIGNhcnJlZ2FyIGEgaW1hZ2VtIGRlIHJlZmVyw6puY2lhLiddLFxyXG4gICAgICAgIFsnTUFUQ0hJTkdfRVJST1JfTEFCRUwnLCAnRGV0ZWN0ZWQgZmFjZSBkb2VzIG5vdCBtYXRjaCB0aGUgcmVmZXJlbmNlIHBpY3R1cmUnXSxcclxuICAgICAgICBbJ1NVQ0NFU1NfTEFCRUwnLCAnTyByb3N0byBkZXRlY3RhZG8gbsOjbyBjb3JyZXNwb25kZSDDoCBpbWFnZW0gZGUgcmVmZXLDqm5jaWEnXSxcclxuICAgICAgICBbJ1NUQVJUX0JVVFRPTl9MQUJFTCcsICdJbmljaWFyJ10sXHJcbiAgICAgICAgWydSRVNUQVJUX0JVVFRPTl9MQUJFTCcsICdDb21lw6dhciBkZSBub3ZvJ10sXHJcbiAgICAgICAgWydDT01QQVJFX0JVVFRPTl9MQUJFTCcsICdDb21wYXJhciddLFxyXG4gICAgICAgIFsnRU5BQkxFX0NBTV9CVVRUT05fTEFCRUwnLCAnQ29tZWNlIGEgd2ViY2FtJ10sXHJcbiAgICAgICAgWydSRVRSWV9CVVRUT05fTEFCRUwnLCAnVGVudGUgbm92YW1lbnRlJ10sXHJcbiAgICAgICAgWydVU0VSX1RPT19GQVJfTEFCRUwnLCAnVm9jw6ogZXN0w6EgbG9uZ2UgZGVtYWlzLCBwb3IgZmF2b3IsIGFwcm94aW1lLXNlIGRhIGPDom1lcmEnXSxcclxuICAgICAgICBbJ1VTRVJfTk9UX0NFTlRFUl9MQUJFTCcsICdQb3IgZmF2b3IgcG9zaWNpb25lLXNlIGRlbnRybyBkYSDDoXJlYSBhbHZvJ10sXHJcbiAgICBdKTtcclxufVxyXG4iXX0=

@@ -22,6 +22,9 @@ /**

ERROR_MULTIPLE_FACE: 8,
ERROR_NO_INTERNET_CONNECTION: 9,
ERROR_USER_TOO_FAR: 10,
ERROR_USER_NOT_CENTER: 11,
// Matching states
MATCH_READY: 9,
MATCH_SUCCESS: 10,
MATCH_ERROR: 11,
MATCH_READY: 12,
MATCH_SUCCESS: 13,
MATCH_ERROR: 14,
};

@@ -38,5 +41,8 @@ export { PadState };

PadState[PadState.ERROR_MULTIPLE_FACE] = 'ERROR_MULTIPLE_FACE';
PadState[PadState.ERROR_NO_INTERNET_CONNECTION] = 'ERROR_NO_INTERNET_CONNECTION';
PadState[PadState.ERROR_USER_TOO_FAR] = 'ERROR_USER_TOO_FAR';
PadState[PadState.ERROR_USER_NOT_CENTER] = 'ERROR_USER_NOT_CENTER';
PadState[PadState.MATCH_READY] = 'MATCH_READY';
PadState[PadState.MATCH_SUCCESS] = 'MATCH_SUCCESS';
PadState[PadState.MATCH_ERROR] = 'MATCH_ERROR';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFkLXN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlkMy9mYWNlLXBhZC8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbC9wYWQtc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0lBQ0ksc0RBQXNEO0lBQ3RELHNCQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsVUFBTztJQUNQLHdEQUF3RDtJQUN4RCxVQUFPO0lBQ1AsMEVBQTBFO0lBQzFFLFVBQU87SUFDUCw2QkFBNkI7SUFDN0IsVUFBTztJQUNQLGNBQWM7SUFDZCxZQUFTO0lBQ1QsZ0JBQWE7SUFDYixnQkFBYTtJQUNiLHNCQUFtQjtJQUVuQixrQkFBa0I7SUFDbEIsY0FBVztJQUNYLGlCQUFhO0lBQ2IsZUFBVyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFBhZFN0YXRlIHtcclxuICAgIC8vIFdhaXRpbmcgZm9yIHRoZSB1c2VyIHBlcm1pc3Npb24gKHRvIHVzZSB0aGUgd2ViY2FtKVxyXG4gICAgUkVRVUVTVF9QRVJNSVNTSU9OUyxcclxuICAgIC8vIFJlYWR5IHRvIHN0YXJ0IHBhZCBwcm9jZXNzLlxyXG4gICAgSU5JVElBTCxcclxuICAgIC8vIFBhZCBpcyBzdGFydGVkIGFuZCBpcyB3YWl0aW5nIHRvIGhhdmUgYSBjZW50ZXJlZCBmYWNlXHJcbiAgICBTVEFSVEVELFxyXG4gICAgLy8gUGFkIGlzIHByb2Nlc3NpbmcgYnkgc2VuZGluZyBhZGRpdGlvbmFsIGltYWdlcyAoZmFjZSBoYXZlIHRvIGJlIHR1cm5lZClcclxuICAgIFBST0NFU1MsXHJcbiAgICAvLyBQYWQgcHJvY2VzcyBoYXMgc3VjY2VkZWVkLlxyXG4gICAgU1VDQ0VTUyxcclxuICAgIC8vIFBhZCBlcnJvcnM7XHJcbiAgICBFUlJPUl9LRVksXHJcbiAgICBFUlJPUl9TRVNTSU9OLFxyXG4gICAgRVJST1JfTk9fRkFDRSxcclxuICAgIEVSUk9SX01VTFRJUExFX0ZBQ0UsXHJcblxyXG4gICAgLy8gTWF0Y2hpbmcgc3RhdGVzXHJcbiAgICBNQVRDSF9SRUFEWSxcclxuICAgIE1BVENIX1NVQ0NFU1MsXHJcbiAgICBNQVRDSF9FUlJPUlxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFkLXN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlkMy9mYWNlLXBhZC8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbC9wYWQtc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0lBQ0ksc0RBQXNEO0lBQ3RELHNCQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsVUFBTztJQUNQLHdEQUF3RDtJQUN4RCxVQUFPO0lBQ1AsMEVBQTBFO0lBQzFFLFVBQU87SUFDUCw2QkFBNkI7SUFDN0IsVUFBTztJQUNQLGNBQWM7SUFDZCxZQUFTO0lBQ1QsZ0JBQWE7SUFDYixnQkFBYTtJQUNiLHNCQUFtQjtJQUNuQiwrQkFBNEI7SUFDNUIsc0JBQWtCO0lBQ2xCLHlCQUFxQjtJQUVyQixrQkFBa0I7SUFDbEIsZUFBVztJQUNYLGlCQUFhO0lBQ2IsZUFBVyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFBhZFN0YXRlIHtcclxuICAgIC8vIFdhaXRpbmcgZm9yIHRoZSB1c2VyIHBlcm1pc3Npb24gKHRvIHVzZSB0aGUgd2ViY2FtKVxyXG4gICAgUkVRVUVTVF9QRVJNSVNTSU9OUyxcclxuICAgIC8vIFJlYWR5IHRvIHN0YXJ0IHBhZCBwcm9jZXNzLlxyXG4gICAgSU5JVElBTCxcclxuICAgIC8vIFBhZCBpcyBzdGFydGVkIGFuZCBpcyB3YWl0aW5nIHRvIGhhdmUgYSBjZW50ZXJlZCBmYWNlXHJcbiAgICBTVEFSVEVELFxyXG4gICAgLy8gUGFkIGlzIHByb2Nlc3NpbmcgYnkgc2VuZGluZyBhZGRpdGlvbmFsIGltYWdlcyAoZmFjZSBoYXZlIHRvIGJlIHR1cm5lZClcclxuICAgIFBST0NFU1MsXHJcbiAgICAvLyBQYWQgcHJvY2VzcyBoYXMgc3VjY2VkZWVkLlxyXG4gICAgU1VDQ0VTUyxcclxuICAgIC8vIFBhZCBlcnJvcnM7XHJcbiAgICBFUlJPUl9LRVksXHJcbiAgICBFUlJPUl9TRVNTSU9OLFxyXG4gICAgRVJST1JfTk9fRkFDRSxcclxuICAgIEVSUk9SX01VTFRJUExFX0ZBQ0UsXHJcbiAgICBFUlJPUl9OT19JTlRFUk5FVF9DT05ORUNUSU9OLFxyXG4gICAgRVJST1JfVVNFUl9UT09fRkFSLFxyXG4gICAgRVJST1JfVVNFUl9OT1RfQ0VOVEVSLFxyXG5cclxuICAgIC8vIE1hdGNoaW5nIHN0YXRlc1xyXG4gICAgTUFUQ0hfUkVBRFksXHJcbiAgICBNQVRDSF9TVUNDRVNTLFxyXG4gICAgTUFUQ0hfRVJST1JcclxufVxyXG4iXX0=

@@ -75,2 +75,29 @@ /**

*/
FacePadMessagesComponent.prototype.isErrorNoInternetConnection = /**
* @return {?}
*/
function () {
return this.padState === PadState.ERROR_NO_INTERNET_CONNECTION;
};
/**
* @return {?}
*/
FacePadMessagesComponent.prototype.isErrorUserTooFar = /**
* @return {?}
*/
function () {
return this.padState === PadState.ERROR_USER_TOO_FAR;
};
/**
* @return {?}
*/
FacePadMessagesComponent.prototype.isErrorUserNotCenter = /**
* @return {?}
*/
function () {
return this.padState === PadState.ERROR_USER_NOT_CENTER;
};
/**
* @return {?}
*/
FacePadMessagesComponent.prototype.isErrorMultipleFaceState = /**

@@ -89,3 +116,3 @@ * @return {?}

function () {
return this.padState === PadState.SUCCESS || this.padState === PadState.MATCH_SUCCESS;
return this.padState === PadState.SUCCESS;
};

@@ -131,3 +158,3 @@ /**

selector: 'id3-face-pad-messages',
template: "<div class=\"mt-2\">\r\n <div *ngIf=\"isInitialState()\" class=\"alert alert-primary\" role=\"alert\">\r\n {{startTipsLabel}}\r\n </div>\r\n <div *ngIf=\"isStartedState() || (isProcessingState() && processInstruction.length>0)\" class=\"alert alert-danger\" role=\"alert\">\r\n {{processInstruction}}\r\n </div>\r\n <div *ngIf=\"isProcessingState() && processInstruction.length==0\" class=\"alert alert-primary\" role=\"alert\">\r\n {{turnFaceLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorSessionState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{expiredSessionErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorNoFaceState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{noFaceErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorMultipleFaceState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{multipleFaceErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isSuccessState()\" class=\"alert alert-success\" role=\"alert\">\r\n {{successLabel}}\r\n </div>\r\n <div *ngIf=\"isMatchingReadyState()\" class=\"alert alert-primary\" role=\"alert\">\r\n {{matchingReadyLabel}}\r\n </div>\r\n <div *ngIf=\"isMatchingSuccessState()\" class=\"alert alert-success\" role=\"alert\">\r\n {{matchingSuccessLabel}}\r\n </div>\r\n <div *ngIf=\"isMatchingErrorState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{matchingErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isInvalidKeyState()\" class=\"alert alert-danger\" role=\"alert\">\r\n The API Key is invalid. Please check your API key.\r\n </div>\r\n</div>"
template: "<div class=\"mt-2\">\r\n <div *ngIf=\"isInitialState()\" class=\"alert alert-primary\" role=\"alert\">\r\n {{startTipsLabel}}\r\n </div>\r\n <div *ngIf=\"isStartedState() || (isProcessingState() && processInstruction.length>0)\" class=\"alert alert-danger\" role=\"alert\">\r\n {{processInstruction}}\r\n </div>\r\n <div *ngIf=\"isProcessingState() && processInstruction.length==0\" class=\"alert alert-primary\" role=\"alert\">\r\n {{turnFaceLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorSessionState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{expiredSessionErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorNoFaceState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{noFaceErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorNoInternetConnection()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{noInternetConnectionLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorUserTooFar()\" class=\"alert alert-primary\" role=\"alert\">\r\n {{userTooFarLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorUserNotCenter()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{userNotCenterLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorMultipleFaceState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{multipleFaceErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isSuccessState()\" class=\"alert alert-success\" role=\"alert\">\r\n {{successLabel}}\r\n </div>\r\n <div *ngIf=\"isMatchingReadyState()\" class=\"alert alert-primary\" role=\"alert\">\r\n {{matchingReadyLabel}}\r\n </div>\r\n <div *ngIf=\"isMatchingSuccessState()\" class=\"alert alert-success\" role=\"alert\">\r\n {{matchingSuccessLabel}}\r\n </div>\r\n <div *ngIf=\"isMatchingErrorState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{matchingErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isInvalidKeyState()\" class=\"alert alert-danger\" role=\"alert\">\r\n The API Key is invalid. Please check your API key.\r\n </div>\r\n</div>"
}] }

@@ -142,2 +169,5 @@ ];

noFaceErrorLabel: [{ type: Input }],
noInternetConnectionLabel: [{ type: Input }],
userTooFarLabel: [{ type: Input }],
userNotCenterLabel: [{ type: Input }],
multipleFaceErrorLabel: [{ type: Input }],

@@ -164,2 +194,8 @@ successLabel: [{ type: Input }],

/** @type {?} */
FacePadMessagesComponent.prototype.noInternetConnectionLabel;
/** @type {?} */
FacePadMessagesComponent.prototype.userTooFarLabel;
/** @type {?} */
FacePadMessagesComponent.prototype.userNotCenterLabel;
/** @type {?} */
FacePadMessagesComponent.prototype.multipleFaceErrorLabel;

@@ -179,2 +215,2 @@ /** @type {?} */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZS1wYWQtbWVzc2FnZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlkMy9mYWNlLXBhZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnQvZmFjZS1wYWQtbWVzc2FnZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUM7SUFNRTtRQWlDTyx1QkFBa0IsR0FBRyxFQUFFLENBQUM7SUFoQy9CLENBQUM7Ozs7SUFrQ0QsMkNBQVE7OztJQUFSLGNBQWtCLENBQUM7Ozs7SUFFWiwyREFBd0I7OztJQUEvQjtRQUNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsbUJBQW1CLENBQUM7SUFDeEQsQ0FBQzs7OztJQUVNLGlEQUFjOzs7SUFBckI7UUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUM1QyxDQUFDOzs7O0lBRU0saURBQWM7OztJQUFyQjtRQUNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzVDLENBQUM7Ozs7SUFFTSxvREFBaUI7OztJQUF4QjtRQUNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzVDLENBQUM7Ozs7SUFFTSxzREFBbUI7OztJQUExQjtRQUNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsYUFBYSxDQUFDO0lBQ2xELENBQUM7Ozs7SUFFTSxxREFBa0I7OztJQUF6QjtRQUNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsYUFBYSxDQUFDO0lBQ2xELENBQUM7Ozs7SUFFTSwyREFBd0I7OztJQUEvQjtRQUNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsbUJBQW1CLENBQUM7SUFDeEQsQ0FBQzs7OztJQUVNLGlEQUFjOzs7SUFBckI7UUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDeEYsQ0FBQzs7OztJQUVNLHVEQUFvQjs7O0lBQTNCO1FBQ0UsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFDaEQsQ0FBQzs7OztJQUVNLHlEQUFzQjs7O0lBQTdCO1FBQ0UsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDbEQsQ0FBQzs7OztJQUVNLHVEQUFvQjs7O0lBQTNCO1FBQ0UsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFDaEQsQ0FBQzs7OztJQUVNLG9EQUFpQjs7O0lBQXhCO1FBQ0UsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxTQUFTLENBQUM7SUFDOUMsQ0FBQzs7Z0JBekZGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyx1bkRBQStDO2lCQUNoRDs7Ozs7aUNBS0UsS0FBSztnQ0FHTCxLQUFLOzJDQUdMLEtBQUs7bUNBR0wsS0FBSzt5Q0FHTCxLQUFLOytCQUdMLEtBQUs7dUNBR0wsS0FBSztxQ0FHTCxLQUFLO3FDQUdMLEtBQUs7MkJBR0wsS0FBSztxQ0FHTCxLQUFLOztJQW9EUiwrQkFBQztDQUFBLEFBMUZELElBMEZDO1NBdEZZLHdCQUF3Qjs7O0lBSW5DLGtEQUM4Qjs7SUFFOUIsaURBQzZCOztJQUU3Qiw0REFDd0M7O0lBRXhDLG9EQUNnQzs7SUFFaEMsMERBQ3NDOztJQUV0QyxnREFDNEI7O0lBRTVCLHdEQUNvQzs7SUFFcEMsc0RBQ2tDOztJQUVsQyxzREFDa0M7O0lBRWxDLDRDQUMwQjs7SUFFMUIsc0RBQytCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBhZFN0YXRlIH0gZnJvbSAnLi4vbW9kZWwvcGFkLXN0YXRlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWQzLWZhY2UtcGFkLW1lc3NhZ2VzJyxcclxuICB0ZW1wbGF0ZVVybDogJ2ZhY2UtcGFkLW1lc3NhZ2VzLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRmFjZVBhZE1lc3NhZ2VzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN0YXJ0VGlwc0xhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHR1cm5GYWNlTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZXhwaXJlZFNlc3Npb25FcnJvckxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG5vRmFjZUVycm9yTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbXVsdGlwbGVGYWNlRXJyb3JMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzdWNjZXNzTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbWF0Y2hpbmdTdWNjZXNzTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbWF0Y2hpbmdSZWFkeUxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG1hdGNoaW5nRXJyb3JMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwYWRTdGF0ZTogUGFkU3RhdGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHByb2Nlc3NJbnN0cnVjdGlvbiA9ICcnO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIHB1YmxpYyBpc1JlcXVlc3RQZXJtaXNzaW9uU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuUkVRVUVTVF9QRVJNSVNTSU9OUztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0luaXRpYWxTdGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhZFN0YXRlID09PSBQYWRTdGF0ZS5JTklUSUFMO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzU3RhcnRlZFN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLlNUQVJURUQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNQcm9jZXNzaW5nU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuUFJPQ0VTUztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0Vycm9yU2Vzc2lvblN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLkVSUk9SX1NFU1NJT047XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNFcnJvck5vRmFjZVN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLkVSUk9SX05PX0ZBQ0U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNFcnJvck11bHRpcGxlRmFjZVN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLkVSUk9SX01VTFRJUExFX0ZBQ0U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNTdWNjZXNzU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuU1VDQ0VTUyB8fCB0aGlzLnBhZFN0YXRlID09PSBQYWRTdGF0ZS5NQVRDSF9TVUNDRVNTO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzTWF0Y2hpbmdSZWFkeVN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLk1BVENIX1JFQURZO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzTWF0Y2hpbmdTdWNjZXNzU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuTUFUQ0hfU1VDQ0VTUztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc01hdGNoaW5nRXJyb3JTdGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhZFN0YXRlID09PSBQYWRTdGF0ZS5NQVRDSF9FUlJPUjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0ludmFsaWRLZXlTdGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhZFN0YXRlID09PSBQYWRTdGF0ZS5FUlJPUl9LRVk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZS1wYWQtbWVzc2FnZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlkMy9mYWNlLXBhZC8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnQvZmFjZS1wYWQtbWVzc2FnZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUM7SUFNRTtRQTBDTyx1QkFBa0IsR0FBRyxFQUFFLENBQUM7SUF6Qy9CLENBQUM7Ozs7SUEyQ0QsMkNBQVE7OztJQUFSLGNBQWtCLENBQUM7Ozs7SUFFWiwyREFBd0I7OztJQUEvQjtRQUNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsbUJBQW1CLENBQUM7SUFDeEQsQ0FBQzs7OztJQUVNLGlEQUFjOzs7SUFBckI7UUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUM1QyxDQUFDOzs7O0lBRU0saURBQWM7OztJQUFyQjtRQUNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzVDLENBQUM7Ozs7SUFFTSxvREFBaUI7OztJQUF4QjtRQUNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzVDLENBQUM7Ozs7SUFFTSxzREFBbUI7OztJQUExQjtRQUNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsYUFBYSxDQUFDO0lBQ2xELENBQUM7Ozs7SUFFTSxxREFBa0I7OztJQUF6QjtRQUNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsYUFBYSxDQUFDO0lBQ2xELENBQUM7Ozs7SUFFTSw4REFBMkI7OztJQUFsQztRQUNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsNEJBQTRCLENBQUM7SUFDakUsQ0FBQzs7OztJQUVNLG9EQUFpQjs7O0lBQXhCO1FBQ0UsT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQztJQUN2RCxDQUFDOzs7O0lBRU0sdURBQW9COzs7SUFBM0I7UUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLHFCQUFxQixDQUFDO0lBQzFELENBQUM7Ozs7SUFFTSwyREFBd0I7OztJQUEvQjtRQUNFLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsbUJBQW1CLENBQUM7SUFDeEQsQ0FBQzs7OztJQUVNLGlEQUFjOzs7SUFBckI7UUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUM1QyxDQUFDOzs7O0lBRU0sdURBQW9COzs7SUFBM0I7UUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUNoRCxDQUFDOzs7O0lBRU0seURBQXNCOzs7SUFBN0I7UUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLGFBQWEsQ0FBQztJQUNsRCxDQUFDOzs7O0lBRU0sdURBQW9COzs7SUFBM0I7UUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUNoRCxDQUFDOzs7O0lBRU0sb0RBQWlCOzs7SUFBeEI7UUFDRSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLFNBQVMsQ0FBQztJQUM5QyxDQUFDOztnQkE5R0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLDhoRUFBK0M7aUJBQ2hEOzs7OztpQ0FLRSxLQUFLO2dDQUdMLEtBQUs7MkNBR0wsS0FBSzttQ0FHTCxLQUFLOzRDQUdMLEtBQUs7a0NBR0wsS0FBSztxQ0FHTCxLQUFLO3lDQUdMLEtBQUs7K0JBR0wsS0FBSzt1Q0FHTCxLQUFLO3FDQUdMLEtBQUs7cUNBR0wsS0FBSzsyQkFHTCxLQUFLO3FDQUdMLEtBQUs7O0lBZ0VSLCtCQUFDO0NBQUEsQUEvR0QsSUErR0M7U0EzR1ksd0JBQXdCOzs7SUFJbkMsa0RBQzhCOztJQUU5QixpREFDNkI7O0lBRTdCLDREQUN3Qzs7SUFFeEMsb0RBQ2dDOztJQUVoQyw2REFDeUM7O0lBRXpDLG1EQUMrQjs7SUFFL0Isc0RBQ2tDOztJQUVsQywwREFDc0M7O0lBRXRDLGdEQUM0Qjs7SUFFNUIsd0RBQ29DOztJQUVwQyxzREFDa0M7O0lBRWxDLHNEQUNrQzs7SUFFbEMsNENBQzBCOztJQUUxQixzREFDK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGFkU3RhdGUgfSBmcm9tICcuLi9tb2RlbC9wYWQtc3RhdGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZDMtZmFjZS1wYWQtbWVzc2FnZXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnZmFjZS1wYWQtbWVzc2FnZXMuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGYWNlUGFkTWVzc2FnZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RhcnRUaXBzTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHVybkZhY2VMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBleHBpcmVkU2Vzc2lvbkVycm9yTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbm9GYWNlRXJyb3JMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBub0ludGVybmV0Q29ubmVjdGlvbkxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHVzZXJUb29GYXJMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB1c2VyTm90Q2VudGVyTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbXVsdGlwbGVGYWNlRXJyb3JMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzdWNjZXNzTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbWF0Y2hpbmdTdWNjZXNzTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbWF0Y2hpbmdSZWFkeUxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG1hdGNoaW5nRXJyb3JMYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwYWRTdGF0ZTogUGFkU3RhdGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHByb2Nlc3NJbnN0cnVjdGlvbiA9ICcnO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIHB1YmxpYyBpc1JlcXVlc3RQZXJtaXNzaW9uU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuUkVRVUVTVF9QRVJNSVNTSU9OUztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0luaXRpYWxTdGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhZFN0YXRlID09PSBQYWRTdGF0ZS5JTklUSUFMO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzU3RhcnRlZFN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLlNUQVJURUQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNQcm9jZXNzaW5nU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuUFJPQ0VTUztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0Vycm9yU2Vzc2lvblN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLkVSUk9SX1NFU1NJT047XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNFcnJvck5vRmFjZVN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLkVSUk9SX05PX0ZBQ0U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNFcnJvck5vSW50ZXJuZXRDb25uZWN0aW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLkVSUk9SX05PX0lOVEVSTkVUX0NPTk5FQ1RJT047XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNFcnJvclVzZXJUb29GYXIoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuRVJST1JfVVNFUl9UT09fRkFSO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzRXJyb3JVc2VyTm90Q2VudGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLkVSUk9SX1VTRVJfTk9UX0NFTlRFUjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0Vycm9yTXVsdGlwbGVGYWNlU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuRVJST1JfTVVMVElQTEVfRkFDRTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc1N1Y2Nlc3NTdGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhZFN0YXRlID09PSBQYWRTdGF0ZS5TVUNDRVNTO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzTWF0Y2hpbmdSZWFkeVN0YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGFkU3RhdGUgPT09IFBhZFN0YXRlLk1BVENIX1JFQURZO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzTWF0Y2hpbmdTdWNjZXNzU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wYWRTdGF0ZSA9PT0gUGFkU3RhdGUuTUFUQ0hfU1VDQ0VTUztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc01hdGNoaW5nRXJyb3JTdGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhZFN0YXRlID09PSBQYWRTdGF0ZS5NQVRDSF9FUlJPUjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0ludmFsaWRLZXlTdGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBhZFN0YXRlID09PSBQYWRTdGF0ZS5FUlJPUl9LRVk7XHJcbiAgfVxyXG59XHJcbiJdfQ==

@@ -136,2 +136,2 @@ /**

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZS1wYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpZDMvZmFjZS1wYWQvIiwic291cmNlcyI6WyJsaWIvZmFjZS1wYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7SUFLRTtJQUFnQixDQUFDOzs7Ozs7SUFJVixnQ0FBTzs7Ozs7SUFBZCxVQUFlLEdBQUcsRUFBRSxPQUFPO1FBQTNCLGlCQWVDO1FBZEMsT0FBTyxJQUFJLE9BQU87Ozs7O1FBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUNqQyxLQUFJLENBQUMsRUFBRSxHQUFHLElBQUksU0FBUyxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsQ0FBQztZQUM5QyxLQUFJLENBQUMsRUFBRSxDQUFDLE1BQU07OztZQUFHO2dCQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUNBQW1DLENBQUMsQ0FBQztnQkFDakQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLENBQUMsQ0FBQSxDQUFDO1lBRUYsS0FBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1lBRTVCLEtBQUksQ0FBQyxFQUFFLENBQUMsT0FBTzs7OztZQUFHLFVBQUMsS0FBSztnQkFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO2dCQUM3QyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEIsQ0FBQyxDQUFBLENBQUM7UUFDSixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFTSxtQ0FBVTs7O0lBQWpCO1FBQ0ksSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksRUFBRTtZQUNuQixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDO1NBQ2hCO0lBQ0wsQ0FBQzs7OztJQUVNLG9DQUFXOzs7SUFBbEI7UUFDSSxPQUFPLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQ2xFLENBQUM7Ozs7O0lBRU0sb0NBQVc7Ozs7SUFBbEIsVUFBbUIsT0FBWTtRQUMzQixJQUFJLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ25CLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEdBQUcsTUFBTSxFQUFFO2dCQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlEQUFpRDtvQkFDM0QsZ0ZBQWdGLENBQUMsQ0FBQzthQUNyRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDdkM7U0FDRjthQUFNO1lBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQywyREFBMkQsQ0FBQyxDQUFDO1NBQzdFO0lBQ0wsQ0FBQzs7Ozs7O0lBRU0sZ0RBQXVCOzs7OztJQUE5QixVQUErQixNQUFNLEVBQUUsUUFBUTtRQUEvQyxpQkFjQztRQWJDLFVBQVU7OztRQUNOO1lBQ0ksSUFBSSxNQUFNLENBQUMsVUFBVSxLQUFLLENBQUMsRUFBRTtnQkFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUNsQyxJQUFJLFFBQVEsSUFBSSxJQUFJLEVBQUU7b0JBQ2xCLFFBQVEsRUFBRSxDQUFDO2lCQUNkO2FBQ0o7aUJBQU07Z0JBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2dCQUN0QyxLQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ2xEO1FBRUwsQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsMENBQTBDO0lBQ3ZELENBQUM7O2dCQWhFRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7Ozt5QkFKRDtDQW1FQyxBQWpFRCxJQWlFQztTQTlEWSxjQUFjOzs7Ozs7SUFJekIsNEJBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRmFjZVBhZFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBwcml2YXRlIHdzOiBXZWJTb2NrZXQ7XHJcblxyXG4gIHB1YmxpYyBjb25uZWN0KHVybCwgaGFuZGxlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy53cyA9IG5ldyBXZWJTb2NrZXQodXJsICsgJy9wYWQvc2Vzc2lvbicpO1xyXG4gICAgICB0aGlzLndzLm9ub3BlbiA9ICgpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdJbmZvOiBDb25uZWN0aW9uIFBBRCBFc3RhYmxpc2hlZC4nKTtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICB0aGlzLndzLm9ubWVzc2FnZSA9IGhhbmRsZXI7XHJcblxyXG4gICAgICB0aGlzLndzLm9uY2xvc2UgPSAoZXZlbnQpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdJbmZvOiBDbG9zaW5nIFBBRCBDb25uZWN0aW9uLicpO1xyXG4gICAgICAgICAgcmVqZWN0KGZhbHNlKTtcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRpc2Nvbm5lY3QoKTogdm9pZCB7XHJcbiAgICAgIGlmICh0aGlzLndzICE9IG51bGwpIHtcclxuICAgICAgICB0aGlzLndzLmNsb3NlKCk7XHJcbiAgICAgICAgdGhpcy53cyA9IG51bGw7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0Nvbm5lY3RlZCgpOiBib29sZWFuIHtcclxuICAgICAgcmV0dXJuIHRoaXMud3MgIT0gbnVsbCAmJiB0aGlzLndzLnJlYWR5U3RhdGUgPT09IHRoaXMud3MuT1BFTjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZW5kTWVzc2FnZShtZXNzYWdlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgaWYgKHRoaXMud3MgIT0gbnVsbCkge1xyXG4gICAgICAgIGlmICh0aGlzLndzLmJ1ZmZlcmVkQW1vdW50ID4gMjAwMDAwKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnSW1hZ2Ugbm90IHNlbnQgOiBXZWIgc29ja2V0IGJ1ZmZlciBpcyB0b28gYmlnLiAnICtcclxuICAgICAgICAgICAgJ1dlIGhhdmUgdG8gd2FpdCB0aGUgcHJldmlvdXMgbWVzc2FnZXMgdG8gYmUgc2VuZCBiZWZvcmUgc2VuZGluZyBhIG5ldyBtZXNzYWdlLicpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLndzLnNlbmQoSlNPTi5zdHJpbmdpZnkobWVzc2FnZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUud2FybignY29ubmVjdGlvbiB0byB3ZWIgc29ja2V0IG5vdCBlc3RhYmxpc2hlZCwgcGxlYXNlIGNvbm5lY3QuJyk7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyB3YWl0Rm9yU29ja2V0Q29ubmVjdGlvbihzb2NrZXQsIGNhbGxiYWNrKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHNvY2tldC5yZWFkeVN0YXRlID09PSAxKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnQ29ubmVjdGlvbiBpcyBtYWRlJyk7XHJcbiAgICAgICAgICAgICAgICBpZiAoY2FsbGJhY2sgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnd2FpdCBmb3IgY29ubmVjdGlvbi4uLicpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy53YWl0Rm9yU29ja2V0Q29ubmVjdGlvbihzb2NrZXQsIGNhbGxiYWNrKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9LCA1KTsgLy8gd2FpdCA1IG1pbGlzZWNvbmQgZm9yIHRoZSBjb25uZWN0aW9uLi4uXHJcbiAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZS1wYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpZDMvZmFjZS1wYWQvIiwic291cmNlcyI6WyJsaWIvZmFjZS1wYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7SUFLRTtJQUFnQixDQUFDOzs7Ozs7SUFJVixnQ0FBTzs7Ozs7SUFBZCxVQUFlLEdBQUcsRUFBRSxPQUFPO1FBQTNCLGlCQWNDO1FBYkMsT0FBTyxJQUFJLE9BQU87Ozs7O1FBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUNqQyxLQUFJLENBQUMsRUFBRSxHQUFHLElBQUksU0FBUyxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsQ0FBQztZQUM5QyxLQUFJLENBQUMsRUFBRSxDQUFDLE1BQU07OztZQUFHO2dCQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUNBQW1DLENBQUMsQ0FBQztnQkFDakQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLENBQUMsQ0FBQSxDQUFDO1lBRUYsS0FBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1lBQzVCLEtBQUksQ0FBQyxFQUFFLENBQUMsT0FBTzs7OztZQUFHLFVBQUMsS0FBSztnQkFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO2dCQUM3QyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEIsQ0FBQyxDQUFBLENBQUM7UUFDSixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFTSxtQ0FBVTs7O0lBQWpCO1FBQ0ksSUFBSSxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksRUFBRTtZQUNuQixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDO1NBQ2hCO0lBQ0wsQ0FBQzs7OztJQUVNLG9DQUFXOzs7SUFBbEI7UUFDSSxPQUFPLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQ2xFLENBQUM7Ozs7O0lBRU0sb0NBQVc7Ozs7SUFBbEIsVUFBbUIsT0FBWTtRQUMzQixJQUFJLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ25CLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEdBQUcsTUFBTSxFQUFFO2dCQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlEQUFpRDtvQkFDM0QsZ0ZBQWdGLENBQUMsQ0FBQzthQUNyRjtpQkFBTTtnQkFDSCxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDekM7U0FDRjthQUFNO1lBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQywyREFBMkQsQ0FBQyxDQUFDO1NBQzdFO0lBQ0wsQ0FBQzs7Ozs7O0lBRU0sZ0RBQXVCOzs7OztJQUE5QixVQUErQixNQUFNLEVBQUUsUUFBUTtRQUEvQyxpQkFjQztRQWJDLFVBQVU7OztRQUNOO1lBQ0ksSUFBSSxNQUFNLENBQUMsVUFBVSxLQUFLLENBQUMsRUFBRTtnQkFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUNsQyxJQUFJLFFBQVEsSUFBSSxJQUFJLEVBQUU7b0JBQ2xCLFFBQVEsRUFBRSxDQUFDO2lCQUNkO2FBQ0o7aUJBQU07Z0JBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2dCQUN0QyxLQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ2xEO1FBRUwsQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsMENBQTBDO0lBQ3ZELENBQUM7O2dCQS9ERixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7Ozt5QkFKRDtDQWtFQyxBQWhFRCxJQWdFQztTQTdEWSxjQUFjOzs7Ozs7SUFJekIsNEJBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRmFjZVBhZFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBwcml2YXRlIHdzOiBXZWJTb2NrZXQ7XHJcblxyXG4gIHB1YmxpYyBjb25uZWN0KHVybCwgaGFuZGxlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy53cyA9IG5ldyBXZWJTb2NrZXQodXJsICsgJy9wYWQvc2Vzc2lvbicpO1xyXG4gICAgICB0aGlzLndzLm9ub3BlbiA9ICgpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdJbmZvOiBDb25uZWN0aW9uIFBBRCBFc3RhYmxpc2hlZC4nKTtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICB0aGlzLndzLm9ubWVzc2FnZSA9IGhhbmRsZXI7XHJcbiAgICAgIHRoaXMud3Mub25jbG9zZSA9IChldmVudCkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ0luZm86IENsb3NpbmcgUEFEIENvbm5lY3Rpb24uJyk7XHJcbiAgICAgICAgICByZWplY3QoZmFsc2UpO1xyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGlzY29ubmVjdCgpOiB2b2lkIHtcclxuICAgICAgaWYgKHRoaXMud3MgIT0gbnVsbCkge1xyXG4gICAgICAgIHRoaXMud3MuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLndzID0gbnVsbDtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzQ29ubmVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICByZXR1cm4gdGhpcy53cyAhPSBudWxsICYmIHRoaXMud3MucmVhZHlTdGF0ZSA9PT0gdGhpcy53cy5PUEVOO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbmRNZXNzYWdlKG1lc3NhZ2U6IGFueSk6IHZvaWQge1xyXG4gICAgICBpZiAodGhpcy53cyAhPSBudWxsKSB7XHJcbiAgICAgICAgaWYgKHRoaXMud3MuYnVmZmVyZWRBbW91bnQgPiAyMDAwMDApIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdJbWFnZSBub3Qgc2VudCA6IFdlYiBzb2NrZXQgYnVmZmVyIGlzIHRvbyBiaWcuICcgK1xyXG4gICAgICAgICAgICAnV2UgaGF2ZSB0byB3YWl0IHRoZSBwcmV2aW91cyBtZXNzYWdlcyB0byBiZSBzZW5kIGJlZm9yZSBzZW5kaW5nIGEgbmV3IG1lc3NhZ2UuJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy53cy5zZW5kKEpTT04uc3RyaW5naWZ5KG1lc3NhZ2UpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ2Nvbm5lY3Rpb24gdG8gd2ViIHNvY2tldCBub3QgZXN0YWJsaXNoZWQsIHBsZWFzZSBjb25uZWN0LicpO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd2FpdEZvclNvY2tldENvbm5lY3Rpb24oc29ja2V0LCBjYWxsYmFjayk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dChcclxuICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChzb2NrZXQucmVhZHlTdGF0ZSA9PT0gMSkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0Nvbm5lY3Rpb24gaXMgbWFkZScpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGNhbGxiYWNrICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3dhaXQgZm9yIGNvbm5lY3Rpb24uLi4nKTtcclxuICAgICAgICAgICAgICAgIHRoaXMud2FpdEZvclNvY2tldENvbm5lY3Rpb24oc29ja2V0LCBjYWxsYmFjayk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSwgNSk7IC8vIHdhaXQgNSBtaWxpc2Vjb25kIGZvciB0aGUgY29ubmVjdGlvbi4uLlxyXG4gIH1cclxufVxyXG4iXX0=

@@ -16,2 +16,3 @@ /**

['NO_FACE_ERROR_LABEL', 'No face detected. Please try again.'],
['NO_INTERNET_CONNECTION_LABEL', 'Internet connection lost. Please try again'],
['MULTIPLE_FACE_ERROR_LABEL', 'Multiple faces detected. Please try again.'],

@@ -24,5 +25,8 @@ ['MATCHING_SUCCESS_LABEL', 'Detected face successfully match the reference picture.'],

['START_BUTTON_LABEL', 'Start'],
['RESTART_BUTTON_LABEL', 'Restart'],
['COMPARE_BUTTON_LABEL', 'Compare'],
['ENABLE_CAM_BUTTON_LABEL', 'Start the webcam'],
['RETRY_BUTTON_LABEL', 'Retry'],
['USER_TOO_FAR_LABEL', 'Too far away, please move closer'],
['USER_NOT_CENTER_LABEL', 'Please, move on the target area'],
]);

@@ -36,2 +40,2 @@ return LanguageEn;

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uaTE4bi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpZDMvZmFjZS1wYWQvIiwic291cmNlcyI6WyJsaWIvaTE4bi9lbi5pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtJQUFBO0lBb0JBLENBQUM7SUFuQlUsbUJBQVEsR0FBd0IsSUFBSSxHQUFHLENBQUM7UUFDM0MsQ0FBQyxrQkFBa0IsRUFBRSwwQ0FBMEMsQ0FBQztRQUNoRSxDQUFDLDJCQUEyQixFQUFFLHFFQUFxRSxDQUFDO1FBQ3BHLENBQUMsdUJBQXVCLEVBQUUsdURBQXVELENBQUM7UUFDbEYsQ0FBQyw2QkFBNkIsRUFBRSx1RUFBdUUsQ0FBQztRQUN4RyxDQUFDLGlCQUFpQixFQUFFLCtEQUErRCxDQUFDO1FBQ3BGLENBQUMsNkJBQTZCLEVBQUUsd0NBQXdDLENBQUM7UUFDekUsQ0FBQyxxQkFBcUIsRUFBRSxxQ0FBcUMsQ0FBQztRQUM5RCxDQUFDLDJCQUEyQixFQUFFLDRDQUE0QyxDQUFDO1FBQzNFLENBQUMsd0JBQXdCLEVBQUUseURBQXlELENBQUM7UUFDckYsQ0FBQyxzQkFBc0IsRUFBRSwyREFBMkQ7Z0JBQ2hGLHVFQUF1RSxDQUFDO1FBQzVFLENBQUMsc0JBQXNCLEVBQUUsb0RBQW9ELENBQUM7UUFDOUUsQ0FBQyxlQUFlLEVBQUUsa0NBQWtDLENBQUM7UUFDckQsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUM7UUFDL0IsQ0FBQyxzQkFBc0IsRUFBRSxTQUFTLENBQUM7UUFDbkMsQ0FBQyx5QkFBeUIsRUFBRSxrQkFBa0IsQ0FBQztRQUMvQyxDQUFDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQztLQUNsQyxDQUFDLENBQUM7SUFDUCxpQkFBQztDQUFBLEFBcEJELElBb0JDO1NBcEJZLFVBQVU7OztJQUNuQixvQkFrQkciLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTGFuZ3VhZ2VFbiB7XHJcbiAgICBzdGF0aWMgbWVzc2FnZXM6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwKFtcclxuICAgICAgICBbJ1NUQVJUX1RJUFNfTEFCRUwnLCAnUHJlc3Mgb24gU3RhcnQgYnV0dG9uIHdoZW4geW91IGFyZSByZWFkeSddLFxyXG4gICAgICAgIFsnUFJPQ0VTU19GQUNFX0NFTlRFUl9MQUJFTCcsICdGYWNlIGRldGVjdGVkLCBidXQgbm90IGNlbnRlcmVkLiBQbGVhc2UgbG9vayBzdHJhaWdodCB0byB0aGUgY2FtZXJhJ10sXHJcbiAgICAgICAgWydQUk9DRVNTX05PX0ZBQ0VfTEFCRUwnLCAnTm8gZmFjZSBkZXRlY3RlZC4gUGxlYXNlIGxvb2sgc3RyYWlnaHQgdG8gdGhlIGNhbWVyYS4nXSxcclxuICAgICAgICBbJ1BST0NFU1NfTVVMVElQTEVfRkFDRV9MQUJFTCcsICdNdWx0aXBsZSBmYWNlcyBkZXRlY3RlZC4gT25seSBvbmUgcGVyc29uIGlzIGFsbG93ZWQgaW4gdGhlIGRldGVjdGlvbi4nXSxcclxuICAgICAgICBbJ1RVUk5fRkFDRV9MQUJFTCcsICdOb3csIHBsZWFzZSB0dXJuIHlvdXIgZmFjZSAobG9vayBhdCB0aGUgcmlnaHQgb3IgYXQgdGhlIGxlZnQpJ10sXHJcbiAgICAgICAgWydFWFBJUkVEX1NFU1NJT05fRVJST1JfTEFCRUwnLCAnU2Vzc2lvbiBoYXMgZXhwaXJlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4nXSxcclxuICAgICAgICBbJ05PX0ZBQ0VfRVJST1JfTEFCRUwnLCAnTm8gZmFjZSBkZXRlY3RlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4nXSxcclxuICAgICAgICBbJ01VTFRJUExFX0ZBQ0VfRVJST1JfTEFCRUwnLCAnTXVsdGlwbGUgZmFjZXMgZGV0ZWN0ZWQuIFBsZWFzZSB0cnkgYWdhaW4uJ10sXHJcbiAgICAgICAgWydNQVRDSElOR19TVUNDRVNTX0xBQkVMJywgJ0RldGVjdGVkIGZhY2Ugc3VjY2Vzc2Z1bGx5IG1hdGNoIHRoZSByZWZlcmVuY2UgcGljdHVyZS4nXSxcclxuICAgICAgICBbJ01BVENISU5HX1JFQURZX0xBQkVMJywgJ1BpY3R1cmUgaXMgcmVhZHkgdG8gYmUgY29tcGFyZWQgd2l0aCBhIHJlZmVyZW5jZSBwaWN0dXJlLicgK1xyXG4gICAgICAgICAgICAnUGxlYXNlIGNsaWNrIG9uIHRoZSBcIkNvbXBhcmVcIiBidXR0b24gdG8gdXBsb2FkIHRoZSByZWZlcmVuY2UgcGljdHVyZS4nXSxcclxuICAgICAgICBbJ01BVENISU5HX0VSUk9SX0xBQkVMJywgJ0RldGVjdGVkIGZhY2UgZG9lcyBub3QgbWF0Y2ggdGhlIHJlZmVyZW5jZSBwaWN0dXJlJ10sXHJcbiAgICAgICAgWydTVUNDRVNTX0xBQkVMJywgJ0xpdmUgZmFjZSBzdWNjZXNzZnVsbHkgZGV0ZWN0ZWQuJ10sXHJcbiAgICAgICAgWydTVEFSVF9CVVRUT05fTEFCRUwnLCAnU3RhcnQnXSxcclxuICAgICAgICBbJ0NPTVBBUkVfQlVUVE9OX0xBQkVMJywgJ0NvbXBhcmUnXSxcclxuICAgICAgICBbJ0VOQUJMRV9DQU1fQlVUVE9OX0xBQkVMJywgJ1N0YXJ0IHRoZSB3ZWJjYW0nXSxcclxuICAgICAgICBbJ1JFVFJZX0JVVFRPTl9MQUJFTCcsICdSZXRyeSddLFxyXG4gICAgXSk7XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uaTE4bi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpZDMvZmFjZS1wYWQvIiwic291cmNlcyI6WyJsaWIvaTE4bi9lbi5pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtJQUFBO0lBeUJBLENBQUM7SUF4QlUsbUJBQVEsR0FBd0IsSUFBSSxHQUFHLENBQUM7UUFDM0MsQ0FBQyxrQkFBa0IsRUFBRSwwQ0FBMEMsQ0FBQztRQUNoRSxDQUFDLDJCQUEyQixFQUFFLHFFQUFxRSxDQUFDO1FBQ3BHLENBQUMsdUJBQXVCLEVBQUUsdURBQXVELENBQUM7UUFDbEYsQ0FBQyw2QkFBNkIsRUFBRSx1RUFBdUUsQ0FBQztRQUN4RyxDQUFDLGlCQUFpQixFQUFFLCtEQUErRCxDQUFDO1FBQ3BGLENBQUMsNkJBQTZCLEVBQUUsd0NBQXdDLENBQUM7UUFDekUsQ0FBQyxxQkFBcUIsRUFBRSxxQ0FBcUMsQ0FBQztRQUM5RCxDQUFDLDhCQUE4QixFQUFFLDRDQUE0QyxDQUFDO1FBQzlFLENBQUMsMkJBQTJCLEVBQUUsNENBQTRDLENBQUM7UUFDM0UsQ0FBQyx3QkFBd0IsRUFBRSx5REFBeUQsQ0FBQztRQUNyRixDQUFDLHNCQUFzQixFQUFFLDJEQUEyRDtnQkFDaEYsdUVBQXVFLENBQUM7UUFDNUUsQ0FBQyxzQkFBc0IsRUFBRSxvREFBb0QsQ0FBQztRQUM5RSxDQUFDLGVBQWUsRUFBRSxrQ0FBa0MsQ0FBQztRQUNyRCxDQUFDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQztRQUMvQixDQUFDLHNCQUFzQixFQUFFLFNBQVMsQ0FBQztRQUNuQyxDQUFDLHNCQUFzQixFQUFFLFNBQVMsQ0FBQztRQUNuQyxDQUFDLHlCQUF5QixFQUFFLGtCQUFrQixDQUFDO1FBQy9DLENBQUMsb0JBQW9CLEVBQUUsT0FBTyxDQUFDO1FBQy9CLENBQUMsb0JBQW9CLEVBQUUsa0NBQWtDLENBQUM7UUFDMUQsQ0FBQyx1QkFBdUIsRUFBRSxpQ0FBaUMsQ0FBQztLQUUvRCxDQUFDLENBQUM7SUFDUCxpQkFBQztDQUFBLEFBekJELElBeUJDO1NBekJZLFVBQVU7OztJQUNuQixvQkF1QkciLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTGFuZ3VhZ2VFbiB7XHJcbiAgICBzdGF0aWMgbWVzc2FnZXM6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwKFtcclxuICAgICAgICBbJ1NUQVJUX1RJUFNfTEFCRUwnLCAnUHJlc3Mgb24gU3RhcnQgYnV0dG9uIHdoZW4geW91IGFyZSByZWFkeSddLFxyXG4gICAgICAgIFsnUFJPQ0VTU19GQUNFX0NFTlRFUl9MQUJFTCcsICdGYWNlIGRldGVjdGVkLCBidXQgbm90IGNlbnRlcmVkLiBQbGVhc2UgbG9vayBzdHJhaWdodCB0byB0aGUgY2FtZXJhJ10sXHJcbiAgICAgICAgWydQUk9DRVNTX05PX0ZBQ0VfTEFCRUwnLCAnTm8gZmFjZSBkZXRlY3RlZC4gUGxlYXNlIGxvb2sgc3RyYWlnaHQgdG8gdGhlIGNhbWVyYS4nXSxcclxuICAgICAgICBbJ1BST0NFU1NfTVVMVElQTEVfRkFDRV9MQUJFTCcsICdNdWx0aXBsZSBmYWNlcyBkZXRlY3RlZC4gT25seSBvbmUgcGVyc29uIGlzIGFsbG93ZWQgaW4gdGhlIGRldGVjdGlvbi4nXSxcclxuICAgICAgICBbJ1RVUk5fRkFDRV9MQUJFTCcsICdOb3csIHBsZWFzZSB0dXJuIHlvdXIgZmFjZSAobG9vayBhdCB0aGUgcmlnaHQgb3IgYXQgdGhlIGxlZnQpJ10sXHJcbiAgICAgICAgWydFWFBJUkVEX1NFU1NJT05fRVJST1JfTEFCRUwnLCAnU2Vzc2lvbiBoYXMgZXhwaXJlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4nXSxcclxuICAgICAgICBbJ05PX0ZBQ0VfRVJST1JfTEFCRUwnLCAnTm8gZmFjZSBkZXRlY3RlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4nXSxcclxuICAgICAgICBbJ05PX0lOVEVSTkVUX0NPTk5FQ1RJT05fTEFCRUwnLCAnSW50ZXJuZXQgY29ubmVjdGlvbiBsb3N0LiBQbGVhc2UgdHJ5IGFnYWluJ10sXHJcbiAgICAgICAgWydNVUxUSVBMRV9GQUNFX0VSUk9SX0xBQkVMJywgJ011bHRpcGxlIGZhY2VzIGRldGVjdGVkLiBQbGVhc2UgdHJ5IGFnYWluLiddLFxyXG4gICAgICAgIFsnTUFUQ0hJTkdfU1VDQ0VTU19MQUJFTCcsICdEZXRlY3RlZCBmYWNlIHN1Y2Nlc3NmdWxseSBtYXRjaCB0aGUgcmVmZXJlbmNlIHBpY3R1cmUuJ10sXHJcbiAgICAgICAgWydNQVRDSElOR19SRUFEWV9MQUJFTCcsICdQaWN0dXJlIGlzIHJlYWR5IHRvIGJlIGNvbXBhcmVkIHdpdGggYSByZWZlcmVuY2UgcGljdHVyZS4nICtcclxuICAgICAgICAgICAgJ1BsZWFzZSBjbGljayBvbiB0aGUgXCJDb21wYXJlXCIgYnV0dG9uIHRvIHVwbG9hZCB0aGUgcmVmZXJlbmNlIHBpY3R1cmUuJ10sXHJcbiAgICAgICAgWydNQVRDSElOR19FUlJPUl9MQUJFTCcsICdEZXRlY3RlZCBmYWNlIGRvZXMgbm90IG1hdGNoIHRoZSByZWZlcmVuY2UgcGljdHVyZSddLFxyXG4gICAgICAgIFsnU1VDQ0VTU19MQUJFTCcsICdMaXZlIGZhY2Ugc3VjY2Vzc2Z1bGx5IGRldGVjdGVkLiddLFxyXG4gICAgICAgIFsnU1RBUlRfQlVUVE9OX0xBQkVMJywgJ1N0YXJ0J10sXHJcbiAgICAgICAgWydSRVNUQVJUX0JVVFRPTl9MQUJFTCcsICdSZXN0YXJ0J10sXHJcbiAgICAgICAgWydDT01QQVJFX0JVVFRPTl9MQUJFTCcsICdDb21wYXJlJ10sXHJcbiAgICAgICAgWydFTkFCTEVfQ0FNX0JVVFRPTl9MQUJFTCcsICdTdGFydCB0aGUgd2ViY2FtJ10sXHJcbiAgICAgICAgWydSRVRSWV9CVVRUT05fTEFCRUwnLCAnUmV0cnknXSxcclxuICAgICAgICBbJ1VTRVJfVE9PX0ZBUl9MQUJFTCcsICdUb28gZmFyIGF3YXksIHBsZWFzZSBtb3ZlIGNsb3NlciddLFxyXG4gICAgICAgIFsnVVNFUl9OT1RfQ0VOVEVSX0xBQkVMJywgJ1BsZWFzZSwgbW92ZSBvbiB0aGUgdGFyZ2V0IGFyZWEnXSxcclxuXHJcbiAgICBdKTtcclxufVxyXG4iXX0=

@@ -16,2 +16,3 @@ /**

['NO_FACE_ERROR_LABEL', 'Pas de visage detecté. Veuillez réessayer'],
['NO_INTERNET_CONNECTION_LABEL', 'Connection internet perdue. Veuillez réessayer'],
['MULTIPLE_FACE_ERROR_LABEL', 'Plusieurs visages detectés. Veuillez réessayer'],

@@ -24,5 +25,8 @@ ['MATCHING_SUCCESS_LABEL', 'Le visage correspond bien à la photo de référence'],

['START_BUTTON_LABEL', 'Démarrer'],
['RESTART_BUTTON_LABEL', 'Recommencer'],
['COMPARE_BUTTON_LABEL', 'Vérifier'],
['ENABLE_CAM_BUTTON_LABEL', 'Activer la webcam'],
['RETRY_BUTTON_LABEL', 'Réessayer'],
['USER_TOO_FAR_LABEL', 'Vous êtes trop loin, veuillez vous rapprocher de la caméra'],
['USER_NOT_CENTER_LABEL', 'Veuillez vous positionner à l\'intérieur de la zone cible'],
]);

@@ -36,2 +40,2 @@ return LanguageFr;

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIuaTE4bi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpZDMvZmFjZS1wYWQvIiwic291cmNlcyI6WyJsaWIvaTE4bi9mci5pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtJQUFBO0lBb0JBLENBQUM7SUFuQlUsbUJBQVEsR0FBd0IsSUFBSSxHQUFHLENBQUM7UUFDM0MsQ0FBQyxrQkFBa0IsRUFBRSw2Q0FBNkMsQ0FBQztRQUNuRSxDQUFDLDJCQUEyQixFQUFFLG1HQUFtRyxDQUFDO1FBQ2xJLENBQUMsdUJBQXVCLEVBQUUseUVBQXlFLENBQUM7UUFDcEcsQ0FBQyw2QkFBNkIsRUFBRSxpRkFBaUYsQ0FBQztRQUNsSCxDQUFDLGlCQUFpQixFQUFFLDBFQUEwRSxDQUFDO1FBQy9GLENBQUMsNkJBQTZCLEVBQUUseUNBQXlDLENBQUM7UUFDMUUsQ0FBQyxxQkFBcUIsRUFBRSwyQ0FBMkMsQ0FBQztRQUNwRSxDQUFDLDJCQUEyQixFQUFFLGdEQUFnRCxDQUFDO1FBQy9FLENBQUMsd0JBQXdCLEVBQUUsbURBQW1ELENBQUM7UUFDL0UsQ0FBQyxzQkFBc0IsRUFBRSx3REFBd0Q7Z0JBQzdFLGdGQUFnRixDQUFDO1FBQ3JGLENBQUMsc0JBQXNCLEVBQUUscURBQXFELENBQUM7UUFDL0UsQ0FBQyxlQUFlLEVBQUUsa0NBQWtDLENBQUM7UUFDckQsQ0FBQyxvQkFBb0IsRUFBRSxVQUFVLENBQUM7UUFDbEMsQ0FBQyxzQkFBc0IsRUFBRSxVQUFVLENBQUM7UUFDcEMsQ0FBQyx5QkFBeUIsRUFBRSxtQkFBbUIsQ0FBQztRQUNoRCxDQUFDLG9CQUFvQixFQUFFLFdBQVcsQ0FBQztLQUN0QyxDQUFDLENBQUM7SUFDUCxpQkFBQztDQUFBLEFBcEJELElBb0JDO1NBcEJZLFVBQVU7OztJQUNuQixvQkFrQkciLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTGFuZ3VhZ2VGciB7XHJcbiAgICBzdGF0aWMgbWVzc2FnZXM6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwKFtcclxuICAgICAgICBbJ1NUQVJUX1RJUFNfTEFCRUwnLCAnQ2xpcXVleiBzdXIgRMOpbWFycmVyIGxvcnNxdWUgdm91cyDDqnRlcyBwcsOqdCddLFxyXG4gICAgICAgIFsnUFJPQ0VTU19GQUNFX0NFTlRFUl9MQUJFTCcsICdWaXNhZ2UgZGV0ZWN0w6ksIG1haXMgbm9uIGNlbnRyw6kuIFZldWlsbGV6IHJlZ2FyZGVyIGxhIGNhbcOpcmEgZW4gbWV0dGFudCB2b3RyZSB2aXNhZ2UgYmllbiBlbiBmYWNlJ10sXHJcbiAgICAgICAgWydQUk9DRVNTX05PX0ZBQ0VfTEFCRUwnLCAnUGFzIGRlIHZpc2FnZSBkZXRlY3TDqS4gVmV1aWxsZXogdm91cyBwb3NpdGlvbm5lciBhdSBjZW50cmUgZGUgbFxcJ8OpY3Jhbi4nXSxcclxuICAgICAgICBbJ1BST0NFU1NfTVVMVElQTEVfRkFDRV9MQUJFTCcsICdQbHVzaWV1cnMgdmlzYWdlcyBkZXRlY3TDqXMuIExhIGRldGVjdGlvbiBuZSBmb25jdGlvbm5lIHF1XFwnYXZlYyB1biBzZXVsIHZpc2FnZS4nXSxcclxuICAgICAgICBbJ1RVUk5fRkFDRV9MQUJFTCcsICdNYWludGVuYW50LCB0b3VybmV6IGxlbnRlbWVudCBsYSB0w6p0ZSAodmVycyBsYSBkcm9pdGUgb3UgdmVycyBsYSBnYXVjaGUpJ10sXHJcbiAgICAgICAgWydFWFBJUkVEX1NFU1NJT05fRVJST1JfTEFCRUwnLCAnTGEgc2Vzc2lvbiBhIGV4cGlyw6kuIFZldWlsbGV6IHLDqWVzc2F5ZXInXSxcclxuICAgICAgICBbJ05PX0ZBQ0VfRVJST1JfTEFCRUwnLCAnUGFzIGRlIHZpc2FnZSBkZXRlY3TDqS4gVmV1aWxsZXogcsOpZXNzYXllciddLFxyXG4gICAgICAgIFsnTVVMVElQTEVfRkFDRV9FUlJPUl9MQUJFTCcsICdQbHVzaWV1cnMgdmlzYWdlcyBkZXRlY3TDqXMuIFZldWlsbGV6IHLDqWVzc2F5ZXInXSxcclxuICAgICAgICBbJ01BVENISU5HX1NVQ0NFU1NfTEFCRUwnLCAnTGUgdmlzYWdlIGNvcnJlc3BvbmQgYmllbiDDoCBsYSBwaG90byBkZSByw6lmw6lyZW5jZSddLFxyXG4gICAgICAgIFsnTUFUQ0hJTkdfUkVBRFlfTEFCRUwnLCAnTGEgcGhvdG8gZXN0IHByw6p0ZSDDoCDDqnRyZSBjb21wYXLDqWUgYXZlYyB1bmUgcsOpZsOpcmVuY2UuJyArXHJcbiAgICAgICAgICAgICdWZXVpbGxleiBjbGlxdWVyIHN1ciBsZSBib3V0b24gXCJWZXJpZmllclwiIHB1aXMgY2hvaXNpciB1bmUgcGhvdG8gZGUgcsOpZsOpcmVuY2UuJ10sXHJcbiAgICAgICAgWydNQVRDSElOR19FUlJPUl9MQUJFTCcsICdMZSB2aXNhZ2UgbmUgY29ycmVzcG9uZCBwYXMgw6AgbGEgcGhvdG8gZGUgcsOpZsOpcmVuY2UnXSxcclxuICAgICAgICBbJ1NVQ0NFU1NfTEFCRUwnLCAnTGEgZGV0ZWN0aW9uIGR1IHZpc2FnZSBhIHLDqXVzc2kuJ10sXHJcbiAgICAgICAgWydTVEFSVF9CVVRUT05fTEFCRUwnLCAnRMOpbWFycmVyJ10sXHJcbiAgICAgICAgWydDT01QQVJFX0JVVFRPTl9MQUJFTCcsICdWw6lyaWZpZXInXSxcclxuICAgICAgICBbJ0VOQUJMRV9DQU1fQlVUVE9OX0xBQkVMJywgJ0FjdGl2ZXIgbGEgd2ViY2FtJ10sXHJcbiAgICAgICAgWydSRVRSWV9CVVRUT05fTEFCRUwnLCAnUsOpZXNzYXllciddLFxyXG4gICAgXSk7XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIuaTE4bi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpZDMvZmFjZS1wYWQvIiwic291cmNlcyI6WyJsaWIvaTE4bi9mci5pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtJQUFBO0lBd0JBLENBQUM7SUF2QlUsbUJBQVEsR0FBd0IsSUFBSSxHQUFHLENBQUM7UUFDM0MsQ0FBQyxrQkFBa0IsRUFBRSw2Q0FBNkMsQ0FBQztRQUNuRSxDQUFDLDJCQUEyQixFQUFFLG1HQUFtRyxDQUFDO1FBQ2xJLENBQUMsdUJBQXVCLEVBQUUseUVBQXlFLENBQUM7UUFDcEcsQ0FBQyw2QkFBNkIsRUFBRSxpRkFBaUYsQ0FBQztRQUNsSCxDQUFDLGlCQUFpQixFQUFFLDBFQUEwRSxDQUFDO1FBQy9GLENBQUMsNkJBQTZCLEVBQUUseUNBQXlDLENBQUM7UUFDMUUsQ0FBQyxxQkFBcUIsRUFBRSwyQ0FBMkMsQ0FBQztRQUNwRSxDQUFDLDhCQUE4QixFQUFFLGdEQUFnRCxDQUFDO1FBQ2xGLENBQUMsMkJBQTJCLEVBQUUsZ0RBQWdELENBQUM7UUFDL0UsQ0FBQyx3QkFBd0IsRUFBRSxtREFBbUQsQ0FBQztRQUMvRSxDQUFDLHNCQUFzQixFQUFFLHdEQUF3RDtnQkFDN0UsZ0ZBQWdGLENBQUM7UUFDckYsQ0FBQyxzQkFBc0IsRUFBRSxxREFBcUQsQ0FBQztRQUMvRSxDQUFDLGVBQWUsRUFBRSxrQ0FBa0MsQ0FBQztRQUNyRCxDQUFDLG9CQUFvQixFQUFFLFVBQVUsQ0FBQztRQUNsQyxDQUFDLHNCQUFzQixFQUFFLGFBQWEsQ0FBQztRQUN2QyxDQUFDLHNCQUFzQixFQUFFLFVBQVUsQ0FBQztRQUNwQyxDQUFDLHlCQUF5QixFQUFFLG1CQUFtQixDQUFDO1FBQ2hELENBQUMsb0JBQW9CLEVBQUUsV0FBVyxDQUFDO1FBQ25DLENBQUMsb0JBQW9CLEVBQUUsNERBQTRELENBQUM7UUFDcEYsQ0FBQyx1QkFBdUIsRUFBRSwyREFBMkQsQ0FBQztLQUN6RixDQUFDLENBQUM7SUFDUCxpQkFBQztDQUFBLEFBeEJELElBd0JDO1NBeEJZLFVBQVU7OztJQUNuQixvQkFzQkciLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTGFuZ3VhZ2VGciB7XHJcbiAgICBzdGF0aWMgbWVzc2FnZXM6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwKFtcclxuICAgICAgICBbJ1NUQVJUX1RJUFNfTEFCRUwnLCAnQ2xpcXVleiBzdXIgRMOpbWFycmVyIGxvcnNxdWUgdm91cyDDqnRlcyBwcsOqdCddLFxyXG4gICAgICAgIFsnUFJPQ0VTU19GQUNFX0NFTlRFUl9MQUJFTCcsICdWaXNhZ2UgZGV0ZWN0w6ksIG1haXMgbm9uIGNlbnRyw6kuIFZldWlsbGV6IHJlZ2FyZGVyIGxhIGNhbcOpcmEgZW4gbWV0dGFudCB2b3RyZSB2aXNhZ2UgYmllbiBlbiBmYWNlJ10sXHJcbiAgICAgICAgWydQUk9DRVNTX05PX0ZBQ0VfTEFCRUwnLCAnUGFzIGRlIHZpc2FnZSBkZXRlY3TDqS4gVmV1aWxsZXogdm91cyBwb3NpdGlvbm5lciBhdSBjZW50cmUgZGUgbFxcJ8OpY3Jhbi4nXSxcclxuICAgICAgICBbJ1BST0NFU1NfTVVMVElQTEVfRkFDRV9MQUJFTCcsICdQbHVzaWV1cnMgdmlzYWdlcyBkZXRlY3TDqXMuIExhIGRldGVjdGlvbiBuZSBmb25jdGlvbm5lIHF1XFwnYXZlYyB1biBzZXVsIHZpc2FnZS4nXSxcclxuICAgICAgICBbJ1RVUk5fRkFDRV9MQUJFTCcsICdNYWludGVuYW50LCB0b3VybmV6IGxlbnRlbWVudCBsYSB0w6p0ZSAodmVycyBsYSBkcm9pdGUgb3UgdmVycyBsYSBnYXVjaGUpJ10sXHJcbiAgICAgICAgWydFWFBJUkVEX1NFU1NJT05fRVJST1JfTEFCRUwnLCAnTGEgc2Vzc2lvbiBhIGV4cGlyw6kuIFZldWlsbGV6IHLDqWVzc2F5ZXInXSxcclxuICAgICAgICBbJ05PX0ZBQ0VfRVJST1JfTEFCRUwnLCAnUGFzIGRlIHZpc2FnZSBkZXRlY3TDqS4gVmV1aWxsZXogcsOpZXNzYXllciddLFxyXG4gICAgICAgIFsnTk9fSU5URVJORVRfQ09OTkVDVElPTl9MQUJFTCcsICdDb25uZWN0aW9uIGludGVybmV0IHBlcmR1ZS4gVmV1aWxsZXogcsOpZXNzYXllciddLFxyXG4gICAgICAgIFsnTVVMVElQTEVfRkFDRV9FUlJPUl9MQUJFTCcsICdQbHVzaWV1cnMgdmlzYWdlcyBkZXRlY3TDqXMuIFZldWlsbGV6IHLDqWVzc2F5ZXInXSxcclxuICAgICAgICBbJ01BVENISU5HX1NVQ0NFU1NfTEFCRUwnLCAnTGUgdmlzYWdlIGNvcnJlc3BvbmQgYmllbiDDoCBsYSBwaG90byBkZSByw6lmw6lyZW5jZSddLFxyXG4gICAgICAgIFsnTUFUQ0hJTkdfUkVBRFlfTEFCRUwnLCAnTGEgcGhvdG8gZXN0IHByw6p0ZSDDoCDDqnRyZSBjb21wYXLDqWUgYXZlYyB1bmUgcsOpZsOpcmVuY2UuJyArXHJcbiAgICAgICAgICAgICdWZXVpbGxleiBjbGlxdWVyIHN1ciBsZSBib3V0b24gXCJWZXJpZmllclwiIHB1aXMgY2hvaXNpciB1bmUgcGhvdG8gZGUgcsOpZsOpcmVuY2UuJ10sXHJcbiAgICAgICAgWydNQVRDSElOR19FUlJPUl9MQUJFTCcsICdMZSB2aXNhZ2UgbmUgY29ycmVzcG9uZCBwYXMgw6AgbGEgcGhvdG8gZGUgcsOpZsOpcmVuY2UnXSxcclxuICAgICAgICBbJ1NVQ0NFU1NfTEFCRUwnLCAnTGEgZGV0ZWN0aW9uIGR1IHZpc2FnZSBhIHLDqXVzc2kuJ10sXHJcbiAgICAgICAgWydTVEFSVF9CVVRUT05fTEFCRUwnLCAnRMOpbWFycmVyJ10sXHJcbiAgICAgICAgWydSRVNUQVJUX0JVVFRPTl9MQUJFTCcsICdSZWNvbW1lbmNlciddLFxyXG4gICAgICAgIFsnQ09NUEFSRV9CVVRUT05fTEFCRUwnLCAnVsOpcmlmaWVyJ10sXHJcbiAgICAgICAgWydFTkFCTEVfQ0FNX0JVVFRPTl9MQUJFTCcsICdBY3RpdmVyIGxhIHdlYmNhbSddLFxyXG4gICAgICAgIFsnUkVUUllfQlVUVE9OX0xBQkVMJywgJ1LDqWVzc2F5ZXInXSxcclxuICAgICAgICBbJ1VTRVJfVE9PX0ZBUl9MQUJFTCcsICdWb3VzIMOqdGVzIHRyb3AgbG9pbiwgdmV1aWxsZXogdm91cyByYXBwcm9jaGVyIGRlIGxhIGNhbcOpcmEnXSxcclxuICAgICAgICBbJ1VTRVJfTk9UX0NFTlRFUl9MQUJFTCcsICdWZXVpbGxleiB2b3VzIHBvc2l0aW9ubmVyIMOgIGxcXCdpbnTDqXJpZXVyIGRlIGxhIHpvbmUgY2libGUnXSxcclxuICAgIF0pO1xyXG59XHJcbiJdfQ==

@@ -16,2 +16,3 @@ /**

['NO_FACE_ERROR_LABEL', 'Nenhum rosto detectado. Por favor, tente novamente.'],
['NO_INTERNET_CONNECTION_LABEL', 'Conexão perdida com a internet. Por favor, tente novamente.'],
['MULTIPLE_FACE_ERROR_LABEL', 'Múltiplos rostos detectados. Por favor, tente novamente.'],

@@ -24,5 +25,8 @@ ['MATCHING_SUCCESS_LABEL', 'A face detectada corresponde com sucesso à imagem de referência.'],

['START_BUTTON_LABEL', 'Iniciar'],
['RESTART_BUTTON_LABEL', 'Começar de novo'],
['COMPARE_BUTTON_LABEL', 'Comparar'],
['ENABLE_CAM_BUTTON_LABEL', 'Comece a webcam'],
['RETRY_BUTTON_LABEL', 'Tente novamente'],
['USER_TOO_FAR_LABEL', 'Você está longe demais, por favor, aproxime-se da câmera'],
['USER_NOT_CENTER_LABEL', 'Por favor posicione-se dentro da área alvo'],
]);

@@ -36,2 +40,2 @@ return LanguagePt;

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQuaTE4bi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpZDMvZmFjZS1wYWQvIiwic291cmNlcyI6WyJsaWIvaTE4bi9wdC5pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtJQUFBO0lBb0JBLENBQUM7SUFuQlUsbUJBQVEsR0FBd0IsSUFBSSxHQUFHLENBQUM7UUFDM0MsQ0FBQyxrQkFBa0IsRUFBRSxrREFBa0QsQ0FBQztRQUN4RSxDQUFDLDJCQUEyQixFQUFFLDhFQUE4RSxDQUFDO1FBQzdHLENBQUMsdUJBQXVCLEVBQUUsb0VBQW9FLENBQUM7UUFDL0YsQ0FBQyw2QkFBNkIsRUFBRSx5RUFBeUUsQ0FBQztRQUMxRyxDQUFDLGlCQUFpQixFQUFFLDJFQUEyRSxDQUFDO1FBQ2hHLENBQUMsNkJBQTZCLEVBQUUsNkNBQTZDLENBQUM7UUFDOUUsQ0FBQyxxQkFBcUIsRUFBRSxxREFBcUQsQ0FBQztRQUM5RSxDQUFDLDJCQUEyQixFQUFFLDBEQUEwRCxDQUFDO1FBQ3pGLENBQUMsd0JBQXdCLEVBQUUsa0VBQWtFLENBQUM7UUFDOUYsQ0FBQyxzQkFBc0IsRUFBRSx1RUFBdUU7Z0JBQzVGLDZFQUE2RSxDQUFDO1FBQ2xGLENBQUMsc0JBQXNCLEVBQUUsb0RBQW9ELENBQUM7UUFDOUUsQ0FBQyxlQUFlLEVBQUUsMERBQTBELENBQUM7UUFDN0UsQ0FBQyxvQkFBb0IsRUFBRSxTQUFTLENBQUM7UUFDakMsQ0FBQyxzQkFBc0IsRUFBRSxVQUFVLENBQUM7UUFDcEMsQ0FBQyx5QkFBeUIsRUFBRSxpQkFBaUIsQ0FBQztRQUM5QyxDQUFDLG9CQUFvQixFQUFFLGlCQUFpQixDQUFDO0tBQzVDLENBQUMsQ0FBQztJQUNQLGlCQUFDO0NBQUEsQUFwQkQsSUFvQkM7U0FwQlksVUFBVTs7O0lBQ25CLG9CQWtCRyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBMYW5ndWFnZVB0IHtcclxuICAgIHN0YXRpYyBtZXNzYWdlczogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXAoW1xyXG4gICAgICAgIFsnU1RBUlRfVElQU19MQUJFTCcsICdQcmVzc2lvbmUgbm8gYm90w6NvIEluaWNpYXIgcXVhbmRvIGVzdGl2ZXIgcHJvbnRvJ10sXHJcbiAgICAgICAgWydQUk9DRVNTX0ZBQ0VfQ0VOVEVSX0xBQkVMJywgJ1Jvc3RvIGRldGVjdGFkbywgbWFzIG7Do28gY2VudHJhZG8uIFBvciBmYXZvciwgb2xoZSBkaXJldGFtZW50ZSBwYXJhIGEgY8OibWVyYSddLFxyXG4gICAgICAgIFsnUFJPQ0VTU19OT19GQUNFX0xBQkVMJywgJ05lbmh1bSByb3N0byBkZXRlY3RhZG8uIFBvciBmYXZvciwgb2xoZSBkaXJldGFtZW50ZSBwYXJhIGEgY8OibWVyYS4nXSxcclxuICAgICAgICBbJ1BST0NFU1NfTVVMVElQTEVfRkFDRV9MQUJFTCcsICdNw7psdGlwbG9zIHJvc3RvcyBkZXRlY3RhZG9zLiBBcGVuYXMgdW1hIHBlc3NvYSDDqSBwZXJtaXRpZGEgbmEgZGV0ZWPDp8Ojby4nXSxcclxuICAgICAgICBbJ1RVUk5fRkFDRV9MQUJFTCcsICdBZ29yYSwgcG9yIGZhdm9yLCB2aXJlIHNldSByb3N0byAob2xoZSBwYXJhIGEgZGlyZWl0YSBvdSBwYXJhIGEgZXNxdWVyZGEpJ10sXHJcbiAgICAgICAgWydFWFBJUkVEX1NFU1NJT05fRVJST1JfTEFCRUwnLCAnU2Vzc8OjbyBleHBpcm91LiBQb3IgZmF2b3IsIHRlbnRlIG5vdmFtZW50ZS4nXSxcclxuICAgICAgICBbJ05PX0ZBQ0VfRVJST1JfTEFCRUwnLCAnTmVuaHVtIHJvc3RvIGRldGVjdGFkby4gUG9yIGZhdm9yLCB0ZW50ZSBub3ZhbWVudGUuJ10sXHJcbiAgICAgICAgWydNVUxUSVBMRV9GQUNFX0VSUk9SX0xBQkVMJywgJ03Dumx0aXBsb3Mgcm9zdG9zIGRldGVjdGFkb3MuIFBvciBmYXZvciwgdGVudGUgbm92YW1lbnRlLiddLFxyXG4gICAgICAgIFsnTUFUQ0hJTkdfU1VDQ0VTU19MQUJFTCcsICdBIGZhY2UgZGV0ZWN0YWRhIGNvcnJlc3BvbmRlIGNvbSBzdWNlc3NvIMOgIGltYWdlbSBkZSByZWZlcsOqbmNpYS4nXSxcclxuICAgICAgICBbJ01BVENISU5HX1JFQURZX0xBQkVMJywgJ0EgaW1hZ2VtIGVzdMOhIHByb250YSBwYXJhIHNlciBjb21wYXJhZGEgY29tIHVtYSBpbWFnZW0gZGUgcmVmZXLDqm5jaWEuJyArXHJcbiAgICAgICAgICAgICdQb3IgZmF2b3IsIGNsaXF1ZSBubyBib3TDo28gXCJDb21wYXJhclwiIHBhcmEgY2FycmVnYXIgYSBpbWFnZW0gZGUgcmVmZXLDqm5jaWEuJ10sXHJcbiAgICAgICAgWydNQVRDSElOR19FUlJPUl9MQUJFTCcsICdEZXRlY3RlZCBmYWNlIGRvZXMgbm90IG1hdGNoIHRoZSByZWZlcmVuY2UgcGljdHVyZSddLFxyXG4gICAgICAgIFsnU1VDQ0VTU19MQUJFTCcsICdPIHJvc3RvIGRldGVjdGFkbyBuw6NvIGNvcnJlc3BvbmRlIMOgIGltYWdlbSBkZSByZWZlcsOqbmNpYSddLFxyXG4gICAgICAgIFsnU1RBUlRfQlVUVE9OX0xBQkVMJywgJ0luaWNpYXInXSxcclxuICAgICAgICBbJ0NPTVBBUkVfQlVUVE9OX0xBQkVMJywgJ0NvbXBhcmFyJ10sXHJcbiAgICAgICAgWydFTkFCTEVfQ0FNX0JVVFRPTl9MQUJFTCcsICdDb21lY2UgYSB3ZWJjYW0nXSxcclxuICAgICAgICBbJ1JFVFJZX0JVVFRPTl9MQUJFTCcsICdUZW50ZSBub3ZhbWVudGUnXSxcclxuICAgIF0pO1xyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQuaTE4bi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BpZDMvZmFjZS1wYWQvIiwic291cmNlcyI6WyJsaWIvaTE4bi9wdC5pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtJQUFBO0lBd0JBLENBQUM7SUF2QlUsbUJBQVEsR0FBd0IsSUFBSSxHQUFHLENBQUM7UUFDM0MsQ0FBQyxrQkFBa0IsRUFBRSxrREFBa0QsQ0FBQztRQUN4RSxDQUFDLDJCQUEyQixFQUFFLDhFQUE4RSxDQUFDO1FBQzdHLENBQUMsdUJBQXVCLEVBQUUsb0VBQW9FLENBQUM7UUFDL0YsQ0FBQyw2QkFBNkIsRUFBRSx5RUFBeUUsQ0FBQztRQUMxRyxDQUFDLGlCQUFpQixFQUFFLDJFQUEyRSxDQUFDO1FBQ2hHLENBQUMsNkJBQTZCLEVBQUUsNkNBQTZDLENBQUM7UUFDOUUsQ0FBQyxxQkFBcUIsRUFBRSxxREFBcUQsQ0FBQztRQUM5RSxDQUFDLDhCQUE4QixFQUFFLDZEQUE2RCxDQUFDO1FBQy9GLENBQUMsMkJBQTJCLEVBQUUsMERBQTBELENBQUM7UUFDekYsQ0FBQyx3QkFBd0IsRUFBRSxrRUFBa0UsQ0FBQztRQUM5RixDQUFDLHNCQUFzQixFQUFFLHVFQUF1RTtnQkFDNUYsNkVBQTZFLENBQUM7UUFDbEYsQ0FBQyxzQkFBc0IsRUFBRSxvREFBb0QsQ0FBQztRQUM5RSxDQUFDLGVBQWUsRUFBRSwwREFBMEQsQ0FBQztRQUM3RSxDQUFDLG9CQUFvQixFQUFFLFNBQVMsQ0FBQztRQUNqQyxDQUFDLHNCQUFzQixFQUFFLGlCQUFpQixDQUFDO1FBQzNDLENBQUMsc0JBQXNCLEVBQUUsVUFBVSxDQUFDO1FBQ3BDLENBQUMseUJBQXlCLEVBQUUsaUJBQWlCLENBQUM7UUFDOUMsQ0FBQyxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQztRQUN6QyxDQUFDLG9CQUFvQixFQUFFLDBEQUEwRCxDQUFDO1FBQ2xGLENBQUMsdUJBQXVCLEVBQUUsNENBQTRDLENBQUM7S0FDMUUsQ0FBQyxDQUFDO0lBQ1AsaUJBQUM7Q0FBQSxBQXhCRCxJQXdCQztTQXhCWSxVQUFVOzs7SUFDbkIsb0JBc0JHIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIExhbmd1YWdlUHQge1xyXG4gICAgc3RhdGljIG1lc3NhZ2VzOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcChbXHJcbiAgICAgICAgWydTVEFSVF9USVBTX0xBQkVMJywgJ1ByZXNzaW9uZSBubyBib3TDo28gSW5pY2lhciBxdWFuZG8gZXN0aXZlciBwcm9udG8nXSxcclxuICAgICAgICBbJ1BST0NFU1NfRkFDRV9DRU5URVJfTEFCRUwnLCAnUm9zdG8gZGV0ZWN0YWRvLCBtYXMgbsOjbyBjZW50cmFkby4gUG9yIGZhdm9yLCBvbGhlIGRpcmV0YW1lbnRlIHBhcmEgYSBjw6JtZXJhJ10sXHJcbiAgICAgICAgWydQUk9DRVNTX05PX0ZBQ0VfTEFCRUwnLCAnTmVuaHVtIHJvc3RvIGRldGVjdGFkby4gUG9yIGZhdm9yLCBvbGhlIGRpcmV0YW1lbnRlIHBhcmEgYSBjw6JtZXJhLiddLFxyXG4gICAgICAgIFsnUFJPQ0VTU19NVUxUSVBMRV9GQUNFX0xBQkVMJywgJ03Dumx0aXBsb3Mgcm9zdG9zIGRldGVjdGFkb3MuIEFwZW5hcyB1bWEgcGVzc29hIMOpIHBlcm1pdGlkYSBuYSBkZXRlY8Onw6NvLiddLFxyXG4gICAgICAgIFsnVFVSTl9GQUNFX0xBQkVMJywgJ0Fnb3JhLCBwb3IgZmF2b3IsIHZpcmUgc2V1IHJvc3RvIChvbGhlIHBhcmEgYSBkaXJlaXRhIG91IHBhcmEgYSBlc3F1ZXJkYSknXSxcclxuICAgICAgICBbJ0VYUElSRURfU0VTU0lPTl9FUlJPUl9MQUJFTCcsICdTZXNzw6NvIGV4cGlyb3UuIFBvciBmYXZvciwgdGVudGUgbm92YW1lbnRlLiddLFxyXG4gICAgICAgIFsnTk9fRkFDRV9FUlJPUl9MQUJFTCcsICdOZW5odW0gcm9zdG8gZGV0ZWN0YWRvLiBQb3IgZmF2b3IsIHRlbnRlIG5vdmFtZW50ZS4nXSxcclxuICAgICAgICBbJ05PX0lOVEVSTkVUX0NPTk5FQ1RJT05fTEFCRUwnLCAnQ29uZXjDo28gcGVyZGlkYSBjb20gYSBpbnRlcm5ldC4gUG9yIGZhdm9yLCB0ZW50ZSBub3ZhbWVudGUuJ10sXHJcbiAgICAgICAgWydNVUxUSVBMRV9GQUNFX0VSUk9SX0xBQkVMJywgJ03Dumx0aXBsb3Mgcm9zdG9zIGRldGVjdGFkb3MuIFBvciBmYXZvciwgdGVudGUgbm92YW1lbnRlLiddLFxyXG4gICAgICAgIFsnTUFUQ0hJTkdfU1VDQ0VTU19MQUJFTCcsICdBIGZhY2UgZGV0ZWN0YWRhIGNvcnJlc3BvbmRlIGNvbSBzdWNlc3NvIMOgIGltYWdlbSBkZSByZWZlcsOqbmNpYS4nXSxcclxuICAgICAgICBbJ01BVENISU5HX1JFQURZX0xBQkVMJywgJ0EgaW1hZ2VtIGVzdMOhIHByb250YSBwYXJhIHNlciBjb21wYXJhZGEgY29tIHVtYSBpbWFnZW0gZGUgcmVmZXLDqm5jaWEuJyArXHJcbiAgICAgICAgICAgICdQb3IgZmF2b3IsIGNsaXF1ZSBubyBib3TDo28gXCJDb21wYXJhclwiIHBhcmEgY2FycmVnYXIgYSBpbWFnZW0gZGUgcmVmZXLDqm5jaWEuJ10sXHJcbiAgICAgICAgWydNQVRDSElOR19FUlJPUl9MQUJFTCcsICdEZXRlY3RlZCBmYWNlIGRvZXMgbm90IG1hdGNoIHRoZSByZWZlcmVuY2UgcGljdHVyZSddLFxyXG4gICAgICAgIFsnU1VDQ0VTU19MQUJFTCcsICdPIHJvc3RvIGRldGVjdGFkbyBuw6NvIGNvcnJlc3BvbmRlIMOgIGltYWdlbSBkZSByZWZlcsOqbmNpYSddLFxyXG4gICAgICAgIFsnU1RBUlRfQlVUVE9OX0xBQkVMJywgJ0luaWNpYXInXSxcclxuICAgICAgICBbJ1JFU1RBUlRfQlVUVE9OX0xBQkVMJywgJ0NvbWXDp2FyIGRlIG5vdm8nXSxcclxuICAgICAgICBbJ0NPTVBBUkVfQlVUVE9OX0xBQkVMJywgJ0NvbXBhcmFyJ10sXHJcbiAgICAgICAgWydFTkFCTEVfQ0FNX0JVVFRPTl9MQUJFTCcsICdDb21lY2UgYSB3ZWJjYW0nXSxcclxuICAgICAgICBbJ1JFVFJZX0JVVFRPTl9MQUJFTCcsICdUZW50ZSBub3ZhbWVudGUnXSxcclxuICAgICAgICBbJ1VTRVJfVE9PX0ZBUl9MQUJFTCcsICdWb2PDqiBlc3TDoSBsb25nZSBkZW1haXMsIHBvciBmYXZvciwgYXByb3hpbWUtc2UgZGEgY8OibWVyYSddLFxyXG4gICAgICAgIFsnVVNFUl9OT1RfQ0VOVEVSX0xBQkVMJywgJ1BvciBmYXZvciBwb3NpY2lvbmUtc2UgZGVudHJvIGRhIMOhcmVhIGFsdm8nXSxcclxuICAgIF0pO1xyXG59XHJcbiJdfQ==

@@ -22,6 +22,9 @@ /**

ERROR_MULTIPLE_FACE: 8,
ERROR_NO_INTERNET_CONNECTION: 9,
ERROR_USER_TOO_FAR: 10,
ERROR_USER_NOT_CENTER: 11,
// Matching states
MATCH_READY: 9,
MATCH_SUCCESS: 10,
MATCH_ERROR: 11,
MATCH_READY: 12,
MATCH_SUCCESS: 13,
MATCH_ERROR: 14,
};

@@ -38,5 +41,8 @@ export { PadState };

PadState[PadState.ERROR_MULTIPLE_FACE] = 'ERROR_MULTIPLE_FACE';
PadState[PadState.ERROR_NO_INTERNET_CONNECTION] = 'ERROR_NO_INTERNET_CONNECTION';
PadState[PadState.ERROR_USER_TOO_FAR] = 'ERROR_USER_TOO_FAR';
PadState[PadState.ERROR_USER_NOT_CENTER] = 'ERROR_USER_NOT_CENTER';
PadState[PadState.MATCH_READY] = 'MATCH_READY';
PadState[PadState.MATCH_SUCCESS] = 'MATCH_SUCCESS';
PadState[PadState.MATCH_ERROR] = 'MATCH_ERROR';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFkLXN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlkMy9mYWNlLXBhZC8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbC9wYWQtc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0lBQ0ksc0RBQXNEO0lBQ3RELHNCQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsVUFBTztJQUNQLHdEQUF3RDtJQUN4RCxVQUFPO0lBQ1AsMEVBQTBFO0lBQzFFLFVBQU87SUFDUCw2QkFBNkI7SUFDN0IsVUFBTztJQUNQLGNBQWM7SUFDZCxZQUFTO0lBQ1QsZ0JBQWE7SUFDYixnQkFBYTtJQUNiLHNCQUFtQjtJQUVuQixrQkFBa0I7SUFDbEIsY0FBVztJQUNYLGlCQUFhO0lBQ2IsZUFBVyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFBhZFN0YXRlIHtcclxuICAgIC8vIFdhaXRpbmcgZm9yIHRoZSB1c2VyIHBlcm1pc3Npb24gKHRvIHVzZSB0aGUgd2ViY2FtKVxyXG4gICAgUkVRVUVTVF9QRVJNSVNTSU9OUyxcclxuICAgIC8vIFJlYWR5IHRvIHN0YXJ0IHBhZCBwcm9jZXNzLlxyXG4gICAgSU5JVElBTCxcclxuICAgIC8vIFBhZCBpcyBzdGFydGVkIGFuZCBpcyB3YWl0aW5nIHRvIGhhdmUgYSBjZW50ZXJlZCBmYWNlXHJcbiAgICBTVEFSVEVELFxyXG4gICAgLy8gUGFkIGlzIHByb2Nlc3NpbmcgYnkgc2VuZGluZyBhZGRpdGlvbmFsIGltYWdlcyAoZmFjZSBoYXZlIHRvIGJlIHR1cm5lZClcclxuICAgIFBST0NFU1MsXHJcbiAgICAvLyBQYWQgcHJvY2VzcyBoYXMgc3VjY2VkZWVkLlxyXG4gICAgU1VDQ0VTUyxcclxuICAgIC8vIFBhZCBlcnJvcnM7XHJcbiAgICBFUlJPUl9LRVksXHJcbiAgICBFUlJPUl9TRVNTSU9OLFxyXG4gICAgRVJST1JfTk9fRkFDRSxcclxuICAgIEVSUk9SX01VTFRJUExFX0ZBQ0UsXHJcblxyXG4gICAgLy8gTWF0Y2hpbmcgc3RhdGVzXHJcbiAgICBNQVRDSF9SRUFEWSxcclxuICAgIE1BVENIX1NVQ0NFU1MsXHJcbiAgICBNQVRDSF9FUlJPUlxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFkLXN0YXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGlkMy9mYWNlLXBhZC8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbC9wYWQtc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0lBQ0ksc0RBQXNEO0lBQ3RELHNCQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsVUFBTztJQUNQLHdEQUF3RDtJQUN4RCxVQUFPO0lBQ1AsMEVBQTBFO0lBQzFFLFVBQU87SUFDUCw2QkFBNkI7SUFDN0IsVUFBTztJQUNQLGNBQWM7SUFDZCxZQUFTO0lBQ1QsZ0JBQWE7SUFDYixnQkFBYTtJQUNiLHNCQUFtQjtJQUNuQiwrQkFBNEI7SUFDNUIsc0JBQWtCO0lBQ2xCLHlCQUFxQjtJQUVyQixrQkFBa0I7SUFDbEIsZUFBVztJQUNYLGlCQUFhO0lBQ2IsZUFBVyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFBhZFN0YXRlIHtcclxuICAgIC8vIFdhaXRpbmcgZm9yIHRoZSB1c2VyIHBlcm1pc3Npb24gKHRvIHVzZSB0aGUgd2ViY2FtKVxyXG4gICAgUkVRVUVTVF9QRVJNSVNTSU9OUyxcclxuICAgIC8vIFJlYWR5IHRvIHN0YXJ0IHBhZCBwcm9jZXNzLlxyXG4gICAgSU5JVElBTCxcclxuICAgIC8vIFBhZCBpcyBzdGFydGVkIGFuZCBpcyB3YWl0aW5nIHRvIGhhdmUgYSBjZW50ZXJlZCBmYWNlXHJcbiAgICBTVEFSVEVELFxyXG4gICAgLy8gUGFkIGlzIHByb2Nlc3NpbmcgYnkgc2VuZGluZyBhZGRpdGlvbmFsIGltYWdlcyAoZmFjZSBoYXZlIHRvIGJlIHR1cm5lZClcclxuICAgIFBST0NFU1MsXHJcbiAgICAvLyBQYWQgcHJvY2VzcyBoYXMgc3VjY2VkZWVkLlxyXG4gICAgU1VDQ0VTUyxcclxuICAgIC8vIFBhZCBlcnJvcnM7XHJcbiAgICBFUlJPUl9LRVksXHJcbiAgICBFUlJPUl9TRVNTSU9OLFxyXG4gICAgRVJST1JfTk9fRkFDRSxcclxuICAgIEVSUk9SX01VTFRJUExFX0ZBQ0UsXHJcbiAgICBFUlJPUl9OT19JTlRFUk5FVF9DT05ORUNUSU9OLFxyXG4gICAgRVJST1JfVVNFUl9UT09fRkFSLFxyXG4gICAgRVJST1JfVVNFUl9OT1RfQ0VOVEVSLFxyXG5cclxuICAgIC8vIE1hdGNoaW5nIHN0YXRlc1xyXG4gICAgTUFUQ0hfUkVBRFksXHJcbiAgICBNQVRDSF9TVUNDRVNTLFxyXG4gICAgTUFUQ0hfRVJST1JcclxufVxyXG4iXX0=

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"FacePadService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"connect":[{"__symbolic":"method"}],"disconnect":[{"__symbolic":"method"}],"isConnected":[{"__symbolic":"method"}],"sendMessage":[{"__symbolic":"method"}],"waitForSocketConnection":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"FacePadComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"id3-face-pad","template":"<script src=\"../js/facedetector/dist/FaceDetector.js\"></script>\r\n<id3-face-pad-messages *ngIf=\"messagesEnabled\" class=\"show-small-screen\" [startTipsLabel]=\"getMessage('START_TIPS_LABEL')\"\r\n [turnFaceLabel]=\"getMessage('TURN_FACE_LABEL')\" [expiredSessionErrorLabel]=\"getMessage('EXPIRED_SESSION_ERROR_LABEL')\" \r\n [noFaceErrorLabel]=\"getMessage('NO_FACE_ERROR_LABEL')\"\r\n [multipleFaceErrorLabel]=\"getMessage('MULTIPLE_FACE_ERROR_LABEL')\" [successLabel]=\"getMessage('SUCCESS_LABEL')\" \r\n [processInstruction]=\"processInstruction\" [padState]=\"padState\" [matchingSuccessLabel]=\"getMessage('MATCHING_SUCCESS_LABEL')\"\r\n [matchingErrorLabel]=\"getMessage('MATCHING_ERROR_LABEL')\" [matchingReadyLabel]=\"getMessage('MATCHING_READY_LABEL')\">\r\n</id3-face-pad-messages>\r\n\r\n<input id=\"id3-fileForMatching\" type=\"file\" name=\"fileForMatch\" class=\"d-none\" (change)=\"handleFiles($event)\"/>\r\n<div class=\"padContainer\" [style.max-height]=\"videoHeight + 'px'\" [style.max-width]=\"videoWidth + 'px'\">\r\n <div class=\"id3-overlay\">\r\n <canvas class=\"canvas\" #resultCanvas></canvas>\r\n </div>\r\n <video class=\"liveStream\" #videoPAD autoplay playsinline></video>\r\n <div class=\"id3-pad-overlay\">\r\n <div class=\"extras\">\r\n <img class=\"text-left\" id=\"id3Logo\" src=\"/assets/images/id3_logo_white_40.png\" height=\"40\" width=\"40\" *ngIf=\"apiKey === 'test-token-id3-webcapture'\">\r\n </div>\r\n <div id=\"mainContent\" class=\"pad-content d-block\">\r\n\r\n <button type=\"button\" *ngIf=\"isRequestPermissionState()\" (click)=\"initPadSource()\" class=\"btn btn-primary btn-id3 mt-5\">\r\n <em class=\"pi pi-caret-right\"></em>{{getMessage('ENABLE_CAM_BUTTON_LABEL')}}\r\n </button>\r\n <button type=\"button\" *ngIf=\"isInitialState()\" (click)=\"prepareCallPADStart()\" class=\"btn btn-primary btn-id3 mt-5\">\r\n <em class=\"pi pi-caret-right\"></em> {{getMessage('START_BUTTON_LABEL')}}\r\n </button>\r\n\r\n <id3-face-pad-messages *ngIf=\"messagesEnabled\" class=\"show-big-screen\" [startTipsLabel]=\"getMessage('START_TIPS_LABEL')\"\r\n [turnFaceLabel]=\"getMessage('TURN_FACE_LABEL')\" [expiredSessionErrorLabel]=\"getMessage('EXPIRED_SESSION_ERROR_LABEL')\" \r\n [noFaceErrorLabel]=\"getMessage('NO_FACE_ERROR_LABEL')\"\r\n [multipleFaceErrorLabel]=\"getMessage('MULTIPLE_FACE_ERROR_LABEL')\" [successLabel]=\"getMessage('SUCCESS_LABEL')\" \r\n [processInstruction]=\"processInstruction\" [padState]=\"padState\" [matchingSuccessLabel]=\"getMessage('MATCHING_SUCCESS_LABEL')\"\r\n [matchingErrorLabel]=\"getMessage('MATCHING_ERROR_LABEL')\" [matchingReadyLabel]=\"getMessage('MATCHING_READY_LABEL')\">\r\n </id3-face-pad-messages>\r\n\r\n <button type=\"button\" *ngIf=\"isErrorSessionState() || isErrorNoFaceState() || isErrorMultipleFaceState() || (allowsMultipleRetries && isSuccessState())\" (click)=\"resetUI()\" class=\"btn btn-primary btn-id3 mt-3\">\r\n <em class=\"pi pi-caret-right\"></em> {{getMessage('RETRY_BUTTON_LABEL')}}\r\n </button>\r\n\r\n <button type=\"button\" *ngIf=\"isMatchingReadyState()\" class=\"btn btn-primary btn-id3 mt-3\" (click)=\"compareWithReference()\">\r\n <em class=\"pi pi-caret-right\"></em> {{getMessage('COMPARE_BUTTON_LABEL')}}\r\n </button>\r\n <br>\r\n <div class=\"d-flex\">\r\n <h4 id=\"padAlert\" class=\"text-white\"></h4>\r\n </div>\r\n </div>\r\n </div>\r\n </div>","styles":[".padContainer{position:relative;margin:auto}.padContainer .h1,.padContainer .h2,.padContainer .h3,.padContainer .h4,.padContainer .h5,.padContainer .h6,.padContainer h1,.padContainer h2,.padContainer h3,.padContainer h4,.padContainer h5,.padContainer h6{font-family:\"PT Sans\",sans-serif;font-weight:700;font-size:50px}.padContainer .liveStream{top:0;left:0;width:100%;height:auto;z-index:1}.padContainer .btn-id3{border-radius:0}.padContainer .font-weight-normal{width:250px;text-align:left}.padContainer .id3-pad-overlay{position:absolute;top:0;bottom:0;left:0;right:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;color:#fff;font-size:20px;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;border:1px solid #ddd}.padContainer .extras{display:-webkit-box;display:flex;top:15;right:15;left:15;width:100%;-webkit-box-align:left;align-items:left}.padContainer .pad-content{position:absolute;display:block;text-align:center}.padContainer .padBehaviorLabel{font-size:20px}.padContainer .breathe{margin:6px 10px}.padContainer .canvas,.padContainer .id3-overlay{position:absolute}@media only screen and (max-width:500px){.show-big-screen{display:none}}@media only screen and (min-width:500px){.show-small-screen{display:none}}@media only screen and (min-width:601px){h4{font-size:25px}}@media only screen and (max-width:600px){h1{font-size:27px!important;margin-left:15%}h4{font-size:25px}}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FacePadService"},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":24,"character":74}]}],"canvasResult":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":32,"character":3},"arguments":["resultCanvas",{"static":false}]}]}],"videoPAD":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":34,"character":3},"arguments":["videoPAD",{"static":false}]}]}],"fileForMatching":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":36,"character":3},"arguments":["fileForMatching",{"static":false}]}]}],"wsEndpoint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"wsFormatPicture":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"wsFaceVerification":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"apiKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":3}}]}],"autoStart":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"faceTracking":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":3}}]}],"formatFinalPicture":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":3}}]}],"downloadFinalPictureOnSuccess":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":3}}]}],"resultPictureWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":3}}]}],"enableAutoMatching":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":3}}]}],"allowsMultipleRetries":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"videoWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":3}}]}],"videoHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"frameWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3}}]}],"messagesEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":80,"character":3}}]}],"padFrequency":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":83,"character":3}}]}],"startTipsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":86,"character":3}}]}],"processFaceCenterLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":89,"character":3}}]}],"processNoFaceLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":92,"character":3}}]}],"processMultipleFaceLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":95,"character":3}}]}],"turnFaceLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":98,"character":3}}]}],"expiredSessionErrorLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":101,"character":3}}]}],"noFaceErrorLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":104,"character":3}}]}],"multipleFaceErrorLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":107,"character":3}}]}],"successLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":110,"character":3}}]}],"startButtonLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":113,"character":3}}]}],"compareButtonLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":116,"character":3}}]}],"enableCamButtonLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":119,"character":3}}]}],"retryButtonLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":122,"character":3}}]}],"matchingSuccessLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":125,"character":3}}]}],"matchingReadyLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":128,"character":3}}]}],"matchingErrorLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":131,"character":3}}]}],"faceDetectedHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":134,"character":3}}]}],"cameraHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":137,"character":3}}]}],"sessionExpiredHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":140,"character":3}}]}],"changeStateHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":143,"character":3}}]}],"matchingHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":146,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"processServerResponse":[{"__symbolic":"method"}],"endSessionPad":[{"__symbolic":"method"}],"getMessage":[{"__symbolic":"method"}],"isRequestPermissionState":[{"__symbolic":"method"}],"isInitialState":[{"__symbolic":"method"}],"isStartedState":[{"__symbolic":"method"}],"isProcessingState":[{"__symbolic":"method"}],"isErrorSessionState":[{"__symbolic":"method"}],"isErrorNoFaceState":[{"__symbolic":"method"}],"isErrorMultipleFaceState":[{"__symbolic":"method"}],"isSuccessState":[{"__symbolic":"method"}],"isInvalidKeyState":[{"__symbolic":"method"}],"isMatchingReadyState":[{"__symbolic":"method"}],"initPadSource":[{"__symbolic":"method"}],"leaving":[{"__symbolic":"method"}],"handleSuccess":[{"__symbolic":"method"}],"prepareCallPADStart":[{"__symbolic":"method"}],"callPADStart":[{"__symbolic":"method"}],"doPADStart":[{"__symbolic":"method"}],"prepareCallPADContinue":[{"__symbolic":"method"}],"arrayBufferToBase64":[{"__symbolic":"method"}],"manageFinalPicture":[{"__symbolic":"method"}],"showInstructionToUploadReference":[{"__symbolic":"method"}],"rotateAndCropFinalPicture":[{"__symbolic":"method"}],"b64toBlob":[{"__symbolic":"method"}],"emitFaceDetectedEvent":[{"__symbolic":"method"}],"emitInvalidKeyEvent":[{"__symbolic":"method"}],"emitSessionExpiredEvent":[{"__symbolic":"method"}],"emitCameraEvent":[{"__symbolic":"method"}],"emitChangeStateEvent":[{"__symbolic":"method"}],"resetUI":[{"__symbolic":"method"}],"compareWithReference":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":507,"character":3}}]}],"handleFiles":[{"__symbolic":"method"}],"downloadPicture":[{"__symbolic":"method"}],"faceTracker":[{"__symbolic":"method"}]},"statics":{"FRONT":"FRONT","LEFT":"LEFT","RIGHT":"RIGHT","MIRROR":"MIRROR"}},"FacePadModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"FacePadComponent"},{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":10,"character":4},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":4},{"__symbolic":"reference","module":"@angular/platform-browser","name":"BrowserModule","line":12,"character":4}],"exports":[{"__symbolic":"reference","name":"FacePadComponent"}],"entryComponents":[{"__symbolic":"reference","name":"FacePadComponent"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"id3-face-pad-messages","template":"<div class=\"mt-2\">\r\n <div *ngIf=\"isInitialState()\" class=\"alert alert-primary\" role=\"alert\">\r\n {{startTipsLabel}}\r\n </div>\r\n <div *ngIf=\"isStartedState() || (isProcessingState() && processInstruction.length>0)\" class=\"alert alert-danger\" role=\"alert\">\r\n {{processInstruction}}\r\n </div>\r\n <div *ngIf=\"isProcessingState() && processInstruction.length==0\" class=\"alert alert-primary\" role=\"alert\">\r\n {{turnFaceLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorSessionState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{expiredSessionErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorNoFaceState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{noFaceErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorMultipleFaceState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{multipleFaceErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isSuccessState()\" class=\"alert alert-success\" role=\"alert\">\r\n {{successLabel}}\r\n </div>\r\n <div *ngIf=\"isMatchingReadyState()\" class=\"alert alert-primary\" role=\"alert\">\r\n {{matchingReadyLabel}}\r\n </div>\r\n <div *ngIf=\"isMatchingSuccessState()\" class=\"alert alert-success\" role=\"alert\">\r\n {{matchingSuccessLabel}}\r\n </div>\r\n <div *ngIf=\"isMatchingErrorState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{matchingErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isInvalidKeyState()\" class=\"alert alert-danger\" role=\"alert\">\r\n The API Key is invalid. Please check your API key.\r\n </div>\r\n</div>"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"startTipsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"turnFaceLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"expiredSessionErrorLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"noFaceErrorLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"multipleFaceErrorLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"successLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"matchingSuccessLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"matchingReadyLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"matchingErrorLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"padState":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"processInstruction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"isRequestPermissionState":[{"__symbolic":"method"}],"isInitialState":[{"__symbolic":"method"}],"isStartedState":[{"__symbolic":"method"}],"isProcessingState":[{"__symbolic":"method"}],"isErrorSessionState":[{"__symbolic":"method"}],"isErrorNoFaceState":[{"__symbolic":"method"}],"isErrorMultipleFaceState":[{"__symbolic":"method"}],"isSuccessState":[{"__symbolic":"method"}],"isMatchingReadyState":[{"__symbolic":"method"}],"isMatchingSuccessState":[{"__symbolic":"method"}],"isMatchingErrorState":[{"__symbolic":"method"}],"isInvalidKeyState":[{"__symbolic":"method"}]}}},"origins":{"FacePadService":"./lib/face-pad.service","FacePadComponent":"./lib/component/face-pad.component","FacePadModule":"./lib/face-pad.module","ɵa":"./lib/component/face-pad-messages.component"},"importAs":"@id3/face-pad"}
{"__symbolic":"module","version":4,"metadata":{"FacePadService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"connect":[{"__symbolic":"method"}],"disconnect":[{"__symbolic":"method"}],"isConnected":[{"__symbolic":"method"}],"sendMessage":[{"__symbolic":"method"}],"waitForSocketConnection":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"FacePadComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"id3-face-pad","template":"<id3-face-pad-messages *ngIf=\"messagesEnabled\" class=\"show-small-screen\" [startTipsLabel]=\"getMessage('START_TIPS_LABEL')\"\r\n [turnFaceLabel]=\"getMessage('TURN_FACE_LABEL')\" [expiredSessionErrorLabel]=\"getMessage('EXPIRED_SESSION_ERROR_LABEL')\" \r\n [noFaceErrorLabel]=\"getMessage('NO_FACE_ERROR_LABEL')\" [noInternetConnectionLabel]=\"getMessage('NO_INTERNET_CONNECTION_LABEL')\"\r\n [multipleFaceErrorLabel]=\"getMessage('MULTIPLE_FACE_ERROR_LABEL')\" [successLabel]=\"getMessage('SUCCESS_LABEL')\" \r\n [processInstruction]=\"processInstruction\" [padState]=\"padState\" [matchingSuccessLabel]=\"getMessage('MATCHING_SUCCESS_LABEL')\"\r\n [matchingErrorLabel]=\"getMessage('MATCHING_ERROR_LABEL')\" [matchingReadyLabel]=\"getMessage('MATCHING_READY_LABEL')\"\r\n [userTooFarLabel]=\"getMessage('USER_TOO_FAR_LABEL')\" [userNotCenterLabel]=\"getMessage('USER_NOT_CENTER_LABEL')\">\r\n</id3-face-pad-messages>\r\n\r\n<input id=\"id3-fileForMatching\" type=\"file\" name=\"fileForMatch\" class=\"d-none\" (change)=\"handleFiles($event)\"/>\r\n<div class=\"padContainer\" [style.max-height]=\"videoHeight + 'px'\" [style.max-width]=\"videoWidth + 'px'\">\r\n <canvas class=\"canvas {{mirror && !processProgressCircle ? 'mirror': ''}}\" #resultCanvas></canvas>\r\n <video class=\"liveStream {{mirror ? 'mirror': ''}}\" #videoPAD autoplay playsinline></video>\r\n <div class=\"id3-pad-overlay\">\r\n <div class=\"extras\">\r\n <img class=\"text-left\" id=\"id3Logo\" src=\"/assets/images/id3_logo_white_40.png\" height=\"40\" width=\"40\" *ngIf=\"apiKey === 'test-token-id3-webcapture'\">\r\n </div>\r\n <div id=\"mainContent\" class=\"pad-content d-block\">\r\n\r\n <id3-face-pad-messages *ngIf=\"messagesEnabled\" class=\"show-big-screen\" [startTipsLabel]=\"getMessage('START_TIPS_LABEL')\"\r\n [turnFaceLabel]=\"getMessage('TURN_FACE_LABEL')\" [expiredSessionErrorLabel]=\"getMessage('EXPIRED_SESSION_ERROR_LABEL')\" \r\n [noFaceErrorLabel]=\"getMessage('NO_FACE_ERROR_LABEL')\" [noInternetConnectionLabel]=\"getMessage('NO_INTERNET_CONNECTION_LABEL')\"\r\n [multipleFaceErrorLabel]=\"getMessage('MULTIPLE_FACE_ERROR_LABEL')\" [successLabel]=\"getMessage('SUCCESS_LABEL')\" \r\n [processInstruction]=\"processInstruction\" [padState]=\"padState\" [matchingSuccessLabel]=\"getMessage('MATCHING_SUCCESS_LABEL')\"\r\n [matchingErrorLabel]=\"getMessage('MATCHING_ERROR_LABEL')\" [matchingReadyLabel]=\"getMessage('MATCHING_READY_LABEL')\"\r\n [userTooFarLabel]=\"getMessage('USER_TOO_FAR_LABEL')\" [userNotCenterLabel]=\"getMessage('USER_NOT_CENTER_LABEL')\">\r\n </id3-face-pad-messages>\r\n\r\n <br>\r\n <div class=\"d-flex\">\r\n <h4 id=\"padAlert\" class=\"text-white\"></h4>\r\n </div>\r\n </div>\r\n <div id=\"mainButtons\" class=\"pad-buttons d-block\">\r\n <button type=\"button\" *ngIf=\"isRequestPermissionState()\" (click)=\"initPadSource()\" class=\"btn btn-primary btn-id3 mt-5\">\r\n <em class=\"pi pi-caret-right\"></em>{{getMessage('ENABLE_CAM_BUTTON_LABEL')}}\r\n </button>\r\n <button type=\"button\" *ngIf=\"isInitialState()\" (click)=\"prepareCallPADStart()\" class=\"btn btn-primary btn-id3 mt-5\">\r\n <em class=\"pi pi-caret-right\"></em> {{getMessage('START_BUTTON_LABEL')}}\r\n </button>\r\n <button type=\"button\" *ngIf=\"isErrorSessionState() || isErrorNoFaceState() || isErrorNoInternetConnection() || isErrorUserTooFar() || isErrorUserNotCenter() || isErrorMultipleFaceState() || (allowsMultipleRetries && isSuccessState())\" (click)=\"resetUI()\" class=\"btn btn-primary btn-id3 mt-3\">\r\n <em class=\"pi pi-caret-right\"></em> {{getMessage('RETRY_BUTTON_LABEL')}}\r\n </button>\r\n\r\n <button type=\"button\" *ngIf=\"isMatchingReadyState()\" class=\"btn btn-primary btn-id3 mt-3\" (click)=\"compareWithReference()\">\r\n <em class=\"pi pi-caret-right\"></em> {{getMessage('COMPARE_BUTTON_LABEL')}}\r\n </button>\r\n <button type=\"button\" *ngIf=\"isMatchingSuccessState()|| isMatchingErrorState()\" class=\"btn btn-primary btn-id3 mt-3\" (click)=\"resetUI()\">\r\n <em class=\"pi pi-caret-right\"></em> {{getMessage('RESTART_BUTTON_LABEL')}}\r\n </button>\r\n\r\n </div>\r\n </div>\r\n </div>","styles":[".padContainer{position:relative;margin:auto}.padContainer .h1,.padContainer .h2,.padContainer .h3,.padContainer .h4,.padContainer .h5,.padContainer .h6,.padContainer h1,.padContainer h2,.padContainer h3,.padContainer h4,.padContainer h5,.padContainer h6{font-family:\"PT Sans\",sans-serif;font-weight:700;font-size:50px}.padContainer .liveStream{z-index:1;top:0;left:0;width:100%;height:auto}.padContainer .btn-id3{border-radius:10px}.padContainer .font-weight-normal{width:250px;text-align:left}.padContainer .id3-pad-overlay{z-index:3;position:absolute;top:0;bottom:0;left:0;right:0;display:flex;align-items:center;color:#fff;font-size:20px;flex-direction:column;border:1px solid #ddd}.padContainer .extras{display:flex;top:15;right:15;left:15;width:100%;align-items:left}.padContainer .pad-content{position:absolute;display:block;text-align:center}.padContainer .pad-buttons{position:absolute;display:block;text-align:center;bottom:5%}.padContainer .padBehaviorLabel{font-size:20px}.padContainer .breathe{margin:6px 10px}.padContainer .id3-overlay{position:absolute}.padContainer .canvas{z-index:2;top:0;left:0;width:100%;height:100%;position:absolute}.padContainer .mirror{transform:rotateY(180deg);-webkit-transform:rotateY(180deg);-moz-transform:rotateY(180deg)}@media only screen and (max-width:500px){.show-big-screen{display:none}}@media only screen and (min-width:500px){.show-small-screen{display:none}}@media only screen and (min-width:601px){h4{font-size:25px}}@media only screen and (max-width:600px){h1{font-size:27px!important;margin-left:15%}h4{font-size:25px}}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FacePadService"},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":32,"character":74}]}],"canvasResult":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":40,"character":3},"arguments":["resultCanvas",{"static":false}]}]}],"videoPAD":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":42,"character":3},"arguments":["videoPAD",{"static":false}]}]}],"fileForMatching":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":44,"character":3},"arguments":["fileForMatching",{"static":false}]}]}],"wsEndpoint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":3}}]}],"wsFormatPicture":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3}}]}],"wsFaceVerification":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3}}]}],"wsImageSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":3}}]}],"apiKey":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"autoStart":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3}}]}],"faceTracking":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":3}}]}],"faceTrackingOptionDesign":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":3}}]}],"mirror":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"processProgressCircle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":3}}]}],"colorProgressCircle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"circleRadius":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":79,"character":3}}]}],"formatFinalPicture":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":82,"character":3}}]}],"downloadFinalPictureOnSuccess":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":85,"character":3}}]}],"resultPictureWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":88,"character":3}}]}],"enableAutoMatching":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":91,"character":3}}]}],"allowsMultipleRetries":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":94,"character":3}}]}],"videoWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":97,"character":3}}]}],"videoHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":100,"character":3}}]}],"videoWidthMobile":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":103,"character":3}}]}],"videoHeightMobile":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":106,"character":3}}]}],"frameWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":109,"character":3}}]}],"minHeadSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":112,"character":3}}]}],"messagesEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":115,"character":3}}]}],"padFrequency":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":118,"character":3}}]}],"startTipsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":121,"character":3}}]}],"processFaceCenterLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":124,"character":3}}]}],"processNoFaceLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":127,"character":3}}]}],"processMultipleFaceLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":130,"character":3}}]}],"turnFaceLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":133,"character":3}}]}],"expiredSessionErrorLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":136,"character":3}}]}],"noFaceErrorLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":139,"character":3}}]}],"multipleFaceErrorLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":142,"character":3}}]}],"successLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":145,"character":3}}]}],"startButtonLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":148,"character":3}}]}],"restartButtonLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":151,"character":3}}]}],"compareButtonLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":154,"character":3}}]}],"enableCamButtonLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":157,"character":3}}]}],"retryButtonLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":160,"character":3}}]}],"matchingSuccessLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":163,"character":3}}]}],"matchingReadyLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":166,"character":3}}]}],"matchingErrorLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":169,"character":3}}]}],"noInternetConnectionLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":172,"character":3}}]}],"userTooFarLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":175,"character":3}}]}],"userNotCenterLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":178,"character":3}}]}],"faceDetectedHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":181,"character":3}}]}],"cameraHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":184,"character":3}}]}],"sessionExpiredHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":187,"character":3}}]}],"changeStateHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":190,"character":3}}]}],"matchingHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":193,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"processServerResponse":[{"__symbolic":"method"}],"endSessionPad":[{"__symbolic":"method"}],"getMessage":[{"__symbolic":"method"}],"getDatasVideoPAD":[{"__symbolic":"method"}],"isRequestPermissionState":[{"__symbolic":"method"}],"isInitialState":[{"__symbolic":"method"}],"isStartedState":[{"__symbolic":"method"}],"isProcessingState":[{"__symbolic":"method"}],"isErrorSessionState":[{"__symbolic":"method"}],"isErrorNoFaceState":[{"__symbolic":"method"}],"isErrorNoInternetConnection":[{"__symbolic":"method"}],"isErrorUserTooFar":[{"__symbolic":"method"}],"isErrorUserNotCenter":[{"__symbolic":"method"}],"isErrorMultipleFaceState":[{"__symbolic":"method"}],"isSuccessState":[{"__symbolic":"method"}],"isInvalidKeyState":[{"__symbolic":"method"}],"isMatchingReadyState":[{"__symbolic":"method"}],"isMatchingSuccessState":[{"__symbolic":"method"}],"isMatchingErrorState":[{"__symbolic":"method"}],"isDeviceMobile":[{"__symbolic":"method"}],"initPadSource":[{"__symbolic":"method"}],"leaving":[{"__symbolic":"method"}],"handleSuccess":[{"__symbolic":"method"}],"prepareCallPADStart":[{"__symbolic":"method"}],"callPADStart":[{"__symbolic":"method"}],"doPADStart":[{"__symbolic":"method"}],"prepareCallPADContinue":[{"__symbolic":"method"}],"arrayBufferToBase64":[{"__symbolic":"method"}],"manageFinalPicture":[{"__symbolic":"method"}],"showInstructionToUploadReference":[{"__symbolic":"method"}],"rotateAndCropFinalPicture":[{"__symbolic":"method"}],"b64toBlob":[{"__symbolic":"method"}],"emitFaceDetectedEvent":[{"__symbolic":"method"}],"emitInvalidKeyEvent":[{"__symbolic":"method"}],"emitSessionExpiredEvent":[{"__symbolic":"method"}],"emitCameraEvent":[{"__symbolic":"method"}],"emitChangeStateEvent":[{"__symbolic":"method"}],"resetUI":[{"__symbolic":"method"}],"compareWithReference":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":698,"character":3}}]}],"handleFiles":[{"__symbolic":"method"}],"downloadPicture":[{"__symbolic":"method"}],"faceTracker":[{"__symbolic":"method"}],"getMinHeadSize":[{"__symbolic":"method"}],"tempToBlob":[{"__symbolic":"method"}],"progressCircle":[{"__symbolic":"method"}]}},"FacePadModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"FacePadComponent"},{"__symbolic":"reference","name":"ɵa"}],"imports":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":10,"character":4},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":4},{"__symbolic":"reference","module":"@angular/platform-browser","name":"BrowserModule","line":12,"character":4}],"exports":[{"__symbolic":"reference","name":"FacePadComponent"}],"entryComponents":[{"__symbolic":"reference","name":"FacePadComponent"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"id3-face-pad-messages","template":"<div class=\"mt-2\">\r\n <div *ngIf=\"isInitialState()\" class=\"alert alert-primary\" role=\"alert\">\r\n {{startTipsLabel}}\r\n </div>\r\n <div *ngIf=\"isStartedState() || (isProcessingState() && processInstruction.length>0)\" class=\"alert alert-danger\" role=\"alert\">\r\n {{processInstruction}}\r\n </div>\r\n <div *ngIf=\"isProcessingState() && processInstruction.length==0\" class=\"alert alert-primary\" role=\"alert\">\r\n {{turnFaceLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorSessionState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{expiredSessionErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorNoFaceState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{noFaceErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorNoInternetConnection()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{noInternetConnectionLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorUserTooFar()\" class=\"alert alert-primary\" role=\"alert\">\r\n {{userTooFarLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorUserNotCenter()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{userNotCenterLabel}}\r\n </div>\r\n <div *ngIf=\"isErrorMultipleFaceState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{multipleFaceErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isSuccessState()\" class=\"alert alert-success\" role=\"alert\">\r\n {{successLabel}}\r\n </div>\r\n <div *ngIf=\"isMatchingReadyState()\" class=\"alert alert-primary\" role=\"alert\">\r\n {{matchingReadyLabel}}\r\n </div>\r\n <div *ngIf=\"isMatchingSuccessState()\" class=\"alert alert-success\" role=\"alert\">\r\n {{matchingSuccessLabel}}\r\n </div>\r\n <div *ngIf=\"isMatchingErrorState()\" class=\"alert alert-danger\" role=\"alert\">\r\n {{matchingErrorLabel}}\r\n </div>\r\n <div *ngIf=\"isInvalidKeyState()\" class=\"alert alert-danger\" role=\"alert\">\r\n The API Key is invalid. Please check your API key.\r\n </div>\r\n</div>"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"startTipsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"turnFaceLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"expiredSessionErrorLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"noFaceErrorLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"noInternetConnectionLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"userTooFarLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"userNotCenterLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"multipleFaceErrorLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"successLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"matchingSuccessLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"matchingReadyLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"matchingErrorLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"padState":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":47,"character":3}}]}],"processInstruction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"isRequestPermissionState":[{"__symbolic":"method"}],"isInitialState":[{"__symbolic":"method"}],"isStartedState":[{"__symbolic":"method"}],"isProcessingState":[{"__symbolic":"method"}],"isErrorSessionState":[{"__symbolic":"method"}],"isErrorNoFaceState":[{"__symbolic":"method"}],"isErrorNoInternetConnection":[{"__symbolic":"method"}],"isErrorUserTooFar":[{"__symbolic":"method"}],"isErrorUserNotCenter":[{"__symbolic":"method"}],"isErrorMultipleFaceState":[{"__symbolic":"method"}],"isSuccessState":[{"__symbolic":"method"}],"isMatchingReadyState":[{"__symbolic":"method"}],"isMatchingSuccessState":[{"__symbolic":"method"}],"isMatchingErrorState":[{"__symbolic":"method"}],"isInvalidKeyState":[{"__symbolic":"method"}]}}},"origins":{"FacePadService":"./lib/face-pad.service","FacePadComponent":"./lib/component/face-pad.component","FacePadModule":"./lib/face-pad.module","ɵa":"./lib/component/face-pad-messages.component"},"importAs":"@id3/face-pad"}

@@ -9,2 +9,5 @@ import { OnInit } from '@angular/core';

noFaceErrorLabel: string;
noInternetConnectionLabel: string;
userTooFarLabel: string;
userNotCenterLabel: string;
multipleFaceErrorLabel: string;

@@ -24,2 +27,5 @@ successLabel: string;

isErrorNoFaceState(): boolean;
isErrorNoInternetConnection(): boolean;
isErrorUserTooFar(): boolean;
isErrorUserNotCenter(): boolean;
isErrorMultipleFaceState(): boolean;

@@ -26,0 +32,0 @@ isSuccessState(): boolean;

@@ -1,12 +0,9 @@

import { OnInit, ElementRef, AfterViewInit, OnDestroy } from '@angular/core';
import { AfterViewInit, ElementRef, OnDestroy, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { PadState } from '../model/pad-state';
import { FacePadService } from '../face-pad.service';
import * as FaceDetector from '@id3/facedetector';
export declare class FacePadComponent implements OnInit, AfterViewInit, OnDestroy {
private facePadService;
private httpClient;
static FRONT: string;
static LEFT: string;
static RIGHT: string;
static MIRROR: string;
constructor(facePadService: FacePadService, httpClient: HttpClient);

@@ -20,5 +17,11 @@ private mapLanguage;

private wsFaceVerification;
private wsImageSize;
apiKey: string;
private autoStart;
private faceTracking;
private faceTrackingOptionDesign;
mirror: boolean;
processProgressCircle: boolean;
colorProgressCircle: any;
circleRadius: number;
formatFinalPicture: boolean;

@@ -31,3 +34,6 @@ downloadFinalPictureOnSuccess: boolean;

videoHeight: number;
videoWidthMobile: number;
videoHeightMobile: number;
frameWidth: number;
minHeadSize: number;
messagesEnabled: boolean;

@@ -45,2 +51,3 @@ private padFrequency;

startButtonLabel: string;
restartButtonLabel: string;
compareButtonLabel: string;

@@ -52,2 +59,5 @@ enableCamButtonLabel: string;

matchingErrorLabel: string;
noInternetConnectionLabel: string;
userTooFarLabel: string;
userNotCenterLabel: string;
private faceDetectedHandler;

@@ -70,4 +80,15 @@ private cameraHandler;

generatedPicture: any;
xCoord: any;
yCoord: any;
hCoord: any;
wCoord: any;
processCompletion: any;
height: any;
width: any;
ratioWidth: any;
ratioHeight: any;
isCircleRunning: any;
processInstruction: string;
languageFile: any;
faceDetector: FaceDetector;
ngOnInit(): void;

@@ -79,2 +100,3 @@ ngOnDestroy(): void;

getMessage(label: string): string;
getDatasVideoPAD(): void;
isRequestPermissionState(): boolean;

@@ -86,2 +108,5 @@ isInitialState(): boolean;

isErrorNoFaceState(): boolean;
isErrorNoInternetConnection(): boolean;
isErrorUserTooFar(): boolean;
isErrorUserNotCenter(): boolean;
isErrorMultipleFaceState(): boolean;

@@ -91,2 +116,5 @@ isSuccessState(): boolean;

isMatchingReadyState(): boolean;
isMatchingSuccessState(): boolean;
isMatchingErrorState(): boolean;
isDeviceMobile(): boolean;
initPadSource(): Promise<void>;

@@ -110,6 +138,9 @@ leaving(): any;

resetUI(): void;
compareWithReference(): void;
compareWithReference(pictureToCompare?: any): void;
handleFiles(event: any): void;
downloadPicture(): void;
downloadPicture(): Promise<any>;
faceTracker(): void;
getMinHeadSize(): void;
tempToBlob(temp: any): void;
progressCircle(): void;
}

@@ -11,5 +11,8 @@ export declare enum PadState {

ERROR_MULTIPLE_FACE = 8,
MATCH_READY = 9,
MATCH_SUCCESS = 10,
MATCH_ERROR = 11
ERROR_NO_INTERNET_CONNECTION = 9,
ERROR_USER_TOO_FAR = 10,
ERROR_USER_NOT_CENTER = 11,
MATCH_READY = 12,
MATCH_SUCCESS = 13,
MATCH_ERROR = 14
}
{
"name": "@id3/face-pad",
"version": "1.4.9",
"version": "1.5.3",
"license": "MIT",

@@ -11,3 +11,3 @@ "peerDependencies": {

"dependencies": {
"facedetector": "1.0.1",
"@id3/facedetector": "1.1.2",
"tslib": "^1.9.0"

@@ -14,0 +14,0 @@ },

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc