Build 533169stable
Module 201147
2,298 characters · in no known chunkDependencies
Source Raw
function(e,t,n){"use strict";n.d(t,{A:()=>u});var r=n(643479),i=n(177487),s=n(234291),a=n(664741),o=n(525012),l=n(761799);let u={read:g},c="STATE_KEYWORD",d="STATE_COMPRESSION",_="STATE_LANG",f="STATE_TRANSLATED_KEYWORD",p="STATE_TEXT",h=1,m=1,E=6;function g(e,t,n,r){let i={},s=[];for(let u=0;u<t.length;u++){let{offset:c,length:d,type:_}=t[u],f=A(e,c,d,_,n);if(f instanceof Promise)s.push(f.then(({name:e,value:t,description:n})=>{try{if(l.A.USE_EXIF&&R(e,t))return{__exif:a.A.read(b(t),E,r).tags};if(l.A.USE_IPTC&&O(e,t))return{__iptc:o.A.read(b(t),0,r)};if(e&&!R(e,t)&&!O(e,t))return{[e]:{value:t,description:n}}}catch(e){}return{}}));else{let{name:e,value:t,description:n}=f;e&&(i[e]={value:t,description:n})}}return{readTags:i,readTagsPromise:s.length>0?Promise.all(s):void 0}}function A(e,t,n,i,a){let o,l=[],u=[],m=[],E=c,g=r.Gl;for(let r=0;r<n&&t+r<e.byteLength;r++){if(E===d){g=I({type:i,dataView:e,offset:t+r}),i===s.Xo&&(r+=h),E=T(i,E);continue}if(E===p){o=new DataView(e.buffer.slice(t+r,t+n));break}let a=e.getUint8(t+r);0===a?E=T(i,E):E===c?l.push(a):E===_?u.push(a):E===f&&m.push(a)}if(g!==r.Gl&&!a)return{};let A=(0,r.mF)(o,g,S(i));return A instanceof Promise?A.then(e=>y(e,i,u,l)).catch(()=>y("<text using unknown compression>".split(""),i,u,l)):y(A,i,u,l)}function I({type:e,dataView:t,offset:n}){if(e===s.Xo){if(t.getUint8(n)===m)return t.getUint8(n+1)}else if(e===s.aA)return t.getUint8(n);return r.Gl}function T(e,t){return t===c&&[s.Xo,s.aA].includes(e)?d:t===d?e===s.Xo?_:p:t===_?f:p}function S(e){return e===s.HL||e===s.aA?"latin1":"utf-8"}function y(e,t,n,r){let i=N(e);return{name:v(t,n,r),value:i,description:t===s.Xo?C(e):i}}function v(e,t,n){let i=(0,r.YF)(n);if(e===s.HL||0===t.length)return i;let a=(0,r.YF)(t);return`${i} (${a})`}function N(e){return e instanceof DataView?(0,r.hT)(e,0,e.byteLength):e}function C(e){return i.A.decode("UTF-8",e)}function R(e,t){return"raw profile type exif"===e.toLowerCase()&&"exif"===t.substring(1,5)}function O(e,t){return"raw profile type iptc"===e.toLowerCase()&&"iptc"===t.substring(1,5)}function b(e){return D(e.match(/\n(exif|iptc)\n\s*\d+\n([\s\S]*)$/)[2].replace(/\n/g,""))}function D(e){let t=new DataView(new ArrayBuffer(e.length/2));for(let n=0;n<e.length;n+=2)t.setUint8(n/2,parseInt(e.substring(n,n+2),16));return t}}