@woosh/meep-engine 3.14.2 → 3.14.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/editor/prototypeEditorShell.js +6 -0
- package/package.json +1 -1
- package/src/CODEC_LAYOUT_VERIFICATION.md +420 -0
- package/src/core/binary/zstd/ZstdReverseBitReader.d.ts +76 -0
- package/src/core/binary/zstd/ZstdReverseBitReader.d.ts.map +1 -0
- package/src/core/binary/zstd/ZstdReverseBitReader.js +223 -0
- package/src/core/binary/zstd/zstd_decompress.d.ts +31 -0
- package/src/core/binary/zstd/zstd_decompress.d.ts.map +1 -0
- package/src/core/binary/zstd/zstd_decompress.js +628 -0
- package/src/core/binary/zstd/zstd_fse.d.ts +83 -0
- package/src/core/binary/zstd/zstd_fse.d.ts.map +1 -0
- package/src/core/binary/zstd/zstd_fse.js +265 -0
- package/src/core/binary/zstd/zstd_huffman.d.ts +56 -0
- package/src/core/binary/zstd/zstd_huffman.d.ts.map +1 -0
- package/src/core/binary/zstd/zstd_huffman.js +244 -0
- package/src/core/binary/zstd/zstd_sequence_tables.d.ts +62 -0
- package/src/core/binary/zstd/zstd_sequence_tables.d.ts.map +1 -0
- package/src/core/binary/zstd/zstd_sequence_tables.js +98 -0
- package/src/core/color/COLOR_REVIEW_2026_08_28.md +1 -1
- package/src/core/color/PQ/PQ_constants.d.ts +1 -1
- package/src/core/color/PQ/PQ_constants.js +1 -1
- package/src/engine/Engine.d.ts.map +1 -1
- package/src/engine/Engine.js +733 -726
- package/src/engine/asset/GameAssetType.d.ts +1 -0
- package/src/engine/asset/GameAssetType.js +8 -0
- package/src/engine/asset/codec/DecodedImage.d.ts +39 -0
- package/src/engine/asset/codec/DecodedImage.d.ts.map +1 -0
- package/src/engine/asset/codec/DecodedImage.js +26 -0
- package/src/engine/asset/guessAssetType.d.ts.map +1 -1
- package/src/engine/asset/guessAssetType.js +10 -0
- package/src/engine/asset/load_model_scene_bundle.d.ts +1 -1
- package/src/engine/asset/load_model_scene_bundle.d.ts.map +1 -1
- package/src/engine/asset/load_model_scene_bundle.js +6 -2
- package/src/engine/asset/loaders/USDSceneBundleAssetLoader.d.ts +37 -0
- package/src/engine/asset/loaders/USDSceneBundleAssetLoader.d.ts.map +1 -0
- package/src/engine/asset/loaders/USDSceneBundleAssetLoader.js +104 -0
- package/src/engine/asset/loaders/image/IMAGE_CODEC_REVIEW_2026_08_28.md +83 -71
- package/src/engine/asset/loaders/image/ImageDecoderWorker.js +2 -2
- package/src/engine/asset/loaders/image/ImageRGBADataLoader.d.ts +8 -9
- package/src/engine/asset/loaders/image/ImageRGBADataLoader.d.ts.map +1 -1
- package/src/engine/asset/loaders/image/ImageRGBADataLoader.js +12 -3
- package/src/engine/asset/loaders/image/avif/encode_image_source.d.ts +70 -0
- package/src/engine/asset/loaders/image/avif/encode_image_source.d.ts.map +1 -0
- package/src/engine/asset/loaders/image/avif/encode_image_source.js +117 -0
- package/src/engine/asset/loaders/image/avif/encoder_worker.d.ts.map +1 -0
- package/src/engine/asset/loaders/image/avif/threaded_image_encoder.d.ts.map +1 -0
- package/src/engine/asset/loaders/image/codec/AvifCodec.d.ts +34 -0
- package/src/engine/asset/loaders/image/codec/AvifCodec.d.ts.map +1 -0
- package/src/engine/asset/loaders/image/codec/AvifCodec.js +85 -0
- package/src/engine/asset/loaders/image/codec/JpegCodec.d.ts +26 -0
- package/src/engine/asset/loaders/image/codec/JpegCodec.d.ts.map +1 -0
- package/src/engine/asset/loaders/image/codec/JpegCodec.js +66 -0
- package/src/engine/asset/loaders/image/codec/NativeImageDecoder.d.ts +4 -16
- package/src/engine/asset/loaders/image/codec/NativeImageDecoder.d.ts.map +1 -1
- package/src/engine/asset/loaders/image/codec/NativeImageDecoder.js +2 -2
- package/src/engine/asset/loaders/image/codec/ThreadedImageDecoder.d.ts +21 -1
- package/src/engine/asset/loaders/image/codec/ThreadedImageDecoder.d.ts.map +1 -1
- package/src/engine/asset/loaders/image/codec/ThreadedImageDecoder.js +21 -1
- package/src/engine/asset/loaders/image/prototypePNG.d.ts.map +1 -0
- package/src/engine/asset/loaders/image/prototypePNG.js +37 -0
- package/src/engine/asset/preloader/extractAssetListFromManager.d.ts.map +1 -1
- package/src/engine/asset/preloader/extractAssetListFromManager.js +2 -1
- package/src/engine/graphics/ecs/mesh/assetTypeByPath.d.ts.map +1 -1
- package/src/engine/graphics/ecs/mesh/assetTypeByPath.js +6 -0
- package/src/engine/graphics/texture/sampler/avif_to_sampler2d.d.ts +25 -0
- package/src/engine/graphics/texture/sampler/avif_to_sampler2d.d.ts.map +1 -0
- package/src/engine/graphics/texture/sampler/avif_to_sampler2d.js +42 -0
- package/src/engine/graphics/texture/sampler/compare/sampler2d_compare.d.ts.map +1 -0
- package/src/engine/graphics/texture/sampler/compare/sampler2d_compare.js +94 -0
- package/src/engine/graphics/texture/sampler/compare/sampler2d_max_absolute_difference.d.ts +19 -0
- package/src/engine/graphics/texture/sampler/compare/sampler2d_max_absolute_difference.d.ts.map +1 -0
- package/src/engine/graphics/texture/sampler/compare/sampler2d_max_absolute_difference.js +62 -0
- package/src/engine/graphics/texture/sampler/compare/sampler2d_psnr.d.ts +30 -0
- package/src/engine/graphics/texture/sampler/compare/sampler2d_psnr.d.ts.map +1 -0
- package/src/engine/graphics/texture/sampler/compare/sampler2d_psnr.js +115 -0
- package/src/engine/graphics/texture/sampler/sampler2d_to_avif.d.ts.map +1 -0
- package/src/engine/graphics/texture/sampler/sampler2d_to_avif.js +108 -0
- package/src/engine/graphics/texture/sampler/sampler2d_to_f16.d.ts +7 -1
- package/src/engine/graphics/texture/sampler/sampler2d_to_f16.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/sampler2d_to_f16.js +28 -21
- package/src/engine/graphics/texture/sampler/sampler2d_to_uint8_RGBA.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/sampler2d_to_uint8_RGBA.js +3 -0
- package/src/engine/network/NetworkSession.d.ts +24 -4
- package/src/engine/network/NetworkSession.d.ts.map +1 -1
- package/src/engine/network/NetworkSession.js +28 -4
- package/src/engine/network/orchestrator/NetworkPeer.d.ts +47 -6
- package/src/engine/network/orchestrator/NetworkPeer.d.ts.map +1 -1
- package/src/engine/network/orchestrator/NetworkPeer.js +184 -56
- package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts +97 -11
- package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts.map +1 -1
- package/src/engine/network/orchestrator/ServerAuthoritativeServer.js +304 -22
- package/src/engine/network/replication/Replicator.d.ts +14 -1
- package/src/engine/network/replication/Replicator.d.ts.map +1 -1
- package/src/engine/network/replication/Replicator.js +44 -3
- package/src/engine/network/sim/ActionLog.d.ts +21 -3
- package/src/engine/network/sim/ActionLog.d.ts.map +1 -1
- package/src/engine/network/sim/ActionLog.js +24 -3
- package/src/engine/network/sim/SimAction.d.ts +15 -0
- package/src/engine/network/sim/SimAction.d.ts.map +1 -1
- package/src/engine/network/sim/SimAction.js +15 -0
- package/src/engine/network/sim/SimActionExecutor.d.ts +51 -1
- package/src/engine/network/sim/SimActionExecutor.d.ts.map +1 -1
- package/src/engine/network/sim/SimActionExecutor.js +73 -5
- package/src/engine/network/transport/Channel.d.ts +1 -1
- package/src/engine/network/transport/Channel.js +1 -1
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/engine/simulation/Ticker.d.ts.map +1 -1
- package/src/engine/simulation/Ticker.js +4 -1
- package/src/engine/ui/GUIEngine.d.ts.map +1 -1
- package/src/engine/ui/GUIEngine.js +6 -0
- package/src/format/image/avif/DECISIONS.md +545 -0
- package/src/format/image/avif/api/AvifDecoder.d.ts.map +1 -0
- package/src/format/image/avif/api/apply_transformations.d.ts.map +1 -0
- package/src/format/image/avif/api/convert_to_rgba.d.ts.map +1 -0
- package/src/format/image/avif/api/convert_to_rgba.js +204 -0
- package/src/format/image/avif/api/decode_avif.d.ts.map +1 -0
- package/src/format/image/avif/api/decode_image_item.d.ts.map +1 -0
- package/src/format/image/avif/api/encode_avif.d.ts.map +1 -0
- package/src/format/image/avif/av1/decode/Av1FrameContext.d.ts.map +1 -0
- package/src/format/image/avif/av1/decode/block_decoded.d.ts.map +1 -0
- package/src/format/image/avif/av1/decode/decode_av1_still.d.ts.map +1 -0
- package/src/format/image/avif/av1/decode/decode_coefficients.d.ts.map +1 -0
- package/src/format/image/avif/av1/decode/decode_palette.d.ts.map +1 -0
- package/src/format/image/avif/av1/decode/decode_palette.js +442 -0
- package/src/format/image/avif/av1/decode/decode_tile.d.ts.map +1 -0
- package/src/format/image/avif/av1/decode/decode_tile.js +1213 -0
- package/src/format/image/avif/av1/decode/get_scan.d.ts.map +1 -0
- package/src/format/image/avif/av1/decode/read_lr.d.ts.map +1 -0
- package/src/format/image/avif/av1/decode/read_lr.js +277 -0
- package/src/format/image/avif/av1/decode/read_transform_type.d.ts.map +1 -0
- package/src/format/image/avif/av1/decode/read_transform_type.js +92 -0
- package/src/format/image/avif/av1/decode/reconstruct.d.ts.map +1 -0
- package/src/format/image/avif/av1/decode/reconstruct.js +241 -0
- package/src/format/image/avif/av1/decode/transform_type.d.ts.map +1 -0
- package/src/format/image/avif/av1/encode/Av1BlockSnapshot.d.ts.map +1 -0
- package/src/format/image/avif/av1/encode/Av1EncodeContext.d.ts.map +1 -0
- package/src/format/image/avif/av1/encode/build_headers.d.ts.map +1 -0
- package/src/format/image/avif/av1/encode/choose_chroma_alpha.d.ts.map +1 -0
- package/src/format/image/avif/av1/encode/choose_filters.d.ts.map +1 -0
- package/src/format/image/avif/av1/encode/choose_restoration.d.ts.map +1 -0
- package/src/format/image/avif/av1/encode/choose_restoration.js +616 -0
- package/src/format/image/avif/av1/encode/decode_effort.d.ts.map +1 -0
- package/src/format/image/avif/av1/encode/encode_av1_still.d.ts.map +1 -0
- package/src/format/image/avif/av1/encode/encode_effort.d.ts.map +1 -0
- package/src/format/image/avif/av1/encode/encode_tile.d.ts.map +1 -0
- package/src/format/image/avif/av1/encode/encode_tile.js +2331 -0
- package/src/format/image/avif/av1/encode/quantise.d.ts.map +1 -0
- package/src/format/image/avif/av1/encode/write_coefficients.d.ts.map +1 -0
- package/src/format/image/avif/av1/encode/write_lr.d.ts.map +1 -0
- package/src/format/image/avif/av1/encode/write_transform_type.d.ts.map +1 -0
- package/src/format/image/avif/av1/entropy/CdfContext.d.ts.map +1 -0
- package/src/format/image/avif/av1/entropy/SymbolReader.d.ts.map +1 -0
- package/src/format/image/avif/av1/entropy/SymbolWriter.d.ts.map +1 -0
- package/src/format/image/avif/av1/entropy/coefficient_context.d.ts.map +1 -0
- package/src/format/image/avif/av1/entropy/partition_cdf.d.ts.map +1 -0
- package/src/format/image/avif/av1/entropy/symbol_cost.d.ts.map +1 -0
- package/src/format/image/avif/av1/filter/cdef.d.ts.map +1 -0
- package/src/format/image/avif/av1/filter/cdef.js +313 -0
- package/src/format/image/avif/av1/filter/loop_filter.d.ts.map +1 -0
- package/src/format/image/avif/av1/filter/loop_filter.js +377 -0
- package/src/format/image/avif/av1/filter/loop_restoration.d.ts.map +1 -0
- package/src/format/image/avif/av1/filter/loop_restoration.js +451 -0
- package/src/format/image/avif/av1/filter/superres.d.ts.map +1 -0
- package/src/format/image/avif/av1/filter/superres.js +86 -0
- package/src/format/image/avif/av1/grain/FilmGrainState.d.ts.map +1 -0
- package/src/format/image/avif/av1/grain/film_grain.d.ts.map +1 -0
- package/src/format/image/avif/av1/grain/film_grain.js +623 -0
- package/src/format/image/avif/av1/obu/FrameHeader.d.ts.map +1 -0
- package/src/format/image/avif/av1/obu/ObuHeader.d.ts.map +1 -0
- package/src/format/image/avif/av1/obu/SequenceHeader.d.ts.map +1 -0
- package/src/format/image/avif/av1/obu/for_each_obu.d.ts.map +1 -0
- package/src/format/image/avif/av1/obu/parse_frame_header.d.ts.map +1 -0
- package/src/format/image/avif/av1/obu/parse_frame_header.js +841 -0
- package/src/format/image/avif/av1/obu/parse_obu_header.d.ts.map +1 -0
- package/src/format/image/avif/av1/obu/parse_sequence_header.d.ts.map +1 -0
- package/src/format/image/avif/av1/obu/write_frame_header.d.ts.map +1 -0
- package/src/format/image/avif/av1/obu/write_sequence_header.d.ts.map +1 -0
- package/src/format/image/avif/av1/predict/IntraPredictionState.d.ts.map +1 -0
- package/src/format/image/avif/av1/predict/intra_filter_type.d.ts.map +1 -0
- package/src/format/image/avif/av1/predict/predict_chroma_from_luma.d.ts.map +1 -0
- package/src/format/image/avif/av1/predict/predict_chroma_from_luma.js +153 -0
- package/src/format/image/avif/av1/predict/predict_intra.d.ts.map +1 -0
- package/src/format/image/avif/av1/predict/predict_intra.js +803 -0
- package/src/format/image/avif/av1/predict/predict_palette.d.ts.map +1 -0
- package/src/format/image/avif/av1/tables/av1_symbols.d.ts.map +1 -0
- package/src/format/image/avif/av1/tables/av1_symbols.js +419 -0
- package/src/format/image/avif/av1/tables/block_tables.d.ts.map +1 -0
- package/src/format/image/avif/av1/tables/block_tables.js +270 -0
- package/src/format/image/avif/av1/tables/cdf_tables.d.ts.map +1 -0
- package/src/format/image/avif/av1/tables/cdf_tables.js +1893 -0
- package/src/format/image/avif/av1/tables/coefficient_tables.d.ts.map +1 -0
- package/src/format/image/avif/av1/tables/coefficient_tables.js +82 -0
- package/src/format/image/avif/av1/tables/derived_block_tables.d.ts.map +1 -0
- package/src/format/image/avif/av1/tables/filter_tables.d.ts.map +1 -0
- package/src/format/image/avif/av1/tables/filter_tables.js +313 -0
- package/src/format/image/avif/av1/tables/grain_tables.d.ts.map +1 -0
- package/src/format/image/avif/av1/tables/grain_tables.js +190 -0
- package/src/format/image/avif/av1/tables/prediction_tables.d.ts.map +1 -0
- package/src/format/image/avif/av1/tables/prediction_tables.js +223 -0
- package/src/format/image/avif/av1/tables/quantizer_matrix_tables.d.ts.map +1 -0
- package/src/format/image/avif/av1/tables/quantizer_matrix_tables.js +38 -0
- package/src/format/image/avif/av1/tables/quantizer_tables.d.ts.map +1 -0
- package/src/format/image/avif/av1/tables/quantizer_tables.js +160 -0
- package/src/format/image/avif/av1/tables/scan_tables.d.ts.map +1 -0
- package/src/format/image/avif/av1/tables/scan_tables.js +727 -0
- package/src/format/image/avif/av1/tables/segmentation_tables.d.ts.map +1 -0
- package/src/format/image/avif/av1/tables/segmentation_tables.js +48 -0
- package/src/format/image/avif/av1/tables/transform_tables.d.ts.map +1 -0
- package/src/format/image/avif/av1/tables/transform_tables.js +140 -0
- package/src/format/image/avif/av1/tables/unpack_table.d.ts.map +1 -0
- package/src/format/image/avif/av1/tables/unpack_table.js +73 -0
- package/src/format/image/avif/av1/transform/forward_transform_2d.d.ts.map +1 -0
- package/src/format/image/avif/av1/transform/inverse_transform_1d.d.ts.map +1 -0
- package/src/format/image/avif/av1/transform/inverse_transform_1d.js +590 -0
- package/src/format/image/avif/av1/transform/inverse_transform_2d.d.ts.map +1 -0
- package/src/format/image/avif/av1/transform/inverse_transform_2d.js +180 -0
- package/src/format/image/avif/av1/util/ceil_log2.d.ts.map +1 -0
- package/src/format/image/avif/av1/util/floor_log2.d.ts +20 -0
- package/src/format/image/avif/av1/util/floor_log2.d.ts.map +1 -0
- package/src/format/image/avif/av1/util/floor_log2.js +20 -0
- package/src/format/image/avif/av1/util/round2.d.ts.map +1 -0
- package/src/format/image/avif/av1/util/round2_signed.d.ts.map +1 -0
- package/src/format/image/avif/av1/util/tile_log2.d.ts.map +1 -0
- package/src/format/image/avif/bitstream/BitReader.d.ts.map +1 -0
- package/src/format/image/avif/bitstream/BitWriter.d.ts.map +1 -0
- package/src/format/image/avif/color/ColourTransform.d.ts.map +1 -0
- package/src/format/image/avif/color/YuvImage.d.ts.map +1 -0
- package/src/format/image/avif/color/clamp_sample.d.ts.map +1 -0
- package/src/format/image/avif/color/linear_to_transfer.d.ts.map +1 -0
- package/src/format/image/avif/color/linear_to_transfer.js +126 -0
- package/src/format/image/avif/color/primaries.d.ts.map +1 -0
- package/src/format/image/avif/color/rgb_row_to_ycbcr.d.ts.map +1 -0
- package/src/format/image/avif/color/transfer_to_linear.d.ts.map +1 -0
- package/src/format/image/avif/color/transfer_to_linear.js +171 -0
- package/src/format/image/avif/color/upsample_chroma_row.d.ts.map +1 -0
- package/src/format/image/avif/color/upsample_chroma_row.js +89 -0
- package/src/format/image/avif/color/ycbcr_row_to_rgb.d.ts.map +1 -0
- package/src/format/image/avif/color/ycbcr_row_to_rgb.js +78 -0
- package/src/format/image/avif/heif/AvifFile.d.ts.map +1 -0
- package/src/format/image/avif/heif/ItemProperty.d.ts.map +1 -0
- package/src/format/image/avif/heif/find_item_property.d.ts.map +1 -0
- package/src/format/image/avif/heif/find_item_references.d.ts.map +1 -0
- package/src/format/image/avif/heif/find_items_referencing.d.ts.map +1 -0
- package/src/format/image/avif/heif/parse_avif_file.d.ts.map +1 -0
- package/src/format/image/avif/heif/parse_avif_file.js +384 -0
- package/src/format/image/avif/heif/parse_image_grid.d.ts.map +1 -0
- package/src/format/image/avif/heif/parse_image_grid.js +49 -0
- package/src/format/image/avif/heif/parse_item_property.d.ts.map +1 -0
- package/src/format/image/avif/heif/read_item_data.d.ts.map +1 -0
- package/src/format/image/avif/heif/write_avif_file.d.ts.map +1 -0
- package/src/format/image/avif/heif/write_item_property.d.ts.map +1 -0
- package/src/format/image/avif/index.d.ts +12 -0
- package/src/format/image/avif/index.d.ts.map +1 -0
- package/src/format/image/avif/index.js +58 -0
- package/src/format/image/avif/isobmff/BoxHeader.d.ts.map +1 -0
- package/src/format/image/avif/isobmff/BoxWriter.d.ts +118 -0
- package/src/format/image/avif/isobmff/BoxWriter.d.ts.map +1 -0
- package/src/format/image/avif/isobmff/BoxWriter.js +264 -0
- package/src/format/image/avif/isobmff/for_each_box.d.ts.map +1 -0
- package/src/format/image/avif/isobmff/read_box_header.d.ts.map +1 -0
- package/src/format/image/avif/isobmff/read_full_box_header.d.ts.map +1 -0
- package/src/format/image/jpeg/JpegFrame.d.ts.map +1 -0
- package/src/format/image/jpeg/JpegFrameComponent.d.ts.map +1 -0
- package/src/format/image/jpeg/JpegImage.d.ts.map +1 -0
- package/src/format/image/jpeg/JpegImage.js +664 -0
- package/src/format/image/jpeg/buildComponentData.d.ts.map +1 -0
- package/src/format/image/jpeg/buildHuffmanTable.d.ts.map +1 -0
- package/src/format/image/jpeg/decodeScan.d.ts.map +1 -0
- package/src/format/image/jpeg/idct8x8_float.d.ts.map +1 -0
- package/src/format/image/jpeg/idct8x8_float.js +31 -0
- package/src/format/image/jpeg/jpeg_component_row.d.ts.map +1 -0
- package/src/format/image/jpeg/jpeg_decode.d.ts.map +1 -0
- package/src/format/image/png/PNG.d.ts.map +1 -0
- package/src/format/image/png/PNGReader.d.ts +158 -0
- package/src/format/image/png/PNGReader.d.ts.map +1 -0
- package/src/format/image/png/PNGReader.js +656 -0
- package/src/format/image/png/PNG_HEADER_BYTES.d.ts.map +1 -0
- package/src/format/image/png/chunk/png_chunk_decode_iTXt.d.ts.map +1 -0
- package/src/format/image/png/chunk/png_chunk_decode_iTXt.js +53 -0
- package/src/format/image/png/chunk/png_chunk_decode_zTXt.d.ts.map +1 -0
- package/src/format/image/png/chunk/png_chunk_decode_zTXt.js +42 -0
- package/src/format/image/png/crc32.d.ts +2 -0
- package/src/format/image/png/crc32.d.ts.map +1 -0
- package/src/format/image/png/crc32.js +8 -0
- package/src/format/image/png/filter/png_filter_unFilterAverage.d.ts.map +1 -0
- package/src/format/image/png/filter/png_filter_unFilterNone.d.ts.map +1 -0
- package/src/format/image/png/filter/png_filter_unFilterPaeth.d.ts.map +1 -0
- package/src/format/image/png/filter/png_filter_unFilterSub.d.ts.map +1 -0
- package/src/format/image/png/filter/png_filter_unFilterUp.d.ts.map +1 -0
- package/src/format/image/png/filter/png_unfilter.d.ts.map +1 -0
- package/src/format/image/png/filter/png_unfilter.js +68 -0
- package/src/format/image/png/png_inflate.d.ts.map +1 -0
- package/src/format/image/png/png_unpack_samples.d.ts.map +1 -0
- package/src/format/scene/gltf/GLTF_PRIMITIVE_MODE.d.ts.map +1 -0
- package/src/format/scene/gltf/MESHOPT_COMPRESSION_PLAN.md +793 -0
- package/src/format/scene/gltf/coalesce_array_duplicates.d.ts.map +1 -0
- package/src/format/scene/gltf/ext/GltfBufferViewExtension.d.ts.map +1 -0
- package/src/format/scene/gltf/ext/GltfBufferViewExtensionSet.d.ts.map +1 -0
- package/src/format/scene/gltf/ext/GltfBufferViewExtensionSet.js +109 -0
- package/src/format/scene/gltf/ext/gltf_apply_buffer_view_extensions.d.ts.map +1 -0
- package/src/format/scene/gltf/ext/gltf_buffer_view_extensions.d.ts.map +1 -0
- package/src/format/scene/gltf/ext/gltf_geometry_extensions.d.ts.map +1 -0
- package/src/format/scene/gltf/ext/meshopt/MeshoptBufferViewExtension.d.ts.map +1 -0
- package/src/format/scene/gltf/ext/meshopt/MeshoptBufferViewExtension.js +301 -0
- package/src/format/scene/gltf/gltf_component_type.d.ts.map +1 -0
- package/src/format/scene/gltf/gltf_node_world_matrices.d.ts.map +1 -0
- package/src/format/scene/gltf/gltf_node_world_matrices.js +137 -0
- package/src/format/scene/gltf/gltf_parse_container.d.ts.map +1 -0
- package/src/format/scene/gltf/gltf_read_accessor.d.ts.map +1 -0
- package/src/format/scene/gltf/gltf_read_accessor.js +294 -0
- package/src/format/scene/gltf/gltf_used_image_indices.d.ts +51 -0
- package/src/format/scene/gltf/gltf_used_image_indices.d.ts.map +1 -0
- package/src/format/scene/gltf/gltf_used_image_indices.js +122 -0
- package/src/format/scene/usd/UsdError.d.ts.map +1 -0
- package/src/format/scene/usd/parse_usda.d.ts.map +1 -0
- package/src/format/scene/usd/unpack_usdz.d.ts.map +1 -0
- package/src/format/scene/usd/unpack_usdz.js +106 -0
- package/src/format/scene/usd/usd_compose_transform.d.ts.map +1 -0
- package/src/format/scene/usd/usd_compose_transform.js +258 -0
- package/src/format/scene/usd/usd_lz4.d.ts.map +1 -0
- package/src/format/scene/usd/usd_lz4.js +182 -0
- package/src/format/scene/usd/usd_triangulate.d.ts.map +1 -0
- package/src/format/texture/TexelPayload.d.ts +55 -0
- package/src/format/texture/TexelPayload.d.ts.map +1 -0
- package/src/format/texture/TexelPayload.js +39 -0
- package/src/format/texture/basis/BasisBitReader.d.ts +77 -0
- package/src/format/texture/basis/BasisBitReader.d.ts.map +1 -0
- package/src/format/texture/basis/BasisBitReader.js +231 -0
- package/src/format/texture/basis/BasisHuffmanTable.d.ts.map +1 -0
- package/src/format/texture/basis/astc_block.d.ts +92 -0
- package/src/format/texture/basis/astc_block.d.ts.map +1 -0
- package/src/format/texture/basis/astc_block.js +164 -0
- package/src/format/texture/basis/astc_integer_sequence.d.ts +59 -0
- package/src/format/texture/basis/astc_integer_sequence.d.ts.map +1 -0
- package/src/format/texture/basis/astc_integer_sequence.js +251 -0
- package/src/format/texture/basis/astc_partition.d.ts +56 -0
- package/src/format/texture/basis/astc_partition.d.ts.map +1 -0
- package/src/format/texture/basis/astc_partition.js +199 -0
- package/src/format/texture/basis/basis_read_huffman_table.d.ts.map +1 -0
- package/src/format/texture/basis/etc1s/Etc1sSelectorHistory.d.ts.map +1 -0
- package/src/format/texture/basis/etc1s/etc1s_block_colors.d.ts.map +1 -0
- package/src/format/texture/basis/etc1s/etc1s_decode_slice.d.ts.map +1 -0
- package/src/format/texture/basis/etc1s/etc1s_decode_slice.js +290 -0
- package/src/format/texture/basis/etc1s/etc1s_read_endpoint_codebook.d.ts.map +1 -0
- package/src/format/texture/basis/etc1s/etc1s_read_selector_codebook.d.ts.map +1 -0
- package/src/format/texture/basis/etc1s/etc1s_read_slice_tables.d.ts.map +1 -0
- package/src/format/texture/basis/transcode/build_range_plan.d.ts +46 -0
- package/src/format/texture/basis/transcode/build_range_plan.d.ts.map +1 -0
- package/src/format/texture/basis/transcode/etc1s_to_astc.d.ts +30 -0
- package/src/format/texture/basis/transcode/etc1s_to_astc.d.ts.map +1 -0
- package/src/format/texture/basis/transcode/etc1s_to_astc.js +328 -0
- package/src/format/texture/basis/transcode/etc1s_to_bc1.d.ts +34 -0
- package/src/format/texture/basis/transcode/etc1s_to_bc1.d.ts.map +1 -0
- package/src/format/texture/basis/transcode/etc1s_to_bc1.js +486 -0
- package/src/format/texture/basis/transcode/etc1s_to_bc7.d.ts +27 -0
- package/src/format/texture/basis/transcode/etc1s_to_bc7.d.ts.map +1 -0
- package/src/format/texture/basis/transcode/etc1s_to_etc2.d.ts +31 -0
- package/src/format/texture/basis/transcode/etc1s_to_etc2.d.ts.map +1 -0
- package/src/format/texture/basis/transcode/etc1s_to_etc2.js +332 -0
- package/src/format/texture/basis/transcode/etc1s_to_rgba8.d.ts +39 -0
- package/src/format/texture/basis/transcode/etc1s_to_rgba8.d.ts.map +1 -0
- package/src/format/texture/basis/transcode/etc1s_to_rgba8.js +115 -0
- package/src/format/texture/basis/transcode/fit_endpoints.d.ts +79 -0
- package/src/format/texture/basis/transcode/fit_endpoints.d.ts.map +1 -0
- package/src/format/texture/basis/transcode/fit_endpoints.js +297 -0
- package/src/format/texture/basis/transcode_basis.d.ts +109 -0
- package/src/format/texture/basis/transcode_basis.d.ts.map +1 -0
- package/src/format/texture/basis/transcode_basis.js +250 -0
- package/src/format/texture/basis/transcode_uastc.d.ts +55 -0
- package/src/format/texture/basis/transcode_uastc.d.ts.map +1 -0
- package/src/format/texture/basis/transcode_uastc.js +117 -0
- package/src/format/texture/basis/uastc/bc7_tables.d.ts +111 -0
- package/src/format/texture/basis/uastc/bc7_tables.d.ts.map +1 -0
- package/src/format/texture/basis/uastc/bc7_tables.js +276 -0
- package/src/format/texture/basis/uastc/bc7_write_block.d.ts +124 -0
- package/src/format/texture/basis/uastc/bc7_write_block.d.ts.map +1 -0
- package/src/format/texture/basis/uastc/bc7_write_block.js +227 -0
- package/src/format/texture/basis/uastc/uastc_decode_block.d.ts +105 -0
- package/src/format/texture/basis/uastc/uastc_decode_block.d.ts.map +1 -0
- package/src/format/texture/basis/uastc/uastc_decode_block.js +480 -0
- package/src/format/texture/basis/uastc/uastc_tables.d.ts +240 -0
- package/src/format/texture/basis/uastc/uastc_tables.d.ts.map +1 -0
- package/src/format/texture/basis/uastc/uastc_tables.js +383 -0
- package/src/format/texture/basis/uastc/uastc_to_astc.d.ts +30 -0
- package/src/format/texture/basis/uastc/uastc_to_astc.d.ts.map +1 -0
- package/src/format/texture/basis/uastc/uastc_to_astc.js +421 -0
- package/src/format/texture/basis/uastc/uastc_to_bc5.d.ts +26 -0
- package/src/format/texture/basis/uastc/uastc_to_bc5.d.ts.map +1 -0
- package/src/format/texture/basis/uastc/uastc_to_bc5.js +115 -0
- package/src/format/texture/basis/uastc/uastc_to_bc7.d.ts +36 -0
- package/src/format/texture/basis/uastc/uastc_to_bc7.d.ts.map +1 -0
- package/src/format/texture/basis/uastc/uastc_to_bc7.js +602 -0
- package/src/format/texture/basis/uastc/uastc_to_rgba8.d.ts +37 -0
- package/src/format/texture/basis/uastc/uastc_to_rgba8.d.ts.map +1 -0
- package/src/format/texture/basis/uastc/uastc_to_rgba8.js +87 -0
- package/src/format/texture/bc/bc1_write_block.d.ts +28 -0
- package/src/format/texture/bc/bc1_write_block.d.ts.map +1 -0
- package/src/format/texture/bc/bc1_write_block.js +41 -0
- package/src/format/texture/bc/bc4_write_block.d.ts +32 -0
- package/src/format/texture/bc/bc4_write_block.d.ts.map +1 -0
- package/src/format/texture/bc/bc4_write_block.js +50 -0
- package/src/format/texture/bc/bc6h_write_block_mode11.d.ts +30 -0
- package/src/format/texture/bc/bc6h_write_block_mode11.d.ts.map +1 -0
- package/src/format/texture/bc/bc6h_write_block_mode11.js +62 -0
- package/src/format/texture/ktx2/KTX2_IDENTIFIER.d.ts.map +1 -0
- package/src/format/texture/ktx2/KhrDfModel.d.ts.map +1 -0
- package/src/format/texture/ktx2/SupercompressionScheme.d.ts.map +1 -0
- package/src/format/texture/ktx2/ktx2_read.d.ts +105 -0
- package/src/format/texture/ktx2/ktx2_read.d.ts.map +1 -0
- package/src/format/texture/ktx2/ktx2_read.js +909 -0
- package/src/format/texture/ktx2/ktx2_read_basis_lz_global_data.d.ts +27 -0
- package/src/format/texture/ktx2/ktx2_read_basis_lz_global_data.d.ts.map +1 -0
- package/src/format/texture/ktx2/ktx2_read_basis_lz_global_data.js +189 -0
- package/src/format/texture/ktx2/vk_format_to_texture_format.d.ts +55 -0
- package/src/format/texture/ktx2/vk_format_to_texture_format.d.ts.map +1 -0
- package/src/format/texture/ktx2/vk_format_to_texture_format.js +290 -0
- package/src/shade/descriptor/texture/format/gpu_texture_format_feature.d.ts +16 -0
- package/src/shade/descriptor/texture/format/gpu_texture_format_feature.d.ts.map +1 -0
- package/src/shade/descriptor/texture/format/gpu_texture_format_feature.js +44 -0
- package/src/shade/descriptor/texture/format/gpu_texture_format_info.d.ts +16 -0
- package/src/shade/descriptor/texture/format/gpu_texture_format_info.d.ts.map +1 -1
- package/src/shade/descriptor/texture/format/gpu_texture_format_info.js +24 -0
- package/src/shade/descriptor/texture/format/gpu_texture_format_srgb.d.ts +19 -0
- package/src/shade/descriptor/texture/format/gpu_texture_format_srgb.d.ts.map +1 -0
- package/src/shade/descriptor/texture/format/gpu_texture_format_srgb.js +50 -0
- package/src/shade/device/COPY_BYTES_PER_ROW_ALIGNMENT.d.ts +14 -0
- package/src/shade/device/COPY_BYTES_PER_ROW_ALIGNMENT.d.ts.map +1 -0
- package/src/shade/device/COPY_BYTES_PER_ROW_ALIGNMENT.js +13 -0
- package/src/shade/device/mock/SoftwareGPUDevice.d.ts.map +1 -1
- package/src/shade/device/mock/SoftwareGPUDevice.js +37 -3
- package/src/shade/device/mock/SoftwareGPUTexture.d.ts +4 -2
- package/src/shade/device/mock/SoftwareGPUTexture.d.ts.map +1 -1
- package/src/shade/device/mock/SoftwareGPUTexture.js +39 -3
- package/src/shade/device/mock/SoftwareGPUTextureView.d.ts +7 -0
- package/src/shade/device/mock/SoftwareGPUTextureView.d.ts.map +1 -1
- package/src/shade/device/mock/SoftwareGPUTextureView.js +8 -0
- package/src/shade/device/mock/texture_copy.d.ts.map +1 -1
- package/src/shade/device/mock/texture_copy.js +74 -12
- package/src/shade/playground/basis_textures/README.md +105 -0
- package/src/shade/playground/basis_textures/index.html +141 -0
- package/src/shade/playground/basis_textures/main.d.ts +8 -0
- package/src/shade/playground/basis_textures/main.d.ts.map +1 -0
- package/src/shade/playground/basis_textures/main.js +351 -0
- package/src/shade/playground/basis_textures/make_basis_gltf.d.mts +2 -0
- package/src/shade/playground/basis_textures/make_basis_gltf.d.mts.map +1 -0
- package/src/shade/playground/basis_textures/make_basis_gltf.mjs +197 -0
- package/src/shade/playground/basis_textures/node_modules/basis_universal/bin/basisu.exe +0 -0
- package/src/shade/playground/basis_textures/texture_inventory.d.ts +28 -0
- package/src/shade/playground/basis_textures/texture_inventory.d.ts.map +1 -0
- package/src/shade/playground/basis_textures/texture_inventory.js +98 -0
- package/src/shade/playground/image_decode_bench/README.md +42 -0
- package/src/shade/playground/image_decode_bench/decode_worker.d.ts +2 -0
- package/src/shade/playground/image_decode_bench/decode_worker.d.ts.map +1 -0
- package/src/shade/playground/image_decode_bench/decode_worker.js +19 -0
- package/src/shade/playground/image_decode_bench/index.html +34 -0
- package/src/shade/playground/image_decode_bench/main.d.ts +2 -0
- package/src/shade/playground/image_decode_bench/main.d.ts.map +1 -0
- package/src/shade/playground/image_decode_bench/main.js +211 -0
- package/src/shade/playground/particle_system/README.md +98 -0
- package/src/shade/playground/particle_system/index.html +124 -0
- package/src/shade/playground/particle_system/main.d.ts +2 -0
- package/src/shade/playground/particle_system/main.d.ts.map +1 -0
- package/src/shade/playground/particle_system/main.js +180 -0
- package/src/shade/playground/particle_system/particle_scene.d.ts +52 -0
- package/src/shade/playground/particle_system/particle_scene.d.ts.map +1 -0
- package/src/shade/playground/particle_system/particle_scene.js +552 -0
- package/src/shade/playground/skinned_blas_refit/README.md +1 -1
- package/src/shade/playground/skinned_blas_refit/index.html +15 -1
- package/src/shade/playground/skinned_blas_refit/main.d.ts.map +1 -1
- package/src/shade/playground/skinned_blas_refit/main.js +339 -3
- package/src/shade/playground/skinned_blas_refit/shader_blas_audit_leaf_triangles.d.ts +8 -1
- package/src/shade/playground/skinned_blas_refit/shader_blas_audit_leaf_triangles.d.ts.map +1 -1
- package/src/shade/playground/skinned_blas_refit/shader_blas_audit_leaf_triangles.js +27 -5
- package/src/shade/playground/skinned_blas_refit/verify_clone_leaves.d.ts +27 -0
- package/src/shade/playground/skinned_blas_refit/verify_clone_leaves.d.ts.map +1 -0
- package/src/shade/playground/skinned_blas_refit/verify_clone_leaves.js +127 -0
- package/src/shade/playground/skinned_blas_refit/verify_leaf_triangles.d.ts.map +1 -1
- package/src/shade/playground/skinned_blas_refit/verify_leaf_triangles.js +3 -3
- package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.d.ts.map +1 -1
- package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.js +10 -8
- package/src/shade/playground/skinned_mesh_soup/README.md +122 -0
- package/src/shade/playground/skinned_mesh_soup/index.html +199 -0
- package/src/shade/playground/skinned_mesh_soup/main.d.ts +7 -0
- package/src/shade/playground/skinned_mesh_soup/main.d.ts.map +1 -0
- package/src/shade/playground/skinned_mesh_soup/main.js +564 -0
- package/src/shade/playground/skinned_mesh_soup/verify_clone_vertices.d.ts +23 -0
- package/src/shade/playground/skinned_mesh_soup/verify_clone_vertices.d.ts.map +1 -0
- package/src/shade/playground/skinned_mesh_soup/verify_clone_vertices.js +409 -0
- package/src/shade/playground/texture_encode/README.md +109 -0
- package/src/shade/playground/texture_encode/index.html +133 -0
- package/src/shade/playground/texture_encode/main.d.ts +24 -0
- package/src/shade/playground/texture_encode/main.d.ts.map +1 -0
- package/src/shade/playground/texture_encode/main.js +1430 -0
- package/src/shade/playground/texture_encode/panel_view.d.ts +118 -0
- package/src/shade/playground/texture_encode/panel_view.d.ts.map +1 -0
- package/src/shade/playground/texture_encode/panel_view.js +363 -0
- package/src/shade/renderer/Renderer.js +2 -2
- package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
- package/src/shade/renderer/animation/GPUAnimationManager.js +49 -5
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts.map +1 -1
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.js +32 -14
- package/src/shade/renderer/geometry/GPUGeometryManager.d.ts.map +1 -1
- package/src/shade/renderer/geometry/GPUGeometryManager.js +591 -497
- package/src/shade/renderer/geometry/GPUGeometryMetadata.d.ts +9 -0
- package/src/shade/renderer/geometry/GPUGeometryMetadata.d.ts.map +1 -1
- package/src/shade/renderer/geometry/GPUGeometryMetadata.js +10 -0
- package/src/shade/renderer/geometry/bvh/BLAS_REFIT_BATCH_PLAN.md +606 -0
- package/src/shade/renderer/geometry/bvh/BLAS_REFIT_TARGET_STRUCT.d.ts +17 -0
- package/src/shade/renderer/geometry/bvh/BLAS_REFIT_TARGET_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/geometry/bvh/BLAS_REFIT_TARGET_STRUCT.js +44 -0
- package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.d.ts +58 -0
- package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.d.ts.map +1 -0
- package/src/shade/renderer/geometry/bvh/GPUBLASRefitBatch.js +362 -0
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts +38 -0
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts.map +1 -1
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.js +730 -617
- package/src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.d.ts +15 -2
- package/src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.d.ts.map +1 -1
- package/src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.js +15 -1
- package/src/shade/renderer/geometry/bvh/shader_blas_refit_batch.d.ts +39 -0
- package/src/shade/renderer/geometry/bvh/shader_blas_refit_batch.d.ts.map +1 -0
- package/src/shade/renderer/geometry/bvh/shader_blas_refit_batch.js +134 -0
- package/src/shade/renderer/geometry/virtual/build/gltf/gltf_collect_geometries.js +3 -3
- package/src/shade/renderer/geometry/virtual/build/gltf/gltf_open_document.js +3 -3
- package/src/shade/renderer/geometry/virtual/build/gltf/gltf_read_geometry.js +1 -1
- package/src/shade/renderer/gpu_primitive/bvh/BVH_NODE_LAYOUT_DEFINITION.d.ts +17 -0
- package/src/shade/renderer/gpu_primitive/bvh/BVH_NODE_LAYOUT_DEFINITION.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/BVH_NODE_LAYOUT_DEFINITION.js +30 -0
- package/src/shade/renderer/gpu_primitive/bvh/GPU_BVH_BUILD_PLAN.md +8 -1
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_refit_climb.d.ts +34 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_refit_climb.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_refit_climb.js +102 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.d.ts +11 -9
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.js +24 -86
- package/src/shade/renderer/loader/gltf/gltf_create_texture.d.ts +18 -0
- package/src/shade/renderer/loader/gltf/gltf_create_texture.d.ts.map +1 -0
- package/src/shade/renderer/loader/gltf/gltf_create_texture.js +103 -0
- package/src/shade/renderer/loader/gltf/gltf_image_roles.d.ts +26 -0
- package/src/shade/renderer/loader/gltf/gltf_image_roles.d.ts.map +1 -0
- package/src/shade/renderer/loader/gltf/gltf_image_roles.js +108 -0
- package/src/shade/renderer/loader/gltf/load_gltf.d.ts +10 -3
- package/src/shade/renderer/loader/gltf/load_gltf.d.ts.map +1 -1
- package/src/shade/renderer/loader/gltf/load_gltf.js +1179 -1253
- package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +18 -1
- package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts.map +1 -1
- package/src/shade/renderer/loader/gltf/tiny-gltf.js +837 -646
- package/src/shade/renderer/loader/usd/load_usd.js +3 -3
- package/src/shade/renderer/loader/usd/usd_build_scene.js +2 -2
- package/src/shade/renderer/loader/usd/usd_decode_image.d.ts +6 -5
- package/src/shade/renderer/loader/usd/usd_decode_image.d.ts.map +1 -1
- package/src/shade/renderer/loader/usd/usd_decode_image.js +197 -384
- package/src/shade/renderer/particles/cull/chunk_particle_cull.d.ts.map +1 -1
- package/src/shade/renderer/particles/cull/chunk_particle_cull.js +3 -1
- package/src/shade/renderer/particles/data/chunk_particle_emitter.js +1 -1
- package/src/shade/renderer/particles/graph/compile_particle_graph.d.ts +1 -1
- package/src/shade/renderer/particles/graph/compile_particle_graph.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/InstructionStream.d.ts +89 -0
- package/src/shade/renderer/particles/isa/InstructionStream.d.ts.map +1 -0
- package/src/shade/renderer/particles/isa/InstructionStream.js +162 -0
- package/src/shade/renderer/particles/isa/ParticleAssembler.d.ts +1 -48
- package/src/shade/renderer/particles/isa/ParticleAssembler.d.ts.map +1 -1
- package/src/shade/renderer/particles/isa/ParticleAssembler.js +25 -114
- package/src/shade/renderer/particles/shaders/chunk_particle_curve_animation.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_curve_animation.js +4 -2
- package/src/shade/renderer/particles/shaders/chunk_particle_lighting.d.ts +4 -4
- package/src/shade/renderer/particles/shaders/chunk_particle_lighting.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_lighting.js +7 -5
- package/src/shade/renderer/particles/shaders/chunk_particle_render_math.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_render_math.js +3 -1
- package/src/shade/renderer/particles/shaders/shader_particle_emit.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_emit.js +3 -1
- package/src/shade/renderer/particles/shaders/shader_particle_finalize.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_finalize.js +5 -2
- package/src/shade/renderer/particles/shaders/shader_particle_render.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_render.js +9 -2
- package/src/shade/renderer/particles/shaders/shader_particle_simulate.d.ts.map +1 -1
- package/src/shade/renderer/particles/shaders/shader_particle_simulate.js +3 -1
- package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
- package/src/shade/renderer/postprocess/taa/TAA.d.ts +3 -3
- package/src/shade/renderer/postprocess/taa/TAA.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/taa/TAA.js +2 -6
- package/src/shade/renderer/postprocess/taa/chunk_depth_clip_offset_codec.d.ts +18 -0
- package/src/shade/renderer/postprocess/taa/chunk_depth_clip_offset_codec.d.ts.map +1 -0
- package/src/shade/renderer/postprocess/taa/chunk_depth_clip_offset_codec.js +36 -0
- package/src/shade/renderer/postprocess/taa/chunk_taa_history_color_bounding_box_YCoCg.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/taa/chunk_taa_history_color_bounding_box_YCoCg.js +4 -1
- package/src/shade/renderer/postprocess/taa/shader_depth_occlusion_clip.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/taa/shader_depth_occlusion_clip.js +13 -8
- package/src/shade/renderer/postprocess/taa/shader_taa.d.ts +1 -1
- package/src/shade/renderer/postprocess/taa/shader_taa.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/taa/shader_taa.js +52 -38
- package/src/shade/renderer/restir/di/chunk_restir_temporal_reuse.d.ts +4 -2
- package/src/shade/renderer/restir/di/chunk_restir_temporal_reuse.d.ts.map +1 -1
- package/src/shade/renderer/restir/di/chunk_restir_temporal_reuse.js +9 -6
- package/src/shade/renderer/scene/optimization/deduplicate_images.js +93 -93
- package/src/shade/renderer/scene/optimization/downscale_images.js +216 -216
- package/src/shade/renderer/scene/serialization/decode_image_source_hdr.js +1 -1
- package/src/shade/renderer/scene/serialization/deserialize_scene.js +1 -1
- package/src/shade/renderer/scene/serialization/write_image_source.js +1 -1
- package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_eotf_st2084.d.ts +1 -1
- package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_eotf_st2084.js +1 -1
- package/src/shade/renderer/shader/chunk/texture/sample/chunk_texture_sample_catmullrom_hardware_5tap_uv.d.ts +2 -1
- package/src/shade/renderer/shader/chunk/texture/sample/chunk_texture_sample_catmullrom_hardware_5tap_uv.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/texture/sample/chunk_texture_sample_catmullrom_hardware_5tap_uv.js +2 -1
- package/src/shade/renderer/texture/COMPRESSED_TEXTURE_PLAN_2026_09_01.md +893 -10
- package/src/shade/renderer/texture/encode/ENCODE_NOTES_2026_09_02.md +462 -0
- package/src/shade/renderer/texture/encode/chunk_astc_encode_block_4x4_rgb.d.ts +33 -0
- package/src/shade/renderer/texture/encode/chunk_astc_encode_block_4x4_rgb.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/chunk_astc_encode_block_4x4_rgb.js +310 -0
- package/src/shade/renderer/texture/encode/chunk_astc_pack_4x4_rgb.d.ts +17 -0
- package/src/shade/renderer/texture/encode/chunk_astc_pack_4x4_rgb.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/chunk_astc_pack_4x4_rgb.js +51 -0
- package/src/shade/renderer/texture/encode/chunk_bc1_encode_block.d.ts +42 -0
- package/src/shade/renderer/texture/encode/chunk_bc1_encode_block.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/chunk_bc1_encode_block.js +375 -0
- package/src/shade/renderer/texture/encode/chunk_bc1_pack_block.d.ts +12 -0
- package/src/shade/renderer/texture/encode/chunk_bc1_pack_block.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/chunk_bc1_pack_block.js +24 -0
- package/src/shade/renderer/texture/encode/chunk_bc4_encode_block.d.ts +45 -0
- package/src/shade/renderer/texture/encode/chunk_bc4_encode_block.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/chunk_bc4_encode_block.js +348 -0
- package/src/shade/renderer/texture/encode/chunk_bc4_pack_block.d.ts +16 -0
- package/src/shade/renderer/texture/encode/chunk_bc4_pack_block.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/chunk_bc4_pack_block.js +33 -0
- package/src/shade/renderer/texture/encode/chunk_bc6h_encode_block_mode11.d.ts +32 -0
- package/src/shade/renderer/texture/encode/chunk_bc6h_encode_block_mode11.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/chunk_bc6h_encode_block_mode11.js +346 -0
- package/src/shade/renderer/texture/encode/chunk_bc6h_pack_mode11.d.ts +10 -0
- package/src/shade/renderer/texture/encode/chunk_bc6h_pack_mode11.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/chunk_bc6h_pack_mode11.js +54 -0
- package/src/shade/renderer/texture/encode/chunk_bc7_encode_block_mode6.d.ts +36 -0
- package/src/shade/renderer/texture/encode/chunk_bc7_encode_block_mode6.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/chunk_bc7_encode_block_mode6.js +327 -0
- package/src/shade/renderer/texture/encode/chunk_bc7_pack_mode6.d.ts +22 -0
- package/src/shade/renderer/texture/encode/chunk_bc7_pack_mode6.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/chunk_bc7_pack_mode6.js +71 -0
- package/src/shade/renderer/texture/encode/chunk_texture_encode_level.d.ts +20 -0
- package/src/shade/renderer/texture/encode/chunk_texture_encode_level.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/chunk_texture_encode_level.js +73 -0
- package/src/shade/renderer/texture/encode/chunk_texture_encode_load_block.d.ts +16 -0
- package/src/shade/renderer/texture/encode/chunk_texture_encode_load_block.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/chunk_texture_encode_load_block.js +36 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_astc_4x4.d.ts +13 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_astc_4x4.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_astc_4x4.js +63 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc1.d.ts +12 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc1.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc1.js +60 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc4.d.ts +28 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc4.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc4.js +76 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc4_snorm.d.ts +16 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc4_snorm.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc4_snorm.js +64 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc5.d.ts +14 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc5.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc5.js +67 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc5_snorm.d.ts +10 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc5_snorm.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc5_snorm.js +63 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc6h.d.ts +12 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc6h.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc6h.js +62 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc7.d.ts +14 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc7.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/shader_texture_encode_bc7.js +58 -0
- package/src/shade/renderer/texture/encode/texture_encode.d.ts +84 -0
- package/src/shade/renderer/texture/encode/texture_encode.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/texture_encode.js +168 -0
- package/src/shade/renderer/texture/encode/texture_encode_layout.d.ts +196 -0
- package/src/shade/renderer/texture/encode/texture_encode_layout.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/texture_encode_layout.js +248 -0
- package/src/shade/renderer/texture/encode/texture_encode_resources.d.ts +15 -0
- package/src/shade/renderer/texture/encode/texture_encode_resources.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/texture_encode_resources.js +25 -0
- package/src/shade/renderer/texture/encode/texture_encode_shader.d.ts +30 -0
- package/src/shade/renderer/texture/encode/texture_encode_shader.d.ts.map +1 -0
- package/src/shade/renderer/texture/encode/texture_encode_shader.js +108 -0
- package/src/shade/renderer/texture/format/gpu_texture_compression_support.d.ts +3 -1
- package/src/shade/renderer/texture/format/gpu_texture_compression_support.d.ts.map +1 -1
- package/src/shade/renderer/texture/format/gpu_texture_compression_support.js +8 -25
- package/src/shade/renderer/texture/format/texture_format_from_shade_image.d.ts.map +1 -1
- package/src/shade/renderer/texture/format/texture_format_from_shade_image.js +26 -2
- package/src/shade/renderer/texture/source/texel_data_from_ktx2.d.ts +32 -0
- package/src/shade/renderer/texture/source/texel_data_from_ktx2.d.ts.map +1 -0
- package/src/shade/renderer/texture/source/texel_data_from_ktx2.js +48 -0
- package/src/shade/renderer/texture/texture_write_level.d.ts.map +1 -1
- package/src/shade/renderer/texture/texture_write_level.js +11 -1
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.js +20 -0
- package/src/shade/renderer/volumetrics/NOTES.md +28 -0
- package/src/shade/renderer/volumetrics/taa/chunk_volumetric_history_bounding_box.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/taa/chunk_volumetric_history_bounding_box.js +7 -2
- package/src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_reproject.d.ts +17 -0
- package/src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_reproject.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_reproject.js +168 -0
- package/src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_resolve.d.ts +13 -0
- package/src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_resolve.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/taa/chunk_volumetrics_taa_resolve.js +56 -0
- package/src/shade/renderer/volumetrics/taa/shader_volumetrics_taa.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/taa/shader_volumetrics_taa.js +134 -334
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.d.ts.map +1 -1
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.js +49 -21
- package/src/avif/encode_image_source.d.ts +0 -70
- package/src/avif/encode_image_source.d.ts.map +0 -1
- package/src/avif/encode_image_source.js +0 -117
- package/src/avif/encoder_worker.d.ts.map +0 -1
- package/src/avif/index.d.ts +0 -5
- package/src/avif/index.d.ts.map +0 -1
- package/src/avif/index.js +0 -21
- package/src/avif/native/DECISIONS.md +0 -545
- package/src/avif/native/api/AvifDecoder.d.ts.map +0 -1
- package/src/avif/native/api/apply_transformations.d.ts.map +0 -1
- package/src/avif/native/api/avif_to_sampler2d.d.ts +0 -25
- package/src/avif/native/api/avif_to_sampler2d.d.ts.map +0 -1
- package/src/avif/native/api/avif_to_sampler2d.js +0 -42
- package/src/avif/native/api/convert_to_rgba.d.ts.map +0 -1
- package/src/avif/native/api/convert_to_rgba.js +0 -204
- package/src/avif/native/api/decode_avif.d.ts.map +0 -1
- package/src/avif/native/api/decode_image_item.d.ts.map +0 -1
- package/src/avif/native/api/encode_avif.d.ts.map +0 -1
- package/src/avif/native/api/sampler2d_to_avif.d.ts.map +0 -1
- package/src/avif/native/api/sampler2d_to_avif.js +0 -108
- package/src/avif/native/av1/decode/Av1FrameContext.d.ts.map +0 -1
- package/src/avif/native/av1/decode/block_decoded.d.ts.map +0 -1
- package/src/avif/native/av1/decode/decode_av1_still.d.ts.map +0 -1
- package/src/avif/native/av1/decode/decode_coefficients.d.ts.map +0 -1
- package/src/avif/native/av1/decode/decode_palette.d.ts.map +0 -1
- package/src/avif/native/av1/decode/decode_palette.js +0 -442
- package/src/avif/native/av1/decode/decode_tile.d.ts.map +0 -1
- package/src/avif/native/av1/decode/decode_tile.js +0 -1213
- package/src/avif/native/av1/decode/get_scan.d.ts.map +0 -1
- package/src/avif/native/av1/decode/read_lr.d.ts.map +0 -1
- package/src/avif/native/av1/decode/read_lr.js +0 -277
- package/src/avif/native/av1/decode/read_transform_type.d.ts.map +0 -1
- package/src/avif/native/av1/decode/read_transform_type.js +0 -92
- package/src/avif/native/av1/decode/reconstruct.d.ts.map +0 -1
- package/src/avif/native/av1/decode/reconstruct.js +0 -241
- package/src/avif/native/av1/decode/transform_type.d.ts.map +0 -1
- package/src/avif/native/av1/encode/Av1BlockSnapshot.d.ts.map +0 -1
- package/src/avif/native/av1/encode/Av1EncodeContext.d.ts.map +0 -1
- package/src/avif/native/av1/encode/build_headers.d.ts.map +0 -1
- package/src/avif/native/av1/encode/choose_chroma_alpha.d.ts.map +0 -1
- package/src/avif/native/av1/encode/choose_filters.d.ts.map +0 -1
- package/src/avif/native/av1/encode/choose_restoration.d.ts.map +0 -1
- package/src/avif/native/av1/encode/choose_restoration.js +0 -616
- package/src/avif/native/av1/encode/decode_effort.d.ts.map +0 -1
- package/src/avif/native/av1/encode/encode_av1_still.d.ts.map +0 -1
- package/src/avif/native/av1/encode/encode_effort.d.ts.map +0 -1
- package/src/avif/native/av1/encode/encode_tile.d.ts.map +0 -1
- package/src/avif/native/av1/encode/encode_tile.js +0 -2331
- package/src/avif/native/av1/encode/quantise.d.ts.map +0 -1
- package/src/avif/native/av1/encode/write_coefficients.d.ts.map +0 -1
- package/src/avif/native/av1/encode/write_lr.d.ts.map +0 -1
- package/src/avif/native/av1/encode/write_transform_type.d.ts.map +0 -1
- package/src/avif/native/av1/entropy/CdfContext.d.ts.map +0 -1
- package/src/avif/native/av1/entropy/SymbolReader.d.ts.map +0 -1
- package/src/avif/native/av1/entropy/SymbolWriter.d.ts.map +0 -1
- package/src/avif/native/av1/entropy/coefficient_context.d.ts.map +0 -1
- package/src/avif/native/av1/entropy/partition_cdf.d.ts.map +0 -1
- package/src/avif/native/av1/entropy/symbol_cost.d.ts.map +0 -1
- package/src/avif/native/av1/filter/cdef.d.ts.map +0 -1
- package/src/avif/native/av1/filter/cdef.js +0 -313
- package/src/avif/native/av1/filter/loop_filter.d.ts.map +0 -1
- package/src/avif/native/av1/filter/loop_filter.js +0 -377
- package/src/avif/native/av1/filter/loop_restoration.d.ts.map +0 -1
- package/src/avif/native/av1/filter/loop_restoration.js +0 -451
- package/src/avif/native/av1/filter/superres.d.ts.map +0 -1
- package/src/avif/native/av1/filter/superres.js +0 -86
- package/src/avif/native/av1/grain/FilmGrainState.d.ts.map +0 -1
- package/src/avif/native/av1/grain/film_grain.d.ts.map +0 -1
- package/src/avif/native/av1/grain/film_grain.js +0 -623
- package/src/avif/native/av1/obu/FrameHeader.d.ts.map +0 -1
- package/src/avif/native/av1/obu/ObuHeader.d.ts.map +0 -1
- package/src/avif/native/av1/obu/SequenceHeader.d.ts.map +0 -1
- package/src/avif/native/av1/obu/for_each_obu.d.ts.map +0 -1
- package/src/avif/native/av1/obu/parse_frame_header.d.ts.map +0 -1
- package/src/avif/native/av1/obu/parse_frame_header.js +0 -841
- package/src/avif/native/av1/obu/parse_obu_header.d.ts.map +0 -1
- package/src/avif/native/av1/obu/parse_sequence_header.d.ts.map +0 -1
- package/src/avif/native/av1/obu/write_frame_header.d.ts.map +0 -1
- package/src/avif/native/av1/obu/write_sequence_header.d.ts.map +0 -1
- package/src/avif/native/av1/predict/IntraPredictionState.d.ts.map +0 -1
- package/src/avif/native/av1/predict/intra_filter_type.d.ts.map +0 -1
- package/src/avif/native/av1/predict/predict_chroma_from_luma.d.ts.map +0 -1
- package/src/avif/native/av1/predict/predict_chroma_from_luma.js +0 -153
- package/src/avif/native/av1/predict/predict_intra.d.ts.map +0 -1
- package/src/avif/native/av1/predict/predict_intra.js +0 -803
- package/src/avif/native/av1/predict/predict_palette.d.ts.map +0 -1
- package/src/avif/native/av1/tables/av1_symbols.d.ts.map +0 -1
- package/src/avif/native/av1/tables/av1_symbols.js +0 -419
- package/src/avif/native/av1/tables/block_tables.d.ts.map +0 -1
- package/src/avif/native/av1/tables/block_tables.js +0 -270
- package/src/avif/native/av1/tables/cdf_tables.d.ts.map +0 -1
- package/src/avif/native/av1/tables/cdf_tables.js +0 -1893
- package/src/avif/native/av1/tables/coefficient_tables.d.ts.map +0 -1
- package/src/avif/native/av1/tables/coefficient_tables.js +0 -82
- package/src/avif/native/av1/tables/derived_block_tables.d.ts.map +0 -1
- package/src/avif/native/av1/tables/filter_tables.d.ts.map +0 -1
- package/src/avif/native/av1/tables/filter_tables.js +0 -313
- package/src/avif/native/av1/tables/grain_tables.d.ts.map +0 -1
- package/src/avif/native/av1/tables/grain_tables.js +0 -190
- package/src/avif/native/av1/tables/prediction_tables.d.ts.map +0 -1
- package/src/avif/native/av1/tables/prediction_tables.js +0 -223
- package/src/avif/native/av1/tables/quantizer_matrix_tables.d.ts.map +0 -1
- package/src/avif/native/av1/tables/quantizer_matrix_tables.js +0 -38
- package/src/avif/native/av1/tables/quantizer_tables.d.ts.map +0 -1
- package/src/avif/native/av1/tables/quantizer_tables.js +0 -160
- package/src/avif/native/av1/tables/scan_tables.d.ts.map +0 -1
- package/src/avif/native/av1/tables/scan_tables.js +0 -727
- package/src/avif/native/av1/tables/segmentation_tables.d.ts.map +0 -1
- package/src/avif/native/av1/tables/segmentation_tables.js +0 -48
- package/src/avif/native/av1/tables/transform_tables.d.ts.map +0 -1
- package/src/avif/native/av1/tables/transform_tables.js +0 -140
- package/src/avif/native/av1/tables/unpack_table.d.ts.map +0 -1
- package/src/avif/native/av1/tables/unpack_table.js +0 -73
- package/src/avif/native/av1/transform/forward_transform_2d.d.ts.map +0 -1
- package/src/avif/native/av1/transform/inverse_transform_1d.d.ts.map +0 -1
- package/src/avif/native/av1/transform/inverse_transform_1d.js +0 -590
- package/src/avif/native/av1/transform/inverse_transform_2d.d.ts.map +0 -1
- package/src/avif/native/av1/transform/inverse_transform_2d.js +0 -180
- package/src/avif/native/av1/util/ceil_log2.d.ts.map +0 -1
- package/src/avif/native/av1/util/floor_log2.d.ts +0 -20
- package/src/avif/native/av1/util/floor_log2.d.ts.map +0 -1
- package/src/avif/native/av1/util/floor_log2.js +0 -20
- package/src/avif/native/av1/util/round2.d.ts.map +0 -1
- package/src/avif/native/av1/util/round2_signed.d.ts.map +0 -1
- package/src/avif/native/av1/util/tile_log2.d.ts.map +0 -1
- package/src/avif/native/bitstream/BitReader.d.ts.map +0 -1
- package/src/avif/native/bitstream/BitWriter.d.ts.map +0 -1
- package/src/avif/native/color/ColourTransform.d.ts.map +0 -1
- package/src/avif/native/color/YuvImage.d.ts.map +0 -1
- package/src/avif/native/color/clamp_sample.d.ts.map +0 -1
- package/src/avif/native/color/linear_to_transfer.d.ts.map +0 -1
- package/src/avif/native/color/linear_to_transfer.js +0 -126
- package/src/avif/native/color/primaries.d.ts.map +0 -1
- package/src/avif/native/color/rgb_row_to_ycbcr.d.ts.map +0 -1
- package/src/avif/native/color/transfer_to_linear.d.ts.map +0 -1
- package/src/avif/native/color/transfer_to_linear.js +0 -171
- package/src/avif/native/color/upsample_chroma_row.d.ts.map +0 -1
- package/src/avif/native/color/upsample_chroma_row.js +0 -89
- package/src/avif/native/color/ycbcr_row_to_rgb.d.ts.map +0 -1
- package/src/avif/native/color/ycbcr_row_to_rgb.js +0 -78
- package/src/avif/native/heif/AvifFile.d.ts.map +0 -1
- package/src/avif/native/heif/ItemProperty.d.ts.map +0 -1
- package/src/avif/native/heif/find_item_property.d.ts.map +0 -1
- package/src/avif/native/heif/find_item_references.d.ts.map +0 -1
- package/src/avif/native/heif/find_items_referencing.d.ts.map +0 -1
- package/src/avif/native/heif/parse_avif_file.d.ts.map +0 -1
- package/src/avif/native/heif/parse_avif_file.js +0 -384
- package/src/avif/native/heif/parse_image_grid.d.ts.map +0 -1
- package/src/avif/native/heif/parse_image_grid.js +0 -49
- package/src/avif/native/heif/parse_item_property.d.ts.map +0 -1
- package/src/avif/native/heif/read_item_data.d.ts.map +0 -1
- package/src/avif/native/heif/write_avif_file.d.ts.map +0 -1
- package/src/avif/native/heif/write_item_property.d.ts.map +0 -1
- package/src/avif/native/index.d.ts +0 -14
- package/src/avif/native/index.d.ts.map +0 -1
- package/src/avif/native/index.js +0 -56
- package/src/avif/native/isobmff/BoxHeader.d.ts.map +0 -1
- package/src/avif/native/isobmff/BoxWriter.d.ts +0 -118
- package/src/avif/native/isobmff/BoxWriter.d.ts.map +0 -1
- package/src/avif/native/isobmff/BoxWriter.js +0 -264
- package/src/avif/native/isobmff/for_each_box.d.ts.map +0 -1
- package/src/avif/native/isobmff/read_box_header.d.ts.map +0 -1
- package/src/avif/native/isobmff/read_full_box_header.d.ts.map +0 -1
- package/src/avif/threaded_image_encoder.d.ts.map +0 -1
- package/src/basis/BasisBitReader.d.ts +0 -77
- package/src/basis/BasisBitReader.d.ts.map +0 -1
- package/src/basis/BasisBitReader.js +0 -231
- package/src/basis/BasisHuffmanTable.d.ts.map +0 -1
- package/src/basis/basis_read_huffman_table.d.ts.map +0 -1
- package/src/basis/etc1s/Etc1sSelectorHistory.d.ts.map +0 -1
- package/src/basis/etc1s/etc1s_block_colors.d.ts.map +0 -1
- package/src/basis/etc1s/etc1s_decode_slice.d.ts.map +0 -1
- package/src/basis/etc1s/etc1s_decode_slice.js +0 -258
- package/src/basis/etc1s/etc1s_read_endpoint_codebook.d.ts.map +0 -1
- package/src/basis/etc1s/etc1s_read_selector_codebook.d.ts.map +0 -1
- package/src/basis/etc1s/etc1s_read_slice_tables.d.ts.map +0 -1
- package/src/basis/transcode/etc1s_to_bc1.d.ts +0 -24
- package/src/basis/transcode/etc1s_to_bc1.d.ts.map +0 -1
- package/src/basis/transcode/etc1s_to_bc1.js +0 -205
- package/src/basis/transcode/etc1s_to_bc7.d.ts +0 -30
- package/src/basis/transcode/etc1s_to_bc7.d.ts.map +0 -1
- package/src/basis/transcode/fit_endpoints.d.ts +0 -59
- package/src/basis/transcode/fit_endpoints.d.ts.map +0 -1
- package/src/basis/transcode/fit_endpoints.js +0 -226
- package/src/engine/asset/loaders/gltf/computeObjectBoundingSphere.d.ts +0 -8
- package/src/engine/asset/loaders/gltf/computeObjectBoundingSphere.d.ts.map +0 -1
- package/src/engine/asset/loaders/gltf/computeObjectBoundingSphere.js +0 -70
- package/src/engine/asset/loaders/gltf/isMesh.d.ts +0 -7
- package/src/engine/asset/loaders/gltf/isMesh.d.ts.map +0 -1
- package/src/engine/asset/loaders/gltf/isMesh.js +0 -8
- package/src/engine/asset/loaders/image/jpeg/JpegFrame.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/jpeg/JpegFrameComponent.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/jpeg/JpegImage.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/jpeg/JpegImage.js +0 -664
- package/src/engine/asset/loaders/image/jpeg/buildComponentData.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/jpeg/buildHuffmanTable.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/jpeg/decodeScan.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/jpeg/idct8x8_float.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/jpeg/idct8x8_float.js +0 -31
- package/src/engine/asset/loaders/image/jpeg/jpeg_component_row.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/jpeg/jpeg_decode.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/png/PNG.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/png/PNGReader.d.ts +0 -158
- package/src/engine/asset/loaders/image/png/PNGReader.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/png/PNGReader.js +0 -656
- package/src/engine/asset/loaders/image/png/PNG_HEADER_BYTES.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/png/chunk/png_chunk_decode_iTXt.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/png/chunk/png_chunk_decode_iTXt.js +0 -53
- package/src/engine/asset/loaders/image/png/chunk/png_chunk_decode_zTXt.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/png/chunk/png_chunk_decode_zTXt.js +0 -42
- package/src/engine/asset/loaders/image/png/crc32.d.ts +0 -2
- package/src/engine/asset/loaders/image/png/crc32.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/png/crc32.js +0 -8
- package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterAverage.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterNone.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterPaeth.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterSub.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterUp.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/png/filter/png_unfilter.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/png/filter/png_unfilter.js +0 -68
- package/src/engine/asset/loaders/image/png/png_inflate.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/png/png_unpack_samples.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/png/prototypePNG.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/png/prototypePNG.js +0 -37
- package/src/ktx2/KTX2_IDENTIFIER.d.ts.map +0 -1
- package/src/ktx2/KhrDfModel.d.ts.map +0 -1
- package/src/ktx2/SupercompressionScheme.d.ts.map +0 -1
- package/src/ktx2/ktx2_read.d.ts +0 -71
- package/src/ktx2/ktx2_read.d.ts.map +0 -1
- package/src/ktx2/ktx2_read.js +0 -581
- package/src/ktx2/ktx2_read_basis_lz_global_data.d.ts +0 -27
- package/src/ktx2/ktx2_read_basis_lz_global_data.d.ts.map +0 -1
- package/src/ktx2/ktx2_read_basis_lz_global_data.js +0 -189
- package/src/ktx2/vk_format_to_texture_format.d.ts +0 -55
- package/src/ktx2/vk_format_to_texture_format.d.ts.map +0 -1
- package/src/ktx2/vk_format_to_texture_format.js +0 -290
- package/src/shade/renderer/geometry/bvh/record_blas_refit.d.ts +0 -25
- package/src/shade/renderer/geometry/bvh/record_blas_refit.d.ts.map +0 -1
- package/src/shade/renderer/geometry/bvh/record_blas_refit.js +0 -102
- package/src/shade/renderer/geometry/bvh/shader_blas_refit_leaf_bounds.d.ts +0 -30
- package/src/shade/renderer/geometry/bvh/shader_blas_refit_leaf_bounds.d.ts.map +0 -1
- package/src/shade/renderer/geometry/bvh/shader_blas_refit_leaf_bounds.js +0 -125
- package/src/shade/renderer/loader/gltf/GLTF_PRIMITIVE_MODE.d.ts.map +0 -1
- package/src/shade/renderer/loader/gltf/MESHOPT_COMPRESSION_PLAN.md +0 -793
- package/src/shade/renderer/loader/gltf/coalesce_array_duplicates.d.ts.map +0 -1
- package/src/shade/renderer/loader/gltf/ext/GltfBufferViewExtension.d.ts.map +0 -1
- package/src/shade/renderer/loader/gltf/ext/GltfBufferViewExtensionSet.d.ts.map +0 -1
- package/src/shade/renderer/loader/gltf/ext/GltfBufferViewExtensionSet.js +0 -109
- package/src/shade/renderer/loader/gltf/ext/gltf_apply_buffer_view_extensions.d.ts.map +0 -1
- package/src/shade/renderer/loader/gltf/ext/gltf_buffer_view_extensions.d.ts.map +0 -1
- package/src/shade/renderer/loader/gltf/ext/gltf_geometry_extensions.d.ts.map +0 -1
- package/src/shade/renderer/loader/gltf/ext/meshopt/MeshoptBufferViewExtension.d.ts.map +0 -1
- package/src/shade/renderer/loader/gltf/ext/meshopt/MeshoptBufferViewExtension.js +0 -301
- package/src/shade/renderer/loader/gltf/gltf_component_type.d.ts.map +0 -1
- package/src/shade/renderer/loader/gltf/gltf_node_world_matrices.d.ts.map +0 -1
- package/src/shade/renderer/loader/gltf/gltf_node_world_matrices.js +0 -137
- package/src/shade/renderer/loader/gltf/gltf_parse_container.d.ts.map +0 -1
- package/src/shade/renderer/loader/gltf/gltf_read_accessor.d.ts.map +0 -1
- package/src/shade/renderer/loader/gltf/gltf_read_accessor.js +0 -294
- package/src/shade/renderer/loader/gltf/gltf_used_image_indices.d.ts +0 -25
- package/src/shade/renderer/loader/gltf/gltf_used_image_indices.d.ts.map +0 -1
- package/src/shade/renderer/loader/gltf/gltf_used_image_indices.js +0 -49
- package/src/shade/renderer/loader/usd/UsdError.d.ts.map +0 -1
- package/src/shade/renderer/loader/usd/parse_usda.d.ts.map +0 -1
- package/src/shade/renderer/loader/usd/unpack_usdz.d.ts.map +0 -1
- package/src/shade/renderer/loader/usd/unpack_usdz.js +0 -106
- package/src/shade/renderer/loader/usd/usd_compose_transform.d.ts.map +0 -1
- package/src/shade/renderer/loader/usd/usd_compose_transform.js +0 -258
- package/src/shade/renderer/loader/usd/usd_lz4.d.ts.map +0 -1
- package/src/shade/renderer/loader/usd/usd_lz4.js +0 -182
- package/src/shade/renderer/loader/usd/usd_triangulate.d.ts.map +0 -1
- package/src/shade/renderer/particles/prototypeParticleSystem.d.ts +0 -2
- package/src/shade/renderer/particles/prototypeParticleSystem.d.ts.map +0 -1
- package/src/shade/renderer/particles/prototypeParticleSystem.js +0 -448
- package/src/shade/renderer/postprocess/taa/chunk_taa_sample_history_color.d.ts +0 -2
- package/src/shade/renderer/postprocess/taa/chunk_taa_sample_history_color.d.ts.map +0 -1
- package/src/shade/renderer/postprocess/taa/chunk_taa_sample_history_color.js +0 -43
- package/src/shade/renderer/scene/optimization/sampler2d_compare.d.ts.map +0 -1
- package/src/shade/renderer/scene/optimization/sampler2d_compare.js +0 -94
- /package/src/{avif → engine/asset/loaders/image/avif}/encoder_worker.d.ts +0 -0
- /package/src/{avif → engine/asset/loaders/image/avif}/encoder_worker.js +0 -0
- /package/src/{avif → engine/asset/loaders/image/avif}/threaded_image_encoder.d.ts +0 -0
- /package/src/{avif → engine/asset/loaders/image/avif}/threaded_image_encoder.js +0 -0
- /package/src/engine/asset/loaders/image/{png/prototypePNG.d.ts → prototypePNG.d.ts} +0 -0
- /package/src/{shade/renderer/scene/optimization → engine/graphics/texture/sampler/compare}/sampler2d_compare.d.ts +0 -0
- /package/src/{avif/native/api → engine/graphics/texture/sampler}/sampler2d_to_avif.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/NOTICE.md +0 -0
- /package/src/{avif/native → format/image/avif}/api/AvifDecoder.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/api/AvifDecoder.js +0 -0
- /package/src/{avif/native → format/image/avif}/api/apply_transformations.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/api/apply_transformations.js +0 -0
- /package/src/{avif/native → format/image/avif}/api/convert_to_rgba.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/api/decode_avif.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/api/decode_avif.js +0 -0
- /package/src/{avif/native → format/image/avif}/api/decode_image_item.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/api/decode_image_item.js +0 -0
- /package/src/{avif/native → format/image/avif}/api/encode_avif.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/api/encode_avif.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/decode/Av1FrameContext.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/decode/Av1FrameContext.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/decode/block_decoded.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/decode/block_decoded.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/decode/decode_av1_still.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/decode/decode_av1_still.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/decode/decode_coefficients.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/decode/decode_coefficients.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/decode/decode_palette.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/decode/decode_tile.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/decode/get_scan.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/decode/get_scan.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/decode/read_lr.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/decode/read_transform_type.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/decode/reconstruct.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/decode/transform_type.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/decode/transform_type.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/Av1BlockSnapshot.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/Av1BlockSnapshot.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/Av1EncodeContext.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/Av1EncodeContext.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/build_headers.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/build_headers.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/choose_chroma_alpha.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/choose_chroma_alpha.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/choose_filters.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/choose_filters.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/choose_restoration.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/decode_effort.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/decode_effort.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/encode_av1_still.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/encode_av1_still.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/encode_effort.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/encode_effort.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/encode_tile.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/quantise.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/quantise.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/write_coefficients.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/write_coefficients.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/write_lr.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/write_lr.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/write_transform_type.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/encode/write_transform_type.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/entropy/CdfContext.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/entropy/CdfContext.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/entropy/SymbolReader.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/entropy/SymbolReader.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/entropy/SymbolWriter.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/entropy/SymbolWriter.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/entropy/coefficient_context.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/entropy/coefficient_context.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/entropy/partition_cdf.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/entropy/partition_cdf.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/entropy/symbol_cost.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/entropy/symbol_cost.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/filter/cdef.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/filter/loop_filter.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/filter/loop_restoration.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/filter/superres.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/grain/FilmGrainState.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/grain/FilmGrainState.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/grain/film_grain.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/obu/FrameHeader.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/obu/FrameHeader.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/obu/ObuHeader.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/obu/ObuHeader.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/obu/SequenceHeader.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/obu/SequenceHeader.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/obu/for_each_obu.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/obu/for_each_obu.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/obu/parse_frame_header.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/obu/parse_obu_header.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/obu/parse_obu_header.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/obu/parse_sequence_header.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/obu/parse_sequence_header.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/obu/write_frame_header.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/obu/write_frame_header.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/obu/write_sequence_header.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/obu/write_sequence_header.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/predict/IntraPredictionState.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/predict/IntraPredictionState.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/predict/intra_filter_type.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/predict/intra_filter_type.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/predict/predict_chroma_from_luma.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/predict/predict_intra.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/predict/predict_palette.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/predict/predict_palette.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/tables/av1_symbols.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/tables/block_tables.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/tables/cdf_tables.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/tables/coefficient_tables.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/tables/derived_block_tables.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/tables/derived_block_tables.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/tables/filter_tables.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/tables/grain_tables.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/tables/prediction_tables.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/tables/quantizer_matrix_tables.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/tables/quantizer_tables.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/tables/scan_tables.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/tables/segmentation_tables.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/tables/transform_tables.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/tables/unpack_table.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/transform/forward_transform_2d.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/transform/forward_transform_2d.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/transform/inverse_transform_1d.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/transform/inverse_transform_2d.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/util/ceil_log2.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/util/ceil_log2.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/util/round2.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/util/round2.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/util/round2_signed.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/util/round2_signed.js +0 -0
- /package/src/{avif/native → format/image/avif}/av1/util/tile_log2.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/av1/util/tile_log2.js +0 -0
- /package/src/{avif/native → format/image/avif}/bitstream/BitReader.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/bitstream/BitReader.js +0 -0
- /package/src/{avif/native → format/image/avif}/bitstream/BitWriter.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/bitstream/BitWriter.js +0 -0
- /package/src/{avif/native → format/image/avif}/color/ColourTransform.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/color/ColourTransform.js +0 -0
- /package/src/{avif/native → format/image/avif}/color/YuvImage.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/color/YuvImage.js +0 -0
- /package/src/{avif/native → format/image/avif}/color/clamp_sample.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/color/clamp_sample.js +0 -0
- /package/src/{avif/native → format/image/avif}/color/linear_to_transfer.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/color/primaries.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/color/primaries.js +0 -0
- /package/src/{avif/native → format/image/avif}/color/rgb_row_to_ycbcr.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/color/rgb_row_to_ycbcr.js +0 -0
- /package/src/{avif/native → format/image/avif}/color/transfer_to_linear.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/color/upsample_chroma_row.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/color/ycbcr_row_to_rgb.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/heif/AvifFile.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/heif/AvifFile.js +0 -0
- /package/src/{avif/native → format/image/avif}/heif/ItemProperty.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/heif/ItemProperty.js +0 -0
- /package/src/{avif/native → format/image/avif}/heif/find_item_property.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/heif/find_item_property.js +0 -0
- /package/src/{avif/native → format/image/avif}/heif/find_item_references.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/heif/find_item_references.js +0 -0
- /package/src/{avif/native → format/image/avif}/heif/find_items_referencing.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/heif/find_items_referencing.js +0 -0
- /package/src/{avif/native → format/image/avif}/heif/parse_avif_file.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/heif/parse_image_grid.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/heif/parse_item_property.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/heif/parse_item_property.js +0 -0
- /package/src/{avif/native → format/image/avif}/heif/read_item_data.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/heif/read_item_data.js +0 -0
- /package/src/{avif/native → format/image/avif}/heif/write_avif_file.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/heif/write_avif_file.js +0 -0
- /package/src/{avif/native → format/image/avif}/heif/write_item_property.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/heif/write_item_property.js +0 -0
- /package/src/{avif/native → format/image/avif}/isobmff/BoxHeader.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/isobmff/BoxHeader.js +0 -0
- /package/src/{avif/native → format/image/avif}/isobmff/for_each_box.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/isobmff/for_each_box.js +0 -0
- /package/src/{avif/native → format/image/avif}/isobmff/read_box_header.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/isobmff/read_box_header.js +0 -0
- /package/src/{avif/native → format/image/avif}/isobmff/read_full_box_header.d.ts +0 -0
- /package/src/{avif/native → format/image/avif}/isobmff/read_full_box_header.js +0 -0
- /package/src/{engine/asset/loaders → format}/image/jpeg/JpegFrame.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/jpeg/JpegFrame.js +0 -0
- /package/src/{engine/asset/loaders → format}/image/jpeg/JpegFrameComponent.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/jpeg/JpegFrameComponent.js +0 -0
- /package/src/{engine/asset/loaders → format}/image/jpeg/JpegImage.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/jpeg/NOTES.md +0 -0
- /package/src/{engine/asset/loaders → format}/image/jpeg/buildComponentData.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/jpeg/buildComponentData.js +0 -0
- /package/src/{engine/asset/loaders → format}/image/jpeg/buildHuffmanTable.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/jpeg/buildHuffmanTable.js +0 -0
- /package/src/{engine/asset/loaders → format}/image/jpeg/decodeScan.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/jpeg/decodeScan.js +0 -0
- /package/src/{engine/asset/loaders → format}/image/jpeg/idct8x8_float.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/jpeg/jpeg_component_row.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/jpeg/jpeg_component_row.js +0 -0
- /package/src/{engine/asset/loaders → format}/image/jpeg/jpeg_decode.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/jpeg/jpeg_decode.js +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/PNG.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/PNG.js +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/PNG_HEADER_BYTES.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/PNG_HEADER_BYTES.js +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/chunk/png_chunk_decode_iTXt.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/chunk/png_chunk_decode_zTXt.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterAverage.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterAverage.js +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterNone.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterNone.js +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterPaeth.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterPaeth.js +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterSub.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterSub.js +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterUp.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/filter/png_filter_unFilterUp.js +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/filter/png_unfilter.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/png_inflate.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/png_inflate.js +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/png_unpack_samples.d.ts +0 -0
- /package/src/{engine/asset/loaders → format}/image/png/png_unpack_samples.js +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/GLTF_PRIMITIVE_MODE.d.ts +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/GLTF_PRIMITIVE_MODE.js +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/coalesce_array_duplicates.d.ts +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/coalesce_array_duplicates.js +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/ext/GltfBufferViewExtension.d.ts +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/ext/GltfBufferViewExtension.js +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/ext/GltfBufferViewExtensionSet.d.ts +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/ext/gltf_apply_buffer_view_extensions.d.ts +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/ext/gltf_apply_buffer_view_extensions.js +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/ext/gltf_buffer_view_extensions.d.ts +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/ext/gltf_buffer_view_extensions.js +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/ext/gltf_geometry_extensions.d.ts +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/ext/gltf_geometry_extensions.js +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/ext/meshopt/MeshoptBufferViewExtension.d.ts +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/gltf_component_type.d.ts +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/gltf_component_type.js +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/gltf_node_world_matrices.d.ts +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/gltf_parse_container.d.ts +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/gltf_parse_container.js +0 -0
- /package/src/{shade/renderer/loader → format/scene}/gltf/gltf_read_accessor.d.ts +0 -0
- /package/src/{shade/renderer/loader → format/scene}/usd/UsdError.d.ts +0 -0
- /package/src/{shade/renderer/loader → format/scene}/usd/UsdError.js +0 -0
- /package/src/{shade/renderer/loader → format/scene}/usd/parse_usda.d.ts +0 -0
- /package/src/{shade/renderer/loader → format/scene}/usd/parse_usda.js +0 -0
- /package/src/{shade/renderer/loader → format/scene}/usd/unpack_usdz.d.ts +0 -0
- /package/src/{shade/renderer/loader → format/scene}/usd/usd_compose_transform.d.ts +0 -0
- /package/src/{shade/renderer/loader → format/scene}/usd/usd_lz4.d.ts +0 -0
- /package/src/{shade/renderer/loader → format/scene}/usd/usd_triangulate.d.ts +0 -0
- /package/src/{shade/renderer/loader → format/scene}/usd/usd_triangulate.js +0 -0
- /package/src/{basis → format/texture/basis}/BasisHuffmanTable.d.ts +0 -0
- /package/src/{basis → format/texture/basis}/BasisHuffmanTable.js +0 -0
- /package/src/{basis → format/texture/basis}/basis_read_huffman_table.d.ts +0 -0
- /package/src/{basis → format/texture/basis}/basis_read_huffman_table.js +0 -0
- /package/src/{basis → format/texture/basis}/etc1s/Etc1sSelectorHistory.d.ts +0 -0
- /package/src/{basis → format/texture/basis}/etc1s/Etc1sSelectorHistory.js +0 -0
- /package/src/{basis → format/texture/basis}/etc1s/etc1s_block_colors.d.ts +0 -0
- /package/src/{basis → format/texture/basis}/etc1s/etc1s_block_colors.js +0 -0
- /package/src/{basis → format/texture/basis}/etc1s/etc1s_decode_slice.d.ts +0 -0
- /package/src/{basis → format/texture/basis}/etc1s/etc1s_read_endpoint_codebook.d.ts +0 -0
- /package/src/{basis → format/texture/basis}/etc1s/etc1s_read_endpoint_codebook.js +0 -0
- /package/src/{basis → format/texture/basis}/etc1s/etc1s_read_selector_codebook.d.ts +0 -0
- /package/src/{basis → format/texture/basis}/etc1s/etc1s_read_selector_codebook.js +0 -0
- /package/src/{basis → format/texture/basis}/etc1s/etc1s_read_slice_tables.d.ts +0 -0
- /package/src/{basis → format/texture/basis}/etc1s/etc1s_read_slice_tables.js +0 -0
- /package/src/{basis → format/texture/basis}/transcode/build_range_plan.js +0 -0
- /package/src/{basis → format/texture/basis}/transcode/etc1s_to_bc7.js +0 -0
- /package/src/{ktx2 → format/texture/ktx2}/KTX2_IDENTIFIER.d.ts +0 -0
- /package/src/{ktx2 → format/texture/ktx2}/KTX2_IDENTIFIER.js +0 -0
- /package/src/{ktx2 → format/texture/ktx2}/KhrDfModel.d.ts +0 -0
- /package/src/{ktx2 → format/texture/ktx2}/KhrDfModel.js +0 -0
- /package/src/{ktx2 → format/texture/ktx2}/SupercompressionScheme.d.ts +0 -0
- /package/src/{ktx2 → format/texture/ktx2}/SupercompressionScheme.js +0 -0
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
// GENERATED FILE — DO NOT EDIT.
|
|
2
|
-
//
|
|
3
|
-
// Produced from the published markdown of the AV1 Bitstream & Decoding Process Specification
|
|
4
|
-
// (https://github.com/AOMediaCodec/av1-spec) by a generator that is no longer in the tree:
|
|
5
|
-
// git checkout ba1e2de5f -- src/avif/native/tools/generate_tables.mjs
|
|
6
|
-
// Attribution and licensing: src/avif/native/NOTICE.md
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* `Intra_Edge_Kernel[3][5]`, flattened row-major.
|
|
10
|
-
* @type {Uint8Array}
|
|
11
|
-
*/
|
|
12
|
-
export const INTRA_EDGE_KERNEL = new Uint8Array([
|
|
13
|
-
0, 4, 8, 4, 0, 0, 5, 6, 5, 0, 2, 4, 4, 4, 2
|
|
14
|
-
]);
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Dimensions of {@link INTRA_EDGE_KERNEL}, outermost first. The last entry is the row stride.
|
|
18
|
-
* @type {number[]}
|
|
19
|
-
*/
|
|
20
|
-
export const INTRA_EDGE_KERNEL_SHAPE = [3, 5];
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* `Intra_Mode_Context[13]`, flattened row-major.
|
|
24
|
-
* @type {Uint8Array}
|
|
25
|
-
*/
|
|
26
|
-
export const INTRA_MODE_CONTEXT = new Uint8Array([
|
|
27
|
-
0, 1, 2, 3, 4, 4, 4, 4, 3, 0, 1, 2, 0
|
|
28
|
-
]);
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Dimensions of {@link INTRA_MODE_CONTEXT}, outermost first. The last entry is the row stride.
|
|
32
|
-
* @type {number[]}
|
|
33
|
-
*/
|
|
34
|
-
export const INTRA_MODE_CONTEXT_SHAPE = [13];
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* `Filter_Intra_Mode_To_Intra_Dir[5]`, flattened row-major.
|
|
38
|
-
* @type {Uint8Array}
|
|
39
|
-
*/
|
|
40
|
-
export const FILTER_INTRA_MODE_TO_INTRA_DIR = new Uint8Array([
|
|
41
|
-
0, 1, 2, 6, 0
|
|
42
|
-
]);
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Dimensions of {@link FILTER_INTRA_MODE_TO_INTRA_DIR}, outermost first. The last entry is the row stride.
|
|
46
|
-
* @type {number[]}
|
|
47
|
-
*/
|
|
48
|
-
export const FILTER_INTRA_MODE_TO_INTRA_DIR_SHAPE = [5];
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* `Mode_To_Txfm[14]`, flattened row-major.
|
|
52
|
-
* @type {Uint8Array}
|
|
53
|
-
*/
|
|
54
|
-
export const MODE_TO_TXFM = new Uint8Array([
|
|
55
|
-
0, 1, 2, 0, 3, 1, 2, 2, 1, 3, 1, 2, 3, 0
|
|
56
|
-
]);
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Dimensions of {@link MODE_TO_TXFM}, outermost first. The last entry is the row stride.
|
|
60
|
-
* @type {number[]}
|
|
61
|
-
*/
|
|
62
|
-
export const MODE_TO_TXFM_SHAPE = [14];
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* `Palette_Color_Context[9]`, flattened row-major.
|
|
66
|
-
* @type {Int8Array}
|
|
67
|
-
*/
|
|
68
|
-
export const PALETTE_COLOR_CONTEXT = new Int8Array([
|
|
69
|
-
-1, -1, 0, -1, -1, 4, 3, 2, 1
|
|
70
|
-
]);
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Dimensions of {@link PALETTE_COLOR_CONTEXT}, outermost first. The last entry is the row stride.
|
|
74
|
-
* @type {number[]}
|
|
75
|
-
*/
|
|
76
|
-
export const PALETTE_COLOR_CONTEXT_SHAPE = [9];
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* `Palette_Color_Hash_Multipliers[3]`, flattened row-major.
|
|
80
|
-
* @type {Uint8Array}
|
|
81
|
-
*/
|
|
82
|
-
export const PALETTE_COLOR_HASH_MULTIPLIERS = new Uint8Array([
|
|
83
|
-
1, 2, 2
|
|
84
|
-
]);
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Dimensions of {@link PALETTE_COLOR_HASH_MULTIPLIERS}, outermost first. The last entry is the row stride.
|
|
88
|
-
* @type {number[]}
|
|
89
|
-
*/
|
|
90
|
-
export const PALETTE_COLOR_HASH_MULTIPLIERS_SHAPE = [3];
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* `Sm_Weights_Tx_4x4[4]`, flattened row-major.
|
|
94
|
-
* @type {Uint8Array}
|
|
95
|
-
*/
|
|
96
|
-
export const SM_WEIGHTS_TX_4X4 = new Uint8Array([
|
|
97
|
-
255, 149, 85, 64
|
|
98
|
-
]);
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Dimensions of {@link SM_WEIGHTS_TX_4X4}, outermost first. The last entry is the row stride.
|
|
102
|
-
* @type {number[]}
|
|
103
|
-
*/
|
|
104
|
-
export const SM_WEIGHTS_TX_4X4_SHAPE = [4];
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* `Sm_Weights_Tx_8x8[8]`, flattened row-major.
|
|
108
|
-
* @type {Uint8Array}
|
|
109
|
-
*/
|
|
110
|
-
export const SM_WEIGHTS_TX_8X8 = new Uint8Array([
|
|
111
|
-
255, 197, 146, 105, 73, 50, 37, 32
|
|
112
|
-
]);
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Dimensions of {@link SM_WEIGHTS_TX_8X8}, outermost first. The last entry is the row stride.
|
|
116
|
-
* @type {number[]}
|
|
117
|
-
*/
|
|
118
|
-
export const SM_WEIGHTS_TX_8X8_SHAPE = [8];
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* `Sm_Weights_Tx_16x16[16]`, flattened row-major.
|
|
122
|
-
* @type {Uint8Array}
|
|
123
|
-
*/
|
|
124
|
-
export const SM_WEIGHTS_TX_16X16 = new Uint8Array([
|
|
125
|
-
255, 225, 196, 170, 145, 123, 102, 84, 68, 54, 43, 33, 26, 20, 17, 16
|
|
126
|
-
]);
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Dimensions of {@link SM_WEIGHTS_TX_16X16}, outermost first. The last entry is the row stride.
|
|
130
|
-
* @type {number[]}
|
|
131
|
-
*/
|
|
132
|
-
export const SM_WEIGHTS_TX_16X16_SHAPE = [16];
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* `Sm_Weights_Tx_32x32[32]`, flattened row-major.
|
|
136
|
-
* @type {Uint8Array}
|
|
137
|
-
*/
|
|
138
|
-
export const SM_WEIGHTS_TX_32X32 = new Uint8Array([
|
|
139
|
-
255, 240, 225, 210, 196, 182, 169, 157, 145, 133, 122, 111, 101, 92, 83, 74, 66, 59, 52, 45, 39, 34, 29, 25,
|
|
140
|
-
21, 17, 14, 12, 10, 9, 8, 8
|
|
141
|
-
]);
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Dimensions of {@link SM_WEIGHTS_TX_32X32}, outermost first. The last entry is the row stride.
|
|
145
|
-
* @type {number[]}
|
|
146
|
-
*/
|
|
147
|
-
export const SM_WEIGHTS_TX_32X32_SHAPE = [32];
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* `Sm_Weights_Tx_64x64[64]`, flattened row-major.
|
|
151
|
-
* @type {Uint8Array}
|
|
152
|
-
*/
|
|
153
|
-
export const SM_WEIGHTS_TX_64X64 = new Uint8Array([
|
|
154
|
-
255, 248, 240, 233, 225, 218, 210, 203, 196, 189, 182, 176, 169, 163, 156, 150, 144, 138, 133, 127, 121, 116, 111, 106,
|
|
155
|
-
101, 96, 91, 86, 82, 77, 73, 69, 65, 61, 57, 54, 50, 47, 44, 41, 38, 35, 32, 29, 27, 25, 22, 20,
|
|
156
|
-
18, 16, 15, 13, 12, 10, 9, 8, 7, 6, 6, 5, 5, 4, 4, 4
|
|
157
|
-
]);
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Dimensions of {@link SM_WEIGHTS_TX_64X64}, outermost first. The last entry is the row stride.
|
|
161
|
-
* @type {number[]}
|
|
162
|
-
*/
|
|
163
|
-
export const SM_WEIGHTS_TX_64X64_SHAPE = [64];
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* `Mode_To_Angle[13]`, flattened row-major.
|
|
167
|
-
* @type {Uint8Array}
|
|
168
|
-
*/
|
|
169
|
-
export const MODE_TO_ANGLE = new Uint8Array([
|
|
170
|
-
0, 90, 180, 45, 135, 113, 157, 203, 67, 0, 0, 0, 0
|
|
171
|
-
]);
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* Dimensions of {@link MODE_TO_ANGLE}, outermost first. The last entry is the row stride.
|
|
175
|
-
* @type {number[]}
|
|
176
|
-
*/
|
|
177
|
-
export const MODE_TO_ANGLE_SHAPE = [13];
|
|
178
|
-
|
|
179
|
-
/**
|
|
180
|
-
* `Dr_Intra_Derivative[90]`, flattened row-major.
|
|
181
|
-
* @type {Uint16Array}
|
|
182
|
-
*/
|
|
183
|
-
export const DR_INTRA_DERIVATIVE = new Uint16Array([
|
|
184
|
-
0, 0, 0, 1023, 0, 0, 547, 0, 0, 372, 0, 0,
|
|
185
|
-
0, 0, 273, 0, 0, 215, 0, 0, 178, 0, 0, 151,
|
|
186
|
-
0, 0, 132, 0, 0, 116, 0, 0, 102, 0, 0, 0,
|
|
187
|
-
90, 0, 0, 80, 0, 0, 71, 0, 0, 64, 0, 0,
|
|
188
|
-
57, 0, 0, 51, 0, 0, 45, 0, 0, 0, 40, 0,
|
|
189
|
-
0, 35, 0, 0, 31, 0, 0, 27, 0, 0, 23, 0,
|
|
190
|
-
0, 19, 0, 0, 15, 0, 0, 0, 0, 11, 0, 0,
|
|
191
|
-
7, 0, 0, 3, 0, 0
|
|
192
|
-
]);
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* Dimensions of {@link DR_INTRA_DERIVATIVE}, outermost first. The last entry is the row stride.
|
|
196
|
-
* @type {number[]}
|
|
197
|
-
*/
|
|
198
|
-
export const DR_INTRA_DERIVATIVE_SHAPE = [90];
|
|
199
|
-
|
|
200
|
-
/**
|
|
201
|
-
* `Intra_Filter_Taps[5][8][7]`, flattened row-major.
|
|
202
|
-
* @type {Int8Array}
|
|
203
|
-
*/
|
|
204
|
-
export const INTRA_FILTER_TAPS = new Int8Array([
|
|
205
|
-
-6, 10, 0, 0, 0, 12, 0, -5, 2, 10, 0, 0, 9, 0, -3, 1, 1, 10, 0, 7, 0, -3, 1, 1,
|
|
206
|
-
2, 10, 5, 0, -4, 6, 0, 0, 0, 2, 12, -3, 2, 6, 0, 0, 2, 9, -3, 2, 2, 6, 0, 2,
|
|
207
|
-
7, -3, 1, 2, 2, 6, 3, 5, -10, 16, 0, 0, 0, 10, 0, -6, 0, 16, 0, 0, 6, 0, -4, 0,
|
|
208
|
-
0, 16, 0, 4, 0, -2, 0, 0, 0, 16, 2, 0, -10, 16, 0, 0, 0, 0, 10, -6, 0, 16, 0, 0,
|
|
209
|
-
0, 6, -4, 0, 0, 16, 0, 0, 4, -2, 0, 0, 0, 16, 0, 2, -8, 8, 0, 0, 0, 16, 0, -8,
|
|
210
|
-
0, 8, 0, 0, 16, 0, -8, 0, 0, 8, 0, 16, 0, -8, 0, 0, 0, 8, 16, 0, -4, 4, 0, 0,
|
|
211
|
-
0, 0, 16, -4, 0, 4, 0, 0, 0, 16, -4, 0, 0, 4, 0, 0, 16, -4, 0, 0, 0, 4, 0, 16,
|
|
212
|
-
-2, 8, 0, 0, 0, 10, 0, -1, 3, 8, 0, 0, 6, 0, -1, 2, 3, 8, 0, 4, 0, 0, 1, 2,
|
|
213
|
-
3, 8, 2, 0, -1, 4, 0, 0, 0, 3, 10, -1, 3, 4, 0, 0, 4, 6, -1, 2, 3, 4, 0, 4,
|
|
214
|
-
4, -1, 2, 2, 3, 4, 3, 3, -12, 14, 0, 0, 0, 14, 0, -10, 0, 14, 0, 0, 12, 0, -9, 0,
|
|
215
|
-
0, 14, 0, 11, 0, -8, 0, 0, 0, 14, 10, 0, -10, 12, 0, 0, 0, 0, 14, -9, 1, 12, 0, 0,
|
|
216
|
-
0, 12, -8, 0, 0, 12, 0, 1, 11, -7, 0, 0, 1, 12, 1, 9
|
|
217
|
-
]);
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* Dimensions of {@link INTRA_FILTER_TAPS}, outermost first. The last entry is the row stride.
|
|
221
|
-
* @type {number[]}
|
|
222
|
-
*/
|
|
223
|
-
export const INTRA_FILTER_TAPS_SHAPE = [5, 8, 7];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"quantizer_matrix_tables.d.ts","sourceRoot":"","sources":["../../../../../../src/avif/native/av1/tables/quantizer_matrix_tables.js"],"names":[],"mappings":"AASA;;;GAGG;AACH,wBAFU,WAAW,CAKlB;AAEH;;;GAGG;AACH,8BAFU,MAAM,EAAE,CAEkB;AAEpC;;;GAGG;AACH,+BAFU,UAAU,CAKjB;AAEH;;;GAGG;AACH,qCAFU,MAAM,EAAE,CAEkC"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
// GENERATED FILE — DO NOT EDIT.
|
|
2
|
-
//
|
|
3
|
-
// Produced from the published markdown of the AV1 Bitstream & Decoding Process Specification
|
|
4
|
-
// (https://github.com/AOMediaCodec/av1-spec) by a generator that is no longer in the tree:
|
|
5
|
-
// git checkout ba1e2de5f -- src/avif/native/tools/generate_tables.mjs
|
|
6
|
-
// Attribution and licensing: src/avif/native/NOTICE.md
|
|
7
|
-
|
|
8
|
-
import { unpack_8, unpack_16, unpack_32 } from "./unpack_table.js";
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* `Qm_Offset[19]`, flattened row-major.
|
|
12
|
-
* @type {Uint16Array}
|
|
13
|
-
*/
|
|
14
|
-
export const QM_OFFSET = new Uint16Array([
|
|
15
|
-
0, 16, 80, 336, 336, 1360, 1392, 1424, 1552, 1680, 2192, 336,
|
|
16
|
-
336, 2704, 2768, 2832, 3088, 1680, 2192
|
|
17
|
-
]);
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Dimensions of {@link QM_OFFSET}, outermost first. The last entry is the row stride.
|
|
21
|
-
* @type {number[]}
|
|
22
|
-
*/
|
|
23
|
-
export const QM_OFFSET_SHAPE = [19];
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* `Quantizer_Matrix[15][2][3344]`, flattened row-major.
|
|
27
|
-
* @type {Uint8Array}
|
|
28
|
-
*/
|
|
29
|
-
export const QUANTIZER_MATRIX = /** @type {Uint8Array} */ (unpack_8(
|
|
30
|
-
"ICtJYStDXm5JXomWYW6WyCAgJjNEVF9tICMoMT9MWWYmKDZBTltiajMxQVJhb3F5RD9OYXWGio5UTFtvhpifqF9ZYnGKn7fHbWZqeY6ox9wgHx8iJCwwO0FQU1thaG93HyAgISIpLDY7SEtTWmFocB8gISMkKi02O0dKUVZdZGsiISMnKi8zOj9KTFFUWmFpJCIkKjA2OUBET1FYW2BmaSwpKi82P0NLT1pcX2RmbXAwLC0zOUNHUFVgY2tsb3V4OzY2OkBLUFxibnFzdHp9gkE7Oz9ET1ViaXZ5f4KGh4xQSEdKT1pgbnaGiYyPkJKYU0tKTFFcY3F5iYyXmJuepVtTUVFYX2tzf4yXn6aprbNhWlZUW2RsdIKPmKautr3BaGFdWmBmb3qGkJuptr/I0m9oZGFmbXV9h5Kerb3I0tx3cGtpaXB4goyYpbPB0tznIB8fHx8gIiMkJywuMDY7PkFHUFFTWFteYWVoa29zd3sfICAgICAiIiMmKiwuMzg7PkRMTU5UVllcX2NmaW1xdB8gICAgICEiIiUpKiwxNjg7QUhJS1BTVlpdYWVobHB0HyAgICEhIiMjJikrLTE2ODtASElKT1JVWFteYWVoa28fICAhISIjJCQnKiwtMjY4O0BHSEpOUVRWWV1gZGhrbyAgICEiIyUlJigqLC4xNTc6P0VGSExPUlVZXWBjZmptIiIhIiMlJykqLS8xMzY6PD9ESktMUFFSVFdaXWFlaW4jIiIjJCUpKy0vMjQ1OT0/QUZMTU9SVFZZW1xdYGRnayQjIiMkJiotMDI2Nzk8QEJESU9QUVVYWltdYGNmZ2lrJyYlJicoLS8yNjo7PUFFR0lOVFVWW1xcX2JkZWdqbnIsKikpKiovMjY6P0FDR0tNT1RaW1xfX2FkZWZpbW9wci4sKissLDE0NztBQ0VKTlBSV11eX2JkZ2ZpbG5vcXV5MC4sLS0uMzU5PUNFR0xQU1VaYGFjZ2tpbG9vcXV3eHo2MzExMjE2OTxBR0pMUldZXGFoaWpvbm9ycXR4eHl9gjs4NjY2NTo9QEVLTlBXXF9iZ25vcXNzd3R4enp9gYKCPjs4ODg3PD9CR01QU1lfYmVrcnN1d3t5fX59gYODh4xBPjs7Ozo/QURJT1JVXGJlaW92d3l+f4CCgoaFh4yMjEdEQUBAP0RGSU5UV1phZ2tvdX1+gIaEiIWKiYyPjpGWUExISEdFSkxPVFpdYGhucnZ9hoeJi4yLj46QkpKXmJdRTUlJSEZLTVBVW15haW9zd36HiYqQk5KUlZeWnJudo1NOS0pKSExPUVZcX2NqcXV5gImKjJOXnJidm6GeoqWkWFRQT05MUFJVW19iZ29zd36Gi5CTmJqeo5+lo6ioqbBbVlNSUU9RVFhcX2RrbnN7f4SMk5ean6Gmq6mtrbCzsV5ZVlVUUlJWWlxhZ2lvd3mAiIuSnJ6hpqius7K0t7e+YVxaWFZVVFlbX2RmbHJ0fYKFj5SYo6aorrC2u728wb9lX11bWVlXW11iZWlvcXh+goqOlZ2fq66wt7i/w8fFzGhjYV5dXVpcYGRmbG90en2GiZCXm6Wps7a4v8HIzNLOa2ZlYWBgXV1jZWlucXh6gYWMkpaho62yu7/ByMrS1t5vaWhlZGNhYGZnbW91eH2Dh4+SnJ6orbS9w8jK0tTc4HNtbGhoZmVkZ2pvcXd5gYOMjpeboqiwt7zHzNLU3N7md3Fwa2tqaWdpbnB1eH2Ch4yRmJ2lqbO3wcXS1tze5+h7dHRvb21ua2tycnl6goKMjJaXo6Swsb6/zM7e4Obo8iAqS1shKkVWJTpUWzFHZ25BVH2AUGGOmFtkkbJocJK+ICElMUFQW2gqKjpHVGFkcEtFVGd9jpGSW1ZbboCYsr4gICQ1QVddYx8hIjE7TlZdICIkMjtNUlkiJSo2P09QWCQmMDxEVFZaLCs1R09fXmEwLjhMVWZpaTo2P1didHBzQTpEXGl8enxPRk9odo2Hh1JIUWp5kJWSW1BYaoKUop9hVl5rgJ2nq2ddYnKDlq66bmRldYqht8F2a2l2iJ22yyAfICIkLDA6QU9SW2FnbnYgISIlJisuNjpGSFBWXWRrJCIkKjA1OD9ET1FYXmJlaTUxMjY8R0xXXGhqamtydXZBOzs/RE9VYml2eYKAg4qIV05NT1RfZnR8jZCUnZahnV1WUlBWXmlweoeVoqeut7ZjXVlYWmFpc3yHkp+rusHLIB8gIiQsNTtBT1daXWBjZh8gICIjKjM4PktSVVhbXmEfICEhIikxNjtITlJWWl1hHyAhIiMpMTY7R05RVFdaXSAgIiMkKjI2O0dNUFJWWV0gISMlJioxNTpFS05SVllcIiIlJyowNjo/SU9OUFNYXCMiJSktMjk9QUxSU1RUV1okIiYrMDY8QEROVFdWWVpaJyUoLTI6QUVJVFlZW1tdYCwpKzA1P0dLT1pfXV5fYWEuKywxN0FJTlJdYmRiZGNnMC0uMzhDTFBVYGZmaWZpaDUxMjY8R1JXXGdta2tua286NjY6P0tXXGJudHNwb3NwPTk4PEJNWV9lcnh2d3Z0eEE8Oj9ET1xiaXZ8e3p7fHlHQT9ESVRhZ299hISCgH+CT0hGSk9aaG52hY2Ih4eHg1FKR0tQW2lwd4eOjIyKi45SS0hMUVxqcXmIkJeVlZKPWFBNUFVhbHN+jpWZmZiYmltTUFFYZGpygo6Um6Kgn5teVVNSW2RpdoOJmaClp6aoYVhWVV5ka3uAjJ2hp62rqWRbWVdhZG95f5GYpK2ytrVnXl1aYmVyeIOQlqqutLq3a2FgXWRodXeIjpuosbu/xm5lZGFlbHV7io2hpbe8wchyaGhkZ3B1f4mSn6e5vsnOdmxrZ2lzdoOIl52stsXL0Hpvb2trd3eIiJycsrPLzNkgHx8fICAiIyQnLC4wNTo9QUdPUVJYW15hZGdrbnJ2eh8gICAgISIiIiUpKy0xNjk8QUhKS1BTVVhbXmFlaGxvICAhISIjJSUmKCssLjI2ODo/RkdITVBTVlldYGRoa28iIiEiIyUnKSstMDEzNjo8P0RKS0xQUVJVV1pdYWRnayQjIiMkJiotMDI1Nzg8P0JESU9QUVVYW15hYmRlZ2lrLCopKSoqMDI2Oj9BQ0dLTU9UWltcYWRkZGRlaGxwc3c1MzExMjE2OTxBR0lMUldZXGFoaWpsamlrb3J1dXV2dzs4NjY2NTo9QEVLTlBXXF9iZ25wcXNydnt5eHd7f4OIQT47Ozs6P0FESU9SVVxiZWlvdnd5foKDgH+DiIqJiIhPS0hHR0VJTE5UWl1gZ25ydn2Fh4iOjomMkZCOjZKXnFdSTk5NS09SVFlfYmZtdHh8hI2OkJWUmZ2Ylpuhn52cWlVSUVBOTlNXWV1kZmtzdnuEiIyXmZugoaSqqKWnrLJdWFZUUlJQVFZbXmJpa3B3eoKHjJWZoqWnra6xt7m2s2BbWldWVlNUWVtfZGZub3Z7gIeKlZigp62ytLu8vsXLY15dWllZWFdaXWFjaWtzdHx/h4uSmJ+mq7a6v8HJy8xmYWFdXVxcWlpgYWdob3B4eYKDjo+am6iptbfGyM7Q2R8sT2AgKUhaICpHViIwSVMiNk5ZKT9aXy1DYGY2S25vPE92e0hahYdLXIiVU2SOoFhkjK1eZZC0ZWyNvGxzl8UfICAiIiktNjxIS1NYXmVsLCkqMDY/Q0tPWlxkZGVsc09IR0lOWmBudoWIjoyQjZdgWlZTWV9mb3uHlaCttLzFICAkNUFXXWMfICMzPlJYXh8hIjE7TlZdHyEjMTtOVFogIiQyO01SWSAjJjE6S1JZIiUqNj9PUFgjJS05QVJUVyQmMDxEVFZaJygyQUlZW10sKzVHT19eYS4sN0lSYmJjMC44TFVmaWk1MjxSXG1razo2P1didHBzPThCWWV4d3RBOkRcaXx6fEc/SWFvhIJ/T0ZPaHaNh4dRR1Bpd46Mi1JIUWp5kJWSWE1VbH6VmZhbUFhqgpSin15TW2mDmaWmYVZea4Cdp6tkWWFvf5ittmddYnKDlq66a2BkdYibsb9uZGV1iqG3wXJoZ3WJn7nJdmtpdoidtst6b2t3iJyzzCAfHx8gICIjJCcsLjA1Oj1BR09RUlhbXmFkZ2tucnZ6ICAhISIjJSUmKCssLjI2ODo/RkdITVBTVlldYGRoa28kIyIjJCYqLTAyNTc4PD9CRElPUFFVWFteYWJkZWdpazUzMTEyMTY5PEFHSUxSV1lcYWhpamxqaWtvcnV1dXZ3QT47Ozs6P0FESU9SVVxiZWlvdnd5foKDgH+DiIqJiIhXUk5OTUtPUlRZX2JmbXR4fISNjpCVlJmdmJaboZ+dnF1YVlRSUlBUVlteYmlrcHd6goeMlZmipaetrrG3ubazY15dWllZWFdaXWFjaWtzdHx/h4uSmJ+mq7a6v8HJy8wjLjlCLjxFRzlFWlpCR1ptHyYvMjk/Q0cmLy4vNDk+Qy8uNjk9QkNEMi85QkhNS0s5ND1IUlhWVD85Qk1YYF9fQz5DS1ZfaGtHQ0RLVF9rcSAeISkxMTI2OT9BREZISkweICMqLi0uMTQ5Oj5AQ0ZIISMnLS8tLjEzODk8PkBCRSkqLTAyMTI0NTk6Ozw9QEMxLi8yNTU2Nzg8PUBAQUJCMS0tMTU6PD4/Q0RDRURGRjIuLjI2PD1BQ0dHSklJSko2MTE0Nz5BR0lOT05NTk5OOTQzNTg/Q0lMUlNUVFRSUz85ODk8Q0dOUllaWllYV1hBOjk6PURHT1NaW15dXVxdRD48O0BDSk5UWl5iY2JiYkZAPjxARUlNVFldY2ZnaGhIQ0A9QURJTlRYXWJnamxtSkZCQEJGSk5SV1xiaGxvcExIRUNCRkpOU1hdYmhtcHQgHx4gISQpLTEwMTIyNDY4OTw/QEFDREVGR0hJSktMTh8fHyEiJiotLy8vLzAyNDU2OTw9PT9AQUJDREVGR0hKHh8gISMoKiwuLS0tLi8xMzQ2OTo6PT4/QEJDREZHSEogISEjJSkrLS8uLS4uLzEyMzY5OTo8PT4/QEFCQ0RFRiEiIyUnKy0uLy4tLi4vMTIzNTg5OTs8PT4/QEFCREVGJCYoKSsvLy8wLi0uLi8wMTI0Njc3OTo7PT5AQUJDREUpKiorLS8wMTIxMTEyMjQ0NTc5Ojo8Ozs8PT0/QEJDRS0tLC0uLzEyMzMzMzQ0NTY3OTs7PD09Pj8/Pz8/QEFCMS8uLy8wMjM1NTU2NjY3ODg6PD09P0BAQEBBQkJCQkIwLy0uLi4xMzU2Nzg4OTo7PD0/QEBCQkFCQ0NDQ0RFRjEvLS0tLTEzNTc6Ozw9Pj8/QUNDREVDREVEREVGRkZGMi8tLi4uMTM2ODs8PD5AQEFDRUVGRkdHRkZHR0dHSEoyMC4uLi4yNDY4PDw9P0FCQ0RHR0dJSkhJSklJSkpKSjQyLy8vLzI0Njk9Pj9CREVGSEtLS01LS0xLS0xLS0xNNjQxMTEwNDU3Oj5AQURHSElLTk5PT05PTU5OTU5PTk44NTMyMjE0Njg7P0BCRUhJS01QUFFRUlBRUU9RUE9RUjk2NDMzMjU3ODw/QUNGSUtMT1JSU1VUU1RTVFJSVFNSPDk2NjU0Nzk6PUFDREhLTU9SVVVWWFZXVVZVVVZUVVY/PDk5ODY5Ozw/Q0VHS05QUlVZWVpaWllZWFhYV1hYV0A9Ojk5Nzo7PUBDRUdLTlBSVVlaW1xdXFxbW1pbWlpcQT06Ojk3Ojw9QERGR0tPUVNWWltbXl5gXV5dXlxdXVxDPz08Ozk8PT9CRUZJTU9RVVhaXF5gYGFiX2FfYF9fYERAPj08Ojs9QEJDR0pLTlJUVlpdXmBiYmNkYmNiYmJhRUE/Pj07Oz5AQURHSEtPUFNXWVxgYWJkZGVmZWVlZGZGQkA/Pj08P0BCRUZJTE1RVFVZXF1iY2RmZmdoaGdoZkdDQkA/Pj0/QENERkpLTlFTVlhbXl9kZWZoaGlqa2lrSERDQUBAPT9BQ0RHSUtOT1RVWFtdYWJmZ2hqamxsbWtJRURCQUE/P0JDRUdJTE1RUlVYWl5fY2VoaWptbG5vcEpGRkNCQkA/QkNGR0pLTlBSVldbXGBiZWhqbGxvb3BxS0dHRERDQkBCREZHSktPT1RUWFpdX2JlZ2tsbm9xcXNMSEhFRURDQUJFRkhKTE5RU1VYWl1fYmRoaW1vcHF0c05KSkZGRUVCQkZGSkpNTlJSVldcXGBhZmZra3Bxc3N2Hy88QigtNj0uOEBAMD1LSTZBVVI9RVxcQERaZkRHV2kfKC4wNj1ARC8tOD1BRURHPDZAS1VcWldCPUBJUlxmaSAlMDQ5QkRHHiguMDQ8P0IhKy8vMzs8PyovMjI1PDs+MTA1Njk+Pj4xLjU9QEVCQjIuNkBDSUhGNjE3RElQTEs5MjhGTFRQTz83PEtSXFdUQDg9S1NdXVlEO0BKVl5iXkY+QklTYGNiSEBCS1NcZWhKQ0JKVF5nakxFQ0lSW2VtIB4hKjExMjY5P0BERkhKTCUoKy8wLi4xMjc4Oz5AQ0UwLi8yNTU2Nzg8PUBCQkJDNDAvMjY9QERGS0tKSUtKSTk0MzU5QENJTFJTVlNTVFJCPDs8PkVJUFRcXV5gXF5bRD88Oz5CSExQV11iY2VnZUdCPz4+QkZLT1RZXmJoam0gHyUqMDE0Njk/QkNERUdIHx8mKi8vMjQ2PD9AQUJDRB4gKCouLTAyNDk8Pj9BQkQgIiksLi0wMTM5Oz0+P0BBISQrLS8uLzEzODs8PD4/QSUoLy8vLS8wMjY5Ojw9Pj8qKy8wMjEyNDU5PDo7PD4/LSwvMTMzNDY3Oz09PTw9PTEuMDI1NTY3OTw+Pz4/Pj4wLi8yNTg5OzxAQkFBQEBBMS0uMTU6PT5AQ0VDQkJCQTEuLjE1Oz5AQUVHRkREQ0QyLi4yNjtAQUNHSUhIRkZFNDAvMjY9QkRHS01KSUlHSDYyMTQ3PkRHSU5QTkxKS0k3MzE0OD9FSEtQUlBPTkxNOTQyNThARklMUlRSUFBPTTw2NDc6QUhLT1VYVlRSUVE/OTc6PENLTlJZXFhXVVRRQDo3Oj1ES05SWVxaWVdWVkA7ODo9REtPU1pdX11bWVdDPTo8P0VMT1VcX2BeXFtbRD47PEBHSk5WW15gYmBeW0U+PDxBRkhPVVhfYmNiYWBGPz48QkVJUVNZYGFjZWJhR0A/PUNESk9SWl1iZmZmZUhBQD5CREtOU1lcZGVnaGZJQkE/QkVLTFRXXWJmaWprSkNDQEJGSk1UVl5gZ2lqa0tEREFCR0pOU1ddYGdpbW1MRUVCQ0hJUFJYW2Fla21uTUZGQ0NJSVFRWlpjY2xscSAfHiAhJSotMTAxMTI0Njc5PD9AQENERUZHSElKS0xNHx8gIiQoKywuLi0uLjAyMzQ2OTo7PT4+P0BBQkNERUYlJigpKy8vLzAvLi4uLzExMjQ3Nzg6Ozw+P0BBQ0RFRioqKiwtLzAxMjIxMTIyNDQ1Nzo6Ojw8PDw9Pj9AQUJDMC8uLi8vMjM1NTU1NjY3ODg6PD09P0BBQkNCQkJCQ0MxLy0tLi0xMzU4Ojs7PT4/QEFDRERFR0ZFRERFRkdISTQyMDAvLzI0Njk9PkBCREVGSEtLS0xKSElKS0tKSklJNjQyMTEwNDY3Oz5AQURHSElLTk5PT05PUU9OTE1OUFE5NjQzMzI1Nzk8QEFDR0lLTE9SUlNVVlVTUlNUVFNSUT88OTk4Njk7PEBDRUdLTlBSVVlZWlxbWFlaWVdWV1haQj88Ozs5PD0+QkVHSU1QUlRYXFxdX15fYF1cXV5dW1pDQD49PDo6PT9BQ0ZISk5QUlZYWl9gYGJhYmRiYGBhY0RBPz48PDs9PkFCREhJTE9QVFdZXV5iY2NmZWZnZ2VjRUJBPz49PDw/QEJERklKTlBSVVdbXGBiZWZnaWlpa2xHQ0JAPz4+PT5AQkNGR0tMT1FUVllbXmFiZmhqam1tbEhEREFBPz89PkFBREVISU1NUVFWV1tbYGFlZmtrbW5xHzE/RSAtOUEkLjg+KzE5PC41PD8tOkNCLjtHRjI+Tko0QFJQOUNZVTtEWls+R1tgP0VZZUFEWWdDRlZpRUhYax8gJCsuLS4yNDk7Pj9BQ0UxLS4xNTo7PkBDREdFREZIPzk4OTxDR05SWVpbWVlWWEVBPjw/QkZKUFVbYGVnaWsgJTA0OUJERx8mLzI2P0FDHiguMDQ8P0IgKS4wMzs+QCErLy8zOzw/JS8vLzI5PD4qLzIyNTw7Pi0vMzQ3PT09MTA1Njk+Pj4wLzU5PEJBQDEuNT1ARUJCMS41PkFHREMyLjZAQ0lIRjQvNkJHTUlHNjE3RElQTEs3MThFS1JPTDkyOEZMVFBPPDQ6SE9YVFE/NzxLUlxXVEA3PUtSXFlWQDg9S1NdXVlDOj9MVV9eW0Q7QEpWXmJeRTxBSFVfY2FGPkJJU2BjYkc/Q0pSXWZmSEBCS1NcZWhJQUJLVF1makpDQkpUXmdqS0RCSlNdZ21MRUNJUltlbU1GQ0lRWmNsIB8eICElKi0xMDExMjQ2Nzk8P0BAQ0RFRkdISUpLTE0lJigpKy8vLzAvLi4uLzExMjQ3Nzg6Ozw+P0BBQ0RFRjAvLi4vLzIzNTU1NTY2Nzg4Ojw9PT9AQUJDQkJCQkNDNDIwMC8vMjQ2OT0+QEJERUZIS0tLTEpISUpLS0pKSUk5NjQzMzI1Nzk8QEFDR0lLTE9SUlNVVlVTUlNUVFNSUUI/PDs7OTw9PkJFR0lNUFJUWFxcXV9eX2BdXF1eXVtaREE/Pjw8Oz0+QUJESElMT1BUV1ldXmJjY2ZlZmdnZWNHQ0JAPz4+PT5AQkNGR0tMT1FUVllbXmFiZmhqam1tbCApRVwpP1hnRVh/jFxnjLggICUvPk5aZiAjJy46SFRgJSczPEdUXWQvLjxJV2RqcT46R1dpeYGETkhUZHmMlJtaVF1qgZSpt2ZgZHGEm7fJIB8fICQnLzY9R1BWXGJobx8gICEiJSwyOEFJT1VbYmkfICEiJCctMjhAR01SWF5kICEiJCgqLzM5QUdMUFVbYiQiJCgwMjg8QUlPVFZaX2InJScqMjY8QUZOVFlfYGZpLywtLzg8RUtRWV9kZmhtcDYyMjM8QUtSWWFobW5ydXk9ODg5QUZRWWFqcXd6fn2CR0FAQUlOWWFqdX2DhoaIjVBJR0dPVF9ocX2GjI6RkphWT01MVFlkbXeDjJOanaClXFVSUFZfZm56ho6aoqiusmJbWFVaYGhyfoaRnaiwuMFoYl5bX2ZtdX2IkqCuuMHJb2lkYmJpcHmCjZilssHJ0iAfHx8fICAiJCYnLC8xNjs9QUdMUFNWWVxfYmVobG9yHyAgICAgISIjJSYqLS8zODo+REhMTlJVWFpdYGNmaW0fICAgICAhISIkJSksLjI2ODxBRklMT1JVWFtfYmVpbR8gICAgISEiIyQmKSwtMTY4O0FFSEtOUVRWWVxfYmVoHyAgICEiIiMkJicqLS4yNjg7QERHSk1PUlVYW15hZGggICAhIiMkJSYnKCotLjE1Nzo/QkVISk5RVFdaXWBjZiAhISEiJCQmKCkqLC8wMzc5PEFER0lMTlBSVVhbX2JmIiIhIiMlJicqLC0vMjM2Ojw/REdKTE9SVVZXWFpdYGMkIyIjJCYoKjAyMjY4OTxAQURJTE9RVFZWWFpdX2FiZCYlJCQmJyksMjM0ODo8P0NER0xPUlRXV1pdXl9gZGdqJyYlJicoKi0yNDY6PD5BRUZJTlFUVllcX19gY2ZoaWosKikpKiosLzY4Oj9CREdLTU9UWFpcX2FhY2ZnZ2ptcS8tLCwtLS8yODo8QkVHS09RVFlcX2FkZGZpaGptb3BxMS8uLS4uMDM5PD5ER0lNUVNXXF9iZGdpa2ptcHBxdXg2MzIxMjEzNjw/QUdLTVJXWVxhZWhqbXBucXJydXl5eTs4NjY2NTc6QENFS09RV1xeYmdrbnF0cnV2dXl6en2BPTo4ODg3OTxBREZNUVNZXmFlam5xdHd4enl+fH2CgoJBPjw7Ozo8P0RHSU9UV1xiZWlvc3Z5fIB9gYCDhYSHi0dEQUFAP0FESUxOVFlcYWdqb3V6fYCDg4aEhoiIjI2MTEhGRURCREdMT1FYXF9la25zen+ChYiIiouNjJGPkpdQTElIR0VHSk9SVFpfYmhucXZ9goaJjJKOkpGVkpaYl1NOTEtKSElMUVRWXGFkanF0eYCFiYyQk5iUmpecm5yiVlJPTk1KTE9UV1lfZGdtdHd8g4iMkJOWmp+doKCipaJZVVJRT05OUlZXXGFkaXByeICDiJKTlpucoaalp6mpr1xYVVRSUVBVVlpfYWZrbnV6fYaKjpianKKjqK2urrKwX1pYVlVUUlZYXV9jaWpxdnmBhIuSlJ+ho6mqsLS3tbtiXVtZWFdVV1peYGZobXJ1foCGjZGanaaoqrCyuLzBvGVgX1xbWlhYXV9jZ2pwcnl8g4iMlZegpa2wsri6wMTLaGNiX15dW1pfYGZnbXB1en2FiJGSnKCnrrS4usHCycxsZmViYWBfXWFkaGpvcXl6goSMj5aboqmut7zAwsnK0m9paWVkY2JgYmdpbXB1eX2Ch42SmJylqbK1wcTJytLTcm1taGhmZmNkampxcXh5gYKLjJeXoqKvsLu8y8zS09sgKkVYISpAUyQ4TVguQ11pPE9wektcgpBWX4inYmmIsSAhJC48S1ZiKio4Q09cX2lFQE1dcIKIiFhTWGl6kKexICAkL0FPWmAfICMsPEhUWiAiJC07R1BXICMoLzxHTlUkJTA4RE5TVycoMjxJVFteLy04RVRfZWU1MjxLXGdsbj04QVFkcXR2R0BJWW99gYFPRk9fdoWOilZMVGR8jJmWXFJZZXmUnaFiWF1sfI2jrmheX26Bl6u1bmRib3+TqbwgHyAgJCcvNT1HT1ZcYmhuICAiIyUoLTI4QEZMUlheZCQjJCgwMjg8QUlPVFldX2IvLC0vODxFS1FZX2RlbG5vQTw7PERJVFxkb3Z8eXyBf09IR0dOVF9ncX2FjJSNl5NaVFBOU1tlbHSBjpmdo6upYFpXVVdeZW52gYqWoa61vCAfICAkLC81QUlPV1pdYGMfICAhIyotMz5FS1NWWFteHyAgISMpLDE8Q0hQVFdaXh8gISEjKSwxO0JHT1JUV1ogICIiJCotMjtBR05QU1daICEjJCYqLTE6QEVMUFNWWCAhIyQoLC8zPEJHTE5RVVkiIiQmKjAyNj9FSVBSUVRWJCIlKDA2ODxESk5UU1ZXVyYkJykxODo/R01RVlhYWl0nJSgqMjo8QUlPVFpbXF5dLCkqLTU/QkdPVVpgXmBgYy8sLS84QkVLVFpfY2ViZWMxLi8wOUNHTVZdYWdnaWZqNTEyMzxHS1JcY2dvbGtuazo2Njc/S09XYmlucnJxb3M9ODg5QU1RWWRrcXZ0dXZ0QTw7PERPVFxpcHZ+fHp5fEdBQEFJVFlhb3d9goGBgX1MRURFTFhcZXN7goaGg4SHT0hGR09aX2h2f4WPjo2KiFJLSUpRXGFqeYKIkpGQkJFWTkxNVF9kbXyFjJOZl5aSWVFPTldfY3B8gpGYnJ2cnlxUUlBZX2V0eYSUl52joZ9fVlVTXF9pcniIj5ujp6uqYllYVV1fbHF8iI2go6muq2VcW1heYm5wgIWSnqavs7loX15bX2Vuc4GEl5qrr7W6a2JhXmBpbneAiJWcrbG8wG5lZGFibG97f42Toam3vMFyaGhkZG9vfn+Rkaamvb7JIB8fHyAgICIkJicsLzE1Oj1BR0xPUlZZXF9iZWhrbnIfICAgICEhIiIkJSksLjE2ODxBRUhLTlFUVllcX2JlaCAgICEiIyMkJScoKi0vMjY4O0BERklMT1JVWFteYWRoICEhISIkJCYoKSotLzAzNzk8QUVHSk1OUFNVWFteYWQkIyMjJCYoKjAxMjU4OTw/QURJTE9RVFdZXF1eX2BiZCwqKSkqKiwwNjg6P0JDR0tNT1RYWlxfX19fX2JlaWxvLy0sLC0tLzI4OjxCRUdLT1FUWVxfYWRjZWlsbm5ub281MzExMjEzNjw/QUdLTVJXWVxhZWhqbXB0cnFwc3d7fkE+PDs7Ojw/REdJT1RWXGJkaW9zdnl8fHl4fICBgH9/SUVDQkFAQkVKTU9VWl1jaWtwd3t/goWChIiIhYSIjZFPS0hHR0VHSU5RVFpfYWducXZ9goWIjJGUj42Sl5WTkVdTUE9OTExQVFZaYGNnb3J2foKGj5KTmJeboJ6anKGmWlZUUlBQTlJTWFteZWdscnR8gYaOkZmcnaOjpqutqaZdWFdUU1NRUVZYXGBiaWtxdXqBg42Ql52jp6mvr7G3vWBbWldXVlVUV1peYGVmbm92eYGEipCWnKGrrrO1vLy+Y15eWlpYWVZXXV1jY2prc3R8fYeIkZKen6qrubrAwckfLEldIClDVyAqQVMhLEJRIjZKViU6T1wsQlpiMUdjazhNa3VBVHeBSFp/jU5fhZdUX4SjWV+IqV9lhK9lbI23HyAgISIlLDE4QUhOVFlfZSwpKiw2OkJHTVRaX19fZWxJQ0FCSk9aY2t3f4WEiISNXVdTUVZcYmt1gY2Xo6mvtyAgJC9BT1pgHyAjLT5LVlsfICMsPEhUWh8hIyw7R1JXICIkLTtHUFcgIyYtOkVQViAjKC88R05VIiQqMj9JUlQkJTA4RE5TVyYnMTpHUVhaJygyPElUW14sKjVCT1peYC8tOEVUX2VlMS85R1ZhZ2Y1MjxLXGdsbjo2P09ibnJvPThBUWRxdHZBO0RUaXZ8eUdASVlvfYGBTERMXHOChoRPRk9fdoWOilJJUWF5iJGQVkxUZHyMmZZZT1djfJGcnFxSWWV5lJ2hX1VcaXiPo6tiWF1sfI2jrmVbXm6AkqazaF5fboGXq7VrYWBugJWtvG5kYm9/k6m8cmhkb3+Rpr4gHx8fICAgIiQmJywvMTU6PUFHTE9SVllcX2JlaGtuciAgICEiIyMkJScoKi0vMjY4O0BERklMT1JVWFteYWRoJCMjIyQmKCowMTI1ODk8P0FESUxPUVRXWVxdXl9gYmQvLSwsLS0vMjg6PEJFR0tPUVRZXF9hZGNlaWxubm5vb0E+PDs7Ojw/REdJT1RWXGJkaW9zdnl8fHl4fICBgH9/T0tIR0dFR0lOUVRaX2FnbnF2fYKFiIyRlI+NkpeVk5FaVlRSUFBOUlNYW15lZ2xydHyBho6RmZydo6Omq62ppmBbWldXVlVUV1peYGVmbm92eYGEipCWnKGrrrO1vLy+IS04QC06QkU4QlZXQEVXaR8mLzA2PUJFJi8vLjI3PUEvLzU3Oj9BQjAuNz5DSElJNjI6Q0xTVFI9Nz9IU1tcXEI9QUlUXGVnRUFCSVJcZ20gHiEmMTAyNDc8P0JERkhKHh8jKS4uLjAzNzo8P0FERiEjJywvLi4vMjU4Ojw+QUMmKSwvMTAvMDI1Nzo6PD5BMS4vMTU1NjY4Ojw+Pj9AQDAuLjA1Njg5Oz0/QUNCREQyLi4vNjg9P0FERkhHR0hINDAvMDY5P0JFSEtMS0xMTDczMjI4O0FFSU1PUVFRUFA8NzU1Oj1ESE1SVVdXVVRVPzo4Nzw/RktPVVlbW1pZWkI8Ojo+QUhMUVdbXmBfX19EPzw6PkNHS1FXW2BjZGRkRkE+PD9CR0xRVVpfZGdoaUhEQT5AREhMUFRZX2Roa2xKRkNBQERITFBVWl9kaWxvIB8eHyEkJikxMTAxMjM0Njc5PD4/QUJDREVGR0hJSksfHx8gIiYoKi8vLy8wMDI0NTY5Ozw9P0BBQkNDREVGRx4fHyAjJykqLi4uLS4vMDIzNDc5Ojs8Pj9AQUNERUZHHyAgISQoKSsuLi0tLi4vMTIzNjg5Ojs9Pj8/QEFCQ0QhIiMkJyssLS8uLi0uLy8xMjM1Nzg5Ojs8PT4/QUJDRCQmJygrLy8vMC8uLS4uLzAxMjQ1Njc4Ojs9Pj9AQUJCJigpKSwvLzAxMDAvLy8wMTIzNTY3ODo6Ojs8PT5AQUIpKiorLS8wMDIyMTEyMjI0NDU3ODk6Ozw9PT09Pj8/QDEvLi4vMDEyNTU1NTY2Njc4ODo7PD0+Pz4+P0BAQEBAMS8uLi4vMDI1NTY3Nzc4OTo6PD0+P0BAQEFBQUFCQ0QwLy4tLi4wMTU2Njc4ODk6Ozw9Pz9AQUJDQkJDRERERDEvLS0tLS8xNTc3Ojs8PT4/P0FCQ0RFRURERUVFRUZHMjAuLi4uLzI2Nzg7PT0/QEFCREVGR0hHR0hHR0hISEczMC8uLy4vMjY3ODw9PkBCQkNFRkdISUlKSUlKSUlKSzQyMC8vLzAyNjg5PT9AQkRFRkhKS0tMTUtMTEtMTUxLNjQyMTEwMTQ3OTo+QEJER0hJS01OT1BOT05NTk5NTk83NTMyMjEyNDg6Oz9BQkVISUpNTk9QUVFRUFFQUFFQTzk2NDMzMjM1ODo8P0JDRklKTE9QUlNUVVNUU1NTUlJTPDk3NjU0NTc6PD1BREVIS01PUlRVVldWV1VVVVRWVVQ+Ozk4NzU2ODs9P0JFRkpNTlBUVldYWllZWFhXWFdXWD88Ojk4Njc5PD4/Q0ZHS05PUlVXWVpbXVtbWltZWlpZQT07Ojk3ODo9P0BER0hLT1BTVlhaW11eX1xeXF1cW11CPzw7Ojg6Oz5AQUVISUxQUVRXWltdXl9gYV9fX19fXUNAPj07Ojo8P0BCRUdJTU5RVVZZXV5fYWFiY2FhYWBiREE/Pjw7Oj0+QENER0pLT1FTV1lbX2BhY2JkZGRjZGJFQkA/PT07PT5BQkRISUxOUFRVWFtcYWJiZWRmZmdlZkZDQT8+Pjw9P0FCRUdJTE1RU1VYWl5fY2RkZ2ZoaGlnR0NDQD8/PT1AQUNFR0pLTlBTVVdbXF9hZGZmaWhqamxIRERBQUA+PkBBREVISUxOUFNUWFldX2FkZmhoa2psbElFRUJCQUA/QEJERUhJTU1RUlZXWlxfYWNnaGpqbWxuSkZGQ0NCQT9AQ0RGSEpMTlBSVVdaW19gZGVpamxsb25LR0dEREJCQEBEREdHS0tPT1NUWFldXWJiZmdsbG5ucR8vOUEoLTQ9Ljc9Py88Rkg0QE9RO0RXWj9CWGNCRVVmHyguLzQ7P0IvLTc8QERCRTk0PUZPV1hVQT0/SFFaY2YgIzAyOT9ERh4mLi40Oj9BISkvLjM4PD8nLjAvMzc6PTEwNTY5PD09MC41ODxAQUEyLjY9QkZHRTQvNj9HS0tKNzE4QUpPT048NTpET1VVUj83PEZSWVtXQjo+SFRbX1tEPEBHUV5hYEY+QUlRWWJlSEFBSFJcZGdKQ0FHT1liaSAeIScxMDI0Nzw/QkRGSEojJikuMC4uLzE1Nzo8PkFDMC4vMDU1NjY4Ojw+QEFBQTIuLi82OD0/QURGSEdJSEc5NDMzOTxCR0pPUlRRUVJPPzo4NzxARktPVVlbXllcWUQ/PDo9QUdLT1VbX2FiZGJGQT89PUFFSk5SV1tgZWdpIB8jJjAxMjQ5PT9DREVGRx8fJSgvLzAyNjk8P0BBQkMeICYoLi0uMDQ3Oj0/QEFDHyEmKS4tLjA0Nzk8PT4/QCEkKSwvLi4vMzY4Ozw9P0AlKC0vLy0uLzI0Njk7PT4+JykuLzAvLzAzNjc5Ojs9PiorLjAyMTIyNTg5PDw7PDwxLjAxNTU2Njk7PD89Pj09MC4vMDU3Nzg6PT5AQD8/QDAuLjA1ODg5PD5AQkFBQUAxLS0vNTo7PUBCQ0VDQ0JDMi4uMDY7PT9CREZHR0RFQzMvLzA2PD1AREZHSUhIRkc0MC8wNj0/QkdJS01LSUpHNjIxMjc+QURJTE5PTkxKSzczMTI4P0FFSk1PUU9OTks5NDIzOEBCRkxPUlVTUU9PPDY1NTpBREhPUlVXVVRSUD44Njc8QkVKUVRXWFdVVFQ/OTc4PENGS1JWWVxbWVdUQDs4OT1ER0tTV1pdXFpZWUI8Ojo+RUhMVFhbXl9dW1lDPTs6P0RHTlNWXWBgYF5eRD48O0BDR09RVl5fYWJgXkU/PTxBQkhNUFhbYGNjZGJGQD48QUJJTFFXWWFiZGVjR0FAPUFDSUpSVVpfY2ZnaEhBQT5BREhLUlNcXWRmZ2hJQkI/QUVITFFVWl1kZmlqSkNDQEFGR01PVlleYmdpaktEREFBR0dOTldXYGBpaW0gHx4fISUnKjEwMDEyMzQ2Nzk8Pj9AQkNERUZHSElKSx8fICEkKCkrLi4uLS4vMDIzNDY4OTs8PT4/QEFBQkNEIyUmJiktLi4wLy4tLi8vMTEyNTY3ODo7PD0+QEFCQ0QmKCgpLC8vMDEwMC8wMDAyMjM1Nzg5Ojo7PDw9Pj9AQTAvLi4vLzAyNTU1NTY2Njc4ODo8PD0+P0BBQUFBQUFBMS8tLS4tLzE1Nzg6Ozw9Pj9AQUJDREVEQ0JCQ0RFRkcyMC4uLi4vMjY3ODs9PT9BQUJERUZHSEdHSElJSEhHRzQyMDAvLzAyNjg5PT9AQkRFRkhKS0tMTk9NTEpLTE1OOTY0NDMyMzU5OjxAQkRHSUpMT1FSU1RTUVBRUlJRT049OTc3NjQ2ODs9PkJERklMTU9SVFZXWFZWWFdVU1VWVz88Ojk4Njc5PD5AQ0ZHS05PUlVXWVpbXV5bWVpcWllXQz89PDs5OTw/QEJFR0lNT1FVV1hcXV5gX2BhX11dXmBEQD89PDs6PD1AQUNHSEtOT1NVV1tcX2BhY2JjZGRiYEVBQD49PTs7Pj9BQ0RISUxOUVRVWVpdYGJjZGZmZmdpRkJBPz8+PTw9P0FCRUZKSk5PUlRXWVteYGRlZ2dpaWlHQ0NAQD4+PD1AQENDR0dLS09QVFRZWV5eYmNoaGpqbR8xPUUgLTdAJC42PSkvNjsuNTs+Ljg+QS47REQwPUlJMz9NTjZBUlQ5Q1ZZPEVYXT5DVmJAQldkQURTZkNGVmcfICQpLi4uMDM2OTw+QEFDMS0uLzU4Oz0/QUNFQ0JERj03NjY7PkRJTVJWWFZXU1ZFQD07PkFESU5UWV1iZGZnICMwMjk/REYfJS8wNjxAQh4mLi40Oj9BHyYuLjQ5PT8hKS8uMzg8PyUtLy4yNjs+Jy4wLzM3Oj0qLjIyNTk8PDEwNTY5PD09MC81Nzo+QD8wLjU4PEBBQTEtNTtAQ0NCMi42PUJGR0UzLzY9REdIRjQvNj9HS0tKNjE3QUlOTko3MThBSk9PTjkyOEJMUlNPPDU6RE9VVVI+NjxFUVdXVD83PEZSWVtXQDg9R1NaXFlCOj5IVFtfW0M7P0dTXWBeRDxAR1FeYWBFPUFIUFtjZEY+QUlRWWJlR0BBSVJaY2dIQUFIUlxkZ0lCQUhRWmRpSkNBR09ZYmlLREFHTldgaSAfHh8hJScqMTAwMTIzNDY3OTw+P0BCQ0RFRkdISUpLIyUmJiktLi4wLy4tLi8vMTEyNTY3ODo7PD0+QEFCQ0QwLy4uLy8wMjU1NTU2NjY3ODg6PDw9Pj9AQUFBQUFBQTIwLi4uLi8yNjc4Oz09P0FBQkRFRkdIR0dISUlISEdHOTY0NDMyMzU5OjxAQkRHSUpMT1FSU1RTUVBRUlJRT04/PDo5ODY3OTw+QENGR0tOT1JVV1laW11eW1laXFpZV0RAPz08Ozo8PUBBQ0dIS05PU1VXW1xfYGFjYmNkZGJgRkJBPz8+PTw9P0FCRUZKSk5PUlRXWVteYGRlZ2dpaWkgJj9WJjhOYT9OcYJWYYKpICAjLjlMVWAgIiUtNkZPWiMlMDhAT1ddLi04RlBgZGk5NkBQXW95ekxGT2BvhoqQVU9XZHmKnKhgWl1pepCouCAfHyAiJywxOkFHUVddYmgfICAgIiYpLjY8QktRVlxiHyAhIiQnKi41O0BJTlNYXiAgIiMlKCouNDo/R0tQVlwiIiQlKi8yNTtBRk1SVVlcJyYnKC82Oj5ESU5VWlpgYiwpKioyOj9ESk9UW2BiZmgxLi4uNT5ESVFXXGNna21wOjY1NDtESlFaYWZucnZ1eUE8OzpBSU9XYWlveH19foJHQkA/Rk5UXGZvdX+FhoiNUUtJR01VW2NueH+Jj5GUmFdRTktSWmBncn2Fj5acoKNdVlNQVVpia3Z9hpGco6mxYlxYVllgZm11foiUoKmwuGhiXlxcYmhweYKNmKOxuL8gHx8fHyAgIiIkJyksMDE2OjtBRUdQUVNXWl1fYmVoax8gICAgICAiIiMmJyouLzM3OT5CRExNTlNVWFpdYGNlHyAgICAgICEiIiYnKS0uMjY3PEBCSUtMUVNWWVxfYmUfICAgICAgISIiJSYpLC0xNTY7P0FISktPUVRWWVteYR8gICAhISIjJCQnKCotLjI1Njs/QEdJSk5QU1VYW15hICAgICEiIiQkJSgoKi0uMTU2Oj4/RkhJTU9SVVdaXF8gICAgIiIjJSUmKCkqLS4xNDY6PT9FR0hLTlBTVllcXyIiISEjJCUnKSotLi8yMzY5Oz9CREpLTFBRUlNVV1pdIiIiIiQkJSkqLS8wMjU1ODs9QURGTE1OUlNVWFlaXF0kIyIiJCUmKi0wMjM2ODk8P0BER0lPUFFVV1lZWl1gYycmJiUnKCgtLzI2Nzo9PkFERUlMTlRVVlpZWl1gYWJjKScnJigoKS4wMzc4Oz4/Q0ZHS05QVldYW11gYWFjZmksKikpKioqLzI2Ojs/QkRHSktPU1RaW1xgYmJjZmhoaTAuLSwtLS0yNTg9PkJGR0xPUFVYWmBhYmVkZmlpaW1wMS8uLS4uLjM1OT4/REdJTVFSV1pcYmNkZ2pram1wcHA2MzIxMjExNjg8QUNHTE1SVldcYGFoaWpubm1xcnF0eDo3NjU1NTQ5Oz9ERkpPUVZaW2FkZm1ub3JydnR1eXl4Ozk3NjY2Njs9QEVHS1BSV1tdY2Zob3BxdXl4enx6fYFBPjw7Ozo6P0FESUtPVVdcYWNpbW92eHl9fH1/foKCgUVCQD8/Pj1CREdMTlNYWmBkZm1xc3t9foGCg4KGhYeLR0RCQUA/P0RGSU5QVFpcYWZob3N1fX+AhYiGi4iLjYxQTElIR0ZFSkxPVFZaYGJobW92e32GiImOio+MkJCQlVFNS0pJSEdLTVBVV1thY2lucHh9f4iJi4+UkZSUlpiVU05MS0pJSExOUVZYXGJkam9xeX6AiYuMkZWZmZqbm6FXU1FPTk1LUFJVWltgZWducnV9gYWOj5GWl5yfoKCjoVpVU1FQT05RU1dZXWJkam5yeXyCiIqUlZecnaKmqKasXVhWVFNSUFJVWVpgYmZrbXZ4fYOGj5GZnJ2jpKmssaxfWllWVVVTU1hZXWFjaWpxdHp/gouMlJmfoqSpqrCzuWJdXFlYV1ZVWVpgYWZpbXJ1fH6GiJCUmqCmqaqwsbi6ZWBfW1taWVdaXWFjaGlwcXl6goWLkJaboKissLG4ub9oY2JeXlxcWlxgYmZobXB0eX2Ch42QmJujprGzuLm/wGtlZWFhX19dXWNjaWlwcHh4gYGLjJWVoaGsrLm6v8DHICY+ViAoOlAiM0RVLD1VZTZFYnVIVHaIUlmBnVxif6UgICIsNkhSXCYoMz1FVFliPjpEVWJ2gX9WUFVldYidpSAgJCw6T1hdHyAjKTZJUVggISQqNUdOVCAiJio0RUxSIiQsMjtLUVQnJzI6RFRYWiwqNT9KWmFhMS45Q1FhaGk5NT9KWmxvcUE7RE9hdnt6R0BJVGZ9h4NRSFBbboeRjVdNVWByjJSXXFNYZnWFmaNiWFlneY2gqWdeXGd3iZ6vIB8gICInLDE5QUdRV1xiZyAgISIkJyouNTtASE1TWF4kIyQmLDI1OT9ESVBVWFlcLCkqKjI6P0NKT1RbYGZnZzo2NTQ7REpRWmFmbnJ1eXdPSUdFS1RaYWx2fYeMhY2JWFFOTFFYYWhve4eRlJmgnl1YVFJUWmFpcXqDjZejqa8gHyAgJCcsNTpBT1FYWl1gHyAgICMmKjM3PktNU1ZYWx8gICAjJikyNjxJS1FUWFsfICAhIiUpMTU7SEpPUlRXICAhIiQnKjI1O0dITlFUVyAgIiIlKCoxNTpGR01QU1UgISIjJigqMTQ6RUZMTlJWIiIjJSotMDY5P0lLT09RUyIiJCUsLzI4O0FLTVFTVFQkIiUmMDM2PD9ETlBVVVZZJyUnKDI2OkFESVRVWFlaWSgmKCkzNztDRktVV1tcXF8sKSorNTo/R0pPWlthXmFfLywtLjg9QktPVV9hY2ViZjEuLi85PkNNUVZhY2hmaWY1MTIyPEFHUlZcZ2ltbGpuOTU1NT9ESlZaYWxub3Bxbjs2NjZARUtXW2JvcHd1c3ZBPDs6RElPXGFpdnd7e3p3RT8+PkdMU2BkbXp8f319gEdBQD9JTlRhZm99f4eGg4FPSEdGT1RaaG12hYeJiIiJUUpIR1BVW2lueIeJkY+NilJLSUhRVlxqb3mIi5OUk5VXT01MVVpgbnJ9jI+UmpeVWlJQTldZY2xxgYeSmZ2gn1xUU1FYWmZqdYCFlpmeo6BfV1VTWFxnaXh9iZSbpKitYllYVVlfZ2x5fI2QoKSprmRcW1haYmdveH+LkqGlr7NnXl5aXGVncneDiZaeqq+0amFhXV1oaHZ2h4eam6+wuyAfHx8gICAiIiQnKCwvMTU5O0FFR09RUldaXF9iZGdqHyAgICAgISIiIiUmKSwuMTU2PD9BSEpLT1JUV1lcXmEgICAgISIiIyQlJygqLS4yNTY7PkBHSElNUFNVWFteYSAgICEiIiMlJSYoKSsuLzI1Njo+P0ZHSExOUVNVWFpdJCMjIiQlJiosMDIzNTg5PD9AREdJT1BRVVdYWFlaXF0nJiYlJygoLS8zNjc6PT5BREVJTE5UVVZaWVpcX2JlaCwqKSkqKiowMjY6Oz9CQ0dKS09TVFpbXGBjZmdnZ2doNTMyMTIxMTY4PEFDR0tNUlZXXGBhaGlqbmxqaWxvcnY6NzY1NTU0OTs/REZKT1FWWlthZGZtbm9ycXV4eXh3dkE+PDs7Ojo/QURJS09VVlxhYmltb3Z4eX2BgH18f4OHT0tJSEdGRUlLTlRVWl9hZ2xvdnp9hYeIjIeFiY2LiYdRTUtKSEdGS01QVVdbYWNpbnB3fH+HiYuPkpaUkJKWmlhTUU9OTUxPUVVYW2FjaG1vd3t/h4mRk5SZmZugoZ6bWlZUUlFQTk9TVVlcXmVmbHB1e32GiI+Ump2epKSlqq9dWFhUVFNSUVRWWlxhYmlqcXN6fYOIjZOXoKOoqa+vsGBbW1dXVVZTVFlZX19mZm5udneAgYmKlZWfoK2us7S7HydBWiAmPFQgJztRISg6TiIvQVMlNklZKTpPXi4+VmY1RGFwPElpe0FOb4ZKVXiPT1p9mlRagJ5ZX3ykXmWDqh8gICEiJSkuNTxBSk9UWV4nJicoLzY6PkRJTlVaWl9lQTw7OkFJT1ZhaW94fYB8g1pUUU5TWV5mcHuGj5qepKogICQsOk9YXR8gIyo3S1NYHyAjKTZJUVgfICIpNUhPVCAhJCo1R05UICIlKjVGTVMgIiYqNEVMUiIjKjA5SU9RIiQsMjtLUVQkJTA2P05VVicnMjpEVFhaKCgzO0ZVW1wsKjU/SlphYS8tOEJPX2NiMS45Q1FhaGk1MjxHVmdtajk1P0pabG9xOzZAS1tvd3NBO0RPYXZ7ekU+R1Nken99R0BJVGZ9h4NPR09abYWJiFFIUFtuh5GNUklRXG+Ik5NXTVVgcoyUl1pQV2Nxh5mgXFNYZnWFmaNfVVhneImbqGJYWWd5jaCpZFtaZ3iLoa9nXlxnd4mer2phXWh2h5uwIB8fHyAgICIiJCcoLC8xNTk7QUVHT1FSV1pcX2JkZ2ogICAgISIiIyQlJygqLS4yNTY7PkBHSElNUFNVWFteYSQjIyIkJSYqLDAyMzU4OTw/QERHSU9QUVVXWFhZWlxdLCopKSoqKjAyNjo7P0JDR0pLT1NUWltcYGNmZ2dnZ2g6NzY1NTU0OTs/REZKT1FWWlthZGZtbm9ycXV4eXh3dk9LSUhHRkVJS05UVVpfYWdsb3Z6fYWHiIyHhYmNi4mHWFNRT05NTE9RVVhbYWNobW93e3+HiZGTlJmZm6ChnptdWFhUVFNSUVRWWlxhYmlqcXN6fYOIjZOXoKOoqa+vsCAtNT8tNz5DNT5QVD9DVGUfJC8wNDxAQyQrLy4xNzs/Ly81Njc8P0AwLjY9QUZHRzQxN0FHTlFPPDc8Rk5ZWVlAOz9HUVlhY0M/QEdPWWNoIB4hJCwwMTM2OTxAQ0RGSB4fIycsLi4vMjU3Oz1AQkQhIycrLi4tLzEzNTk7PT9BJCcrLy8uLS4wMjQ3OTo9PywsLi8yMzMzNTY4Oz09Pz4wLi4uMzY3ODo8PUBBQEJCMS4tLTM3Ojw+P0FERUVFRTMvLy4zODw+QUNFSElKSUk2MjEwNTo+QUZJS05PT01NOTUzMjY8P0NJTE9SVFNSUjw3NTQ4PUFFS09SVlhXVldAOzk3O0BESE5SVlpdXFtcQz07OT1BRUlPVFhdX2BgYERAPTo9QEVKT1NXXGBjZGVGQj89P0JFSU1SVltgZGdoSERBPz5CRUlNUldcYGVoaiAfHh4hIyQpLDEwMDEyMzQ2Nzk7PD9AQUNEREVGR0hJHx8fHyIkJiosLy8vLzAwMjM0Njg5PD09P0BBQkNDREUeHx8fIyUnKiwvLi4uLy8wMjM1Njc6Ozw9P0BBQkNERR4fHyAjJSgqLC4tLS0uLi8xMjQ1Njk6Ojw9Pj8/QEFCISIjIycpKy0uLy4uLS4vLzExMzU1ODk5Ozw9Pj9AQUIjJCUlKSstLi4vLi4tLi4vMDEyNDU3ODg6Ozw9Pj9AQCQmJygrLS8vLzAuLi0uLi8wMDIzNDY3Nzk6Ojs9Pj9AKSoqKi0uLzAxMjExMTIyMjM0NTY3OTo6PDw7Ozw9PT4sLCwsLi4vMTIzMzMzMzM0NTU2ODg7Ozs9PT0+Pz4+PjEvLy4vLzAyMzU1NTU2NjY3Nzg6Ojw9PT8/QD8/QEFCMC8uLS4uLjEzNTY2Nzg4OTo7PD09P0BAQUFAQUJCQkIwLy4tLi4uMTM1Njc4OTk6Ozw9Pj9BQUFCQ0RDQ0NERTEvLi0tLS0xMzU3ODo7PD0+Pj9BQUNEREVGRUVFRkVFMjAvLi4uLjIzNjg5Oz0+P0BBQkRERkdHSEdHSEdHR0gzMC8uLy4uMjM2ODk8Pj5AQUJDRUVHSEhJSkpISUpJSTQyMC8vLy8yNDY5Oj0/QEJEREZISEtLS01MS0xMSktMNjMyMTEwMDM1Nzo7PkBBREZGSUpLTU5OT05PTk1OTU03NDMyMTEwNDU3Ozw+QUJERkdJS0xOT09QUVBQUU9PUTk2NTQzMjI1Njg8PT9CQ0ZJSUxOT1JSU1RTU1NSU1JROzg2NTU0MzY4Oj0+QURFSEpLTlBRVFVVVlZWVFVUVFU8OTc2NTU0Nzg6PT9BREVIS0xPUVJVVlZYWFdYVldXVT88Ojk4NzY5Ozw/QUNGR0tNTlJUVVlZWlxZW1laWVhZQD07Ojk4Nzo7PUBBREdIS05PUlVWWVpbXV5cXFtbXFpBPTw6OTg3Ojs9QEFER0hLTk9TVVZaW1tdXl9eXl5dXkM/PTw7Ojk8PT9BQkVISU1PUFRWWFxdXV9fYGFgX2BeREA/PTw7Ojw9P0FDRkdKTE5RU1ZYWV5eX2FhYmNjYWNEQUA+PTw6Oz1AQERFR0pLT1BTVldbXF9gYWNjZGRlY0VCQT8+PTs7Pj9BQ0VISExOUFNUWFlcXmFiY2VkZmZoRkNCPz8+PTw/P0JDRUdJTE1RUlVWWlteYGNkZGdmaGhHQ0NAQD8+PT5AQkNGR0pKTk9TVFdZW15fY2RmZmhoakhEREFBQD89PkFCREVHSUtNT1JUV1hcXWBhZWZoaGpqSUVFQkJAQD4+QkJFRUhJTE1RUVVVWVpeXmNjaGhqamwfLzZAJi4yPC41OT4uOEJHMjtKTzlAUlg9QVVhQUNSYx8mLi4yOT1BLy41ODtAQUM2MjlCSlJVUkA8PkdPWGFjICIwMTY/Q0UfJC4uMjo+QSEoLy4xODs+JSwvLTA2OTwsLjMzNTs8PTAuNTg6QEBAMS01Oj5DRkQzLzY8QUdJSDYxNz5GTU1MOTM4QElSU1E8NTpBS1VZVUA5PUROWV1ZQjs/RU9bXl1EPT9HT1dgYkY/P0ZQWWFkSEE/RU1WX2YgHyElLDAxMzY5PEBCREZIIiQoLC4uLS8xMzU5Oz0/QTAuLy8zNTU2Nzg6PT8/Pz8xLi4tMzg6PD5AQURFR0ZFNjIxMDU6PkFGSUtOT09QTT86ODY7QENHTVJVWVtXWVZDPjs5PEBGSU1TWV1eYGFfRUE+PD1AREhMUVVZXWJkZiAfIiUwMDE0Njk/QENERUUfHyMmLy8vMjM2PD0/QEFCHyAkJy4uLjAyNTo7Pj9BQh4gJCguLS0wMTQ5Ojw9Pj8hJCgrLy4uLzEzODk7PD4/IyYqLS8uLS8wMjc4Ojw9PSUoLC8vLi0vMDI2Nzk6PD0qKy0vMjIxMjM1OTo7Ojs7LCwuLzMzMzQ1Njs7PD09PDEuLzA1NTU2Nzk8PT8+Pj8wLi4vNTY4OTo8QEBAQEA/MC0uLjU3ODo7PUFBQkJBQjEtLS41ODo9PkBDREZDREIyLi4uNjg7P0FCRkdGR0RGMy8vLzY5PEBBREdISUdIRjQwLy82OT1CREdLS0xLSUk2MTEwNzo+REZJTU5NTUxKNjIxMTc7PkRGSk5PUU9NTjk0MzI4PEBGSUxSUlNSUU47NjQ0Oj1BSEpOVFVVU1JSPDY1NDo+QUhLT1VWWVdVUj85ODc8QENLTVJZWlpYV1ZAOjk3PUBES05SWVpdW1lXQDs5OD1BREtOU1pbXl1cW0I8Ozk/QkVNT1RbXV5fXVtDPTw6P0FGS05VWF1gYWFfRD49Oz9AR0pPVFdeYGFiYEU/Pjw/QUdIUFJYXWBjZGVGQD88P0JGSVBRWVphY2RlR0FAPT9DRkpOUlhaYWNmZ0hBQT4/REVLTVNWXF9kZmdJQkI/P0VFTExUVF1dZWVpIB8fHiEjJSosMTAwMTIzNDY2OTs8P0BAQkNERUZHSEkfHyAgJCYoKywuLi0tLi8wMTI0NjY5Ojs8PT4/QEFBQiIjJCQoKiwtLi8uLi0uLy8xMTM0NTg5OTs8PT4/QEFCJSYnKCstLy8vMC8uLi4vLzAxMjQ0Nzc4OTo7PDw9Pj8wLy4uLy8vMjM1NTU1NjY2Nzc4Ojo8PT0/Pz8/Pz8/PzAvLi0uLi4yMzU2Nzg4OTk6Ozw9PkBAQUJBQEFCQ0RFMS8uLS4tLTEzNTg4Ojs8PT4+QEFBQ0RERUZHR0ZGRUU0MjAwLy8vMjQ2OTo9P0BCRERGSEhLS0tNS0pISUpLTDYzMjExMDAzNTc6Oz5BQURGRklKS01OTk9OT1BQTk1MOTY1NDMyMjU2OTw9QEJER0lKTE5PUlJTVFVUUlFSU1Q/PDo5ODc2OTs8QEFDRkdLTU5SVFVZWVpbWFdYWVhWVEA9Ozo5ODc6Oz1AQURHSEtOT1JVVlpaW11dXl1aWlxdQz8+PDs6OTs8P0BCRkZJTE1RU1VZWl1eXmBgYGFhX11EQD89PDw6Oj0+QEJDR0dLTU9SU1dYW11fYWFjY2NkZUVBQT4+PTw7PT5AQURESElMTVFSVVdZXF1hYmRkZmZlRUJCPz89PTs8Pz9CQkZGSUpOTlJSVldbW19gZWVnZ2kfMDlEIC41PyQuMzwoLjI6LDM2PS42PEAtOEBDLzlERzE6SU00PExSNj5PVzpAUls8QlRfPkBUYUBCUWNBRFNkHyAkKCwuLS8xNDY6PD5AQTAuLi4zNjg5Ojw+QEJAQkQ5NTMyNjxARElMT1JUVFFTRD88Oj1AQ0dNUldbX2FjZCAiMDE2P0NFHyMvLzM8P0EfJC4uMjo+QR4kLi0xOTw+ISgvLjE4Oz4jKi8tMDc6PSUsLy0wNjk8Ki0yMTM5OzssLjMzNTs8PTEvNTU3PD8+MC41ODpAQEAwLjU4O0FCQTEtNTo+Q0ZEMi42O0FGRkQzLzY8QUdJSDQvNj1ES0xJNjE3PkZNTUw2MTc+Rk5RTTkzOEBJUlNROzQ6QUpUVVI8NTpBS1VZVT84PENNWVpXQDk9RE5ZXVlAOT1ETlpeXEI7P0VPW15dQzw/Rk5YYGFEPT9HT1dgYkU+P0dQWGBkRj8/RlBZYWRHQD9GTlhhZkhBP0VNVl9mSUI/RUxUXWUgHx8eISMlKiwxMDAxMjM0NjY5Ozw/QEBCQ0RFRkdISSIjJCQoKiwtLi8uLi0uLy8xMTM0NTg5OTs8PT4/QEFCMC8uLi8vLzIzNTU1NTY2Njc3ODo6PD09Pz8/Pz8/Pz8xLy4tLi0tMTM1ODg6Ozw9Pj5AQUFDRERFRkdHRkZFRTYzMjExMDAzNTc6Oz5BQURGRklKS01OTk9OT1BQTk1MPzw6OTg3Njk7PEBBQ0ZHS01OUlRVWVlaW1hXWFlYVlRDPz48Ozo5Ozw/QEJGRklMTVFTVVlaXV5eYGBgYWFfXUVBQT4+PTw7PT5AQURESElMTVFSVVdZXF1hYmRkZmZlICU6USU2SFs6SGZ5UVt5nCAgIyo1RE5aICEkKjNASlQjJC40PEhQVyoqND9JVFxiNTM8SVZkbXJEQEhUZHWAhU5KUFxtgIybWlRXYnKFm6ggHx8gIiQpLzY7QUpSV1xhHyAgICIjJy0yNz1FTFFXXB8gISEjJCgsMTY7Q0lOU1ggICEjJSYpLTE1OkFHS1BWIiIjJScqLjI2Oj9GTFBUVSQjJCYqMDQ4PEBES1BVWlspJygpLjQ5PkNHS1NYXF9hLy0sLTI4PkVLT1RbYWRmaDYyMTE2PENLUldcZGpubXA7NzY1OkBHT1dcYmpwdXV5QT07Oj9ES1RcYmlyeH1+gkpFQ0FGS1NbZGpye4OHiYxSTElHTFBYYWpweIOLkJSWV1FOS1BVXGRudX2HkJabolxXU1BUWl9mbXV+iZSboqhhXFhWVVthaHB5goyWoqiuIB8fHx8fICAiIyQnKSwvMDY4O0BBR0pQUlNXWlxfYWQfICAgICAgISIjIyYoKi0uMzU4PT5ER0xOTlNVWFpcXx8gICAgICAhIiIjJicqLS0yNDc8PUNFSkxNUVRXWVxfHyAgICAgICEhIiIlJiksLDEzNjo7QURISktPUVRWWFofICAgISEhIiMkJCcoKiwtMTM2OjtAQ0dJSk5QU1VYWh8gICAhISIiIyQkJygqLS0yMzY6O0BDR0lKTlBSVFZZICAgICEiIyQlJiYoKSotLjEzNTk6P0FFR0hLTlBTVlkgISEhIiIkJCYnKCorLC8vMzU3OzxBQ0dJSU1OUFJUViIiIiEjIyUmJyoqLS4vMjM2ODo+P0RGSkxMUFJUVVVWIyMiIiQkJicqLi8xMjQ3Nzs8PkJDSEpOT1BTVFVXWlwkIyMiJCQmKCovMDI0Njg5PD1AQ0RJS09QUVVXWltbXCcmJiUnJygqLTEyNjc6PD1BQkVISU5QVFZWWltbXF9hKSgnJigoKSsuMjQ3OTw+P0NFR0tLUFNWWFlcXV9hYWIsKiopKioqLC80Njo8P0JDR0lLT09UVlpcXGBiYmJlaC8tLSwsLS0vMjc4PD5CRUZLTU9TVFlbX2FhZGNmaWhoMC4tLC0tLi8zNzk9P0NGR0xOUFRVWl1gYmNmamppbG82MzIxMTIxMzY7PEFDR0tMUlRXW1xhZGhqam5sbXBwbzg1NDMzMzM1ODw9QkVJTU5UVlldXmRmamxtcHFzcnR3Ozg3NjY2NTc6PkBFR0tPUFdZXGFiZ2pucHF1dnV5eXdAPTw6Ojo5Oz5CQ0hLT1NUW11hZmdtcHR2d3p5fXt9gEE+PTs7Ozo8P0NESUtPVFVcXmJnaW9ydnh5fYF+gYKBR0RDQUBAP0FESElOUFRZWmFkZ21vdXh9f4CFgoaFhYlKR0VEQ0NBQ0ZKS1BTVltdZGZqcHJ4e4CDg4eJiYqMiVBMSkhHR0VHSk5PVFZaX2Boam50dn2AhoiJjo2Oj4+TUk5MSklJR0lMT1BWWFxhYmpscHZ4f4OIi4uQk5STlpRTTk1LSkpISUxQUVZZXGFjam1xd3mAg4mLjJGWmJuYnVdTUU9OTktNUFNVWlxgZGZucHV6fYWHjpCRlpebnqKeWlVUUVBQTk5SVFdbXWJjamxxdnmBgomNk5aXnJyhpKlcWFdUU1JQUFRVWltfYmZqbXN1fX6GiY6UmJucoqKoql9aWVZVVFNSVVdbXGFiaWlwcnl7gYWKj5ObnqGiqKiuYVxcWFhWVlRVWltfYWVobHB0eX2ChYyPlpiipKiorq9kX19aWllZVlZcXGFiaGhvb3d3gIGJiZOUnZ6pqq6vtSAjO1MgJDlOIi9BUik1TmEzPVxvQUlsgUtRdZRWXHeaICAiKTNBS1YjJC81PUlRXDs5QU5cbHV3U05SYW+BlJogHyMsNUFSWh8gIikyPUxVHyEjKjE7SVEgIiUqMTpHTyIjKTA2P0xRJCQuNjxEUFcpKDE8Q0xYXS8sNUJLVGFlNTI5R1Jcamw6Nj1LV2JwdEE7Qk9caXh8SkNJVmRxg4ZSSU9caXiLjldOU2BufZCZXFNUYXKElp1hWFZhb4CToyAfHyAiJCkvNTpBSlJXXGEfICEiIyQoLDI2O0NJTlNYIyIjJSkuMTU5PUJJT1NUViwpKiowNjxCR0tPVlxgYWE1MjExNjxDS1JXXGRpbnJvQT07Oj9ETFRcYmlxeH2EgFJMSUdMUFhhanB4g4uQlpNaVVFPUVddZWx0fIaOmZ2jIB8fICMkLC81PkFPUlhaXR8gICAjIyotMzs+S05TVlgfICAgIiMpLTI6PUpMUlVYHyAgISIiKSwxOTtISk9SVB8gISIjJCosMTk7R0lPUVQgICEiJCQqLTI5O0dJTlBSICEiIyUmKi0xODpFR0xPUyAhIiQnKCwvMzo8R0lMTlAiIiMlKSowMjY9P0lMUVFQIyIkJi0vNDc7QUNNT1JTViQiJCYuMDY4PEJETlBVV1YnJScoMDI6PEFHSVRWWVhbKScoKTEzPD5DSkxWWFtdWywpKiszNT9CR05PWlxhXmEvLCwtNThCRUtSVF9hYmViMC0tLjY4Q0ZMU1VgYmhlaTUxMjI5PEdLUlpcZ2prbGk3MzMzOz1ITVRcXmpsb25wOjY2Nj0/S09XX2JucHV0cT86OjlBQ05TW2RndHZ3d3lBPDs6QkRPVFxmaXZ4f3x6R0FAP0dJVFlhbG99f4GBgkpEQ0JJS1ZbZG5xgIOHhoJPSEdGTU9aX2hzdoWIjIuMUktJSE9RXGFpdXiIi5GOjFJLSkhPUVxhanV5iIuUlpVXT05MU1VgZG54fY2QlJmWWVJRTlNXYWNxdoCLkZmdoVxUU1BUWWFlcnSEh5aZnaJeVlVSVVxhaHB3goiXmqOmYVhYVVZeYWtve4CMk5+jp2NbW1dXYWFubn5+kJCjo60gHx8fHyAgICIjJCcpLC8wNTc6P0FHSk9SUldZXF5hYx8gICAgICEhIiIiJScpLC0xMzY6PEFESEtLT1JUVlhbHyAgICEhIiIjJCQnKCosLTIzNjo7QENHSUpOUVNVWFsgICAhIiIjJCUmJigpKy0uMjM2OTo/QkZISExOUFJVVyMjIiIjJCUnKS0uMDEzNTY5Oz1BQkdJTU9PU1NUVVZXJCMjIiQkJigqLzAyMzU4ODw9P0NESUtPUVFVV1lcXmEsKikpKioqLDA0Njo8P0JDR0hLTk9UVlpcXGBhYWFhYS8tLSwsLS0vMjc4PD5CRUZLTU9TVFlbX2FhZGNlaGtuNTMyMTEyMTM2OzxBQ0dLTFJUV1tcYWRoaWpucXJwb24+Ozo5OTk4Oj1BQkdKTlJTWlxfZGZsbnN1dXh2dHd7fkE+PTs7Ozo8P0NESUxPVFVcXmJnaW9xdnh5fYCEgoB+T0tKSEdHRUdJTU5UVlpfYGdqbnR2fYCFiIiNi4eIjJBSTkxKSUlHSUxPUFZYXGFiamxwdnh/g4iLi5CRlpeTkFhTUk9PTkxMUVJVWVthYmhrb3V3f4GHjJGUlJmZmp+jWlZVUlFQT05RU1dYXV5lZWxudHd8gYaLjpaZnZ2jo6NdWFhUVFJTUFBWVltbYWJpaXBxeXqCgoyMlZahoqanrR8kPlggIzpSICQ5TyEmOEwiKj1RIjBCVSczSlssOFJiMTxaazY/X3U8RGZ/REtuh0tRdZFPVXiUVFl0mVhee58fICAhIiInLDE2PERLT1RYJCMkJiowMzg8P0RLUVVZXj46OTg9QkpSWl9mbnV4dHtYUk9MUVVbYmt1f4eRlJmfIB8jLDVBUlofICMqMz5OVh8gIikyPUxVHyAiKTE7SlIfISMqMTtJUSAhJCoyO0lQICIlKjE6R08gIicsMzxJTiIjKTA2P0xRIyQtNDtDT1MkJC42PERQVycnMDpBSVZYKSgxPENMWF0sKjM/R09cXi8sNUJLVGFlMC02Q0xVYmU1MjlHUlxqbDczO0hUXmxuOjY9S1dicHQ/OkFOW2d2d0E7Qk9caXh8R0BHVGFvf4FKQ0lWZHGDhk9HTVpodoiLUklPXGl4i45SSk9canmLlldOU2BufZCZWVFTYXGAkZ1cU1RhcoSWnV5VVWFwgpejYVhWYW+Ak6NjW1dhbn6QoyAfHx8fICAgIiMkJyksLzA1Nzo/QUdKT1JSV1lcXmFjHyAgICEhIiIjJCQnKCosLTIzNjo7QENHSUpOUVNVWFsjIyIiIyQlJyktLjAxMzU2OTs9QUJHSU1PT1NTVFVWVywqKSkqKiosMDQ2Ojw/QkNHSEtOT1RWWlxcYGFhYWFhNTMyMTEyMTM2OzxBQ0dLTFJUV1tcYWRoaWpucXJwb25BPj07Ozs6PD9DRElMT1RVXF5iZ2lvcXZ4eX2AhIKAflJOTEpJSUdJTE9QVlhcYWJqbHB2eH+DiIuLkJGWl5OQWlZVUlFQT05RU1dYXV5lZWxudHd8gYaLjpaZnZ2jo6MgLTM9LTY7QTM7S1E9QVFhHyIuLzI5PUEiJy8tMDU5PS4vNDQ2Oj0+Ly00Oj5BREQyMDY+RElNTDk1OkFJUlZWPTk9RE1WW19BPT5ETFZfZCAfISQpMTEyNDY5PUBDREYfHyInKi8uLzEzNTk8PkBCISIlKiwvLi4vMTM3OTs9PyQnKi8vMC4uLzAyNTc5Oz0pKiwvMDIxMjI0NTg6PD08MS8vMDI1NTY2Nzg7PT9AQDEuLi4xNTc5Ozw9QEJDQ0MyLy4uMjY5PT9AQkVGSEdHNDEvLzI2Oz9CREZJS01LSzYzMTA0NzxAREdJTE9QT085NTMyNTg9QkZJTFBSVFNUPTk3NTg7QEVJTFBUV1lYWEA8OTc6PUJGS09SV1tdXV1DPjs5PD9DSE1QVFldX2BhREA9Oz1AQ0dLT1NYXWBjZEZCPz08QENHS09UWF1hZGYgHx8eISEkJikvMTAxMTIyNDU2ODk8PT9AQUNDREVGRx8fHx8iIiYoKi4vLy8vMDAyMjQ2Njk6PD09P0BBQUJDHx8fHyIjJygqLi8uLi4vLzEyMzU1ODk7PDw+P0BBQkMeHx8gIiMoKSotLi0tLS4uLzAxMzQ2Nzk6Ojw9Pj4/QCEiIiIlJiorLC4vLi4tLi4vMDEzMzU3ODk5Ozw9Pj9AISIjIyYnKywtLy8uLi0uLi8wMTMzNTY4OTk7PDw9Pj4kJicoKisvLy8vMC4uLS4uLy8wMTI0NTY3Nzk6Ozw9PiYoKCkrLC8vMDAxMC8vLy8wMTEzMzU2Nzg4Ojo6Ozw8KSoqKiwtLzAwMjIxMTEyMjIzNDU1Nzg5Ojo8PT09PDwvLi4tLi8vMDI0NDQ0NDU1NTY3Nzg6Ojw8PT49PT4/QDEvLy4vLzAxMjQ1NTU1NjY2Nzc4ODo7PD09Pz9AQEBAMC8uLS4uLjAxNDU2Nzc4ODk6Ojs8PT4/QEBCQUFBQkMxLy4tLi4uLzE0NTc3OTk6Ozs8PT0/QEFCQkNDQ0RDQzEvLi0tLS0vMTQ1Nzk6Ozw9Pj4/P0FCQ0RERUZFREVGMjAvLi4uLi8yNTY4OTs9PT9AQEJCREVGRkdIRkdIR0YyMC8uLi4uLzI1Njg6PD09P0BBQkNERUdHR0lKSUhJSjQyMS8vLy8wMjU2OTs9Pz9CQ0RGRkhJS0tLTUtLTEtKNTIyMDAwLzEzNjc6Oz5AQENERUdHSUpMTU1OTk5MTU42NDMxMTEwMTQ3Nzo8PkBBREVHSUlLTE5PT1BQT1BPTjg2NTMzMzEzNTc4Oz0/QkJGR0lLTE5PUVJSU1FTUVFSOTY1NDMzMjM1ODg8PT9CQ0ZHSUxMT1BSUlNUVVNUVFI8OTg2NTU0NTc6Oj0/QURESElLTk9SU1VWVlhWV1ZVVj06OTc3NjU2ODo7PkBCRUVJSkxPUFNUVldYWVlYWFhWPzw7OTg4Njc5PDw/QUNGR0tMTlFSVVZZWlpcW1taWVtAPTw6OTk3ODo8PUBCREZHS01PUlJWV1pbW11dXVxdW0E9PDo5OTc4Oj09QEJER0dLTU9SU1ZYWltbXV5fX11fQz8+PDs7OTo8Pj9CQ0VISU1OUFNUWFlcXV1fX2BgYV9DQD89PDw6Oj09P0FDRkZKS05QUVVWWVtdXl9hYWJiZERBQD49PDs6PT1AQUNFR0lLTk9TU1dYW11fYGFjYmRkRUFBPj49PDs9PkBBRERISExMUFFUVlhaXF9gYmJkZGVGQkI/Pz49PDw/QEJDRUdJS01PUVRVWFldXWFiZGRmZUdDQ0BAPj48PEBAQ0NGRkpKTk5SUlZWW1tfX2RkZWVoHy81PyQvMjsuNDc9LTU/RjE3R002Ok1WOz1RXj9BUF8fJC4tMTY7Py8vNDU3Oj1BNTI3P0dNUVA/Oz1GTVZeXyAhLTE0OUBEHyItLjE1PEAhJS4tLzM5PSUrLy0vMjc7KiwxMTI1OjwxLzQ1Njk9PzAuMzk7PUJDMi40Oz9CR0c0LzU9QkdLSjYxNj5ESU9POTM3QEZMU1M9NzpCSVBXV0A5PERLU1tbQjs9RU1UXV9EPT1ETVZeYUY/PUNLU1xiIB8hJSoxMDI0Njk9QEJERiEiJSssLy4uLzEzNzk7PT8tLS4vMTQzNDU2Nzo8PT09MS4tLTE1OTs9PkBCREVEQzQxLy8yNjs/QkRGSUtNTUs5NTMyNTk9QkdJTFBTVFZTQDw5Nzo9QkdLT1NXW11eXERAPTs8P0NHSk9TV1tfYWIgHyElLTAxMjQ4OT9AQ0REHx8iJi0vLzAyNTY8PT9AQR8gIictLi4vMTQ1Ozw+QEEeICMoLC4tLjAzNDk6PD0+ISMlKi4vLS4vMjM4OTw9PiEkJisuLy4uLzIzODk7PDwlKCsvLy8tLi8xMjY3OTs9JykrLzAwLy8wMjM3ODk6OyorLC8xMjEyMjU1OTo8PDsvLi4wMzQ1NTU3ODw9PT0+MS4vMDQ1NTY2ODk8PT8/PjAuLi8zNTg4OTs8QEBBQEEwLS4uMzU5OTs9PUFCQkNBMS0tLjM1Ojs9P0BDREZDRDIuLi40Njs9P0FCRkdGR0QyLi4uNDY7PUBCQ0dHSUdINDAvLzU2PT9CRkdLS0tKSDUxMDA1Nz1AQ0dITE1NS0w2MjExNjc+QURISU5PUE9MODMzMjc4P0JGSkxRUlFQUDk0MzI3OEBCRktMUlNVU1A8NjY0OTpBREhNT1VWVlVUPTg3NTo7QkVJT1BWV1lXVD85ODc7PENGS1BSWVpbWVlAOjk4PD1ER0tRU1pbXVtZQDs6ODw9REdLUVNaW15eXUI8Ozk9P0VITVJUXF1eX11DPTw6PT9FRk5QVVpdYGFhRD49Oz1AREdNT1ZYXmBhYkU/Pjs9QURITFBVWF5fY2NGPz88PUJDSUtRU1lcYWJjRkBAPT1DQ0pKUlJaWmJiZiAfHx4hISUnKi8xMDAxMjI0NTY4OTw9P0BAQkNERUZGHx8gICMkKCkrLi4uLS0uLjAxMjM0Njg5Ojs8PT4/P0AhIiIjJSYrKywuLy4uLS4uLzAxMzM2Nzg5Ojs8PT4/QCUmJygqKy8vLzAwLy4uLi4vMDEyMjQ1Nzg4OTo7Ozw9LS0tLC4uLzAxMzQzMzM0NDU1Njc3OTo7PDw9PT09PT0wLy4uLy8vMDI0NTU1NTY2Njc3ODg6Ozw9PT8/QEFCQzEvLi0tLi0vMTU1ODk6Ozs9PT4/QEFCQ0RERUVERENDMjAvLi4uLi8yNTY4OTs9PT9AQUJCREVGR0dIRkdISUo0MjEwLy8vMDI1Njk7PT9AQkNERkZISUtLS01OTUxLSjg1NDMyMjEyNTc4Oz0/QUJGR0hKS01PUFFRUlBPUFFSOTY1NDMzMjM1ODk8PUBCQ0dISUxMT1BSU1NUVVZVU1I/PDs5ODg2Nzk8PEBBQ0ZHS0xOUVJVVllaWlxaWFhZWkA9PDo5OTc4Oj09QEJER0dLTU9SU1ZXWltbXV1eXlxaQz8+PDw7OTk8PT9BQkZGSUtNUFFVVllbXV5eYGBfYWJEQEA9PTw7Ojw9P0BDQ0dHSktPUFNVV1lbXl9hYWNiYkRBQT4+PD07Oz4+QUFEREhITExQUFRUWVldXWFiY2NmHzA4QyAuND4jLzI8KC8xOSsyNTwuNTg/LTU9Qi42QUYwNkZLMjdIUDQ4S1U4O09ZOj1RXTw/Ul4+QE9gP0JRYR8gIygrLi0uMDI0ODo8Pj8wLi8vMjU1NjY3ODs9P0BCODQyMTU4PUFGSEtPUVJPUUM+PDk8P0JGS1BVWV1eYGEgIS0xNDlARB8iLS8yNj1AHyItLjE1PEAeIywtMDQ6PSElLi0vMzk9ISYuLi8zOTwlKy8tLzI3OycrMC8wMzg6KiwxMTI1OjwvLjM1NTg9PTEvNDU2OT0/MC4zODk8QEAwLjM5Oz1CQzEtMzo9QERDMi40Oz9CR0cyLjQ7QENHRzQvNT1CR0tKNTA1PUNITUs2MTY+RElPTzgzNz9GTFJQOTM3QEZMU1M8NjlBSE9WVT03OkJJUFdXPzg7Q0tSWllAOTxES1NbW0A6PERLU1teQjs9RU1UXV9DPD1FTlVdYUQ9PURNVl5hRT49RExVXmNGPz1DS1NcYkZAPUNKUlpiIB8fHiEhJScqLzEwMDEyMjQ1Njg5PD0/QEBCQ0RFRkYhIiIjJSYrKywuLy4uLS4uLzAxMzM2Nzg5Ojs8PT4/QC0tLSwuLi8wMTM0MzMzNDQ1NTY3Nzk6Ozw8PT09PT09MS8uLS0uLS8xNTU4OTo7Oz09Pj9AQUJDRERFRUREQ0M0MjEwLy8vMDI1Njk7PT9AQkNERkZISUtLS01OTUxLSjk2NTQzMzIzNTg5PD1AQkNHSElMTE9QUlNTVFVWVVNSQD08Ojk5Nzg6PT1AQkRHR0tNT1JTVldaW1tdXV5eXFpEQEA9PTw7Ojw9P0BDQ0dHSktPUFNVV1lbXl9hYWNiYiAiNUsiMUBRNUBbcEtRcIwgICInMj5MVCAhIygwO0dPIiMnLjU/SlEnKC44QUtWXDIwNUFOWmVqPjs/S1ppdntMR0pWZXaGjlRPUVxqe46ZIB8fICEkJywwNjtCSlFWWx8gICAhIyYqLjM4P0ZNUVYfICAhIiMmKS0xNjxDSU1SICAhIiQlKCotMTU7QkdLUCEhIiQmKiwuMjU5P0VKTlAkIyMlKjAyNjk8QEVLUFRVJyYmKCwyNjo9QUVKUFVZWywqKSouNjo/Q0dLUFZbX2EwLi0tMjk9Q0dMUFZdYmVoNjMxMTU8QUdMUlddZGltcDs4NjU5QEVLUFdcY2pwdHhCPzw7P0VKUFZdY2tzeX2BSkZDQkVLUFZdZGpze4KHilFNSUdKUFVbYmlweYKJjpRWUU1LTlRZX2VtdH2HjpOZW1ZSUFBVW2FocHiBipSZnyAfHx8fHyAgISIkJCcpLC4wNDY6O0FCR0pQUVNWWVtdHyAgICAgICAhIiMjJicqLC4yMzg4Pj9ER0xNTlJUVlgfICAgICAgICEiIyMmJyosLjEzNzg9P0NGS01OUVRWWB8gICAgICAgISEiIiUmKSosMDE1Njs8QURISktOUFJUHyAgICAhISEiIiMjJicpKy0wMTU2OzxBQ0hJSk1QUlQfICAgISEhIiMjJCQnKCosLTAyNTY7PEBDR0lKTU9RUyAgICAhISIjJCQlJigoKiwtMDE1NTo7P0JGR0hLTlBTICAgICEiIyMkJSYmKCkqLC4wMTU1Ojs/QUVHSEpNT1AhISEhIiMkJCYnKiosLS4wMjQ1OTk+P0NFSUpLTk9QUSIiIiEiIyQlJycqKy0uLzEzNTY6Oj9AREZKS0xPUVRWJCMjIiMkJSYqKjAwMjM2Nzk7PD9AREVJS09QUVRVVVYkIyMiIyQmJiorMDEzNDY3OTs8QEBERUlLT1BRVFZYWycmJiUmJygoLC0yMzY3Ojs9QEFERUlKTlBUVVZZW1tbKScnJicoKCktLjM0Nzg7PT9BQ0ZGS0xQUlZXWFtcXmAsKiopKSoqKi4vNjY6Oz9BQ0ZHS0tPUFRWWltcX2FhYS4sLCorLCwsMDE3Nzs9QUNFSEpNTlJTV1ldXl9iYmRnMC4uLC0tLS4yMzk5PT9DRUdKTFBQVVZaXWBiY2VoaGc0MjEwMDAwMDQ1OztAQUZISk5QVFVaW19hZWdoamprbjYzMzExMjExNTY8PEFDR0pMUFJWV1xdYWRoaWptcHBuOjg3NTU1NTU5Oj9AREZLTVBUVltbYWJnaW5vcHNyc3Y7ODg2NjY1NTk6QEBFRktOUFVXW1xiY2dqbnBxdHd4d0E+PTs7Ozo6Pj9ERElLT1JVWlxhYmlqb3J2eHl8e3t+Qj8/PDw8Ozs/QEVFSkxQU1ZbXWJjamtwc3d5en2AgX5HRENBQUA/P0NESUlOUFRXWl9hZ2dvcHV4fX+Ag4SEh0pHRkRDQ0JBRUZLS1BSVlldYWRpanJzeHuAgoOHh4qIUExLSEhHRkVJSk9PVFZaXWBlaG5udnd9gIaIiYyOjJBRTU1KSUlHR0pLUFBVV1teYmdpb3B4eX+CiImLjpGUkFNOTktKSkhIS0xRUVZYXF9jaGpwcXl6gIOJi4yQlJabVlJRTk1NS0pOT1RUWVtfYmVqbXN0fH2Dh4yOkJOVmZtZVFRQUE9OTU9RVVZbXGFiaGpwcnd7gISHjpGUlZman1tWVlJSUVBPUFRVWFteYWRoa3BzeHuBhIqMlJaZmp+fXVhYVFRTU1BRVlZbW2BhZ2dubnZ3fn6HiJCQm5ufn6QgIzNNICQySCIqNksmM0NXMDtQZzxEXHdIT2iHUVZwkCAgIiYwPEhRIyQqMztET1YzMjZDUFxocE1IS1dnd4eQIB8hKDNBT1cfICEnMT1KUh8gIiYvO0dPICEkKDA6RU0hIiYsND5ITiQjKjM6RE5UJyYsNj9JVFksKS47RU9aYDAtMj5KVWBnNTE1Qk9cZ286NjlGVGJudkI8P0taand+SkNFUWFxgIZRSUtWZniHj1ZOTlpqfIyTW1JQWmd3iZcgHx8gISQnLDA1OkJKUVZbHyAgISIjJiktMTY8Q0lOUiEhIiQmKiwuMjU5P0VLTlAoJyYoLDM2Oz5CRktRVlpaMzEvMDQ6P0VKT1RaYWZqZ0E9Ozo+RElPVVxianF4fHdPSkdFSE5UWmBnbneAh4yJV1JPTU5UWWBnb3Z+ho+TlyAfHyAhJCgsMzVBQk9RV1ofICAgISMnKjEzPj9LTVNVHyAgICEjJyoxMz0+SkxSVR8gICEhIiYpLzE7PEhKT1EfICAhIiMmKS8xOzxHSU9RICAhIiMkJyowMjs8R0hOUCAgISMkJSgqMDE6O0VHTVAgISEjJCYpKjAxOjtFRktNISEiJCYpLC40NT4/SEpOTiIiIiUnKi0wNTY/QElLUFMkIiMmKjAzNjo8REVOUFRTJCMjJiowMzY7PERFT1BVVyclJigsMjY6P0FJSlRVWVgoJicpLTM4O0FDS0xVV1pdLCkpKy41Oz9FR09QWltgXS4rKywwNzxBSElSU11eYWQwLS0uMjg+Q0pMVVZgYmdkNDAwMTQ7QUZOUFpbZWdpazUxMTI1PEJHT1JcXWdpb2s6NTU1OT9FSlNWYWJtb3FzOjY2Njk/RktUV2JjbnB2c0E8Ozo+REpPWVxpanZ3entCPTw7P0VLUFpdamt3eX57R0FBP0NJT1ReYW9wfX+DhEpEQ0JFS1FWYWRxc4CChoRPSEhGSU9VWmVodneFh42MUUpJR0tQVltmaXh5h4mPjFJLSkhLUVdcZ2p5eoiLk5dWTk5LTlRaX2ptfH2MjpOXWFFQTVBWWmJpcHp/jJCYm1tTUk9QWFpkZ3J3gomUl5tdVVVRUVpaZmd1dYaGl5igIB8fHx8gICAhIiQkJygsLjA0NTo6QUJHSk9RUlZYW10fICAgICAgISEiIiMlJikrLTAxNTY8PUFESEpLTlFTVR8gICAgISEhIiIjIyYnKSstMDE1Njs8QUNISUpOUFJVICAgISEiIyMkJSYmKCkrLC4xMjU2Ojs/QkZHSEtNT1EhISEhIiMkJCYnKiosLS4wMjQ1OTk+P0NFSUtLTlBQUSQjIyIjJCUmKSowMDIzNTc4Ozw/P0RFSUtPUFFUVlhaKCcnJiYnKCksLTMzNjg7PD5BQkVGSktPUVVWV1paWlosKiopKSoqKi4wNjY6Oz9BQ0ZHSktPUFRWWltcX2JkZjMxMS8vMDAwNDU6Oz9BRUhKTk9TVFlaXmFlZmdqaWdnNTMzMTEyMTE1Njw8QUNHSUxQUlZXXF1hZGhpam1wcnVBPj07Ozs6Oj4/RERJS09SVVpcYWJpam9xdnh5fHp3dUI/Pjw8PDs7P0BFRUpMUFNWW11iY2prcHN3eXp9f4KGT0tKSEdHRUVISU5PVFVaXWBlZ21udnd9gIWHiIyMiYZRTUxKSUhHRkpLUFBVV1teYmdpb3B3eX+Ch4mLjpCUl1dTUk9PTk1LTlBUVVlaYGFnaW9xdnp+g4aNj5OTmJeYWlVVUVFQUE1OU1NXWF1dZGRra3Nze3uEhIyMl5ebm6AfJDVRICMzTCAjMUkgJTFHISk1SiIwPFAlMkFVKTVHWy04TGIxPFJpNj9XcD1FXXlES2SCSlBpiU5UbY5TWHKUHyAgICEiJSktMTY9REpOUyQjIyUpMDI1ODw/RUtQVFg1MzExNTxBR0xSV11kaW1yUUxJR0pQVVtiaXB5gomOlCAfISgzQU9XHyAhJzE+S1MfICEnMT1KUh8gISYvO0hPHyAiJi87R08gISMnMDtHTiAhJCgwOkVNICEkKTA6RUshIiYsND5ITiIiJy01P0lQJCMqMzpETlQkIyozO0RPVScmLDY/SVRZKCctOEFLVVosKS47RU9aYC4rMDxIUl1hMC0yPkpVYGc0MDRBTlplaTUxNUJPXGdvOjU5RVNhbXE6NjlGVGJudkE7PkpZaXZ6Qjw/S1pqd35HQUNPXm99g0pDRVFhcYCGT0hJVWV2hY1RSUtWZniHj1JKS1dneYiTVk5OWmp8jJNYUFBaaXqMmFtSUFpnd4mXXVVRWmd1hpggHx8fHyAgICEiJCQnKCwuMDQ1OjpBQkdKT1FSVlhbXR8gICAgISEhIiIjIyYnKSstMDE1Njs8QUNISUpOUFJVISEhISIjJCQmJyoqLC0uMDI0NTk5Pj9DRUlLS05QUFEoJycmJicoKSwtMzM2ODs8PkFCRUZKS09RVVZXWlpaWjMxMS8vMDAwNDU6Oz9BRUhKTk9TVFlaXmFlZmdqaWdnQT49Ozs7Ojo+P0RESUtPUlVaXGFiaWpvcXZ4eXx6d3VPS0pIR0dFRUhJTk9UVVpdYGVnbW52d32AhYeIjIyJhldTUk9PTk1LTlBUVVlaYGFnaW9xdnp+g4aNj5OTmJeYIC4xOi41Nz4xN0ZOOj5OWx8iKi8xNjxAIictLi8zODsqLTAxMjU5PC8uMTc6PUFCMS8yOkFFSUo2MzU9RUxSUzw4OUFJUllcQDs8QkpTXGAgHx8jKDEwMTI0Njk9QEJEHx8gJSkvLy4wMTM2OTw+QB8gIicrLi4tLi8xNDc5Oz0jJScsLi8uLS4vMDM1ODk7KCkrLjAyMTAxMTM1Nzk7OzEvLi8yNTU1NjY3OTs9Pj4wLy4uMTU2Nzg5Ojw+QEFBMS4tLTA1Nzo8PT5AQkRFRTIwLi4xNjg8PT9BQ0VHSEg0MS8vMTY5PT9CREdJS0xNNjMxMDM3Oj5BREdKTE5QUTk2NDM1OTxAQ0dKTVBTVFU9OTc1Nzs+QkVJTFBUV1lZQDw5ODk9QERHS05TV1pcXkI+Ozk7PkFFSExQVFlcXmBEQD07Oz5BRUhNUVVZXmBiIB8fHh8hIyQoKTExMDAxMjI0NDY2OTk8PT9AQUJDREUfHx8fICIlJikqLy8vLy8vMDEyNDQ2Nzk6PD09P0BAQR8fHx8gIyUnKSovLy8uLi8wMTEzMzY2ODk7PD0+P0BBHh8fICEjJigqKi4uLS0tLS4vLzExNDQ2Nzk6Ojw9PT4fICAhIiUnKSsrLi4uLS0uLi8vMTEzNDY3OTk6Ozw9PiEiIyMlJykrLC0vLy4uLS4uLy8xMTMzNTY4OTk6Ozw9IyUlJicpLC4uLi8vLi4tLi4vLzAwMjM0NTc4ODk6Oz0kJicoKSsuLy8vMC8uLi0uLi4vMDAyMjQ1Njc3ODk6OigpKSorLC4vMDAyMTExMDExMTEzMzQ1Njc5OTo7Ozs7KSoqKistLi8wMDIyMTExMTIyMjQ0NTU3ODk6Ojs8PT4xLy8uLi8vMDIyNTU1NTU2NjY2Nzc4OTo7PD09Pj4+PjEvLy4uLy8vMTI1NTU1NjY2NjY3ODk5Ozs9PT4/P0BBMC8vLS4uLi4xMTU1NjY3ODg5OTo6PDw9Pj9AQEFCQUEwLy4tLS4uLjExNTU2Nzg5OTo6Ozw9PT8/QUFBQkJDRDEvLi0tLS0tMDE1Njc4Ojs8PT0+Pj9AQUJDRERFRkVEMi8vLS4uLi4xMTY2ODk7PDw+Pj9AQUFDREVFRkZGR0cyMDAuLi4uLjEyNjY4OTw8PT8/QUFDQ0RFR0dHSElIRzQxMS8vLy8uMTI2Njk6PT4/QUFDQ0VGR0hJSkpLSkpLNDIxLy8vLy8xMjY2OTo9Pj9BQkRERkdISUtLS0xNTUs2NDMxMTEwMDM0Nzc6Oz4/QUNERkZJSUtMTk5OT05OTzY0MzExMTAwMzQ3ODo8PkBBQ0RGR0lKS0xOTk9QUVFPOTY2NDMzMjI0NTg5PD0/QUNFRklJTE1PUFJSU1RTUlM5NzY0NDMzMjU1OTk8PUBBQ0ZHSUpNTU9QUlNTVFVVUzw5ODY2NTQ0Njc6Oz0/QUNER0hLS09PUlNVVlZXV1ZXPTo5Nzc2NTU3ODs7Pj9CREVISUxMUFBTVFZXWFlZWVc/PDs5OTg3Njk5PD0/QUNFR0lLTk5SUlVWWVlaW1xaW0A9PDo5OTg3OTo9PUBBREVHSktOTlJTVldZWltcXV5bQT09Ojo5ODc6Oj0+QEFERkdKS05PU1NWWFpbW11eXmBCPz48Ozo5ODs7Pj9BQkVGSEtMT1BUVFdZW1xdXl5gYENAPz08Ozo5Ozw+P0JCRkZJSk1OUVNVV1lcXV5eYGBhREBAPT08Ozo7PT5AQUNFR0hKTU5RUlVWWVpeXmBgYmFFQUE+Pj09Ojs+PkFBRERHR0tLT09TU1dXW1tgYGFhYx8vMj0kLy85KzIyOi01OkEvNkJKNDhGUjk8S1o9P01dHyQrLS80OT0vLzI1Njg8PzIvMjpCRktNPTk6QUpSWl0gICgxMzk/Qx8hKS8xNjs/HyMrLi8zOTwjJy4uLzI3OikrMDExNDk7MS8yNTY5PD4wLjE2OTxAQTEtMDg9QENFMi4xOT9DR0k0MDI6QUdLTTYyMztDSU5ROTQ1PUVNUlU9Nzg/SFBWWEA6OkFJUllcQjs7QktUW15EPTtBSFFZXyAfHyMpMTAxMjQ2OT1AQkQgISMnKy8uLS4wMjQ3Ojs9KCkrLjAyMTAxMjM1ODo7OzEvLi4xNTY4OTo7PT9BQkEzMS8vMTY5PT9BQ0VISUtIOTYzMjQ5PEBDR0lNUFJUUT87OTc5PEBDR0tOUlZZW1lDPzw6Oz5BRUlNUVVYXF5fIB8gJSgwMTEzNDk6P0BDQx8fISYpLy8vMTI2Nzw9P0AfHyEmKS8vLzExNjY7PD9AHiAhKCouLS0vMDQ0OTo8PR8hIykrLi4tLzAzNDk5PD0hJCUrLC8uLi8vMzQ4OTs8IyYnLS4vLi0vLzIzNzg6PCUoKS8vLy4tLi8yMjY3OTopKisvMDExMDEyNDU5OTs6KisrLzAyMTEyMjU2OTo8PTEuLzAyNTU1NjY5OTw9Pj0xLi8wMjU1NjY3OTk9PT9AMC4uLzE1Njg5OTw8QEBBQDAtLi4xNTc4Ojo9PUFBQkMxLS0uMDU4Oj09QEBDREVDMS4uLjE1OTs+PkFCRUVGRjIuLi4xNjk7P0BDQ0dHSUczLy8vMTY6PUBCRUZJSkpKNDAwLzI2Oj1BQkdHS0tNSjYyMTAzNzs+Q0RJSU1OTk42MjIxMzc7PkNESUpOTlFOOTQ0MjQ4PEBFRkxNUlJTUjk0NDM1OT1ARUdNTVJTVVI8NjY0Nzo+QUdIT09VVldWPTg3NTg7P0JISVBRVldYVj85OTc5PEBDSUtSUllaXFpAOjo3Oj1BRElLUlNZWlxaQDs6ODo9QURKS1NTWlteX0I8Ozk7PkJFS0xUVVtcXl9DPTw6Oz9CRkpNUlVbXWBgRD49OjtAQUdITlFWWV5fYEQ+Pjs7QUFHR09PV1dfX2IgHx8eHyEjJSkqMTEwMDExMjM0NjY5OTw9P0BAQkNERB8fHyAhJCYoKisuLi4tLS4uLzAyMjQ0Njg5Ojs8PT4+ICEhISMlJykrKy8vLi4tLi4vMDEyNDQ2Nzk6Ojs8PT4lJiYoKSstLy8vMDAvLi4uLi8vMDEyMzQ1Nzc4OTo6OygpKSorLC4vMDAyMjExMDExMTIzMzQ1Nzg5Ojo7Ozs7MC8vLi4vLy8xMjU1NTU1NTY2Njc3ODk6Ozw9PT4/QEExLy8tLi4uLjExNTU2Nzg5OTo6Ozs8PT4/QEFBQkJBQTEvLy0tLi0tMDE1Njg4Ojs7PT0+PkBAQUJDRERFRkdHMzExLy8vLy4xMjY2OTo9Pj9AQUNDRUVHSElJSktKSEc0MjEwMC8vLzIyNjc5Oj0+QEJCRERGR0hJS0tLTE1OTzk2NjQzMzIyNDU5OTw9QEFDRUdJSUxNT1BSUlNUUlFPOjc2NDQ0MzI1Njk5PD1AQkNGR0lKTU1PUVJTU1VVVlc/PDs5OTg3Njk5PD1AQUNFR0lLTU5SUlVWWVlaW1tZV0A9PDo5OTg3OTo9PUBBREVHSktOTlJTVldaWltcXV5fQz8/PDw7Ojk7PD4/QUJFRklKTU5RU1VXWFxcXl5gX19DQEA9PTw8Ojo9PUBAQ0NGR0pKTk5SUlZWWlpfX2BgYh8wNEAfLzE8IS4wOSYvLzgqMTI5LjU2PS41OUAtNT1ELjZARzA2QksyN0RONDlHUzg7SVc6PUtaPD5MXD5ATl4fHyEmKi4uLS4wMjQ4Ojw+MC8uLzE1NTU2Njc5Oz0+QDQxMC8yNjk9QEJER0lLTE5APDk4OT1AREdLTlNXWlxeICAoMTM5P0MfISkvMTY8Px8hKS8xNjs/HiEqLS80OTwfIysuLzM5PCElLC4vMzg7IycuLi8yNzolKS8uLjI2OSkrMDExNDk7KiswMTI1OTwxLzI1Njk8PjEvMjU2OT0/MC4xNjk8QEEwLjE3Oj1BQjEtMDg9QENFMS4xOT5BRUYyLjE5P0NHSTMvMTpARUlKNDAyOkFHS002MTM7Q0lNTjYyMztDSU5ROTQ0PEVMUlM5NDU9RU1SVTw2Nz5HT1VXPTc4P0hQVlg/OTlASVJZXEA6OkFJUllcQDo6QUpTWl5COztCS1RbXkM8O0JKUltgRD07QUhRWV9EPjtBR09XXyAfHx4fISMlKSoxMTAwMTEyMzQ2Njk5PD0/QEBCQ0REICEhISMlJykrKy8vLi4tLi4vMDEyNDQ2Nzk6Ojs8PT4oKSkqKywuLzAwMjIxMTAxMTEyMzM0NTc4OTo6Ozs7OzEvLy0uLi4uMTE1NTY3ODk5Ojo7Ozw9Pj9AQUFCQkFBMzExLy8vLy4xMjY2OTo9Pj9AQUNDRUVHSElJSktKSEc5NjY0MzMyMjQ1OTk8PUBBQ0VHSUlMTU9QUlJTVFJRTz88Ozk5ODc2OTk8PUBBQ0VHSUtNTlJSVVZZWVpbW1lXQz8/PDw7Ojk7PD4/QUJFRklKTU5RU1VXWFxcXl5gX18gIjFIIjA8TzE8UmhIT2iGICAiJi44RE4gISMnLTZASiIjJy0zOkRMJictNj1FTlYuLTM9R1BaYzg2OkVQXGdxREBETlpndYBOSkxWY3GAjCAfHx8gIiQnLDA2O0FHUFMfICAgICIjJiouMzg+RExOHyAgICAhIiUpLDE2O0FISx8gICEiIyQnKi0yNjtAR0ogICAiIyUmKCouMTU6P0VIIiIhIyUnKi0vMzY6P0RKTCQjIiQmKjAyNjk8QERJT1EnJiUnKC0yNjo9QUVJTlRWLCopKiovNjo/Q0dLT1RaXDAuLC0uMzk9Q0dMUFVaYGM2MzEyMTY8QUdMUldcYWhqOzg2NjU6QEVLUFdcYmducUE+Ozs6P0RJT1VcYmlvdnlHREFAP0RJTlRaYWdvdX2AUExIR0VKT1RaYGhudn2GiVNOS0pITFFWXGNqcXmAiYwgHx8fHx8fICAiIiQkJycsLDAwNjY7O0FBR0dQUFNTVx8gICAgICAgICIiIyMmJioqLi4zMzg4Pj5ERExMTk5THyAgICAgICAgIiIjIyYmKiouLjMzODg+PkRETExOTlMfICAgICAgICAhISIiJSUpKSwsMTE2Njs7QUFISEtLTx8gICAgICAgICEhIiIlJSkpLCwxMTY2OztBQUhIS0tPHyAgICAhISIiIyMkJCcnKiotLTIyNjY7O0BAR0dKSk0fICAgICEhIiIjIyQkJycqKi0tMjI2Njs7QEBHR0pKTSAgICAgIiIjIyUlJiYoKCoqLi4xMTU1Ojo/P0VFSEhLICAgICAiIiMjJSUmJigoKiouLjExNTU6Oj8/RUVISEsiIiIhISMjJSUnJyoqLS0vLzMzNjY6Oj8/RERKSkxMUCIiIiEhIyMlJScnKiotLS8vMzM2Njo6Pz9EREpKTExQJCMjIiIkJCYmKiowMDIyNjY5OTw8QEBERElJT09RUVQkIyMiIiQkJiYqKjAwMjI2Njk5PDxAQERESUlPT1FRVCcmJiUlJycoKC0tMjI2Njo6PT1BQUVFSUlOTlRUVlZaJyYmJSUnJygoLS0yMjY2Ojo9PUFBRUVJSU5OVFRWVlosKiopKSoqKiovLzY2Ojo/P0NDR0dLS09PVFRaWlxcYCwqKikpKioqKi8vNjY6Oj8/Q0NHR0tLT09UVFpaXFxgMC4uLCwtLS4uMzM5OT09Q0NHR0xMUFBVVVpaYGBjY2YwLi4sLC0tLi4zMzk5PT1DQ0dHTExQUFVVWlpgYGNjZjYzMzExMjIxMTY2PDxBQUdHTExSUldXXFxhYWhoamptNjMzMTEyMjExNjY8PEFBR0dMTFJSV1dcXGFhaGhqam07ODg2NjY2NTU6OkBARUVLS1BQV1dcXGJiZ2dubnFxdDs4ODY2NjY1NTo6QEBFRUtLUFBXV1xcYmJnZ25ucXF0QT4+Ozs7Ozo6Pz9ERElJT09VVVxcYmJpaW9vdnZ5eXxBPj47Ozs7Ojo/P0RESUlPT1VVXFxiYmlpb292dnl5fEdEREFBQEA/P0RESUlOTlRUWlphYWdnb291dX19gICER0REQUFAQD8/RERJSU5OVFRaWmFhZ2dvb3V1fX2AgIRQTExISEdHRUVKSk9PVFRaWmBgaGhubnZ2fX2GhomJjVBMTEhIR0dFRUpKT09UVFpaYGBoaG5udnZ9fYaGiYmNU05OS0tKSkhITExRUVZWXFxjY2pqcXF5eYCAiYmMjJBTTk5LS0pKSEhMTFFRVlZcXGNjampxcXl5gICJiYyMkFdTU09PTU1LS1BQVFRaWmBgZmZtbXR0fHyEhI2NkJCVICMzSyAkMkciKjZJJTJBVC04TGA2P1duQUlhfUtRaoggICIlLTZBSyMkKjI4P0lRMzI2QUxXYWpLR0lUYG59iCAfICQsNUFPHyAgIyozPksfICEiKTE7SCAgIiQqMjtHICEjJioxOkUiIiUqMDY/SSQiJjA2PEROJyUoMjpBSVQsKSs1P0dPWjAtLjhDTFVgNTEyPEdSXGc6NjY/S1dibkE8OkRPXGl2R0E/SVRhb31PSEZPWmh2hVJLSFFcanmIIB8fICAiJCcsMDU6QUdPUh8gICAhIiIlKS0xNjxBSEsgICEiIyUmKCsuMjY6P0ZIJCMiJCYqMDI1ODw/RElPUSwqKSoqMDY6P0NHS09UWlw1MzEyMTY8QUdMUldcYWhqQT47Ozo/RElPVVxiaW92eU9LSEdFSU5UWmBnbnZ9hYggHx8gICQkLCw1NUFBT09XHyAgICAjIyoqMzM+PktLUh8gICAgIyMqKjMzPj5LS1IfICAhISIiKSkxMTs7SEhOHyAgISEiIikpMTE7O0hITiAgICIiJCQqKjIyOztHR00gICAiIiQkKioyMjs7R0dNICEhIyMmJioqMTE6OkVFSyAhISMjJiYqKjExOjpFRUsiIiIlJSoqMDA2Nj8/SUlPIiIiJSUqKjAwNjY/P0lJTyQiIiYmMDA2Njw8REROTlQkIiImJjAwNjY8PERETk5UJyUlKCgyMjo6QUFJSVRUWSclJSgoMjI6OkFBSUlUVFksKSkrKzU1Pz9HR09PWlpfLCkpKys1NT8/R0dPT1paXzAtLS4uODhDQ0xMVVVgYGYwLS0uLjg4Q0NMTFVVYGBmNTExMjI8PEdHUlJcXGdnbTUxMTIyPDxHR1JSXFxnZ206NjY2Nj8/S0tXV2Jibm50OjY2NjY/P0tLV1diYm5udEE8PDo6RERPT1xcaWl2dnxBPDw6OkRET09cXGlpdnZ8R0FBPz9JSVRUYWFvb319hEdBQT8/SUlUVGFhb299fYRPSEhGRk9PWlpoaHZ2hYWNT0hIRkZPT1paaGh2doWFjVJLS0hIUVFcXGpqeXmIiJBSS0tISFFRXFxqanl5iIiQV09PTExUVGBgbW18fI2NlSAfHx8fICAgICIiJCQnJywsMDA1NTo6QUFHR09PUlJXHyAgICAgICEhIiIiIiUlKSktLTExNjY8PEFBSEhLS08fICAgICAgISEiIiIiJSUpKS0tMTE2Njw8QUFISEtLTyAgICEhIiIjIyUlJiYoKCsrLi4yMjY2Ojo/P0ZGSEhMICAgISEiIiMjJSUmJigoKysuLjIyNjY6Oj8/RkZISEwkIyMiIiQkJiYqKjAwMjI1NTg4PDw/P0RESUlPT1FRVCQjIyIiJCQmJioqMDAyMjU1ODg8PD8/RERJSU9PUVFULCoqKSkqKioqMDA2Njo6Pz9DQ0dHS0tPT1RUWlpcXGAsKiopKSoqKiowMDY2Ojo/P0NDR0dLS09PVFRaWlxcYDUzMzExMjIxMTY2PDxBQUdHTExSUldXXFxhYWhoamptNTMzMTEyMjExNjY8PEFBR0dMTFJSV1dcXGFhaGhqam1BPj47Ozs7Ojo/P0RESUlP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ICAgICAgIiIjIyUmKCorLi4zNDc4Oz5AREVMTB8gICAgICAgICAiIiMjJSYoKisuLjMzNzg7PkBERUxMHyAgICAgICAgICEhIiIkJicpKi0tMTI1Njk8PkJCSUkfICAgICAgICAhISEiIiQlJikpLCwxMTQ2ODs9QUFISB8gICAgICEhISEiIiMjJSYnKSotLTExNDY4Oz1AQUhIHyAgICAhISEiIiMjJCQmJygqKi0tMTI0Njg7PEBBR0cgICAgICEhIiIiIyMkJSYnKCorLS0xMTQ2ODs8QEBGRiAgICAgISIiIyMlJSYmJygpKisuLjExNDU3Ojs/P0VFICAgICEhIiIjIyUlJiYoKSkrKy4uMTI0Njg6PD9ARkYiIiIhISIjIyUlJycqKiwtLi8wMzM2Njk6PD9ARERKSiIiIiEhIiMjJSUnJyoqLC0uLzAzMzY2OTo8P0BEREpKIyMjIiIjJCQmJioqLi8wMTI0NTc3Ojs9PkBDREhITk4kIyMiIiMkJSYmKiovMDIyNDY2OTk7PD5AQkRFSUlPTyYlJSQkJSYmJygsLDAyMzQ2ODk7Oz4/QUNFR0hMTFJSJyYmJiUmJycoKS0tMTI0Njc6Oj09QEFDRUdJSk5OVFQpKCgnJicoKCkpLi4yNDY3OTw8Pz9DQ0ZHSUtNUFFWViwqKikpKSoqKisvLzQ2ODo8P0BDQ0dHSktNT1FUVVpaLSsrKikqKisrKzAwNTY5OjxAQURESEhLTE5RUlVWW1swLi4tLC0tLS4uMzM3OTs9P0NER0dLTE9QU1VXWltgYDAuLi0sLS0tLi4zMzc5Oz0/Q0RHR0tMT1BTVVdaW2BgNTMzMTExMTExMTY2Ojs+QENHSEtLUVFVVllbXWFhZ2c2NDMyMTEyMTEyNjY7PD9BQ0dITExRUlVXWVxeYWJoaDk3NzU0NDQ0NDQ5OT0+QUNGSktPT1VVWVpdYGJmZmxsOzg4NjY2NjY1Njo6PkBDRUdLTFBQVldaXF9iY2dobm4+Ozs5ODg4ODc4PDxAQkVHSU1OU1NZWV1fYmVna2xyckE+Pjw7Ozs7Ojo/P0NER0lLT1FVVVtcYGJlaWpvb3Z2Q0BAPj09PDw7PEBAREVISk1RUldXXV5iY2dqbHFxeHhHRERCQUBAQD8/RERISUxOUFRVWlphYWZna29xdXZ9fUhFRUJBQUFAP0BEREhJTE5RVVZbW2FiZmhsb3F2d35+UExMSUhIR0ZFRkpKTk9SVFZaW2BgZ2hsbnJ2eH1+hoZQTExJSEhHRkVGSkpOT1JUVlpbYGBnaGxucnZ4fX6GhiAiKz4gIio7ISUsOiMrNkQpMEBPMTZHWzk8TmVCRFZvICAhIykxOUIiIiUrMDY8RCsqLDZAR05WPjs6RE9bZW8gHyAkLDU+SR8gICMqMztFHyAhIikxOUIgICIkKjI5QSAhIyYqMThAIiIlKjA2PUUjIiYvNDtBSSYkKDE4P0VNKScpMzxDSlEsKis2QEhPVjAtLjhDTFNbNTEyPEdSWmM6NjY/S1dfaUE8OkRPXGZwR0E/SVRhbHdPSEZPWmhzfyAfHyAgIiMmKSwwNTpBR08fICAgISIiJCcqLTE2PEFIICAhIiMlJigpKy4yNjo/RiQjIiQmKi8xMzY4PD9ESU8sKikqKjA0ODxAQ0dLT1RaNTMxMjE2Oz9DSExSV1xhaD47OTk4PUFFSk9TWl9mbHNJRUJBQEVJTVFWW2NpcHd/IB8fICAiJCYsLDU1PkFJTx8gICAgIiMlKiszMzw+RksfICAgICIjJSorMzM7PkVLHyAgICAhIyQpKjIyOjxDSR8gICAhISIkKSkxMTk7QkgfICAhISIjJSkqMTE5O0JHICAgISIjJCYqKzIyOTtBRyAgICIiIyUmKisxMTg7QUYgICEiIyUmJyorMTE4OkBFICEhIiMlJygrLDIyODpARSIiIiQlJyosMDA2Nj0/RUkiIiIkJScqLDAwNjY9P0VJIyIiJSYqLzA0NTs7QUNJTSQjIiUmKzAxNjY8PEJESk4mJCQmKCwxMzg5Pz9FR01RJyYlKCgtMjQ6OkFBR0lPVCknJykpLjM2PDxDQ0pMUVYsKSkqKzA1OD9AR0dOT1VaLCoqKyswNjhAQEhIT1FWWzAtLS4uMzg7Q0NMTFNVW2AwLS0uLjM4O0NDTExTVVtgNTExMTE2Oz5HR1FRWVtiZzUyMTIyNjw/R0hSUlpcY2c5NTQ0NDk+QUpLVVVeYGdsOjY2NjY6P0NLTFdXX2Jpbj05OTg4PEJFTU5ZWWJlbHJBPDw7Oj9ER09QXFxmaXB2Qz49PDxARUhRUl5eZ2pyeEdCQUA/RElMVFVhYWxvd31IQkJAQERJTFVWYmJsb3d9T0lIR0ZKT1JaW2ho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KCorLC8vLy8wMC8vLi0uLi4vLzAwMTIzNDQ3NykqKioqKy0tLy8wMDIyMjExMTEyMjIyMzQ0NTY3Nzk5KSoqKiorLS0vLzAwMjIyMTExMTIyMjIzNDQ1Njc3OTkvLi4uLS4vLy8wMjI0NDQ0NDQ0NTU1NTY3Nzg4Ojo8PDEwLy8uLy8vMDAyMjQ1NTU1NTU2NjY2Nzc4ODk6Ojw8MS8vLi4uLi8vLzIyNDU1NjY3Nzc3ODg5OTo6Ozw8Pj4wLy8uLS4uLi4vMTE0NTY2Nzc4ODg5OTo6Ozw8PT4/PzEvLy4tLS4uLi4xMTQ1Njc3OTk6Ojs7PDw9PT4/P0FBMS8vLS0tLS0tLTExNDU3Nzk6Ozw8PT0+Pj8/QEFBQ0MxLy8uLS0tLS0uMTE0NTc4OTs7PDw9PT4/P0BBQkJERDIwMC8uLi4uLi4yMjU2Nzg6PDw9PT8/QUFCQ0NERUdHMjAwLy4uLi4uLjIyNTY3ODo8PD09Pz9BQUJDQ0RFR0c0MjEwLy8vLy4vMjI1Njg5Oz09Pz9CQkNERUZHSEhKSjQyMjAvLy8vLy8yMjU2ODk7PT0/P0JCRERFRkdISUtLNjMzMjExMTAwMDMzNjc5Ojw+PkFBQ0RFRkdISUpLTU02NDQyMTExMTAwNDQ3Nzk6PD4/QUFEREZHSElKS0xOTjg1NTMzMjIyMTE0NDc4Ojs9Pz9CQkVFR0hJS0tNTVBQOTY2NDQzMzMyMjU1ODg6PD0/QENDRkZISUtMTU9PUlI6Nzc1NDQ0MzIzNjY4OTs8PkBBQ0NHR0lKS01OUFBTUzw5OTc2NjU1NDQ3Nzo6PD0/QUJEREhISktNT1BSUlVVPDk5NzY2NjU0NDc3Ojo8Pj9BQkVFSElLTE1PUFJSVVU/PDw6OTk4NzY3OTk8PD4/QUNER0dKS01OUFJTVVVZWT88PDo5OTg3Njc5OTw8Pj9BQ0RHR0pLTU5QUlNVVVlZHyovNiEsLTMoLy4yLzI2OS0xO0AwMj1GMzQ/Szc3Qk8fISgvLTAzNyosLzIxMjQ3Ly0uNjs9P0I2MzI5QEZLTyAfJTAxNDg9Hx8mLy8yNTkeICguLTAzNyEkKy8uLzI2JSgvLy0vMTQqKy8yMTI1OC8uMDQ1NTc6MC4vNTc4Oj0wLS41OTs9PzEtLjU6PkBCMi4uNjtAQkU0MC82PUJGSTYyMTc+REhMOTQyOEBGS088NjQ6QUhNUj85NzxDS1BWIB8eISUqLzAwMTI0Njk8Px8fICQoKy4uLS0uMDI0NjklJigrLy8wLy4uLi8xMjQ3MC8uLy8yNDU1NTY2Nzg6PDEvLS4tMTU3OTo7PT5AQUM0MjAvLzI1ODs+QEJERkhLODUzMjE1Nzo9QEJGSEtNUD05NzY0ODo9P0JFSUxPUlYgHx8jJSowMDExNDQ4OT0/Hx8fJCYqLy8vLzIyNjY6PB8fHyQmKi8vLy8yMjU2OTweICAlJyouLi4uMDA0NDg6HiAgJSgqLi4tLTAwMzQ3OSAhIicpLC4uLS0wMDMzNjkhIyQoKy0vLi4uLy8yMzY4IiUlKiwtLy8tLi8vMjM1NyUoKC0vLy8vLS4vLzEyNDYlKCgtLy8wLy4uLy8xMjU3KisrLi8wMjIxMTIyNTU4OSorKy4vMDIyMTEyMjU1ODkvLi4vMDI0NDU1NTU3ODo8MS8uLzAyNTU1NjY2ODk7PDAuLi8vMjU1Nzc4ODo6PT4wLi4uLzI1Njg4OTk7PD5AMC4tLi4xNTY5OTs7PT0/QTEtLS0uMTU3Ojs9PT9AQkMxLi0uLjE1Nzo7Pj5AQEJEMi8uLi4yNjc7PEBAQkNFRzIvLi4uMjY3OzxAQEJDRUc0MDAvLzI2OD09QkJFRkhKNDAwLy8yNjg9PUJCRkdJSzUyMTAwMzc5Pj5EREdIS002MjIxMTQ3OT4/RERISUxONzMzMjE0ODo/P0VFSktOUDk0NDMyNTg6QEBGRktMT1I6NTUzMzY5O0BBR0dMTVBTPDc2NTQ3OjxBQkhITU9SVTw3NzU1Nzs8QUJJSU5PU1U/Ojk4Nzo8PkNES0tQUlZZPzo5ODc6PD5DREtLUFJWWSAfHx4eICEiJSUqKi8xMDAwMTEyMjQ0NTY3OTo8PD8/Hx8fICAhIyUoKCsrLi8uLi4tLi8vMDAyMjM0NTc3OjofHx8gICIkJSgoKysuLi4uLS0tLi4wMDEyMzQ1Njc5OSMkJCUlJygqLS0uLi8vLy4uLS4uLi8vMDEyMzM1NTg4JSYmJygpKywvLy8vMDAvLy4uLi4uLy8wMTEyMzQ1NzcqKioqKiwtLS8vMDAyMjIyMTExMjIyMjM0NDU2Nzc6OjAvLy4uLi8vLzAyMjQ1NTU1NTU2NjY2Nzc4ODk6Ozw8MC8vLi4uLi8vLzIyNDU1NjY3Nzc3ODg5OTo6Ozw8Pj4xLy8uLS0uLS0uMTE1NTc4OTo6Ozs9PT4+P0BAQUFDQzEvLy4tLS4uLi4xMTU2Nzg5Ozs8PD09Pj8/QEFCQkRENDIyMDAwLy8vLzIyNTY4OTs9PkBAQkJEREVGR0hJS0s0MjIwMDAvLy8vMjI1Njg5Oz0+QEBCQkRERUZHSElLSzg2NTQzMzIyMTE1NTc4Ojs9P0BCQkVGR0hKS0xNTlBQOTY2NDQzMzMyMjU1ODk6PD1AQENDRkdISUtMTU9PUlI9Ojk4NzY2NTQ1ODg6Oz0+P0JCRUVISUtMTk9QUlNWVj88PDo5OTg3Njc5OTw8PkBBQ0RHR0pLTU5QUlNVVVlZHyoxOR8qLzYgKi00Iy0uMygvLjIrMDE1LjI1OC4yNzouMTk9LjE7QC8yPEMwMj1HMjQ/STQ1QEw3N0JPOjpEUh8fICMoKy4uLi4vMDI0NzoqKiotLzAyMjExMjI0NTc6MS8tLi4xNTc5Ozw9P0BCRDk2NDMyNTg6PUBDR0lMT1IgHyUwMTQ4PR8fJi8vMjY6Hx8mLy8yNTkeICcuLjA0OB4gKC4tMDM3ICIpLi0wMzYhJCsvLi8yNiIlLC8tLzI1JSgvLy0vMTQlKC8wLi8xNSorLzIxMjU4KisvMjEyNTgvLjA0NTU3OjEuMDU1Njg7MC4vNTc4Oj0wLi81ODk7PjAtLjU5Oz0/MS0uNTo9P0IxLS41Oj5AQjIuLjY7QEJFMi4uNjtAQkU0MC82PUJFSDQwLzY9QkZJNTEwNz5ER0s2MjE3PkRITDczMTg/RUpOOTQyOEBGS086NTM5QEdMUDw2NDpBSE1SPDc1O0FJTlM/OTc8Q0tQVj85NzxDS1BWIB8fHh4gISIlJSoqLzEwMDAxMTIyNDQ1Njc5Ojw8Pz8fHx8gICIkJSgoKysuLi4uLS0tLi4wMDEyMzQ1Njc5OSUmJicoKSssLy8vLzAwLy8uLi4uLi8vMDExMjM0NTc3MC8vLi4uLy8vMDIyNDU1NTU1NTY2NjY3Nzg4OTo7PDwxLy8uLS0uLS0uMTE1NTc4OTo6Ozs9PT4+P0BAQUFDQzQyMjAwMC8vLy8yMjU2ODk7PT5AQEJCRERFRkdISUtLODY1NDMzMjIxMTU1Nzg6Oz0/QEJCRUZHSEpLTE1OUFA9Ojk4NzY2NTQ1ODg6Oz0+P0JCRUVISUtMTk9QUlNWViAhKjchJi45Ki4/Szc5S1wfICAiJi40PyAgICIlLDE7ICAjJSgtMToiIiUqLzQ4QSYlKC82PEFJLiwtNDxFS1Q0MTE4QUtSXD87OkFJVFxpIB8fHyAgIiQmKSwwNjo9QR8gICAgICIjJigqLjM3Oj4fICAgICAhIiUmKSwxNTg7HyAgISEhIyQmKCotMTU4OyAgICEiIiQlJygqLTE1NzsgICAhIiMlJigpKi4xNDc6IiIhIyQlJyosLi8zNjk8PyQjIiQlJiowMjQ2OTw/QUQmJiUmJygsMjQ2OTxAQ0VIKSgmKCgpLjQ2OTw/Q0ZJSywqKSoqKi82OTw/Q0dKTU8wLiwtLS4zOTw/Q0dMT1JVNjMxMTExNjxAQ0dMUlZZXDo3NTU1NDk/Q0ZKT1ZaXWE9Ojg4Nzc8QUVJTVJZXWFlQT47Ozs6P0RIS09VXGFlaSAfHx8fHx8fICAgISIiJCQmJyksLC8wMjY2Ojs9QUFGHx8fICAgICAgICAhIiIjIyYmKCoqLi8xNDQ4OTs/P0MfHyAgICAgICAgICEiIiMjJiYoKiotLjAzMzc4Oj4+Qx8gICAgICAgICAgISIiIyMlJicqKi0tLzIyNjc5PT1BHyAgICAgICAgICAhISIiIiUlJikpLCwuMTE1Njg7O0AfICAgICAgICAgICEhIiIiJSUmKSksLC4xMTU2ODs7QB8gICAgICEhISEhIiMjJCQmJygqKiwtLzExNTY4Ozs/HyAgICAgISEhIiIjIyQkJCYnKCoqLS0vMjI1Njg7Oz8gICAgICAhISIiIiMkJCUlJycoKiotLS8xMTU2Nzs7PyAgICAgICEiIiMjJCUlJiYoKCkqKi0uLzExNDU3Ojo+ICAgICAgISIiIyMkJSUmJigoKSoqLS4vMTE0NTc6Oj4hISEhISEiIyMkJCYnKCoqKywtLi4xMjM1NTg5Oz4+QiIiIiIhISMjJCUlJycpKiosLS4vLzIzNDY2OTo8Pz9DIiIiIiIiIyQkJSUoKSotLS4vMDIyNDU2ODg7PD5BQUUkIyMjIiIkJCUmJioqLTAwMjI0NjY4OTo8PD9AQURESCQjIyMiIiQkJSYmKiotMDAyMjQ2Njg5Ojw8P0BBRERIJiYmJSUlJiYnKCgrLC4yMjQ1Njk5Ozw9QEBDREVISEwnJiYmJSUnJycoKCwtLzIyNTY3Ojo8PT5BQURFRklJTSkoKCcmJigoKCkpLS4wNDQ2Nzk8PD4/QUNDRkdJS0tPLCoqKikpKioqKiouLzI2Njk6PD8/QkNER0dKS01PT1MsKioqKSkqKioqKi4vMjY2OTo8Pz9CQ0RHR0pLTU9PUy8uLS0sLCwtLS0tMTI0ODg7PD5CQkVGSEtLTk9RVFRYMC8uLSwsLS0tLi4yMzU5OTw9P0NDRkdJTExPUFJVVVkyMTAvLi4vLy8vLzM0Njo6PT5BRERISUtOTlJTVVhYXDY0MzIxMTEyMTExNTY4PDxAQUNHR0tMTlJSVldZXFxgNjQzMjExMTIxMTE1Njg8PEBBQ0dHS0xOUlJWV1lcXGA6ODc2NTU1NTU0NDg5Oz8/Q0RGSkpOT1JWVlpbXWFhZTs5ODc2NjY2NjU1OTo8QEBERUdLS09QU1dXW1xeYmJmPTs6OTg4ODg3Nzc7PD5BQUVGSU1NUVJVWVldXmFlZWlBPz49Ozs7Ozs6Oj4/QURESElLT09UVVhcXGFiZWlpbUE/Pj07Ozs7Ozo6Pj9BRERISUtPT1RVWFxcYWJlaWltRkNDQUBAPz8/Pj5CQ0VISExNT1NTWFlcYGBlZmltbXIgICo4ICEpNSAjKjQiJTI7Jig6RCwtQk4yMkdWPTpPYSAgICImLDI9ICEjJSgtMjoqKSoyOkJHTzg1NDtETlZhIB8gIycsNUEfICAjJiozPh8gISIlKTE7HyAiIyYqMTsgICIkJyoxOiAhIyUoKjE6IiIlKSwwNj8kIiYuMjY8RCYlKC80OUBIKScpMTY8Q0wsKSszOT9HTzAtLjY8Q0xVNTEyOUBHUlw5NTU8Q0pWYT04OD9FTVlkQTw6QkhPXGkgHx8fICAiJCYpLDA1OT1BHyAgICAhIiIlJyktMTU4PCAgISIiIyUmKCkrLjI1ODojIyIjJCUpLi8xMzY5PD9CJyYlJicoLDI0Njk8QENFSCwqKSoqKjA2OTw/Q0dKTU81MzExMTE2PEBDR0xSVllcQT47Ozo6P0RITE9VXGFkaSAfHx8gICMkJywsMzU6QUEfICAgICAjIyYqKjE0OD8/HyAgICAgIyMmKioxMzc+Ph8gICAgICIjJSkpMDI2PT0fICAgISEiIiUpKS8xNTs7HyAgICEhIiIlKSkvMTU7Ox8gICEiIiMkJioqMDE1OzsgICAhIiIkJCYqKjAyNTs7ICAgISIiJCUnKiowMTU6OiAgISIjIyUmKCoqMDE0OjogICEiIyMlJigqKjAxNDo6ISEhIyQkKCkrLi40NTg+PiIiIiMlJSkqLDAwNTY5Pz8iIiIjJSUrLC4yMjc4O0FBJCMiJCYmLjAyNjY6PD9ERCQjIiQmJi4wMjY2Ojw/REQmJSUmKCgvMjQ5OT5AQ0hIJyYlJygoMDI1Ojo/QURJSSknJygpKTEzNjw8QkNGTEwsKSkqKyszNTk/P0VHSk9PLCkpKisrMzU5Pz9FR0pPTy8sLCwtLTU4O0JCSUtOVFQwLS0tLi42ODxDQ0pMT1VVMi8uLy8vNzo9RERMTlJYWDUyMTIyMjk8QEdHT1JWXFw1MjEyMjI5PEBHR09SVlxcOTY1NTU1PD9DSkpTVlphYTo3NjY2Nj0/REtLVFdbYmI9OTg4ODg/QUVNTVZZXWRkQT08Ozo6QkRIT09ZXGFpaUE9PDs6OkJESE9PWVxhaWlGQUA/Pj5GSExTU11gZW1tIB8fHx8fHyAgICAhIiIkJCYnKSwsLzAyNTU5Oj1BQUYfICAgICAgICAgICEiIiMjJSYnKSksLS8yMjY3OT09QR8gICAgICAgICEhISIiIiIlJScpKSwtLjExNTY4PDxAHyAgICAgISEhIiIjIyMkJCYnKCoqLC0vMjI1Njg7Oz8gICAgISEiIiIjIyQlJSYmKCgpKystLi8yMjU2ODo6PiAgICAhISIiIiMjJCUlJiYoKCkrKy0uLzIyNTY4Ojo+IyMjIiIiIyQkJSUoKSsuLi8wMTMzNTY3OTk8PT9CQkYkIyMjIiIkJCUmJikqLDAwMjIzNTU4ODo8PD8/QURESCcmJiUlJSYmJygoKywuMjI0NTY5OTs8PUBAQ0RFSEhMLCoqKSkpKioqKiouMDI2Njk6PD8/QkNER0dKS01PT1MsKiopKSkqKioqKi4wMjY2OTo8Pz9CQ0RHR0pLTU9PUzMxMTAvLzAwMDAwNDU3Ojo+P0JFRUlKTE9PU1RWWVldNTQzMjExMTIxMTE1Njg8PEBBQ0dHS0xOUlJWV1lcXGA6ODc2NTU1NTU0NDg5Oz8/Q0RGSkpOT1JWVlpbXWFhZUE/Pj07Ozs7Ojo6Pj9BRERISUxPT1RVWFxcYWJkaWltQT8+PTs7Ozs6Ojo+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HyAgICAgICAgICAgISEhIiIiJCUlKCkpLCwtMTEyNjYfICAgICAgICAhISEhIiIiIyMkJiYoKSksLS0xMTI2Nh8gICAgICAhISEiIiIjIyMkJCYnJykqKiwtLjEyMzY2HyAgICAgICEhISIiIiMjJCQkJicnKSoqLS0uMTIzNjYgICAgICAhISEiIiIjIyMkJSUmJycpKiotLS4xMTM2NiAgICAgICEiIiIjIyQlJSUmJicoKCoqKy0uLjExMjU1ICAgICAgISIiIiMjJCUlJSYmJygoKiorLS4uMTEyNTUgISEhISEhIiIjJCQkJiYnKCgpKiosLC0vLzAzMzQ3NyIiIiIhISIjIyMlJSYnJykqKiwtLS8vMDIzMzY2Nzo6IiIiIiEhIiMjIyUlJicnKSoqLC0tLy8wMjMzNjY3OjojIiIiIiIiIyQkJSUnKSkrLS0vLy8xMjM1NTY5OTo9PSQjIyMiIiMkJCUmJigqKi0wMDIyMjU2Njg5OTs8PUBAJCMjIyIiIyQkJSYmKCoqLTAwMjIyNTY2ODk5Ozw9QEAmJSUlJCQkJiYmJycpLCwvMjIzNDQ3ODg6Ozw+P0BDQycnJiYlJSYnJycoKCotLS8yMjQ2Njg6Ojw9PkBBQkVFJycmJiUlJicnJygoKi0tLzIyNDY2ODo6PD0+QEFCRUUqKSkpKCgoKSkpKiosLy8xNTU3ODg8PT5AQUJFRUZJSSwrKiopKSkqKioqKiwvLzI2Njg6Oj0/QEJDREdHSEtLLCsrKikpKSoqKisrLTAwMzY2ODo6PkBAQkNER0hJTEwvLi0tLCwsLC0tLS0vMjI1ODg6PDxAQkJFRkdKS0xPTzAvLi4tLC0tLS0uLi8zMzU5OTs9PUFDQ0ZHSEtMTVBQMTAvLy4tLS4uLi4uMDMzNjk5PD4+QkRER0hJTU1OUVE1MzMzMTExMTExMTEzNjY5Ozs+QEBFR0dKS01RUVNWVjY0MzMyMTEyMjExMTM2Njk8PD9BQUVHSEtMTVFSU1dXNzU1NDMyMjMzMzIyNDc3Oj09QEJCRkhJTE1OU1NVWFg7OTg4NjY2NjY2NTU3Ojo9QEBDRUVJS0xPUFFWV1hcXDs5ODg2NjY2NjY1NTc6Oj1AQENFRUlLTE9QUVZXWFxcICAlNCAhJDEgIiYxIiUsNiMmMTwoKjdFLi47TDQzQFMgICAi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KCotLh8gICAgICAhIiIjJicqLS0fICAgICAgISEiIiUmKSwsHyAgICEhISIjJCQnKCosLR8gICAhISIiIyQkJygqLS0gICAgISIjJCUmJigpKi0uICEhISIiJCQmJygqKywvLyIiIiEjIyUmJyoqLS4vMjMjIyIiJCQmJyouLzEyNDc3JCMjIiQkJigqLzAyNDY4OScmJiUnJygqLTEyNjc6PD0pKCcmKCgpKy4yNDc5PD4/LCoqKSoqKiwvNDY6PD9CQy8tLSwsLS0vMjc4PD5CRUYwLi0sLS0uLzM3OT0/Q0ZHIB8fHx8fHx8fHx8gICAgIiIiIyQkJicnKSwsLS8wMDMfHx8fHx8fICAgICAgICEiIiIjIyMlJycoKyssLi8vMh8fICAgICAgICAgICAgISIiIiMjIyUmJigqKistLi4xHx8gICAgICAgICAgICAhIiIiIyMjJSYmKCoqKy0uLjEfHyAgICAgICAgICAgICEiIiIiIyMkJiYnKioqLS0tMB8fICAgICAgICAgICAgISEhIiIiIiQlJSYpKSksLCwvHx8gICAgICAgICAgICAhISEiIiIiJCUlJikpKSwsLC8fICAgICAgICAgICEhISEiIiIiIyMkJiYnKSkqLC0tLx8gICAgICAgISEhISEhIiMjIyQkJCUnJygqKiosLS0wHyAgICAgICAhISEhIiIiIyMjJCQkJicnKCoqKi0tLTAfICAgICAgICEhISEiIiIjIyMkJCQmJycoKioqLS0tMCAgICAgICAhISEhIiMjIyQkJCUlJScoKCkqKistLS0wICAgICAgICEhIiIjIyMkJSUlJiYmJygoKSoqKy0uLjAgICAgICAgISEiIiMjIyQlJSUmJiYnKCgpKiorLS4uMCAhISEhISEhIiIiIyQkJCYmJicoKCkqKissLC0vLy8yIiIiIiIhISIjIyMkJSUmJycoKioqLC0tLi8vMDIzMzUiIiIiIiEhIiMjIyQlJSYnJygqKiosLS0uLy8wMjMzNSIiIiIiIiIiIyMjJCUlJigoKSssLC0uLi8xMTEzNDQ2IyMjIyIiIiIkJCQlJiYnKiorLi8vMDExMjQ0NTc3NzkkIyMjIyIiIyQkJCUmJigqKiwvMDAyMjI0NjY2ODk5OiQjIyMjIiIjJCQkJSYmKCoqLC8wMDIyMjQ2NjY4OTk6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MjIyMx8fHx8fHx8fISIiJCUlJyoqKy8wMDAvLy8vLzAxMTEyHx8fHx8fHyAiIiIlJiYoKiorLi8vLy8vLy8vLzAwMDEfHx8fHx8fICIiIiUmJigqKisuLy8vLy8vLy8vMDAwMR8fHx8fHx8gIiMjJScnKCoqKy4vLy4uLi4uLi4vLy8wHh8fHx8gICAiIyMmKCgpKiorLS4uLi0tLS0tLS4uLi8eHx8fHyAgICIjIyYoKCkqKistLi4uLS0tLS0tLi4uLx8fICAgICAhIyQkJigoKSsrKy4uLi4tLS0tLS0uLi4vISEiIiIiIiMlJiYpKiorLCwtLi8vLi4uLi0tLS4uLi8hIiIiIyMjJCYnJykrKywtLS0vLy8uLi4uLS0tLi4uLyEiIiIjIyMkJicnKSsrLC0tLS8vLy4uLi4tLS0uLi4vIyQlJSUmJiYpKSksLi4uLi4uLy8vLy4uLi0tLS4uLi8kJSYmJygoKCorKy4vLy8vLy8vMDAvLi4uLS0tLi4uLiQlJiYnKCgoKisrLi8vLy8vLy8wMC8uLi4tLS0uLi4uJicoKCgpKSkrLCwuLy8vMDAwMDExMDAwLy8vLy8vLzApKioqKioqKywtLS4vLzAwMDEyMjIyMTExMTExMjIyMikqKioqKiorLC0tLi8vMDAwMTIyMjIxMTExMTEyMjIyKysrKysrKystLS0uLy8wMTExMjMzMjIyMjIyMjIyMjMvLy4uLi0tLi4vLy8vLzAyMjI0NDQ0NDQ0NDQ0NTU1NTEwLy8vLi4uLy8vLzAwMTIyMzQ1NTU1NTU1NTU2NjY2MTAvLy8uLi4vLy8vMDAxMjIzNDU1NTU1NTU1NTY2NjYxMC8vLi4uLi4uLi8vLzAyMjI0NTU1NjY2Nzc3Nzc3ODAvLy8uLS0tLi4uLi4uMDExMjQ1NTY2Njc3Nzg4ODg5MC8vLy4tLS0uLi4uLi4wMTEyNDU1NjY2Nzc3ODg4ODkxLy8vLi0tLS4uLi4uLi8xMTI0NTU2Nzc3OTk5OTo6OjEvLy8uLS0tLS0tLS0tLzExMjQ1NTc3Nzk6Ojs7PDw8MS8vLy4tLS0tLS0tLS0vMTEyNDU1Nzc3OTo6Ozs8PDwxMC8vLi0tLS0tLS0tLS8xMTI0NTU3ODg5Ozs7PDw8PTIxMDAvLi4uLi4uLi4uLzIyMjU2Njc4ODk7Ozw9PT0+MjEwMC8uLi4uLi4uLi4vMjIyNTY2Nzg4Ojw8PD09PT8yMTAwLy4uLi4uLi4uLi8yMjI1NjY3ODg6PDw8PT09PzMyMTEwLy8vLy8vLy4uMDIyMzU2Njg5OTo8PD0+Pz9AHyYvMB8oLi0jKy8uJy8vLSsvMjIvLzU3Li41OjAuNjsfHyMnKy8uMCYoKy8vLy4uLy4vLzI1NTYwLS4tMjc6OyAfISUtMDEyHx8iJi0vLzAfICInLS4uLx4gIygsLi0uISMlKi4vLS4hJCYrLi8uLiUoKy8vLy0uJykrLzAwLy8qKywvMTIxMi8uLjAzNDU1MS4vMDQ1NTYwLi4vMzU4ODAtLi4zNTk5MS0tLjM1OjsyLi4uNDY7PTIuLi40Njs9IB8fHiEhJScqLzEwMDEyMh8fICAjJCgpKy4uLi0tLi4hIiIjJSYrKywuLy4uLS4uJSYnKCorLy8vMDAvLi4uLi0tLSwuLi8wMTM0MzMzNDQwLy4uLy8vMDI0NTU1NTY2MS8uLS0uLS8xNTU4OTo7OzIwLy4uLi4vMjU2ODk7PT0gHx8fISUlJi0wMDExMTI0Hx8fHyEmJictLy8wMDAxMx8fHx8iJiYoLS8vLy8vMDIfHx8fIiYmKC0vLy8vLzAyHx8gICInJygtLi4uLi4vMR4fICAjKCgpLC4uLS0tLjAeHyAgIygoKSwuLi0tLS4wHyAhISMoKCktLi4tLS0uMCEiIyMlKiorLi8vLi0tLi8hIyQkJisrLC4vLy4uLi4vISMkJCYrKywuLy8uLi4uLyMlJiYpLS0uLy8vLi0tLi8lJygoKy8vLy8vLy4tLS4vJScoKCsvLy8vLy8uLS0uLycoKSkrLy8vMDAwLy8vLzAqKisrLC8vMDEyMjExMTIyKiorKywvLzAxMjIxMTEyMisrKystLy8wMjIyMjIyMjMvLi4uLjAwMDM0NDQ1NTU1MS8uLi8wMDE0NTU1NTU2NjEvLi4vMDAxNDU1NTU1NjYwLy4uLi8vMDQ1NTY3Nzc4MC8uLi4vLzAzNTU2ODg4OTAvLi4uLy8wMzU1Njg4ODkwLy0tLi4uLzM1NTc5OTk7MS4tLS0uLi8zNTU4Ojo7PTEuLS0tLi4vMzU1ODo6Oz0xLy0tLS4uLzQ1NTg6Ojw+MjAuLi4uLjA0NjY5Ozs9PzIwLi4uLi4wNDY2OTs7PUAyMC4uLi4uMDQ2Njk7Oz1AMzEvLy8vLzA0NjY6PDw+QSAfHx8fHh4fISEhIyUlJyoqKy8xMTAwMDAxMTEyMjIzHx8fHx8fHyAiIyMlJycoKiorLi8vLy8vLy4uLzAwMDEfHx8fICAgISMkJCYoKCkrKysuLi4uLi4tLS0tLi4uLx8fHx8gICAhIyQkJigoKSsrKy4uLi4uLi0tLS0uLi4vISEiIiIjIyMlJiYpKysrLCwtLi8vLi4uLi0tLS4uLi8lJiYmJygoKCorKy0vLy8vLy8wMDAvLy8uLi4uLi4uLyUmJiYnKCgoKisrLS8vLy8vLzAwMC8vLy4uLi4uLi4vJicoKCgpKSkrLCwuLy8vMDAwMDExMDAwLy8vLzAwMDAtLS0tLSwsLS4uLi8vLzAxMTIzNDQ0MzMzMzM0NDQ0NDAvLy8uLi4uLy8vLy8vMDIyMjQ1NTU1NTU1NTU2NjY2MC8vLy4uLi4vLy8vLy8wMjIyNDU1NTU1NTU1NTY2NjYxMC8vLi0tLS4uLi4uLi8xMTI0NTU2NjY3ODg4OTk5OjEwLy8uLS0tLS4uLS0tLzExMjU1NTc4ODk6Ojo7Ozs8MTAvLy4tLS0tLi4tLS0vMTEyNTU1Nzg4OTo6Ojs7OzwyMTAwLy4uLi4uLi4uLi8yMjI1NjY3ODg5Ozs8PT09PjQzMjIxMDAwLy8vLy8vMDIyMzU2Njg5OTs9PT4/QEBBHyUwMR8mLy8fJy4uHyguLSIqLy0jKy8uJy8vLSgvMC8qLzIxLjA0NS8wNTUvLzU4Ly41OS4uNTowLjY7MC42Ox8fHx8iIycoKi4vLy8uMDAlJicoKisvLy8wMC8uLi4uMC8uLi8vLzAyNDU1NTU2NjEvLi0tLi0vMTU1ODk6OzsgHyElLTAxMh8fISYtLzAxHx8iJi0vLzAfHyImLS8vMB8gIictLi4vHiAjKCwuLS4eICMoLC4tLh8hIygtLi0uISMlKi4vLS4hJCYrLi8uLiEkJisuLy4uIyYpLS8vLS4lKCsvLy8tLiUoKy8vLy0uJykrLzAwLy8qKywvMTIxMiorLC8xMjEyKystLzIyMjIvLi4wMzQ1NTEuLzA0NTU2MS4vMDQ1NTYwLi4vNDU3NzAuLi8zNTg4MC4uLzM1ODgwLS4uMzU5OTEtLS4zNTo7MS0tLjM1OjsxLS0uNDU6PDIuLi40Njs9Mi4uLjQ2Oz0yLi4uNDY7PTMvLy80Njw+IB8fHx8eHh8hISEjJSUnKiorLzExMDAwMDExMTIyMjMfHx8fICAgISMkJCYoKCkrKysuLi4uLi4tLS0tLi4uLyEhIiIiIyMjJSYmKSsrKywsLS4vLy4uLi4tLS0uLi4vJSYmJicoKCgqKystLy8vLy8vMDAwLy8vLi4uLi4uLi8tLS0tLSwsLS4uLi8vLzAxMTIzNDQ0MzMzMzM0NDQ0NDAvLy8uLi4uLy8vLy8vMDIyMjQ1NTU1NTU1NTU2NjY2MTAvLy4tLS0tLi4tLS0vMTEyNTU1Nzg4OTo6Ojs7OzwyMTAwLy4uLi4uLi4uLi8yMjI1NjY3ODg5Ozs8PT09PiAgIiYgISMnIiMnLSYnLTYfHyAgISIlKR8gICAhIiQnICAgISIjJSggICEiIyQmKSEhIiMlJyksIiIjJCcrLjElJCUmKS4zNiknKCksMTY6IB8fHx8fHyAgIiIkJCcnLB8gICAgICAgICIiIyMmJiofICAgICAgICAiIiMjJiYqHyAgICAgICAgISEiIiUlKR8gICAgICAgICEhIiIlJSkfICAgICEhIiIjIyQkJycqHyAgICAhISIiIyMkJCcnKiAgICAgIiIjIyUlJiYoKCogICAgICIiIyMlJSYmKCgqIiIiISEjIyUlJycqKi0tLyIiIiEhIyMlJScnKiotLS8kIyMiIiQkJiYqKjAwMjI2JCMjIiIkJCYmKiowMDIyNicmJiUlJycoKC0tMjI2NjonJiYlJScnKCgtLTIyNjY6LCoqKSkqKioqLy82Njo6PyAfHx8fHx8fHx8fHx8gICAgISIiIiMkJCQlJycnKSwsHx8fHx8fHx8fICAgICAgICAhIiIiIiMjIyUnJycpKysfHyAgICAgICAgICAgICAgICEiIiIiIyMjJSYmJigqKh8fICAgICAgICAgICAgICAgISIiIiIjIyMlJiYmKCoqHx8gICAgICAgICAgICAgICAhIiIiIiMjIyUmJiYoKiofHyAgICAgICAgICAgICAgICEiIiIiIyMjJCYmJicpKR8fICAgICAgICAgICAgICAgISEhISIiIiIkJSUlJykpHx8gICAgICAgICAgICAgICAhISEhIiIiIiQlJSUnKSkfHyAgICAgICAgICAgICAgICEhISEiIiIiJCUlJScpKR8gICAgICAgICAhISEhISEhIiIiIiMjIyMlJiYmKCkpHyAgICAgICAgISEhISEiIiIiIyMjJCQkJCYnJycoKiofICAgICAgICAhISEhISIiIiIjIyMkJCQkJicnJygqKh8gICAgICAgICEhISEhIiIiIiMjIyQkJCQmJycnKCoqICAgICAgICAgISEhISIiIiIjJCQkJCUlJSYoKCgpKiogICAgICAgICAhIiIiIiMjIyQlJSUlJiYmJygoKCkqKiAgICAgICAgICEiIiIiIyMjJCUlJSUmJiYnKCgoKSoqICAgICAgICAgISIiIiIjIyMkJSUlJSYmJicoKCgpKiohISEhISEhISEiIiIiIyQkJCUmJiYnKCgoKSoqKiwtLSIiIiIiIiEhISIjIyMkJSUlJicnJykqKiosLS0tLi8vIiIiIiIiISEhIiMjIyQlJSUmJycnKSoqKiwtLS0uLy8iIiIiIiIhISEiIyMjJCUlJSYnJycpKioqLC0tLS4vLyMiIiIiIiIiIiMkJCQkJSUlJykpKSstLS0uLy8vMTIyJCMjIyMjIiIiIyQkJCUmJiYoKioqLTAwMDEyMjI0NjYkIyMjIyMiIiIjJCQkJSYmJigqKiotMDAwMTIyMjQ2NiQjIyMjIyIiIiMkJCQlJiYmKCoqKi0wMDAxMjIyNDY2JSUlJSUkJCQkJSYmJiYnJycpLCwsLjExMTM0NDQ2ODgnJyYmJiYlJSUmJycnKCgoKCotLS0vMjIyNDY2Njg6OicnJiYmJiUlJSYnJycoKCgoKi0tLS8yMjI0NjY2ODo6JycmJiYmJSUlJicnJygoKCgqLS0tLzIyMjQ2NjY4OjopKSgoKCcnJycoKCgoKSkpKSwuLi4xNDQ0Njg4ODo8PCwrKioqKSkpKSkqKioqKioqLS8vLzI2NjY4Ojo6PD8/LCsqKiopKSkpKSoqKioqKiotLy8vMjY2Njg6Ojo8Pz8fICInICAiJiAhIiYgISQoISImKiIkKS8lJiw0KCguOB8gICAhIiUoICAhISIkJigiIiIkJiksLicmJigqLzQ4IB8fICAkJCwfICAgICMjKh8gICAgIyMqHyAgISEiIikfICAhISIiKSAgICIiJCQqICAgIiIkJCogISEjIyYmKiAhISMjJiYqIiIiJSUqKjAiIiIlJSoqMCQiIiYmMDA2JCIiJiYwMDYnJSUoKDIyOiclJSgoMjI6LCkpKys1NT8gHx8fHyAgICAiIiQkJycsHyAgICAgICEhIiIiIiUlKR8gICAgICAhISIiIiIlJSkgICAhISIiIyMlJSYmKCgrICAgISEiIiMjJSUmJigoKyQjIyIiJCQmJioqMDAyMjUkIyMiIiQkJiYqKjAwMjI1LCoqKSkqKioqMDA2Njo6PyAfHx8fICAgICIkJCQnLCwfHx8fHyAgICAiIyMjJysrHyAgICAgICAgIiMjIyYqKh8gICAgICAgICIjIyMmKiofICAgICAgICAiIyMjJioqHyAgICAgICAgIiMjIyYpKR8gICAgICEhISEiIiIlKSkfICAgICAhISEhIiIiJSkpHyAgICAgISEhISIiIiUpKR8gICAgISEhISIjIyMmKSkgICAgICEiIiIjJCQkJyoqICAgICAhIiIiIyQkJCcqKiAgICAgISIiIiMkJCQnKiogICAgICEiIiIkJSUlKCoqICAhISEiIyMjJSYmJigqKiAgISEhIiMjIyUmJiYoKiogICEhISIjIyMlJiYmKCoqISEhISEiJCQkJigoKCotLSIiIiIiIyUlJScqKiotMDAiIiIiIiMlJSUnKioqLTAwIiIiIiIjJSUlJyoqKi0wMCMiIiIiJCUlJSktLS0vMjIkIyIiIiQmJiYrMDAwMzY2JCMiIiIkJiYmKzAwMDM2NiQjIiIiJCYmJiswMDAzNjYlJSQkJCYnJycsMTExNDg4JyYlJSUnKCgoLTIyMjY6OicmJSUlJygoKC0yMjI2OjonJiUlJScoKCgtMjIyNjo6KSgnJycoKioqLjQ0NDg8PCwqKSkpKisrKzA1NTU6Pz8sKikpKSorKyswNTU1Oj8/IB8fHx8fHx8fHyAgICAgICAhIiIiIyQkJCUnJycpLCwfHyAgICAgICAgICAgICAgICEiIiIiIyMjJSYmJigqKh8fICAgICAgICAgICAgISEhISIiIiIiIiIkJSUlJykpHx8gICAgICAgICAgICAhISEhIiIiIiIiIiQlJSUnKSkfHyAgICAgICAgICAgICEhISEiIiIiIiIiJCUlJScpKSAgICAgICAgICEhISEhIiIiIiMjIyQkJCQmJycnKCoqICAgICAgISEhISIiIiIjIyMkJSUlJSYmJicoKCgqKysgICAgICAhISEhIiIiIiMjIyQlJSUlJiYmJygoKCorKyAgICAgICEhISEiIiIiIyMjJCUlJSUmJiYnKCgoKisrIiIiIiIiISEhIiMjIyQlJSUmJycnKSsrKywtLS0uMDAkIyMjIyMiIiIjJCQkJSYmJigqKiotMDAwMTIyMjQ1NSQjIyMjIyIiIiMkJCQlJiYmKCoqKi0wMDAxMjIyNDU1JCMjIyMjIiIiIyQkJCUmJiYoKioqLTAwMDEyMjI0NTUnJyYmJiYlJSUmJycnKCgoKCotLS0vMzMzNDY2Njg6OiwrKioqKSkpKSkqKioqKioqLTAwMDI2NjY4Ojo6PD8/LCsqKiopKSkpKSoqKioqKiotMDAwMjY2Njg6Ojo8Pz8fICInICAiJiAgIiYgICElICAhJSAhIycgISMnICIlKCAiJSgiIyctIiMnLSMkKzMjJCszJictNiYnLTYqKjA6HyAgICAgICAgIiIjIyYmKiAgICAgISEiIiMjJCQnJyoiIiIhISMjJSUnJysrLS0wJyYmJSUnJygoLS0zMzY2OiAfHyAgJCQsHx8fICAjIysfICAgICMjKh8gICAgIyMqHyAgICAjIyofICAgICMjKR8gICEhIiIpHyAgISEiIikfICAhISIiKR8gICEhIyMpICAgIiIkJCogICAiIiQkKiAgICIiJCQqICAgIiIlJSogISEjIyYmKiAhISMjJiYqICEhIyMmJiohISEkJCgoLSIiIiUlKiowIiIiJSUqKjAiIiIlJSoqMCMiIiUlLS0yJCIiJiYwMDYkIiImJjAwNiQiIiYmMDA2JSQkJycxMTgnJSUoKDIyOiclJSgoMjI6JyUlKCgyMjopJycqKjQ0PCwpKSsrNTU/LCkpKys1NT8gHx8fHx8fHx8fICAgICAgICEiIiIjJCQkJScnJyksLB8fICAgICAgICAgICAgISEhISIiIiIiIiIkJSUlJykpHx8gICAgICAgICAgICAhISEhIiIiIiIiIiQlJSUnKSkgICAgICAhISEhIiIiIiMjIyQlJSUlJiYmJygoKCorKyAgICAgICEhISEiIiIiIyMjJCUlJSUmJiYnKCgoKisrJCMjIyMjIiIiIyQkJCUmJiYoKioqLTAwMDEyMjI0NTUkIyMjIyMiIiIjJCQkJSYmJigqKiotMDAwMTIyMjQ1NSwrKioqKSkpKSkqKioqKioqLTAwMDI2NjY4Ojo6PD8/HyIqLyInLS4qLTAxLy4xNh8fICMnLTAwHx8hJSksLi4gISMnKi0uLSMlJystLy8uJykqLS8wMC8tLC0vMDIzMzAuLi8wMzU2MC4tLi8zNjggHx8eHiEhJCQpKTExMDAxHx8fHx8iIiYmKiovLy8vLx8fHx8fIiImJioqLy8vLy8eHx8gICMjKCgqKi4uLS0tHh8fICAjIygoKiouLi0tLSEiIiMjJycrKy0tLy8uLi0hIiIjIycnKystLS8vLi4tJCYmKCgrKy8vLy8wMC4uLSQmJigoKysvLy8vMDAuLi0pKioqKi0tLy8wMDIyMTExKSoqKiotLS8vMDAyMjExMTEvLy4uLy8wMDIyNTU1NTUxLy8uLi8vMDAyMjU1NTU1MC8vLS0uLi4uMTE1NTY2NzAvLy0tLi4uLjExNTU2NjcxLy8tLS0tLS0xMTU1Nzc6IB8fHx8fHh4eICEhISMkJCQnKSkpLTExMTEwMDAxMTEfHx8fHx8fHx8gIiIiIyUlJScqKiotMDAwMDAwMDAwMB8fHx8fHx8fHyEiIiIkJiYmKCoqKi0vLy8vLy8vLy8vHx8fHx8fHx8fISIiIiQmJiYoKioqLS8vLy8vLy8vLy8fHx8fHx8fHx8hIiIiJCYmJigqKiotLy8vLy8vLy8vLx8fHx8fHx8fHyEjIyMlJycnKSoqKiwvLy8uLi4uLi4uHh8fHx8fICAgISMjIyUoKCgpKioqLC4uLi4tLS0tLS0eHx8fHx8gICAhIyMjJSgoKCkqKiosLi4uLi0tLS0tLR4fHx8fHyAgICEjIyMlKCgoKSoqKiwuLi4uLS0tLS0tICAhISEhISEhIyUlJScpKSkqKysrLS8vLy4uLi4tLS0hIiIiIiMjIyMlJycnKSsrKywtLS0uLy8vLy4uLi4tLSEiIiIiIyMjIyUnJycpKysrLC0tLS4vLy8vLi4uLi0tISIiIiIjIyMjJScnJykrKyssLS0tLi8vLy8uLi4uLS0jIyQkJCUlJSUnKSkpKy0tLS0uLi4vLy8vLy4uLi4tLSQlJiYmJygoKCkrKystLy8vLy8vLy8wMDAvLi4uLi0tJCUmJiYnKCgoKSsrKy0vLy8vLy8vLzAwMC8uLi4uLS0kJSYmJicoKCgpKysrLS8vLy8vLy8vMDAwLy4uLi4tLScnKCgoKSkpKSosLCwtLy8vLzAwMDAxMTEwMDAwLy8vKSoqKioqKioqKy0tLS4vLy8wMDAwMTIyMjIxMTExMTEpKioqKioqKiorLS0tLi8vLzAwMDAxMjIyMjExMTExMSkqKioqKioqKistLS0uLy8vMDAwMDEyMjIyMTExMTExLS0tLS0sLCwsLS4uLi8vLy8wMTExMjMzMzMzMzMzMzMxMC8vLy8uLi4vLy8vLzAwMDEyMjIzNTU1NTU1NTU1NTEwLy8vLy4uLi8vLy8vMDAwMTIyMjM1NTU1NTU1NTU1MTAvLy8vLi4uLy8vLy8wMDAxMjIyMzU1NTU1NTU1NTUxMC8vLy4uLi4uLy8vLy8vLzAyMjIzNTU1NTU1NTY2NjAwLy8vLi0tLS4uLi4uLi4uMDExMTM1NTU1NjY2Nzc3MDAvLy8uLS0tLi4uLi4uLi4wMTExMzU1NTU2NjY3NzcwMC8vLy4tLS0uLi4uLi4uLjAxMTEzNTU1NTY2Njc3NzEwLy8vLi0tLS0uLi4uLi4uLzExMTM1NTU2Nzc3ODk5MTAvLy8uLS0tLS0tLS0tLS0vMTExMzU1NTY3Nzc5OjoxMC8vLy4tLS0tLS0tLS0tLS8xMTEzNTU1Njc3Nzk6Oh8iKjAfIyouISUsLiQpLi4oLDAwLS4xMy8vMjYvLjE3Hx8hJCgtLy8iIyUpLC4vLioqLC4wMTIxMC4uLjAzNjcgHx8lJTAwMR8fHyYmLy8vHx8fJiYvLy8eICAoKC4uLR4gICgoLi4tISQkKysvLy4hJCQrKy8vLiUoKC8vLy8tJSgoLy8vLy0qKysvLzIyMSorKy8vMjIxMS4uMDA1NTUxLi4wMDU1NTAuLi8vNTU4MC4uLy81NTgxLS0uLjU1OiAfHx4eISElJSoqMTEwMDEfHx8gICQkKCgrKy4uLi4tHx8fICAkJCgoKysuLi4uLSUmJigoKysvLy8vMDAvLy4lJiYoKCsrLy8vLzAwLy8uMC8vLi4vLy8vMjI1NTU1NTAvLy4uLy8vLzIyNTU1NTUxLy8tLS4uLS0xMTU1ODg6IB8fHx8hJSUlKjAwMDAxMR8fHx8fIiUlJSovLy8wMDAfHx8fHyImJiYqLy8vLy8vHx8fHx8iJiYmKi8vLy8vLx8fHx8fIiYmJiovLy8vLy8fHyAgICMnJycqLi4uLi4uHh8gICAjKCgoKi4uLi0tLR4fICAgIygoKCouLi4tLS0eHyAgICMoKCgqLi4uLS0tICEiIiIlKSkpLC4uLi4tLSEiJCQkJysrKy0vLy8uLi4hIiQkJCcrKystLy8vLi4uISIkJCQnKysrLS8vLy4uLiMkJiYmKS0tLS4vLy8uLS0lJigoKCsvLy8vLy8vLi0tJSYoKCgrLy8vLy8vLy4tLSUmKCgoKy8vLy8vLy8uLS0nKCkpKSwvLy8wMTExMC8vKiorKystLy8vMDIyMjIxMSoqKysrLS8vLzAyMjIyMTEqKisrKy0vLy8wMjIyMjExLS0sLCwuLy8vMTMzMzMzMzEwLi4uLzAwMDI1NTU1NTUxMC4uLi8wMDAyNTU1NTU1MTAuLi4vMDAwMjU1NTU1NTAvLi4uLy8vLzI1NTU2NjYwLy4uLi4vLy8yNTU1Njg4MC8uLi4uLy8vMjU1NTY4ODAvLi4uLi8vLzI1NTU2ODgwLy0tLS4uLi4xNTU1Nzk5MS8tLS0tLi4uMTU1NTg6OjEvLS0tLS4uLjE1NTU4OjogHx8fHx8eHh4gISEhIyUlJScqKiotMTExMDAwMDAxMR8fHx8fHx8fHyEiIiIkJiYmKCoqKi0wMDAvLy8vLy8vHx8fHx8gICAgIiQkJCYoKCgpKysrLC4uLi4uLi4tLS0fHx8fHyAgICAiJCQkJigoKCkrKyssLi4uLi4uLi0tLR8fHx8fICAgICIkJCQmKCgoKSsrKywuLi4uLi4uLS0tISIiIiIjIyMjJScnJykrKyssLS0tLi8vLy8uLi4uLS0lJSYmJicoKCgpKysrLS8vLy8vLy8vMDAwLy8vLy4uLiUlJiYmJygoKCkrKystLy8vLy8vLy8wMDAvLy8vLi4uJSUmJiYnKCgoKSsrKy0vLy8vLy8vLzAwMC8vLy8uLi4qKioqKioqKiosLS0tLi8vLzAwMDAxMjIyMjIyMjExMTAvLy8vLi4uLi4vLy8vLy8vMTIyMjM1NTU1NTU1NTU1MC8vLy8uLi4uLi8vLy8vLy8xMjIyMzU1NTU1NTU1NTUwLy8vLy4uLi4uLy8vLy8vLzEyMjIzNTU1NTU1NTU1NTAwLy8vLi0tLS4uLi4uLi4uMDIyMjM1NTU2NjY2Nzg4MTAvLy8uLS0tLS4uLi0tLS0vMTExMzU1NTY4ODg5OjoxMC8vLy4tLS0tLi4uLS0tLS8xMTEzNTU1Njg4ODk6Oh8hKjAfIiovHyIqLx8jKi0fIyotIictLiInLS4mKy8uJisvLiotMDIqLTAyMC8yNTAvMjUvLjI2Ly4yNi8tMTgfHx8fHyIiJiYqKjAwLy8vISIiIyMnJysrLS0vLy4uLSoqKioqLS0vLzAwMjIyMjEwLy8tLS4uLi4yMjU1NjY4IB8fJSUwMDEfHx8lJS8vMB8fHyYmLy8vHx8fJiYvLy8fHx8mJi8vLx8gICcnLi4uHiAgKCguLi0eICAoKC4uLR4gICgoLi4tICIiKSkuLi0hJCQrKy8vLiEkJCsrLy8uISQkKysvLy4jJiYtLS8vLSUoKC8vLy8tJSgoLy8vLy0lKCgvLy8vLScpKS8vMTEvKisrLy8yMjEqKysvLzIyMSorKy8vMjIxLSwsLy8zMzMxLi4wMDU1NTEuLjAwNTU1MS4uMDA1NTUwLi4vLzU1NjAuLi8vNTU4MC4uLy81NTgwLi4vLzU1ODAtLS4uNTU5MS0tLi41NToxLS0uLjU1OiAfHx8fHx4eHiAhISEjJSUlJyoqKi0xMTEwMDAwMDExHx8fHx8gICAgIiQkJCYoKCgpKysrLC4uLi4uLi4tLS0fHx8fHyAgICAiJCQkJigoKCkrKyssLi4uLi4uLi0tLSUlJiYmJygoKCkrKystLy8vLy8vLy8wMDAvLy8vLi4uJSUmJiYnKCgoKSsrKy0vLy8vLy8vLzAwMC8vLy8uLi4wLy8vLy4uLi4uLy8vLy8vLzEyMjIzNTU1NTU1NTU1NTAvLy8vLi4uLi4vLy8vLy8vMTIyMjM1NTU1NTU1NTU1MTAvLy8uLS0tLS4uLi0tLS0vMTExMzU1NTY4ODg5OjogICAjICAhIyAhIyYjIyYuHx8fICAgIiMfICAgICEiIx8gICAgISEiICAgISIiIyQgICAiIyMkJiAhISIjJCYoIiIhIyQmJyojIyIkJigqMCAfHx8fHx8fICAgISIiJCQfHx8gICAgICAgICEiIiMjHx8gICAgICAgICAhIiIjIx8gICAgICAgICAgISIiIyMfICAgICAgICAgICEhIiIiHyAgICAgICAgICAhISIiIh8gICAgICEhISEhIiMjJCQfICAgICAhISEiIiMjJCQkICAgICAgISEiIiIjJCQlJSAgICAgICEiIiMjJCUlJiYgICAgICAhIiIjIyQlJSYmISEhISEhIiMjJCQmJygqKiIiIiIhISMjJCUlJycpKioiIiIiIiIjJCQlJSgpKi0tJCMjIyIiJCQlJiYqKi0wMCQjIyMiIiQkJSYmKiotMDAgHx8fHx8fHx8fHx8fHx8fICAgICAgISIiIiIjJCQkJR8fHx8fHx8fHx8fHyAgICAgICAgICAhIiIiIiMjIyMlHx8fHx8fICAgICAgICAgICAgICAgISEiIiIiIyMjIyQfHx8gICAgICAgICAgICAgICAgICAhISIiIiIjIyMjJB8fHyAgICAgICAgICAgICAgICAgICEhIiIiIiMjIyMkHx8fICAgICAgICAgICAgICAgICAgISEiIiIiIyMjIyQfHyAgICAgICAgICAgICAgICAgICAhISIiIiIiIyMjJB8fICAgICAgICAgICAgICAgICAgICEhISEhIiIiIiIjHx8gICAgICAgICAgICAgICAgICAgISEhISEiIiIiIiMfHyAgICAgICAgICAgICAgICAgICAhISEhISIiIiIiIx8fICAgICAgICAgICAgICAgICAgICEhISEhIiIiIiIjHx8gICAgICAgICAgISEhISEhISEhISIiIiIiIyMjIyQfICAgICAgICAgICEhISEhISEhISEiIiMjIyMkJCQkJR8gICAgICAgICAgISEhISEhIiIiIiIjIyMjJCQkJCQlHyAgICAgICAgICAhISEhISEiIiIiIiMjIyMkJCQkJCUfICAgICAgICAgICEhISEhISIiIiIiIyMjIyQkJCQkJSAgICAgICAgICAgISEhISEiIiIiIiMjJCQkJCUlJSUmICAgICAgICAgICAhISIiIiIjIyMjIyQkJCQlJSYmJicgICAgICAgICAgICEhIiIiIiMjIyMkJCUlJSUmJiYmJyAgICAgICAgICAgISEiIiIiIyMjIyQkJSUlJSYmJiYnICAgICAgICAgICAhISIiIiIjIyMjJCQlJSUlJiYmJicgICEhISEhISEhISEiIiIiIyMkJCQkJSYmJiYnKCgoKSEhISEhISEhISEhIiIjIyMjJCQkJCUmJycnKCkqKioqIiIiIiIiIiEhISEiIyMjIyQkJSUlJicnJycpKioqKisiIiIiIiIiISEhISIjIyMjJCQlJSUmJycnJykqKioqKyIiIiIiIiIhISEhIiMjIyMkJCUlJSYnJycnKSoqKiorIiIiIiIiIiIiIiIiIyQkJCQlJSUlJigpKSkqLC0tLS0jIyMjIyMiIiIiIiMkJCQkJSUmJiYnKSoqKiwuLy8vMCQjIyMjIyMiIiIiIyQkJCQlJiYmJigqKioqLS8wMDAxJCMjIyMjIyIiIiIjJCQkJCUmJiYmKCoqKiotLzAwMDEkIyMjIyMjIiIiIiMkJCQkJSYmJiYoKioqKi0vMDAwMSUlJCQkJCQjIyMjJCUlJSUmJycnJykqKysrLTAxMTEyHx8gIyAgICMgICEiICAiJCAhIyYhISQoIiIlKiMiJjAfICAgICEiIx8gICAhISIiICAhIiMkJSYjIyIkJigqMCAfHx8gICMkHyAgICAgIyMfICAgICAjIx8gICAgICIjHyAgICEhIiIfICAgISEiIh8gICEiIiMkICAgISIiJCQgICAhIiIkJSAgISIjIyUmICAhIiMjJSYhISEjJCQoKSIiIiMlJSkqIiIiIyUlKywkIyIkJiYuMCQjIiQmJi4wIB8fHx8fHyAgICAhIiIkJB8gICAgICAgICAgISIiIyMfICAgICAgICAhISEiIiIiHyAgICAgISEhIiIjIyMkJCAgICAhISIiIiMjJCUlJiYgICAgISEiIiIjIyQlJSYmIyMjIiIiIyQkJSUoKSsuLiQjIyMiIiQkJSYmKSosMDAgHx8fHx8fICAgICEjJCQkHx8fHx8fICAgICAhIyMjIx8fICAgICAgICAgISMjIyMfICAgICAgICAgICEjIyMjHyAgICAgICAgICAhIyMjIx8gICAgICAgICAgISMjIyMfICAgICAgICAgICEiIyMjHyAgICAgICAgICAhIiMjIx8gICAgICAgISEhISIiIiIfICAgICAgICEhISEiIiIiHyAgICAgICAhISEhIiIiIh8gICAgICEhISEhIiMjIyMfICAgICAhISIiIiIjJCQkICAgICAgISIiIiIjJCQkJCAgICAgICEiIiIiIyQkJCQgICAgICAhIiIiIiMkJCQkICAgICAgISIiIiIjJCUlJSAgICEhISEiIyMjJCUmJiYgICAhISEiIyMjIyQlJiYmICAgISEhIiMjIyMkJSYmJiAgICEhISIjIyMjJCUmJiYgISEhISEiIyQkJCUnKCgoISEhISEhIyQkJCQmKCkpKSIiIiIiIiMkJSUlJykqKioiIiIiIiIjJCUlJScpKioqIiIiIiIiIyQlJSUnKSoqKiIiIiIiIiMlJSUlKCssLCwjIyIiIiIkJSYmJiktLy8vJCMjIiIiJCUmJiYqLjAwMCQjIyIiIiQlJiYmKi4wMDAkIyMiIiIkJSYmJiouMDAwJSQkJCQkJSYnJycqLjExMSAfHx8fHx8fHx8fHx8gICAgICAgICAhIiIiIiMkJCQlHx8fICAgICAgICAgICAgICAgICAgISEiIiIiIyMjIyQfHyAgICAgICAgICAgICAgICAgICAhISIiIiIiIyMjJB8fICAgICAgICAgICAgICAgISEhISEhIiIiIiIiIiIkHx8gICAgICAgICAgICAgICAhISEhISEiIiIiIiIiIiQfHyAgICAgICAgICAgICAgICEhISEhISIiIiIiIiIiJB8gICAgICAgICAgISEhISEhISIiIiIjIyMjIyQkJCQlICAgICAgICAgICAhISIiIiIiIyMjIyQkJCQlJSUlJSYgICAgICAgICEhISEiIiIiIiMjIyMkJCUlJSUmJiYmJyAgICAgICAgISEhISIiIiIiIyMjIyQkJSUlJSYmJiYnICAgICAgICAhISEhIiIiIiIjIyMjJCQlJSUlJiYmJichISEhISEhISEhISIiIyMjIyQkJCQlJicnJygpKioqKiMjIyMjIyIiIiIiIyMkJCQkJSUlJScoKSkpKy0uLi4uJCMjIyMjIyMiIiIjJCQkJCUmJiYmKCkqKiosLzAwMDEkIyMjIyMjIyIiIiMkJCQkJSYmJiYoKSoqKiwvMDAwMSQjIyMjIyMjIiIiIyQkJCQlJiYmJigpKioqLC8wMDAxHx8gJB8gICMgICAjICAgIyAgISIgICEiICAiJCAgIiQgICIlICEjJiAhIyYhISQpIiIlKiIiJSwjIiYwIyImMB8fICAgICAgICAgISIiIyMfICAgICAgICAhISEiIiIiICAgICEhIiIiIyMkJSUmJiQjIyMiIiQkJSYmKSosMDAgHx8fICAjJB8fHyAgICMjHyAgICAgIyMfICAgICAjIx8gICAgICMjHyAgICAgIyMfICAgICAiIx8gICAgICIjHyAgICEhIiIfICAgISEiIh8gICAhISIiHyAgISEhIyMfICAhIiIjJCAgICEiIiQkICAgISIiJCQgICAhIiIkJCAgICEiIiQlICAhISMjJSYgICEiIyMlJiAgISIjIyUmICAhIiMjJSYgISEiJCQnKCEhISMkJCgpIiIiIyUlKSoiIiIjJSUpKiIiIiMlJSkqIiIiIyUlKywjIiIkJiYtLyQjIiQmJi4wJCMiJCYmLjAkIyIkJiYuMCUkJCUnJy4xIB8fHx8fHx8fHx8fHyAgICAgICAgICEiIiIiIyQkJCUfHyAgICAgICAgICAgICAgICAgICAhISIiIiIiIyMjJB8fICAgICAgICAgICAgICAgISEhISEhIiIiIiIiIiIkHyAgICAgICAgICAhISEhISEhIiIiIiMjIyMjJCQkJCUgICAgICAgICEhISEiIiIiIiMjIyMkJCUlJSUmJiYmJyAgICAgICAgISEhISIiIiIiIyMjIyQkJSUlJSYmJiYnIyMjIyMjIiIiIiIjIyQkJCQlJSUlJygpKSkrLS4uLi4kIyMjIyMjIyIiIiMkJCQkJSYmJiYoKSoqKiwvMDAwMR8gJi4gIikuJikvLy4uLzQfHx4iJCcqMB8fHyIlKCovHh8gIycpKi4iIiMnKiwtLyQlJyouLy8vJygpLC8vMDEqKiotLzAwMjAvLi8vMTI1IB8fHx4eISEiJCQoKSwxMR8fHx8fHyEiJCYmKSosMDAfHx8fHx8iIiQmJikqLC8vHx8fHx8fIiMkJycpKiwvLx4fHx8gICIjJSgoKiosLi4eHx8fICAiIyUoKCoqLC4uISEiIiIiJSYoKiosLC0vLyEiIiMjIyYnKCsrLC0uLy8iJCQkJSUoKCotLS0uLi8vJCYmJygoKistLy8vLy8wMCQmJicoKCorLS8vLy8vMDAoKSkpKiosLC0vLzAwMTIyKSoqKioqLC0uLy8wMDEyMiwsLCwsLC0uLi8vMTEyMzMxMC8vLi4vLy8wMDIyMzU1MTAvLy4uLy8vMDAyMjM1NSAfHx8fHx8eHh4eHyEhISEiJCQkJCYoKSkpLC8xMTExHx8fHx8fHx8eHh4gISIiIiMkJSUlJykqKiosLzAwMDAfHx8fHx8fHx8fHyAhIiIiJCUmJiYnKSoqKiwuMDAwLx8fHx8fHx8fHx8fICIiIiIkJSYmJigpKioqLC4vLy8vHx8fHx8fHx8fHx8gIiIiIiQlJiYmKCkqKiosLi8vLy8fHx8fHx8fHx8fHyAiIiIiJCUmJiYoKSoqKiwuLy8vLx8fHx8fHx8fHx8fISIjIyMkJicnJygpKioqLC4vLy8vHh8fHx8fHx8fHx8hIiMjIyUmJycnKSoqKiosLi4uLi4eHh8fHx8fHyAgICEiIyMjJScoKCgpKioqKiwtLi4uLh4eHx8fHx8fICAgISIjIyMlJygoKCkqKioqLC0uLi4uHh4fHx8fHx8gICAhIiMjIyUnKCgoKSoqKiosLS4uLi4fICAgICAhISEhISIkJSUlJigpKSkqKysrKywuLi4uLiEhISIiIiIiIiIiJCUmJiYoKSoqKissLCwsLS4vLy8uISIiIiIiIyMjIyMlJicnJygqKysrLCwtLS0uLy8vLy8hIiIiIiIjIyMjIyUmJycnKCorKyssLC0tLS4vLy8vLyEiIiIiIiMjIyMjJSYnJycoKisrKywsLS0tLi8vLy8vIiMkJCQkJCUlJSUmKCgoKCosLS0tLS0uLi4uLy8vLy8kJCUlJSUmJicnJygpKioqLC4uLi4vLy8vLy8vLy8vLyQlJiYmJicnKCgoKSorKystLi8vLy8vLy8vLy8wMDAvJCUmJiYmJycoKCgpKisrKy0uLy8vLy8vLy8vLzAwMC8kJSYmJiYnJygoKCkqKysrLS4vLy8vLy8vLy8vMDAwLyYnJygoKCgpKSkpKissLCwtLy8vLy8wMDAwMDAxMTEwKCkpKSkpKSoqKiorLCwsLC0vLy8vMDAwMDAxMTIyMjEpKioqKioqKioqKissLS0tLi8vLy8wMDAwMDEyMjIyMikqKioqKioqKioqKywtLS0uLy8vLzAwMDAwMTIyMjIyKSoqKioqKioqKiorLC0tLS4vLy8vMDAwMDAxMjIyMjIsLCwsLCwsLCwsLCwtLi4uLi8vLy8wMTExMTIzMzMzMy8vLi4uLi4uLS0tLi4vLy8vLy8vLzAxMjIyMzQ0NDQ0MTAwLy8vLy4uLi4uLy8vLy8vMDAwMTIyMjIzNDU1NTUxMDAvLy8vLi4uLi4vLy8vLy8wMDAxMjIyMjM0NTU1NTEwMC8vLy8uLi4uLi8vLy8vLzAwMDEyMjIyMzQ1NTU1MTAvLy8vLy4uLi4uLi8vLy8vLy8vMDEyMjIzNDU1NTUfHyUwHx8mLx8gKC4iJCsvJScuLycpLzAqKy8yMC4wNR8fHyIlJyowHx8gJCcpKy4lJigrLi8vMDAvLi8vMDI1IB8fISUlLTAfHx8iJiYtLx8fHyImJi0vHx8gIicnLS4eICAjKCgsLh4gICMoKCwuISIjJSoqLi8hIyQmKysuLyMlJSgsLC4vJScoKy8vLy8lJygrLy8vLykqKiwvLzExKiorLC8vMTIsLCwtLy8yMzEvLi8wMDQ1MS8uLzAwNDUgHx8fHh4hISMlJSkqLDExHx8fHyAgIiMlJycqKiwvLx8fHyAgICMkJSgoKissLi4hIiIiIyMlJigrKywsLS8vJSYmJygoKissLy8vLy8wMCUmJicoKCorLC8vLy8vMDAtLS0tLCwuLi4vLzExMjQ0MC8vLi4uLy8vLy8xMjM1NSAfHx8fHyEjJSUlKC0wMDAfHx8fHx8hJCUlJSktMDAwHx8fHx8fIiQmJiYpLS8vLx8fHx8fHyIlJiYmKS0vLy8fHx8fHx8iJSYmJiktLy8vHx8fHx8fIiUmJiYpLS8vLx8fHyAgICIlJycnKS0uLi4eHx8gICAiJicnJyosLi4uHh8gICAgIyYoKCgqLC4uLh4fICAgICMmKCgoKiwuLi4eHyAgICAjJigoKCosLi4uHyAhISEhJCcpKSkrLS4uLiEiIiMjIyUoKioqLC4vLy8hIiMkJCQmKSsrKywuLy8vISIjJCQkJikrKyssLi8vLyEiIyQkJCYpKysrLC4vLy8jJCUlJSUoKywsLC0uLy8vJCUmJycnKiwuLi4vLy8vLyUmJygoKCstLy8vLy8vLy8lJicoKCgrLS8vLy8vLy8vJSYnKCgoKy0vLy8vLy8vLycnKCkpKSsuLy8vMDAwMDApKSoqKiosLi8vLzAxMTExKioqKysrLC4vLy8wMTIyMioqKisrKywuLy8vMDEyMjIqKiorKyssLi8vLzAxMjIyLCwsLCwsLS8vLy8xMjMzMy8uLi4uLi4vMDAwMTM0NDQxMC8uLi4vMDAwMDI0NTU1MTAvLi4uLzAwMDAyNDU1NTEwLy4uLi8wMDAwMjQ1NTUxMC8uLi4vLy8vLzE0NTU1IB8fHx8fHx4eHh4fISEhISMkJSUlJykqKiosLzExMTEfHx8fHx8fHx8fHyAiIiIiJCUmJiYnKSoqKiwuMDAwMB8fHx8fHx8fICAgISIjIyMlJicnJygqKioqLC4vLy8vHx8fHx8fICAgICAhIyQkJCUnKCgoKSorKyssLi4uLi4fHx8fHx8gICAgICEjJCQkJScoKCgpKisrKywuLi4uLh8fHx8fHyAgICAgISMkJCQlJygoKCkqKysrLC4uLi4uISEiIiIiIiIjIyMkJSYmJigqKysrKywsLCwtLi8vLy8jJCQlJSUlJiYmJicoKSkpKywtLS0uLi4uLi8vMDAwLyUlJiYmJicnKCgoKSorKyssLi8vLy8vLy8vLzAwMDAvJSUmJiYmJycoKCgpKisrKywuLy8vLy8vLy8vMDAwMC8lJSYmJiYnJygoKCkqKysrLC4vLy8vLy8vLy8wMDAwLygpKSkpKSkqKioqKywsLCwtLy8vLzAwMDAwMTEyMjIxLS0tLS0tLSwsLCwtLi4uLi4vLy8vMDExMTEyMzQ0NDQwMC8vLy8uLi4uLi4vLy8vLy8vLy8wMTIyMjM0NTU1NTAwLy8vLy4uLi4uLi8vLy8vLy8vLzAxMjIyMzQ1NTU1MDAvLy8vLi4uLi4uLy8vLy8vLy8vMDEyMjIzNDU1NTUfHyUwHx8mLx8fJi8fICcuHyAoLh8gKC4iIyovIiQrLyQlLC8mKC8vJigvLykqLzEqKy8yLCwvMzAuMDUwLjA1Hx8fHx8fIiIkJiYpKiwwMB8fHyAgICMkJSgoKissLi4lJiYnKCgqKywvLy8vLzAwMC8vLi4uLy8vLy8xMjM1NSAfHyElJS0wHx8fISUlLTAfHx8iJiYtLx8fHyImJi0vHx8fIiYmLS8fHx8iJiYtLx8fICInJy0uHh8gIicnLC4eICAjKCgsLh4gICMoKCwuHiAgIygoLC4fISEkKSktLiEiIyUqKi4vISMkJisrLi8hIyQmKysuLyEjJCYrKy4vIyUlKCwsLi8kJicqLi4vLyUnKCsvLy8vJScoKy8vLy8lJygrLy8vLycoKSsvLzAwKSoqLC8vMTEqKissLy8xMioqKywvLzEyKiorLC8vMTIsLCwtLy8yMy8uLi4wMDM0MS8uLzAwNDUxLy4vMDA0NTEvLi8wMDQ1MS8uLy8vNDUgHx8fHx8fHh4eHh8hISEhIyQlJSUnKSoqKiwvMTExMR8fHx8fHx8fICAgISIjIyMlJicnJygqKioqLC4vLy8vHx8fHx8fICAgICAhIyQkJCUnKCgoKSorKyssLi4uLi4hISIiIiIiIiMjIyQlJiYmKCorKysrLCwsLC0uLy8vLyUlJiYmJicnKCgoKSorKyssLi8vLy8vLy8vLzAwMDAvJSUmJiYmJycoKCgpKisrKywuLy8vLy8vLy8vMDAwMC8tLS0tLS0tLCwsLC0uLi4uLi8vLy8wMTExMTIzNDQ0NDAwLy8vLy4uLi4uLi8vLy8vLy8vLzAxMjIyMzQ1NTU1HyAgICAgICEgICEiICEiIx8fHx8gICAhHyAgICAgICEfICAgICAgIR8gICAgICAhICAgICEhIiMgICAgISIiIyAgICAiIiMkISEhISMjJCYgHx8fHx8fHx8fHyAgICAiHx8fHx8fHyAgICAgICAhIh8fICAgICAgICAgICAgISIfHyAgICAgICAgICAgICEiHx8gICAgICAgICAgICAhIh8fICAgICAgICAgICAgISEfHyAgICAgICAgICAgICEhHyAgICAgICAgICAhISEhIh8gICAgICAgISEhISEhIiMfICAgICAgICEhISEiIiIjHyAgICAgICAhISEhIiIiIyAgICAgICAhISEhIiMjIyQgICAgICAgISEiIiMjIyQlICAgICAgICEhIiIjIyMkJSAhISEhISEhIiIiIyQkJCYiIiIiIiEhIiMjIyQlJSYnIB8fHx8fHx8fHx8fHx8fHx8fHx8fICAgICAgICAhIiIfHx8fHx8fHx8fHx8fHx8fICAgICAgICAgICAgICEiIh8fHx8fHx8fHx8fHx8fICAgICAgICAgICAgICAhISIiHx8fHyAgICAgICAgICAgICAgICAgICAgICAgICEhIiIfHx8gICAgICAgICAgICAgICAgICAgICAgICAgISEiIh8fHyAgICAgICAgICAgICAgICAgICAgICAgICAhISIiHx8fICAgICAgICAgICAgICAgICAgICAgICAgICEhIiIfHx8gICAgICAgICAgICAgICAgICAgICAgICAgISEiIh8fHyAgICAgICAgICAgICAgICAgICAgICAgICAhISIiHx8fICAgICAgICAgICAgICAgICAgICAgICAgICEhISEfHx8gICAgICAgICAgICAgICAgICAgICAgICAhISEhIR8fHyAgICAgICAgICAgICAgICAgICAgICAgICEhISEhHx8fICAgICAgICAgICAgICAgICAgICAgICAgISEhISEfHx8gICAgICAgICAgICAgICAgICAgICAgICAhISEhIR8fICAgICAgICAgICAgICAgICAgICEhISEhISEhISIiHx8gICAgICAgICAgICAgICEhISEhISEhISEhISIiIiIfICAgICAgICAgICAgICAhISEhISEhISEhISEiIiIjIx8gICAgICAgICAgICAgICEhISEhISEhIiIiIiIiIyMjHyAgICAgICAgICAgICAgISEhISEhISEiIiIiIiIjIyMfICAgICAgICAgICAgICAhISEhISEhISIiIiIiIiMjIx8gICAgICAgICAgICAgICEhISEhISEhIiIiIiIiIyMjICAgICAgICAgICAgICAhISEhISEhIiIiIiIiIiMjIyMgICAgICAgICAgICAgICEhISEhISEiIiIjIyMjIyMkJCAgICAgICAgICAgICAgISEhIiIiIiIiIyMjIyMjJCQkICAgICAgICAgICAgICAhISEiIiIiIiMjIyMjIyQkJSUgICAgICAgICAgICAgICEhISIiIiIiIyMjIyMjJCQlJSAgICAgICAgICAgICAgISEhIiIiIiIjIyMjIyMkJCUlICAgICAgICAgICEhISEhISIiIiIiIiMjIyMjIyQkJSUgICEhISEhISEhISEhISEiIiIiIiIjIyMkJCQkJCUmJiEhISEhISEhISEhISEhISIiIyMjIyMjJCQkJCQlJiYmIiIiIiIiIiIiISEhISEiIiMjIyMjIyQkJSUlJSYmJyciIiIiIiIiIiIhISEhISIiIyMjIyMjJCQlJSUlJiYnJx8fICAfICAgICAgICAgICEgICEiICAiIiAhIiMhISMkHx8gICAgICEfICAgICAhISAgICAhIiIjICAgISIiIyQgHx8fHyAgIB8fICAgICAhHyAgICAgICEfICAgICAgIR8gICAgICAhHyAgICAhISEfICAgICEhIR8gICAgISEhHyAgICEiIiIgICAgISIiIiAgICAhIiIiICAgICEjIyMgICEhIiMjJCAgISEiIyMkICEhISIkJCQiIiIiIyUlJiAfHx8fHx8fHyAgICAgICIfHyAgICAgICAgICAgICEiHyAgICAgICAgICAgISEhIh8gICAgICAgICAgICEhISIfICAgICAgICEhISEiIiIjICAgICAhISEiIiIjIyMkJSAgICAgISEhIiIiIyMjJCUgISEhISEhISIiIiMkJCQmIB8fHx8fHx8fICAgICAgIh8fHx8fHx8fICAgICAgISIfHx8gICAgICAgICAgICEiHx8gICAgICAgICAgICAhIh8fICAgICAgICAgICAgISIfHyAgICAgICAgICAgICEiHx8gICAgICAgICAgICAhIh8fICAgICAgICAgICAgISIfHyAgICAgICAgICAgICEiHyAgICAgICAgICAgICAhIR8gICAgICAgICAhISEhISEfICAgICAgICAgISEhISEhHyAgICAgICAgICEhISEhIR8gICAgICAgICAhISEhISEfICAgICAgICAhISEhISEiHyAgICAgICAhISEhISEiIh8gICAgICAgISEiIiIiIiMgICAgICAgISEhIiIiIiIjICAgICAgICEhISIiIiIiIyAgICAgICAhISEiIiIiIiMgICAgICAgISEhIiIiIiIjICAgICAgICEhIiIiIiIjIyAgICAgICAhISIjIyMjIyQgICAgISEhISEiIyMjIyQkICAgICEhISEiIiMjIyMkJSAgICAhISEhIiIjIyMjJCUgICAgISEhISIiIyMjIyQlICAgISEhISEiIiMjIyMkJSAhISEhISEhIiMkJCQkJCYhISEhISEhIiIjJCQkJCUmIiIiIiIiIiIjJCUlJSUmJyIiIiIiIiIiIyQlJSUlJicgHx8fHx8fHx8fHx8fHx8fHyAgICAgICAgICAgICEiIh8fHx8fHx8fHyAgICAgICAgICAgICAgICAgICAhISIiHx8fICAgICAgICAgICAgICAgICAgICAgICAgICEhIiIfHyAgICAgICAgICAgICAgICAgICAgICAgICAhISEiIh8fICAgICAgICAgICAgICAgICAgICAgISEhISEhISIiHx8gICAgICAgICAgICAgICAgICAgICAhISEhISEhIiIfHyAgICAgICAgICAgICAgICAgICAgICEhISEhISEiIh8fICAgICAgICAgICAgICAgISEhISEhISEhISEhIiIiHyAgICAgICAgICAgICAgISEhISEhISEhIiIiIiIiIyMgICAgICAgICAgICAgICEhISEhISEiIiIiIiIiIyMkJCAgICAgICAgICAhISEhISEiIiIiIiIjIyMjIyMkJCUlICAgICAgICAgICEhISEhISIiIiIiIiMjIyMjIyQkJSUgICAgICAgICAgISEhISEhIiIiIiIiIyMjIyMjJCQlJSAgICAgICAgICAhISEhISEiIiIiIiIjIyMjIyMkJCUlICEhISEhISEhISEhISEhIiIiIiIiIyMkJCQkJCQlJiYiIiIiIiIiIiIhISEhISIiIyMjIyMjJCQlJSUlJiYnJx8fICAfICAgHyAgIB8gICAfICAgICAgISAgICEgICEhICAhIiAgISIgICEiICAiIyAhIiMgISIjISEjJCIiJCUfHx8fHyAgICAgICAgICEiHyAgICAgICAgICAgISEhIiAgICAgICAhISEhIiIiIyQgICAgICEhISIiIiMjIyQlIB8fHx8gICAfHx8fICAgIR8fICAgICAhHyAgICAgICEfICAgICAgIR8gICAgICAhHyAgICAgICEfICAgICAgIR8gICAgICAhHyAgICAgICEfICAgICEhIR8gICAgISEhHyAgICAhISEfICAgICEhIR8gICAgISEhHyAgICEhISIfICAgISIiIiAgICAhIiIiICAgICEiIiIgICAgISIiIiAgICAhIiIiICAgICEiIiMgICAgISMjIyAgISEhIyMkICAhISIjIyQgICEhIiMjJCAgISEiIyMkICAhISIjIyQgISEhIiQkJCEhISEiJCQlIiIiIiMlJSYiIiIiIyUlJiAfHx8fHx8fHx8fHx8fHx8fICAgICAgICAgICAgISIiHx8fICAgICAgICAgICAgICAgICAgICAgICAgICEhIiIfHyAgICAgICAgICAgICAgICAgICAgICEhISEhISEiIh8fICAgICAgICAgICAgICAgICAgICAgISEhISEhISIiHyAgICAgICAgICAgICAgISEhISEhISEhIiIiIiIiIyMgICAgICAgICAgISEhISEhIiIiIiIiIyMjIyMjJCQlJSAgICAgICAgICAhISEhISEiIiIiIiIjIyMjIyMkJCUlICEhISEhISEhISEhISEhIiIiIiIiIyMkJCQkJCQlJiYfHyImHyAjKCIjJysmKCsvHx8fHiIjJSgfHx8fIiMmKR8fHx8jJCcpHh8fICMkKCoiIiMjJygrLCMjJCQoKSwtJSYnKCssLy8oKSkqLC0vMCAfHx8fHh4fISEhIyQkJikfHx8fHx8fHyEiIiQlJScqHx8fHx8fHyAiIiIlJiYoKh8fHx8fHx8gIiIiJSYmKCofHx8fHx8fICIjIyUnJygqHh8fHx8gICAiIyMmKCgpKh4fHx8fICAgIiMjJigoKSofHyAgICAgISMkJCYoKCkrISEiIiIiIiMlJiYpKiorLCEiIiIjIyMkJicnKSsrLC0hIiIiIyMjJCYnJykrKywtIyQlJSUmJiYpKSksLi4uLiQlJiYnKCgoKisrLi8vLy8kJSYmJygoKCorKy4vLy8vJicoKCgpKSkrLCwuLy8vMCkqKioqKiorLC0tLi8vMDAgHx8fHx8fHx8eHh4eHh8gISEhISEiIyQkJCQlJigpKR8fHx8fHx8fHx8eHh4eHyAhIiIiIiMkJSUlJSUnKCoqHx8fHx8fHx8fHx8fHx8fICEiIiIiIyQlJSUlJicoKiofHx8fHx8fHx8fHx8fHyAgIiIiIiIjJCYmJiYmKCkqKh8fHx8fHx8fHx8fHx8fICEiIiIiIiMlJiYmJicoKSoqHx8fHx8fHx8fHx8fHx8gISIiIiIiIyUmJiYmJygpKiofHx8fHx8fHx8fHx8fHyAhIiIiIiIjJSYmJiYnKCkqKh8fHx8fHx8fHx8fHx8fICEiIiIiIiQlJiYmJicoKSoqHx8fHx8fHx8fHx8fHx8gISIjIyMjJCUmJycnJygpKioeHx8fHx8fHx8fHx8fHyAhIiMjIyMkJScnJycoKCkqKh4eHx8fHx8fHx8gICAgICEiIyMjIyQmJygoKCgpKioqHh4fHx8fHx8fHyAgICAgISIjIyMjJCYnKCgoKCkqKioeHh8fHx8fHx8fICAgICAhIiMjIyMkJicoKCgoKSoqKh4eHx8fHx8fHx8gICAgICEiIyMjIyQmJygoKCgpKioqHx8fICAgICAgICAgICAhIiMkJCQkJSYoKCgoKSkqKysgICAgISEhISEhISEhISIjJCUlJSUmJykpKSkqKisrKyEhISIiIiIiIiIiIiIiIyQlJiYmJicpKioqKisrLCwsISIiIiIiIiIjIyMjIyMkJSYnJycnKCkrKysrKywsLS0hIiIiIiIiIiMjIyMjIyQlJicnJycoKSsrKysrLCwtLSEiIiIiIiIiIyMjIyMjJCUmJycnJygpKysrKyssLC0tISIiIiIiIiIjIyMjIyMkJSYnJycnKCkrKysrKywsLS0iIyMjIyMjJCQkJCQkJCUmJygoKCgpKiwsLCwsLS0tLSMkJCQlJSUlJSUmJiYmJicpKSkpKSosLS4uLi4uLi4uJCUlJiYmJiYmJycnJycoKSorKysrLC0uLy8vLy8vLy8kJSUmJiYmJicnKCgoKCgpKisrKyssLi8vLy8vLy8vLyQlJSYmJiYmJycoKCgoKCkqKysrKywuLy8vLy8vLy8vJCUlJiYmJiYnJygoKCgoKSorKysrLC4vLy8vLy8vLy8lJSYmJycnJycoKCgoKCkqKysrKyssLi8vLy8vLy8vLyYnJygoKCgoKCgpKSkpKSorLCwsLC0uLy8vLy8vMDAwKCgoKSkpKSkpKSoqKioqKywsLCwsLS4vLy8vLzAwMDApKioqKioqKioqKioqKisrLC0tLS0tLi8vLy8vMDAwMCkqKioqKioqKioqKioqKyssLS0tLS0uLy8vLy8wMDAwHx8jJR8fJCYfICUnHyAlKCIkKCsjJSosJigtLykqLS8fHx8fIiMmKR8fICAkJSgqIyQlJSgqLS0lJicoKywvLyAfHx8hJSUmHx8fHyEmJicfHx8fIiYmKB8fHx8iJiYoHx8gICInJygeHyAgIygoKR4fICAjKCgpHyAhISMoKCkhIiMjJSoqKyEjJCQmKyssISMkJCYrKywjJSYmKS0tLiUnKCgrLy8vJScoKCsvLy8nKCkpKy8vLyoqKyssLy8wIB8fHx8eHh8hISEjJSUnKh8fHx8fHx8gIiMjJScnKCofHx8fICAgISMkJCYoKCkrHx8fHyAgICEjJCQmKCgpKyEhIiIiIyMjJSYmKSsrKywlJiYmJygoKCorKy0vLy8vJSYmJicoKCgqKystLy8vLyYnKCgoKSkpKywsLi8vLzAgHx8fHx8fHyEjJSUlJSYqHx8fHx8fHx8hIyUlJSUnKh8fHx8fHx8gISMmJiYmJyofHx8fHx8fICIkJiYmJigqHx8fHx8fHyAiJCYmJiYoKh8fHx8fHx8gIiQmJiYmKCofHx8fHx8fICIkJiYmJigqHx8fHx8fHyAiJCYmJiYoKh8fHx8gICAgIiQnJycnKCoeHx8gICAgICIlJycnJygqHh8fICAgICEjJSgoKCgpKh4fHyAgICAhIyUoKCgoKSoeHx8gICAgISMlKCgoKCkqHh8fICAgICEjJSgoKCgpKh8fICAhISEhIyYoKCgoKSsgICEhIiIiIiQnKSkpKSosISEiIyMjIyMlKCoqKiorLCEiIyMkJCQkJigrKysrLC0hIiMjJCQkJCYoKysrKywtISIjIyQkJCQmKCsrKyssLSEiIyMkJCQkJigrKysrLC0iIyQlJSUlJScqLCwsLC0tIyQlJiYmJicpKy0tLS0uLiQlJicnJycoKiwvLy8vLy8lJicoKCgoKSstLy8vLy8vJSYnKCgoKCkrLS8vLy8vLyUmJygoKCgpKy0vLy8vLy8lJicoKCgoKSstLy8vLy8vJycoKSkpKSorLS8vLy8vMCgpKSoqKioqLC0vLy8vLzAqKiorKysrKywuLy8vLzAwKioqKysrKyssLi8vLy8wMCAfHx8fHx8fHx4eHh4eHyAhISEhISIjJCUlJSUnKCoqHx8fHx8fHx8fHx8fHx8fICEiIiIiIyQlJiYmJicpKiofHx8fHx8fHx8fHx8fHyAhIiMjIyMkJSYnJycnKCkqKh8fHx8fHx8fHyAgICAgICEjIyMjIyUmJygoKCgpKisrHx8fHx8fHx8gICAgICAhIiMkJCQkJSYnKCgoKCkqKysfHx8fHx8fHyAgICAgICEiIyQkJCQlJicoKCgoKSorKx8fHx8fHx8fICAgICAgISIjJCQkJCUmJygoKCgpKisrHx8gICAgICAgICEhISEhIiMkJCQkJScoKSkpKSoqKyshISEiIiIiIiIiIyMjIyMkJSYmJiYnKSorKysrKywsLCMjIyQkJCQkJCUlJSUlJicoKCgoKCorLC0tLS0tLS4uJSUmJiYmJiYnJygoKCgoKSorKysrLC0vLy8vLy8vLy8lJSYmJiYmJicnKCgoKCgpKisrKyssLS8vLy8vLy8vLyUlJiYmJiYmJycoKCgoKCkqKysrKywtLy8vLy8vLy8vJSUmJiYmJiYnJygoKCgoKSorKysrLC0vLy8vLy8vLy8mJycoKCgoKCgoKSkpKSkqKywsLCwtLi8vLy8vLy8wMCoqKioqKioqKioqKioqKywsLS0tLS0uLy8vLy8wMDAwHx8jJR8fIyYfHyQmHx8kJh8gJCcfICUoHyAlKB8hJighIygqIiQoKyIkKCskJistJigtLyYoLS8nKS0vKisuLx8fHx8fHx8fISIiJCYmJyofHx8fICAgISMkJCYoKCkrIyMkJCQlJSYoKCgrLS0tLiUmJiYnKCgoKisrLS8vLy8gHx8fISUlJh8fHx8hJSUnHx8fHyEmJicfHx8fIiYmKB8fHx8iJiYoHx8fHyImJigfHx8fIiYmKB8fHx8iJiYoHx8gICInJygeHyAgIicnKB4fICAjKCgpHh8gICMoKCkeHyAgIygoKR4fICAjKCgpHyAhISMoKCkgISIiJCkpKiEiIyMlKiorISMkJCYrKywhIyQkJisrLCEjJCQmKyssISMkJCYrKywiJCUlJywsLSMlJiYpLS0uJCYnJyovLy8lJygoKy8vLyUnKCgrLy8vJScoKCsvLy8lJygoKy8vLycoKSkrLy8vKCkqKiwvLy8qKisrLC8vMCoqKyssLy8wIB8fHx8fHx8fHh4eHh4fICEhISEhIiMkJSUlJScoKiofHx8fHx8fHx8fHx8fHyAhIiMjIyMkJSYnJycnKCkqKh8fHx8fHx8fICAgICAgISIjJCQkJCUmJygoKCgpKisrHx8fHx8fHx8gICAgICAhIiMkJCQkJSYnKCgoKCkqKyshISEiIiIiIiIiIyMjIyMkJSYmJiYnKSorKysrKywsLCUlJiYmJiYmJycoKCgoKCkqKysrKywtLy8vLy8vLy8vJSUmJiYmJiYnJygoKCgoKSorKysrLC0vLy8vLy8vLy8mJycoKCgoKCgoKSkpKSkqKywsLCwtLi8vLy8vLy8wMB8fHyAfICAgHyAgICAgICEfHx8fHx8gIB8gICAgICAgHyAgICAgICAfICAgICAgIB8gICAgICAgHyAgICAgICAgICAgICAhISAgICAgICEhIB8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgICAfHx8fHx8gICAgICAgICAgHx8fICAgICAgICAgICAgIB8fHyAgICAgICAgICAgICAfHx8gICAgICAgICAgICAgHx8gICAgICAgICAgICAgIB8fICAgICAgICAgICAgICAfHyAgICAgICAgICAgICAgHx8gICAgICAgICAgICAgIB8fICAgICAgICAgICAgICAfHyAgICAgICAgICAhISEhHyAgICAgICAgICAhISEhIR8gICAgICAgICAgISEhISEfICAgICAgICAgICEhISEhHyAgICAgICAgICAhISEhISAfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8gHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fICAgICAgICAfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgICAgICAgIB8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgICAgICAgICAgHx8fHx8fHx8fHx8gICAgICAgICAgICAgICAgICAgICAfHx8fHyAgICAgICAgICAgICAgICAgICAgICAgICAgIB8fHx8fICAgICAgICAgICAgICAgICAgICAgICAgICAgHx8fHx8gICAgICAgICAgICAgICAgICAgICAgICAgICAfHx8fHyAgICAgICAgICAgICAgICAgICAgICAgICAgIB8fHx8fICAgICAgICAgICAgICAgICAgICAgICAgICAgHx8fHx8gICAgICAgICAgICAgICAgICAgICAgICAgICAfHx8fICAgICAgICAgICAgICAgICAgICAgICAgICAgIB8fHx8gICAgICAgICAgICAgICAgICAgICAgICAgICAgHx8fHyAgICAgICAgICAgICAgICAgICAgICAgICAgICAfHx8fICAgICAgICAgICAgICAgICAgICAgICAgICAgIB8fHx8gICAgICAgICAgICAgICAgICAgICAgICAgICAgHx8fHyAgICAgICAgICAgICAgICAgICAgICAgICAgICAfHx8fICAgICAgICAgICAgICAgICAgICAgICAgICAgIB8fHx8gICAgICAgICAgICAgICAgICAgICAgICAgICAgHx8fHyAgICAgICAgICAgICAgICAgICAgICAgICAgICAfHx8fICAgICAgICAgICAgICAgICAgICAgICAgICAgIB8fHyAgICAgICAgICAgICAgICAgICAgICAgICAgICAhHx8fICAgICAgICAgICAgICAgICAgICAgISEhISEhISEfHyAgICAgICAgICAgICAgICAgICAgICEhISEhISEhIR8gICAgICAgICAgICAgICAgICAgICAhISEhISEhISEhHyAgICAgICAgICAgICAgICAgICAgICEhISEhISEhISEfICAgICAgICAgICAgICAgICAgICAgISEhISEhISEhIR8gICAgICAgICAgICAgICAgICAgICAhISEhISEhISEhHyAgICAgICAgICAgICAgICAgICAgICEhISEhISEhISEfICAgICAgICAgICAgICAgICAgICAgISEhISEhISEhIR8gICAgICAgICAgICAgICAgICAgICAhISEhISEhISEhICAgICAgICAgICAgICAgICAgICAgISEhISEhISEhISEfHx8gHyAgIB8gICAfICAgHyAgIB8gICEgICAhICAgIR8fHx8fHyAgHyAgICAgICAfICAgICAgICAgICAgISEhIB8fHx8fHyAfHx8fHx8gIB8fICAgICAgHyAgICAgICAfICAgICAgIB8gICAgICAgHyAgICAgICAfICAgICAgIB8gICAgICAgHyAgICAgICAfICAgICAgIB8gICAgICEhHyAgICAgISEgICAgICAhIiAgICAgICEiICAgICAgISIgHx8fHx8fHx8fHx8fICAgHx8fICAgICAgICAgICAgIB8fICAgICAgICAgICAgICAfHyAgICAgICAgICAgICAgHx8gICAgICAgICAgICAgIB8fICAgICAgICAgICAgICAfICAgICAgICAgICEhISEhICAgICAgICAgICAhISIiIiAfHx8fHx8fHx8fHx8gICAfHx8fHx8fHx8fHx8gICAgHx8fHx8fHx8fHx8gICAgIB8fHx8gICAgICAgICAgICAfHx8gICAgICAgICAgICAgHx8gICAgICAgICAgICAgIB8fICAgICAgICAgICAgICAfHyAgICAgICAgICAgICAgHx8gICAgICAgICAgICAgIB8fICAgICAgICAgICAgICAfHyAgICAgICAgICAgICAgHx8gICAgICAgICAgICAgIB8fICAgICAgICAgICAgICAfHyAgICAgICAgICAgICAgHx8gICAgICAgICAgICAgIB8fICAgICAgICAgICAgICEfHyAgICAgICAgICAgICAhHx8gICAgICAgICAgICAgIR8fICAgICAgICAgICAgICEfHyAgICAgICAgICAgICAhHx8gICAgICAgICAgICAgIR8fICAgICAgICAgICAhISEfICAgICAgICAgICAhISEhHyAgICAgICAgICAgISEhIR8gICAgICAgICAgISEhISIgICAgICAgICAgICEhISIiICAgICAgICAgICAhISEiIiAgICAgICAgICAgISEhIiIgICAgICAgICAgICEhISIiICAgICAgICAgICAhISEiIiAgICAgICAgICAgISEhIiIgICAgICAgICAgICEhISIiIB8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgICAgICAfHx8fHx8fHx8fHx8fHx8fHx8fHx8fICAgICAgICAgIB8fHx8fICAgICAgICAgICAgICAgICAgICAgICAgICAgHx8fHyAgICAgICAgICAgICAgICAgICAgICAgICAgICAfHx8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIB8fHyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgHx8fICAgICAgICAgICAgICAgICAgICAgICAgICAgICAfHx8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIB8fHyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgHx8fICAgICAgICAgICAgICAgICAgICAgICAgICAgICAfHx8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIB8fICAgICAgICAgICAgICAgICAgICAgICEhISEhISEhHyAgICAgICAgICAgICAgICAgICAgICEhISEhISEhISEgICAgICAgICAgICAgICAgICAgICAhISEhISEhISEhISAgICAgICAgICAgICAgICAgICAgICEhISEiIiIiIiIiICAgICAgICAgICAgICAgISEhISEhISEhIiIiIiIiIiIfHx8gHx8fIB8gICAfICAgHyAgIB8gICAfICAgHyAgIB8gICAfICAgHyAgICAgICEgICAhICAgISAgICEgICAhHx8fHx8fHx8fHx8gICAgIB8fICAgICAgICAgICAgICAfHyAgICAgICAgICAgICAgICAgICAgICAgICAhISEhISAfHx8fHx8gHx8fHx8fICAfHx8fHx8gIB8fICAgICAgHx8gICAgICAfICAgICAgIB8gICAgICAgHyAgICAgICAfICAgICAgIB8gICAgICAgHyAgICAgICAfICAgICAgIB8gICAgICAgHyAgICAgICAfICAgICAgIB8gICAgICAgHyAgICAgICAfICAgICAgIB8gICAgICAgHyAgICAgICAfICAgICAgIB8gICAgICAhHyAgICAgISEfICAgICAhIR8gICAgICEhICAgICAgISIgICAgICAhIiAgICAgICEiICAgICAgISIgICAgICAhIiAgICAgICEiICAgICAgISIgHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fICAgICAgIB8fHx8fICAgICAgICAgICAgICAgICAgICAgICAgICAgHx8fICAgICAgICAgICAgICAgICAgICAgICAgICAgICAfHx8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIB8fHyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgHx8fICAgICAgICAgICAgICAgICAgICAgICAgICAgICAfICAgICAgICAgICAgICAgICAgICAgISEhISEhISEhISAgICAgICAgICAgICAgICAgICAgICEhISEiIiIiIiIiHx8fIh8fHyMfHyAjIiMjJx8fHx8eHyEhHx8fHx8gIiIfHx8fHyAiIh8fHx8fICMjHh8fHyAgIyMfICAgICEkJCEiIiMjJCcnISIiIyMkJycgHx8fHx8fHh4eHh8hISEhHx8fHx8fHx8eHh4gISIiIh8fHx8fHx8fHx8fICEiIiIfHx8fHx8fHx8fHyAiIiIiHx8fHx8fHx8fHx8gIiIiIh8fHx8fHx8fHx8fICIiIiIfHx8fHx8fHx8fHyEiIyMjHh8fHx8fHx8fHx8hIiMjIx4eHx8fHx8fICAgISIjIyMeHh8fHx8fHyAgICEiIyMjHh4fHx8fHx8gICAhIiMjIx8gICAgICEhISEhIiQlJSUhISEiIiIiIiIiIiQlJiYmISIiIiIiIyMjIyMlJicnJyEiIiIiIiMjIyMjJSYnJychIiIiIiIjIyMjIyUmJycnIB8fHx8fHx8fHx8fHx4eHh4eHh4eHx8gISEhISEhISIfHx8fHx8fHx8fHx8fHx4eHh4eHh4fHyAhISEhISEhIh8fHx8fHx8fHx8fHx8fHx4eHh4eHh8gICEiIiIiIiIiHx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAhISIiIiIiIiMfHx8fHx8fHx8fHx8fHx8fHx8fHx8fICEhIiIiIiIiIx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgISIiIiIiIiIjHx8fHx8fHx8fHx8fHx8fHx8fHx8fICAhIiIiIiIiIiMfHx8fHx8fHx8fHx8fHx8fHx8fHx8gICEiIiIiIiIiIx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgISIiIiIiIiIjHx8fHx8fHx8fHx8fHx8fHx8fHx8fICAhIiIiIiIiIiMfHx8fHx8fHx8fHx8fHx8fHx8fHx8gICEiIiIiIiIiIx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgISIjIyMjIyMjHx8fHx8fHx8fHx8fHx8fHx8fHx8fICEhIiMjIyMjIyMeHx8fHx8fHx8fHx8fHx8fHx8fHx8gISEiIyMjIyMjJB4eHx8fHx8fHx8fHx8fHx8fHx8fHyAhIiIjIyMjIyMkHh4eHx8fHx8fHx8fHx8fICAgICAgICEiIiMjIyMjIyQeHh4fHx8fHx8fHx8fHx8gICAgICAgISIiIyMjIyMjJB4eHh8fHx8fHx8fHx8fHyAgICAgICAhIiIjIyMjIyMkHh4eHx8fHx8fHx8fHx8fICAgICAgICEiIiMjIyMjIyQeHh4fHx8fHx8fHx8fHx8gICAgICAgISIiIyMjIyMjJB4eHh8fHx8fHx8fHx8fHyAgICAgICAhIiIjIyMjIyMkHx8fHx8gICAgICAgICAgICAgICAgISIiIyQkJCQkJCUfHyAgICAgICAgICAhISEhISEhISEiIiMkJSUlJSUlJSAgICEhISEhISEhISEhIiIiIiIiIiIjJCUlJSUlJSUmISEhISEiIiIiIiIiIiIiIiIiIiIiIyQlJSYmJiYmJichISIiIiIiIiIiIiMjIyMjIyMjIyMkJSUmJycnJycnKCEhIiIiIiIiIiIiIyMjIyMjIyMjIyQlJSYnJycnJycoISEiIiIiIiIiIiIjIyMjIyMjIyMjJCUlJicnJycnJyghISIiIiIiIiIiIiMjIyMjIyMjIyMkJSUmJycnJycnKCEhIiIiIiIiIiIiIyMjIyMjIyMjIyQlJSYnJycnJycoISEiIiIiIiIiIiIjIyMjIyMjIyMjJCUlJicnJycnJygiIiIjIyMjIyMjIyMjJCQkJCQkJCQlJSYnKCgoKCgoKB8fHyIfHx8jHx8fIx8gICQfICAkHyEhJSIkJCgiJCQoHx8fHx8fIiIfHx8gICEkJB8fHyAgISQkIiMjJCQlKCggHx8fHx8hIx8fHx8fHyEkHx8fHx8fIiQfHx8fHx8iJR8fHx8fHyIlHx8fHx8fIiUfHx8gICAiJR4fHyAgICImHh8gICAgIyYeHyAgICAjJh4fICAgICMmHyAhISEhJCchIiIjIyMlKCEiIyQkJCYpISIjJCQkJikhIiMkJCQmKSAfHx8fHx8eHh4eHyEhISEfHx8fHx8fHx8fHyAiIiIiHx8fHx8fHx8gICAhIiMjIx8fHx8fHyAgICAgISMkJCQfHx8fHx8gICAgICEjJCQkHx8fHx8fICAgICAhIyQkJCEhIiIiIiIiIyMjJCUmJiYjJCQlJSUlJiYmJicoKSkpIB8fHx8fHx8fHx8gISIjJR8fHx8fHx8fHx8fICEiIyUfHx8fHx8fHx8fHyAhIiQlHx8fHx8fHx8fHx8gISMkJh8fHx8fHx8fHx8fICIjJCYfHx8fHx8fHx8fHyEiIyUmHx8fHx8fHx8fHx8hIiMlJh8fHx8fHx8fHx8fISIjJSYfHx8fHx8fHx8fHyEiIyUmHx8fHx8fHx8fHx8hIiMlJh8fHx8fHx8fHx8fISIjJSYfHx8fHx8fHx8fHyEiIyUmHx8fHx8gICAgICAhIiQlJx8fHx8fICAgICAgISIkJSceHx8fHyAgICAgICEiJCYnHh8fHyAgICAgICAhIyQmKB4fHx8gICAgICAgISMkJigeHx8fICAgICAgICEjJCYoHh8fHyAgICAgICAhIyQmKB4fHx8gICAgICAgISMkJigeHx8fICAgICAgICEjJCYoHx8fICAhISEhISEiIyUmKB8gICEhISEhISEhIyQlJykgICEhIiIiIiIiIiMlJigpISEiIiIjIyMjIyMkJScoKiEiIiMjJCQkJCQkJSYoKSshIiIjIyQkJCQkJCUmKCkrISIiIyMkJCQkJCQlJigpKyEiIiMjJCQkJCQkJSYoKSshIiIjIyQkJCQkJCUmKCkrISIiIyMkJCQkJCQlJigpKyIiIyMkJCQkJCQkJicoKiwgHx8fHx8fHx8fHx8fHx4eHh4eHh4fHyAhISEhISEhIh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8gICEiIiIiIiIiHx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAhIiIiIiIiIiMfHx8fHx8fHx8fHx8fHx8fHx8fHx8gISEiIyMjIyMjIx8fHx8fHx8fHx8fHx8fHyAgICAgICAhIiIjIyMjIyMkHx8fHx8fHx8fHx8fICAgICAgICAgISEiIyQkJCQkJCQfHx8fHx8fHx8fHx8gICAgICAgICAhISIjJCQkJCQkJB8fHx8fHx8fHx8fHyAgICAgICAgICEhIiMkJCQkJCQkHx8fHx8fHx8fHx8fICAgICAgICAgISEiIyQkJCQkJCQfHx8fHx8fHx8fHx8gICAgICAgICAhISIjJCQkJCQkJB8fHx8fHx8fHx8fHyAgICAgICAgICEhIiMkJCQkJCQkICAgICAhISEhISEhISEhISEhISEhIiMjJCUlJSUlJSYhISEhIiIiIiIiIiIiIiIjIyMjIyMjJCUlJiYmJiYmJyIiIiMjIyMjIyMjIyQkJCQkJCQkJCUlJicoKCgoKCgoIyMkJCQlJSUlJSUlJSUmJiYmJiYmJicoKCkpKSkpKSolJSUmJiYmJiYmJiYnJycoKCgoKCgoKSkqKysrKysrLB8fHyIfHx8iHx8fIx8fHyMfHx8jHx8fIx8gICQfICAkHyAgJB8gICQfICAkICEhJSEjIyciJCQoIiQkKCIkJCgfHx8fHx8fHx8fHyAhIiIiHx8fHx8fICAgICAhIyQkJB8fHx8fHyAgICAgISMkJCQiIiMjIyMkJCQkJCUnKCgoIB8fHx8fISMfHx8fHx8hIx8fHx8fHyEkHx8fHx8fISQfHx8fHx8iJB8fHx8fHyIlHx8fHx8fIiUfHx8fHx8iJR8fHx8fHyIlHx8fHx8fIiUfHx8fHx8iJR8fHx8fHyIlHx8fICAgIiUfHx8gICAiJR4fHyAgICImHh8gICAgIyYeHyAgICAjJh4fICAgICMmHh8gICAgIyYeHyAgICAjJh4fICAgICMmHx8gISEhIyYfICEhISEkJyAhIiIiIiUoISIiIyMjJSghIiMkJCQmKSEiIyQkJCYpISIjJCQkJikhIiMkJCQmKSEiIyQkJCYpISIjJCQkJikiIyQkJCQnKiAfHx8fHx8fHx8fHx8fHh4eHh4eHh8fICEhISEhISEiHx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAhIiIiIiIiIiMfHx8fHx8fHx8fHx8fHx8gICAgICAgISIiIyMjIyMjJB8fHx8fHx8fHx8fHyAgICAgICAgICEhIiMkJCQkJCQkHx8fHx8fHx8fHx8fICAgICAgICAgISEiIyQkJCQkJCQfHx8fHx8fHx8fHx8gICAgICAgICAhISIjJCQkJCQkJCEhISEiIiIiIiIiIiIiIiMjIyMjIyMkJSUmJiYmJiYnIyMkJCQlJSUlJSUlJSUmJiYmJiYmJicoKCkpKSkpKSofHx8fHyAgIB8gICAfICAgHx8fHx8fHx8fHx8fHx8fHx8fHyAgICAgHx8gICAgICAfHyAgICAgIB8fICAgICAgHx8gICAgICAfHyAgICAgICAfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgICAgHx8fHx8gICAgICAgICAgIB8fHx8fICAgICAgICAgICAfHx8fHyAgICAgICAgICAgHx8fHx8gICAgICAgICAgIB8fHx8fICAgICAgICAgICAfHx8fHyAgICAgICAgICAgHx8fHyAgICAgICAgICAgIB8fHx8gICAgICAgICAgICAfHx8fICAgICAgICAgICAgHx8fHyAgICAgICAgICAgIB8fHx8gICAgICAgICAgICAgHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8gICAgICAgHx8fHx8fHx8fHx8fHx8fHx8fHx8fICAgICAgICAgICAfHx8fHx8fHx8fICAgICAgICAgICAgICAgICAgICAgIB8fHx8fHx8fHyAgICAgICAgICAgICAgICAgICAgICAgHx8fHx8fHx8fICAgICAgICAgICAgICAgICAgICAgICAfHx8fHx8fHx8gICAgICAgICAgICAgICAgICAgICAgIB8fHx8fHx8fHyAgICAgICAgICAgICAgICAgICAgICAgHx8fHx8fHx8fICAgICAgICAgICAgICAgICAgICAgICAfHx8fHx8fHx8gICAgICAgICAgICAgICAgICAgICAgIB8fHx8fHx8fHyAgICAgICAgICAgICAgICAgICAgICAgHx8fHx8fHx8fICAgICAgICAgICAgICAgICAgICAgICAfHx8fHx8fHx8gICAgICAgICAgICAgICAgICAgICAgIB8fHx8fHx8fHyAgICAgICAgICAgICAgICAgICAgICAgHx8fHx8fHx8fICAgICAgICAgICAgICAgICAgICAgICAfHx8fHx8fHyAgICAgICAgICAgICAgICAgICAgICAgIB8fHx8fHx8fICAgICAgICAgICAgICAgICAgICAgICAgHx8fHx8fHx8gICAgICAgICAgICAgICAgICAgICAgICAfHx8fHx8fHyAgICAgICAgICAgICAgICAgICAgICAgIB8fHx8fHx8gICAgICAgICAgICAgICAgICAgICAgICAgHx8fHx8fHyAgICAgICAgICAgICAgICAgICAgICAgICAfHx8fHx8fICAgICAgICAgICAgICAgICAgICAgICAgIB8fHx8fHx8gICAgICAgICAgICAgICAgICAgICAgICAgHx8fHx8fHyAgICAgICAgICAgICAgICAgICAgICAgICAfHx8fHx8fICAgICAgICAgICAgICAgICAgICAgICAgIB8fHx8fHx8gICAgICAgICAgICAgICAgICAgICAgICAgHx8fHx8fHx8fICAgHyAgIB8gICAfICAgHyAgIB8gICAfHx8fHx8fHx8fICAgICAgHx8gICAgICAfHyAgICAgICAfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8gICAgHx8fICAgICAfHyAgICAgIB8fICAgICAgHx8gICAgICAfHyAgICAgIB8fICAgICAgHx8gICAgICAfHyAgICAgIB8fICAgICAgHx8gICAgICAfHyAgICAgIB8fICAgICAgIB8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgICAgICAgICAgHx8fHyAgICAgICAgICAgIB8fHyAgICAgICAgICAgICAfHx8gICAgICAgICAgICAgHx8fICAgICAgICAgICAgIB8fHyAgICAgICAgICAgICAgHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgICAgICAgHx8fHx8fICAgICAgICAgIB8fHx8fICAgICAgICAgICAfHx8fICAgICAgICAgICAgHx8fHyAgICAgICAgICAgIB8fHx8gICAgICAgICAgICAfHx8fICAgICAgICAgICAgHx8fHyAgICAgICAgICAgIB8fHx8gICAgICAgICAgICAfHx8fICAgICAgICAgICAgHx8fHyAgICAgICAgICAgIB8fHx8gICAgICAgICAgICAfHx8fICAgICAgICAgICAgHx8fHyAgICAgICAgICAgIB8fHx8gICAgICAgICAgICAfHx8fICAgICAgICAgICAgHx8fHyAgICAgICAgICAgIB8fHx8gICAgICAgICAgICAfHx8fICAgICAgICAgICAgHx8fHyAgICAgICAgICAgIB8fHyAgICAgICAgICAgICAfHx8gICAgICAgICAgICAgHx8fICAgICAgICAgICAgIB8fHyAgICAgICAgICAgICAfHx8gICAgICAgICAgICAgHx8fICAgICAgICAgICAgICAfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fICAgICAgHx8fHx8fHx8fICAgICAgICAgICAgICAgICAgICAgICAfHx8fHx8fHyAgICAgICAgICAgICAgICAgICAgICAgIB8fHx8fHx8gICAgICAgICAgICAgICAgICAgICAgICAgHx8fHx8fHyAgICAgICAgICAgICAgICAgICAgICAgICAfHx8fHx8gICAgICAgICAgICAgICAgICAgICAgICAgIB8fHx8fHyAgICAgICAgICAgICAgICAgICAgICAgICAgHx8fHx8fICAgICAgICAgICAgICAgICAgICAgICAgICAfHx8fHx8gICAgICAgICAgICAgICAgICAgICAgICAgIB8fHx8fHyAgICAgICAgICAgICAgICAgICAgICAgICAgHx8fHx8fICAgICAgICAgICAgICAgICAgICAgICAgICAfHx8fHx8gICAgICAgICAgICAgICAgICAgICAgICAgIB8fHx8fHyAgICAgICAgICAgICAgICAgICAgICAgICAgHx8fHx8fHx8fHx8fHx8gIB8gICAfICAgHyAgIB8gICAfICAgHyAgIB8gICAfICAgHyAgIB8gICAfICAgHyAgIB8fHx8fHx8fHx8fHx8fHx8fHx8fICAgICAgICAgICAgHx8fICAgICAgICAgICAgIB8fHyAgICAgICAgICAgICAgHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fICAgIB8fHyAgICAgHx8fICAgICAfHyAgICAgIB8fICAgICAgHx8gICAgICAfHyAgICAgIB8fICAgICAgHx8gICAgICAfHyAgICAgIB8fICAgICAgHx8gICAgICAfHyAgICAgIB8fICAgICAgHx8gICAgICAfHyAgICAgIB8fICAgICAgHx8gICAgICAfHyAgICAgIB8fICAgICAgHx8gICAgICAfHyAgICAgIB8fICAgICAgHx8gICAgICAfHyAgICAgIB8fICAgICAgIB8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgICAgICAgICAgICAgICAgICAgICAgHx8fHx8fHyAgICAgICAgICAgICAgICAgICAgICAgICAfHx8fHx8gICAgICAgICAgICAgICAgICAgICAgICAgIB8fHx8fHyAgICAgICAgICAgICAgICAgICAgICAgICAgHx8fHx8fICAgICAgICAgICAgICAgICAgICAgICAgICAfHx8fHx8gICAgICAgICAgICAgICAgICAgICAgICAgIB8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx4fHx8fHx8fIB8fHx8fHx8fHx8fHx4eHh8fHx8fHx8fHx8fHx8fHh4fHx8fHx8fHx8fHx8fHx8eHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx4fHx8fHx8fHx8fHx8fHx8eHh8fHx8fHx8fHx8fHx8fHh4eHx8fHx8fHx8fHx8fICAfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHh4eHh4eHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8eHh4eHh4fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8eHh4eHh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8eHh4eHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8eHh4fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8eHh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx4eHh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHh4eHh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8eHh4eHh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx4eHh4eHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgHh4eHh4fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fICAfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgHh8gIB8fHx8fHx8eHx8fHx8fHx8fHx8fHx8gIB8fHx8fHyAgIB8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8gICAfHx8fHyAgIB4fHx8fICAgHh8fHyAgICAgHx8fHx8fHx8fHx8fHx4eHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fIB8fHx8fHx8fHx8fHyAgICAfHx8fHx8fHx8fHx8gICAgHx8fHx8fHx8fHx8fICAgICAfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgICAgIB8fHx8fHx8fHx8gICAgICAfHx8fHx8fHx8gICAgICAgHx8fHx8fHx8fICAgICAgIB4fHx8fHx8fHyAgICAgICAeHx8fHx8fHx8gICAgICAgHh4fHx8fHx8gICAgICAgIB4eHx8fHx8fICAgICAgICAeHh8fHx8fHyAgICAgICAgIB8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHh4eHh4fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx4eHh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fICAgHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgICAgICAfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgICAgICAgIB8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fICAgICAgICAgHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8gICAgICAgICAfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgICAgICAgIB8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fICAgICAgICAgHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8gICAgICAgICAfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8gHx8gIB8fICAeHyAgHx8fHx8fHx8fHx8fHx8fHh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fICAgHx8fHx8fHx8fHx8fICAgICAfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgIB8fHx8fICAgHx8fHx8gICAfHx8fHyAgIB4fHx8fICAgHh8fHx8gICAeHx8fICAgIB4fHx8gICAgHh8fHyAgICAgHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8eHh4eHh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fICAgHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8gICAgICAgICAfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHyAgICAgICAgIB8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fICAgICAgICAg",
|
|
31
|
-
Uint8Array
|
|
32
|
-
));
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Dimensions of {@link QUANTIZER_MATRIX}, outermost first. The last entry is the row stride.
|
|
36
|
-
* @type {number[]}
|
|
37
|
-
*/
|
|
38
|
-
export const QUANTIZER_MATRIX_SHAPE = [15, 2, 3344];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"quantizer_tables.d.ts","sourceRoot":"","sources":["../../../../../../src/avif/native/av1/tables/quantizer_tables.js"],"names":[],"mappings":"AAOA;;;GAGG;AACH,yBAFU,WAAW,CAmElB;AAEH;;;GAGG;AACH,+BAFU,MAAM,EAAE,CAEuB;AAEzC;;;GAGG;AACH,yBAFU,WAAW,CAmElB;AAEH;;;GAGG;AACH,+BAFU,MAAM,EAAE,CAEuB"}
|