From c37b46baac43b7531ff359950409ddd844c56940 Mon Sep 17 00:00:00 2001 From: Amir Reavis-Bey Date: Mon, 8 Apr 2024 17:32:28 -0400 Subject: [PATCH 1/6] selfie checkmark Submit alt --- public/acuant/11.9.3/AcuantPassiveLiveness.min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/acuant/11.9.3/AcuantPassiveLiveness.min.js b/public/acuant/11.9.3/AcuantPassiveLiveness.min.js index 776876f0a45..9c1a39cc826 100644 --- a/public/acuant/11.9.3/AcuantPassiveLiveness.min.js +++ b/public/acuant/11.9.3/AcuantPassiveLiveness.min.js @@ -231,7 +231,7 @@ var fq=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?a * limitations under the License. * ============================================================================= */ -/** @license See the LICENSE file. */(e,{width:this.videoElement.videoWidth,height:this.videoElement.videoHeight}),n=new hq,r=this.checkNumberFaces(t);return n.FACE_NOT_FOUND=!r&&0===t.length,n.TOO_MANY_FACES=!r&&t.length>this.MAX_NUMBER_FACES,r&&(wq&&(n.FACE_ANGLE_TOO_LARGE=!this.checkHeadRotation(t)),n.PROBABILITY_TOO_SMALL=!this.checkProbability(t),n.FACE_TOO_SMALL=!this.checkFaceSize(t),n.FACE_CLOSE_TO_BORDER=!this.checkFaceIndent(t)),n}autoCapturing(){kq.debug&&console.info(this.counterSuccessfulResults),this.counterSuccessfulResults>=this.DEFAULT_NUMBER_SUCCESSFUL_RESULTS_FOR_AUTO_CAPTURING&&(this.stream.autoCapturing(),this.counterSuccessfulResults=0)}checkNumberFaces(e){return e.length===this.MAX_NUMBER_FACES}checkProbability(e){return e[0].detection.score>+this.probabilityThreshold/100}checkFaceSize(e){const t=e[0].detection.box,{width:n,height:r,area:a}=t,{imageHeight:s,imageWidth:i}=e[0].detection,o=100/(s*i/a);return Math.min(n/this.videoRatio,r/this.videoRatio)>(this.isMobile?this.MIN_FACE_SIZE_FOR_MOBILE:this.MIN_FACE_SIZE_FOR_DESKTOP)&&o>(this.isMobile?this.MIN_OCCUPIED_SPACE_FOR_MOBILE:this.MIN_OCCUPIED_SPACE_FOR_DESKTOP)}checkFaceIndent(e){const t=e[0].detection.box,{imageHeight:n,imageWidth:r}=e[0].detection,{top:a,left:s,bottom:i,right:o}=t,u=s,l=r-o,c=n-i;return!(athis.MAX_ANGLE_TURN_HEAD||-1*a[2]>this.MAX_ANGLE_TURN_HEAD?this.headTurnCounter++:(this.counterSuccessfulHeadTurns++,this.counterSuccessfulHeadTurns>=5&&(this.headTurnCounter=0,this.counterSuccessfulHeadTurns=0)),this.headTurnCounter<=1}drawFaces(e){this.innerCanvas||this.createCanvasForDrawingMask(this.videoElement);const t=this.innerCanvas;if(!t)return console.error("no canvas for drawing");const n=t.getContext("2d");if(n){n.clearRect(0,0,t.width,t.height),n.font='small-caps 20px "Segoe UI"',n.fillStyle="white";for(const t of e){n.lineWidth=3,n.strokeStyle="deepskyblue",n.fillStyle="deepskyblue",n.globalAlpha=.6,n.beginPath(),n.rect(t.detection.box.x,t.detection.box.y,t.detection.box.width,t.detection.box.height),n.stroke(),n.globalAlpha=1,n.globalAlpha=.8,n.fillStyle="lightblue";const e=2;for(let r=0;r"+d("B",e.length),e)}function a(e){return h(">"+d("H",e.length),e)}function s(e){return h(">"+d("L",e.length),e)}function i(e,t,n){var i,o,u,l,c="",p="";if("Byte"==t)(i=e.length)<=4?p=r(e)+d("\0",4-i):(p=h(">L",[n]),c=r(e));else if("Short"==t)(i=e.length)<=2?p=a(e)+d("\0\0",2-i):(p=h(">L",[n]),c=a(e));else if("Long"==t)(i=e.length)<=1?p=s(e):(p=h(">L",[n]),c=s(e));else if("Ascii"==t)(i=(o=e+"\0").length)>4?(p=h(">L",[n]),c=o):p=o+d("\0",4-i);else if("Rational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">L",[u])+h(">L",[l]);else{i=e.length,o="";for(var f=0;fL",[u])+h(">L",[l])}p=h(">L",[n]),c=o}else if("SRational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">l",[u])+h(">l",[l]);else{i=e.length,o="";for(f=0;fl",[u])+h(">l",[l])}p=h(">L",[n]),c=o}else"Undefined"==t&&((i=e.length)>4?(p=h(">L",[n]),c=e):p=e+d("\0",4-i));return[h(">L",[i]),p,c]}function o(e,t,n){var r,a=Object.keys(e).length,s=h(">H",[a]);r=["0th","1st"].indexOf(t)>-1?2+12*a+4:2+12*a;var o="",u="";for(var l in e)if("string"==typeof l&&(l=parseInt(l)),!("0th"==t&&[34665,34853].indexOf(l)>-1||"Exif"==t&&40965==l||"1st"==t&&[513,514].indexOf(l)>-1)){var c=e[l],p=h(">H",[l]),d=g[t][l].type,f=h(">H",[m[d]]);"number"==typeof c&&(c=[c]);var y=i(c,d,8+r+n+u.length);o+=p+f+y[0]+y[1],u+=y[2]}return[s+o,u]}function u(e){var t;if("ÿØ"==e.slice(0,2))t=function(e){for(var t,n=0;n-1)this.tiftag=e;else{if("Exif"!=e.slice(0,4))throw new Error("Given file is neither JPEG nor TIFF.");this.tiftag=e.slice(6)}}if(n.version="1.0.4",n.remove=function(e){var t=!1;if("ÿØ"==e.slice(0,2));else{if("data:image/jpeg;base64,"!=e.slice(0,23)&&"data:image/jpg;base64,"!=e.slice(0,22))throw new Error("Given data is not jpeg.");e=c(e.split(",")[1]),t=!0}var n=f(e).filter((function(e){return!("ÿá"==e.slice(0,2)&&"Exif\0\0"==e.slice(4,10))})).join("");return t&&(n="data:image/jpeg;base64,"+l(n)),n},n.insert=function(e,t){var n=!1;if("Exif\0\0"!=e.slice(0,6))throw new Error("Given data is not exif.");if("ÿØ"==t.slice(0,2));else{if("data:image/jpeg;base64,"!=t.slice(0,23)&&"data:image/jpg;base64,"!=t.slice(0,22))throw new Error("Given data is not jpeg.");t=c(t.split(",")[1]),n=!0}var r="ÿá"+h(">H",[e.length+2])+e,a=function(e,t){var n=!1,r=[];e.forEach((function(a,s){"ÿá"==a.slice(0,2)&&"Exif\0\0"==a.slice(4,10)&&(n?r.unshift(s):(e[s]=t,n=!0))})),r.forEach((function(t){e.splice(t,1)})),!n&&t&&(e=[e[0],t].concat(e.slice(1)));return e.join("")}(f(t),r);return n&&(a="data:image/jpeg;base64,"+l(a)),a},n.load=function(e){var t;if("string"!=typeof e)throw new Error("'load' gots invalid type argument.");if("ÿØ"==e.slice(0,2))t=e;else if("data:image/jpeg;base64,"==e.slice(0,23)||"data:image/jpg;base64,"==e.slice(0,22))t=c(e.split(",")[1]);else{if("Exif"!=e.slice(0,4))throw new Error("'load' gots invalid file data.");t=e.slice(6)}var n={"0th":{},Exif:{},GPS:{},Interop:{},"1st":{},thumbnail:null},r=new u(t);if(null===r.tiftag)return n;"II"==r.tiftag.slice(0,2)?r.endian_mark="<":r.endian_mark=">";var a=p(r.endian_mark+"L",r.tiftag.slice(4,8))[0];n["0th"]=r.get_ifd(a,"0th");var s=n["0th"].first_ifd_pointer;if(delete n["0th"].first_ifd_pointer,34665 in n["0th"]&&(a=n["0th"][34665],n.Exif=r.get_ifd(a,"Exif")),34853 in n["0th"]&&(a=n["0th"][34853],n.GPS=r.get_ifd(a,"GPS")),40965 in n.Exif&&(a=n.Exif[40965],n.Interop=r.get_ifd(a,"Interop")),"\0\0\0\0"!=s&&(a=p(r.endian_mark+"L",s)[0],n["1st"]=r.get_ifd(a,"1st"),513 in n["1st"]&&514 in n["1st"])){var i=n["1st"][513]+n["1st"][514],o=r.tiftag.slice(n["1st"][513],i);n.thumbnail=o}return n},n.dump=function(e){var t,r,a,s,i,u,l=(t=e,JSON.parse(JSON.stringify(t))),c=!1,p=!1,d=!1,g=!1;r="0th"in l?l["0th"]:{},"Exif"in l&&Object.keys(l.Exif).length||"Interop"in l&&Object.keys(l.Interop).length?(r[34665]=1,c=!0,a=l.Exif,"Interop"in l&&Object.keys(l.Interop).length?(a[40965]=1,d=!0,s=l.Interop):Object.keys(a).indexOf(n.ExifIFD.InteroperabilityTag.toString())>-1&&delete a[40965]):Object.keys(r).indexOf(n.ImageIFD.ExifTag.toString())>-1&&delete r[34665],"GPS"in l&&Object.keys(l.GPS).length?(r[n.ImageIFD.GPSTag]=1,p=!0,i=l.GPS):Object.keys(r).indexOf(n.ImageIFD.GPSTag.toString())>-1&&delete r[n.ImageIFD.GPSTag],"1st"in l&&"thumbnail"in l&&null!=l.thumbnail&&(g=!0,l["1st"][513]=1,l["1st"][514]=1,u=l["1st"]);var y,b,v,x=o(r,"0th",0),w=x[0].length+12*c+12*p+4+x[1].length,k="",S=0,I="",A=0,E="",N=0,C="";(c&&(S=(y=o(a,"Exif",w))[0].length+12*d+y[1].length),p&&(A=(I=o(i,"GPS",w+S).join("")).length),d)&&(N=(E=o(s,"Interop",w+S+A).join("")).length);if(g&&(b=o(u,"1st",w+S+A+N),(v=function(e){var t=f(e);for(;"ÿà"<=t[1].slice(0,2)&&t[1].slice(0,2)<="ÿï";)t=[t[0]].concat(t.slice(2));return t.join("")}(l.thumbnail)).length>64e3))throw new Error("Given thumbnail is too large. max 64kB");var T="",R="",_="",F="\0\0\0\0";if(c){var M=h(">L",[D=8+w]);T=h(">H",[34665])+h(">H",[m.Long])+h(">L",[1])+M}if(p){M=h(">L",[D=8+w+S]);R=h(">H",[34853])+h(">H",[m.Long])+h(">L",[1])+M}if(d){M=h(">L",[D=8+w+S+A]);_=h(">H",[40965])+h(">H",[m.Long])+h(">L",[1])+M}if(g){var D;F=h(">L",[D=8+w+S+A+N]);var O="\0\0\0\0"+h(">L",[D+b[0].length+24+4+b[1].length]),L="\0\0\0\0"+h(">L",[v.length]);C=b[0]+O+L+"\0\0\0\0"+b[1]+v}var P=x[0]+T+R+F+x[1];return c&&(k=y[0]+_+y[1]),"Exif\0\0MM\0*\0\0\0\b"+P+k+I+E+C},u.prototype={get_ifd:function(e,t){var n,r={},a=p(this.endian_mark+"H",this.tiftag.slice(e,e+2))[0],s=e+2;n=["0th","1st"].indexOf(t)>-1?"Image":t;for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("B",a),this.tiftag.slice(t,t+a))):n=p(this.endian_mark+d("B",a),s.slice(0,a));else if(2==r)a>4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a-1)):n=s.slice(0,a-1);else if(3==r)a>2?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("H",a),this.tiftag.slice(t,t+2*a))):n=p(this.endian_mark+d("H",a),s.slice(0,2*a));else if(4==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("L",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("L",a),s);else if(5==r)if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a)):n=s.slice(0,a);else if(9==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("l",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("l",a),s);else{if(10!=r)throw new Error("Exif might be wrong. Got incorrect value type to decode. type:"+r);if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(i=0;i>2,s=(3&t)<<4|(n=e.charCodeAt(l++))>>4,i=(15&n)<<2|(r=e.charCodeAt(l++))>>6,o=63&r,isNaN(n)?i=o=64:isNaN(r)&&(o=64),u=u+c.charAt(a)+c.charAt(s)+c.charAt(i)+c.charAt(o);return u};if("undefined"!=typeof window&&"function"==typeof window.atob)var c=window.atob;if(void 0===c)c=function(e){var t,n,r,a,s,i,o="",u=0,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u>4,n=(15&a)<<4|(s=l.indexOf(e.charAt(u++)))>>2,r=(3&s)<<6|(i=l.indexOf(e.charAt(u++))),o+=String.fromCharCode(t),64!=s&&(o+=String.fromCharCode(n)),64!=i&&(o+=String.fromCharCode(r));return o};function h(e,t){if(!(t instanceof Array))throw new Error("'pack' error. Got invalid type argument.");if(e.length-1!=t.length)throw new Error("'pack' error. "+(e.length-1)+" marks, "+t.length+" elements.");var n;if("<"==e[0])n=!0;else{if(">"!=e[0])throw new Error("");n=!1}for(var r="",a=1,s=null,i=null,o=null;i=e[a];){if("b"==i.toLowerCase()){if(s=t[a-1],"b"==i&&s<0&&(s+=256),s>255||s<0)throw new Error("'pack' error.");o=String.fromCharCode(s)}else if("H"==i){if((s=t[a-1])>65535||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}else{if("l"!=i.toLowerCase())throw new Error("'pack' error.");if(s=t[a-1],"l"==i&&s<0&&(s+=4294967296),s>4294967295||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s/16777216))+String.fromCharCode(Math.floor(s%16777216/65536))+String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}r+=o,a+=1}return r}function p(e,t){if("string"!=typeof t)throw new Error("'unpack' error. Got invalid type argument.");for(var n,r=0,a=1;a"!=e[0])throw new Error("'unpack' error.");n=!1}for(var s=[],i=0,o=1,u=null,l=null,c=null,h="";l=e[o];){if("b"==l.toLowerCase())c=1,u=(h=t.slice(i,i+c)).charCodeAt(0),"b"==l&&u>=128&&(u-=256);else if("H"==l)c=2,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=256*h.charCodeAt(0)+h.charCodeAt(1);else{if("l"!=l.toLowerCase())throw new Error("'unpack' error. "+l);c=4,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=16777216*h.charCodeAt(0)+65536*h.charCodeAt(1)+256*h.charCodeAt(2)+h.charCodeAt(3),"l"==l&&u>=2147483648&&(u-=4294967296)}s.push(u),i+=c,o+=1}return s}function d(e,t){for(var n="",r=0;rH",e.slice(t+2,t+4))[0]+2;if(n.push(e.slice(t,r)),(t=r)>=e.length)throw new Error("Wrong JPEG data.")}return n}var m={Byte:1,Ascii:2,Short:3,Long:4,Rational:5,Undefined:7,SLong:9,SRational:10},g={Image:{11:{name:"ProcessingSoftware",type:"Ascii"},254:{name:"NewSubfileType",type:"Long"},255:{name:"SubfileType",type:"Short"},256:{name:"ImageWidth",type:"Long"},257:{name:"ImageLength",type:"Long"},258:{name:"BitsPerSample",type:"Short"},259:{name:"Compression",type:"Short"},262:{name:"PhotometricInterpretation",type:"Short"},263:{name:"Threshholding",type:"Short"},264:{name:"CellWidth",type:"Short"},265:{name:"CellLength",type:"Short"},266:{name:"FillOrder",type:"Short"},269:{name:"DocumentName",type:"Ascii"},270:{name:"ImageDescription",type:"Ascii"},271:{name:"Make",type:"Ascii"},272:{name:"Model",type:"Ascii"},273:{name:"StripOffsets",type:"Long"},274:{name:"Orientation",type:"Short"},277:{name:"SamplesPerPixel",type:"Short"},278:{name:"RowsPerStrip",type:"Long"},279:{name:"StripByteCounts",type:"Long"},282:{name:"XResolution",type:"Rational"},283:{name:"YResolution",type:"Rational"},284:{name:"PlanarConfiguration",type:"Short"},290:{name:"GrayResponseUnit",type:"Short"},291:{name:"GrayResponseCurve",type:"Short"},292:{name:"T4Options",type:"Long"},293:{name:"T6Options",type:"Long"},296:{name:"ResolutionUnit",type:"Short"},301:{name:"TransferFunction",type:"Short"},305:{name:"Software",type:"Ascii"},306:{name:"DateTime",type:"Ascii"},315:{name:"Artist",type:"Ascii"},316:{name:"HostComputer",type:"Ascii"},317:{name:"Predictor",type:"Short"},318:{name:"WhitePoint",type:"Rational"},319:{name:"PrimaryChromaticities",type:"Rational"},320:{name:"ColorMap",type:"Short"},321:{name:"HalftoneHints",type:"Short"},322:{name:"TileWidth",type:"Short"},323:{name:"TileLength",type:"Short"},324:{name:"TileOffsets",type:"Short"},325:{name:"TileByteCounts",type:"Short"},330:{name:"SubIFDs",type:"Long"},332:{name:"InkSet",type:"Short"},333:{name:"InkNames",type:"Ascii"},334:{name:"NumberOfInks",type:"Short"},336:{name:"DotRange",type:"Byte"},337:{name:"TargetPrinter",type:"Ascii"},338:{name:"ExtraSamples",type:"Short"},339:{name:"SampleFormat",type:"Short"},340:{name:"SMinSampleValue",type:"Short"},341:{name:"SMaxSampleValue",type:"Short"},342:{name:"TransferRange",type:"Short"},343:{name:"ClipPath",type:"Byte"},344:{name:"XClipPathUnits",type:"Long"},345:{name:"YClipPathUnits",type:"Long"},346:{name:"Indexed",type:"Short"},347:{name:"JPEGTables",type:"Undefined"},351:{name:"OPIProxy",type:"Short"},512:{name:"JPEGProc",type:"Long"},513:{name:"JPEGInterchangeFormat",type:"Long"},514:{name:"JPEGInterchangeFormatLength",type:"Long"},515:{name:"JPEGRestartInterval",type:"Short"},517:{name:"JPEGLosslessPredictors",type:"Short"},518:{name:"JPEGPointTransforms",type:"Short"},519:{name:"JPEGQTables",type:"Long"},520:{name:"JPEGDCTables",type:"Long"},521:{name:"JPEGACTables",type:"Long"},529:{name:"YCbCrCoefficients",type:"Rational"},530:{name:"YCbCrSubSampling",type:"Short"},531:{name:"YCbCrPositioning",type:"Short"},532:{name:"ReferenceBlackWhite",type:"Rational"},700:{name:"XMLPacket",type:"Byte"},18246:{name:"Rating",type:"Short"},18249:{name:"RatingPercent",type:"Short"},32781:{name:"ImageID",type:"Ascii"},33421:{name:"CFARepeatPatternDim",type:"Short"},33422:{name:"CFAPattern",type:"Byte"},33423:{name:"BatteryLevel",type:"Rational"},33432:{name:"Copyright",type:"Ascii"},33434:{name:"ExposureTime",type:"Rational"},34377:{name:"ImageResources",type:"Byte"},34665:{name:"ExifTag",type:"Long"},34675:{name:"InterColorProfile",type:"Undefined"},34853:{name:"GPSTag",type:"Long"},34857:{name:"Interlace",type:"Short"},34858:{name:"TimeZoneOffset",type:"Long"},34859:{name:"SelfTimerMode",type:"Short"},37387:{name:"FlashEnergy",type:"Rational"},37388:{name:"SpatialFrequencyResponse",type:"Undefined"},37389:{name:"Noise",type:"Undefined"},37390:{name:"FocalPlaneXResolution",type:"Rational"},37391:{name:"FocalPlaneYResolution",type:"Rational"},37392:{name:"FocalPlaneResolutionUnit",type:"Short"},37393:{name:"ImageNumber",type:"Long"},37394:{name:"SecurityClassification",type:"Ascii"},37395:{name:"ImageHistory",type:"Ascii"},37397:{name:"ExposureIndex",type:"Rational"},37398:{name:"TIFFEPStandardID",type:"Byte"},37399:{name:"SensingMethod",type:"Short"},40091:{name:"XPTitle",type:"Byte"},40092:{name:"XPComment",type:"Byte"},40093:{name:"XPAuthor",type:"Byte"},40094:{name:"XPKeywords",type:"Byte"},40095:{name:"XPSubject",type:"Byte"},50341:{name:"PrintImageMatching",type:"Undefined"},50706:{name:"DNGVersion",type:"Byte"},50707:{name:"DNGBackwardVersion",type:"Byte"},50708:{name:"UniqueCameraModel",type:"Ascii"},50709:{name:"LocalizedCameraModel",type:"Byte"},50710:{name:"CFAPlaneColor",type:"Byte"},50711:{name:"CFALayout",type:"Short"},50712:{name:"LinearizationTable",type:"Short"},50713:{name:"BlackLevelRepeatDim",type:"Short"},50714:{name:"BlackLevel",type:"Rational"},50715:{name:"BlackLevelDeltaH",type:"SRational"},50716:{name:"BlackLevelDeltaV",type:"SRational"},50717:{name:"WhiteLevel",type:"Short"},50718:{name:"DefaultScale",type:"Rational"},50719:{name:"DefaultCropOrigin",type:"Short"},50720:{name:"DefaultCropSize",type:"Short"},50721:{name:"ColorMatrix1",type:"SRational"},50722:{name:"ColorMatrix2",type:"SRational"},50723:{name:"CameraCalibration1",type:"SRational"},50724:{name:"CameraCalibration2",type:"SRational"},50725:{name:"ReductionMatrix1",type:"SRational"},50726:{name:"ReductionMatrix2",type:"SRational"},50727:{name:"AnalogBalance",type:"Rational"},50728:{name:"AsShotNeutral",type:"Short"},50729:{name:"AsShotWhiteXY",type:"Rational"},50730:{name:"BaselineExposure",type:"SRational"},50731:{name:"BaselineNoise",type:"Rational"},50732:{name:"BaselineSharpness",type:"Rational"},50733:{name:"BayerGreenSplit",type:"Long"},50734:{name:"LinearResponseLimit",type:"Rational"},50735:{name:"CameraSerialNumber",type:"Ascii"},50736:{name:"LensInfo",type:"Rational"},50737:{name:"ChromaBlurRadius",type:"Rational"},50738:{name:"AntiAliasStrength",type:"Rational"},50739:{name:"ShadowScale",type:"SRational"},50740:{name:"DNGPrivateData",type:"Byte"},50741:{name:"MakerNoteSafety",type:"Short"},50778:{name:"CalibrationIlluminant1",type:"Short"},50779:{name:"CalibrationIlluminant2",type:"Short"},50780:{name:"BestQualityScale",type:"Rational"},50781:{name:"RawDataUniqueID",type:"Byte"},50827:{name:"OriginalRawFileName",type:"Byte"},50828:{name:"OriginalRawFileData",type:"Undefined"},50829:{name:"ActiveArea",type:"Short"},50830:{name:"MaskedAreas",type:"Short"},50831:{name:"AsShotICCProfile",type:"Undefined"},50832:{name:"AsShotPreProfileMatrix",type:"SRational"},50833:{name:"CurrentICCProfile",type:"Undefined"},50834:{name:"CurrentPreProfileMatrix",type:"SRational"},50879:{name:"ColorimetricReference",type:"Short"},50931:{name:"CameraCalibrationSignature",type:"Byte"},50932:{name:"ProfileCalibrationSignature",type:"Byte"},50934:{name:"AsShotProfileName",type:"Byte"},50935:{name:"NoiseReductionApplied",type:"Rational"},50936:{name:"ProfileName",type:"Byte"},50937:{name:"ProfileHueSatMapDims",type:"Long"},50938:{name:"ProfileHueSatMapData1",type:"Float"},50939:{name:"ProfileHueSatMapData2",type:"Float"},50940:{name:"ProfileToneCurve",type:"Float"},50941:{name:"ProfileEmbedPolicy",type:"Long"},50942:{name:"ProfileCopyright",type:"Byte"},50964:{name:"ForwardMatrix1",type:"SRational"},50965:{name:"ForwardMatrix2",type:"SRational"},50966:{name:"PreviewApplicationName",type:"Byte"},50967:{name:"PreviewApplicationVersion",type:"Byte"},50968:{name:"PreviewSettingsName",type:"Byte"},50969:{name:"PreviewSettingsDigest",type:"Byte"},50970:{name:"PreviewColorSpace",type:"Long"},50971:{name:"PreviewDateTime",type:"Ascii"},50972:{name:"RawImageDigest",type:"Undefined"},50973:{name:"OriginalRawFileDigest",type:"Undefined"},50974:{name:"SubTileBlockSize",type:"Long"},50975:{name:"RowInterleaveFactor",type:"Long"},50981:{name:"ProfileLookTableDims",type:"Long"},50982:{name:"ProfileLookTableData",type:"Float"},51008:{name:"OpcodeList1",type:"Undefined"},51009:{name:"OpcodeList2",type:"Undefined"},51022:{name:"OpcodeList3",type:"Undefined"}},Exif:{33434:{name:"ExposureTime",type:"Rational"},33437:{name:"FNumber",type:"Rational"},34850:{name:"ExposureProgram",type:"Short"},34852:{name:"SpectralSensitivity",type:"Ascii"},34855:{name:"ISOSpeedRatings",type:"Short"},34856:{name:"OECF",type:"Undefined"},34864:{name:"SensitivityType",type:"Short"},34865:{name:"StandardOutputSensitivity",type:"Long"},34866:{name:"RecommendedExposureIndex",type:"Long"},34867:{name:"ISOSpeed",type:"Long"},34868:{name:"ISOSpeedLatitudeyyy",type:"Long"},34869:{name:"ISOSpeedLatitudezzz",type:"Long"},36864:{name:"ExifVersion",type:"Undefined"},36867:{name:"DateTimeOriginal",type:"Ascii"},36868:{name:"DateTimeDigitized",type:"Ascii"},37121:{name:"ComponentsConfiguration",type:"Undefined"},37122:{name:"CompressedBitsPerPixel",type:"Rational"},37377:{name:"ShutterSpeedValue",type:"SRational"},37378:{name:"ApertureValue",type:"Rational"},37379:{name:"BrightnessValue",type:"SRational"},37380:{name:"ExposureBiasValue",type:"SRational"},37381:{name:"MaxApertureValue",type:"Rational"},37382:{name:"SubjectDistance",type:"Rational"},37383:{name:"MeteringMode",type:"Short"},37384:{name:"LightSource",type:"Short"},37385:{name:"Flash",type:"Short"},37386:{name:"FocalLength",type:"Rational"},37396:{name:"SubjectArea",type:"Short"},37500:{name:"MakerNote",type:"Undefined"},37510:{name:"UserComment",type:"Ascii"},37520:{name:"SubSecTime",type:"Ascii"},37521:{name:"SubSecTimeOriginal",type:"Ascii"},37522:{name:"SubSecTimeDigitized",type:"Ascii"},40960:{name:"FlashpixVersion",type:"Undefined"},40961:{name:"ColorSpace",type:"Short"},40962:{name:"PixelXDimension",type:"Long"},40963:{name:"PixelYDimension",type:"Long"},40964:{name:"RelatedSoundFile",type:"Ascii"},40965:{name:"InteroperabilityTag",type:"Long"},41483:{name:"FlashEnergy",type:"Rational"},41484:{name:"SpatialFrequencyResponse",type:"Undefined"},41486:{name:"FocalPlaneXResolution",type:"Rational"},41487:{name:"FocalPlaneYResolution",type:"Rational"},41488:{name:"FocalPlaneResolutionUnit",type:"Short"},41492:{name:"SubjectLocation",type:"Short"},41493:{name:"ExposureIndex",type:"Rational"},41495:{name:"SensingMethod",type:"Short"},41728:{name:"FileSource",type:"Undefined"},41729:{name:"SceneType",type:"Undefined"},41730:{name:"CFAPattern",type:"Undefined"},41985:{name:"CustomRendered",type:"Short"},41986:{name:"ExposureMode",type:"Short"},41987:{name:"WhiteBalance",type:"Short"},41988:{name:"DigitalZoomRatio",type:"Rational"},41989:{name:"FocalLengthIn35mmFilm",type:"Short"},41990:{name:"SceneCaptureType",type:"Short"},41991:{name:"GainControl",type:"Short"},41992:{name:"Contrast",type:"Short"},41993:{name:"Saturation",type:"Short"},41994:{name:"Sharpness",type:"Short"},41995:{name:"DeviceSettingDescription",type:"Undefined"},41996:{name:"SubjectDistanceRange",type:"Short"},42016:{name:"ImageUniqueID",type:"Ascii"},42032:{name:"CameraOwnerName",type:"Ascii"},42033:{name:"BodySerialNumber",type:"Ascii"},42034:{name:"LensSpecification",type:"Rational"},42035:{name:"LensMake",type:"Ascii"},42036:{name:"LensModel",type:"Ascii"},42037:{name:"LensSerialNumber",type:"Ascii"},42240:{name:"Gamma",type:"Rational"}},GPS:{0:{name:"GPSVersionID",type:"Byte"},1:{name:"GPSLatitudeRef",type:"Ascii"},2:{name:"GPSLatitude",type:"Rational"},3:{name:"GPSLongitudeRef",type:"Ascii"},4:{name:"GPSLongitude",type:"Rational"},5:{name:"GPSAltitudeRef",type:"Byte"},6:{name:"GPSAltitude",type:"Rational"},7:{name:"GPSTimeStamp",type:"Rational"},8:{name:"GPSSatellites",type:"Ascii"},9:{name:"GPSStatus",type:"Ascii"},10:{name:"GPSMeasureMode",type:"Ascii"},11:{name:"GPSDOP",type:"Rational"},12:{name:"GPSSpeedRef",type:"Ascii"},13:{name:"GPSSpeed",type:"Rational"},14:{name:"GPSTrackRef",type:"Ascii"},15:{name:"GPSTrack",type:"Rational"},16:{name:"GPSImgDirectionRef",type:"Ascii"},17:{name:"GPSImgDirection",type:"Rational"},18:{name:"GPSMapDatum",type:"Ascii"},19:{name:"GPSDestLatitudeRef",type:"Ascii"},20:{name:"GPSDestLatitude",type:"Rational"},21:{name:"GPSDestLongitudeRef",type:"Ascii"},22:{name:"GPSDestLongitude",type:"Rational"},23:{name:"GPSDestBearingRef",type:"Ascii"},24:{name:"GPSDestBearing",type:"Rational"},25:{name:"GPSDestDistanceRef",type:"Ascii"},26:{name:"GPSDestDistance",type:"Rational"},27:{name:"GPSProcessingMethod",type:"Undefined"},28:{name:"GPSAreaInformation",type:"Undefined"},29:{name:"GPSDateStamp",type:"Ascii"},30:{name:"GPSDifferential",type:"Short"},31:{name:"GPSHPositioningError",type:"Rational"}},Interop:{1:{name:"InteroperabilityIndex",type:"Ascii"}}};g["0th"]=g.Image,g["1st"]=g.Image,n.TAGS=g,n.ImageIFD={ProcessingSoftware:11,NewSubfileType:254,SubfileType:255,ImageWidth:256,ImageLength:257,BitsPerSample:258,Compression:259,PhotometricInterpretation:262,Threshholding:263,CellWidth:264,CellLength:265,FillOrder:266,DocumentName:269,ImageDescription:270,Make:271,Model:272,StripOffsets:273,Orientation:274,SamplesPerPixel:277,RowsPerStrip:278,StripByteCounts:279,XResolution:282,YResolution:283,PlanarConfiguration:284,GrayResponseUnit:290,GrayResponseCurve:291,T4Options:292,T6Options:293,ResolutionUnit:296,TransferFunction:301,Software:305,DateTime:306,Artist:315,HostComputer:316,Predictor:317,WhitePoint:318,PrimaryChromaticities:319,ColorMap:320,HalftoneHints:321,TileWidth:322,TileLength:323,TileOffsets:324,TileByteCounts:325,SubIFDs:330,InkSet:332,InkNames:333,NumberOfInks:334,DotRange:336,TargetPrinter:337,ExtraSamples:338,SampleFormat:339,SMinSampleValue:340,SMaxSampleValue:341,TransferRange:342,ClipPath:343,XClipPathUnits:344,YClipPathUnits:345,Indexed:346,JPEGTables:347,OPIProxy:351,JPEGProc:512,JPEGInterchangeFormat:513,JPEGInterchangeFormatLength:514,JPEGRestartInterval:515,JPEGLosslessPredictors:517,JPEGPointTransforms:518,JPEGQTables:519,JPEGDCTables:520,JPEGACTables:521,YCbCrCoefficients:529,YCbCrSubSampling:530,YCbCrPositioning:531,ReferenceBlackWhite:532,XMLPacket:700,Rating:18246,RatingPercent:18249,ImageID:32781,CFARepeatPatternDim:33421,CFAPattern:33422,BatteryLevel:33423,Copyright:33432,ExposureTime:33434,ImageResources:34377,ExifTag:34665,InterColorProfile:34675,GPSTag:34853,Interlace:34857,TimeZoneOffset:34858,SelfTimerMode:34859,FlashEnergy:37387,SpatialFrequencyResponse:37388,Noise:37389,FocalPlaneXResolution:37390,FocalPlaneYResolution:37391,FocalPlaneResolutionUnit:37392,ImageNumber:37393,SecurityClassification:37394,ImageHistory:37395,ExposureIndex:37397,TIFFEPStandardID:37398,SensingMethod:37399,XPTitle:40091,XPComment:40092,XPAuthor:40093,XPKeywords:40094,XPSubject:40095,PrintImageMatching:50341,DNGVersion:50706,DNGBackwardVersion:50707,UniqueCameraModel:50708,LocalizedCameraModel:50709,CFAPlaneColor:50710,CFALayout:50711,LinearizationTable:50712,BlackLevelRepeatDim:50713,BlackLevel:50714,BlackLevelDeltaH:50715,BlackLevelDeltaV:50716,WhiteLevel:50717,DefaultScale:50718,DefaultCropOrigin:50719,DefaultCropSize:50720,ColorMatrix1:50721,ColorMatrix2:50722,CameraCalibration1:50723,CameraCalibration2:50724,ReductionMatrix1:50725,ReductionMatrix2:50726,AnalogBalance:50727,AsShotNeutral:50728,AsShotWhiteXY:50729,BaselineExposure:50730,BaselineNoise:50731,BaselineSharpness:50732,BayerGreenSplit:50733,LinearResponseLimit:50734,CameraSerialNumber:50735,LensInfo:50736,ChromaBlurRadius:50737,AntiAliasStrength:50738,ShadowScale:50739,DNGPrivateData:50740,MakerNoteSafety:50741,CalibrationIlluminant1:50778,CalibrationIlluminant2:50779,BestQualityScale:50780,RawDataUniqueID:50781,OriginalRawFileName:50827,OriginalRawFileData:50828,ActiveArea:50829,MaskedAreas:50830,AsShotICCProfile:50831,AsShotPreProfileMatrix:50832,CurrentICCProfile:50833,CurrentPreProfileMatrix:50834,ColorimetricReference:50879,CameraCalibrationSignature:50931,ProfileCalibrationSignature:50932,AsShotProfileName:50934,NoiseReductionApplied:50935,ProfileName:50936,ProfileHueSatMapDims:50937,ProfileHueSatMapData1:50938,ProfileHueSatMapData2:50939,ProfileToneCurve:50940,ProfileEmbedPolicy:50941,ProfileCopyright:50942,ForwardMatrix1:50964,ForwardMatrix2:50965,PreviewApplicationName:50966,PreviewApplicationVersion:50967,PreviewSettingsName:50968,PreviewSettingsDigest:50969,PreviewColorSpace:50970,PreviewDateTime:50971,RawImageDigest:50972,OriginalRawFileDigest:50973,SubTileBlockSize:50974,RowInterleaveFactor:50975,ProfileLookTableDims:50981,ProfileLookTableData:50982,OpcodeList1:51008,OpcodeList2:51009,OpcodeList3:51022,NoiseProfile:51041},n.ExifIFD={ExposureTime:33434,FNumber:33437,ExposureProgram:34850,SpectralSensitivity:34852,ISOSpeedRatings:34855,OECF:34856,SensitivityType:34864,StandardOutputSensitivity:34865,RecommendedExposureIndex:34866,ISOSpeed:34867,ISOSpeedLatitudeyyy:34868,ISOSpeedLatitudezzz:34869,ExifVersion:36864,DateTimeOriginal:36867,DateTimeDigitized:36868,ComponentsConfiguration:37121,CompressedBitsPerPixel:37122,ShutterSpeedValue:37377,ApertureValue:37378,BrightnessValue:37379,ExposureBiasValue:37380,MaxApertureValue:37381,SubjectDistance:37382,MeteringMode:37383,LightSource:37384,Flash:37385,FocalLength:37386,SubjectArea:37396,MakerNote:37500,UserComment:37510,SubSecTime:37520,SubSecTimeOriginal:37521,SubSecTimeDigitized:37522,FlashpixVersion:40960,ColorSpace:40961,PixelXDimension:40962,PixelYDimension:40963,RelatedSoundFile:40964,InteroperabilityTag:40965,FlashEnergy:41483,SpatialFrequencyResponse:41484,FocalPlaneXResolution:41486,FocalPlaneYResolution:41487,FocalPlaneResolutionUnit:41488,SubjectLocation:41492,ExposureIndex:41493,SensingMethod:41495,FileSource:41728,SceneType:41729,CFAPattern:41730,CustomRendered:41985,ExposureMode:41986,WhiteBalance:41987,DigitalZoomRatio:41988,FocalLengthIn35mmFilm:41989,SceneCaptureType:41990,GainControl:41991,Contrast:41992,Saturation:41993,Sharpness:41994,DeviceSettingDescription:41995,SubjectDistanceRange:41996,ImageUniqueID:42016,CameraOwnerName:42032,BodySerialNumber:42033,LensSpecification:42034,LensMake:42035,LensModel:42036,LensSerialNumber:42037,Gamma:42240},n.GPSIFD={GPSVersionID:0,GPSLatitudeRef:1,GPSLatitude:2,GPSLongitudeRef:3,GPSLongitude:4,GPSAltitudeRef:5,GPSAltitude:6,GPSTimeStamp:7,GPSSatellites:8,GPSStatus:9,GPSMeasureMode:10,GPSDOP:11,GPSSpeedRef:12,GPSSpeed:13,GPSTrackRef:14,GPSTrack:15,GPSImgDirectionRef:16,GPSImgDirection:17,GPSMapDatum:18,GPSDestLatitudeRef:19,GPSDestLatitude:20,GPSDestLongitudeRef:21,GPSDestLongitude:22,GPSDestBearingRef:23,GPSDestBearing:24,GPSDestDistanceRef:25,GPSDestDistance:26,GPSProcessingMethod:27,GPSAreaInformation:28,GPSDateStamp:29,GPSDifferential:30,GPSHPositioningError:31},n.InteropIFD={InteroperabilityIndex:1},n.GPSHelper={degToDmsRational:function(e){var t=Math.abs(e),n=t%1*60,r=n%1*60;return[[Math.floor(t),1],[Math.floor(n),1],[Math.round(100*r),100]]},dmsRationalToDeg:function(e,t){var n="S"===t||"W"===t?-1:1;return(e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600)*n}},e.exports&&(t=e.exports=n),t.piexif=n}()}));const Iq=async(e,t,n)=>{const r=await(e=>new Promise((t,n)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.readAsDataURL(e)}))(e),a=Sq.load(r),s=(await navigator.mediaDevices.enumerateDevices()).filter(e=>"videoinput"===e.kind).map(e=>e.label),i={width:n.width,height:n.height,usedCamera:t.label,camerasOnDevice:s},o={"0th":Object.assign(Object.assign({},a["0th"]),{[Sq.ImageIFD.Model]:i.usedCamera,[Sq.ImageIFD.ImageWidth]:i.width,[Sq.ImageIFD.ImageLength]:i.height}),Exif:Object.assign(Object.assign({},a.Exif),{[Sq.ExifIFD.UserComment]:JSON.stringify(i)}),GPS:Object.assign({},a.GPS),Interop:Object.assign({},a.Interop),"1st":Object.assign({},a["1st"]),thumbnail:a.thumbnail},u=Sq.dump(o),l=Sq.insert(u,r);return await fetch(l).then(e=>e.blob())},Aq=new Image;var Eq;Aq.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwIiBoZWlnaHQ9IjIyNC45OTk5OTk5OTk5OTk5NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIHZlcnNpb249IjEuMSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CiA8Zz4KICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgPGcgc3Ryb2tlPSJudWxsIiBpZD0iTGF5ZXIgMSI+CiAgIDxwYXRoIHN0cm9rZT0iIzRjYTU4NSIgaWQ9InN2Z18xIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJtNzQuMjc3NjUsNi45Mjc2MWMtMTEuMzc1OTcsLTAuMDE3MTMgLTMzLjU2NTUxLDUuMTA0MzMgLTQ2LjgxMzE2LDE5LjQ5NDgxYy02Ljc0MTQzLDcuMzIyOTIgLTE4LjEyMjY5LDIzLjA2OTY3IC0xOS4yNjc1OCw1OS42MTM2OWMtMC41MTkwNiwxNi41NjkyMSA1LjA0NTI0LDYwLjYyNTMzIDEwLjI0MDA2LDc2LjQ2Nzc1YzMuNjMxMywxMS4wNzQ2OCAyNy40ODIxNSw0My45MzM0OSA0NC40OTA2LDUzLjY4MjUxYzQuODA3OTEsMi43NTU0NiAxMS4yOTY2OCwyLjY4MjUxIDEyLjQyMjU1LDIuNjgyNTFjMS4xODg3NiwtMC4wODQ1NyA3LjMzMDI2LDAuMDcyOTQgMTIuMTM3NjUsLTIuNjgyNTFjMTcuMDA4NDYsLTkuNzQ5MDIgNDAuNDAyMDgsLTQyLjc2ODUxIDQ0LjQ5MDYsLTUzLjY4MjUxYzQuNDAwMzgsLTExLjc0NDkxIDEwLjc1OTY1LC01OS44OTg1NCAxMC4yNDAwNiwtNzYuNDY3NzVjLTEuMTQ0ODksLTM2LjU0NDAyIC0xMi41MjYxNSwtNTIuMjkwNzcgLTE5LjI2NzU4LC01OS42MTM2OWMtMTMuMjQ3NjUsLTE0LjM5MDQ4IC0zNS4zMDY2MywtMTkuNTI5MzMgLTQ2Ljc3ODI3LC0xOS40OTQ4MWMtMC43NDY4OCwwLjAwMjIyIC0xLjg5NDk0LDAgLTEuODk0OTQsMHoiIHN0cm9rZS13aWR0aD0iNy42NSIvPgogIDwvZz4KIDwvZz4KPC9zdmc+Cg==",function(e){e.JPEG="image/jpeg",e.PNG="image/png"}(Eq||(Eq={}));class Nq{constructor(e,t){this.showMask=!1,this.videoSize={width:0,height:0},this.streamPaused=!1,this.pauseStream=()=>{this.streamPaused=!0,this.videoElement.pause(),this.dropMask(),this.faceDetection&&kq.getInstance().stopDetector()},this.device=e,this.detector=kq.getInstance(this,e.isMobile,t)}setShowMask(e){this.showMask=e}setFaceDetection(e){this.faceDetection=e}setProbabilityThreshold(e){kq.getInstance().setProbabilityThreshold(e)}setCallbackErrors(e){this.callbackErrors=e}setCallbackAutoCapturing(e){this.callbackAutoCapturing=e}setCallbackFaceDetectionErrors(e){this.callbackFaceDetectionErrors=e}static getInstance(e,t){return Nq.instance||(Nq.instance=new Nq(e,t)),Nq.instance}returnErrors(e){this.callbackFaceDetectionErrors(e)}autoCapturing(){this.callbackAutoCapturing()}updateHtmlElements(e,t){this.videoElement=e,this.canvasElement=t,this.detector.updateHtmlElements(e)}async startDetection(){return this.detector.startDetector()}static orientationChange(){Nq.instance&&Nq.getInstance().drawMask()}startStream(e){this.stream&&this.stream.getTracks().forEach(e=>e.stop()),this.stream=e,"srcObject"in this.videoElement?this.videoElement.srcObject=e:this.videoElement.src=window.URL.createObjectURL(e),this.videoElement.play().then(()=>{this.streamPaused=!1,l.cameraReadyEvent(),this.drawMask(),this.faceDetection&&this.startDetection()})}async initStream(e){this.startStream(e)}async resumeStream(){this.streamPaused=!1,await this.videoElement.play(),this.drawMask(),this.faceDetection&&await kq.getInstance().startDetector()}updateCanvasSize(e){this.videoSize={width:this.videoElement.videoWidth,height:this.videoElement.videoHeight},e.width=this.videoSize.width,e.height=this.videoSize.height}dropStream(){this.streamStopped()||(this.stream.getTracks().forEach(e=>e.stop()),this.videoElement.srcObject=null),this.faceDetection&&kq.getInstance().stopDetector()}streamStopped(){return!(this.stream&&this.stream.getTracks&&this.stream.getTracks().length>0)}drawMask(){this.showMask&&!this.streamPaused&&setTimeout(()=>{this.updateCanvasSize(this.canvasElement);const e=this.canvasElement,t=e.getContext("2d"),n=e.width/Aq.width,r=e.height/Aq.height,a=Math.min(n,r),s=e.width{const t=document.createElement("canvas");t.width=this.videoElement.videoWidth,t.height=this.videoElement.videoHeight,e([await this.getFrame(t)])})}getFrame(e){return new Promise(t=>{e.getContext("2d").drawImage(this.videoElement,0,0,e.width,e.height),e.toBlob(e=>{if(e.type!==Eq.JPEG||this.device.isIos)t(e);else try{Iq(e,this.stream.getTracks()[0],this.videoSize).then(e=>t(e))}catch(n){t(e),this.callbackErrors(n,!1)}},Eq.PNG,1)})}}window.addEventListener("resize",Nq.orientationChange,!1),window.addEventListener("orientationchange",Nq.orientationChange,!1);let Cq=class{constructor(e){Object(u.f)(this,e),this.eventVideoStarted=Object(u.b)(this,"videoStarted",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.errorCameraEvent=Object(u.b)(this,"errorCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.callbackErrors=(e,t)=>{t?(this.errorCameraEvent.emit(e),this.eventCloseCamera.emit()):this.errorCameraEvent.emit(e)},this.callbackAutoCapturing=()=>{this.device.isMobile?this.eventMakePhoto.emit():this.eventTakePhoto.emit()},this.callbackFaceDetectionErrors=e=>{l.detectionError(e)}}componentDidLoad(){this.startStream()}render(){const e="camera "+(this.device.isMobile?"cameraMobile":"");return Object(u.d)("div",{class:e},Object(u.d)("video",{loop:!0,autoplay:!0,playsinline:!0,muted:!0,class:"cameraVideo",ref:e=>this.cameraVideo=e}),Object(u.d)("canvas",{class:"cameraCanvas",ref:e=>this.cameraCanvas=e}))}startStream(){Nq.instance||Nq.getInstance(this.device,this.modelPath);const e=Nq.getInstance();e.updateHtmlElements(this.cameraVideo,this.cameraCanvas),e.setShowMask(this.showMask),e.setFaceDetection(this.faceDetection),e.setProbabilityThreshold(this.probabilityThreshold),e.setCallbackErrors(this.callbackErrors),e.setCallbackAutoCapturing(this.callbackAutoCapturing),e.setCallbackFaceDetectionErrors(this.callbackFaceDetectionErrors)}};Cq.style=".camera{width:100%;height:100%;color:white;display:flex;align-items:center;justify-content:center;position:relative}.cameraCanvas{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);max-width:100%;max-height:100%;z-index:2}.cameraVideo{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);z-index:1;position:absolute;max-width:100%;max-height:100%}.cameraMobile{position:fixed;top:0;left:0;background:black}.canvas-on-video{max-width:100%;max-height:100%;position:absolute;left:50%;top:50%;z-index:2;transform:scale(-1, 1)}";let Tq=class{constructor(e){Object(u.f)(this,e),this.updateState=()=>{this._showMask="true"===this.show_mask,this._disable_control_panel="true"===this.disable_control_panel,this._face_detection="true"===this.face_detection,this._stopAfterCapturing="true"===this.stop_after_capturing,this._probabilityThreshold=this.probability_threshold?+this.probability_threshold:50,this.url_logo=this.url_logo?this.url_logo:"data:image/png;charset=utf-8;base64,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",this._debug="true"===this.debug,kq.debug=this._debug},this.photoIsReady=e=>{this._stopAfterCapturing&&this.closeCamera(),l.captureEvent(e)},this.enableButton=()=>{this._resolutionOnPhoto=!0},this.updateState(),this._cameraStatus=0,this._resolutionOnPhoto=!1,this._device=xq(),this._mobile=this._device.isMobile,this._mobileMakePhoto=!1}videoStarted(){this._resolutionOnPhoto=!0}async retakePhoto(){this._mobileMakePhoto=!1,await Nq.getInstance().resumeStream()}takePhoto(){Nq.getInstance().takePhoto().then(e=>{this.photoIsReady(e)})}async openCamera(){this._cameraStatus=1;const e=this._device.isMac?{audio:!1,video:{facingMode:"user",width:1920,height:1080}}:{audio:!1,video:{facingMode:"user",width:{ideal:1920},height:{ideal:1080}}};setTimeout(()=>{navigator.mediaDevices.getUserMedia(e).then(e=>{Nq.getInstance().initStream(e),this.videoStarted()}).catch(e=>{this.closeCamera(),l.errorEvent(e)})},100)}async loadModels(e){await kq.initDetector(e.detail.path)}errorCamera(e){l.errorEvent(e.detail.message)}closeCamera(){Nq.instance&&(this._cameraStatus=0,l.closeEvent(),Nq.getInstance().dropStream(),this._mobileMakePhoto=!1,this._resolutionOnPhoto=!1)}makePhoto(){this._mobile?(this._mobileMakePhoto=!0,Nq.getInstance().pauseStream()):this.takePhoto()}componentWillLoad(){l.init(this.component),navigator.mediaDevices||l.errorEvent("This browser does not support webRTC")}componentDidUpdate(){this.updateState()}render(){let e;return e=this._cameraStatus?Object(u.d)("camera-comp",{class:"block",showMask:this._showMask,device:this._device,faceDetection:this._face_detection,modelPath:this.model_path,probabilityThreshold:this._probabilityThreshold}):Object(u.d)("img",{src:this.url_logo,class:"logo",style:this.logo_style?JSON.parse(this.logo_style):"",alt:"logo"}),Object(u.d)("div",{class:"cameraContainer",id:"cameraContainer",style:{backgroundColor:this.background_color}},Object(u.d)("div",{class:"wrapperCamera",style:{height:this._disable_control_panel?"100%":"65%"}},e),Object(u.d)("control-panel",{class:"block",mobile:this._mobile,disableControlPanel:this._disable_control_panel,cameraStatus:this._cameraStatus,resolutionOnPhoto:this._resolutionOnPhoto,mobileMakePhoto:this._mobileMakePhoto,faceDetection:this._face_detection}))}get component(){return Object(u.c)(this)}};Tq.style=".cameraContainer{width:100%;height:100%;z-index:10;position:relative;overflow:hidden}.logo{max-height:450px;max-width:450px}.wrapperCamera{display:flex;justify-content:center;align-items:center}.block{width:100%;height:100%}@media screen and (orientation: portrait){.history{width:100vw;font-size:20px}@media screen and (max-height: 667px){.logo{background-size:120px;max-height:120px;max-width:120px}}@media screen and (min-height: 668px) and (max-height: 812px){.logo{background-size:140px;max-height:140px;max-width:140px}}@media (max-height: 667px){.logo{margin:0 auto}}}@media screen and (max-height: 414px){.logo{background-size:140px;max-height:140px;max-width:140px}}";const Rq=(e,t)=>[...t];let _q=class{constructor(e){Object(u.f)(this,e),this.eventOpenCamera=Object(u.b)(this,"openCamera",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventRetakePhoto=Object(u.b)(this,"retakePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.makePhoto=()=>{this.eventMakePhoto.emit()},this.closeCamera=()=>{this.eventCloseCamera.emit()},this.openCamera=()=>{this.eventOpenCamera.emit()},this.takePhoto=()=>{this.eventTakePhoto.emit()},this.retakePhoto=async()=>{this.eventRetakePhoto.emit()}}render(){return Object(u.d)("div",{class:"controlPanel"+(this.mobile?" controlMobile":"")},this.mobile?Object(u.d)("div",null,this.cameraStatus?Object(u.d)("div",null,this.mobileMakePhoto?Object(u.d)("div",null,Object(u.d)("div",{onClick:this.retakePhoto,class:"retake"},"retake"),Object(u.d)("img",{onClick:this.takePhoto,class:"shoot takePhoto",src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjEuMC4yLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDggNDg7IiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4Ij4KPHBhdGggc3R5bGU9ImZpbGw6I0M4RTZDOTsiIGQ9Ik00NCwyNGMwLDExLjA0NS04Ljk1NSwyMC0yMCwyMFM0LDM1LjA0NSw0LDI0UzEyLjk1NSw0LDI0LDRTNDQsMTIuOTU1LDQ0LDI0eiIvPgo8cGF0aCBzdHlsZT0iZmlsbDojNENBRjUwOyIgZD0iTTM0LjU4NiwxNC41ODZsLTEzLjU3LDEzLjU4NmwtNS42MDItNS41ODZsLTIuODI4LDIuODI4bDguNDM0LDguNDE0bDE2LjM5NS0xNi40MTRMMzQuNTg2LDE0LjU4NnoiLz4KPC9zdmc+Cg=="})):Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto,class:"shoot"}),Object(u.d)("div",{onClick:this.closeCamera,class:"close"},"close")):Object(u.d)("div",null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)("button",{onClick:this.openCamera},"Turn on camera"))):Object(u.d)(Rq,null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)(Rq,null,this.cameraStatus?Object(u.d)(Rq,null,Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto},"Capture"),Object(u.d)("button",{onClick:this.closeCamera,class:"cameraOff"},"Close camera")):Object(u.d)("button",{onClick:this.openCamera},"Open camera"))))}};_q.style='.controlPanel{height:35%;display:flex;justify-content:space-evenly;align-items:center;width:100%;max-width:450px;margin:auto}.buttons{width:100%;max-width:450px;display:flex;justify-content:space-evenly;align-items:center}button{width:164px;height:50px;border:none;margin-bottom:10px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;color:#fff;font-family:"Avenir", Helvetica, sans-serif;font-weight:600;font-size:16px;background-color:#4ca585;outline:none;cursor:pointer}button[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.cameraOff{background-color:#667a87}.cameraOff:hover{background-color:#92a8b5}.shoot{width:50px;height:50px;border-radius:25px;border:2px solid white;outline:none;background-color:red;position:fixed;left:calc(50% - 25px);bottom:10px}.shoot[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.close{position:fixed;right:6vw;top:2vh;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.retake{position:fixed;right:6vw;bottom:35px;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.takePhoto{width:46px;height:46px;bottom:20px;background:none}@media screen and (orientation:landscape) and (min-width: 360px){.shoot{bottom:calc(50% - 25px);left:auto;right:5vw}}'}.call(this,"/index.js",n(77),"/",n(36),n(241).Buffer,n(245).setImmediate)},function(e,t,n){"use strict";(function(e){ +/** @license See the LICENSE file. */(e,{width:this.videoElement.videoWidth,height:this.videoElement.videoHeight}),n=new hq,r=this.checkNumberFaces(t);return n.FACE_NOT_FOUND=!r&&0===t.length,n.TOO_MANY_FACES=!r&&t.length>this.MAX_NUMBER_FACES,r&&(wq&&(n.FACE_ANGLE_TOO_LARGE=!this.checkHeadRotation(t)),n.PROBABILITY_TOO_SMALL=!this.checkProbability(t),n.FACE_TOO_SMALL=!this.checkFaceSize(t),n.FACE_CLOSE_TO_BORDER=!this.checkFaceIndent(t)),n}autoCapturing(){kq.debug&&console.info(this.counterSuccessfulResults),this.counterSuccessfulResults>=this.DEFAULT_NUMBER_SUCCESSFUL_RESULTS_FOR_AUTO_CAPTURING&&(this.stream.autoCapturing(),this.counterSuccessfulResults=0)}checkNumberFaces(e){return e.length===this.MAX_NUMBER_FACES}checkProbability(e){return e[0].detection.score>+this.probabilityThreshold/100}checkFaceSize(e){const t=e[0].detection.box,{width:n,height:r,area:a}=t,{imageHeight:s,imageWidth:i}=e[0].detection,o=100/(s*i/a);return Math.min(n/this.videoRatio,r/this.videoRatio)>(this.isMobile?this.MIN_FACE_SIZE_FOR_MOBILE:this.MIN_FACE_SIZE_FOR_DESKTOP)&&o>(this.isMobile?this.MIN_OCCUPIED_SPACE_FOR_MOBILE:this.MIN_OCCUPIED_SPACE_FOR_DESKTOP)}checkFaceIndent(e){const t=e[0].detection.box,{imageHeight:n,imageWidth:r}=e[0].detection,{top:a,left:s,bottom:i,right:o}=t,u=s,l=r-o,c=n-i;return!(athis.MAX_ANGLE_TURN_HEAD||-1*a[2]>this.MAX_ANGLE_TURN_HEAD?this.headTurnCounter++:(this.counterSuccessfulHeadTurns++,this.counterSuccessfulHeadTurns>=5&&(this.headTurnCounter=0,this.counterSuccessfulHeadTurns=0)),this.headTurnCounter<=1}drawFaces(e){this.innerCanvas||this.createCanvasForDrawingMask(this.videoElement);const t=this.innerCanvas;if(!t)return console.error("no canvas for drawing");const n=t.getContext("2d");if(n){n.clearRect(0,0,t.width,t.height),n.font='small-caps 20px "Segoe UI"',n.fillStyle="white";for(const t of e){n.lineWidth=3,n.strokeStyle="deepskyblue",n.fillStyle="deepskyblue",n.globalAlpha=.6,n.beginPath(),n.rect(t.detection.box.x,t.detection.box.y,t.detection.box.width,t.detection.box.height),n.stroke(),n.globalAlpha=1,n.globalAlpha=.8,n.fillStyle="lightblue";const e=2;for(let r=0;r"+d("B",e.length),e)}function a(e){return h(">"+d("H",e.length),e)}function s(e){return h(">"+d("L",e.length),e)}function i(e,t,n){var i,o,u,l,c="",p="";if("Byte"==t)(i=e.length)<=4?p=r(e)+d("\0",4-i):(p=h(">L",[n]),c=r(e));else if("Short"==t)(i=e.length)<=2?p=a(e)+d("\0\0",2-i):(p=h(">L",[n]),c=a(e));else if("Long"==t)(i=e.length)<=1?p=s(e):(p=h(">L",[n]),c=s(e));else if("Ascii"==t)(i=(o=e+"\0").length)>4?(p=h(">L",[n]),c=o):p=o+d("\0",4-i);else if("Rational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">L",[u])+h(">L",[l]);else{i=e.length,o="";for(var f=0;fL",[u])+h(">L",[l])}p=h(">L",[n]),c=o}else if("SRational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">l",[u])+h(">l",[l]);else{i=e.length,o="";for(f=0;fl",[u])+h(">l",[l])}p=h(">L",[n]),c=o}else"Undefined"==t&&((i=e.length)>4?(p=h(">L",[n]),c=e):p=e+d("\0",4-i));return[h(">L",[i]),p,c]}function o(e,t,n){var r,a=Object.keys(e).length,s=h(">H",[a]);r=["0th","1st"].indexOf(t)>-1?2+12*a+4:2+12*a;var o="",u="";for(var l in e)if("string"==typeof l&&(l=parseInt(l)),!("0th"==t&&[34665,34853].indexOf(l)>-1||"Exif"==t&&40965==l||"1st"==t&&[513,514].indexOf(l)>-1)){var c=e[l],p=h(">H",[l]),d=g[t][l].type,f=h(">H",[m[d]]);"number"==typeof c&&(c=[c]);var y=i(c,d,8+r+n+u.length);o+=p+f+y[0]+y[1],u+=y[2]}return[s+o,u]}function u(e){var t;if("ÿØ"==e.slice(0,2))t=function(e){for(var t,n=0;n-1)this.tiftag=e;else{if("Exif"!=e.slice(0,4))throw new Error("Given file is neither JPEG nor TIFF.");this.tiftag=e.slice(6)}}if(n.version="1.0.4",n.remove=function(e){var t=!1;if("ÿØ"==e.slice(0,2));else{if("data:image/jpeg;base64,"!=e.slice(0,23)&&"data:image/jpg;base64,"!=e.slice(0,22))throw new Error("Given data is not jpeg.");e=c(e.split(",")[1]),t=!0}var n=f(e).filter((function(e){return!("ÿá"==e.slice(0,2)&&"Exif\0\0"==e.slice(4,10))})).join("");return t&&(n="data:image/jpeg;base64,"+l(n)),n},n.insert=function(e,t){var n=!1;if("Exif\0\0"!=e.slice(0,6))throw new Error("Given data is not exif.");if("ÿØ"==t.slice(0,2));else{if("data:image/jpeg;base64,"!=t.slice(0,23)&&"data:image/jpg;base64,"!=t.slice(0,22))throw new Error("Given data is not jpeg.");t=c(t.split(",")[1]),n=!0}var r="ÿá"+h(">H",[e.length+2])+e,a=function(e,t){var n=!1,r=[];e.forEach((function(a,s){"ÿá"==a.slice(0,2)&&"Exif\0\0"==a.slice(4,10)&&(n?r.unshift(s):(e[s]=t,n=!0))})),r.forEach((function(t){e.splice(t,1)})),!n&&t&&(e=[e[0],t].concat(e.slice(1)));return e.join("")}(f(t),r);return n&&(a="data:image/jpeg;base64,"+l(a)),a},n.load=function(e){var t;if("string"!=typeof e)throw new Error("'load' gots invalid type argument.");if("ÿØ"==e.slice(0,2))t=e;else if("data:image/jpeg;base64,"==e.slice(0,23)||"data:image/jpg;base64,"==e.slice(0,22))t=c(e.split(",")[1]);else{if("Exif"!=e.slice(0,4))throw new Error("'load' gots invalid file data.");t=e.slice(6)}var n={"0th":{},Exif:{},GPS:{},Interop:{},"1st":{},thumbnail:null},r=new u(t);if(null===r.tiftag)return n;"II"==r.tiftag.slice(0,2)?r.endian_mark="<":r.endian_mark=">";var a=p(r.endian_mark+"L",r.tiftag.slice(4,8))[0];n["0th"]=r.get_ifd(a,"0th");var s=n["0th"].first_ifd_pointer;if(delete n["0th"].first_ifd_pointer,34665 in n["0th"]&&(a=n["0th"][34665],n.Exif=r.get_ifd(a,"Exif")),34853 in n["0th"]&&(a=n["0th"][34853],n.GPS=r.get_ifd(a,"GPS")),40965 in n.Exif&&(a=n.Exif[40965],n.Interop=r.get_ifd(a,"Interop")),"\0\0\0\0"!=s&&(a=p(r.endian_mark+"L",s)[0],n["1st"]=r.get_ifd(a,"1st"),513 in n["1st"]&&514 in n["1st"])){var i=n["1st"][513]+n["1st"][514],o=r.tiftag.slice(n["1st"][513],i);n.thumbnail=o}return n},n.dump=function(e){var t,r,a,s,i,u,l=(t=e,JSON.parse(JSON.stringify(t))),c=!1,p=!1,d=!1,g=!1;r="0th"in l?l["0th"]:{},"Exif"in l&&Object.keys(l.Exif).length||"Interop"in l&&Object.keys(l.Interop).length?(r[34665]=1,c=!0,a=l.Exif,"Interop"in l&&Object.keys(l.Interop).length?(a[40965]=1,d=!0,s=l.Interop):Object.keys(a).indexOf(n.ExifIFD.InteroperabilityTag.toString())>-1&&delete a[40965]):Object.keys(r).indexOf(n.ImageIFD.ExifTag.toString())>-1&&delete r[34665],"GPS"in l&&Object.keys(l.GPS).length?(r[n.ImageIFD.GPSTag]=1,p=!0,i=l.GPS):Object.keys(r).indexOf(n.ImageIFD.GPSTag.toString())>-1&&delete r[n.ImageIFD.GPSTag],"1st"in l&&"thumbnail"in l&&null!=l.thumbnail&&(g=!0,l["1st"][513]=1,l["1st"][514]=1,u=l["1st"]);var y,b,v,x=o(r,"0th",0),w=x[0].length+12*c+12*p+4+x[1].length,k="",S=0,I="",A=0,E="",N=0,C="";(c&&(S=(y=o(a,"Exif",w))[0].length+12*d+y[1].length),p&&(A=(I=o(i,"GPS",w+S).join("")).length),d)&&(N=(E=o(s,"Interop",w+S+A).join("")).length);if(g&&(b=o(u,"1st",w+S+A+N),(v=function(e){var t=f(e);for(;"ÿà"<=t[1].slice(0,2)&&t[1].slice(0,2)<="ÿï";)t=[t[0]].concat(t.slice(2));return t.join("")}(l.thumbnail)).length>64e3))throw new Error("Given thumbnail is too large. max 64kB");var T="",R="",_="",F="\0\0\0\0";if(c){var M=h(">L",[D=8+w]);T=h(">H",[34665])+h(">H",[m.Long])+h(">L",[1])+M}if(p){M=h(">L",[D=8+w+S]);R=h(">H",[34853])+h(">H",[m.Long])+h(">L",[1])+M}if(d){M=h(">L",[D=8+w+S+A]);_=h(">H",[40965])+h(">H",[m.Long])+h(">L",[1])+M}if(g){var D;F=h(">L",[D=8+w+S+A+N]);var O="\0\0\0\0"+h(">L",[D+b[0].length+24+4+b[1].length]),L="\0\0\0\0"+h(">L",[v.length]);C=b[0]+O+L+"\0\0\0\0"+b[1]+v}var P=x[0]+T+R+F+x[1];return c&&(k=y[0]+_+y[1]),"Exif\0\0MM\0*\0\0\0\b"+P+k+I+E+C},u.prototype={get_ifd:function(e,t){var n,r={},a=p(this.endian_mark+"H",this.tiftag.slice(e,e+2))[0],s=e+2;n=["0th","1st"].indexOf(t)>-1?"Image":t;for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("B",a),this.tiftag.slice(t,t+a))):n=p(this.endian_mark+d("B",a),s.slice(0,a));else if(2==r)a>4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a-1)):n=s.slice(0,a-1);else if(3==r)a>2?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("H",a),this.tiftag.slice(t,t+2*a))):n=p(this.endian_mark+d("H",a),s.slice(0,2*a));else if(4==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("L",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("L",a),s);else if(5==r)if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a)):n=s.slice(0,a);else if(9==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("l",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("l",a),s);else{if(10!=r)throw new Error("Exif might be wrong. Got incorrect value type to decode. type:"+r);if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(i=0;i>2,s=(3&t)<<4|(n=e.charCodeAt(l++))>>4,i=(15&n)<<2|(r=e.charCodeAt(l++))>>6,o=63&r,isNaN(n)?i=o=64:isNaN(r)&&(o=64),u=u+c.charAt(a)+c.charAt(s)+c.charAt(i)+c.charAt(o);return u};if("undefined"!=typeof window&&"function"==typeof window.atob)var c=window.atob;if(void 0===c)c=function(e){var t,n,r,a,s,i,o="",u=0,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u>4,n=(15&a)<<4|(s=l.indexOf(e.charAt(u++)))>>2,r=(3&s)<<6|(i=l.indexOf(e.charAt(u++))),o+=String.fromCharCode(t),64!=s&&(o+=String.fromCharCode(n)),64!=i&&(o+=String.fromCharCode(r));return o};function h(e,t){if(!(t instanceof Array))throw new Error("'pack' error. Got invalid type argument.");if(e.length-1!=t.length)throw new Error("'pack' error. "+(e.length-1)+" marks, "+t.length+" elements.");var n;if("<"==e[0])n=!0;else{if(">"!=e[0])throw new Error("");n=!1}for(var r="",a=1,s=null,i=null,o=null;i=e[a];){if("b"==i.toLowerCase()){if(s=t[a-1],"b"==i&&s<0&&(s+=256),s>255||s<0)throw new Error("'pack' error.");o=String.fromCharCode(s)}else if("H"==i){if((s=t[a-1])>65535||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}else{if("l"!=i.toLowerCase())throw new Error("'pack' error.");if(s=t[a-1],"l"==i&&s<0&&(s+=4294967296),s>4294967295||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s/16777216))+String.fromCharCode(Math.floor(s%16777216/65536))+String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}r+=o,a+=1}return r}function p(e,t){if("string"!=typeof t)throw new Error("'unpack' error. Got invalid type argument.");for(var n,r=0,a=1;a"!=e[0])throw new Error("'unpack' error.");n=!1}for(var s=[],i=0,o=1,u=null,l=null,c=null,h="";l=e[o];){if("b"==l.toLowerCase())c=1,u=(h=t.slice(i,i+c)).charCodeAt(0),"b"==l&&u>=128&&(u-=256);else if("H"==l)c=2,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=256*h.charCodeAt(0)+h.charCodeAt(1);else{if("l"!=l.toLowerCase())throw new Error("'unpack' error. "+l);c=4,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=16777216*h.charCodeAt(0)+65536*h.charCodeAt(1)+256*h.charCodeAt(2)+h.charCodeAt(3),"l"==l&&u>=2147483648&&(u-=4294967296)}s.push(u),i+=c,o+=1}return s}function d(e,t){for(var n="",r=0;rH",e.slice(t+2,t+4))[0]+2;if(n.push(e.slice(t,r)),(t=r)>=e.length)throw new Error("Wrong JPEG data.")}return n}var m={Byte:1,Ascii:2,Short:3,Long:4,Rational:5,Undefined:7,SLong:9,SRational:10},g={Image:{11:{name:"ProcessingSoftware",type:"Ascii"},254:{name:"NewSubfileType",type:"Long"},255:{name:"SubfileType",type:"Short"},256:{name:"ImageWidth",type:"Long"},257:{name:"ImageLength",type:"Long"},258:{name:"BitsPerSample",type:"Short"},259:{name:"Compression",type:"Short"},262:{name:"PhotometricInterpretation",type:"Short"},263:{name:"Threshholding",type:"Short"},264:{name:"CellWidth",type:"Short"},265:{name:"CellLength",type:"Short"},266:{name:"FillOrder",type:"Short"},269:{name:"DocumentName",type:"Ascii"},270:{name:"ImageDescription",type:"Ascii"},271:{name:"Make",type:"Ascii"},272:{name:"Model",type:"Ascii"},273:{name:"StripOffsets",type:"Long"},274:{name:"Orientation",type:"Short"},277:{name:"SamplesPerPixel",type:"Short"},278:{name:"RowsPerStrip",type:"Long"},279:{name:"StripByteCounts",type:"Long"},282:{name:"XResolution",type:"Rational"},283:{name:"YResolution",type:"Rational"},284:{name:"PlanarConfiguration",type:"Short"},290:{name:"GrayResponseUnit",type:"Short"},291:{name:"GrayResponseCurve",type:"Short"},292:{name:"T4Options",type:"Long"},293:{name:"T6Options",type:"Long"},296:{name:"ResolutionUnit",type:"Short"},301:{name:"TransferFunction",type:"Short"},305:{name:"Software",type:"Ascii"},306:{name:"DateTime",type:"Ascii"},315:{name:"Artist",type:"Ascii"},316:{name:"HostComputer",type:"Ascii"},317:{name:"Predictor",type:"Short"},318:{name:"WhitePoint",type:"Rational"},319:{name:"PrimaryChromaticities",type:"Rational"},320:{name:"ColorMap",type:"Short"},321:{name:"HalftoneHints",type:"Short"},322:{name:"TileWidth",type:"Short"},323:{name:"TileLength",type:"Short"},324:{name:"TileOffsets",type:"Short"},325:{name:"TileByteCounts",type:"Short"},330:{name:"SubIFDs",type:"Long"},332:{name:"InkSet",type:"Short"},333:{name:"InkNames",type:"Ascii"},334:{name:"NumberOfInks",type:"Short"},336:{name:"DotRange",type:"Byte"},337:{name:"TargetPrinter",type:"Ascii"},338:{name:"ExtraSamples",type:"Short"},339:{name:"SampleFormat",type:"Short"},340:{name:"SMinSampleValue",type:"Short"},341:{name:"SMaxSampleValue",type:"Short"},342:{name:"TransferRange",type:"Short"},343:{name:"ClipPath",type:"Byte"},344:{name:"XClipPathUnits",type:"Long"},345:{name:"YClipPathUnits",type:"Long"},346:{name:"Indexed",type:"Short"},347:{name:"JPEGTables",type:"Undefined"},351:{name:"OPIProxy",type:"Short"},512:{name:"JPEGProc",type:"Long"},513:{name:"JPEGInterchangeFormat",type:"Long"},514:{name:"JPEGInterchangeFormatLength",type:"Long"},515:{name:"JPEGRestartInterval",type:"Short"},517:{name:"JPEGLosslessPredictors",type:"Short"},518:{name:"JPEGPointTransforms",type:"Short"},519:{name:"JPEGQTables",type:"Long"},520:{name:"JPEGDCTables",type:"Long"},521:{name:"JPEGACTables",type:"Long"},529:{name:"YCbCrCoefficients",type:"Rational"},530:{name:"YCbCrSubSampling",type:"Short"},531:{name:"YCbCrPositioning",type:"Short"},532:{name:"ReferenceBlackWhite",type:"Rational"},700:{name:"XMLPacket",type:"Byte"},18246:{name:"Rating",type:"Short"},18249:{name:"RatingPercent",type:"Short"},32781:{name:"ImageID",type:"Ascii"},33421:{name:"CFARepeatPatternDim",type:"Short"},33422:{name:"CFAPattern",type:"Byte"},33423:{name:"BatteryLevel",type:"Rational"},33432:{name:"Copyright",type:"Ascii"},33434:{name:"ExposureTime",type:"Rational"},34377:{name:"ImageResources",type:"Byte"},34665:{name:"ExifTag",type:"Long"},34675:{name:"InterColorProfile",type:"Undefined"},34853:{name:"GPSTag",type:"Long"},34857:{name:"Interlace",type:"Short"},34858:{name:"TimeZoneOffset",type:"Long"},34859:{name:"SelfTimerMode",type:"Short"},37387:{name:"FlashEnergy",type:"Rational"},37388:{name:"SpatialFrequencyResponse",type:"Undefined"},37389:{name:"Noise",type:"Undefined"},37390:{name:"FocalPlaneXResolution",type:"Rational"},37391:{name:"FocalPlaneYResolution",type:"Rational"},37392:{name:"FocalPlaneResolutionUnit",type:"Short"},37393:{name:"ImageNumber",type:"Long"},37394:{name:"SecurityClassification",type:"Ascii"},37395:{name:"ImageHistory",type:"Ascii"},37397:{name:"ExposureIndex",type:"Rational"},37398:{name:"TIFFEPStandardID",type:"Byte"},37399:{name:"SensingMethod",type:"Short"},40091:{name:"XPTitle",type:"Byte"},40092:{name:"XPComment",type:"Byte"},40093:{name:"XPAuthor",type:"Byte"},40094:{name:"XPKeywords",type:"Byte"},40095:{name:"XPSubject",type:"Byte"},50341:{name:"PrintImageMatching",type:"Undefined"},50706:{name:"DNGVersion",type:"Byte"},50707:{name:"DNGBackwardVersion",type:"Byte"},50708:{name:"UniqueCameraModel",type:"Ascii"},50709:{name:"LocalizedCameraModel",type:"Byte"},50710:{name:"CFAPlaneColor",type:"Byte"},50711:{name:"CFALayout",type:"Short"},50712:{name:"LinearizationTable",type:"Short"},50713:{name:"BlackLevelRepeatDim",type:"Short"},50714:{name:"BlackLevel",type:"Rational"},50715:{name:"BlackLevelDeltaH",type:"SRational"},50716:{name:"BlackLevelDeltaV",type:"SRational"},50717:{name:"WhiteLevel",type:"Short"},50718:{name:"DefaultScale",type:"Rational"},50719:{name:"DefaultCropOrigin",type:"Short"},50720:{name:"DefaultCropSize",type:"Short"},50721:{name:"ColorMatrix1",type:"SRational"},50722:{name:"ColorMatrix2",type:"SRational"},50723:{name:"CameraCalibration1",type:"SRational"},50724:{name:"CameraCalibration2",type:"SRational"},50725:{name:"ReductionMatrix1",type:"SRational"},50726:{name:"ReductionMatrix2",type:"SRational"},50727:{name:"AnalogBalance",type:"Rational"},50728:{name:"AsShotNeutral",type:"Short"},50729:{name:"AsShotWhiteXY",type:"Rational"},50730:{name:"BaselineExposure",type:"SRational"},50731:{name:"BaselineNoise",type:"Rational"},50732:{name:"BaselineSharpness",type:"Rational"},50733:{name:"BayerGreenSplit",type:"Long"},50734:{name:"LinearResponseLimit",type:"Rational"},50735:{name:"CameraSerialNumber",type:"Ascii"},50736:{name:"LensInfo",type:"Rational"},50737:{name:"ChromaBlurRadius",type:"Rational"},50738:{name:"AntiAliasStrength",type:"Rational"},50739:{name:"ShadowScale",type:"SRational"},50740:{name:"DNGPrivateData",type:"Byte"},50741:{name:"MakerNoteSafety",type:"Short"},50778:{name:"CalibrationIlluminant1",type:"Short"},50779:{name:"CalibrationIlluminant2",type:"Short"},50780:{name:"BestQualityScale",type:"Rational"},50781:{name:"RawDataUniqueID",type:"Byte"},50827:{name:"OriginalRawFileName",type:"Byte"},50828:{name:"OriginalRawFileData",type:"Undefined"},50829:{name:"ActiveArea",type:"Short"},50830:{name:"MaskedAreas",type:"Short"},50831:{name:"AsShotICCProfile",type:"Undefined"},50832:{name:"AsShotPreProfileMatrix",type:"SRational"},50833:{name:"CurrentICCProfile",type:"Undefined"},50834:{name:"CurrentPreProfileMatrix",type:"SRational"},50879:{name:"ColorimetricReference",type:"Short"},50931:{name:"CameraCalibrationSignature",type:"Byte"},50932:{name:"ProfileCalibrationSignature",type:"Byte"},50934:{name:"AsShotProfileName",type:"Byte"},50935:{name:"NoiseReductionApplied",type:"Rational"},50936:{name:"ProfileName",type:"Byte"},50937:{name:"ProfileHueSatMapDims",type:"Long"},50938:{name:"ProfileHueSatMapData1",type:"Float"},50939:{name:"ProfileHueSatMapData2",type:"Float"},50940:{name:"ProfileToneCurve",type:"Float"},50941:{name:"ProfileEmbedPolicy",type:"Long"},50942:{name:"ProfileCopyright",type:"Byte"},50964:{name:"ForwardMatrix1",type:"SRational"},50965:{name:"ForwardMatrix2",type:"SRational"},50966:{name:"PreviewApplicationName",type:"Byte"},50967:{name:"PreviewApplicationVersion",type:"Byte"},50968:{name:"PreviewSettingsName",type:"Byte"},50969:{name:"PreviewSettingsDigest",type:"Byte"},50970:{name:"PreviewColorSpace",type:"Long"},50971:{name:"PreviewDateTime",type:"Ascii"},50972:{name:"RawImageDigest",type:"Undefined"},50973:{name:"OriginalRawFileDigest",type:"Undefined"},50974:{name:"SubTileBlockSize",type:"Long"},50975:{name:"RowInterleaveFactor",type:"Long"},50981:{name:"ProfileLookTableDims",type:"Long"},50982:{name:"ProfileLookTableData",type:"Float"},51008:{name:"OpcodeList1",type:"Undefined"},51009:{name:"OpcodeList2",type:"Undefined"},51022:{name:"OpcodeList3",type:"Undefined"}},Exif:{33434:{name:"ExposureTime",type:"Rational"},33437:{name:"FNumber",type:"Rational"},34850:{name:"ExposureProgram",type:"Short"},34852:{name:"SpectralSensitivity",type:"Ascii"},34855:{name:"ISOSpeedRatings",type:"Short"},34856:{name:"OECF",type:"Undefined"},34864:{name:"SensitivityType",type:"Short"},34865:{name:"StandardOutputSensitivity",type:"Long"},34866:{name:"RecommendedExposureIndex",type:"Long"},34867:{name:"ISOSpeed",type:"Long"},34868:{name:"ISOSpeedLatitudeyyy",type:"Long"},34869:{name:"ISOSpeedLatitudezzz",type:"Long"},36864:{name:"ExifVersion",type:"Undefined"},36867:{name:"DateTimeOriginal",type:"Ascii"},36868:{name:"DateTimeDigitized",type:"Ascii"},37121:{name:"ComponentsConfiguration",type:"Undefined"},37122:{name:"CompressedBitsPerPixel",type:"Rational"},37377:{name:"ShutterSpeedValue",type:"SRational"},37378:{name:"ApertureValue",type:"Rational"},37379:{name:"BrightnessValue",type:"SRational"},37380:{name:"ExposureBiasValue",type:"SRational"},37381:{name:"MaxApertureValue",type:"Rational"},37382:{name:"SubjectDistance",type:"Rational"},37383:{name:"MeteringMode",type:"Short"},37384:{name:"LightSource",type:"Short"},37385:{name:"Flash",type:"Short"},37386:{name:"FocalLength",type:"Rational"},37396:{name:"SubjectArea",type:"Short"},37500:{name:"MakerNote",type:"Undefined"},37510:{name:"UserComment",type:"Ascii"},37520:{name:"SubSecTime",type:"Ascii"},37521:{name:"SubSecTimeOriginal",type:"Ascii"},37522:{name:"SubSecTimeDigitized",type:"Ascii"},40960:{name:"FlashpixVersion",type:"Undefined"},40961:{name:"ColorSpace",type:"Short"},40962:{name:"PixelXDimension",type:"Long"},40963:{name:"PixelYDimension",type:"Long"},40964:{name:"RelatedSoundFile",type:"Ascii"},40965:{name:"InteroperabilityTag",type:"Long"},41483:{name:"FlashEnergy",type:"Rational"},41484:{name:"SpatialFrequencyResponse",type:"Undefined"},41486:{name:"FocalPlaneXResolution",type:"Rational"},41487:{name:"FocalPlaneYResolution",type:"Rational"},41488:{name:"FocalPlaneResolutionUnit",type:"Short"},41492:{name:"SubjectLocation",type:"Short"},41493:{name:"ExposureIndex",type:"Rational"},41495:{name:"SensingMethod",type:"Short"},41728:{name:"FileSource",type:"Undefined"},41729:{name:"SceneType",type:"Undefined"},41730:{name:"CFAPattern",type:"Undefined"},41985:{name:"CustomRendered",type:"Short"},41986:{name:"ExposureMode",type:"Short"},41987:{name:"WhiteBalance",type:"Short"},41988:{name:"DigitalZoomRatio",type:"Rational"},41989:{name:"FocalLengthIn35mmFilm",type:"Short"},41990:{name:"SceneCaptureType",type:"Short"},41991:{name:"GainControl",type:"Short"},41992:{name:"Contrast",type:"Short"},41993:{name:"Saturation",type:"Short"},41994:{name:"Sharpness",type:"Short"},41995:{name:"DeviceSettingDescription",type:"Undefined"},41996:{name:"SubjectDistanceRange",type:"Short"},42016:{name:"ImageUniqueID",type:"Ascii"},42032:{name:"CameraOwnerName",type:"Ascii"},42033:{name:"BodySerialNumber",type:"Ascii"},42034:{name:"LensSpecification",type:"Rational"},42035:{name:"LensMake",type:"Ascii"},42036:{name:"LensModel",type:"Ascii"},42037:{name:"LensSerialNumber",type:"Ascii"},42240:{name:"Gamma",type:"Rational"}},GPS:{0:{name:"GPSVersionID",type:"Byte"},1:{name:"GPSLatitudeRef",type:"Ascii"},2:{name:"GPSLatitude",type:"Rational"},3:{name:"GPSLongitudeRef",type:"Ascii"},4:{name:"GPSLongitude",type:"Rational"},5:{name:"GPSAltitudeRef",type:"Byte"},6:{name:"GPSAltitude",type:"Rational"},7:{name:"GPSTimeStamp",type:"Rational"},8:{name:"GPSSatellites",type:"Ascii"},9:{name:"GPSStatus",type:"Ascii"},10:{name:"GPSMeasureMode",type:"Ascii"},11:{name:"GPSDOP",type:"Rational"},12:{name:"GPSSpeedRef",type:"Ascii"},13:{name:"GPSSpeed",type:"Rational"},14:{name:"GPSTrackRef",type:"Ascii"},15:{name:"GPSTrack",type:"Rational"},16:{name:"GPSImgDirectionRef",type:"Ascii"},17:{name:"GPSImgDirection",type:"Rational"},18:{name:"GPSMapDatum",type:"Ascii"},19:{name:"GPSDestLatitudeRef",type:"Ascii"},20:{name:"GPSDestLatitude",type:"Rational"},21:{name:"GPSDestLongitudeRef",type:"Ascii"},22:{name:"GPSDestLongitude",type:"Rational"},23:{name:"GPSDestBearingRef",type:"Ascii"},24:{name:"GPSDestBearing",type:"Rational"},25:{name:"GPSDestDistanceRef",type:"Ascii"},26:{name:"GPSDestDistance",type:"Rational"},27:{name:"GPSProcessingMethod",type:"Undefined"},28:{name:"GPSAreaInformation",type:"Undefined"},29:{name:"GPSDateStamp",type:"Ascii"},30:{name:"GPSDifferential",type:"Short"},31:{name:"GPSHPositioningError",type:"Rational"}},Interop:{1:{name:"InteroperabilityIndex",type:"Ascii"}}};g["0th"]=g.Image,g["1st"]=g.Image,n.TAGS=g,n.ImageIFD={ProcessingSoftware:11,NewSubfileType:254,SubfileType:255,ImageWidth:256,ImageLength:257,BitsPerSample:258,Compression:259,PhotometricInterpretation:262,Threshholding:263,CellWidth:264,CellLength:265,FillOrder:266,DocumentName:269,ImageDescription:270,Make:271,Model:272,StripOffsets:273,Orientation:274,SamplesPerPixel:277,RowsPerStrip:278,StripByteCounts:279,XResolution:282,YResolution:283,PlanarConfiguration:284,GrayResponseUnit:290,GrayResponseCurve:291,T4Options:292,T6Options:293,ResolutionUnit:296,TransferFunction:301,Software:305,DateTime:306,Artist:315,HostComputer:316,Predictor:317,WhitePoint:318,PrimaryChromaticities:319,ColorMap:320,HalftoneHints:321,TileWidth:322,TileLength:323,TileOffsets:324,TileByteCounts:325,SubIFDs:330,InkSet:332,InkNames:333,NumberOfInks:334,DotRange:336,TargetPrinter:337,ExtraSamples:338,SampleFormat:339,SMinSampleValue:340,SMaxSampleValue:341,TransferRange:342,ClipPath:343,XClipPathUnits:344,YClipPathUnits:345,Indexed:346,JPEGTables:347,OPIProxy:351,JPEGProc:512,JPEGInterchangeFormat:513,JPEGInterchangeFormatLength:514,JPEGRestartInterval:515,JPEGLosslessPredictors:517,JPEGPointTransforms:518,JPEGQTables:519,JPEGDCTables:520,JPEGACTables:521,YCbCrCoefficients:529,YCbCrSubSampling:530,YCbCrPositioning:531,ReferenceBlackWhite:532,XMLPacket:700,Rating:18246,RatingPercent:18249,ImageID:32781,CFARepeatPatternDim:33421,CFAPattern:33422,BatteryLevel:33423,Copyright:33432,ExposureTime:33434,ImageResources:34377,ExifTag:34665,InterColorProfile:34675,GPSTag:34853,Interlace:34857,TimeZoneOffset:34858,SelfTimerMode:34859,FlashEnergy:37387,SpatialFrequencyResponse:37388,Noise:37389,FocalPlaneXResolution:37390,FocalPlaneYResolution:37391,FocalPlaneResolutionUnit:37392,ImageNumber:37393,SecurityClassification:37394,ImageHistory:37395,ExposureIndex:37397,TIFFEPStandardID:37398,SensingMethod:37399,XPTitle:40091,XPComment:40092,XPAuthor:40093,XPKeywords:40094,XPSubject:40095,PrintImageMatching:50341,DNGVersion:50706,DNGBackwardVersion:50707,UniqueCameraModel:50708,LocalizedCameraModel:50709,CFAPlaneColor:50710,CFALayout:50711,LinearizationTable:50712,BlackLevelRepeatDim:50713,BlackLevel:50714,BlackLevelDeltaH:50715,BlackLevelDeltaV:50716,WhiteLevel:50717,DefaultScale:50718,DefaultCropOrigin:50719,DefaultCropSize:50720,ColorMatrix1:50721,ColorMatrix2:50722,CameraCalibration1:50723,CameraCalibration2:50724,ReductionMatrix1:50725,ReductionMatrix2:50726,AnalogBalance:50727,AsShotNeutral:50728,AsShotWhiteXY:50729,BaselineExposure:50730,BaselineNoise:50731,BaselineSharpness:50732,BayerGreenSplit:50733,LinearResponseLimit:50734,CameraSerialNumber:50735,LensInfo:50736,ChromaBlurRadius:50737,AntiAliasStrength:50738,ShadowScale:50739,DNGPrivateData:50740,MakerNoteSafety:50741,CalibrationIlluminant1:50778,CalibrationIlluminant2:50779,BestQualityScale:50780,RawDataUniqueID:50781,OriginalRawFileName:50827,OriginalRawFileData:50828,ActiveArea:50829,MaskedAreas:50830,AsShotICCProfile:50831,AsShotPreProfileMatrix:50832,CurrentICCProfile:50833,CurrentPreProfileMatrix:50834,ColorimetricReference:50879,CameraCalibrationSignature:50931,ProfileCalibrationSignature:50932,AsShotProfileName:50934,NoiseReductionApplied:50935,ProfileName:50936,ProfileHueSatMapDims:50937,ProfileHueSatMapData1:50938,ProfileHueSatMapData2:50939,ProfileToneCurve:50940,ProfileEmbedPolicy:50941,ProfileCopyright:50942,ForwardMatrix1:50964,ForwardMatrix2:50965,PreviewApplicationName:50966,PreviewApplicationVersion:50967,PreviewSettingsName:50968,PreviewSettingsDigest:50969,PreviewColorSpace:50970,PreviewDateTime:50971,RawImageDigest:50972,OriginalRawFileDigest:50973,SubTileBlockSize:50974,RowInterleaveFactor:50975,ProfileLookTableDims:50981,ProfileLookTableData:50982,OpcodeList1:51008,OpcodeList2:51009,OpcodeList3:51022,NoiseProfile:51041},n.ExifIFD={ExposureTime:33434,FNumber:33437,ExposureProgram:34850,SpectralSensitivity:34852,ISOSpeedRatings:34855,OECF:34856,SensitivityType:34864,StandardOutputSensitivity:34865,RecommendedExposureIndex:34866,ISOSpeed:34867,ISOSpeedLatitudeyyy:34868,ISOSpeedLatitudezzz:34869,ExifVersion:36864,DateTimeOriginal:36867,DateTimeDigitized:36868,ComponentsConfiguration:37121,CompressedBitsPerPixel:37122,ShutterSpeedValue:37377,ApertureValue:37378,BrightnessValue:37379,ExposureBiasValue:37380,MaxApertureValue:37381,SubjectDistance:37382,MeteringMode:37383,LightSource:37384,Flash:37385,FocalLength:37386,SubjectArea:37396,MakerNote:37500,UserComment:37510,SubSecTime:37520,SubSecTimeOriginal:37521,SubSecTimeDigitized:37522,FlashpixVersion:40960,ColorSpace:40961,PixelXDimension:40962,PixelYDimension:40963,RelatedSoundFile:40964,InteroperabilityTag:40965,FlashEnergy:41483,SpatialFrequencyResponse:41484,FocalPlaneXResolution:41486,FocalPlaneYResolution:41487,FocalPlaneResolutionUnit:41488,SubjectLocation:41492,ExposureIndex:41493,SensingMethod:41495,FileSource:41728,SceneType:41729,CFAPattern:41730,CustomRendered:41985,ExposureMode:41986,WhiteBalance:41987,DigitalZoomRatio:41988,FocalLengthIn35mmFilm:41989,SceneCaptureType:41990,GainControl:41991,Contrast:41992,Saturation:41993,Sharpness:41994,DeviceSettingDescription:41995,SubjectDistanceRange:41996,ImageUniqueID:42016,CameraOwnerName:42032,BodySerialNumber:42033,LensSpecification:42034,LensMake:42035,LensModel:42036,LensSerialNumber:42037,Gamma:42240},n.GPSIFD={GPSVersionID:0,GPSLatitudeRef:1,GPSLatitude:2,GPSLongitudeRef:3,GPSLongitude:4,GPSAltitudeRef:5,GPSAltitude:6,GPSTimeStamp:7,GPSSatellites:8,GPSStatus:9,GPSMeasureMode:10,GPSDOP:11,GPSSpeedRef:12,GPSSpeed:13,GPSTrackRef:14,GPSTrack:15,GPSImgDirectionRef:16,GPSImgDirection:17,GPSMapDatum:18,GPSDestLatitudeRef:19,GPSDestLatitude:20,GPSDestLongitudeRef:21,GPSDestLongitude:22,GPSDestBearingRef:23,GPSDestBearing:24,GPSDestDistanceRef:25,GPSDestDistance:26,GPSProcessingMethod:27,GPSAreaInformation:28,GPSDateStamp:29,GPSDifferential:30,GPSHPositioningError:31},n.InteropIFD={InteroperabilityIndex:1},n.GPSHelper={degToDmsRational:function(e){var t=Math.abs(e),n=t%1*60,r=n%1*60;return[[Math.floor(t),1],[Math.floor(n),1],[Math.round(100*r),100]]},dmsRationalToDeg:function(e,t){var n="S"===t||"W"===t?-1:1;return(e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600)*n}},e.exports&&(t=e.exports=n),t.piexif=n}()}));const Iq=async(e,t,n)=>{const r=await(e=>new Promise((t,n)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.readAsDataURL(e)}))(e),a=Sq.load(r),s=(await navigator.mediaDevices.enumerateDevices()).filter(e=>"videoinput"===e.kind).map(e=>e.label),i={width:n.width,height:n.height,usedCamera:t.label,camerasOnDevice:s},o={"0th":Object.assign(Object.assign({},a["0th"]),{[Sq.ImageIFD.Model]:i.usedCamera,[Sq.ImageIFD.ImageWidth]:i.width,[Sq.ImageIFD.ImageLength]:i.height}),Exif:Object.assign(Object.assign({},a.Exif),{[Sq.ExifIFD.UserComment]:JSON.stringify(i)}),GPS:Object.assign({},a.GPS),Interop:Object.assign({},a.Interop),"1st":Object.assign({},a["1st"]),thumbnail:a.thumbnail},u=Sq.dump(o),l=Sq.insert(u,r);return await fetch(l).then(e=>e.blob())},Aq=new Image;var Eq;Aq.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwIiBoZWlnaHQ9IjIyNC45OTk5OTk5OTk5OTk5NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIHZlcnNpb249IjEuMSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CiA8Zz4KICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgPGcgc3Ryb2tlPSJudWxsIiBpZD0iTGF5ZXIgMSI+CiAgIDxwYXRoIHN0cm9rZT0iIzRjYTU4NSIgaWQ9InN2Z18xIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJtNzQuMjc3NjUsNi45Mjc2MWMtMTEuMzc1OTcsLTAuMDE3MTMgLTMzLjU2NTUxLDUuMTA0MzMgLTQ2LjgxMzE2LDE5LjQ5NDgxYy02Ljc0MTQzLDcuMzIyOTIgLTE4LjEyMjY5LDIzLjA2OTY3IC0xOS4yNjc1OCw1OS42MTM2OWMtMC41MTkwNiwxNi41NjkyMSA1LjA0NTI0LDYwLjYyNTMzIDEwLjI0MDA2LDc2LjQ2Nzc1YzMuNjMxMywxMS4wNzQ2OCAyNy40ODIxNSw0My45MzM0OSA0NC40OTA2LDUzLjY4MjUxYzQuODA3OTEsMi43NTU0NiAxMS4yOTY2OCwyLjY4MjUxIDEyLjQyMjU1LDIuNjgyNTFjMS4xODg3NiwtMC4wODQ1NyA3LjMzMDI2LDAuMDcyOTQgMTIuMTM3NjUsLTIuNjgyNTFjMTcuMDA4NDYsLTkuNzQ5MDIgNDAuNDAyMDgsLTQyLjc2ODUxIDQ0LjQ5MDYsLTUzLjY4MjUxYzQuNDAwMzgsLTExLjc0NDkxIDEwLjc1OTY1LC01OS44OTg1NCAxMC4yNDAwNiwtNzYuNDY3NzVjLTEuMTQ0ODksLTM2LjU0NDAyIC0xMi41MjYxNSwtNTIuMjkwNzcgLTE5LjI2NzU4LC01OS42MTM2OWMtMTMuMjQ3NjUsLTE0LjM5MDQ4IC0zNS4zMDY2MywtMTkuNTI5MzMgLTQ2Ljc3ODI3LC0xOS40OTQ4MWMtMC43NDY4OCwwLjAwMjIyIC0xLjg5NDk0LDAgLTEuODk0OTQsMHoiIHN0cm9rZS13aWR0aD0iNy42NSIvPgogIDwvZz4KIDwvZz4KPC9zdmc+Cg==",function(e){e.JPEG="image/jpeg",e.PNG="image/png"}(Eq||(Eq={}));class Nq{constructor(e,t){this.showMask=!1,this.videoSize={width:0,height:0},this.streamPaused=!1,this.pauseStream=()=>{this.streamPaused=!0,this.videoElement.pause(),this.dropMask(),this.faceDetection&&kq.getInstance().stopDetector()},this.device=e,this.detector=kq.getInstance(this,e.isMobile,t)}setShowMask(e){this.showMask=e}setFaceDetection(e){this.faceDetection=e}setProbabilityThreshold(e){kq.getInstance().setProbabilityThreshold(e)}setCallbackErrors(e){this.callbackErrors=e}setCallbackAutoCapturing(e){this.callbackAutoCapturing=e}setCallbackFaceDetectionErrors(e){this.callbackFaceDetectionErrors=e}static getInstance(e,t){return Nq.instance||(Nq.instance=new Nq(e,t)),Nq.instance}returnErrors(e){this.callbackFaceDetectionErrors(e)}autoCapturing(){this.callbackAutoCapturing()}updateHtmlElements(e,t){this.videoElement=e,this.canvasElement=t,this.detector.updateHtmlElements(e)}async startDetection(){return this.detector.startDetector()}static orientationChange(){Nq.instance&&Nq.getInstance().drawMask()}startStream(e){this.stream&&this.stream.getTracks().forEach(e=>e.stop()),this.stream=e,"srcObject"in this.videoElement?this.videoElement.srcObject=e:this.videoElement.src=window.URL.createObjectURL(e),this.videoElement.play().then(()=>{this.streamPaused=!1,l.cameraReadyEvent(),this.drawMask(),this.faceDetection&&this.startDetection()})}async initStream(e){this.startStream(e)}async resumeStream(){this.streamPaused=!1,await this.videoElement.play(),this.drawMask(),this.faceDetection&&await kq.getInstance().startDetector()}updateCanvasSize(e){this.videoSize={width:this.videoElement.videoWidth,height:this.videoElement.videoHeight},e.width=this.videoSize.width,e.height=this.videoSize.height}dropStream(){this.streamStopped()||(this.stream.getTracks().forEach(e=>e.stop()),this.videoElement.srcObject=null),this.faceDetection&&kq.getInstance().stopDetector()}streamStopped(){return!(this.stream&&this.stream.getTracks&&this.stream.getTracks().length>0)}drawMask(){this.showMask&&!this.streamPaused&&setTimeout(()=>{this.updateCanvasSize(this.canvasElement);const e=this.canvasElement,t=e.getContext("2d"),n=e.width/Aq.width,r=e.height/Aq.height,a=Math.min(n,r),s=e.width{const t=document.createElement("canvas");t.width=this.videoElement.videoWidth,t.height=this.videoElement.videoHeight,e([await this.getFrame(t)])})}getFrame(e){return new Promise(t=>{e.getContext("2d").drawImage(this.videoElement,0,0,e.width,e.height),e.toBlob(e=>{if(e.type!==Eq.JPEG||this.device.isIos)t(e);else try{Iq(e,this.stream.getTracks()[0],this.videoSize).then(e=>t(e))}catch(n){t(e),this.callbackErrors(n,!1)}},Eq.PNG,1)})}}window.addEventListener("resize",Nq.orientationChange,!1),window.addEventListener("orientationchange",Nq.orientationChange,!1);let Cq=class{constructor(e){Object(u.f)(this,e),this.eventVideoStarted=Object(u.b)(this,"videoStarted",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.errorCameraEvent=Object(u.b)(this,"errorCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.callbackErrors=(e,t)=>{t?(this.errorCameraEvent.emit(e),this.eventCloseCamera.emit()):this.errorCameraEvent.emit(e)},this.callbackAutoCapturing=()=>{this.device.isMobile?this.eventMakePhoto.emit():this.eventTakePhoto.emit()},this.callbackFaceDetectionErrors=e=>{l.detectionError(e)}}componentDidLoad(){this.startStream()}render(){const e="camera "+(this.device.isMobile?"cameraMobile":"");return Object(u.d)("div",{class:e},Object(u.d)("video",{loop:!0,autoplay:!0,playsinline:!0,muted:!0,class:"cameraVideo",ref:e=>this.cameraVideo=e}),Object(u.d)("canvas",{class:"cameraCanvas",ref:e=>this.cameraCanvas=e}))}startStream(){Nq.instance||Nq.getInstance(this.device,this.modelPath);const e=Nq.getInstance();e.updateHtmlElements(this.cameraVideo,this.cameraCanvas),e.setShowMask(this.showMask),e.setFaceDetection(this.faceDetection),e.setProbabilityThreshold(this.probabilityThreshold),e.setCallbackErrors(this.callbackErrors),e.setCallbackAutoCapturing(this.callbackAutoCapturing),e.setCallbackFaceDetectionErrors(this.callbackFaceDetectionErrors)}};Cq.style=".camera{width:100%;height:100%;color:white;display:flex;align-items:center;justify-content:center;position:relative}.cameraCanvas{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);max-width:100%;max-height:100%;z-index:2}.cameraVideo{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);z-index:1;position:absolute;max-width:100%;max-height:100%}.cameraMobile{position:fixed;top:0;left:0;background:black}.canvas-on-video{max-width:100%;max-height:100%;position:absolute;left:50%;top:50%;z-index:2;transform:scale(-1, 1)}";let Tq=class{constructor(e){Object(u.f)(this,e),this.updateState=()=>{this._showMask="true"===this.show_mask,this._disable_control_panel="true"===this.disable_control_panel,this._face_detection="true"===this.face_detection,this._stopAfterCapturing="true"===this.stop_after_capturing,this._probabilityThreshold=this.probability_threshold?+this.probability_threshold:50,this.url_logo=this.url_logo?this.url_logo:"data:image/png;charset=utf-8;base64,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",this._debug="true"===this.debug,kq.debug=this._debug},this.photoIsReady=e=>{this._stopAfterCapturing&&this.closeCamera(),l.captureEvent(e)},this.enableButton=()=>{this._resolutionOnPhoto=!0},this.updateState(),this._cameraStatus=0,this._resolutionOnPhoto=!1,this._device=xq(),this._mobile=this._device.isMobile,this._mobileMakePhoto=!1}videoStarted(){this._resolutionOnPhoto=!0}async retakePhoto(){this._mobileMakePhoto=!1,await Nq.getInstance().resumeStream()}takePhoto(){Nq.getInstance().takePhoto().then(e=>{this.photoIsReady(e)})}async openCamera(){this._cameraStatus=1;const e=this._device.isMac?{audio:!1,video:{facingMode:"user",width:1920,height:1080}}:{audio:!1,video:{facingMode:"user",width:{ideal:1920},height:{ideal:1080}}};setTimeout(()=>{navigator.mediaDevices.getUserMedia(e).then(e=>{Nq.getInstance().initStream(e),this.videoStarted()}).catch(e=>{this.closeCamera(),l.errorEvent(e)})},100)}async loadModels(e){await kq.initDetector(e.detail.path)}errorCamera(e){l.errorEvent(e.detail.message)}closeCamera(){Nq.instance&&(this._cameraStatus=0,l.closeEvent(),Nq.getInstance().dropStream(),this._mobileMakePhoto=!1,this._resolutionOnPhoto=!1)}makePhoto(){this._mobile?(this._mobileMakePhoto=!0,Nq.getInstance().pauseStream()):this.takePhoto()}componentWillLoad(){l.init(this.component),navigator.mediaDevices||l.errorEvent("This browser does not support webRTC")}componentDidUpdate(){this.updateState()}render(){let e;return e=this._cameraStatus?Object(u.d)("camera-comp",{class:"block",showMask:this._showMask,device:this._device,faceDetection:this._face_detection,modelPath:this.model_path,probabilityThreshold:this._probabilityThreshold}):Object(u.d)("img",{src:this.url_logo,class:"logo",style:this.logo_style?JSON.parse(this.logo_style):"",alt:"logo"}),Object(u.d)("div",{class:"cameraContainer",id:"cameraContainer",style:{backgroundColor:this.background_color}},Object(u.d)("div",{class:"wrapperCamera",style:{height:this._disable_control_panel?"100%":"65%"}},e),Object(u.d)("control-panel",{class:"block",mobile:this._mobile,disableControlPanel:this._disable_control_panel,cameraStatus:this._cameraStatus,resolutionOnPhoto:this._resolutionOnPhoto,mobileMakePhoto:this._mobileMakePhoto,faceDetection:this._face_detection}))}get component(){return Object(u.c)(this)}};Tq.style=".cameraContainer{width:100%;height:100%;z-index:10;position:relative;overflow:hidden}.logo{max-height:450px;max-width:450px}.wrapperCamera{display:flex;justify-content:center;align-items:center}.block{width:100%;height:100%}@media screen and (orientation: portrait){.history{width:100vw;font-size:20px}@media screen and (max-height: 667px){.logo{background-size:120px;max-height:120px;max-width:120px}}@media screen and (min-height: 668px) and (max-height: 812px){.logo{background-size:140px;max-height:140px;max-width:140px}}@media (max-height: 667px){.logo{margin:0 auto}}}@media screen and (max-height: 414px){.logo{background-size:140px;max-height:140px;max-width:140px}}";const Rq=(e,t)=>[...t];let _q=class{constructor(e){Object(u.f)(this,e),this.eventOpenCamera=Object(u.b)(this,"openCamera",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventRetakePhoto=Object(u.b)(this,"retakePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.makePhoto=()=>{this.eventMakePhoto.emit()},this.closeCamera=()=>{this.eventCloseCamera.emit()},this.openCamera=()=>{this.eventOpenCamera.emit()},this.takePhoto=()=>{this.eventTakePhoto.emit()},this.retakePhoto=async()=>{this.eventRetakePhoto.emit()}}render(){return Object(u.d)("div",{class:"controlPanel"+(this.mobile?" controlMobile":"")},this.mobile?Object(u.d)("div",null,this.cameraStatus?Object(u.d)("div",null,this.mobileMakePhoto?Object(u.d)("div",null,Object(u.d)("div",{onClick:this.retakePhoto,class:"retake"},"retake"),Object(u.d)("img",{onClick:this.takePhoto,alt:"Submit",class:"shoot takePhoto",src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjEuMC4yLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDggNDg7IiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4Ij4KPHBhdGggc3R5bGU9ImZpbGw6I0M4RTZDOTsiIGQ9Ik00NCwyNGMwLDExLjA0NS04Ljk1NSwyMC0yMCwyMFM0LDM1LjA0NSw0LDI0UzEyLjk1NSw0LDI0LDRTNDQsMTIuOTU1LDQ0LDI0eiIvPgo8cGF0aCBzdHlsZT0iZmlsbDojNENBRjUwOyIgZD0iTTM0LjU4NiwxNC41ODZsLTEzLjU3LDEzLjU4NmwtNS42MDItNS41ODZsLTIuODI4LDIuODI4bDguNDM0LDguNDE0bDE2LjM5NS0xNi40MTRMMzQuNTg2LDE0LjU4NnoiLz4KPC9zdmc+Cg=="})):Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto,class:"shoot"}),Object(u.d)("div",{onClick:this.closeCamera,class:"close"},"close")):Object(u.d)("div",null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)("button",{onClick:this.openCamera},"Turn on camera"))):Object(u.d)(Rq,null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)(Rq,null,this.cameraStatus?Object(u.d)(Rq,null,Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto},"Capture"),Object(u.d)("button",{onClick:this.closeCamera,class:"cameraOff"},"Close camera")):Object(u.d)("button",{onClick:this.openCamera},"Open camera"))))}};_q.style='.controlPanel{height:35%;display:flex;justify-content:space-evenly;align-items:center;width:100%;max-width:450px;margin:auto}.buttons{width:100%;max-width:450px;display:flex;justify-content:space-evenly;align-items:center}button{width:164px;height:50px;border:none;margin-bottom:10px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;color:#fff;font-family:"Avenir", Helvetica, sans-serif;font-weight:600;font-size:16px;background-color:#4ca585;outline:none;cursor:pointer}button[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.cameraOff{background-color:#667a87}.cameraOff:hover{background-color:#92a8b5}.shoot{width:50px;height:50px;border-radius:25px;border:2px solid white;outline:none;background-color:red;position:fixed;left:calc(50% - 25px);bottom:10px}.shoot[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.close{position:fixed;right:6vw;top:2vh;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.retake{position:fixed;right:6vw;bottom:35px;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.takePhoto{width:46px;height:46px;bottom:20px;background:none}@media screen and (orientation:landscape) and (min-width: 360px){.shoot{bottom:calc(50% - 25px);left:auto;right:5vw}}'}.call(this,"/index.js",n(77),"/",n(36),n(241).Buffer,n(245).setImmediate)},function(e,t,n){"use strict";(function(e){ /*! * The buffer module from node.js, for the browser. * From b2c1c7075c26164c958236bb7868ec3ffea504d5 Mon Sep 17 00:00:00 2001 From: Amir Reavis-Bey Date: Wed, 10 Apr 2024 13:07:45 -0400 Subject: [PATCH 2/6] selfie checkmark add alt text for SDK 11.9.2 --- public/acuant/11.9.2/AcuantPassiveLiveness.min.js | 2 +- public/acuant/11.9.3/AcuantPassiveLiveness.min.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/public/acuant/11.9.2/AcuantPassiveLiveness.min.js b/public/acuant/11.9.2/AcuantPassiveLiveness.min.js index 02345fb3037..ef8339667a0 100644 --- a/public/acuant/11.9.2/AcuantPassiveLiveness.min.js +++ b/public/acuant/11.9.2/AcuantPassiveLiveness.min.js @@ -231,7 +231,7 @@ var fq=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?a * limitations under the License. * ============================================================================= */ -/** @license See the LICENSE file. */(e,{width:this.videoElement.videoWidth,height:this.videoElement.videoHeight}),n=new hq,r=this.checkNumberFaces(t);return n.FACE_NOT_FOUND=!r&&0===t.length,n.TOO_MANY_FACES=!r&&t.length>this.MAX_NUMBER_FACES,r&&(wq&&(n.FACE_ANGLE_TOO_LARGE=!this.checkHeadRotation(t)),n.PROBABILITY_TOO_SMALL=!this.checkProbability(t),n.FACE_TOO_SMALL=!this.checkFaceSize(t),n.FACE_CLOSE_TO_BORDER=!this.checkFaceIndent(t)),n}autoCapturing(){kq.debug&&console.info(this.counterSuccessfulResults),this.counterSuccessfulResults>=this.DEFAULT_NUMBER_SUCCESSFUL_RESULTS_FOR_AUTO_CAPTURING&&(this.stream.autoCapturing(),this.counterSuccessfulResults=0)}checkNumberFaces(e){return e.length===this.MAX_NUMBER_FACES}checkProbability(e){return e[0].detection.score>+this.probabilityThreshold/100}checkFaceSize(e){const t=e[0].detection.box,{width:n,height:r,area:a}=t,{imageHeight:s,imageWidth:i}=e[0].detection,o=100/(s*i/a);return Math.min(n/this.videoRatio,r/this.videoRatio)>(this.isMobile?this.MIN_FACE_SIZE_FOR_MOBILE:this.MIN_FACE_SIZE_FOR_DESKTOP)&&o>(this.isMobile?this.MIN_OCCUPIED_SPACE_FOR_MOBILE:this.MIN_OCCUPIED_SPACE_FOR_DESKTOP)}checkFaceIndent(e){const t=e[0].detection.box,{imageHeight:n,imageWidth:r}=e[0].detection,{top:a,left:s,bottom:i,right:o}=t,u=s,l=r-o,c=n-i;return!(athis.MAX_ANGLE_TURN_HEAD||-1*a[2]>this.MAX_ANGLE_TURN_HEAD?this.headTurnCounter++:(this.counterSuccessfulHeadTurns++,this.counterSuccessfulHeadTurns>=5&&(this.headTurnCounter=0,this.counterSuccessfulHeadTurns=0)),this.headTurnCounter<=1}drawFaces(e){this.innerCanvas||this.createCanvasForDrawingMask(this.videoElement);const t=this.innerCanvas;if(!t)return console.error("no canvas for drawing");const n=t.getContext("2d");if(n){n.clearRect(0,0,t.width,t.height),n.font='small-caps 20px "Segoe UI"',n.fillStyle="white";for(const t of e){n.lineWidth=3,n.strokeStyle="deepskyblue",n.fillStyle="deepskyblue",n.globalAlpha=.6,n.beginPath(),n.rect(t.detection.box.x,t.detection.box.y,t.detection.box.width,t.detection.box.height),n.stroke(),n.globalAlpha=1,n.globalAlpha=.8,n.fillStyle="lightblue";const e=2;for(let r=0;r"+d("B",e.length),e)}function a(e){return h(">"+d("H",e.length),e)}function s(e){return h(">"+d("L",e.length),e)}function i(e,t,n){var i,o,u,l,c="",p="";if("Byte"==t)(i=e.length)<=4?p=r(e)+d("\0",4-i):(p=h(">L",[n]),c=r(e));else if("Short"==t)(i=e.length)<=2?p=a(e)+d("\0\0",2-i):(p=h(">L",[n]),c=a(e));else if("Long"==t)(i=e.length)<=1?p=s(e):(p=h(">L",[n]),c=s(e));else if("Ascii"==t)(i=(o=e+"\0").length)>4?(p=h(">L",[n]),c=o):p=o+d("\0",4-i);else if("Rational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">L",[u])+h(">L",[l]);else{i=e.length,o="";for(var f=0;fL",[u])+h(">L",[l])}p=h(">L",[n]),c=o}else if("SRational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">l",[u])+h(">l",[l]);else{i=e.length,o="";for(f=0;fl",[u])+h(">l",[l])}p=h(">L",[n]),c=o}else"Undefined"==t&&((i=e.length)>4?(p=h(">L",[n]),c=e):p=e+d("\0",4-i));return[h(">L",[i]),p,c]}function o(e,t,n){var r,a=Object.keys(e).length,s=h(">H",[a]);r=["0th","1st"].indexOf(t)>-1?2+12*a+4:2+12*a;var o="",u="";for(var l in e)if("string"==typeof l&&(l=parseInt(l)),!("0th"==t&&[34665,34853].indexOf(l)>-1||"Exif"==t&&40965==l||"1st"==t&&[513,514].indexOf(l)>-1)){var c=e[l],p=h(">H",[l]),d=g[t][l].type,f=h(">H",[m[d]]);"number"==typeof c&&(c=[c]);var y=i(c,d,8+r+n+u.length);o+=p+f+y[0]+y[1],u+=y[2]}return[s+o,u]}function u(e){var t;if("ÿØ"==e.slice(0,2))t=function(e){for(var t,n=0;n-1)this.tiftag=e;else{if("Exif"!=e.slice(0,4))throw new Error("Given file is neither JPEG nor TIFF.");this.tiftag=e.slice(6)}}if(n.version="1.0.4",n.remove=function(e){var t=!1;if("ÿØ"==e.slice(0,2));else{if("data:image/jpeg;base64,"!=e.slice(0,23)&&"data:image/jpg;base64,"!=e.slice(0,22))throw new Error("Given data is not jpeg.");e=c(e.split(",")[1]),t=!0}var n=f(e).filter((function(e){return!("ÿá"==e.slice(0,2)&&"Exif\0\0"==e.slice(4,10))})).join("");return t&&(n="data:image/jpeg;base64,"+l(n)),n},n.insert=function(e,t){var n=!1;if("Exif\0\0"!=e.slice(0,6))throw new Error("Given data is not exif.");if("ÿØ"==t.slice(0,2));else{if("data:image/jpeg;base64,"!=t.slice(0,23)&&"data:image/jpg;base64,"!=t.slice(0,22))throw new Error("Given data is not jpeg.");t=c(t.split(",")[1]),n=!0}var r="ÿá"+h(">H",[e.length+2])+e,a=function(e,t){var n=!1,r=[];e.forEach((function(a,s){"ÿá"==a.slice(0,2)&&"Exif\0\0"==a.slice(4,10)&&(n?r.unshift(s):(e[s]=t,n=!0))})),r.forEach((function(t){e.splice(t,1)})),!n&&t&&(e=[e[0],t].concat(e.slice(1)));return e.join("")}(f(t),r);return n&&(a="data:image/jpeg;base64,"+l(a)),a},n.load=function(e){var t;if("string"!=typeof e)throw new Error("'load' gots invalid type argument.");if("ÿØ"==e.slice(0,2))t=e;else if("data:image/jpeg;base64,"==e.slice(0,23)||"data:image/jpg;base64,"==e.slice(0,22))t=c(e.split(",")[1]);else{if("Exif"!=e.slice(0,4))throw new Error("'load' gots invalid file data.");t=e.slice(6)}var n={"0th":{},Exif:{},GPS:{},Interop:{},"1st":{},thumbnail:null},r=new u(t);if(null===r.tiftag)return n;"II"==r.tiftag.slice(0,2)?r.endian_mark="<":r.endian_mark=">";var a=p(r.endian_mark+"L",r.tiftag.slice(4,8))[0];n["0th"]=r.get_ifd(a,"0th");var s=n["0th"].first_ifd_pointer;if(delete n["0th"].first_ifd_pointer,34665 in n["0th"]&&(a=n["0th"][34665],n.Exif=r.get_ifd(a,"Exif")),34853 in n["0th"]&&(a=n["0th"][34853],n.GPS=r.get_ifd(a,"GPS")),40965 in n.Exif&&(a=n.Exif[40965],n.Interop=r.get_ifd(a,"Interop")),"\0\0\0\0"!=s&&(a=p(r.endian_mark+"L",s)[0],n["1st"]=r.get_ifd(a,"1st"),513 in n["1st"]&&514 in n["1st"])){var i=n["1st"][513]+n["1st"][514],o=r.tiftag.slice(n["1st"][513],i);n.thumbnail=o}return n},n.dump=function(e){var t,r,a,s,i,u,l=(t=e,JSON.parse(JSON.stringify(t))),c=!1,p=!1,d=!1,g=!1;r="0th"in l?l["0th"]:{},"Exif"in l&&Object.keys(l.Exif).length||"Interop"in l&&Object.keys(l.Interop).length?(r[34665]=1,c=!0,a=l.Exif,"Interop"in l&&Object.keys(l.Interop).length?(a[40965]=1,d=!0,s=l.Interop):Object.keys(a).indexOf(n.ExifIFD.InteroperabilityTag.toString())>-1&&delete a[40965]):Object.keys(r).indexOf(n.ImageIFD.ExifTag.toString())>-1&&delete r[34665],"GPS"in l&&Object.keys(l.GPS).length?(r[n.ImageIFD.GPSTag]=1,p=!0,i=l.GPS):Object.keys(r).indexOf(n.ImageIFD.GPSTag.toString())>-1&&delete r[n.ImageIFD.GPSTag],"1st"in l&&"thumbnail"in l&&null!=l.thumbnail&&(g=!0,l["1st"][513]=1,l["1st"][514]=1,u=l["1st"]);var y,b,v,x=o(r,"0th",0),w=x[0].length+12*c+12*p+4+x[1].length,k="",S=0,I="",A=0,E="",N=0,C="";(c&&(S=(y=o(a,"Exif",w))[0].length+12*d+y[1].length),p&&(A=(I=o(i,"GPS",w+S).join("")).length),d)&&(N=(E=o(s,"Interop",w+S+A).join("")).length);if(g&&(b=o(u,"1st",w+S+A+N),(v=function(e){var t=f(e);for(;"ÿà"<=t[1].slice(0,2)&&t[1].slice(0,2)<="ÿï";)t=[t[0]].concat(t.slice(2));return t.join("")}(l.thumbnail)).length>64e3))throw new Error("Given thumbnail is too large. max 64kB");var T="",R="",_="",F="\0\0\0\0";if(c){var M=h(">L",[D=8+w]);T=h(">H",[34665])+h(">H",[m.Long])+h(">L",[1])+M}if(p){M=h(">L",[D=8+w+S]);R=h(">H",[34853])+h(">H",[m.Long])+h(">L",[1])+M}if(d){M=h(">L",[D=8+w+S+A]);_=h(">H",[40965])+h(">H",[m.Long])+h(">L",[1])+M}if(g){var D;F=h(">L",[D=8+w+S+A+N]);var O="\0\0\0\0"+h(">L",[D+b[0].length+24+4+b[1].length]),L="\0\0\0\0"+h(">L",[v.length]);C=b[0]+O+L+"\0\0\0\0"+b[1]+v}var P=x[0]+T+R+F+x[1];return c&&(k=y[0]+_+y[1]),"Exif\0\0MM\0*\0\0\0\b"+P+k+I+E+C},u.prototype={get_ifd:function(e,t){var n,r={},a=p(this.endian_mark+"H",this.tiftag.slice(e,e+2))[0],s=e+2;n=["0th","1st"].indexOf(t)>-1?"Image":t;for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("B",a),this.tiftag.slice(t,t+a))):n=p(this.endian_mark+d("B",a),s.slice(0,a));else if(2==r)a>4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a-1)):n=s.slice(0,a-1);else if(3==r)a>2?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("H",a),this.tiftag.slice(t,t+2*a))):n=p(this.endian_mark+d("H",a),s.slice(0,2*a));else if(4==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("L",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("L",a),s);else if(5==r)if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a)):n=s.slice(0,a);else if(9==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("l",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("l",a),s);else{if(10!=r)throw new Error("Exif might be wrong. Got incorrect value type to decode. type:"+r);if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(i=0;i>2,s=(3&t)<<4|(n=e.charCodeAt(l++))>>4,i=(15&n)<<2|(r=e.charCodeAt(l++))>>6,o=63&r,isNaN(n)?i=o=64:isNaN(r)&&(o=64),u=u+c.charAt(a)+c.charAt(s)+c.charAt(i)+c.charAt(o);return u};if("undefined"!=typeof window&&"function"==typeof window.atob)var c=window.atob;if(void 0===c)c=function(e){var t,n,r,a,s,i,o="",u=0,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u>4,n=(15&a)<<4|(s=l.indexOf(e.charAt(u++)))>>2,r=(3&s)<<6|(i=l.indexOf(e.charAt(u++))),o+=String.fromCharCode(t),64!=s&&(o+=String.fromCharCode(n)),64!=i&&(o+=String.fromCharCode(r));return o};function h(e,t){if(!(t instanceof Array))throw new Error("'pack' error. Got invalid type argument.");if(e.length-1!=t.length)throw new Error("'pack' error. "+(e.length-1)+" marks, "+t.length+" elements.");var n;if("<"==e[0])n=!0;else{if(">"!=e[0])throw new Error("");n=!1}for(var r="",a=1,s=null,i=null,o=null;i=e[a];){if("b"==i.toLowerCase()){if(s=t[a-1],"b"==i&&s<0&&(s+=256),s>255||s<0)throw new Error("'pack' error.");o=String.fromCharCode(s)}else if("H"==i){if((s=t[a-1])>65535||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}else{if("l"!=i.toLowerCase())throw new Error("'pack' error.");if(s=t[a-1],"l"==i&&s<0&&(s+=4294967296),s>4294967295||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s/16777216))+String.fromCharCode(Math.floor(s%16777216/65536))+String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}r+=o,a+=1}return r}function p(e,t){if("string"!=typeof t)throw new Error("'unpack' error. Got invalid type argument.");for(var n,r=0,a=1;a"!=e[0])throw new Error("'unpack' error.");n=!1}for(var s=[],i=0,o=1,u=null,l=null,c=null,h="";l=e[o];){if("b"==l.toLowerCase())c=1,u=(h=t.slice(i,i+c)).charCodeAt(0),"b"==l&&u>=128&&(u-=256);else if("H"==l)c=2,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=256*h.charCodeAt(0)+h.charCodeAt(1);else{if("l"!=l.toLowerCase())throw new Error("'unpack' error. "+l);c=4,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=16777216*h.charCodeAt(0)+65536*h.charCodeAt(1)+256*h.charCodeAt(2)+h.charCodeAt(3),"l"==l&&u>=2147483648&&(u-=4294967296)}s.push(u),i+=c,o+=1}return s}function d(e,t){for(var n="",r=0;rH",e.slice(t+2,t+4))[0]+2;if(n.push(e.slice(t,r)),(t=r)>=e.length)throw new Error("Wrong JPEG data.")}return n}var m={Byte:1,Ascii:2,Short:3,Long:4,Rational:5,Undefined:7,SLong:9,SRational:10},g={Image:{11:{name:"ProcessingSoftware",type:"Ascii"},254:{name:"NewSubfileType",type:"Long"},255:{name:"SubfileType",type:"Short"},256:{name:"ImageWidth",type:"Long"},257:{name:"ImageLength",type:"Long"},258:{name:"BitsPerSample",type:"Short"},259:{name:"Compression",type:"Short"},262:{name:"PhotometricInterpretation",type:"Short"},263:{name:"Threshholding",type:"Short"},264:{name:"CellWidth",type:"Short"},265:{name:"CellLength",type:"Short"},266:{name:"FillOrder",type:"Short"},269:{name:"DocumentName",type:"Ascii"},270:{name:"ImageDescription",type:"Ascii"},271:{name:"Make",type:"Ascii"},272:{name:"Model",type:"Ascii"},273:{name:"StripOffsets",type:"Long"},274:{name:"Orientation",type:"Short"},277:{name:"SamplesPerPixel",type:"Short"},278:{name:"RowsPerStrip",type:"Long"},279:{name:"StripByteCounts",type:"Long"},282:{name:"XResolution",type:"Rational"},283:{name:"YResolution",type:"Rational"},284:{name:"PlanarConfiguration",type:"Short"},290:{name:"GrayResponseUnit",type:"Short"},291:{name:"GrayResponseCurve",type:"Short"},292:{name:"T4Options",type:"Long"},293:{name:"T6Options",type:"Long"},296:{name:"ResolutionUnit",type:"Short"},301:{name:"TransferFunction",type:"Short"},305:{name:"Software",type:"Ascii"},306:{name:"DateTime",type:"Ascii"},315:{name:"Artist",type:"Ascii"},316:{name:"HostComputer",type:"Ascii"},317:{name:"Predictor",type:"Short"},318:{name:"WhitePoint",type:"Rational"},319:{name:"PrimaryChromaticities",type:"Rational"},320:{name:"ColorMap",type:"Short"},321:{name:"HalftoneHints",type:"Short"},322:{name:"TileWidth",type:"Short"},323:{name:"TileLength",type:"Short"},324:{name:"TileOffsets",type:"Short"},325:{name:"TileByteCounts",type:"Short"},330:{name:"SubIFDs",type:"Long"},332:{name:"InkSet",type:"Short"},333:{name:"InkNames",type:"Ascii"},334:{name:"NumberOfInks",type:"Short"},336:{name:"DotRange",type:"Byte"},337:{name:"TargetPrinter",type:"Ascii"},338:{name:"ExtraSamples",type:"Short"},339:{name:"SampleFormat",type:"Short"},340:{name:"SMinSampleValue",type:"Short"},341:{name:"SMaxSampleValue",type:"Short"},342:{name:"TransferRange",type:"Short"},343:{name:"ClipPath",type:"Byte"},344:{name:"XClipPathUnits",type:"Long"},345:{name:"YClipPathUnits",type:"Long"},346:{name:"Indexed",type:"Short"},347:{name:"JPEGTables",type:"Undefined"},351:{name:"OPIProxy",type:"Short"},512:{name:"JPEGProc",type:"Long"},513:{name:"JPEGInterchangeFormat",type:"Long"},514:{name:"JPEGInterchangeFormatLength",type:"Long"},515:{name:"JPEGRestartInterval",type:"Short"},517:{name:"JPEGLosslessPredictors",type:"Short"},518:{name:"JPEGPointTransforms",type:"Short"},519:{name:"JPEGQTables",type:"Long"},520:{name:"JPEGDCTables",type:"Long"},521:{name:"JPEGACTables",type:"Long"},529:{name:"YCbCrCoefficients",type:"Rational"},530:{name:"YCbCrSubSampling",type:"Short"},531:{name:"YCbCrPositioning",type:"Short"},532:{name:"ReferenceBlackWhite",type:"Rational"},700:{name:"XMLPacket",type:"Byte"},18246:{name:"Rating",type:"Short"},18249:{name:"RatingPercent",type:"Short"},32781:{name:"ImageID",type:"Ascii"},33421:{name:"CFARepeatPatternDim",type:"Short"},33422:{name:"CFAPattern",type:"Byte"},33423:{name:"BatteryLevel",type:"Rational"},33432:{name:"Copyright",type:"Ascii"},33434:{name:"ExposureTime",type:"Rational"},34377:{name:"ImageResources",type:"Byte"},34665:{name:"ExifTag",type:"Long"},34675:{name:"InterColorProfile",type:"Undefined"},34853:{name:"GPSTag",type:"Long"},34857:{name:"Interlace",type:"Short"},34858:{name:"TimeZoneOffset",type:"Long"},34859:{name:"SelfTimerMode",type:"Short"},37387:{name:"FlashEnergy",type:"Rational"},37388:{name:"SpatialFrequencyResponse",type:"Undefined"},37389:{name:"Noise",type:"Undefined"},37390:{name:"FocalPlaneXResolution",type:"Rational"},37391:{name:"FocalPlaneYResolution",type:"Rational"},37392:{name:"FocalPlaneResolutionUnit",type:"Short"},37393:{name:"ImageNumber",type:"Long"},37394:{name:"SecurityClassification",type:"Ascii"},37395:{name:"ImageHistory",type:"Ascii"},37397:{name:"ExposureIndex",type:"Rational"},37398:{name:"TIFFEPStandardID",type:"Byte"},37399:{name:"SensingMethod",type:"Short"},40091:{name:"XPTitle",type:"Byte"},40092:{name:"XPComment",type:"Byte"},40093:{name:"XPAuthor",type:"Byte"},40094:{name:"XPKeywords",type:"Byte"},40095:{name:"XPSubject",type:"Byte"},50341:{name:"PrintImageMatching",type:"Undefined"},50706:{name:"DNGVersion",type:"Byte"},50707:{name:"DNGBackwardVersion",type:"Byte"},50708:{name:"UniqueCameraModel",type:"Ascii"},50709:{name:"LocalizedCameraModel",type:"Byte"},50710:{name:"CFAPlaneColor",type:"Byte"},50711:{name:"CFALayout",type:"Short"},50712:{name:"LinearizationTable",type:"Short"},50713:{name:"BlackLevelRepeatDim",type:"Short"},50714:{name:"BlackLevel",type:"Rational"},50715:{name:"BlackLevelDeltaH",type:"SRational"},50716:{name:"BlackLevelDeltaV",type:"SRational"},50717:{name:"WhiteLevel",type:"Short"},50718:{name:"DefaultScale",type:"Rational"},50719:{name:"DefaultCropOrigin",type:"Short"},50720:{name:"DefaultCropSize",type:"Short"},50721:{name:"ColorMatrix1",type:"SRational"},50722:{name:"ColorMatrix2",type:"SRational"},50723:{name:"CameraCalibration1",type:"SRational"},50724:{name:"CameraCalibration2",type:"SRational"},50725:{name:"ReductionMatrix1",type:"SRational"},50726:{name:"ReductionMatrix2",type:"SRational"},50727:{name:"AnalogBalance",type:"Rational"},50728:{name:"AsShotNeutral",type:"Short"},50729:{name:"AsShotWhiteXY",type:"Rational"},50730:{name:"BaselineExposure",type:"SRational"},50731:{name:"BaselineNoise",type:"Rational"},50732:{name:"BaselineSharpness",type:"Rational"},50733:{name:"BayerGreenSplit",type:"Long"},50734:{name:"LinearResponseLimit",type:"Rational"},50735:{name:"CameraSerialNumber",type:"Ascii"},50736:{name:"LensInfo",type:"Rational"},50737:{name:"ChromaBlurRadius",type:"Rational"},50738:{name:"AntiAliasStrength",type:"Rational"},50739:{name:"ShadowScale",type:"SRational"},50740:{name:"DNGPrivateData",type:"Byte"},50741:{name:"MakerNoteSafety",type:"Short"},50778:{name:"CalibrationIlluminant1",type:"Short"},50779:{name:"CalibrationIlluminant2",type:"Short"},50780:{name:"BestQualityScale",type:"Rational"},50781:{name:"RawDataUniqueID",type:"Byte"},50827:{name:"OriginalRawFileName",type:"Byte"},50828:{name:"OriginalRawFileData",type:"Undefined"},50829:{name:"ActiveArea",type:"Short"},50830:{name:"MaskedAreas",type:"Short"},50831:{name:"AsShotICCProfile",type:"Undefined"},50832:{name:"AsShotPreProfileMatrix",type:"SRational"},50833:{name:"CurrentICCProfile",type:"Undefined"},50834:{name:"CurrentPreProfileMatrix",type:"SRational"},50879:{name:"ColorimetricReference",type:"Short"},50931:{name:"CameraCalibrationSignature",type:"Byte"},50932:{name:"ProfileCalibrationSignature",type:"Byte"},50934:{name:"AsShotProfileName",type:"Byte"},50935:{name:"NoiseReductionApplied",type:"Rational"},50936:{name:"ProfileName",type:"Byte"},50937:{name:"ProfileHueSatMapDims",type:"Long"},50938:{name:"ProfileHueSatMapData1",type:"Float"},50939:{name:"ProfileHueSatMapData2",type:"Float"},50940:{name:"ProfileToneCurve",type:"Float"},50941:{name:"ProfileEmbedPolicy",type:"Long"},50942:{name:"ProfileCopyright",type:"Byte"},50964:{name:"ForwardMatrix1",type:"SRational"},50965:{name:"ForwardMatrix2",type:"SRational"},50966:{name:"PreviewApplicationName",type:"Byte"},50967:{name:"PreviewApplicationVersion",type:"Byte"},50968:{name:"PreviewSettingsName",type:"Byte"},50969:{name:"PreviewSettingsDigest",type:"Byte"},50970:{name:"PreviewColorSpace",type:"Long"},50971:{name:"PreviewDateTime",type:"Ascii"},50972:{name:"RawImageDigest",type:"Undefined"},50973:{name:"OriginalRawFileDigest",type:"Undefined"},50974:{name:"SubTileBlockSize",type:"Long"},50975:{name:"RowInterleaveFactor",type:"Long"},50981:{name:"ProfileLookTableDims",type:"Long"},50982:{name:"ProfileLookTableData",type:"Float"},51008:{name:"OpcodeList1",type:"Undefined"},51009:{name:"OpcodeList2",type:"Undefined"},51022:{name:"OpcodeList3",type:"Undefined"}},Exif:{33434:{name:"ExposureTime",type:"Rational"},33437:{name:"FNumber",type:"Rational"},34850:{name:"ExposureProgram",type:"Short"},34852:{name:"SpectralSensitivity",type:"Ascii"},34855:{name:"ISOSpeedRatings",type:"Short"},34856:{name:"OECF",type:"Undefined"},34864:{name:"SensitivityType",type:"Short"},34865:{name:"StandardOutputSensitivity",type:"Long"},34866:{name:"RecommendedExposureIndex",type:"Long"},34867:{name:"ISOSpeed",type:"Long"},34868:{name:"ISOSpeedLatitudeyyy",type:"Long"},34869:{name:"ISOSpeedLatitudezzz",type:"Long"},36864:{name:"ExifVersion",type:"Undefined"},36867:{name:"DateTimeOriginal",type:"Ascii"},36868:{name:"DateTimeDigitized",type:"Ascii"},37121:{name:"ComponentsConfiguration",type:"Undefined"},37122:{name:"CompressedBitsPerPixel",type:"Rational"},37377:{name:"ShutterSpeedValue",type:"SRational"},37378:{name:"ApertureValue",type:"Rational"},37379:{name:"BrightnessValue",type:"SRational"},37380:{name:"ExposureBiasValue",type:"SRational"},37381:{name:"MaxApertureValue",type:"Rational"},37382:{name:"SubjectDistance",type:"Rational"},37383:{name:"MeteringMode",type:"Short"},37384:{name:"LightSource",type:"Short"},37385:{name:"Flash",type:"Short"},37386:{name:"FocalLength",type:"Rational"},37396:{name:"SubjectArea",type:"Short"},37500:{name:"MakerNote",type:"Undefined"},37510:{name:"UserComment",type:"Ascii"},37520:{name:"SubSecTime",type:"Ascii"},37521:{name:"SubSecTimeOriginal",type:"Ascii"},37522:{name:"SubSecTimeDigitized",type:"Ascii"},40960:{name:"FlashpixVersion",type:"Undefined"},40961:{name:"ColorSpace",type:"Short"},40962:{name:"PixelXDimension",type:"Long"},40963:{name:"PixelYDimension",type:"Long"},40964:{name:"RelatedSoundFile",type:"Ascii"},40965:{name:"InteroperabilityTag",type:"Long"},41483:{name:"FlashEnergy",type:"Rational"},41484:{name:"SpatialFrequencyResponse",type:"Undefined"},41486:{name:"FocalPlaneXResolution",type:"Rational"},41487:{name:"FocalPlaneYResolution",type:"Rational"},41488:{name:"FocalPlaneResolutionUnit",type:"Short"},41492:{name:"SubjectLocation",type:"Short"},41493:{name:"ExposureIndex",type:"Rational"},41495:{name:"SensingMethod",type:"Short"},41728:{name:"FileSource",type:"Undefined"},41729:{name:"SceneType",type:"Undefined"},41730:{name:"CFAPattern",type:"Undefined"},41985:{name:"CustomRendered",type:"Short"},41986:{name:"ExposureMode",type:"Short"},41987:{name:"WhiteBalance",type:"Short"},41988:{name:"DigitalZoomRatio",type:"Rational"},41989:{name:"FocalLengthIn35mmFilm",type:"Short"},41990:{name:"SceneCaptureType",type:"Short"},41991:{name:"GainControl",type:"Short"},41992:{name:"Contrast",type:"Short"},41993:{name:"Saturation",type:"Short"},41994:{name:"Sharpness",type:"Short"},41995:{name:"DeviceSettingDescription",type:"Undefined"},41996:{name:"SubjectDistanceRange",type:"Short"},42016:{name:"ImageUniqueID",type:"Ascii"},42032:{name:"CameraOwnerName",type:"Ascii"},42033:{name:"BodySerialNumber",type:"Ascii"},42034:{name:"LensSpecification",type:"Rational"},42035:{name:"LensMake",type:"Ascii"},42036:{name:"LensModel",type:"Ascii"},42037:{name:"LensSerialNumber",type:"Ascii"},42240:{name:"Gamma",type:"Rational"}},GPS:{0:{name:"GPSVersionID",type:"Byte"},1:{name:"GPSLatitudeRef",type:"Ascii"},2:{name:"GPSLatitude",type:"Rational"},3:{name:"GPSLongitudeRef",type:"Ascii"},4:{name:"GPSLongitude",type:"Rational"},5:{name:"GPSAltitudeRef",type:"Byte"},6:{name:"GPSAltitude",type:"Rational"},7:{name:"GPSTimeStamp",type:"Rational"},8:{name:"GPSSatellites",type:"Ascii"},9:{name:"GPSStatus",type:"Ascii"},10:{name:"GPSMeasureMode",type:"Ascii"},11:{name:"GPSDOP",type:"Rational"},12:{name:"GPSSpeedRef",type:"Ascii"},13:{name:"GPSSpeed",type:"Rational"},14:{name:"GPSTrackRef",type:"Ascii"},15:{name:"GPSTrack",type:"Rational"},16:{name:"GPSImgDirectionRef",type:"Ascii"},17:{name:"GPSImgDirection",type:"Rational"},18:{name:"GPSMapDatum",type:"Ascii"},19:{name:"GPSDestLatitudeRef",type:"Ascii"},20:{name:"GPSDestLatitude",type:"Rational"},21:{name:"GPSDestLongitudeRef",type:"Ascii"},22:{name:"GPSDestLongitude",type:"Rational"},23:{name:"GPSDestBearingRef",type:"Ascii"},24:{name:"GPSDestBearing",type:"Rational"},25:{name:"GPSDestDistanceRef",type:"Ascii"},26:{name:"GPSDestDistance",type:"Rational"},27:{name:"GPSProcessingMethod",type:"Undefined"},28:{name:"GPSAreaInformation",type:"Undefined"},29:{name:"GPSDateStamp",type:"Ascii"},30:{name:"GPSDifferential",type:"Short"},31:{name:"GPSHPositioningError",type:"Rational"}},Interop:{1:{name:"InteroperabilityIndex",type:"Ascii"}}};g["0th"]=g.Image,g["1st"]=g.Image,n.TAGS=g,n.ImageIFD={ProcessingSoftware:11,NewSubfileType:254,SubfileType:255,ImageWidth:256,ImageLength:257,BitsPerSample:258,Compression:259,PhotometricInterpretation:262,Threshholding:263,CellWidth:264,CellLength:265,FillOrder:266,DocumentName:269,ImageDescription:270,Make:271,Model:272,StripOffsets:273,Orientation:274,SamplesPerPixel:277,RowsPerStrip:278,StripByteCounts:279,XResolution:282,YResolution:283,PlanarConfiguration:284,GrayResponseUnit:290,GrayResponseCurve:291,T4Options:292,T6Options:293,ResolutionUnit:296,TransferFunction:301,Software:305,DateTime:306,Artist:315,HostComputer:316,Predictor:317,WhitePoint:318,PrimaryChromaticities:319,ColorMap:320,HalftoneHints:321,TileWidth:322,TileLength:323,TileOffsets:324,TileByteCounts:325,SubIFDs:330,InkSet:332,InkNames:333,NumberOfInks:334,DotRange:336,TargetPrinter:337,ExtraSamples:338,SampleFormat:339,SMinSampleValue:340,SMaxSampleValue:341,TransferRange:342,ClipPath:343,XClipPathUnits:344,YClipPathUnits:345,Indexed:346,JPEGTables:347,OPIProxy:351,JPEGProc:512,JPEGInterchangeFormat:513,JPEGInterchangeFormatLength:514,JPEGRestartInterval:515,JPEGLosslessPredictors:517,JPEGPointTransforms:518,JPEGQTables:519,JPEGDCTables:520,JPEGACTables:521,YCbCrCoefficients:529,YCbCrSubSampling:530,YCbCrPositioning:531,ReferenceBlackWhite:532,XMLPacket:700,Rating:18246,RatingPercent:18249,ImageID:32781,CFARepeatPatternDim:33421,CFAPattern:33422,BatteryLevel:33423,Copyright:33432,ExposureTime:33434,ImageResources:34377,ExifTag:34665,InterColorProfile:34675,GPSTag:34853,Interlace:34857,TimeZoneOffset:34858,SelfTimerMode:34859,FlashEnergy:37387,SpatialFrequencyResponse:37388,Noise:37389,FocalPlaneXResolution:37390,FocalPlaneYResolution:37391,FocalPlaneResolutionUnit:37392,ImageNumber:37393,SecurityClassification:37394,ImageHistory:37395,ExposureIndex:37397,TIFFEPStandardID:37398,SensingMethod:37399,XPTitle:40091,XPComment:40092,XPAuthor:40093,XPKeywords:40094,XPSubject:40095,PrintImageMatching:50341,DNGVersion:50706,DNGBackwardVersion:50707,UniqueCameraModel:50708,LocalizedCameraModel:50709,CFAPlaneColor:50710,CFALayout:50711,LinearizationTable:50712,BlackLevelRepeatDim:50713,BlackLevel:50714,BlackLevelDeltaH:50715,BlackLevelDeltaV:50716,WhiteLevel:50717,DefaultScale:50718,DefaultCropOrigin:50719,DefaultCropSize:50720,ColorMatrix1:50721,ColorMatrix2:50722,CameraCalibration1:50723,CameraCalibration2:50724,ReductionMatrix1:50725,ReductionMatrix2:50726,AnalogBalance:50727,AsShotNeutral:50728,AsShotWhiteXY:50729,BaselineExposure:50730,BaselineNoise:50731,BaselineSharpness:50732,BayerGreenSplit:50733,LinearResponseLimit:50734,CameraSerialNumber:50735,LensInfo:50736,ChromaBlurRadius:50737,AntiAliasStrength:50738,ShadowScale:50739,DNGPrivateData:50740,MakerNoteSafety:50741,CalibrationIlluminant1:50778,CalibrationIlluminant2:50779,BestQualityScale:50780,RawDataUniqueID:50781,OriginalRawFileName:50827,OriginalRawFileData:50828,ActiveArea:50829,MaskedAreas:50830,AsShotICCProfile:50831,AsShotPreProfileMatrix:50832,CurrentICCProfile:50833,CurrentPreProfileMatrix:50834,ColorimetricReference:50879,CameraCalibrationSignature:50931,ProfileCalibrationSignature:50932,AsShotProfileName:50934,NoiseReductionApplied:50935,ProfileName:50936,ProfileHueSatMapDims:50937,ProfileHueSatMapData1:50938,ProfileHueSatMapData2:50939,ProfileToneCurve:50940,ProfileEmbedPolicy:50941,ProfileCopyright:50942,ForwardMatrix1:50964,ForwardMatrix2:50965,PreviewApplicationName:50966,PreviewApplicationVersion:50967,PreviewSettingsName:50968,PreviewSettingsDigest:50969,PreviewColorSpace:50970,PreviewDateTime:50971,RawImageDigest:50972,OriginalRawFileDigest:50973,SubTileBlockSize:50974,RowInterleaveFactor:50975,ProfileLookTableDims:50981,ProfileLookTableData:50982,OpcodeList1:51008,OpcodeList2:51009,OpcodeList3:51022,NoiseProfile:51041},n.ExifIFD={ExposureTime:33434,FNumber:33437,ExposureProgram:34850,SpectralSensitivity:34852,ISOSpeedRatings:34855,OECF:34856,SensitivityType:34864,StandardOutputSensitivity:34865,RecommendedExposureIndex:34866,ISOSpeed:34867,ISOSpeedLatitudeyyy:34868,ISOSpeedLatitudezzz:34869,ExifVersion:36864,DateTimeOriginal:36867,DateTimeDigitized:36868,ComponentsConfiguration:37121,CompressedBitsPerPixel:37122,ShutterSpeedValue:37377,ApertureValue:37378,BrightnessValue:37379,ExposureBiasValue:37380,MaxApertureValue:37381,SubjectDistance:37382,MeteringMode:37383,LightSource:37384,Flash:37385,FocalLength:37386,SubjectArea:37396,MakerNote:37500,UserComment:37510,SubSecTime:37520,SubSecTimeOriginal:37521,SubSecTimeDigitized:37522,FlashpixVersion:40960,ColorSpace:40961,PixelXDimension:40962,PixelYDimension:40963,RelatedSoundFile:40964,InteroperabilityTag:40965,FlashEnergy:41483,SpatialFrequencyResponse:41484,FocalPlaneXResolution:41486,FocalPlaneYResolution:41487,FocalPlaneResolutionUnit:41488,SubjectLocation:41492,ExposureIndex:41493,SensingMethod:41495,FileSource:41728,SceneType:41729,CFAPattern:41730,CustomRendered:41985,ExposureMode:41986,WhiteBalance:41987,DigitalZoomRatio:41988,FocalLengthIn35mmFilm:41989,SceneCaptureType:41990,GainControl:41991,Contrast:41992,Saturation:41993,Sharpness:41994,DeviceSettingDescription:41995,SubjectDistanceRange:41996,ImageUniqueID:42016,CameraOwnerName:42032,BodySerialNumber:42033,LensSpecification:42034,LensMake:42035,LensModel:42036,LensSerialNumber:42037,Gamma:42240},n.GPSIFD={GPSVersionID:0,GPSLatitudeRef:1,GPSLatitude:2,GPSLongitudeRef:3,GPSLongitude:4,GPSAltitudeRef:5,GPSAltitude:6,GPSTimeStamp:7,GPSSatellites:8,GPSStatus:9,GPSMeasureMode:10,GPSDOP:11,GPSSpeedRef:12,GPSSpeed:13,GPSTrackRef:14,GPSTrack:15,GPSImgDirectionRef:16,GPSImgDirection:17,GPSMapDatum:18,GPSDestLatitudeRef:19,GPSDestLatitude:20,GPSDestLongitudeRef:21,GPSDestLongitude:22,GPSDestBearingRef:23,GPSDestBearing:24,GPSDestDistanceRef:25,GPSDestDistance:26,GPSProcessingMethod:27,GPSAreaInformation:28,GPSDateStamp:29,GPSDifferential:30,GPSHPositioningError:31},n.InteropIFD={InteroperabilityIndex:1},n.GPSHelper={degToDmsRational:function(e){var t=Math.abs(e),n=t%1*60,r=n%1*60;return[[Math.floor(t),1],[Math.floor(n),1],[Math.round(100*r),100]]},dmsRationalToDeg:function(e,t){var n="S"===t||"W"===t?-1:1;return(e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600)*n}},e.exports&&(t=e.exports=n),t.piexif=n}()}));const Iq=async(e,t,n)=>{const r=await(e=>new Promise((t,n)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.readAsDataURL(e)}))(e),a=Sq.load(r),s=(await navigator.mediaDevices.enumerateDevices()).filter(e=>"videoinput"===e.kind).map(e=>e.label),i={width:n.width,height:n.height,usedCamera:t.label,camerasOnDevice:s},o={"0th":Object.assign(Object.assign({},a["0th"]),{[Sq.ImageIFD.Model]:i.usedCamera,[Sq.ImageIFD.ImageWidth]:i.width,[Sq.ImageIFD.ImageLength]:i.height}),Exif:Object.assign(Object.assign({},a.Exif),{[Sq.ExifIFD.UserComment]:JSON.stringify(i)}),GPS:Object.assign({},a.GPS),Interop:Object.assign({},a.Interop),"1st":Object.assign({},a["1st"]),thumbnail:a.thumbnail},u=Sq.dump(o),l=Sq.insert(u,r);return await fetch(l).then(e=>e.blob())},Aq=new Image;var Eq;Aq.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwIiBoZWlnaHQ9IjIyNC45OTk5OTk5OTk5OTk5NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIHZlcnNpb249IjEuMSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CiA8Zz4KICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgPGcgc3Ryb2tlPSJudWxsIiBpZD0iTGF5ZXIgMSI+CiAgIDxwYXRoIHN0cm9rZT0iIzRjYTU4NSIgaWQ9InN2Z18xIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJtNzQuMjc3NjUsNi45Mjc2MWMtMTEuMzc1OTcsLTAuMDE3MTMgLTMzLjU2NTUxLDUuMTA0MzMgLTQ2LjgxMzE2LDE5LjQ5NDgxYy02Ljc0MTQzLDcuMzIyOTIgLTE4LjEyMjY5LDIzLjA2OTY3IC0xOS4yNjc1OCw1OS42MTM2OWMtMC41MTkwNiwxNi41NjkyMSA1LjA0NTI0LDYwLjYyNTMzIDEwLjI0MDA2LDc2LjQ2Nzc1YzMuNjMxMywxMS4wNzQ2OCAyNy40ODIxNSw0My45MzM0OSA0NC40OTA2LDUzLjY4MjUxYzQuODA3OTEsMi43NTU0NiAxMS4yOTY2OCwyLjY4MjUxIDEyLjQyMjU1LDIuNjgyNTFjMS4xODg3NiwtMC4wODQ1NyA3LjMzMDI2LDAuMDcyOTQgMTIuMTM3NjUsLTIuNjgyNTFjMTcuMDA4NDYsLTkuNzQ5MDIgNDAuNDAyMDgsLTQyLjc2ODUxIDQ0LjQ5MDYsLTUzLjY4MjUxYzQuNDAwMzgsLTExLjc0NDkxIDEwLjc1OTY1LC01OS44OTg1NCAxMC4yNDAwNiwtNzYuNDY3NzVjLTEuMTQ0ODksLTM2LjU0NDAyIC0xMi41MjYxNSwtNTIuMjkwNzcgLTE5LjI2NzU4LC01OS42MTM2OWMtMTMuMjQ3NjUsLTE0LjM5MDQ4IC0zNS4zMDY2MywtMTkuNTI5MzMgLTQ2Ljc3ODI3LC0xOS40OTQ4MWMtMC43NDY4OCwwLjAwMjIyIC0xLjg5NDk0LDAgLTEuODk0OTQsMHoiIHN0cm9rZS13aWR0aD0iNy42NSIvPgogIDwvZz4KIDwvZz4KPC9zdmc+Cg==",function(e){e.JPEG="image/jpeg",e.PNG="image/png"}(Eq||(Eq={}));class Nq{constructor(e,t){this.showMask=!1,this.videoSize={width:0,height:0},this.streamPaused=!1,this.pauseStream=()=>{this.streamPaused=!0,this.videoElement.pause(),this.dropMask(),this.faceDetection&&kq.getInstance().stopDetector()},this.device=e,this.detector=kq.getInstance(this,e.isMobile,t)}setShowMask(e){this.showMask=e}setFaceDetection(e){this.faceDetection=e}setProbabilityThreshold(e){kq.getInstance().setProbabilityThreshold(e)}setCallbackErrors(e){this.callbackErrors=e}setCallbackAutoCapturing(e){this.callbackAutoCapturing=e}setCallbackFaceDetectionErrors(e){this.callbackFaceDetectionErrors=e}static getInstance(e,t){return Nq.instance||(Nq.instance=new Nq(e,t)),Nq.instance}returnErrors(e){this.callbackFaceDetectionErrors(e)}autoCapturing(){this.callbackAutoCapturing()}updateHtmlElements(e,t){this.videoElement=e,this.canvasElement=t,this.detector.updateHtmlElements(e)}async startDetection(){return this.detector.startDetector()}static orientationChange(){Nq.instance&&Nq.getInstance().drawMask()}startStream(e){this.stream&&this.stream.getTracks().forEach(e=>e.stop()),this.stream=e,"srcObject"in this.videoElement?this.videoElement.srcObject=e:this.videoElement.src=window.URL.createObjectURL(e),this.videoElement.play().then(()=>{this.streamPaused=!1,l.cameraReadyEvent(),this.drawMask(),this.faceDetection&&this.startDetection()})}async initStream(e){this.startStream(e)}async resumeStream(){this.streamPaused=!1,await this.videoElement.play(),this.drawMask(),this.faceDetection&&await kq.getInstance().startDetector()}updateCanvasSize(e){this.videoSize={width:this.videoElement.videoWidth,height:this.videoElement.videoHeight},e.width=this.videoSize.width,e.height=this.videoSize.height}dropStream(){this.streamStopped()||(this.stream.getTracks().forEach(e=>e.stop()),this.videoElement.srcObject=null),this.faceDetection&&kq.getInstance().stopDetector()}streamStopped(){return!(this.stream&&this.stream.getTracks&&this.stream.getTracks().length>0)}drawMask(){this.showMask&&!this.streamPaused&&setTimeout(()=>{this.updateCanvasSize(this.canvasElement);const e=this.canvasElement,t=e.getContext("2d"),n=e.width/Aq.width,r=e.height/Aq.height,a=Math.min(n,r),s=e.width{const t=document.createElement("canvas");t.width=this.videoElement.videoWidth,t.height=this.videoElement.videoHeight,e([await this.getFrame(t)])})}getFrame(e){return new Promise(t=>{e.getContext("2d").drawImage(this.videoElement,0,0,e.width,e.height),e.toBlob(e=>{if(e.type!==Eq.JPEG||this.device.isIos)t(e);else try{Iq(e,this.stream.getTracks()[0],this.videoSize).then(e=>t(e))}catch(n){t(e),this.callbackErrors(n,!1)}},Eq.PNG,1)})}}window.addEventListener("resize",Nq.orientationChange,!1),window.addEventListener("orientationchange",Nq.orientationChange,!1);let Cq=class{constructor(e){Object(u.f)(this,e),this.eventVideoStarted=Object(u.b)(this,"videoStarted",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.errorCameraEvent=Object(u.b)(this,"errorCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.callbackErrors=(e,t)=>{t?(this.errorCameraEvent.emit(e),this.eventCloseCamera.emit()):this.errorCameraEvent.emit(e)},this.callbackAutoCapturing=()=>{this.device.isMobile?this.eventMakePhoto.emit():this.eventTakePhoto.emit()},this.callbackFaceDetectionErrors=e=>{l.detectionError(e)}}componentDidLoad(){this.startStream()}render(){const e="camera "+(this.device.isMobile?"cameraMobile":"");return Object(u.d)("div",{class:e},Object(u.d)("video",{loop:!0,autoplay:!0,playsinline:!0,muted:!0,class:"cameraVideo",ref:e=>this.cameraVideo=e}),Object(u.d)("canvas",{class:"cameraCanvas",ref:e=>this.cameraCanvas=e}))}startStream(){Nq.instance||Nq.getInstance(this.device,this.modelPath);const e=Nq.getInstance();e.updateHtmlElements(this.cameraVideo,this.cameraCanvas),e.setShowMask(this.showMask),e.setFaceDetection(this.faceDetection),e.setProbabilityThreshold(this.probabilityThreshold),e.setCallbackErrors(this.callbackErrors),e.setCallbackAutoCapturing(this.callbackAutoCapturing),e.setCallbackFaceDetectionErrors(this.callbackFaceDetectionErrors)}};Cq.style=".camera{width:100%;height:100%;color:white;display:flex;align-items:center;justify-content:center;position:relative}.cameraCanvas{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);max-width:100%;max-height:100%;z-index:2}.cameraVideo{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);z-index:1;position:absolute;max-width:100%;max-height:100%}.cameraMobile{position:fixed;top:0;left:0;background:black}.canvas-on-video{max-width:100%;max-height:100%;position:absolute;left:50%;top:50%;z-index:2;transform:scale(-1, 1)}";let Tq=class{constructor(e){Object(u.f)(this,e),this.updateState=()=>{this._showMask="true"===this.show_mask,this._disable_control_panel="true"===this.disable_control_panel,this._face_detection="true"===this.face_detection,this._stopAfterCapturing="true"===this.stop_after_capturing,this._probabilityThreshold=this.probability_threshold?+this.probability_threshold:50,this.url_logo=this.url_logo?this.url_logo:"data:image/png;charset=utf-8;base64,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",this._debug="true"===this.debug,kq.debug=this._debug},this.photoIsReady=e=>{this._stopAfterCapturing&&this.closeCamera(),l.captureEvent(e)},this.enableButton=()=>{this._resolutionOnPhoto=!0},this.updateState(),this._cameraStatus=0,this._resolutionOnPhoto=!1,this._device=xq(),this._mobile=this._device.isMobile,this._mobileMakePhoto=!1}videoStarted(){this._resolutionOnPhoto=!0}async retakePhoto(){this._mobileMakePhoto=!1,await Nq.getInstance().resumeStream()}takePhoto(){Nq.getInstance().takePhoto().then(e=>{this.photoIsReady(e)})}async openCamera(){this._cameraStatus=1;const e=this._device.isMac?{audio:!1,video:{facingMode:"user",width:1920,height:1080}}:{audio:!1,video:{facingMode:"user",width:{ideal:1920},height:{ideal:1080}}};setTimeout(()=>{navigator.mediaDevices.getUserMedia(e).then(e=>{Nq.getInstance().initStream(e),this.videoStarted()}).catch(e=>{this.closeCamera(),l.errorEvent(e)})},100)}async loadModels(e){await kq.initDetector(e.detail.path)}errorCamera(e){l.errorEvent(e.detail.message)}closeCamera(){Nq.instance&&(this._cameraStatus=0,l.closeEvent(),Nq.getInstance().dropStream(),this._mobileMakePhoto=!1,this._resolutionOnPhoto=!1)}makePhoto(){this._mobile?(this._mobileMakePhoto=!0,Nq.getInstance().pauseStream()):this.takePhoto()}componentWillLoad(){l.init(this.component),navigator.mediaDevices||l.errorEvent("This browser does not support webRTC")}componentDidUpdate(){this.updateState()}render(){let e;return e=this._cameraStatus?Object(u.d)("camera-comp",{class:"block",showMask:this._showMask,device:this._device,faceDetection:this._face_detection,modelPath:this.model_path,probabilityThreshold:this._probabilityThreshold}):Object(u.d)("img",{src:this.url_logo,class:"logo",style:this.logo_style?JSON.parse(this.logo_style):"",alt:"logo"}),Object(u.d)("div",{class:"cameraContainer",id:"cameraContainer",style:{backgroundColor:this.background_color}},Object(u.d)("div",{class:"wrapperCamera",style:{height:this._disable_control_panel?"100%":"65%"}},e),Object(u.d)("control-panel",{class:"block",mobile:this._mobile,disableControlPanel:this._disable_control_panel,cameraStatus:this._cameraStatus,resolutionOnPhoto:this._resolutionOnPhoto,mobileMakePhoto:this._mobileMakePhoto,faceDetection:this._face_detection}))}get component(){return Object(u.c)(this)}};Tq.style=".cameraContainer{width:100%;height:100%;z-index:10;position:relative;overflow:hidden}.logo{max-height:450px;max-width:450px}.wrapperCamera{display:flex;justify-content:center;align-items:center}.block{width:100%;height:100%}@media screen and (orientation: portrait){.history{width:100vw;font-size:20px}@media screen and (max-height: 667px){.logo{background-size:120px;max-height:120px;max-width:120px}}@media screen and (min-height: 668px) and (max-height: 812px){.logo{background-size:140px;max-height:140px;max-width:140px}}@media (max-height: 667px){.logo{margin:0 auto}}}@media screen and (max-height: 414px){.logo{background-size:140px;max-height:140px;max-width:140px}}";const Rq=(e,t)=>[...t];let _q=class{constructor(e){Object(u.f)(this,e),this.eventOpenCamera=Object(u.b)(this,"openCamera",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventRetakePhoto=Object(u.b)(this,"retakePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.makePhoto=()=>{this.eventMakePhoto.emit()},this.closeCamera=()=>{this.eventCloseCamera.emit()},this.openCamera=()=>{this.eventOpenCamera.emit()},this.takePhoto=()=>{this.eventTakePhoto.emit()},this.retakePhoto=async()=>{this.eventRetakePhoto.emit()}}render(){return Object(u.d)("div",{class:"controlPanel"+(this.mobile?" controlMobile":"")},this.mobile?Object(u.d)("div",null,this.cameraStatus?Object(u.d)("div",null,this.mobileMakePhoto?Object(u.d)("div",null,Object(u.d)("div",{onClick:this.retakePhoto,class:"retake"},"retake"),Object(u.d)("img",{onClick:this.takePhoto,class:"shoot takePhoto",src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjEuMC4yLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDggNDg7IiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4Ij4KPHBhdGggc3R5bGU9ImZpbGw6I0M4RTZDOTsiIGQ9Ik00NCwyNGMwLDExLjA0NS04Ljk1NSwyMC0yMCwyMFM0LDM1LjA0NSw0LDI0UzEyLjk1NSw0LDI0LDRTNDQsMTIuOTU1LDQ0LDI0eiIvPgo8cGF0aCBzdHlsZT0iZmlsbDojNENBRjUwOyIgZD0iTTM0LjU4NiwxNC41ODZsLTEzLjU3LDEzLjU4NmwtNS42MDItNS41ODZsLTIuODI4LDIuODI4bDguNDM0LDguNDE0bDE2LjM5NS0xNi40MTRMMzQuNTg2LDE0LjU4NnoiLz4KPC9zdmc+Cg=="})):Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto,class:"shoot"}),Object(u.d)("div",{onClick:this.closeCamera,class:"close"},"close")):Object(u.d)("div",null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)("button",{onClick:this.openCamera},"Turn on camera"))):Object(u.d)(Rq,null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)(Rq,null,this.cameraStatus?Object(u.d)(Rq,null,Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto},"Capture"),Object(u.d)("button",{onClick:this.closeCamera,class:"cameraOff"},"Close camera")):Object(u.d)("button",{onClick:this.openCamera},"Open camera"))))}};_q.style='.controlPanel{height:35%;display:flex;justify-content:space-evenly;align-items:center;width:100%;max-width:450px;margin:auto}.buttons{width:100%;max-width:450px;display:flex;justify-content:space-evenly;align-items:center}button{width:164px;height:50px;border:none;margin-bottom:10px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;color:#fff;font-family:"Avenir", Helvetica, sans-serif;font-weight:600;font-size:16px;background-color:#4ca585;outline:none;cursor:pointer}button[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.cameraOff{background-color:#667a87}.cameraOff:hover{background-color:#92a8b5}.shoot{width:50px;height:50px;border-radius:25px;border:2px solid white;outline:none;background-color:red;position:fixed;left:calc(50% - 25px);bottom:10px}.shoot[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.close{position:fixed;right:6vw;top:2vh;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.retake{position:fixed;right:6vw;bottom:35px;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.takePhoto{width:46px;height:46px;bottom:20px;background:none}@media screen and (orientation:landscape) and (min-width: 360px){.shoot{bottom:calc(50% - 25px);left:auto;right:5vw}}'}.call(this,"/index.js",n(124),"/",n(33),n(238).Buffer,n(242).setImmediate)},function(e,t,n){"use strict";(function(e){ +/** @license See the LICENSE file. */(e,{width:this.videoElement.videoWidth,height:this.videoElement.videoHeight}),n=new hq,r=this.checkNumberFaces(t);return n.FACE_NOT_FOUND=!r&&0===t.length,n.TOO_MANY_FACES=!r&&t.length>this.MAX_NUMBER_FACES,r&&(wq&&(n.FACE_ANGLE_TOO_LARGE=!this.checkHeadRotation(t)),n.PROBABILITY_TOO_SMALL=!this.checkProbability(t),n.FACE_TOO_SMALL=!this.checkFaceSize(t),n.FACE_CLOSE_TO_BORDER=!this.checkFaceIndent(t)),n}autoCapturing(){kq.debug&&console.info(this.counterSuccessfulResults),this.counterSuccessfulResults>=this.DEFAULT_NUMBER_SUCCESSFUL_RESULTS_FOR_AUTO_CAPTURING&&(this.stream.autoCapturing(),this.counterSuccessfulResults=0)}checkNumberFaces(e){return e.length===this.MAX_NUMBER_FACES}checkProbability(e){return e[0].detection.score>+this.probabilityThreshold/100}checkFaceSize(e){const t=e[0].detection.box,{width:n,height:r,area:a}=t,{imageHeight:s,imageWidth:i}=e[0].detection,o=100/(s*i/a);return Math.min(n/this.videoRatio,r/this.videoRatio)>(this.isMobile?this.MIN_FACE_SIZE_FOR_MOBILE:this.MIN_FACE_SIZE_FOR_DESKTOP)&&o>(this.isMobile?this.MIN_OCCUPIED_SPACE_FOR_MOBILE:this.MIN_OCCUPIED_SPACE_FOR_DESKTOP)}checkFaceIndent(e){const t=e[0].detection.box,{imageHeight:n,imageWidth:r}=e[0].detection,{top:a,left:s,bottom:i,right:o}=t,u=s,l=r-o,c=n-i;return!(athis.MAX_ANGLE_TURN_HEAD||-1*a[2]>this.MAX_ANGLE_TURN_HEAD?this.headTurnCounter++:(this.counterSuccessfulHeadTurns++,this.counterSuccessfulHeadTurns>=5&&(this.headTurnCounter=0,this.counterSuccessfulHeadTurns=0)),this.headTurnCounter<=1}drawFaces(e){this.innerCanvas||this.createCanvasForDrawingMask(this.videoElement);const t=this.innerCanvas;if(!t)return console.error("no canvas for drawing");const n=t.getContext("2d");if(n){n.clearRect(0,0,t.width,t.height),n.font='small-caps 20px "Segoe UI"',n.fillStyle="white";for(const t of e){n.lineWidth=3,n.strokeStyle="deepskyblue",n.fillStyle="deepskyblue",n.globalAlpha=.6,n.beginPath(),n.rect(t.detection.box.x,t.detection.box.y,t.detection.box.width,t.detection.box.height),n.stroke(),n.globalAlpha=1,n.globalAlpha=.8,n.fillStyle="lightblue";const e=2;for(let r=0;r"+d("B",e.length),e)}function a(e){return h(">"+d("H",e.length),e)}function s(e){return h(">"+d("L",e.length),e)}function i(e,t,n){var i,o,u,l,c="",p="";if("Byte"==t)(i=e.length)<=4?p=r(e)+d("\0",4-i):(p=h(">L",[n]),c=r(e));else if("Short"==t)(i=e.length)<=2?p=a(e)+d("\0\0",2-i):(p=h(">L",[n]),c=a(e));else if("Long"==t)(i=e.length)<=1?p=s(e):(p=h(">L",[n]),c=s(e));else if("Ascii"==t)(i=(o=e+"\0").length)>4?(p=h(">L",[n]),c=o):p=o+d("\0",4-i);else if("Rational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">L",[u])+h(">L",[l]);else{i=e.length,o="";for(var f=0;fL",[u])+h(">L",[l])}p=h(">L",[n]),c=o}else if("SRational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">l",[u])+h(">l",[l]);else{i=e.length,o="";for(f=0;fl",[u])+h(">l",[l])}p=h(">L",[n]),c=o}else"Undefined"==t&&((i=e.length)>4?(p=h(">L",[n]),c=e):p=e+d("\0",4-i));return[h(">L",[i]),p,c]}function o(e,t,n){var r,a=Object.keys(e).length,s=h(">H",[a]);r=["0th","1st"].indexOf(t)>-1?2+12*a+4:2+12*a;var o="",u="";for(var l in e)if("string"==typeof l&&(l=parseInt(l)),!("0th"==t&&[34665,34853].indexOf(l)>-1||"Exif"==t&&40965==l||"1st"==t&&[513,514].indexOf(l)>-1)){var c=e[l],p=h(">H",[l]),d=g[t][l].type,f=h(">H",[m[d]]);"number"==typeof c&&(c=[c]);var y=i(c,d,8+r+n+u.length);o+=p+f+y[0]+y[1],u+=y[2]}return[s+o,u]}function u(e){var t;if("ÿØ"==e.slice(0,2))t=function(e){for(var t,n=0;n-1)this.tiftag=e;else{if("Exif"!=e.slice(0,4))throw new Error("Given file is neither JPEG nor TIFF.");this.tiftag=e.slice(6)}}if(n.version="1.0.4",n.remove=function(e){var t=!1;if("ÿØ"==e.slice(0,2));else{if("data:image/jpeg;base64,"!=e.slice(0,23)&&"data:image/jpg;base64,"!=e.slice(0,22))throw new Error("Given data is not jpeg.");e=c(e.split(",")[1]),t=!0}var n=f(e).filter((function(e){return!("ÿá"==e.slice(0,2)&&"Exif\0\0"==e.slice(4,10))})).join("");return t&&(n="data:image/jpeg;base64,"+l(n)),n},n.insert=function(e,t){var n=!1;if("Exif\0\0"!=e.slice(0,6))throw new Error("Given data is not exif.");if("ÿØ"==t.slice(0,2));else{if("data:image/jpeg;base64,"!=t.slice(0,23)&&"data:image/jpg;base64,"!=t.slice(0,22))throw new Error("Given data is not jpeg.");t=c(t.split(",")[1]),n=!0}var r="ÿá"+h(">H",[e.length+2])+e,a=function(e,t){var n=!1,r=[];e.forEach((function(a,s){"ÿá"==a.slice(0,2)&&"Exif\0\0"==a.slice(4,10)&&(n?r.unshift(s):(e[s]=t,n=!0))})),r.forEach((function(t){e.splice(t,1)})),!n&&t&&(e=[e[0],t].concat(e.slice(1)));return e.join("")}(f(t),r);return n&&(a="data:image/jpeg;base64,"+l(a)),a},n.load=function(e){var t;if("string"!=typeof e)throw new Error("'load' gots invalid type argument.");if("ÿØ"==e.slice(0,2))t=e;else if("data:image/jpeg;base64,"==e.slice(0,23)||"data:image/jpg;base64,"==e.slice(0,22))t=c(e.split(",")[1]);else{if("Exif"!=e.slice(0,4))throw new Error("'load' gots invalid file data.");t=e.slice(6)}var n={"0th":{},Exif:{},GPS:{},Interop:{},"1st":{},thumbnail:null},r=new u(t);if(null===r.tiftag)return n;"II"==r.tiftag.slice(0,2)?r.endian_mark="<":r.endian_mark=">";var a=p(r.endian_mark+"L",r.tiftag.slice(4,8))[0];n["0th"]=r.get_ifd(a,"0th");var s=n["0th"].first_ifd_pointer;if(delete n["0th"].first_ifd_pointer,34665 in n["0th"]&&(a=n["0th"][34665],n.Exif=r.get_ifd(a,"Exif")),34853 in n["0th"]&&(a=n["0th"][34853],n.GPS=r.get_ifd(a,"GPS")),40965 in n.Exif&&(a=n.Exif[40965],n.Interop=r.get_ifd(a,"Interop")),"\0\0\0\0"!=s&&(a=p(r.endian_mark+"L",s)[0],n["1st"]=r.get_ifd(a,"1st"),513 in n["1st"]&&514 in n["1st"])){var i=n["1st"][513]+n["1st"][514],o=r.tiftag.slice(n["1st"][513],i);n.thumbnail=o}return n},n.dump=function(e){var t,r,a,s,i,u,l=(t=e,JSON.parse(JSON.stringify(t))),c=!1,p=!1,d=!1,g=!1;r="0th"in l?l["0th"]:{},"Exif"in l&&Object.keys(l.Exif).length||"Interop"in l&&Object.keys(l.Interop).length?(r[34665]=1,c=!0,a=l.Exif,"Interop"in l&&Object.keys(l.Interop).length?(a[40965]=1,d=!0,s=l.Interop):Object.keys(a).indexOf(n.ExifIFD.InteroperabilityTag.toString())>-1&&delete a[40965]):Object.keys(r).indexOf(n.ImageIFD.ExifTag.toString())>-1&&delete r[34665],"GPS"in l&&Object.keys(l.GPS).length?(r[n.ImageIFD.GPSTag]=1,p=!0,i=l.GPS):Object.keys(r).indexOf(n.ImageIFD.GPSTag.toString())>-1&&delete r[n.ImageIFD.GPSTag],"1st"in l&&"thumbnail"in l&&null!=l.thumbnail&&(g=!0,l["1st"][513]=1,l["1st"][514]=1,u=l["1st"]);var y,b,v,x=o(r,"0th",0),w=x[0].length+12*c+12*p+4+x[1].length,k="",S=0,I="",A=0,E="",N=0,C="";(c&&(S=(y=o(a,"Exif",w))[0].length+12*d+y[1].length),p&&(A=(I=o(i,"GPS",w+S).join("")).length),d)&&(N=(E=o(s,"Interop",w+S+A).join("")).length);if(g&&(b=o(u,"1st",w+S+A+N),(v=function(e){var t=f(e);for(;"ÿà"<=t[1].slice(0,2)&&t[1].slice(0,2)<="ÿï";)t=[t[0]].concat(t.slice(2));return t.join("")}(l.thumbnail)).length>64e3))throw new Error("Given thumbnail is too large. max 64kB");var T="",R="",_="",F="\0\0\0\0";if(c){var M=h(">L",[D=8+w]);T=h(">H",[34665])+h(">H",[m.Long])+h(">L",[1])+M}if(p){M=h(">L",[D=8+w+S]);R=h(">H",[34853])+h(">H",[m.Long])+h(">L",[1])+M}if(d){M=h(">L",[D=8+w+S+A]);_=h(">H",[40965])+h(">H",[m.Long])+h(">L",[1])+M}if(g){var D;F=h(">L",[D=8+w+S+A+N]);var O="\0\0\0\0"+h(">L",[D+b[0].length+24+4+b[1].length]),L="\0\0\0\0"+h(">L",[v.length]);C=b[0]+O+L+"\0\0\0\0"+b[1]+v}var P=x[0]+T+R+F+x[1];return c&&(k=y[0]+_+y[1]),"Exif\0\0MM\0*\0\0\0\b"+P+k+I+E+C},u.prototype={get_ifd:function(e,t){var n,r={},a=p(this.endian_mark+"H",this.tiftag.slice(e,e+2))[0],s=e+2;n=["0th","1st"].indexOf(t)>-1?"Image":t;for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("B",a),this.tiftag.slice(t,t+a))):n=p(this.endian_mark+d("B",a),s.slice(0,a));else if(2==r)a>4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a-1)):n=s.slice(0,a-1);else if(3==r)a>2?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("H",a),this.tiftag.slice(t,t+2*a))):n=p(this.endian_mark+d("H",a),s.slice(0,2*a));else if(4==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("L",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("L",a),s);else if(5==r)if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a)):n=s.slice(0,a);else if(9==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("l",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("l",a),s);else{if(10!=r)throw new Error("Exif might be wrong. Got incorrect value type to decode. type:"+r);if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(i=0;i>2,s=(3&t)<<4|(n=e.charCodeAt(l++))>>4,i=(15&n)<<2|(r=e.charCodeAt(l++))>>6,o=63&r,isNaN(n)?i=o=64:isNaN(r)&&(o=64),u=u+c.charAt(a)+c.charAt(s)+c.charAt(i)+c.charAt(o);return u};if("undefined"!=typeof window&&"function"==typeof window.atob)var c=window.atob;if(void 0===c)c=function(e){var t,n,r,a,s,i,o="",u=0,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u>4,n=(15&a)<<4|(s=l.indexOf(e.charAt(u++)))>>2,r=(3&s)<<6|(i=l.indexOf(e.charAt(u++))),o+=String.fromCharCode(t),64!=s&&(o+=String.fromCharCode(n)),64!=i&&(o+=String.fromCharCode(r));return o};function h(e,t){if(!(t instanceof Array))throw new Error("'pack' error. Got invalid type argument.");if(e.length-1!=t.length)throw new Error("'pack' error. "+(e.length-1)+" marks, "+t.length+" elements.");var n;if("<"==e[0])n=!0;else{if(">"!=e[0])throw new Error("");n=!1}for(var r="",a=1,s=null,i=null,o=null;i=e[a];){if("b"==i.toLowerCase()){if(s=t[a-1],"b"==i&&s<0&&(s+=256),s>255||s<0)throw new Error("'pack' error.");o=String.fromCharCode(s)}else if("H"==i){if((s=t[a-1])>65535||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}else{if("l"!=i.toLowerCase())throw new Error("'pack' error.");if(s=t[a-1],"l"==i&&s<0&&(s+=4294967296),s>4294967295||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s/16777216))+String.fromCharCode(Math.floor(s%16777216/65536))+String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}r+=o,a+=1}return r}function p(e,t){if("string"!=typeof t)throw new Error("'unpack' error. Got invalid type argument.");for(var n,r=0,a=1;a"!=e[0])throw new Error("'unpack' error.");n=!1}for(var s=[],i=0,o=1,u=null,l=null,c=null,h="";l=e[o];){if("b"==l.toLowerCase())c=1,u=(h=t.slice(i,i+c)).charCodeAt(0),"b"==l&&u>=128&&(u-=256);else if("H"==l)c=2,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=256*h.charCodeAt(0)+h.charCodeAt(1);else{if("l"!=l.toLowerCase())throw new Error("'unpack' error. "+l);c=4,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=16777216*h.charCodeAt(0)+65536*h.charCodeAt(1)+256*h.charCodeAt(2)+h.charCodeAt(3),"l"==l&&u>=2147483648&&(u-=4294967296)}s.push(u),i+=c,o+=1}return s}function d(e,t){for(var n="",r=0;rH",e.slice(t+2,t+4))[0]+2;if(n.push(e.slice(t,r)),(t=r)>=e.length)throw new Error("Wrong JPEG data.")}return n}var m={Byte:1,Ascii:2,Short:3,Long:4,Rational:5,Undefined:7,SLong:9,SRational:10},g={Image:{11:{name:"ProcessingSoftware",type:"Ascii"},254:{name:"NewSubfileType",type:"Long"},255:{name:"SubfileType",type:"Short"},256:{name:"ImageWidth",type:"Long"},257:{name:"ImageLength",type:"Long"},258:{name:"BitsPerSample",type:"Short"},259:{name:"Compression",type:"Short"},262:{name:"PhotometricInterpretation",type:"Short"},263:{name:"Threshholding",type:"Short"},264:{name:"CellWidth",type:"Short"},265:{name:"CellLength",type:"Short"},266:{name:"FillOrder",type:"Short"},269:{name:"DocumentName",type:"Ascii"},270:{name:"ImageDescription",type:"Ascii"},271:{name:"Make",type:"Ascii"},272:{name:"Model",type:"Ascii"},273:{name:"StripOffsets",type:"Long"},274:{name:"Orientation",type:"Short"},277:{name:"SamplesPerPixel",type:"Short"},278:{name:"RowsPerStrip",type:"Long"},279:{name:"StripByteCounts",type:"Long"},282:{name:"XResolution",type:"Rational"},283:{name:"YResolution",type:"Rational"},284:{name:"PlanarConfiguration",type:"Short"},290:{name:"GrayResponseUnit",type:"Short"},291:{name:"GrayResponseCurve",type:"Short"},292:{name:"T4Options",type:"Long"},293:{name:"T6Options",type:"Long"},296:{name:"ResolutionUnit",type:"Short"},301:{name:"TransferFunction",type:"Short"},305:{name:"Software",type:"Ascii"},306:{name:"DateTime",type:"Ascii"},315:{name:"Artist",type:"Ascii"},316:{name:"HostComputer",type:"Ascii"},317:{name:"Predictor",type:"Short"},318:{name:"WhitePoint",type:"Rational"},319:{name:"PrimaryChromaticities",type:"Rational"},320:{name:"ColorMap",type:"Short"},321:{name:"HalftoneHints",type:"Short"},322:{name:"TileWidth",type:"Short"},323:{name:"TileLength",type:"Short"},324:{name:"TileOffsets",type:"Short"},325:{name:"TileByteCounts",type:"Short"},330:{name:"SubIFDs",type:"Long"},332:{name:"InkSet",type:"Short"},333:{name:"InkNames",type:"Ascii"},334:{name:"NumberOfInks",type:"Short"},336:{name:"DotRange",type:"Byte"},337:{name:"TargetPrinter",type:"Ascii"},338:{name:"ExtraSamples",type:"Short"},339:{name:"SampleFormat",type:"Short"},340:{name:"SMinSampleValue",type:"Short"},341:{name:"SMaxSampleValue",type:"Short"},342:{name:"TransferRange",type:"Short"},343:{name:"ClipPath",type:"Byte"},344:{name:"XClipPathUnits",type:"Long"},345:{name:"YClipPathUnits",type:"Long"},346:{name:"Indexed",type:"Short"},347:{name:"JPEGTables",type:"Undefined"},351:{name:"OPIProxy",type:"Short"},512:{name:"JPEGProc",type:"Long"},513:{name:"JPEGInterchangeFormat",type:"Long"},514:{name:"JPEGInterchangeFormatLength",type:"Long"},515:{name:"JPEGRestartInterval",type:"Short"},517:{name:"JPEGLosslessPredictors",type:"Short"},518:{name:"JPEGPointTransforms",type:"Short"},519:{name:"JPEGQTables",type:"Long"},520:{name:"JPEGDCTables",type:"Long"},521:{name:"JPEGACTables",type:"Long"},529:{name:"YCbCrCoefficients",type:"Rational"},530:{name:"YCbCrSubSampling",type:"Short"},531:{name:"YCbCrPositioning",type:"Short"},532:{name:"ReferenceBlackWhite",type:"Rational"},700:{name:"XMLPacket",type:"Byte"},18246:{name:"Rating",type:"Short"},18249:{name:"RatingPercent",type:"Short"},32781:{name:"ImageID",type:"Ascii"},33421:{name:"CFARepeatPatternDim",type:"Short"},33422:{name:"CFAPattern",type:"Byte"},33423:{name:"BatteryLevel",type:"Rational"},33432:{name:"Copyright",type:"Ascii"},33434:{name:"ExposureTime",type:"Rational"},34377:{name:"ImageResources",type:"Byte"},34665:{name:"ExifTag",type:"Long"},34675:{name:"InterColorProfile",type:"Undefined"},34853:{name:"GPSTag",type:"Long"},34857:{name:"Interlace",type:"Short"},34858:{name:"TimeZoneOffset",type:"Long"},34859:{name:"SelfTimerMode",type:"Short"},37387:{name:"FlashEnergy",type:"Rational"},37388:{name:"SpatialFrequencyResponse",type:"Undefined"},37389:{name:"Noise",type:"Undefined"},37390:{name:"FocalPlaneXResolution",type:"Rational"},37391:{name:"FocalPlaneYResolution",type:"Rational"},37392:{name:"FocalPlaneResolutionUnit",type:"Short"},37393:{name:"ImageNumber",type:"Long"},37394:{name:"SecurityClassification",type:"Ascii"},37395:{name:"ImageHistory",type:"Ascii"},37397:{name:"ExposureIndex",type:"Rational"},37398:{name:"TIFFEPStandardID",type:"Byte"},37399:{name:"SensingMethod",type:"Short"},40091:{name:"XPTitle",type:"Byte"},40092:{name:"XPComment",type:"Byte"},40093:{name:"XPAuthor",type:"Byte"},40094:{name:"XPKeywords",type:"Byte"},40095:{name:"XPSubject",type:"Byte"},50341:{name:"PrintImageMatching",type:"Undefined"},50706:{name:"DNGVersion",type:"Byte"},50707:{name:"DNGBackwardVersion",type:"Byte"},50708:{name:"UniqueCameraModel",type:"Ascii"},50709:{name:"LocalizedCameraModel",type:"Byte"},50710:{name:"CFAPlaneColor",type:"Byte"},50711:{name:"CFALayout",type:"Short"},50712:{name:"LinearizationTable",type:"Short"},50713:{name:"BlackLevelRepeatDim",type:"Short"},50714:{name:"BlackLevel",type:"Rational"},50715:{name:"BlackLevelDeltaH",type:"SRational"},50716:{name:"BlackLevelDeltaV",type:"SRational"},50717:{name:"WhiteLevel",type:"Short"},50718:{name:"DefaultScale",type:"Rational"},50719:{name:"DefaultCropOrigin",type:"Short"},50720:{name:"DefaultCropSize",type:"Short"},50721:{name:"ColorMatrix1",type:"SRational"},50722:{name:"ColorMatrix2",type:"SRational"},50723:{name:"CameraCalibration1",type:"SRational"},50724:{name:"CameraCalibration2",type:"SRational"},50725:{name:"ReductionMatrix1",type:"SRational"},50726:{name:"ReductionMatrix2",type:"SRational"},50727:{name:"AnalogBalance",type:"Rational"},50728:{name:"AsShotNeutral",type:"Short"},50729:{name:"AsShotWhiteXY",type:"Rational"},50730:{name:"BaselineExposure",type:"SRational"},50731:{name:"BaselineNoise",type:"Rational"},50732:{name:"BaselineSharpness",type:"Rational"},50733:{name:"BayerGreenSplit",type:"Long"},50734:{name:"LinearResponseLimit",type:"Rational"},50735:{name:"CameraSerialNumber",type:"Ascii"},50736:{name:"LensInfo",type:"Rational"},50737:{name:"ChromaBlurRadius",type:"Rational"},50738:{name:"AntiAliasStrength",type:"Rational"},50739:{name:"ShadowScale",type:"SRational"},50740:{name:"DNGPrivateData",type:"Byte"},50741:{name:"MakerNoteSafety",type:"Short"},50778:{name:"CalibrationIlluminant1",type:"Short"},50779:{name:"CalibrationIlluminant2",type:"Short"},50780:{name:"BestQualityScale",type:"Rational"},50781:{name:"RawDataUniqueID",type:"Byte"},50827:{name:"OriginalRawFileName",type:"Byte"},50828:{name:"OriginalRawFileData",type:"Undefined"},50829:{name:"ActiveArea",type:"Short"},50830:{name:"MaskedAreas",type:"Short"},50831:{name:"AsShotICCProfile",type:"Undefined"},50832:{name:"AsShotPreProfileMatrix",type:"SRational"},50833:{name:"CurrentICCProfile",type:"Undefined"},50834:{name:"CurrentPreProfileMatrix",type:"SRational"},50879:{name:"ColorimetricReference",type:"Short"},50931:{name:"CameraCalibrationSignature",type:"Byte"},50932:{name:"ProfileCalibrationSignature",type:"Byte"},50934:{name:"AsShotProfileName",type:"Byte"},50935:{name:"NoiseReductionApplied",type:"Rational"},50936:{name:"ProfileName",type:"Byte"},50937:{name:"ProfileHueSatMapDims",type:"Long"},50938:{name:"ProfileHueSatMapData1",type:"Float"},50939:{name:"ProfileHueSatMapData2",type:"Float"},50940:{name:"ProfileToneCurve",type:"Float"},50941:{name:"ProfileEmbedPolicy",type:"Long"},50942:{name:"ProfileCopyright",type:"Byte"},50964:{name:"ForwardMatrix1",type:"SRational"},50965:{name:"ForwardMatrix2",type:"SRational"},50966:{name:"PreviewApplicationName",type:"Byte"},50967:{name:"PreviewApplicationVersion",type:"Byte"},50968:{name:"PreviewSettingsName",type:"Byte"},50969:{name:"PreviewSettingsDigest",type:"Byte"},50970:{name:"PreviewColorSpace",type:"Long"},50971:{name:"PreviewDateTime",type:"Ascii"},50972:{name:"RawImageDigest",type:"Undefined"},50973:{name:"OriginalRawFileDigest",type:"Undefined"},50974:{name:"SubTileBlockSize",type:"Long"},50975:{name:"RowInterleaveFactor",type:"Long"},50981:{name:"ProfileLookTableDims",type:"Long"},50982:{name:"ProfileLookTableData",type:"Float"},51008:{name:"OpcodeList1",type:"Undefined"},51009:{name:"OpcodeList2",type:"Undefined"},51022:{name:"OpcodeList3",type:"Undefined"}},Exif:{33434:{name:"ExposureTime",type:"Rational"},33437:{name:"FNumber",type:"Rational"},34850:{name:"ExposureProgram",type:"Short"},34852:{name:"SpectralSensitivity",type:"Ascii"},34855:{name:"ISOSpeedRatings",type:"Short"},34856:{name:"OECF",type:"Undefined"},34864:{name:"SensitivityType",type:"Short"},34865:{name:"StandardOutputSensitivity",type:"Long"},34866:{name:"RecommendedExposureIndex",type:"Long"},34867:{name:"ISOSpeed",type:"Long"},34868:{name:"ISOSpeedLatitudeyyy",type:"Long"},34869:{name:"ISOSpeedLatitudezzz",type:"Long"},36864:{name:"ExifVersion",type:"Undefined"},36867:{name:"DateTimeOriginal",type:"Ascii"},36868:{name:"DateTimeDigitized",type:"Ascii"},37121:{name:"ComponentsConfiguration",type:"Undefined"},37122:{name:"CompressedBitsPerPixel",type:"Rational"},37377:{name:"ShutterSpeedValue",type:"SRational"},37378:{name:"ApertureValue",type:"Rational"},37379:{name:"BrightnessValue",type:"SRational"},37380:{name:"ExposureBiasValue",type:"SRational"},37381:{name:"MaxApertureValue",type:"Rational"},37382:{name:"SubjectDistance",type:"Rational"},37383:{name:"MeteringMode",type:"Short"},37384:{name:"LightSource",type:"Short"},37385:{name:"Flash",type:"Short"},37386:{name:"FocalLength",type:"Rational"},37396:{name:"SubjectArea",type:"Short"},37500:{name:"MakerNote",type:"Undefined"},37510:{name:"UserComment",type:"Ascii"},37520:{name:"SubSecTime",type:"Ascii"},37521:{name:"SubSecTimeOriginal",type:"Ascii"},37522:{name:"SubSecTimeDigitized",type:"Ascii"},40960:{name:"FlashpixVersion",type:"Undefined"},40961:{name:"ColorSpace",type:"Short"},40962:{name:"PixelXDimension",type:"Long"},40963:{name:"PixelYDimension",type:"Long"},40964:{name:"RelatedSoundFile",type:"Ascii"},40965:{name:"InteroperabilityTag",type:"Long"},41483:{name:"FlashEnergy",type:"Rational"},41484:{name:"SpatialFrequencyResponse",type:"Undefined"},41486:{name:"FocalPlaneXResolution",type:"Rational"},41487:{name:"FocalPlaneYResolution",type:"Rational"},41488:{name:"FocalPlaneResolutionUnit",type:"Short"},41492:{name:"SubjectLocation",type:"Short"},41493:{name:"ExposureIndex",type:"Rational"},41495:{name:"SensingMethod",type:"Short"},41728:{name:"FileSource",type:"Undefined"},41729:{name:"SceneType",type:"Undefined"},41730:{name:"CFAPattern",type:"Undefined"},41985:{name:"CustomRendered",type:"Short"},41986:{name:"ExposureMode",type:"Short"},41987:{name:"WhiteBalance",type:"Short"},41988:{name:"DigitalZoomRatio",type:"Rational"},41989:{name:"FocalLengthIn35mmFilm",type:"Short"},41990:{name:"SceneCaptureType",type:"Short"},41991:{name:"GainControl",type:"Short"},41992:{name:"Contrast",type:"Short"},41993:{name:"Saturation",type:"Short"},41994:{name:"Sharpness",type:"Short"},41995:{name:"DeviceSettingDescription",type:"Undefined"},41996:{name:"SubjectDistanceRange",type:"Short"},42016:{name:"ImageUniqueID",type:"Ascii"},42032:{name:"CameraOwnerName",type:"Ascii"},42033:{name:"BodySerialNumber",type:"Ascii"},42034:{name:"LensSpecification",type:"Rational"},42035:{name:"LensMake",type:"Ascii"},42036:{name:"LensModel",type:"Ascii"},42037:{name:"LensSerialNumber",type:"Ascii"},42240:{name:"Gamma",type:"Rational"}},GPS:{0:{name:"GPSVersionID",type:"Byte"},1:{name:"GPSLatitudeRef",type:"Ascii"},2:{name:"GPSLatitude",type:"Rational"},3:{name:"GPSLongitudeRef",type:"Ascii"},4:{name:"GPSLongitude",type:"Rational"},5:{name:"GPSAltitudeRef",type:"Byte"},6:{name:"GPSAltitude",type:"Rational"},7:{name:"GPSTimeStamp",type:"Rational"},8:{name:"GPSSatellites",type:"Ascii"},9:{name:"GPSStatus",type:"Ascii"},10:{name:"GPSMeasureMode",type:"Ascii"},11:{name:"GPSDOP",type:"Rational"},12:{name:"GPSSpeedRef",type:"Ascii"},13:{name:"GPSSpeed",type:"Rational"},14:{name:"GPSTrackRef",type:"Ascii"},15:{name:"GPSTrack",type:"Rational"},16:{name:"GPSImgDirectionRef",type:"Ascii"},17:{name:"GPSImgDirection",type:"Rational"},18:{name:"GPSMapDatum",type:"Ascii"},19:{name:"GPSDestLatitudeRef",type:"Ascii"},20:{name:"GPSDestLatitude",type:"Rational"},21:{name:"GPSDestLongitudeRef",type:"Ascii"},22:{name:"GPSDestLongitude",type:"Rational"},23:{name:"GPSDestBearingRef",type:"Ascii"},24:{name:"GPSDestBearing",type:"Rational"},25:{name:"GPSDestDistanceRef",type:"Ascii"},26:{name:"GPSDestDistance",type:"Rational"},27:{name:"GPSProcessingMethod",type:"Undefined"},28:{name:"GPSAreaInformation",type:"Undefined"},29:{name:"GPSDateStamp",type:"Ascii"},30:{name:"GPSDifferential",type:"Short"},31:{name:"GPSHPositioningError",type:"Rational"}},Interop:{1:{name:"InteroperabilityIndex",type:"Ascii"}}};g["0th"]=g.Image,g["1st"]=g.Image,n.TAGS=g,n.ImageIFD={ProcessingSoftware:11,NewSubfileType:254,SubfileType:255,ImageWidth:256,ImageLength:257,BitsPerSample:258,Compression:259,PhotometricInterpretation:262,Threshholding:263,CellWidth:264,CellLength:265,FillOrder:266,DocumentName:269,ImageDescription:270,Make:271,Model:272,StripOffsets:273,Orientation:274,SamplesPerPixel:277,RowsPerStrip:278,StripByteCounts:279,XResolution:282,YResolution:283,PlanarConfiguration:284,GrayResponseUnit:290,GrayResponseCurve:291,T4Options:292,T6Options:293,ResolutionUnit:296,TransferFunction:301,Software:305,DateTime:306,Artist:315,HostComputer:316,Predictor:317,WhitePoint:318,PrimaryChromaticities:319,ColorMap:320,HalftoneHints:321,TileWidth:322,TileLength:323,TileOffsets:324,TileByteCounts:325,SubIFDs:330,InkSet:332,InkNames:333,NumberOfInks:334,DotRange:336,TargetPrinter:337,ExtraSamples:338,SampleFormat:339,SMinSampleValue:340,SMaxSampleValue:341,TransferRange:342,ClipPath:343,XClipPathUnits:344,YClipPathUnits:345,Indexed:346,JPEGTables:347,OPIProxy:351,JPEGProc:512,JPEGInterchangeFormat:513,JPEGInterchangeFormatLength:514,JPEGRestartInterval:515,JPEGLosslessPredictors:517,JPEGPointTransforms:518,JPEGQTables:519,JPEGDCTables:520,JPEGACTables:521,YCbCrCoefficients:529,YCbCrSubSampling:530,YCbCrPositioning:531,ReferenceBlackWhite:532,XMLPacket:700,Rating:18246,RatingPercent:18249,ImageID:32781,CFARepeatPatternDim:33421,CFAPattern:33422,BatteryLevel:33423,Copyright:33432,ExposureTime:33434,ImageResources:34377,ExifTag:34665,InterColorProfile:34675,GPSTag:34853,Interlace:34857,TimeZoneOffset:34858,SelfTimerMode:34859,FlashEnergy:37387,SpatialFrequencyResponse:37388,Noise:37389,FocalPlaneXResolution:37390,FocalPlaneYResolution:37391,FocalPlaneResolutionUnit:37392,ImageNumber:37393,SecurityClassification:37394,ImageHistory:37395,ExposureIndex:37397,TIFFEPStandardID:37398,SensingMethod:37399,XPTitle:40091,XPComment:40092,XPAuthor:40093,XPKeywords:40094,XPSubject:40095,PrintImageMatching:50341,DNGVersion:50706,DNGBackwardVersion:50707,UniqueCameraModel:50708,LocalizedCameraModel:50709,CFAPlaneColor:50710,CFALayout:50711,LinearizationTable:50712,BlackLevelRepeatDim:50713,BlackLevel:50714,BlackLevelDeltaH:50715,BlackLevelDeltaV:50716,WhiteLevel:50717,DefaultScale:50718,DefaultCropOrigin:50719,DefaultCropSize:50720,ColorMatrix1:50721,ColorMatrix2:50722,CameraCalibration1:50723,CameraCalibration2:50724,ReductionMatrix1:50725,ReductionMatrix2:50726,AnalogBalance:50727,AsShotNeutral:50728,AsShotWhiteXY:50729,BaselineExposure:50730,BaselineNoise:50731,BaselineSharpness:50732,BayerGreenSplit:50733,LinearResponseLimit:50734,CameraSerialNumber:50735,LensInfo:50736,ChromaBlurRadius:50737,AntiAliasStrength:50738,ShadowScale:50739,DNGPrivateData:50740,MakerNoteSafety:50741,CalibrationIlluminant1:50778,CalibrationIlluminant2:50779,BestQualityScale:50780,RawDataUniqueID:50781,OriginalRawFileName:50827,OriginalRawFileData:50828,ActiveArea:50829,MaskedAreas:50830,AsShotICCProfile:50831,AsShotPreProfileMatrix:50832,CurrentICCProfile:50833,CurrentPreProfileMatrix:50834,ColorimetricReference:50879,CameraCalibrationSignature:50931,ProfileCalibrationSignature:50932,AsShotProfileName:50934,NoiseReductionApplied:50935,ProfileName:50936,ProfileHueSatMapDims:50937,ProfileHueSatMapData1:50938,ProfileHueSatMapData2:50939,ProfileToneCurve:50940,ProfileEmbedPolicy:50941,ProfileCopyright:50942,ForwardMatrix1:50964,ForwardMatrix2:50965,PreviewApplicationName:50966,PreviewApplicationVersion:50967,PreviewSettingsName:50968,PreviewSettingsDigest:50969,PreviewColorSpace:50970,PreviewDateTime:50971,RawImageDigest:50972,OriginalRawFileDigest:50973,SubTileBlockSize:50974,RowInterleaveFactor:50975,ProfileLookTableDims:50981,ProfileLookTableData:50982,OpcodeList1:51008,OpcodeList2:51009,OpcodeList3:51022,NoiseProfile:51041},n.ExifIFD={ExposureTime:33434,FNumber:33437,ExposureProgram:34850,SpectralSensitivity:34852,ISOSpeedRatings:34855,OECF:34856,SensitivityType:34864,StandardOutputSensitivity:34865,RecommendedExposureIndex:34866,ISOSpeed:34867,ISOSpeedLatitudeyyy:34868,ISOSpeedLatitudezzz:34869,ExifVersion:36864,DateTimeOriginal:36867,DateTimeDigitized:36868,ComponentsConfiguration:37121,CompressedBitsPerPixel:37122,ShutterSpeedValue:37377,ApertureValue:37378,BrightnessValue:37379,ExposureBiasValue:37380,MaxApertureValue:37381,SubjectDistance:37382,MeteringMode:37383,LightSource:37384,Flash:37385,FocalLength:37386,SubjectArea:37396,MakerNote:37500,UserComment:37510,SubSecTime:37520,SubSecTimeOriginal:37521,SubSecTimeDigitized:37522,FlashpixVersion:40960,ColorSpace:40961,PixelXDimension:40962,PixelYDimension:40963,RelatedSoundFile:40964,InteroperabilityTag:40965,FlashEnergy:41483,SpatialFrequencyResponse:41484,FocalPlaneXResolution:41486,FocalPlaneYResolution:41487,FocalPlaneResolutionUnit:41488,SubjectLocation:41492,ExposureIndex:41493,SensingMethod:41495,FileSource:41728,SceneType:41729,CFAPattern:41730,CustomRendered:41985,ExposureMode:41986,WhiteBalance:41987,DigitalZoomRatio:41988,FocalLengthIn35mmFilm:41989,SceneCaptureType:41990,GainControl:41991,Contrast:41992,Saturation:41993,Sharpness:41994,DeviceSettingDescription:41995,SubjectDistanceRange:41996,ImageUniqueID:42016,CameraOwnerName:42032,BodySerialNumber:42033,LensSpecification:42034,LensMake:42035,LensModel:42036,LensSerialNumber:42037,Gamma:42240},n.GPSIFD={GPSVersionID:0,GPSLatitudeRef:1,GPSLatitude:2,GPSLongitudeRef:3,GPSLongitude:4,GPSAltitudeRef:5,GPSAltitude:6,GPSTimeStamp:7,GPSSatellites:8,GPSStatus:9,GPSMeasureMode:10,GPSDOP:11,GPSSpeedRef:12,GPSSpeed:13,GPSTrackRef:14,GPSTrack:15,GPSImgDirectionRef:16,GPSImgDirection:17,GPSMapDatum:18,GPSDestLatitudeRef:19,GPSDestLatitude:20,GPSDestLongitudeRef:21,GPSDestLongitude:22,GPSDestBearingRef:23,GPSDestBearing:24,GPSDestDistanceRef:25,GPSDestDistance:26,GPSProcessingMethod:27,GPSAreaInformation:28,GPSDateStamp:29,GPSDifferential:30,GPSHPositioningError:31},n.InteropIFD={InteroperabilityIndex:1},n.GPSHelper={degToDmsRational:function(e){var t=Math.abs(e),n=t%1*60,r=n%1*60;return[[Math.floor(t),1],[Math.floor(n),1],[Math.round(100*r),100]]},dmsRationalToDeg:function(e,t){var n="S"===t||"W"===t?-1:1;return(e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600)*n}},e.exports&&(t=e.exports=n),t.piexif=n}()}));const Iq=async(e,t,n)=>{const r=await(e=>new Promise((t,n)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.readAsDataURL(e)}))(e),a=Sq.load(r),s=(await navigator.mediaDevices.enumerateDevices()).filter(e=>"videoinput"===e.kind).map(e=>e.label),i={width:n.width,height:n.height,usedCamera:t.label,camerasOnDevice:s},o={"0th":Object.assign(Object.assign({},a["0th"]),{[Sq.ImageIFD.Model]:i.usedCamera,[Sq.ImageIFD.ImageWidth]:i.width,[Sq.ImageIFD.ImageLength]:i.height}),Exif:Object.assign(Object.assign({},a.Exif),{[Sq.ExifIFD.UserComment]:JSON.stringify(i)}),GPS:Object.assign({},a.GPS),Interop:Object.assign({},a.Interop),"1st":Object.assign({},a["1st"]),thumbnail:a.thumbnail},u=Sq.dump(o),l=Sq.insert(u,r);return await fetch(l).then(e=>e.blob())},Aq=new Image;var Eq;Aq.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwIiBoZWlnaHQ9IjIyNC45OTk5OTk5OTk5OTk5NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIHZlcnNpb249IjEuMSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CiA8Zz4KICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgPGcgc3Ryb2tlPSJudWxsIiBpZD0iTGF5ZXIgMSI+CiAgIDxwYXRoIHN0cm9rZT0iIzRjYTU4NSIgaWQ9InN2Z18xIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJtNzQuMjc3NjUsNi45Mjc2MWMtMTEuMzc1OTcsLTAuMDE3MTMgLTMzLjU2NTUxLDUuMTA0MzMgLTQ2LjgxMzE2LDE5LjQ5NDgxYy02Ljc0MTQzLDcuMzIyOTIgLTE4LjEyMjY5LDIzLjA2OTY3IC0xOS4yNjc1OCw1OS42MTM2OWMtMC41MTkwNiwxNi41NjkyMSA1LjA0NTI0LDYwLjYyNTMzIDEwLjI0MDA2LDc2LjQ2Nzc1YzMuNjMxMywxMS4wNzQ2OCAyNy40ODIxNSw0My45MzM0OSA0NC40OTA2LDUzLjY4MjUxYzQuODA3OTEsMi43NTU0NiAxMS4yOTY2OCwyLjY4MjUxIDEyLjQyMjU1LDIuNjgyNTFjMS4xODg3NiwtMC4wODQ1NyA3LjMzMDI2LDAuMDcyOTQgMTIuMTM3NjUsLTIuNjgyNTFjMTcuMDA4NDYsLTkuNzQ5MDIgNDAuNDAyMDgsLTQyLjc2ODUxIDQ0LjQ5MDYsLTUzLjY4MjUxYzQuNDAwMzgsLTExLjc0NDkxIDEwLjc1OTY1LC01OS44OTg1NCAxMC4yNDAwNiwtNzYuNDY3NzVjLTEuMTQ0ODksLTM2LjU0NDAyIC0xMi41MjYxNSwtNTIuMjkwNzcgLTE5LjI2NzU4LC01OS42MTM2OWMtMTMuMjQ3NjUsLTE0LjM5MDQ4IC0zNS4zMDY2MywtMTkuNTI5MzMgLTQ2Ljc3ODI3LC0xOS40OTQ4MWMtMC43NDY4OCwwLjAwMjIyIC0xLjg5NDk0LDAgLTEuODk0OTQsMHoiIHN0cm9rZS13aWR0aD0iNy42NSIvPgogIDwvZz4KIDwvZz4KPC9zdmc+Cg==",function(e){e.JPEG="image/jpeg",e.PNG="image/png"}(Eq||(Eq={}));class Nq{constructor(e,t){this.showMask=!1,this.videoSize={width:0,height:0},this.streamPaused=!1,this.pauseStream=()=>{this.streamPaused=!0,this.videoElement.pause(),this.dropMask(),this.faceDetection&&kq.getInstance().stopDetector()},this.device=e,this.detector=kq.getInstance(this,e.isMobile,t)}setShowMask(e){this.showMask=e}setFaceDetection(e){this.faceDetection=e}setProbabilityThreshold(e){kq.getInstance().setProbabilityThreshold(e)}setCallbackErrors(e){this.callbackErrors=e}setCallbackAutoCapturing(e){this.callbackAutoCapturing=e}setCallbackFaceDetectionErrors(e){this.callbackFaceDetectionErrors=e}static getInstance(e,t){return Nq.instance||(Nq.instance=new Nq(e,t)),Nq.instance}returnErrors(e){this.callbackFaceDetectionErrors(e)}autoCapturing(){this.callbackAutoCapturing()}updateHtmlElements(e,t){this.videoElement=e,this.canvasElement=t,this.detector.updateHtmlElements(e)}async startDetection(){return this.detector.startDetector()}static orientationChange(){Nq.instance&&Nq.getInstance().drawMask()}startStream(e){this.stream&&this.stream.getTracks().forEach(e=>e.stop()),this.stream=e,"srcObject"in this.videoElement?this.videoElement.srcObject=e:this.videoElement.src=window.URL.createObjectURL(e),this.videoElement.play().then(()=>{this.streamPaused=!1,l.cameraReadyEvent(),this.drawMask(),this.faceDetection&&this.startDetection()})}async initStream(e){this.startStream(e)}async resumeStream(){this.streamPaused=!1,await this.videoElement.play(),this.drawMask(),this.faceDetection&&await kq.getInstance().startDetector()}updateCanvasSize(e){this.videoSize={width:this.videoElement.videoWidth,height:this.videoElement.videoHeight},e.width=this.videoSize.width,e.height=this.videoSize.height}dropStream(){this.streamStopped()||(this.stream.getTracks().forEach(e=>e.stop()),this.videoElement.srcObject=null),this.faceDetection&&kq.getInstance().stopDetector()}streamStopped(){return!(this.stream&&this.stream.getTracks&&this.stream.getTracks().length>0)}drawMask(){this.showMask&&!this.streamPaused&&setTimeout(()=>{this.updateCanvasSize(this.canvasElement);const e=this.canvasElement,t=e.getContext("2d"),n=e.width/Aq.width,r=e.height/Aq.height,a=Math.min(n,r),s=e.width{const t=document.createElement("canvas");t.width=this.videoElement.videoWidth,t.height=this.videoElement.videoHeight,e([await this.getFrame(t)])})}getFrame(e){return new Promise(t=>{e.getContext("2d").drawImage(this.videoElement,0,0,e.width,e.height),e.toBlob(e=>{if(e.type!==Eq.JPEG||this.device.isIos)t(e);else try{Iq(e,this.stream.getTracks()[0],this.videoSize).then(e=>t(e))}catch(n){t(e),this.callbackErrors(n,!1)}},Eq.PNG,1)})}}window.addEventListener("resize",Nq.orientationChange,!1),window.addEventListener("orientationchange",Nq.orientationChange,!1);let Cq=class{constructor(e){Object(u.f)(this,e),this.eventVideoStarted=Object(u.b)(this,"videoStarted",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.errorCameraEvent=Object(u.b)(this,"errorCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.callbackErrors=(e,t)=>{t?(this.errorCameraEvent.emit(e),this.eventCloseCamera.emit()):this.errorCameraEvent.emit(e)},this.callbackAutoCapturing=()=>{this.device.isMobile?this.eventMakePhoto.emit():this.eventTakePhoto.emit()},this.callbackFaceDetectionErrors=e=>{l.detectionError(e)}}componentDidLoad(){this.startStream()}render(){const e="camera "+(this.device.isMobile?"cameraMobile":"");return Object(u.d)("div",{class:e},Object(u.d)("video",{loop:!0,autoplay:!0,playsinline:!0,muted:!0,class:"cameraVideo",ref:e=>this.cameraVideo=e}),Object(u.d)("canvas",{class:"cameraCanvas",ref:e=>this.cameraCanvas=e}))}startStream(){Nq.instance||Nq.getInstance(this.device,this.modelPath);const e=Nq.getInstance();e.updateHtmlElements(this.cameraVideo,this.cameraCanvas),e.setShowMask(this.showMask),e.setFaceDetection(this.faceDetection),e.setProbabilityThreshold(this.probabilityThreshold),e.setCallbackErrors(this.callbackErrors),e.setCallbackAutoCapturing(this.callbackAutoCapturing),e.setCallbackFaceDetectionErrors(this.callbackFaceDetectionErrors)}};Cq.style=".camera{width:100%;height:100%;color:white;display:flex;align-items:center;justify-content:center;position:relative}.cameraCanvas{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);max-width:100%;max-height:100%;z-index:2}.cameraVideo{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);z-index:1;position:absolute;max-width:100%;max-height:100%}.cameraMobile{position:fixed;top:0;left:0;background:black}.canvas-on-video{max-width:100%;max-height:100%;position:absolute;left:50%;top:50%;z-index:2;transform:scale(-1, 1)}";let Tq=class{constructor(e){Object(u.f)(this,e),this.updateState=()=>{this._showMask="true"===this.show_mask,this._disable_control_panel="true"===this.disable_control_panel,this._face_detection="true"===this.face_detection,this._stopAfterCapturing="true"===this.stop_after_capturing,this._probabilityThreshold=this.probability_threshold?+this.probability_threshold:50,this.url_logo=this.url_logo?this.url_logo:"data:image/png;charset=utf-8;base64,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",this._debug="true"===this.debug,kq.debug=this._debug},this.photoIsReady=e=>{this._stopAfterCapturing&&this.closeCamera(),l.captureEvent(e)},this.enableButton=()=>{this._resolutionOnPhoto=!0},this.updateState(),this._cameraStatus=0,this._resolutionOnPhoto=!1,this._device=xq(),this._mobile=this._device.isMobile,this._mobileMakePhoto=!1}videoStarted(){this._resolutionOnPhoto=!0}async retakePhoto(){this._mobileMakePhoto=!1,await Nq.getInstance().resumeStream()}takePhoto(){Nq.getInstance().takePhoto().then(e=>{this.photoIsReady(e)})}async openCamera(){this._cameraStatus=1;const e=this._device.isMac?{audio:!1,video:{facingMode:"user",width:1920,height:1080}}:{audio:!1,video:{facingMode:"user",width:{ideal:1920},height:{ideal:1080}}};setTimeout(()=>{navigator.mediaDevices.getUserMedia(e).then(e=>{Nq.getInstance().initStream(e),this.videoStarted()}).catch(e=>{this.closeCamera(),l.errorEvent(e)})},100)}async loadModels(e){await kq.initDetector(e.detail.path)}errorCamera(e){l.errorEvent(e.detail.message)}closeCamera(){Nq.instance&&(this._cameraStatus=0,l.closeEvent(),Nq.getInstance().dropStream(),this._mobileMakePhoto=!1,this._resolutionOnPhoto=!1)}makePhoto(){this._mobile?(this._mobileMakePhoto=!0,Nq.getInstance().pauseStream()):this.takePhoto()}componentWillLoad(){l.init(this.component),navigator.mediaDevices||l.errorEvent("This browser does not support webRTC")}componentDidUpdate(){this.updateState()}render(){let e;return e=this._cameraStatus?Object(u.d)("camera-comp",{class:"block",showMask:this._showMask,device:this._device,faceDetection:this._face_detection,modelPath:this.model_path,probabilityThreshold:this._probabilityThreshold}):Object(u.d)("img",{src:this.url_logo,class:"logo",style:this.logo_style?JSON.parse(this.logo_style):"",alt:"logo"}),Object(u.d)("div",{class:"cameraContainer",id:"cameraContainer",style:{backgroundColor:this.background_color}},Object(u.d)("div",{class:"wrapperCamera",style:{height:this._disable_control_panel?"100%":"65%"}},e),Object(u.d)("control-panel",{class:"block",mobile:this._mobile,disableControlPanel:this._disable_control_panel,cameraStatus:this._cameraStatus,resolutionOnPhoto:this._resolutionOnPhoto,mobileMakePhoto:this._mobileMakePhoto,faceDetection:this._face_detection}))}get component(){return Object(u.c)(this)}};Tq.style=".cameraContainer{width:100%;height:100%;z-index:10;position:relative;overflow:hidden}.logo{max-height:450px;max-width:450px}.wrapperCamera{display:flex;justify-content:center;align-items:center}.block{width:100%;height:100%}@media screen and (orientation: portrait){.history{width:100vw;font-size:20px}@media screen and (max-height: 667px){.logo{background-size:120px;max-height:120px;max-width:120px}}@media screen and (min-height: 668px) and (max-height: 812px){.logo{background-size:140px;max-height:140px;max-width:140px}}@media (max-height: 667px){.logo{margin:0 auto}}}@media screen and (max-height: 414px){.logo{background-size:140px;max-height:140px;max-width:140px}}";const Rq=(e,t)=>[...t];let _q=class{constructor(e){Object(u.f)(this,e),this.eventOpenCamera=Object(u.b)(this,"openCamera",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventRetakePhoto=Object(u.b)(this,"retakePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.makePhoto=()=>{this.eventMakePhoto.emit()},this.closeCamera=()=>{this.eventCloseCamera.emit()},this.openCamera=()=>{this.eventOpenCamera.emit()},this.takePhoto=()=>{this.eventTakePhoto.emit()},this.retakePhoto=async()=>{this.eventRetakePhoto.emit()}}render(){return Object(u.d)("div",{class:"controlPanel"+(this.mobile?" controlMobile":"")},this.mobile?Object(u.d)("div",null,this.cameraStatus?Object(u.d)("div",null,this.mobileMakePhoto?Object(u.d)("div",null,Object(u.d)("div",{onClick:this.retakePhoto,class:"retake"},"retake"),Object(u.d)("img",{onClick:this.takePhoto,alt:"submit",class:"shoot takePhoto",src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjEuMC4yLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDggNDg7IiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4Ij4KPHBhdGggc3R5bGU9ImZpbGw6I0M4RTZDOTsiIGQ9Ik00NCwyNGMwLDExLjA0NS04Ljk1NSwyMC0yMCwyMFM0LDM1LjA0NSw0LDI0UzEyLjk1NSw0LDI0LDRTNDQsMTIuOTU1LDQ0LDI0eiIvPgo8cGF0aCBzdHlsZT0iZmlsbDojNENBRjUwOyIgZD0iTTM0LjU4NiwxNC41ODZsLTEzLjU3LDEzLjU4NmwtNS42MDItNS41ODZsLTIuODI4LDIuODI4bDguNDM0LDguNDE0bDE2LjM5NS0xNi40MTRMMzQuNTg2LDE0LjU4NnoiLz4KPC9zdmc+Cg=="})):Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto,class:"shoot"}),Object(u.d)("div",{onClick:this.closeCamera,class:"close"},"close")):Object(u.d)("div",null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)("button",{onClick:this.openCamera},"Turn on camera"))):Object(u.d)(Rq,null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)(Rq,null,this.cameraStatus?Object(u.d)(Rq,null,Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto},"Capture"),Object(u.d)("button",{onClick:this.closeCamera,class:"cameraOff"},"Close camera")):Object(u.d)("button",{onClick:this.openCamera},"Open camera"))))}};_q.style='.controlPanel{height:35%;display:flex;justify-content:space-evenly;align-items:center;width:100%;max-width:450px;margin:auto}.buttons{width:100%;max-width:450px;display:flex;justify-content:space-evenly;align-items:center}button{width:164px;height:50px;border:none;margin-bottom:10px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;color:#fff;font-family:"Avenir", Helvetica, sans-serif;font-weight:600;font-size:16px;background-color:#4ca585;outline:none;cursor:pointer}button[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.cameraOff{background-color:#667a87}.cameraOff:hover{background-color:#92a8b5}.shoot{width:50px;height:50px;border-radius:25px;border:2px solid white;outline:none;background-color:red;position:fixed;left:calc(50% - 25px);bottom:10px}.shoot[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.close{position:fixed;right:6vw;top:2vh;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.retake{position:fixed;right:6vw;bottom:35px;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.takePhoto{width:46px;height:46px;bottom:20px;background:none}@media screen and (orientation:landscape) and (min-width: 360px){.shoot{bottom:calc(50% - 25px);left:auto;right:5vw}}'}.call(this,"/index.js",n(124),"/",n(33),n(238).Buffer,n(242).setImmediate)},function(e,t,n){"use strict";(function(e){ /*! * The buffer module from node.js, for the browser. * diff --git a/public/acuant/11.9.3/AcuantPassiveLiveness.min.js b/public/acuant/11.9.3/AcuantPassiveLiveness.min.js index 9c1a39cc826..9d59630713d 100644 --- a/public/acuant/11.9.3/AcuantPassiveLiveness.min.js +++ b/public/acuant/11.9.3/AcuantPassiveLiveness.min.js @@ -231,7 +231,7 @@ var fq=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?a * limitations under the License. * ============================================================================= */ -/** @license See the LICENSE file. */(e,{width:this.videoElement.videoWidth,height:this.videoElement.videoHeight}),n=new hq,r=this.checkNumberFaces(t);return n.FACE_NOT_FOUND=!r&&0===t.length,n.TOO_MANY_FACES=!r&&t.length>this.MAX_NUMBER_FACES,r&&(wq&&(n.FACE_ANGLE_TOO_LARGE=!this.checkHeadRotation(t)),n.PROBABILITY_TOO_SMALL=!this.checkProbability(t),n.FACE_TOO_SMALL=!this.checkFaceSize(t),n.FACE_CLOSE_TO_BORDER=!this.checkFaceIndent(t)),n}autoCapturing(){kq.debug&&console.info(this.counterSuccessfulResults),this.counterSuccessfulResults>=this.DEFAULT_NUMBER_SUCCESSFUL_RESULTS_FOR_AUTO_CAPTURING&&(this.stream.autoCapturing(),this.counterSuccessfulResults=0)}checkNumberFaces(e){return e.length===this.MAX_NUMBER_FACES}checkProbability(e){return e[0].detection.score>+this.probabilityThreshold/100}checkFaceSize(e){const t=e[0].detection.box,{width:n,height:r,area:a}=t,{imageHeight:s,imageWidth:i}=e[0].detection,o=100/(s*i/a);return Math.min(n/this.videoRatio,r/this.videoRatio)>(this.isMobile?this.MIN_FACE_SIZE_FOR_MOBILE:this.MIN_FACE_SIZE_FOR_DESKTOP)&&o>(this.isMobile?this.MIN_OCCUPIED_SPACE_FOR_MOBILE:this.MIN_OCCUPIED_SPACE_FOR_DESKTOP)}checkFaceIndent(e){const t=e[0].detection.box,{imageHeight:n,imageWidth:r}=e[0].detection,{top:a,left:s,bottom:i,right:o}=t,u=s,l=r-o,c=n-i;return!(athis.MAX_ANGLE_TURN_HEAD||-1*a[2]>this.MAX_ANGLE_TURN_HEAD?this.headTurnCounter++:(this.counterSuccessfulHeadTurns++,this.counterSuccessfulHeadTurns>=5&&(this.headTurnCounter=0,this.counterSuccessfulHeadTurns=0)),this.headTurnCounter<=1}drawFaces(e){this.innerCanvas||this.createCanvasForDrawingMask(this.videoElement);const t=this.innerCanvas;if(!t)return console.error("no canvas for drawing");const n=t.getContext("2d");if(n){n.clearRect(0,0,t.width,t.height),n.font='small-caps 20px "Segoe UI"',n.fillStyle="white";for(const t of e){n.lineWidth=3,n.strokeStyle="deepskyblue",n.fillStyle="deepskyblue",n.globalAlpha=.6,n.beginPath(),n.rect(t.detection.box.x,t.detection.box.y,t.detection.box.width,t.detection.box.height),n.stroke(),n.globalAlpha=1,n.globalAlpha=.8,n.fillStyle="lightblue";const e=2;for(let r=0;r"+d("B",e.length),e)}function a(e){return h(">"+d("H",e.length),e)}function s(e){return h(">"+d("L",e.length),e)}function i(e,t,n){var i,o,u,l,c="",p="";if("Byte"==t)(i=e.length)<=4?p=r(e)+d("\0",4-i):(p=h(">L",[n]),c=r(e));else if("Short"==t)(i=e.length)<=2?p=a(e)+d("\0\0",2-i):(p=h(">L",[n]),c=a(e));else if("Long"==t)(i=e.length)<=1?p=s(e):(p=h(">L",[n]),c=s(e));else if("Ascii"==t)(i=(o=e+"\0").length)>4?(p=h(">L",[n]),c=o):p=o+d("\0",4-i);else if("Rational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">L",[u])+h(">L",[l]);else{i=e.length,o="";for(var f=0;fL",[u])+h(">L",[l])}p=h(">L",[n]),c=o}else if("SRational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">l",[u])+h(">l",[l]);else{i=e.length,o="";for(f=0;fl",[u])+h(">l",[l])}p=h(">L",[n]),c=o}else"Undefined"==t&&((i=e.length)>4?(p=h(">L",[n]),c=e):p=e+d("\0",4-i));return[h(">L",[i]),p,c]}function o(e,t,n){var r,a=Object.keys(e).length,s=h(">H",[a]);r=["0th","1st"].indexOf(t)>-1?2+12*a+4:2+12*a;var o="",u="";for(var l in e)if("string"==typeof l&&(l=parseInt(l)),!("0th"==t&&[34665,34853].indexOf(l)>-1||"Exif"==t&&40965==l||"1st"==t&&[513,514].indexOf(l)>-1)){var c=e[l],p=h(">H",[l]),d=g[t][l].type,f=h(">H",[m[d]]);"number"==typeof c&&(c=[c]);var y=i(c,d,8+r+n+u.length);o+=p+f+y[0]+y[1],u+=y[2]}return[s+o,u]}function u(e){var t;if("ÿØ"==e.slice(0,2))t=function(e){for(var t,n=0;n-1)this.tiftag=e;else{if("Exif"!=e.slice(0,4))throw new Error("Given file is neither JPEG nor TIFF.");this.tiftag=e.slice(6)}}if(n.version="1.0.4",n.remove=function(e){var t=!1;if("ÿØ"==e.slice(0,2));else{if("data:image/jpeg;base64,"!=e.slice(0,23)&&"data:image/jpg;base64,"!=e.slice(0,22))throw new Error("Given data is not jpeg.");e=c(e.split(",")[1]),t=!0}var n=f(e).filter((function(e){return!("ÿá"==e.slice(0,2)&&"Exif\0\0"==e.slice(4,10))})).join("");return t&&(n="data:image/jpeg;base64,"+l(n)),n},n.insert=function(e,t){var n=!1;if("Exif\0\0"!=e.slice(0,6))throw new Error("Given data is not exif.");if("ÿØ"==t.slice(0,2));else{if("data:image/jpeg;base64,"!=t.slice(0,23)&&"data:image/jpg;base64,"!=t.slice(0,22))throw new Error("Given data is not jpeg.");t=c(t.split(",")[1]),n=!0}var r="ÿá"+h(">H",[e.length+2])+e,a=function(e,t){var n=!1,r=[];e.forEach((function(a,s){"ÿá"==a.slice(0,2)&&"Exif\0\0"==a.slice(4,10)&&(n?r.unshift(s):(e[s]=t,n=!0))})),r.forEach((function(t){e.splice(t,1)})),!n&&t&&(e=[e[0],t].concat(e.slice(1)));return e.join("")}(f(t),r);return n&&(a="data:image/jpeg;base64,"+l(a)),a},n.load=function(e){var t;if("string"!=typeof e)throw new Error("'load' gots invalid type argument.");if("ÿØ"==e.slice(0,2))t=e;else if("data:image/jpeg;base64,"==e.slice(0,23)||"data:image/jpg;base64,"==e.slice(0,22))t=c(e.split(",")[1]);else{if("Exif"!=e.slice(0,4))throw new Error("'load' gots invalid file data.");t=e.slice(6)}var n={"0th":{},Exif:{},GPS:{},Interop:{},"1st":{},thumbnail:null},r=new u(t);if(null===r.tiftag)return n;"II"==r.tiftag.slice(0,2)?r.endian_mark="<":r.endian_mark=">";var a=p(r.endian_mark+"L",r.tiftag.slice(4,8))[0];n["0th"]=r.get_ifd(a,"0th");var s=n["0th"].first_ifd_pointer;if(delete n["0th"].first_ifd_pointer,34665 in n["0th"]&&(a=n["0th"][34665],n.Exif=r.get_ifd(a,"Exif")),34853 in n["0th"]&&(a=n["0th"][34853],n.GPS=r.get_ifd(a,"GPS")),40965 in n.Exif&&(a=n.Exif[40965],n.Interop=r.get_ifd(a,"Interop")),"\0\0\0\0"!=s&&(a=p(r.endian_mark+"L",s)[0],n["1st"]=r.get_ifd(a,"1st"),513 in n["1st"]&&514 in n["1st"])){var i=n["1st"][513]+n["1st"][514],o=r.tiftag.slice(n["1st"][513],i);n.thumbnail=o}return n},n.dump=function(e){var t,r,a,s,i,u,l=(t=e,JSON.parse(JSON.stringify(t))),c=!1,p=!1,d=!1,g=!1;r="0th"in l?l["0th"]:{},"Exif"in l&&Object.keys(l.Exif).length||"Interop"in l&&Object.keys(l.Interop).length?(r[34665]=1,c=!0,a=l.Exif,"Interop"in l&&Object.keys(l.Interop).length?(a[40965]=1,d=!0,s=l.Interop):Object.keys(a).indexOf(n.ExifIFD.InteroperabilityTag.toString())>-1&&delete a[40965]):Object.keys(r).indexOf(n.ImageIFD.ExifTag.toString())>-1&&delete r[34665],"GPS"in l&&Object.keys(l.GPS).length?(r[n.ImageIFD.GPSTag]=1,p=!0,i=l.GPS):Object.keys(r).indexOf(n.ImageIFD.GPSTag.toString())>-1&&delete r[n.ImageIFD.GPSTag],"1st"in l&&"thumbnail"in l&&null!=l.thumbnail&&(g=!0,l["1st"][513]=1,l["1st"][514]=1,u=l["1st"]);var y,b,v,x=o(r,"0th",0),w=x[0].length+12*c+12*p+4+x[1].length,k="",S=0,I="",A=0,E="",N=0,C="";(c&&(S=(y=o(a,"Exif",w))[0].length+12*d+y[1].length),p&&(A=(I=o(i,"GPS",w+S).join("")).length),d)&&(N=(E=o(s,"Interop",w+S+A).join("")).length);if(g&&(b=o(u,"1st",w+S+A+N),(v=function(e){var t=f(e);for(;"ÿà"<=t[1].slice(0,2)&&t[1].slice(0,2)<="ÿï";)t=[t[0]].concat(t.slice(2));return t.join("")}(l.thumbnail)).length>64e3))throw new Error("Given thumbnail is too large. max 64kB");var T="",R="",_="",F="\0\0\0\0";if(c){var M=h(">L",[D=8+w]);T=h(">H",[34665])+h(">H",[m.Long])+h(">L",[1])+M}if(p){M=h(">L",[D=8+w+S]);R=h(">H",[34853])+h(">H",[m.Long])+h(">L",[1])+M}if(d){M=h(">L",[D=8+w+S+A]);_=h(">H",[40965])+h(">H",[m.Long])+h(">L",[1])+M}if(g){var D;F=h(">L",[D=8+w+S+A+N]);var O="\0\0\0\0"+h(">L",[D+b[0].length+24+4+b[1].length]),L="\0\0\0\0"+h(">L",[v.length]);C=b[0]+O+L+"\0\0\0\0"+b[1]+v}var P=x[0]+T+R+F+x[1];return c&&(k=y[0]+_+y[1]),"Exif\0\0MM\0*\0\0\0\b"+P+k+I+E+C},u.prototype={get_ifd:function(e,t){var n,r={},a=p(this.endian_mark+"H",this.tiftag.slice(e,e+2))[0],s=e+2;n=["0th","1st"].indexOf(t)>-1?"Image":t;for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("B",a),this.tiftag.slice(t,t+a))):n=p(this.endian_mark+d("B",a),s.slice(0,a));else if(2==r)a>4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a-1)):n=s.slice(0,a-1);else if(3==r)a>2?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("H",a),this.tiftag.slice(t,t+2*a))):n=p(this.endian_mark+d("H",a),s.slice(0,2*a));else if(4==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("L",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("L",a),s);else if(5==r)if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a)):n=s.slice(0,a);else if(9==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("l",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("l",a),s);else{if(10!=r)throw new Error("Exif might be wrong. Got incorrect value type to decode. type:"+r);if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(i=0;i>2,s=(3&t)<<4|(n=e.charCodeAt(l++))>>4,i=(15&n)<<2|(r=e.charCodeAt(l++))>>6,o=63&r,isNaN(n)?i=o=64:isNaN(r)&&(o=64),u=u+c.charAt(a)+c.charAt(s)+c.charAt(i)+c.charAt(o);return u};if("undefined"!=typeof window&&"function"==typeof window.atob)var c=window.atob;if(void 0===c)c=function(e){var t,n,r,a,s,i,o="",u=0,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u>4,n=(15&a)<<4|(s=l.indexOf(e.charAt(u++)))>>2,r=(3&s)<<6|(i=l.indexOf(e.charAt(u++))),o+=String.fromCharCode(t),64!=s&&(o+=String.fromCharCode(n)),64!=i&&(o+=String.fromCharCode(r));return o};function h(e,t){if(!(t instanceof Array))throw new Error("'pack' error. Got invalid type argument.");if(e.length-1!=t.length)throw new Error("'pack' error. "+(e.length-1)+" marks, "+t.length+" elements.");var n;if("<"==e[0])n=!0;else{if(">"!=e[0])throw new Error("");n=!1}for(var r="",a=1,s=null,i=null,o=null;i=e[a];){if("b"==i.toLowerCase()){if(s=t[a-1],"b"==i&&s<0&&(s+=256),s>255||s<0)throw new Error("'pack' error.");o=String.fromCharCode(s)}else if("H"==i){if((s=t[a-1])>65535||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}else{if("l"!=i.toLowerCase())throw new Error("'pack' error.");if(s=t[a-1],"l"==i&&s<0&&(s+=4294967296),s>4294967295||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s/16777216))+String.fromCharCode(Math.floor(s%16777216/65536))+String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}r+=o,a+=1}return r}function p(e,t){if("string"!=typeof t)throw new Error("'unpack' error. Got invalid type argument.");for(var n,r=0,a=1;a"!=e[0])throw new Error("'unpack' error.");n=!1}for(var s=[],i=0,o=1,u=null,l=null,c=null,h="";l=e[o];){if("b"==l.toLowerCase())c=1,u=(h=t.slice(i,i+c)).charCodeAt(0),"b"==l&&u>=128&&(u-=256);else if("H"==l)c=2,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=256*h.charCodeAt(0)+h.charCodeAt(1);else{if("l"!=l.toLowerCase())throw new Error("'unpack' error. "+l);c=4,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=16777216*h.charCodeAt(0)+65536*h.charCodeAt(1)+256*h.charCodeAt(2)+h.charCodeAt(3),"l"==l&&u>=2147483648&&(u-=4294967296)}s.push(u),i+=c,o+=1}return s}function d(e,t){for(var n="",r=0;rH",e.slice(t+2,t+4))[0]+2;if(n.push(e.slice(t,r)),(t=r)>=e.length)throw new Error("Wrong JPEG data.")}return n}var m={Byte:1,Ascii:2,Short:3,Long:4,Rational:5,Undefined:7,SLong:9,SRational:10},g={Image:{11:{name:"ProcessingSoftware",type:"Ascii"},254:{name:"NewSubfileType",type:"Long"},255:{name:"SubfileType",type:"Short"},256:{name:"ImageWidth",type:"Long"},257:{name:"ImageLength",type:"Long"},258:{name:"BitsPerSample",type:"Short"},259:{name:"Compression",type:"Short"},262:{name:"PhotometricInterpretation",type:"Short"},263:{name:"Threshholding",type:"Short"},264:{name:"CellWidth",type:"Short"},265:{name:"CellLength",type:"Short"},266:{name:"FillOrder",type:"Short"},269:{name:"DocumentName",type:"Ascii"},270:{name:"ImageDescription",type:"Ascii"},271:{name:"Make",type:"Ascii"},272:{name:"Model",type:"Ascii"},273:{name:"StripOffsets",type:"Long"},274:{name:"Orientation",type:"Short"},277:{name:"SamplesPerPixel",type:"Short"},278:{name:"RowsPerStrip",type:"Long"},279:{name:"StripByteCounts",type:"Long"},282:{name:"XResolution",type:"Rational"},283:{name:"YResolution",type:"Rational"},284:{name:"PlanarConfiguration",type:"Short"},290:{name:"GrayResponseUnit",type:"Short"},291:{name:"GrayResponseCurve",type:"Short"},292:{name:"T4Options",type:"Long"},293:{name:"T6Options",type:"Long"},296:{name:"ResolutionUnit",type:"Short"},301:{name:"TransferFunction",type:"Short"},305:{name:"Software",type:"Ascii"},306:{name:"DateTime",type:"Ascii"},315:{name:"Artist",type:"Ascii"},316:{name:"HostComputer",type:"Ascii"},317:{name:"Predictor",type:"Short"},318:{name:"WhitePoint",type:"Rational"},319:{name:"PrimaryChromaticities",type:"Rational"},320:{name:"ColorMap",type:"Short"},321:{name:"HalftoneHints",type:"Short"},322:{name:"TileWidth",type:"Short"},323:{name:"TileLength",type:"Short"},324:{name:"TileOffsets",type:"Short"},325:{name:"TileByteCounts",type:"Short"},330:{name:"SubIFDs",type:"Long"},332:{name:"InkSet",type:"Short"},333:{name:"InkNames",type:"Ascii"},334:{name:"NumberOfInks",type:"Short"},336:{name:"DotRange",type:"Byte"},337:{name:"TargetPrinter",type:"Ascii"},338:{name:"ExtraSamples",type:"Short"},339:{name:"SampleFormat",type:"Short"},340:{name:"SMinSampleValue",type:"Short"},341:{name:"SMaxSampleValue",type:"Short"},342:{name:"TransferRange",type:"Short"},343:{name:"ClipPath",type:"Byte"},344:{name:"XClipPathUnits",type:"Long"},345:{name:"YClipPathUnits",type:"Long"},346:{name:"Indexed",type:"Short"},347:{name:"JPEGTables",type:"Undefined"},351:{name:"OPIProxy",type:"Short"},512:{name:"JPEGProc",type:"Long"},513:{name:"JPEGInterchangeFormat",type:"Long"},514:{name:"JPEGInterchangeFormatLength",type:"Long"},515:{name:"JPEGRestartInterval",type:"Short"},517:{name:"JPEGLosslessPredictors",type:"Short"},518:{name:"JPEGPointTransforms",type:"Short"},519:{name:"JPEGQTables",type:"Long"},520:{name:"JPEGDCTables",type:"Long"},521:{name:"JPEGACTables",type:"Long"},529:{name:"YCbCrCoefficients",type:"Rational"},530:{name:"YCbCrSubSampling",type:"Short"},531:{name:"YCbCrPositioning",type:"Short"},532:{name:"ReferenceBlackWhite",type:"Rational"},700:{name:"XMLPacket",type:"Byte"},18246:{name:"Rating",type:"Short"},18249:{name:"RatingPercent",type:"Short"},32781:{name:"ImageID",type:"Ascii"},33421:{name:"CFARepeatPatternDim",type:"Short"},33422:{name:"CFAPattern",type:"Byte"},33423:{name:"BatteryLevel",type:"Rational"},33432:{name:"Copyright",type:"Ascii"},33434:{name:"ExposureTime",type:"Rational"},34377:{name:"ImageResources",type:"Byte"},34665:{name:"ExifTag",type:"Long"},34675:{name:"InterColorProfile",type:"Undefined"},34853:{name:"GPSTag",type:"Long"},34857:{name:"Interlace",type:"Short"},34858:{name:"TimeZoneOffset",type:"Long"},34859:{name:"SelfTimerMode",type:"Short"},37387:{name:"FlashEnergy",type:"Rational"},37388:{name:"SpatialFrequencyResponse",type:"Undefined"},37389:{name:"Noise",type:"Undefined"},37390:{name:"FocalPlaneXResolution",type:"Rational"},37391:{name:"FocalPlaneYResolution",type:"Rational"},37392:{name:"FocalPlaneResolutionUnit",type:"Short"},37393:{name:"ImageNumber",type:"Long"},37394:{name:"SecurityClassification",type:"Ascii"},37395:{name:"ImageHistory",type:"Ascii"},37397:{name:"ExposureIndex",type:"Rational"},37398:{name:"TIFFEPStandardID",type:"Byte"},37399:{name:"SensingMethod",type:"Short"},40091:{name:"XPTitle",type:"Byte"},40092:{name:"XPComment",type:"Byte"},40093:{name:"XPAuthor",type:"Byte"},40094:{name:"XPKeywords",type:"Byte"},40095:{name:"XPSubject",type:"Byte"},50341:{name:"PrintImageMatching",type:"Undefined"},50706:{name:"DNGVersion",type:"Byte"},50707:{name:"DNGBackwardVersion",type:"Byte"},50708:{name:"UniqueCameraModel",type:"Ascii"},50709:{name:"LocalizedCameraModel",type:"Byte"},50710:{name:"CFAPlaneColor",type:"Byte"},50711:{name:"CFALayout",type:"Short"},50712:{name:"LinearizationTable",type:"Short"},50713:{name:"BlackLevelRepeatDim",type:"Short"},50714:{name:"BlackLevel",type:"Rational"},50715:{name:"BlackLevelDeltaH",type:"SRational"},50716:{name:"BlackLevelDeltaV",type:"SRational"},50717:{name:"WhiteLevel",type:"Short"},50718:{name:"DefaultScale",type:"Rational"},50719:{name:"DefaultCropOrigin",type:"Short"},50720:{name:"DefaultCropSize",type:"Short"},50721:{name:"ColorMatrix1",type:"SRational"},50722:{name:"ColorMatrix2",type:"SRational"},50723:{name:"CameraCalibration1",type:"SRational"},50724:{name:"CameraCalibration2",type:"SRational"},50725:{name:"ReductionMatrix1",type:"SRational"},50726:{name:"ReductionMatrix2",type:"SRational"},50727:{name:"AnalogBalance",type:"Rational"},50728:{name:"AsShotNeutral",type:"Short"},50729:{name:"AsShotWhiteXY",type:"Rational"},50730:{name:"BaselineExposure",type:"SRational"},50731:{name:"BaselineNoise",type:"Rational"},50732:{name:"BaselineSharpness",type:"Rational"},50733:{name:"BayerGreenSplit",type:"Long"},50734:{name:"LinearResponseLimit",type:"Rational"},50735:{name:"CameraSerialNumber",type:"Ascii"},50736:{name:"LensInfo",type:"Rational"},50737:{name:"ChromaBlurRadius",type:"Rational"},50738:{name:"AntiAliasStrength",type:"Rational"},50739:{name:"ShadowScale",type:"SRational"},50740:{name:"DNGPrivateData",type:"Byte"},50741:{name:"MakerNoteSafety",type:"Short"},50778:{name:"CalibrationIlluminant1",type:"Short"},50779:{name:"CalibrationIlluminant2",type:"Short"},50780:{name:"BestQualityScale",type:"Rational"},50781:{name:"RawDataUniqueID",type:"Byte"},50827:{name:"OriginalRawFileName",type:"Byte"},50828:{name:"OriginalRawFileData",type:"Undefined"},50829:{name:"ActiveArea",type:"Short"},50830:{name:"MaskedAreas",type:"Short"},50831:{name:"AsShotICCProfile",type:"Undefined"},50832:{name:"AsShotPreProfileMatrix",type:"SRational"},50833:{name:"CurrentICCProfile",type:"Undefined"},50834:{name:"CurrentPreProfileMatrix",type:"SRational"},50879:{name:"ColorimetricReference",type:"Short"},50931:{name:"CameraCalibrationSignature",type:"Byte"},50932:{name:"ProfileCalibrationSignature",type:"Byte"},50934:{name:"AsShotProfileName",type:"Byte"},50935:{name:"NoiseReductionApplied",type:"Rational"},50936:{name:"ProfileName",type:"Byte"},50937:{name:"ProfileHueSatMapDims",type:"Long"},50938:{name:"ProfileHueSatMapData1",type:"Float"},50939:{name:"ProfileHueSatMapData2",type:"Float"},50940:{name:"ProfileToneCurve",type:"Float"},50941:{name:"ProfileEmbedPolicy",type:"Long"},50942:{name:"ProfileCopyright",type:"Byte"},50964:{name:"ForwardMatrix1",type:"SRational"},50965:{name:"ForwardMatrix2",type:"SRational"},50966:{name:"PreviewApplicationName",type:"Byte"},50967:{name:"PreviewApplicationVersion",type:"Byte"},50968:{name:"PreviewSettingsName",type:"Byte"},50969:{name:"PreviewSettingsDigest",type:"Byte"},50970:{name:"PreviewColorSpace",type:"Long"},50971:{name:"PreviewDateTime",type:"Ascii"},50972:{name:"RawImageDigest",type:"Undefined"},50973:{name:"OriginalRawFileDigest",type:"Undefined"},50974:{name:"SubTileBlockSize",type:"Long"},50975:{name:"RowInterleaveFactor",type:"Long"},50981:{name:"ProfileLookTableDims",type:"Long"},50982:{name:"ProfileLookTableData",type:"Float"},51008:{name:"OpcodeList1",type:"Undefined"},51009:{name:"OpcodeList2",type:"Undefined"},51022:{name:"OpcodeList3",type:"Undefined"}},Exif:{33434:{name:"ExposureTime",type:"Rational"},33437:{name:"FNumber",type:"Rational"},34850:{name:"ExposureProgram",type:"Short"},34852:{name:"SpectralSensitivity",type:"Ascii"},34855:{name:"ISOSpeedRatings",type:"Short"},34856:{name:"OECF",type:"Undefined"},34864:{name:"SensitivityType",type:"Short"},34865:{name:"StandardOutputSensitivity",type:"Long"},34866:{name:"RecommendedExposureIndex",type:"Long"},34867:{name:"ISOSpeed",type:"Long"},34868:{name:"ISOSpeedLatitudeyyy",type:"Long"},34869:{name:"ISOSpeedLatitudezzz",type:"Long"},36864:{name:"ExifVersion",type:"Undefined"},36867:{name:"DateTimeOriginal",type:"Ascii"},36868:{name:"DateTimeDigitized",type:"Ascii"},37121:{name:"ComponentsConfiguration",type:"Undefined"},37122:{name:"CompressedBitsPerPixel",type:"Rational"},37377:{name:"ShutterSpeedValue",type:"SRational"},37378:{name:"ApertureValue",type:"Rational"},37379:{name:"BrightnessValue",type:"SRational"},37380:{name:"ExposureBiasValue",type:"SRational"},37381:{name:"MaxApertureValue",type:"Rational"},37382:{name:"SubjectDistance",type:"Rational"},37383:{name:"MeteringMode",type:"Short"},37384:{name:"LightSource",type:"Short"},37385:{name:"Flash",type:"Short"},37386:{name:"FocalLength",type:"Rational"},37396:{name:"SubjectArea",type:"Short"},37500:{name:"MakerNote",type:"Undefined"},37510:{name:"UserComment",type:"Ascii"},37520:{name:"SubSecTime",type:"Ascii"},37521:{name:"SubSecTimeOriginal",type:"Ascii"},37522:{name:"SubSecTimeDigitized",type:"Ascii"},40960:{name:"FlashpixVersion",type:"Undefined"},40961:{name:"ColorSpace",type:"Short"},40962:{name:"PixelXDimension",type:"Long"},40963:{name:"PixelYDimension",type:"Long"},40964:{name:"RelatedSoundFile",type:"Ascii"},40965:{name:"InteroperabilityTag",type:"Long"},41483:{name:"FlashEnergy",type:"Rational"},41484:{name:"SpatialFrequencyResponse",type:"Undefined"},41486:{name:"FocalPlaneXResolution",type:"Rational"},41487:{name:"FocalPlaneYResolution",type:"Rational"},41488:{name:"FocalPlaneResolutionUnit",type:"Short"},41492:{name:"SubjectLocation",type:"Short"},41493:{name:"ExposureIndex",type:"Rational"},41495:{name:"SensingMethod",type:"Short"},41728:{name:"FileSource",type:"Undefined"},41729:{name:"SceneType",type:"Undefined"},41730:{name:"CFAPattern",type:"Undefined"},41985:{name:"CustomRendered",type:"Short"},41986:{name:"ExposureMode",type:"Short"},41987:{name:"WhiteBalance",type:"Short"},41988:{name:"DigitalZoomRatio",type:"Rational"},41989:{name:"FocalLengthIn35mmFilm",type:"Short"},41990:{name:"SceneCaptureType",type:"Short"},41991:{name:"GainControl",type:"Short"},41992:{name:"Contrast",type:"Short"},41993:{name:"Saturation",type:"Short"},41994:{name:"Sharpness",type:"Short"},41995:{name:"DeviceSettingDescription",type:"Undefined"},41996:{name:"SubjectDistanceRange",type:"Short"},42016:{name:"ImageUniqueID",type:"Ascii"},42032:{name:"CameraOwnerName",type:"Ascii"},42033:{name:"BodySerialNumber",type:"Ascii"},42034:{name:"LensSpecification",type:"Rational"},42035:{name:"LensMake",type:"Ascii"},42036:{name:"LensModel",type:"Ascii"},42037:{name:"LensSerialNumber",type:"Ascii"},42240:{name:"Gamma",type:"Rational"}},GPS:{0:{name:"GPSVersionID",type:"Byte"},1:{name:"GPSLatitudeRef",type:"Ascii"},2:{name:"GPSLatitude",type:"Rational"},3:{name:"GPSLongitudeRef",type:"Ascii"},4:{name:"GPSLongitude",type:"Rational"},5:{name:"GPSAltitudeRef",type:"Byte"},6:{name:"GPSAltitude",type:"Rational"},7:{name:"GPSTimeStamp",type:"Rational"},8:{name:"GPSSatellites",type:"Ascii"},9:{name:"GPSStatus",type:"Ascii"},10:{name:"GPSMeasureMode",type:"Ascii"},11:{name:"GPSDOP",type:"Rational"},12:{name:"GPSSpeedRef",type:"Ascii"},13:{name:"GPSSpeed",type:"Rational"},14:{name:"GPSTrackRef",type:"Ascii"},15:{name:"GPSTrack",type:"Rational"},16:{name:"GPSImgDirectionRef",type:"Ascii"},17:{name:"GPSImgDirection",type:"Rational"},18:{name:"GPSMapDatum",type:"Ascii"},19:{name:"GPSDestLatitudeRef",type:"Ascii"},20:{name:"GPSDestLatitude",type:"Rational"},21:{name:"GPSDestLongitudeRef",type:"Ascii"},22:{name:"GPSDestLongitude",type:"Rational"},23:{name:"GPSDestBearingRef",type:"Ascii"},24:{name:"GPSDestBearing",type:"Rational"},25:{name:"GPSDestDistanceRef",type:"Ascii"},26:{name:"GPSDestDistance",type:"Rational"},27:{name:"GPSProcessingMethod",type:"Undefined"},28:{name:"GPSAreaInformation",type:"Undefined"},29:{name:"GPSDateStamp",type:"Ascii"},30:{name:"GPSDifferential",type:"Short"},31:{name:"GPSHPositioningError",type:"Rational"}},Interop:{1:{name:"InteroperabilityIndex",type:"Ascii"}}};g["0th"]=g.Image,g["1st"]=g.Image,n.TAGS=g,n.ImageIFD={ProcessingSoftware:11,NewSubfileType:254,SubfileType:255,ImageWidth:256,ImageLength:257,BitsPerSample:258,Compression:259,PhotometricInterpretation:262,Threshholding:263,CellWidth:264,CellLength:265,FillOrder:266,DocumentName:269,ImageDescription:270,Make:271,Model:272,StripOffsets:273,Orientation:274,SamplesPerPixel:277,RowsPerStrip:278,StripByteCounts:279,XResolution:282,YResolution:283,PlanarConfiguration:284,GrayResponseUnit:290,GrayResponseCurve:291,T4Options:292,T6Options:293,ResolutionUnit:296,TransferFunction:301,Software:305,DateTime:306,Artist:315,HostComputer:316,Predictor:317,WhitePoint:318,PrimaryChromaticities:319,ColorMap:320,HalftoneHints:321,TileWidth:322,TileLength:323,TileOffsets:324,TileByteCounts:325,SubIFDs:330,InkSet:332,InkNames:333,NumberOfInks:334,DotRange:336,TargetPrinter:337,ExtraSamples:338,SampleFormat:339,SMinSampleValue:340,SMaxSampleValue:341,TransferRange:342,ClipPath:343,XClipPathUnits:344,YClipPathUnits:345,Indexed:346,JPEGTables:347,OPIProxy:351,JPEGProc:512,JPEGInterchangeFormat:513,JPEGInterchangeFormatLength:514,JPEGRestartInterval:515,JPEGLosslessPredictors:517,JPEGPointTransforms:518,JPEGQTables:519,JPEGDCTables:520,JPEGACTables:521,YCbCrCoefficients:529,YCbCrSubSampling:530,YCbCrPositioning:531,ReferenceBlackWhite:532,XMLPacket:700,Rating:18246,RatingPercent:18249,ImageID:32781,CFARepeatPatternDim:33421,CFAPattern:33422,BatteryLevel:33423,Copyright:33432,ExposureTime:33434,ImageResources:34377,ExifTag:34665,InterColorProfile:34675,GPSTag:34853,Interlace:34857,TimeZoneOffset:34858,SelfTimerMode:34859,FlashEnergy:37387,SpatialFrequencyResponse:37388,Noise:37389,FocalPlaneXResolution:37390,FocalPlaneYResolution:37391,FocalPlaneResolutionUnit:37392,ImageNumber:37393,SecurityClassification:37394,ImageHistory:37395,ExposureIndex:37397,TIFFEPStandardID:37398,SensingMethod:37399,XPTitle:40091,XPComment:40092,XPAuthor:40093,XPKeywords:40094,XPSubject:40095,PrintImageMatching:50341,DNGVersion:50706,DNGBackwardVersion:50707,UniqueCameraModel:50708,LocalizedCameraModel:50709,CFAPlaneColor:50710,CFALayout:50711,LinearizationTable:50712,BlackLevelRepeatDim:50713,BlackLevel:50714,BlackLevelDeltaH:50715,BlackLevelDeltaV:50716,WhiteLevel:50717,DefaultScale:50718,DefaultCropOrigin:50719,DefaultCropSize:50720,ColorMatrix1:50721,ColorMatrix2:50722,CameraCalibration1:50723,CameraCalibration2:50724,ReductionMatrix1:50725,ReductionMatrix2:50726,AnalogBalance:50727,AsShotNeutral:50728,AsShotWhiteXY:50729,BaselineExposure:50730,BaselineNoise:50731,BaselineSharpness:50732,BayerGreenSplit:50733,LinearResponseLimit:50734,CameraSerialNumber:50735,LensInfo:50736,ChromaBlurRadius:50737,AntiAliasStrength:50738,ShadowScale:50739,DNGPrivateData:50740,MakerNoteSafety:50741,CalibrationIlluminant1:50778,CalibrationIlluminant2:50779,BestQualityScale:50780,RawDataUniqueID:50781,OriginalRawFileName:50827,OriginalRawFileData:50828,ActiveArea:50829,MaskedAreas:50830,AsShotICCProfile:50831,AsShotPreProfileMatrix:50832,CurrentICCProfile:50833,CurrentPreProfileMatrix:50834,ColorimetricReference:50879,CameraCalibrationSignature:50931,ProfileCalibrationSignature:50932,AsShotProfileName:50934,NoiseReductionApplied:50935,ProfileName:50936,ProfileHueSatMapDims:50937,ProfileHueSatMapData1:50938,ProfileHueSatMapData2:50939,ProfileToneCurve:50940,ProfileEmbedPolicy:50941,ProfileCopyright:50942,ForwardMatrix1:50964,ForwardMatrix2:50965,PreviewApplicationName:50966,PreviewApplicationVersion:50967,PreviewSettingsName:50968,PreviewSettingsDigest:50969,PreviewColorSpace:50970,PreviewDateTime:50971,RawImageDigest:50972,OriginalRawFileDigest:50973,SubTileBlockSize:50974,RowInterleaveFactor:50975,ProfileLookTableDims:50981,ProfileLookTableData:50982,OpcodeList1:51008,OpcodeList2:51009,OpcodeList3:51022,NoiseProfile:51041},n.ExifIFD={ExposureTime:33434,FNumber:33437,ExposureProgram:34850,SpectralSensitivity:34852,ISOSpeedRatings:34855,OECF:34856,SensitivityType:34864,StandardOutputSensitivity:34865,RecommendedExposureIndex:34866,ISOSpeed:34867,ISOSpeedLatitudeyyy:34868,ISOSpeedLatitudezzz:34869,ExifVersion:36864,DateTimeOriginal:36867,DateTimeDigitized:36868,ComponentsConfiguration:37121,CompressedBitsPerPixel:37122,ShutterSpeedValue:37377,ApertureValue:37378,BrightnessValue:37379,ExposureBiasValue:37380,MaxApertureValue:37381,SubjectDistance:37382,MeteringMode:37383,LightSource:37384,Flash:37385,FocalLength:37386,SubjectArea:37396,MakerNote:37500,UserComment:37510,SubSecTime:37520,SubSecTimeOriginal:37521,SubSecTimeDigitized:37522,FlashpixVersion:40960,ColorSpace:40961,PixelXDimension:40962,PixelYDimension:40963,RelatedSoundFile:40964,InteroperabilityTag:40965,FlashEnergy:41483,SpatialFrequencyResponse:41484,FocalPlaneXResolution:41486,FocalPlaneYResolution:41487,FocalPlaneResolutionUnit:41488,SubjectLocation:41492,ExposureIndex:41493,SensingMethod:41495,FileSource:41728,SceneType:41729,CFAPattern:41730,CustomRendered:41985,ExposureMode:41986,WhiteBalance:41987,DigitalZoomRatio:41988,FocalLengthIn35mmFilm:41989,SceneCaptureType:41990,GainControl:41991,Contrast:41992,Saturation:41993,Sharpness:41994,DeviceSettingDescription:41995,SubjectDistanceRange:41996,ImageUniqueID:42016,CameraOwnerName:42032,BodySerialNumber:42033,LensSpecification:42034,LensMake:42035,LensModel:42036,LensSerialNumber:42037,Gamma:42240},n.GPSIFD={GPSVersionID:0,GPSLatitudeRef:1,GPSLatitude:2,GPSLongitudeRef:3,GPSLongitude:4,GPSAltitudeRef:5,GPSAltitude:6,GPSTimeStamp:7,GPSSatellites:8,GPSStatus:9,GPSMeasureMode:10,GPSDOP:11,GPSSpeedRef:12,GPSSpeed:13,GPSTrackRef:14,GPSTrack:15,GPSImgDirectionRef:16,GPSImgDirection:17,GPSMapDatum:18,GPSDestLatitudeRef:19,GPSDestLatitude:20,GPSDestLongitudeRef:21,GPSDestLongitude:22,GPSDestBearingRef:23,GPSDestBearing:24,GPSDestDistanceRef:25,GPSDestDistance:26,GPSProcessingMethod:27,GPSAreaInformation:28,GPSDateStamp:29,GPSDifferential:30,GPSHPositioningError:31},n.InteropIFD={InteroperabilityIndex:1},n.GPSHelper={degToDmsRational:function(e){var t=Math.abs(e),n=t%1*60,r=n%1*60;return[[Math.floor(t),1],[Math.floor(n),1],[Math.round(100*r),100]]},dmsRationalToDeg:function(e,t){var n="S"===t||"W"===t?-1:1;return(e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600)*n}},e.exports&&(t=e.exports=n),t.piexif=n}()}));const Iq=async(e,t,n)=>{const r=await(e=>new Promise((t,n)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.readAsDataURL(e)}))(e),a=Sq.load(r),s=(await navigator.mediaDevices.enumerateDevices()).filter(e=>"videoinput"===e.kind).map(e=>e.label),i={width:n.width,height:n.height,usedCamera:t.label,camerasOnDevice:s},o={"0th":Object.assign(Object.assign({},a["0th"]),{[Sq.ImageIFD.Model]:i.usedCamera,[Sq.ImageIFD.ImageWidth]:i.width,[Sq.ImageIFD.ImageLength]:i.height}),Exif:Object.assign(Object.assign({},a.Exif),{[Sq.ExifIFD.UserComment]:JSON.stringify(i)}),GPS:Object.assign({},a.GPS),Interop:Object.assign({},a.Interop),"1st":Object.assign({},a["1st"]),thumbnail:a.thumbnail},u=Sq.dump(o),l=Sq.insert(u,r);return await fetch(l).then(e=>e.blob())},Aq=new Image;var Eq;Aq.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwIiBoZWlnaHQ9IjIyNC45OTk5OTk5OTk5OTk5NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIHZlcnNpb249IjEuMSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CiA8Zz4KICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgPGcgc3Ryb2tlPSJudWxsIiBpZD0iTGF5ZXIgMSI+CiAgIDxwYXRoIHN0cm9rZT0iIzRjYTU4NSIgaWQ9InN2Z18xIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJtNzQuMjc3NjUsNi45Mjc2MWMtMTEuMzc1OTcsLTAuMDE3MTMgLTMzLjU2NTUxLDUuMTA0MzMgLTQ2LjgxMzE2LDE5LjQ5NDgxYy02Ljc0MTQzLDcuMzIyOTIgLTE4LjEyMjY5LDIzLjA2OTY3IC0xOS4yNjc1OCw1OS42MTM2OWMtMC41MTkwNiwxNi41NjkyMSA1LjA0NTI0LDYwLjYyNTMzIDEwLjI0MDA2LDc2LjQ2Nzc1YzMuNjMxMywxMS4wNzQ2OCAyNy40ODIxNSw0My45MzM0OSA0NC40OTA2LDUzLjY4MjUxYzQuODA3OTEsMi43NTU0NiAxMS4yOTY2OCwyLjY4MjUxIDEyLjQyMjU1LDIuNjgyNTFjMS4xODg3NiwtMC4wODQ1NyA3LjMzMDI2LDAuMDcyOTQgMTIuMTM3NjUsLTIuNjgyNTFjMTcuMDA4NDYsLTkuNzQ5MDIgNDAuNDAyMDgsLTQyLjc2ODUxIDQ0LjQ5MDYsLTUzLjY4MjUxYzQuNDAwMzgsLTExLjc0NDkxIDEwLjc1OTY1LC01OS44OTg1NCAxMC4yNDAwNiwtNzYuNDY3NzVjLTEuMTQ0ODksLTM2LjU0NDAyIC0xMi41MjYxNSwtNTIuMjkwNzcgLTE5LjI2NzU4LC01OS42MTM2OWMtMTMuMjQ3NjUsLTE0LjM5MDQ4IC0zNS4zMDY2MywtMTkuNTI5MzMgLTQ2Ljc3ODI3LC0xOS40OTQ4MWMtMC43NDY4OCwwLjAwMjIyIC0xLjg5NDk0LDAgLTEuODk0OTQsMHoiIHN0cm9rZS13aWR0aD0iNy42NSIvPgogIDwvZz4KIDwvZz4KPC9zdmc+Cg==",function(e){e.JPEG="image/jpeg",e.PNG="image/png"}(Eq||(Eq={}));class Nq{constructor(e,t){this.showMask=!1,this.videoSize={width:0,height:0},this.streamPaused=!1,this.pauseStream=()=>{this.streamPaused=!0,this.videoElement.pause(),this.dropMask(),this.faceDetection&&kq.getInstance().stopDetector()},this.device=e,this.detector=kq.getInstance(this,e.isMobile,t)}setShowMask(e){this.showMask=e}setFaceDetection(e){this.faceDetection=e}setProbabilityThreshold(e){kq.getInstance().setProbabilityThreshold(e)}setCallbackErrors(e){this.callbackErrors=e}setCallbackAutoCapturing(e){this.callbackAutoCapturing=e}setCallbackFaceDetectionErrors(e){this.callbackFaceDetectionErrors=e}static getInstance(e,t){return Nq.instance||(Nq.instance=new Nq(e,t)),Nq.instance}returnErrors(e){this.callbackFaceDetectionErrors(e)}autoCapturing(){this.callbackAutoCapturing()}updateHtmlElements(e,t){this.videoElement=e,this.canvasElement=t,this.detector.updateHtmlElements(e)}async startDetection(){return this.detector.startDetector()}static orientationChange(){Nq.instance&&Nq.getInstance().drawMask()}startStream(e){this.stream&&this.stream.getTracks().forEach(e=>e.stop()),this.stream=e,"srcObject"in this.videoElement?this.videoElement.srcObject=e:this.videoElement.src=window.URL.createObjectURL(e),this.videoElement.play().then(()=>{this.streamPaused=!1,l.cameraReadyEvent(),this.drawMask(),this.faceDetection&&this.startDetection()})}async initStream(e){this.startStream(e)}async resumeStream(){this.streamPaused=!1,await this.videoElement.play(),this.drawMask(),this.faceDetection&&await kq.getInstance().startDetector()}updateCanvasSize(e){this.videoSize={width:this.videoElement.videoWidth,height:this.videoElement.videoHeight},e.width=this.videoSize.width,e.height=this.videoSize.height}dropStream(){this.streamStopped()||(this.stream.getTracks().forEach(e=>e.stop()),this.videoElement.srcObject=null),this.faceDetection&&kq.getInstance().stopDetector()}streamStopped(){return!(this.stream&&this.stream.getTracks&&this.stream.getTracks().length>0)}drawMask(){this.showMask&&!this.streamPaused&&setTimeout(()=>{this.updateCanvasSize(this.canvasElement);const e=this.canvasElement,t=e.getContext("2d"),n=e.width/Aq.width,r=e.height/Aq.height,a=Math.min(n,r),s=e.width{const t=document.createElement("canvas");t.width=this.videoElement.videoWidth,t.height=this.videoElement.videoHeight,e([await this.getFrame(t)])})}getFrame(e){return new Promise(t=>{e.getContext("2d").drawImage(this.videoElement,0,0,e.width,e.height),e.toBlob(e=>{if(e.type!==Eq.JPEG||this.device.isIos)t(e);else try{Iq(e,this.stream.getTracks()[0],this.videoSize).then(e=>t(e))}catch(n){t(e),this.callbackErrors(n,!1)}},Eq.PNG,1)})}}window.addEventListener("resize",Nq.orientationChange,!1),window.addEventListener("orientationchange",Nq.orientationChange,!1);let Cq=class{constructor(e){Object(u.f)(this,e),this.eventVideoStarted=Object(u.b)(this,"videoStarted",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.errorCameraEvent=Object(u.b)(this,"errorCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.callbackErrors=(e,t)=>{t?(this.errorCameraEvent.emit(e),this.eventCloseCamera.emit()):this.errorCameraEvent.emit(e)},this.callbackAutoCapturing=()=>{this.device.isMobile?this.eventMakePhoto.emit():this.eventTakePhoto.emit()},this.callbackFaceDetectionErrors=e=>{l.detectionError(e)}}componentDidLoad(){this.startStream()}render(){const e="camera "+(this.device.isMobile?"cameraMobile":"");return Object(u.d)("div",{class:e},Object(u.d)("video",{loop:!0,autoplay:!0,playsinline:!0,muted:!0,class:"cameraVideo",ref:e=>this.cameraVideo=e}),Object(u.d)("canvas",{class:"cameraCanvas",ref:e=>this.cameraCanvas=e}))}startStream(){Nq.instance||Nq.getInstance(this.device,this.modelPath);const e=Nq.getInstance();e.updateHtmlElements(this.cameraVideo,this.cameraCanvas),e.setShowMask(this.showMask),e.setFaceDetection(this.faceDetection),e.setProbabilityThreshold(this.probabilityThreshold),e.setCallbackErrors(this.callbackErrors),e.setCallbackAutoCapturing(this.callbackAutoCapturing),e.setCallbackFaceDetectionErrors(this.callbackFaceDetectionErrors)}};Cq.style=".camera{width:100%;height:100%;color:white;display:flex;align-items:center;justify-content:center;position:relative}.cameraCanvas{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);max-width:100%;max-height:100%;z-index:2}.cameraVideo{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);z-index:1;position:absolute;max-width:100%;max-height:100%}.cameraMobile{position:fixed;top:0;left:0;background:black}.canvas-on-video{max-width:100%;max-height:100%;position:absolute;left:50%;top:50%;z-index:2;transform:scale(-1, 1)}";let Tq=class{constructor(e){Object(u.f)(this,e),this.updateState=()=>{this._showMask="true"===this.show_mask,this._disable_control_panel="true"===this.disable_control_panel,this._face_detection="true"===this.face_detection,this._stopAfterCapturing="true"===this.stop_after_capturing,this._probabilityThreshold=this.probability_threshold?+this.probability_threshold:50,this.url_logo=this.url_logo?this.url_logo:"data:image/png;charset=utf-8;base64,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",this._debug="true"===this.debug,kq.debug=this._debug},this.photoIsReady=e=>{this._stopAfterCapturing&&this.closeCamera(),l.captureEvent(e)},this.enableButton=()=>{this._resolutionOnPhoto=!0},this.updateState(),this._cameraStatus=0,this._resolutionOnPhoto=!1,this._device=xq(),this._mobile=this._device.isMobile,this._mobileMakePhoto=!1}videoStarted(){this._resolutionOnPhoto=!0}async retakePhoto(){this._mobileMakePhoto=!1,await Nq.getInstance().resumeStream()}takePhoto(){Nq.getInstance().takePhoto().then(e=>{this.photoIsReady(e)})}async openCamera(){this._cameraStatus=1;const e=this._device.isMac?{audio:!1,video:{facingMode:"user",width:1920,height:1080}}:{audio:!1,video:{facingMode:"user",width:{ideal:1920},height:{ideal:1080}}};setTimeout(()=>{navigator.mediaDevices.getUserMedia(e).then(e=>{Nq.getInstance().initStream(e),this.videoStarted()}).catch(e=>{this.closeCamera(),l.errorEvent(e)})},100)}async loadModels(e){await kq.initDetector(e.detail.path)}errorCamera(e){l.errorEvent(e.detail.message)}closeCamera(){Nq.instance&&(this._cameraStatus=0,l.closeEvent(),Nq.getInstance().dropStream(),this._mobileMakePhoto=!1,this._resolutionOnPhoto=!1)}makePhoto(){this._mobile?(this._mobileMakePhoto=!0,Nq.getInstance().pauseStream()):this.takePhoto()}componentWillLoad(){l.init(this.component),navigator.mediaDevices||l.errorEvent("This browser does not support webRTC")}componentDidUpdate(){this.updateState()}render(){let e;return e=this._cameraStatus?Object(u.d)("camera-comp",{class:"block",showMask:this._showMask,device:this._device,faceDetection:this._face_detection,modelPath:this.model_path,probabilityThreshold:this._probabilityThreshold}):Object(u.d)("img",{src:this.url_logo,class:"logo",style:this.logo_style?JSON.parse(this.logo_style):"",alt:"logo"}),Object(u.d)("div",{class:"cameraContainer",id:"cameraContainer",style:{backgroundColor:this.background_color}},Object(u.d)("div",{class:"wrapperCamera",style:{height:this._disable_control_panel?"100%":"65%"}},e),Object(u.d)("control-panel",{class:"block",mobile:this._mobile,disableControlPanel:this._disable_control_panel,cameraStatus:this._cameraStatus,resolutionOnPhoto:this._resolutionOnPhoto,mobileMakePhoto:this._mobileMakePhoto,faceDetection:this._face_detection}))}get component(){return Object(u.c)(this)}};Tq.style=".cameraContainer{width:100%;height:100%;z-index:10;position:relative;overflow:hidden}.logo{max-height:450px;max-width:450px}.wrapperCamera{display:flex;justify-content:center;align-items:center}.block{width:100%;height:100%}@media screen and (orientation: portrait){.history{width:100vw;font-size:20px}@media screen and (max-height: 667px){.logo{background-size:120px;max-height:120px;max-width:120px}}@media screen and (min-height: 668px) and (max-height: 812px){.logo{background-size:140px;max-height:140px;max-width:140px}}@media (max-height: 667px){.logo{margin:0 auto}}}@media screen and (max-height: 414px){.logo{background-size:140px;max-height:140px;max-width:140px}}";const Rq=(e,t)=>[...t];let _q=class{constructor(e){Object(u.f)(this,e),this.eventOpenCamera=Object(u.b)(this,"openCamera",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventRetakePhoto=Object(u.b)(this,"retakePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.makePhoto=()=>{this.eventMakePhoto.emit()},this.closeCamera=()=>{this.eventCloseCamera.emit()},this.openCamera=()=>{this.eventOpenCamera.emit()},this.takePhoto=()=>{this.eventTakePhoto.emit()},this.retakePhoto=async()=>{this.eventRetakePhoto.emit()}}render(){return Object(u.d)("div",{class:"controlPanel"+(this.mobile?" controlMobile":"")},this.mobile?Object(u.d)("div",null,this.cameraStatus?Object(u.d)("div",null,this.mobileMakePhoto?Object(u.d)("div",null,Object(u.d)("div",{onClick:this.retakePhoto,class:"retake"},"retake"),Object(u.d)("img",{onClick:this.takePhoto,alt:"Submit",class:"shoot takePhoto",src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjEuMC4yLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDggNDg7IiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4Ij4KPHBhdGggc3R5bGU9ImZpbGw6I0M4RTZDOTsiIGQ9Ik00NCwyNGMwLDExLjA0NS04Ljk1NSwyMC0yMCwyMFM0LDM1LjA0NSw0LDI0UzEyLjk1NSw0LDI0LDRTNDQsMTIuOTU1LDQ0LDI0eiIvPgo8cGF0aCBzdHlsZT0iZmlsbDojNENBRjUwOyIgZD0iTTM0LjU4NiwxNC41ODZsLTEzLjU3LDEzLjU4NmwtNS42MDItNS41ODZsLTIuODI4LDIuODI4bDguNDM0LDguNDE0bDE2LjM5NS0xNi40MTRMMzQuNTg2LDE0LjU4NnoiLz4KPC9zdmc+Cg=="})):Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto,class:"shoot"}),Object(u.d)("div",{onClick:this.closeCamera,class:"close"},"close")):Object(u.d)("div",null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)("button",{onClick:this.openCamera},"Turn on camera"))):Object(u.d)(Rq,null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)(Rq,null,this.cameraStatus?Object(u.d)(Rq,null,Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto},"Capture"),Object(u.d)("button",{onClick:this.closeCamera,class:"cameraOff"},"Close camera")):Object(u.d)("button",{onClick:this.openCamera},"Open camera"))))}};_q.style='.controlPanel{height:35%;display:flex;justify-content:space-evenly;align-items:center;width:100%;max-width:450px;margin:auto}.buttons{width:100%;max-width:450px;display:flex;justify-content:space-evenly;align-items:center}button{width:164px;height:50px;border:none;margin-bottom:10px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;color:#fff;font-family:"Avenir", Helvetica, sans-serif;font-weight:600;font-size:16px;background-color:#4ca585;outline:none;cursor:pointer}button[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.cameraOff{background-color:#667a87}.cameraOff:hover{background-color:#92a8b5}.shoot{width:50px;height:50px;border-radius:25px;border:2px solid white;outline:none;background-color:red;position:fixed;left:calc(50% - 25px);bottom:10px}.shoot[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.close{position:fixed;right:6vw;top:2vh;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.retake{position:fixed;right:6vw;bottom:35px;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.takePhoto{width:46px;height:46px;bottom:20px;background:none}@media screen and (orientation:landscape) and (min-width: 360px){.shoot{bottom:calc(50% - 25px);left:auto;right:5vw}}'}.call(this,"/index.js",n(77),"/",n(36),n(241).Buffer,n(245).setImmediate)},function(e,t,n){"use strict";(function(e){ +/** @license See the LICENSE file. */(e,{width:this.videoElement.videoWidth,height:this.videoElement.videoHeight}),n=new hq,r=this.checkNumberFaces(t);return n.FACE_NOT_FOUND=!r&&0===t.length,n.TOO_MANY_FACES=!r&&t.length>this.MAX_NUMBER_FACES,r&&(wq&&(n.FACE_ANGLE_TOO_LARGE=!this.checkHeadRotation(t)),n.PROBABILITY_TOO_SMALL=!this.checkProbability(t),n.FACE_TOO_SMALL=!this.checkFaceSize(t),n.FACE_CLOSE_TO_BORDER=!this.checkFaceIndent(t)),n}autoCapturing(){kq.debug&&console.info(this.counterSuccessfulResults),this.counterSuccessfulResults>=this.DEFAULT_NUMBER_SUCCESSFUL_RESULTS_FOR_AUTO_CAPTURING&&(this.stream.autoCapturing(),this.counterSuccessfulResults=0)}checkNumberFaces(e){return e.length===this.MAX_NUMBER_FACES}checkProbability(e){return e[0].detection.score>+this.probabilityThreshold/100}checkFaceSize(e){const t=e[0].detection.box,{width:n,height:r,area:a}=t,{imageHeight:s,imageWidth:i}=e[0].detection,o=100/(s*i/a);return Math.min(n/this.videoRatio,r/this.videoRatio)>(this.isMobile?this.MIN_FACE_SIZE_FOR_MOBILE:this.MIN_FACE_SIZE_FOR_DESKTOP)&&o>(this.isMobile?this.MIN_OCCUPIED_SPACE_FOR_MOBILE:this.MIN_OCCUPIED_SPACE_FOR_DESKTOP)}checkFaceIndent(e){const t=e[0].detection.box,{imageHeight:n,imageWidth:r}=e[0].detection,{top:a,left:s,bottom:i,right:o}=t,u=s,l=r-o,c=n-i;return!(athis.MAX_ANGLE_TURN_HEAD||-1*a[2]>this.MAX_ANGLE_TURN_HEAD?this.headTurnCounter++:(this.counterSuccessfulHeadTurns++,this.counterSuccessfulHeadTurns>=5&&(this.headTurnCounter=0,this.counterSuccessfulHeadTurns=0)),this.headTurnCounter<=1}drawFaces(e){this.innerCanvas||this.createCanvasForDrawingMask(this.videoElement);const t=this.innerCanvas;if(!t)return console.error("no canvas for drawing");const n=t.getContext("2d");if(n){n.clearRect(0,0,t.width,t.height),n.font='small-caps 20px "Segoe UI"',n.fillStyle="white";for(const t of e){n.lineWidth=3,n.strokeStyle="deepskyblue",n.fillStyle="deepskyblue",n.globalAlpha=.6,n.beginPath(),n.rect(t.detection.box.x,t.detection.box.y,t.detection.box.width,t.detection.box.height),n.stroke(),n.globalAlpha=1,n.globalAlpha=.8,n.fillStyle="lightblue";const e=2;for(let r=0;r"+d("B",e.length),e)}function a(e){return h(">"+d("H",e.length),e)}function s(e){return h(">"+d("L",e.length),e)}function i(e,t,n){var i,o,u,l,c="",p="";if("Byte"==t)(i=e.length)<=4?p=r(e)+d("\0",4-i):(p=h(">L",[n]),c=r(e));else if("Short"==t)(i=e.length)<=2?p=a(e)+d("\0\0",2-i):(p=h(">L",[n]),c=a(e));else if("Long"==t)(i=e.length)<=1?p=s(e):(p=h(">L",[n]),c=s(e));else if("Ascii"==t)(i=(o=e+"\0").length)>4?(p=h(">L",[n]),c=o):p=o+d("\0",4-i);else if("Rational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">L",[u])+h(">L",[l]);else{i=e.length,o="";for(var f=0;fL",[u])+h(">L",[l])}p=h(">L",[n]),c=o}else if("SRational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">l",[u])+h(">l",[l]);else{i=e.length,o="";for(f=0;fl",[u])+h(">l",[l])}p=h(">L",[n]),c=o}else"Undefined"==t&&((i=e.length)>4?(p=h(">L",[n]),c=e):p=e+d("\0",4-i));return[h(">L",[i]),p,c]}function o(e,t,n){var r,a=Object.keys(e).length,s=h(">H",[a]);r=["0th","1st"].indexOf(t)>-1?2+12*a+4:2+12*a;var o="",u="";for(var l in e)if("string"==typeof l&&(l=parseInt(l)),!("0th"==t&&[34665,34853].indexOf(l)>-1||"Exif"==t&&40965==l||"1st"==t&&[513,514].indexOf(l)>-1)){var c=e[l],p=h(">H",[l]),d=g[t][l].type,f=h(">H",[m[d]]);"number"==typeof c&&(c=[c]);var y=i(c,d,8+r+n+u.length);o+=p+f+y[0]+y[1],u+=y[2]}return[s+o,u]}function u(e){var t;if("ÿØ"==e.slice(0,2))t=function(e){for(var t,n=0;n-1)this.tiftag=e;else{if("Exif"!=e.slice(0,4))throw new Error("Given file is neither JPEG nor TIFF.");this.tiftag=e.slice(6)}}if(n.version="1.0.4",n.remove=function(e){var t=!1;if("ÿØ"==e.slice(0,2));else{if("data:image/jpeg;base64,"!=e.slice(0,23)&&"data:image/jpg;base64,"!=e.slice(0,22))throw new Error("Given data is not jpeg.");e=c(e.split(",")[1]),t=!0}var n=f(e).filter((function(e){return!("ÿá"==e.slice(0,2)&&"Exif\0\0"==e.slice(4,10))})).join("");return t&&(n="data:image/jpeg;base64,"+l(n)),n},n.insert=function(e,t){var n=!1;if("Exif\0\0"!=e.slice(0,6))throw new Error("Given data is not exif.");if("ÿØ"==t.slice(0,2));else{if("data:image/jpeg;base64,"!=t.slice(0,23)&&"data:image/jpg;base64,"!=t.slice(0,22))throw new Error("Given data is not jpeg.");t=c(t.split(",")[1]),n=!0}var r="ÿá"+h(">H",[e.length+2])+e,a=function(e,t){var n=!1,r=[];e.forEach((function(a,s){"ÿá"==a.slice(0,2)&&"Exif\0\0"==a.slice(4,10)&&(n?r.unshift(s):(e[s]=t,n=!0))})),r.forEach((function(t){e.splice(t,1)})),!n&&t&&(e=[e[0],t].concat(e.slice(1)));return e.join("")}(f(t),r);return n&&(a="data:image/jpeg;base64,"+l(a)),a},n.load=function(e){var t;if("string"!=typeof e)throw new Error("'load' gots invalid type argument.");if("ÿØ"==e.slice(0,2))t=e;else if("data:image/jpeg;base64,"==e.slice(0,23)||"data:image/jpg;base64,"==e.slice(0,22))t=c(e.split(",")[1]);else{if("Exif"!=e.slice(0,4))throw new Error("'load' gots invalid file data.");t=e.slice(6)}var n={"0th":{},Exif:{},GPS:{},Interop:{},"1st":{},thumbnail:null},r=new u(t);if(null===r.tiftag)return n;"II"==r.tiftag.slice(0,2)?r.endian_mark="<":r.endian_mark=">";var a=p(r.endian_mark+"L",r.tiftag.slice(4,8))[0];n["0th"]=r.get_ifd(a,"0th");var s=n["0th"].first_ifd_pointer;if(delete n["0th"].first_ifd_pointer,34665 in n["0th"]&&(a=n["0th"][34665],n.Exif=r.get_ifd(a,"Exif")),34853 in n["0th"]&&(a=n["0th"][34853],n.GPS=r.get_ifd(a,"GPS")),40965 in n.Exif&&(a=n.Exif[40965],n.Interop=r.get_ifd(a,"Interop")),"\0\0\0\0"!=s&&(a=p(r.endian_mark+"L",s)[0],n["1st"]=r.get_ifd(a,"1st"),513 in n["1st"]&&514 in n["1st"])){var i=n["1st"][513]+n["1st"][514],o=r.tiftag.slice(n["1st"][513],i);n.thumbnail=o}return n},n.dump=function(e){var t,r,a,s,i,u,l=(t=e,JSON.parse(JSON.stringify(t))),c=!1,p=!1,d=!1,g=!1;r="0th"in l?l["0th"]:{},"Exif"in l&&Object.keys(l.Exif).length||"Interop"in l&&Object.keys(l.Interop).length?(r[34665]=1,c=!0,a=l.Exif,"Interop"in l&&Object.keys(l.Interop).length?(a[40965]=1,d=!0,s=l.Interop):Object.keys(a).indexOf(n.ExifIFD.InteroperabilityTag.toString())>-1&&delete a[40965]):Object.keys(r).indexOf(n.ImageIFD.ExifTag.toString())>-1&&delete r[34665],"GPS"in l&&Object.keys(l.GPS).length?(r[n.ImageIFD.GPSTag]=1,p=!0,i=l.GPS):Object.keys(r).indexOf(n.ImageIFD.GPSTag.toString())>-1&&delete r[n.ImageIFD.GPSTag],"1st"in l&&"thumbnail"in l&&null!=l.thumbnail&&(g=!0,l["1st"][513]=1,l["1st"][514]=1,u=l["1st"]);var y,b,v,x=o(r,"0th",0),w=x[0].length+12*c+12*p+4+x[1].length,k="",S=0,I="",A=0,E="",N=0,C="";(c&&(S=(y=o(a,"Exif",w))[0].length+12*d+y[1].length),p&&(A=(I=o(i,"GPS",w+S).join("")).length),d)&&(N=(E=o(s,"Interop",w+S+A).join("")).length);if(g&&(b=o(u,"1st",w+S+A+N),(v=function(e){var t=f(e);for(;"ÿà"<=t[1].slice(0,2)&&t[1].slice(0,2)<="ÿï";)t=[t[0]].concat(t.slice(2));return t.join("")}(l.thumbnail)).length>64e3))throw new Error("Given thumbnail is too large. max 64kB");var T="",R="",_="",F="\0\0\0\0";if(c){var M=h(">L",[D=8+w]);T=h(">H",[34665])+h(">H",[m.Long])+h(">L",[1])+M}if(p){M=h(">L",[D=8+w+S]);R=h(">H",[34853])+h(">H",[m.Long])+h(">L",[1])+M}if(d){M=h(">L",[D=8+w+S+A]);_=h(">H",[40965])+h(">H",[m.Long])+h(">L",[1])+M}if(g){var D;F=h(">L",[D=8+w+S+A+N]);var O="\0\0\0\0"+h(">L",[D+b[0].length+24+4+b[1].length]),L="\0\0\0\0"+h(">L",[v.length]);C=b[0]+O+L+"\0\0\0\0"+b[1]+v}var P=x[0]+T+R+F+x[1];return c&&(k=y[0]+_+y[1]),"Exif\0\0MM\0*\0\0\0\b"+P+k+I+E+C},u.prototype={get_ifd:function(e,t){var n,r={},a=p(this.endian_mark+"H",this.tiftag.slice(e,e+2))[0],s=e+2;n=["0th","1st"].indexOf(t)>-1?"Image":t;for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("B",a),this.tiftag.slice(t,t+a))):n=p(this.endian_mark+d("B",a),s.slice(0,a));else if(2==r)a>4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a-1)):n=s.slice(0,a-1);else if(3==r)a>2?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("H",a),this.tiftag.slice(t,t+2*a))):n=p(this.endian_mark+d("H",a),s.slice(0,2*a));else if(4==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("L",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("L",a),s);else if(5==r)if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a)):n=s.slice(0,a);else if(9==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("l",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("l",a),s);else{if(10!=r)throw new Error("Exif might be wrong. Got incorrect value type to decode. type:"+r);if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(i=0;i>2,s=(3&t)<<4|(n=e.charCodeAt(l++))>>4,i=(15&n)<<2|(r=e.charCodeAt(l++))>>6,o=63&r,isNaN(n)?i=o=64:isNaN(r)&&(o=64),u=u+c.charAt(a)+c.charAt(s)+c.charAt(i)+c.charAt(o);return u};if("undefined"!=typeof window&&"function"==typeof window.atob)var c=window.atob;if(void 0===c)c=function(e){var t,n,r,a,s,i,o="",u=0,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u>4,n=(15&a)<<4|(s=l.indexOf(e.charAt(u++)))>>2,r=(3&s)<<6|(i=l.indexOf(e.charAt(u++))),o+=String.fromCharCode(t),64!=s&&(o+=String.fromCharCode(n)),64!=i&&(o+=String.fromCharCode(r));return o};function h(e,t){if(!(t instanceof Array))throw new Error("'pack' error. Got invalid type argument.");if(e.length-1!=t.length)throw new Error("'pack' error. "+(e.length-1)+" marks, "+t.length+" elements.");var n;if("<"==e[0])n=!0;else{if(">"!=e[0])throw new Error("");n=!1}for(var r="",a=1,s=null,i=null,o=null;i=e[a];){if("b"==i.toLowerCase()){if(s=t[a-1],"b"==i&&s<0&&(s+=256),s>255||s<0)throw new Error("'pack' error.");o=String.fromCharCode(s)}else if("H"==i){if((s=t[a-1])>65535||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}else{if("l"!=i.toLowerCase())throw new Error("'pack' error.");if(s=t[a-1],"l"==i&&s<0&&(s+=4294967296),s>4294967295||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s/16777216))+String.fromCharCode(Math.floor(s%16777216/65536))+String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}r+=o,a+=1}return r}function p(e,t){if("string"!=typeof t)throw new Error("'unpack' error. Got invalid type argument.");for(var n,r=0,a=1;a"!=e[0])throw new Error("'unpack' error.");n=!1}for(var s=[],i=0,o=1,u=null,l=null,c=null,h="";l=e[o];){if("b"==l.toLowerCase())c=1,u=(h=t.slice(i,i+c)).charCodeAt(0),"b"==l&&u>=128&&(u-=256);else if("H"==l)c=2,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=256*h.charCodeAt(0)+h.charCodeAt(1);else{if("l"!=l.toLowerCase())throw new Error("'unpack' error. "+l);c=4,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=16777216*h.charCodeAt(0)+65536*h.charCodeAt(1)+256*h.charCodeAt(2)+h.charCodeAt(3),"l"==l&&u>=2147483648&&(u-=4294967296)}s.push(u),i+=c,o+=1}return s}function d(e,t){for(var n="",r=0;rH",e.slice(t+2,t+4))[0]+2;if(n.push(e.slice(t,r)),(t=r)>=e.length)throw new Error("Wrong JPEG data.")}return n}var m={Byte:1,Ascii:2,Short:3,Long:4,Rational:5,Undefined:7,SLong:9,SRational:10},g={Image:{11:{name:"ProcessingSoftware",type:"Ascii"},254:{name:"NewSubfileType",type:"Long"},255:{name:"SubfileType",type:"Short"},256:{name:"ImageWidth",type:"Long"},257:{name:"ImageLength",type:"Long"},258:{name:"BitsPerSample",type:"Short"},259:{name:"Compression",type:"Short"},262:{name:"PhotometricInterpretation",type:"Short"},263:{name:"Threshholding",type:"Short"},264:{name:"CellWidth",type:"Short"},265:{name:"CellLength",type:"Short"},266:{name:"FillOrder",type:"Short"},269:{name:"DocumentName",type:"Ascii"},270:{name:"ImageDescription",type:"Ascii"},271:{name:"Make",type:"Ascii"},272:{name:"Model",type:"Ascii"},273:{name:"StripOffsets",type:"Long"},274:{name:"Orientation",type:"Short"},277:{name:"SamplesPerPixel",type:"Short"},278:{name:"RowsPerStrip",type:"Long"},279:{name:"StripByteCounts",type:"Long"},282:{name:"XResolution",type:"Rational"},283:{name:"YResolution",type:"Rational"},284:{name:"PlanarConfiguration",type:"Short"},290:{name:"GrayResponseUnit",type:"Short"},291:{name:"GrayResponseCurve",type:"Short"},292:{name:"T4Options",type:"Long"},293:{name:"T6Options",type:"Long"},296:{name:"ResolutionUnit",type:"Short"},301:{name:"TransferFunction",type:"Short"},305:{name:"Software",type:"Ascii"},306:{name:"DateTime",type:"Ascii"},315:{name:"Artist",type:"Ascii"},316:{name:"HostComputer",type:"Ascii"},317:{name:"Predictor",type:"Short"},318:{name:"WhitePoint",type:"Rational"},319:{name:"PrimaryChromaticities",type:"Rational"},320:{name:"ColorMap",type:"Short"},321:{name:"HalftoneHints",type:"Short"},322:{name:"TileWidth",type:"Short"},323:{name:"TileLength",type:"Short"},324:{name:"TileOffsets",type:"Short"},325:{name:"TileByteCounts",type:"Short"},330:{name:"SubIFDs",type:"Long"},332:{name:"InkSet",type:"Short"},333:{name:"InkNames",type:"Ascii"},334:{name:"NumberOfInks",type:"Short"},336:{name:"DotRange",type:"Byte"},337:{name:"TargetPrinter",type:"Ascii"},338:{name:"ExtraSamples",type:"Short"},339:{name:"SampleFormat",type:"Short"},340:{name:"SMinSampleValue",type:"Short"},341:{name:"SMaxSampleValue",type:"Short"},342:{name:"TransferRange",type:"Short"},343:{name:"ClipPath",type:"Byte"},344:{name:"XClipPathUnits",type:"Long"},345:{name:"YClipPathUnits",type:"Long"},346:{name:"Indexed",type:"Short"},347:{name:"JPEGTables",type:"Undefined"},351:{name:"OPIProxy",type:"Short"},512:{name:"JPEGProc",type:"Long"},513:{name:"JPEGInterchangeFormat",type:"Long"},514:{name:"JPEGInterchangeFormatLength",type:"Long"},515:{name:"JPEGRestartInterval",type:"Short"},517:{name:"JPEGLosslessPredictors",type:"Short"},518:{name:"JPEGPointTransforms",type:"Short"},519:{name:"JPEGQTables",type:"Long"},520:{name:"JPEGDCTables",type:"Long"},521:{name:"JPEGACTables",type:"Long"},529:{name:"YCbCrCoefficients",type:"Rational"},530:{name:"YCbCrSubSampling",type:"Short"},531:{name:"YCbCrPositioning",type:"Short"},532:{name:"ReferenceBlackWhite",type:"Rational"},700:{name:"XMLPacket",type:"Byte"},18246:{name:"Rating",type:"Short"},18249:{name:"RatingPercent",type:"Short"},32781:{name:"ImageID",type:"Ascii"},33421:{name:"CFARepeatPatternDim",type:"Short"},33422:{name:"CFAPattern",type:"Byte"},33423:{name:"BatteryLevel",type:"Rational"},33432:{name:"Copyright",type:"Ascii"},33434:{name:"ExposureTime",type:"Rational"},34377:{name:"ImageResources",type:"Byte"},34665:{name:"ExifTag",type:"Long"},34675:{name:"InterColorProfile",type:"Undefined"},34853:{name:"GPSTag",type:"Long"},34857:{name:"Interlace",type:"Short"},34858:{name:"TimeZoneOffset",type:"Long"},34859:{name:"SelfTimerMode",type:"Short"},37387:{name:"FlashEnergy",type:"Rational"},37388:{name:"SpatialFrequencyResponse",type:"Undefined"},37389:{name:"Noise",type:"Undefined"},37390:{name:"FocalPlaneXResolution",type:"Rational"},37391:{name:"FocalPlaneYResolution",type:"Rational"},37392:{name:"FocalPlaneResolutionUnit",type:"Short"},37393:{name:"ImageNumber",type:"Long"},37394:{name:"SecurityClassification",type:"Ascii"},37395:{name:"ImageHistory",type:"Ascii"},37397:{name:"ExposureIndex",type:"Rational"},37398:{name:"TIFFEPStandardID",type:"Byte"},37399:{name:"SensingMethod",type:"Short"},40091:{name:"XPTitle",type:"Byte"},40092:{name:"XPComment",type:"Byte"},40093:{name:"XPAuthor",type:"Byte"},40094:{name:"XPKeywords",type:"Byte"},40095:{name:"XPSubject",type:"Byte"},50341:{name:"PrintImageMatching",type:"Undefined"},50706:{name:"DNGVersion",type:"Byte"},50707:{name:"DNGBackwardVersion",type:"Byte"},50708:{name:"UniqueCameraModel",type:"Ascii"},50709:{name:"LocalizedCameraModel",type:"Byte"},50710:{name:"CFAPlaneColor",type:"Byte"},50711:{name:"CFALayout",type:"Short"},50712:{name:"LinearizationTable",type:"Short"},50713:{name:"BlackLevelRepeatDim",type:"Short"},50714:{name:"BlackLevel",type:"Rational"},50715:{name:"BlackLevelDeltaH",type:"SRational"},50716:{name:"BlackLevelDeltaV",type:"SRational"},50717:{name:"WhiteLevel",type:"Short"},50718:{name:"DefaultScale",type:"Rational"},50719:{name:"DefaultCropOrigin",type:"Short"},50720:{name:"DefaultCropSize",type:"Short"},50721:{name:"ColorMatrix1",type:"SRational"},50722:{name:"ColorMatrix2",type:"SRational"},50723:{name:"CameraCalibration1",type:"SRational"},50724:{name:"CameraCalibration2",type:"SRational"},50725:{name:"ReductionMatrix1",type:"SRational"},50726:{name:"ReductionMatrix2",type:"SRational"},50727:{name:"AnalogBalance",type:"Rational"},50728:{name:"AsShotNeutral",type:"Short"},50729:{name:"AsShotWhiteXY",type:"Rational"},50730:{name:"BaselineExposure",type:"SRational"},50731:{name:"BaselineNoise",type:"Rational"},50732:{name:"BaselineSharpness",type:"Rational"},50733:{name:"BayerGreenSplit",type:"Long"},50734:{name:"LinearResponseLimit",type:"Rational"},50735:{name:"CameraSerialNumber",type:"Ascii"},50736:{name:"LensInfo",type:"Rational"},50737:{name:"ChromaBlurRadius",type:"Rational"},50738:{name:"AntiAliasStrength",type:"Rational"},50739:{name:"ShadowScale",type:"SRational"},50740:{name:"DNGPrivateData",type:"Byte"},50741:{name:"MakerNoteSafety",type:"Short"},50778:{name:"CalibrationIlluminant1",type:"Short"},50779:{name:"CalibrationIlluminant2",type:"Short"},50780:{name:"BestQualityScale",type:"Rational"},50781:{name:"RawDataUniqueID",type:"Byte"},50827:{name:"OriginalRawFileName",type:"Byte"},50828:{name:"OriginalRawFileData",type:"Undefined"},50829:{name:"ActiveArea",type:"Short"},50830:{name:"MaskedAreas",type:"Short"},50831:{name:"AsShotICCProfile",type:"Undefined"},50832:{name:"AsShotPreProfileMatrix",type:"SRational"},50833:{name:"CurrentICCProfile",type:"Undefined"},50834:{name:"CurrentPreProfileMatrix",type:"SRational"},50879:{name:"ColorimetricReference",type:"Short"},50931:{name:"CameraCalibrationSignature",type:"Byte"},50932:{name:"ProfileCalibrationSignature",type:"Byte"},50934:{name:"AsShotProfileName",type:"Byte"},50935:{name:"NoiseReductionApplied",type:"Rational"},50936:{name:"ProfileName",type:"Byte"},50937:{name:"ProfileHueSatMapDims",type:"Long"},50938:{name:"ProfileHueSatMapData1",type:"Float"},50939:{name:"ProfileHueSatMapData2",type:"Float"},50940:{name:"ProfileToneCurve",type:"Float"},50941:{name:"ProfileEmbedPolicy",type:"Long"},50942:{name:"ProfileCopyright",type:"Byte"},50964:{name:"ForwardMatrix1",type:"SRational"},50965:{name:"ForwardMatrix2",type:"SRational"},50966:{name:"PreviewApplicationName",type:"Byte"},50967:{name:"PreviewApplicationVersion",type:"Byte"},50968:{name:"PreviewSettingsName",type:"Byte"},50969:{name:"PreviewSettingsDigest",type:"Byte"},50970:{name:"PreviewColorSpace",type:"Long"},50971:{name:"PreviewDateTime",type:"Ascii"},50972:{name:"RawImageDigest",type:"Undefined"},50973:{name:"OriginalRawFileDigest",type:"Undefined"},50974:{name:"SubTileBlockSize",type:"Long"},50975:{name:"RowInterleaveFactor",type:"Long"},50981:{name:"ProfileLookTableDims",type:"Long"},50982:{name:"ProfileLookTableData",type:"Float"},51008:{name:"OpcodeList1",type:"Undefined"},51009:{name:"OpcodeList2",type:"Undefined"},51022:{name:"OpcodeList3",type:"Undefined"}},Exif:{33434:{name:"ExposureTime",type:"Rational"},33437:{name:"FNumber",type:"Rational"},34850:{name:"ExposureProgram",type:"Short"},34852:{name:"SpectralSensitivity",type:"Ascii"},34855:{name:"ISOSpeedRatings",type:"Short"},34856:{name:"OECF",type:"Undefined"},34864:{name:"SensitivityType",type:"Short"},34865:{name:"StandardOutputSensitivity",type:"Long"},34866:{name:"RecommendedExposureIndex",type:"Long"},34867:{name:"ISOSpeed",type:"Long"},34868:{name:"ISOSpeedLatitudeyyy",type:"Long"},34869:{name:"ISOSpeedLatitudezzz",type:"Long"},36864:{name:"ExifVersion",type:"Undefined"},36867:{name:"DateTimeOriginal",type:"Ascii"},36868:{name:"DateTimeDigitized",type:"Ascii"},37121:{name:"ComponentsConfiguration",type:"Undefined"},37122:{name:"CompressedBitsPerPixel",type:"Rational"},37377:{name:"ShutterSpeedValue",type:"SRational"},37378:{name:"ApertureValue",type:"Rational"},37379:{name:"BrightnessValue",type:"SRational"},37380:{name:"ExposureBiasValue",type:"SRational"},37381:{name:"MaxApertureValue",type:"Rational"},37382:{name:"SubjectDistance",type:"Rational"},37383:{name:"MeteringMode",type:"Short"},37384:{name:"LightSource",type:"Short"},37385:{name:"Flash",type:"Short"},37386:{name:"FocalLength",type:"Rational"},37396:{name:"SubjectArea",type:"Short"},37500:{name:"MakerNote",type:"Undefined"},37510:{name:"UserComment",type:"Ascii"},37520:{name:"SubSecTime",type:"Ascii"},37521:{name:"SubSecTimeOriginal",type:"Ascii"},37522:{name:"SubSecTimeDigitized",type:"Ascii"},40960:{name:"FlashpixVersion",type:"Undefined"},40961:{name:"ColorSpace",type:"Short"},40962:{name:"PixelXDimension",type:"Long"},40963:{name:"PixelYDimension",type:"Long"},40964:{name:"RelatedSoundFile",type:"Ascii"},40965:{name:"InteroperabilityTag",type:"Long"},41483:{name:"FlashEnergy",type:"Rational"},41484:{name:"SpatialFrequencyResponse",type:"Undefined"},41486:{name:"FocalPlaneXResolution",type:"Rational"},41487:{name:"FocalPlaneYResolution",type:"Rational"},41488:{name:"FocalPlaneResolutionUnit",type:"Short"},41492:{name:"SubjectLocation",type:"Short"},41493:{name:"ExposureIndex",type:"Rational"},41495:{name:"SensingMethod",type:"Short"},41728:{name:"FileSource",type:"Undefined"},41729:{name:"SceneType",type:"Undefined"},41730:{name:"CFAPattern",type:"Undefined"},41985:{name:"CustomRendered",type:"Short"},41986:{name:"ExposureMode",type:"Short"},41987:{name:"WhiteBalance",type:"Short"},41988:{name:"DigitalZoomRatio",type:"Rational"},41989:{name:"FocalLengthIn35mmFilm",type:"Short"},41990:{name:"SceneCaptureType",type:"Short"},41991:{name:"GainControl",type:"Short"},41992:{name:"Contrast",type:"Short"},41993:{name:"Saturation",type:"Short"},41994:{name:"Sharpness",type:"Short"},41995:{name:"DeviceSettingDescription",type:"Undefined"},41996:{name:"SubjectDistanceRange",type:"Short"},42016:{name:"ImageUniqueID",type:"Ascii"},42032:{name:"CameraOwnerName",type:"Ascii"},42033:{name:"BodySerialNumber",type:"Ascii"},42034:{name:"LensSpecification",type:"Rational"},42035:{name:"LensMake",type:"Ascii"},42036:{name:"LensModel",type:"Ascii"},42037:{name:"LensSerialNumber",type:"Ascii"},42240:{name:"Gamma",type:"Rational"}},GPS:{0:{name:"GPSVersionID",type:"Byte"},1:{name:"GPSLatitudeRef",type:"Ascii"},2:{name:"GPSLatitude",type:"Rational"},3:{name:"GPSLongitudeRef",type:"Ascii"},4:{name:"GPSLongitude",type:"Rational"},5:{name:"GPSAltitudeRef",type:"Byte"},6:{name:"GPSAltitude",type:"Rational"},7:{name:"GPSTimeStamp",type:"Rational"},8:{name:"GPSSatellites",type:"Ascii"},9:{name:"GPSStatus",type:"Ascii"},10:{name:"GPSMeasureMode",type:"Ascii"},11:{name:"GPSDOP",type:"Rational"},12:{name:"GPSSpeedRef",type:"Ascii"},13:{name:"GPSSpeed",type:"Rational"},14:{name:"GPSTrackRef",type:"Ascii"},15:{name:"GPSTrack",type:"Rational"},16:{name:"GPSImgDirectionRef",type:"Ascii"},17:{name:"GPSImgDirection",type:"Rational"},18:{name:"GPSMapDatum",type:"Ascii"},19:{name:"GPSDestLatitudeRef",type:"Ascii"},20:{name:"GPSDestLatitude",type:"Rational"},21:{name:"GPSDestLongitudeRef",type:"Ascii"},22:{name:"GPSDestLongitude",type:"Rational"},23:{name:"GPSDestBearingRef",type:"Ascii"},24:{name:"GPSDestBearing",type:"Rational"},25:{name:"GPSDestDistanceRef",type:"Ascii"},26:{name:"GPSDestDistance",type:"Rational"},27:{name:"GPSProcessingMethod",type:"Undefined"},28:{name:"GPSAreaInformation",type:"Undefined"},29:{name:"GPSDateStamp",type:"Ascii"},30:{name:"GPSDifferential",type:"Short"},31:{name:"GPSHPositioningError",type:"Rational"}},Interop:{1:{name:"InteroperabilityIndex",type:"Ascii"}}};g["0th"]=g.Image,g["1st"]=g.Image,n.TAGS=g,n.ImageIFD={ProcessingSoftware:11,NewSubfileType:254,SubfileType:255,ImageWidth:256,ImageLength:257,BitsPerSample:258,Compression:259,PhotometricInterpretation:262,Threshholding:263,CellWidth:264,CellLength:265,FillOrder:266,DocumentName:269,ImageDescription:270,Make:271,Model:272,StripOffsets:273,Orientation:274,SamplesPerPixel:277,RowsPerStrip:278,StripByteCounts:279,XResolution:282,YResolution:283,PlanarConfiguration:284,GrayResponseUnit:290,GrayResponseCurve:291,T4Options:292,T6Options:293,ResolutionUnit:296,TransferFunction:301,Software:305,DateTime:306,Artist:315,HostComputer:316,Predictor:317,WhitePoint:318,PrimaryChromaticities:319,ColorMap:320,HalftoneHints:321,TileWidth:322,TileLength:323,TileOffsets:324,TileByteCounts:325,SubIFDs:330,InkSet:332,InkNames:333,NumberOfInks:334,DotRange:336,TargetPrinter:337,ExtraSamples:338,SampleFormat:339,SMinSampleValue:340,SMaxSampleValue:341,TransferRange:342,ClipPath:343,XClipPathUnits:344,YClipPathUnits:345,Indexed:346,JPEGTables:347,OPIProxy:351,JPEGProc:512,JPEGInterchangeFormat:513,JPEGInterchangeFormatLength:514,JPEGRestartInterval:515,JPEGLosslessPredictors:517,JPEGPointTransforms:518,JPEGQTables:519,JPEGDCTables:520,JPEGACTables:521,YCbCrCoefficients:529,YCbCrSubSampling:530,YCbCrPositioning:531,ReferenceBlackWhite:532,XMLPacket:700,Rating:18246,RatingPercent:18249,ImageID:32781,CFARepeatPatternDim:33421,CFAPattern:33422,BatteryLevel:33423,Copyright:33432,ExposureTime:33434,ImageResources:34377,ExifTag:34665,InterColorProfile:34675,GPSTag:34853,Interlace:34857,TimeZoneOffset:34858,SelfTimerMode:34859,FlashEnergy:37387,SpatialFrequencyResponse:37388,Noise:37389,FocalPlaneXResolution:37390,FocalPlaneYResolution:37391,FocalPlaneResolutionUnit:37392,ImageNumber:37393,SecurityClassification:37394,ImageHistory:37395,ExposureIndex:37397,TIFFEPStandardID:37398,SensingMethod:37399,XPTitle:40091,XPComment:40092,XPAuthor:40093,XPKeywords:40094,XPSubject:40095,PrintImageMatching:50341,DNGVersion:50706,DNGBackwardVersion:50707,UniqueCameraModel:50708,LocalizedCameraModel:50709,CFAPlaneColor:50710,CFALayout:50711,LinearizationTable:50712,BlackLevelRepeatDim:50713,BlackLevel:50714,BlackLevelDeltaH:50715,BlackLevelDeltaV:50716,WhiteLevel:50717,DefaultScale:50718,DefaultCropOrigin:50719,DefaultCropSize:50720,ColorMatrix1:50721,ColorMatrix2:50722,CameraCalibration1:50723,CameraCalibration2:50724,ReductionMatrix1:50725,ReductionMatrix2:50726,AnalogBalance:50727,AsShotNeutral:50728,AsShotWhiteXY:50729,BaselineExposure:50730,BaselineNoise:50731,BaselineSharpness:50732,BayerGreenSplit:50733,LinearResponseLimit:50734,CameraSerialNumber:50735,LensInfo:50736,ChromaBlurRadius:50737,AntiAliasStrength:50738,ShadowScale:50739,DNGPrivateData:50740,MakerNoteSafety:50741,CalibrationIlluminant1:50778,CalibrationIlluminant2:50779,BestQualityScale:50780,RawDataUniqueID:50781,OriginalRawFileName:50827,OriginalRawFileData:50828,ActiveArea:50829,MaskedAreas:50830,AsShotICCProfile:50831,AsShotPreProfileMatrix:50832,CurrentICCProfile:50833,CurrentPreProfileMatrix:50834,ColorimetricReference:50879,CameraCalibrationSignature:50931,ProfileCalibrationSignature:50932,AsShotProfileName:50934,NoiseReductionApplied:50935,ProfileName:50936,ProfileHueSatMapDims:50937,ProfileHueSatMapData1:50938,ProfileHueSatMapData2:50939,ProfileToneCurve:50940,ProfileEmbedPolicy:50941,ProfileCopyright:50942,ForwardMatrix1:50964,ForwardMatrix2:50965,PreviewApplicationName:50966,PreviewApplicationVersion:50967,PreviewSettingsName:50968,PreviewSettingsDigest:50969,PreviewColorSpace:50970,PreviewDateTime:50971,RawImageDigest:50972,OriginalRawFileDigest:50973,SubTileBlockSize:50974,RowInterleaveFactor:50975,ProfileLookTableDims:50981,ProfileLookTableData:50982,OpcodeList1:51008,OpcodeList2:51009,OpcodeList3:51022,NoiseProfile:51041},n.ExifIFD={ExposureTime:33434,FNumber:33437,ExposureProgram:34850,SpectralSensitivity:34852,ISOSpeedRatings:34855,OECF:34856,SensitivityType:34864,StandardOutputSensitivity:34865,RecommendedExposureIndex:34866,ISOSpeed:34867,ISOSpeedLatitudeyyy:34868,ISOSpeedLatitudezzz:34869,ExifVersion:36864,DateTimeOriginal:36867,DateTimeDigitized:36868,ComponentsConfiguration:37121,CompressedBitsPerPixel:37122,ShutterSpeedValue:37377,ApertureValue:37378,BrightnessValue:37379,ExposureBiasValue:37380,MaxApertureValue:37381,SubjectDistance:37382,MeteringMode:37383,LightSource:37384,Flash:37385,FocalLength:37386,SubjectArea:37396,MakerNote:37500,UserComment:37510,SubSecTime:37520,SubSecTimeOriginal:37521,SubSecTimeDigitized:37522,FlashpixVersion:40960,ColorSpace:40961,PixelXDimension:40962,PixelYDimension:40963,RelatedSoundFile:40964,InteroperabilityTag:40965,FlashEnergy:41483,SpatialFrequencyResponse:41484,FocalPlaneXResolution:41486,FocalPlaneYResolution:41487,FocalPlaneResolutionUnit:41488,SubjectLocation:41492,ExposureIndex:41493,SensingMethod:41495,FileSource:41728,SceneType:41729,CFAPattern:41730,CustomRendered:41985,ExposureMode:41986,WhiteBalance:41987,DigitalZoomRatio:41988,FocalLengthIn35mmFilm:41989,SceneCaptureType:41990,GainControl:41991,Contrast:41992,Saturation:41993,Sharpness:41994,DeviceSettingDescription:41995,SubjectDistanceRange:41996,ImageUniqueID:42016,CameraOwnerName:42032,BodySerialNumber:42033,LensSpecification:42034,LensMake:42035,LensModel:42036,LensSerialNumber:42037,Gamma:42240},n.GPSIFD={GPSVersionID:0,GPSLatitudeRef:1,GPSLatitude:2,GPSLongitudeRef:3,GPSLongitude:4,GPSAltitudeRef:5,GPSAltitude:6,GPSTimeStamp:7,GPSSatellites:8,GPSStatus:9,GPSMeasureMode:10,GPSDOP:11,GPSSpeedRef:12,GPSSpeed:13,GPSTrackRef:14,GPSTrack:15,GPSImgDirectionRef:16,GPSImgDirection:17,GPSMapDatum:18,GPSDestLatitudeRef:19,GPSDestLatitude:20,GPSDestLongitudeRef:21,GPSDestLongitude:22,GPSDestBearingRef:23,GPSDestBearing:24,GPSDestDistanceRef:25,GPSDestDistance:26,GPSProcessingMethod:27,GPSAreaInformation:28,GPSDateStamp:29,GPSDifferential:30,GPSHPositioningError:31},n.InteropIFD={InteroperabilityIndex:1},n.GPSHelper={degToDmsRational:function(e){var t=Math.abs(e),n=t%1*60,r=n%1*60;return[[Math.floor(t),1],[Math.floor(n),1],[Math.round(100*r),100]]},dmsRationalToDeg:function(e,t){var n="S"===t||"W"===t?-1:1;return(e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600)*n}},e.exports&&(t=e.exports=n),t.piexif=n}()}));const Iq=async(e,t,n)=>{const r=await(e=>new Promise((t,n)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.readAsDataURL(e)}))(e),a=Sq.load(r),s=(await navigator.mediaDevices.enumerateDevices()).filter(e=>"videoinput"===e.kind).map(e=>e.label),i={width:n.width,height:n.height,usedCamera:t.label,camerasOnDevice:s},o={"0th":Object.assign(Object.assign({},a["0th"]),{[Sq.ImageIFD.Model]:i.usedCamera,[Sq.ImageIFD.ImageWidth]:i.width,[Sq.ImageIFD.ImageLength]:i.height}),Exif:Object.assign(Object.assign({},a.Exif),{[Sq.ExifIFD.UserComment]:JSON.stringify(i)}),GPS:Object.assign({},a.GPS),Interop:Object.assign({},a.Interop),"1st":Object.assign({},a["1st"]),thumbnail:a.thumbnail},u=Sq.dump(o),l=Sq.insert(u,r);return await fetch(l).then(e=>e.blob())},Aq=new Image;var Eq;Aq.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwIiBoZWlnaHQ9IjIyNC45OTk5OTk5OTk5OTk5NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIHZlcnNpb249IjEuMSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CiA8Zz4KICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgPGcgc3Ryb2tlPSJudWxsIiBpZD0iTGF5ZXIgMSI+CiAgIDxwYXRoIHN0cm9rZT0iIzRjYTU4NSIgaWQ9InN2Z18xIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJtNzQuMjc3NjUsNi45Mjc2MWMtMTEuMzc1OTcsLTAuMDE3MTMgLTMzLjU2NTUxLDUuMTA0MzMgLTQ2LjgxMzE2LDE5LjQ5NDgxYy02Ljc0MTQzLDcuMzIyOTIgLTE4LjEyMjY5LDIzLjA2OTY3IC0xOS4yNjc1OCw1OS42MTM2OWMtMC41MTkwNiwxNi41NjkyMSA1LjA0NTI0LDYwLjYyNTMzIDEwLjI0MDA2LDc2LjQ2Nzc1YzMuNjMxMywxMS4wNzQ2OCAyNy40ODIxNSw0My45MzM0OSA0NC40OTA2LDUzLjY4MjUxYzQuODA3OTEsMi43NTU0NiAxMS4yOTY2OCwyLjY4MjUxIDEyLjQyMjU1LDIuNjgyNTFjMS4xODg3NiwtMC4wODQ1NyA3LjMzMDI2LDAuMDcyOTQgMTIuMTM3NjUsLTIuNjgyNTFjMTcuMDA4NDYsLTkuNzQ5MDIgNDAuNDAyMDgsLTQyLjc2ODUxIDQ0LjQ5MDYsLTUzLjY4MjUxYzQuNDAwMzgsLTExLjc0NDkxIDEwLjc1OTY1LC01OS44OTg1NCAxMC4yNDAwNiwtNzYuNDY3NzVjLTEuMTQ0ODksLTM2LjU0NDAyIC0xMi41MjYxNSwtNTIuMjkwNzcgLTE5LjI2NzU4LC01OS42MTM2OWMtMTMuMjQ3NjUsLTE0LjM5MDQ4IC0zNS4zMDY2MywtMTkuNTI5MzMgLTQ2Ljc3ODI3LC0xOS40OTQ4MWMtMC43NDY4OCwwLjAwMjIyIC0xLjg5NDk0LDAgLTEuODk0OTQsMHoiIHN0cm9rZS13aWR0aD0iNy42NSIvPgogIDwvZz4KIDwvZz4KPC9zdmc+Cg==",function(e){e.JPEG="image/jpeg",e.PNG="image/png"}(Eq||(Eq={}));class Nq{constructor(e,t){this.showMask=!1,this.videoSize={width:0,height:0},this.streamPaused=!1,this.pauseStream=()=>{this.streamPaused=!0,this.videoElement.pause(),this.dropMask(),this.faceDetection&&kq.getInstance().stopDetector()},this.device=e,this.detector=kq.getInstance(this,e.isMobile,t)}setShowMask(e){this.showMask=e}setFaceDetection(e){this.faceDetection=e}setProbabilityThreshold(e){kq.getInstance().setProbabilityThreshold(e)}setCallbackErrors(e){this.callbackErrors=e}setCallbackAutoCapturing(e){this.callbackAutoCapturing=e}setCallbackFaceDetectionErrors(e){this.callbackFaceDetectionErrors=e}static getInstance(e,t){return Nq.instance||(Nq.instance=new Nq(e,t)),Nq.instance}returnErrors(e){this.callbackFaceDetectionErrors(e)}autoCapturing(){this.callbackAutoCapturing()}updateHtmlElements(e,t){this.videoElement=e,this.canvasElement=t,this.detector.updateHtmlElements(e)}async startDetection(){return this.detector.startDetector()}static orientationChange(){Nq.instance&&Nq.getInstance().drawMask()}startStream(e){this.stream&&this.stream.getTracks().forEach(e=>e.stop()),this.stream=e,"srcObject"in this.videoElement?this.videoElement.srcObject=e:this.videoElement.src=window.URL.createObjectURL(e),this.videoElement.play().then(()=>{this.streamPaused=!1,l.cameraReadyEvent(),this.drawMask(),this.faceDetection&&this.startDetection()})}async initStream(e){this.startStream(e)}async resumeStream(){this.streamPaused=!1,await this.videoElement.play(),this.drawMask(),this.faceDetection&&await kq.getInstance().startDetector()}updateCanvasSize(e){this.videoSize={width:this.videoElement.videoWidth,height:this.videoElement.videoHeight},e.width=this.videoSize.width,e.height=this.videoSize.height}dropStream(){this.streamStopped()||(this.stream.getTracks().forEach(e=>e.stop()),this.videoElement.srcObject=null),this.faceDetection&&kq.getInstance().stopDetector()}streamStopped(){return!(this.stream&&this.stream.getTracks&&this.stream.getTracks().length>0)}drawMask(){this.showMask&&!this.streamPaused&&setTimeout(()=>{this.updateCanvasSize(this.canvasElement);const e=this.canvasElement,t=e.getContext("2d"),n=e.width/Aq.width,r=e.height/Aq.height,a=Math.min(n,r),s=e.width{const t=document.createElement("canvas");t.width=this.videoElement.videoWidth,t.height=this.videoElement.videoHeight,e([await this.getFrame(t)])})}getFrame(e){return new Promise(t=>{e.getContext("2d").drawImage(this.videoElement,0,0,e.width,e.height),e.toBlob(e=>{if(e.type!==Eq.JPEG||this.device.isIos)t(e);else try{Iq(e,this.stream.getTracks()[0],this.videoSize).then(e=>t(e))}catch(n){t(e),this.callbackErrors(n,!1)}},Eq.PNG,1)})}}window.addEventListener("resize",Nq.orientationChange,!1),window.addEventListener("orientationchange",Nq.orientationChange,!1);let Cq=class{constructor(e){Object(u.f)(this,e),this.eventVideoStarted=Object(u.b)(this,"videoStarted",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.errorCameraEvent=Object(u.b)(this,"errorCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.callbackErrors=(e,t)=>{t?(this.errorCameraEvent.emit(e),this.eventCloseCamera.emit()):this.errorCameraEvent.emit(e)},this.callbackAutoCapturing=()=>{this.device.isMobile?this.eventMakePhoto.emit():this.eventTakePhoto.emit()},this.callbackFaceDetectionErrors=e=>{l.detectionError(e)}}componentDidLoad(){this.startStream()}render(){const e="camera "+(this.device.isMobile?"cameraMobile":"");return Object(u.d)("div",{class:e},Object(u.d)("video",{loop:!0,autoplay:!0,playsinline:!0,muted:!0,class:"cameraVideo",ref:e=>this.cameraVideo=e}),Object(u.d)("canvas",{class:"cameraCanvas",ref:e=>this.cameraCanvas=e}))}startStream(){Nq.instance||Nq.getInstance(this.device,this.modelPath);const e=Nq.getInstance();e.updateHtmlElements(this.cameraVideo,this.cameraCanvas),e.setShowMask(this.showMask),e.setFaceDetection(this.faceDetection),e.setProbabilityThreshold(this.probabilityThreshold),e.setCallbackErrors(this.callbackErrors),e.setCallbackAutoCapturing(this.callbackAutoCapturing),e.setCallbackFaceDetectionErrors(this.callbackFaceDetectionErrors)}};Cq.style=".camera{width:100%;height:100%;color:white;display:flex;align-items:center;justify-content:center;position:relative}.cameraCanvas{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);max-width:100%;max-height:100%;z-index:2}.cameraVideo{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);z-index:1;position:absolute;max-width:100%;max-height:100%}.cameraMobile{position:fixed;top:0;left:0;background:black}.canvas-on-video{max-width:100%;max-height:100%;position:absolute;left:50%;top:50%;z-index:2;transform:scale(-1, 1)}";let Tq=class{constructor(e){Object(u.f)(this,e),this.updateState=()=>{this._showMask="true"===this.show_mask,this._disable_control_panel="true"===this.disable_control_panel,this._face_detection="true"===this.face_detection,this._stopAfterCapturing="true"===this.stop_after_capturing,this._probabilityThreshold=this.probability_threshold?+this.probability_threshold:50,this.url_logo=this.url_logo?this.url_logo:"data:image/png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAAHbCAMAAACjjMc6AAAAQlBMVEUAAABLfJE0TWYoP1xMeY8oP1wsRmBguNlhtdQpQF0qQl5ft9hHkXvDVDXl02n22WDOVC8oP1xguNn7211LnHvRVC6FjNlRAAAAEXRSTlMADT7xJtho8365krqzhWu/yT2ORr0AAC9YSURBVHja7NxRbhwhEIRhetQaORaCh677nzWrVR6SOPFgydBo9v8O0aqChpLGz7f6cJ5eAOCF+KHfHFYA4DXYu/5CCgTwGk59VAsA3J5XaaMJaO5GAwewxCFplwnYWo+n3hslHMBsh7TJBLTW4w+NIAhgJtcnzrKQ9fjgrQDALKZPeVmmxT9RhAHMcuphhxLc4j9aAYAZXNojArYIJiCApaq0RQRsEUxAAGtpjwHo8QvngABWOXTJygJxoQDAd6vaIgK2eKAEA1iq6lqZL670AgDfrGqHDtzigVNAAEtZ1bX3MplFBB0YwGrSBhGwMQABJKga4GUqjwgOAQFcShmAZ5mqMwABJLCa34E9ntgEBLBY1YijTNQZgABSHFLyPbBHUIEBZDANKfN0BiCAJFW51yAWDEAASapG1DJLjwf2AAFkOHI7sMUTT+EAJDClduBOAwaQ50dmB3YCIIBEZ2YH7hFsAQJI41/qwARAADdiGlOeCIAAbsSqst4De7ADAyDVofH3wARAALeS1oEt2IEBkExjvDykBEArADBHTboHJgACSOc5HbixAwMgn8YcnAACuJ2UDtzYgQGwgTOhA1uwAwNgBxrjBEAAt1O1/EuYYAcGwBbO5QOwcQUCYAvmGuO8ggNwOxpT2YEBcDur74E7S9D4yd697bYKA1EY9hhjzodY+P1fdaN2t+oZ0gR3TP7vJveRsjTjZQighV32cTwFB+B0ln167sAAOB2/pHwtKpegAeiRtgcWBkAAisiyT8uLAAGcTp9wB2YABKCKLPtYNmAAp5OuB3ZUIAB0SbcDCyeAAHSRZCOgMAACUKZXFoCcAAJIRdLdhZ4YAAHoIkuqvwYZeQwYgDLJdmBHBQJAmXTvxOIEEIA2yz4uxQhoDQAkZJdtvRVzu4kTQADK9NvxZ+5C2IABaNP/HH/O3MvIHRgAysgPCejF3JFjAASgjPTHNB+fOe7AAFBG/DG772eOCgSANu5DBLZezCFk4gQQgDrO9//VzhxoZAAE8LhG/g0dwOMaGQABPCxx05/cgaFpBqCBjFPSCmSY5zmu5nlg3QZUE2dr684+r8g4JRoA7RDfmgcDQCdXd+FZVZ8+BMfp+EvQbogfDWf/XoE8SRfeqU//U62nyRxpiF/h3VuAPnV4rwqBI6ubzPFrrMGAMtKFz6ra4LfsHCMJCORAuvAlEvCXZIgxkoBAFrrwje70B4GHsHOMJCCQhzp8qyIBrzfELRyvAlrU4QcVv9UrSdw2GwA6VOEVVcjNbHzGEgzkoA6vcqhCxFnvfbtq2qZZP7z31mrZ1J/aD0ZAIBcSXqmuQqz1a+aVl+8UZdN6nyYJt9sPTgGBLNRhW+fMH3LWtk1x2alo/J89zTzEFSMgkI/wQmMVIuLa4vILhU8fgjLHK2iYqoFHZ8MLfVWIX+e+GxStMwm5GAlAIC910JmAtik30m/nPiwmjSESgEBuuvBMUxUifi077qZsrTmcDJEABLJTBWUJKLYtLndWemcOZWMkAIH8VOGJlirkqfM4QnnkLjxEAhDIUbjK0YNUeTnQP/buLUdOGIjCcJUpDLbVEljq/W81mUSJZnIZwI0ZbP3fBrqfjvApX6JKHcuTAASaNOVDZqlG47BWNnp5c4f8ewqALzflY5LU4cJ6hTGq7FNe/3EYGGhFygcllTdNxt8P0c6u/1gBA42a84b6oxDdqP5uHIH6Mf84CQe0xfJxJu1MPv4t6HWH33gbDrivlI+b5TS2O/7uNxLW5/NJAwi0zOUCSc5hYf0qQ6ww/uAyLKAtOuUN1UYhGtejbrQpxj35AASa5/KGWqMQP6xfLJgUM/IP6EHKRVyb5d9ZVeBC/gFdmHKRWV7g13sYTIo86P+APmguMqXGP/9+CnrlAHhhBzRwM5bLJCkTv7z9e290130APsg/4HYsl5mskZ3PZzeBC/Uf0A+dChPQNdv+vTc4OUQ5/wH0RKd8zSgkrLfk5Qij/gO6otMVoxC9Vfv3XpADHPkH9KX4GzBp08vfklmIo/4DOmMpl0km+8T1zgYveznqP6A3OuVCdvObD3aKWikAF3Y/A/eXKk5C7Lb13/FN0cb1p0CHUrX8cw3k37oOKnso9R/QIS1JwElbuPrl1LPBC/Uf0CGd82HW9vj3D+7cNfBC/gHtOJ6Ac+vj34I90cruP6BPBxMwdZZ/+xLwQf0H9Gk+twDUca1i+G6twss26j+gU3bqAvjc/BtjdM5MfzNzLoZzfyTKpoXXz4FO2XTaAljDWckXvHOm8h9qzvkwXHYoRBd2PwN9Up0KFsD18i9Eb7KL+RiuWQU/qP+AbqW8h6t/+9UYnByjPowXrIIf5B/QrXTCAljjy42fShEXh9rfgEb9B/Rrfr0AjPUuJ9hmsXICKod/gX7NrxaAfn1BcCovUjdWvSff8fQR0K/Ph8GT1cu/MZpsqb8UdrLhQf0H9OuzBJxctftfRq9yGo1DvZsRHux+BjqWir//dCiOPzmZH0v/im4mIId/gY7NpSfgxuI9yBX4odZTSQvLX6BjruwhpLAW8SpVqF+LxGMJ+BA+AIGu/F0ETnOlC2CiSTUWKh0JWaj/gJ7N08f4U9niyja+SFVurHNF9MLhX6BnOqdf6Zf2PYB0l/Lvo6KBsMqWhd3PQOfcnNLsVDaUFoCjXEHHGoMQXRh/ACgvAL1cxNf4b/p8svwFUFYAjiaXsbHCO0lK/gEo2wEdVS6k8XA+s7cFwD6h7NKBcvW3RQcB8I29u1tyGoahAGxbtlqpV+L9H5a2UGiZkqROYsvp+a52GP7CsGePIicLC7Dj8fchF+8ZDQAjymOUq2KfwRAMAPPE6fZ35Y1ADQAAM3iM/Pv8b4ohGABmRPL28MdWCUgYggFgmoy0WmDCEAwAm4kj5d+n76zGWWcAmBBHC5Tk72llABgU23LkIP9CSINsbADAu0wjzb+/JOxBAGALOuKpEibsQQBgtTzmNMlj3bYEAJdkyPwLQVEBAWClNGyO6ICTOwC4IraUOFsmRPH+6gYA8C0PvEzNhAoIACuU0Q7APMuECggA1XLfBYiGdRiLYACoVvpWqNWjqeCBOAColPreANTVuRoLKiAA1NG+SwRa/xsnVEAAqJL7ngDMW4zWjAoIADW0b3uSTXKp7HwXM86Y+GUNuDubBDAM6vq91eI225W8cwX8Me0c3jv/aOR0uZzPqLcAn+KuA3BMdkPNLoNDlZPzAPztdIUkBNh8eCwx7KLYnbS6DopHDsBrBD4K4eWMwRhgTqau74BJm20n0tILOXYAPpXBawyeE1IQYIL0fYpM7Tf1fSXjBeCjDl7OGSEI8B/U9z0CZA+51Xd1it8TgA8YhwHe4r4vAUz2B7u+lrED8LYcQQb6EHNOie8SblB0R33PD0v1dqK+ApYvDMD7NHw5hy7SxnLO4518jIlFSiH7F5Uiyg7fsvQVcrMCOB9Z2qoC5m8MwLtTj1k42i6IbtEhqszJ913OzCrF5hRlFMLm2JagsBN9/VMaVUD52gC8zcLLDgn6D8BXVHwGYUxabDnlHLYlf5WnDyY/fP3huZ8rqnqf51P29+8/h7oWwFDMOlRAit8bgDeXHMO8sQLwoaijFIxJKq5g2wy0vZE9I1EeKAhT3wIY7EVpFeipVQBGlwF47YHnMG3YALwj9fAoTBarVPJAAfgfwiOEIPctgGqv2O8FHakB3swthYcOwF8jcQo9cbEVCm8343VDRdjDV6IJpesKOFbOpuuvKH59AM5E4PABeEPdPv+ykq1EGkcPwMdM7HfDnfsWwGT/So0qYEIAzkTgEQLwZmEGeou/O80HCMAb8toE69Ji80OA7c8CKgJwJgKPEoDtMzCybYU4HiIAb4Qdbkak61vk8y5hq7YAIQB/OZ1yeOtAAdj2u/mzbYnSUQLwitztRahrAeRd0jbZEgkB+HCJ4Y1jBaAZcWghF9tYiYcJwCvi4EjaemGQVEQ5rtlXcJtaywjAyTn4cAFoVjSGnUU1M2eZ4SsAzUj8ZKDaAvL5rV/h+viVNjOIIAD/ePeQ8AED8P3xQN/17xfJBwrAq6JORuGyZQFker7EVB2/qcnnGyEAJ+fgQwbgFefwyu3dv2eUDhWAZuTjaAzZvFLZJjVWxq+0mYETAnBqGXLUANzvRnwU2xEfKwCvpP9SONoCWjtNS+3Xy9jkdKMiAKcu4bABaEa3qB/uInW0R+HmlRT6UlsgVrd/qexppcn/RfnqZ4Hf+lsCx8qGj2kMW0tkO5ODNUAHEbjdBJzsHa48sBxbzMCEBviTvXNdchuEwaiEBI7IL73/yzbpTnpvbMQlAvvMdNrOzm7WsXP8IQF+t0XC0gJs/8FLpP/h43MZPQtQVQIU4XQEHHfGGmXxU4ZM78FLgH+y/TyMtQWomnE2/6kKrifAmhb3kFJZqGl/ReN54RHZNl0C/Ad3hifLC1AjzzT+fRlwQQEqZYRPgEH3obr3mG32zSPGwOJFgFsL2imQAeAEAlRN7ZLEKGRFARqmZIzrgUjd/KdoVBQPmJFFTgS4IVSBXzDfbvfNZTfYqQA1z+Y/1bymADUyjCe2ukvGcrVj30sTdR/CNQT4G18edNYK8SpAFWgAkw4krSlApQyjwVZbobLBZMk6VQvbyX1FAb40WBcGb3gOAaog1IJRR0JhTQF+IAQ2KwFGg0HFGvUppsBthvdhWQF+5ylBHwvj/ApQY4MpV4PhRQWomhAMdBVgrt6BNNteO75NjjEx1hcB89oCfPJwoAMDOhZgtQGzjkZwVQF2C4F2R6T6n2O8bPLe2ZRUW5iOPlaCbAgdQb7bDHgSAWqcpgHyIq2yFM4wwDfQe5SIZDBZNF6XfHj+EOk+uHwCfIJ82ywGPIkAVcAOkn6AsGoCfJBhGNJGEcFgsqD7pAPSplR1dHwKAT6xNIbveA4Bqsw0AH5AcWEBDlwYQm16IGIwmahNvni8IJJ0n3AaAQLw3WDAcwhQU10ZfTx5YQEOGwaj7iMtiiDReE7CIasRXgI8qsCt2IDnEKCGKWbA/IRWFmDfdSH2Yah9EMDGnXPxUHKUisM7lQDLU+B2O4kAlecZAH8nLy3AMYXA1Oa6iIb7VTSOTLjg3ULdJ59MgIBcGAJvJxGggIWoHwOXFqAKQneS6W02hTm2tc7iwTsuW69OOZsAAbCwI3w7hwA1TxUAVWVtAY4wYG6yWlb0AGK8cNIxp4n1N6PzCbB0HLzxOQRIPHAKTJScUgqPPzlHtcFrC/BfE9Q9ChCp/Gyh9TYXdjxmSLgnFCBAUQjc+BQCVBkUAEkSwm8ksSgqLy7ApqtC+iWkbDhbwdoOkjd+te12yKcUIOC9qBV8CgFqGBEAKTXbUJoXF6ASQ1ekxV2RDDVbsS5ToqJu7iXAN9xKDHgOASr2fwhwaPjT0opL4UYaUBrE7GAI7Gy9zaWy35N1n7D+WuD/ELaCyTDnEGCCIqjtY0hYtIy4egLsPQqODS6JaDhbyVqZiWUCRBcCdJoAi3ohG48XIIW3pAc5C30ucITWCxwwlwp7eQH27YRQvR/YcrZES+AjLxYuAXYtBG7YV4D2fIOcssRPRMBs+Cy3NaCsL8CuBqT6ElkyXNBsPcu5sHqDuk86sQALCoHb3asAv8DURIKE/Q5JsPneqtRPgBS/eP69+0+KRKS/42SzsrfUl4XREuWysW6MxVfCJcB2rZDgWoBPMA+dDZ26JBnp0bem7h3xVxaPpD/5/FY99QI0lEF2LUXGizIUv0fxEmC7DIjeBQiAQcbFjULdYo/dFaInAb40yEn0gYOtevYwZ+yqal7QUnj3xdIlwO4GvPsX4APONGguIBnbK00zhT8BvsKgkH8Dmt/gqmqeGMclXF66kUuADVeF3GYQIACLViB9esCp09AafQrwOyFH5/sD2gVYUc1DMpam0ztDXgmwuwG3DacQIADHAfvs5V7HgtJcrB/bkI9zdNwKxurLIRqiXNJy8s6LJbgS4IBR8H0SAQJI/zFw7KYT1OOI4wT4RYpuW8E1ArRX88h4Ww7vvuxZgF5XghT8hi94FgFCIP3B5+fWSb89FtB1AvwOi9cNUisEaK7msfXw85uvuhag/wR4eEb0No0AganvVEA22aR9J5i9J8AnLD43ya8VoKWal9UCvR1yhEuAleDBMuBtGgEC991mL/c8klzghRkECBDE474INQK0VvPURkrvrq9LgLUc3SgfpxEgMPUcbEnPWRxIqwkQIER/86F1F3KzwvB9C+TqAg9qhNzmESAgday3R0Om7BEB8ywCBMjkbTag7jPDDkd8CbABB8uAPI8AIagJbi1XhFJYjyLzCLA6MiE8cbMWOKsPIjy41gKPaYRs94kEaLxEQ2MB5q7zeGYSICRfc2FIdwn+A2C4BDiwDLjxRAKEqAZy4+MJvcIrSQrT1AC/CNHTIDjWvA9BfUDwnWs7rEFlwPtMAgxqQNrOgiHsEF5JcgoA6HQtsGGdS8lb6WJHaFEf5EuAY8uAPJEAbYPgtmM5wrYdHIqSGF74Xgr3L7KfTrBU6IXbz3Wh3LgyypcAi+BjEXAmAbIa4LYCbNfDpr+eqDldAnyQyMt0aNFdxHAFCFr1TvZ7gt+HIs0jwIOD4JkEaMoboemPjY1mcktAhBcTJ0CA4GUQnHWXaJBnMqZchty2LhpcCND/WuCfbIcawTMJEPvU2mXAsA1fUSlKCvyj4Dd9AgQITvog2W5cfvstaGxyY2x6R0jXc4G7RECcSICWRnD2IcAHHFIK/PrfMgIE9rEizizA3a0JxNjNSOXfdAnQiL0PcptIgBhmFuAX6wkQmDxsC5OsPYb9rQm0HLbcr0NtoQYvAf5KOPZ4kHkEaPn0yyVADdCXQA4iYNB9uPh6Nk6SEdOjtmpHPxEuARZHwO02kwClxyuLi8c6TixASA7Wg3xj71yW5AZhKIpA0IN6pfz/x6ZSSRapSmIQyEhu3fV4aGN80BNncdCRri5AaXSzSC6Sv3Q9ACgohXl7AiDxrIqJLPDDAZjofEswiF3uevnzujCbkfdVbOUAoFYUEB0BMPO0AoB/B6ANAtZbJ6ZMXliFy44k30Xty0Z2CwCKTEBHABS8/mCgEPr5AFw+snZdXTpauZ64KrwpFFwk32FyAFBwKszr5QmAVQGAeQKA5x+usULo38LjDXFiRJTrVZulYZe66xXpAUA1E/DLEQC7gomBPK7zD9emBZhSO9wQJ3cSywCcJ29JQM62/tgxRSeIpB3k7QiApABA0PbYPsECTKkergXM0sHKwMNu0oaOLrhI6qVAWICidpCXIwA2hbcfinL31kdYgAlkBCxwIwDrDLn7ju87Z8FFwnVfUgBQZgJ+PRmAOMAUT5XQZgGY2lkTEKSrgUY2O5JOdxdcJAv9UABQWgwdAPQTBLQLwNSZ2XiCrI17AAVk814lKba6494CgNI0CDwYgJAuVQ3CxCMA89k0SJNaSTTyp10aJemCi0R5OggASk3ALzcAzBoAJHYUBDQMwETMbLtKvo4f7Z+FkWLYDy8YCgEGAKVpkNfrwQAc+qeOSqEtAxCO9sOhOCKCdYAnJI0S03r4rg69YwHAvwmG2uG8ALAp9AInKBZp4hCAiU6mQUA+FtZrUz9LXQRYf0IlAKjrA+fHAnBo5Kr7tn4OAFNRrYTRs5OgX5uKXXov/fKiHau+BQDlpYDvzwZgZz95YLOF0AsmIKYdgrYSEsn1at1klpda6xuADAFAuQ/8eioASx97bf2YgLYtwFQONgTj0uODPxCYd/bj0hq7cOwVCwAu+MDoBICkEl/K7CcNYtsCTKSaBlEOlWGm8p+HnKX/HcoS//PoJhK9wGIf+MsJALtOgL36MQGNW4B4shSwbgg45kaFuQuTZVmyLcCO1UlhAa74wG8nAKw8qTbKVS9nYhkHYOoH88Bt01iZUGiKgaDOoG7xT3IA8F+C10AloBMAFp2XvzGzk4Zg6wDMB/PAqOxvQ5GujLawR9NYYCYAuBYEdAFAVIouoWGiOANgKsZ94JWxmjSdDQvoGkv2BQDX+oG/XACwaQ1cmZ2UwpgHYDvoA3flxQhV+p/b0K3L57MFANfOxHq7AGDXKrBozE7yIOYBiAf7gZv2fJB4WVSp9995RBgA/AQAKuVAUkLTTHEFQJkPfGcQkJJOFLCA4Mq2JabaUwBwLQj48gDA+ZGzEloLpmEdx8vNAMwsUEtb1LVTLrT5w5Z1jwHYAoCrlYDoAICkZ1i0SQDO3tGnFEJfWEnamfWmbQLi5lOdcc+GlwOAq5WAXw4AWPTGBWYfYUD7FmAq54KAqD4YydO5XfBo+vChb9EJshgEtA9A0HSsunWsuLEAEx3shqvaDneWb4nQL36H2JqmFBbgchDQPgCJZ4XTjpv5T2Q6sACBBWp3+sBVI8yIs+fV1LZryWMAcDUI+LIPQNBtMKjTN4VpTJ8GwFSNnwijYgLWoYt74d/quOtuCgQALwD4BAuw6b5UmWfVIQ3p4wDY2XylFCSxytIsA9XyQx33TSSlAOD/lb9dC4wDUDAszL865puCPQCw8bxK2qOsbwKuh1sAdt5LSQHAHWlg4wAk7VEbeyCgBwDCwSwIFPUIbhVYYZqWdA0AXurlHoDI0yL10FUZG+LTAJjqwVx1Vy9jagKgalaUtwDgljSwbQB2nhZKF5zl7wS7AGDnc9Y06s9KFbihettISQHA5wOQ7nijqgMCugAgHQwCpq4OXBIsA71JpADgnmY4MAxAkXHmqov1QYXQwomEtEdN/cGBgN56W10OAD4egMj3jFnZPF9cWIDIAuHNvcgFklR0QzasDK/zAOCeOhg0C0AsN1lmUMwT0Prv+6ly8meSetQR9ae4Ta3z6AW+EHoGINbbPCpi6wR0YQGmfnIWUX9EEqxvnT2/QFiADwdgFvGvrZx5brgt2AcAiedF94+OmxhLabf6+DoPAG6qhM42AZjLjd8Zg8w/ZfZ8VB8AbEcBmPVLb6oApCobCAQAhzTSCmIRgND4Xq+UjBPQBwAzz6s6sp8SqKZAcGLXCAAO6eUTgFhZpLqjxMHk19KfC0BWAIje3FTNSqg6vuwCgGN6uwQgFZYpa3pvsx93+EAAoixttU1d/bHlgR+un0LqKQC4DYBvYwCEVlmonhbUTRPQBwDhcCop6y+VqpYCaRORlwDgUwEow9+6P4rEv2TzgFQfAEzlcDVRVY+iNa0USJ7JGwUAB/XlC4Df2buT7bZhGAqgGEikZFbs/39sz2kdZ2wiQYQJSHhddVXHVa7ACSydhz4C2uAb/nw2SHW+TdFDP5idisjBH5EBYNHsASaAM3tCuwGQ6jiSbsSf/se8XgXYxv7Img/ABKqIzRJI3fug50mQUwGIvfI4FgRdhMe7uGyQGqQC7KsBLOZ7mJAtCsC263NnBXgiAJHkht+x0NEDJ65HwUEqQNEAuIrgWg78jG3Zi0MgAQwCIMs36dJ7b5XHnIh+9BtBwATQoLFFRX2RSav8Y0wA57aD2Qyg5zSr83b6eZkrAkjrvzqxxOTOVV322hBIABPAj6nq8i+IgAmgyXQpo7IE7Kv8Y0gAZ3dEjQ8go7L8CyPgiQFsKz9DRd2KRVnlX0kA94SuAWBRln9xBAwCYHEAIDRrAZHbIv9GhwQwh8AT/CttjBFIwARwj0/WJ3maLPKvYgK4K78uACDT8uHvl/PTCeAiAEGse5oRLlo2F0gAZ1eAT8EBZDqw7SCMgEE2QvsAEJrbzt4f0lVfVZ4ECbIP8D9ZPv6t454oAp64AqzrP4bAmrTdz3pWgAng0fFLqcMsLPCarAAVZc2SkSV3WBBsu51OAKcD+BQawObLvw8D8qwAFQCusaUjHIz9g9gwAYzVDss8DU3P/jq6LDMB3Bf08uaad2qQARLAWA1RjcMy5+LVCAImgDtDfuZvJ21DlQQwAXwbJpf+vU5VXxBAD0fhbulOJJ51EXWHBDDapUimqfiA3083l2UmgHbTgPdUgsdEWPG4J4AJ4JvI+tO/Pz2sCeA8ALX/2x7XQlSnkAgSwHAXo9ulFQBn67+fmzNcEEBxBCCIo1X8ox3IBRJARXADgBQPQBZw7d9tFJwALl586JPercvLv9EgAdSkbACwhAOwIQB4Ov/x3Sj4Whuhl98J8i5Y3TW16EMThgQwAVTTovevkper4oJUgMtvhXsfZF/neYgPPvJ5Fnhffp0OQCZ83Ku3I8hQhivA9SrA6uxzarc91TuBy0e/YzBBVoDLG0K7ALAJgi6kLU3ksdeUIBKRSO8YsgJkZwACscGjpgp2dtBhIwEMDGAj0IZYvSmsm85VYilEItJ7b61WHi8pIQH0sm/8NTK04ZkEIrGLPrsJ4KdADAC50UPnpipuGDzrd5UhSfv2TlCKCGAZiiAYBqEPfeYRWJ3cun8xAJ83NIMJAeDBOZmmeuwmCLh7L1jsCpCGImCcNvThWZtivGwnuBiATxv2QQcAsJdHFyYNYYqA7YftGSerAGn9cvlkAQfPWQ9xspngYgDi71MAyB3hSJCP+Qc4uQZs46QAyvIh3lfBtn5Pp4/672oAlg0Aon8Aj46A+/HVizZTQBlnBbAPX9uO7wIuP9g4VKkFABJA04b4IQA8dEqdZgw72sSuDXxaAJ3tg74Ha0gA+a9/CaCHG0HUAK7vslcVj52lgDJOCyC72wVzC4YE8N9X4wDAqCdBNiwCxwFwyIPmpWh2ESEaSingSRB08lv+RbCGA/DlRewAwKgV4IZF4Oc4ACpni6qCK1MB62krQHK3DfA1WIMBeJ//SwBdLAI7AFC1YCjTjm9gndO+i08LoHjcBvgSbKEAvPuXALpoheACwNHQvAAsAAYC0iUAbC53wdzTAgFYEV6SALpYA3EB4GhoXJSIUUtVugKA1eki8Et6GAArvEkCuP5KOC8A7i4YeOqDhzxBwHFaAP2ugdwiQQDsCK9JAF2sgWgArKXghz+lUG8PWwlBmoxGOd4kH08LoLi4PeXbEEcAUOBtEkDDcyC/bAH8r0sy1BHDArAZXizMdHYAm4Ozrj+FqnsAmeBdEkDDNRBaAKDieK32+SjzzSA+WAOW0wJYAwAIpToH8NPznQDajYCfYBWAAFS1kJjNejcAewHp31/O1w4Lh/M1kFuaawC/+McSQLNdgM/GANqMJrvVRxbr69Vx+0xZCXcSRNyvgdwijgFs8CkJoIspQBWARisKZPSkI2wKHWqs1M9aAXKEEfBt8OEUQBb4HAcAhjwL/LwBQFoKIBTjnaldUQCaC9jGpoS7FAnZ9zbot8HuEsCv2087ADBiBYi/NwTXAghiOghGthJD9AJCPSmAtPzCnz0R9gfgH/buaIdqEAYDcAuUDXZV3v9hTdSoiaKMQ7cW+z/Accbss6XAOrv/HMCphAVLgOIAQpFsgsNEXSkuYIk8FHMfRicrS4DfgqQMwF776wDKdcDn6wBiFPxUQhWsRjLLhqwBmDR88eJWqi4Au/45gFKbYFp6HcBpSMr6mgRBkYDFGoD5/U8+3k0qDuC2AJ4D/h3wPoBAcnMQ0c0OKCtgtQYgGdkF+GswO4C7AjjUAWsAMPBcCFcvAQIoEjAbAzCw4stQ+0lFDYABOnEAJ4IjHTBqABDyLBEyS4DjwcpyCcYArPY64G/J0QHcEMChDlgHgBiFJsEk7oWggGgLQIwGO+BvKQ7ghgBeQ5tgVAA43wSvBXDu5RFKNAZg1vLVMwfQT4IMHoM7QAmAQDJNcLxHDmgS0BqAZG4TjDoAE3SiAEBzFeBhCkCMLPHd6CfeRhQSMAJYugwhM+t+wL+kOoDbAYgjAJ5qAJTZDBjuPqsmAQlMVYDE+i+D1g4gQicOoMgKYEM9AKJEE5yfmUgisUCqKQAzW50BO4A7ApjaQC7QAyAEgWth6lOvo4SAwRKAyHZHIHoAhG4cQIE9MO3UBCBUgSaY7v6SnhowgiUAM9sdgTiA+wE4NAI+QBWAKHA3anqqIUv0XwOYmE3dhKUTwAjdOIAaCkBZACHw+klwfep9TJHXplgCsLLhEYgDuB2AqY0kKQNweppaF/WmBRQJaAnAYLsAhOwA7gXgNTYCUQagyIm48BSAENYKmA0BSGx4EyAAKgGQoBcHUEUBKA0gVIETceUOgIoERDCzEbqy5T0weipAB1Dgb9jNAfoABFo/CcbnhpKB14XATAWIzGz2HgQHcL+zwGcbSdIIoMQcJNx4Vj0CVrBSAWJk2yMQB3CvChCPsRVAjQBCFdgOXYZ/BPQIWM1UgIVtrwA6gJsBeLWRBJ0Apri+n8L4GICQI69JsAJgZvMFoBYAC/TiAK5ugC/QCSDkaTEW/GZSI2AEIwAGtl8AOoAbAYhjE5BTK4AQBU7ElQc3pmVekWIEQIzMpk/BOYCbAXgNFoBqAURe3wSn4YfVImA2AiCx+RHwYwBGB1A+ZxtK0AsgVIFJcH5wXQpXCBhsAEjM1vcAOoA7AZiOwQJQMYAosRmQnryeqS5YArQAIBbeYQUQIDwCIPHfQxl6cQBnFgD7SZoBhPBeE1xBh4DVAoBYeI8C8KEKsHI/kSpCPw7gygXAdoFqAKG8dzcq6hAwGQAQiTcpAIcqQMk/pQSEv0UDgBZOgpxtKAcqBzCxwGiRBN7MGcPnHcaoCZpv/hm/BkYMwPH/FmMd0E8BgAYqwLON5QTlAIpsBkyP9mZYuZf5pwhRD4Cp75+Wb19oa4H/sGZAOcBAHMCV/l2gHkCg15rg8P4CWf8hghoAM/M2DfBjFSBgjfwjseQEY3EA1w2A25EMAIjxrbtRK8DrXXDsu6ODGqzMvMsERALAfnIhikSlJrgRB3CZf+0EAwBC5bfuRk0KBAzQS9YAIBL3o+XeY6UAKsiWAKY2mAtMADjdBNOnqhZ4f5vwX+Cq7wP4nYstzoA4gHsAmI42mGADQAws0ATzSLKGSmlGwP7P6Cn/NDbADqB5AM9h/06wAeAHDeSnd6MSgIJRaZ4RUB5ArJE/SlTyLXQHcCMAzzaY40AzAKb41t2oRUO3SNM1YB9ADZd9qZsAO4DmATzbMQogghkAIfNk8qf9W37fv7+WSvUdbjAQf8s+W6AdQPMA4tVGc5xgCECMr92NGhRsFvmbgPQCgBgi/8wG10A7gFsAmI42nAssAQiJBe9GHbdHroeXFzAoan4VM5LMPvl/fxb4vOMf2gIQqkCjlSbsmS7/5AQsjwIYyjf+tlwA9ArQcAV4tXEAjwTGAESSuRtVXkDMS8Sg7lNgeUycUIm/ZtMFQK8AzQIYrnYjAawBCJlF7kYVtyMQM4sKiEhPAJhyicy7+wfJ4vGV/x5APNudnGAPQCj83lcyM4oNS8dD2F9iFAUQMeXCK1P0FlEOoEEAw9Fu5LjAIoBJ4salKnpmIUReGvzkHyPM1n09wze6A+uXpPeq15QS/DMO4G9JV7uVC0wCKNIEA/FYYoa7qcvlIPyglKUv7J3bctsgEIb3BAh0hd7/YdtO0tSpI1tCwtpd83WmNz0kzmg+7fLDshvmtf/V4QmQv8gl8Q19vmc4PGs2hgBb9v7dMqNRAWKzUOIZRVqmhrD0ZDIeOGnHtfLmXx1hrQHwNgEGOBek70V2IHjIEOAtMqW0239GBQjUo+QotZ6tQGwPS9sNSFxtoNt/IK/sgFEo876vMAT4XX/LThKCWQG25yDlpLqSSeAJQrl2JINxA7LCEVi34MsiEKR8eUZuWoAyL7tJCIYFCNxlNuouMiGupqUNYel5LpdqAd31HwC+5nA4FdbwQzJ8EoTS0uQ/0wKMtcts1J1wjoT/r+OUzFxfQXmgcv1o9x9g/waYSmAlMZHVClDmtCxpv/8EbAuwTxNcW+CVsLQ/xW4XrHz97/nTUPCE7eSKNoqbFCBN85KWBmYB6wIkBU3wDZcIhwusEXUb0ID/APtt4JZYWFmlbE6ASFNaGpkRzAsQyvl76ABytUW0acBgwH+Afdb/kAorPCtoSYCIH6GvDv9dJUDkHifiNGtjpwGrWlTvf/4CO3z/WFjpfXlmBPjHfWk5wgzgQYAH+lUCi9pwY8Cg+PzbLSefB5cSWO+FeeoFKNM0zyml5SgTgA8BQm5Pgv00wZWsGbAY8R+sdO/YmHjovjGvmwCX+Sif3ktLQ967MgDfhwCR2+NT43votl4VpxDl258fCjAXaUo8Qj1AgJ+xIsA/pM/f1v/s4d9Ky1kkgj/4EGBzicMsjppgJkMGtBD//ihADoUa5PdD4qFzEbBZgKb4G384ESCEHm/VUI1hyIDBRPxx+yC0T2ZBKYa2jL+FACf4xIsApY4k+DcsRpY09Y5/XhUgZ0JsSzxM/dTeQIA37a8XAbZXOIyOmuDKaMGA2qcf/E/IkQQAYSdU7hMP9YuAbQJEQwK8aX/9CBDbszV9TXCR0F4Davsw92RL7e8HeDzxsHJvqPcK8Hv660aAQAeaYF0naQMduTU4qO+CjZV/DQh9k5+tewOcC3AWuMWPACEfeK9qyg4yAvQxIGowoOLLj04B5S7utTU4x7UA78o/RwKU2n82an84Hu7pA6r5NOZX/0464GYpBfEswPvVP0cChHigKdMyUO9GXu01IOvxudWzH50OuFnYCehXgEngDk8ChPbkAHQ0wUznuDegyuMtpvb+KbgpdOsi4BDgBlKaEO5xJcDmyIKzis2AReAbsc+F6RcRnHa/z+NeW4uAPgW4pj9XAjywGZCub4IDwf/EPpdlXkGIHrvf53HvEKAG0uriny8BIpudjcrl3GXNDJpqQHa4+IfbEw9TKYhDAT7SnysBQuzyZHHtTjn9A+XLS9ov2NbBty1g3JV4WDoL4u0kyOPqz5kAIZucjfogHSj2Deit+W1IPCylIM4qwEngIc4EKNXebNRM8IBi+6o4Z2t/bYmHqUVATwKcn0Yf3gQIsUefJlxv6KA/rwbMhob+faF6SniEe4YAV3pfged4EyCE2kjjbNT+hsgdDBhrf0Jxt++v1EvhEEcLrGnfi0YBQnsS/OochDN2PuV8nQHZxIWXP6NzPhpHRIAhwE1st58/AZq5JbMgbCRbuyqOydXK3xdUryFEQlhlCPAbaRKEzfgT4IEVO3ld85P3PNFYLF0Vl6O71vcLri8nFBJ4yBDgP+adqa9HAYJk5bNRd6+OYTRSA3JxbL/XpyBh08tkCPCDucV+HgUIEIPe2ahcCPYTWf1lmcFz6ffyFIRD3pp4DAEuKc3T9asuegQIWJoUyL2bYM4EbWCojbzgqjh+B/m9chGQ98hPgwBxrwDt7vYzIcDfSOG2jSP9BioXuWLYDUtXA3L2tdf5IVL7E6Ig7EGDAC+pANM8CWp6+OJ+oCOIIkRxFwgPQCoHUo/DjzVSVnVVXC5RRNPz1x+sfQmxIfF4KwGm+TfTNJEu9ekF4VSQYtifeZy2i0EolpwDX3FdMAcOIedSYoxEb2a+F1ytF4qKUlqesPrP+jOcpwOJW+975VyevNIVu37wus1D4Z3WEQYeoFhyCGvPcwi5RKe7gd8aqv+wdMBtMOiCUCwl5xxCzh/tIQmOkswtcrb94mjrBoOBEbDaPeMxGAwGKlKQ4PzIzGAw8Eg5JfHwOCpnMBi4R+oh2OGUxMFg8DZwbWfIb/CrvXvJcRyEogAa85Ng9va/2VZ61BVFqZhELWOfs4gr4MIDllZjStZ4AMtrE+HnTihwCluOPXKfDL8tJWtG4GDGnsYjTWVfSaPGXXZqCBxJinfk3MtU+D2OHGo3gMMY7335MqP1nONBdXwIHMaWfwm/uaVf6zX+koDAcaVXjcdc+I36ck45wFGk/HT249S+t6Sn4eccEDioUp88cJtqe3O8od4AjmP8eOC2ffh9tSUgsJKttNFHKuU2IfWaD/J7IsB/s6XRc+zlPjSwuHv4xZR+A1jWllqPee4CAmvatlbjB3tg4Aq2VnN8zBB9YDFlX+HhNQhwDqn1Gl+TbwBLKG3keEILApxdj0cOAYGLaPEur+GAkynxLy0IcCEl3uM5MHA6W447LQhwQTXutCDABWlBgMsq8YqBMMCZ5fi2rAYG1lDjm+poTgCBVfT4ltqbUVjASlp8Q67CD1jNluJjtbn5Bywpfxh+SfoBq+oxq49k3wusbMSE3Id9L7C8sr/wGK66AOfQY4cs/IATSfGuofAATqbH76rCAzijEq9VhQdwWu3V+zbhB5xai2ey8AMuoMWjqvAALmG7lfrvyi8V6Qdcx5ZGz7nW0YQfMOUP1HklZuWxw8AAAAAASUVORK5CYII=",this._debug="true"===this.debug,kq.debug=this._debug},this.photoIsReady=e=>{this._stopAfterCapturing&&this.closeCamera(),l.captureEvent(e)},this.enableButton=()=>{this._resolutionOnPhoto=!0},this.updateState(),this._cameraStatus=0,this._resolutionOnPhoto=!1,this._device=xq(),this._mobile=this._device.isMobile,this._mobileMakePhoto=!1}videoStarted(){this._resolutionOnPhoto=!0}async retakePhoto(){this._mobileMakePhoto=!1,await Nq.getInstance().resumeStream()}takePhoto(){Nq.getInstance().takePhoto().then(e=>{this.photoIsReady(e)})}async openCamera(){this._cameraStatus=1;const e=this._device.isMac?{audio:!1,video:{facingMode:"user",width:1920,height:1080}}:{audio:!1,video:{facingMode:"user",width:{ideal:1920},height:{ideal:1080}}};setTimeout(()=>{navigator.mediaDevices.getUserMedia(e).then(e=>{Nq.getInstance().initStream(e),this.videoStarted()}).catch(e=>{this.closeCamera(),l.errorEvent(e)})},100)}async loadModels(e){await kq.initDetector(e.detail.path)}errorCamera(e){l.errorEvent(e.detail.message)}closeCamera(){Nq.instance&&(this._cameraStatus=0,l.closeEvent(),Nq.getInstance().dropStream(),this._mobileMakePhoto=!1,this._resolutionOnPhoto=!1)}makePhoto(){this._mobile?(this._mobileMakePhoto=!0,Nq.getInstance().pauseStream()):this.takePhoto()}componentWillLoad(){l.init(this.component),navigator.mediaDevices||l.errorEvent("This browser does not support webRTC")}componentDidUpdate(){this.updateState()}render(){let e;return e=this._cameraStatus?Object(u.d)("camera-comp",{class:"block",showMask:this._showMask,device:this._device,faceDetection:this._face_detection,modelPath:this.model_path,probabilityThreshold:this._probabilityThreshold}):Object(u.d)("img",{src:this.url_logo,class:"logo",style:this.logo_style?JSON.parse(this.logo_style):"",alt:"logo"}),Object(u.d)("div",{class:"cameraContainer",id:"cameraContainer",style:{backgroundColor:this.background_color}},Object(u.d)("div",{class:"wrapperCamera",style:{height:this._disable_control_panel?"100%":"65%"}},e),Object(u.d)("control-panel",{class:"block",mobile:this._mobile,disableControlPanel:this._disable_control_panel,cameraStatus:this._cameraStatus,resolutionOnPhoto:this._resolutionOnPhoto,mobileMakePhoto:this._mobileMakePhoto,faceDetection:this._face_detection}))}get component(){return Object(u.c)(this)}};Tq.style=".cameraContainer{width:100%;height:100%;z-index:10;position:relative;overflow:hidden}.logo{max-height:450px;max-width:450px}.wrapperCamera{display:flex;justify-content:center;align-items:center}.block{width:100%;height:100%}@media screen and (orientation: portrait){.history{width:100vw;font-size:20px}@media screen and (max-height: 667px){.logo{background-size:120px;max-height:120px;max-width:120px}}@media screen and (min-height: 668px) and (max-height: 812px){.logo{background-size:140px;max-height:140px;max-width:140px}}@media (max-height: 667px){.logo{margin:0 auto}}}@media screen and (max-height: 414px){.logo{background-size:140px;max-height:140px;max-width:140px}}";const Rq=(e,t)=>[...t];let _q=class{constructor(e){Object(u.f)(this,e),this.eventOpenCamera=Object(u.b)(this,"openCamera",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventRetakePhoto=Object(u.b)(this,"retakePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.makePhoto=()=>{this.eventMakePhoto.emit()},this.closeCamera=()=>{this.eventCloseCamera.emit()},this.openCamera=()=>{this.eventOpenCamera.emit()},this.takePhoto=()=>{this.eventTakePhoto.emit()},this.retakePhoto=async()=>{this.eventRetakePhoto.emit()}}render(){return Object(u.d)("div",{class:"controlPanel"+(this.mobile?" controlMobile":"")},this.mobile?Object(u.d)("div",null,this.cameraStatus?Object(u.d)("div",null,this.mobileMakePhoto?Object(u.d)("div",null,Object(u.d)("div",{onClick:this.retakePhoto,class:"retake"},"retake"),Object(u.d)("img",{onClick:this.takePhoto,alt:"submit",class:"shoot takePhoto",src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjEuMC4yLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDggNDg7IiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4Ij4KPHBhdGggc3R5bGU9ImZpbGw6I0M4RTZDOTsiIGQ9Ik00NCwyNGMwLDExLjA0NS04Ljk1NSwyMC0yMCwyMFM0LDM1LjA0NSw0LDI0UzEyLjk1NSw0LDI0LDRTNDQsMTIuOTU1LDQ0LDI0eiIvPgo8cGF0aCBzdHlsZT0iZmlsbDojNENBRjUwOyIgZD0iTTM0LjU4NiwxNC41ODZsLTEzLjU3LDEzLjU4NmwtNS42MDItNS41ODZsLTIuODI4LDIuODI4bDguNDM0LDguNDE0bDE2LjM5NS0xNi40MTRMMzQuNTg2LDE0LjU4NnoiLz4KPC9zdmc+Cg=="})):Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto,class:"shoot"}),Object(u.d)("div",{onClick:this.closeCamera,class:"close"},"close")):Object(u.d)("div",null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)("button",{onClick:this.openCamera},"Turn on camera"))):Object(u.d)(Rq,null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)(Rq,null,this.cameraStatus?Object(u.d)(Rq,null,Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto},"Capture"),Object(u.d)("button",{onClick:this.closeCamera,class:"cameraOff"},"Close camera")):Object(u.d)("button",{onClick:this.openCamera},"Open camera"))))}};_q.style='.controlPanel{height:35%;display:flex;justify-content:space-evenly;align-items:center;width:100%;max-width:450px;margin:auto}.buttons{width:100%;max-width:450px;display:flex;justify-content:space-evenly;align-items:center}button{width:164px;height:50px;border:none;margin-bottom:10px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;color:#fff;font-family:"Avenir", Helvetica, sans-serif;font-weight:600;font-size:16px;background-color:#4ca585;outline:none;cursor:pointer}button[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.cameraOff{background-color:#667a87}.cameraOff:hover{background-color:#92a8b5}.shoot{width:50px;height:50px;border-radius:25px;border:2px solid white;outline:none;background-color:red;position:fixed;left:calc(50% - 25px);bottom:10px}.shoot[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.close{position:fixed;right:6vw;top:2vh;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.retake{position:fixed;right:6vw;bottom:35px;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.takePhoto{width:46px;height:46px;bottom:20px;background:none}@media screen and (orientation:landscape) and (min-width: 360px){.shoot{bottom:calc(50% - 25px);left:auto;right:5vw}}'}.call(this,"/index.js",n(77),"/",n(36),n(241).Buffer,n(245).setImmediate)},function(e,t,n){"use strict";(function(e){ /*! * The buffer module from node.js, for the browser. * From d3b3e4b998fe673640f51d5cb6f2ee2748251191 Mon Sep 17 00:00:00 2001 From: Amir Reavis-Bey Date: Wed, 10 Apr 2024 13:50:14 -0400 Subject: [PATCH 3/6] changelog: Upcoming Features,Document Authentication,Add alt text to selfie checkmark image for screenreaders From 0ff153774288fac31cc40e4b0bad7b67896cb68b Mon Sep 17 00:00:00 2001 From: Amir Reavis-Bey Date: Wed, 10 Apr 2024 14:07:49 -0400 Subject: [PATCH 4/6] enable biometrics in review apps --- config/application.yml.default.docker | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/application.yml.default.docker b/config/application.yml.default.docker index 8167648fad3..9a65e6e024b 100644 --- a/config/application.yml.default.docker +++ b/config/application.yml.default.docker @@ -13,6 +13,8 @@ production: database_worker_jobs_host: ['env', 'POSTGRES_WORKER_HOST'] database_worker_jobs_password: ['env', 'POSTGRES_WORKER_PASSWORD'] database_worker_jobs_sslmode: ['env', 'POSTGRES_WORKER_SSLMODE'] + doc_auth_selfie_capture_enabled: true + doc_auth_selfie_desktop_test_mode: true hmac_fingerprinter_key: a2c813d4dca919340866ba58063e4072adc459b767a74cf2666d5c1eef3861db26708e7437abde1755eb24f4034386b0fea1850a1cb7e56bff8fae3cc6ade96c rails_mailer_previews_enabled: true redis_throttle_url: ['env', 'REDIS_THROTTLE_URL'] From 669e3801e771f9a8481ba4a54691d514bce064f8 Mon Sep 17 00:00:00 2001 From: Amir Reavis-Bey Date: Wed, 10 Apr 2024 15:14:28 -0400 Subject: [PATCH 5/6] update alt form 'submit' to 'use this photo' --- public/acuant/11.9.2/AcuantPassiveLiveness.min.js | 2 +- public/acuant/11.9.3/AcuantPassiveLiveness.min.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/public/acuant/11.9.2/AcuantPassiveLiveness.min.js b/public/acuant/11.9.2/AcuantPassiveLiveness.min.js index ef8339667a0..0b5e602e3ec 100644 --- a/public/acuant/11.9.2/AcuantPassiveLiveness.min.js +++ b/public/acuant/11.9.2/AcuantPassiveLiveness.min.js @@ -231,7 +231,7 @@ var fq=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?a * limitations under the License. * ============================================================================= */ -/** @license See the LICENSE file. */(e,{width:this.videoElement.videoWidth,height:this.videoElement.videoHeight}),n=new hq,r=this.checkNumberFaces(t);return n.FACE_NOT_FOUND=!r&&0===t.length,n.TOO_MANY_FACES=!r&&t.length>this.MAX_NUMBER_FACES,r&&(wq&&(n.FACE_ANGLE_TOO_LARGE=!this.checkHeadRotation(t)),n.PROBABILITY_TOO_SMALL=!this.checkProbability(t),n.FACE_TOO_SMALL=!this.checkFaceSize(t),n.FACE_CLOSE_TO_BORDER=!this.checkFaceIndent(t)),n}autoCapturing(){kq.debug&&console.info(this.counterSuccessfulResults),this.counterSuccessfulResults>=this.DEFAULT_NUMBER_SUCCESSFUL_RESULTS_FOR_AUTO_CAPTURING&&(this.stream.autoCapturing(),this.counterSuccessfulResults=0)}checkNumberFaces(e){return e.length===this.MAX_NUMBER_FACES}checkProbability(e){return e[0].detection.score>+this.probabilityThreshold/100}checkFaceSize(e){const t=e[0].detection.box,{width:n,height:r,area:a}=t,{imageHeight:s,imageWidth:i}=e[0].detection,o=100/(s*i/a);return Math.min(n/this.videoRatio,r/this.videoRatio)>(this.isMobile?this.MIN_FACE_SIZE_FOR_MOBILE:this.MIN_FACE_SIZE_FOR_DESKTOP)&&o>(this.isMobile?this.MIN_OCCUPIED_SPACE_FOR_MOBILE:this.MIN_OCCUPIED_SPACE_FOR_DESKTOP)}checkFaceIndent(e){const t=e[0].detection.box,{imageHeight:n,imageWidth:r}=e[0].detection,{top:a,left:s,bottom:i,right:o}=t,u=s,l=r-o,c=n-i;return!(athis.MAX_ANGLE_TURN_HEAD||-1*a[2]>this.MAX_ANGLE_TURN_HEAD?this.headTurnCounter++:(this.counterSuccessfulHeadTurns++,this.counterSuccessfulHeadTurns>=5&&(this.headTurnCounter=0,this.counterSuccessfulHeadTurns=0)),this.headTurnCounter<=1}drawFaces(e){this.innerCanvas||this.createCanvasForDrawingMask(this.videoElement);const t=this.innerCanvas;if(!t)return console.error("no canvas for drawing");const n=t.getContext("2d");if(n){n.clearRect(0,0,t.width,t.height),n.font='small-caps 20px "Segoe UI"',n.fillStyle="white";for(const t of e){n.lineWidth=3,n.strokeStyle="deepskyblue",n.fillStyle="deepskyblue",n.globalAlpha=.6,n.beginPath(),n.rect(t.detection.box.x,t.detection.box.y,t.detection.box.width,t.detection.box.height),n.stroke(),n.globalAlpha=1,n.globalAlpha=.8,n.fillStyle="lightblue";const e=2;for(let r=0;r"+d("B",e.length),e)}function a(e){return h(">"+d("H",e.length),e)}function s(e){return h(">"+d("L",e.length),e)}function i(e,t,n){var i,o,u,l,c="",p="";if("Byte"==t)(i=e.length)<=4?p=r(e)+d("\0",4-i):(p=h(">L",[n]),c=r(e));else if("Short"==t)(i=e.length)<=2?p=a(e)+d("\0\0",2-i):(p=h(">L",[n]),c=a(e));else if("Long"==t)(i=e.length)<=1?p=s(e):(p=h(">L",[n]),c=s(e));else if("Ascii"==t)(i=(o=e+"\0").length)>4?(p=h(">L",[n]),c=o):p=o+d("\0",4-i);else if("Rational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">L",[u])+h(">L",[l]);else{i=e.length,o="";for(var f=0;fL",[u])+h(">L",[l])}p=h(">L",[n]),c=o}else if("SRational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">l",[u])+h(">l",[l]);else{i=e.length,o="";for(f=0;fl",[u])+h(">l",[l])}p=h(">L",[n]),c=o}else"Undefined"==t&&((i=e.length)>4?(p=h(">L",[n]),c=e):p=e+d("\0",4-i));return[h(">L",[i]),p,c]}function o(e,t,n){var r,a=Object.keys(e).length,s=h(">H",[a]);r=["0th","1st"].indexOf(t)>-1?2+12*a+4:2+12*a;var o="",u="";for(var l in e)if("string"==typeof l&&(l=parseInt(l)),!("0th"==t&&[34665,34853].indexOf(l)>-1||"Exif"==t&&40965==l||"1st"==t&&[513,514].indexOf(l)>-1)){var c=e[l],p=h(">H",[l]),d=g[t][l].type,f=h(">H",[m[d]]);"number"==typeof c&&(c=[c]);var y=i(c,d,8+r+n+u.length);o+=p+f+y[0]+y[1],u+=y[2]}return[s+o,u]}function u(e){var t;if("ÿØ"==e.slice(0,2))t=function(e){for(var t,n=0;n-1)this.tiftag=e;else{if("Exif"!=e.slice(0,4))throw new Error("Given file is neither JPEG nor TIFF.");this.tiftag=e.slice(6)}}if(n.version="1.0.4",n.remove=function(e){var t=!1;if("ÿØ"==e.slice(0,2));else{if("data:image/jpeg;base64,"!=e.slice(0,23)&&"data:image/jpg;base64,"!=e.slice(0,22))throw new Error("Given data is not jpeg.");e=c(e.split(",")[1]),t=!0}var n=f(e).filter((function(e){return!("ÿá"==e.slice(0,2)&&"Exif\0\0"==e.slice(4,10))})).join("");return t&&(n="data:image/jpeg;base64,"+l(n)),n},n.insert=function(e,t){var n=!1;if("Exif\0\0"!=e.slice(0,6))throw new Error("Given data is not exif.");if("ÿØ"==t.slice(0,2));else{if("data:image/jpeg;base64,"!=t.slice(0,23)&&"data:image/jpg;base64,"!=t.slice(0,22))throw new Error("Given data is not jpeg.");t=c(t.split(",")[1]),n=!0}var r="ÿá"+h(">H",[e.length+2])+e,a=function(e,t){var n=!1,r=[];e.forEach((function(a,s){"ÿá"==a.slice(0,2)&&"Exif\0\0"==a.slice(4,10)&&(n?r.unshift(s):(e[s]=t,n=!0))})),r.forEach((function(t){e.splice(t,1)})),!n&&t&&(e=[e[0],t].concat(e.slice(1)));return e.join("")}(f(t),r);return n&&(a="data:image/jpeg;base64,"+l(a)),a},n.load=function(e){var t;if("string"!=typeof e)throw new Error("'load' gots invalid type argument.");if("ÿØ"==e.slice(0,2))t=e;else if("data:image/jpeg;base64,"==e.slice(0,23)||"data:image/jpg;base64,"==e.slice(0,22))t=c(e.split(",")[1]);else{if("Exif"!=e.slice(0,4))throw new Error("'load' gots invalid file data.");t=e.slice(6)}var n={"0th":{},Exif:{},GPS:{},Interop:{},"1st":{},thumbnail:null},r=new u(t);if(null===r.tiftag)return n;"II"==r.tiftag.slice(0,2)?r.endian_mark="<":r.endian_mark=">";var a=p(r.endian_mark+"L",r.tiftag.slice(4,8))[0];n["0th"]=r.get_ifd(a,"0th");var s=n["0th"].first_ifd_pointer;if(delete n["0th"].first_ifd_pointer,34665 in n["0th"]&&(a=n["0th"][34665],n.Exif=r.get_ifd(a,"Exif")),34853 in n["0th"]&&(a=n["0th"][34853],n.GPS=r.get_ifd(a,"GPS")),40965 in n.Exif&&(a=n.Exif[40965],n.Interop=r.get_ifd(a,"Interop")),"\0\0\0\0"!=s&&(a=p(r.endian_mark+"L",s)[0],n["1st"]=r.get_ifd(a,"1st"),513 in n["1st"]&&514 in n["1st"])){var i=n["1st"][513]+n["1st"][514],o=r.tiftag.slice(n["1st"][513],i);n.thumbnail=o}return n},n.dump=function(e){var t,r,a,s,i,u,l=(t=e,JSON.parse(JSON.stringify(t))),c=!1,p=!1,d=!1,g=!1;r="0th"in l?l["0th"]:{},"Exif"in l&&Object.keys(l.Exif).length||"Interop"in l&&Object.keys(l.Interop).length?(r[34665]=1,c=!0,a=l.Exif,"Interop"in l&&Object.keys(l.Interop).length?(a[40965]=1,d=!0,s=l.Interop):Object.keys(a).indexOf(n.ExifIFD.InteroperabilityTag.toString())>-1&&delete a[40965]):Object.keys(r).indexOf(n.ImageIFD.ExifTag.toString())>-1&&delete r[34665],"GPS"in l&&Object.keys(l.GPS).length?(r[n.ImageIFD.GPSTag]=1,p=!0,i=l.GPS):Object.keys(r).indexOf(n.ImageIFD.GPSTag.toString())>-1&&delete r[n.ImageIFD.GPSTag],"1st"in l&&"thumbnail"in l&&null!=l.thumbnail&&(g=!0,l["1st"][513]=1,l["1st"][514]=1,u=l["1st"]);var y,b,v,x=o(r,"0th",0),w=x[0].length+12*c+12*p+4+x[1].length,k="",S=0,I="",A=0,E="",N=0,C="";(c&&(S=(y=o(a,"Exif",w))[0].length+12*d+y[1].length),p&&(A=(I=o(i,"GPS",w+S).join("")).length),d)&&(N=(E=o(s,"Interop",w+S+A).join("")).length);if(g&&(b=o(u,"1st",w+S+A+N),(v=function(e){var t=f(e);for(;"ÿà"<=t[1].slice(0,2)&&t[1].slice(0,2)<="ÿï";)t=[t[0]].concat(t.slice(2));return t.join("")}(l.thumbnail)).length>64e3))throw new Error("Given thumbnail is too large. max 64kB");var T="",R="",_="",F="\0\0\0\0";if(c){var M=h(">L",[D=8+w]);T=h(">H",[34665])+h(">H",[m.Long])+h(">L",[1])+M}if(p){M=h(">L",[D=8+w+S]);R=h(">H",[34853])+h(">H",[m.Long])+h(">L",[1])+M}if(d){M=h(">L",[D=8+w+S+A]);_=h(">H",[40965])+h(">H",[m.Long])+h(">L",[1])+M}if(g){var D;F=h(">L",[D=8+w+S+A+N]);var O="\0\0\0\0"+h(">L",[D+b[0].length+24+4+b[1].length]),L="\0\0\0\0"+h(">L",[v.length]);C=b[0]+O+L+"\0\0\0\0"+b[1]+v}var P=x[0]+T+R+F+x[1];return c&&(k=y[0]+_+y[1]),"Exif\0\0MM\0*\0\0\0\b"+P+k+I+E+C},u.prototype={get_ifd:function(e,t){var n,r={},a=p(this.endian_mark+"H",this.tiftag.slice(e,e+2))[0],s=e+2;n=["0th","1st"].indexOf(t)>-1?"Image":t;for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("B",a),this.tiftag.slice(t,t+a))):n=p(this.endian_mark+d("B",a),s.slice(0,a));else if(2==r)a>4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a-1)):n=s.slice(0,a-1);else if(3==r)a>2?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("H",a),this.tiftag.slice(t,t+2*a))):n=p(this.endian_mark+d("H",a),s.slice(0,2*a));else if(4==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("L",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("L",a),s);else if(5==r)if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a)):n=s.slice(0,a);else if(9==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("l",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("l",a),s);else{if(10!=r)throw new Error("Exif might be wrong. Got incorrect value type to decode. type:"+r);if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(i=0;i>2,s=(3&t)<<4|(n=e.charCodeAt(l++))>>4,i=(15&n)<<2|(r=e.charCodeAt(l++))>>6,o=63&r,isNaN(n)?i=o=64:isNaN(r)&&(o=64),u=u+c.charAt(a)+c.charAt(s)+c.charAt(i)+c.charAt(o);return u};if("undefined"!=typeof window&&"function"==typeof window.atob)var c=window.atob;if(void 0===c)c=function(e){var t,n,r,a,s,i,o="",u=0,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u>4,n=(15&a)<<4|(s=l.indexOf(e.charAt(u++)))>>2,r=(3&s)<<6|(i=l.indexOf(e.charAt(u++))),o+=String.fromCharCode(t),64!=s&&(o+=String.fromCharCode(n)),64!=i&&(o+=String.fromCharCode(r));return o};function h(e,t){if(!(t instanceof Array))throw new Error("'pack' error. Got invalid type argument.");if(e.length-1!=t.length)throw new Error("'pack' error. "+(e.length-1)+" marks, "+t.length+" elements.");var n;if("<"==e[0])n=!0;else{if(">"!=e[0])throw new Error("");n=!1}for(var r="",a=1,s=null,i=null,o=null;i=e[a];){if("b"==i.toLowerCase()){if(s=t[a-1],"b"==i&&s<0&&(s+=256),s>255||s<0)throw new Error("'pack' error.");o=String.fromCharCode(s)}else if("H"==i){if((s=t[a-1])>65535||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}else{if("l"!=i.toLowerCase())throw new Error("'pack' error.");if(s=t[a-1],"l"==i&&s<0&&(s+=4294967296),s>4294967295||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s/16777216))+String.fromCharCode(Math.floor(s%16777216/65536))+String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}r+=o,a+=1}return r}function p(e,t){if("string"!=typeof t)throw new Error("'unpack' error. Got invalid type argument.");for(var n,r=0,a=1;a"!=e[0])throw new Error("'unpack' error.");n=!1}for(var s=[],i=0,o=1,u=null,l=null,c=null,h="";l=e[o];){if("b"==l.toLowerCase())c=1,u=(h=t.slice(i,i+c)).charCodeAt(0),"b"==l&&u>=128&&(u-=256);else if("H"==l)c=2,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=256*h.charCodeAt(0)+h.charCodeAt(1);else{if("l"!=l.toLowerCase())throw new Error("'unpack' error. "+l);c=4,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=16777216*h.charCodeAt(0)+65536*h.charCodeAt(1)+256*h.charCodeAt(2)+h.charCodeAt(3),"l"==l&&u>=2147483648&&(u-=4294967296)}s.push(u),i+=c,o+=1}return s}function d(e,t){for(var n="",r=0;rH",e.slice(t+2,t+4))[0]+2;if(n.push(e.slice(t,r)),(t=r)>=e.length)throw new Error("Wrong JPEG data.")}return n}var m={Byte:1,Ascii:2,Short:3,Long:4,Rational:5,Undefined:7,SLong:9,SRational:10},g={Image:{11:{name:"ProcessingSoftware",type:"Ascii"},254:{name:"NewSubfileType",type:"Long"},255:{name:"SubfileType",type:"Short"},256:{name:"ImageWidth",type:"Long"},257:{name:"ImageLength",type:"Long"},258:{name:"BitsPerSample",type:"Short"},259:{name:"Compression",type:"Short"},262:{name:"PhotometricInterpretation",type:"Short"},263:{name:"Threshholding",type:"Short"},264:{name:"CellWidth",type:"Short"},265:{name:"CellLength",type:"Short"},266:{name:"FillOrder",type:"Short"},269:{name:"DocumentName",type:"Ascii"},270:{name:"ImageDescription",type:"Ascii"},271:{name:"Make",type:"Ascii"},272:{name:"Model",type:"Ascii"},273:{name:"StripOffsets",type:"Long"},274:{name:"Orientation",type:"Short"},277:{name:"SamplesPerPixel",type:"Short"},278:{name:"RowsPerStrip",type:"Long"},279:{name:"StripByteCounts",type:"Long"},282:{name:"XResolution",type:"Rational"},283:{name:"YResolution",type:"Rational"},284:{name:"PlanarConfiguration",type:"Short"},290:{name:"GrayResponseUnit",type:"Short"},291:{name:"GrayResponseCurve",type:"Short"},292:{name:"T4Options",type:"Long"},293:{name:"T6Options",type:"Long"},296:{name:"ResolutionUnit",type:"Short"},301:{name:"TransferFunction",type:"Short"},305:{name:"Software",type:"Ascii"},306:{name:"DateTime",type:"Ascii"},315:{name:"Artist",type:"Ascii"},316:{name:"HostComputer",type:"Ascii"},317:{name:"Predictor",type:"Short"},318:{name:"WhitePoint",type:"Rational"},319:{name:"PrimaryChromaticities",type:"Rational"},320:{name:"ColorMap",type:"Short"},321:{name:"HalftoneHints",type:"Short"},322:{name:"TileWidth",type:"Short"},323:{name:"TileLength",type:"Short"},324:{name:"TileOffsets",type:"Short"},325:{name:"TileByteCounts",type:"Short"},330:{name:"SubIFDs",type:"Long"},332:{name:"InkSet",type:"Short"},333:{name:"InkNames",type:"Ascii"},334:{name:"NumberOfInks",type:"Short"},336:{name:"DotRange",type:"Byte"},337:{name:"TargetPrinter",type:"Ascii"},338:{name:"ExtraSamples",type:"Short"},339:{name:"SampleFormat",type:"Short"},340:{name:"SMinSampleValue",type:"Short"},341:{name:"SMaxSampleValue",type:"Short"},342:{name:"TransferRange",type:"Short"},343:{name:"ClipPath",type:"Byte"},344:{name:"XClipPathUnits",type:"Long"},345:{name:"YClipPathUnits",type:"Long"},346:{name:"Indexed",type:"Short"},347:{name:"JPEGTables",type:"Undefined"},351:{name:"OPIProxy",type:"Short"},512:{name:"JPEGProc",type:"Long"},513:{name:"JPEGInterchangeFormat",type:"Long"},514:{name:"JPEGInterchangeFormatLength",type:"Long"},515:{name:"JPEGRestartInterval",type:"Short"},517:{name:"JPEGLosslessPredictors",type:"Short"},518:{name:"JPEGPointTransforms",type:"Short"},519:{name:"JPEGQTables",type:"Long"},520:{name:"JPEGDCTables",type:"Long"},521:{name:"JPEGACTables",type:"Long"},529:{name:"YCbCrCoefficients",type:"Rational"},530:{name:"YCbCrSubSampling",type:"Short"},531:{name:"YCbCrPositioning",type:"Short"},532:{name:"ReferenceBlackWhite",type:"Rational"},700:{name:"XMLPacket",type:"Byte"},18246:{name:"Rating",type:"Short"},18249:{name:"RatingPercent",type:"Short"},32781:{name:"ImageID",type:"Ascii"},33421:{name:"CFARepeatPatternDim",type:"Short"},33422:{name:"CFAPattern",type:"Byte"},33423:{name:"BatteryLevel",type:"Rational"},33432:{name:"Copyright",type:"Ascii"},33434:{name:"ExposureTime",type:"Rational"},34377:{name:"ImageResources",type:"Byte"},34665:{name:"ExifTag",type:"Long"},34675:{name:"InterColorProfile",type:"Undefined"},34853:{name:"GPSTag",type:"Long"},34857:{name:"Interlace",type:"Short"},34858:{name:"TimeZoneOffset",type:"Long"},34859:{name:"SelfTimerMode",type:"Short"},37387:{name:"FlashEnergy",type:"Rational"},37388:{name:"SpatialFrequencyResponse",type:"Undefined"},37389:{name:"Noise",type:"Undefined"},37390:{name:"FocalPlaneXResolution",type:"Rational"},37391:{name:"FocalPlaneYResolution",type:"Rational"},37392:{name:"FocalPlaneResolutionUnit",type:"Short"},37393:{name:"ImageNumber",type:"Long"},37394:{name:"SecurityClassification",type:"Ascii"},37395:{name:"ImageHistory",type:"Ascii"},37397:{name:"ExposureIndex",type:"Rational"},37398:{name:"TIFFEPStandardID",type:"Byte"},37399:{name:"SensingMethod",type:"Short"},40091:{name:"XPTitle",type:"Byte"},40092:{name:"XPComment",type:"Byte"},40093:{name:"XPAuthor",type:"Byte"},40094:{name:"XPKeywords",type:"Byte"},40095:{name:"XPSubject",type:"Byte"},50341:{name:"PrintImageMatching",type:"Undefined"},50706:{name:"DNGVersion",type:"Byte"},50707:{name:"DNGBackwardVersion",type:"Byte"},50708:{name:"UniqueCameraModel",type:"Ascii"},50709:{name:"LocalizedCameraModel",type:"Byte"},50710:{name:"CFAPlaneColor",type:"Byte"},50711:{name:"CFALayout",type:"Short"},50712:{name:"LinearizationTable",type:"Short"},50713:{name:"BlackLevelRepeatDim",type:"Short"},50714:{name:"BlackLevel",type:"Rational"},50715:{name:"BlackLevelDeltaH",type:"SRational"},50716:{name:"BlackLevelDeltaV",type:"SRational"},50717:{name:"WhiteLevel",type:"Short"},50718:{name:"DefaultScale",type:"Rational"},50719:{name:"DefaultCropOrigin",type:"Short"},50720:{name:"DefaultCropSize",type:"Short"},50721:{name:"ColorMatrix1",type:"SRational"},50722:{name:"ColorMatrix2",type:"SRational"},50723:{name:"CameraCalibration1",type:"SRational"},50724:{name:"CameraCalibration2",type:"SRational"},50725:{name:"ReductionMatrix1",type:"SRational"},50726:{name:"ReductionMatrix2",type:"SRational"},50727:{name:"AnalogBalance",type:"Rational"},50728:{name:"AsShotNeutral",type:"Short"},50729:{name:"AsShotWhiteXY",type:"Rational"},50730:{name:"BaselineExposure",type:"SRational"},50731:{name:"BaselineNoise",type:"Rational"},50732:{name:"BaselineSharpness",type:"Rational"},50733:{name:"BayerGreenSplit",type:"Long"},50734:{name:"LinearResponseLimit",type:"Rational"},50735:{name:"CameraSerialNumber",type:"Ascii"},50736:{name:"LensInfo",type:"Rational"},50737:{name:"ChromaBlurRadius",type:"Rational"},50738:{name:"AntiAliasStrength",type:"Rational"},50739:{name:"ShadowScale",type:"SRational"},50740:{name:"DNGPrivateData",type:"Byte"},50741:{name:"MakerNoteSafety",type:"Short"},50778:{name:"CalibrationIlluminant1",type:"Short"},50779:{name:"CalibrationIlluminant2",type:"Short"},50780:{name:"BestQualityScale",type:"Rational"},50781:{name:"RawDataUniqueID",type:"Byte"},50827:{name:"OriginalRawFileName",type:"Byte"},50828:{name:"OriginalRawFileData",type:"Undefined"},50829:{name:"ActiveArea",type:"Short"},50830:{name:"MaskedAreas",type:"Short"},50831:{name:"AsShotICCProfile",type:"Undefined"},50832:{name:"AsShotPreProfileMatrix",type:"SRational"},50833:{name:"CurrentICCProfile",type:"Undefined"},50834:{name:"CurrentPreProfileMatrix",type:"SRational"},50879:{name:"ColorimetricReference",type:"Short"},50931:{name:"CameraCalibrationSignature",type:"Byte"},50932:{name:"ProfileCalibrationSignature",type:"Byte"},50934:{name:"AsShotProfileName",type:"Byte"},50935:{name:"NoiseReductionApplied",type:"Rational"},50936:{name:"ProfileName",type:"Byte"},50937:{name:"ProfileHueSatMapDims",type:"Long"},50938:{name:"ProfileHueSatMapData1",type:"Float"},50939:{name:"ProfileHueSatMapData2",type:"Float"},50940:{name:"ProfileToneCurve",type:"Float"},50941:{name:"ProfileEmbedPolicy",type:"Long"},50942:{name:"ProfileCopyright",type:"Byte"},50964:{name:"ForwardMatrix1",type:"SRational"},50965:{name:"ForwardMatrix2",type:"SRational"},50966:{name:"PreviewApplicationName",type:"Byte"},50967:{name:"PreviewApplicationVersion",type:"Byte"},50968:{name:"PreviewSettingsName",type:"Byte"},50969:{name:"PreviewSettingsDigest",type:"Byte"},50970:{name:"PreviewColorSpace",type:"Long"},50971:{name:"PreviewDateTime",type:"Ascii"},50972:{name:"RawImageDigest",type:"Undefined"},50973:{name:"OriginalRawFileDigest",type:"Undefined"},50974:{name:"SubTileBlockSize",type:"Long"},50975:{name:"RowInterleaveFactor",type:"Long"},50981:{name:"ProfileLookTableDims",type:"Long"},50982:{name:"ProfileLookTableData",type:"Float"},51008:{name:"OpcodeList1",type:"Undefined"},51009:{name:"OpcodeList2",type:"Undefined"},51022:{name:"OpcodeList3",type:"Undefined"}},Exif:{33434:{name:"ExposureTime",type:"Rational"},33437:{name:"FNumber",type:"Rational"},34850:{name:"ExposureProgram",type:"Short"},34852:{name:"SpectralSensitivity",type:"Ascii"},34855:{name:"ISOSpeedRatings",type:"Short"},34856:{name:"OECF",type:"Undefined"},34864:{name:"SensitivityType",type:"Short"},34865:{name:"StandardOutputSensitivity",type:"Long"},34866:{name:"RecommendedExposureIndex",type:"Long"},34867:{name:"ISOSpeed",type:"Long"},34868:{name:"ISOSpeedLatitudeyyy",type:"Long"},34869:{name:"ISOSpeedLatitudezzz",type:"Long"},36864:{name:"ExifVersion",type:"Undefined"},36867:{name:"DateTimeOriginal",type:"Ascii"},36868:{name:"DateTimeDigitized",type:"Ascii"},37121:{name:"ComponentsConfiguration",type:"Undefined"},37122:{name:"CompressedBitsPerPixel",type:"Rational"},37377:{name:"ShutterSpeedValue",type:"SRational"},37378:{name:"ApertureValue",type:"Rational"},37379:{name:"BrightnessValue",type:"SRational"},37380:{name:"ExposureBiasValue",type:"SRational"},37381:{name:"MaxApertureValue",type:"Rational"},37382:{name:"SubjectDistance",type:"Rational"},37383:{name:"MeteringMode",type:"Short"},37384:{name:"LightSource",type:"Short"},37385:{name:"Flash",type:"Short"},37386:{name:"FocalLength",type:"Rational"},37396:{name:"SubjectArea",type:"Short"},37500:{name:"MakerNote",type:"Undefined"},37510:{name:"UserComment",type:"Ascii"},37520:{name:"SubSecTime",type:"Ascii"},37521:{name:"SubSecTimeOriginal",type:"Ascii"},37522:{name:"SubSecTimeDigitized",type:"Ascii"},40960:{name:"FlashpixVersion",type:"Undefined"},40961:{name:"ColorSpace",type:"Short"},40962:{name:"PixelXDimension",type:"Long"},40963:{name:"PixelYDimension",type:"Long"},40964:{name:"RelatedSoundFile",type:"Ascii"},40965:{name:"InteroperabilityTag",type:"Long"},41483:{name:"FlashEnergy",type:"Rational"},41484:{name:"SpatialFrequencyResponse",type:"Undefined"},41486:{name:"FocalPlaneXResolution",type:"Rational"},41487:{name:"FocalPlaneYResolution",type:"Rational"},41488:{name:"FocalPlaneResolutionUnit",type:"Short"},41492:{name:"SubjectLocation",type:"Short"},41493:{name:"ExposureIndex",type:"Rational"},41495:{name:"SensingMethod",type:"Short"},41728:{name:"FileSource",type:"Undefined"},41729:{name:"SceneType",type:"Undefined"},41730:{name:"CFAPattern",type:"Undefined"},41985:{name:"CustomRendered",type:"Short"},41986:{name:"ExposureMode",type:"Short"},41987:{name:"WhiteBalance",type:"Short"},41988:{name:"DigitalZoomRatio",type:"Rational"},41989:{name:"FocalLengthIn35mmFilm",type:"Short"},41990:{name:"SceneCaptureType",type:"Short"},41991:{name:"GainControl",type:"Short"},41992:{name:"Contrast",type:"Short"},41993:{name:"Saturation",type:"Short"},41994:{name:"Sharpness",type:"Short"},41995:{name:"DeviceSettingDescription",type:"Undefined"},41996:{name:"SubjectDistanceRange",type:"Short"},42016:{name:"ImageUniqueID",type:"Ascii"},42032:{name:"CameraOwnerName",type:"Ascii"},42033:{name:"BodySerialNumber",type:"Ascii"},42034:{name:"LensSpecification",type:"Rational"},42035:{name:"LensMake",type:"Ascii"},42036:{name:"LensModel",type:"Ascii"},42037:{name:"LensSerialNumber",type:"Ascii"},42240:{name:"Gamma",type:"Rational"}},GPS:{0:{name:"GPSVersionID",type:"Byte"},1:{name:"GPSLatitudeRef",type:"Ascii"},2:{name:"GPSLatitude",type:"Rational"},3:{name:"GPSLongitudeRef",type:"Ascii"},4:{name:"GPSLongitude",type:"Rational"},5:{name:"GPSAltitudeRef",type:"Byte"},6:{name:"GPSAltitude",type:"Rational"},7:{name:"GPSTimeStamp",type:"Rational"},8:{name:"GPSSatellites",type:"Ascii"},9:{name:"GPSStatus",type:"Ascii"},10:{name:"GPSMeasureMode",type:"Ascii"},11:{name:"GPSDOP",type:"Rational"},12:{name:"GPSSpeedRef",type:"Ascii"},13:{name:"GPSSpeed",type:"Rational"},14:{name:"GPSTrackRef",type:"Ascii"},15:{name:"GPSTrack",type:"Rational"},16:{name:"GPSImgDirectionRef",type:"Ascii"},17:{name:"GPSImgDirection",type:"Rational"},18:{name:"GPSMapDatum",type:"Ascii"},19:{name:"GPSDestLatitudeRef",type:"Ascii"},20:{name:"GPSDestLatitude",type:"Rational"},21:{name:"GPSDestLongitudeRef",type:"Ascii"},22:{name:"GPSDestLongitude",type:"Rational"},23:{name:"GPSDestBearingRef",type:"Ascii"},24:{name:"GPSDestBearing",type:"Rational"},25:{name:"GPSDestDistanceRef",type:"Ascii"},26:{name:"GPSDestDistance",type:"Rational"},27:{name:"GPSProcessingMethod",type:"Undefined"},28:{name:"GPSAreaInformation",type:"Undefined"},29:{name:"GPSDateStamp",type:"Ascii"},30:{name:"GPSDifferential",type:"Short"},31:{name:"GPSHPositioningError",type:"Rational"}},Interop:{1:{name:"InteroperabilityIndex",type:"Ascii"}}};g["0th"]=g.Image,g["1st"]=g.Image,n.TAGS=g,n.ImageIFD={ProcessingSoftware:11,NewSubfileType:254,SubfileType:255,ImageWidth:256,ImageLength:257,BitsPerSample:258,Compression:259,PhotometricInterpretation:262,Threshholding:263,CellWidth:264,CellLength:265,FillOrder:266,DocumentName:269,ImageDescription:270,Make:271,Model:272,StripOffsets:273,Orientation:274,SamplesPerPixel:277,RowsPerStrip:278,StripByteCounts:279,XResolution:282,YResolution:283,PlanarConfiguration:284,GrayResponseUnit:290,GrayResponseCurve:291,T4Options:292,T6Options:293,ResolutionUnit:296,TransferFunction:301,Software:305,DateTime:306,Artist:315,HostComputer:316,Predictor:317,WhitePoint:318,PrimaryChromaticities:319,ColorMap:320,HalftoneHints:321,TileWidth:322,TileLength:323,TileOffsets:324,TileByteCounts:325,SubIFDs:330,InkSet:332,InkNames:333,NumberOfInks:334,DotRange:336,TargetPrinter:337,ExtraSamples:338,SampleFormat:339,SMinSampleValue:340,SMaxSampleValue:341,TransferRange:342,ClipPath:343,XClipPathUnits:344,YClipPathUnits:345,Indexed:346,JPEGTables:347,OPIProxy:351,JPEGProc:512,JPEGInterchangeFormat:513,JPEGInterchangeFormatLength:514,JPEGRestartInterval:515,JPEGLosslessPredictors:517,JPEGPointTransforms:518,JPEGQTables:519,JPEGDCTables:520,JPEGACTables:521,YCbCrCoefficients:529,YCbCrSubSampling:530,YCbCrPositioning:531,ReferenceBlackWhite:532,XMLPacket:700,Rating:18246,RatingPercent:18249,ImageID:32781,CFARepeatPatternDim:33421,CFAPattern:33422,BatteryLevel:33423,Copyright:33432,ExposureTime:33434,ImageResources:34377,ExifTag:34665,InterColorProfile:34675,GPSTag:34853,Interlace:34857,TimeZoneOffset:34858,SelfTimerMode:34859,FlashEnergy:37387,SpatialFrequencyResponse:37388,Noise:37389,FocalPlaneXResolution:37390,FocalPlaneYResolution:37391,FocalPlaneResolutionUnit:37392,ImageNumber:37393,SecurityClassification:37394,ImageHistory:37395,ExposureIndex:37397,TIFFEPStandardID:37398,SensingMethod:37399,XPTitle:40091,XPComment:40092,XPAuthor:40093,XPKeywords:40094,XPSubject:40095,PrintImageMatching:50341,DNGVersion:50706,DNGBackwardVersion:50707,UniqueCameraModel:50708,LocalizedCameraModel:50709,CFAPlaneColor:50710,CFALayout:50711,LinearizationTable:50712,BlackLevelRepeatDim:50713,BlackLevel:50714,BlackLevelDeltaH:50715,BlackLevelDeltaV:50716,WhiteLevel:50717,DefaultScale:50718,DefaultCropOrigin:50719,DefaultCropSize:50720,ColorMatrix1:50721,ColorMatrix2:50722,CameraCalibration1:50723,CameraCalibration2:50724,ReductionMatrix1:50725,ReductionMatrix2:50726,AnalogBalance:50727,AsShotNeutral:50728,AsShotWhiteXY:50729,BaselineExposure:50730,BaselineNoise:50731,BaselineSharpness:50732,BayerGreenSplit:50733,LinearResponseLimit:50734,CameraSerialNumber:50735,LensInfo:50736,ChromaBlurRadius:50737,AntiAliasStrength:50738,ShadowScale:50739,DNGPrivateData:50740,MakerNoteSafety:50741,CalibrationIlluminant1:50778,CalibrationIlluminant2:50779,BestQualityScale:50780,RawDataUniqueID:50781,OriginalRawFileName:50827,OriginalRawFileData:50828,ActiveArea:50829,MaskedAreas:50830,AsShotICCProfile:50831,AsShotPreProfileMatrix:50832,CurrentICCProfile:50833,CurrentPreProfileMatrix:50834,ColorimetricReference:50879,CameraCalibrationSignature:50931,ProfileCalibrationSignature:50932,AsShotProfileName:50934,NoiseReductionApplied:50935,ProfileName:50936,ProfileHueSatMapDims:50937,ProfileHueSatMapData1:50938,ProfileHueSatMapData2:50939,ProfileToneCurve:50940,ProfileEmbedPolicy:50941,ProfileCopyright:50942,ForwardMatrix1:50964,ForwardMatrix2:50965,PreviewApplicationName:50966,PreviewApplicationVersion:50967,PreviewSettingsName:50968,PreviewSettingsDigest:50969,PreviewColorSpace:50970,PreviewDateTime:50971,RawImageDigest:50972,OriginalRawFileDigest:50973,SubTileBlockSize:50974,RowInterleaveFactor:50975,ProfileLookTableDims:50981,ProfileLookTableData:50982,OpcodeList1:51008,OpcodeList2:51009,OpcodeList3:51022,NoiseProfile:51041},n.ExifIFD={ExposureTime:33434,FNumber:33437,ExposureProgram:34850,SpectralSensitivity:34852,ISOSpeedRatings:34855,OECF:34856,SensitivityType:34864,StandardOutputSensitivity:34865,RecommendedExposureIndex:34866,ISOSpeed:34867,ISOSpeedLatitudeyyy:34868,ISOSpeedLatitudezzz:34869,ExifVersion:36864,DateTimeOriginal:36867,DateTimeDigitized:36868,ComponentsConfiguration:37121,CompressedBitsPerPixel:37122,ShutterSpeedValue:37377,ApertureValue:37378,BrightnessValue:37379,ExposureBiasValue:37380,MaxApertureValue:37381,SubjectDistance:37382,MeteringMode:37383,LightSource:37384,Flash:37385,FocalLength:37386,SubjectArea:37396,MakerNote:37500,UserComment:37510,SubSecTime:37520,SubSecTimeOriginal:37521,SubSecTimeDigitized:37522,FlashpixVersion:40960,ColorSpace:40961,PixelXDimension:40962,PixelYDimension:40963,RelatedSoundFile:40964,InteroperabilityTag:40965,FlashEnergy:41483,SpatialFrequencyResponse:41484,FocalPlaneXResolution:41486,FocalPlaneYResolution:41487,FocalPlaneResolutionUnit:41488,SubjectLocation:41492,ExposureIndex:41493,SensingMethod:41495,FileSource:41728,SceneType:41729,CFAPattern:41730,CustomRendered:41985,ExposureMode:41986,WhiteBalance:41987,DigitalZoomRatio:41988,FocalLengthIn35mmFilm:41989,SceneCaptureType:41990,GainControl:41991,Contrast:41992,Saturation:41993,Sharpness:41994,DeviceSettingDescription:41995,SubjectDistanceRange:41996,ImageUniqueID:42016,CameraOwnerName:42032,BodySerialNumber:42033,LensSpecification:42034,LensMake:42035,LensModel:42036,LensSerialNumber:42037,Gamma:42240},n.GPSIFD={GPSVersionID:0,GPSLatitudeRef:1,GPSLatitude:2,GPSLongitudeRef:3,GPSLongitude:4,GPSAltitudeRef:5,GPSAltitude:6,GPSTimeStamp:7,GPSSatellites:8,GPSStatus:9,GPSMeasureMode:10,GPSDOP:11,GPSSpeedRef:12,GPSSpeed:13,GPSTrackRef:14,GPSTrack:15,GPSImgDirectionRef:16,GPSImgDirection:17,GPSMapDatum:18,GPSDestLatitudeRef:19,GPSDestLatitude:20,GPSDestLongitudeRef:21,GPSDestLongitude:22,GPSDestBearingRef:23,GPSDestBearing:24,GPSDestDistanceRef:25,GPSDestDistance:26,GPSProcessingMethod:27,GPSAreaInformation:28,GPSDateStamp:29,GPSDifferential:30,GPSHPositioningError:31},n.InteropIFD={InteroperabilityIndex:1},n.GPSHelper={degToDmsRational:function(e){var t=Math.abs(e),n=t%1*60,r=n%1*60;return[[Math.floor(t),1],[Math.floor(n),1],[Math.round(100*r),100]]},dmsRationalToDeg:function(e,t){var n="S"===t||"W"===t?-1:1;return(e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600)*n}},e.exports&&(t=e.exports=n),t.piexif=n}()}));const Iq=async(e,t,n)=>{const r=await(e=>new Promise((t,n)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.readAsDataURL(e)}))(e),a=Sq.load(r),s=(await navigator.mediaDevices.enumerateDevices()).filter(e=>"videoinput"===e.kind).map(e=>e.label),i={width:n.width,height:n.height,usedCamera:t.label,camerasOnDevice:s},o={"0th":Object.assign(Object.assign({},a["0th"]),{[Sq.ImageIFD.Model]:i.usedCamera,[Sq.ImageIFD.ImageWidth]:i.width,[Sq.ImageIFD.ImageLength]:i.height}),Exif:Object.assign(Object.assign({},a.Exif),{[Sq.ExifIFD.UserComment]:JSON.stringify(i)}),GPS:Object.assign({},a.GPS),Interop:Object.assign({},a.Interop),"1st":Object.assign({},a["1st"]),thumbnail:a.thumbnail},u=Sq.dump(o),l=Sq.insert(u,r);return await fetch(l).then(e=>e.blob())},Aq=new Image;var Eq;Aq.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwIiBoZWlnaHQ9IjIyNC45OTk5OTk5OTk5OTk5NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIHZlcnNpb249IjEuMSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CiA8Zz4KICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgPGcgc3Ryb2tlPSJudWxsIiBpZD0iTGF5ZXIgMSI+CiAgIDxwYXRoIHN0cm9rZT0iIzRjYTU4NSIgaWQ9InN2Z18xIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJtNzQuMjc3NjUsNi45Mjc2MWMtMTEuMzc1OTcsLTAuMDE3MTMgLTMzLjU2NTUxLDUuMTA0MzMgLTQ2LjgxMzE2LDE5LjQ5NDgxYy02Ljc0MTQzLDcuMzIyOTIgLTE4LjEyMjY5LDIzLjA2OTY3IC0xOS4yNjc1OCw1OS42MTM2OWMtMC41MTkwNiwxNi41NjkyMSA1LjA0NTI0LDYwLjYyNTMzIDEwLjI0MDA2LDc2LjQ2Nzc1YzMuNjMxMywxMS4wNzQ2OCAyNy40ODIxNSw0My45MzM0OSA0NC40OTA2LDUzLjY4MjUxYzQuODA3OTEsMi43NTU0NiAxMS4yOTY2OCwyLjY4MjUxIDEyLjQyMjU1LDIuNjgyNTFjMS4xODg3NiwtMC4wODQ1NyA3LjMzMDI2LDAuMDcyOTQgMTIuMTM3NjUsLTIuNjgyNTFjMTcuMDA4NDYsLTkuNzQ5MDIgNDAuNDAyMDgsLTQyLjc2ODUxIDQ0LjQ5MDYsLTUzLjY4MjUxYzQuNDAwMzgsLTExLjc0NDkxIDEwLjc1OTY1LC01OS44OTg1NCAxMC4yNDAwNiwtNzYuNDY3NzVjLTEuMTQ0ODksLTM2LjU0NDAyIC0xMi41MjYxNSwtNTIuMjkwNzcgLTE5LjI2NzU4LC01OS42MTM2OWMtMTMuMjQ3NjUsLTE0LjM5MDQ4IC0zNS4zMDY2MywtMTkuNTI5MzMgLTQ2Ljc3ODI3LC0xOS40OTQ4MWMtMC43NDY4OCwwLjAwMjIyIC0xLjg5NDk0LDAgLTEuODk0OTQsMHoiIHN0cm9rZS13aWR0aD0iNy42NSIvPgogIDwvZz4KIDwvZz4KPC9zdmc+Cg==",function(e){e.JPEG="image/jpeg",e.PNG="image/png"}(Eq||(Eq={}));class Nq{constructor(e,t){this.showMask=!1,this.videoSize={width:0,height:0},this.streamPaused=!1,this.pauseStream=()=>{this.streamPaused=!0,this.videoElement.pause(),this.dropMask(),this.faceDetection&&kq.getInstance().stopDetector()},this.device=e,this.detector=kq.getInstance(this,e.isMobile,t)}setShowMask(e){this.showMask=e}setFaceDetection(e){this.faceDetection=e}setProbabilityThreshold(e){kq.getInstance().setProbabilityThreshold(e)}setCallbackErrors(e){this.callbackErrors=e}setCallbackAutoCapturing(e){this.callbackAutoCapturing=e}setCallbackFaceDetectionErrors(e){this.callbackFaceDetectionErrors=e}static getInstance(e,t){return Nq.instance||(Nq.instance=new Nq(e,t)),Nq.instance}returnErrors(e){this.callbackFaceDetectionErrors(e)}autoCapturing(){this.callbackAutoCapturing()}updateHtmlElements(e,t){this.videoElement=e,this.canvasElement=t,this.detector.updateHtmlElements(e)}async startDetection(){return this.detector.startDetector()}static orientationChange(){Nq.instance&&Nq.getInstance().drawMask()}startStream(e){this.stream&&this.stream.getTracks().forEach(e=>e.stop()),this.stream=e,"srcObject"in this.videoElement?this.videoElement.srcObject=e:this.videoElement.src=window.URL.createObjectURL(e),this.videoElement.play().then(()=>{this.streamPaused=!1,l.cameraReadyEvent(),this.drawMask(),this.faceDetection&&this.startDetection()})}async initStream(e){this.startStream(e)}async resumeStream(){this.streamPaused=!1,await this.videoElement.play(),this.drawMask(),this.faceDetection&&await kq.getInstance().startDetector()}updateCanvasSize(e){this.videoSize={width:this.videoElement.videoWidth,height:this.videoElement.videoHeight},e.width=this.videoSize.width,e.height=this.videoSize.height}dropStream(){this.streamStopped()||(this.stream.getTracks().forEach(e=>e.stop()),this.videoElement.srcObject=null),this.faceDetection&&kq.getInstance().stopDetector()}streamStopped(){return!(this.stream&&this.stream.getTracks&&this.stream.getTracks().length>0)}drawMask(){this.showMask&&!this.streamPaused&&setTimeout(()=>{this.updateCanvasSize(this.canvasElement);const e=this.canvasElement,t=e.getContext("2d"),n=e.width/Aq.width,r=e.height/Aq.height,a=Math.min(n,r),s=e.width{const t=document.createElement("canvas");t.width=this.videoElement.videoWidth,t.height=this.videoElement.videoHeight,e([await this.getFrame(t)])})}getFrame(e){return new Promise(t=>{e.getContext("2d").drawImage(this.videoElement,0,0,e.width,e.height),e.toBlob(e=>{if(e.type!==Eq.JPEG||this.device.isIos)t(e);else try{Iq(e,this.stream.getTracks()[0],this.videoSize).then(e=>t(e))}catch(n){t(e),this.callbackErrors(n,!1)}},Eq.PNG,1)})}}window.addEventListener("resize",Nq.orientationChange,!1),window.addEventListener("orientationchange",Nq.orientationChange,!1);let Cq=class{constructor(e){Object(u.f)(this,e),this.eventVideoStarted=Object(u.b)(this,"videoStarted",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.errorCameraEvent=Object(u.b)(this,"errorCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.callbackErrors=(e,t)=>{t?(this.errorCameraEvent.emit(e),this.eventCloseCamera.emit()):this.errorCameraEvent.emit(e)},this.callbackAutoCapturing=()=>{this.device.isMobile?this.eventMakePhoto.emit():this.eventTakePhoto.emit()},this.callbackFaceDetectionErrors=e=>{l.detectionError(e)}}componentDidLoad(){this.startStream()}render(){const e="camera "+(this.device.isMobile?"cameraMobile":"");return Object(u.d)("div",{class:e},Object(u.d)("video",{loop:!0,autoplay:!0,playsinline:!0,muted:!0,class:"cameraVideo",ref:e=>this.cameraVideo=e}),Object(u.d)("canvas",{class:"cameraCanvas",ref:e=>this.cameraCanvas=e}))}startStream(){Nq.instance||Nq.getInstance(this.device,this.modelPath);const e=Nq.getInstance();e.updateHtmlElements(this.cameraVideo,this.cameraCanvas),e.setShowMask(this.showMask),e.setFaceDetection(this.faceDetection),e.setProbabilityThreshold(this.probabilityThreshold),e.setCallbackErrors(this.callbackErrors),e.setCallbackAutoCapturing(this.callbackAutoCapturing),e.setCallbackFaceDetectionErrors(this.callbackFaceDetectionErrors)}};Cq.style=".camera{width:100%;height:100%;color:white;display:flex;align-items:center;justify-content:center;position:relative}.cameraCanvas{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);max-width:100%;max-height:100%;z-index:2}.cameraVideo{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);z-index:1;position:absolute;max-width:100%;max-height:100%}.cameraMobile{position:fixed;top:0;left:0;background:black}.canvas-on-video{max-width:100%;max-height:100%;position:absolute;left:50%;top:50%;z-index:2;transform:scale(-1, 1)}";let Tq=class{constructor(e){Object(u.f)(this,e),this.updateState=()=>{this._showMask="true"===this.show_mask,this._disable_control_panel="true"===this.disable_control_panel,this._face_detection="true"===this.face_detection,this._stopAfterCapturing="true"===this.stop_after_capturing,this._probabilityThreshold=this.probability_threshold?+this.probability_threshold:50,this.url_logo=this.url_logo?this.url_logo:"data:image/png;charset=utf-8;base64,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",this._debug="true"===this.debug,kq.debug=this._debug},this.photoIsReady=e=>{this._stopAfterCapturing&&this.closeCamera(),l.captureEvent(e)},this.enableButton=()=>{this._resolutionOnPhoto=!0},this.updateState(),this._cameraStatus=0,this._resolutionOnPhoto=!1,this._device=xq(),this._mobile=this._device.isMobile,this._mobileMakePhoto=!1}videoStarted(){this._resolutionOnPhoto=!0}async retakePhoto(){this._mobileMakePhoto=!1,await Nq.getInstance().resumeStream()}takePhoto(){Nq.getInstance().takePhoto().then(e=>{this.photoIsReady(e)})}async openCamera(){this._cameraStatus=1;const e=this._device.isMac?{audio:!1,video:{facingMode:"user",width:1920,height:1080}}:{audio:!1,video:{facingMode:"user",width:{ideal:1920},height:{ideal:1080}}};setTimeout(()=>{navigator.mediaDevices.getUserMedia(e).then(e=>{Nq.getInstance().initStream(e),this.videoStarted()}).catch(e=>{this.closeCamera(),l.errorEvent(e)})},100)}async loadModels(e){await kq.initDetector(e.detail.path)}errorCamera(e){l.errorEvent(e.detail.message)}closeCamera(){Nq.instance&&(this._cameraStatus=0,l.closeEvent(),Nq.getInstance().dropStream(),this._mobileMakePhoto=!1,this._resolutionOnPhoto=!1)}makePhoto(){this._mobile?(this._mobileMakePhoto=!0,Nq.getInstance().pauseStream()):this.takePhoto()}componentWillLoad(){l.init(this.component),navigator.mediaDevices||l.errorEvent("This browser does not support webRTC")}componentDidUpdate(){this.updateState()}render(){let e;return e=this._cameraStatus?Object(u.d)("camera-comp",{class:"block",showMask:this._showMask,device:this._device,faceDetection:this._face_detection,modelPath:this.model_path,probabilityThreshold:this._probabilityThreshold}):Object(u.d)("img",{src:this.url_logo,class:"logo",style:this.logo_style?JSON.parse(this.logo_style):"",alt:"logo"}),Object(u.d)("div",{class:"cameraContainer",id:"cameraContainer",style:{backgroundColor:this.background_color}},Object(u.d)("div",{class:"wrapperCamera",style:{height:this._disable_control_panel?"100%":"65%"}},e),Object(u.d)("control-panel",{class:"block",mobile:this._mobile,disableControlPanel:this._disable_control_panel,cameraStatus:this._cameraStatus,resolutionOnPhoto:this._resolutionOnPhoto,mobileMakePhoto:this._mobileMakePhoto,faceDetection:this._face_detection}))}get component(){return Object(u.c)(this)}};Tq.style=".cameraContainer{width:100%;height:100%;z-index:10;position:relative;overflow:hidden}.logo{max-height:450px;max-width:450px}.wrapperCamera{display:flex;justify-content:center;align-items:center}.block{width:100%;height:100%}@media screen and (orientation: portrait){.history{width:100vw;font-size:20px}@media screen and (max-height: 667px){.logo{background-size:120px;max-height:120px;max-width:120px}}@media screen and (min-height: 668px) and (max-height: 812px){.logo{background-size:140px;max-height:140px;max-width:140px}}@media (max-height: 667px){.logo{margin:0 auto}}}@media screen and (max-height: 414px){.logo{background-size:140px;max-height:140px;max-width:140px}}";const Rq=(e,t)=>[...t];let _q=class{constructor(e){Object(u.f)(this,e),this.eventOpenCamera=Object(u.b)(this,"openCamera",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventRetakePhoto=Object(u.b)(this,"retakePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.makePhoto=()=>{this.eventMakePhoto.emit()},this.closeCamera=()=>{this.eventCloseCamera.emit()},this.openCamera=()=>{this.eventOpenCamera.emit()},this.takePhoto=()=>{this.eventTakePhoto.emit()},this.retakePhoto=async()=>{this.eventRetakePhoto.emit()}}render(){return Object(u.d)("div",{class:"controlPanel"+(this.mobile?" controlMobile":"")},this.mobile?Object(u.d)("div",null,this.cameraStatus?Object(u.d)("div",null,this.mobileMakePhoto?Object(u.d)("div",null,Object(u.d)("div",{onClick:this.retakePhoto,class:"retake"},"retake"),Object(u.d)("img",{onClick:this.takePhoto,alt:"submit",class:"shoot takePhoto",src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjEuMC4yLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDggNDg7IiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4Ij4KPHBhdGggc3R5bGU9ImZpbGw6I0M4RTZDOTsiIGQ9Ik00NCwyNGMwLDExLjA0NS04Ljk1NSwyMC0yMCwyMFM0LDM1LjA0NSw0LDI0UzEyLjk1NSw0LDI0LDRTNDQsMTIuOTU1LDQ0LDI0eiIvPgo8cGF0aCBzdHlsZT0iZmlsbDojNENBRjUwOyIgZD0iTTM0LjU4NiwxNC41ODZsLTEzLjU3LDEzLjU4NmwtNS42MDItNS41ODZsLTIuODI4LDIuODI4bDguNDM0LDguNDE0bDE2LjM5NS0xNi40MTRMMzQuNTg2LDE0LjU4NnoiLz4KPC9zdmc+Cg=="})):Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto,class:"shoot"}),Object(u.d)("div",{onClick:this.closeCamera,class:"close"},"close")):Object(u.d)("div",null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)("button",{onClick:this.openCamera},"Turn on camera"))):Object(u.d)(Rq,null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)(Rq,null,this.cameraStatus?Object(u.d)(Rq,null,Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto},"Capture"),Object(u.d)("button",{onClick:this.closeCamera,class:"cameraOff"},"Close camera")):Object(u.d)("button",{onClick:this.openCamera},"Open camera"))))}};_q.style='.controlPanel{height:35%;display:flex;justify-content:space-evenly;align-items:center;width:100%;max-width:450px;margin:auto}.buttons{width:100%;max-width:450px;display:flex;justify-content:space-evenly;align-items:center}button{width:164px;height:50px;border:none;margin-bottom:10px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;color:#fff;font-family:"Avenir", Helvetica, sans-serif;font-weight:600;font-size:16px;background-color:#4ca585;outline:none;cursor:pointer}button[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.cameraOff{background-color:#667a87}.cameraOff:hover{background-color:#92a8b5}.shoot{width:50px;height:50px;border-radius:25px;border:2px solid white;outline:none;background-color:red;position:fixed;left:calc(50% - 25px);bottom:10px}.shoot[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.close{position:fixed;right:6vw;top:2vh;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.retake{position:fixed;right:6vw;bottom:35px;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.takePhoto{width:46px;height:46px;bottom:20px;background:none}@media screen and (orientation:landscape) and (min-width: 360px){.shoot{bottom:calc(50% - 25px);left:auto;right:5vw}}'}.call(this,"/index.js",n(124),"/",n(33),n(238).Buffer,n(242).setImmediate)},function(e,t,n){"use strict";(function(e){ +/** @license See the LICENSE file. */(e,{width:this.videoElement.videoWidth,height:this.videoElement.videoHeight}),n=new hq,r=this.checkNumberFaces(t);return n.FACE_NOT_FOUND=!r&&0===t.length,n.TOO_MANY_FACES=!r&&t.length>this.MAX_NUMBER_FACES,r&&(wq&&(n.FACE_ANGLE_TOO_LARGE=!this.checkHeadRotation(t)),n.PROBABILITY_TOO_SMALL=!this.checkProbability(t),n.FACE_TOO_SMALL=!this.checkFaceSize(t),n.FACE_CLOSE_TO_BORDER=!this.checkFaceIndent(t)),n}autoCapturing(){kq.debug&&console.info(this.counterSuccessfulResults),this.counterSuccessfulResults>=this.DEFAULT_NUMBER_SUCCESSFUL_RESULTS_FOR_AUTO_CAPTURING&&(this.stream.autoCapturing(),this.counterSuccessfulResults=0)}checkNumberFaces(e){return e.length===this.MAX_NUMBER_FACES}checkProbability(e){return e[0].detection.score>+this.probabilityThreshold/100}checkFaceSize(e){const t=e[0].detection.box,{width:n,height:r,area:a}=t,{imageHeight:s,imageWidth:i}=e[0].detection,o=100/(s*i/a);return Math.min(n/this.videoRatio,r/this.videoRatio)>(this.isMobile?this.MIN_FACE_SIZE_FOR_MOBILE:this.MIN_FACE_SIZE_FOR_DESKTOP)&&o>(this.isMobile?this.MIN_OCCUPIED_SPACE_FOR_MOBILE:this.MIN_OCCUPIED_SPACE_FOR_DESKTOP)}checkFaceIndent(e){const t=e[0].detection.box,{imageHeight:n,imageWidth:r}=e[0].detection,{top:a,left:s,bottom:i,right:o}=t,u=s,l=r-o,c=n-i;return!(athis.MAX_ANGLE_TURN_HEAD||-1*a[2]>this.MAX_ANGLE_TURN_HEAD?this.headTurnCounter++:(this.counterSuccessfulHeadTurns++,this.counterSuccessfulHeadTurns>=5&&(this.headTurnCounter=0,this.counterSuccessfulHeadTurns=0)),this.headTurnCounter<=1}drawFaces(e){this.innerCanvas||this.createCanvasForDrawingMask(this.videoElement);const t=this.innerCanvas;if(!t)return console.error("no canvas for drawing");const n=t.getContext("2d");if(n){n.clearRect(0,0,t.width,t.height),n.font='small-caps 20px "Segoe UI"',n.fillStyle="white";for(const t of e){n.lineWidth=3,n.strokeStyle="deepskyblue",n.fillStyle="deepskyblue",n.globalAlpha=.6,n.beginPath(),n.rect(t.detection.box.x,t.detection.box.y,t.detection.box.width,t.detection.box.height),n.stroke(),n.globalAlpha=1,n.globalAlpha=.8,n.fillStyle="lightblue";const e=2;for(let r=0;r"+d("B",e.length),e)}function a(e){return h(">"+d("H",e.length),e)}function s(e){return h(">"+d("L",e.length),e)}function i(e,t,n){var i,o,u,l,c="",p="";if("Byte"==t)(i=e.length)<=4?p=r(e)+d("\0",4-i):(p=h(">L",[n]),c=r(e));else if("Short"==t)(i=e.length)<=2?p=a(e)+d("\0\0",2-i):(p=h(">L",[n]),c=a(e));else if("Long"==t)(i=e.length)<=1?p=s(e):(p=h(">L",[n]),c=s(e));else if("Ascii"==t)(i=(o=e+"\0").length)>4?(p=h(">L",[n]),c=o):p=o+d("\0",4-i);else if("Rational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">L",[u])+h(">L",[l]);else{i=e.length,o="";for(var f=0;fL",[u])+h(">L",[l])}p=h(">L",[n]),c=o}else if("SRational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">l",[u])+h(">l",[l]);else{i=e.length,o="";for(f=0;fl",[u])+h(">l",[l])}p=h(">L",[n]),c=o}else"Undefined"==t&&((i=e.length)>4?(p=h(">L",[n]),c=e):p=e+d("\0",4-i));return[h(">L",[i]),p,c]}function o(e,t,n){var r,a=Object.keys(e).length,s=h(">H",[a]);r=["0th","1st"].indexOf(t)>-1?2+12*a+4:2+12*a;var o="",u="";for(var l in e)if("string"==typeof l&&(l=parseInt(l)),!("0th"==t&&[34665,34853].indexOf(l)>-1||"Exif"==t&&40965==l||"1st"==t&&[513,514].indexOf(l)>-1)){var c=e[l],p=h(">H",[l]),d=g[t][l].type,f=h(">H",[m[d]]);"number"==typeof c&&(c=[c]);var y=i(c,d,8+r+n+u.length);o+=p+f+y[0]+y[1],u+=y[2]}return[s+o,u]}function u(e){var t;if("ÿØ"==e.slice(0,2))t=function(e){for(var t,n=0;n-1)this.tiftag=e;else{if("Exif"!=e.slice(0,4))throw new Error("Given file is neither JPEG nor TIFF.");this.tiftag=e.slice(6)}}if(n.version="1.0.4",n.remove=function(e){var t=!1;if("ÿØ"==e.slice(0,2));else{if("data:image/jpeg;base64,"!=e.slice(0,23)&&"data:image/jpg;base64,"!=e.slice(0,22))throw new Error("Given data is not jpeg.");e=c(e.split(",")[1]),t=!0}var n=f(e).filter((function(e){return!("ÿá"==e.slice(0,2)&&"Exif\0\0"==e.slice(4,10))})).join("");return t&&(n="data:image/jpeg;base64,"+l(n)),n},n.insert=function(e,t){var n=!1;if("Exif\0\0"!=e.slice(0,6))throw new Error("Given data is not exif.");if("ÿØ"==t.slice(0,2));else{if("data:image/jpeg;base64,"!=t.slice(0,23)&&"data:image/jpg;base64,"!=t.slice(0,22))throw new Error("Given data is not jpeg.");t=c(t.split(",")[1]),n=!0}var r="ÿá"+h(">H",[e.length+2])+e,a=function(e,t){var n=!1,r=[];e.forEach((function(a,s){"ÿá"==a.slice(0,2)&&"Exif\0\0"==a.slice(4,10)&&(n?r.unshift(s):(e[s]=t,n=!0))})),r.forEach((function(t){e.splice(t,1)})),!n&&t&&(e=[e[0],t].concat(e.slice(1)));return e.join("")}(f(t),r);return n&&(a="data:image/jpeg;base64,"+l(a)),a},n.load=function(e){var t;if("string"!=typeof e)throw new Error("'load' gots invalid type argument.");if("ÿØ"==e.slice(0,2))t=e;else if("data:image/jpeg;base64,"==e.slice(0,23)||"data:image/jpg;base64,"==e.slice(0,22))t=c(e.split(",")[1]);else{if("Exif"!=e.slice(0,4))throw new Error("'load' gots invalid file data.");t=e.slice(6)}var n={"0th":{},Exif:{},GPS:{},Interop:{},"1st":{},thumbnail:null},r=new u(t);if(null===r.tiftag)return n;"II"==r.tiftag.slice(0,2)?r.endian_mark="<":r.endian_mark=">";var a=p(r.endian_mark+"L",r.tiftag.slice(4,8))[0];n["0th"]=r.get_ifd(a,"0th");var s=n["0th"].first_ifd_pointer;if(delete n["0th"].first_ifd_pointer,34665 in n["0th"]&&(a=n["0th"][34665],n.Exif=r.get_ifd(a,"Exif")),34853 in n["0th"]&&(a=n["0th"][34853],n.GPS=r.get_ifd(a,"GPS")),40965 in n.Exif&&(a=n.Exif[40965],n.Interop=r.get_ifd(a,"Interop")),"\0\0\0\0"!=s&&(a=p(r.endian_mark+"L",s)[0],n["1st"]=r.get_ifd(a,"1st"),513 in n["1st"]&&514 in n["1st"])){var i=n["1st"][513]+n["1st"][514],o=r.tiftag.slice(n["1st"][513],i);n.thumbnail=o}return n},n.dump=function(e){var t,r,a,s,i,u,l=(t=e,JSON.parse(JSON.stringify(t))),c=!1,p=!1,d=!1,g=!1;r="0th"in l?l["0th"]:{},"Exif"in l&&Object.keys(l.Exif).length||"Interop"in l&&Object.keys(l.Interop).length?(r[34665]=1,c=!0,a=l.Exif,"Interop"in l&&Object.keys(l.Interop).length?(a[40965]=1,d=!0,s=l.Interop):Object.keys(a).indexOf(n.ExifIFD.InteroperabilityTag.toString())>-1&&delete a[40965]):Object.keys(r).indexOf(n.ImageIFD.ExifTag.toString())>-1&&delete r[34665],"GPS"in l&&Object.keys(l.GPS).length?(r[n.ImageIFD.GPSTag]=1,p=!0,i=l.GPS):Object.keys(r).indexOf(n.ImageIFD.GPSTag.toString())>-1&&delete r[n.ImageIFD.GPSTag],"1st"in l&&"thumbnail"in l&&null!=l.thumbnail&&(g=!0,l["1st"][513]=1,l["1st"][514]=1,u=l["1st"]);var y,b,v,x=o(r,"0th",0),w=x[0].length+12*c+12*p+4+x[1].length,k="",S=0,I="",A=0,E="",N=0,C="";(c&&(S=(y=o(a,"Exif",w))[0].length+12*d+y[1].length),p&&(A=(I=o(i,"GPS",w+S).join("")).length),d)&&(N=(E=o(s,"Interop",w+S+A).join("")).length);if(g&&(b=o(u,"1st",w+S+A+N),(v=function(e){var t=f(e);for(;"ÿà"<=t[1].slice(0,2)&&t[1].slice(0,2)<="ÿï";)t=[t[0]].concat(t.slice(2));return t.join("")}(l.thumbnail)).length>64e3))throw new Error("Given thumbnail is too large. max 64kB");var T="",R="",_="",F="\0\0\0\0";if(c){var M=h(">L",[D=8+w]);T=h(">H",[34665])+h(">H",[m.Long])+h(">L",[1])+M}if(p){M=h(">L",[D=8+w+S]);R=h(">H",[34853])+h(">H",[m.Long])+h(">L",[1])+M}if(d){M=h(">L",[D=8+w+S+A]);_=h(">H",[40965])+h(">H",[m.Long])+h(">L",[1])+M}if(g){var D;F=h(">L",[D=8+w+S+A+N]);var O="\0\0\0\0"+h(">L",[D+b[0].length+24+4+b[1].length]),L="\0\0\0\0"+h(">L",[v.length]);C=b[0]+O+L+"\0\0\0\0"+b[1]+v}var P=x[0]+T+R+F+x[1];return c&&(k=y[0]+_+y[1]),"Exif\0\0MM\0*\0\0\0\b"+P+k+I+E+C},u.prototype={get_ifd:function(e,t){var n,r={},a=p(this.endian_mark+"H",this.tiftag.slice(e,e+2))[0],s=e+2;n=["0th","1st"].indexOf(t)>-1?"Image":t;for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("B",a),this.tiftag.slice(t,t+a))):n=p(this.endian_mark+d("B",a),s.slice(0,a));else if(2==r)a>4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a-1)):n=s.slice(0,a-1);else if(3==r)a>2?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("H",a),this.tiftag.slice(t,t+2*a))):n=p(this.endian_mark+d("H",a),s.slice(0,2*a));else if(4==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("L",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("L",a),s);else if(5==r)if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a)):n=s.slice(0,a);else if(9==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("l",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("l",a),s);else{if(10!=r)throw new Error("Exif might be wrong. Got incorrect value type to decode. type:"+r);if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(i=0;i>2,s=(3&t)<<4|(n=e.charCodeAt(l++))>>4,i=(15&n)<<2|(r=e.charCodeAt(l++))>>6,o=63&r,isNaN(n)?i=o=64:isNaN(r)&&(o=64),u=u+c.charAt(a)+c.charAt(s)+c.charAt(i)+c.charAt(o);return u};if("undefined"!=typeof window&&"function"==typeof window.atob)var c=window.atob;if(void 0===c)c=function(e){var t,n,r,a,s,i,o="",u=0,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u>4,n=(15&a)<<4|(s=l.indexOf(e.charAt(u++)))>>2,r=(3&s)<<6|(i=l.indexOf(e.charAt(u++))),o+=String.fromCharCode(t),64!=s&&(o+=String.fromCharCode(n)),64!=i&&(o+=String.fromCharCode(r));return o};function h(e,t){if(!(t instanceof Array))throw new Error("'pack' error. Got invalid type argument.");if(e.length-1!=t.length)throw new Error("'pack' error. "+(e.length-1)+" marks, "+t.length+" elements.");var n;if("<"==e[0])n=!0;else{if(">"!=e[0])throw new Error("");n=!1}for(var r="",a=1,s=null,i=null,o=null;i=e[a];){if("b"==i.toLowerCase()){if(s=t[a-1],"b"==i&&s<0&&(s+=256),s>255||s<0)throw new Error("'pack' error.");o=String.fromCharCode(s)}else if("H"==i){if((s=t[a-1])>65535||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}else{if("l"!=i.toLowerCase())throw new Error("'pack' error.");if(s=t[a-1],"l"==i&&s<0&&(s+=4294967296),s>4294967295||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s/16777216))+String.fromCharCode(Math.floor(s%16777216/65536))+String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}r+=o,a+=1}return r}function p(e,t){if("string"!=typeof t)throw new Error("'unpack' error. Got invalid type argument.");for(var n,r=0,a=1;a"!=e[0])throw new Error("'unpack' error.");n=!1}for(var s=[],i=0,o=1,u=null,l=null,c=null,h="";l=e[o];){if("b"==l.toLowerCase())c=1,u=(h=t.slice(i,i+c)).charCodeAt(0),"b"==l&&u>=128&&(u-=256);else if("H"==l)c=2,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=256*h.charCodeAt(0)+h.charCodeAt(1);else{if("l"!=l.toLowerCase())throw new Error("'unpack' error. "+l);c=4,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=16777216*h.charCodeAt(0)+65536*h.charCodeAt(1)+256*h.charCodeAt(2)+h.charCodeAt(3),"l"==l&&u>=2147483648&&(u-=4294967296)}s.push(u),i+=c,o+=1}return s}function d(e,t){for(var n="",r=0;rH",e.slice(t+2,t+4))[0]+2;if(n.push(e.slice(t,r)),(t=r)>=e.length)throw new Error("Wrong JPEG data.")}return n}var m={Byte:1,Ascii:2,Short:3,Long:4,Rational:5,Undefined:7,SLong:9,SRational:10},g={Image:{11:{name:"ProcessingSoftware",type:"Ascii"},254:{name:"NewSubfileType",type:"Long"},255:{name:"SubfileType",type:"Short"},256:{name:"ImageWidth",type:"Long"},257:{name:"ImageLength",type:"Long"},258:{name:"BitsPerSample",type:"Short"},259:{name:"Compression",type:"Short"},262:{name:"PhotometricInterpretation",type:"Short"},263:{name:"Threshholding",type:"Short"},264:{name:"CellWidth",type:"Short"},265:{name:"CellLength",type:"Short"},266:{name:"FillOrder",type:"Short"},269:{name:"DocumentName",type:"Ascii"},270:{name:"ImageDescription",type:"Ascii"},271:{name:"Make",type:"Ascii"},272:{name:"Model",type:"Ascii"},273:{name:"StripOffsets",type:"Long"},274:{name:"Orientation",type:"Short"},277:{name:"SamplesPerPixel",type:"Short"},278:{name:"RowsPerStrip",type:"Long"},279:{name:"StripByteCounts",type:"Long"},282:{name:"XResolution",type:"Rational"},283:{name:"YResolution",type:"Rational"},284:{name:"PlanarConfiguration",type:"Short"},290:{name:"GrayResponseUnit",type:"Short"},291:{name:"GrayResponseCurve",type:"Short"},292:{name:"T4Options",type:"Long"},293:{name:"T6Options",type:"Long"},296:{name:"ResolutionUnit",type:"Short"},301:{name:"TransferFunction",type:"Short"},305:{name:"Software",type:"Ascii"},306:{name:"DateTime",type:"Ascii"},315:{name:"Artist",type:"Ascii"},316:{name:"HostComputer",type:"Ascii"},317:{name:"Predictor",type:"Short"},318:{name:"WhitePoint",type:"Rational"},319:{name:"PrimaryChromaticities",type:"Rational"},320:{name:"ColorMap",type:"Short"},321:{name:"HalftoneHints",type:"Short"},322:{name:"TileWidth",type:"Short"},323:{name:"TileLength",type:"Short"},324:{name:"TileOffsets",type:"Short"},325:{name:"TileByteCounts",type:"Short"},330:{name:"SubIFDs",type:"Long"},332:{name:"InkSet",type:"Short"},333:{name:"InkNames",type:"Ascii"},334:{name:"NumberOfInks",type:"Short"},336:{name:"DotRange",type:"Byte"},337:{name:"TargetPrinter",type:"Ascii"},338:{name:"ExtraSamples",type:"Short"},339:{name:"SampleFormat",type:"Short"},340:{name:"SMinSampleValue",type:"Short"},341:{name:"SMaxSampleValue",type:"Short"},342:{name:"TransferRange",type:"Short"},343:{name:"ClipPath",type:"Byte"},344:{name:"XClipPathUnits",type:"Long"},345:{name:"YClipPathUnits",type:"Long"},346:{name:"Indexed",type:"Short"},347:{name:"JPEGTables",type:"Undefined"},351:{name:"OPIProxy",type:"Short"},512:{name:"JPEGProc",type:"Long"},513:{name:"JPEGInterchangeFormat",type:"Long"},514:{name:"JPEGInterchangeFormatLength",type:"Long"},515:{name:"JPEGRestartInterval",type:"Short"},517:{name:"JPEGLosslessPredictors",type:"Short"},518:{name:"JPEGPointTransforms",type:"Short"},519:{name:"JPEGQTables",type:"Long"},520:{name:"JPEGDCTables",type:"Long"},521:{name:"JPEGACTables",type:"Long"},529:{name:"YCbCrCoefficients",type:"Rational"},530:{name:"YCbCrSubSampling",type:"Short"},531:{name:"YCbCrPositioning",type:"Short"},532:{name:"ReferenceBlackWhite",type:"Rational"},700:{name:"XMLPacket",type:"Byte"},18246:{name:"Rating",type:"Short"},18249:{name:"RatingPercent",type:"Short"},32781:{name:"ImageID",type:"Ascii"},33421:{name:"CFARepeatPatternDim",type:"Short"},33422:{name:"CFAPattern",type:"Byte"},33423:{name:"BatteryLevel",type:"Rational"},33432:{name:"Copyright",type:"Ascii"},33434:{name:"ExposureTime",type:"Rational"},34377:{name:"ImageResources",type:"Byte"},34665:{name:"ExifTag",type:"Long"},34675:{name:"InterColorProfile",type:"Undefined"},34853:{name:"GPSTag",type:"Long"},34857:{name:"Interlace",type:"Short"},34858:{name:"TimeZoneOffset",type:"Long"},34859:{name:"SelfTimerMode",type:"Short"},37387:{name:"FlashEnergy",type:"Rational"},37388:{name:"SpatialFrequencyResponse",type:"Undefined"},37389:{name:"Noise",type:"Undefined"},37390:{name:"FocalPlaneXResolution",type:"Rational"},37391:{name:"FocalPlaneYResolution",type:"Rational"},37392:{name:"FocalPlaneResolutionUnit",type:"Short"},37393:{name:"ImageNumber",type:"Long"},37394:{name:"SecurityClassification",type:"Ascii"},37395:{name:"ImageHistory",type:"Ascii"},37397:{name:"ExposureIndex",type:"Rational"},37398:{name:"TIFFEPStandardID",type:"Byte"},37399:{name:"SensingMethod",type:"Short"},40091:{name:"XPTitle",type:"Byte"},40092:{name:"XPComment",type:"Byte"},40093:{name:"XPAuthor",type:"Byte"},40094:{name:"XPKeywords",type:"Byte"},40095:{name:"XPSubject",type:"Byte"},50341:{name:"PrintImageMatching",type:"Undefined"},50706:{name:"DNGVersion",type:"Byte"},50707:{name:"DNGBackwardVersion",type:"Byte"},50708:{name:"UniqueCameraModel",type:"Ascii"},50709:{name:"LocalizedCameraModel",type:"Byte"},50710:{name:"CFAPlaneColor",type:"Byte"},50711:{name:"CFALayout",type:"Short"},50712:{name:"LinearizationTable",type:"Short"},50713:{name:"BlackLevelRepeatDim",type:"Short"},50714:{name:"BlackLevel",type:"Rational"},50715:{name:"BlackLevelDeltaH",type:"SRational"},50716:{name:"BlackLevelDeltaV",type:"SRational"},50717:{name:"WhiteLevel",type:"Short"},50718:{name:"DefaultScale",type:"Rational"},50719:{name:"DefaultCropOrigin",type:"Short"},50720:{name:"DefaultCropSize",type:"Short"},50721:{name:"ColorMatrix1",type:"SRational"},50722:{name:"ColorMatrix2",type:"SRational"},50723:{name:"CameraCalibration1",type:"SRational"},50724:{name:"CameraCalibration2",type:"SRational"},50725:{name:"ReductionMatrix1",type:"SRational"},50726:{name:"ReductionMatrix2",type:"SRational"},50727:{name:"AnalogBalance",type:"Rational"},50728:{name:"AsShotNeutral",type:"Short"},50729:{name:"AsShotWhiteXY",type:"Rational"},50730:{name:"BaselineExposure",type:"SRational"},50731:{name:"BaselineNoise",type:"Rational"},50732:{name:"BaselineSharpness",type:"Rational"},50733:{name:"BayerGreenSplit",type:"Long"},50734:{name:"LinearResponseLimit",type:"Rational"},50735:{name:"CameraSerialNumber",type:"Ascii"},50736:{name:"LensInfo",type:"Rational"},50737:{name:"ChromaBlurRadius",type:"Rational"},50738:{name:"AntiAliasStrength",type:"Rational"},50739:{name:"ShadowScale",type:"SRational"},50740:{name:"DNGPrivateData",type:"Byte"},50741:{name:"MakerNoteSafety",type:"Short"},50778:{name:"CalibrationIlluminant1",type:"Short"},50779:{name:"CalibrationIlluminant2",type:"Short"},50780:{name:"BestQualityScale",type:"Rational"},50781:{name:"RawDataUniqueID",type:"Byte"},50827:{name:"OriginalRawFileName",type:"Byte"},50828:{name:"OriginalRawFileData",type:"Undefined"},50829:{name:"ActiveArea",type:"Short"},50830:{name:"MaskedAreas",type:"Short"},50831:{name:"AsShotICCProfile",type:"Undefined"},50832:{name:"AsShotPreProfileMatrix",type:"SRational"},50833:{name:"CurrentICCProfile",type:"Undefined"},50834:{name:"CurrentPreProfileMatrix",type:"SRational"},50879:{name:"ColorimetricReference",type:"Short"},50931:{name:"CameraCalibrationSignature",type:"Byte"},50932:{name:"ProfileCalibrationSignature",type:"Byte"},50934:{name:"AsShotProfileName",type:"Byte"},50935:{name:"NoiseReductionApplied",type:"Rational"},50936:{name:"ProfileName",type:"Byte"},50937:{name:"ProfileHueSatMapDims",type:"Long"},50938:{name:"ProfileHueSatMapData1",type:"Float"},50939:{name:"ProfileHueSatMapData2",type:"Float"},50940:{name:"ProfileToneCurve",type:"Float"},50941:{name:"ProfileEmbedPolicy",type:"Long"},50942:{name:"ProfileCopyright",type:"Byte"},50964:{name:"ForwardMatrix1",type:"SRational"},50965:{name:"ForwardMatrix2",type:"SRational"},50966:{name:"PreviewApplicationName",type:"Byte"},50967:{name:"PreviewApplicationVersion",type:"Byte"},50968:{name:"PreviewSettingsName",type:"Byte"},50969:{name:"PreviewSettingsDigest",type:"Byte"},50970:{name:"PreviewColorSpace",type:"Long"},50971:{name:"PreviewDateTime",type:"Ascii"},50972:{name:"RawImageDigest",type:"Undefined"},50973:{name:"OriginalRawFileDigest",type:"Undefined"},50974:{name:"SubTileBlockSize",type:"Long"},50975:{name:"RowInterleaveFactor",type:"Long"},50981:{name:"ProfileLookTableDims",type:"Long"},50982:{name:"ProfileLookTableData",type:"Float"},51008:{name:"OpcodeList1",type:"Undefined"},51009:{name:"OpcodeList2",type:"Undefined"},51022:{name:"OpcodeList3",type:"Undefined"}},Exif:{33434:{name:"ExposureTime",type:"Rational"},33437:{name:"FNumber",type:"Rational"},34850:{name:"ExposureProgram",type:"Short"},34852:{name:"SpectralSensitivity",type:"Ascii"},34855:{name:"ISOSpeedRatings",type:"Short"},34856:{name:"OECF",type:"Undefined"},34864:{name:"SensitivityType",type:"Short"},34865:{name:"StandardOutputSensitivity",type:"Long"},34866:{name:"RecommendedExposureIndex",type:"Long"},34867:{name:"ISOSpeed",type:"Long"},34868:{name:"ISOSpeedLatitudeyyy",type:"Long"},34869:{name:"ISOSpeedLatitudezzz",type:"Long"},36864:{name:"ExifVersion",type:"Undefined"},36867:{name:"DateTimeOriginal",type:"Ascii"},36868:{name:"DateTimeDigitized",type:"Ascii"},37121:{name:"ComponentsConfiguration",type:"Undefined"},37122:{name:"CompressedBitsPerPixel",type:"Rational"},37377:{name:"ShutterSpeedValue",type:"SRational"},37378:{name:"ApertureValue",type:"Rational"},37379:{name:"BrightnessValue",type:"SRational"},37380:{name:"ExposureBiasValue",type:"SRational"},37381:{name:"MaxApertureValue",type:"Rational"},37382:{name:"SubjectDistance",type:"Rational"},37383:{name:"MeteringMode",type:"Short"},37384:{name:"LightSource",type:"Short"},37385:{name:"Flash",type:"Short"},37386:{name:"FocalLength",type:"Rational"},37396:{name:"SubjectArea",type:"Short"},37500:{name:"MakerNote",type:"Undefined"},37510:{name:"UserComment",type:"Ascii"},37520:{name:"SubSecTime",type:"Ascii"},37521:{name:"SubSecTimeOriginal",type:"Ascii"},37522:{name:"SubSecTimeDigitized",type:"Ascii"},40960:{name:"FlashpixVersion",type:"Undefined"},40961:{name:"ColorSpace",type:"Short"},40962:{name:"PixelXDimension",type:"Long"},40963:{name:"PixelYDimension",type:"Long"},40964:{name:"RelatedSoundFile",type:"Ascii"},40965:{name:"InteroperabilityTag",type:"Long"},41483:{name:"FlashEnergy",type:"Rational"},41484:{name:"SpatialFrequencyResponse",type:"Undefined"},41486:{name:"FocalPlaneXResolution",type:"Rational"},41487:{name:"FocalPlaneYResolution",type:"Rational"},41488:{name:"FocalPlaneResolutionUnit",type:"Short"},41492:{name:"SubjectLocation",type:"Short"},41493:{name:"ExposureIndex",type:"Rational"},41495:{name:"SensingMethod",type:"Short"},41728:{name:"FileSource",type:"Undefined"},41729:{name:"SceneType",type:"Undefined"},41730:{name:"CFAPattern",type:"Undefined"},41985:{name:"CustomRendered",type:"Short"},41986:{name:"ExposureMode",type:"Short"},41987:{name:"WhiteBalance",type:"Short"},41988:{name:"DigitalZoomRatio",type:"Rational"},41989:{name:"FocalLengthIn35mmFilm",type:"Short"},41990:{name:"SceneCaptureType",type:"Short"},41991:{name:"GainControl",type:"Short"},41992:{name:"Contrast",type:"Short"},41993:{name:"Saturation",type:"Short"},41994:{name:"Sharpness",type:"Short"},41995:{name:"DeviceSettingDescription",type:"Undefined"},41996:{name:"SubjectDistanceRange",type:"Short"},42016:{name:"ImageUniqueID",type:"Ascii"},42032:{name:"CameraOwnerName",type:"Ascii"},42033:{name:"BodySerialNumber",type:"Ascii"},42034:{name:"LensSpecification",type:"Rational"},42035:{name:"LensMake",type:"Ascii"},42036:{name:"LensModel",type:"Ascii"},42037:{name:"LensSerialNumber",type:"Ascii"},42240:{name:"Gamma",type:"Rational"}},GPS:{0:{name:"GPSVersionID",type:"Byte"},1:{name:"GPSLatitudeRef",type:"Ascii"},2:{name:"GPSLatitude",type:"Rational"},3:{name:"GPSLongitudeRef",type:"Ascii"},4:{name:"GPSLongitude",type:"Rational"},5:{name:"GPSAltitudeRef",type:"Byte"},6:{name:"GPSAltitude",type:"Rational"},7:{name:"GPSTimeStamp",type:"Rational"},8:{name:"GPSSatellites",type:"Ascii"},9:{name:"GPSStatus",type:"Ascii"},10:{name:"GPSMeasureMode",type:"Ascii"},11:{name:"GPSDOP",type:"Rational"},12:{name:"GPSSpeedRef",type:"Ascii"},13:{name:"GPSSpeed",type:"Rational"},14:{name:"GPSTrackRef",type:"Ascii"},15:{name:"GPSTrack",type:"Rational"},16:{name:"GPSImgDirectionRef",type:"Ascii"},17:{name:"GPSImgDirection",type:"Rational"},18:{name:"GPSMapDatum",type:"Ascii"},19:{name:"GPSDestLatitudeRef",type:"Ascii"},20:{name:"GPSDestLatitude",type:"Rational"},21:{name:"GPSDestLongitudeRef",type:"Ascii"},22:{name:"GPSDestLongitude",type:"Rational"},23:{name:"GPSDestBearingRef",type:"Ascii"},24:{name:"GPSDestBearing",type:"Rational"},25:{name:"GPSDestDistanceRef",type:"Ascii"},26:{name:"GPSDestDistance",type:"Rational"},27:{name:"GPSProcessingMethod",type:"Undefined"},28:{name:"GPSAreaInformation",type:"Undefined"},29:{name:"GPSDateStamp",type:"Ascii"},30:{name:"GPSDifferential",type:"Short"},31:{name:"GPSHPositioningError",type:"Rational"}},Interop:{1:{name:"InteroperabilityIndex",type:"Ascii"}}};g["0th"]=g.Image,g["1st"]=g.Image,n.TAGS=g,n.ImageIFD={ProcessingSoftware:11,NewSubfileType:254,SubfileType:255,ImageWidth:256,ImageLength:257,BitsPerSample:258,Compression:259,PhotometricInterpretation:262,Threshholding:263,CellWidth:264,CellLength:265,FillOrder:266,DocumentName:269,ImageDescription:270,Make:271,Model:272,StripOffsets:273,Orientation:274,SamplesPerPixel:277,RowsPerStrip:278,StripByteCounts:279,XResolution:282,YResolution:283,PlanarConfiguration:284,GrayResponseUnit:290,GrayResponseCurve:291,T4Options:292,T6Options:293,ResolutionUnit:296,TransferFunction:301,Software:305,DateTime:306,Artist:315,HostComputer:316,Predictor:317,WhitePoint:318,PrimaryChromaticities:319,ColorMap:320,HalftoneHints:321,TileWidth:322,TileLength:323,TileOffsets:324,TileByteCounts:325,SubIFDs:330,InkSet:332,InkNames:333,NumberOfInks:334,DotRange:336,TargetPrinter:337,ExtraSamples:338,SampleFormat:339,SMinSampleValue:340,SMaxSampleValue:341,TransferRange:342,ClipPath:343,XClipPathUnits:344,YClipPathUnits:345,Indexed:346,JPEGTables:347,OPIProxy:351,JPEGProc:512,JPEGInterchangeFormat:513,JPEGInterchangeFormatLength:514,JPEGRestartInterval:515,JPEGLosslessPredictors:517,JPEGPointTransforms:518,JPEGQTables:519,JPEGDCTables:520,JPEGACTables:521,YCbCrCoefficients:529,YCbCrSubSampling:530,YCbCrPositioning:531,ReferenceBlackWhite:532,XMLPacket:700,Rating:18246,RatingPercent:18249,ImageID:32781,CFARepeatPatternDim:33421,CFAPattern:33422,BatteryLevel:33423,Copyright:33432,ExposureTime:33434,ImageResources:34377,ExifTag:34665,InterColorProfile:34675,GPSTag:34853,Interlace:34857,TimeZoneOffset:34858,SelfTimerMode:34859,FlashEnergy:37387,SpatialFrequencyResponse:37388,Noise:37389,FocalPlaneXResolution:37390,FocalPlaneYResolution:37391,FocalPlaneResolutionUnit:37392,ImageNumber:37393,SecurityClassification:37394,ImageHistory:37395,ExposureIndex:37397,TIFFEPStandardID:37398,SensingMethod:37399,XPTitle:40091,XPComment:40092,XPAuthor:40093,XPKeywords:40094,XPSubject:40095,PrintImageMatching:50341,DNGVersion:50706,DNGBackwardVersion:50707,UniqueCameraModel:50708,LocalizedCameraModel:50709,CFAPlaneColor:50710,CFALayout:50711,LinearizationTable:50712,BlackLevelRepeatDim:50713,BlackLevel:50714,BlackLevelDeltaH:50715,BlackLevelDeltaV:50716,WhiteLevel:50717,DefaultScale:50718,DefaultCropOrigin:50719,DefaultCropSize:50720,ColorMatrix1:50721,ColorMatrix2:50722,CameraCalibration1:50723,CameraCalibration2:50724,ReductionMatrix1:50725,ReductionMatrix2:50726,AnalogBalance:50727,AsShotNeutral:50728,AsShotWhiteXY:50729,BaselineExposure:50730,BaselineNoise:50731,BaselineSharpness:50732,BayerGreenSplit:50733,LinearResponseLimit:50734,CameraSerialNumber:50735,LensInfo:50736,ChromaBlurRadius:50737,AntiAliasStrength:50738,ShadowScale:50739,DNGPrivateData:50740,MakerNoteSafety:50741,CalibrationIlluminant1:50778,CalibrationIlluminant2:50779,BestQualityScale:50780,RawDataUniqueID:50781,OriginalRawFileName:50827,OriginalRawFileData:50828,ActiveArea:50829,MaskedAreas:50830,AsShotICCProfile:50831,AsShotPreProfileMatrix:50832,CurrentICCProfile:50833,CurrentPreProfileMatrix:50834,ColorimetricReference:50879,CameraCalibrationSignature:50931,ProfileCalibrationSignature:50932,AsShotProfileName:50934,NoiseReductionApplied:50935,ProfileName:50936,ProfileHueSatMapDims:50937,ProfileHueSatMapData1:50938,ProfileHueSatMapData2:50939,ProfileToneCurve:50940,ProfileEmbedPolicy:50941,ProfileCopyright:50942,ForwardMatrix1:50964,ForwardMatrix2:50965,PreviewApplicationName:50966,PreviewApplicationVersion:50967,PreviewSettingsName:50968,PreviewSettingsDigest:50969,PreviewColorSpace:50970,PreviewDateTime:50971,RawImageDigest:50972,OriginalRawFileDigest:50973,SubTileBlockSize:50974,RowInterleaveFactor:50975,ProfileLookTableDims:50981,ProfileLookTableData:50982,OpcodeList1:51008,OpcodeList2:51009,OpcodeList3:51022,NoiseProfile:51041},n.ExifIFD={ExposureTime:33434,FNumber:33437,ExposureProgram:34850,SpectralSensitivity:34852,ISOSpeedRatings:34855,OECF:34856,SensitivityType:34864,StandardOutputSensitivity:34865,RecommendedExposureIndex:34866,ISOSpeed:34867,ISOSpeedLatitudeyyy:34868,ISOSpeedLatitudezzz:34869,ExifVersion:36864,DateTimeOriginal:36867,DateTimeDigitized:36868,ComponentsConfiguration:37121,CompressedBitsPerPixel:37122,ShutterSpeedValue:37377,ApertureValue:37378,BrightnessValue:37379,ExposureBiasValue:37380,MaxApertureValue:37381,SubjectDistance:37382,MeteringMode:37383,LightSource:37384,Flash:37385,FocalLength:37386,SubjectArea:37396,MakerNote:37500,UserComment:37510,SubSecTime:37520,SubSecTimeOriginal:37521,SubSecTimeDigitized:37522,FlashpixVersion:40960,ColorSpace:40961,PixelXDimension:40962,PixelYDimension:40963,RelatedSoundFile:40964,InteroperabilityTag:40965,FlashEnergy:41483,SpatialFrequencyResponse:41484,FocalPlaneXResolution:41486,FocalPlaneYResolution:41487,FocalPlaneResolutionUnit:41488,SubjectLocation:41492,ExposureIndex:41493,SensingMethod:41495,FileSource:41728,SceneType:41729,CFAPattern:41730,CustomRendered:41985,ExposureMode:41986,WhiteBalance:41987,DigitalZoomRatio:41988,FocalLengthIn35mmFilm:41989,SceneCaptureType:41990,GainControl:41991,Contrast:41992,Saturation:41993,Sharpness:41994,DeviceSettingDescription:41995,SubjectDistanceRange:41996,ImageUniqueID:42016,CameraOwnerName:42032,BodySerialNumber:42033,LensSpecification:42034,LensMake:42035,LensModel:42036,LensSerialNumber:42037,Gamma:42240},n.GPSIFD={GPSVersionID:0,GPSLatitudeRef:1,GPSLatitude:2,GPSLongitudeRef:3,GPSLongitude:4,GPSAltitudeRef:5,GPSAltitude:6,GPSTimeStamp:7,GPSSatellites:8,GPSStatus:9,GPSMeasureMode:10,GPSDOP:11,GPSSpeedRef:12,GPSSpeed:13,GPSTrackRef:14,GPSTrack:15,GPSImgDirectionRef:16,GPSImgDirection:17,GPSMapDatum:18,GPSDestLatitudeRef:19,GPSDestLatitude:20,GPSDestLongitudeRef:21,GPSDestLongitude:22,GPSDestBearingRef:23,GPSDestBearing:24,GPSDestDistanceRef:25,GPSDestDistance:26,GPSProcessingMethod:27,GPSAreaInformation:28,GPSDateStamp:29,GPSDifferential:30,GPSHPositioningError:31},n.InteropIFD={InteroperabilityIndex:1},n.GPSHelper={degToDmsRational:function(e){var t=Math.abs(e),n=t%1*60,r=n%1*60;return[[Math.floor(t),1],[Math.floor(n),1],[Math.round(100*r),100]]},dmsRationalToDeg:function(e,t){var n="S"===t||"W"===t?-1:1;return(e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600)*n}},e.exports&&(t=e.exports=n),t.piexif=n}()}));const Iq=async(e,t,n)=>{const r=await(e=>new Promise((t,n)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.readAsDataURL(e)}))(e),a=Sq.load(r),s=(await navigator.mediaDevices.enumerateDevices()).filter(e=>"videoinput"===e.kind).map(e=>e.label),i={width:n.width,height:n.height,usedCamera:t.label,camerasOnDevice:s},o={"0th":Object.assign(Object.assign({},a["0th"]),{[Sq.ImageIFD.Model]:i.usedCamera,[Sq.ImageIFD.ImageWidth]:i.width,[Sq.ImageIFD.ImageLength]:i.height}),Exif:Object.assign(Object.assign({},a.Exif),{[Sq.ExifIFD.UserComment]:JSON.stringify(i)}),GPS:Object.assign({},a.GPS),Interop:Object.assign({},a.Interop),"1st":Object.assign({},a["1st"]),thumbnail:a.thumbnail},u=Sq.dump(o),l=Sq.insert(u,r);return await fetch(l).then(e=>e.blob())},Aq=new Image;var Eq;Aq.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwIiBoZWlnaHQ9IjIyNC45OTk5OTk5OTk5OTk5NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIHZlcnNpb249IjEuMSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CiA8Zz4KICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgPGcgc3Ryb2tlPSJudWxsIiBpZD0iTGF5ZXIgMSI+CiAgIDxwYXRoIHN0cm9rZT0iIzRjYTU4NSIgaWQ9InN2Z18xIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJtNzQuMjc3NjUsNi45Mjc2MWMtMTEuMzc1OTcsLTAuMDE3MTMgLTMzLjU2NTUxLDUuMTA0MzMgLTQ2LjgxMzE2LDE5LjQ5NDgxYy02Ljc0MTQzLDcuMzIyOTIgLTE4LjEyMjY5LDIzLjA2OTY3IC0xOS4yNjc1OCw1OS42MTM2OWMtMC41MTkwNiwxNi41NjkyMSA1LjA0NTI0LDYwLjYyNTMzIDEwLjI0MDA2LDc2LjQ2Nzc1YzMuNjMxMywxMS4wNzQ2OCAyNy40ODIxNSw0My45MzM0OSA0NC40OTA2LDUzLjY4MjUxYzQuODA3OTEsMi43NTU0NiAxMS4yOTY2OCwyLjY4MjUxIDEyLjQyMjU1LDIuNjgyNTFjMS4xODg3NiwtMC4wODQ1NyA3LjMzMDI2LDAuMDcyOTQgMTIuMTM3NjUsLTIuNjgyNTFjMTcuMDA4NDYsLTkuNzQ5MDIgNDAuNDAyMDgsLTQyLjc2ODUxIDQ0LjQ5MDYsLTUzLjY4MjUxYzQuNDAwMzgsLTExLjc0NDkxIDEwLjc1OTY1LC01OS44OTg1NCAxMC4yNDAwNiwtNzYuNDY3NzVjLTEuMTQ0ODksLTM2LjU0NDAyIC0xMi41MjYxNSwtNTIuMjkwNzcgLTE5LjI2NzU4LC01OS42MTM2OWMtMTMuMjQ3NjUsLTE0LjM5MDQ4IC0zNS4zMDY2MywtMTkuNTI5MzMgLTQ2Ljc3ODI3LC0xOS40OTQ4MWMtMC43NDY4OCwwLjAwMjIyIC0xLjg5NDk0LDAgLTEuODk0OTQsMHoiIHN0cm9rZS13aWR0aD0iNy42NSIvPgogIDwvZz4KIDwvZz4KPC9zdmc+Cg==",function(e){e.JPEG="image/jpeg",e.PNG="image/png"}(Eq||(Eq={}));class Nq{constructor(e,t){this.showMask=!1,this.videoSize={width:0,height:0},this.streamPaused=!1,this.pauseStream=()=>{this.streamPaused=!0,this.videoElement.pause(),this.dropMask(),this.faceDetection&&kq.getInstance().stopDetector()},this.device=e,this.detector=kq.getInstance(this,e.isMobile,t)}setShowMask(e){this.showMask=e}setFaceDetection(e){this.faceDetection=e}setProbabilityThreshold(e){kq.getInstance().setProbabilityThreshold(e)}setCallbackErrors(e){this.callbackErrors=e}setCallbackAutoCapturing(e){this.callbackAutoCapturing=e}setCallbackFaceDetectionErrors(e){this.callbackFaceDetectionErrors=e}static getInstance(e,t){return Nq.instance||(Nq.instance=new Nq(e,t)),Nq.instance}returnErrors(e){this.callbackFaceDetectionErrors(e)}autoCapturing(){this.callbackAutoCapturing()}updateHtmlElements(e,t){this.videoElement=e,this.canvasElement=t,this.detector.updateHtmlElements(e)}async startDetection(){return this.detector.startDetector()}static orientationChange(){Nq.instance&&Nq.getInstance().drawMask()}startStream(e){this.stream&&this.stream.getTracks().forEach(e=>e.stop()),this.stream=e,"srcObject"in this.videoElement?this.videoElement.srcObject=e:this.videoElement.src=window.URL.createObjectURL(e),this.videoElement.play().then(()=>{this.streamPaused=!1,l.cameraReadyEvent(),this.drawMask(),this.faceDetection&&this.startDetection()})}async initStream(e){this.startStream(e)}async resumeStream(){this.streamPaused=!1,await this.videoElement.play(),this.drawMask(),this.faceDetection&&await kq.getInstance().startDetector()}updateCanvasSize(e){this.videoSize={width:this.videoElement.videoWidth,height:this.videoElement.videoHeight},e.width=this.videoSize.width,e.height=this.videoSize.height}dropStream(){this.streamStopped()||(this.stream.getTracks().forEach(e=>e.stop()),this.videoElement.srcObject=null),this.faceDetection&&kq.getInstance().stopDetector()}streamStopped(){return!(this.stream&&this.stream.getTracks&&this.stream.getTracks().length>0)}drawMask(){this.showMask&&!this.streamPaused&&setTimeout(()=>{this.updateCanvasSize(this.canvasElement);const e=this.canvasElement,t=e.getContext("2d"),n=e.width/Aq.width,r=e.height/Aq.height,a=Math.min(n,r),s=e.width{const t=document.createElement("canvas");t.width=this.videoElement.videoWidth,t.height=this.videoElement.videoHeight,e([await this.getFrame(t)])})}getFrame(e){return new Promise(t=>{e.getContext("2d").drawImage(this.videoElement,0,0,e.width,e.height),e.toBlob(e=>{if(e.type!==Eq.JPEG||this.device.isIos)t(e);else try{Iq(e,this.stream.getTracks()[0],this.videoSize).then(e=>t(e))}catch(n){t(e),this.callbackErrors(n,!1)}},Eq.PNG,1)})}}window.addEventListener("resize",Nq.orientationChange,!1),window.addEventListener("orientationchange",Nq.orientationChange,!1);let Cq=class{constructor(e){Object(u.f)(this,e),this.eventVideoStarted=Object(u.b)(this,"videoStarted",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.errorCameraEvent=Object(u.b)(this,"errorCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.callbackErrors=(e,t)=>{t?(this.errorCameraEvent.emit(e),this.eventCloseCamera.emit()):this.errorCameraEvent.emit(e)},this.callbackAutoCapturing=()=>{this.device.isMobile?this.eventMakePhoto.emit():this.eventTakePhoto.emit()},this.callbackFaceDetectionErrors=e=>{l.detectionError(e)}}componentDidLoad(){this.startStream()}render(){const e="camera "+(this.device.isMobile?"cameraMobile":"");return Object(u.d)("div",{class:e},Object(u.d)("video",{loop:!0,autoplay:!0,playsinline:!0,muted:!0,class:"cameraVideo",ref:e=>this.cameraVideo=e}),Object(u.d)("canvas",{class:"cameraCanvas",ref:e=>this.cameraCanvas=e}))}startStream(){Nq.instance||Nq.getInstance(this.device,this.modelPath);const e=Nq.getInstance();e.updateHtmlElements(this.cameraVideo,this.cameraCanvas),e.setShowMask(this.showMask),e.setFaceDetection(this.faceDetection),e.setProbabilityThreshold(this.probabilityThreshold),e.setCallbackErrors(this.callbackErrors),e.setCallbackAutoCapturing(this.callbackAutoCapturing),e.setCallbackFaceDetectionErrors(this.callbackFaceDetectionErrors)}};Cq.style=".camera{width:100%;height:100%;color:white;display:flex;align-items:center;justify-content:center;position:relative}.cameraCanvas{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);max-width:100%;max-height:100%;z-index:2}.cameraVideo{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);z-index:1;position:absolute;max-width:100%;max-height:100%}.cameraMobile{position:fixed;top:0;left:0;background:black}.canvas-on-video{max-width:100%;max-height:100%;position:absolute;left:50%;top:50%;z-index:2;transform:scale(-1, 1)}";let Tq=class{constructor(e){Object(u.f)(this,e),this.updateState=()=>{this._showMask="true"===this.show_mask,this._disable_control_panel="true"===this.disable_control_panel,this._face_detection="true"===this.face_detection,this._stopAfterCapturing="true"===this.stop_after_capturing,this._probabilityThreshold=this.probability_threshold?+this.probability_threshold:50,this.url_logo=this.url_logo?this.url_logo:"data:image/png;charset=utf-8;base64,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",this._debug="true"===this.debug,kq.debug=this._debug},this.photoIsReady=e=>{this._stopAfterCapturing&&this.closeCamera(),l.captureEvent(e)},this.enableButton=()=>{this._resolutionOnPhoto=!0},this.updateState(),this._cameraStatus=0,this._resolutionOnPhoto=!1,this._device=xq(),this._mobile=this._device.isMobile,this._mobileMakePhoto=!1}videoStarted(){this._resolutionOnPhoto=!0}async retakePhoto(){this._mobileMakePhoto=!1,await Nq.getInstance().resumeStream()}takePhoto(){Nq.getInstance().takePhoto().then(e=>{this.photoIsReady(e)})}async openCamera(){this._cameraStatus=1;const e=this._device.isMac?{audio:!1,video:{facingMode:"user",width:1920,height:1080}}:{audio:!1,video:{facingMode:"user",width:{ideal:1920},height:{ideal:1080}}};setTimeout(()=>{navigator.mediaDevices.getUserMedia(e).then(e=>{Nq.getInstance().initStream(e),this.videoStarted()}).catch(e=>{this.closeCamera(),l.errorEvent(e)})},100)}async loadModels(e){await kq.initDetector(e.detail.path)}errorCamera(e){l.errorEvent(e.detail.message)}closeCamera(){Nq.instance&&(this._cameraStatus=0,l.closeEvent(),Nq.getInstance().dropStream(),this._mobileMakePhoto=!1,this._resolutionOnPhoto=!1)}makePhoto(){this._mobile?(this._mobileMakePhoto=!0,Nq.getInstance().pauseStream()):this.takePhoto()}componentWillLoad(){l.init(this.component),navigator.mediaDevices||l.errorEvent("This browser does not support webRTC")}componentDidUpdate(){this.updateState()}render(){let e;return e=this._cameraStatus?Object(u.d)("camera-comp",{class:"block",showMask:this._showMask,device:this._device,faceDetection:this._face_detection,modelPath:this.model_path,probabilityThreshold:this._probabilityThreshold}):Object(u.d)("img",{src:this.url_logo,class:"logo",style:this.logo_style?JSON.parse(this.logo_style):"",alt:"logo"}),Object(u.d)("div",{class:"cameraContainer",id:"cameraContainer",style:{backgroundColor:this.background_color}},Object(u.d)("div",{class:"wrapperCamera",style:{height:this._disable_control_panel?"100%":"65%"}},e),Object(u.d)("control-panel",{class:"block",mobile:this._mobile,disableControlPanel:this._disable_control_panel,cameraStatus:this._cameraStatus,resolutionOnPhoto:this._resolutionOnPhoto,mobileMakePhoto:this._mobileMakePhoto,faceDetection:this._face_detection}))}get component(){return Object(u.c)(this)}};Tq.style=".cameraContainer{width:100%;height:100%;z-index:10;position:relative;overflow:hidden}.logo{max-height:450px;max-width:450px}.wrapperCamera{display:flex;justify-content:center;align-items:center}.block{width:100%;height:100%}@media screen and (orientation: portrait){.history{width:100vw;font-size:20px}@media screen and (max-height: 667px){.logo{background-size:120px;max-height:120px;max-width:120px}}@media screen and (min-height: 668px) and (max-height: 812px){.logo{background-size:140px;max-height:140px;max-width:140px}}@media (max-height: 667px){.logo{margin:0 auto}}}@media screen and (max-height: 414px){.logo{background-size:140px;max-height:140px;max-width:140px}}";const Rq=(e,t)=>[...t];let _q=class{constructor(e){Object(u.f)(this,e),this.eventOpenCamera=Object(u.b)(this,"openCamera",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventRetakePhoto=Object(u.b)(this,"retakePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.makePhoto=()=>{this.eventMakePhoto.emit()},this.closeCamera=()=>{this.eventCloseCamera.emit()},this.openCamera=()=>{this.eventOpenCamera.emit()},this.takePhoto=()=>{this.eventTakePhoto.emit()},this.retakePhoto=async()=>{this.eventRetakePhoto.emit()}}render(){return Object(u.d)("div",{class:"controlPanel"+(this.mobile?" controlMobile":"")},this.mobile?Object(u.d)("div",null,this.cameraStatus?Object(u.d)("div",null,this.mobileMakePhoto?Object(u.d)("div",null,Object(u.d)("div",{onClick:this.retakePhoto,class:"retake"},"retake"),Object(u.d)("img",{onClick:this.takePhoto,alt:"use this photo",class:"shoot takePhoto",src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjEuMC4yLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDggNDg7IiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4Ij4KPHBhdGggc3R5bGU9ImZpbGw6I0M4RTZDOTsiIGQ9Ik00NCwyNGMwLDExLjA0NS04Ljk1NSwyMC0yMCwyMFM0LDM1LjA0NSw0LDI0UzEyLjk1NSw0LDI0LDRTNDQsMTIuOTU1LDQ0LDI0eiIvPgo8cGF0aCBzdHlsZT0iZmlsbDojNENBRjUwOyIgZD0iTTM0LjU4NiwxNC41ODZsLTEzLjU3LDEzLjU4NmwtNS42MDItNS41ODZsLTIuODI4LDIuODI4bDguNDM0LDguNDE0bDE2LjM5NS0xNi40MTRMMzQuNTg2LDE0LjU4NnoiLz4KPC9zdmc+Cg=="})):Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto,class:"shoot"}),Object(u.d)("div",{onClick:this.closeCamera,class:"close"},"close")):Object(u.d)("div",null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)("button",{onClick:this.openCamera},"Turn on camera"))):Object(u.d)(Rq,null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)(Rq,null,this.cameraStatus?Object(u.d)(Rq,null,Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto},"Capture"),Object(u.d)("button",{onClick:this.closeCamera,class:"cameraOff"},"Close camera")):Object(u.d)("button",{onClick:this.openCamera},"Open camera"))))}};_q.style='.controlPanel{height:35%;display:flex;justify-content:space-evenly;align-items:center;width:100%;max-width:450px;margin:auto}.buttons{width:100%;max-width:450px;display:flex;justify-content:space-evenly;align-items:center}button{width:164px;height:50px;border:none;margin-bottom:10px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;color:#fff;font-family:"Avenir", Helvetica, sans-serif;font-weight:600;font-size:16px;background-color:#4ca585;outline:none;cursor:pointer}button[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.cameraOff{background-color:#667a87}.cameraOff:hover{background-color:#92a8b5}.shoot{width:50px;height:50px;border-radius:25px;border:2px solid white;outline:none;background-color:red;position:fixed;left:calc(50% - 25px);bottom:10px}.shoot[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.close{position:fixed;right:6vw;top:2vh;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.retake{position:fixed;right:6vw;bottom:35px;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.takePhoto{width:46px;height:46px;bottom:20px;background:none}@media screen and (orientation:landscape) and (min-width: 360px){.shoot{bottom:calc(50% - 25px);left:auto;right:5vw}}'}.call(this,"/index.js",n(124),"/",n(33),n(238).Buffer,n(242).setImmediate)},function(e,t,n){"use strict";(function(e){ /*! * The buffer module from node.js, for the browser. * diff --git a/public/acuant/11.9.3/AcuantPassiveLiveness.min.js b/public/acuant/11.9.3/AcuantPassiveLiveness.min.js index 9d59630713d..ccca92a942a 100644 --- a/public/acuant/11.9.3/AcuantPassiveLiveness.min.js +++ b/public/acuant/11.9.3/AcuantPassiveLiveness.min.js @@ -231,7 +231,7 @@ var fq=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?a * limitations under the License. * ============================================================================= */ -/** @license See the LICENSE file. */(e,{width:this.videoElement.videoWidth,height:this.videoElement.videoHeight}),n=new hq,r=this.checkNumberFaces(t);return n.FACE_NOT_FOUND=!r&&0===t.length,n.TOO_MANY_FACES=!r&&t.length>this.MAX_NUMBER_FACES,r&&(wq&&(n.FACE_ANGLE_TOO_LARGE=!this.checkHeadRotation(t)),n.PROBABILITY_TOO_SMALL=!this.checkProbability(t),n.FACE_TOO_SMALL=!this.checkFaceSize(t),n.FACE_CLOSE_TO_BORDER=!this.checkFaceIndent(t)),n}autoCapturing(){kq.debug&&console.info(this.counterSuccessfulResults),this.counterSuccessfulResults>=this.DEFAULT_NUMBER_SUCCESSFUL_RESULTS_FOR_AUTO_CAPTURING&&(this.stream.autoCapturing(),this.counterSuccessfulResults=0)}checkNumberFaces(e){return e.length===this.MAX_NUMBER_FACES}checkProbability(e){return e[0].detection.score>+this.probabilityThreshold/100}checkFaceSize(e){const t=e[0].detection.box,{width:n,height:r,area:a}=t,{imageHeight:s,imageWidth:i}=e[0].detection,o=100/(s*i/a);return Math.min(n/this.videoRatio,r/this.videoRatio)>(this.isMobile?this.MIN_FACE_SIZE_FOR_MOBILE:this.MIN_FACE_SIZE_FOR_DESKTOP)&&o>(this.isMobile?this.MIN_OCCUPIED_SPACE_FOR_MOBILE:this.MIN_OCCUPIED_SPACE_FOR_DESKTOP)}checkFaceIndent(e){const t=e[0].detection.box,{imageHeight:n,imageWidth:r}=e[0].detection,{top:a,left:s,bottom:i,right:o}=t,u=s,l=r-o,c=n-i;return!(athis.MAX_ANGLE_TURN_HEAD||-1*a[2]>this.MAX_ANGLE_TURN_HEAD?this.headTurnCounter++:(this.counterSuccessfulHeadTurns++,this.counterSuccessfulHeadTurns>=5&&(this.headTurnCounter=0,this.counterSuccessfulHeadTurns=0)),this.headTurnCounter<=1}drawFaces(e){this.innerCanvas||this.createCanvasForDrawingMask(this.videoElement);const t=this.innerCanvas;if(!t)return console.error("no canvas for drawing");const n=t.getContext("2d");if(n){n.clearRect(0,0,t.width,t.height),n.font='small-caps 20px "Segoe UI"',n.fillStyle="white";for(const t of e){n.lineWidth=3,n.strokeStyle="deepskyblue",n.fillStyle="deepskyblue",n.globalAlpha=.6,n.beginPath(),n.rect(t.detection.box.x,t.detection.box.y,t.detection.box.width,t.detection.box.height),n.stroke(),n.globalAlpha=1,n.globalAlpha=.8,n.fillStyle="lightblue";const e=2;for(let r=0;r"+d("B",e.length),e)}function a(e){return h(">"+d("H",e.length),e)}function s(e){return h(">"+d("L",e.length),e)}function i(e,t,n){var i,o,u,l,c="",p="";if("Byte"==t)(i=e.length)<=4?p=r(e)+d("\0",4-i):(p=h(">L",[n]),c=r(e));else if("Short"==t)(i=e.length)<=2?p=a(e)+d("\0\0",2-i):(p=h(">L",[n]),c=a(e));else if("Long"==t)(i=e.length)<=1?p=s(e):(p=h(">L",[n]),c=s(e));else if("Ascii"==t)(i=(o=e+"\0").length)>4?(p=h(">L",[n]),c=o):p=o+d("\0",4-i);else if("Rational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">L",[u])+h(">L",[l]);else{i=e.length,o="";for(var f=0;fL",[u])+h(">L",[l])}p=h(">L",[n]),c=o}else if("SRational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">l",[u])+h(">l",[l]);else{i=e.length,o="";for(f=0;fl",[u])+h(">l",[l])}p=h(">L",[n]),c=o}else"Undefined"==t&&((i=e.length)>4?(p=h(">L",[n]),c=e):p=e+d("\0",4-i));return[h(">L",[i]),p,c]}function o(e,t,n){var r,a=Object.keys(e).length,s=h(">H",[a]);r=["0th","1st"].indexOf(t)>-1?2+12*a+4:2+12*a;var o="",u="";for(var l in e)if("string"==typeof l&&(l=parseInt(l)),!("0th"==t&&[34665,34853].indexOf(l)>-1||"Exif"==t&&40965==l||"1st"==t&&[513,514].indexOf(l)>-1)){var c=e[l],p=h(">H",[l]),d=g[t][l].type,f=h(">H",[m[d]]);"number"==typeof c&&(c=[c]);var y=i(c,d,8+r+n+u.length);o+=p+f+y[0]+y[1],u+=y[2]}return[s+o,u]}function u(e){var t;if("ÿØ"==e.slice(0,2))t=function(e){for(var t,n=0;n-1)this.tiftag=e;else{if("Exif"!=e.slice(0,4))throw new Error("Given file is neither JPEG nor TIFF.");this.tiftag=e.slice(6)}}if(n.version="1.0.4",n.remove=function(e){var t=!1;if("ÿØ"==e.slice(0,2));else{if("data:image/jpeg;base64,"!=e.slice(0,23)&&"data:image/jpg;base64,"!=e.slice(0,22))throw new Error("Given data is not jpeg.");e=c(e.split(",")[1]),t=!0}var n=f(e).filter((function(e){return!("ÿá"==e.slice(0,2)&&"Exif\0\0"==e.slice(4,10))})).join("");return t&&(n="data:image/jpeg;base64,"+l(n)),n},n.insert=function(e,t){var n=!1;if("Exif\0\0"!=e.slice(0,6))throw new Error("Given data is not exif.");if("ÿØ"==t.slice(0,2));else{if("data:image/jpeg;base64,"!=t.slice(0,23)&&"data:image/jpg;base64,"!=t.slice(0,22))throw new Error("Given data is not jpeg.");t=c(t.split(",")[1]),n=!0}var r="ÿá"+h(">H",[e.length+2])+e,a=function(e,t){var n=!1,r=[];e.forEach((function(a,s){"ÿá"==a.slice(0,2)&&"Exif\0\0"==a.slice(4,10)&&(n?r.unshift(s):(e[s]=t,n=!0))})),r.forEach((function(t){e.splice(t,1)})),!n&&t&&(e=[e[0],t].concat(e.slice(1)));return e.join("")}(f(t),r);return n&&(a="data:image/jpeg;base64,"+l(a)),a},n.load=function(e){var t;if("string"!=typeof e)throw new Error("'load' gots invalid type argument.");if("ÿØ"==e.slice(0,2))t=e;else if("data:image/jpeg;base64,"==e.slice(0,23)||"data:image/jpg;base64,"==e.slice(0,22))t=c(e.split(",")[1]);else{if("Exif"!=e.slice(0,4))throw new Error("'load' gots invalid file data.");t=e.slice(6)}var n={"0th":{},Exif:{},GPS:{},Interop:{},"1st":{},thumbnail:null},r=new u(t);if(null===r.tiftag)return n;"II"==r.tiftag.slice(0,2)?r.endian_mark="<":r.endian_mark=">";var a=p(r.endian_mark+"L",r.tiftag.slice(4,8))[0];n["0th"]=r.get_ifd(a,"0th");var s=n["0th"].first_ifd_pointer;if(delete n["0th"].first_ifd_pointer,34665 in n["0th"]&&(a=n["0th"][34665],n.Exif=r.get_ifd(a,"Exif")),34853 in n["0th"]&&(a=n["0th"][34853],n.GPS=r.get_ifd(a,"GPS")),40965 in n.Exif&&(a=n.Exif[40965],n.Interop=r.get_ifd(a,"Interop")),"\0\0\0\0"!=s&&(a=p(r.endian_mark+"L",s)[0],n["1st"]=r.get_ifd(a,"1st"),513 in n["1st"]&&514 in n["1st"])){var i=n["1st"][513]+n["1st"][514],o=r.tiftag.slice(n["1st"][513],i);n.thumbnail=o}return n},n.dump=function(e){var t,r,a,s,i,u,l=(t=e,JSON.parse(JSON.stringify(t))),c=!1,p=!1,d=!1,g=!1;r="0th"in l?l["0th"]:{},"Exif"in l&&Object.keys(l.Exif).length||"Interop"in l&&Object.keys(l.Interop).length?(r[34665]=1,c=!0,a=l.Exif,"Interop"in l&&Object.keys(l.Interop).length?(a[40965]=1,d=!0,s=l.Interop):Object.keys(a).indexOf(n.ExifIFD.InteroperabilityTag.toString())>-1&&delete a[40965]):Object.keys(r).indexOf(n.ImageIFD.ExifTag.toString())>-1&&delete r[34665],"GPS"in l&&Object.keys(l.GPS).length?(r[n.ImageIFD.GPSTag]=1,p=!0,i=l.GPS):Object.keys(r).indexOf(n.ImageIFD.GPSTag.toString())>-1&&delete r[n.ImageIFD.GPSTag],"1st"in l&&"thumbnail"in l&&null!=l.thumbnail&&(g=!0,l["1st"][513]=1,l["1st"][514]=1,u=l["1st"]);var y,b,v,x=o(r,"0th",0),w=x[0].length+12*c+12*p+4+x[1].length,k="",S=0,I="",A=0,E="",N=0,C="";(c&&(S=(y=o(a,"Exif",w))[0].length+12*d+y[1].length),p&&(A=(I=o(i,"GPS",w+S).join("")).length),d)&&(N=(E=o(s,"Interop",w+S+A).join("")).length);if(g&&(b=o(u,"1st",w+S+A+N),(v=function(e){var t=f(e);for(;"ÿà"<=t[1].slice(0,2)&&t[1].slice(0,2)<="ÿï";)t=[t[0]].concat(t.slice(2));return t.join("")}(l.thumbnail)).length>64e3))throw new Error("Given thumbnail is too large. max 64kB");var T="",R="",_="",F="\0\0\0\0";if(c){var M=h(">L",[D=8+w]);T=h(">H",[34665])+h(">H",[m.Long])+h(">L",[1])+M}if(p){M=h(">L",[D=8+w+S]);R=h(">H",[34853])+h(">H",[m.Long])+h(">L",[1])+M}if(d){M=h(">L",[D=8+w+S+A]);_=h(">H",[40965])+h(">H",[m.Long])+h(">L",[1])+M}if(g){var D;F=h(">L",[D=8+w+S+A+N]);var O="\0\0\0\0"+h(">L",[D+b[0].length+24+4+b[1].length]),L="\0\0\0\0"+h(">L",[v.length]);C=b[0]+O+L+"\0\0\0\0"+b[1]+v}var P=x[0]+T+R+F+x[1];return c&&(k=y[0]+_+y[1]),"Exif\0\0MM\0*\0\0\0\b"+P+k+I+E+C},u.prototype={get_ifd:function(e,t){var n,r={},a=p(this.endian_mark+"H",this.tiftag.slice(e,e+2))[0],s=e+2;n=["0th","1st"].indexOf(t)>-1?"Image":t;for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("B",a),this.tiftag.slice(t,t+a))):n=p(this.endian_mark+d("B",a),s.slice(0,a));else if(2==r)a>4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a-1)):n=s.slice(0,a-1);else if(3==r)a>2?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("H",a),this.tiftag.slice(t,t+2*a))):n=p(this.endian_mark+d("H",a),s.slice(0,2*a));else if(4==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("L",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("L",a),s);else if(5==r)if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a)):n=s.slice(0,a);else if(9==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("l",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("l",a),s);else{if(10!=r)throw new Error("Exif might be wrong. Got incorrect value type to decode. type:"+r);if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(i=0;i>2,s=(3&t)<<4|(n=e.charCodeAt(l++))>>4,i=(15&n)<<2|(r=e.charCodeAt(l++))>>6,o=63&r,isNaN(n)?i=o=64:isNaN(r)&&(o=64),u=u+c.charAt(a)+c.charAt(s)+c.charAt(i)+c.charAt(o);return u};if("undefined"!=typeof window&&"function"==typeof window.atob)var c=window.atob;if(void 0===c)c=function(e){var t,n,r,a,s,i,o="",u=0,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u>4,n=(15&a)<<4|(s=l.indexOf(e.charAt(u++)))>>2,r=(3&s)<<6|(i=l.indexOf(e.charAt(u++))),o+=String.fromCharCode(t),64!=s&&(o+=String.fromCharCode(n)),64!=i&&(o+=String.fromCharCode(r));return o};function h(e,t){if(!(t instanceof Array))throw new Error("'pack' error. Got invalid type argument.");if(e.length-1!=t.length)throw new Error("'pack' error. "+(e.length-1)+" marks, "+t.length+" elements.");var n;if("<"==e[0])n=!0;else{if(">"!=e[0])throw new Error("");n=!1}for(var r="",a=1,s=null,i=null,o=null;i=e[a];){if("b"==i.toLowerCase()){if(s=t[a-1],"b"==i&&s<0&&(s+=256),s>255||s<0)throw new Error("'pack' error.");o=String.fromCharCode(s)}else if("H"==i){if((s=t[a-1])>65535||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}else{if("l"!=i.toLowerCase())throw new Error("'pack' error.");if(s=t[a-1],"l"==i&&s<0&&(s+=4294967296),s>4294967295||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s/16777216))+String.fromCharCode(Math.floor(s%16777216/65536))+String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}r+=o,a+=1}return r}function p(e,t){if("string"!=typeof t)throw new Error("'unpack' error. Got invalid type argument.");for(var n,r=0,a=1;a"!=e[0])throw new Error("'unpack' error.");n=!1}for(var s=[],i=0,o=1,u=null,l=null,c=null,h="";l=e[o];){if("b"==l.toLowerCase())c=1,u=(h=t.slice(i,i+c)).charCodeAt(0),"b"==l&&u>=128&&(u-=256);else if("H"==l)c=2,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=256*h.charCodeAt(0)+h.charCodeAt(1);else{if("l"!=l.toLowerCase())throw new Error("'unpack' error. "+l);c=4,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=16777216*h.charCodeAt(0)+65536*h.charCodeAt(1)+256*h.charCodeAt(2)+h.charCodeAt(3),"l"==l&&u>=2147483648&&(u-=4294967296)}s.push(u),i+=c,o+=1}return s}function d(e,t){for(var n="",r=0;rH",e.slice(t+2,t+4))[0]+2;if(n.push(e.slice(t,r)),(t=r)>=e.length)throw new Error("Wrong JPEG data.")}return n}var m={Byte:1,Ascii:2,Short:3,Long:4,Rational:5,Undefined:7,SLong:9,SRational:10},g={Image:{11:{name:"ProcessingSoftware",type:"Ascii"},254:{name:"NewSubfileType",type:"Long"},255:{name:"SubfileType",type:"Short"},256:{name:"ImageWidth",type:"Long"},257:{name:"ImageLength",type:"Long"},258:{name:"BitsPerSample",type:"Short"},259:{name:"Compression",type:"Short"},262:{name:"PhotometricInterpretation",type:"Short"},263:{name:"Threshholding",type:"Short"},264:{name:"CellWidth",type:"Short"},265:{name:"CellLength",type:"Short"},266:{name:"FillOrder",type:"Short"},269:{name:"DocumentName",type:"Ascii"},270:{name:"ImageDescription",type:"Ascii"},271:{name:"Make",type:"Ascii"},272:{name:"Model",type:"Ascii"},273:{name:"StripOffsets",type:"Long"},274:{name:"Orientation",type:"Short"},277:{name:"SamplesPerPixel",type:"Short"},278:{name:"RowsPerStrip",type:"Long"},279:{name:"StripByteCounts",type:"Long"},282:{name:"XResolution",type:"Rational"},283:{name:"YResolution",type:"Rational"},284:{name:"PlanarConfiguration",type:"Short"},290:{name:"GrayResponseUnit",type:"Short"},291:{name:"GrayResponseCurve",type:"Short"},292:{name:"T4Options",type:"Long"},293:{name:"T6Options",type:"Long"},296:{name:"ResolutionUnit",type:"Short"},301:{name:"TransferFunction",type:"Short"},305:{name:"Software",type:"Ascii"},306:{name:"DateTime",type:"Ascii"},315:{name:"Artist",type:"Ascii"},316:{name:"HostComputer",type:"Ascii"},317:{name:"Predictor",type:"Short"},318:{name:"WhitePoint",type:"Rational"},319:{name:"PrimaryChromaticities",type:"Rational"},320:{name:"ColorMap",type:"Short"},321:{name:"HalftoneHints",type:"Short"},322:{name:"TileWidth",type:"Short"},323:{name:"TileLength",type:"Short"},324:{name:"TileOffsets",type:"Short"},325:{name:"TileByteCounts",type:"Short"},330:{name:"SubIFDs",type:"Long"},332:{name:"InkSet",type:"Short"},333:{name:"InkNames",type:"Ascii"},334:{name:"NumberOfInks",type:"Short"},336:{name:"DotRange",type:"Byte"},337:{name:"TargetPrinter",type:"Ascii"},338:{name:"ExtraSamples",type:"Short"},339:{name:"SampleFormat",type:"Short"},340:{name:"SMinSampleValue",type:"Short"},341:{name:"SMaxSampleValue",type:"Short"},342:{name:"TransferRange",type:"Short"},343:{name:"ClipPath",type:"Byte"},344:{name:"XClipPathUnits",type:"Long"},345:{name:"YClipPathUnits",type:"Long"},346:{name:"Indexed",type:"Short"},347:{name:"JPEGTables",type:"Undefined"},351:{name:"OPIProxy",type:"Short"},512:{name:"JPEGProc",type:"Long"},513:{name:"JPEGInterchangeFormat",type:"Long"},514:{name:"JPEGInterchangeFormatLength",type:"Long"},515:{name:"JPEGRestartInterval",type:"Short"},517:{name:"JPEGLosslessPredictors",type:"Short"},518:{name:"JPEGPointTransforms",type:"Short"},519:{name:"JPEGQTables",type:"Long"},520:{name:"JPEGDCTables",type:"Long"},521:{name:"JPEGACTables",type:"Long"},529:{name:"YCbCrCoefficients",type:"Rational"},530:{name:"YCbCrSubSampling",type:"Short"},531:{name:"YCbCrPositioning",type:"Short"},532:{name:"ReferenceBlackWhite",type:"Rational"},700:{name:"XMLPacket",type:"Byte"},18246:{name:"Rating",type:"Short"},18249:{name:"RatingPercent",type:"Short"},32781:{name:"ImageID",type:"Ascii"},33421:{name:"CFARepeatPatternDim",type:"Short"},33422:{name:"CFAPattern",type:"Byte"},33423:{name:"BatteryLevel",type:"Rational"},33432:{name:"Copyright",type:"Ascii"},33434:{name:"ExposureTime",type:"Rational"},34377:{name:"ImageResources",type:"Byte"},34665:{name:"ExifTag",type:"Long"},34675:{name:"InterColorProfile",type:"Undefined"},34853:{name:"GPSTag",type:"Long"},34857:{name:"Interlace",type:"Short"},34858:{name:"TimeZoneOffset",type:"Long"},34859:{name:"SelfTimerMode",type:"Short"},37387:{name:"FlashEnergy",type:"Rational"},37388:{name:"SpatialFrequencyResponse",type:"Undefined"},37389:{name:"Noise",type:"Undefined"},37390:{name:"FocalPlaneXResolution",type:"Rational"},37391:{name:"FocalPlaneYResolution",type:"Rational"},37392:{name:"FocalPlaneResolutionUnit",type:"Short"},37393:{name:"ImageNumber",type:"Long"},37394:{name:"SecurityClassification",type:"Ascii"},37395:{name:"ImageHistory",type:"Ascii"},37397:{name:"ExposureIndex",type:"Rational"},37398:{name:"TIFFEPStandardID",type:"Byte"},37399:{name:"SensingMethod",type:"Short"},40091:{name:"XPTitle",type:"Byte"},40092:{name:"XPComment",type:"Byte"},40093:{name:"XPAuthor",type:"Byte"},40094:{name:"XPKeywords",type:"Byte"},40095:{name:"XPSubject",type:"Byte"},50341:{name:"PrintImageMatching",type:"Undefined"},50706:{name:"DNGVersion",type:"Byte"},50707:{name:"DNGBackwardVersion",type:"Byte"},50708:{name:"UniqueCameraModel",type:"Ascii"},50709:{name:"LocalizedCameraModel",type:"Byte"},50710:{name:"CFAPlaneColor",type:"Byte"},50711:{name:"CFALayout",type:"Short"},50712:{name:"LinearizationTable",type:"Short"},50713:{name:"BlackLevelRepeatDim",type:"Short"},50714:{name:"BlackLevel",type:"Rational"},50715:{name:"BlackLevelDeltaH",type:"SRational"},50716:{name:"BlackLevelDeltaV",type:"SRational"},50717:{name:"WhiteLevel",type:"Short"},50718:{name:"DefaultScale",type:"Rational"},50719:{name:"DefaultCropOrigin",type:"Short"},50720:{name:"DefaultCropSize",type:"Short"},50721:{name:"ColorMatrix1",type:"SRational"},50722:{name:"ColorMatrix2",type:"SRational"},50723:{name:"CameraCalibration1",type:"SRational"},50724:{name:"CameraCalibration2",type:"SRational"},50725:{name:"ReductionMatrix1",type:"SRational"},50726:{name:"ReductionMatrix2",type:"SRational"},50727:{name:"AnalogBalance",type:"Rational"},50728:{name:"AsShotNeutral",type:"Short"},50729:{name:"AsShotWhiteXY",type:"Rational"},50730:{name:"BaselineExposure",type:"SRational"},50731:{name:"BaselineNoise",type:"Rational"},50732:{name:"BaselineSharpness",type:"Rational"},50733:{name:"BayerGreenSplit",type:"Long"},50734:{name:"LinearResponseLimit",type:"Rational"},50735:{name:"CameraSerialNumber",type:"Ascii"},50736:{name:"LensInfo",type:"Rational"},50737:{name:"ChromaBlurRadius",type:"Rational"},50738:{name:"AntiAliasStrength",type:"Rational"},50739:{name:"ShadowScale",type:"SRational"},50740:{name:"DNGPrivateData",type:"Byte"},50741:{name:"MakerNoteSafety",type:"Short"},50778:{name:"CalibrationIlluminant1",type:"Short"},50779:{name:"CalibrationIlluminant2",type:"Short"},50780:{name:"BestQualityScale",type:"Rational"},50781:{name:"RawDataUniqueID",type:"Byte"},50827:{name:"OriginalRawFileName",type:"Byte"},50828:{name:"OriginalRawFileData",type:"Undefined"},50829:{name:"ActiveArea",type:"Short"},50830:{name:"MaskedAreas",type:"Short"},50831:{name:"AsShotICCProfile",type:"Undefined"},50832:{name:"AsShotPreProfileMatrix",type:"SRational"},50833:{name:"CurrentICCProfile",type:"Undefined"},50834:{name:"CurrentPreProfileMatrix",type:"SRational"},50879:{name:"ColorimetricReference",type:"Short"},50931:{name:"CameraCalibrationSignature",type:"Byte"},50932:{name:"ProfileCalibrationSignature",type:"Byte"},50934:{name:"AsShotProfileName",type:"Byte"},50935:{name:"NoiseReductionApplied",type:"Rational"},50936:{name:"ProfileName",type:"Byte"},50937:{name:"ProfileHueSatMapDims",type:"Long"},50938:{name:"ProfileHueSatMapData1",type:"Float"},50939:{name:"ProfileHueSatMapData2",type:"Float"},50940:{name:"ProfileToneCurve",type:"Float"},50941:{name:"ProfileEmbedPolicy",type:"Long"},50942:{name:"ProfileCopyright",type:"Byte"},50964:{name:"ForwardMatrix1",type:"SRational"},50965:{name:"ForwardMatrix2",type:"SRational"},50966:{name:"PreviewApplicationName",type:"Byte"},50967:{name:"PreviewApplicationVersion",type:"Byte"},50968:{name:"PreviewSettingsName",type:"Byte"},50969:{name:"PreviewSettingsDigest",type:"Byte"},50970:{name:"PreviewColorSpace",type:"Long"},50971:{name:"PreviewDateTime",type:"Ascii"},50972:{name:"RawImageDigest",type:"Undefined"},50973:{name:"OriginalRawFileDigest",type:"Undefined"},50974:{name:"SubTileBlockSize",type:"Long"},50975:{name:"RowInterleaveFactor",type:"Long"},50981:{name:"ProfileLookTableDims",type:"Long"},50982:{name:"ProfileLookTableData",type:"Float"},51008:{name:"OpcodeList1",type:"Undefined"},51009:{name:"OpcodeList2",type:"Undefined"},51022:{name:"OpcodeList3",type:"Undefined"}},Exif:{33434:{name:"ExposureTime",type:"Rational"},33437:{name:"FNumber",type:"Rational"},34850:{name:"ExposureProgram",type:"Short"},34852:{name:"SpectralSensitivity",type:"Ascii"},34855:{name:"ISOSpeedRatings",type:"Short"},34856:{name:"OECF",type:"Undefined"},34864:{name:"SensitivityType",type:"Short"},34865:{name:"StandardOutputSensitivity",type:"Long"},34866:{name:"RecommendedExposureIndex",type:"Long"},34867:{name:"ISOSpeed",type:"Long"},34868:{name:"ISOSpeedLatitudeyyy",type:"Long"},34869:{name:"ISOSpeedLatitudezzz",type:"Long"},36864:{name:"ExifVersion",type:"Undefined"},36867:{name:"DateTimeOriginal",type:"Ascii"},36868:{name:"DateTimeDigitized",type:"Ascii"},37121:{name:"ComponentsConfiguration",type:"Undefined"},37122:{name:"CompressedBitsPerPixel",type:"Rational"},37377:{name:"ShutterSpeedValue",type:"SRational"},37378:{name:"ApertureValue",type:"Rational"},37379:{name:"BrightnessValue",type:"SRational"},37380:{name:"ExposureBiasValue",type:"SRational"},37381:{name:"MaxApertureValue",type:"Rational"},37382:{name:"SubjectDistance",type:"Rational"},37383:{name:"MeteringMode",type:"Short"},37384:{name:"LightSource",type:"Short"},37385:{name:"Flash",type:"Short"},37386:{name:"FocalLength",type:"Rational"},37396:{name:"SubjectArea",type:"Short"},37500:{name:"MakerNote",type:"Undefined"},37510:{name:"UserComment",type:"Ascii"},37520:{name:"SubSecTime",type:"Ascii"},37521:{name:"SubSecTimeOriginal",type:"Ascii"},37522:{name:"SubSecTimeDigitized",type:"Ascii"},40960:{name:"FlashpixVersion",type:"Undefined"},40961:{name:"ColorSpace",type:"Short"},40962:{name:"PixelXDimension",type:"Long"},40963:{name:"PixelYDimension",type:"Long"},40964:{name:"RelatedSoundFile",type:"Ascii"},40965:{name:"InteroperabilityTag",type:"Long"},41483:{name:"FlashEnergy",type:"Rational"},41484:{name:"SpatialFrequencyResponse",type:"Undefined"},41486:{name:"FocalPlaneXResolution",type:"Rational"},41487:{name:"FocalPlaneYResolution",type:"Rational"},41488:{name:"FocalPlaneResolutionUnit",type:"Short"},41492:{name:"SubjectLocation",type:"Short"},41493:{name:"ExposureIndex",type:"Rational"},41495:{name:"SensingMethod",type:"Short"},41728:{name:"FileSource",type:"Undefined"},41729:{name:"SceneType",type:"Undefined"},41730:{name:"CFAPattern",type:"Undefined"},41985:{name:"CustomRendered",type:"Short"},41986:{name:"ExposureMode",type:"Short"},41987:{name:"WhiteBalance",type:"Short"},41988:{name:"DigitalZoomRatio",type:"Rational"},41989:{name:"FocalLengthIn35mmFilm",type:"Short"},41990:{name:"SceneCaptureType",type:"Short"},41991:{name:"GainControl",type:"Short"},41992:{name:"Contrast",type:"Short"},41993:{name:"Saturation",type:"Short"},41994:{name:"Sharpness",type:"Short"},41995:{name:"DeviceSettingDescription",type:"Undefined"},41996:{name:"SubjectDistanceRange",type:"Short"},42016:{name:"ImageUniqueID",type:"Ascii"},42032:{name:"CameraOwnerName",type:"Ascii"},42033:{name:"BodySerialNumber",type:"Ascii"},42034:{name:"LensSpecification",type:"Rational"},42035:{name:"LensMake",type:"Ascii"},42036:{name:"LensModel",type:"Ascii"},42037:{name:"LensSerialNumber",type:"Ascii"},42240:{name:"Gamma",type:"Rational"}},GPS:{0:{name:"GPSVersionID",type:"Byte"},1:{name:"GPSLatitudeRef",type:"Ascii"},2:{name:"GPSLatitude",type:"Rational"},3:{name:"GPSLongitudeRef",type:"Ascii"},4:{name:"GPSLongitude",type:"Rational"},5:{name:"GPSAltitudeRef",type:"Byte"},6:{name:"GPSAltitude",type:"Rational"},7:{name:"GPSTimeStamp",type:"Rational"},8:{name:"GPSSatellites",type:"Ascii"},9:{name:"GPSStatus",type:"Ascii"},10:{name:"GPSMeasureMode",type:"Ascii"},11:{name:"GPSDOP",type:"Rational"},12:{name:"GPSSpeedRef",type:"Ascii"},13:{name:"GPSSpeed",type:"Rational"},14:{name:"GPSTrackRef",type:"Ascii"},15:{name:"GPSTrack",type:"Rational"},16:{name:"GPSImgDirectionRef",type:"Ascii"},17:{name:"GPSImgDirection",type:"Rational"},18:{name:"GPSMapDatum",type:"Ascii"},19:{name:"GPSDestLatitudeRef",type:"Ascii"},20:{name:"GPSDestLatitude",type:"Rational"},21:{name:"GPSDestLongitudeRef",type:"Ascii"},22:{name:"GPSDestLongitude",type:"Rational"},23:{name:"GPSDestBearingRef",type:"Ascii"},24:{name:"GPSDestBearing",type:"Rational"},25:{name:"GPSDestDistanceRef",type:"Ascii"},26:{name:"GPSDestDistance",type:"Rational"},27:{name:"GPSProcessingMethod",type:"Undefined"},28:{name:"GPSAreaInformation",type:"Undefined"},29:{name:"GPSDateStamp",type:"Ascii"},30:{name:"GPSDifferential",type:"Short"},31:{name:"GPSHPositioningError",type:"Rational"}},Interop:{1:{name:"InteroperabilityIndex",type:"Ascii"}}};g["0th"]=g.Image,g["1st"]=g.Image,n.TAGS=g,n.ImageIFD={ProcessingSoftware:11,NewSubfileType:254,SubfileType:255,ImageWidth:256,ImageLength:257,BitsPerSample:258,Compression:259,PhotometricInterpretation:262,Threshholding:263,CellWidth:264,CellLength:265,FillOrder:266,DocumentName:269,ImageDescription:270,Make:271,Model:272,StripOffsets:273,Orientation:274,SamplesPerPixel:277,RowsPerStrip:278,StripByteCounts:279,XResolution:282,YResolution:283,PlanarConfiguration:284,GrayResponseUnit:290,GrayResponseCurve:291,T4Options:292,T6Options:293,ResolutionUnit:296,TransferFunction:301,Software:305,DateTime:306,Artist:315,HostComputer:316,Predictor:317,WhitePoint:318,PrimaryChromaticities:319,ColorMap:320,HalftoneHints:321,TileWidth:322,TileLength:323,TileOffsets:324,TileByteCounts:325,SubIFDs:330,InkSet:332,InkNames:333,NumberOfInks:334,DotRange:336,TargetPrinter:337,ExtraSamples:338,SampleFormat:339,SMinSampleValue:340,SMaxSampleValue:341,TransferRange:342,ClipPath:343,XClipPathUnits:344,YClipPathUnits:345,Indexed:346,JPEGTables:347,OPIProxy:351,JPEGProc:512,JPEGInterchangeFormat:513,JPEGInterchangeFormatLength:514,JPEGRestartInterval:515,JPEGLosslessPredictors:517,JPEGPointTransforms:518,JPEGQTables:519,JPEGDCTables:520,JPEGACTables:521,YCbCrCoefficients:529,YCbCrSubSampling:530,YCbCrPositioning:531,ReferenceBlackWhite:532,XMLPacket:700,Rating:18246,RatingPercent:18249,ImageID:32781,CFARepeatPatternDim:33421,CFAPattern:33422,BatteryLevel:33423,Copyright:33432,ExposureTime:33434,ImageResources:34377,ExifTag:34665,InterColorProfile:34675,GPSTag:34853,Interlace:34857,TimeZoneOffset:34858,SelfTimerMode:34859,FlashEnergy:37387,SpatialFrequencyResponse:37388,Noise:37389,FocalPlaneXResolution:37390,FocalPlaneYResolution:37391,FocalPlaneResolutionUnit:37392,ImageNumber:37393,SecurityClassification:37394,ImageHistory:37395,ExposureIndex:37397,TIFFEPStandardID:37398,SensingMethod:37399,XPTitle:40091,XPComment:40092,XPAuthor:40093,XPKeywords:40094,XPSubject:40095,PrintImageMatching:50341,DNGVersion:50706,DNGBackwardVersion:50707,UniqueCameraModel:50708,LocalizedCameraModel:50709,CFAPlaneColor:50710,CFALayout:50711,LinearizationTable:50712,BlackLevelRepeatDim:50713,BlackLevel:50714,BlackLevelDeltaH:50715,BlackLevelDeltaV:50716,WhiteLevel:50717,DefaultScale:50718,DefaultCropOrigin:50719,DefaultCropSize:50720,ColorMatrix1:50721,ColorMatrix2:50722,CameraCalibration1:50723,CameraCalibration2:50724,ReductionMatrix1:50725,ReductionMatrix2:50726,AnalogBalance:50727,AsShotNeutral:50728,AsShotWhiteXY:50729,BaselineExposure:50730,BaselineNoise:50731,BaselineSharpness:50732,BayerGreenSplit:50733,LinearResponseLimit:50734,CameraSerialNumber:50735,LensInfo:50736,ChromaBlurRadius:50737,AntiAliasStrength:50738,ShadowScale:50739,DNGPrivateData:50740,MakerNoteSafety:50741,CalibrationIlluminant1:50778,CalibrationIlluminant2:50779,BestQualityScale:50780,RawDataUniqueID:50781,OriginalRawFileName:50827,OriginalRawFileData:50828,ActiveArea:50829,MaskedAreas:50830,AsShotICCProfile:50831,AsShotPreProfileMatrix:50832,CurrentICCProfile:50833,CurrentPreProfileMatrix:50834,ColorimetricReference:50879,CameraCalibrationSignature:50931,ProfileCalibrationSignature:50932,AsShotProfileName:50934,NoiseReductionApplied:50935,ProfileName:50936,ProfileHueSatMapDims:50937,ProfileHueSatMapData1:50938,ProfileHueSatMapData2:50939,ProfileToneCurve:50940,ProfileEmbedPolicy:50941,ProfileCopyright:50942,ForwardMatrix1:50964,ForwardMatrix2:50965,PreviewApplicationName:50966,PreviewApplicationVersion:50967,PreviewSettingsName:50968,PreviewSettingsDigest:50969,PreviewColorSpace:50970,PreviewDateTime:50971,RawImageDigest:50972,OriginalRawFileDigest:50973,SubTileBlockSize:50974,RowInterleaveFactor:50975,ProfileLookTableDims:50981,ProfileLookTableData:50982,OpcodeList1:51008,OpcodeList2:51009,OpcodeList3:51022,NoiseProfile:51041},n.ExifIFD={ExposureTime:33434,FNumber:33437,ExposureProgram:34850,SpectralSensitivity:34852,ISOSpeedRatings:34855,OECF:34856,SensitivityType:34864,StandardOutputSensitivity:34865,RecommendedExposureIndex:34866,ISOSpeed:34867,ISOSpeedLatitudeyyy:34868,ISOSpeedLatitudezzz:34869,ExifVersion:36864,DateTimeOriginal:36867,DateTimeDigitized:36868,ComponentsConfiguration:37121,CompressedBitsPerPixel:37122,ShutterSpeedValue:37377,ApertureValue:37378,BrightnessValue:37379,ExposureBiasValue:37380,MaxApertureValue:37381,SubjectDistance:37382,MeteringMode:37383,LightSource:37384,Flash:37385,FocalLength:37386,SubjectArea:37396,MakerNote:37500,UserComment:37510,SubSecTime:37520,SubSecTimeOriginal:37521,SubSecTimeDigitized:37522,FlashpixVersion:40960,ColorSpace:40961,PixelXDimension:40962,PixelYDimension:40963,RelatedSoundFile:40964,InteroperabilityTag:40965,FlashEnergy:41483,SpatialFrequencyResponse:41484,FocalPlaneXResolution:41486,FocalPlaneYResolution:41487,FocalPlaneResolutionUnit:41488,SubjectLocation:41492,ExposureIndex:41493,SensingMethod:41495,FileSource:41728,SceneType:41729,CFAPattern:41730,CustomRendered:41985,ExposureMode:41986,WhiteBalance:41987,DigitalZoomRatio:41988,FocalLengthIn35mmFilm:41989,SceneCaptureType:41990,GainControl:41991,Contrast:41992,Saturation:41993,Sharpness:41994,DeviceSettingDescription:41995,SubjectDistanceRange:41996,ImageUniqueID:42016,CameraOwnerName:42032,BodySerialNumber:42033,LensSpecification:42034,LensMake:42035,LensModel:42036,LensSerialNumber:42037,Gamma:42240},n.GPSIFD={GPSVersionID:0,GPSLatitudeRef:1,GPSLatitude:2,GPSLongitudeRef:3,GPSLongitude:4,GPSAltitudeRef:5,GPSAltitude:6,GPSTimeStamp:7,GPSSatellites:8,GPSStatus:9,GPSMeasureMode:10,GPSDOP:11,GPSSpeedRef:12,GPSSpeed:13,GPSTrackRef:14,GPSTrack:15,GPSImgDirectionRef:16,GPSImgDirection:17,GPSMapDatum:18,GPSDestLatitudeRef:19,GPSDestLatitude:20,GPSDestLongitudeRef:21,GPSDestLongitude:22,GPSDestBearingRef:23,GPSDestBearing:24,GPSDestDistanceRef:25,GPSDestDistance:26,GPSProcessingMethod:27,GPSAreaInformation:28,GPSDateStamp:29,GPSDifferential:30,GPSHPositioningError:31},n.InteropIFD={InteroperabilityIndex:1},n.GPSHelper={degToDmsRational:function(e){var t=Math.abs(e),n=t%1*60,r=n%1*60;return[[Math.floor(t),1],[Math.floor(n),1],[Math.round(100*r),100]]},dmsRationalToDeg:function(e,t){var n="S"===t||"W"===t?-1:1;return(e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600)*n}},e.exports&&(t=e.exports=n),t.piexif=n}()}));const Iq=async(e,t,n)=>{const r=await(e=>new Promise((t,n)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.readAsDataURL(e)}))(e),a=Sq.load(r),s=(await navigator.mediaDevices.enumerateDevices()).filter(e=>"videoinput"===e.kind).map(e=>e.label),i={width:n.width,height:n.height,usedCamera:t.label,camerasOnDevice:s},o={"0th":Object.assign(Object.assign({},a["0th"]),{[Sq.ImageIFD.Model]:i.usedCamera,[Sq.ImageIFD.ImageWidth]:i.width,[Sq.ImageIFD.ImageLength]:i.height}),Exif:Object.assign(Object.assign({},a.Exif),{[Sq.ExifIFD.UserComment]:JSON.stringify(i)}),GPS:Object.assign({},a.GPS),Interop:Object.assign({},a.Interop),"1st":Object.assign({},a["1st"]),thumbnail:a.thumbnail},u=Sq.dump(o),l=Sq.insert(u,r);return await fetch(l).then(e=>e.blob())},Aq=new Image;var Eq;Aq.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwIiBoZWlnaHQ9IjIyNC45OTk5OTk5OTk5OTk5NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIHZlcnNpb249IjEuMSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CiA8Zz4KICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgPGcgc3Ryb2tlPSJudWxsIiBpZD0iTGF5ZXIgMSI+CiAgIDxwYXRoIHN0cm9rZT0iIzRjYTU4NSIgaWQ9InN2Z18xIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJtNzQuMjc3NjUsNi45Mjc2MWMtMTEuMzc1OTcsLTAuMDE3MTMgLTMzLjU2NTUxLDUuMTA0MzMgLTQ2LjgxMzE2LDE5LjQ5NDgxYy02Ljc0MTQzLDcuMzIyOTIgLTE4LjEyMjY5LDIzLjA2OTY3IC0xOS4yNjc1OCw1OS42MTM2OWMtMC41MTkwNiwxNi41NjkyMSA1LjA0NTI0LDYwLjYyNTMzIDEwLjI0MDA2LDc2LjQ2Nzc1YzMuNjMxMywxMS4wNzQ2OCAyNy40ODIxNSw0My45MzM0OSA0NC40OTA2LDUzLjY4MjUxYzQuODA3OTEsMi43NTU0NiAxMS4yOTY2OCwyLjY4MjUxIDEyLjQyMjU1LDIuNjgyNTFjMS4xODg3NiwtMC4wODQ1NyA3LjMzMDI2LDAuMDcyOTQgMTIuMTM3NjUsLTIuNjgyNTFjMTcuMDA4NDYsLTkuNzQ5MDIgNDAuNDAyMDgsLTQyLjc2ODUxIDQ0LjQ5MDYsLTUzLjY4MjUxYzQuNDAwMzgsLTExLjc0NDkxIDEwLjc1OTY1LC01OS44OTg1NCAxMC4yNDAwNiwtNzYuNDY3NzVjLTEuMTQ0ODksLTM2LjU0NDAyIC0xMi41MjYxNSwtNTIuMjkwNzcgLTE5LjI2NzU4LC01OS42MTM2OWMtMTMuMjQ3NjUsLTE0LjM5MDQ4IC0zNS4zMDY2MywtMTkuNTI5MzMgLTQ2Ljc3ODI3LC0xOS40OTQ4MWMtMC43NDY4OCwwLjAwMjIyIC0xLjg5NDk0LDAgLTEuODk0OTQsMHoiIHN0cm9rZS13aWR0aD0iNy42NSIvPgogIDwvZz4KIDwvZz4KPC9zdmc+Cg==",function(e){e.JPEG="image/jpeg",e.PNG="image/png"}(Eq||(Eq={}));class Nq{constructor(e,t){this.showMask=!1,this.videoSize={width:0,height:0},this.streamPaused=!1,this.pauseStream=()=>{this.streamPaused=!0,this.videoElement.pause(),this.dropMask(),this.faceDetection&&kq.getInstance().stopDetector()},this.device=e,this.detector=kq.getInstance(this,e.isMobile,t)}setShowMask(e){this.showMask=e}setFaceDetection(e){this.faceDetection=e}setProbabilityThreshold(e){kq.getInstance().setProbabilityThreshold(e)}setCallbackErrors(e){this.callbackErrors=e}setCallbackAutoCapturing(e){this.callbackAutoCapturing=e}setCallbackFaceDetectionErrors(e){this.callbackFaceDetectionErrors=e}static getInstance(e,t){return Nq.instance||(Nq.instance=new Nq(e,t)),Nq.instance}returnErrors(e){this.callbackFaceDetectionErrors(e)}autoCapturing(){this.callbackAutoCapturing()}updateHtmlElements(e,t){this.videoElement=e,this.canvasElement=t,this.detector.updateHtmlElements(e)}async startDetection(){return this.detector.startDetector()}static orientationChange(){Nq.instance&&Nq.getInstance().drawMask()}startStream(e){this.stream&&this.stream.getTracks().forEach(e=>e.stop()),this.stream=e,"srcObject"in this.videoElement?this.videoElement.srcObject=e:this.videoElement.src=window.URL.createObjectURL(e),this.videoElement.play().then(()=>{this.streamPaused=!1,l.cameraReadyEvent(),this.drawMask(),this.faceDetection&&this.startDetection()})}async initStream(e){this.startStream(e)}async resumeStream(){this.streamPaused=!1,await this.videoElement.play(),this.drawMask(),this.faceDetection&&await kq.getInstance().startDetector()}updateCanvasSize(e){this.videoSize={width:this.videoElement.videoWidth,height:this.videoElement.videoHeight},e.width=this.videoSize.width,e.height=this.videoSize.height}dropStream(){this.streamStopped()||(this.stream.getTracks().forEach(e=>e.stop()),this.videoElement.srcObject=null),this.faceDetection&&kq.getInstance().stopDetector()}streamStopped(){return!(this.stream&&this.stream.getTracks&&this.stream.getTracks().length>0)}drawMask(){this.showMask&&!this.streamPaused&&setTimeout(()=>{this.updateCanvasSize(this.canvasElement);const e=this.canvasElement,t=e.getContext("2d"),n=e.width/Aq.width,r=e.height/Aq.height,a=Math.min(n,r),s=e.width{const t=document.createElement("canvas");t.width=this.videoElement.videoWidth,t.height=this.videoElement.videoHeight,e([await this.getFrame(t)])})}getFrame(e){return new Promise(t=>{e.getContext("2d").drawImage(this.videoElement,0,0,e.width,e.height),e.toBlob(e=>{if(e.type!==Eq.JPEG||this.device.isIos)t(e);else try{Iq(e,this.stream.getTracks()[0],this.videoSize).then(e=>t(e))}catch(n){t(e),this.callbackErrors(n,!1)}},Eq.PNG,1)})}}window.addEventListener("resize",Nq.orientationChange,!1),window.addEventListener("orientationchange",Nq.orientationChange,!1);let Cq=class{constructor(e){Object(u.f)(this,e),this.eventVideoStarted=Object(u.b)(this,"videoStarted",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.errorCameraEvent=Object(u.b)(this,"errorCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.callbackErrors=(e,t)=>{t?(this.errorCameraEvent.emit(e),this.eventCloseCamera.emit()):this.errorCameraEvent.emit(e)},this.callbackAutoCapturing=()=>{this.device.isMobile?this.eventMakePhoto.emit():this.eventTakePhoto.emit()},this.callbackFaceDetectionErrors=e=>{l.detectionError(e)}}componentDidLoad(){this.startStream()}render(){const e="camera "+(this.device.isMobile?"cameraMobile":"");return Object(u.d)("div",{class:e},Object(u.d)("video",{loop:!0,autoplay:!0,playsinline:!0,muted:!0,class:"cameraVideo",ref:e=>this.cameraVideo=e}),Object(u.d)("canvas",{class:"cameraCanvas",ref:e=>this.cameraCanvas=e}))}startStream(){Nq.instance||Nq.getInstance(this.device,this.modelPath);const e=Nq.getInstance();e.updateHtmlElements(this.cameraVideo,this.cameraCanvas),e.setShowMask(this.showMask),e.setFaceDetection(this.faceDetection),e.setProbabilityThreshold(this.probabilityThreshold),e.setCallbackErrors(this.callbackErrors),e.setCallbackAutoCapturing(this.callbackAutoCapturing),e.setCallbackFaceDetectionErrors(this.callbackFaceDetectionErrors)}};Cq.style=".camera{width:100%;height:100%;color:white;display:flex;align-items:center;justify-content:center;position:relative}.cameraCanvas{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);max-width:100%;max-height:100%;z-index:2}.cameraVideo{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);z-index:1;position:absolute;max-width:100%;max-height:100%}.cameraMobile{position:fixed;top:0;left:0;background:black}.canvas-on-video{max-width:100%;max-height:100%;position:absolute;left:50%;top:50%;z-index:2;transform:scale(-1, 1)}";let Tq=class{constructor(e){Object(u.f)(this,e),this.updateState=()=>{this._showMask="true"===this.show_mask,this._disable_control_panel="true"===this.disable_control_panel,this._face_detection="true"===this.face_detection,this._stopAfterCapturing="true"===this.stop_after_capturing,this._probabilityThreshold=this.probability_threshold?+this.probability_threshold:50,this.url_logo=this.url_logo?this.url_logo:"data:image/png;charset=utf-8;base64,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",this._debug="true"===this.debug,kq.debug=this._debug},this.photoIsReady=e=>{this._stopAfterCapturing&&this.closeCamera(),l.captureEvent(e)},this.enableButton=()=>{this._resolutionOnPhoto=!0},this.updateState(),this._cameraStatus=0,this._resolutionOnPhoto=!1,this._device=xq(),this._mobile=this._device.isMobile,this._mobileMakePhoto=!1}videoStarted(){this._resolutionOnPhoto=!0}async retakePhoto(){this._mobileMakePhoto=!1,await Nq.getInstance().resumeStream()}takePhoto(){Nq.getInstance().takePhoto().then(e=>{this.photoIsReady(e)})}async openCamera(){this._cameraStatus=1;const e=this._device.isMac?{audio:!1,video:{facingMode:"user",width:1920,height:1080}}:{audio:!1,video:{facingMode:"user",width:{ideal:1920},height:{ideal:1080}}};setTimeout(()=>{navigator.mediaDevices.getUserMedia(e).then(e=>{Nq.getInstance().initStream(e),this.videoStarted()}).catch(e=>{this.closeCamera(),l.errorEvent(e)})},100)}async loadModels(e){await kq.initDetector(e.detail.path)}errorCamera(e){l.errorEvent(e.detail.message)}closeCamera(){Nq.instance&&(this._cameraStatus=0,l.closeEvent(),Nq.getInstance().dropStream(),this._mobileMakePhoto=!1,this._resolutionOnPhoto=!1)}makePhoto(){this._mobile?(this._mobileMakePhoto=!0,Nq.getInstance().pauseStream()):this.takePhoto()}componentWillLoad(){l.init(this.component),navigator.mediaDevices||l.errorEvent("This browser does not support webRTC")}componentDidUpdate(){this.updateState()}render(){let e;return e=this._cameraStatus?Object(u.d)("camera-comp",{class:"block",showMask:this._showMask,device:this._device,faceDetection:this._face_detection,modelPath:this.model_path,probabilityThreshold:this._probabilityThreshold}):Object(u.d)("img",{src:this.url_logo,class:"logo",style:this.logo_style?JSON.parse(this.logo_style):"",alt:"logo"}),Object(u.d)("div",{class:"cameraContainer",id:"cameraContainer",style:{backgroundColor:this.background_color}},Object(u.d)("div",{class:"wrapperCamera",style:{height:this._disable_control_panel?"100%":"65%"}},e),Object(u.d)("control-panel",{class:"block",mobile:this._mobile,disableControlPanel:this._disable_control_panel,cameraStatus:this._cameraStatus,resolutionOnPhoto:this._resolutionOnPhoto,mobileMakePhoto:this._mobileMakePhoto,faceDetection:this._face_detection}))}get component(){return Object(u.c)(this)}};Tq.style=".cameraContainer{width:100%;height:100%;z-index:10;position:relative;overflow:hidden}.logo{max-height:450px;max-width:450px}.wrapperCamera{display:flex;justify-content:center;align-items:center}.block{width:100%;height:100%}@media screen and (orientation: portrait){.history{width:100vw;font-size:20px}@media screen and (max-height: 667px){.logo{background-size:120px;max-height:120px;max-width:120px}}@media screen and (min-height: 668px) and (max-height: 812px){.logo{background-size:140px;max-height:140px;max-width:140px}}@media (max-height: 667px){.logo{margin:0 auto}}}@media screen and (max-height: 414px){.logo{background-size:140px;max-height:140px;max-width:140px}}";const Rq=(e,t)=>[...t];let _q=class{constructor(e){Object(u.f)(this,e),this.eventOpenCamera=Object(u.b)(this,"openCamera",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventRetakePhoto=Object(u.b)(this,"retakePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.makePhoto=()=>{this.eventMakePhoto.emit()},this.closeCamera=()=>{this.eventCloseCamera.emit()},this.openCamera=()=>{this.eventOpenCamera.emit()},this.takePhoto=()=>{this.eventTakePhoto.emit()},this.retakePhoto=async()=>{this.eventRetakePhoto.emit()}}render(){return Object(u.d)("div",{class:"controlPanel"+(this.mobile?" controlMobile":"")},this.mobile?Object(u.d)("div",null,this.cameraStatus?Object(u.d)("div",null,this.mobileMakePhoto?Object(u.d)("div",null,Object(u.d)("div",{onClick:this.retakePhoto,class:"retake"},"retake"),Object(u.d)("img",{onClick:this.takePhoto,alt:"submit",class:"shoot takePhoto",src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjEuMC4yLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDggNDg7IiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4Ij4KPHBhdGggc3R5bGU9ImZpbGw6I0M4RTZDOTsiIGQ9Ik00NCwyNGMwLDExLjA0NS04Ljk1NSwyMC0yMCwyMFM0LDM1LjA0NSw0LDI0UzEyLjk1NSw0LDI0LDRTNDQsMTIuOTU1LDQ0LDI0eiIvPgo8cGF0aCBzdHlsZT0iZmlsbDojNENBRjUwOyIgZD0iTTM0LjU4NiwxNC41ODZsLTEzLjU3LDEzLjU4NmwtNS42MDItNS41ODZsLTIuODI4LDIuODI4bDguNDM0LDguNDE0bDE2LjM5NS0xNi40MTRMMzQuNTg2LDE0LjU4NnoiLz4KPC9zdmc+Cg=="})):Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto,class:"shoot"}),Object(u.d)("div",{onClick:this.closeCamera,class:"close"},"close")):Object(u.d)("div",null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)("button",{onClick:this.openCamera},"Turn on camera"))):Object(u.d)(Rq,null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)(Rq,null,this.cameraStatus?Object(u.d)(Rq,null,Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto},"Capture"),Object(u.d)("button",{onClick:this.closeCamera,class:"cameraOff"},"Close camera")):Object(u.d)("button",{onClick:this.openCamera},"Open camera"))))}};_q.style='.controlPanel{height:35%;display:flex;justify-content:space-evenly;align-items:center;width:100%;max-width:450px;margin:auto}.buttons{width:100%;max-width:450px;display:flex;justify-content:space-evenly;align-items:center}button{width:164px;height:50px;border:none;margin-bottom:10px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;color:#fff;font-family:"Avenir", Helvetica, sans-serif;font-weight:600;font-size:16px;background-color:#4ca585;outline:none;cursor:pointer}button[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.cameraOff{background-color:#667a87}.cameraOff:hover{background-color:#92a8b5}.shoot{width:50px;height:50px;border-radius:25px;border:2px solid white;outline:none;background-color:red;position:fixed;left:calc(50% - 25px);bottom:10px}.shoot[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.close{position:fixed;right:6vw;top:2vh;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.retake{position:fixed;right:6vw;bottom:35px;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.takePhoto{width:46px;height:46px;bottom:20px;background:none}@media screen and (orientation:landscape) and (min-width: 360px){.shoot{bottom:calc(50% - 25px);left:auto;right:5vw}}'}.call(this,"/index.js",n(77),"/",n(36),n(241).Buffer,n(245).setImmediate)},function(e,t,n){"use strict";(function(e){ +/** @license See the LICENSE file. */(e,{width:this.videoElement.videoWidth,height:this.videoElement.videoHeight}),n=new hq,r=this.checkNumberFaces(t);return n.FACE_NOT_FOUND=!r&&0===t.length,n.TOO_MANY_FACES=!r&&t.length>this.MAX_NUMBER_FACES,r&&(wq&&(n.FACE_ANGLE_TOO_LARGE=!this.checkHeadRotation(t)),n.PROBABILITY_TOO_SMALL=!this.checkProbability(t),n.FACE_TOO_SMALL=!this.checkFaceSize(t),n.FACE_CLOSE_TO_BORDER=!this.checkFaceIndent(t)),n}autoCapturing(){kq.debug&&console.info(this.counterSuccessfulResults),this.counterSuccessfulResults>=this.DEFAULT_NUMBER_SUCCESSFUL_RESULTS_FOR_AUTO_CAPTURING&&(this.stream.autoCapturing(),this.counterSuccessfulResults=0)}checkNumberFaces(e){return e.length===this.MAX_NUMBER_FACES}checkProbability(e){return e[0].detection.score>+this.probabilityThreshold/100}checkFaceSize(e){const t=e[0].detection.box,{width:n,height:r,area:a}=t,{imageHeight:s,imageWidth:i}=e[0].detection,o=100/(s*i/a);return Math.min(n/this.videoRatio,r/this.videoRatio)>(this.isMobile?this.MIN_FACE_SIZE_FOR_MOBILE:this.MIN_FACE_SIZE_FOR_DESKTOP)&&o>(this.isMobile?this.MIN_OCCUPIED_SPACE_FOR_MOBILE:this.MIN_OCCUPIED_SPACE_FOR_DESKTOP)}checkFaceIndent(e){const t=e[0].detection.box,{imageHeight:n,imageWidth:r}=e[0].detection,{top:a,left:s,bottom:i,right:o}=t,u=s,l=r-o,c=n-i;return!(athis.MAX_ANGLE_TURN_HEAD||-1*a[2]>this.MAX_ANGLE_TURN_HEAD?this.headTurnCounter++:(this.counterSuccessfulHeadTurns++,this.counterSuccessfulHeadTurns>=5&&(this.headTurnCounter=0,this.counterSuccessfulHeadTurns=0)),this.headTurnCounter<=1}drawFaces(e){this.innerCanvas||this.createCanvasForDrawingMask(this.videoElement);const t=this.innerCanvas;if(!t)return console.error("no canvas for drawing");const n=t.getContext("2d");if(n){n.clearRect(0,0,t.width,t.height),n.font='small-caps 20px "Segoe UI"',n.fillStyle="white";for(const t of e){n.lineWidth=3,n.strokeStyle="deepskyblue",n.fillStyle="deepskyblue",n.globalAlpha=.6,n.beginPath(),n.rect(t.detection.box.x,t.detection.box.y,t.detection.box.width,t.detection.box.height),n.stroke(),n.globalAlpha=1,n.globalAlpha=.8,n.fillStyle="lightblue";const e=2;for(let r=0;r"+d("B",e.length),e)}function a(e){return h(">"+d("H",e.length),e)}function s(e){return h(">"+d("L",e.length),e)}function i(e,t,n){var i,o,u,l,c="",p="";if("Byte"==t)(i=e.length)<=4?p=r(e)+d("\0",4-i):(p=h(">L",[n]),c=r(e));else if("Short"==t)(i=e.length)<=2?p=a(e)+d("\0\0",2-i):(p=h(">L",[n]),c=a(e));else if("Long"==t)(i=e.length)<=1?p=s(e):(p=h(">L",[n]),c=s(e));else if("Ascii"==t)(i=(o=e+"\0").length)>4?(p=h(">L",[n]),c=o):p=o+d("\0",4-i);else if("Rational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">L",[u])+h(">L",[l]);else{i=e.length,o="";for(var f=0;fL",[u])+h(">L",[l])}p=h(">L",[n]),c=o}else if("SRational"==t){if("number"==typeof e[0])i=1,u=e[0],l=e[1],o=h(">l",[u])+h(">l",[l]);else{i=e.length,o="";for(f=0;fl",[u])+h(">l",[l])}p=h(">L",[n]),c=o}else"Undefined"==t&&((i=e.length)>4?(p=h(">L",[n]),c=e):p=e+d("\0",4-i));return[h(">L",[i]),p,c]}function o(e,t,n){var r,a=Object.keys(e).length,s=h(">H",[a]);r=["0th","1st"].indexOf(t)>-1?2+12*a+4:2+12*a;var o="",u="";for(var l in e)if("string"==typeof l&&(l=parseInt(l)),!("0th"==t&&[34665,34853].indexOf(l)>-1||"Exif"==t&&40965==l||"1st"==t&&[513,514].indexOf(l)>-1)){var c=e[l],p=h(">H",[l]),d=g[t][l].type,f=h(">H",[m[d]]);"number"==typeof c&&(c=[c]);var y=i(c,d,8+r+n+u.length);o+=p+f+y[0]+y[1],u+=y[2]}return[s+o,u]}function u(e){var t;if("ÿØ"==e.slice(0,2))t=function(e){for(var t,n=0;n-1)this.tiftag=e;else{if("Exif"!=e.slice(0,4))throw new Error("Given file is neither JPEG nor TIFF.");this.tiftag=e.slice(6)}}if(n.version="1.0.4",n.remove=function(e){var t=!1;if("ÿØ"==e.slice(0,2));else{if("data:image/jpeg;base64,"!=e.slice(0,23)&&"data:image/jpg;base64,"!=e.slice(0,22))throw new Error("Given data is not jpeg.");e=c(e.split(",")[1]),t=!0}var n=f(e).filter((function(e){return!("ÿá"==e.slice(0,2)&&"Exif\0\0"==e.slice(4,10))})).join("");return t&&(n="data:image/jpeg;base64,"+l(n)),n},n.insert=function(e,t){var n=!1;if("Exif\0\0"!=e.slice(0,6))throw new Error("Given data is not exif.");if("ÿØ"==t.slice(0,2));else{if("data:image/jpeg;base64,"!=t.slice(0,23)&&"data:image/jpg;base64,"!=t.slice(0,22))throw new Error("Given data is not jpeg.");t=c(t.split(",")[1]),n=!0}var r="ÿá"+h(">H",[e.length+2])+e,a=function(e,t){var n=!1,r=[];e.forEach((function(a,s){"ÿá"==a.slice(0,2)&&"Exif\0\0"==a.slice(4,10)&&(n?r.unshift(s):(e[s]=t,n=!0))})),r.forEach((function(t){e.splice(t,1)})),!n&&t&&(e=[e[0],t].concat(e.slice(1)));return e.join("")}(f(t),r);return n&&(a="data:image/jpeg;base64,"+l(a)),a},n.load=function(e){var t;if("string"!=typeof e)throw new Error("'load' gots invalid type argument.");if("ÿØ"==e.slice(0,2))t=e;else if("data:image/jpeg;base64,"==e.slice(0,23)||"data:image/jpg;base64,"==e.slice(0,22))t=c(e.split(",")[1]);else{if("Exif"!=e.slice(0,4))throw new Error("'load' gots invalid file data.");t=e.slice(6)}var n={"0th":{},Exif:{},GPS:{},Interop:{},"1st":{},thumbnail:null},r=new u(t);if(null===r.tiftag)return n;"II"==r.tiftag.slice(0,2)?r.endian_mark="<":r.endian_mark=">";var a=p(r.endian_mark+"L",r.tiftag.slice(4,8))[0];n["0th"]=r.get_ifd(a,"0th");var s=n["0th"].first_ifd_pointer;if(delete n["0th"].first_ifd_pointer,34665 in n["0th"]&&(a=n["0th"][34665],n.Exif=r.get_ifd(a,"Exif")),34853 in n["0th"]&&(a=n["0th"][34853],n.GPS=r.get_ifd(a,"GPS")),40965 in n.Exif&&(a=n.Exif[40965],n.Interop=r.get_ifd(a,"Interop")),"\0\0\0\0"!=s&&(a=p(r.endian_mark+"L",s)[0],n["1st"]=r.get_ifd(a,"1st"),513 in n["1st"]&&514 in n["1st"])){var i=n["1st"][513]+n["1st"][514],o=r.tiftag.slice(n["1st"][513],i);n.thumbnail=o}return n},n.dump=function(e){var t,r,a,s,i,u,l=(t=e,JSON.parse(JSON.stringify(t))),c=!1,p=!1,d=!1,g=!1;r="0th"in l?l["0th"]:{},"Exif"in l&&Object.keys(l.Exif).length||"Interop"in l&&Object.keys(l.Interop).length?(r[34665]=1,c=!0,a=l.Exif,"Interop"in l&&Object.keys(l.Interop).length?(a[40965]=1,d=!0,s=l.Interop):Object.keys(a).indexOf(n.ExifIFD.InteroperabilityTag.toString())>-1&&delete a[40965]):Object.keys(r).indexOf(n.ImageIFD.ExifTag.toString())>-1&&delete r[34665],"GPS"in l&&Object.keys(l.GPS).length?(r[n.ImageIFD.GPSTag]=1,p=!0,i=l.GPS):Object.keys(r).indexOf(n.ImageIFD.GPSTag.toString())>-1&&delete r[n.ImageIFD.GPSTag],"1st"in l&&"thumbnail"in l&&null!=l.thumbnail&&(g=!0,l["1st"][513]=1,l["1st"][514]=1,u=l["1st"]);var y,b,v,x=o(r,"0th",0),w=x[0].length+12*c+12*p+4+x[1].length,k="",S=0,I="",A=0,E="",N=0,C="";(c&&(S=(y=o(a,"Exif",w))[0].length+12*d+y[1].length),p&&(A=(I=o(i,"GPS",w+S).join("")).length),d)&&(N=(E=o(s,"Interop",w+S+A).join("")).length);if(g&&(b=o(u,"1st",w+S+A+N),(v=function(e){var t=f(e);for(;"ÿà"<=t[1].slice(0,2)&&t[1].slice(0,2)<="ÿï";)t=[t[0]].concat(t.slice(2));return t.join("")}(l.thumbnail)).length>64e3))throw new Error("Given thumbnail is too large. max 64kB");var T="",R="",_="",F="\0\0\0\0";if(c){var M=h(">L",[D=8+w]);T=h(">H",[34665])+h(">H",[m.Long])+h(">L",[1])+M}if(p){M=h(">L",[D=8+w+S]);R=h(">H",[34853])+h(">H",[m.Long])+h(">L",[1])+M}if(d){M=h(">L",[D=8+w+S+A]);_=h(">H",[40965])+h(">H",[m.Long])+h(">L",[1])+M}if(g){var D;F=h(">L",[D=8+w+S+A+N]);var O="\0\0\0\0"+h(">L",[D+b[0].length+24+4+b[1].length]),L="\0\0\0\0"+h(">L",[v.length]);C=b[0]+O+L+"\0\0\0\0"+b[1]+v}var P=x[0]+T+R+F+x[1];return c&&(k=y[0]+_+y[1]),"Exif\0\0MM\0*\0\0\0\b"+P+k+I+E+C},u.prototype={get_ifd:function(e,t){var n,r={},a=p(this.endian_mark+"H",this.tiftag.slice(e,e+2))[0],s=e+2;n=["0th","1st"].indexOf(t)>-1?"Image":t;for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("B",a),this.tiftag.slice(t,t+a))):n=p(this.endian_mark+d("B",a),s.slice(0,a));else if(2==r)a>4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a-1)):n=s.slice(0,a-1);else if(3==r)a>2?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("H",a),this.tiftag.slice(t,t+2*a))):n=p(this.endian_mark+d("H",a),s.slice(0,2*a));else if(4==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("L",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("L",a),s);else if(5==r)if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(var i=0;i4?(t=p(this.endian_mark+"L",s)[0],n=this.tiftag.slice(t,t+a)):n=s.slice(0,a);else if(9==r)a>1?(t=p(this.endian_mark+"L",s)[0],n=p(this.endian_mark+d("l",a),this.tiftag.slice(t,t+4*a))):n=p(this.endian_mark+d("l",a),s);else{if(10!=r)throw new Error("Exif might be wrong. Got incorrect value type to decode. type:"+r);if(t=p(this.endian_mark+"L",s)[0],a>1){n=[];for(i=0;i>2,s=(3&t)<<4|(n=e.charCodeAt(l++))>>4,i=(15&n)<<2|(r=e.charCodeAt(l++))>>6,o=63&r,isNaN(n)?i=o=64:isNaN(r)&&(o=64),u=u+c.charAt(a)+c.charAt(s)+c.charAt(i)+c.charAt(o);return u};if("undefined"!=typeof window&&"function"==typeof window.atob)var c=window.atob;if(void 0===c)c=function(e){var t,n,r,a,s,i,o="",u=0,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");u>4,n=(15&a)<<4|(s=l.indexOf(e.charAt(u++)))>>2,r=(3&s)<<6|(i=l.indexOf(e.charAt(u++))),o+=String.fromCharCode(t),64!=s&&(o+=String.fromCharCode(n)),64!=i&&(o+=String.fromCharCode(r));return o};function h(e,t){if(!(t instanceof Array))throw new Error("'pack' error. Got invalid type argument.");if(e.length-1!=t.length)throw new Error("'pack' error. "+(e.length-1)+" marks, "+t.length+" elements.");var n;if("<"==e[0])n=!0;else{if(">"!=e[0])throw new Error("");n=!1}for(var r="",a=1,s=null,i=null,o=null;i=e[a];){if("b"==i.toLowerCase()){if(s=t[a-1],"b"==i&&s<0&&(s+=256),s>255||s<0)throw new Error("'pack' error.");o=String.fromCharCode(s)}else if("H"==i){if((s=t[a-1])>65535||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}else{if("l"!=i.toLowerCase())throw new Error("'pack' error.");if(s=t[a-1],"l"==i&&s<0&&(s+=4294967296),s>4294967295||s<0)throw new Error("'pack' error.");o=String.fromCharCode(Math.floor(s/16777216))+String.fromCharCode(Math.floor(s%16777216/65536))+String.fromCharCode(Math.floor(s%65536/256))+String.fromCharCode(s%256),n&&(o=o.split("").reverse().join(""))}r+=o,a+=1}return r}function p(e,t){if("string"!=typeof t)throw new Error("'unpack' error. Got invalid type argument.");for(var n,r=0,a=1;a"!=e[0])throw new Error("'unpack' error.");n=!1}for(var s=[],i=0,o=1,u=null,l=null,c=null,h="";l=e[o];){if("b"==l.toLowerCase())c=1,u=(h=t.slice(i,i+c)).charCodeAt(0),"b"==l&&u>=128&&(u-=256);else if("H"==l)c=2,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=256*h.charCodeAt(0)+h.charCodeAt(1);else{if("l"!=l.toLowerCase())throw new Error("'unpack' error. "+l);c=4,h=t.slice(i,i+c),n&&(h=h.split("").reverse().join("")),u=16777216*h.charCodeAt(0)+65536*h.charCodeAt(1)+256*h.charCodeAt(2)+h.charCodeAt(3),"l"==l&&u>=2147483648&&(u-=4294967296)}s.push(u),i+=c,o+=1}return s}function d(e,t){for(var n="",r=0;rH",e.slice(t+2,t+4))[0]+2;if(n.push(e.slice(t,r)),(t=r)>=e.length)throw new Error("Wrong JPEG data.")}return n}var m={Byte:1,Ascii:2,Short:3,Long:4,Rational:5,Undefined:7,SLong:9,SRational:10},g={Image:{11:{name:"ProcessingSoftware",type:"Ascii"},254:{name:"NewSubfileType",type:"Long"},255:{name:"SubfileType",type:"Short"},256:{name:"ImageWidth",type:"Long"},257:{name:"ImageLength",type:"Long"},258:{name:"BitsPerSample",type:"Short"},259:{name:"Compression",type:"Short"},262:{name:"PhotometricInterpretation",type:"Short"},263:{name:"Threshholding",type:"Short"},264:{name:"CellWidth",type:"Short"},265:{name:"CellLength",type:"Short"},266:{name:"FillOrder",type:"Short"},269:{name:"DocumentName",type:"Ascii"},270:{name:"ImageDescription",type:"Ascii"},271:{name:"Make",type:"Ascii"},272:{name:"Model",type:"Ascii"},273:{name:"StripOffsets",type:"Long"},274:{name:"Orientation",type:"Short"},277:{name:"SamplesPerPixel",type:"Short"},278:{name:"RowsPerStrip",type:"Long"},279:{name:"StripByteCounts",type:"Long"},282:{name:"XResolution",type:"Rational"},283:{name:"YResolution",type:"Rational"},284:{name:"PlanarConfiguration",type:"Short"},290:{name:"GrayResponseUnit",type:"Short"},291:{name:"GrayResponseCurve",type:"Short"},292:{name:"T4Options",type:"Long"},293:{name:"T6Options",type:"Long"},296:{name:"ResolutionUnit",type:"Short"},301:{name:"TransferFunction",type:"Short"},305:{name:"Software",type:"Ascii"},306:{name:"DateTime",type:"Ascii"},315:{name:"Artist",type:"Ascii"},316:{name:"HostComputer",type:"Ascii"},317:{name:"Predictor",type:"Short"},318:{name:"WhitePoint",type:"Rational"},319:{name:"PrimaryChromaticities",type:"Rational"},320:{name:"ColorMap",type:"Short"},321:{name:"HalftoneHints",type:"Short"},322:{name:"TileWidth",type:"Short"},323:{name:"TileLength",type:"Short"},324:{name:"TileOffsets",type:"Short"},325:{name:"TileByteCounts",type:"Short"},330:{name:"SubIFDs",type:"Long"},332:{name:"InkSet",type:"Short"},333:{name:"InkNames",type:"Ascii"},334:{name:"NumberOfInks",type:"Short"},336:{name:"DotRange",type:"Byte"},337:{name:"TargetPrinter",type:"Ascii"},338:{name:"ExtraSamples",type:"Short"},339:{name:"SampleFormat",type:"Short"},340:{name:"SMinSampleValue",type:"Short"},341:{name:"SMaxSampleValue",type:"Short"},342:{name:"TransferRange",type:"Short"},343:{name:"ClipPath",type:"Byte"},344:{name:"XClipPathUnits",type:"Long"},345:{name:"YClipPathUnits",type:"Long"},346:{name:"Indexed",type:"Short"},347:{name:"JPEGTables",type:"Undefined"},351:{name:"OPIProxy",type:"Short"},512:{name:"JPEGProc",type:"Long"},513:{name:"JPEGInterchangeFormat",type:"Long"},514:{name:"JPEGInterchangeFormatLength",type:"Long"},515:{name:"JPEGRestartInterval",type:"Short"},517:{name:"JPEGLosslessPredictors",type:"Short"},518:{name:"JPEGPointTransforms",type:"Short"},519:{name:"JPEGQTables",type:"Long"},520:{name:"JPEGDCTables",type:"Long"},521:{name:"JPEGACTables",type:"Long"},529:{name:"YCbCrCoefficients",type:"Rational"},530:{name:"YCbCrSubSampling",type:"Short"},531:{name:"YCbCrPositioning",type:"Short"},532:{name:"ReferenceBlackWhite",type:"Rational"},700:{name:"XMLPacket",type:"Byte"},18246:{name:"Rating",type:"Short"},18249:{name:"RatingPercent",type:"Short"},32781:{name:"ImageID",type:"Ascii"},33421:{name:"CFARepeatPatternDim",type:"Short"},33422:{name:"CFAPattern",type:"Byte"},33423:{name:"BatteryLevel",type:"Rational"},33432:{name:"Copyright",type:"Ascii"},33434:{name:"ExposureTime",type:"Rational"},34377:{name:"ImageResources",type:"Byte"},34665:{name:"ExifTag",type:"Long"},34675:{name:"InterColorProfile",type:"Undefined"},34853:{name:"GPSTag",type:"Long"},34857:{name:"Interlace",type:"Short"},34858:{name:"TimeZoneOffset",type:"Long"},34859:{name:"SelfTimerMode",type:"Short"},37387:{name:"FlashEnergy",type:"Rational"},37388:{name:"SpatialFrequencyResponse",type:"Undefined"},37389:{name:"Noise",type:"Undefined"},37390:{name:"FocalPlaneXResolution",type:"Rational"},37391:{name:"FocalPlaneYResolution",type:"Rational"},37392:{name:"FocalPlaneResolutionUnit",type:"Short"},37393:{name:"ImageNumber",type:"Long"},37394:{name:"SecurityClassification",type:"Ascii"},37395:{name:"ImageHistory",type:"Ascii"},37397:{name:"ExposureIndex",type:"Rational"},37398:{name:"TIFFEPStandardID",type:"Byte"},37399:{name:"SensingMethod",type:"Short"},40091:{name:"XPTitle",type:"Byte"},40092:{name:"XPComment",type:"Byte"},40093:{name:"XPAuthor",type:"Byte"},40094:{name:"XPKeywords",type:"Byte"},40095:{name:"XPSubject",type:"Byte"},50341:{name:"PrintImageMatching",type:"Undefined"},50706:{name:"DNGVersion",type:"Byte"},50707:{name:"DNGBackwardVersion",type:"Byte"},50708:{name:"UniqueCameraModel",type:"Ascii"},50709:{name:"LocalizedCameraModel",type:"Byte"},50710:{name:"CFAPlaneColor",type:"Byte"},50711:{name:"CFALayout",type:"Short"},50712:{name:"LinearizationTable",type:"Short"},50713:{name:"BlackLevelRepeatDim",type:"Short"},50714:{name:"BlackLevel",type:"Rational"},50715:{name:"BlackLevelDeltaH",type:"SRational"},50716:{name:"BlackLevelDeltaV",type:"SRational"},50717:{name:"WhiteLevel",type:"Short"},50718:{name:"DefaultScale",type:"Rational"},50719:{name:"DefaultCropOrigin",type:"Short"},50720:{name:"DefaultCropSize",type:"Short"},50721:{name:"ColorMatrix1",type:"SRational"},50722:{name:"ColorMatrix2",type:"SRational"},50723:{name:"CameraCalibration1",type:"SRational"},50724:{name:"CameraCalibration2",type:"SRational"},50725:{name:"ReductionMatrix1",type:"SRational"},50726:{name:"ReductionMatrix2",type:"SRational"},50727:{name:"AnalogBalance",type:"Rational"},50728:{name:"AsShotNeutral",type:"Short"},50729:{name:"AsShotWhiteXY",type:"Rational"},50730:{name:"BaselineExposure",type:"SRational"},50731:{name:"BaselineNoise",type:"Rational"},50732:{name:"BaselineSharpness",type:"Rational"},50733:{name:"BayerGreenSplit",type:"Long"},50734:{name:"LinearResponseLimit",type:"Rational"},50735:{name:"CameraSerialNumber",type:"Ascii"},50736:{name:"LensInfo",type:"Rational"},50737:{name:"ChromaBlurRadius",type:"Rational"},50738:{name:"AntiAliasStrength",type:"Rational"},50739:{name:"ShadowScale",type:"SRational"},50740:{name:"DNGPrivateData",type:"Byte"},50741:{name:"MakerNoteSafety",type:"Short"},50778:{name:"CalibrationIlluminant1",type:"Short"},50779:{name:"CalibrationIlluminant2",type:"Short"},50780:{name:"BestQualityScale",type:"Rational"},50781:{name:"RawDataUniqueID",type:"Byte"},50827:{name:"OriginalRawFileName",type:"Byte"},50828:{name:"OriginalRawFileData",type:"Undefined"},50829:{name:"ActiveArea",type:"Short"},50830:{name:"MaskedAreas",type:"Short"},50831:{name:"AsShotICCProfile",type:"Undefined"},50832:{name:"AsShotPreProfileMatrix",type:"SRational"},50833:{name:"CurrentICCProfile",type:"Undefined"},50834:{name:"CurrentPreProfileMatrix",type:"SRational"},50879:{name:"ColorimetricReference",type:"Short"},50931:{name:"CameraCalibrationSignature",type:"Byte"},50932:{name:"ProfileCalibrationSignature",type:"Byte"},50934:{name:"AsShotProfileName",type:"Byte"},50935:{name:"NoiseReductionApplied",type:"Rational"},50936:{name:"ProfileName",type:"Byte"},50937:{name:"ProfileHueSatMapDims",type:"Long"},50938:{name:"ProfileHueSatMapData1",type:"Float"},50939:{name:"ProfileHueSatMapData2",type:"Float"},50940:{name:"ProfileToneCurve",type:"Float"},50941:{name:"ProfileEmbedPolicy",type:"Long"},50942:{name:"ProfileCopyright",type:"Byte"},50964:{name:"ForwardMatrix1",type:"SRational"},50965:{name:"ForwardMatrix2",type:"SRational"},50966:{name:"PreviewApplicationName",type:"Byte"},50967:{name:"PreviewApplicationVersion",type:"Byte"},50968:{name:"PreviewSettingsName",type:"Byte"},50969:{name:"PreviewSettingsDigest",type:"Byte"},50970:{name:"PreviewColorSpace",type:"Long"},50971:{name:"PreviewDateTime",type:"Ascii"},50972:{name:"RawImageDigest",type:"Undefined"},50973:{name:"OriginalRawFileDigest",type:"Undefined"},50974:{name:"SubTileBlockSize",type:"Long"},50975:{name:"RowInterleaveFactor",type:"Long"},50981:{name:"ProfileLookTableDims",type:"Long"},50982:{name:"ProfileLookTableData",type:"Float"},51008:{name:"OpcodeList1",type:"Undefined"},51009:{name:"OpcodeList2",type:"Undefined"},51022:{name:"OpcodeList3",type:"Undefined"}},Exif:{33434:{name:"ExposureTime",type:"Rational"},33437:{name:"FNumber",type:"Rational"},34850:{name:"ExposureProgram",type:"Short"},34852:{name:"SpectralSensitivity",type:"Ascii"},34855:{name:"ISOSpeedRatings",type:"Short"},34856:{name:"OECF",type:"Undefined"},34864:{name:"SensitivityType",type:"Short"},34865:{name:"StandardOutputSensitivity",type:"Long"},34866:{name:"RecommendedExposureIndex",type:"Long"},34867:{name:"ISOSpeed",type:"Long"},34868:{name:"ISOSpeedLatitudeyyy",type:"Long"},34869:{name:"ISOSpeedLatitudezzz",type:"Long"},36864:{name:"ExifVersion",type:"Undefined"},36867:{name:"DateTimeOriginal",type:"Ascii"},36868:{name:"DateTimeDigitized",type:"Ascii"},37121:{name:"ComponentsConfiguration",type:"Undefined"},37122:{name:"CompressedBitsPerPixel",type:"Rational"},37377:{name:"ShutterSpeedValue",type:"SRational"},37378:{name:"ApertureValue",type:"Rational"},37379:{name:"BrightnessValue",type:"SRational"},37380:{name:"ExposureBiasValue",type:"SRational"},37381:{name:"MaxApertureValue",type:"Rational"},37382:{name:"SubjectDistance",type:"Rational"},37383:{name:"MeteringMode",type:"Short"},37384:{name:"LightSource",type:"Short"},37385:{name:"Flash",type:"Short"},37386:{name:"FocalLength",type:"Rational"},37396:{name:"SubjectArea",type:"Short"},37500:{name:"MakerNote",type:"Undefined"},37510:{name:"UserComment",type:"Ascii"},37520:{name:"SubSecTime",type:"Ascii"},37521:{name:"SubSecTimeOriginal",type:"Ascii"},37522:{name:"SubSecTimeDigitized",type:"Ascii"},40960:{name:"FlashpixVersion",type:"Undefined"},40961:{name:"ColorSpace",type:"Short"},40962:{name:"PixelXDimension",type:"Long"},40963:{name:"PixelYDimension",type:"Long"},40964:{name:"RelatedSoundFile",type:"Ascii"},40965:{name:"InteroperabilityTag",type:"Long"},41483:{name:"FlashEnergy",type:"Rational"},41484:{name:"SpatialFrequencyResponse",type:"Undefined"},41486:{name:"FocalPlaneXResolution",type:"Rational"},41487:{name:"FocalPlaneYResolution",type:"Rational"},41488:{name:"FocalPlaneResolutionUnit",type:"Short"},41492:{name:"SubjectLocation",type:"Short"},41493:{name:"ExposureIndex",type:"Rational"},41495:{name:"SensingMethod",type:"Short"},41728:{name:"FileSource",type:"Undefined"},41729:{name:"SceneType",type:"Undefined"},41730:{name:"CFAPattern",type:"Undefined"},41985:{name:"CustomRendered",type:"Short"},41986:{name:"ExposureMode",type:"Short"},41987:{name:"WhiteBalance",type:"Short"},41988:{name:"DigitalZoomRatio",type:"Rational"},41989:{name:"FocalLengthIn35mmFilm",type:"Short"},41990:{name:"SceneCaptureType",type:"Short"},41991:{name:"GainControl",type:"Short"},41992:{name:"Contrast",type:"Short"},41993:{name:"Saturation",type:"Short"},41994:{name:"Sharpness",type:"Short"},41995:{name:"DeviceSettingDescription",type:"Undefined"},41996:{name:"SubjectDistanceRange",type:"Short"},42016:{name:"ImageUniqueID",type:"Ascii"},42032:{name:"CameraOwnerName",type:"Ascii"},42033:{name:"BodySerialNumber",type:"Ascii"},42034:{name:"LensSpecification",type:"Rational"},42035:{name:"LensMake",type:"Ascii"},42036:{name:"LensModel",type:"Ascii"},42037:{name:"LensSerialNumber",type:"Ascii"},42240:{name:"Gamma",type:"Rational"}},GPS:{0:{name:"GPSVersionID",type:"Byte"},1:{name:"GPSLatitudeRef",type:"Ascii"},2:{name:"GPSLatitude",type:"Rational"},3:{name:"GPSLongitudeRef",type:"Ascii"},4:{name:"GPSLongitude",type:"Rational"},5:{name:"GPSAltitudeRef",type:"Byte"},6:{name:"GPSAltitude",type:"Rational"},7:{name:"GPSTimeStamp",type:"Rational"},8:{name:"GPSSatellites",type:"Ascii"},9:{name:"GPSStatus",type:"Ascii"},10:{name:"GPSMeasureMode",type:"Ascii"},11:{name:"GPSDOP",type:"Rational"},12:{name:"GPSSpeedRef",type:"Ascii"},13:{name:"GPSSpeed",type:"Rational"},14:{name:"GPSTrackRef",type:"Ascii"},15:{name:"GPSTrack",type:"Rational"},16:{name:"GPSImgDirectionRef",type:"Ascii"},17:{name:"GPSImgDirection",type:"Rational"},18:{name:"GPSMapDatum",type:"Ascii"},19:{name:"GPSDestLatitudeRef",type:"Ascii"},20:{name:"GPSDestLatitude",type:"Rational"},21:{name:"GPSDestLongitudeRef",type:"Ascii"},22:{name:"GPSDestLongitude",type:"Rational"},23:{name:"GPSDestBearingRef",type:"Ascii"},24:{name:"GPSDestBearing",type:"Rational"},25:{name:"GPSDestDistanceRef",type:"Ascii"},26:{name:"GPSDestDistance",type:"Rational"},27:{name:"GPSProcessingMethod",type:"Undefined"},28:{name:"GPSAreaInformation",type:"Undefined"},29:{name:"GPSDateStamp",type:"Ascii"},30:{name:"GPSDifferential",type:"Short"},31:{name:"GPSHPositioningError",type:"Rational"}},Interop:{1:{name:"InteroperabilityIndex",type:"Ascii"}}};g["0th"]=g.Image,g["1st"]=g.Image,n.TAGS=g,n.ImageIFD={ProcessingSoftware:11,NewSubfileType:254,SubfileType:255,ImageWidth:256,ImageLength:257,BitsPerSample:258,Compression:259,PhotometricInterpretation:262,Threshholding:263,CellWidth:264,CellLength:265,FillOrder:266,DocumentName:269,ImageDescription:270,Make:271,Model:272,StripOffsets:273,Orientation:274,SamplesPerPixel:277,RowsPerStrip:278,StripByteCounts:279,XResolution:282,YResolution:283,PlanarConfiguration:284,GrayResponseUnit:290,GrayResponseCurve:291,T4Options:292,T6Options:293,ResolutionUnit:296,TransferFunction:301,Software:305,DateTime:306,Artist:315,HostComputer:316,Predictor:317,WhitePoint:318,PrimaryChromaticities:319,ColorMap:320,HalftoneHints:321,TileWidth:322,TileLength:323,TileOffsets:324,TileByteCounts:325,SubIFDs:330,InkSet:332,InkNames:333,NumberOfInks:334,DotRange:336,TargetPrinter:337,ExtraSamples:338,SampleFormat:339,SMinSampleValue:340,SMaxSampleValue:341,TransferRange:342,ClipPath:343,XClipPathUnits:344,YClipPathUnits:345,Indexed:346,JPEGTables:347,OPIProxy:351,JPEGProc:512,JPEGInterchangeFormat:513,JPEGInterchangeFormatLength:514,JPEGRestartInterval:515,JPEGLosslessPredictors:517,JPEGPointTransforms:518,JPEGQTables:519,JPEGDCTables:520,JPEGACTables:521,YCbCrCoefficients:529,YCbCrSubSampling:530,YCbCrPositioning:531,ReferenceBlackWhite:532,XMLPacket:700,Rating:18246,RatingPercent:18249,ImageID:32781,CFARepeatPatternDim:33421,CFAPattern:33422,BatteryLevel:33423,Copyright:33432,ExposureTime:33434,ImageResources:34377,ExifTag:34665,InterColorProfile:34675,GPSTag:34853,Interlace:34857,TimeZoneOffset:34858,SelfTimerMode:34859,FlashEnergy:37387,SpatialFrequencyResponse:37388,Noise:37389,FocalPlaneXResolution:37390,FocalPlaneYResolution:37391,FocalPlaneResolutionUnit:37392,ImageNumber:37393,SecurityClassification:37394,ImageHistory:37395,ExposureIndex:37397,TIFFEPStandardID:37398,SensingMethod:37399,XPTitle:40091,XPComment:40092,XPAuthor:40093,XPKeywords:40094,XPSubject:40095,PrintImageMatching:50341,DNGVersion:50706,DNGBackwardVersion:50707,UniqueCameraModel:50708,LocalizedCameraModel:50709,CFAPlaneColor:50710,CFALayout:50711,LinearizationTable:50712,BlackLevelRepeatDim:50713,BlackLevel:50714,BlackLevelDeltaH:50715,BlackLevelDeltaV:50716,WhiteLevel:50717,DefaultScale:50718,DefaultCropOrigin:50719,DefaultCropSize:50720,ColorMatrix1:50721,ColorMatrix2:50722,CameraCalibration1:50723,CameraCalibration2:50724,ReductionMatrix1:50725,ReductionMatrix2:50726,AnalogBalance:50727,AsShotNeutral:50728,AsShotWhiteXY:50729,BaselineExposure:50730,BaselineNoise:50731,BaselineSharpness:50732,BayerGreenSplit:50733,LinearResponseLimit:50734,CameraSerialNumber:50735,LensInfo:50736,ChromaBlurRadius:50737,AntiAliasStrength:50738,ShadowScale:50739,DNGPrivateData:50740,MakerNoteSafety:50741,CalibrationIlluminant1:50778,CalibrationIlluminant2:50779,BestQualityScale:50780,RawDataUniqueID:50781,OriginalRawFileName:50827,OriginalRawFileData:50828,ActiveArea:50829,MaskedAreas:50830,AsShotICCProfile:50831,AsShotPreProfileMatrix:50832,CurrentICCProfile:50833,CurrentPreProfileMatrix:50834,ColorimetricReference:50879,CameraCalibrationSignature:50931,ProfileCalibrationSignature:50932,AsShotProfileName:50934,NoiseReductionApplied:50935,ProfileName:50936,ProfileHueSatMapDims:50937,ProfileHueSatMapData1:50938,ProfileHueSatMapData2:50939,ProfileToneCurve:50940,ProfileEmbedPolicy:50941,ProfileCopyright:50942,ForwardMatrix1:50964,ForwardMatrix2:50965,PreviewApplicationName:50966,PreviewApplicationVersion:50967,PreviewSettingsName:50968,PreviewSettingsDigest:50969,PreviewColorSpace:50970,PreviewDateTime:50971,RawImageDigest:50972,OriginalRawFileDigest:50973,SubTileBlockSize:50974,RowInterleaveFactor:50975,ProfileLookTableDims:50981,ProfileLookTableData:50982,OpcodeList1:51008,OpcodeList2:51009,OpcodeList3:51022,NoiseProfile:51041},n.ExifIFD={ExposureTime:33434,FNumber:33437,ExposureProgram:34850,SpectralSensitivity:34852,ISOSpeedRatings:34855,OECF:34856,SensitivityType:34864,StandardOutputSensitivity:34865,RecommendedExposureIndex:34866,ISOSpeed:34867,ISOSpeedLatitudeyyy:34868,ISOSpeedLatitudezzz:34869,ExifVersion:36864,DateTimeOriginal:36867,DateTimeDigitized:36868,ComponentsConfiguration:37121,CompressedBitsPerPixel:37122,ShutterSpeedValue:37377,ApertureValue:37378,BrightnessValue:37379,ExposureBiasValue:37380,MaxApertureValue:37381,SubjectDistance:37382,MeteringMode:37383,LightSource:37384,Flash:37385,FocalLength:37386,SubjectArea:37396,MakerNote:37500,UserComment:37510,SubSecTime:37520,SubSecTimeOriginal:37521,SubSecTimeDigitized:37522,FlashpixVersion:40960,ColorSpace:40961,PixelXDimension:40962,PixelYDimension:40963,RelatedSoundFile:40964,InteroperabilityTag:40965,FlashEnergy:41483,SpatialFrequencyResponse:41484,FocalPlaneXResolution:41486,FocalPlaneYResolution:41487,FocalPlaneResolutionUnit:41488,SubjectLocation:41492,ExposureIndex:41493,SensingMethod:41495,FileSource:41728,SceneType:41729,CFAPattern:41730,CustomRendered:41985,ExposureMode:41986,WhiteBalance:41987,DigitalZoomRatio:41988,FocalLengthIn35mmFilm:41989,SceneCaptureType:41990,GainControl:41991,Contrast:41992,Saturation:41993,Sharpness:41994,DeviceSettingDescription:41995,SubjectDistanceRange:41996,ImageUniqueID:42016,CameraOwnerName:42032,BodySerialNumber:42033,LensSpecification:42034,LensMake:42035,LensModel:42036,LensSerialNumber:42037,Gamma:42240},n.GPSIFD={GPSVersionID:0,GPSLatitudeRef:1,GPSLatitude:2,GPSLongitudeRef:3,GPSLongitude:4,GPSAltitudeRef:5,GPSAltitude:6,GPSTimeStamp:7,GPSSatellites:8,GPSStatus:9,GPSMeasureMode:10,GPSDOP:11,GPSSpeedRef:12,GPSSpeed:13,GPSTrackRef:14,GPSTrack:15,GPSImgDirectionRef:16,GPSImgDirection:17,GPSMapDatum:18,GPSDestLatitudeRef:19,GPSDestLatitude:20,GPSDestLongitudeRef:21,GPSDestLongitude:22,GPSDestBearingRef:23,GPSDestBearing:24,GPSDestDistanceRef:25,GPSDestDistance:26,GPSProcessingMethod:27,GPSAreaInformation:28,GPSDateStamp:29,GPSDifferential:30,GPSHPositioningError:31},n.InteropIFD={InteroperabilityIndex:1},n.GPSHelper={degToDmsRational:function(e){var t=Math.abs(e),n=t%1*60,r=n%1*60;return[[Math.floor(t),1],[Math.floor(n),1],[Math.round(100*r),100]]},dmsRationalToDeg:function(e,t){var n="S"===t||"W"===t?-1:1;return(e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600)*n}},e.exports&&(t=e.exports=n),t.piexif=n}()}));const Iq=async(e,t,n)=>{const r=await(e=>new Promise((t,n)=>{const r=new FileReader;r.onloadend=()=>t(r.result),r.readAsDataURL(e)}))(e),a=Sq.load(r),s=(await navigator.mediaDevices.enumerateDevices()).filter(e=>"videoinput"===e.kind).map(e=>e.label),i={width:n.width,height:n.height,usedCamera:t.label,camerasOnDevice:s},o={"0th":Object.assign(Object.assign({},a["0th"]),{[Sq.ImageIFD.Model]:i.usedCamera,[Sq.ImageIFD.ImageWidth]:i.width,[Sq.ImageIFD.ImageLength]:i.height}),Exif:Object.assign(Object.assign({},a.Exif),{[Sq.ExifIFD.UserComment]:JSON.stringify(i)}),GPS:Object.assign({},a.GPS),Interop:Object.assign({},a.Interop),"1st":Object.assign({},a["1st"]),thumbnail:a.thumbnail},u=Sq.dump(o),l=Sq.insert(u,r);return await fetch(l).then(e=>e.blob())},Aq=new Image;var Eq;Aq.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwIiBoZWlnaHQ9IjIyNC45OTk5OTk5OTk5OTk5NyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIHZlcnNpb249IjEuMSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CiA8Zz4KICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+CiAgPGcgc3Ryb2tlPSJudWxsIiBpZD0iTGF5ZXIgMSI+CiAgIDxwYXRoIHN0cm9rZT0iIzRjYTU4NSIgaWQ9InN2Z18xIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJtNzQuMjc3NjUsNi45Mjc2MWMtMTEuMzc1OTcsLTAuMDE3MTMgLTMzLjU2NTUxLDUuMTA0MzMgLTQ2LjgxMzE2LDE5LjQ5NDgxYy02Ljc0MTQzLDcuMzIyOTIgLTE4LjEyMjY5LDIzLjA2OTY3IC0xOS4yNjc1OCw1OS42MTM2OWMtMC41MTkwNiwxNi41NjkyMSA1LjA0NTI0LDYwLjYyNTMzIDEwLjI0MDA2LDc2LjQ2Nzc1YzMuNjMxMywxMS4wNzQ2OCAyNy40ODIxNSw0My45MzM0OSA0NC40OTA2LDUzLjY4MjUxYzQuODA3OTEsMi43NTU0NiAxMS4yOTY2OCwyLjY4MjUxIDEyLjQyMjU1LDIuNjgyNTFjMS4xODg3NiwtMC4wODQ1NyA3LjMzMDI2LDAuMDcyOTQgMTIuMTM3NjUsLTIuNjgyNTFjMTcuMDA4NDYsLTkuNzQ5MDIgNDAuNDAyMDgsLTQyLjc2ODUxIDQ0LjQ5MDYsLTUzLjY4MjUxYzQuNDAwMzgsLTExLjc0NDkxIDEwLjc1OTY1LC01OS44OTg1NCAxMC4yNDAwNiwtNzYuNDY3NzVjLTEuMTQ0ODksLTM2LjU0NDAyIC0xMi41MjYxNSwtNTIuMjkwNzcgLTE5LjI2NzU4LC01OS42MTM2OWMtMTMuMjQ3NjUsLTE0LjM5MDQ4IC0zNS4zMDY2MywtMTkuNTI5MzMgLTQ2Ljc3ODI3LC0xOS40OTQ4MWMtMC43NDY4OCwwLjAwMjIyIC0xLjg5NDk0LDAgLTEuODk0OTQsMHoiIHN0cm9rZS13aWR0aD0iNy42NSIvPgogIDwvZz4KIDwvZz4KPC9zdmc+Cg==",function(e){e.JPEG="image/jpeg",e.PNG="image/png"}(Eq||(Eq={}));class Nq{constructor(e,t){this.showMask=!1,this.videoSize={width:0,height:0},this.streamPaused=!1,this.pauseStream=()=>{this.streamPaused=!0,this.videoElement.pause(),this.dropMask(),this.faceDetection&&kq.getInstance().stopDetector()},this.device=e,this.detector=kq.getInstance(this,e.isMobile,t)}setShowMask(e){this.showMask=e}setFaceDetection(e){this.faceDetection=e}setProbabilityThreshold(e){kq.getInstance().setProbabilityThreshold(e)}setCallbackErrors(e){this.callbackErrors=e}setCallbackAutoCapturing(e){this.callbackAutoCapturing=e}setCallbackFaceDetectionErrors(e){this.callbackFaceDetectionErrors=e}static getInstance(e,t){return Nq.instance||(Nq.instance=new Nq(e,t)),Nq.instance}returnErrors(e){this.callbackFaceDetectionErrors(e)}autoCapturing(){this.callbackAutoCapturing()}updateHtmlElements(e,t){this.videoElement=e,this.canvasElement=t,this.detector.updateHtmlElements(e)}async startDetection(){return this.detector.startDetector()}static orientationChange(){Nq.instance&&Nq.getInstance().drawMask()}startStream(e){this.stream&&this.stream.getTracks().forEach(e=>e.stop()),this.stream=e,"srcObject"in this.videoElement?this.videoElement.srcObject=e:this.videoElement.src=window.URL.createObjectURL(e),this.videoElement.play().then(()=>{this.streamPaused=!1,l.cameraReadyEvent(),this.drawMask(),this.faceDetection&&this.startDetection()})}async initStream(e){this.startStream(e)}async resumeStream(){this.streamPaused=!1,await this.videoElement.play(),this.drawMask(),this.faceDetection&&await kq.getInstance().startDetector()}updateCanvasSize(e){this.videoSize={width:this.videoElement.videoWidth,height:this.videoElement.videoHeight},e.width=this.videoSize.width,e.height=this.videoSize.height}dropStream(){this.streamStopped()||(this.stream.getTracks().forEach(e=>e.stop()),this.videoElement.srcObject=null),this.faceDetection&&kq.getInstance().stopDetector()}streamStopped(){return!(this.stream&&this.stream.getTracks&&this.stream.getTracks().length>0)}drawMask(){this.showMask&&!this.streamPaused&&setTimeout(()=>{this.updateCanvasSize(this.canvasElement);const e=this.canvasElement,t=e.getContext("2d"),n=e.width/Aq.width,r=e.height/Aq.height,a=Math.min(n,r),s=e.width{const t=document.createElement("canvas");t.width=this.videoElement.videoWidth,t.height=this.videoElement.videoHeight,e([await this.getFrame(t)])})}getFrame(e){return new Promise(t=>{e.getContext("2d").drawImage(this.videoElement,0,0,e.width,e.height),e.toBlob(e=>{if(e.type!==Eq.JPEG||this.device.isIos)t(e);else try{Iq(e,this.stream.getTracks()[0],this.videoSize).then(e=>t(e))}catch(n){t(e),this.callbackErrors(n,!1)}},Eq.PNG,1)})}}window.addEventListener("resize",Nq.orientationChange,!1),window.addEventListener("orientationchange",Nq.orientationChange,!1);let Cq=class{constructor(e){Object(u.f)(this,e),this.eventVideoStarted=Object(u.b)(this,"videoStarted",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.errorCameraEvent=Object(u.b)(this,"errorCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.callbackErrors=(e,t)=>{t?(this.errorCameraEvent.emit(e),this.eventCloseCamera.emit()):this.errorCameraEvent.emit(e)},this.callbackAutoCapturing=()=>{this.device.isMobile?this.eventMakePhoto.emit():this.eventTakePhoto.emit()},this.callbackFaceDetectionErrors=e=>{l.detectionError(e)}}componentDidLoad(){this.startStream()}render(){const e="camera "+(this.device.isMobile?"cameraMobile":"");return Object(u.d)("div",{class:e},Object(u.d)("video",{loop:!0,autoplay:!0,playsinline:!0,muted:!0,class:"cameraVideo",ref:e=>this.cameraVideo=e}),Object(u.d)("canvas",{class:"cameraCanvas",ref:e=>this.cameraCanvas=e}))}startStream(){Nq.instance||Nq.getInstance(this.device,this.modelPath);const e=Nq.getInstance();e.updateHtmlElements(this.cameraVideo,this.cameraCanvas),e.setShowMask(this.showMask),e.setFaceDetection(this.faceDetection),e.setProbabilityThreshold(this.probabilityThreshold),e.setCallbackErrors(this.callbackErrors),e.setCallbackAutoCapturing(this.callbackAutoCapturing),e.setCallbackFaceDetectionErrors(this.callbackFaceDetectionErrors)}};Cq.style=".camera{width:100%;height:100%;color:white;display:flex;align-items:center;justify-content:center;position:relative}.cameraCanvas{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);max-width:100%;max-height:100%;z-index:2}.cameraVideo{transform:scale(-1, 1);-webkit-transform:scale(-1, 1);z-index:1;position:absolute;max-width:100%;max-height:100%}.cameraMobile{position:fixed;top:0;left:0;background:black}.canvas-on-video{max-width:100%;max-height:100%;position:absolute;left:50%;top:50%;z-index:2;transform:scale(-1, 1)}";let Tq=class{constructor(e){Object(u.f)(this,e),this.updateState=()=>{this._showMask="true"===this.show_mask,this._disable_control_panel="true"===this.disable_control_panel,this._face_detection="true"===this.face_detection,this._stopAfterCapturing="true"===this.stop_after_capturing,this._probabilityThreshold=this.probability_threshold?+this.probability_threshold:50,this.url_logo=this.url_logo?this.url_logo:"data:image/png;charset=utf-8;base64,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",this._debug="true"===this.debug,kq.debug=this._debug},this.photoIsReady=e=>{this._stopAfterCapturing&&this.closeCamera(),l.captureEvent(e)},this.enableButton=()=>{this._resolutionOnPhoto=!0},this.updateState(),this._cameraStatus=0,this._resolutionOnPhoto=!1,this._device=xq(),this._mobile=this._device.isMobile,this._mobileMakePhoto=!1}videoStarted(){this._resolutionOnPhoto=!0}async retakePhoto(){this._mobileMakePhoto=!1,await Nq.getInstance().resumeStream()}takePhoto(){Nq.getInstance().takePhoto().then(e=>{this.photoIsReady(e)})}async openCamera(){this._cameraStatus=1;const e=this._device.isMac?{audio:!1,video:{facingMode:"user",width:1920,height:1080}}:{audio:!1,video:{facingMode:"user",width:{ideal:1920},height:{ideal:1080}}};setTimeout(()=>{navigator.mediaDevices.getUserMedia(e).then(e=>{Nq.getInstance().initStream(e),this.videoStarted()}).catch(e=>{this.closeCamera(),l.errorEvent(e)})},100)}async loadModels(e){await kq.initDetector(e.detail.path)}errorCamera(e){l.errorEvent(e.detail.message)}closeCamera(){Nq.instance&&(this._cameraStatus=0,l.closeEvent(),Nq.getInstance().dropStream(),this._mobileMakePhoto=!1,this._resolutionOnPhoto=!1)}makePhoto(){this._mobile?(this._mobileMakePhoto=!0,Nq.getInstance().pauseStream()):this.takePhoto()}componentWillLoad(){l.init(this.component),navigator.mediaDevices||l.errorEvent("This browser does not support webRTC")}componentDidUpdate(){this.updateState()}render(){let e;return e=this._cameraStatus?Object(u.d)("camera-comp",{class:"block",showMask:this._showMask,device:this._device,faceDetection:this._face_detection,modelPath:this.model_path,probabilityThreshold:this._probabilityThreshold}):Object(u.d)("img",{src:this.url_logo,class:"logo",style:this.logo_style?JSON.parse(this.logo_style):"",alt:"logo"}),Object(u.d)("div",{class:"cameraContainer",id:"cameraContainer",style:{backgroundColor:this.background_color}},Object(u.d)("div",{class:"wrapperCamera",style:{height:this._disable_control_panel?"100%":"65%"}},e),Object(u.d)("control-panel",{class:"block",mobile:this._mobile,disableControlPanel:this._disable_control_panel,cameraStatus:this._cameraStatus,resolutionOnPhoto:this._resolutionOnPhoto,mobileMakePhoto:this._mobileMakePhoto,faceDetection:this._face_detection}))}get component(){return Object(u.c)(this)}};Tq.style=".cameraContainer{width:100%;height:100%;z-index:10;position:relative;overflow:hidden}.logo{max-height:450px;max-width:450px}.wrapperCamera{display:flex;justify-content:center;align-items:center}.block{width:100%;height:100%}@media screen and (orientation: portrait){.history{width:100vw;font-size:20px}@media screen and (max-height: 667px){.logo{background-size:120px;max-height:120px;max-width:120px}}@media screen and (min-height: 668px) and (max-height: 812px){.logo{background-size:140px;max-height:140px;max-width:140px}}@media (max-height: 667px){.logo{margin:0 auto}}}@media screen and (max-height: 414px){.logo{background-size:140px;max-height:140px;max-width:140px}}";const Rq=(e,t)=>[...t];let _q=class{constructor(e){Object(u.f)(this,e),this.eventOpenCamera=Object(u.b)(this,"openCamera",7),this.eventCloseCamera=Object(u.b)(this,"closeCamera",7),this.eventMakePhoto=Object(u.b)(this,"makePhoto",7),this.eventRetakePhoto=Object(u.b)(this,"retakePhoto",7),this.eventTakePhoto=Object(u.b)(this,"takePhoto",7),this.makePhoto=()=>{this.eventMakePhoto.emit()},this.closeCamera=()=>{this.eventCloseCamera.emit()},this.openCamera=()=>{this.eventOpenCamera.emit()},this.takePhoto=()=>{this.eventTakePhoto.emit()},this.retakePhoto=async()=>{this.eventRetakePhoto.emit()}}render(){return Object(u.d)("div",{class:"controlPanel"+(this.mobile?" controlMobile":"")},this.mobile?Object(u.d)("div",null,this.cameraStatus?Object(u.d)("div",null,this.mobileMakePhoto?Object(u.d)("div",null,Object(u.d)("div",{onClick:this.retakePhoto,class:"retake"},"retake"),Object(u.d)("img",{onClick:this.takePhoto,alt:"use this photo",class:"shoot takePhoto",src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjEuMC4yLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDggNDg7IiB4bWw6c3BhY2U9InByZXNlcnZlIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4Ij4KPHBhdGggc3R5bGU9ImZpbGw6I0M4RTZDOTsiIGQ9Ik00NCwyNGMwLDExLjA0NS04Ljk1NSwyMC0yMCwyMFM0LDM1LjA0NSw0LDI0UzEyLjk1NSw0LDI0LDRTNDQsMTIuOTU1LDQ0LDI0eiIvPgo8cGF0aCBzdHlsZT0iZmlsbDojNENBRjUwOyIgZD0iTTM0LjU4NiwxNC41ODZsLTEzLjU3LDEzLjU4NmwtNS42MDItNS41ODZsLTIuODI4LDIuODI4bDguNDM0LDguNDE0bDE2LjM5NS0xNi40MTRMMzQuNTg2LDE0LjU4NnoiLz4KPC9zdmc+Cg=="})):Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto,class:"shoot"}),Object(u.d)("div",{onClick:this.closeCamera,class:"close"},"close")):Object(u.d)("div",null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)("button",{onClick:this.openCamera},"Turn on camera"))):Object(u.d)(Rq,null,this.disableControlPanel?Object(u.d)("div",null):Object(u.d)(Rq,null,this.cameraStatus?Object(u.d)(Rq,null,Object(u.d)("button",{onClick:this.makePhoto,disabled:!this.resolutionOnPhoto},"Capture"),Object(u.d)("button",{onClick:this.closeCamera,class:"cameraOff"},"Close camera")):Object(u.d)("button",{onClick:this.openCamera},"Open camera"))))}};_q.style='.controlPanel{height:35%;display:flex;justify-content:space-evenly;align-items:center;width:100%;max-width:450px;margin:auto}.buttons{width:100%;max-width:450px;display:flex;justify-content:space-evenly;align-items:center}button{width:164px;height:50px;border:none;margin-bottom:10px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;color:#fff;font-family:"Avenir", Helvetica, sans-serif;font-weight:600;font-size:16px;background-color:#4ca585;outline:none;cursor:pointer}button[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.cameraOff{background-color:#667a87}.cameraOff:hover{background-color:#92a8b5}.shoot{width:50px;height:50px;border-radius:25px;border:2px solid white;outline:none;background-color:red;position:fixed;left:calc(50% - 25px);bottom:10px}.shoot[disabled]{background-color:#aaa;cursor:not-allowed;pointer-events:none}.close{position:fixed;right:6vw;top:2vh;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.retake{position:fixed;right:6vw;bottom:35px;text-shadow:0 0 4px black;color:white;font-size:20px;user-select:none}.takePhoto{width:46px;height:46px;bottom:20px;background:none}@media screen and (orientation:landscape) and (min-width: 360px){.shoot{bottom:calc(50% - 25px);left:auto;right:5vw}}'}.call(this,"/index.js",n(77),"/",n(36),n(241).Buffer,n(245).setImmediate)},function(e,t,n){"use strict";(function(e){ /*! * The buffer module from node.js, for the browser. * From f41a558d69fbefb82edaa3b7db0d568471ebffb8 Mon Sep 17 00:00:00 2001 From: Amir Reavis-Bey Date: Wed, 10 Apr 2024 15:22:35 -0400 Subject: [PATCH 6/6] undo enable biometrics in review apps --- config/application.yml.default.docker | 2 -- 1 file changed, 2 deletions(-) diff --git a/config/application.yml.default.docker b/config/application.yml.default.docker index 9a65e6e024b..8167648fad3 100644 --- a/config/application.yml.default.docker +++ b/config/application.yml.default.docker @@ -13,8 +13,6 @@ production: database_worker_jobs_host: ['env', 'POSTGRES_WORKER_HOST'] database_worker_jobs_password: ['env', 'POSTGRES_WORKER_PASSWORD'] database_worker_jobs_sslmode: ['env', 'POSTGRES_WORKER_SSLMODE'] - doc_auth_selfie_capture_enabled: true - doc_auth_selfie_desktop_test_mode: true hmac_fingerprinter_key: a2c813d4dca919340866ba58063e4072adc459b767a74cf2666d5c1eef3861db26708e7437abde1755eb24f4034386b0fea1850a1cb7e56bff8fae3cc6ade96c rails_mailer_previews_enabled: true redis_throttle_url: ['env', 'REDIS_THROTTLE_URL']