1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4920],{64920:(e,t,f)=>{f.d(t,{parquetMetadataAsync:()=>M,parquetReadObjects:()=>eE});let r=["BOOLEAN","INT32","INT64","INT96","FLOAT","DOUBLE","BYTE_ARRAY","FIXED_LEN_BYTE_ARRAY"],n=["PLAIN","GROUP_VAR_INT","PLAIN_DICTIONARY","RLE","BIT_PACKED","DELTA_BINARY_PACKED","DELTA_LENGTH_BYTE_ARRAY","DELTA_BYTE_ARRAY","RLE_DICTIONARY","BYTE_STREAM_SPLIT"],i=["REQUIRED","OPTIONAL","REPEATED"],l=["UTF8","MAP","MAP_KEY_VALUE","LIST","ENUM","DECIMAL","DATE","TIME_MILLIS","TIME_MICROS","TIMESTAMP_MILLIS","TIMESTAMP_MICROS","UINT_8","UINT_16","UINT_32","UINT_64","INT_8","INT_16","INT_32","INT_64","JSON","BSON","INTERVAL"],o=["UNCOMPRESSED","SNAPPY","GZIP","LZO","BROTLI","LZ4","ZSTD","LZ4_RAW"],a=["DATA_PAGE","INDEX_PAGE","DICTIONARY_PAGE","DATA_PAGE_V2"],s=["SPHERICAL","VINCENTY","THOMAS","ANDOYER","KARNEY"];function u(e){let t=d(e);if(1===t.type)return{type:"Point",coordinates:_(e,t)};if(2===t.type)return{type:"LineString",coordinates:c(e,t)};if(3===t.type)return{type:"Polygon",coordinates:p(e,t)};if(4===t.type){let f=[];for(let r=0;r<t.count;r++)f.push(_(e,d(e)));return{type:"MultiPoint",coordinates:f}}if(5===t.type){let f=[];for(let r=0;r<t.count;r++)f.push(c(e,d(e)));return{type:"MultiLineString",coordinates:f}}else if(6===t.type){let f=[];for(let r=0;r<t.count;r++)f.push(p(e,d(e)));return{type:"MultiPolygon",coordinates:f}}else if(7===t.type){let f=[];for(let r=0;r<t.count;r++)f.push(u(e));return{type:"GeometryCollection",geometries:f}}else throw Error(`Unsupported geometry type: ${t.type}`)}function d(e){let{view:t}=e,f=1===t.getUint8(e.offset++),r=t.getUint32(e.offset,f);e.offset+=4;let n=r%1e3,i=Math.floor(r/1e3),l=0;n>1&&n<=7&&(l=t.getUint32(e.offset,f),e.offset+=4);let o=2;return i&&o++,3===i&&o++,{littleEndian:f,type:n,dim:o,count:l}}function _(e,t){let f=[];for(let r=0;r<t.dim;r++){let r=e.view.getFloat64(e.offset,t.littleEndian);e.offset+=8,f.push(r)}return f}function c(e,t){let f=[];for(let r=0;r<t.count;r++)f.push(_(e,t));return f}function p(e,t){let{view:f}=e,r=[];for(let n=0;n<t.count;n++){let n=f.getUint32(e.offset,t.littleEndian);e.offset+=4,r.push(c(e,{...t,count:n}))}return r}let y=new TextDecoder,g={timestampFromMilliseconds:e=>new Date(Number(e)),timestampFromMicroseconds:e=>new Date(Number(e/1000n)),timestampFromNanoseconds:e=>new Date(Number(e/1000000n)),dateFromDays:e=>new Date(864e5*e),stringFromBytes:e=>e&&y.decode(e),jsonFromBytes:e=>e&&JSON.parse(y.decode(e)),geometryFromBytes:e=>e&&u({view:new DataView(e.buffer,e.byteOffset,e.byteLength),offset:0}),geographyFromBytes:e=>e&&u({view:new DataView(e.buffer,e.byteOffset,e.byteLength),offset:0}),uuidFromBytes(e){if(!e)return;let t=Array.from(e,e=>e.toString(16).padStart(2,"0")).join("");return t.slice(0,8)+"-"+t.slice(8,12)+"-"+t.slice(12,16)+"-"+t.slice(16,20)+"-"+t.slice(20,32)}};function h(e,t,f,r){if(!(t&&f.endsWith("_DICTIONARY")))return m(e,r);{let f=e;e instanceof Uint8Array&&!(t instanceof Uint8Array)&&(f=new t.constructor(e.length));for(let r=0;r<e.length;r++)f[r]=t[e[r]];return f}}function m(e,t){let{element:f,parsers:r,utf8:n=!0,schemaPath:i}=t,{type:l,converted_type:o,logical_type:a}=f,s="REQUIRED"!==f.repetition_type;if(i?.some(e=>e.element.logical_type?.type==="VARIANT")&&"BYTE_ARRAY"===l&&"UTF8"!==o&&a?.type!=="STRING")return e;if("DECIMAL"===o){let t=f.scale||0,r=10**-t,n=Array(e.length);for(let t=0;t<n.length;t++)e[t]instanceof Uint8Array?n[t]=A(e[t])*r:n[t]=Number(e[t])*r;return n}if(!o&&"INT96"===l)return Array.from(e).map(e=>{var t;return r.timestampFromNanoseconds(86400000000000n*(((t=e)>>64n)-2440588n)+(0xffffffffffffffffn&t))});if("DATE"===o)return Array.from(e).map(e=>r.dateFromDays(e));if("TIMESTAMP_MILLIS"===o)return Array.from(e).map(e=>r.timestampFromMilliseconds(e));if("TIMESTAMP_MICROS"===o)return Array.from(e).map(e=>r.timestampFromMicroseconds(e));if("JSON"===o)return e.map(e=>r.jsonFromBytes(e));if("BSON"===o)throw Error("parquet bson not supported");if("INTERVAL"===o)throw Error("parquet interval not supported");if(a?.type==="GEOMETRY")return e.map(e=>r.geometryFromBytes(e));if(a?.type==="GEOGRAPHY")return e.map(e=>r.geographyFromBytes(e));if(a?.type==="UUID")return e.map(e=>r.uuidFromBytes(e));if("UTF8"===o||a?.type==="STRING"||n&&"BYTE_ARRAY"===l)return e.map(e=>r.stringFromBytes(e));if("UINT_64"===o||a?.type==="INTEGER"&&64===a.bitWidth&&!a.isSigned){if(e instanceof BigInt64Array)return new BigUint64Array(e.buffer,e.byteOffset,e.length);let t=s?Array(e.length):new BigUint64Array(e.length);for(let f=0;f<t.length;f++)t[f]=e[f];return t}if("UINT_32"===o||a?.type==="INTEGER"&&32===a.bitWidth&&!a.isSigned){if(e instanceof Int32Array)return new Uint32Array(e.buffer,e.byteOffset,e.length);let t=s?Array(e.length):new Uint32Array(e.length);for(let f=0;f<t.length;f++)t[f]=e[f]<0?0x100000000+e[f]:e[f];return t}if(a?.type==="FLOAT16")return Array.from(e).map(w);if(a?.type==="TIMESTAMP"){let{unit:t}=a,f=r.timestampFromMilliseconds;"MICROS"===t&&(f=r.timestampFromMicroseconds),"NANOS"===t&&(f=r.timestampFromNanoseconds);let n=Array(e.length);for(let t=0;t<n.length;t++)n[t]=f(e[t]);return n}return e}function A(e){if(!e.length)return 0;let t=0n;for(let f of e)t=256n*t+BigInt(f);let f=8*e.length;return t>=2n**BigInt(f-1)&&(t-=2n**BigInt(f)),Number(t)}function w(e){if(!e)return;let t=e[1]<<8|e[0],f=t>>15?-1:1,r=t>>10&31,n=1023&t;return 0===r?6103515625e-14*f*(n/1024):31===r?n?NaN:1/0*f:f*2**(r-15)*(1+n/1024)}function E(e,t){let f=function e(t,f,r){let n=t[f],i=[],l=1;if(n.num_children)for(;i.length<n.num_children;){let n=t[f+l],o=e(t,f+l,[...r,n.name]);l+=o.count,i.push(o)}return{count:l,element:n,children:i,path:r}}(e,0,[]),r=[f];for(let e of t){let n=f.children.find(t=>t.element.name===e);if(!n)throw Error(`parquet schema element not found: ${t}`);r.push(n),f=n}return r}function b(e){let t=[];return!function e(f){if(f.children.length)for(let t of f.children)e(t);else t.push(f.path.join("."))}(e),t}function I(e){let t=0;for(let{element:f}
1of e)"REPEATED"===f.repetition_type&&t++;return t}function v(e){let t=0;for(let{element:f}of e.slice(1))"REQUIRED"!==f.repetition_type&&t++;return t}function T(e){if(2!==e.length)return!1;let[,t]=e;return"REPEATED"!==t.element.repetition_type&&!t.children.length}function N(e){let t={},f=0;for(;e.offset<e.view.byteLength;){let r=e.view.getUint8(e.offset++),n=15&r;if(0===n)break;let i=r>>4;f=i?f+i:R(e),t[`field_${f}`]=function e(t,f){switch(f){case 1:return!0;case 2:return!1;case 3:return t.view.getInt8(t.offset++);case 4:case 5:return R(t);case 6:return O(t);case 7:{let e=t.view.getFloat64(t.offset,!0);return t.offset+=8,e}case 8:{let e=L(t),f=new Uint8Array(t.view.buffer,t.view.byteOffset+t.offset,e);return t.offset+=e,f}case 9:{let f=t.view.getUint8(t.offset++),r=15&f,n=f>>4;15===n&&(n=L(t));let i=1===r||2===r,l=Array(n);for(let f=0;f<n;f++)l[f]=i?1===e(t,3):e(t,r);return l}case 12:return N(t);default:throw Error(`thrift unhandled type: ${f}`)}}(e,n)}return t}function L(e){let t=0,f=0;for(;;){let r=e.view.getUint8(e.offset++);if(t|=(127&r)<<f,!(128&r))return t;f+=7}}function R(e){let t=L(e);return t>>>1^-(1&t)}function O(e){let t=function(e){let t=0n,f=0n;for(;;){let r=e.view.getUint8(e.offset++);if(t|=BigInt(127&r)<<f,!(128&r))return t;f+=7n}}(e);return t>>1n^-(1n&t)}let U=new TextDecoder;function B(e){return e&&U.decode(e)}async function M(e,{parsers:t,initialFetchSize:f=524288,geoparquet:r=!0}={}){if(!e||!(e.byteLength>=0))throw Error("parquet expected AsyncBuffer");let n=Math.max(0,e.byteLength-f),i=await e.slice(n,e.byteLength),l=new DataView(i);if(0x31524150!==l.getUint32(i.byteLength-4,!0))throw Error("parquet file invalid (footer != PAR1)");let o=l.getUint32(i.byteLength-8,!0);if(o>e.byteLength-8)throw Error(`parquet metadata length ${o} exceeds available buffer ${e.byteLength-8}`);if(!(o+8>f))return D(i,{parsers:t,geoparquet:r});{let f=e.byteLength-o-8,l=await e.slice(f,n),a=new ArrayBuffer(o+8),s=new Uint8Array(a);return s.set(new Uint8Array(l)),s.set(new Uint8Array(i),n-f),D(a,{parsers:t,geoparquet:r})}}function D(e,{parsers:t,geoparquet:f=!0}={}){if(!(e instanceof ArrayBuffer))throw Error("parquet expected ArrayBuffer");let u=new DataView(e);if(t={...g,...t},u.byteLength<8)throw Error("parquet file is too short");if(0x31524150!==u.getUint32(u.byteLength-4,!0))throw Error("parquet file invalid (footer != PAR1)");let d=u.byteLength-8,_=u.getUint32(d,!0);if(_>u.byteLength-8)throw Error(`parquet metadata length ${_} exceeds available buffer ${u.byteLength-8}`);let c=N({view:u,offset:d-_}),p=c.field_1,y=c.field_2.map(e=>{var t;return{type:r[e.field_1],type_length:e.field_2,repetition_type:i[e.field_3],name:B(e.field_4),num_children:e.field_5,converted_type:l[e.field_6],scale:e.field_7,precision:e.field_8,field_id:e.field_9,logical_type:(t=e.field_10,t?.field_1?{type:"STRING"}:t?.field_2?{type:"MAP"}:t?.field_3?{type:"LIST"}:t?.field_4?{type:"ENUM"}:t?.field_5?{type:"DECIMAL",scale:t.field_5.field_1,precision:t.field_5.field_2}:t?.field_6?{type:"DATE"}:t?.field_7?{type:"TIME",isAdjustedToUTC:t.field_7.field_1,unit:x(t.field_7.field_2)}:t?.field_8?{type:"TIMESTAMP",isAdjustedToUTC:t.field_8.field_1,unit:x(t.field_8.field_2)}:t?.field_10?{type:"INTEGER",bitWidth:t.field_10.field_1,isSigned:t.field_10.field_2}:t?.field_11?{type:"NULL"}:t?.field_12?{type:"JSON"}:t?.field_13?{type:"BSON"}:t?.field_14?{type:"UUID"}:t?.field_15?{type:"FLOAT16"}:t?.field_16?{type:"VARIANT",specification_version:t.field_16.field_1}:t?.field_17?{type:"GEOMETRY",crs:B(t.field_17.field_1)}:t?.field_18?{type:"GEOGRAPHY",crs:B(t.field_18.field_1),algorithm:s[t.field_18.field_2]}:t)}}),h=y.filter(e=>e.type),m=c.field_3,A=c.field_4.map(e=>({columns:e.field_1.map((e,f)=>{var i,l,s;return{file_path:B(e.field_1),file_offset:e.field_2,meta_data:e.field_3&&{type:r[e.field_3.field_1],encodings:e.field_3.field_2?.map(e=>n[e]),path_in_schema:e.field_3.field_3.map(B),codec:o[e.field_3.field_4],num_values:e.field_3.field_5,total_uncompressed_size:e.field_3.field_6,total_compressed_size:e.field_3.field_7,key_value_metadata:e.field_3.field_8?.map(e=>({key:B(e.field_1),value:B(e.field_2)})),data_page_offset:e.field_3.field_9,index_page_offset:e.field_3.field_10,dictionary_page_offset:e.field_3.field_11,statistics:(i=e.field_3.field_12,l=h[f],s=t,i&&{max:$(i.field_1,l,s),min:$(i.field_2,l,s),null_count:i.field_3,distinct_count:i.field_4,max_value:$(i.field_5,l,s),min_value:$(i.field_6,l,s),is_max_value_exact:i.field_7,is_min_value_exact:i.field_8}),encoding_stats:e.field_3.field_13?.map(e=>({page_type:a[e.field_1],encoding:n[e.field_2],count:e.field_3})),bloom_filter_offset:e.field_3.field_14,bloom_filter_length:e.field_3.field_15,size_statistics:e.field_3.field_16&&{unencoded_byte_array_data_bytes:e.field_3.field_16.field_1,repetition_level_histogram:e.field_3.field_16.field_2,definition_level_histogram:e.field_3.field_16.field_3},geospatial_statistics:e.field_3.field_17&&{bbox:e.field_3.field_17.field_1&&{xmin:e.field_3.field_17.field_1.field_1,xmax:e.field_3.field_17.field_1.field_2,ymin:e.field_3.field_17.field_1.field_3,ymax:e.field_3.field_17.field_1.field_4,zmin:e.field_3.field_17.field_1.field_5,zmax:e.field_3.field_17.field_1.field_6,mmin:e.field_3.field_17.field_1.field_7,mmax:e.field_3.field_17.field_1.field_8},geospatial_types:e.field_3.field_17.field_2}},offset_index_offset:e.field_4,offset_index_length:e.field_5,column_index_offset:e.field_6,column_index_length:e.field_7,crypto_metadata:e.field_8,encrypted_column_metadata:e.field_9}}),total_byte_size:e.field_2,num_rows:e.field_3,sorting_columns:e.field_4?.map(e=>
1({column_idx:e.field_1,descending:e.field_2,nulls_first:e.field_3})),file_offset:e.field_5,total_compressed_size:e.field_6,ordinal:e.field_7})),w=c.field_5?.map(e=>({key:B(e.field_1),value:B(e.field_2)})),E=B(c.field_6);return f&&function(e,t){let f=new Map,r=t?.find(({key:e})=>"geo"===e)?.value;for(let[e,t]of Object.entries((r&&JSON.parse(r)?.columns)??{})){if("WKB"!==t.encoding)continue;let r="spherical"===t.edges?"GEOGRAPHY":"GEOMETRY",n=t.crs?.id??t.crs?.ids?.[0],i=n?`${n.authority}:${n.code.toString()}`:void 0;f.set(e,{type:r,crs:i})}for(let t=1;t<e.length;t++){let{logical_type:r,name:n,num_children:i,type:l}=e[t];if(i){t+=i;continue}"BYTE_ARRAY"!==l||r||(e[t].logical_type=f.get(n))}}(y,w),{version:p,schema:y,num_rows:m,row_groups:A,key_value_metadata:w,created_by:E,metadata_length:_}}function S({schema:e}){return E(e,[])[0]}function x(e){if(e.field_1)return"MILLIS";if(e.field_2)return"MICROS";if(e.field_3)return"NANOS";throw Error("parquet time unit required")}function $(e,t,f){let{type:r,converted_type:n,logical_type:i}=t;if(void 0===e)return e;if("BOOLEAN"===r)return 1===e[0];if("BYTE_ARRAY"===r)return f.stringFromBytes(e);let l=new DataView(e.buffer,e.byteOffset,e.byteLength);return"FLOAT"===r&&4===l.byteLength?l.getFloat32(0,!0):"DOUBLE"===r&&8===l.byteLength?l.getFloat64(0,!0):"INT32"===r&&"DATE"===n?f.dateFromDays(l.getInt32(0,!0)):"INT64"===r&&"TIMESTAMP_MILLIS"===n?f.timestampFromMilliseconds(l.getBigInt64(0,!0)):"INT64"===r&&"TIMESTAMP_MICROS"===n?f.timestampFromMicroseconds(l.getBigInt64(0,!0)):"INT64"===r&&i?.type==="TIMESTAMP"&&i?.unit==="NANOS"?f.timestampFromNanoseconds(l.getBigInt64(0,!0)):"INT64"===r&&i?.type==="TIMESTAMP"&&i?.unit==="MICROS"?f.timestampFromMicroseconds(l.getBigInt64(0,!0)):"INT64"===r&&i?.type==="TIMESTAMP"?f.timestampFromMilliseconds(l.getBigInt64(0,!0)):"INT32"===r&&4===l.byteLength?l.getInt32(0,!0):"INT64"===r&&8===l.byteLength?l.getBigInt64(0,!0):"DECIMAL"===n?A(e)*10**-(t.scale||0):i?.type==="FLOAT16"?w(e):i?.type==="UUID"?f.uuidFromBytes(e):e}function P(e,t){return(e<<t|e>>64n-t)&0xffffffffffffffffn}function F(e,t){return 0x9e3779b185ebca87n*(e=P(e=e+0xc2b2ae3d27d4eb4fn*t&0xffffffffffffffffn,31n))&0xffffffffffffffffn}function Y(e,t){return 0x9e3779b185ebca87n*(e^=F(0n,t))+0x85ebca77c2b2ae63n&0xffffffffffffffffn}function q(e,t=0n){let f,r=new DataView(e.buffer,e.byteOffset,e.byteLength),n=e.byteLength,i=0;if(n>=32){let e=t+0x9e3779b185ebca87n+0xc2b2ae3d27d4eb4fn&0xffffffffffffffffn,l=t+0xc2b2ae3d27d4eb4fn&0xffffffffffffffffn,o=t,a=t-0x9e3779b185ebca87n&0xffffffffffffffffn;for(;i+32<=n;)e=F(e,r.getBigUint64(i,!0)),i+=8,l=F(l,r.getBigUint64(i,!0)),i+=8,o=F(o,r.getBigUint64(i,!0)),i+=8,a=F(a,r.getBigUint64(i,!0)),i+=8;f=Y(f=P(e,1n)+P(l,7n)+P(o,12n)+P(a,18n)&0xffffffffffffffffn,e),f=Y(f,l),f=Y(f,o),f=Y(f,a)}else f=t+0x27d4eb2f165667c5n&0xffffffffffffffffn;for(f=f+BigInt(n)&0xffffffffffffffffn;i+8<=n;)f^=F(0n,r.getBigUint64(i,!0)),f=0x9e3779b185ebca87n*P(f,27n)+0x85ebca77c2b2ae63n&0xffffffffffffffffn,i+=8;for(i+4<=n&&(f^=0x9e3779b185ebca87n*BigInt(r.getUint32(i,!0))&0xffffffffffffffffn,f=0xc2b2ae3d27d4eb4fn*P(f,23n)+0x165667b19e3779f9n&0xffffffffffffffffn,i+=4);i<n;)f^=0x27d4eb2f165667c5n*BigInt(r.getUint8(i))&0xffffffffffffffffn,f=0x9e3779b185ebca87n*P(f,11n)&0xffffffffffffffffn,i+=1;return f^=f>>33n,f=0xc2b2ae3d27d4eb4fn*f&0xffffffffffffffffn,f^=f>>29n,f=0x165667b19e3779f9n*f&0xffffffffffffffffn,f^=f>>32n}let C=new TextEncoder,j=new Uint32Array([0x47b6137b,0x44974d91,0x8824ad5b,0xa2b7289d,0x705495c7,0x2df1424b,0x9efc4947,0x5c6bfb31]);function k(e,t){let f=Number((t>>32n)*BigInt(e.length>>3)>>32n)<<3,r=function(e){let t=new Uint32Array(8),f=0|Number(4294967295n&e);for(let e=0;e<8;e++)t[e]=1<<(Math.imul(f,j[e])>>>27);return t}(t);for(let t=0;t<8;t++)if((e[f+t]&r[t])==0)return!1;return!0}function G(e,t){if(null==e)return;let{type:f,converted_type:r,logical_type:n}=t;if("BOOLEAN"===f){if("boolean"!=typeof e)return;return q(new Uint8Array([+!!e]))}if("FLOAT"===f){if("number"!=typeof e)return;let t=new ArrayBuffer(4);return new DataView(t).setFloat32(0,e,!0),q(new Uint8Array(t))}if("DOUBLE"===f){if("number"!=typeof e)return;let t=new ArrayBuffer(8);return new DataView(t).setFloat64(0,e,!0),q(new Uint8Array(t))}if("INT32"===f){if("DATE"===r||"DECIMAL"===r||"TIME_MILLIS"===r||n?.type==="DATE"||n?.type==="TIME"||n?.type==="DECIMAL"||"number"!=typeof e||!Number.isInteger(e))return;let t=new ArrayBuffer(4);return new DataView(t).setInt32(0,0|e,!0),q(new Uint8Array(t))}if("INT64"===f){let t;if("TIMESTAMP_MILLIS"===r||"TIMESTAMP_MICROS"===r||"TIME_MICROS"===r||"DECIMAL"===r||n?.type==="TIMESTAMP"||n?.type==="TIME"||n?.type==="DECIMAL")return;if("bigint"==typeof e)t=e;else{if(!("number"==typeof e&&Number.isSafeInteger(e)))return;t=BigInt(e)}let f=new ArrayBuffer(8);return new DataView(f).setBigUint64(0,BigInt.asUintN(64,t),!0),q(new Uint8Array(f))}if("BYTE_ARRAY"===f)return"JSON"===r||"BSON"===r||"DECIMAL"===r||n?.type==="JSON"||n?.type==="BSON"||n?.type==="VARIANT"||n?.type==="GEOMETRY"||n?.type==="GEOGRAPHY"?void 0:"string"==typeof e?q(C.encode(e)):e instanceof Uint8Array?q(e):void 0;if("FIXED_LEN_BYTE_ARRAY"===f){if("DECIMAL"===r||"INTERVAL"===r||n?.type==="DECIMAL"||n?.type==="UUID"||n?.type==="FLOAT16"||n?.type==="GEOMETRY"||n?.type==="GEOGRAPHY")return;if(e instanceof Uint8Array)return q(e)}}function V(e,t){for(let f=0;f<t.length;f+=1e4)e.push(...t.slice(f,f+1e4))}function z(e,t,f=!0){if(f?e===t:e==t)return!0;
1if(!e||!t||"object"!=typeof e||"object"!=typeof t)return!1;if(e instanceof Uint8Array&&t instanceof Uint8Array){if(e.length!==t.length)return!1;for(let f=0;f<e.length;f++)if(e[f]!==t[f])return!1;return!0}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!z(e[r],t[r],f))return!1;return!0}let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let n of r)if(!z(e[n],t[n],f))return!1;return!0}function H(e){if(!e)return[];if(1===e.length)return e[0];let t=[];for(let f of e)V(t,f);return t}function W({rowGroup:e,physicalColumns:t,filter:f,strict:r=!0,bloomFilters:n,schemaElements:i}){if(!f)return!1;if("$and"in f&&Array.isArray(f.$and))return f.$and.some(f=>W({rowGroup:e,physicalColumns:t,filter:f,strict:r,bloomFilters:n,schemaElements:i}));if("$or"in f&&Array.isArray(f.$or))return f.$or.every(f=>W({rowGroup:e,physicalColumns:t,filter:f,strict:r,bloomFilters:n,schemaElements:i}));if("$nor"in f&&Array.isArray(f.$nor))return!1;for(let[l,o]of Object.entries(f)){let f=t.indexOf(l);if(-1===f)continue;let{min:a,max:s,min_value:u,max_value:d}=e.columns[f].meta_data?.statistics||{},_=void 0!==u?u:a,c=void 0!==d?d:s,p=void 0!==_&&void 0!==c,y=n?.[l],g=i?.[l];for(let[e,t]of Object.entries(o||{})){if(p&&("$gt"===e&&c<=t||"$gte"===e&&c<t||"$lt"===e&&_>=t||"$lte"===e&&_>t||"$eq"===e&&(t<_||t>c)||"$ne"===e&&z(_,c,r)&&z(_,t,r)||"$in"===e&&Array.isArray(t)&&t.every(e=>e<_||e>c)||"$nin"===e&&Array.isArray(t)&&z(_,c,r)&&t.includes(_)))return!0;if(y&&g){if("$eq"===e){let e=G(t,g);if(void 0!==e&&!k(y.blocks,e))return!0}if("$in"===e&&Array.isArray(t)&&t.length>0){let e=!0;for(let f of t){let t=G(f,g);if(void 0===t||k(y.blocks,t)){e=!1;break}}if(e)return!0}}}}return!1}async function Q({file:e,metadata:t,filter:f,filterStrict:r=!0}){let n=t.row_groups.map(()=>({})),i=function(e){let t=new Set;return function e(t,f){if(t){if("$and"in t&&Array.isArray(t.$and)){for(let r of t.$and)e(r,f);return}if("$or"in t&&Array.isArray(t.$or)){for(let r of t.$or)e(r,f);return}if(!("$nor"in t))for(let[e,r]of Object.entries(t))!e.startsWith("$")&&("object"!=typeof r||null===r||Array.isArray(r)?f.add(e):("$eq"in r||"$in"in r)&&f.add(e))}}(e,t),t}(f);if(0===i.size)return n;let l=b(S(t)),o=[];return t.row_groups.forEach((t,a)=>{if(!W({rowGroup:t,physicalColumns:l,filter:f,strict:r}))for(let f of i){let r=l.indexOf(f);if(-1===r)continue;let i=t.columns[r]?.meta_data;if(!i?.bloom_filter_offset||!i.bloom_filter_length)continue;let s=Number(i.bloom_filter_offset),u=s+i.bloom_filter_length;o.push((async()=>{let t=function(e){let t=N(e),f=t.field_1;if("number"!=typeof f||f<=0||f%32!=0||!t.field_2?.field_1||!t.field_3?.field_1||!t.field_4?.field_1)return;let{view:r,offset:n}=e;if(n+f>r.byteLength)throw Error(`parquet bloom filter truncated: need ${f} bytes, have ${r.byteLength-n}`);let i=new Uint32Array(f>>2);for(let e=0;e<i.length;e++)i[e]=r.getUint32(n+4*e,!0);return e.offset=n+f,{numBytes:f,blocks:i}}({view:new DataView(await e.slice(s,u)),offset:0});t&&(n[a][f]=t)})())}}),o.length&&await Promise.all(o),n}let J=new TextDecoder,K=new WeakMap;function X(e){return{view:new DataView(e.buffer,e.byteOffset,e.byteLength),offset:0}}function Z(e,t){let f=0;for(let r=0;r<t;r++)f|=e.view.getUint8(e.offset+r)<<8*r;return e.offset+=t,f}function ee(e,t,f){let r=e.view.getUint8(e.offset++),n=3&r,i=r>>2;if(0===n)return function(e,t,f){switch(t){case 0:return null;case 1:return!0;case 2:return!1;case 3:{let t=e.view.getInt8(e.offset);return e.offset+=1,t}case 4:{let t=e.view.getInt16(e.offset,!0);return e.offset+=2,t}case 5:{let t=e.view.getInt32(e.offset,!0);return e.offset+=4,t}case 6:{let t=e.view.getBigInt64(e.offset,!0);return e.offset+=8,t}case 7:{let t=e.view.getFloat64(e.offset,!0);return e.offset+=8,t}case 8:return et(e,4);case 9:return et(e,8);case 10:return et(e,16);case 11:{let t=e.view.getInt32(e.offset,!0);return e.offset+=4,f.dateFromDays(t)}case 12:case 13:{let t=e.view.getBigInt64(e.offset,!0);return e.offset+=8,f.timestampFromMicroseconds(t)}case 14:{let t=e.view.getFloat32(e.offset,!0);return e.offset+=4,t}case 15:return ef(e);case 16:{let t=ef(e);return J.decode(t)}case 17:{let t=e.view.getBigInt64(e.offset,!0);return e.offset+=8,t}case 18:case 19:{let t=e.view.getBigInt64(e.offset,!0);return e.offset+=8,f.timestampFromNanoseconds(t)}case 20:{let t=new Uint8Array(e.view.buffer,e.view.byteOffset+e.offset,16);e.offset+=16;let f=Array.from(t,e=>e.toString(16).padStart(2,"0")).join("");return`${f.slice(0,8)}-${f.slice(8,12)}-${f.slice(12,16)}-${f.slice(16,20)}-${f.slice(20)}`}default:throw Error(`parquet unsupported variant primitive type: ${t}`)}}(e,i,f);if(2===n)return function(e,t,f,r){let n=(3&t)+1,i=(t>>2&3)+1,l=t>>4&1?Z(e,4):e.view.getUint8(e.offset++),o=Array(l);for(let t=0;t<l;t++)o[t]=Z(e,i);let a=Array(l+1);for(let t=0;t<a.length;t++)a[t]=Z(e,n);let s={};for(let t=0;t<l;t++){let n=f.dictionary[o[t]],i={view:e.view,offset:e.offset+a[t]};s[n]=ee(i,f,r)}return e.offset+=a[a.length-1],s}(e,i,t,f);if(3===n)return function(e,t,f,r){let n=(3&t)+1,i=Z(e,t>>2&1?4:1),l=Array(i+1);for(let t=0;t<l.length;t++)l[t]=Z(e,n);let o=e.offset,a=Array(i);for(let t=0;t<i;t++){let n={view:e.view,offset:o+l[t]};a[t]=ee(n,f,r)}return e.offset=o+l[l.length-1],a}(e,i,t,f);let l=new Uint8Array(e.view.buffer,e.view.byteOffset+e.offset,i);return e.offset+=i,J.decode(l)}function et(e,t){let f,r=e.view.getUint8(e.offset);if(e.offset+=1,4===t)f=BigInt(e.view.getInt32(e.offset,!0)),e.offset+=4;else if(8===t)f=e.view.getBigInt64(e.offset,!0),e.offset+=8;else{let t=e.view.getBigUint64(e.offset,!0);f=e.view.getBigInt64(e.offset+8,!0)<<64n|t,e.offset+=16}return Number(f)*10**-r}function ef(e){let t=e.view.getUint32(e.offset,!0);e.offset+=4;let f=new Uint8Array(e.view.buffer,e.view.byteOffset+e.offset,t);return e.offset+=t,f}function er(e,t,f,r,n){let i=v(n);if(!t?.length&&!f.length){if(!i||!r.length)return r;t=Array(r.length).fill(i)}let l=t?.length||f.length,o=n.map(({element:e})=>e.repetition_type),a=0,s=[e],u=e,d=0,_=0,c=0;if(f[0])for(;d<o.length-2&&c<f[0];)"REQUIRED"!==o[++d]&&(u=u.at(-1),s.push(u),_++),"REPEATED"===o[d]&&c++;for(let e=0;e<l;e++){let n=t?.length?t[e]:i,l=f[e];for(;d&&(l<c||"REPEATED"!==o[d]);)"REQUIRED"!==o[d]&&(s.pop(),_--),"REPEATED"===o[d]&&c--,d--;for(u=s.at(-1);(d<o.length-2||"REPEATED"===o[d+1])&&(_<n||"REQUIRED"===o[d+1]);){if("REQUIRED"!==o[++d]){let e=[];u.push(e),u=e,s.push(e),_++}
1"REPEATED"===o[d]&&c++}n===i?u.push(r[a++]):d===o.length-2?u.push(null):u.push([])}if(!e.length)for(let e=0;e<i;e++){let e=[];u.push(e),u=e}return e}function en(e,t){for(let f=0;f<e.length;f++)t?en(e[f],t-1):e[f]=e[f][0]}function ei(e,t,f){let r=f instanceof Int32Array,n=L(e),i=L(e);L(e);let l=O(e),o=0;f[o++]=r?Number(l):l;let a=n/i;for(;o<t;){let n=O(e),s=new Uint8Array(i);for(let t=0;t<i;t++)s[t]=e.view.getUint8(e.offset++);for(let u=0;u<i&&o<t;u++){let i=BigInt(s[u]);if(i){let s=0n,u=a,d=(1n<<i)-1n;for(;u&&o<t;){let t=BigInt(e.view.getUint8(e.offset))>>s&d;for(s+=i;s>=8;)s-=8n,e.offset++,s&&(t|=BigInt(e.view.getUint8(e.offset))<<i-s&d);l+=n+t,f[o++]=r?Number(l):l,u--}u&&(e.offset+=Math.ceil((u*Number(i)+Number(s))/8))}else for(let e=0;e<a&&o<t;e++)l+=n,f[o++]=r?Number(l):l}}}function el(e,t,f){let r=new Int32Array(t);ei(e,t,r);for(let n=0;n<t;n++)f[n]=new Uint8Array(e.view.buffer,e.view.byteOffset+e.offset,r[n]),e.offset+=r[n]}function eo(e,t,f,r){void 0===r&&(r=e.view.getUint32(e.offset,!0),e.offset+=4);let n=e.offset,i=0;for(;i<f.length;){let r=L(e);if(1&r)i=function(e,t,f,r,n){let i=t>>1<<3,l=(1<<f)-1,o=0;if(e.offset<e.view.byteLength)o=e.view.getUint8(e.offset++);else if(l)throw Error(`parquet bitpack offset ${e.offset} out of range`);let a=8,s=0;for(;i;)s>8?(s-=8,a-=8,o>>>=8):a-s<f?(o|=e.view.getUint8(e.offset)<<a,e.offset++,a+=8):(n<r.length&&(r[n++]=o>>s&l),i--,s+=f);return n}(e,r,t,f,i);else{let n=r>>>1;(function(e,t,f,r,n){let i=f+7>>3,l=0;for(let t=0;t<i;t++)l|=e.view.getUint8(e.offset++)<<(t<<3);for(let e=0;e<t;e++)r[n+e]=l})(e,n,t,f,i),i+=n}}e.offset=n+r}function ea(e,t,f,r){let n=function(e,t){switch(e){case"INT32":case"FLOAT":return 4;case"INT64":case"DOUBLE":return 8;case"FIXED_LEN_BYTE_ARRAY":if(!t)throw Error("parquet byteWidth missing type_length");return t;default:throw Error(`parquet unsupported type: ${e}`)}}(f,r),i=new Uint8Array(t*n);for(let f=0;f<n;f++)for(let r=0;r<t;r++)i[r*n+f]=e.view.getUint8(e.offset++);if("FLOAT"===f)return new Float32Array(i.buffer);if("DOUBLE"===f)return new Float64Array(i.buffer);if("INT32"===f)return new Int32Array(i.buffer);if("INT64"===f)return new BigInt64Array(i.buffer);if("FIXED_LEN_BYTE_ARRAY"===f){let e=Array(t);for(let f=0;f<t;f++)e[f]=i.subarray(f*n,(f+1)*n);return e}throw Error(`parquet byte_stream_split unsupported type: ${f}`)}function es(e,t,f,r){if(0===f)return[];if("BOOLEAN"===t)return function(e,t){let f=Array(t);for(let r=0;r<t;r++){let t=e.offset+(r/8|0),n=r%8,i=e.view.getUint8(t);f[r]=(i&1<<n)!=0}return e.offset+=Math.ceil(t/8),f}(e,f);if("INT32"===t){var n=e,i=f;let t=(n.view.byteOffset+n.offset)%4?new Int32Array(eu(n.view.buffer,n.view.byteOffset+n.offset,4*i)):new Int32Array(n.view.buffer,n.view.byteOffset+n.offset,i);return n.offset+=4*i,t}if("INT64"===t){var l=e,o=f;let t=(l.view.byteOffset+l.offset)%8?new BigInt64Array(eu(l.view.buffer,l.view.byteOffset+l.offset,8*o)):new BigInt64Array(l.view.buffer,l.view.byteOffset+l.offset,o);return l.offset+=8*o,t}if("INT96"===t){var a=e,s=f;let t=Array(s);for(let e=0;e<s;e++){let f=a.view.getBigInt64(a.offset+12*e,!0),r=a.view.getInt32(a.offset+12*e+8,!0);t[e]=BigInt(r)<<64n|f}return a.offset+=12*s,t}if("FLOAT"===t){var u=e,d=f;let t=(u.view.byteOffset+u.offset)%4?new Float32Array(eu(u.view.buffer,u.view.byteOffset+u.offset,4*d)):new Float32Array(u.view.buffer,u.view.byteOffset+u.offset,d);return u.offset+=4*d,t}else if("DOUBLE"===t){var _=e,c=f;let t=(_.view.byteOffset+_.offset)%8?new Float64Array(eu(_.view.buffer,_.view.byteOffset+_.offset,8*c)):new Float64Array(_.view.buffer,_.view.byteOffset+_.offset,c);return _.offset+=8*c,t}else if("BYTE_ARRAY"===t){var p=e,y=f;let t=Array(y);for(let e=0;e<y;e++){let f=p.view.getUint32(p.offset,!0);p.offset+=4,t[e]=new Uint8Array(p.view.buffer,p.view.byteOffset+p.offset,f),p.offset+=f}return t}else if("FIXED_LEN_BYTE_ARRAY"===t){if(!r)throw Error("parquet missing fixed length");var g=e,h=f,m=r;let t=Array(h);for(let e=0;e<h;e++)t[e]=new Uint8Array(g.view.buffer,g.view.byteOffset+g.offset,m),g.offset+=m;return t}else throw Error(`parquet unhandled type: ${t}`)}function eu(e,t,f){let r=new ArrayBuffer(f);return new Uint8Array(r).set(new Uint8Array(e,t,f)),r}let ed=[0,255,65535,0xffffff,0xffffffff];function e_(e,t,f,r,n){for(let i=0;i<n;i++)f[r+i]=e[t+i]}function ec(e,t,f,r){let n,i=r?.[f];if("UNCOMPRESSED"===f)n=e;else if(i)n=i(e,t);else if("SNAPPY"===f)!function(e,t){let f=e.byteLength,r=t.byteLength,n=0,i=0;for(;n<f;){let t=e[n];if(n++,t<128)break}if(r&&n>=f)throw Error("invalid snappy length header");for(;n<f;){let r=e[n],l=0;if(++n>=f)throw Error("missing eof marker");if((3&r)==0){let l=(r>>>2)+1;if(l>60){if(n+3>=f)throw Error("snappy error literal pos + 3 >= inputLength");let t=l-60;l=((l=e[n]+(e[n+1]<<8)+(e[n+2]<<16)+(e[n+3]<<24))&ed[t])+1,n+=t}if(n+l>f)throw Error("snappy error literal exceeds input length");e_(e,n,t,i,l),n+=l,i+=l}else{let o=0;switch(3&r){case 1:l=(r>>>2&7)+4,o=e[n]+(r>>>5<<8),n++;break;case 2:if(f<=n+1)throw Error("snappy error end of input");l=(r>>>2)+1,o=e[n]+(e[n+1]<<8),n+=2;break;case 3:if(f<=n+3)throw Error("snappy error end of input");l=(r>>>2)+1,o=e[n]+(e[n+1]<<8)+(e[n+2]<<16)+(e[n+3]<<24),n+=4}if(0===o||isNaN(o))throw Error(`invalid offset ${o} pos ${n} inputLength ${f}`);if(o>i)throw Error("cannot copy from before start of buffer");e_(t,i-o,t,i,l),i+=l}}if(i!==r)throw Error("premature end of input")}(e,n=new Uint8Array(t));else throw Error(`parquet unsupported compression codec: ${f}`);if(n?.length!==t)throw Error(`parquet decompressed page length ${n?.length} does not match header ${t}`);return n}function ep(e){return 32-Math.clz32(e)}function ey(e,{groupStart:t,selectStart:f,selectEnd:r},i,l){let o,s,{pathInSchema:u,schemaPath:d}=i,_=T(d),c=[],p=0,y=0,g=l&&(()=>{s&&l({pathInSchema:u,columnData:s,rowStart:t+p-s.length,rowEnd:t+p})});for(;(_?p<r:e.offset<e.view.byteLength-1)&&!(e.offset>=e.view.byteLength-1);){let t=function(e){let t=N(e),f=a[t.field_1],r=t.field_2,i=t.field_3,l=t.field_4,o=t.field_5&&{num_values:t.field_5.field_1,encoding:n[t.field_5.field_2],definition_level_encoding:n[t.field_5.field_3],repetition_level_encoding:n[t.field_5.field_4],statistics:t.field_5.field_5&&{max:t.field_5.field_5.field_1,min:t.field_5.field_5.field_2,null_count:t.field_5.field_5.field_3,distinct_count:t.field_5.field_5.field_4,max_value:t.field_5.field_5.field_5,min_value:t.field_5.field_5.field_6}},s=t.field_6;return{type:f,uncompressed_page_size:r,compressed_page_size:i,crc:l,data_page_header:o,index_page_header:s,dictionary_page_header:t.field_7&&{num_values:t.field_7.field_1,encoding:n[t.field_7.field_2],is_sorted:t.field_7.field_3},data_page_header_v2:t.field_8&&{num_values:t.field_8.field_1,num_nulls:t.field_8.field_2,num_rows:t.field_8.field_3,encoding:n[t.field_8.field_4],definition_levels_byte_length:t.field_8.field_5,repetition_levels_byte_length:t.field_8.field_6,is_compressed:void 0===t.field_8.field_7||t.field_8.field_7,statistics:t.field_8.field_8}}}(e);if("DICTIONARY_PAGE"===t.type){let{data:f}=eg(e,t,i,o,void 0,0);f&&(o=m(f,i))}else{let r=s?.length||0,n=eg(e,t,i,o,s,f-p);n.skipped?(c.length||(y+=n.skipped),p+=n.skipped):n.data&&s===n.data?p+=n.data.length-r:n.data&&n.data.length&&(g?.(),c.push(n.data),p+=n.data.length,s=n.data)}}return g?.(),{data:c,skipped:y}}function eg(e,t,f,r,n,i){let{type:l,element:o,schemaPath:a,codec:s,compressors:u}=f,d=new Uint8Array(e.view.buffer,e.view.byteOffset+e.offset,t.compressed_page_size);if(e.offset+=t.compressed_page_size,"DATA_PAGE"===t.type){let e=t.data_page_header;if(!e)throw Error("parquet data page header is undefined");if(i>e.num_values&&T(a))return{skipped:e.num_values};let{definitionLevels:l,repetitionLevels:o,dataPage:_}=function(e,t,{type:f,element:r,schemaPath:n}){let i,l=new DataView(e.buffer,e.byteOffset,e.byteLength),o={view:l,offset:0},a=function(e,t,f){if(f.length>1){let r=I(f);if(r){let f=Array(t.num_values);return eo(e,ep(r),f),f}}return[]}(o,t,n),{definitionLevels:s,numNulls:u}=function(e,t,f){let r=v(f);if(!r)return{definitionLevels:[],numNulls:0};let n=Array(t.num_values);eo(e,ep(r),n);let i=t.num_values;for(let e of n)e===r&&i--;return 0===i&&(n.length=0),{definitionLevels:n,numNulls:i}}(o,t,n),d=t.num_values-u;if("PLAIN"===t.encoding)i=es(o,f,d,r.type_length);else if("PLAIN_DICTIONARY"===t.encoding||"RLE_DICTIONARY"===t.encoding||"RLE"===t.encoding){let e="BOOLEAN"===f?1:l.getUint8(o.offset++);e?(i=Array(d),"BOOLEAN"===f?(eo(o,e,i),i=i.map(e=>!!e)):eo(o,e,i,l.byteLength-o.offset)):i=new Uint8Array(d)}else if("BYTE_STREAM_SPLIT"===t.encoding)i=ea(o,d,f,r.type_length);else if("DELTA_BINARY_PACKED"===t.encoding)i="INT32"===f?new Int32Array(d):new BigInt64Array(d),ei(o,d,i);else if("DELTA_LENGTH_BYTE_ARRAY"===t.encoding)i=Array(d),el(o,d,i);else throw Error(`parquet unsupported encoding: ${t.encoding}`);return{definitionLevels:s,repetitionLevels:a,dataPage:i}}(ec(d,Number(t.uncompressed_page_size),s,u),e,f),c=h(_,r,e.encoding,f);return{skipped:0,data:er(Array.isArray(n)?n:[],l,o,c,a)}}if("DATA_PAGE_V2"===t.type){let e=t.data_page_header_v2;if(!e)throw Error("parquet data page header v2 is undefined");if(i>e.num_rows)return{skipped:e.num_values};let{definitionLevels:l,repetitionLevels:o,dataPage:s}=function(e,t,f){let r,n={view:new DataView(e.buffer,e.byteOffset,e.byteLength),offset:0}
1,{type:i,element:l,schemaPath:o,codec:a,compressors:s}=f,u=t.data_page_header_v2;if(!u)throw Error("parquet data page header v2 is undefined");let d=function(e,t,f){let r=I(f);if(!r)return[];let n=Array(t.num_values);return eo(e,ep(r),n,t.repetition_levels_byte_length),n}(n,u,o);n.offset=u.repetition_levels_byte_length;let _=function(e,t,f){let r=v(f);if(r){let f=Array(t.num_values);return eo(e,ep(r),f,t.definition_levels_byte_length),f}}(n,u,o),c=t.uncompressed_page_size-u.definition_levels_byte_length-u.repetition_levels_byte_length,p=e.subarray(n.offset);!1!==u.is_compressed&&(p=ec(p,c,a,s));let y=new DataView(p.buffer,p.byteOffset,p.byteLength),g={view:y,offset:0},h=u.num_values-u.num_nulls;if("PLAIN"===u.encoding)r=es(g,i,h,l.type_length);else if("RLE"===u.encoding)eo(g,1,r=Array(h)),r=r.map(e=>!!e);else if("PLAIN_DICTIONARY"===u.encoding||"RLE_DICTIONARY"===u.encoding){let e=y.getUint8(g.offset++);eo(g,e,r=Array(h),c-1)}else if("DELTA_BINARY_PACKED"===u.encoding)r="INT32"===i?new Int32Array(h):new BigInt64Array(h),ei(g,h,r);else if("DELTA_LENGTH_BYTE_ARRAY"===u.encoding)r=Array(h),el(g,h,r);else if("DELTA_BYTE_ARRAY"===u.encoding){var m=r=Array(h);let e=new Int32Array(h);ei(g,h,e);let t=new Int32Array(h);ei(g,h,t);for(let f=0;f<h;f++){let r=new Uint8Array(g.view.buffer,g.view.byteOffset+g.offset,t[f]);e[f]?(m[f]=new Uint8Array(e[f]+t[f]),m[f].set(m[f-1].subarray(0,e[f])),m[f].set(r,e[f])):m[f]=r,g.offset+=t[f]}}else if("BYTE_STREAM_SPLIT"===u.encoding)r=ea(g,h,i,l.type_length);else throw Error(`parquet unsupported encoding: ${u.encoding}`);return{definitionLevels:_,repetitionLevels:d,dataPage:r}}(d,t,f),u=h(s,r,e.encoding,f);return{skipped:0,data:er(Array.isArray(n)?n:[],l,o,u,a)}}if("DICTIONARY_PAGE"===t.type){let e=t.dictionary_page_header;if(!e)throw Error("parquet dictionary page header is undefined");let f=ec(d,Number(t.uncompressed_page_size),s,u);return{skipped:0,data:es({view:new DataView(f.buffer,f.byteOffset,f.byteLength),offset:0},l,e.num_values,o.type_length)}}throw Error(`parquet unsupported page type: ${t.type}`)}async function eh({asyncColumns:e},t,f,r,n){let i=await Promise.all(e.map(e=>e.data.then(({skipped:e,data:t})=>({skipped:e,data:H(t)})))),l=f-t;if("object"===n){let f=Array(l);for(let r=0;r<l;r++){let n={};for(let f=0;f<e.length;f++){let{data:l,skipped:o}=i[f];n[e[f].pathInSchema[0]]=l[t+r-o]}f[r]=n}return f}let o=e.map(e=>e.pathInSchema[0]).filter(e=>!r||r.includes(e)),a=r??o,s=a.map(t=>e.findIndex(e=>e.pathInSchema[0]===t)),u=Array(l);for(let f=0;f<l;f++){let r=Array(e.length);for(let e=0;e<a.length;e++){let n=s[e];if(n<0)throw Error(`parquet column not found: ${a[e]}`);let{data:l,skipped:o}=i[n];r[e]=l[t+f-o]}u[f]=r}return u}async function em(e){e.metadata??=await M(e.file,e);let{rowStart:t=0,rowEnd:f,columns:r,onChunk:n,onComplete:i,rowFormat:l,filter:o,filterStrict:a=!0}=e;if(o&&"object"!==l)throw Error('parquet filter requires rowFormat: "object"');let s=function e(t){if(!t)return[];let f=[];return"$and"in t&&Array.isArray(t.$and)?f.push(...t.$and.flatMap(e)):"$or"in t&&Array.isArray(t.$or)?f.push(...t.$or.flatMap(e)):"$nor"in t&&Array.isArray(t.$nor)?f.push(...t.$nor.flatMap(e)):f.push(...Object.keys(t).map(e=>e.split(".")[0])),[...new Set(f)]}(o);if(s.length){let t=S(e.metadata).children.map(e=>e.element.name),f=s.filter(e=>!t.includes(e));if(f.length)throw Error(`parquet filter columns not found: ${f.join(", ")}`)}let u=r,d=!1;if(r&&o){let e=s.filter(e=>!r.includes(e));e.length&&(u=[...r,...e],d=!0)}let _=u!==r?{...e,columns:u}:e,c=function(e){if(!e.metadata)throw Error("parquet requires metadata");let t=function({metadata:e,rowStart:t=0,rowEnd:f=1/0,columns:r,filter:n,filterStrict:i=!0,useOffsetIndex:l=!1,bloomFiltersByGroup:o,schemaElements:a}){if(!e)throw Error("parquetPlan requires metadata");let s=[],u=[],d=[],_=b(S(e)),c=0,p=0;for(let y of e.row_groups){let e=Number(y.num_rows),g=c+e,h=o?.[p];if(e>0&&g>t&&c<f&&!W({rowGroup:y,physicalColumns:_,filter:n,strict:i,bloomFilters:h,schemaElements:a})){let n,i=[],o=1/0,a=-1/0;for(let e of y.columns){let n=e.meta_data;if(e.file_path)throw Error("parquet file_path not supported");if(!n)throw Error("parquet column metadata is undefined");if(!r||r.includes(n.path_in_schema[0])){let r=n.dictionary_page_offset||n.data_page_offset,s=Number(r),u=Number(r+n.total_compressed_size);if(s<o&&(o=s),u>a&&(a=u),l&&e.offset_index_offset&&e.offset_index_length&&(t>c||f<g)){let t=Number(e.offset_index_offset);i.push({columnMetadata:n,offsetIndex:{startByte:t,endByte:t+e.offset_index_length},range:{startByte:s,endByte:u}})}else i.push({columnMetadata:n,range:{startByte:s,endByte:u}})}}let _=Math.max(t-c,0),p=Math.min(f-c,e);for(let t of(s.push({chunks:i,rowGroup:y,groupStart:c,groupRows:e,selectStart:_,selectEnd:p}),i))if("offsetIndex"in t)d.push(t.offsetIndex);else{let{range:e}=t;r?u.push(e):n&&e.endByte-n.startByte<=2097152?n.endByte=e.endByte:(n&&u.push(n),n={...e})}n&&u.push(n)}c=g,p++}return isFinite(f)||(f=c),u.push(...d),{metadata:e,rowStart:t,rowEnd:f,columns:r,fetches:u,groups:s}}(e);return e.file=function(e,{fetches:t}){let f=t.map(({startByte:t,endByte:f})=>e.slice(t,f));return{byteLength:e.byteLength,slice(r,n=e.byteLength){let i=t.findIndex(({startByte:e,endByte:t})=>e<=r&&n<=t);if(i<0)return e.slice(r,n);if(t[i].startByte===r&&t[i].endByte===n)return f[i];{let e=r-t[i].startByte,l=n-t[i].startByte;return f[i]instanceof Promise?f[i].then(t=>t.slice(e,l)):f[i].slice(e,l)}}}}(e.file,t),t.groups.map(f=>(function(e,{metadata:t},f){let r=[];for(let n of f.chunks){let{data_page_offset:i,dictionary_page_offset:l,path_in_schema:o}=n.columnMetadata,a=E(t.schema,o),s={pathInSchema:o,element:a[a.length-1].element,schemaPath:a,parsers:{...g,...e.parsers},...e,...n.columnMetadata},{startByte:u,endByte:d}=n.range;
1if(!("offsetIndex"in n)){r.push({pathInSchema:o,data:Promise.resolve(e.file.slice(u,d)).then(t=>ey({view:new DataView(t),offset:0},f,s,e.onPage))});continue}r.push({pathInSchema:o,data:Promise.resolve(e.file.slice(n.offsetIndex.startByte,n.offsetIndex.endByte)).then(async t=>{let{selectStart:r,selectEnd:n}=f,o=function(e){let t=N(e);return{page_locations:t.field_1.map(e=>({offset:e.field_1,compressed_page_size:e.field_2,first_row_index:e.field_3})),unencoded_byte_array_data_bytes:t.field_2}}({view:new DataView(t),offset:0}).page_locations,a=-1,_=l||i<o[0].offset;for(let e=0;e<o.length;e++){let t=o[e],i=Number(t.first_row_index),l=e+1<o.length?Number(o[e+1].first_row_index):f.groupRows;a<0&&!_&&l>r&&(u=Number(t.offset),a=i),i<n&&(d=Number(t.offset)+t.compressed_page_size)}a<0&&(a=0);let{data:c,skipped:p}=ey({view:new DataView(await e.file.slice(u,d)),offset:0},a?{...f,groupStart:f.groupStart+a,selectStart:f.selectStart-a,selectEnd:f.selectEnd-a}:f,s,e.onPage);return{data:c,skipped:a+p}})})}return{groupStart:f.groupStart,groupRows:f.groupRows,asyncColumns:r}})(e,t,f))}(_=await ew(_));if(!i&&!n)return void await eA(c);let p=S(e.metadata),y=c.map(t=>(function(e,t,f){let{asyncColumns:r}=e;f={...g,...f};let n=[];for(let e of t.children)if(e.children.length){let t=r.filter(t=>t.pathInSchema[0]===e.element.name);if(!t.length)continue;n.push({pathInSchema:e.path,data:(async()=>{let r=await Promise.all(t.map(e=>e.data)),n=new Map,i=1/0;for(let e=0;e<t.length;e++){let f=H(r[e].data);n.set(t[e].pathInSchema.join("."),f),i=Math.min(i,f.length)}for(let[e,t]of n)t.length>i&&n.set(e,t.slice(0,i));!function e(t,f,r,n=0){let i=f.path.join("."),l="OPTIONAL"===f.element.repetition_type,o=l?n+1:n;if(function(e){if(!e||"LIST"!==e.element.converted_type||e.children.length>1)return!1;let t=e.children[0];return!(t.children.length>1)&&"REPEATED"===t.element.repetition_type}(f)){let a=f.children[0],s=o;1===a.children.length&&(a=a.children[0],s++),e(t,a,r,s);let u=a.path.join("."),d=t.get(u);if(!d)throw Error("parquet list column missing values");l&&en(d,n),t.set(i,d),t.delete(u);return}if(function(e){if(!e||"MAP"!==e.element.converted_type||e.children.length>1)return!1;let t=e.children[0];if(2!==t.children.length||"REPEATED"!==t.element.repetition_type)return!1;let f=t.children.find(e=>"key"===e.element.name);if(f?.element.repetition_type==="REPEATED")return!1;let r=t.children.find(e=>"value"===e.element.name);return r?.element.repetition_type!=="REPEATED"}(f)){let a=f.children[0].element.name;e(t,f.children[0].children[0],r,o+1),e(t,f.children[0].children[1],r,o+1);let s=t.get(`${i}.${a}.key`),u=t.get(`${i}.${a}.value`);if(!s)throw Error("parquet map column missing keys");if(!u)throw Error("parquet map column missing values");if(s.length!==u.length)throw Error("parquet map column key/value length mismatch");let d=function e(t,f,r){let n=[];for(let i=0;i<t.length;i++)if(r)n.push(e(t[i],f[i],r-1));else if(t[i]){let e={};for(let r=0;r<t[i].length;r++){let n=f[i][r];e[t[i][r]]=void 0===n?null:n}n.push(e)}else n.push(void 0);return n}(s,u,o);l&&en(d,n),t.delete(`${i}.${a}.key`),t.delete(`${i}.${a}.value`),t.set(i,d);return}if(f.children.length){let o="REQUIRED"===f.element.repetition_type?n:n+1,a={};for(let n of f.children){e(t,n,r,o);let f=t.get(n.path.join("."));if(!f)throw Error("parquet struct missing child data");a[n.element.name]=f}for(let e of f.children)t.delete(e.path.join("."));let s=function e(t,f){let r=Object.keys(t),n=t[r[0]]?.length,i=[];for(let l=0;l<n;l++){let o={};for(let e of r){if(t[e].length!==n)throw Error("parquet struct parsing error");o[e]=t[e][l]}f?i.push(e(o,f-1)):i.push(o)}return i}(a,o);f.element.logical_type?.type==="VARIANT"&&(s=function e(t,f=g){if(Array.isArray(t))return t.map(t=>e(t,f));if("object"!=typeof t)return t;if("metadata"in t){let e=function(e){let t=K.get(e.buffer);t||(t=new Map,K.set(e.buffer,t));let f=`${e.byteOffset}:${e.byteLength}`,r=t.get(f);if(r)return r;let n=X(e),i=n.view.getUint8(n.offset++),l=15&i;if(1!==l)throw Error(`parquet unsupported variant metadata version: ${l}`);let o=(i>>6&3)+1,a=Z(n,o),s=Array(a+1);for(let e=0;e<s.length;e++)s[e]=Z(n,o);let u=n.offset,d=Array(a);for(let t=0;t<a;t++){let f=s[t],r=s[t+1],n=new Uint8Array(e.buffer,e.byteOffset+u+f,r-f);d[t]=J.decode(n)}let _={dictionary:d,sorted:(i>>4&1)==1};return t.set(f,_),_}(t.metadata),r=t.typed_value&&function e(t,f,r){if(t instanceof Date)return t;if(t&&"object"==typeof t&&!Array.isArray(t)&&!(t instanceof Uint8Array)){if("typed_value"in t&&null!==t.typed_value&&void 0!==t.typed_value)return e(t.typed_value,f,r);if("value"in t&&t.value instanceof Uint8Array)return ee(X(t.value),f,r);if("typed_value"in t||"value"in t)return null;let n={};for(let[i,l]of Object.entries(t))f.dictionary.includes(i)&&(n[i]=e(l,f,r));return n}return t instanceof Uint8Array?ee(X(t),f,r):Array.isArray(t)?t.map(t=>e(t,f,r)):t}(t.typed_value,e,f),n=t.value&&ee(X(t.value),e,f);return r&&n?{...n,...r}:r??n}return t}(s,r)),l&&en(s,n),t.set(i,s)}}(n,e,f);let l=n.get(e.element.name);if(!l)throw Error("parquet column data not assembled");return{data:[l],skipped:0}})()})}else{let t=r.find(t=>t.pathInSchema[0]===e.element.name);t&&n.push(t)}return{...e,asyncColumns:n}})(t,p,e.parsers));if(n)for(let e of y)for(let t of e.asyncColumns)t.data.then(({data:f,skipped:r})=>{let i=e.groupStart+r;
1for(let e of f)n({columnName:t.pathInSchema[0],columnData:e,rowStart:i,rowEnd:i+e.length}),i+=e.length},()=>{});if(i){await eA(y);let e=[];for(let n of y){let i=Math.max(t-n.groupStart,0),_=Math.min((f??1/0)-n.groupStart,n.groupRows),c="object"===l?await eh(n,i,_,u,"object"):await eh(n,i,_,r,"array");if(o){for(let t of c)if(function e(t,f,r=!0){return"$and"in f&&Array.isArray(f.$and)?f.$and.every(f=>e(t,f,r)):"$or"in f&&Array.isArray(f.$or)?f.$or.some(f=>e(t,f,r)):"$nor"in f&&Array.isArray(f.$nor)?!f.$nor.some(f=>e(t,f,r)):Object.entries(f).every(([f,n])=>{let i=function(e,t){let f=e;for(let e of t.split("."))f=f?.[e];return f}(t,f);return"object"!=typeof n||null===n||Array.isArray(n)?z(i,n,r):Object.entries(n||{}).every(([t,n])=>"$gt"===t?i>n:"$gte"===t?i>=n:"$lt"===t?i<n:"$lte"===t?i<=n:"$eq"===t?z(i,n,r):"$ne"===t?!z(i,n,r):"$in"===t?Array.isArray(n)&&n.includes(i):"$nin"===t?Array.isArray(n)&&!n.includes(i):"$not"!==t||!e({[f]:i},{[f]:n},r))})}(t,o,a)){if(d&&r)for(let e of s)r.includes(e)||delete t[e];e.push(t)}}else V(e,c)}i(e)}else await eA(y)}async function eA(e){let t=e.flatMap(e=>e.asyncColumns.map(e=>e.data)),f=(await Promise.allSettled(t)).find(e=>"rejected"===e.status);if(f)throw f.reason}async function ew(e){if(!e.useBloomFilters||!e.filter||!e.metadata)return e;let t=S(e.metadata),f={};for(let e of t.children)f[e.element.name]=e.element;let r=await Q({file:e.file,metadata:e.metadata,filter:e.filter,filterStrict:e.filterStrict});return{...e,bloomFiltersByGroup:r,schemaElements:f}}function eE(e){return new Promise((t,f)=>{em({...e,rowFormat:"object",onComplete:t}).catch(f)})}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.