Build 533169stable
Module 525012
2,181 characters · in no known chunkDependencies
Source Raw
function(e,t,n){"use strict";n.d(t,{A:()=>f});var r=n(402256),i=n(177487);let s=0x3842494d,a=4,o=2,l=1,u=4,c=12,d=1028,_=5,f={read:p};function p(e,t,n){try{if(Array.isArray(e))return A(new DataView(Uint8Array.from(e).buffer),{size:e.length},0,n);let{naaBlock:r,dataOffset:i}=h(e,t);return A(e,r,i,n)}catch(e){return{}}}function h(e,t){for(;t+c<=e.byteLength;){let n=m(e,t);if(E(n))return{naaBlock:n,dataOffset:t+n.headerSize};t+=n.headerSize+n.size+g(n)}throw Error("No IPTC NAA resource block.")}function m(e,t){if(e.getUint32(t,!1)!==s)throw Error("Not an IPTC resource block.");let n=e.getUint8(t+a+o),r=(n%2==0?n+1:n)+l;return{headerSize:a+o+r+u,type:e.getUint16(t+a),size:e.getUint32(t+a+o+r)}}function E(e){return e.type===d}function g(e){return+(e.size%2!=0)}function A(e,t,n,r){let i,s={},a=n+t.size;for(;n<a&&n<e.byteLength;){let{tag:t,tagSize:a}=I(e,n,s,i,r);if(null===t)break;t&&("encoding"in t&&(i=t.encoding),void 0===s[t.name]||void 0===t.repeatable?s[t.name]={id:t.id,value:t.value,description:t.description}:(s[t.name]instanceof Array||(s[t.name]=[{id:s[t.name].id,value:s[t.name].value,description:s[t.name].description}]),s[t.name].push({id:t.id,value:t.value,description:t.description}))),n+=_+a}return s}function I(e,t,n,i,s){let a=1,o=3;if(T(e,t))return{tag:null,tagSize:0};let l=e.getUint16(t+a),u=e.getUint16(t+o);if(!s&&!r.A.iptc[l])return{tag:void 0,tagSize:u};let c=S(e,t+_,u),d={id:l,name:y(r.A.iptc[l],l,c),value:c,description:C(r.A.iptc[l],c,n,i)};return b(l)&&(d.repeatable=!0),D(l)&&(d.encoding=r.A.iptc[l].encoding_name(c)),{tag:d,tagSize:u}}function T(e,t){let n=28;return e.getUint8(t)!==n}function S(e,t,n){let r=[];for(let i=0;i<n;i++)r.push(e.getUint8(t+i));return r}function y(e,t,n){return e?v(e)?e:N(e)?e.name(n):e.name:`undefined-${t}`}function v(e){return"string"==typeof e}function N(e){return"function"==typeof e.name}function C(e,t,n,r){if(O(e))try{return e.description(t,n)}catch(e){}return R(e,t)?i.A.decode(r,t):t}function R(e,t){return e&&t instanceof Array}function O(e){return e&&void 0!==e.description}function b(e){return r.A.iptc[e]&&r.A.iptc[e].repeatable}function D(e){return r.A.iptc[e]&&void 0!==r.A.iptc[e].encoding_name}}