├── .bazelrc
├── .bazelversion
├── .clang-format
├── .gitignore
├── .gitmodules
├── .travis.yml
├── .vscode
├── .vs_code_bazel_build
│ └── BUILD
├── c_cpp_properties.json
├── launch.json
└── tasks.json
├── BUILD
├── DISCLAIMER
├── LICENSE
├── NOTICE
├── README.md
├── RETIRED.txt
├── WORKSPACE
├── base
├── BUILD
├── logging.cc
└── logging.h
├── bazel
├── BUILD
├── apr.bzl
├── aprutil.bzl
├── closure_compiler.bzl
├── data2c.bzl
├── drp.bzl
├── get_workspace_status
├── giflib.bzl
├── google_sparsehash.bzl
├── hiredis.bzl
├── jsoncpp.bzl
├── libjpeg_turbo.bzl
├── libpng.bzl
├── libwebp.bzl
├── optipng.bzl
├── pagespeed_test.bzl
├── platform_mappings
├── repositories.bzl
└── serf.bzl
├── benchmark
├── BUILD
├── benchmark.h
├── net
│ └── instaweb
│ │ └── rewriter
│ │ ├── BUILD
│ │ ├── css_minify_speed_test.cc
│ │ ├── domain_lawyer_speed_test.cc
│ │ ├── image_speed_test.cc
│ │ ├── javascript_minify_speed_test.cc
│ │ └── rewrite_driver_speed_test.cc
└── pagespeed
│ ├── automatic
│ ├── BUILD
│ └── rewriter_speed_test.cc
│ └── kernel
│ ├── base
│ ├── BUILD
│ ├── fast_wildcard_group_speed_test.cc
│ ├── file_system_speed_test.cc
│ └── string_multi_map_speed_test.cc
│ ├── cache
│ ├── BUILD
│ ├── compressed_cache_speed_test.cc
│ └── lru_cache_speed_test.cc
│ ├── html
│ ├── BUILD
│ └── html_parse_speed_test.cc
│ └── util
│ ├── BUILD
│ ├── deque_speed_test.cc
│ └── url_escaper_speed_test.cc
├── build
└── lastchange.sh
├── devel
├── Makefile
├── apache_cleanup.sh
├── apache_configure_https_port.sh
├── apache_configure_php5_from_etc_php5.sh
├── apache_create_server_certificate.sh
├── apache_install.sh
├── apache_rotate_logs.sh
├── build_release_tarball.sh
├── check_for_leaks
├── check_tests_are_run.sh
├── checkin
├── checkin.make
├── checkin_test_helpers.sh
├── create_distro_tarball.sh
├── doxify.sh
├── doxify_tree.sh
├── doxygen.cfg
├── expectfail
├── fetch_all.py
├── gcov-all.sh
├── loadtest_collect
│ ├── loadtest_collect.conf
│ ├── loadtest_collect_corpus.sh
│ └── script.js
├── lots_of_vhosts.sh
├── mps_generate_load.sh
├── mps_load_test.sh
├── scrape_error_log_for_crashes.sh
├── siege
│ ├── siege.conf
│ ├── siege_all.sh
│ ├── siege_extended_css.sh
│ ├── siege_extended_js.sh
│ ├── siege_helper.sh
│ ├── siege_html.sh
│ ├── siege_html_high_entropy.sh
│ ├── siege_instant_ipro.sh
│ ├── siege_ipro_image.sh
│ ├── siege_ipro_image_memcached.sh
│ ├── siege_rewritten_css.sh
│ └── siege_rewritten_js.sh
├── slurp_test.sh
├── trace_stress_test.sh
├── trace_stress_test_percentiles.sh
├── turn_on_timewait_recyling.sh
└── valgrind_suppressions.txt
├── extensions_build_config.bzl
├── external
├── apr.patch
└── brotli.patch
├── extract_so_from_deb.sh
├── html
├── README.md
├── doc
│ ├── .htaccess
│ ├── CVE-2012-4001.html
│ ├── CVE-2012-4360.html
│ ├── CVE-2013-6111.html
│ ├── _footer.html
│ ├── _header.html
│ ├── _navline.html
│ ├── admin.html
│ ├── analytics_screenshots
│ │ ├── 10_histogram.png
│ │ ├── 1_login.png
│ │ ├── 2_import_advanced_segment.png
│ │ ├── 3_segment_settings.png
│ │ ├── 4_profile_switch.png
│ │ ├── 5_profile_switched.png
│ │ ├── 6_standard_reporting.png
│ │ ├── 7_page_timings.png
│ │ ├── 8_advanced_segments.png
│ │ └── 9_page_level_timings.png
│ ├── announce-0.10.22.6.html
│ ├── announce-ngx-sec-update-201310.html
│ ├── announce-sec-update-201310.html
│ ├── announce-sec-update-201601.html
│ ├── announce-sec-update-201603.html
│ ├── build_from_source.html
│ ├── build_mod_pagespeed_from_source.html
│ ├── build_ngx_pagespeed_from_source.html
│ ├── config_filters.html
│ ├── configuration.html
│ ├── console.html
│ ├── doc.css
│ ├── domains.html
│ ├── download.html
│ ├── downstream-caching.html
│ ├── experiment.html
│ ├── faq.html
│ ├── filter-attribute-elide.html
│ ├── filter-cache-extend-pdfs.html
│ ├── filter-cache-extend.html
│ ├── filter-canonicalize-js.html
│ ├── filter-comment-remove.html
│ ├── filter-convert-meta-tags.html
│ ├── filter-css-above-scripts.html
│ ├── filter-css-combine.html
│ ├── filter-css-inline-google-fonts.html
│ ├── filter-css-inline-import.html
│ ├── filter-css-inline.html
│ ├── filter-css-outline.html
│ ├── filter-css-rewrite.html
│ ├── filter-css-to-head.html
│ ├── filter-dedup-inlined-images.html
│ ├── filter-domain-rewrite.html
│ ├── filter-flatten-css-imports.html
│ ├── filter-head-add.html
│ ├── filter-head-combine.html
│ ├── filter-hint-preload-subresources.html
│ ├── filter-image-optimize.html
│ ├── filter-image-responsive.html
│ ├── filter-image-sprite.html
│ ├── filter-inline-preview-images.html
│ ├── filter-insert-dns-prefetch.html
│ ├── filter-insert-ga.html
│ ├── filter-instrumentation-add.html
│ ├── filter-js-combine.html
│ ├── filter-js-defer.html
│ ├── filter-js-inline.html
│ ├── filter-js-minify.html
│ ├── filter-js-outline.html
│ ├── filter-lazyload-images.html
│ ├── filter-local-storage-cache.html
│ ├── filter-make-google-analytics-async.html
│ ├── filter-make-show-ads-async.html
│ ├── filter-pedantic.html
│ ├── filter-prioritize-critical-css.html
│ ├── filter-quote-remove.html
│ ├── filter-rewrite-style-attributes.html
│ ├── filter-source-maps-include.html
│ ├── filter-strip-scripts.html
│ ├── filter-trim-urls.html
│ ├── filter-whitespace-collapse.html
│ ├── filters.html
│ ├── https_support.html
│ ├── images
│ │ ├── admin_config.png
│ │ ├── downstream_caching.png
│ │ ├── purge_entire_cache.png
│ │ ├── purge_one_url.png
│ │ ├── puzzle_optimized_to_low_quality_webp.webp
│ │ ├── puzzle_optimized_to_low_quality_webp_and_saved_as_png.png
│ │ └── puzzle_original.jpg
│ ├── index.html
│ ├── mailing-lists.html
│ ├── mod_security.html
│ ├── module-run-experiment.html
│ ├── openssl-1.0.1h-fixes.html
│ ├── optimize-for-bandwidth.html
│ ├── reference-image-optimize.html
│ ├── release_notes.html
│ ├── restricting_urls.html
│ └── system.html
├── incubator.png
├── index.html
├── network-loading.png
└── pagespeed+nginx+apache.svg
├── install
├── Makefile
├── Makefile.tests
├── apache_downstream_caching_test.sh
├── apache_experiment_ga_test.sh
├── apache_experiment_no_ga_test.sh
├── apache_experiment_test.sh
├── apache_https_fetch_test.sh
├── build_development_apache.sh
├── build_env.sh
├── build_mps.sh
├── build_on_vm.sh
├── build_psol.sh
├── build_release.sh
├── centos
│ ├── build_env.sh
│ ├── install_mps_package.sh
│ ├── install_required_packages.sh
│ ├── make_vars.mk
│ ├── run_in_chroot.sh
│ └── setup_chroot.sh
├── clean_slate_for_tests.sh
├── common
│ ├── BRANDING
│ ├── apt.include
│ ├── installer.include
│ ├── mod-pagespeed
│ │ └── mod-pagespeed.info
│ ├── pagespeed.conf.template
│ ├── pagespeed.load.template
│ ├── repo.cron
│ ├── rpm.include
│ ├── rpmrepo.cron
│ ├── updater
│ └── variables.include
├── debian
│ ├── build.sh
│ ├── changelog.template
│ ├── conffiles
│ ├── control.template
│ ├── postinst
│ ├── postrm
│ └── prerm
├── debug.conf.template
├── debug_conf.v3.vcl
├── debug_conf.v4.vcl
├── demo.conf
├── do_not_modify
│ ├── Puzzle.jpg
│ ├── README
│ ├── cgi
│ │ ├── slow_js.cgi
│ │ └── verify_post.cgi
│ ├── evil.html
│ ├── favicon.d034f46c06475a27478e98ef5dff965e.ico
│ ├── logo.e80d1c59a673f560785784fb1ac10959.gif
│ ├── not_really_a_font.woff
│ ├── small_javascript.js
│ └── unknown_file.unknown
├── find_redis_cluster.sh
├── install_apxs.sh
├── install_examples.sh
├── install_from_source.sh
├── install_mps_package.sh
├── install_required_packages.sh
├── mod_pagespeed_example
│ ├── add_instrumentation.html
│ ├── canonicalize_javascript_libraries.html
│ ├── cgi
│ │ └── slow.cgi
│ ├── collapse_whitespace.html
│ ├── combine_css.html
│ ├── combine_css_debug.html
│ ├── combine_heads.html
│ ├── combine_javascript.html
│ ├── combine_javascript1.js
│ ├── combine_javascript2.js
│ ├── convert_meta_tags.html
│ ├── css_whitespace.html
│ ├── dedup_inlined_images.html
│ ├── defer_javascript.html
│ ├── delay_images.html
│ ├── elide_attributes.html
│ ├── example.notpdf
│ ├── example.pdf
│ ├── extend_cache.html
│ ├── extend_cache_pdfs.html
│ ├── fallback_rewrite_css_urls.html
│ ├── flatten_css_imports.html
│ ├── hint_preload_subresources.html
│ ├── images
│ │ ├── Beach.jpg
│ │ ├── BikeCrashIcn.png
│ │ ├── CradleAnimation.gif
│ │ ├── Cuppa.png
│ │ ├── IronChef2.gif
│ │ ├── OptPuzzle.jpg
│ │ ├── PageSpeedAnimation.gif
│ │ ├── PageSpeedAnimationSmall.gif
│ │ ├── Puzzle.jpg
│ │ ├── Puzzle2.jpg
│ │ ├── blocking_rewrite_test_dont_reuse_1.jpg
│ │ ├── blocking_rewrite_test_dont_reuse_2.jpg
│ │ ├── disclosure_arrow_dk_grey.png
│ │ ├── disclosure_arrow_dk_grey_down.png
│ │ ├── disclosure_open_plus.png
│ │ ├── gray_saved_as_rgb.webp
│ │ ├── pagespeed_logo.png
│ │ ├── schedule_event.svg
│ │ └── search_go_button.png
│ ├── in_place_optimize_for_browser
│ │ └── Puzzle.jpg
│ ├── index.html
│ ├── inline_css.html
│ ├── inline_google_font_css.html
│ ├── inline_import_to_link.html
│ ├── inline_javascript.html
│ ├── inline_javascript.js
│ ├── inline_preview_images.html
│ ├── insert_dns_prefetch.html
│ ├── insert_ga.html
│ ├── lazyload_images.html
│ ├── local_storage_cache.html
│ ├── make_google_analytics_async.html
│ ├── make_show_ads_async.html
│ ├── move_css_above_scripts.html
│ ├── move_css_to_head.html
│ ├── optimize_for_bandwidth.html
│ ├── outline_css.html
│ ├── outline_javascript.html
│ ├── pedantic.html
│ ├── prioritize_critical_css.html
│ ├── proxy_external_resource.html
│ ├── remove_comments.html
│ ├── remove_quotes.html
│ ├── resize_mobile_images.html
│ ├── resize_rendered_dimensions
│ │ └── image_resize_using_rendered_dimensions.html
│ ├── responsive_images.html
│ ├── responsive_images_iframe.html
│ ├── rewrite_css.html
│ ├── rewrite_css_images.html
│ ├── rewrite_images.html
│ ├── rewrite_javascript.html
│ ├── rewrite_javascript.js
│ ├── rewrite_style_attributes.html
│ ├── rewrite_style_attributes_dual.html
│ ├── sprite_images.html
│ ├── stress_test.html
│ ├── styles
│ │ ├── all_styles.css
│ │ ├── all_using_imports.css
│ │ ├── big.css
│ │ ├── blue.css
│ │ ├── bold.css
│ │ ├── data.css
│ │ ├── fallback_rewrite_css_urls.css
│ │ ├── index_style.css
│ │ ├── rewrite_css_images.css
│ │ ├── sprite_images.css
│ │ └── yellow.css
│ └── trim_urls.html
├── mod_pagespeed_test
│ ├── add_instrumentation.html
│ ├── add_instrumentation.xhtml
│ ├── ajax
│ │ └── ajax.html
│ ├── auth
│ │ ├── medium_purple.css
│ │ └── passwd.conf
│ ├── avoid_renaming_introspective_javascript__off.html
│ ├── avoid_renaming_introspective_javascript__on
│ │ ├── .htaccess
│ │ └── index.html
│ ├── blacklist
│ │ ├── another_normal.js
│ │ ├── blacklist.html
│ │ ├── ckeditor.js
│ │ ├── connect.facebook.net
│ │ │ └── en_US
│ │ │ │ └── all.js
│ │ ├── jquery-ui-1.8.2.custom.min.js
│ │ ├── js_tinyMCE.js
│ │ ├── normal.js
│ │ ├── proxy.html
│ │ ├── scriptaculous.js
│ │ ├── swfobject.js
│ │ ├── tiny_mce.js
│ │ └── tinymce.js
│ ├── blocking_rewrite.html
│ ├── blocking_rewrite_another.html
│ ├── bogus_content_encoding
│ │ └── content-encoding.example.com
│ │ │ └── ,
│ ├── bot_test.html
│ ├── broken-fetch.html
│ ├── broken-fetch.js
│ ├── cachable_rewritten_html
│ │ └── downstream_caching.html
│ ├── cache_flush
│ │ ├── 25095
│ │ │ ├── cache_flush_test.html
│ │ │ └── update.css
│ │ └── cache_flush_test.html
│ ├── clear_local_storage.html
│ ├── close_connection
│ │ └── close_connection.html
│ ├── combine_css_with_ids.html
│ ├── combine_js_very_many.html
│ ├── compressed
│ │ └── hello_js.custom_ext
│ ├── connection_refused.html
│ ├── css_minify_calc_function_value_zero.html
│ ├── css_minify_unicode_range_descriptor.html
│ ├── custom_fetch_headers.html
│ ├── custom_options
│ │ ├── .htaccess
│ │ └── Puzzle.jpg
│ ├── customhostheader
│ │ └── small.png
│ ├── disable_no_transform
│ │ ├── disable_no_transform.css
│ │ └── index.html
│ ├── downstream_caching.html
│ ├── embed_config.html
│ ├── example.json
│ ├── experimental_js_minifier
│ │ ├── index.html
│ │ └── script.js
│ ├── flush_subresources.html
│ ├── forbid_all_disabled
│ │ ├── .htaccess
│ │ ├── disabled
│ │ │ ├── cheat
│ │ │ │ ├── .htaccess
│ │ │ │ └── forbidden.html
│ │ │ └── forbidden.html
│ │ └── forbidden.html
│ ├── forbidden.html
│ ├── gzip_precompressed
│ │ ├── compressed.css
│ │ ├── compressed.js
│ │ └── index.html
│ ├── htaccess
│ │ ├── .htaccess
│ │ ├── override
│ │ │ ├── .htaccess
│ │ │ └── purple.css
│ │ └── purple.css
│ ├── https_fetch
│ │ └── https_fetch.html
│ ├── image_rewrite_with_flush
│ │ ├── a.jpg
│ │ └── image_rewrite_with_flush.php
│ ├── image_rewriting
│ │ ├── .htaccess
│ │ ├── data-srcset.html
│ │ ├── image_resize_using_rendered_dimensions.html
│ │ ├── rewrite_images.html
│ │ └── srcset.html
│ ├── inline_style_link_in_body
│ │ ├── inlining_style_link_body.html
│ │ └── style.css
│ ├── introspection.js
│ ├── invalid.css
│ ├── ipro
│ │ ├── cc200
│ │ │ └── example.css
│ │ ├── cc200nc
│ │ │ └── example.css
│ │ ├── cc200ns
│ │ │ └── example.css
│ │ ├── cc200nt
│ │ │ └── example.css
│ │ ├── cc200p
│ │ │ └── example.css
│ │ ├── cc200sma5
│ │ │ └── example.css
│ │ ├── cc200sma50
│ │ │ └── example.css
│ │ ├── cc200sma50cc9
│ │ │ └── example.css
│ │ ├── cc200sma50cc9nsp
│ │ │ └── example.css
│ │ ├── cc200sma50nsp
│ │ │ └── example.css
│ │ ├── cc200sma50sma5
│ │ │ └── example.css
│ │ ├── cc200sma50sma51
│ │ │ └── example.css
│ │ ├── cc20nc
│ │ │ └── example.css
│ │ ├── cc9
│ │ │ └── example.css
│ │ ├── cookie
│ │ │ └── vary_cookie.css
│ │ ├── cookie2
│ │ │ └── vary_cookie2.css
│ │ ├── index.html
│ │ ├── instant
│ │ │ ├── deadline
│ │ │ │ └── purple.css
│ │ │ └── wait
│ │ │ │ └── purple.css
│ │ ├── mod_deflate
│ │ │ └── big.css
│ │ ├── no-cache-control-header
│ │ │ ├── .htaccess
│ │ │ ├── ipro.html
│ │ │ └── test_image_dont_reuse.png
│ │ ├── nocache
│ │ │ ├── .htaccess
│ │ │ └── test_image_dont_reuse.png
│ │ ├── nocc
│ │ │ └── example.css
│ │ ├── test_image_dont_reuse.png
│ │ ├── test_image_dont_reuse2.png
│ │ └── wait
│ │ │ ├── long
│ │ │ └── purple.css
│ │ │ └── short
│ │ │ └── Puzzle.jpg
│ ├── jpeg_rewriting
│ │ └── rewrite_images.html
│ ├── js_defer_multiple_body.html
│ ├── js_defer_onload_in_html.html
│ ├── js_defer_order.html
│ ├── js_defer_order_before_after_hooks.html
│ ├── js_defer_order_dw.html
│ ├── js_defer_order_dw_partial.html
│ ├── js_defer_order_ext.html
│ ├── js_defer_order_ext.js
│ ├── js_defer_order_inline.html
│ ├── large_file.html
│ ├── lff_ipro
│ │ └── fake.woff
│ ├── load_from_file
│ │ ├── file_dir
│ │ │ ├── example.ssp.css
│ │ │ ├── exception.ssp.css
│ │ │ ├── httponly
│ │ │ │ └── example.css
│ │ │ └── style.css
│ │ ├── index.html
│ │ └── web_dir
│ │ │ ├── example.ssp.css
│ │ │ ├── exception.ssp.css
│ │ │ ├── httponly
│ │ │ └── example.css
│ │ │ └── style.css
│ ├── load_from_file_match
│ │ ├── file_dir
│ │ │ └── style.css
│ │ ├── index.html
│ │ └── web_dir
│ │ │ └── style.css
│ ├── map_css_embedded
│ │ ├── issue494.html
│ │ └── styles.css
│ ├── map_origin_host_header.html
│ ├── max_cacheable_content_length
│ │ ├── large.js
│ │ ├── small.js
│ │ └── test_max_cacheable_content_length.html
│ ├── max_html_parse_size
│ │ └── large_file.html
│ ├── missing_coverage.html
│ ├── move_font_css_to_head.html
│ ├── no_cache
│ │ └── hello.js
│ ├── no_transform
│ │ ├── BikeCrashIcn.png
│ │ └── image.html
│ ├── normal.js
│ ├── normal2.js
│ ├── nostore
│ │ └── nostore.html
│ ├── optimize_for_bandwidth
│ │ ├── arrow.png
│ │ ├── core_filters
│ │ │ ├── arrow.png
│ │ │ ├── rewrite_css.html
│ │ │ └── yellow.css
│ │ ├── css_urls
│ │ │ ├── arrow.png
│ │ │ ├── rewrite_css.html
│ │ │ └── yellow.css
│ │ ├── image_urls
│ │ │ ├── arrow.png
│ │ │ └── rewrite_image.html
│ │ ├── inline_css
│ │ │ ├── arrow.png
│ │ │ ├── rewrite_css.html
│ │ │ └── yellow.css
│ │ ├── rewrite_css.html
│ │ ├── webp_urls
│ │ │ └── rewrite_webp.html
│ │ └── yellow.css
│ ├── passthrough
│ │ └── wtest.png.pagespeed.ic.cgfgPhuXaU.png
│ ├── php_gzip.php
│ ├── php_withflush.php
│ ├── php_withoutflush.php
│ ├── preserveurls
│ │ ├── off
│ │ │ └── preserveurls.html
│ │ └── on
│ │ │ └── preserveurls.html
│ ├── proxy_pass.css
│ ├── proxy_pass.html
│ ├── public
│ │ ├── rewrite_css.html
│ │ └── yellow.css
│ ├── purge
│ │ ├── .htaccess
│ │ ├── combine_css.html
│ │ └── styles
│ │ │ ├── big.css
│ │ │ ├── blue.css
│ │ │ ├── bold.css
│ │ │ └── yellow.css
│ ├── redirect
│ │ ├── .htaccess
│ │ ├── menu_php.html
│ │ ├── other_file.html
│ │ └── style.css
│ ├── remote_config
│ │ ├── remote.cfg
│ │ ├── remote.cfg.enable_comments
│ │ └── withhtaccess
│ │ │ └── remotecfgtest.html
│ ├── response_headers.html
│ ├── retain_cache_control
│ │ ├── .htaccess
│ │ └── index.html
│ ├── retain_cache_control_with_downstream_caching
│ │ ├── .htaccess
│ │ └── index.html
│ ├── rewrite_compressed_js.html
│ ├── rewrite_domains.html
│ ├── shard
│ │ └── shard.html
│ ├── shortcut_icons.html
│ ├── slow_flushing_html_response.php
│ ├── slurp
│ │ ├── selfsigned.modpagespeed.com
│ │ │ └── mod_pagespeed_example
│ │ │ │ ├── empty_header.html,
│ │ │ │ ├── extend_cache.html,
│ │ │ │ └── images
│ │ │ │ └── Puzzle.jpg,
│ │ └── www.example.com
│ │ │ └── ,
│ ├── ssi
│ │ ├── .htaccess
│ │ ├── header.html
│ │ └── ssi.shtml
│ ├── strip_subresource_hints
│ │ ├── default
│ │ │ ├── disallowtest.html
│ │ │ ├── index.html
│ │ │ └── multiple_subresource_hints.html
│ │ ├── default_passthrough
│ │ │ └── index.html
│ │ ├── preserve_off
│ │ │ └── index.html
│ │ └── preserve_on
│ │ │ └── index.html
│ ├── transitive_proxy.html
│ ├── type_attribute_pedantic.html
│ ├── unauthorized
│ │ ├── inline_css.html
│ │ ├── inline_unauthorized_javascript.html
│ │ ├── prioritize_critical_css.html
│ │ ├── red.css
│ │ └── with_unauthorized_imports.css
│ ├── url_valued_attribute_css.html
│ ├── url_valued_attribute_extend_cache.html
│ ├── vary
│ │ ├── index.html
│ │ ├── no_respect
│ │ │ ├── index.html
│ │ │ └── vary.css
│ │ └── vary.css
│ ├── webp_rewriting
│ │ ├── animated_images.html
│ │ ├── resizable_images.html
│ │ ├── resize_images.html
│ │ ├── rewrite_images.html
│ │ └── unresizable_images.html
│ └── whitespace.html
├── modpagespeed.com-configuration-example.conf
├── nginx.service
├── ngxpagespeed-com.conf
├── opensuse-initd-wrapper.sh
├── opensuse.sh
├── os_redirector.sh
├── prepare_ngx_pagespeed_examples.sh
├── proxy.conf.template
├── rpm
│ ├── build.sh
│ ├── mod-pagespeed.spec.template
│ └── pagespeed.cpanel.conf
├── run_in_chroot.sh
├── run_program_with_ext_caches.sh
├── run_program_with_memcached.sh
├── run_program_with_redis.sh
├── run_program_with_redis_cluster.sh
├── run_with_log.sh
├── setup_chroot.sh
├── setup_test_machine.sh
├── shell_utils.sh
├── start_background_server.sh
├── start_php.sh
├── stop_apache.sh
├── stress_test.sh
├── test.conf.template
├── test_package.sh
├── ubuntu
│ ├── build_env.sh
│ ├── install_mps_package.sh
│ ├── install_required_packages.sh
│ ├── make_vars.mk
│ ├── run_in_chroot.sh
│ └── setup_chroot.sh
├── verify_downstream_caching_configuration.sh
└── verify_nginx_release.sh
├── mod_pagespeed.code-workspace
├── net
└── instaweb
│ ├── BUILD
│ ├── genfiles
│ ├── BUILD
│ ├── conf
│ │ └── pagespeed_libraries.conf
│ ├── htmlparse
│ │ ├── html_agent.cc
│ │ └── html_name.cc
│ ├── http
│ │ ├── bot_checker.cc
│ │ └── http_usragent.cc
│ ├── js
│ │ └── js_keywords.cc
│ ├── mod_pagespeed_console
│ │ ├── console.css
│ │ ├── console.js
│ │ ├── mod_pagespeed_console.css
│ │ ├── mod_pagespeed_console.html
│ │ └── mod_pagespeed_console.js
│ ├── rewriter
│ │ ├── add_instrumentation_dbg.js
│ │ ├── add_instrumentation_opt.js
│ │ ├── client_domain_rewriter_dbg.js
│ │ ├── client_domain_rewriter_opt.js
│ │ ├── critical_css_beacon_dbg.js
│ │ ├── critical_css_beacon_opt.js
│ │ ├── critical_css_loader_dbg.js
│ │ ├── critical_css_loader_opt.js
│ │ ├── critical_images_beacon_dbg.js
│ │ ├── critical_images_beacon_opt.js
│ │ ├── dedup_inlined_images_dbg.js
│ │ ├── dedup_inlined_images_opt.js
│ │ ├── defer_iframe_dbg.js
│ │ ├── defer_iframe_opt.js
│ │ ├── delay_images_dbg.js
│ │ ├── delay_images_inline_dbg.js
│ │ ├── delay_images_inline_opt.js
│ │ ├── delay_images_opt.js
│ │ ├── deterministic_dbg.js
│ │ ├── deterministic_opt.js
│ │ ├── extended_instrumentation_dbg.js
│ │ ├── extended_instrumentation_opt.js
│ │ ├── js_defer_dbg.js
│ │ ├── js_defer_opt.js
│ │ ├── lazyload_images_dbg.js
│ │ ├── lazyload_images_opt.js
│ │ ├── local_storage_cache_dbg.js
│ │ ├── local_storage_cache_opt.js
│ │ ├── responsive_dbg.js
│ │ └── responsive_opt.js
│ └── system
│ │ ├── caches_dbg.js
│ │ ├── caches_opt.js
│ │ ├── console_dbg.js
│ │ ├── console_opt.js
│ │ ├── graphs_dbg.js
│ │ ├── graphs_opt.js
│ │ ├── messages_dbg.js
│ │ ├── messages_opt.js
│ │ ├── statistics_dbg.js
│ │ └── statistics_opt.js
│ ├── htmlparse
│ ├── BUILD
│ ├── dummy.cc
│ ├── file_driver.cc
│ ├── file_statistics_log.cc
│ ├── logging_html_filter.cc
│ ├── public
│ │ ├── file_driver.h
│ │ ├── file_statistics_log.h
│ │ ├── logging_html_filter.h
│ │ └── statistics_log.h
│ └── statistics_log.cc
│ ├── http
│ ├── BUILD
│ ├── async_fetch.cc
│ ├── async_fetch_with_lock.cc
│ ├── cache_url_async_fetcher.cc
│ ├── counting_url_async_fetcher.cc
│ ├── external_url_fetcher.cc
│ ├── http_cache.cc
│ ├── http_cache_failure.cc
│ ├── http_dump_url_async_writer.cc
│ ├── http_dump_url_fetcher.cc
│ ├── http_response_parser.cc
│ ├── http_value.cc
│ ├── http_value_explorer.cc
│ ├── http_value_writer.cc
│ ├── inflating_fetch.cc
│ ├── public
│ │ ├── async_fetch.h
│ │ ├── async_fetch_with_lock.h
│ │ ├── cache_url_async_fetcher.h
│ │ ├── counting_url_async_fetcher.h
│ │ ├── external_url_fetcher.h
│ │ ├── http_cache.h
│ │ ├── http_cache_failure.h
│ │ ├── http_dump_url_async_writer.h
│ │ ├── http_dump_url_fetcher.h
│ │ ├── http_response_parser.h
│ │ ├── http_value.h
│ │ ├── http_value_writer.h
│ │ ├── inflating_fetch.h
│ │ ├── logging_proto.h
│ │ ├── logging_proto_impl.h
│ │ ├── rate_controller.h
│ │ ├── rate_controlling_url_async_fetcher.h
│ │ ├── request_context.h
│ │ ├── request_timing_info.h
│ │ ├── simulated_delay_fetcher.h
│ │ ├── sync_fetcher_adapter_callback.h
│ │ ├── url_async_fetcher.h
│ │ ├── url_async_fetcher_stats.h
│ │ ├── wait_url_async_fetcher.h
│ │ └── wget_url_fetcher.h
│ ├── rate_controller.cc
│ ├── rate_controlling_url_async_fetcher.cc
│ ├── simulated_delay_fetcher.cc
│ ├── sync_fetcher_adapter_callback.cc
│ ├── url_async_fetcher.cc
│ ├── url_async_fetcher_stats.cc
│ ├── wait_url_async_fetcher.cc
│ └── wget_url_fetcher.cc
│ ├── js
│ ├── BUILD
│ ├── data_to_c.cc
│ ├── externs.js
│ ├── js_utils.js
│ └── public
│ │ └── js_minify.h
│ ├── public
│ ├── VERSION
│ ├── global_constants.h
│ ├── version.h
│ └── version.h.in
│ ├── rewriter
│ ├── BUILD
│ ├── add_head_filter.cc
│ ├── add_ids_filter.cc
│ ├── add_instrumentation.js
│ ├── add_instrumentation_filter.cc
│ ├── association_transformer.cc
│ ├── base_tag_filter.cc
│ ├── beacon_critical_images_finder.cc
│ ├── cache_extender.cc
│ ├── cacheable_resource_base.cc
│ ├── cached_result.proto
│ ├── client_domain_rewriter.js
│ ├── collect_dependencies_filter.cc
│ ├── common_filter.cc
│ ├── config
│ │ ├── measurement_proxy_rewrite_options_manager.cc
│ │ ├── measurement_proxy_rewrite_options_manager.h
│ │ ├── rewrite_options_manager.cc
│ │ └── rewrite_options_manager.h
│ ├── critical_css_beacon.js
│ ├── critical_css_beacon_filter.cc
│ ├── critical_css_loader.js
│ ├── critical_finder_support_util.cc
│ ├── critical_images.proto
│ ├── critical_images_beacon.js
│ ├── critical_images_beacon_filter.cc
│ ├── critical_images_finder.cc
│ ├── critical_keys.proto
│ ├── critical_selector_filter.cc
│ ├── critical_selector_finder.cc
│ ├── csp.cc
│ ├── csp_directive.gperf
│ ├── css_absolutify.cc
│ ├── css_combine_filter.cc
│ ├── css_filter.cc
│ ├── css_hierarchy.cc
│ ├── css_image_rewriter.cc
│ ├── css_inline_filter.cc
│ ├── css_inline_import_to_link_filter.cc
│ ├── css_minify.cc
│ ├── css_minify_main.cc
│ ├── css_move_to_head_filter.cc
│ ├── css_outline_filter.cc
│ ├── css_resource_slot.cc
│ ├── css_summarizer_base.cc
│ ├── css_tag_scanner.cc
│ ├── css_url_counter.cc
│ ├── css_url_encoder.cc
│ ├── css_url_extractor.cc
│ ├── css_util.cc
│ ├── data_url_input_resource.cc
│ ├── debug_filter.cc
│ ├── decode_rewritten_urls_filter.cc
│ ├── dedup_inlined_images.js
│ ├── dedup_inlined_images_filter.cc
│ ├── defer_iframe.js
│ ├── defer_iframe_filter.cc
│ ├── delay_images.js
│ ├── delay_images_filter.cc
│ ├── delay_images_inline.js
│ ├── dependencies.proto
│ ├── dependency_tracker.cc
│ ├── deterministic.js
│ ├── deterministic_js_filter.cc
│ ├── device_properties.cc
│ ├── dom_stats_filter.cc
│ ├── domain_lawyer.cc
│ ├── domain_rewrite_filter.cc
│ ├── downstream_cache_purger.cc
│ ├── downstream_caching_directives.cc
│ ├── experiment_matcher.cc
│ ├── experiment_util.cc
│ ├── extended_instrumentation.js
│ ├── fake_filter.cc
│ ├── file_input_resource.cc
│ ├── file_load_mapping.cc
│ ├── file_load_policy.cc
│ ├── file_load_rule.cc
│ ├── fix_reflow_filter.cc
│ ├── flush_early.proto
│ ├── flush_html_filter.cc
│ ├── google_analytics_filter.cc
│ ├── google_analytics_snippet.h
│ ├── google_font_css_inline_filter.cc
│ ├── google_font_service_input_resource.cc
│ ├── handle_noscript_redirect_filter.cc
│ ├── html_minifier_main.cc
│ ├── image.cc
│ ├── image_combine_filter.cc
│ ├── image_rewrite_filter.cc
│ ├── image_url_encoder.cc
│ ├── in_place_rewrite_context.cc
│ ├── inline_attribute_slot.cc
│ ├── inline_output_resource.cc
│ ├── inline_resource_slot.cc
│ ├── inline_rewrite_context.cc
│ ├── input_info.proto
│ ├── input_info_utils.cc
│ ├── insert_amp_link_filter.cc
│ ├── insert_dns_prefetch_filter.cc
│ ├── insert_ga_filter.cc
│ ├── javascript_code_block.cc
│ ├── javascript_filter.cc
│ ├── javascript_library_identification.cc
│ ├── js_combine_filter.cc
│ ├── js_defer.js
│ ├── js_defer_disabled_filter.cc
│ ├── js_disable_filter.cc
│ ├── js_inline_filter.cc
│ ├── js_minify_main.cc
│ ├── js_outline_filter.cc
│ ├── js_replacer.cc
│ ├── lazyload_images.js
│ ├── lazyload_images_filter.cc
│ ├── local_storage_cache.js
│ ├── local_storage_cache_filter.cc
│ ├── make_show_ads_async_filter.cc
│ ├── measurement_proxy_url_namer.cc
│ ├── meta_tag_filter.cc
│ ├── output_resource.cc
│ ├── pedantic_filter.cc
│ ├── process_context.cc
│ ├── property_cache_util.cc
│ ├── public
│ │ ├── add_head_filter.h
│ │ ├── add_ids_filter.h
│ │ ├── add_instrumentation_filter.h
│ │ ├── association_transformer.h
│ │ ├── base_tag_filter.h
│ │ ├── beacon_critical_images_finder.h
│ │ ├── cache_extender.h
│ │ ├── cacheable_resource_base.h
│ │ ├── collect_dependencies_filter.h
│ │ ├── common_filter.h
│ │ ├── critical_css_beacon_filter.h
│ │ ├── critical_finder_support_util.h
│ │ ├── critical_images_beacon_filter.h
│ │ ├── critical_images_finder.h
│ │ ├── critical_selector_filter.h
│ │ ├── critical_selector_finder.h
│ │ ├── csp.h
│ │ ├── csp_directive.h
│ │ ├── css_absolutify.h
│ │ ├── css_combine_filter.h
│ │ ├── css_filter.h
│ │ ├── css_flatten_imports_context.h
│ │ ├── css_hierarchy.h
│ │ ├── css_image_rewriter.h
│ │ ├── css_inline_filter.h
│ │ ├── css_inline_import_to_link_filter.h
│ │ ├── css_minify.h
│ │ ├── css_move_to_head_filter.h
│ │ ├── css_outline_filter.h
│ │ ├── css_resource_slot.h
│ │ ├── css_summarizer_base.h
│ │ ├── css_tag_scanner.h
│ │ ├── css_url_counter.h
│ │ ├── css_url_encoder.h
│ │ ├── css_url_extractor.h
│ │ ├── css_util.h
│ │ ├── data_url_input_resource.h
│ │ ├── debug_filter.h
│ │ ├── decode_rewritten_urls_filter.h
│ │ ├── dedup_inlined_images_filter.h
│ │ ├── defer_iframe_filter.h
│ │ ├── delay_images_filter.h
│ │ ├── dependency_tracker.h
│ │ ├── deterministic_js_filter.h
│ │ ├── device_properties.h
│ │ ├── dom_stats_filter.h
│ │ ├── domain_lawyer.h
│ │ ├── domain_rewrite_filter.h
│ │ ├── downstream_cache_purger.h
│ │ ├── downstream_caching_directives.h
│ │ ├── experiment_matcher.h
│ │ ├── experiment_util.h
│ │ ├── fake_filter.h
│ │ ├── file_input_resource.h
│ │ ├── file_load_mapping.h
│ │ ├── file_load_policy.h
│ │ ├── file_load_rule.h
│ │ ├── fix_reflow_filter.h
│ │ ├── flush_html_filter.h
│ │ ├── google_analytics_filter.h
│ │ ├── google_font_css_inline_filter.h
│ │ ├── google_font_service_input_resource.h
│ │ ├── handle_noscript_redirect_filter.h
│ │ ├── image.h
│ │ ├── image_combine_filter.h
│ │ ├── image_data_lookup.h
│ │ ├── image_rewrite_filter.h
│ │ ├── image_url_encoder.h
│ │ ├── in_place_rewrite_context.h
│ │ ├── inline_attribute_slot.h
│ │ ├── inline_output_resource.h
│ │ ├── inline_resource_slot.h
│ │ ├── inline_rewrite_context.h
│ │ ├── input_info_utils.h
│ │ ├── insert_amp_link_filter.h
│ │ ├── insert_dns_prefetch_filter.h
│ │ ├── insert_ga_filter.h
│ │ ├── javascript_code_block.h
│ │ ├── javascript_filter.h
│ │ ├── javascript_library_identification.h
│ │ ├── js_combine_filter.h
│ │ ├── js_defer_disabled_filter.h
│ │ ├── js_disable_filter.h
│ │ ├── js_inline_filter.h
│ │ ├── js_outline_filter.h
│ │ ├── js_replacer.h
│ │ ├── lazyload_images_filter.h
│ │ ├── local_storage_cache_filter.h
│ │ ├── make_show_ads_async_filter.h
│ │ ├── measurement_proxy_url_namer.h
│ │ ├── meta_tag_filter.h
│ │ ├── output_resource.h
│ │ ├── output_resource_kind.h
│ │ ├── pedantic_filter.h
│ │ ├── process_context.h
│ │ ├── property_cache_util.h
│ │ ├── push_preload_filter.h
│ │ ├── redirect_on_size_limit_filter.h
│ │ ├── request_properties.h
│ │ ├── resource.h
│ │ ├── resource_combiner.h
│ │ ├── resource_fetch.h
│ │ ├── resource_namer.h
│ │ ├── resource_slot.h
│ │ ├── resource_tag_scanner.h
│ │ ├── responsive_image_filter.h
│ │ ├── rewrite_context.h
│ │ ├── rewrite_driver.h
│ │ ├── rewrite_driver_factory.h
│ │ ├── rewrite_driver_pool.h
│ │ ├── rewrite_filter.h
│ │ ├── rewrite_gflags.h
│ │ ├── rewrite_options.h
│ │ ├── rewrite_query.h
│ │ ├── rewrite_result.h
│ │ ├── rewrite_stats.h
│ │ ├── rewritten_content_scanning_filter.h
│ │ ├── scan_filter.h
│ │ ├── script_tag_scanner.h
│ │ ├── server_context.h
│ │ ├── simple_text_filter.h
│ │ ├── single_rewrite_context.h
│ │ ├── srcset_slot.h
│ │ ├── static_asset_manager.h
│ │ ├── strip_scripts_filter.h
│ │ ├── strip_subresource_hints_filter.h
│ │ ├── support_noscript_filter.h
│ │ ├── url_input_resource.h
│ │ ├── url_left_trim_filter.h
│ │ ├── url_namer.h
│ │ ├── url_partnership.h
│ │ ├── usage_data_reporter.h
│ │ └── webp_optimizer.h
│ ├── push_preload_filter.cc
│ ├── redirect_on_size_limit_filter.cc
│ ├── rendered_image.proto
│ ├── request_properties.cc
│ ├── resource.cc
│ ├── resource_combiner.cc
│ ├── resource_fetch.cc
│ ├── resource_namer.cc
│ ├── resource_slot.cc
│ ├── resource_tag_scanner.cc
│ ├── responsive_image_filter.cc
│ ├── responsive_js.js
│ ├── rewrite_context.cc
│ ├── rewrite_driver.cc
│ ├── rewrite_driver_factory.cc
│ ├── rewrite_driver_pool.cc
│ ├── rewrite_filter.cc
│ ├── rewrite_filter_names.gperf
│ ├── rewrite_gflags.cc
│ ├── rewrite_options.cc
│ ├── rewrite_query.cc
│ ├── rewrite_stats.cc
│ ├── rewritten_content_scanning_filter.cc
│ ├── scan_filter.cc
│ ├── script_tag_scanner.cc
│ ├── server_context.cc
│ ├── simple_text_filter.cc
│ ├── single_rewrite_context.cc
│ ├── srcset_slot.cc
│ ├── static_asset_config.proto
│ ├── static_asset_manager.cc
│ ├── strip_scripts_filter.cc
│ ├── strip_subresource_hints_filter.cc
│ ├── support_noscript_filter.cc
│ ├── url_input_resource.cc
│ ├── url_left_trim_filter.cc
│ ├── url_namer.cc
│ ├── url_partnership.cc
│ ├── usage_data_reporter.cc
│ └── webp_optimizer.cc
│ ├── spriter
│ ├── BUILD
│ ├── image_library_interface.cc
│ ├── image_library_interface.h
│ ├── image_spriter.cc
│ ├── libpng_image_library.cc
│ ├── libpng_image_library.h
│ └── public
│ │ ├── image_spriter.h
│ │ └── image_spriter.proto
│ └── util
│ ├── BUILD
│ └── public
│ ├── abstract_property_store_get_callback.h
│ ├── cache_property_store.h
│ ├── fallback_property_page.h
│ ├── mock_property_page.h
│ ├── property_cache.h
│ ├── property_store.h
│ └── two_level_property_store.h
├── pagespeed-envoy.yaml
├── pagespeed.bazelrc
├── pagespeed
├── apache
│ ├── BUILD
│ ├── apache_config.cc
│ ├── apache_config.h
│ ├── apache_fetch.cc
│ ├── apache_fetch.h
│ ├── apache_httpd_includes.h
│ ├── apache_logging_includes.h
│ ├── apache_message_handler.cc
│ ├── apache_message_handler.h
│ ├── apache_request_context.cc
│ ├── apache_request_context.h
│ ├── apache_rewrite_driver_factory.cc
│ ├── apache_rewrite_driver_factory.h
│ ├── apache_server_context.cc
│ ├── apache_server_context.h
│ ├── apache_slurp.cc
│ ├── apache_thread_system.cc
│ ├── apache_thread_system.h
│ ├── apache_writer.cc
│ ├── apache_writer.h
│ ├── apr_timer.cc
│ ├── apr_timer.h
│ ├── gzip_test.sh
│ ├── header_util.cc
│ ├── header_util.h
│ ├── instaweb_context.cc
│ ├── instaweb_context.h
│ ├── instaweb_handler.cc
│ ├── instaweb_handler.h
│ ├── log_message_handler.cc
│ ├── log_message_handler.h
│ ├── mod_instaweb.cc
│ ├── mod_instaweb.h
│ ├── process_scope_test.sh
│ ├── simple_buffered_apache_fetch.cc
│ ├── simple_buffered_apache_fetch.h
│ ├── system_test.sh
│ └── system_tests
│ │ ├── beacons_load.sh
│ │ ├── blocking_rewrite.sh
│ │ ├── cache_flushing.sh
│ │ ├── compressed_cache.sh
│ │ ├── connection_refused.sh
│ │ ├── content_encoding_leak.sh
│ │ ├── custom_fetch_headers.sh
│ │ ├── encoded_absolute_urls.sh
│ │ ├── fetch_gzipped.sh
│ │ ├── forbid_all_disabled.sh
│ │ ├── handler_quoting.sh
│ │ ├── htaccess_override.sh
│ │ ├── if_parsing.sh
│ │ ├── index_html_handling.sh
│ │ ├── inline_google_font_css.sh
│ │ ├── loopback.sh
│ │ ├── map_proxy_domain_for_cdn.sh
│ │ ├── max_html_parse_bytes.sh
│ │ ├── mod_pagespeed_message.sh
│ │ ├── mod_rewrite.sh
│ │ ├── pagespeed_admin.sh
│ │ ├── pass_through_headers.sh
│ │ ├── proxying.sh
│ │ ├── purging_disabled.sh
│ │ ├── response_headers.sh
│ │ ├── statistics.sh
│ │ ├── statistics_logging.sh
│ │ ├── unload_handler.sh
│ │ ├── unplugged.sh
│ │ ├── vhost_inheritance.sh
│ │ └── x_forwarded_proto.sh
├── automatic
│ ├── BUILD
│ ├── Makefile
│ ├── bazel_merge.sh
│ ├── html_detector.cc
│ ├── html_detector.h
│ ├── merge_libraries.sh
│ ├── proxy_fetch.cc
│ ├── proxy_fetch.h
│ ├── proxy_interface.cc
│ ├── proxy_interface.h
│ ├── rename_c_symbols.sh
│ ├── static_rewriter.cc
│ ├── static_rewriter.h
│ ├── static_rewriter_main.cc
│ ├── system_test.sh
│ ├── system_test_helpers.sh
│ └── system_tests
│ │ ├── README
│ │ ├── add_instrumentation.sh
│ │ ├── broken_images.sh
│ │ ├── canonicalize_javascript_libraries.sh
│ │ ├── char_tweaks.sh
│ │ ├── combiners.sh
│ │ ├── content_length.sh
│ │ ├── convert_meta_tags.sh
│ │ ├── cookie_options.sh
│ │ ├── css_images.sh
│ │ ├── css_sprite_images.sh
│ │ ├── dedup_inlined_images.sh
│ │ ├── defer_javascript.sh
│ │ ├── elide_attributes.sh
│ │ ├── extend_cache.sh
│ │ ├── fallback_rewrite_css_urls.sh
│ │ ├── flatten_css_imports.sh
│ │ ├── follow_flushes.sh
│ │ ├── gce_public_cache.sh
│ │ ├── hint_preload_subresources.sh
│ │ ├── https.sh
│ │ ├── image_quality_and_response.sh
│ │ ├── image_quality_generic.sh
│ │ ├── image_quality_jpeg.sh
│ │ ├── image_quality_webp.sh
│ │ ├── image_resize.sh
│ │ ├── images_in_styles.sh
│ │ ├── initial_header_check.sh
│ │ ├── initial_sanity_checks.sh
│ │ ├── inline_preview_images.sh
│ │ ├── inliners.sh
│ │ ├── insert_dns_prefetch.sh
│ │ ├── invalid_host_header.sh
│ │ ├── ipro.sh
│ │ ├── js_blacklist.sh
│ │ ├── keep_data_urls.sh
│ │ ├── lazyload_images.sh
│ │ ├── local_storage_cache.sh
│ │ ├── make_show_ads_async.sh
│ │ ├── move_css.sh
│ │ ├── no_cache.sh
│ │ ├── optimize_to_webp.sh
│ │ ├── outliners.sh
│ │ ├── query_params_in_resource_flow.sh
│ │ ├── redirect_with_ps_params.sh
│ │ ├── rel_canonical.sh
│ │ ├── resource_content_type_html.sh
│ │ ├── responsive_images.sh
│ │ ├── rewrite_compressed_js.sh
│ │ ├── rewrite_css.sh
│ │ ├── rewrite_css_images.sh
│ │ ├── rewrite_images.sh
│ │ ├── rewrite_javascript.sh
│ │ ├── shortcut_icons.sh
│ │ ├── signed_urls.sh
│ │ ├── smaxage.sh
│ │ └── sticky_cookie_options.sh
├── controller
│ ├── BUILD
│ ├── central_controller.cc
│ ├── central_controller.h
│ ├── central_controller_callback.h
│ ├── central_controller_rpc_client.cc
│ ├── central_controller_rpc_client.h
│ ├── central_controller_rpc_server.cc
│ ├── central_controller_rpc_server.h
│ ├── compatible_central_controller.cc
│ ├── compatible_central_controller.h
│ ├── context_registry.h
│ ├── controller.proto
│ ├── expensive_operation_callback.cc
│ ├── expensive_operation_callback.h
│ ├── expensive_operation_controller.h
│ ├── expensive_operation_rpc_context.cc
│ ├── expensive_operation_rpc_context.h
│ ├── expensive_operation_rpc_handler.cc
│ ├── expensive_operation_rpc_handler.h
│ ├── in_process_central_controller.cc
│ ├── in_process_central_controller.h
│ ├── named_lock_schedule_rewrite_controller.cc
│ ├── named_lock_schedule_rewrite_controller.h
│ ├── popularity_contest_schedule_rewrite_controller.cc
│ ├── popularity_contest_schedule_rewrite_controller.h
│ ├── priority_queue.h
│ ├── queued_expensive_operation_controller.cc
│ ├── queued_expensive_operation_controller.h
│ ├── request_result_rpc_client.h
│ ├── request_result_rpc_handler.h
│ ├── rpc_handler.h
│ ├── schedule_rewrite_callback.cc
│ ├── schedule_rewrite_callback.h
│ ├── schedule_rewrite_controller.h
│ ├── schedule_rewrite_rpc_context.cc
│ ├── schedule_rewrite_rpc_context.h
│ ├── schedule_rewrite_rpc_handler.cc
│ ├── schedule_rewrite_rpc_handler.h
│ ├── work_bound_expensive_operation_controller.cc
│ └── work_bound_expensive_operation_controller.h
├── envoy
│ ├── BUILD
│ ├── README.md
│ ├── envoy_base_fetch.cc
│ ├── envoy_base_fetch.h
│ ├── envoy_cluster_manager.cc
│ ├── envoy_cluster_manager.h
│ ├── envoy_fetch.cc
│ ├── envoy_fetch.h
│ ├── envoy_logger.cc
│ ├── envoy_logger.h
│ ├── envoy_message_handler.cc
│ ├── envoy_message_handler.h
│ ├── envoy_process_context.cc
│ ├── envoy_process_context.h
│ ├── envoy_rewrite_driver_factory.cc
│ ├── envoy_rewrite_driver_factory.h
│ ├── envoy_rewrite_options.cc
│ ├── envoy_rewrite_options.h
│ ├── envoy_server_context.cc
│ ├── envoy_server_context.h
│ ├── envoy_thread_system.h
│ ├── envoy_url_async_fetcher.cc
│ ├── envoy_url_async_fetcher.h
│ ├── envoy_url_async_fetcher_test.cc
│ ├── header_utils.h
│ ├── http_filter.cc
│ ├── http_filter.h
│ ├── http_filter.proto
│ ├── http_filter_config.cc
│ ├── http_filter_integration_test.cc
│ ├── log_message_handler.cc
│ ├── log_message_handler.h
│ ├── pagespeed_remote_data_fetcher.cc
│ └── pagespeed_remote_data_fetcher.h
├── kernel
│ ├── base
│ │ ├── BUILD
│ │ ├── abstract_mutex.cc
│ │ ├── abstract_mutex.h
│ │ ├── abstract_shared_mem.cc
│ │ ├── abstract_shared_mem.h
│ │ ├── annotated_message_handler.cc
│ │ ├── annotated_message_handler.h
│ │ ├── arena.h
│ │ ├── atom.cc
│ │ ├── atom.h
│ │ ├── atomic_bool.h
│ │ ├── atomic_int32.h
│ │ ├── atomicops.h
│ │ ├── base64_util.h
│ │ ├── basictypes.h
│ │ ├── cache_interface.cc
│ │ ├── cache_interface.h
│ │ ├── callback.h
│ │ ├── charset_util.cc
│ │ ├── charset_util.h
│ │ ├── checking_thread_system.cc
│ │ ├── checking_thread_system.h
│ │ ├── chunking_writer.cc
│ │ ├── chunking_writer.h
│ │ ├── circular_buffer.cc
│ │ ├── circular_buffer.h
│ │ ├── condvar.cc
│ │ ├── condvar.h
│ │ ├── countdown_timer.cc
│ │ ├── countdown_timer.h
│ │ ├── counting_writer.cc
│ │ ├── counting_writer.h
│ │ ├── debug.cc
│ │ ├── debug.h
│ │ ├── dense_hash_map.h
│ │ ├── dense_hash_set.h
│ │ ├── dynamic_annotations.h
│ │ ├── enum_set.h
│ │ ├── escaping.cc
│ │ ├── escaping.h
│ │ ├── fast_wildcard_group.cc
│ │ ├── fast_wildcard_group.h
│ │ ├── file_message_handler.cc
│ │ ├── file_message_handler.h
│ │ ├── file_system.cc
│ │ ├── file_system.h
│ │ ├── file_writer.cc
│ │ ├── file_writer.h
│ │ ├── function.cc
│ │ ├── function.h
│ │ ├── google_message_handler.cc
│ │ ├── google_message_handler.h
│ │ ├── gtest_prod.h
│ │ ├── hasher.cc
│ │ ├── hasher.h
│ │ ├── hostname_util.cc
│ │ ├── hostname_util.h
│ │ ├── inline_slist.h
│ │ ├── json.h
│ │ ├── json_writer.cc
│ │ ├── json_writer.h
│ │ ├── manually_ref_counted.h
│ │ ├── md5_hasher.cc
│ │ ├── md5_hasher.h
│ │ ├── mem_debug.cc
│ │ ├── message_handler.cc
│ │ ├── message_handler.h
│ │ ├── named_lock_manager.cc
│ │ ├── named_lock_manager.h
│ │ ├── null_message_handler.cc
│ │ ├── null_message_handler.h
│ │ ├── null_mutex.cc
│ │ ├── null_mutex.h
│ │ ├── null_rw_lock.cc
│ │ ├── null_rw_lock.h
│ │ ├── null_shared_mem.cc
│ │ ├── null_shared_mem.h
│ │ ├── null_statistics.cc
│ │ ├── null_statistics.h
│ │ ├── null_writer.cc
│ │ ├── null_writer.h
│ │ ├── pool.h
│ │ ├── pool_element.h
│ │ ├── posix_timer.cc
│ │ ├── posix_timer.h
│ │ ├── print_message_handler.cc
│ │ ├── print_message_handler.h
│ │ ├── printf_format.h
│ │ ├── proto_matcher.h
│ │ ├── proto_matcher_impl.h
│ │ ├── proto_util.h
│ │ ├── ref_counted_ptr.h
│ │ ├── request_trace.cc
│ │ ├── request_trace.h
│ │ ├── rolling_hash.cc
│ │ ├── rolling_hash.h
│ │ ├── scoped_ptr.h
│ │ ├── sha1_signature.cc
│ │ ├── sha1_signature.h
│ │ ├── shared_string.cc
│ │ ├── shared_string.h
│ │ ├── signature.cc
│ │ ├── signature.h
│ │ ├── source_map.cc
│ │ ├── source_map.h
│ │ ├── sparse_hash_map.h
│ │ ├── sparse_hash_set.h
│ │ ├── split_statistics.cc
│ │ ├── split_statistics.h
│ │ ├── split_writer.cc
│ │ ├── split_writer.h
│ │ ├── stack_buffer.h
│ │ ├── statistics.cc
│ │ ├── statistics.h
│ │ ├── statistics_template.h
│ │ ├── stdio_file_system.cc
│ │ ├── stdio_file_system.h
│ │ ├── stl_util.h
│ │ ├── string.h
│ │ ├── string_convert.cc
│ │ ├── string_hash.h
│ │ ├── string_multi_map.h
│ │ ├── string_util.cc
│ │ ├── string_util.h
│ │ ├── string_writer.cc
│ │ ├── string_writer.h
│ │ ├── symbol_table.cc
│ │ ├── symbol_table.h
│ │ ├── thread.cc
│ │ ├── thread.h
│ │ ├── thread_annotations.h
│ │ ├── thread_system.cc
│ │ ├── thread_system.h
│ │ ├── time_util.cc
│ │ ├── time_util.h
│ │ ├── timer.cc
│ │ ├── timer.h
│ │ ├── vector_deque.h
│ │ ├── waveform.cc
│ │ ├── waveform.h
│ │ ├── wildcard.cc
│ │ ├── wildcard.h
│ │ ├── wildcard_group.cc
│ │ ├── wildcard_group.h
│ │ ├── writer.cc
│ │ └── writer.h
│ ├── cache
│ │ ├── BUILD
│ │ ├── async_cache.cc
│ │ ├── async_cache.h
│ │ ├── cache_batcher.cc
│ │ ├── cache_batcher.h
│ │ ├── cache_interface.h
│ │ ├── cache_key_prepender.cc
│ │ ├── cache_key_prepender.h
│ │ ├── cache_stats.cc
│ │ ├── cache_stats.h
│ │ ├── compressed_cache.cc
│ │ ├── compressed_cache.h
│ │ ├── delay_cache.cc
│ │ ├── delay_cache.h
│ │ ├── delegating_cache_callback.cc
│ │ ├── delegating_cache_callback.h
│ │ ├── fallback_cache.cc
│ │ ├── fallback_cache.h
│ │ ├── file_cache.cc
│ │ ├── file_cache.h
│ │ ├── in_memory_cache.cc
│ │ ├── in_memory_cache.h
│ │ ├── key_value_codec.cc
│ │ ├── key_value_codec.h
│ │ ├── lru_cache.cc
│ │ ├── lru_cache.h
│ │ ├── lru_cache_base.h
│ │ ├── purge_context.cc
│ │ ├── purge_context.h
│ │ ├── purge_set.cc
│ │ ├── purge_set.h
│ │ ├── threadsafe_cache.cc
│ │ ├── threadsafe_cache.h
│ │ ├── write_through_cache.cc
│ │ └── write_through_cache.h
│ ├── html
│ │ ├── BUILD
│ │ ├── amp_document_filter.cc
│ │ ├── amp_document_filter.h
│ │ ├── canonical_attributes.cc
│ │ ├── canonical_attributes.h
│ │ ├── collapse_whitespace_filter.cc
│ │ ├── collapse_whitespace_filter.h
│ │ ├── doctype.cc
│ │ ├── doctype.h
│ │ ├── elide_attributes_filter.cc
│ │ ├── elide_attributes_filter.h
│ │ ├── empty_html_filter.cc
│ │ ├── empty_html_filter.h
│ │ ├── explicit_close_tag.cc
│ │ ├── explicit_close_tag.h
│ │ ├── html_attribute_quote_removal.cc
│ │ ├── html_attribute_quote_removal.h
│ │ ├── html_element.cc
│ │ ├── html_element.h
│ │ ├── html_event.cc
│ │ ├── html_event.h
│ │ ├── html_filter.cc
│ │ ├── html_filter.h
│ │ ├── html_keywords.cc
│ │ ├── html_keywords.h
│ │ ├── html_lexer.cc
│ │ ├── html_lexer.h
│ │ ├── html_name.gperf
│ │ ├── html_name.h
│ │ ├── html_node.cc
│ │ ├── html_node.h
│ │ ├── html_parse.cc
│ │ ├── html_parse.h
│ │ ├── html_writer_filter.cc
│ │ ├── html_writer_filter.h
│ │ ├── remove_comments_filter.cc
│ │ └── remove_comments_filter.h
│ ├── http
│ │ ├── BUILD
│ │ ├── bot_checker.gperf
│ │ ├── bot_checker.h
│ │ ├── caching_headers.cc
│ │ ├── caching_headers.h
│ │ ├── content_type.cc
│ │ ├── content_type.h
│ │ ├── data_url.cc
│ │ ├── data_url.h
│ │ ├── domain_registry.cc
│ │ ├── domain_registry.h
│ │ ├── google_url.cc
│ │ ├── google_url.h
│ │ ├── headers.cc
│ │ ├── headers.h
│ │ ├── http.proto
│ │ ├── http_names.cc
│ │ ├── http_names.h
│ │ ├── http_options.cc
│ │ ├── http_options.h
│ │ ├── image_types.proto
│ │ ├── query_params.cc
│ │ ├── query_params.h
│ │ ├── request_headers.cc
│ │ ├── request_headers.h
│ │ ├── response_headers.cc
│ │ ├── response_headers.h
│ │ ├── response_headers_parser.cc
│ │ ├── response_headers_parser.h
│ │ ├── semantic_type.cc
│ │ ├── semantic_type.h
│ │ ├── user_agent_matcher.cc
│ │ ├── user_agent_matcher.h
│ │ ├── user_agent_normalizer.cc
│ │ └── user_agent_normalizer.h
│ ├── image
│ │ ├── BUILD
│ │ ├── frame_interface_optimizer.cc
│ │ ├── frame_interface_optimizer.h
│ │ ├── gif_reader.cc
│ │ ├── gif_reader.h
│ │ ├── gif_square.cc
│ │ ├── gif_square.h
│ │ ├── image_analysis.cc
│ │ ├── image_analysis.h
│ │ ├── image_converter.cc
│ │ ├── image_converter.h
│ │ ├── image_frame_interface.cc
│ │ ├── image_frame_interface.h
│ │ ├── image_optimizer.cc
│ │ ├── image_optimizer.h
│ │ ├── image_optimizer.proto
│ │ ├── image_resizer.cc
│ │ ├── image_resizer.h
│ │ ├── image_util.cc
│ │ ├── image_util.h
│ │ ├── jpeg_optimizer.cc
│ │ ├── jpeg_optimizer.h
│ │ ├── jpeg_reader.cc
│ │ ├── jpeg_reader.h
│ │ ├── jpeg_utils.cc
│ │ ├── jpeg_utils.h
│ │ ├── pixel_format_optimizer.cc
│ │ ├── pixel_format_optimizer.h
│ │ ├── png_optimizer.cc
│ │ ├── png_optimizer.h
│ │ ├── read_image.cc
│ │ ├── read_image.h
│ │ ├── scanline_interface.h
│ │ ├── scanline_interface_frame_adapter.cc
│ │ ├── scanline_interface_frame_adapter.h
│ │ ├── scanline_status.h
│ │ ├── scanline_utils.cc
│ │ ├── scanline_utils.h
│ │ ├── webp_optimizer.cc
│ │ └── webp_optimizer.h
│ ├── js
│ │ ├── BUILD
│ │ ├── js_keywords.gperf
│ │ ├── js_keywords.h
│ │ ├── js_minify.cc
│ │ ├── js_minify.h
│ │ ├── js_tokenizer.cc
│ │ └── js_tokenizer.h
│ ├── sharedmem
│ │ ├── BUILD
│ │ ├── inprocess_shared_mem.cc
│ │ ├── inprocess_shared_mem.h
│ │ ├── shared_circular_buffer.cc
│ │ ├── shared_circular_buffer.h
│ │ ├── shared_dynamic_string_map.cc
│ │ ├── shared_dynamic_string_map.h
│ │ ├── shared_mem_cache.cc
│ │ ├── shared_mem_cache.h
│ │ ├── shared_mem_cache_data.cc
│ │ ├── shared_mem_cache_data.h
│ │ ├── shared_mem_cache_snapshot.proto
│ │ ├── shared_mem_lock_manager.cc
│ │ ├── shared_mem_lock_manager.h
│ │ ├── shared_mem_statistics.cc
│ │ └── shared_mem_statistics.h
│ ├── thread
│ │ ├── BUILD
│ │ ├── pthread_condvar.cc
│ │ ├── pthread_condvar.h
│ │ ├── pthread_mutex.cc
│ │ ├── pthread_mutex.h
│ │ ├── pthread_rw_lock.cc
│ │ ├── pthread_rw_lock.h
│ │ ├── pthread_shared_mem.cc
│ │ ├── pthread_shared_mem.h
│ │ ├── pthread_thread_system.cc
│ │ ├── pthread_thread_system.h
│ │ ├── queued_alarm.cc
│ │ ├── queued_alarm.h
│ │ ├── queued_worker.cc
│ │ ├── queued_worker.h
│ │ ├── queued_worker_pool.cc
│ │ ├── queued_worker_pool.h
│ │ ├── scheduler.cc
│ │ ├── scheduler.h
│ │ ├── scheduler_based_abstract_lock.cc
│ │ ├── scheduler_based_abstract_lock.h
│ │ ├── scheduler_sequence.cc
│ │ ├── scheduler_sequence.h
│ │ ├── scheduler_thread.cc
│ │ ├── scheduler_thread.h
│ │ ├── sequence.cc
│ │ ├── sequence.h
│ │ ├── slow_worker.cc
│ │ ├── slow_worker.h
│ │ ├── thread_synchronizer.cc
│ │ ├── thread_synchronizer.h
│ │ ├── worker.cc
│ │ └── worker.h
│ └── util
│ │ ├── BUILD
│ │ ├── brotli_inflater.cc
│ │ ├── brotli_inflater.h
│ │ ├── categorized_refcount.h
│ │ ├── copy_on_write.h
│ │ ├── file_system_lock_manager.cc
│ │ ├── file_system_lock_manager.h
│ │ ├── gflags.cc
│ │ ├── gflags.h
│ │ ├── grpc.h
│ │ ├── gzip_inflater.cc
│ │ ├── gzip_inflater.h
│ │ ├── hashed_nonce_generator.cc
│ │ ├── hashed_nonce_generator.h
│ │ ├── input_file_nonce_generator.cc
│ │ ├── input_file_nonce_generator.h
│ │ ├── mem_lock.cc
│ │ ├── mem_lock.h
│ │ ├── mem_lock_manager.cc
│ │ ├── mem_lock_manager.h
│ │ ├── mem_lock_state.cc
│ │ ├── mem_lock_state.h
│ │ ├── nonce_generator.cc
│ │ ├── nonce_generator.h
│ │ ├── platform.cc
│ │ ├── platform.h
│ │ ├── re2.h
│ │ ├── simple_random.cc
│ │ ├── simple_random.h
│ │ ├── simple_stats.cc
│ │ ├── simple_stats.h
│ │ ├── statistics_logger.cc
│ │ ├── statistics_logger.h
│ │ ├── threadsafe_lock_manager.cc
│ │ ├── threadsafe_lock_manager.h
│ │ ├── url_escaper.cc
│ │ ├── url_escaper.h
│ │ ├── url_multipart_encoder.cc
│ │ ├── url_multipart_encoder.h
│ │ ├── url_segment_encoder.cc
│ │ ├── url_segment_encoder.h
│ │ ├── url_to_filename_encoder.cc
│ │ └── url_to_filename_encoder.h
├── opt
│ ├── ads
│ │ ├── BUILD
│ │ ├── ads_attribute.cc
│ │ ├── ads_attribute.h
│ │ ├── ads_util.cc
│ │ ├── ads_util.h
│ │ ├── show_ads_snippet_parser.cc
│ │ └── show_ads_snippet_parser.h
│ ├── http
│ │ ├── BUILD
│ │ ├── abstract_property_store_get_callback.cc
│ │ ├── abstract_property_store_get_callback.h
│ │ ├── cache_property_store.cc
│ │ ├── cache_property_store.h
│ │ ├── fallback_property_page.cc
│ │ ├── fallback_property_page.h
│ │ ├── property_cache.cc
│ │ ├── property_cache.h
│ │ ├── property_cache.proto
│ │ ├── property_store.cc
│ │ ├── property_store.h
│ │ ├── request_context.cc
│ │ ├── request_context.h
│ │ ├── two_level_property_store.cc
│ │ └── two_level_property_store.h
│ └── logging
│ │ ├── BUILD
│ │ ├── enums.proto
│ │ ├── log_record.cc
│ │ ├── log_record.h
│ │ ├── logging.proto
│ │ ├── logging_proto.h
│ │ ├── logging_proto_impl.h
│ │ ├── request_timing_info.cc
│ │ └── request_timing_info.h
└── system
│ ├── BUILD
│ ├── add_headers_fetcher.cc
│ ├── add_headers_fetcher.h
│ ├── admin_site.cc
│ ├── admin_site.css
│ ├── admin_site.h
│ ├── apr_mem_cache.cc
│ ├── apr_mem_cache.h
│ ├── apr_thread_compatible_pool.cc
│ ├── apr_thread_compatible_pool.h
│ ├── caches.css
│ ├── caches.js
│ ├── console.css
│ ├── console.js
│ ├── controller_manager.cc
│ ├── controller_manager.h
│ ├── controller_process.h
│ ├── external_server_spec.cc
│ ├── external_server_spec.h
│ ├── graphs.css
│ ├── graphs.js
│ ├── in_place_resource_recorder.cc
│ ├── in_place_resource_recorder.h
│ ├── js_externs.js
│ ├── loopback_route_fetcher.cc
│ ├── loopback_route_fetcher.h
│ ├── messages.js
│ ├── pathological_server.py
│ ├── redis_cache.cc
│ ├── redis_cache.h
│ ├── remote_config_test.sh
│ ├── serf_url_async_fetcher.cc
│ ├── serf_url_async_fetcher.h
│ ├── statistics.css
│ ├── statistics.js
│ ├── system_cache_path.cc
│ ├── system_cache_path.h
│ ├── system_caches.cc
│ ├── system_caches.h
│ ├── system_message_handler.cc
│ ├── system_message_handler.h
│ ├── system_request_context.cc
│ ├── system_request_context.h
│ ├── system_rewrite_driver_factory.cc
│ ├── system_rewrite_driver_factory.h
│ ├── system_rewrite_options.cc
│ ├── system_rewrite_options.h
│ ├── system_server_context.cc
│ ├── system_server_context.h
│ ├── system_test.sh
│ ├── system_tests
│ ├── add_instrumentation.sh
│ ├── add_resource_headers.sh
│ ├── ajax_overrides_experiments.sh
│ ├── aris.sh
│ ├── authorization_basic.sh
│ ├── bad_query_params_and_headers.sh
│ ├── broken_fetch_ipro_record.sh
│ ├── cache_compression_pre_gzipping.sh
│ ├── cache_partial_html.sh
│ ├── cache_purge.sh
│ ├── check_headers.sh
│ ├── client_domain_rewrite.sh
│ ├── combine_javascript.sh
│ ├── controller.sh
│ ├── controller_process_handling.sh
│ ├── critical_image_beaconing.sh
│ ├── cross_site_fetch.sh
│ ├── css_combining_authorization.sh
│ ├── css_minify_calc_function_value_zero.sh
│ ├── css_minify_unicode_range_descriptor.sh
│ ├── domain_rewrite_hyperlinks.sh
│ ├── downstream_cache_integration_headers.sh
│ ├── downstream_cache_rebeaconing.sh
│ ├── embed_config.sh
│ ├── experiment_device_types.sh
│ ├── flush_handling.sh
│ ├── flush_subresources.sh
│ ├── forbid_filters.sh
│ ├── handler_access_messages.sh
│ ├── image_rewrite_locking.sh
│ ├── image_rewrite_with_flush.sh
│ ├── inline_css_link_element_in_body.sh
│ ├── inline_unauth.sh
│ ├── instant_ipro.sh
│ ├── ipro_caching.sh
│ ├── ipro_fixed_size.sh
│ ├── ipro_for_browser.sh
│ ├── ipro_load_from_file.sh
│ ├── ipro_max_cachable.sh
│ ├── ipro_noop.sh
│ ├── ipro_source_map.sh
│ ├── ipro_vary_cookie.sh
│ ├── json_content_type.sh
│ ├── large_html_files.sh
│ ├── load_from_file.sh
│ ├── long_url_handling.sh
│ ├── map_proxy_domain.sh
│ ├── mapped_domain_relative_css.sh
│ ├── max_cachable.sh
│ ├── max_combined_css_bytes.sh
│ ├── message_history_colors.sh
│ ├── modify_caching_headers.sh
│ ├── more_custom_headers.sh
│ ├── no_critical_unauthorized_resources.sh
│ ├── no_respect_vary.sh
│ ├── no_transform.sh
│ ├── optimize_for_bandwidth.sh
│ ├── outline_javascript_limit.sh
│ ├── pagespeed_on_off_unplugged_standby.sh
│ ├── preserve_urls.sh
│ ├── prioritize_critical_css.sh
│ ├── protocol_relative_urls.sh
│ ├── query_params_dont_enable_core_filters.sh
│ ├── redis.sh
│ ├── request_option_override.sh
│ ├── resize_rendered_dimensions.sh
│ ├── resource_404_count.sh
│ ├── resource_ext_corruption.sh
│ ├── respect_custom_options.sh
│ ├── respect_vary.sh
│ ├── retain_comment.sh
│ ├── rewrite_deadline_ipro.sh
│ ├── sane_connection_header.sh
│ ├── server_side_includes.sh
│ ├── shard_domain.sh
│ ├── shared_cdn_host_header.sh
│ ├── shm_cache.sh
│ ├── show_cache.sh
│ ├── source_maps.sh
│ ├── static_asset_domain_rewrite.sh
│ ├── statistics_are_local_only.sh
│ ├── strip_subresources.sh
│ ├── type_attribute_pedantic.sh
│ ├── url_valued_attributes.sh
│ ├── x_header_value.sh
│ └── x_sendfile.sh
│ ├── system_thread_system.cc
│ └── system_thread_system.h
├── test
├── BUILD
├── main.cc
├── net
│ └── instaweb
│ │ ├── http
│ │ ├── BUILD
│ │ ├── async_fetch_test.cc
│ │ ├── cache_url_async_fetcher_test.cc
│ │ ├── fetcher_test.cc
│ │ ├── fetcher_test.h
│ │ ├── headers_cookie_util_test.cc
│ │ ├── http_cache_test.cc
│ │ ├── http_dump_url_async_writer_test.cc
│ │ ├── http_dump_url_fetcher_test.cc
│ │ ├── http_response_parser_test.cc
│ │ ├── http_value_test.cc
│ │ ├── inflating_fetch_test.cc
│ │ ├── log_record_test_helper.h
│ │ ├── mock_callback.h
│ │ ├── mock_url_fetcher.cc
│ │ ├── mock_url_fetcher.h
│ │ ├── mock_url_fetcher_test.cc
│ │ ├── rate_controlling_url_async_fetcher_test.cc
│ │ ├── reflecting_test_fetcher.h
│ │ ├── reflecting_test_fetcher_test.cc
│ │ ├── simulated_delay_fetcher_test.cc
│ │ ├── sync_fetcher_adapter_test.cc
│ │ ├── testdata
│ │ │ ├── google.http
│ │ │ └── www.google.com
│ │ │ │ └── ,
│ │ ├── ua_sensitive_test_fetcher.cc
│ │ ├── ua_sensitive_test_fetcher.h
│ │ ├── ua_sensitive_test_fetcher_test.cc
│ │ ├── url_async_fetcher_stats_test.cc
│ │ └── wait_url_async_fetcher_test.cc
│ │ ├── rewriter
│ │ ├── BUILD
│ │ ├── add_ids_filter_test.cc
│ │ ├── add_instrumentation_filter_test.cc
│ │ ├── association_transformer_test.cc
│ │ ├── base_tag_filter_test.cc
│ │ ├── beacon_critical_images_finder_test.cc
│ │ ├── cache_extender_test.cc
│ │ ├── cacheable_resource_base_test.cc
│ │ ├── collect_dependencies_filter_test.cc
│ │ ├── common_filter_test.cc
│ │ ├── config
│ │ │ ├── measurement_proxy_rewrite_options_manager_test.cc
│ │ │ └── rewrite_options_manager_test.cc
│ │ ├── critical_css_beacon_filter_test.cc
│ │ ├── critical_finder_support_util_test.cc
│ │ ├── critical_images_beacon_filter_test.cc
│ │ ├── critical_images_finder_test.cc
│ │ ├── critical_images_finder_test_base.cc
│ │ ├── critical_images_finder_test_base.h
│ │ ├── critical_selector_filter_test.cc
│ │ ├── critical_selector_finder_test.cc
│ │ ├── csp_test.cc
│ │ ├── css_combine_filter_test.cc
│ │ ├── css_embedded_config_test.cc
│ │ ├── css_filter_test.cc
│ │ ├── css_flatten_imports_test.cc
│ │ ├── css_hierarchy_test.cc
│ │ ├── css_image_rewriter_test.cc
│ │ ├── css_inline_filter_test.cc
│ │ ├── css_inline_import_to_link_filter_test.cc
│ │ ├── css_minify_test.cc
│ │ ├── css_move_to_head_filter_test.cc
│ │ ├── css_outline_filter_test.cc
│ │ ├── css_rewrite_test_base.cc
│ │ ├── css_rewrite_test_base.h
│ │ ├── css_summarizer_base_test.cc
│ │ ├── css_tag_scanner_test.cc
│ │ ├── css_url_encoder_test.cc
│ │ ├── css_util_test.cc
│ │ ├── custom_rewrite_test_base.h
│ │ ├── debug_filter_test.cc
│ │ ├── decode_rewritten_urls_filter_test.cc
│ │ ├── dedup_inlined_images_filter_test.cc
│ │ ├── defer_iframe_filter_test.cc
│ │ ├── delay_images_filter_test.cc
│ │ ├── dependency_tracker_test.cc
│ │ ├── deterministic_js_filter_test.cc
│ │ ├── device_properties_test.cc
│ │ ├── dom_stats_filter_test.cc
│ │ ├── domain_lawyer_test.cc
│ │ ├── domain_rewrite_filter_test.cc
│ │ ├── downstream_cache_purger_test.cc
│ │ ├── downstream_caching_directives_test.cc
│ │ ├── experiment_matcher_test.cc
│ │ ├── experiment_util_test.cc
│ │ ├── file_load_policy_test.cc
│ │ ├── fix_reflow_filter_test.cc
│ │ ├── flush_html_filter_test.cc
│ │ ├── google_analytics_filter_test.cc
│ │ ├── google_font_css_inline_filter_test.cc
│ │ ├── google_font_service_input_resource_test.cc
│ │ ├── handle_noscript_redirect_filter_test.cc
│ │ ├── image_combine_filter_test.cc
│ │ ├── image_endian_test.cc
│ │ ├── image_rewrite_filter_test.cc
│ │ ├── image_test.cc
│ │ ├── image_test_base.cc
│ │ ├── image_test_base.h
│ │ ├── image_testing_peer.h
│ │ ├── image_url_encoder_test.cc
│ │ ├── in_place_rewrite_context_test.cc
│ │ ├── insert_amp_link_filter_test.cc
│ │ ├── insert_dns_prefetch_filter_test.cc
│ │ ├── insert_ga_filter_test.cc
│ │ ├── javascript_code_block_test.cc
│ │ ├── javascript_filter_test.cc
│ │ ├── js_combine_filter_test.cc
│ │ ├── js_defer_disabled_filter_test.cc
│ │ ├── js_disable_filter_test.cc
│ │ ├── js_inline_filter_test.cc
│ │ ├── js_outline_filter_test.cc
│ │ ├── js_replacer_test.cc
│ │ ├── lazyload_images_filter_test.cc
│ │ ├── local_storage_cache_filter_test.cc
│ │ ├── make_show_ads_async_filter_test.cc
│ │ ├── measurement_proxy_url_namer_test.cc
│ │ ├── meta_tag_filter_test.cc
│ │ ├── mock_critical_images_finder.cc
│ │ ├── mock_critical_images_finder.h
│ │ ├── mock_resource_callback.cc
│ │ ├── mock_resource_callback.h
│ │ ├── notifying_fetch.cc
│ │ ├── notifying_fetch.h
│ │ ├── pedantic_filter_test.cc
│ │ ├── property_cache_util_test.cc
│ │ ├── push_preload_filter_test.cc
│ │ ├── redirect_on_size_limit_filter_test.cc
│ │ ├── request_properties_test.cc
│ │ ├── resource_combiner_test.cc
│ │ ├── resource_fetch_test.cc
│ │ ├── resource_namer_test.cc
│ │ ├── resource_slot_test.cc
│ │ ├── resource_tag_scanner_test.cc
│ │ ├── resource_update_test.cc
│ │ ├── responsive_image_filter_test.cc
│ │ ├── rewrite_context_test.cc
│ │ ├── rewrite_context_test_base.cc
│ │ ├── rewrite_context_test_base.h
│ │ ├── rewrite_driver_test.cc
│ │ ├── rewrite_options_test.cc
│ │ ├── rewrite_options_test_base.h
│ │ ├── rewrite_query_test.cc
│ │ ├── rewrite_single_resource_filter_test.cc
│ │ ├── rewrite_test_base.cc
│ │ ├── rewrite_test_base.h
│ │ ├── rewriter_test.cc
│ │ ├── rewritten_content_scanning_filter_test.cc
│ │ ├── scan_filter_test.cc
│ │ ├── script_tag_scanner_test.cc
│ │ ├── server_context_test.cc
│ │ ├── shared_cache_test.cc
│ │ ├── srcset_slot_test.cc
│ │ ├── static_asserts_test.cc
│ │ ├── static_asset_manager_test.cc
│ │ ├── strip_scripts_filter_test.cc
│ │ ├── strip_subresource_hints_filter_test.cc
│ │ ├── support_noscript_filter_test.cc
│ │ ├── test_rewrite_driver_factory.cc
│ │ ├── test_rewrite_driver_factory.h
│ │ ├── test_url_namer.cc
│ │ ├── test_url_namer.h
│ │ ├── testdata
│ │ │ ├── AppSegments.jpg
│ │ │ ├── BikeCrashIcn.png
│ │ │ ├── CradleAnimation.gif
│ │ │ ├── Cuppa.png
│ │ │ ├── CuppaO.png
│ │ │ ├── CuppaT-26x28.png
│ │ │ ├── CuppaT.png
│ │ │ ├── ExplosiveEgress.png
│ │ │ ├── IronChef2.gif
│ │ │ ├── Large.png
│ │ │ ├── PageSpeedAnimationSmall.gif
│ │ │ ├── Puzzle.jpg
│ │ │ ├── RedbrushAlpha-0.5.png
│ │ │ ├── ResolutionLimit.jpg
│ │ │ ├── ResolutionLimit.png
│ │ │ ├── Sample.jpg
│ │ │ ├── Sample_webp.webp
│ │ │ ├── Scenery.webp
│ │ │ ├── agencyrep_bbc_usa_homepage
│ │ │ ├── another-blank.gif
│ │ │ ├── b2
│ │ │ ├── chromium-24.webp
│ │ │ ├── combine0.css.gold
│ │ │ ├── concat_css.html
│ │ │ ├── concat_css.html.gold
│ │ │ ├── concat_css_missing_css.html
│ │ │ ├── extScript.gold.js.http
│ │ │ ├── extScript.js
│ │ │ ├── extensionless_gif
│ │ │ ├── img_tag_identification.html
│ │ │ ├── img_tag_identification.html.gold
│ │ │ ├── img_tag_identification.log.gold
│ │ │ ├── javascript_test.gold.html
│ │ │ ├── javascript_test.html
│ │ │ ├── javascript_test.log.gold
│ │ │ ├── o.gif
│ │ │ ├── p-ccrmZLtMqYB8w.gif
│ │ │ ├── red_empty_screen.gif
│ │ │ ├── small-data.png
│ │ │ ├── small_16x16.png
│ │ │ ├── third_party.js
│ │ │ └── transparent.gif
│ │ ├── two_level_cache_test.cc
│ │ ├── url_input_resource_test.cc
│ │ ├── url_left_trim_filter_test.cc
│ │ ├── url_namer_test.cc
│ │ ├── url_partnership_test.cc
│ │ └── webp_optimizer_test.cc
│ │ └── spriter
│ │ ├── BUILD
│ │ ├── image_spriter_test.cc
│ │ ├── libpng_image_library_test.cc
│ │ └── mock_image_library_interface.h
├── pagespeed
│ ├── apache
│ │ ├── BUILD
│ │ ├── apache_config_test.cc
│ │ ├── apache_fetch_test.cc
│ │ ├── apache_writer_test.cc
│ │ ├── header_util_test.cc
│ │ ├── mock_apache.cc
│ │ ├── mock_apache.h
│ │ └── simple_buffered_apache_fetch_test.cc
│ ├── automatic
│ │ ├── BUILD
│ │ ├── html_detector_test.cc
│ │ ├── proxy_fetch_test.cc
│ │ ├── proxy_interface_test.cc
│ │ ├── proxy_interface_test_base.cc
│ │ └── proxy_interface_test_base.h
│ ├── controller
│ │ ├── BUILD
│ │ ├── central_controller_callback_test.cc
│ │ ├── context_registry_test.cc
│ │ ├── controller_grpc_mocks.h
│ │ ├── expensive_operation_rpc_context_test.cc
│ │ ├── expensive_operation_rpc_handler_test.cc
│ │ ├── grpc_server_test.cc
│ │ ├── grpc_server_test.h
│ │ ├── grpc_test.proto
│ │ ├── named_lock_schedule_rewrite_controller_test.cc
│ │ ├── popularity_contest_schedule_rewrite_controller_test.cc
│ │ ├── priority_queue_test.cc
│ │ ├── queued_expensive_operation_controller_test.cc
│ │ ├── rpc_handler_test.cc
│ │ ├── schedule_rewrite_rpc_context_test.cc
│ │ ├── schedule_rewrite_rpc_handler_test.cc
│ │ └── work_bound_expensive_operation_controller_test.cc
│ ├── kernel
│ │ ├── base
│ │ │ ├── BUILD
│ │ │ ├── annotated_message_handler_test.cc
│ │ │ ├── arena_test.cc
│ │ │ ├── base64_test.cc
│ │ │ ├── callback_test.cc
│ │ │ ├── charset_util_test.cc
│ │ │ ├── chunking_writer_test.cc
│ │ │ ├── circular_buffer_test.cc
│ │ │ ├── countdown_timer_test.cc
│ │ │ ├── escaping_test.cc
│ │ │ ├── fast_wildcard_group_test.cc
│ │ │ ├── file_system_test_base.cc
│ │ │ ├── file_system_test_base.h
│ │ │ ├── function_test.cc
│ │ │ ├── gmock.h
│ │ │ ├── gtest.cc
│ │ │ ├── gtest.h
│ │ │ ├── hasher_test.cc
│ │ │ ├── hostname_util_test.cc
│ │ │ ├── inline_slist_test.cc
│ │ │ ├── md5_hasher_test.cc
│ │ │ ├── mem_file_system.cc
│ │ │ ├── mem_file_system.h
│ │ │ ├── mem_file_system_test.cc
│ │ │ ├── message_handler_test.cc
│ │ │ ├── message_handler_test_base.cc
│ │ │ ├── message_handler_test_base.h
│ │ │ ├── mock_hasher.cc
│ │ │ ├── mock_hasher.h
│ │ │ ├── mock_message_handler.cc
│ │ │ ├── mock_message_handler.h
│ │ │ ├── mock_message_handler_test.cc
│ │ │ ├── mock_timer.cc
│ │ │ ├── mock_timer.h
│ │ │ ├── mock_timer_test.cc
│ │ │ ├── named_lock_tester.h
│ │ │ ├── null_statistics_test.cc
│ │ │ ├── null_thread_system.cc
│ │ │ ├── null_thread_system.h
│ │ │ ├── pool_test.cc
│ │ │ ├── proto_matcher_test.cc
│ │ │ ├── proto_matcher_test.proto
│ │ │ ├── ref_counted_ptr_test.cc
│ │ │ ├── rolling_hash_test.cc
│ │ │ ├── sha1_signature_test.cc
│ │ │ ├── shared_string_test.cc
│ │ │ ├── source_map_test.cc
│ │ │ ├── split_statistics_test.cc
│ │ │ ├── split_writer_test.cc
│ │ │ ├── stdio_file_system_test.cc
│ │ │ ├── string_multi_map_test.cc
│ │ │ ├── string_util_test.cc
│ │ │ ├── symbol_table_test.cc
│ │ │ ├── time_util_test.cc
│ │ │ ├── vector_deque_test.cc
│ │ │ ├── waveform_test.cc
│ │ │ ├── wildcard_group_test.cc
│ │ │ └── wildcard_test.cc
│ │ ├── cache
│ │ │ ├── BUILD
│ │ │ ├── async_cache_test.cc
│ │ │ ├── cache_batcher_test.cc
│ │ │ ├── cache_batcher_testing_peer.h
│ │ │ ├── cache_key_prepender_test.cc
│ │ │ ├── cache_spammer.cc
│ │ │ ├── cache_spammer.h
│ │ │ ├── cache_stats_test.cc
│ │ │ ├── cache_test_base.h
│ │ │ ├── compressed_cache_test.cc
│ │ │ ├── delay_cache_test.cc
│ │ │ ├── fallback_cache_test.cc
│ │ │ ├── file_cache_test.cc
│ │ │ ├── in_memory_cache_test.cc
│ │ │ ├── key_value_codec_test.cc
│ │ │ ├── lru_cache_test.cc
│ │ │ ├── mock_time_cache.cc
│ │ │ ├── mock_time_cache.h
│ │ │ ├── mock_time_cache_test.cc
│ │ │ ├── purge_context_test.cc
│ │ │ ├── purge_set_test.cc
│ │ │ ├── threadsafe_cache_test.cc
│ │ │ └── write_through_cache_test.cc
│ │ ├── html
│ │ │ ├── BUILD
│ │ │ ├── amp_document_filter_test.cc
│ │ │ ├── canonical_attributes_test.cc
│ │ │ ├── collapse_whitespace_filter_test.cc
│ │ │ ├── disable_test_filter.h
│ │ │ ├── doctype_test.cc
│ │ │ ├── elide_attributes_filter_test.cc
│ │ │ ├── html_attribute_quote_removal_test.cc
│ │ │ ├── html_keywords_test.cc
│ │ │ ├── html_name_test.cc
│ │ │ ├── html_parse_test.cc
│ │ │ ├── html_parse_test_base.cc
│ │ │ ├── html_parse_test_base.h
│ │ │ ├── html_testing_peer.h
│ │ │ └── remove_comments_filter_test.cc
│ │ ├── http
│ │ │ ├── BUILD
│ │ │ ├── bot_checker_test.cc
│ │ │ ├── caching_headers_test.cc
│ │ │ ├── content_type_test.cc
│ │ │ ├── data_url_test.cc
│ │ │ ├── domain_registry_test.cc
│ │ │ ├── google_url_test.cc
│ │ │ ├── query_params_test.cc
│ │ │ ├── request_headers_test.cc
│ │ │ ├── response_headers_test.cc
│ │ │ ├── semantic_type_test.cc
│ │ │ ├── user_agent_matcher_test.cc
│ │ │ ├── user_agent_matcher_test_base.cc
│ │ │ ├── user_agent_matcher_test_base.h
│ │ │ └── user_agent_normalizer_test.cc
│ │ ├── image
│ │ │ ├── BUILD
│ │ │ ├── frame_interface_integration_test.cc
│ │ │ ├── frame_interface_optimizer_test.cc
│ │ │ ├── gif_reader_test.cc
│ │ │ ├── image_analysis_test.cc
│ │ │ ├── image_converter_test.cc
│ │ │ ├── image_optimizer_test.cc
│ │ │ ├── image_resizer_test.cc
│ │ │ ├── image_util_test.cc
│ │ │ ├── jpeg_optimizer_test.cc
│ │ │ ├── jpeg_optimizer_test_helper.cc
│ │ │ ├── jpeg_optimizer_test_helper.h
│ │ │ ├── jpeg_reader_test.cc
│ │ │ ├── jpeg_utils_test.cc
│ │ │ ├── pixel_format_optimizer_test.cc
│ │ │ ├── png_optimizer_test.cc
│ │ │ ├── scanline_interface_frame_adapter_test.cc
│ │ │ ├── scanline_status_test.cc
│ │ │ ├── test_utils.cc
│ │ │ ├── test_utils.h
│ │ │ ├── testdata
│ │ │ │ ├── gif
│ │ │ │ │ ├── animated.gif
│ │ │ │ │ ├── animated_interlaced.gif
│ │ │ │ │ ├── bad.gif
│ │ │ │ │ ├── bad_pixel_global_palette.gif
│ │ │ │ │ ├── bad_pixel_local_palette.gif
│ │ │ │ │ ├── completely_transparent.gif
│ │ │ │ │ ├── completely_transparent.png
│ │ │ │ │ ├── frame_smaller_than_screen.gif
│ │ │ │ │ ├── full2loop.gif
│ │ │ │ │ ├── interlaced.gif
│ │ │ │ │ ├── interlaced.png
│ │ │ │ │ ├── o.gif
│ │ │ │ │ ├── red_conforming.png
│ │ │ │ │ ├── red_empty_screen.gif
│ │ │ │ │ ├── red_unused_invalid_background.gif
│ │ │ │ │ ├── square2loop.gif
│ │ │ │ │ ├── transparent.gif
│ │ │ │ │ └── zero_size_animation.gif
│ │ │ │ ├── jpeg
│ │ │ │ │ ├── already_optimized.jpg
│ │ │ │ │ ├── app_segments.jpg
│ │ │ │ │ ├── corrupt.jpg
│ │ │ │ │ ├── emptyfile.jpg
│ │ │ │ │ ├── notajpeg.gif
│ │ │ │ │ ├── notajpeg.png
│ │ │ │ │ ├── progressive.jpg
│ │ │ │ │ ├── quality100.jpg
│ │ │ │ │ ├── sjpeg1.jpg
│ │ │ │ │ ├── sjpeg2.jpg
│ │ │ │ │ ├── sjpeg3.jpg
│ │ │ │ │ ├── sjpeg4.jpg
│ │ │ │ │ ├── sjpeg6.jpg
│ │ │ │ │ ├── test411.jpg
│ │ │ │ │ ├── test411.png
│ │ │ │ │ ├── test420.jpg
│ │ │ │ │ ├── test420.png
│ │ │ │ │ ├── test422.jpg
│ │ │ │ │ ├── test422.png
│ │ │ │ │ ├── test444.jpg
│ │ │ │ │ ├── test444.png
│ │ │ │ │ ├── testgray.jpg
│ │ │ │ │ └── testgray.png
│ │ │ │ ├── png
│ │ │ │ │ ├── gray_alpha.png
│ │ │ │ │ ├── large.png
│ │ │ │ │ ├── pagespeed-128.png
│ │ │ │ │ ├── pagespeed-33x34.png
│ │ │ │ │ ├── read_from_stream_crash.png
│ │ │ │ │ ├── rgb_alpha.png
│ │ │ │ │ └── this_is_a_test.png
│ │ │ │ ├── pngsuite
│ │ │ │ │ ├── already_optimized.png
│ │ │ │ │ ├── basi0g01.png
│ │ │ │ │ ├── basi0g02.png
│ │ │ │ │ ├── basi0g04.png
│ │ │ │ │ ├── basi0g08.png
│ │ │ │ │ ├── basi0g16.png
│ │ │ │ │ ├── basi2c08.png
│ │ │ │ │ ├── basi2c16.png
│ │ │ │ │ ├── basi3p01.png
│ │ │ │ │ ├── basi3p02.png
│ │ │ │ │ ├── basi3p04.png
│ │ │ │ │ ├── basi3p08.png
│ │ │ │ │ ├── basi4a08.png
│ │ │ │ │ ├── basi4a16.png
│ │ │ │ │ ├── basi6a08.png
│ │ │ │ │ ├── basi6a16.png
│ │ │ │ │ ├── basn0g01.png
│ │ │ │ │ ├── basn0g02.png
│ │ │ │ │ ├── basn0g04.png
│ │ │ │ │ ├── basn0g08.png
│ │ │ │ │ ├── basn0g16.png
│ │ │ │ │ ├── basn2c08.png
│ │ │ │ │ ├── basn2c16.png
│ │ │ │ │ ├── basn3p01.png
│ │ │ │ │ ├── basn3p02.png
│ │ │ │ │ ├── basn3p04.png
│ │ │ │ │ ├── basn3p08.png
│ │ │ │ │ ├── basn4a08.png
│ │ │ │ │ ├── basn4a16.png
│ │ │ │ │ ├── basn6a08.png
│ │ │ │ │ ├── basn6a16.png
│ │ │ │ │ ├── bgai4a08.png
│ │ │ │ │ ├── bgai4a16.png
│ │ │ │ │ ├── bgan6a08.png
│ │ │ │ │ ├── bgan6a16.png
│ │ │ │ │ ├── bgbn4a08.png
│ │ │ │ │ ├── bggn4a16.png
│ │ │ │ │ ├── bgwn6a08.png
│ │ │ │ │ ├── bgyn6a16.png
│ │ │ │ │ ├── ccwn2c08.png
│ │ │ │ │ ├── ccwn3p08.png
│ │ │ │ │ ├── cdfn2c08.png
│ │ │ │ │ ├── cdhn2c08.png
│ │ │ │ │ ├── cdsn2c08.png
│ │ │ │ │ ├── cdun2c08.png
│ │ │ │ │ ├── ch1n3p04.png
│ │ │ │ │ ├── ch2n3p08.png
│ │ │ │ │ ├── cm0n0g04.png
│ │ │ │ │ ├── cm7n0g04.png
│ │ │ │ │ ├── cm9n0g04.png
│ │ │ │ │ ├── cs3n2c16.png
│ │ │ │ │ ├── cs3n3p08.png
│ │ │ │ │ ├── cs5n2c08.png
│ │ │ │ │ ├── cs5n3p08.png
│ │ │ │ │ ├── cs8n2c08.png
│ │ │ │ │ ├── cs8n3p08.png
│ │ │ │ │ ├── ct0n0g04.png
│ │ │ │ │ ├── ct1n0g04.png
│ │ │ │ │ ├── ctzn0g04.png
│ │ │ │ │ ├── emptyfile.png
│ │ │ │ │ ├── f00n0g08.png
│ │ │ │ │ ├── f00n2c08.png
│ │ │ │ │ ├── f01n0g08.png
│ │ │ │ │ ├── f01n2c08.png
│ │ │ │ │ ├── f02n0g08.png
│ │ │ │ │ ├── f02n2c08.png
│ │ │ │ │ ├── f03n0g08.png
│ │ │ │ │ ├── f03n2c08.png
│ │ │ │ │ ├── f04n0g08.png
│ │ │ │ │ ├── f04n2c08.png
│ │ │ │ │ ├── g03n0g16.png
│ │ │ │ │ ├── g03n2c08.png
│ │ │ │ │ ├── g03n3p04.png
│ │ │ │ │ ├── g04n0g16.png
│ │ │ │ │ ├── g04n2c08.png
│ │ │ │ │ ├── g04n3p04.png
│ │ │ │ │ ├── g05n0g16.png
│ │ │ │ │ ├── g05n2c08.png
│ │ │ │ │ ├── g05n3p04.png
│ │ │ │ │ ├── g07n0g16.png
│ │ │ │ │ ├── g07n2c08.png
│ │ │ │ │ ├── g07n3p04.png
│ │ │ │ │ ├── g10n0g16.png
│ │ │ │ │ ├── g10n2c08.png
│ │ │ │ │ ├── g10n3p04.png
│ │ │ │ │ ├── g25n0g16.png
│ │ │ │ │ ├── g25n2c08.png
│ │ │ │ │ ├── g25n3p04.png
│ │ │ │ │ ├── gif
│ │ │ │ │ │ ├── basi0g01.gif
│ │ │ │ │ │ ├── basi0g01.gif.rgba
│ │ │ │ │ │ ├── basi0g02.gif
│ │ │ │ │ │ ├── basi0g02.gif.rgba
│ │ │ │ │ │ ├── basi0g04.gif
│ │ │ │ │ │ ├── basi0g04.gif.rgba
│ │ │ │ │ │ ├── basi0g08.gif
│ │ │ │ │ │ ├── basi0g08.gif.rgba
│ │ │ │ │ │ ├── basi3p01.gif
│ │ │ │ │ │ ├── basi3p01.gif.rgba
│ │ │ │ │ │ ├── basi3p02.gif
│ │ │ │ │ │ ├── basi3p02.gif.rgba
│ │ │ │ │ │ ├── basi3p04.gif
│ │ │ │ │ │ ├── basi3p04.gif.rgba
│ │ │ │ │ │ ├── basi3p08.gif
│ │ │ │ │ │ ├── basi3p08.gif.rgba
│ │ │ │ │ │ ├── basn0g01.gif
│ │ │ │ │ │ ├── basn0g01.gif.rgba
│ │ │ │ │ │ ├── basn0g02.gif
│ │ │ │ │ │ ├── basn0g02.gif.rgba
│ │ │ │ │ │ ├── basn0g04.gif
│ │ │ │ │ │ ├── basn0g04.gif.rgba
│ │ │ │ │ │ ├── basn0g08.gif
│ │ │ │ │ │ ├── basn0g08.gif.rgba
│ │ │ │ │ │ ├── basn3p01.gif
│ │ │ │ │ │ ├── basn3p01.gif.rgba
│ │ │ │ │ │ ├── basn3p02.gif
│ │ │ │ │ │ ├── basn3p02.gif.rgba
│ │ │ │ │ │ ├── basn3p04.gif
│ │ │ │ │ │ ├── basn3p04.gif.rgba
│ │ │ │ │ │ ├── basn3p08.gif
│ │ │ │ │ │ ├── basn3p08.gif.rgba
│ │ │ │ │ │ ├── tr-basi4a08.gif
│ │ │ │ │ │ ├── tr-basi4a08.gif.rgba
│ │ │ │ │ │ ├── tr-basn4a08.gif
│ │ │ │ │ │ └── tr-basn4a08.gif.rgba
│ │ │ │ │ ├── grey_alpha_opaque.png
│ │ │ │ │ ├── oi1n0g16.png
│ │ │ │ │ ├── oi1n2c16.png
│ │ │ │ │ ├── oi2n0g16.png
│ │ │ │ │ ├── oi2n2c16.png
│ │ │ │ │ ├── oi4n0g16.png
│ │ │ │ │ ├── oi4n2c16.png
│ │ │ │ │ ├── oi9n0g16.png
│ │ │ │ │ ├── oi9n2c16.png
│ │ │ │ │ ├── pp0n2c16.png
│ │ │ │ │ ├── pp0n6a08.png
│ │ │ │ │ ├── ps1n0g08.png
│ │ │ │ │ ├── ps1n2c16.png
│ │ │ │ │ ├── ps2n0g08.png
│ │ │ │ │ ├── ps2n2c16.png
│ │ │ │ │ ├── rgba_opaque.png
│ │ │ │ │ ├── s01i3p01.png
│ │ │ │ │ ├── s01n3p01.png
│ │ │ │ │ ├── s02i3p01.png
│ │ │ │ │ ├── s02n3p01.png
│ │ │ │ │ ├── s03i3p01.png
│ │ │ │ │ ├── s03n3p01.png
│ │ │ │ │ ├── s04i3p01.png
│ │ │ │ │ ├── s04n3p01.png
│ │ │ │ │ ├── s05i3p02.png
│ │ │ │ │ ├── s05n3p02.png
│ │ │ │ │ ├── s06i3p02.png
│ │ │ │ │ ├── s06n3p02.png
│ │ │ │ │ ├── s07i3p02.png
│ │ │ │ │ ├── s07n3p02.png
│ │ │ │ │ ├── s08i3p02.png
│ │ │ │ │ ├── s08n3p02.png
│ │ │ │ │ ├── s09i3p02.png
│ │ │ │ │ ├── s09n3p02.png
│ │ │ │ │ ├── s32i3p04.png
│ │ │ │ │ ├── s32n3p04.png
│ │ │ │ │ ├── s33i3p04.png
│ │ │ │ │ ├── s33n3p04.png
│ │ │ │ │ ├── s34i3p04.png
│ │ │ │ │ ├── s34n3p04.png
│ │ │ │ │ ├── s35i3p04.png
│ │ │ │ │ ├── s35n3p04.png
│ │ │ │ │ ├── s36i3p04.png
│ │ │ │ │ ├── s36n3p04.png
│ │ │ │ │ ├── s37i3p04.png
│ │ │ │ │ ├── s37n3p04.png
│ │ │ │ │ ├── s38i3p04.png
│ │ │ │ │ ├── s38n3p04.png
│ │ │ │ │ ├── s39i3p04.png
│ │ │ │ │ ├── s39n3p04.png
│ │ │ │ │ ├── s40i3p04.png
│ │ │ │ │ ├── s40n3p04.png
│ │ │ │ │ ├── tbbn1g04.png
│ │ │ │ │ ├── tbbn2c16.png
│ │ │ │ │ ├── tbbn3p08.png
│ │ │ │ │ ├── tbgn2c16.png
│ │ │ │ │ ├── tbgn3p08.png
│ │ │ │ │ ├── tbrn2c08.png
│ │ │ │ │ ├── tbwn1g16.png
│ │ │ │ │ ├── tbwn3p08.png
│ │ │ │ │ ├── tbyn3p08.png
│ │ │ │ │ ├── tp0n1g08.png
│ │ │ │ │ ├── tp0n2c08.png
│ │ │ │ │ ├── tp0n3p08.png
│ │ │ │ │ ├── tp1n3p08.png
│ │ │ │ │ ├── tr-basi4a08.png
│ │ │ │ │ ├── tr-basn4a08.png
│ │ │ │ │ ├── tr-t1-8pB.png
│ │ │ │ │ ├── tr-t2-8pb.png
│ │ │ │ │ ├── tr-t3-32pB.png
│ │ │ │ │ ├── tr-t4-32pb.png
│ │ │ │ │ ├── tr-t5-64pB.png
│ │ │ │ │ ├── tr-t6-64pb.png
│ │ │ │ │ ├── x00n0g01.png
│ │ │ │ │ ├── xcrn0g04.png
│ │ │ │ │ ├── xlfn0g04.png
│ │ │ │ │ ├── z00n2c08.png
│ │ │ │ │ ├── z03n2c08.png
│ │ │ │ │ ├── z06n2c08.png
│ │ │ │ │ └── z09n2c08.png
│ │ │ │ ├── resized
│ │ │ │ │ ├── basi0g04_w16_h16.png
│ │ │ │ │ ├── basi0g04_w16_h25.png
│ │ │ │ │ ├── basi0g04_w31_h31.png
│ │ │ │ │ ├── basi0g04_w32_h32.png
│ │ │ │ │ ├── basi0g04_w32_h5.png
│ │ │ │ │ ├── basi0g04_w3_h3.png
│ │ │ │ │ ├── basi0g04_w3_h32.png
│ │ │ │ │ ├── basi0g04_w8_h8.png
│ │ │ │ │ ├── basi3p02_w16_h16.png
│ │ │ │ │ ├── basi3p02_w16_h25.png
│ │ │ │ │ ├── basi3p02_w31_h31.png
│ │ │ │ │ ├── basi3p02_w32_h32.png
│ │ │ │ │ ├── basi3p02_w32_h5.png
│ │ │ │ │ ├── basi3p02_w3_h3.png
│ │ │ │ │ ├── basi3p02_w3_h32.png
│ │ │ │ │ ├── basi3p02_w8_h8.png
│ │ │ │ │ ├── basn6a16_w16_h16.png
│ │ │ │ │ ├── basn6a16_w16_h25.png
│ │ │ │ │ ├── basn6a16_w31_h31.png
│ │ │ │ │ ├── basn6a16_w32_h32.png
│ │ │ │ │ ├── basn6a16_w32_h5.png
│ │ │ │ │ ├── basn6a16_w3_h3.png
│ │ │ │ │ ├── basn6a16_w3_h32.png
│ │ │ │ │ ├── basn6a16_w8_h8.png
│ │ │ │ │ ├── large_w16_h16.png
│ │ │ │ │ ├── large_w16_h25.png
│ │ │ │ │ ├── large_w31_h31.png
│ │ │ │ │ ├── large_w32_h32.png
│ │ │ │ │ ├── large_w32_h5.png
│ │ │ │ │ ├── large_w3_h3.png
│ │ │ │ │ ├── large_w3_h32.png
│ │ │ │ │ ├── large_w8_h8.png
│ │ │ │ │ ├── pagespeed-33x34_w16_h16.png
│ │ │ │ │ ├── pagespeed-33x34_w16_h25.png
│ │ │ │ │ ├── pagespeed-33x34_w31_h31.png
│ │ │ │ │ ├── pagespeed-33x34_w32_h32.png
│ │ │ │ │ ├── pagespeed-33x34_w32_h5.png
│ │ │ │ │ ├── pagespeed-33x34_w3_h3.png
│ │ │ │ │ ├── pagespeed-33x34_w3_h32.png
│ │ │ │ │ └── pagespeed-33x34_w8_h8.png
│ │ │ │ └── webp
│ │ │ │ │ ├── alpha_32x32.png
│ │ │ │ │ ├── alpha_32x32.webp
│ │ │ │ │ ├── animated.webp
│ │ │ │ │ ├── completely_opaque_32x20.png
│ │ │ │ │ ├── corrupt_body.webp
│ │ │ │ │ ├── corrupt_header.webp
│ │ │ │ │ ├── gray_saved_as_gray.png
│ │ │ │ │ ├── gray_saved_as_rgb.png
│ │ │ │ │ ├── gray_saved_as_rgb.webp
│ │ │ │ │ ├── icc_xmp_ex.webp
│ │ │ │ │ ├── img3.webpla
│ │ │ │ │ ├── multiple_frame_opaque.gif
│ │ │ │ │ ├── multiple_frame_opaque_gray.gif
│ │ │ │ │ ├── opaque_32x20.png
│ │ │ │ │ ├── opaque_32x20.webp
│ │ │ │ │ ├── pagespeed_32x32_gray.png
│ │ │ │ │ └── partially_opaque_32x20.png
│ │ │ └── webp_optimizer_test.cc
│ │ ├── js
│ │ │ ├── BUILD
│ │ │ ├── js_minify_test.cc
│ │ │ ├── js_tokenizer_test.cc
│ │ │ └── testdata
│ │ │ │ └── third_party
│ │ │ │ ├── angular.minified
│ │ │ │ ├── angular.original
│ │ │ │ ├── jquery.minified
│ │ │ │ ├── jquery.original
│ │ │ │ ├── prototype.minified
│ │ │ │ └── prototype.original
│ │ ├── sharedmem
│ │ │ ├── BUILD
│ │ │ ├── inprocess_shared_mem_test.cc
│ │ │ ├── pthread_shared_mem_test.cc
│ │ │ ├── shared_circular_buffer_test_base.cc
│ │ │ ├── shared_circular_buffer_test_base.h
│ │ │ ├── shared_dynamic_string_map_test_base.cc
│ │ │ ├── shared_dynamic_string_map_test_base.h
│ │ │ ├── shared_mem_cache_data_test_base.cc
│ │ │ ├── shared_mem_cache_data_test_base.h
│ │ │ ├── shared_mem_cache_spammer_test.cc
│ │ │ ├── shared_mem_cache_test_base.cc
│ │ │ ├── shared_mem_cache_test_base.h
│ │ │ ├── shared_mem_lock_manager_test_base.cc
│ │ │ ├── shared_mem_lock_manager_test_base.h
│ │ │ ├── shared_mem_statistics_test_base.cc
│ │ │ ├── shared_mem_statistics_test_base.h
│ │ │ ├── shared_mem_test_base.cc
│ │ │ └── shared_mem_test_base.h
│ │ ├── thread
│ │ │ ├── BUILD
│ │ │ ├── blocking_callback.h
│ │ │ ├── condvar_test_base.h
│ │ │ ├── mock_scheduler.cc
│ │ │ ├── mock_scheduler.h
│ │ │ ├── mock_scheduler_test.cc
│ │ │ ├── pthread_condvar_test.cc
│ │ │ ├── pthread_thread_system_test.cc
│ │ │ ├── queued_alarm_test.cc
│ │ │ ├── queued_worker_pool_test.cc
│ │ │ ├── queued_worker_test.cc
│ │ │ ├── scheduler_based_abstract_lock_test.cc
│ │ │ ├── scheduler_sequence_test.cc
│ │ │ ├── scheduler_test.cc
│ │ │ ├── scheduler_thread_test.cc
│ │ │ ├── slow_worker_test.cc
│ │ │ ├── thread_synchronizer_test.cc
│ │ │ ├── thread_system_test_base.cc
│ │ │ ├── thread_system_test_base.h
│ │ │ ├── worker_test_base.cc
│ │ │ └── worker_test_base.h
│ │ └── util
│ │ │ ├── BUILD
│ │ │ ├── brotli_inflater_test.cc
│ │ │ ├── categorized_refcount_test.cc
│ │ │ ├── copy_on_write_test.cc
│ │ │ ├── file_system_lock_manager_test.cc
│ │ │ ├── gzip_inflater_test.cc
│ │ │ ├── hashed_nonce_generator_test.cc
│ │ │ ├── input_file_nonce_generator_test.cc
│ │ │ ├── lock_manager_spammer.cc
│ │ │ ├── lock_manager_spammer.h
│ │ │ ├── mem_lock_manager_test.cc
│ │ │ ├── mock_nonce_generator.cc
│ │ │ ├── mock_nonce_generator.h
│ │ │ ├── nonce_generator_test_base.cc
│ │ │ ├── nonce_generator_test_base.h
│ │ │ ├── re2_test.cc
│ │ │ ├── simple_stats_test.cc
│ │ │ ├── statistics_logger_test.cc
│ │ │ ├── threadsafe_lock_manager_test.cc
│ │ │ ├── url_escaper_test.cc
│ │ │ ├── url_multipart_encoder_test.cc
│ │ │ └── url_to_filename_encoder_test.cc
│ ├── opt
│ │ ├── ads
│ │ │ ├── BUILD
│ │ │ ├── ads_attribute_test.cc
│ │ │ ├── ads_util_test.cc
│ │ │ └── show_ads_snippet_parser_test.cc
│ │ ├── http
│ │ │ ├── BUILD
│ │ │ ├── cache_property_store_test.cc
│ │ │ ├── fallback_property_page_test.cc
│ │ │ ├── mock_property_page.cc
│ │ │ ├── mock_property_page.h
│ │ │ ├── property_cache_test.cc
│ │ │ ├── property_store_test.cc
│ │ │ ├── request_context_test.cc
│ │ │ └── two_level_property_store_test.cc
│ │ └── logging
│ │ │ ├── BUILD
│ │ │ ├── log_record_test.cc
│ │ │ ├── log_record_test_helper.cc
│ │ │ ├── log_record_test_helper.h
│ │ │ └── request_timing_info_test.cc
│ └── system
│ │ ├── BUILD
│ │ ├── add_headers_fetcher_test.cc
│ │ ├── admin_site_test.cc
│ │ ├── admin_site_tests.js
│ │ ├── apr_mem_cache_test.cc
│ │ ├── external_server_spec_test.cc
│ │ ├── in_place_resource_recorder_test.cc
│ │ ├── loopback_route_fetcher_test.cc
│ │ ├── redis_cache_cluster_setup.cc
│ │ ├── redis_cache_cluster_setup.h
│ │ ├── redis_cache_cluster_setup_main.cc
│ │ ├── redis_cache_cluster_test.cc
│ │ ├── redis_cache_test.cc
│ │ ├── serf_url_async_fetcher_test.cc
│ │ ├── system_caches_test.cc
│ │ ├── system_message_handler_test.cc
│ │ ├── system_rewrite_options_test.cc
│ │ ├── tcp_connection_for_testing.cc
│ │ ├── tcp_connection_for_testing.h
│ │ ├── tcp_server_thread_for_testing.cc
│ │ └── tcp_server_thread_for_testing.h
└── test_runner.h
├── third_party
├── UPDATING_CLOSURE
├── apr
│ ├── BUILD
│ └── gen
│ │ └── arch
│ │ ├── linux
│ │ ├── ia32
│ │ │ └── include
│ │ │ │ ├── apr.h
│ │ │ │ └── apr_private.h
│ │ └── x64
│ │ │ └── include
│ │ │ ├── apr.h
│ │ │ └── apr_private.h
│ │ └── mac
│ │ └── ia32
│ │ └── include
│ │ ├── apr.h
│ │ └── apr_private.h
├── aprutil
│ ├── BUILD
│ ├── LICENSE
│ ├── README.google
│ ├── apr_memcache2.c
│ ├── apr_memcache2.h
│ └── gen
│ │ └── arch
│ │ ├── linux
│ │ ├── ia32
│ │ │ └── include
│ │ │ │ ├── apr_ldap.h
│ │ │ │ ├── apu.h
│ │ │ │ ├── apu_want.h
│ │ │ │ └── private
│ │ │ │ ├── apu_config.h
│ │ │ │ └── apu_select_dbm.h
│ │ └── x64
│ │ │ └── include
│ │ │ ├── apr_ldap.h
│ │ │ ├── apu.h
│ │ │ ├── apu_want.h
│ │ │ └── private
│ │ │ ├── apu_config.h
│ │ │ └── apu_select_dbm.h
│ │ └── mac
│ │ └── ia32
│ │ └── include
│ │ ├── apr_ldap.h
│ │ ├── apu.h
│ │ ├── apu_want.h
│ │ └── private
│ │ ├── apu_config.h
│ │ └── apu_select_dbm.h
├── closure
│ ├── BUILD
│ ├── download.sh
│ └── externs
│ │ └── google_visualization_api.js
├── css_parser
│ ├── BUILD
│ └── src
│ │ ├── Makefile
│ │ ├── README
│ │ ├── base
│ │ ├── googleinit.h
│ │ └── integral_types.h
│ │ ├── string_using.h
│ │ ├── strings
│ │ ├── ascii_ctype.cc
│ │ ├── ascii_ctype.h
│ │ ├── case.h
│ │ ├── escaping.h
│ │ ├── join.h
│ │ ├── memutil.h
│ │ ├── stringpiece.h
│ │ ├── stringpiece_utils.cc
│ │ ├── stringpiece_utils.h
│ │ └── strutil.h
│ │ ├── third_party
│ │ └── utf
│ │ │ ├── Make.Linux-x86_64
│ │ │ ├── Makefile
│ │ │ ├── NOTICE
│ │ │ ├── README
│ │ │ ├── rune.c
│ │ │ ├── runestrcat.c
│ │ │ ├── runestrchr.c
│ │ │ ├── runestrcmp.c
│ │ │ ├── runestrcpy.c
│ │ │ ├── runestrdup.c
│ │ │ ├── runestrecpy.c
│ │ │ ├── runestrlen.c
│ │ │ ├── runestrncat.c
│ │ │ ├── runestrncmp.c
│ │ │ ├── runestrncpy.c
│ │ │ ├── runestrrchr.c
│ │ │ ├── runestrstr.c
│ │ │ ├── runetype.c
│ │ │ ├── runetypebody.c
│ │ │ ├── utf.h
│ │ │ ├── utfdef.h
│ │ │ ├── utfecpy.c
│ │ │ ├── utflen.c
│ │ │ ├── utfnlen.c
│ │ │ ├── utfrrune.c
│ │ │ ├── utfrune.c
│ │ │ └── utfutf.c
│ │ ├── util
│ │ ├── gtl
│ │ │ ├── dense_hash_map.h
│ │ │ ├── densehashtable.h
│ │ │ ├── map-util.h
│ │ │ └── stl_util.h
│ │ └── utf8
│ │ │ ├── internal
│ │ │ ├── unicodetext.cc
│ │ │ └── unilib.cc
│ │ │ └── public
│ │ │ ├── config.h
│ │ │ ├── unicodetext.h
│ │ │ ├── unilib.h
│ │ │ └── unilib_utf8_utils.h
│ │ └── webutil
│ │ ├── css
│ │ ├── fallthrough_intended.h
│ │ ├── identifier.gperf
│ │ ├── identifier.h
│ │ ├── identifier_test.cc
│ │ ├── media.cc
│ │ ├── media.h
│ │ ├── parse_arg.cc
│ │ ├── parser.cc
│ │ ├── parser.h
│ │ ├── parser_unittest.cc
│ │ ├── property.gperf
│ │ ├── property.h
│ │ ├── property_test.cc
│ │ ├── selector.cc
│ │ ├── selector.h
│ │ ├── string.h
│ │ ├── string_util.cc
│ │ ├── string_util.h
│ │ ├── tostring.cc
│ │ ├── tostring.h
│ │ ├── tostring_test.cc
│ │ ├── util.cc
│ │ ├── util.h
│ │ ├── util_test.cc
│ │ ├── value.cc
│ │ └── value.h
│ │ └── html
│ │ ├── htmlcolor.cc
│ │ ├── htmlcolor.h
│ │ ├── htmltagenum.cc
│ │ ├── htmltagenum.h
│ │ ├── htmltagindex.cc
│ │ └── htmltagindex.h
├── google-sparsehash
│ ├── BUILD
│ └── gen
│ │ └── arch
│ │ ├── linux
│ │ ├── ia32
│ │ │ └── include
│ │ │ │ └── google
│ │ │ │ └── sparsehash
│ │ │ │ └── sparseconfig.h
│ │ └── x64
│ │ │ └── include
│ │ │ └── google
│ │ │ └── sparsehash
│ │ │ └── sparseconfig.h
│ │ └── mac
│ │ └── ia32
│ │ └── include
│ │ └── google
│ │ └── sparsehash
│ │ └── sparseconfig.h
├── libjpeg_turbo
│ └── yasm
│ │ ├── CHROMIUM.diff
│ │ ├── README.chromium
│ │ └── source
│ │ └── config
│ │ └── linux
│ │ ├── Makefile
│ │ ├── config.h
│ │ └── libyasm-stdint.h
├── redis-crc
│ ├── BUILD
│ ├── LICENSE
│ ├── METADATA
│ └── redis_crc.h
└── serf
│ ├── BUILD
│ ├── LICENSE
│ ├── README.google
│ ├── UPDATING_BORINGSSL
│ ├── err_data.c
│ ├── instaweb_allocator.c
│ ├── instaweb_buckets.c
│ ├── instaweb_bwtp_buckets.c
│ ├── instaweb_headers_buckets.c
│ ├── instaweb_outgoing.c
│ ├── instaweb_response_buckets.c
│ ├── instaweb_ssl_buckets.c
│ ├── linux-aarch64
│ └── crypto
│ │ ├── aes
│ │ ├── aesv8-armx.S
│ │ └── aesv8-armx64.S
│ │ ├── bn
│ │ └── armv8-mont.S
│ │ ├── chacha
│ │ └── chacha-armv8.S
│ │ ├── modes
│ │ ├── ghashv8-armx.S
│ │ └── ghashv8-armx64.S
│ │ └── sha
│ │ ├── sha1-armv8.S
│ │ ├── sha256-armv8.S
│ │ └── sha512-armv8.S
│ ├── linux-arm
│ └── crypto
│ │ ├── aes
│ │ ├── aes-armv4.S
│ │ ├── aesv8-armx.S
│ │ ├── aesv8-armx32.S
│ │ └── bsaes-armv7.S
│ │ ├── bn
│ │ └── armv4-mont.S
│ │ ├── chacha
│ │ └── chacha-armv4.S
│ │ ├── modes
│ │ ├── ghash-armv4.S
│ │ ├── ghashv8-armx.S
│ │ └── ghashv8-armx32.S
│ │ └── sha
│ │ ├── sha1-armv4-large.S
│ │ ├── sha256-armv4.S
│ │ └── sha512-armv4.S
│ ├── linux-x86
│ └── crypto
│ │ ├── aes
│ │ ├── aes-586.S
│ │ ├── aesni-x86.S
│ │ └── vpaes-x86.S
│ │ ├── bn
│ │ ├── bn-586.S
│ │ ├── co-586.S
│ │ └── x86-mont.S
│ │ ├── chacha
│ │ └── chacha-x86.S
│ │ ├── cpu-x86-asm.S
│ │ ├── md5
│ │ └── md5-586.S
│ │ ├── modes
│ │ └── ghash-x86.S
│ │ ├── rc4
│ │ └── rc4-586.S
│ │ └── sha
│ │ ├── sha1-586.S
│ │ ├── sha256-586.S
│ │ └── sha512-586.S
│ ├── linux-x86_64
│ └── crypto
│ │ ├── aes
│ │ ├── aes-x86_64.S
│ │ ├── aesni-x86_64.S
│ │ ├── bsaes-x86_64.S
│ │ └── vpaes-x86_64.S
│ │ ├── bn
│ │ ├── rsaz-avx2.S
│ │ ├── rsaz-x86_64.S
│ │ ├── x86_64-mont.S
│ │ └── x86_64-mont5.S
│ │ ├── chacha
│ │ └── chacha-x86_64.S
│ │ ├── cpu-x86_64-asm.S
│ │ ├── ec
│ │ └── p256-x86_64-asm.S
│ │ ├── md5
│ │ └── md5-x86_64.S
│ │ ├── modes
│ │ ├── aesni-gcm-x86_64.S
│ │ └── ghash-x86_64.S
│ │ ├── rand
│ │ └── rdrand-x86_64.S
│ │ ├── rc4
│ │ ├── rc4-md5-x86_64.S
│ │ └── rc4-x86_64.S
│ │ └── sha
│ │ ├── sha1-x86_64.S
│ │ ├── sha256-x86_64.S
│ │ └── sha512-x86_64.S
│ ├── mac-x86
│ └── crypto
│ │ ├── aes
│ │ ├── aes-586.S
│ │ ├── aesni-x86.S
│ │ └── vpaes-x86.S
│ │ ├── bn
│ │ ├── bn-586.S
│ │ ├── co-586.S
│ │ └── x86-mont.S
│ │ ├── chacha
│ │ └── chacha-x86.S
│ │ ├── cpu-x86-asm.S
│ │ ├── md5
│ │ └── md5-586.S
│ │ ├── modes
│ │ └── ghash-x86.S
│ │ ├── rc4
│ │ └── rc4-586.S
│ │ └── sha
│ │ ├── sha1-586.S
│ │ ├── sha256-586.S
│ │ └── sha512-586.S
│ ├── mac-x86_64
│ └── crypto
│ │ ├── aes
│ │ ├── aes-x86_64.S
│ │ ├── aesni-x86_64.S
│ │ ├── bsaes-x86_64.S
│ │ └── vpaes-x86_64.S
│ │ ├── bn
│ │ ├── rsaz-avx2.S
│ │ ├── rsaz-x86_64.S
│ │ ├── x86_64-mont.S
│ │ └── x86_64-mont5.S
│ │ ├── chacha
│ │ └── chacha-x86_64.S
│ │ ├── cpu-x86_64-asm.S
│ │ ├── ec
│ │ └── p256-x86_64-asm.S
│ │ ├── md5
│ │ └── md5-x86_64.S
│ │ ├── modes
│ │ ├── aesni-gcm-x86_64.S
│ │ └── ghash-x86_64.S
│ │ ├── rand
│ │ └── rdrand-x86_64.S
│ │ ├── rc4
│ │ ├── rc4-md5-x86_64.S
│ │ └── rc4-x86_64.S
│ │ └── sha
│ │ ├── sha1-x86_64.S
│ │ ├── sha256-x86_64.S
│ │ └── sha512-x86_64.S
│ ├── serf.diff
│ ├── win-x86
│ └── crypto
│ │ ├── aes
│ │ ├── aes-586.asm
│ │ ├── aesni-x86.asm
│ │ └── vpaes-x86.asm
│ │ ├── bn
│ │ ├── bn-586.asm
│ │ ├── co-586.asm
│ │ └── x86-mont.asm
│ │ ├── chacha
│ │ └── chacha-x86.asm
│ │ ├── cpu-x86-asm.asm
│ │ ├── md5
│ │ └── md5-586.asm
│ │ ├── modes
│ │ └── ghash-x86.asm
│ │ ├── rc4
│ │ └── rc4-586.asm
│ │ └── sha
│ │ ├── sha1-586.asm
│ │ ├── sha256-586.asm
│ │ └── sha512-586.asm
│ └── win-x86_64
│ └── crypto
│ ├── aes
│ ├── aes-x86_64.asm
│ ├── aesni-x86_64.asm
│ ├── bsaes-x86_64.asm
│ └── vpaes-x86_64.asm
│ ├── bn
│ ├── rsaz-avx2.asm
│ ├── rsaz-x86_64.asm
│ ├── x86_64-mont.asm
│ └── x86_64-mont5.asm
│ ├── chacha
│ └── chacha-x86_64.asm
│ ├── cpu-x86_64-asm.asm
│ ├── ec
│ └── p256-x86_64-asm.asm
│ ├── md5
│ └── md5-x86_64.asm
│ ├── modes
│ ├── aesni-gcm-x86_64.asm
│ └── ghash-x86_64.asm
│ ├── rand
│ └── rdrand-x86_64.asm
│ ├── rc4
│ ├── rc4-md5-x86_64.asm
│ └── rc4-x86_64.asm
│ └── sha
│ ├── sha1-x86_64.asm
│ ├── sha256-x86_64.asm
│ └── sha512-x86_64.asm
└── tools
├── fix-format.sh
├── gen_compilation_database.py
└── tidyup.sh
/.bazelversion:
--------------------------------------------------------------------------------
1 | 6.0.0rc1
2 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/.gitmodules
--------------------------------------------------------------------------------
/.vscode/.vs_code_bazel_build/BUILD:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/.vscode/.vs_code_bazel_build/BUILD
--------------------------------------------------------------------------------
/RETIRED.txt:
--------------------------------------------------------------------------------
1 | This podling has been retired, please see: http://incubator.apache.org/projects/index.html#pagespeed
2 |
--------------------------------------------------------------------------------
/base/BUILD:
--------------------------------------------------------------------------------
1 | load("@rules_cc//cc:defs.bzl", "cc_library")
2 |
3 | licenses(["notice"]) # Apache 2
4 |
5 | cc_library(
6 | name = "log_shim",
7 | srcs = ["logging.cc"],
8 | hdrs = ["logging.h"],
9 | visibility = ["//visibility:public"],
10 | deps = [
11 | "@com_github_gabime_spdlog//:spdlog",
12 | "@glog",
13 | ],
14 | )
15 |
--------------------------------------------------------------------------------
/bazel/BUILD:
--------------------------------------------------------------------------------
1 | licenses(["notice"]) # Apache 2
2 |
3 | package(default_visibility = ["//visibility:public"])
4 |
--------------------------------------------------------------------------------
/bazel/get_workspace_status:
--------------------------------------------------------------------------------
1 | # TODO(oschaaf): this is a stub. symlinking to envoy's copy fails here.
--------------------------------------------------------------------------------
/bazel/optipng.bzl:
--------------------------------------------------------------------------------
1 | optipng_build_rule = """
2 | cc_library(
3 | name = "opngreduc",
4 | srcs = [
5 | "src/opngreduc/opngreduc.c",
6 | ],
7 | hdrs = [
8 | "src/opngreduc/opngreduc.h"
9 | ],
10 | # NOTE:export_dependent_settings not included.
11 | deps = ["@libpng//:libpng",],
12 | visibility = ["//visibility:public"],
13 | )
14 | """
--------------------------------------------------------------------------------
/benchmark/BUILD:
--------------------------------------------------------------------------------
1 | load(
2 | "//bazel:pagespeed_test.bzl",
3 | "pagespeed_cc_test_library",
4 | )
5 |
6 | licenses(["notice"]) # Apache 2
7 |
8 | pagespeed_cc_test_library(
9 | name = "benchmark",
10 | hdrs = ["benchmark.h"],
11 | deps = ["@re2//:benchmark"],
12 | )
13 |
--------------------------------------------------------------------------------
/benchmark/pagespeed/automatic/BUILD:
--------------------------------------------------------------------------------
1 | load("//bazel:pagespeed_test.bzl", "pagespeed_cc_benchmark")
2 |
3 | licenses(["notice"]) # Apache 2
4 |
5 | pagespeed_cc_benchmark(
6 | name = "automatic",
7 | srcs = glob(["*.cc"]),
8 | data = ["//test/net/instaweb/rewriter:testdata"],
9 | deps = [
10 | "//pagespeed/automatic:static_rewriter_lib",
11 | "//benchmark",
12 | ],
13 | )
14 |
--------------------------------------------------------------------------------
/benchmark/pagespeed/kernel/base/BUILD:
--------------------------------------------------------------------------------
1 | load(
2 | "//bazel:pagespeed_test.bzl",
3 | "pagespeed_cc_benchmark",
4 | )
5 |
6 | licenses(["notice"]) # Apache 2
7 |
8 | pagespeed_cc_benchmark(
9 | name = "base",
10 | srcs = glob(["*.cc"]),
11 | deps = [
12 | "//benchmark",
13 | "//pagespeed/kernel/sharedmem",
14 | ],
15 | )
16 |
--------------------------------------------------------------------------------
/benchmark/pagespeed/kernel/cache/BUILD:
--------------------------------------------------------------------------------
1 | load(
2 | "//bazel:pagespeed_test.bzl",
3 | "pagespeed_cc_benchmark",
4 | )
5 |
6 | licenses(["notice"]) # Apache 2
7 |
8 | pagespeed_cc_benchmark(
9 | name = "cache",
10 | srcs = glob(["*.cc"]),
11 | deps = [
12 | "//benchmark",
13 | "//pagespeed/kernel/cache",
14 | ],
15 | )
16 |
--------------------------------------------------------------------------------
/benchmark/pagespeed/kernel/html/BUILD:
--------------------------------------------------------------------------------
1 | load(
2 | "//bazel:pagespeed_test.bzl",
3 | "pagespeed_cc_benchmark",
4 | )
5 |
6 | licenses(["notice"]) # Apache 2
7 |
8 | pagespeed_cc_benchmark(
9 | name = "html",
10 | srcs = glob(["*.cc"]),
11 | deps = [
12 | "//benchmark",
13 | "//pagespeed/kernel/html",
14 | ],
15 | )
16 |
--------------------------------------------------------------------------------
/benchmark/pagespeed/kernel/util/BUILD:
--------------------------------------------------------------------------------
1 | load("//bazel:pagespeed_test.bzl", "pagespeed_cc_benchmark")
2 |
3 | licenses(["notice"]) # Apache 2
4 |
5 | pagespeed_cc_benchmark(
6 | name = "util",
7 | srcs = glob(["*.cc"]),
8 | deps = [
9 | "//pagespeed/kernel/util",
10 | "//benchmark",
11 | ],
12 | )
13 |
--------------------------------------------------------------------------------
/external/brotli.patch:
--------------------------------------------------------------------------------
1 | diff --git a/BUILD b/BUILD
2 | index 4ce4ad4..227a354 100644
3 | --- a/BUILD
4 | +++ b/BUILD
5 | @@ -59,6 +59,7 @@ STRICT_C_OPTIONS = select({
6 | "-Wno-strict-aliasing",
7 | "-Wshadow",
8 | "-Wsign-compare",
9 | + "-Wno-implicit-int-float-conversion",
10 | ],
11 | })
12 |
--------------------------------------------------------------------------------
/html/README.md:
--------------------------------------------------------------------------------
1 | # Publishing the Website.
2 |
3 | For changes to show up over at http://pagespeed.incubator.apache.org/, changes made here should be copied
4 | over to https://github.com/apache/incubator-pagespeed-website/tree/asf-site/content and committed.
5 |
6 | `gitpubsub` will take care of publishing the site from there.
7 |
--------------------------------------------------------------------------------
/html/doc/analytics_screenshots/10_histogram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/doc/analytics_screenshots/10_histogram.png
--------------------------------------------------------------------------------
/html/doc/analytics_screenshots/1_login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/doc/analytics_screenshots/1_login.png
--------------------------------------------------------------------------------
/html/doc/analytics_screenshots/2_import_advanced_segment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/doc/analytics_screenshots/2_import_advanced_segment.png
--------------------------------------------------------------------------------
/html/doc/analytics_screenshots/3_segment_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/doc/analytics_screenshots/3_segment_settings.png
--------------------------------------------------------------------------------
/html/doc/analytics_screenshots/4_profile_switch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/doc/analytics_screenshots/4_profile_switch.png
--------------------------------------------------------------------------------
/html/doc/analytics_screenshots/5_profile_switched.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/doc/analytics_screenshots/5_profile_switched.png
--------------------------------------------------------------------------------
/html/doc/analytics_screenshots/6_standard_reporting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/doc/analytics_screenshots/6_standard_reporting.png
--------------------------------------------------------------------------------
/html/doc/analytics_screenshots/7_page_timings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/doc/analytics_screenshots/7_page_timings.png
--------------------------------------------------------------------------------
/html/doc/analytics_screenshots/8_advanced_segments.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/doc/analytics_screenshots/8_advanced_segments.png
--------------------------------------------------------------------------------
/html/doc/analytics_screenshots/9_page_level_timings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/doc/analytics_screenshots/9_page_level_timings.png
--------------------------------------------------------------------------------
/html/doc/images/admin_config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/doc/images/admin_config.png
--------------------------------------------------------------------------------
/html/doc/images/downstream_caching.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/doc/images/downstream_caching.png
--------------------------------------------------------------------------------
/html/doc/images/purge_entire_cache.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/doc/images/purge_entire_cache.png
--------------------------------------------------------------------------------
/html/doc/images/purge_one_url.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/doc/images/purge_one_url.png
--------------------------------------------------------------------------------
/html/doc/images/puzzle_optimized_to_low_quality_webp.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/doc/images/puzzle_optimized_to_low_quality_webp.webp
--------------------------------------------------------------------------------
/html/doc/images/puzzle_optimized_to_low_quality_webp_and_saved_as_png.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/doc/images/puzzle_optimized_to_low_quality_webp_and_saved_as_png.png
--------------------------------------------------------------------------------
/html/doc/images/puzzle_original.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/doc/images/puzzle_original.jpg
--------------------------------------------------------------------------------
/html/incubator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/incubator.png
--------------------------------------------------------------------------------
/html/network-loading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/html/network-loading.png
--------------------------------------------------------------------------------
/install/build_env.sh:
--------------------------------------------------------------------------------
1 | os_redirector.sh
--------------------------------------------------------------------------------
/install/common/BRANDING:
--------------------------------------------------------------------------------
1 | COMPANY_FULLNAME=Google Inc.
2 | COMPANY_SHORTNAME=Google Inc.
3 | PRODUCT_FULLNAME=mod_pagespeed
4 | PRODUCT_SHORTNAME=mod_pagespeed
5 | COPYRIGHT=Copyright (C) 2010.
6 |
--------------------------------------------------------------------------------
/install/common/variables.include:
--------------------------------------------------------------------------------
1 | # System-wide package configuration.
2 | DEFAULTS_FILE="/etc/default/@@PACKAGE@@"
3 |
4 | # sources.list setting for @@PACKAGE@@ updates.
5 | REPOCONFIG="@@REPOCONFIG@@"
6 |
--------------------------------------------------------------------------------
/install/debian/changelog.template:
--------------------------------------------------------------------------------
1 | @@PACKAGE@@-@@CHANNEL@@ (@@VERSIONFULL@@) UNRELEASED; urgency=low
2 | * No changes
3 |
4 | -- @@MAINTNAME@@ <@@MAINTMAIL@@> Wed, 20 Oct 2010 14:54:35 -0800
5 |
--------------------------------------------------------------------------------
/install/debian/conffiles:
--------------------------------------------------------------------------------
1 | /etc/apache2/mods-available/pagespeed.load
2 | /etc/apache2/mods-available/pagespeed.conf
3 | /etc/apache2/conf-available/pagespeed_libraries.conf
4 |
--------------------------------------------------------------------------------
/install/do_not_modify/Puzzle.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/install/do_not_modify/Puzzle.jpg
--------------------------------------------------------------------------------
/install/do_not_modify/README:
--------------------------------------------------------------------------------
1 | Files in this directory should not be modified or removed. They are used by
2 | system tests, such as serf_url_async_fetcher_test, which expects them to be
3 | specific golden sizes and contents.
4 |
5 | Make sure httpd.conf has this:
6 |
7 |
13 | But not in a 14 | 15 | <pre> tag. 16 |17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /install/mod_pagespeed_example/combine_heads.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
A 1023x766 image. PageSpeed will serve an inlined, low-quality 8 | image until the original is loaded.
9 |
8 |
9 |
Look at the source for this page to see the inserted 7 | Google Analytics snippet.
8 | 9 | 10 | -------------------------------------------------------------------------------- /install/mod_pagespeed_example/move_css_to_head.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |A 1023x766 image. PageSpeed will serve an inlined, low-quality 8 | image that is scaled down for mobile browsers until the original is 9 | loaded.
10 |7 | Hello World! 8 |
9 | 10 | 11 | -------------------------------------------------------------------------------- /install/mod_pagespeed_test/embed_config.html: -------------------------------------------------------------------------------- 1 | 2 | 4 |The files in this directory are gzipped, but served without 4 | the correct content encoding header.
5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /install/mod_pagespeed_test/htaccess/.htaccess: -------------------------------------------------------------------------------- 1 | ModPagespeedDisallow * 2 | -------------------------------------------------------------------------------- /install/mod_pagespeed_test/htaccess/override/.htaccess: -------------------------------------------------------------------------------- 1 | ModPagespeedAllow * 2 | -------------------------------------------------------------------------------- /install/mod_pagespeed_test/htaccess/override/purple.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: MediumPurple; 3 | } 4 | -------------------------------------------------------------------------------- /install/mod_pagespeed_test/htaccess/purple.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: MediumPurple; 3 | } 4 | -------------------------------------------------------------------------------- /install/mod_pagespeed_test/image_rewrite_with_flush/a.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/incubator-pagespeed-mod/2ce278dbbbeeeb6543cf1e970ba47d99726f893a/install/mod_pagespeed_test/image_rewrite_with_flush/a.jpg -------------------------------------------------------------------------------- /install/mod_pagespeed_test/image_rewriting/.htaccess: -------------------------------------------------------------------------------- 1 | ModPagespeedUrlValuedAttribute amp-img src image 2 | -------------------------------------------------------------------------------- /install/mod_pagespeed_test/image_rewriting/srcset.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |7 | This page should be purple. 8 |
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /install/mod_pagespeed_test/redirect/other_file.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | This is another file in the same directory as menu_php.html. 4 | 5 | 6 | -------------------------------------------------------------------------------- /install/mod_pagespeed_test/redirect/style.css: -------------------------------------------------------------------------------- 1 | body { background: MediumPurple; } -------------------------------------------------------------------------------- /install/mod_pagespeed_test/remote_config/remote.cfg: -------------------------------------------------------------------------------- 1 | EnableFilter remove_comments 2 | EnableFilters remove_comments,collapse_whitespace 3 | EndRemoteConfig 4 | -------------------------------------------------------------------------------- /install/mod_pagespeed_test/remote_config/remote.cfg.enable_comments: -------------------------------------------------------------------------------- 1 | DisableFilters remove_comments 2 | EndRemoteConfig 3 | -------------------------------------------------------------------------------- /install/mod_pagespeed_test/response_headers.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |foo