PageSourceSearch

https://www.surfercloud.com/blog/wp-content/themes/docy%20v3.4.0/assets/js/main.js?ver=1.0.0

js surfercloud.com collected 2026-10-06 02:50:53 UTC 24,694 bytes, 838 lines download raw bytes

1/**
2 * Search results
3 */
4function fetchDelay(callback, ms) {
5  var timer = 0;
6  return function () {
7    var context = this,
8      args = arguments;
9    clearTimeout(timer);
10    timer = setTimeout(function () {
11      callback.apply(context, args);
12    }, ms || 0);
13  };
14}
15
16function fetchResults(e) {
17  let keyword = jQuery("#searchInput").val();
18  let noresult = jQuery("#docy-search-result").attr("data-noresult");
19  if (keyword === "") {
20    jQuery("#docy-search-result").removeClass("ajax-search").html("");
21  } else {
22    jQuery.ajax({
23      url: docy_local_object.ajaxurl,
24      type: "post",
25      data: { action: "docy_search_data_fetch", keyword: keyword },
26      beforeSend: function () {
27        jQuery(".spinner").css("display", "block");
28      },
29      success: function (data) {
30        if (data.length > 0) {
31          jQuery("#docy-search-result").addClass("ajax-search").html(data);
32          jQuery(".spinner").hide();
33        } else {
34          var data_error = "<h5>" + noresult + "</h5>";
35          jQuery("#docy-search-result")
36            .removeClass("ajax-search")
37            .html(data_error);
38        }
39      },
40    });
41  }
42}
43
44jQuery("#searchInput").keyup(
45  fetchDelay(function () {
46    let keyword = jQuery("#searchInput").val();
47    let noresult = jQuery("#docy-search-result").attr("data-noresult");
48    if (keyword === "") {
49      jQuery("#docy-search-result").removeClass("ajax-search").html("");
50    } else {
51      jQuery.ajax({
52        url: docy_local_object.ajaxurl,
53        type: "post",
54        data: { action: "docy_search_data_fetch", keyword: keyword },
55        beforeSend: function () {
56          jQuery(".spinner").css("display", "block");
57        },
58        success: function (data) {
59          if (data.length > 0) {
60            jQuery("#docy-search-result").addClass("ajax-search").html(data);
61            jQuery(".spinner").hide();
62          } else {
63            var data_error = "<h5>" + noresult + "</h5>";
64            jQuery("#docy-search-result")
65              .removeClass("ajax-search")
66              .html(data_error);
67          }
68        },
69      });
70    }
71  }, 500)
72);
73
74function searchForumTab() {
75  let keyword = jQuery("#searchInput").val();
76  let noresult = jQuery("#docy-search-result").attr("data-noresult");
77  jQuery("#doc-search-results").hide();
78  jQuery("#blog-search-results").hide();
79  jQuery("#forum-search-results").show();
80  jQuery("#shop-search-results").hide();
81
82  jQuery.ajax({
83    url: docy_local_object.ajaxurl,
84    type: "post",
85    data: { action: "docy_forum_search_results", keyword: keyword },
86    success: function (data) {
87      if (data.length > 0) {
88        jQuery("#forum-search-results").html(data);
89      } else {
90        var data_error = "<h5>" + noresult + "</h5>";
91        jQuery("#forum-search-results")
92          .addClass("ajax-search")
93          .html(data_error);
94      }
95    },
96  });
97}
98
99function searchDocTab() {
100  jQuery("#doc-search-results").show();
101  jQuery("#forum-search-results").hide();
102  jQuery("#blog-search-results").hide();
103  jQuery("#shop-search-results").hide();
104}
105
106function searchBlogTab() {
107  let keyword = jQuery("#searchInput").val();
108  let noresult = jQuery("#docy-search-result").attr("data-noresult");
109
110  jQuery("#blog-search-results").show();
111  jQuery("#doc-search-results").hide();
112  jQuery("#forum-search-results").hide();
113  jQuery("#shop-search-results").hide();
114
115  jQuery.ajax({
116    url: docy_local_object.ajaxurl,
117    type: "post",
118    data: { action: "docy_blog_search_results", keyword: keyword },
119    success: function (data) {
120      if (data.length > 0) {
121        jQuery("#blog-search-results").html(data);
122      } else {
123        var data_error = "<h5>" + noresult + "</h5>";
124        jQuery("#blog-search-results").addClass("ajax-search").html(data_error);
125      }
126    },
127  });
128}
129
130function searchShopTab() {
131  let keyword = jQuery("#searchInput").val();
132  let noresult = jQuery("#docy-search-result").attr("data-noresult");
133
134  jQuery("#shop-search-results").show();
135  jQuery("#doc-search-results").hide();
136  jQuery("#forum-search-results").hide();
137  jQuery("#blog-search-results").hide();
138
139  jQuery.ajax({
140    url: docy_local_object.ajaxurl,
141    type: "post",
142    data: { action: "docy_shop_search_results", keyword: keyword },
143    success: function (data) {
144      if (data.length > 0) {
145        jQuery("#shop-search-results").html(data);
146      } else {
147        var data_error = "<h5>" + noresult + "</h5>";
148        jQuery("#shop-search-results").addClass("ajax-search").html(data_error);
149      }
150    },
151  });
152
153}
154
155(function ($) {
156  "use strict";
157
158  // Reading progress bar
159  $(window).scroll(function () {
160    let w =
161      ((document.body.scrollTop || document.documentElement.scrollTop) /
162        (document.documentElement.scrollHeight -
163          document.documentElement.clientHeight)) *
164      100;
165    $("#reading-progress-fill").css({ width: w + "%", display: "block" });
166  });
167
168  // Header Navbar Search Form
169  $(".right-nav .search-icon").on("click", function () {
170    $(".search-input.toggle").toggle(300);
171    $(".navbar .search-input.toggle input").focus();
172    $(".right-nav .search-icon").toggleClass("show-close");
173  });
174
175  $(document).on(
176    "click",
177    "#docy-search-result .searchbar-tabs .tab-item",
178    function (e) {
179      $(".searchbar-tabs .tab-item").removeClass("active");
180      $(this).addClass("active");
181    }
182  );
183
184  $(document).ready(function () {
185    // wide container header on course pages
186    if ($(".single-courses").length) {
187      $(".single-courses").addClass("wide-container");
188    }
189
190    if ($(".single-lesson").length) {
191      $(".single-lesson").addClass("wide-container");
192    }
193
194    /**
195     * Make the Titles clickable
196     * If no selector is provided, it falls back to a default selector of:
197     * 'h2, h3, h4, h5, h6'
198     */
199    if (typeof anchors != "undefined") {
200      anchors.add(".anchor-enabled :is(h1, h2, h3, h4, h5)");
201    }
202
203    /**
204     * Search Keywords
205     */
206    $(".header_search_keyword ul li a").on("click", function (e) {
207      e.preventDefault();
208      var content = $(this).text();
209      $("#searchInput").val(content).focus();
210      fetchResults();
211    });
212
213    /**
214     * Disable  enter key press on Forum Topics Filter search input field
215     */
216    $(".post-header .category-menu .cate-search-form").keypress(function (
217      event
218    ) {
219      if (event.which == "13") {
220        event.preventDefault();
221      }
222    });
223
224    $(".onepage-doc .nav-sidebar .nav-item:first-child").addClass("active");
225
226    $("#searchInput").on("input", function (e) {
227      if ("" == this.value) {
228        $("#docy-search-result").removeClass("ajax-search");
229      }
230    });
231
232    /**
233     * Registration Form
234     */
235    if (jQuery(".registerform").length) {
236      jQuery(".registerform").on("submit", function (e) {
237        e.preventDefault();
238        let ajax_url = docy_local_object.ajaxurl;
239        jQuery.post(
240          ajax_url,
241          {
242            data: jQuery(this).serialize(),
243            action: "dt_custom_registration_form",
244          },
245          function (res) {
246            jQuery("#reg-form-validation-messages").html(res.data.message);
247          }
248        );
249        return false;
250      });
251    }
252
253    //*=============menu sticky js =============*//
254    var $window = $(window);
255    var didScroll,
256      lastScrollTop = 0,
257      delta = 5,
258      $mainNav = $("#sticky"),
259      $mainNavHeight = $mainNav.outerHeight(),
260      scrollTop;
261
262    $window.on("scroll", function () {
263      didScroll = true;
264      scrollTop = $(this).scrollTop();
265    });
266
267    setInterval(function () {
268      if (didScroll && $(".navbar button.navbar-toggler.collapsed").length) {
269        hasScrolled();
270        didScroll = false;
271      }
272    }, 200);
273
274    function hasScrolled() {
275      if (Math.abs(lastScrollTop - scrollTop) <= delta) {
276        return;
277      }
278      if (scrollTop > lastScrollTop && scrollTop > $mainNavHeight) {
279        $mainNav
280          .removeClass("fadeInDown")
281          .addClass("fadeInUp")
282          .css("top", -$mainNavHeight);
283        $("body").removeClass("navbar-shown").addClass("navbar-hidden");
284      } else {
285        if (scrollTop + $(window).height() < $(document).height()) {
286          $mainNav.removeClass("fadeInUp").addClass("fadeInDown").css("top", 0);
287          $("body").removeClass("navbar-hidden").addClass("navbar-shown");
288        }
289      }
290      lastScrollTop = scrollTop;
291    }
292
293    function navbarFixed() {
294      if ($("#sticky").length) {
295        $(window).scroll(function () {
296          var scroll = $(window).scrollTop();
297          if (scroll) {
298            $("#sticky").addClass("navbar_fixed");
299            $(".sticky-nav-doc .body_fixed").addClass("body_navbar_fixed");
300          } else {
301            $("#sticky").removeClass("navbar_fixed");
302            $(".sticky-nav-doc .body_fixed").removeClass("body_navbar_fixed");
303          }
304        });
305      }
306    }
307    navbarFixed();
308
309    function navbarFixedTwo() {
310      if ($("#stickyTwo").length) {
311        $(window).scroll(function () {
312          var scroll = $(window).scrollTop();
313          if (scroll) {
314            $("#stickyTwo").addClass("navbar_fixed");
315          } else {
316            $("#stickyTwo").removeClass("navbar_fixed");
317          }
318        });
319      }
320    }
321    navbarFixedTwo();
322
323    function mobileNavbarFixed() {
324      if ($("#mobile-sticky").length) {
325        $(window).scroll(function () {
326          var scroll = $(window).scrollTop();
327          if (scroll) {
328            $("#mobile-sticky").addClass("navbar_fixed");
329          } else {
330            $("#mobile-sticky").removeClass("navbar_fixed");
331          }
332        });
333      }
334    }
335    mobileNavbarFixed();
336
337    function mobileNavbarFixedTwo() {
338      if ($("#mobile-stickyTwo").length) {
339        $(window).scroll(function () {
340          var scroll = $(window).scrollTop();
341          if (scroll) {
342            $("#mobile-stickyTwo").addClass("navbar_fixed");
343          } else {
344            $("#mobile-stickyTwo").removeClass("navbar_fixed");
345          }
346        });
347      }
348    }
349    mobileNavbarFixedTwo();
350
351    //*=============menu sticky js =============*//
352
353    //  page scroll
354    function bodyFixed() {
355      var windowWidth = $(window).width();
356      if ($("#sticky_doc").length) {
357        if (windowWidth > 576) {
358          var tops = $("#sticky_doc");
359          var leftOffset = tops.offset().top;
360
361          $(window).on("scroll", function () {
362            var scroll = $(window).scrollTop();
363            if (scroll >= leftOffset) {
364              tops.addClass("body_fixed");
365            } else {
366              tops.removeClass("body_fixed");
367            }
368          });
369        }
370      }
371    }
372
373    bodyFixed();
374
375    // Left sidebar TOC area get sticky
376    function bodyFixed2() {
377      var windowWidth = $(window).width();
378
379      if ( $("#toc_stick").length) {
380        if (windowWidth > 576) {
381          let tops = $("#toc_stick");
382          let topOffset = tops.offset().top;
383          if ( $('.blog_comment_box').length ) {
384            let blogForm = $('.blog_comment_box');
385            let blogFormTop = blogForm.offset().top - 300;
386          }
387
388          $(window).on("scroll", function () {
389            var scrolls = $(window).scrollTop();
390            if (scrolls >= topOffset) {
391              tops.addClass("stick");
392            } else {
393              tops.removeClass("stick");
394            }
395          });
396
397          $('a[href="#hackers"]').click(function () {
398            $("#hackers").css("padding-top", "100px");
399
400            $(window).on("scroll", function () {
401              var hackersOffset = $("#hackers").offset().top;
402              var scrolls = $(window).scrollTop();
403              if (scrolls < hackersOffset) {
404                $("#hackers").css("padding-top", "0px");
405              }
406            });
407          });
408        }
409      }
410    }
411
412    bodyFixed2();
413
414    /*  Menu Click js  */
415    function Menu_js() {
416      if ($(".submenu").length) {
417        $(".submenu >
417 .dropdown-toggle").click(function () {
418          var location = $(this).attr("href");
419          window.location.href = location;
420          return false;
421        });
422      }
423    }
424
425    Menu_js();
426
427    if ($(".mobile_menu").length > 0) {
428      var switchs = true;
429      $(".mobile_btn").on("click", function (e) {
430        if (switchs) {
431          $(".mobile_menu").addClass("open");
432        }
433      });
434    }
435
436    /*--------------- parallaxie js--------*/
437    function parallax() {
438      if ($(".parallaxie").length) {
439        $(".parallaxie").parallaxie({
440          speed: 0.5,
441        });
442      }
443    }
444    parallax();
445
446    if ($(".tooltips_one").length) {
447      $(".tooltips_one").data("tooltip-custom-class", "tooltip_blue").tooltip();
448    }
449    if ($(".tooltips_two").length) {
450      $(".tooltips_two")
451        .data("tooltip-custom-class", "tooltip_danger")
452        .tooltip();
453    }
454
455    /*--------------- mobile dropdown js--------*/
456
457    function menu_dropdown() {
458      $(".menu > li .mobile_dropdown_icon").on("click", function (event) {
459        $(this).parent().find(".dropdown-menu").first().slideToggle(700);
460        $(this).parent().siblings().find(".dropdown-menu").slideUp(700);
461      });
462    }
463    menu_dropdown();
464
465    /*--------------- niceSelect js--------*/
466
467    function select() {
468      if ($(".custom-select, .nice_select").length) {
469        $(".custom-select, .nice_select").niceSelect();
470      }
471      if ($("#mySelect").length) {
472        $("#mySelect").selectpicker();
473      }
474    }
475    select();
476
477    /*--------------- counterUp js--------*/
478    function counterUp() {
479      if ($(".counter").length) {
480        $(".counter").counterUp({
481          delay: 1,
482          time: 250,
483        });
484      }
485    }
486
487    counterUp();
488
489    /*--------------- popup-js--------*/
490    function popupGallery() {
491      if ($(".img_popup").length) {
492        $(".img_popup").each(function () {
493          $(".img_popup").magnificPopup({
494            type: "image",
495            closeOnContentClick: true,
496            closeBtnInside: false,
497            fixedContentPos: true,
498            removalDelay: 300,
499            mainClass: "mfp-no-margins mfp-with-zoom",
500            image: {
501              enabled: true,
502              navigateByImgClick: true,
503              preload: [0, 1], // Will preload 0 - before current, and 1 after the current image,
504            },
505          });
506        });
507      }
508    }
509
510    popupGallery();
511
512    /*--------------- video js--------*/
513    function video() {
514      if ($("#inline-popups").length) {
515        $("#inline-popups").magnificPopup({
516          delegate: "a",
517          removalDelay: 500, //delay removal by X to allow out-animation
518          mainClass: "mfp-no-margins mfp-with-zoom",
519          preloader: false,
520          midClick: true,
521        });
522      }
523    }
524
525    video();
526
527    /*--------- WOW js-----------*/
528    function bodyScrollAnimation() {
529      var scrollAnimate = $("body").data("scroll-animation");
530      if (scrollAnimate === true) {
531        new WOW({}).init();
532      }
533    }
534
535    bodyScrollAnimation();
536
537    // Global mobile menu
538    $(".mobile_menu_btn").on("click", function () {
539      $("body").removeClass("menu-is-closed").addClass("menu-is-opened");
540      $(".side_menu").addClass("menu-opened");
541    });
542
543    $(".close_nav").on("click", function (e) {
544      if ($(".side_menu").hasClass("menu-opened")) {
545        $(".side_menu").removeClass("menu-opened");
546        $("body").removeClass("menu-is-opened");
547      }
548    });
549
550    $(".click_capture").on("click", function () {
551      $("body").removeClass("menu-is-opened").addClass("menu-is-closed");
552      $(".side_menu").removeClass("menu-opened");
553    });
554
555    /*--------------- Tab button js--------*/
556    $(".next").on("click", function () {
557      $(".v_menu .nav-item > .active")
558        .parent()
559        .next("li")
560        .find("a")
561        .trigger("click");
562    });
563
564    $(".previous").on("click", function () {
565      $(".v_menu .nav-item > .active")
566        .parent()
567        .prev("li")
568        .find("a")
569        .trigger("click");
570    });
571
572    function Click_menu_hover() {
573      if ($(".tab-demo").length) {
574        $.fn.tab = function (options) {
575          var opts = $.extend({}, $.fn.tab.defaults, options);
576          return this.each(function () {
577            var obj = $(this);
578
579            $(obj)
580              .find(".tabHeader li")
581              .on(opts.trigger_event_type, function () {
582                $(obj).find(".tabHeader li").removeClass("active");
583                $(this).addClass("active");
584
585                $(obj).find(".tabContent .tab-pane").removeClass("active show");
586                $(obj)
587                  .find(".tabContent .tab-pane")
588                  .eq($(this).index())
589                  .addClass("active show");
590              });
591          });
592        };
593        $.fn.tab.defaults = {
594          trigger_event_type: "click", //mouseover | click 默认是click
595        };
596      }
597    }
598
599    Click_menu_hover();
600
601    function Tab_menu_activator() {
602      if ($(".tab-demo").length) {
603        $(".tab-demo").tab({
604          trigger_event_type: "mouseover",
605        });
606      }
607    }
608
609    Tab_menu_activator();
610
611    function fAqactive() {
612      $(".doc_faq_info .card").on("click", function () {
613        $(".doc_faq_info .card").removeClass("active");
614        $(this).addClass("active");
615      });
616    }
617
618    fAqactive();
619
620    function general() {
621      $(".short-by a").click(function () {
622        $(this)
623          .toggleClass("active-short")
624          .siblings()
625          .removeClass("active-short");
626      });
627    }
628
629    general();
630
631    /*-------------------------------------
632        Intersection Observer
633        -------------------------------------*/
634    if (!!window.IntersectionObserver) {
635      let observer = new IntersectionObserver(
636        (entries, observer) => {
637          entries.forEach((entry) => {
638            if (entry.isIntersecting) {
639              entry.target.classList.add("active-animation");
640              //entry.target.src = entry.target.dataset.src;
641              observer.unobserve(entry.target);
642            }
643          });
644        },
645        {
646          rootMargin: "0px 0px -100px 0px",
647        }
648      );
649      document.querySelectorAll(".has-animation").forEach((block) => {
650        observer.observe(block);
651      });
652    } else {
653      document.querySelectorAll(".has-animation").forEach((block) => {
654        block.classList.remove("has-animation");
655      });
656    }
657
658    // === Image Magnify
659    if ($(".zoom").length) {
660      $(".zoom").magnify({
661        afterLoad: function () {
662          console.log("Magnification powers activated!");
663        },
664      });
665    }
666
667    // === Search ("/" to focus)
668    if (
669      docy_local_object.is_focus_by_slash === "1" &&
670      $(".sbnr-global").length
671    ) {
672      $(document).on("keydown", function (e) {
673        if (e.keyCode === 191) {
674          e.preventDefault();
675          $(".sbnr-global form input[type=search]").focus();
676          return;
677        }
678      });
679    }
680
681    $(".focused-form input[type=search]").focus(function () {
682      $("body").addClass("search-focused");
683      $(".banner_search_form .input-wrapper").css("z-index", "999");
684      $(".header_search_form .input-wrapper").css("z-index", "999");
685      $(".header_search_form .input-group").css("z-index", "999");
686    });
687
688    $(".focused-form input[type=search]").focusout(function () {
689      $("body").removeClass("search-focused");
690      $(".banner_search_form .input-wrapper").removeAttr("style");
691      $(".header_search_form .input-wrapper").removeAttr("style");
692      $(".header_search_form .input-group").removeAttr("style");
693    });
694
695    // === Back to Top Button
696    var back_top_btn = $("#back-to-top");
697    $(window).scroll(function () {
698      if ($(window).scrollTop() > 300) {
699        back_top_btn.addClass("show");
700      } else {
701        back_top_btn.removeClass("show");
702      }
703    });
704    back_top_btn.on("click", function (e) {
705      e.preventDefault();
706      $("html, body").animate({ scrollTop: 0 }
706, "300");
707    });
708
709    if ($(".cheatsheet_item").length) {
710      $(".shadow-sm.cheatsheet_item").hover(
711        function () {
712          $(this).removeClass("shadow-sm");
713          $(this).addClass("shadow-lg");
714        },
715        function () {
716          $(this).removeClass("shadow-lg");
717          $(this).addClass("shadow-sm");
718        }
719      );
720    }
721
722    if ($(".popup-youtube").length) {
723      $(".popup-youtube").magnificPopup({
724        type: "iframe",
725      });
726    }
727
728    // Update cart button
729    if ($(".ar_top").length) {
730      $(".ar_top").on("click", function () {
731        var getID = $(this).next().attr("id");
732        var result = document.getElementById(getID);
733        var qty = result.value;
734        $(".woocommerce-cart .update-cart").removeAttr("disabled");
735        if (!isNaN(qty)) {
736          result.value++;
737          $(".cart_btn.ajax_add_to_cart").attr("data-quantity", result.value);
738        } else {
739          return false;
740        }
741      });
742
743      $(".ar_down").on("click", function () {
744        var getID = $(this).prev().attr("id");
745        var result = document.getElementById(getID);
746        var qty = result.value;
747        $(".woocommerce-cart .update-cart").removeAttr("disabled");
748        if (!isNaN(qty) && qty > 0) {
749          result.value--;
750          $(".cart_btn.ajax_add_to_cart").attr("data-quantity", result.value);
751        } else {
752          return false;
753        }
754      });
755    }
756
757    //================  Mega Menu ====================//
758    $(".has-docy-mega-menu").click(function () {
759      $(this).toggleClass("megamenu-display");
760    });
761
762    $(".has-docy-mega-menu > a").click(function () {
763      $(this).parent(".has-docy-mega-menu").toggleClass("megamenu-display");
764      return false;
765    });
766
767    $(".arrow_carrot-right.mobile_dropdown_icon").click(function () {
768      $(this).parent(".has-docy-mega-menu").toggleClass("megamenu-display");
769    });
770
771    //================ Top Header ====================//
772    function docy_top_header() {
773      if ($('.top_header').length > 0) {
774          $('body').addClass('docy_top_header');
775      }
776    };
777  
778    docy_top_header();
779
780    //================ Share Button ====================//
781    // Copy the current page link to clipboard
782    if ($(".share-this-doc").length) {
783      $(".share-this-doc").on("click", function (e) {
784        e.preventDefault();
785        let success_message = $(this).data("success-message");
786        let $temp = $("<input>");
787        $("body").append($temp);
788        $temp.val($(location).attr("href")).select();
789        document.execCommand("copy");
790        $temp.remove();
791
792        setTimeout(function () {
793          $(".docy-link-copied-wrap").text(success_message).addClass("copied");
794        }, 500);
795
796        setTimeout(function () {
797          $(".docy-link-copied-wrap").removeClass("copied");
798        }, 3500);
799      });
800    }
801    $(".docy-link-copied-wrap").click(function () {
802      $(this).removeClass("copied");
803    });
804
805    $.fn.ezd_social_popup = function (
806      e,
807      intWidth,
808      intHeight,
809      strResize,
810      blnResize
811    ) {
812      // Prevent default anchor event
813      e.preventDefault();
814
815      // Set values for window
816      intWidth = intWidth || "500";
817      intHeight = intHeight || "400";
818      strResize = blnResize ? "yes" : "no";
819
820      // Set title and open popup with focus on it
821      var strTitle =
822          typeof this.attr("title") !== "undefined"
823            ? this.attr("title")
824            : "Social Share",
825        strParam =
826          "width=" +
827          intWidth +
828          ",height=" +
829          intHeight +
830          ",resizable=" +
831          strResize,
832        objWindow = window.open(this.attr("href"), strTitle, strParam).focus();
833    };
834    $(".social-links a:not(:first)").on("click", function (e) {
835      $(this).ezd_social_popup(e);
836    });
837  });
838})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.