exifreader
Advanced tools
Comparing version 3.6.0 to 3.6.1
@@ -15,3 +15,3 @@ const path = require('path'); | ||
console.log('Installing ExifReader custom build dependencies...'); | ||
execSync('npm install --no-optional --no-package-lock'); | ||
execSync('npm install --no-optional --no-package-lock --no-save @babel/core @babel/preset-env @babel/register babel-loader cross-env string-replace-loader webpack webpack-cli', {stdio: 'inherit'}); | ||
console.log('Done.'); | ||
@@ -18,0 +18,0 @@ } |
@@ -1,2 +0,2 @@ | ||
!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.ExifReader=n():e.ExifReader=n()}("undefined"!=typeof self?self:this,(function(){return function(e){var n={};function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var i in e)t.d(r,i,function(n){return e[n]}.bind(null,i));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=1)}([function(module,__webpack_exports__,__webpack_require__){"use strict";function get(){if("undefined"!=typeof DOMParser)return DOMParser;try{return eval("require")("xmldom").DOMParser}catch(e){return}}__webpack_exports__.a={get:get}},function(e,n,t){"use strict";function r(e,n,t){for(var r=[],i=0;i<t&&n+i<e.byteLength;i++)r.push(e.getUint8(n+i,!1));return o(r).join("")}function i(e,n,t){for(var r=[],i=0;i<t&&n+i<e.byteLength;i+=2)r.push(e.getUint16(n+i));return o(r).join("")}function o(e){return e.map((function(e){return String.fromCharCode(e)}))}function a(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];for(var i=0,o=t;i<o.length;i++){var a=o[i];for(var u in a)e[u]=a[u]}return e}function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}t.r(n),t.d(n,"errors",(function(){return Rn})),t.d(n,"load",(function(){return Nn})),t.d(n,"loadView",(function(){return jn}));var f=function(){function e(n){if(function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),function(e){return"object"!==u(e)||void 0===e.length||void 0===e.readUInt8||void 0===e.readUInt16LE||void 0===e.readUInt16BE||void 0===e.readUInt32LE||void 0===e.readUInt32BE||void 0===e.readInt32LE||void 0===e.readInt32BE}(n))throw new Error("DataView: Passed buffer type is unsupported.");this.buffer=n,this.byteLength=this.buffer.length}var n,t,r;return n=e,(t=[{key:"getUint8",value:function(e){return this.buffer.readUInt8(e)}},{key:"getUint16",value:function(e,n){return n?this.buffer.readUInt16LE(e):this.buffer.readUInt16BE(e)}},{key:"getUint32",value:function(e,n){return n?this.buffer.readUInt32LE(e):this.buffer.readUInt32BE(e)}},{key:"getInt32",value:function(e,n){return n?this.buffer.readInt32LE(e):this.buffer.readInt32BE(e)}}])&&c(n.prototype,t),r&&c(n,r),e}();var s=!0,l=!0,d=!0,p=!0,m=!0,g=!0,h=!0,v=!0,y=!0,S=!0,b={BIG_ENDIAN:19789,LITTLE_ENDIAN:18761,getByteOrder:function(e,n){if(18761===e.getUint16(n))return 18761;if(19789===e.getUint16(n))return 19789;throw new Error("Illegal byte order value. Faulty image.")}};var C={isTiffFile:function(e){return e.byteLength>=4&&function(e){var n=e.getUint16(0)===b.LITTLE_ENDIAN;return 42===e.getUint16(2,n)}(e)},findTiffOffsets:function(){if(l)return{hasAppMarkers:!0,tiffHeaderOffset:0};return{}}};var I={isJpegFile:function(e){return e.byteLength>=2&&65496===e.getUint16(0,!1)},findJpegOffsets:function(e){var n,t,r,i,o,a,u,c=2;for(;c+4+5<=e.byteLength;){if(s&&P(e,c))t=c+2;else if(s&&U(e,c))r=c+2;else if(l&&D(e,c))n=e.getUint16(c+2,!1),i=c+10;else if(p&&T(e,c))a||(a=[]),n=e.getUint16(c+2,!1),a.push(F(c,n));else if(p&&M(e,c))a||(a=[]),n=e.getUint16(c+2,!1),a.push(x(c,n));else if(d&&L(e,c))n=e.getUint16(c+2,!1),o=c+18;else if(m&&O(e,c)){n=e.getUint16(c+2,!1);var f=c+18,g=n-16,h=e.getUint8(c+A,!1),v=e.getUint8(c+w,!1);u||(u=[]),u.push({offset:f,length:g,chunkNumber:h,chunksTotal:v})}else{if(!k(e,c))break;n=e.getUint16(c+2,!1)}c+=2+n}return{hasAppMarkers:c>2,fileDataOffset:t||r,tiffHeaderOffset:i,iptcDataOffset:o,xmpChunks:a,iccChunks:u}}},A=4+"ICC_PROFILE\0".length,w=A+1;function P(e,n){return 65472===e.getUint16(n,!1)}function U(e,n){return 65474===e.getUint16(n,!1)}function O(e,n){var t="ICC_PROFILE\0".length;return 65506===e.getUint16(n,!1)&&"ICC_PROFILE\0"===r(e,n+4,t)}function D(e,n){var t="Exif".length;return 65505===e.getUint16(n,!1)&&"Exif"===r(e,n+4,t)&&0===e.getUint8(n+4+t,!1)}function T(e,n){return 65505===e.getUint16(n,!1)&&function(e,n){return"http://ns.adobe.com/xap/1.0/\0"===r(e,n+4,"http://ns.adobe.com/xap/1.0/\0".length)}(e,n)}function M(e,n){return 65505===e.getUint16(n,!1)&&function(e,n){return"http://ns.adobe.com/xmp/extension/\0"===r(e,n+4,"http://ns.adobe.com/xmp/extension/\0".length)}(e,n)}function F(e,n){return{dataOffset:e+33,length:n-31}}function x(e,n){return{dataOffset:e+79,length:n-77}}function L(e,n){var t="Photoshop 3.0".length;return 65517===e.getUint16(n,!1)&&"Photoshop 3.0"===r(e,n+4,t)&&0===e.getUint8(n+4+t,!1)}function k(e,n){var t=e.getUint16(n,!1);return t>=65504&&t<=65519||65534===t||65472===t||65474===t||65476===t||65499===t||65501===t||65498===t}var R={isPngFile:function(e){return"PNG\r\n\n"===r(e,0,"PNG\r\n\n".length)},findPngOffsets:function(e){var n={hasAppMarkers:!1},t="PNG\r\n\n".length;for(;t+4+4<=e.byteLength;)N(e,t)?(n.hasAppMarkers=!0,n.pngHeaderOffset=t+8):p&&E(e,t)&&(n.hasAppMarkers=!0,n.xmpChunks=[{dataOffset:t+8+"XML:com.adobe.xmp".length,length:e.getUint32(t+0)-"XML:com.adobe.xmp".length}]),t+=e.getUint32(t+0)+4+4+4;return n}};function N(e,n){return"IHDR"===r(e,n+4,4)}function E(e,n){return"iTXt"===r(e,n+4,4)&&"XML:com.adobe.xmp"===r(e,n+8,"XML:com.adobe.xmp".length)}var j={isHeicFile:function(e){var n=r(e,4+"ftyp".length,4);return"ftyp"===r(e,4,"ftyp".length)&&-1!==["heic","heix","hevc","hevx","heim","heis","hevm","hevs","mif1"].indexOf(n)},findHeicOffsets:function(e){if(l){var n=function(e){var n=0;for(;n+4+4<=e.byteLength;){var t=G(e,n);if(t>=8)if("meta"===r(e,n+4,4))return{offset:n,length:t};n+=t}return{offset:void 0,length:0}}(e),t=n.offset,i=n.length;if(void 0===t)return{hasAppMarkers:!1};var o=Math.min(t+i,e.byteLength),a=function(e,n,t){var i={exifItemOffset:void 0,ilocOffset:void 0};for(;n+4<=t&&(!i.exifItemOffset||!i.ilocOffset);)"Exif"===r(e,n,4)?i.exifItemOffset=n+-4:"iloc"===r(e,n,4)&&(i.ilocOffset=n),n++;return i}(e,t,o),u=a.exifItemOffset,c=a.ilocOffset;if(void 0===u||void 0===c)return{hasAppMarkers:!1};var f=function(e,n,t,r){if(n+2>r)return;var i=e.getUint16(n);t+=12;for(;t+16<=r;){if(e.getUint16(t)===i){var o=e.getUint32(t+8);if(o+4<=e.byteLength){var a=e.getUint32(o);return o+(a+4)}}t+=16}return}(e,u,c,o);return{hasAppMarkers:void 0!==f,tiffHeaderOffset:f}}return{hasAppMarkers:!1}}};function G(e,n){var t=e.getUint32(n);return function(e){return 0===e}(t)?e.byteLength-n:function(e){return 1===e}(t)&&function(e,n){return 0===e.getUint32(n+8)}(e,n)?e.getUint32(n+12):t}var B={parseAppMarkers:function(e){if(h&&C.isTiffFile(e))return C.findTiffOffsets();if(v&&I.isJpegFile(e))return I.findJpegOffsets(e);if(y&&R.isPngFile(e))return R.findPngOffsets(e);if(S&&j.isHeicFile(e))return j.findHeicOffsets(e);throw new Error("Invalid image format")}};var z={1:1,2:1,3:2,4:4,5:8,7:1,9:4,10:8,13:4},H={BYTE:1,ASCII:2,SHORT:3,LONG:4,RATIONAL:5,UNDEFINED:7,SLONG:9,SRATIONAL:10,IFD:13},W={getAsciiValue:function(e){return e.map((function(e){return String.fromCharCode(e)}))},getByteAt:V,getAsciiAt:function(e,n){return e.getUint8(n)},getShortAt:function(e,n,t){return e.getUint16(n,t===b.LITTLE_ENDIAN)},getLongAt:_,getRationalAt:function(e,n,t){return[_(e,n,t),_(e,n+4,t)]},getUndefinedAt:function(e,n){return V(e,n)},getSlongAt:X,getSrationalAt:function(e,n,t){return[X(e,n,t),X(e,n+4,t)]},getIfdPointerAt:function(e,n,t){return _(e,n,t)},typeSizes:z,tagTypes:H,getTypeSize:function(e){if(void 0===H[e])throw new Error("No such type found.");return z[H[e]]}};function V(e,n){return e.getUint8(n)}function _(e,n,t){return e.getUint32(n,t===b.LITTLE_ENDIAN)}function X(e,n,t){return e.getInt32(n,t===b.LITTLE_ENDIAN)}var K={LightSource:function(e){return 1===e?"Daylight":2===e?"Fluorescent":3===e?"Tungsten (incandescent light)":4===e?"Flash":9===e?"Fine weather":10===e?"Cloudy weather":11===e?"Shade":12===e?"Daylight fluorescent (D 5700 – 7100K)":13===e?"Day white fluorescent (N 4600 – 5400K)":14===e?"Cool white fluorescent (W 3900 – 4500K)":15===e?"White fluorescent (WW 3200 – 3700K)":17===e?"Standard light A":18===e?"Standard light B":19===e?"Standard light C":20===e?"D55":21===e?"D65":22===e?"D75":23===e?"D50":24===e?"ISO studio tungsten":255===e?"Other light source":"Unknown"}};function Y(e){return e.map((function(e){return String.fromCharCode(e)})).join("")}function J(e){if(e.length>=8){var n=Y(e.slice(0,8));if("ASCII\0\0\0"===n)return Y(e.slice(8));if("JIS\0\0\0\0\0"===n)return"[JIS encoded text]";if("UNICODE\0"===n)return"[Unicode encoded text]";if("\0\0\0\0\0\0\0\0"===n)return"[Undefined encoding]"}return"Undefined"}function q(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var t=[],r=!0,i=!1,o=void 0;try{for(var a,u=e[Symbol.iterator]();!(r=(a=u.next()).done)&&(t.push(a.value),!n||t.length!==n);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==u.return||u.return()}finally{if(i)throw o}}return t}(e,n)||function(e,n){if(!e)return;if("string"==typeof e)return $(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return $(e,n)}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function Z(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var t=[],r=!0,i=!1,o=void 0;try{for(var a,u=e[Symbol.iterator]();!(r=(a=u.next()).done)&&(t.push(a.value),!n||t.length!==n);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==u.return||u.return()}finally{if(i)throw o}}return t}(e,n)||function(e,n){if(!e)return;if("string"==typeof e)return Q(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Q(e,n)}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Q(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var ee={0:{name:"GPSVersionID",description:function(e){return 2===e[0]&&2===e[1]&&0===e[2]&&0===e[3]?"Version 2.2":"Unknown"}},1:{name:"GPSLatitudeRef",description:function(e){var n=e.join("");return"N"===n?"North latitude":"S"===n?"South latitude":"Unknown"}},2:{name:"GPSLatitude",description:function(e){return e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600}},3:{name:"GPSLongitudeRef",description:function(e){var n=e.join("");return"E"===n?"East longitude":"W"===n?"West longitude":"Unknown"}},4:{name:"GPSLongitude",description:function(e){return e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600}},5:{name:"GPSAltitudeRef",description:function(e){return 0===e?"Sea level":1===e?"Sea level reference (negative value)":"Unknown"}},6:{name:"GPSAltitude",description:function(e){return e[0]/e[1]+" m"}},7:{name:"GPSTimeStamp",description:function(e){return e.map((function(e){var n=Z(e,2),t=n[0]/n[1];return/^\d(\.|$)/.test("".concat(t))?"0".concat(t):t})).join(":")}},8:"GPSSatellites",9:{name:"GPSStatus",description:function(e){var n=e.join("");return"A"===n?"Measurement in progress":"V"===n?"Measurement Interoperability":"Unknown"}},10:{name:"GPSMeasureMode",description:function(e){var n=e.join("");return"2"===n?"2-dimensional measurement":"3"===n?"3-dimensional measurement":"Unknown"}},11:"GPSDOP",12:{name:"GPSSpeedRef",description:function(e){var n=e.join("");return"K"===n?"Kilometers per hour":"M"===n?"Miles per hour":"N"===n?"Knots":"Unknown"}},13:"GPSSpeed",14:{name:"GPSTrackRef",description:function(e){var n=e.join("");return"T"===n?"True direction":"M"===n?"Magnetic direction":"Unknown"}},15:"GPSTrack",16:{name:"GPSImgDirectionRef",description:function(e){var n=e.join("");return"T"===n?"True direction":"M"===n?"Magnetic direction":"Unknown"}},17:"GPSImgDirection",18:"GPSMapDatum",19:{name:"GPSDestLatitudeRef",description:function(e){var n=e.join("");return"N"===n?"North latitude":"S"===n?"South latitude":"Unknown"}},20:{name:"GPSDestLatitude",description:function(e){return e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600}},21:{name:"GPSDestLongitudeRef",description:function(e){var n=e.join("");return"E"===n?"East longitude":"W"===n?"West longitude":"Unknown"}},22:{name:"GPSDestLongitude",description:function(e){return e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600}},23:{name:"GPSDestBearingRef",description:function(e){var n=e.join("");return"T"===n?"True direction":"M"===n?"Magnetic direction":"Unknown"}},24:"GPSDestBearing",25:{name:"GPSDestDistanceRef",description:function(e){var n=e.join("");return"K"===n?"Kilometers":"M"===n?"Miles":"N"===n?"Knots":"Unknown"}},26:"GPSDestDistance",27:{name:"GPSProcessingMethod",description:J},28:{name:"GPSAreaInformation",description:J},29:"GPSDateStamp",30:{name:"GPSDifferential",description:function(e){return 0===e?"Measurement without differential correction":1===e?"Differential correction applied":"Unknown"}},31:"GPSHPositioningError"},ne={1:"InteroperabilityIndex",2:{name:"InteroperabilityVersion",description:function(e){return Y(e)}},4096:"RelatedImageFileFormat",4097:"RelatedImageWidth",4098:"RelatedImageHeight"},te=a({},{11:"ProcessingSoftware",254:{name:"SubfileType",description:function(e){return{0:"Full-resolution image",1:"Reduced-resolution image",2:"Single page of multi-page image",3:"Single page of multi-page reduced-resolution image",4:"Transparency mask",5:"Transparency mask of reduced-resolution image",6:"Transparency mask of multi-page image",7:"Transparency mask of reduced-resolution multi-page image",65537:"Alternate reduced-resolution image",4294967295:"Invalid"}[e]||"Unknown"}},255:{name:"OldSubfileType",description:function(e){return{0:"Full-resolution image",1:"Reduced-resolution image",2:"Single page of multi-page image"}[e]||"Unknown"}},256:"ImageWidth",257:"ImageLength",258:"BitsPerSample",259:"Compression",262:"PhotometricInterpretation",263:{name:"Thresholding",description:function(e){return{1:"No dithering or halftoning",2:"Ordered dither or halfton",3:"Randomized dither"}[e]||"Unknown"}},264:"CellWidth",265:"CellLength",266:{name:"FillOrder",description:function(e){return{1:"Normal",2:"Reversed"}[e]||"Unknown"}},269:"DocumentName",270:"ImageDescription",271:"Make",272:"Model",273:"StripOffsets",274:{name:"Orientation",description:function(e){return 1===e?"top-left":2===e?"top-right":3===e?"bottom-right":4===e?"bottom-left":5===e?"left-top":6===e?"right-top":7===e?"right-bottom":8===e?"left-bottom":"Undefined"}},277:"SamplesPerPixel",278:"RowsPerStrip",279:"StripByteCounts",280:"MinSampleValue",281:"MaxSampleValue",282:{name:"XResolution",description:function(e){return""+Math.round(e[0]/e[1])}},283:{name:"YResolution",description:function(e){return""+Math.round(e[0]/e[1])}},284:"PlanarConfiguration",285:"PageName",286:{name:"XPosition",description:function(e){return""+Math.round(e[0]/e[1])}},287:{name:"YPosition",description:function(e){return""+Math.round(e[0]/e[1])}},290:{name:"GrayResponseUnit",description:function(e){return{1:"0.1",2:"0.001",3:"0.0001",4:"1e-05",5:"1e-06"}[e]||"Unknown"}},296:{name:"ResolutionUnit",description:function(e){return 2===e?"inches":3===e?"centimeters":"Unknown"}},297:"PageNumber",301:"TransferFunction",305:"Software",306:"DateTime",315:"Artist",316:"HostComputer",317:"Predictor",318:{name:"WhitePoint",description:function(e){return e.map((function(e){return"".concat(e[0],"/").concat(e[1])})).join(", ")}},319:{name:"PrimaryChromaticities",description:function(e){return e.map((function(e){return"".concat(e[0],"/").concat(e[1])})).join(", ")}},321:"HalftoneHints",322:"TileWidth",323:"TileLength",330:"A100DataOffset",332:{name:"InkSet",description:function(e){return{1:"CMYK",2:"Not CMYK"}[e]||"Unknown"}},337:"TargetPrinter",338:{name:"ExtraSamples",description:function(e){return{0:"Unspecified",1:"Associated Alpha",2:"Unassociated Alpha"}[e]||"Unknown"}},339:{name:"SampleFormat",description:function(e){var n={1:"Unsigned",2:"Signed",3:"Float",4:"Undefined",5:"Complex int",6:"Complex float"};return Array.isArray(e)?e.map((function(e){return n[e]||"Unknown"})).join(", "):"Unknown"}},513:"JPEGInterchangeFormat",514:"JPEGInterchangeFormatLength",529:{name:"YCbCrCoefficients",description:function(e){return e.map((function(e){return""+e[0]/e[1]})).join("/")}},530:"YCbCrSubSampling",531:{name:"YCbCrPositioning",description:function(e){return 1===e?"centered":2===e?"co-sited":"undefined "+e}},532:{name:"ReferenceBlackWhite",description:function(e){return e.map((function(e){return""+e[0]/e[1]})).join(", ")}},700:"ApplicationNotes",18246:"Rating",18249:"RatingPercent",33432:{name:"Copyright",description:function(e){return e.join("; ")}},33550:"PixelScale",33723:"IPTC-NAA",33920:"IntergraphMatrix",33922:"ModelTiePoint",34118:"SEMInfo",34264:"ModelTransform",34377:"PhotoshopSettings",34665:"Exif IFD Pointer",34675:"ICC_Profile",34735:"GeoTiffDirectory",34736:"GeoTiffDoubleParams",34737:"GeoTiffAsciiParams",34853:"GPS Info IFD Pointer",40091:"XPTitle",40092:"XPComment",40093:"XPAuthor",40094:"XPKeywords",40095:"XPSubject",42112:"GDALMetadata",42113:"GDALNoData",50341:"PrintIM",50707:"DNGBackwardVersion",50708:"UniqueCameraModel",50709:"LocalizedCameraModel",50721:"ColorMatrix1",50722:"ColorMatrix2",50723:"CameraCalibration1",50724:"CameraCalibration2",50725:"ReductionMatrix1",50726:"ReductionMatrix2",50727:"AnalogBalance",50728:"AsShotNeutral",50729:"AsShotWhiteXY",50730:"BaselineExposure",50731:"BaselineNoise",50732:"BaselineSharpness",50734:"LinearResponseLimit",50735:"CameraSerialNumber",50736:"DNGLensInfo",50739:"ShadowScale",50741:{name:"MakerNoteSafety",description:function(e){return{0:"Unsafe",1:"Safe"}[e]||"Unknown"}},50778:{name:"CalibrationIlluminant1",description:K.LightSource},50779:{name:"CalibrationIlluminant2",description:K.LightSource},50781:"RawDataUniqueID",50827:"OriginalRawFileName",50828:"OriginalRawFileData",50831:"AsShotICCProfile",50832:"AsShotPreProfileMatrix",50833:"CurrentICCProfile",50834:"CurrentPreProfileMatrix",50879:"ColorimetricReference",50885:"SRawType",50898:"PanasonicTitle",50899:"PanasonicTitle2",50931:"CameraCalibrationSig",50932:"ProfileCalibrationSig",50933:"ProfileIFD",50934:"AsShotProfileName",50936:"ProfileName",50937:"ProfileHueSatMapDims",50938:"ProfileHueSatMapData1",50939:"ProfileHueSatMapData2",50940:"ProfileToneCurve",50941:{name:"ProfileEmbedPolicy",description:function(e){return{0:"Allow Copying",1:"Embed if Used",2:"Never Embed",3:"No Restrictions"}[e]||"Unknown"}},50942:"ProfileCopyright",50964:"ForwardMatrix1",50965:"ForwardMatrix2",50966:"PreviewApplicationName",50967:"PreviewApplicationVersion",50968:"PreviewSettingsName",50969:"PreviewSettingsDigest",50970:{name:"PreviewColorSpace",description:function(e){return{1:"Gray Gamma 2.2",2:"sRGB",3:"Adobe RGB",4:"ProPhoto RGB"}[e]||"Unknown"}},50971:"PreviewDateTime",50972:"RawImageDigest",50973:"OriginalRawFileDigest",50981:"ProfileLookTableDims",50982:"ProfileLookTableData",51043:"TimeCodes",51044:"FrameRate",51058:"TStop",51081:"ReelName",51089:"OriginalDefaultFinalSize",51090:"OriginalBestQualitySize",51091:"OriginalDefaultCropSize",51105:"CameraLabel",51107:{name:"ProfileHueSatMapEncoding",description:function(e){return{0:"Linear",1:"sRGB"}[e]||"Unknown"}},51108:{name:"ProfileLookTableEncoding",description:function(e){return{0:"Linear",1:"sRGB"}[e]||"Unknown"}},51109:"BaselineExposureOffset",51110:{name:"DefaultBlackRender",description:function(e){return{0:"Auto",1:"None"}[e]||"Unknown"}},51111:"NewRawImageDigest",51112:"RawToPreviewGain"},{33434:{name:"ExposureTime",description:function(e){return 0!==e[0]?"1/".concat(Math.round(e[1]/e[0])):"0/".concat(e[1])}},33437:{name:"FNumber",description:function(e){return"f/".concat(e[0]/e[1])}},34850:{name:"ExposureProgram",description:function(e){return 0===e?"Undefined":1===e?"Manual":2===e?"Normal program":3===e?"Aperture priority":4===e?"Shutter priority":5===e?"Creative program":6===e?"Action program":7===e?"Portrait mode":8===e?"Landscape mode":9===e?"Bulb":"Unknown"}},34852:"SpectralSensitivity",34855:"ISOSpeedRatings",34856:{name:"OECF",description:function(){return"[Raw OECF table data]"}},34858:"TimeZoneOffset",34859:"SelfTimerMode",34864:{name:"SensitivityType",description:function(e){return{1:"Standard Output Sensitivity",2:"Recommended Exposure Index",3:"ISO Speed",4:"Standard Output Sensitivity and Recommended Exposure Index",5:"Standard Output Sensitivity and ISO Speed",6:"Recommended Exposure Index and ISO Speed",7:"Standard Output Sensitivity, Recommended Exposure Index and ISO Speed"}[e]||"Unknown"}},34865:"StandardOutputSensitivity",34866:"RecommendedExposureIndex",34867:"ISOSpeed",34868:"ISOSpeedLatitudeyyy",34869:"ISOSpeedLatitudezzz",36864:{name:"ExifVersion",description:function(e){return Y(e)}},36867:"DateTimeOriginal",36868:"DateTimeDigitized",36873:"GooglePlusUploadCode",36880:"OffsetTime",36881:"OffsetTimeOriginal",36882:"OffsetTimeDigitized",37121:{name:"ComponentsConfiguration",description:function(e){return e.map((function(e){return 49===e?"Y":50===e?"Cb":51===e?"Cr":52===e?"R":53===e?"G":54===e?"B":void 0})).join("")}},37122:"CompressedBitsPerPixel",37377:{name:"ShutterSpeedValue",description:function(e){return"1/".concat(Math.round(Math.pow(2,e[0]/e[1])))}},37378:{name:"ApertureValue",description:function(e){return Math.pow(Math.sqrt(2),e[0]/e[1]).toFixed(2)}},37379:"BrightnessValue",37380:"ExposureBiasValue",37381:{name:"MaxApertureValue",description:function(e){return Math.pow(Math.sqrt(2),e[0]/e[1]).toFixed(2)}},37382:{name:"SubjectDistance",description:function(e){return e[0]/e[1]+" m"}},37383:{name:"MeteringMode",description:function(e){return 1===e?"Average":2===e?"CenterWeightedAverage":3===e?"Spot":4===e?"MultiSpot":5===e?"Pattern":6===e?"Partial":255===e?"Other":"Unknown"}},37384:{name:"LightSource",description:K.LightSource},37385:{name:"Flash",description:function(e){return 0===e?"Flash did not fire":1===e?"Flash fired":5===e?"Strobe return light not detected":7===e?"Strobe return light detected":9===e?"Flash fired, compulsory flash mode":13===e?"Flash fired, compulsory flash mode, return light not detected":15===e?"Flash fired, compulsory flash mode, return light detected":16===e?"Flash did not fire, compulsory flash mode":24===e?"Flash did not fire, auto mode":25===e?"Flash fired, auto mode":29===e?"Flash fired, auto mode, return light not detected":31===e?"Flash fired, auto mode, return light detected":32===e?"No flash function":65===e?"Flash fired, red-eye reduction mode":69===e?"Flash fired, red-eye reduction mode, return light not detected":71===e?"Flash fired, red-eye reduction mode, return light detected":73===e?"Flash fired, compulsory flash mode, red-eye reduction mode":77===e?"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected":79===e?"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected":89===e?"Flash fired, auto mode, red-eye reduction mode":93===e?"Flash fired, auto mode, return light not detected, red-eye reduction mode":95===e?"Flash fired, auto mode, return light detected, red-eye reduction mode":"Unknown"}},37386:{name:"FocalLength",description:function(e){return e[0]/e[1]+" mm"}},37393:"ImageNumber",37394:{name:"SecurityClassification",description:function(e){return{C:"Confidential",R:"Restricted",S:"Secret",T:"Top Secret",U:"Unclassified"}[e]||"Unknown"}},37395:"ImageHistory",37396:{name:"SubjectArea",description:function(e){return 2===e.length?"Location; X: ".concat(e[0],", Y: ").concat(e[1]):3===e.length?"Circle; X: ".concat(e[0],", Y: ").concat(e[1],", diameter: ").concat(e[2]):4===e.length?"Rectangle; X: ".concat(e[0],", Y: ").concat(e[1],", width: ").concat(e[2],", height: ").concat(e[3]):"Unknown"}},37500:{name:"MakerNote",description:function(){return"[Raw maker note data]"}},37510:{name:"UserComment",description:J},37520:"SubSecTime",37521:"SubSecTimeOriginal",37522:"SubSecTimeDigitized",37888:{name:"AmbientTemperature",description:function(e){return e[0]/e[1]+" °C"}},37889:{name:"Humidity",description:function(e){return e[0]/e[1]+" %"}},37890:{name:"Pressure",description:function(e){return e[0]/e[1]+" hPa"}},37891:{name:"WaterDepth",description:function(e){return e[0]/e[1]+" m"}},37892:{name:"Acceleration",description:function(e){return e[0]/e[1]+" mGal"}},37893:{name:"CameraElevationAngle",description:function(e){return e[0]/e[1]+" °"}},40960:{name:"FlashpixVersion",description:function(e){return e.map((function(e){return String.fromCharCode(e)})).join("")}},40961:{name:"ColorSpace",description:function(e){return 1===e?"sRGB":65535===e?"Uncalibrated":"Unknown"}},40962:"PixelXDimension",40963:"PixelYDimension",40964:"RelatedSoundFile",40965:"Interoperability IFD Pointer",41483:"FlashEnergy",41484:{name:"SpatialFrequencyResponse",description:function(){return"[Raw SFR table data]"}},41486:"FocalPlaneXResolution",41487:"FocalPlaneYResolution",41488:{name:"FocalPlaneResolutionUnit",description:function(e){return 2===e?"inches":3===e?"centimeters":"Unknown"}},41492:{name:"SubjectLocation",description:function(e){var n=q(e,2),t=n[0],r=n[1];return"X: ".concat(t,", Y: ").concat(r)}},41493:"ExposureIndex",41495:{name:"SensingMethod",description:function(e){return 1===e?"Undefined":2===e?"One-chip color area sensor":3===e?"Two-chip color area sensor":4===e?"Three-chip color area sensor":5===e?"Color sequential area sensor":7===e?"Trilinear sensor":8===e?"Color sequential linear sensor":"Unknown"}},41728:{name:"FileSource",description:function(e){return 3===e?"DSC":"Unknown"}},41729:{name:"SceneType",description:function(e){return 1===e?"A directly photographed image":"Unknown"}},41730:{name:"CFAPattern",description:function(){return"[Raw CFA pattern table data]"}},41985:{name:"CustomRendered",description:function(e){return 0===e?"Normal process":1===e?"Custom process":"Unknown"}},41986:{name:"ExposureMode",description:function(e){return 0===e?"Auto exposure":1===e?"Manual exposure":2===e?"Auto bracket":"Unknown"}},41987:{name:"WhiteBalance",description:function(e){return 0===e?"Auto white balance":1===e?"Manual white balance":"Unknown"}},41988:{name:"DigitalZoomRatio",description:function(e){return 0===e[0]?"Digital zoom was not used":""+e[0]/e[1]}},41989:{name:"FocalLengthIn35mmFilm",description:function(e){return 0===e?"Unknown":e}},41990:{name:"SceneCaptureType",description:function(e){return 0===e?"Standard":1===e?"Landscape":2===e?"Portrait":3===e?"Night scene":"Unknown"}},41991:{name:"GainControl",description:function(e){return 0===e?"None":1===e?"Low gain up":2===e?"High gain up":3===e?"Low gain down":4===e?"High gain down":"Unknown"}},41992:{name:"Contrast",description:function(e){return 0===e?"Normal":1===e?"Soft":2===e?"Hard":"Unknown"}},41993:{name:"Saturation",description:function(e){return 0===e?"Normal":1===e?"Low saturation":2===e?"High saturation":"Unknown"}},41994:{name:"Sharpness",description:function(e){return 0===e?"Normal":1===e?"Soft":2===e?"Hard":"Unknown"}},41995:{name:"DeviceSettingDescription",description:function(){return"[Raw device settings table data]"}},41996:{name:"SubjectDistanceRange",description:function(e){return 1===e?"Macro":2===e?"Close view":3===e?"Distant view":"Unknown"}},42016:"ImageUniqueID",42032:"CameraOwnerName",42033:"BodySerialNumber",42034:{name:"LensSpecification",description:function(e){var n="".concat(e[0][0]/e[0][1],"-").concat(e[1][0]/e[1][1]," mm");return 0===e[3][1]?"".concat(n," f/?"):"".concat(n," f/").concat(1/(e[2][1]/e[2][1]/(e[3][0]/e[3][1])))}},42035:"LensMake",42036:"LensModel",42037:"LensSerialNumber",42080:{name:"CompositeImage",description:function(e){return{1:"Not a Composite Image",2:"General Composite Image",3:"Composite Image Captured While Shooting"}[e]||"Unknown"}},42081:"SourceImageNumberOfCompositeImage",42082:"SourceExposureTimesOfCompositeImage",42240:"Gamma",59932:"Padding",59933:"OffsetSchema",65e3:"OwnerName",65001:"SerialNumber",65002:"Lens",65100:"RawFile",65101:"Converter",65102:"WhiteBalance",65105:"Exposure",65106:"Shadows",65107:"Brightness",65108:"Contrast",65109:"Saturation",65110:"Sharpness",65111:"Smoothness",65112:"MoireFilter"}),re={"0th":te,exif:te,gps:ee,interoperability:ne};function ie(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,n){if(!e)return;if("string"==typeof e)return oe(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return oe(e,n)}(e))){var n=0,t=function(){};return{s:t,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:t}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i,o=!0,a=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw i}}}}function oe(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var ae={1:W.getByteAt,2:W.getAsciiAt,3:W.getShortAt,4:W.getLongAt,5:W.getRationalAt,7:W.getUndefinedAt,9:W.getSlongAt,10:W.getSrationalAt,13:W.getIfdPointerAt},ue={read:function(e,n){var t=b.getByteOrder(e,n),r=function(e,n,t){return le(e,"0th",n,function(e,n,t){return n+W.getLongAt(e,n+4,t)}(e,n,t),t)}(e,n,t);return r=se(r=fe(r=ce(r,e,n,t),e,n,t),e,n,t)}};function ce(e,n,t,r){return void 0!==e["Exif IFD Pointer"]?a(e,le(n,"exif",t,t+e["Exif IFD Pointer"].value,r)):e}function fe(e,n,t,r){return void 0!==e["GPS Info IFD Pointer"]?a(e,le(n,"gps",t,t+e["GPS Info IFD Pointer"].value,r)):e}function se(e,n,t,r){return void 0!==e["Interoperability IFD Pointer"]?a(e,le(n,"interoperability",t,t+e["Interoperability IFD Pointer"].value,r)):e}function le(e,n,t,r,i){var o=W.getTypeSize("SHORT"),a={},u=function(e,n,t){if(n+W.getTypeSize("SHORT")<=e.byteLength)return W.getShortAt(e,n,t);return 0}(e,r,i);r+=o;for(var c=0;c<u&&!(r+12>e.byteLength);c++){var f=de(e,n,t,r,i);void 0!==f&&(a[f.name]={id:f.id,value:f.value,description:f.description}),r+=12}if(r<e.byteLength-W.getTypeSize("LONG")){var s=W.getLongAt(e,r,i);0!==s&&(a.Thumbnail=le(e,n,t,t+s,i))}return a}function de(e,n,t,r,i){var o,a=W.getTypeSize("SHORT"),u=a+W.getTypeSize("SHORT"),c=u+W.getTypeSize("LONG"),f=W.getShortAt(e,r,i),s=W.getShortAt(e,r+a,i),l=W.getLongAt(e,r+u,i);if(void 0!==W.typeSizes[s]){if(function(e,n){return W.typeSizes[e]*n<=W.getTypeSize("LONG")}(s,l))o=pe(e,r+c,s,l,i);else{var d=W.getLongAt(e,r+c,i);o=function(e,n,t,r,i){return n+t+W.typeSizes[r]*i<=e.byteLength}(e,t,d,s,l)?pe(e,t+d,s,l,i):"<faulty value>"}if(s===W.tagTypes.ASCII&&(o=function(e){try{return e.map((function(e){return decodeURIComponent(escape(e))}))}catch(n){return e}}(o=function(e){var n,t=[],r=0,i=ie(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;"\0"!==o?(void 0===t[r]&&(t[r]=""),t[r]+=o):r++}}catch(e){i.e(e)}finally{i.f()}return t}(o))),void 0!==re[n][f]){var p,m;if(void 0!==re[n][f].name&&void 0!==re[n][f].description){p=re[n][f].name;try{m=re[n][f].description(o)}catch(e){m=me(o)}}else s===W.tagTypes.RATIONAL||s===W.tagTypes.SRATIONAL?(p=re[n][f],m=""+o[0]/o[1]):(p=re[n][f],m=me(o));return{id:f,name:p,value:o,description:m}}return{id:f,name:"undefined-".concat(f),value:o,description:o}}}function pe(e,n,t,r,i){for(var o=[],a=0;a<r;a++)o.push(ae[t](e,n,i)),n+=W.typeSizes[t];return t===W.tagTypes.ASCII?o=W.getAsciiValue(o):1===o.length&&(o=o[0]),o}function me(e){return e instanceof Array?e.join(", "):e}var ge={read:function(e,n){var t=function(e,n){return W.getShortAt(e,n)}(e,n),r=function(e,n,t){if(8>t)return;var r=W.getByteAt(e,n+7);return{value:r,description:""+r}}(e,n,t);return{"Bits Per Sample":he(e,n,t),"Image Height":ve(e,n,t),"Image Width":ye(e,n,t),"Color Components":r,Subsampling:r&&Se(e,n,r.value,t)}}};function he(e,n,t){if(!(3>t)){var r=W.getByteAt(e,n+2);return{value:r,description:""+r}}}function ve(e,n,t){if(!(5>t)){var r=W.getShortAt(e,n+3);return{value:r,description:"".concat(r,"px")}}}function ye(e,n,t){if(!(7>t)){var r=W.getShortAt(e,n+5);return{value:r,description:"".concat(r,"px")}}}function Se(e,n,t,r){if(!(8+3*t>r)){for(var i=[],o=0;o<t;o++){var a=n+8+3*o;i.push([W.getByteAt(e,a),W.getByteAt(e,a+1),W.getByteAt(e,a+2)])}return{value:i,description:i.length>1?be(i)+Ce(i):""}}}function be(e){var n={1:"Y",2:"Cb",3:"Cr",4:"I",5:"Q"};return e.map((function(e){return n[e[0]]})).join("")}function Ce(e){var n={17:"4:4:4 (1 1)",18:"4:4:0 (1 2)",20:"4:4:1 (1 4)",33:"4:2:2 (2 1)",34:"4:2:0 (2 2)",36:"4:2:1 (2 4)",65:"4:1:1 (4 1)",66:"4:1:0 (4 2)"};return 0===e.length||void 0===e[0][1]||void 0===n[e[0][1]]?"":n[e[0][1]]}var Ie={iptc:{256:{name:"Model Version",description:function(e){return((e[0]<<8)+e[1]).toString()}},261:{name:"Destination",repeatable:!0},276:{name:"File Format",description:function(e){return((e[0]<<8)+e[1]).toString()}},278:{name:"File Format Version",description:function(e){return((e[0]<<8)+e[1]).toString()}},286:"Service Identifier",296:"Envelope Number",306:"Product ID",316:"Envelope Priority",326:{name:"Date Sent",description:Ae},336:{name:"Time Sent",description:we},346:{name:"Coded Character Set",description:Pe,encoding_name:Pe},356:"UNO",376:{name:"ARM Identifier",description:function(e){return((e[0]<<8)+e[1]).toString()}},378:{name:"ARM Version",description:function(e){return((e[0]<<8)+e[1]).toString()}},512:{name:"Record Version",description:function(e){return((e[0]<<8)+e[1]).toString()}},515:"Object Type Reference",516:"Object Attribute Reference",517:"Object Name",519:"Edit Status",520:{name:"Editorial Update",description:function(e){return"01"===Y(e)?"Additional Language":"Unknown"}},522:"Urgency",524:{name:"Subject Reference",repeatable:!0,description:function(e){var n=Y(e).split(":");return n[2]+(n[3]?"/"+n[3]:"")+(n[4]?"/"+n[4]:"")}},527:"Category",532:{name:"Supplemental Category",repeatable:!0},534:"Fixture Identifier",537:{name:"Keywords",repeatable:!0},538:{name:"Content Location Code",repeatable:!0},539:{name:"Content Location Name",repeatable:!0},542:"Release Date",547:"Release Time",549:"Expiration Date",550:"Expiration Time",552:"Special Instructions",554:{name:"Action Advised",description:function(e){var n=Y(e);return"01"===n?"Object Kill":"02"===n?"Object Replace":"03"===n?"Object Append":"04"===n?"Object Reference":"Unknown"}},557:{name:"Reference Service",repeatable:!0},559:{name:"Reference Date",repeatable:!0},562:{name:"Reference Number",repeatable:!0},567:{name:"Date Created",description:Ae},572:{name:"Time Created",description:we},574:{name:"Digital Creation Date",description:Ae},575:{name:"Digital Creation Time",description:we},577:"Originating Program",582:"Program Version",587:{name:"Object Cycle",description:function(e){var n=Y(e);return"a"===n?"morning":"p"===n?"evening":"b"===n?"both":"Unknown"}},592:{name:"By-line",repeatable:!0},597:{name:"By-line Title",repeatable:!0},602:"City",604:"Sub-location",607:"Province/State",612:"Country/Primary Location Code",613:"Country/Primary Location Name",615:"Original Transmission Reference",617:"Headline",622:"Credit",627:"Source",628:"Copyright Notice",630:{name:"Contact",repeatable:!0},632:"Caption/Abstract",634:{name:"Writer/Editor",repeatable:!0},637:{name:"Rasterized Caption",description:function(e){return e}},642:"Image Type",643:{name:"Image Orientation",description:function(e){var n=Y(e);return"P"===n?"Portrait":"L"===n?"Landscape":"S"===n?"Square":"Unknown"}},647:"Language Identifier",662:{name:"Audio Type",description:function(e){var n=Y(e),t=n.charAt(0),r=n.charAt(1),i="";return"1"===t?i+="Mono":"2"===t&&(i+="Stereo"),"A"===r?i+=", actuality":"C"===r?i+=", question and answer session":"M"===r?i+=", music, transmitted by itself":"Q"===r?i+=", response to a question":"R"===r?i+=", raw sound":"S"===r?i+=", scener":"V"===r?i+=", voicer":"W"===r&&(i+=", wrap"),""!==i?i:n}},663:{name:"Audio Sampling Rate",description:function(e){return parseInt(Y(e),10)+" Hz"}},664:{name:"Audio Sampling Resolution",description:function(e){var n=parseInt(Y(e),10);return n+(1===n?" bit":" bits")}},665:{name:"Audio Duration",description:function(e){var n=Y(e);return n.length>=6?n.substr(0,2)+":"+n.substr(2,2)+":"+n.substr(4,2):n}},666:"Audio Outcue",698:"Short Document ID",699:"Unique Document ID",700:"Owner ID",712:{name:function(e){return 2===e.length?"ObjectData Preview File Format":"Record 2 destination"},description:function(e){if(2===e.length){var n=(e[0]<<8)+e[1];return 0===n?"No ObjectData":1===n?"IPTC-NAA Digital Newsphoto Parameter Record":2===n?"IPTC7901 Recommended Message Format":3===n?"Tagged Image File Format (Adobe/Aldus Image data)":4===n?"Illustrator (Adobe Graphics data)":5===n?"AppleSingle (Apple Computer Inc)":6===n?"NAA 89-3 (ANPA 1312)":7===n?"MacBinary II":8===n?"IPTC Unstructured Character Oriented File Format (UCOFF)":9===n?"United Press International ANPA 1312 variant":10===n?"United Press International Down-Load Message":11===n?"JPEG File Interchange (JFIF)":12===n?"Photo-CD Image-Pac (Eastman Kodak)":13===n?"Microsoft Bit Mapped Graphics File [*.BMP]":14===n?"Digital Audio File [*.WAV] (Microsoft & Creative Labs)":15===n?"Audio plus Moving Video [*.AVI] (Microsoft)":16===n?"PC DOS/Windows Executable Files [*.COM][*.EXE]":17===n?"Compressed Binary File [*.ZIP] (PKWare Inc)":18===n?"Audio Interchange File Format AIFF (Apple Computer Inc)":19===n?"RIFF Wave (Microsoft Corporation)":20===n?"Freehand (Macromedia/Aldus)":21===n?'Hypertext Markup Language "HTML" (The Internet Society)':22===n?"MPEG 2 Audio Layer 2 (Musicom), ISO/IEC":23===n?"MPEG 2 Audio Layer 3, ISO/IEC":24===n?"Portable Document File (*.PDF) Adobe":25===n?"News Industry Text Format (NITF)":26===n?"Tape Archive (*.TAR)":27===n?"Tidningarnas Telegrambyrå NITF version (TTNITF DTD)":28===n?"Ritzaus Bureau NITF version (RBNITF DTD)":29===n?"Corel Draw [*.CDR]":"Unknown format ".concat(n)}return Y(e)}},713:{name:"ObjectData Preview File Format Version",description:function(e,n){var t={"00":{"00":"1"},"01":{"01":"1","02":"2","03":"3","04":"4"},"02":{"04":"4"},"03":{"01":"5.0","02":"6.0"},"04":{"01":"1.40"},"05":{"01":"2"},"06":{"01":"1"},11:{"01":"1.02"},20:{"01":"3.1","02":"4.0","03":"5.0","04":"5.5"},21:{"02":"2.0"}},r=Y(e);if(n["ObjectData Preview File Format"]){var i=Y(n["ObjectData Preview File Format"].value);if(t[i]&&t[i][r])return t[i][r]}return r}},714:"ObjectData Preview Data",1802:{name:"Size Mode",description:function(e){return e[0].toString()}},1812:{name:"Max Subfile Size",description:function(e){for(var n=0,t=0;t<e.length;t++)n=(n<<8)+e[t];return n.toString()}},1882:{name:"ObjectData Size Announced",description:function(e){for(var n=0,t=0;t<e.length;t++)n=(n<<8)+e[t];return n.toString()}},1887:{name:"Maximum ObjectData Size",description:function(e){for(var n=0,t=0;t<e.length;t++)n=(n<<8)+e[t];return n.toString()}}}};function Ae(e){var n=Y(e);return n.length>=8?n.substr(0,4)+"-"+n.substr(4,2)+"-"+n.substr(6,2):n}function we(e){var n=Y(e),t=n;return n.length>=6&&(t=n.substr(0,2)+":"+n.substr(2,2)+":"+n.substr(4,2),11===n.length&&(t+=n.substr(6,1)+n.substr(7,2)+":"+n.substr(9,2))),t}function Pe(e){var n=Y(e);return"%G"===n?"UTF-8":"%5"===n?"Windows-1252":"%/G"===n?"UTF-8 Level 1":"%/H"===n?"UTF-8 Level 2":"%/I"===n?"UTF-8 Level 3":"/A"===n?"ISO-8859-1":"/B"===n?"ISO-8859-2":"/C"===n?"ISO-8859-3":"/D"===n?"ISO-8859-4":"/@"===n?"ISO-8859-5":"/G"===n?"ISO-8859-6":"/F"===n?"ISO-8859-7":"/H"===n?"ISO-8859-8":"Unknown"}var Ue={get:function(){if("undefined"!=typeof TextDecoder)return TextDecoder;return}};var Oe={decode:function(e,n){var t=Ue.get();if(void 0!==t&&void 0!==e)try{return new t(e).decode(Uint8Array.from(n))}catch(e){}return function(e){try{return decodeURIComponent(escape(e))}catch(n){return e}}(n.map((function(e){return String.fromCharCode(e)})).join(""))},TAG_HEADER_SIZE:5};var De={read:function(e,n){try{var t=function(e,n){for(;n+12<=e.byteLength;){var t=Te(e,n);if(Me(t))return{naaBlock:t,dataOffset:n};n+=12+t.size+Fe(t)}throw new Error("No IPTC NAA resource block.")}(e,n),r=t.naaBlock,i=t.dataOffset;return function(e,n,t){var r={},i=void 0,o=(t+=12)+n.size;for(;t<o&&t<e.byteLength;){var a=xe(e,t,r,i),u=a.tag,c=a.tagSize;if(null===u)break;"encoding"in u&&(i=u.encoding),void 0===r[u.name]||void 0===u.repeatable?r[u.name]={id:u.id,value:u.value,description:u.description}:(r[u.name]instanceof Array||(r[u.name]=[{id:r[u.name].id,value:r[u.name].value,description:r[u.name].description}]),r[u.name].push({id:u.id,value:u.value,description:u.description})),t+=5+c}return r}(e,r,i)}catch(e){return{}}}};function Te(e,n){if(943868237!==e.getUint32(n,!1))throw new Error("Not an IPTC resource block.");return{type:e.getUint16(n+4,!1),size:e.getUint16(n+10,!1)}}function Me(e){return 1028===e.type}function Fe(e){return e.size%2!=0?1:0}function xe(e,n,t,r){if(function(e,n){return 28!==e.getUint8(n)}(e,n))return{tag:null,tagSize:0};var i=e.getUint16(n+1,!1),o=e.getUint16(n+3,!1),a=function(e,n,t){for(var r=[],i=0;i<t;i++)r.push(e.getUint8(n+i));return r}(e,n+5,o),u={id:i,name:Le(Ie.iptc[i],i,a),value:a,description:ke(Ie.iptc[i],a,t,r)};return function(e){return Ie.iptc[e]&&Ie.iptc[e].repeatable}(i)&&(u.repeatable=!0),function(e){return Ie.iptc[e]&&void 0!==Ie.iptc[e].encoding_name}(i)&&(u.encoding=Ie.iptc[i].encoding_name(a)),{tag:u,tagSize:o}}function Le(e,n,t){return e?function(e){return"string"==typeof e}(e)?e:function(e){return"function"==typeof e.name}(e)?e.name(t):e.name:"undefined-".concat(n)}function ke(e,n,t,r){if(function(e){return e&&void 0!==e.description}(e))try{return e.description(n,t)}catch(e){}return function(e,n){return e&&n instanceof Array}(e,n)?Oe.decode(r,n):n}function Re(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var t=[],r=!0,i=!1,o=void 0;try{for(var a,u=e[Symbol.iterator]();!(r=(a=u.next()).done)&&(t.push(a.value),!n||t.length!==n);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==u.return||u.return()}finally{if(i)throw o}}return t}(e,n)||function(e,n){if(!e)return;if("string"==typeof e)return Ne(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Ne(e,n)}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ne(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var Ee={"tiff:Orientation":function(e){return"1"===e?"Horizontal (normal)":"2"===e?"Mirror horizontal":"3"===e?"Rotate 180":"4"===e?"Mirror vertical":"5"===e?"Mirror horizontal and rotate 270 CW":"6"===e?"Rotate 90 CW":"7"===e?"Mirror horizontal and rotate 90 CW":"8"===e?"Rotate 270 CW":e},"exif:GPSLatitude":je,"exif:GPSLongitude":je};function je(e){var n=Re(e.split(","),2),t=n[0],r=n[1];if(void 0!==t&&void 0!==r){var i=parseFloat(t),o=parseFloat(r),a=r.charAt(r.length-1);if(!Number.isNaN(i)&&!Number.isNaN(o))return""+(i+o/60)+a}return e}var Ge=t(0);function Be(e){return(Be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ze(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,n){if(!e)return;if("string"==typeof e)return He(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return He(e,n)}(e))){var n=0,t=function(){};return{s:t,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:t}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i,o=!0,a=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw i}}}}function He(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var We={read:function(e,n){return function(e,n){if(0===n.length)return[];var t=[Ve(e,n.slice(0,1))];n.length>1&&t.push(Ve(e,n.slice(1)));return t}(e,n).reduce(_e,{})}};function Ve(e,n){var t,r=n.reduce((function(e,n){return e+n.length}),0),i=new Uint8Array(r),o=0,a=ze(n);try{for(a.s();!(t=a.n()).done;){var u=t.value,c=e.buffer.slice(u.dataOffset,u.dataOffset+u.length);i.set(new Uint8Array(c),o),o+=u.length}}catch(e){a.e(e)}finally{a.f()}return new DataView(i.buffer)}function _e(e,n){try{return a(e,Ze(Xe(function e(n){for(var t=0;t<n.childNodes.length;t++){if("x:xmpmeta"===n.childNodes[t].tagName)return e(n.childNodes[t]);if("rdf:RDF"===n.childNodes[t].tagName)return n.childNodes[t]}throw new Error}(function(e){var n=Ge.a.get();if(!n)throw console.warn("Warning: DOMParser is not available. It is needed to be able to parse XMP tags."),new Error;var t=new n,i=r(e,0,e.byteLength),o=t.parseFromString(i,"application/xml");if("parsererror"===o.documentElement.nodeName)throw new Error(o.documentElement.textContent);return o}(n)),!0)))}catch(n){return e}}function Xe(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=Ke(e);return Ye(t)?n?{}:Je(t[0]):qe(t)}function Ke(e){for(var n=[],t=0;t<e.childNodes.length;t++)n.push(e.childNodes[t]);return n}function Ye(e){return 1===e.length&&"#text"===e[0].nodeName}function Je(e){return e.nodeValue}function qe(e){var n={};return e.forEach((function(e){if(function(e){return e.nodeName&&"#text"!==e.nodeName}(e)){var t=function(e){return{attributes:$e(e),value:Xe(e)}}(e);void 0!==n[e.nodeName]?(Array.isArray(n[e.nodeName])||(n[e.nodeName]=[n[e.nodeName]]),n[e.nodeName].push(t)):n[e.nodeName]=t}})),n}function $e(e){for(var n={},t=0;t<e.attributes.length;t++)n[e.attributes[t].nodeName]=decodeURIComponent(escape(e.attributes[t].value));return n}function Ze(e){var n={};if("string"==typeof e)return e;for(var t in e){var r=e[t];Array.isArray(r)||(r=[r]),r.forEach((function(e){a(n,Qe(e.attributes)),"object"===Be(e.value)&&a(n,cn(e.value))}))}return n}function Qe(e){var n={};for(var t in e)en(t)&&(n[tn(t)]={value:e[t],attributes:{},description:rn(e[t],t)});return n}function en(e){return"rdf:parseType"!==e&&!nn(e)}function nn(e){return"xmlns"===e.split(":")[0]}function tn(e){return e.split(":")[1]}function rn(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(Array.isArray(e))return on(e);if("object"===Be(e))return an(e);try{return n&&"function"==typeof Ee[n]?Ee[n](e):decodeURIComponent(escape(e))}catch(n){return e}}function on(e){return e.map((function(e){return void 0!==e.value?rn(e.value):rn(e)})).join(", ")}function an(e){var n=[];for(var t in e)n.push("".concat(un(t),": ").concat(e[t].value));return n.join("; ")}function un(e){return"CiAdrCity"===e?"CreatorCity":"CiAdrCtry"===e?"CreatorCountry":"CiAdrExtadr"===e?"CreatorAddress":"CiAdrPcode"===e?"CreatorPostalCode":"CiAdrRegion"===e?"CreatorRegion":"CiEmailWork"===e?"CreatorWorkEmail":"CiTelWork"===e?"CreatorWorkPhone":"CiUrlWork"===e?"CreatorWorkUrl":e}function cn(e){var n={};for(var t in e)nn(t)||(n[tn(t)]=fn(e[t],t));return n}function fn(e,n){return sn(e)?ln(e,n):function(e){return"Resource"===e.attributes["rdf:parseType"]||void 0!==e.value["rdf:Description"]&&void 0===e.value["rdf:Description"].value["rdf:value"]}(e)?function(e,n){var t={value:{},attributes:{}};void 0!==e.value["rdf:Description"]&&(a(t.value,Qe(e.value["rdf:Description"].attributes)),a(t.attributes,dn(e)),e=e.value["rdf:Description"]);return a(t.value,cn(e.value)),t.description=rn(t.value,n),t}(e,n):function(e){return 0===Object.keys(e.value).length&&void 0===e.attributes["rdf:resource"]}(e)?function(e,n){var t=Qe(e.attributes);return{value:t,attributes:{},description:rn(t,n)}}(e,n):function(e){return void 0!==pn(e.value)}(e)?function(e,n){var t=pn(e.value).value["rdf:li"],r=dn(e),i=[];void 0===t?t=[]:Array.isArray(t)||(t=[t]);return t.forEach((function(e){i.push(function(e){if(sn(e))return ln(e);if(function(e){return"Resource"===e.attributes["rdf:parseType"]}(e))return cn(e.value);return{value:e.value,attributes:dn(e),description:rn(e.value)}}(e))})),{value:i,attributes:r,description:rn(i,n)}}(e,n):function(e,n){var t=mn(e)||Ze(e.value);return{value:t,attributes:dn(e),description:rn(t,n)}}(e,n)}function sn(e){return"Resource"===e.attributes["rdf:parseType"]&&void 0!==e.value["rdf:value"]||void 0!==e.value["rdf:Description"]&&void 0!==e.value["rdf:Description"].value["rdf:value"]}function ln(e,n){var t=dn(e);void 0!==e.value["rdf:Description"]&&(e=e.value["rdf:Description"]),a(t,dn(e),function(e){var n={};for(var t in e.value)"rdf:value"===t||nn(t)||(n[tn(t)]=e.value[t].value);return n}(e));var r=function(e){return mn(e.value["rdf:value"])||e.value["rdf:value"].value}(e);return{value:r,attributes:t,description:rn(r,n)}}function dn(e){var n={};for(var t in e.attributes)"rdf:parseType"===t||"rdf:resource"===t||nn(t)||(n[tn(t)]=e.attributes[t]);return n}function pn(e){return e["rdf:Bag"]||e["rdf:Seq"]||e["rdf:Alt"]}function mn(e){return e.attributes&&e.attributes["rdf:resource"]}var gn={desc:{name:"ICC Description"},cprt:{name:"ICC Copyright"},dmdd:{name:"ICC Device Model Description"},vued:{name:"ICC Viewing Conditions Description"},dmnd:{name:"ICC Device Manufacturer for Display"},tech:{name:"Technology"}},hn={4:{name:"Preferred CMM type",value:function(e,n){return r(e,n,4)},description:function(e){return null!==e?vn(e):""}},8:{name:"Profile Version",value:function(e,n){return e.getUint8(n).toString(10)+"."+(e.getUint8(n+1)>>4).toString(10)+"."+(e.getUint8(n+1)%16).toString(10)}},12:{name:"Profile/Device class",value:function(e,n){return r(e,n,4)},description:function(e){switch(e.toLowerCase()){case"scnr":return"Input Device profile";case"mntr":return"Display Device profile";case"prtr":return"Output Device profile";case"link":return"DeviceLink profile";case"abst":return"Abstract profile";case"spac":return"ColorSpace profile";case"nmcl":return"NamedColor profile";case"cenc":return"ColorEncodingSpace profile";case"mid ":return"MultiplexIdentification profile";case"mlnk":return"MultiplexLink profile";case"mvis":return"MultiplexVisualization profile";default:return e}}},16:{name:"Color Space",value:function(e,n){return r(e,n,4)}},20:{name:"Connection Space",value:function(e,n){return r(e,n,4)}},24:{name:"ICC Profile Date",value:function(e,n){return function(e,n){var t=e.getUint16(n),r=e.getUint16(n+2)-1,i=e.getUint16(n+4),o=e.getUint16(n+6),a=e.getUint16(n+8),u=e.getUint16(n+10);return new Date(Date.UTC(t,r,i,o,a,u))}(e,n).toISOString()}},36:{name:"ICC Signature",value:function(e,n){return t=e.buffer.slice(n,n+4),String.fromCharCode.apply(null,new Uint8Array(t));var t}},40:{name:"Primary Platform",value:function(e,n){return r(e,n,4)},description:function(e){return vn(e)}},48:{name:"Device Manufacturer",value:function(e,n){return r(e,n,4)},description:function(e){return vn(e)}},52:{name:"Device Model Number",value:function(e,n){return r(e,n,4)}},64:{name:"Rendering Intent",value:function(e,n){return e.getUint32(n)},description:function(e){switch(e){case 0:return"Perceptual";case 1:return"Relative Colorimetric";case 2:return"Saturation";case 3:return"Absolute Colorimetric";default:return e}}},80:{name:"Profile Creator",value:function(e,n){return r(e,n,4)}}};function vn(e){switch(e.toLowerCase()){case"appl":return"Apple";case"adbe":return"Adobe";case"msft":return"Microsoft";case"sunw":return"Sun Microsystems";case"sgi":return"Silicon Graphics";case"tgnt":return"Taligent";default:return e}}var yn={read:function(e,n){try{for(var t=n.reduce((function(e,n){return e+n.length}),0),o=new Uint8Array(t),a=0,u=e.buffer,c=function(e){var t=n.find((function(n){return n.chunkNumber===e}));if(!t)throw new Error("ICC chunk ".concat(e," not found"));var r=u.slice(t.offset,t.offset+t.length),i=new Uint8Array(r);o.set(i,a),a+=i.length},f=1;f<=n.length;f++)c(f);return function(e){var n=e.buffer,t=e.getUint32();if(e.byteLength!==t)throw new Error("ICC profile length not matching");if(e.length<84)throw new Error("ICC profile too short");for(var o={},a=0,u=Object.keys(hn);a<u.length;a++){var c=u[a],f=hn[c],s=f.value(e,parseInt(c,10)),l=s;f.description&&(l=f.description(s)),o[f.name]={value:s,description:l}}if("acsp"!==bn(n.slice(36,40)))throw new Error("ICC profile: missing signature");if(function(e){return e.length<132}(n))return o;for(var d=e.getUint32(128),p=132,m=0;m<d;m++){if(Sn(n,p))return o;var g=r(e,p,4),h=e.getUint32(p+4),v=e.getUint32(p+8);if(h>n.length)return o;var y=r(e,h,4);if("desc"===y){var S=e.getUint32(h+8);if(S>v)return o;var b=bn(n.slice(h+12,h+S+11));Cn(o,g,b)}else if("mluc"===y){for(var C=e.getUint32(h+8),I=e.getUint32(h+12),A=h+16,w=[],P=0;P<C;P++){var U=r(e,A+0,2),O=r(e,A+2,2),D=e.getUint32(A+4),T=e.getUint32(A+8),M=i(e,h+T,D);w.push({languageCode:U,countryCode:O,text:M}),A+=I}if(1===C)Cn(o,g,w[0].text);else{for(var F={},x=0;x<w.length;x++)F["".concat(w[x].languageCode,"-").concat(w[x].countryCode)]=w[x].text;Cn(o,g,F)}}else if("text"===y){var L=bn(n.slice(h+8,h+v-7));Cn(o,g,L)}else if("sig "===y){var k=bn(n.slice(h+8,h+12));Cn(o,g,k)}p+=12}return o}(new DataView(o.buffer))}catch(e){return{}}}};function Sn(e,n){return e.length<n+12}function bn(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function Cn(e,n,t){gn[n]?e[gn[n].name]={value:t,description:t}:e[n]={value:t,description:t}}var In={read:function(e,n){return{"Image Width":An(e,n),"Image Height":wn(e,n),"Bit Depth":Pn(e,n),"Color Type":Un(e,n),Compression:On(e,n),Filter:Dn(e,n),Interlace:Tn(e,n)}}};function An(e,n){if(!(n+0+4>e.byteLength)){var t=W.getLongAt(e,n);return{value:t,description:"".concat(t,"px")}}}function wn(e,n){if(!(n+4+4>e.byteLength)){var t=W.getLongAt(e,n+4);return{value:t,description:"".concat(t,"px")}}}function Pn(e,n){if(!(n+8+1>e.byteLength)){var t=W.getByteAt(e,n+8);return{value:t,description:"".concat(t)}}}function Un(e,n){if(!(n+9+1>e.byteLength)){var t=W.getByteAt(e,n+9);return{value:t,description:{0:"Grayscale",2:"RGB",3:"Palette",4:"Grayscale with Alpha",6:"RGB with Alpha"}[t]||"Unknown"}}}function On(e,n){if(!(n+10+1>e.byteLength)){var t=W.getByteAt(e,n+10);return{value:t,description:0===t?"Deflate/Inflate":"Unknown"}}}function Dn(e,n){if(!(n+11+1>e.byteLength)){var t=W.getByteAt(e,n+11);return{value:t,description:0===t?"Adaptive":"Unknown"}}}function Tn(e,n){if(!(n+12+1>e.byteLength)){var t=W.getByteAt(e,n+12);return{value:t,description:{0:"Noninterlaced",1:"Adam7 Interlace"}[t]||"Unknown"}}}function Mn(e){return(Mn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Fn={get:function(e,n,t){if(c=n,c&&(void 0===c.Compression||6===c.Compression.value)&&c.JPEGInterchangeFormat&&c.JPEGInterchangeFormat.value&&c.JPEGInterchangeFormatLength&&c.JPEGInterchangeFormatLength.value){n.type="image/jpeg";var r=t+n.JPEGInterchangeFormat.value;n.image=e.buffer.slice(r,r+n.JPEGInterchangeFormatLength.value),i=n,o="base64",a=function(){return e=this.image,"undefined"!=typeof btoa?btoa(Array.prototype.reduce.call(new Uint8Array(e),(function(e,n){return e+String.fromCharCode(n)}),"")):"undefined"!=typeof Buffer?void 0!==Mn(Buffer.from)?Buffer.from(e).toString("base64"):new Buffer(e).toString("base64"):void 0;var e},u=!1,Object.defineProperty(i,o,{get:function(){return u||(u=!0,Object.defineProperty(i,o,{configurable:!0,enumerable:!0,value:a.apply(i),writable:!0})),i[o]},configurable:!0,enumerable:!0})}var i,o,a,u;var c;return n}};function xn(e){this.name="MetadataMissingError",this.message=e||"No Exif data",this.stack=(new Error).stack}xn.prototype=new Error;var Ln={MetadataMissingError:xn};function kn(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}n.default={load:Nn,loadView:jn,errors:Ln};var Rn=Ln;function Nn(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{expanded:!1};return jn(En(e),n)}function En(e){try{return new DataView(e)}catch(n){return new f(e)}}function jn(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{expanded:!1},t=!1,r={},i=B.parseAppMarkers(e),o=i.fileDataOffset,u=i.tiffHeaderOffset,c=i.iptcDataOffset,f=i.xmpChunks,h=i.iccChunks,S=i.pngHeaderOffset;if(v&&s&&Gn(o)){t=!0;var b=ge.read(e,o);n.expanded?r.file=b:r=a({},r,b)}if(l&&Bn(u)){t=!0;var C=ue.read(e,u),I=C.Thumbnail,A=kn(C,["Thumbnail"]);n.expanded?r.exif=A:r=a({},r,A),I&&(r.Thumbnail=I)}if(v&&d&&zn(c)){t=!0;var w=De.read(e,c);n.expanded?r.iptc=w:r=a({},r,w)}if(p&&Hn(f)){t=!0;var P=We.read(e,f);n.expanded?r.xmp=P:r=a({},r,P)}if(v&&m&&Wn(h)){t=!0;var U=yn.read(e,h);n.expanded?r.icc=U:r=a({},r,U)}if(y&&Vn(S)){t=!0;var O=In.read(e,S);n.expanded?r.pngFile=O:r=a({},r,O)}var D=v&&l&&g&&Fn.get(e,r.Thumbnail,u);if(D&&(r.Thumbnail=D,t=!0),!t)throw new Ln.MetadataMissingError;return r}function Gn(e){return void 0!==e}function Bn(e){return void 0!==e}function zn(e){return void 0!==e}function Hn(e){return Array.isArray(e)&&e.length>0}function Wn(e){return Array.isArray(e)&&e.length>0}function Vn(e){return void 0!==e}}])})); | ||
!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.ExifReader=n():e.ExifReader=n()}("undefined"!=typeof self?self:this,(function(){return function(e){var n={};function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var i in e)t.d(r,i,function(n){return e[n]}.bind(null,i));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=1)}([function(module,__webpack_exports__,__webpack_require__){"use strict";function get(){if("undefined"!=typeof DOMParser)return DOMParser;try{return eval("require")("xmldom").DOMParser}catch(e){return}}__webpack_exports__.a={get:get}},function(e,n,t){"use strict";function r(e,n,t){for(var r=[],i=0;i<t&&n+i<e.byteLength;i++)r.push(e.getUint8(n+i,!1));return o(r).join("")}function i(e,n,t){for(var r=[],i=0;i<t&&n+i<e.byteLength;i+=2)r.push(e.getUint16(n+i));return o(r).join("")}function o(e){return e.map((function(e){return String.fromCharCode(e)}))}function a(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];for(var i=0,o=t;i<o.length;i++){var a=o[i];for(var u in a)e[u]=a[u]}return e}function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}t.r(n),t.d(n,"errors",(function(){return Nn})),t.d(n,"load",(function(){return En})),t.d(n,"loadView",(function(){return Gn}));var f=function(){function e(n){if(function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),function(e){return"object"!==u(e)||void 0===e.length||void 0===e.readUInt8||void 0===e.readUInt16LE||void 0===e.readUInt16BE||void 0===e.readUInt32LE||void 0===e.readUInt32BE||void 0===e.readInt32LE||void 0===e.readInt32BE}(n))throw new Error("DataView: Passed buffer type is unsupported.");this.buffer=n,this.byteLength=this.buffer.length}var n,t,r;return n=e,(t=[{key:"getUint8",value:function(e){return this.buffer.readUInt8(e)}},{key:"getUint16",value:function(e,n){return n?this.buffer.readUInt16LE(e):this.buffer.readUInt16BE(e)}},{key:"getUint32",value:function(e,n){return n?this.buffer.readUInt32LE(e):this.buffer.readUInt32BE(e)}},{key:"getInt32",value:function(e,n){return n?this.buffer.readInt32LE(e):this.buffer.readInt32BE(e)}}])&&c(n.prototype,t),r&&c(n,r),e}();var s=!0,l=!0,d=!0,p=!0,m=!0,g=!0,v=!0,h=!0,y=!0,S=!0,b={BIG_ENDIAN:19789,LITTLE_ENDIAN:18761,getByteOrder:function(e,n){if(18761===e.getUint16(n))return 18761;if(19789===e.getUint16(n))return 19789;throw new Error("Illegal byte order value. Faulty image.")}};var C={isTiffFile:function(e){return e.byteLength>=4&&function(e){var n=e.getUint16(0)===b.LITTLE_ENDIAN;return 42===e.getUint16(2,n)}(e)},findTiffOffsets:function(){if(l)return{hasAppMarkers:!0,tiffHeaderOffset:0};return{}}};var I={isJpegFile:function(e){return e.byteLength>=2&&65496===e.getUint16(0,!1)},findJpegOffsets:function(e){var n,t,r,i,o,a,u,c=2;for(;c+4+5<=e.byteLength;){if(s&&P(e,c))t=c+2;else if(s&&U(e,c))r=c+2;else if(l&&D(e,c))n=e.getUint16(c+2,!1),i=c+10;else if(p&&T(e,c))a||(a=[]),n=e.getUint16(c+2,!1),a.push(F(c,n));else if(p&&M(e,c))a||(a=[]),n=e.getUint16(c+2,!1),a.push(x(c,n));else if(d&&L(e,c))n=e.getUint16(c+2,!1),o=c+18;else if(m&&O(e,c)){n=e.getUint16(c+2,!1);var f=c+18,g=n-16,v=e.getUint8(c+A,!1),h=e.getUint8(c+w,!1);u||(u=[]),u.push({offset:f,length:g,chunkNumber:v,chunksTotal:h})}else{if(!k(e,c))break;n=e.getUint16(c+2,!1)}c+=2+n}return{hasAppMarkers:c>2,fileDataOffset:t||r,tiffHeaderOffset:i,iptcDataOffset:o,xmpChunks:a,iccChunks:u}}},A=4+"ICC_PROFILE\0".length,w=A+1;function P(e,n){return 65472===e.getUint16(n,!1)}function U(e,n){return 65474===e.getUint16(n,!1)}function O(e,n){var t="ICC_PROFILE\0".length;return 65506===e.getUint16(n,!1)&&"ICC_PROFILE\0"===r(e,n+4,t)}function D(e,n){var t="Exif".length;return 65505===e.getUint16(n,!1)&&"Exif"===r(e,n+4,t)&&0===e.getUint8(n+4+t,!1)}function T(e,n){return 65505===e.getUint16(n,!1)&&function(e,n){return"http://ns.adobe.com/xap/1.0/\0"===r(e,n+4,"http://ns.adobe.com/xap/1.0/\0".length)}(e,n)}function M(e,n){return 65505===e.getUint16(n,!1)&&function(e,n){return"http://ns.adobe.com/xmp/extension/\0"===r(e,n+4,"http://ns.adobe.com/xmp/extension/\0".length)}(e,n)}function F(e,n){return{dataOffset:e+33,length:n-31}}function x(e,n){return{dataOffset:e+79,length:n-77}}function L(e,n){var t="Photoshop 3.0".length;return 65517===e.getUint16(n,!1)&&"Photoshop 3.0"===r(e,n+4,t)&&0===e.getUint8(n+4+t,!1)}function k(e,n){var t=e.getUint16(n,!1);return t>=65504&&t<=65519||65534===t||65472===t||65474===t||65476===t||65499===t||65501===t||65498===t}var R={isPngFile:function(e){return"PNG\r\n\n"===r(e,0,"PNG\r\n\n".length)},findPngOffsets:function(e){var n={hasAppMarkers:!1},t="PNG\r\n\n".length;for(;t+4+4<=e.byteLength;){if(N(e,t))n.hasAppMarkers=!0,n.pngHeaderOffset=t+8;else if(p&&E(e,t)){var r=j(e,t);void 0!==r&&(n.hasAppMarkers=!0,n.xmpChunks=[{dataOffset:r,length:e.getUint32(t+0)-(r-(t+8))}])}t+=e.getUint32(t+0)+4+4+4}return n}};function N(e,n){return"IHDR"===r(e,n+4,4)}function E(e,n){return"iTXt"===r(e,n+4,4)&&"XML:com.adobe.xmp\0"===r(e,n+8,"XML:com.adobe.xmp\0".length)}function j(e,n){n+=8+"XML:com.adobe.xmp\0".length+1+1;for(var t=0;t<2&&n<e.byteLength;)0===e.getUint8(n)&&t++,n++;if(!(t<2))return n}var G={isHeicFile:function(e){var n=r(e,4+"ftyp".length,4);return"ftyp"===r(e,4,"ftyp".length)&&-1!==["heic","heix","hevc","hevx","heim","heis","hevm","hevs","mif1"].indexOf(n)},findHeicOffsets:function(e){if(l){var n=function(e){var n=0;for(;n+4+4<=e.byteLength;){var t=B(e,n);if(t>=8)if("meta"===r(e,n+4,4))return{offset:n,length:t};n+=t}return{offset:void 0,length:0}}(e),t=n.offset,i=n.length;if(void 0===t)return{hasAppMarkers:!1};var o=Math.min(t+i,e.byteLength),a=function(e,n,t){var i={exifItemOffset:void 0,ilocOffset:void 0};for(;n+4<=t&&(!i.exifItemOffset||!i.ilocOffset);)"Exif"===r(e,n,4)?i.exifItemOffset=n+-4:"iloc"===r(e,n,4)&&(i.ilocOffset=n),n++;return i}(e,t,o),u=a.exifItemOffset,c=a.ilocOffset;if(void 0===u||void 0===c)return{hasAppMarkers:!1};var f=function(e,n,t,r){if(n+2>r)return;var i=e.getUint16(n);t+=12;for(;t+16<=r;){if(e.getUint16(t)===i){var o=e.getUint32(t+8);if(o+4<=e.byteLength){var a=e.getUint32(o);return o+(a+4)}}t+=16}return}(e,u,c,o);return{hasAppMarkers:void 0!==f,tiffHeaderOffset:f}}return{hasAppMarkers:!1}}};function B(e,n){var t=e.getUint32(n);return function(e){return 0===e}(t)?e.byteLength-n:function(e){return 1===e}(t)&&function(e,n){return 0===e.getUint32(n+8)}(e,n)?e.getUint32(n+12):t}var z={parseAppMarkers:function(e){if(v&&C.isTiffFile(e))return C.findTiffOffsets();if(h&&I.isJpegFile(e))return I.findJpegOffsets(e);if(y&&R.isPngFile(e))return R.findPngOffsets(e);if(S&&G.isHeicFile(e))return G.findHeicOffsets(e);throw new Error("Invalid image format")}};var H={1:1,2:1,3:2,4:4,5:8,7:1,9:4,10:8,13:4},W={BYTE:1,ASCII:2,SHORT:3,LONG:4,RATIONAL:5,UNDEFINED:7,SLONG:9,SRATIONAL:10,IFD:13},V={getAsciiValue:function(e){return e.map((function(e){return String.fromCharCode(e)}))},getByteAt:_,getAsciiAt:function(e,n){return e.getUint8(n)},getShortAt:function(e,n,t){return e.getUint16(n,t===b.LITTLE_ENDIAN)},getLongAt:X,getRationalAt:function(e,n,t){return[X(e,n,t),X(e,n+4,t)]},getUndefinedAt:function(e,n){return _(e,n)},getSlongAt:K,getSrationalAt:function(e,n,t){return[K(e,n,t),K(e,n+4,t)]},getIfdPointerAt:function(e,n,t){return X(e,n,t)},typeSizes:H,tagTypes:W,getTypeSize:function(e){if(void 0===W[e])throw new Error("No such type found.");return H[W[e]]}};function _(e,n){return e.getUint8(n)}function X(e,n,t){return e.getUint32(n,t===b.LITTLE_ENDIAN)}function K(e,n,t){return e.getInt32(n,t===b.LITTLE_ENDIAN)}var Y={LightSource:function(e){return 1===e?"Daylight":2===e?"Fluorescent":3===e?"Tungsten (incandescent light)":4===e?"Flash":9===e?"Fine weather":10===e?"Cloudy weather":11===e?"Shade":12===e?"Daylight fluorescent (D 5700 – 7100K)":13===e?"Day white fluorescent (N 4600 – 5400K)":14===e?"Cool white fluorescent (W 3900 – 4500K)":15===e?"White fluorescent (WW 3200 – 3700K)":17===e?"Standard light A":18===e?"Standard light B":19===e?"Standard light C":20===e?"D55":21===e?"D65":22===e?"D75":23===e?"D50":24===e?"ISO studio tungsten":255===e?"Other light source":"Unknown"}};function J(e){return e.map((function(e){return String.fromCharCode(e)})).join("")}function q(e){if(e.length>=8){var n=J(e.slice(0,8));if("ASCII\0\0\0"===n)return J(e.slice(8));if("JIS\0\0\0\0\0"===n)return"[JIS encoded text]";if("UNICODE\0"===n)return"[Unicode encoded text]";if("\0\0\0\0\0\0\0\0"===n)return"[Undefined encoding]"}return"Undefined"}function $(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var t=[],r=!0,i=!1,o=void 0;try{for(var a,u=e[Symbol.iterator]();!(r=(a=u.next()).done)&&(t.push(a.value),!n||t.length!==n);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==u.return||u.return()}finally{if(i)throw o}}return t}(e,n)||function(e,n){if(!e)return;if("string"==typeof e)return Z(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Z(e,n)}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Z(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function Q(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var t=[],r=!0,i=!1,o=void 0;try{for(var a,u=e[Symbol.iterator]();!(r=(a=u.next()).done)&&(t.push(a.value),!n||t.length!==n);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==u.return||u.return()}finally{if(i)throw o}}return t}(e,n)||function(e,n){if(!e)return;if("string"==typeof e)return ee(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return ee(e,n)}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ee(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var ne={0:{name:"GPSVersionID",description:function(e){return 2===e[0]&&2===e[1]&&0===e[2]&&0===e[3]?"Version 2.2":"Unknown"}},1:{name:"GPSLatitudeRef",description:function(e){var n=e.join("");return"N"===n?"North latitude":"S"===n?"South latitude":"Unknown"}},2:{name:"GPSLatitude",description:function(e){return e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600}},3:{name:"GPSLongitudeRef",description:function(e){var n=e.join("");return"E"===n?"East longitude":"W"===n?"West longitude":"Unknown"}},4:{name:"GPSLongitude",description:function(e){return e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600}},5:{name:"GPSAltitudeRef",description:function(e){return 0===e?"Sea level":1===e?"Sea level reference (negative value)":"Unknown"}},6:{name:"GPSAltitude",description:function(e){return e[0]/e[1]+" m"}},7:{name:"GPSTimeStamp",description:function(e){return e.map((function(e){var n=Q(e,2),t=n[0]/n[1];return/^\d(\.|$)/.test("".concat(t))?"0".concat(t):t})).join(":")}},8:"GPSSatellites",9:{name:"GPSStatus",description:function(e){var n=e.join("");return"A"===n?"Measurement in progress":"V"===n?"Measurement Interoperability":"Unknown"}},10:{name:"GPSMeasureMode",description:function(e){var n=e.join("");return"2"===n?"2-dimensional measurement":"3"===n?"3-dimensional measurement":"Unknown"}},11:"GPSDOP",12:{name:"GPSSpeedRef",description:function(e){var n=e.join("");return"K"===n?"Kilometers per hour":"M"===n?"Miles per hour":"N"===n?"Knots":"Unknown"}},13:"GPSSpeed",14:{name:"GPSTrackRef",description:function(e){var n=e.join("");return"T"===n?"True direction":"M"===n?"Magnetic direction":"Unknown"}},15:"GPSTrack",16:{name:"GPSImgDirectionRef",description:function(e){var n=e.join("");return"T"===n?"True direction":"M"===n?"Magnetic direction":"Unknown"}},17:"GPSImgDirection",18:"GPSMapDatum",19:{name:"GPSDestLatitudeRef",description:function(e){var n=e.join("");return"N"===n?"North latitude":"S"===n?"South latitude":"Unknown"}},20:{name:"GPSDestLatitude",description:function(e){return e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600}},21:{name:"GPSDestLongitudeRef",description:function(e){var n=e.join("");return"E"===n?"East longitude":"W"===n?"West longitude":"Unknown"}},22:{name:"GPSDestLongitude",description:function(e){return e[0][0]/e[0][1]+e[1][0]/e[1][1]/60+e[2][0]/e[2][1]/3600}},23:{name:"GPSDestBearingRef",description:function(e){var n=e.join("");return"T"===n?"True direction":"M"===n?"Magnetic direction":"Unknown"}},24:"GPSDestBearing",25:{name:"GPSDestDistanceRef",description:function(e){var n=e.join("");return"K"===n?"Kilometers":"M"===n?"Miles":"N"===n?"Knots":"Unknown"}},26:"GPSDestDistance",27:{name:"GPSProcessingMethod",description:q},28:{name:"GPSAreaInformation",description:q},29:"GPSDateStamp",30:{name:"GPSDifferential",description:function(e){return 0===e?"Measurement without differential correction":1===e?"Differential correction applied":"Unknown"}},31:"GPSHPositioningError"},te={1:"InteroperabilityIndex",2:{name:"InteroperabilityVersion",description:function(e){return J(e)}},4096:"RelatedImageFileFormat",4097:"RelatedImageWidth",4098:"RelatedImageHeight"},re=a({},{11:"ProcessingSoftware",254:{name:"SubfileType",description:function(e){return{0:"Full-resolution image",1:"Reduced-resolution image",2:"Single page of multi-page image",3:"Single page of multi-page reduced-resolution image",4:"Transparency mask",5:"Transparency mask of reduced-resolution image",6:"Transparency mask of multi-page image",7:"Transparency mask of reduced-resolution multi-page image",65537:"Alternate reduced-resolution image",4294967295:"Invalid"}[e]||"Unknown"}},255:{name:"OldSubfileType",description:function(e){return{0:"Full-resolution image",1:"Reduced-resolution image",2:"Single page of multi-page image"}[e]||"Unknown"}},256:"ImageWidth",257:"ImageLength",258:"BitsPerSample",259:"Compression",262:"PhotometricInterpretation",263:{name:"Thresholding",description:function(e){return{1:"No dithering or halftoning",2:"Ordered dither or halfton",3:"Randomized dither"}[e]||"Unknown"}},264:"CellWidth",265:"CellLength",266:{name:"FillOrder",description:function(e){return{1:"Normal",2:"Reversed"}[e]||"Unknown"}},269:"DocumentName",270:"ImageDescription",271:"Make",272:"Model",273:"StripOffsets",274:{name:"Orientation",description:function(e){return 1===e?"top-left":2===e?"top-right":3===e?"bottom-right":4===e?"bottom-left":5===e?"left-top":6===e?"right-top":7===e?"right-bottom":8===e?"left-bottom":"Undefined"}},277:"SamplesPerPixel",278:"RowsPerStrip",279:"StripByteCounts",280:"MinSampleValue",281:"MaxSampleValue",282:{name:"XResolution",description:function(e){return""+Math.round(e[0]/e[1])}},283:{name:"YResolution",description:function(e){return""+Math.round(e[0]/e[1])}},284:"PlanarConfiguration",285:"PageName",286:{name:"XPosition",description:function(e){return""+Math.round(e[0]/e[1])}},287:{name:"YPosition",description:function(e){return""+Math.round(e[0]/e[1])}},290:{name:"GrayResponseUnit",description:function(e){return{1:"0.1",2:"0.001",3:"0.0001",4:"1e-05",5:"1e-06"}[e]||"Unknown"}},296:{name:"ResolutionUnit",description:function(e){return 2===e?"inches":3===e?"centimeters":"Unknown"}},297:"PageNumber",301:"TransferFunction",305:"Software",306:"DateTime",315:"Artist",316:"HostComputer",317:"Predictor",318:{name:"WhitePoint",description:function(e){return e.map((function(e){return"".concat(e[0],"/").concat(e[1])})).join(", ")}},319:{name:"PrimaryChromaticities",description:function(e){return e.map((function(e){return"".concat(e[0],"/").concat(e[1])})).join(", ")}},321:"HalftoneHints",322:"TileWidth",323:"TileLength",330:"A100DataOffset",332:{name:"InkSet",description:function(e){return{1:"CMYK",2:"Not CMYK"}[e]||"Unknown"}},337:"TargetPrinter",338:{name:"ExtraSamples",description:function(e){return{0:"Unspecified",1:"Associated Alpha",2:"Unassociated Alpha"}[e]||"Unknown"}},339:{name:"SampleFormat",description:function(e){var n={1:"Unsigned",2:"Signed",3:"Float",4:"Undefined",5:"Complex int",6:"Complex float"};return Array.isArray(e)?e.map((function(e){return n[e]||"Unknown"})).join(", "):"Unknown"}},513:"JPEGInterchangeFormat",514:"JPEGInterchangeFormatLength",529:{name:"YCbCrCoefficients",description:function(e){return e.map((function(e){return""+e[0]/e[1]})).join("/")}},530:"YCbCrSubSampling",531:{name:"YCbCrPositioning",description:function(e){return 1===e?"centered":2===e?"co-sited":"undefined "+e}},532:{name:"ReferenceBlackWhite",description:function(e){return e.map((function(e){return""+e[0]/e[1]})).join(", ")}},700:"ApplicationNotes",18246:"Rating",18249:"RatingPercent",33432:{name:"Copyright",description:function(e){return e.join("; ")}},33550:"PixelScale",33723:"IPTC-NAA",33920:"IntergraphMatrix",33922:"ModelTiePoint",34118:"SEMInfo",34264:"ModelTransform",34377:"PhotoshopSettings",34665:"Exif IFD Pointer",34675:"ICC_Profile",34735:"GeoTiffDirectory",34736:"GeoTiffDoubleParams",34737:"GeoTiffAsciiParams",34853:"GPS Info IFD Pointer",40091:"XPTitle",40092:"XPComment",40093:"XPAuthor",40094:"XPKeywords",40095:"XPSubject",42112:"GDALMetadata",42113:"GDALNoData",50341:"PrintIM",50707:"DNGBackwardVersion",50708:"UniqueCameraModel",50709:"LocalizedCameraModel",50721:"ColorMatrix1",50722:"ColorMatrix2",50723:"CameraCalibration1",50724:"CameraCalibration2",50725:"ReductionMatrix1",50726:"ReductionMatrix2",50727:"AnalogBalance",50728:"AsShotNeutral",50729:"AsShotWhiteXY",50730:"BaselineExposure",50731:"BaselineNoise",50732:"BaselineSharpness",50734:"LinearResponseLimit",50735:"CameraSerialNumber",50736:"DNGLensInfo",50739:"ShadowScale",50741:{name:"MakerNoteSafety",description:function(e){return{0:"Unsafe",1:"Safe"}[e]||"Unknown"}},50778:{name:"CalibrationIlluminant1",description:Y.LightSource},50779:{name:"CalibrationIlluminant2",description:Y.LightSource},50781:"RawDataUniqueID",50827:"OriginalRawFileName",50828:"OriginalRawFileData",50831:"AsShotICCProfile",50832:"AsShotPreProfileMatrix",50833:"CurrentICCProfile",50834:"CurrentPreProfileMatrix",50879:"ColorimetricReference",50885:"SRawType",50898:"PanasonicTitle",50899:"PanasonicTitle2",50931:"CameraCalibrationSig",50932:"ProfileCalibrationSig",50933:"ProfileIFD",50934:"AsShotProfileName",50936:"ProfileName",50937:"ProfileHueSatMapDims",50938:"ProfileHueSatMapData1",50939:"ProfileHueSatMapData2",50940:"ProfileToneCurve",50941:{name:"ProfileEmbedPolicy",description:function(e){return{0:"Allow Copying",1:"Embed if Used",2:"Never Embed",3:"No Restrictions"}[e]||"Unknown"}},50942:"ProfileCopyright",50964:"ForwardMatrix1",50965:"ForwardMatrix2",50966:"PreviewApplicationName",50967:"PreviewApplicationVersion",50968:"PreviewSettingsName",50969:"PreviewSettingsDigest",50970:{name:"PreviewColorSpace",description:function(e){return{1:"Gray Gamma 2.2",2:"sRGB",3:"Adobe RGB",4:"ProPhoto RGB"}[e]||"Unknown"}},50971:"PreviewDateTime",50972:"RawImageDigest",50973:"OriginalRawFileDigest",50981:"ProfileLookTableDims",50982:"ProfileLookTableData",51043:"TimeCodes",51044:"FrameRate",51058:"TStop",51081:"ReelName",51089:"OriginalDefaultFinalSize",51090:"OriginalBestQualitySize",51091:"OriginalDefaultCropSize",51105:"CameraLabel",51107:{name:"ProfileHueSatMapEncoding",description:function(e){return{0:"Linear",1:"sRGB"}[e]||"Unknown"}},51108:{name:"ProfileLookTableEncoding",description:function(e){return{0:"Linear",1:"sRGB"}[e]||"Unknown"}},51109:"BaselineExposureOffset",51110:{name:"DefaultBlackRender",description:function(e){return{0:"Auto",1:"None"}[e]||"Unknown"}},51111:"NewRawImageDigest",51112:"RawToPreviewGain"},{33434:{name:"ExposureTime",description:function(e){return 0!==e[0]?"1/".concat(Math.round(e[1]/e[0])):"0/".concat(e[1])}},33437:{name:"FNumber",description:function(e){return"f/".concat(e[0]/e[1])}},34850:{name:"ExposureProgram",description:function(e){return 0===e?"Undefined":1===e?"Manual":2===e?"Normal program":3===e?"Aperture priority":4===e?"Shutter priority":5===e?"Creative program":6===e?"Action program":7===e?"Portrait mode":8===e?"Landscape mode":9===e?"Bulb":"Unknown"}},34852:"SpectralSensitivity",34855:"ISOSpeedRatings",34856:{name:"OECF",description:function(){return"[Raw OECF table data]"}},34858:"TimeZoneOffset",34859:"SelfTimerMode",34864:{name:"SensitivityType",description:function(e){return{1:"Standard Output Sensitivity",2:"Recommended Exposure Index",3:"ISO Speed",4:"Standard Output Sensitivity and Recommended Exposure Index",5:"Standard Output Sensitivity and ISO Speed",6:"Recommended Exposure Index and ISO Speed",7:"Standard Output Sensitivity, Recommended Exposure Index and ISO Speed"}[e]||"Unknown"}},34865:"StandardOutputSensitivity",34866:"RecommendedExposureIndex",34867:"ISOSpeed",34868:"ISOSpeedLatitudeyyy",34869:"ISOSpeedLatitudezzz",36864:{name:"ExifVersion",description:function(e){return J(e)}},36867:"DateTimeOriginal",36868:"DateTimeDigitized",36873:"GooglePlusUploadCode",36880:"OffsetTime",36881:"OffsetTimeOriginal",36882:"OffsetTimeDigitized",37121:{name:"ComponentsConfiguration",description:function(e){return e.map((function(e){return 49===e?"Y":50===e?"Cb":51===e?"Cr":52===e?"R":53===e?"G":54===e?"B":void 0})).join("")}},37122:"CompressedBitsPerPixel",37377:{name:"ShutterSpeedValue",description:function(e){return"1/".concat(Math.round(Math.pow(2,e[0]/e[1])))}},37378:{name:"ApertureValue",description:function(e){return Math.pow(Math.sqrt(2),e[0]/e[1]).toFixed(2)}},37379:"BrightnessValue",37380:"ExposureBiasValue",37381:{name:"MaxApertureValue",description:function(e){return Math.pow(Math.sqrt(2),e[0]/e[1]).toFixed(2)}},37382:{name:"SubjectDistance",description:function(e){return e[0]/e[1]+" m"}},37383:{name:"MeteringMode",description:function(e){return 1===e?"Average":2===e?"CenterWeightedAverage":3===e?"Spot":4===e?"MultiSpot":5===e?"Pattern":6===e?"Partial":255===e?"Other":"Unknown"}},37384:{name:"LightSource",description:Y.LightSource},37385:{name:"Flash",description:function(e){return 0===e?"Flash did not fire":1===e?"Flash fired":5===e?"Strobe return light not detected":7===e?"Strobe return light detected":9===e?"Flash fired, compulsory flash mode":13===e?"Flash fired, compulsory flash mode, return light not detected":15===e?"Flash fired, compulsory flash mode, return light detected":16===e?"Flash did not fire, compulsory flash mode":24===e?"Flash did not fire, auto mode":25===e?"Flash fired, auto mode":29===e?"Flash fired, auto mode, return light not detected":31===e?"Flash fired, auto mode, return light detected":32===e?"No flash function":65===e?"Flash fired, red-eye reduction mode":69===e?"Flash fired, red-eye reduction mode, return light not detected":71===e?"Flash fired, red-eye reduction mode, return light detected":73===e?"Flash fired, compulsory flash mode, red-eye reduction mode":77===e?"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected":79===e?"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected":89===e?"Flash fired, auto mode, red-eye reduction mode":93===e?"Flash fired, auto mode, return light not detected, red-eye reduction mode":95===e?"Flash fired, auto mode, return light detected, red-eye reduction mode":"Unknown"}},37386:{name:"FocalLength",description:function(e){return e[0]/e[1]+" mm"}},37393:"ImageNumber",37394:{name:"SecurityClassification",description:function(e){return{C:"Confidential",R:"Restricted",S:"Secret",T:"Top Secret",U:"Unclassified"}[e]||"Unknown"}},37395:"ImageHistory",37396:{name:"SubjectArea",description:function(e){return 2===e.length?"Location; X: ".concat(e[0],", Y: ").concat(e[1]):3===e.length?"Circle; X: ".concat(e[0],", Y: ").concat(e[1],", diameter: ").concat(e[2]):4===e.length?"Rectangle; X: ".concat(e[0],", Y: ").concat(e[1],", width: ").concat(e[2],", height: ").concat(e[3]):"Unknown"}},37500:{name:"MakerNote",description:function(){return"[Raw maker note data]"}},37510:{name:"UserComment",description:q},37520:"SubSecTime",37521:"SubSecTimeOriginal",37522:"SubSecTimeDigitized",37888:{name:"AmbientTemperature",description:function(e){return e[0]/e[1]+" °C"}},37889:{name:"Humidity",description:function(e){return e[0]/e[1]+" %"}},37890:{name:"Pressure",description:function(e){return e[0]/e[1]+" hPa"}},37891:{name:"WaterDepth",description:function(e){return e[0]/e[1]+" m"}},37892:{name:"Acceleration",description:function(e){return e[0]/e[1]+" mGal"}},37893:{name:"CameraElevationAngle",description:function(e){return e[0]/e[1]+" °"}},40960:{name:"FlashpixVersion",description:function(e){return e.map((function(e){return String.fromCharCode(e)})).join("")}},40961:{name:"ColorSpace",description:function(e){return 1===e?"sRGB":65535===e?"Uncalibrated":"Unknown"}},40962:"PixelXDimension",40963:"PixelYDimension",40964:"RelatedSoundFile",40965:"Interoperability IFD Pointer",41483:"FlashEnergy",41484:{name:"SpatialFrequencyResponse",description:function(){return"[Raw SFR table data]"}},41486:"FocalPlaneXResolution",41487:"FocalPlaneYResolution",41488:{name:"FocalPlaneResolutionUnit",description:function(e){return 2===e?"inches":3===e?"centimeters":"Unknown"}},41492:{name:"SubjectLocation",description:function(e){var n=$(e,2),t=n[0],r=n[1];return"X: ".concat(t,", Y: ").concat(r)}},41493:"ExposureIndex",41495:{name:"SensingMethod",description:function(e){return 1===e?"Undefined":2===e?"One-chip color area sensor":3===e?"Two-chip color area sensor":4===e?"Three-chip color area sensor":5===e?"Color sequential area sensor":7===e?"Trilinear sensor":8===e?"Color sequential linear sensor":"Unknown"}},41728:{name:"FileSource",description:function(e){return 3===e?"DSC":"Unknown"}},41729:{name:"SceneType",description:function(e){return 1===e?"A directly photographed image":"Unknown"}},41730:{name:"CFAPattern",description:function(){return"[Raw CFA pattern table data]"}},41985:{name:"CustomRendered",description:function(e){return 0===e?"Normal process":1===e?"Custom process":"Unknown"}},41986:{name:"ExposureMode",description:function(e){return 0===e?"Auto exposure":1===e?"Manual exposure":2===e?"Auto bracket":"Unknown"}},41987:{name:"WhiteBalance",description:function(e){return 0===e?"Auto white balance":1===e?"Manual white balance":"Unknown"}},41988:{name:"DigitalZoomRatio",description:function(e){return 0===e[0]?"Digital zoom was not used":""+e[0]/e[1]}},41989:{name:"FocalLengthIn35mmFilm",description:function(e){return 0===e?"Unknown":e}},41990:{name:"SceneCaptureType",description:function(e){return 0===e?"Standard":1===e?"Landscape":2===e?"Portrait":3===e?"Night scene":"Unknown"}},41991:{name:"GainControl",description:function(e){return 0===e?"None":1===e?"Low gain up":2===e?"High gain up":3===e?"Low gain down":4===e?"High gain down":"Unknown"}},41992:{name:"Contrast",description:function(e){return 0===e?"Normal":1===e?"Soft":2===e?"Hard":"Unknown"}},41993:{name:"Saturation",description:function(e){return 0===e?"Normal":1===e?"Low saturation":2===e?"High saturation":"Unknown"}},41994:{name:"Sharpness",description:function(e){return 0===e?"Normal":1===e?"Soft":2===e?"Hard":"Unknown"}},41995:{name:"DeviceSettingDescription",description:function(){return"[Raw device settings table data]"}},41996:{name:"SubjectDistanceRange",description:function(e){return 1===e?"Macro":2===e?"Close view":3===e?"Distant view":"Unknown"}},42016:"ImageUniqueID",42032:"CameraOwnerName",42033:"BodySerialNumber",42034:{name:"LensSpecification",description:function(e){var n="".concat(e[0][0]/e[0][1],"-").concat(e[1][0]/e[1][1]," mm");return 0===e[3][1]?"".concat(n," f/?"):"".concat(n," f/").concat(1/(e[2][1]/e[2][1]/(e[3][0]/e[3][1])))}},42035:"LensMake",42036:"LensModel",42037:"LensSerialNumber",42080:{name:"CompositeImage",description:function(e){return{1:"Not a Composite Image",2:"General Composite Image",3:"Composite Image Captured While Shooting"}[e]||"Unknown"}},42081:"SourceImageNumberOfCompositeImage",42082:"SourceExposureTimesOfCompositeImage",42240:"Gamma",59932:"Padding",59933:"OffsetSchema",65e3:"OwnerName",65001:"SerialNumber",65002:"Lens",65100:"RawFile",65101:"Converter",65102:"WhiteBalance",65105:"Exposure",65106:"Shadows",65107:"Brightness",65108:"Contrast",65109:"Saturation",65110:"Sharpness",65111:"Smoothness",65112:"MoireFilter"}),ie={"0th":re,exif:re,gps:ne,interoperability:te};function oe(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,n){if(!e)return;if("string"==typeof e)return ae(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return ae(e,n)}(e))){var n=0,t=function(){};return{s:t,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:t}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i,o=!0,a=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw i}}}}function ae(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var ue={1:V.getByteAt,2:V.getAsciiAt,3:V.getShortAt,4:V.getLongAt,5:V.getRationalAt,7:V.getUndefinedAt,9:V.getSlongAt,10:V.getSrationalAt,13:V.getIfdPointerAt},ce={read:function(e,n){var t=b.getByteOrder(e,n),r=function(e,n,t){return de(e,"0th",n,function(e,n,t){return n+V.getLongAt(e,n+4,t)}(e,n,t),t)}(e,n,t);return r=le(r=se(r=fe(r,e,n,t),e,n,t),e,n,t)}};function fe(e,n,t,r){return void 0!==e["Exif IFD Pointer"]?a(e,de(n,"exif",t,t+e["Exif IFD Pointer"].value,r)):e}function se(e,n,t,r){return void 0!==e["GPS Info IFD Pointer"]?a(e,de(n,"gps",t,t+e["GPS Info IFD Pointer"].value,r)):e}function le(e,n,t,r){return void 0!==e["Interoperability IFD Pointer"]?a(e,de(n,"interoperability",t,t+e["Interoperability IFD Pointer"].value,r)):e}function de(e,n,t,r,i){var o=V.getTypeSize("SHORT"),a={},u=function(e,n,t){if(n+V.getTypeSize("SHORT")<=e.byteLength)return V.getShortAt(e,n,t);return 0}(e,r,i);r+=o;for(var c=0;c<u&&!(r+12>e.byteLength);c++){var f=pe(e,n,t,r,i);void 0!==f&&(a[f.name]={id:f.id,value:f.value,description:f.description}),r+=12}if(r<e.byteLength-V.getTypeSize("LONG")){var s=V.getLongAt(e,r,i);0!==s&&(a.Thumbnail=de(e,n,t,t+s,i))}return a}function pe(e,n,t,r,i){var o,a=V.getTypeSize("SHORT"),u=a+V.getTypeSize("SHORT"),c=u+V.getTypeSize("LONG"),f=V.getShortAt(e,r,i),s=V.getShortAt(e,r+a,i),l=V.getLongAt(e,r+u,i);if(void 0!==V.typeSizes[s]){if(function(e,n){return V.typeSizes[e]*n<=V.getTypeSize("LONG")}(s,l))o=me(e,r+c,s,l,i);else{var d=V.getLongAt(e,r+c,i);o=function(e,n,t,r,i){return n+t+V.typeSizes[r]*i<=e.byteLength}(e,t,d,s,l)?me(e,t+d,s,l,i):"<faulty value>"}if(s===V.tagTypes.ASCII&&(o=function(e){try{return e.map((function(e){return decodeURIComponent(escape(e))}))}catch(n){return e}}(o=function(e){var n,t=[],r=0,i=oe(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;"\0"!==o?(void 0===t[r]&&(t[r]=""),t[r]+=o):r++}}catch(e){i.e(e)}finally{i.f()}return t}(o))),void 0!==ie[n][f]){var p,m;if(void 0!==ie[n][f].name&&void 0!==ie[n][f].description){p=ie[n][f].name;try{m=ie[n][f].description(o)}catch(e){m=ge(o)}}else s===V.tagTypes.RATIONAL||s===V.tagTypes.SRATIONAL?(p=ie[n][f],m=""+o[0]/o[1]):(p=ie[n][f],m=ge(o));return{id:f,name:p,value:o,description:m}}return{id:f,name:"undefined-".concat(f),value:o,description:o}}}function me(e,n,t,r,i){for(var o=[],a=0;a<r;a++)o.push(ue[t](e,n,i)),n+=V.typeSizes[t];return t===V.tagTypes.ASCII?o=V.getAsciiValue(o):1===o.length&&(o=o[0]),o}function ge(e){return e instanceof Array?e.join(", "):e}var ve={read:function(e,n){var t=function(e,n){return V.getShortAt(e,n)}(e,n),r=function(e,n,t){if(8>t)return;var r=V.getByteAt(e,n+7);return{value:r,description:""+r}}(e,n,t);return{"Bits Per Sample":he(e,n,t),"Image Height":ye(e,n,t),"Image Width":Se(e,n,t),"Color Components":r,Subsampling:r&&be(e,n,r.value,t)}}};function he(e,n,t){if(!(3>t)){var r=V.getByteAt(e,n+2);return{value:r,description:""+r}}}function ye(e,n,t){if(!(5>t)){var r=V.getShortAt(e,n+3);return{value:r,description:"".concat(r,"px")}}}function Se(e,n,t){if(!(7>t)){var r=V.getShortAt(e,n+5);return{value:r,description:"".concat(r,"px")}}}function be(e,n,t,r){if(!(8+3*t>r)){for(var i=[],o=0;o<t;o++){var a=n+8+3*o;i.push([V.getByteAt(e,a),V.getByteAt(e,a+1),V.getByteAt(e,a+2)])}return{value:i,description:i.length>1?Ce(i)+Ie(i):""}}}function Ce(e){var n={1:"Y",2:"Cb",3:"Cr",4:"I",5:"Q"};return e.map((function(e){return n[e[0]]})).join("")}function Ie(e){var n={17:"4:4:4 (1 1)",18:"4:4:0 (1 2)",20:"4:4:1 (1 4)",33:"4:2:2 (2 1)",34:"4:2:0 (2 2)",36:"4:2:1 (2 4)",65:"4:1:1 (4 1)",66:"4:1:0 (4 2)"};return 0===e.length||void 0===e[0][1]||void 0===n[e[0][1]]?"":n[e[0][1]]}var Ae={iptc:{256:{name:"Model Version",description:function(e){return((e[0]<<8)+e[1]).toString()}},261:{name:"Destination",repeatable:!0},276:{name:"File Format",description:function(e){return((e[0]<<8)+e[1]).toString()}},278:{name:"File Format Version",description:function(e){return((e[0]<<8)+e[1]).toString()}},286:"Service Identifier",296:"Envelope Number",306:"Product ID",316:"Envelope Priority",326:{name:"Date Sent",description:we},336:{name:"Time Sent",description:Pe},346:{name:"Coded Character Set",description:Ue,encoding_name:Ue},356:"UNO",376:{name:"ARM Identifier",description:function(e){return((e[0]<<8)+e[1]).toString()}},378:{name:"ARM Version",description:function(e){return((e[0]<<8)+e[1]).toString()}},512:{name:"Record Version",description:function(e){return((e[0]<<8)+e[1]).toString()}},515:"Object Type Reference",516:"Object Attribute Reference",517:"Object Name",519:"Edit Status",520:{name:"Editorial Update",description:function(e){return"01"===J(e)?"Additional Language":"Unknown"}},522:"Urgency",524:{name:"Subject Reference",repeatable:!0,description:function(e){var n=J(e).split(":");return n[2]+(n[3]?"/"+n[3]:"")+(n[4]?"/"+n[4]:"")}},527:"Category",532:{name:"Supplemental Category",repeatable:!0},534:"Fixture Identifier",537:{name:"Keywords",repeatable:!0},538:{name:"Content Location Code",repeatable:!0},539:{name:"Content Location Name",repeatable:!0},542:"Release Date",547:"Release Time",549:"Expiration Date",550:"Expiration Time",552:"Special Instructions",554:{name:"Action Advised",description:function(e){var n=J(e);return"01"===n?"Object Kill":"02"===n?"Object Replace":"03"===n?"Object Append":"04"===n?"Object Reference":"Unknown"}},557:{name:"Reference Service",repeatable:!0},559:{name:"Reference Date",repeatable:!0},562:{name:"Reference Number",repeatable:!0},567:{name:"Date Created",description:we},572:{name:"Time Created",description:Pe},574:{name:"Digital Creation Date",description:we},575:{name:"Digital Creation Time",description:Pe},577:"Originating Program",582:"Program Version",587:{name:"Object Cycle",description:function(e){var n=J(e);return"a"===n?"morning":"p"===n?"evening":"b"===n?"both":"Unknown"}},592:{name:"By-line",repeatable:!0},597:{name:"By-line Title",repeatable:!0},602:"City",604:"Sub-location",607:"Province/State",612:"Country/Primary Location Code",613:"Country/Primary Location Name",615:"Original Transmission Reference",617:"Headline",622:"Credit",627:"Source",628:"Copyright Notice",630:{name:"Contact",repeatable:!0},632:"Caption/Abstract",634:{name:"Writer/Editor",repeatable:!0},637:{name:"Rasterized Caption",description:function(e){return e}},642:"Image Type",643:{name:"Image Orientation",description:function(e){var n=J(e);return"P"===n?"Portrait":"L"===n?"Landscape":"S"===n?"Square":"Unknown"}},647:"Language Identifier",662:{name:"Audio Type",description:function(e){var n=J(e),t=n.charAt(0),r=n.charAt(1),i="";return"1"===t?i+="Mono":"2"===t&&(i+="Stereo"),"A"===r?i+=", actuality":"C"===r?i+=", question and answer session":"M"===r?i+=", music, transmitted by itself":"Q"===r?i+=", response to a question":"R"===r?i+=", raw sound":"S"===r?i+=", scener":"V"===r?i+=", voicer":"W"===r&&(i+=", wrap"),""!==i?i:n}},663:{name:"Audio Sampling Rate",description:function(e){return parseInt(J(e),10)+" Hz"}},664:{name:"Audio Sampling Resolution",description:function(e){var n=parseInt(J(e),10);return n+(1===n?" bit":" bits")}},665:{name:"Audio Duration",description:function(e){var n=J(e);return n.length>=6?n.substr(0,2)+":"+n.substr(2,2)+":"+n.substr(4,2):n}},666:"Audio Outcue",698:"Short Document ID",699:"Unique Document ID",700:"Owner ID",712:{name:function(e){return 2===e.length?"ObjectData Preview File Format":"Record 2 destination"},description:function(e){if(2===e.length){var n=(e[0]<<8)+e[1];return 0===n?"No ObjectData":1===n?"IPTC-NAA Digital Newsphoto Parameter Record":2===n?"IPTC7901 Recommended Message Format":3===n?"Tagged Image File Format (Adobe/Aldus Image data)":4===n?"Illustrator (Adobe Graphics data)":5===n?"AppleSingle (Apple Computer Inc)":6===n?"NAA 89-3 (ANPA 1312)":7===n?"MacBinary II":8===n?"IPTC Unstructured Character Oriented File Format (UCOFF)":9===n?"United Press International ANPA 1312 variant":10===n?"United Press International Down-Load Message":11===n?"JPEG File Interchange (JFIF)":12===n?"Photo-CD Image-Pac (Eastman Kodak)":13===n?"Microsoft Bit Mapped Graphics File [*.BMP]":14===n?"Digital Audio File [*.WAV] (Microsoft & Creative Labs)":15===n?"Audio plus Moving Video [*.AVI] (Microsoft)":16===n?"PC DOS/Windows Executable Files [*.COM][*.EXE]":17===n?"Compressed Binary File [*.ZIP] (PKWare Inc)":18===n?"Audio Interchange File Format AIFF (Apple Computer Inc)":19===n?"RIFF Wave (Microsoft Corporation)":20===n?"Freehand (Macromedia/Aldus)":21===n?'Hypertext Markup Language "HTML" (The Internet Society)':22===n?"MPEG 2 Audio Layer 2 (Musicom), ISO/IEC":23===n?"MPEG 2 Audio Layer 3, ISO/IEC":24===n?"Portable Document File (*.PDF) Adobe":25===n?"News Industry Text Format (NITF)":26===n?"Tape Archive (*.TAR)":27===n?"Tidningarnas Telegrambyrå NITF version (TTNITF DTD)":28===n?"Ritzaus Bureau NITF version (RBNITF DTD)":29===n?"Corel Draw [*.CDR]":"Unknown format ".concat(n)}return J(e)}},713:{name:"ObjectData Preview File Format Version",description:function(e,n){var t={"00":{"00":"1"},"01":{"01":"1","02":"2","03":"3","04":"4"},"02":{"04":"4"},"03":{"01":"5.0","02":"6.0"},"04":{"01":"1.40"},"05":{"01":"2"},"06":{"01":"1"},11:{"01":"1.02"},20:{"01":"3.1","02":"4.0","03":"5.0","04":"5.5"},21:{"02":"2.0"}},r=J(e);if(n["ObjectData Preview File Format"]){var i=J(n["ObjectData Preview File Format"].value);if(t[i]&&t[i][r])return t[i][r]}return r}},714:"ObjectData Preview Data",1802:{name:"Size Mode",description:function(e){return e[0].toString()}},1812:{name:"Max Subfile Size",description:function(e){for(var n=0,t=0;t<e.length;t++)n=(n<<8)+e[t];return n.toString()}},1882:{name:"ObjectData Size Announced",description:function(e){for(var n=0,t=0;t<e.length;t++)n=(n<<8)+e[t];return n.toString()}},1887:{name:"Maximum ObjectData Size",description:function(e){for(var n=0,t=0;t<e.length;t++)n=(n<<8)+e[t];return n.toString()}}}};function we(e){var n=J(e);return n.length>=8?n.substr(0,4)+"-"+n.substr(4,2)+"-"+n.substr(6,2):n}function Pe(e){var n=J(e),t=n;return n.length>=6&&(t=n.substr(0,2)+":"+n.substr(2,2)+":"+n.substr(4,2),11===n.length&&(t+=n.substr(6,1)+n.substr(7,2)+":"+n.substr(9,2))),t}function Ue(e){var n=J(e);return"%G"===n?"UTF-8":"%5"===n?"Windows-1252":"%/G"===n?"UTF-8 Level 1":"%/H"===n?"UTF-8 Level 2":"%/I"===n?"UTF-8 Level 3":"/A"===n?"ISO-8859-1":"/B"===n?"ISO-8859-2":"/C"===n?"ISO-8859-3":"/D"===n?"ISO-8859-4":"/@"===n?"ISO-8859-5":"/G"===n?"ISO-8859-6":"/F"===n?"ISO-8859-7":"/H"===n?"ISO-8859-8":"Unknown"}var Oe={get:function(){if("undefined"!=typeof TextDecoder)return TextDecoder;return}};var De={decode:function(e,n){var t=Oe.get();if(void 0!==t&&void 0!==e)try{return new t(e).decode(Uint8Array.from(n))}catch(e){}return function(e){try{return decodeURIComponent(escape(e))}catch(n){return e}}(n.map((function(e){return String.fromCharCode(e)})).join(""))},TAG_HEADER_SIZE:5};var Te={read:function(e,n){try{var t=function(e,n){for(;n+12<=e.byteLength;){var t=Me(e,n);if(Fe(t))return{naaBlock:t,dataOffset:n};n+=12+t.size+xe(t)}throw new Error("No IPTC NAA resource block.")}(e,n),r=t.naaBlock,i=t.dataOffset;return function(e,n,t){var r={},i=void 0,o=(t+=12)+n.size;for(;t<o&&t<e.byteLength;){var a=Le(e,t,r,i),u=a.tag,c=a.tagSize;if(null===u)break;"encoding"in u&&(i=u.encoding),void 0===r[u.name]||void 0===u.repeatable?r[u.name]={id:u.id,value:u.value,description:u.description}:(r[u.name]instanceof Array||(r[u.name]=[{id:r[u.name].id,value:r[u.name].value,description:r[u.name].description}]),r[u.name].push({id:u.id,value:u.value,description:u.description})),t+=5+c}return r}(e,r,i)}catch(e){return{}}}};function Me(e,n){if(943868237!==e.getUint32(n,!1))throw new Error("Not an IPTC resource block.");return{type:e.getUint16(n+4,!1),size:e.getUint16(n+10,!1)}}function Fe(e){return 1028===e.type}function xe(e){return e.size%2!=0?1:0}function Le(e,n,t,r){if(function(e,n){return 28!==e.getUint8(n)}(e,n))return{tag:null,tagSize:0};var i=e.getUint16(n+1,!1),o=e.getUint16(n+3,!1),a=function(e,n,t){for(var r=[],i=0;i<t;i++)r.push(e.getUint8(n+i));return r}(e,n+5,o),u={id:i,name:ke(Ae.iptc[i],i,a),value:a,description:Re(Ae.iptc[i],a,t,r)};return function(e){return Ae.iptc[e]&&Ae.iptc[e].repeatable}(i)&&(u.repeatable=!0),function(e){return Ae.iptc[e]&&void 0!==Ae.iptc[e].encoding_name}(i)&&(u.encoding=Ae.iptc[i].encoding_name(a)),{tag:u,tagSize:o}}function ke(e,n,t){return e?function(e){return"string"==typeof e}(e)?e:function(e){return"function"==typeof e.name}(e)?e.name(t):e.name:"undefined-".concat(n)}function Re(e,n,t,r){if(function(e){return e&&void 0!==e.description}(e))try{return e.description(n,t)}catch(e){}return function(e,n){return e&&n instanceof Array}(e,n)?De.decode(r,n):n}function Ne(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var t=[],r=!0,i=!1,o=void 0;try{for(var a,u=e[Symbol.iterator]();!(r=(a=u.next()).done)&&(t.push(a.value),!n||t.length!==n);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==u.return||u.return()}finally{if(i)throw o}}return t}(e,n)||function(e,n){if(!e)return;if("string"==typeof e)return Ee(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Ee(e,n)}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ee(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var je={"tiff:Orientation":function(e){return"1"===e?"Horizontal (normal)":"2"===e?"Mirror horizontal":"3"===e?"Rotate 180":"4"===e?"Mirror vertical":"5"===e?"Mirror horizontal and rotate 270 CW":"6"===e?"Rotate 90 CW":"7"===e?"Mirror horizontal and rotate 90 CW":"8"===e?"Rotate 270 CW":e},"exif:GPSLatitude":Ge,"exif:GPSLongitude":Ge};function Ge(e){var n=Ne(e.split(","),2),t=n[0],r=n[1];if(void 0!==t&&void 0!==r){var i=parseFloat(t),o=parseFloat(r),a=r.charAt(r.length-1);if(!Number.isNaN(i)&&!Number.isNaN(o))return""+(i+o/60)+a}return e}var Be=t(0);function ze(e){return(ze="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function He(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,n){if(!e)return;if("string"==typeof e)return We(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return We(e,n)}(e))){var n=0,t=function(){};return{s:t,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:t}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,i,o=!0,a=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw i}}}}function We(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var Ve={read:function(e,n){return function(e,n){if(0===n.length)return[];var t=[_e(e,n.slice(0,1))];n.length>1&&t.push(_e(e,n.slice(1)));return t}(e,n).reduce(Xe,{})}};function _e(e,n){var t,r=n.reduce((function(e,n){return e+n.length}),0),i=new Uint8Array(r),o=0,a=He(n);try{for(a.s();!(t=a.n()).done;){var u=t.value,c=e.buffer.slice(u.dataOffset,u.dataOffset+u.length);i.set(new Uint8Array(c),o),o+=u.length}}catch(e){a.e(e)}finally{a.f()}return new DataView(i.buffer)}function Xe(e,n){try{return a(e,Qe(Ke(function e(n){for(var t=0;t<n.childNodes.length;t++){if("x:xmpmeta"===n.childNodes[t].tagName)return e(n.childNodes[t]);if("rdf:RDF"===n.childNodes[t].tagName)return n.childNodes[t]}throw new Error}(function(e){var n=Be.a.get();if(!n)throw console.warn("Warning: DOMParser is not available. It is needed to be able to parse XMP tags."),new Error;var t=new n,i=function(e){return e.replace(/^.+(<\?xpacket begin)/,"$1").replace(/(<\?xpacket end=".*"\?>).+$/,"$1")}(r(e,0,e.byteLength)),o=t.parseFromString(i,"application/xml");if("parsererror"===o.documentElement.nodeName)throw new Error(o.documentElement.textContent);return o}(n)),!0)))}catch(n){return e}}function Ke(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=Ye(e);return Je(t)?n?{}:qe(t[0]):$e(t)}function Ye(e){for(var n=[],t=0;t<e.childNodes.length;t++)n.push(e.childNodes[t]);return n}function Je(e){return 1===e.length&&"#text"===e[0].nodeName}function qe(e){return e.nodeValue}function $e(e){var n={};return e.forEach((function(e){if(function(e){return e.nodeName&&"#text"!==e.nodeName}(e)){var t=function(e){return{attributes:Ze(e),value:Ke(e)}}(e);void 0!==n[e.nodeName]?(Array.isArray(n[e.nodeName])||(n[e.nodeName]=[n[e.nodeName]]),n[e.nodeName].push(t)):n[e.nodeName]=t}})),n}function Ze(e){for(var n={},t=0;t<e.attributes.length;t++)n[e.attributes[t].nodeName]=decodeURIComponent(escape(e.attributes[t].value));return n}function Qe(e){var n={};if("string"==typeof e)return e;for(var t in e){var r=e[t];Array.isArray(r)||(r=[r]),r.forEach((function(e){a(n,en(e.attributes)),"object"===ze(e.value)&&a(n,fn(e.value))}))}return n}function en(e){var n={};for(var t in e)nn(t)&&(n[rn(t)]={value:e[t],attributes:{},description:on(e[t],t)});return n}function nn(e){return"rdf:parseType"!==e&&!tn(e)}function tn(e){return"xmlns"===e.split(":")[0]}function rn(e){return e.split(":")[1]}function on(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(Array.isArray(e))return an(e);if("object"===ze(e))return un(e);try{return n&&"function"==typeof je[n]?je[n](e):decodeURIComponent(escape(e))}catch(n){return e}}function an(e){return e.map((function(e){return void 0!==e.value?on(e.value):on(e)})).join(", ")}function un(e){var n=[];for(var t in e)n.push("".concat(cn(t),": ").concat(e[t].value));return n.join("; ")}function cn(e){return"CiAdrCity"===e?"CreatorCity":"CiAdrCtry"===e?"CreatorCountry":"CiAdrExtadr"===e?"CreatorAddress":"CiAdrPcode"===e?"CreatorPostalCode":"CiAdrRegion"===e?"CreatorRegion":"CiEmailWork"===e?"CreatorWorkEmail":"CiTelWork"===e?"CreatorWorkPhone":"CiUrlWork"===e?"CreatorWorkUrl":e}function fn(e){var n={};for(var t in e)tn(t)||(n[rn(t)]=sn(e[t],t));return n}function sn(e,n){return ln(e)?dn(e,n):function(e){return"Resource"===e.attributes["rdf:parseType"]||void 0!==e.value["rdf:Description"]&&void 0===e.value["rdf:Description"].value["rdf:value"]}(e)?function(e,n){var t={value:{},attributes:{}};void 0!==e.value["rdf:Description"]&&(a(t.value,en(e.value["rdf:Description"].attributes)),a(t.attributes,pn(e)),e=e.value["rdf:Description"]);return a(t.value,fn(e.value)),t.description=on(t.value,n),t}(e,n):function(e){return 0===Object.keys(e.value).length&&void 0===e.attributes["rdf:resource"]}(e)?function(e,n){var t=en(e.attributes);return{value:t,attributes:{},description:on(t,n)}}(e,n):function(e){return void 0!==mn(e.value)}(e)?function(e,n){var t=mn(e.value).value["rdf:li"],r=pn(e),i=[];void 0===t?t=[]:Array.isArray(t)||(t=[t]);return t.forEach((function(e){i.push(function(e){if(ln(e))return dn(e);if(function(e){return"Resource"===e.attributes["rdf:parseType"]}(e))return fn(e.value);return{value:e.value,attributes:pn(e),description:on(e.value)}}(e))})),{value:i,attributes:r,description:on(i,n)}}(e,n):function(e,n){var t=gn(e)||Qe(e.value);return{value:t,attributes:pn(e),description:on(t,n)}}(e,n)}function ln(e){return"Resource"===e.attributes["rdf:parseType"]&&void 0!==e.value["rdf:value"]||void 0!==e.value["rdf:Description"]&&void 0!==e.value["rdf:Description"].value["rdf:value"]}function dn(e,n){var t=pn(e);void 0!==e.value["rdf:Description"]&&(e=e.value["rdf:Description"]),a(t,pn(e),function(e){var n={};for(var t in e.value)"rdf:value"===t||tn(t)||(n[rn(t)]=e.value[t].value);return n}(e));var r=function(e){return gn(e.value["rdf:value"])||e.value["rdf:value"].value}(e);return{value:r,attributes:t,description:on(r,n)}}function pn(e){var n={};for(var t in e.attributes)"rdf:parseType"===t||"rdf:resource"===t||tn(t)||(n[rn(t)]=e.attributes[t]);return n}function mn(e){return e["rdf:Bag"]||e["rdf:Seq"]||e["rdf:Alt"]}function gn(e){return e.attributes&&e.attributes["rdf:resource"]}var vn={desc:{name:"ICC Description"},cprt:{name:"ICC Copyright"},dmdd:{name:"ICC Device Model Description"},vued:{name:"ICC Viewing Conditions Description"},dmnd:{name:"ICC Device Manufacturer for Display"},tech:{name:"Technology"}},hn={4:{name:"Preferred CMM type",value:function(e,n){return r(e,n,4)},description:function(e){return null!==e?yn(e):""}},8:{name:"Profile Version",value:function(e,n){return e.getUint8(n).toString(10)+"."+(e.getUint8(n+1)>>4).toString(10)+"."+(e.getUint8(n+1)%16).toString(10)}},12:{name:"Profile/Device class",value:function(e,n){return r(e,n,4)},description:function(e){switch(e.toLowerCase()){case"scnr":return"Input Device profile";case"mntr":return"Display Device profile";case"prtr":return"Output Device profile";case"link":return"DeviceLink profile";case"abst":return"Abstract profile";case"spac":return"ColorSpace profile";case"nmcl":return"NamedColor profile";case"cenc":return"ColorEncodingSpace profile";case"mid ":return"MultiplexIdentification profile";case"mlnk":return"MultiplexLink profile";case"mvis":return"MultiplexVisualization profile";default:return e}}},16:{name:"Color Space",value:function(e,n){return r(e,n,4)}},20:{name:"Connection Space",value:function(e,n){return r(e,n,4)}},24:{name:"ICC Profile Date",value:function(e,n){return function(e,n){var t=e.getUint16(n),r=e.getUint16(n+2)-1,i=e.getUint16(n+4),o=e.getUint16(n+6),a=e.getUint16(n+8),u=e.getUint16(n+10);return new Date(Date.UTC(t,r,i,o,a,u))}(e,n).toISOString()}},36:{name:"ICC Signature",value:function(e,n){return t=e.buffer.slice(n,n+4),String.fromCharCode.apply(null,new Uint8Array(t));var t}},40:{name:"Primary Platform",value:function(e,n){return r(e,n,4)},description:function(e){return yn(e)}},48:{name:"Device Manufacturer",value:function(e,n){return r(e,n,4)},description:function(e){return yn(e)}},52:{name:"Device Model Number",value:function(e,n){return r(e,n,4)}},64:{name:"Rendering Intent",value:function(e,n){return e.getUint32(n)},description:function(e){switch(e){case 0:return"Perceptual";case 1:return"Relative Colorimetric";case 2:return"Saturation";case 3:return"Absolute Colorimetric";default:return e}}},80:{name:"Profile Creator",value:function(e,n){return r(e,n,4)}}};function yn(e){switch(e.toLowerCase()){case"appl":return"Apple";case"adbe":return"Adobe";case"msft":return"Microsoft";case"sunw":return"Sun Microsystems";case"sgi":return"Silicon Graphics";case"tgnt":return"Taligent";default:return e}}var Sn={read:function(e,n){try{for(var t=n.reduce((function(e,n){return e+n.length}),0),o=new Uint8Array(t),a=0,u=e.buffer,c=function(e){var t=n.find((function(n){return n.chunkNumber===e}));if(!t)throw new Error("ICC chunk ".concat(e," not found"));var r=u.slice(t.offset,t.offset+t.length),i=new Uint8Array(r);o.set(i,a),a+=i.length},f=1;f<=n.length;f++)c(f);return function(e){var n=e.buffer,t=e.getUint32();if(e.byteLength!==t)throw new Error("ICC profile length not matching");if(e.length<84)throw new Error("ICC profile too short");for(var o={},a=0,u=Object.keys(hn);a<u.length;a++){var c=u[a],f=hn[c],s=f.value(e,parseInt(c,10)),l=s;f.description&&(l=f.description(s)),o[f.name]={value:s,description:l}}if("acsp"!==Cn(n.slice(36,40)))throw new Error("ICC profile: missing signature");if(function(e){return e.length<132}(n))return o;for(var d=e.getUint32(128),p=132,m=0;m<d;m++){if(bn(n,p))return o;var g=r(e,p,4),v=e.getUint32(p+4),h=e.getUint32(p+8);if(v>n.length)return o;var y=r(e,v,4);if("desc"===y){var S=e.getUint32(v+8);if(S>h)return o;var b=Cn(n.slice(v+12,v+S+11));In(o,g,b)}else if("mluc"===y){for(var C=e.getUint32(v+8),I=e.getUint32(v+12),A=v+16,w=[],P=0;P<C;P++){var U=r(e,A+0,2),O=r(e,A+2,2),D=e.getUint32(A+4),T=e.getUint32(A+8),M=i(e,v+T,D);w.push({languageCode:U,countryCode:O,text:M}),A+=I}if(1===C)In(o,g,w[0].text);else{for(var F={},x=0;x<w.length;x++)F["".concat(w[x].languageCode,"-").concat(w[x].countryCode)]=w[x].text;In(o,g,F)}}else if("text"===y){var L=Cn(n.slice(v+8,v+h-7));In(o,g,L)}else if("sig "===y){var k=Cn(n.slice(v+8,v+12));In(o,g,k)}p+=12}return o}(new DataView(o.buffer))}catch(e){return{}}}};function bn(e,n){return e.length<n+12}function Cn(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function In(e,n,t){vn[n]?e[vn[n].name]={value:t,description:t}:e[n]={value:t,description:t}}var An={read:function(e,n){return{"Image Width":wn(e,n),"Image Height":Pn(e,n),"Bit Depth":Un(e,n),"Color Type":On(e,n),Compression:Dn(e,n),Filter:Tn(e,n),Interlace:Mn(e,n)}}};function wn(e,n){if(!(n+0+4>e.byteLength)){var t=V.getLongAt(e,n);return{value:t,description:"".concat(t,"px")}}}function Pn(e,n){if(!(n+4+4>e.byteLength)){var t=V.getLongAt(e,n+4);return{value:t,description:"".concat(t,"px")}}}function Un(e,n){if(!(n+8+1>e.byteLength)){var t=V.getByteAt(e,n+8);return{value:t,description:"".concat(t)}}}function On(e,n){if(!(n+9+1>e.byteLength)){var t=V.getByteAt(e,n+9);return{value:t,description:{0:"Grayscale",2:"RGB",3:"Palette",4:"Grayscale with Alpha",6:"RGB with Alpha"}[t]||"Unknown"}}}function Dn(e,n){if(!(n+10+1>e.byteLength)){var t=V.getByteAt(e,n+10);return{value:t,description:0===t?"Deflate/Inflate":"Unknown"}}}function Tn(e,n){if(!(n+11+1>e.byteLength)){var t=V.getByteAt(e,n+11);return{value:t,description:0===t?"Adaptive":"Unknown"}}}function Mn(e,n){if(!(n+12+1>e.byteLength)){var t=V.getByteAt(e,n+12);return{value:t,description:{0:"Noninterlaced",1:"Adam7 Interlace"}[t]||"Unknown"}}}function Fn(e){return(Fn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var xn={get:function(e,n,t){if(c=n,c&&(void 0===c.Compression||6===c.Compression.value)&&c.JPEGInterchangeFormat&&c.JPEGInterchangeFormat.value&&c.JPEGInterchangeFormatLength&&c.JPEGInterchangeFormatLength.value){n.type="image/jpeg";var r=t+n.JPEGInterchangeFormat.value;n.image=e.buffer.slice(r,r+n.JPEGInterchangeFormatLength.value),i=n,o="base64",a=function(){return e=this.image,"undefined"!=typeof btoa?btoa(Array.prototype.reduce.call(new Uint8Array(e),(function(e,n){return e+String.fromCharCode(n)}),"")):"undefined"!=typeof Buffer?void 0!==Fn(Buffer.from)?Buffer.from(e).toString("base64"):new Buffer(e).toString("base64"):void 0;var e},u=!1,Object.defineProperty(i,o,{get:function(){return u||(u=!0,Object.defineProperty(i,o,{configurable:!0,enumerable:!0,value:a.apply(i),writable:!0})),i[o]},configurable:!0,enumerable:!0})}var i,o,a,u;var c;return n}};function Ln(e){this.name="MetadataMissingError",this.message=e||"No Exif data",this.stack=(new Error).stack}Ln.prototype=new Error;var kn={MetadataMissingError:Ln};function Rn(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}n.default={load:En,loadView:Gn,errors:kn};var Nn=kn;function En(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{expanded:!1};return Gn(jn(e),n)}function jn(e){try{return new DataView(e)}catch(n){return new f(e)}}function Gn(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{expanded:!1},t=!1,r={},i=z.parseAppMarkers(e),o=i.fileDataOffset,u=i.tiffHeaderOffset,c=i.iptcDataOffset,f=i.xmpChunks,v=i.iccChunks,S=i.pngHeaderOffset;if(h&&s&&Bn(o)){t=!0;var b=ve.read(e,o);n.expanded?r.file=b:r=a({},r,b)}if(l&&zn(u)){t=!0;var C=ce.read(e,u),I=C.Thumbnail,A=Rn(C,["Thumbnail"]);n.expanded?r.exif=A:r=a({},r,A),I&&(r.Thumbnail=I)}if(h&&d&&Hn(c)){t=!0;var w=Te.read(e,c);n.expanded?r.iptc=w:r=a({},r,w)}if(p&&Wn(f)){t=!0;var P=Ve.read(e,f);n.expanded?r.xmp=P:r=a({},r,P)}if(h&&m&&Vn(v)){t=!0;var U=Sn.read(e,v);n.expanded?r.icc=U:r=a({},r,U)}if(y&&_n(S)){t=!0;var O=An.read(e,S);n.expanded?r.pngFile=O:r=a({},r,O)}var D=h&&l&&g&&xn.get(e,r.Thumbnail,u);if(D&&(r.Thumbnail=D,t=!0),!t)throw new kn.MetadataMissingError;return r}function Bn(e){return void 0!==e}function zn(e){return void 0!==e}function Hn(e){return void 0!==e}function Wn(e){return Array.isArray(e)&&e.length>0}function Vn(e){return Array.isArray(e)&&e.length>0}function _n(e){return void 0!==e}}])})); | ||
//# sourceMappingURL=exif-reader.js.map |
{ | ||
"name": "exifreader", | ||
"version": "3.6.0", | ||
"version": "3.6.1", | ||
"description": "Library that parses Exif metadata in images.", | ||
@@ -34,3 +34,6 @@ "author": "Mattias Wallander <mattias@wallander.eu>", | ||
"cross-env": "^5.2.0", | ||
"cypress": "^4.3.0", | ||
"cypress-file-upload": "^4.0.4", | ||
"eslint": "^6.8.0", | ||
"eslint-plugin-cypress": "^2.10.3", | ||
"husky": "^0.14.3", | ||
@@ -42,3 +45,4 @@ "mocha": "^7.1.1", | ||
"webpack": "^4.42.0", | ||
"webpack-cli": "^3.3.6" | ||
"webpack-cli": "^3.3.6", | ||
"webpack-dev-server": "git+https://github.com/webpack/webpack-dev-server.git#c6bdfe4afb2ce3612c02142954c68a8e657c3915" | ||
}, | ||
@@ -48,5 +52,8 @@ "scripts": { | ||
"coverage": "nyc npm test", | ||
"cypress:open": "cypress open", | ||
"lint": "eslint .", | ||
"precommit": "npm-run-all lint test", | ||
"test": "cross-env BABEL_ENV=test mocha --require @babel/register", | ||
"start": "webpack-dev-server", | ||
"test": "cross-env BABEL_ENV=test mocha --require @babel/register --recursive \"test/unit/\"", | ||
"test:e2e": "cypress run", | ||
"postinstall": "node bin/build.js --only-with-config" | ||
@@ -53,0 +60,0 @@ }, |
@@ -10,14 +10,14 @@ /** | ||
import {objectAssign} from './utils'; | ||
import DataViewWrapper from './dataview'; | ||
import Constants from './constants'; | ||
import ImageHeader from './image-header'; | ||
import Tags from './tags'; | ||
import FileTags from './file-tags'; | ||
import IptcTags from './iptc-tags'; | ||
import XmpTags from './xmp-tags'; | ||
import IccTags from './icc-tags'; | ||
import PngFileTags from './png-file-tags'; | ||
import Thumbnail from './thumbnail'; | ||
import exifErrors from './errors'; | ||
import {objectAssign} from './utils.js'; | ||
import DataViewWrapper from './dataview.js'; | ||
import Constants from './constants.js'; | ||
import ImageHeader from './image-header.js'; | ||
import Tags from './tags.js'; | ||
import FileTags from './file-tags.js'; | ||
import IptcTags from './iptc-tags.js'; | ||
import XmpTags from './xmp-tags.js'; | ||
import IccTags from './icc-tags.js'; | ||
import PngFileTags from './png-file-tags.js'; | ||
import Thumbnail from './thumbnail.js'; | ||
import exifErrors from './errors.js'; | ||
@@ -24,0 +24,0 @@ export default { |
@@ -5,3 +5,3 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import Types from './types'; | ||
import Types from './types.js'; | ||
@@ -8,0 +8,0 @@ export default { |
@@ -5,3 +5,3 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import {getStringFromDataView} from './utils'; | ||
import {getStringFromDataView} from './utils.js'; | ||
@@ -8,0 +8,0 @@ export const iccTags = { |
/* This Source Code Form is subject to the terms of the Mozilla Public | ||
* License, v. 2.0. If a copy of the MPL was not distributed with this | ||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */ | ||
import {iccTags, iccProfile} from './icc-tag-names'; | ||
import {getStringFromDataView, getUnicodeStringFromDataView} from './utils'; | ||
import {iccTags, iccProfile} from './icc-tag-names.js'; | ||
import {getStringFromDataView, getUnicodeStringFromDataView} from './utils.js'; | ||
@@ -7,0 +7,0 @@ export default { |
@@ -5,4 +5,4 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import {getStringFromDataView} from './utils'; | ||
import Constants from './constants'; | ||
import {getStringFromDataView} from './utils.js'; | ||
import Constants from './constants.js'; | ||
@@ -9,0 +9,0 @@ export default { |
@@ -5,4 +5,4 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import {getStringFromDataView} from './utils'; | ||
import Constants from './constants'; | ||
import {getStringFromDataView} from './utils.js'; | ||
import Constants from './constants.js'; | ||
@@ -9,0 +9,0 @@ export default { |
@@ -5,4 +5,4 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import {getStringFromDataView} from './utils'; | ||
import Constants from './constants'; | ||
import {getStringFromDataView} from './utils.js'; | ||
import Constants from './constants.js'; | ||
@@ -20,3 +20,3 @@ export default { | ||
const PNG_CHUNK_DATA_OFFSET = PNG_CHUNK_LENGTH_SIZE + PNG_CHUNK_TYPE_SIZE; | ||
const PNG_XMP_PREFIX = 'XML:com.adobe.xmp'; | ||
const PNG_XMP_PREFIX = 'XML:com.adobe.xmp\x00'; | ||
@@ -40,7 +40,10 @@ function isPngFile(dataView) { | ||
} else if (Constants.USE_XMP && isPngXmpChunk(dataView, offset)) { | ||
offsets.hasAppMarkers = true; | ||
offsets.xmpChunks = [{ | ||
dataOffset: offset + PNG_CHUNK_DATA_OFFSET + PNG_XMP_PREFIX.length, | ||
length: dataView.getUint32(offset + PNG_CHUNK_LENGTH_OFFSET) - PNG_XMP_PREFIX.length | ||
}]; | ||
const dataOffset = getPngXmpDataOffset(dataView, offset); | ||
if (dataOffset !== undefined) { | ||
offsets.hasAppMarkers = true; | ||
offsets.xmpChunks = [{ | ||
dataOffset, | ||
length: dataView.getUint32(offset + PNG_CHUNK_LENGTH_OFFSET) - (dataOffset - (offset + PNG_CHUNK_DATA_OFFSET)) | ||
}]; | ||
} | ||
} | ||
@@ -67,1 +70,20 @@ | ||
} | ||
function getPngXmpDataOffset(dataView, offset) { | ||
const COMPRESSION_FLAG_SIZE = 1; | ||
const COMPRESSION_METHOD_SIZE = 1; | ||
offset += PNG_CHUNK_DATA_OFFSET + PNG_XMP_PREFIX.length + COMPRESSION_FLAG_SIZE + COMPRESSION_METHOD_SIZE; | ||
let numberOfNullSeparators = 0; | ||
while (numberOfNullSeparators < 2 && offset < dataView.byteLength) { | ||
if (dataView.getUint8(offset) === 0x00) { | ||
numberOfNullSeparators++; | ||
} | ||
offset++; | ||
} | ||
if (numberOfNullSeparators < 2) { | ||
return undefined; | ||
} | ||
return offset; | ||
} |
@@ -5,4 +5,4 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import ByteOrder from './byte-order'; | ||
import Constants from './constants'; | ||
import ByteOrder from './byte-order.js'; | ||
import Constants from './constants.js'; | ||
@@ -9,0 +9,0 @@ export default { |
@@ -5,7 +5,7 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import Constants from './constants'; | ||
import Tiff from './image-header-tiff'; | ||
import Jpeg from './image-header-jpeg'; | ||
import Png from './image-header-png'; | ||
import Heic from './image-header-heic'; | ||
import Constants from './constants.js'; | ||
import Tiff from './image-header-tiff.js'; | ||
import Jpeg from './image-header-jpeg.js'; | ||
import Png from './image-header-png.js'; | ||
import Heic from './image-header-heic.js'; | ||
@@ -12,0 +12,0 @@ export default { |
@@ -5,3 +5,3 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import {getStringValue} from './tag-names-utils'; | ||
import {getStringValue} from './tag-names-utils.js'; | ||
@@ -8,0 +8,0 @@ export default { |
@@ -5,4 +5,4 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import IptcTagNames from './iptc-tag-names'; | ||
import TagDecoder from './tag-decoder'; | ||
import IptcTagNames from './iptc-tag-names.js'; | ||
import TagDecoder from './tag-decoder.js'; | ||
@@ -9,0 +9,0 @@ const BYTES_8BIM = 0x3842494d; |
@@ -5,3 +5,3 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import Types from './types'; | ||
import Types from './types.js'; | ||
@@ -8,0 +8,0 @@ export default { |
@@ -5,3 +5,3 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import TextDecoder from './text-decoder'; | ||
import TextDecoder from './text-decoder.js'; | ||
@@ -8,0 +8,0 @@ const TAG_HEADER_SIZE = 5; |
@@ -5,3 +5,3 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import TagNamesCommon from './tag-names-common'; | ||
import TagNamesCommon from './tag-names-common.js'; | ||
@@ -8,0 +8,0 @@ export default { |
@@ -5,4 +5,4 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import {getStringValue, getEncodedString} from './tag-names-utils'; | ||
import TagNamesCommon from './tag-names-common'; | ||
import {getStringValue, getEncodedString} from './tag-names-utils.js'; | ||
import TagNamesCommon from './tag-names-common.js'; | ||
@@ -9,0 +9,0 @@ export default { |
@@ -5,3 +5,3 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import {getEncodedString} from './tag-names-utils'; | ||
import {getEncodedString} from './tag-names-utils.js'; | ||
@@ -8,0 +8,0 @@ export default { |
@@ -5,3 +5,3 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import {getStringValue} from './tag-names-utils'; | ||
import {getStringValue} from './tag-names-utils.js'; | ||
@@ -8,0 +8,0 @@ export default { |
@@ -5,7 +5,7 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import {objectAssign} from './utils'; | ||
import TagNames0thIfd from './tag-names-0th-ifd'; | ||
import TagNamesExifIfd from './tag-names-exif-ifd'; | ||
import TagNamesGpsIfd from './tag-names-gps-ifd'; | ||
import TagNamesInteroperabilityIfd from './tag-names-interoperability-ifd'; | ||
import {objectAssign} from './utils.js'; | ||
import TagNames0thIfd from './tag-names-0th-ifd.js'; | ||
import TagNamesExifIfd from './tag-names-exif-ifd.js'; | ||
import TagNamesGpsIfd from './tag-names-gps-ifd.js'; | ||
import TagNamesInteroperabilityIfd from './tag-names-interoperability-ifd.js'; | ||
@@ -12,0 +12,0 @@ const tagNames0thExifIfds = objectAssign({}, TagNames0thIfd, TagNamesExifIfd); |
@@ -5,6 +5,6 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import {objectAssign} from './utils'; | ||
import ByteOrder from './byte-order'; | ||
import Types from './types'; | ||
import TagNames from './tag-names'; | ||
import {objectAssign} from './utils.js'; | ||
import ByteOrder from './byte-order.js'; | ||
import Types from './types.js'; | ||
import TagNames from './tag-names.js'; | ||
@@ -11,0 +11,0 @@ const EXIF_IFD_POINTER_KEY = 'Exif IFD Pointer'; |
@@ -5,3 +5,3 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import {deferInit} from './utils'; | ||
import {deferInit} from './utils.js'; | ||
@@ -8,0 +8,0 @@ const COMPRESSION_JPEG = 6; |
@@ -5,3 +5,3 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import ByteOrder from './byte-order'; | ||
import ByteOrder from './byte-order.js'; | ||
@@ -8,0 +8,0 @@ const typeSizes = { |
@@ -5,5 +5,5 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
import {getStringFromDataView, objectAssign} from './utils'; | ||
import XmpTagNames from './xmp-tag-names'; | ||
import DOMParser from './dom-parser'; | ||
import {getStringFromDataView, objectAssign} from './utils.js'; | ||
import XmpTagNames from './xmp-tag-names.js'; | ||
import DOMParser from './dom-parser.js'; | ||
@@ -67,3 +67,3 @@ export default { | ||
const domParser = new Parser(); | ||
const xmlSource = getStringFromDataView(chunkDataView, 0, chunkDataView.byteLength); | ||
const xmlSource = trimXmlSource(getStringFromDataView(chunkDataView, 0, chunkDataView.byteLength)); | ||
const doc = domParser.parseFromString(xmlSource, 'application/xml'); | ||
@@ -78,2 +78,6 @@ | ||
function trimXmlSource(xmlSource) { | ||
return xmlSource.replace(/^.+(<\?xpacket begin)/, '$1').replace(/(<\?xpacket end=".*"\?>).+$/, '$1'); | ||
} | ||
function getRDF(node) { | ||
@@ -80,0 +84,0 @@ for (let i = 0; i < node.childNodes.length; i++) { |
@@ -34,2 +34,10 @@ /* This Source Code Form is subject to the terms of the Mozilla Public | ||
devtool: 'source-map', | ||
devServer: { | ||
contentBase: [path.join(__dirname, 'examples'), path.join(__dirname, 'src')], | ||
contentBasePublicPath: ['/', '/src'], | ||
https: true, | ||
open: !process.env.CI, | ||
watchContentBase: !process.env.CI, | ||
liveReload: !process.env.CI | ||
}, | ||
module: { | ||
@@ -113,3 +121,2 @@ rules: [ | ||
for (const module in modules) { | ||
console.log(`Constants.USE_${module.toUpperCase()}`, JSON.stringify(modules[module])); | ||
replacements.push({ | ||
@@ -116,0 +123,0 @@ search: `Constants\\.USE_${module.toUpperCase()}`, |
Sorry, the diff of this file is not supported yet
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
448059
4494
20
4