1function checkPosition(e){$(window).scrollTop()+.5*$(window).height()>e.offset().top&&e.addClass("is-visible")}function drags(e,t,a,s,r){e.on("mousedown vmousedown",function(o){e.addClass("draggable"),t.addClass("resizable");var l=e.outerWidth(),i=e.offset().left+l-o.pageX,d=a.offset().left,n=a.outerWidth(),c=d+10,u=d+n-l-10;e.parents().on("mousemove vmousemove",function(e){leftValue=e.pageX+i-l,leftValue<c?leftValue=c:leftValue>u&&(leftValue=u),widthValue=100*(leftValue+l/2-d)/n+"%",$(".draggable").css("left",widthValue).on("mouseup vmouseup",function(){$(this).removeClass("draggable"),t.removeClass("resizable")}),$(".resizable").css("width",widthValue),updateLabel(r,t,"left"),updateLabel(s,t,"right")}).on("mouseup vmouseup",function(a){e.removeClass("draggable"),t.removeClass("resizable")}),o.preventDefault()}).on("mouseup vmouseup",function(a){e.removeClass("draggable"),t.removeClass("resizable")})}function updateLabel(e,t,a){"left"==a?e.offset().left+e.outerWidth()<t.offset().left+t.outerWidth()?e.removeClass("is-hidden"):e.addClass("is-hidden"):e.offset().left>t.offset().left+t.outerWidth()?e.removeClass("is-hidden"):e.addClass("is-hidden")}function menuToggler(){$("nav#header-nav").slideToggle(),$("#menu-i").toggle(),$("#close-i").toggle()}$(document).ready(function(){$(window).width()>768?$(".carousel-container").flickity({wrapAround:$(".carousel-container").length>2,autoPlay:8e3,pageDots:!1}):$(".carousel-container").flickity({wrapAround:$(".carousel-container").length>2,autoPlay:8e3,pageDots:!0,prevNextButtons:!1})}),jQuery(document).ready(function(){checkPosition($(".comparison-container")),$(window).on("scroll",function(){checkPosition($(".comparison-container"))}),$("figure.comparison-container").each(e=>{const t=`initialized-container-${e} `;$($("figure.comparison-container")[e]).addClass(t),drags($("."+t+".handle"),$("."+t+".resize-image"),$("."+t),$("."+t+'.image-label[data-type="original"]'),$("."+t+'.image-label[data-type="modified"]'))}),$(window).on("resize",function(){updateLabel($('.image-label[data-type="modified"]'),$(".resize-image"),"left"),updateLabel($('.image-label[data-type="original"]'),$(".resize-image"),"right")})});const cardSelector=".project-card",searchSelector="input#projects-search",noResultsSelector="#no-results";let currentFilters=new Set,sortOrder="updated",searchTerm="";const getUpdateDate=e=>$(e).find("#card-updated")[0].attributes["data-card-updated"].value,getTitle=e=>$(e).find("h2").text(),checkNoResults=()=>{0===$(".project-card:visible").length?$("#no-results").show():$("#no-results").hide()},processText=e=>{return e.toLowerCase()},toggleFiltersVis=()=>{$(".filters-container").toggleClass("closed"),$(".filters-toggle").toggleClass("toggle")},cardSort=e=>{if(sortOrder!==e.value){sortOrder=e.value;const t=$(cardSelector),a=Array.prototype.sort.bind(t);switch(sortOrder){case"updated":a((e,t)=>{return new Date(getUpdateDate(e))<new Date(getUpdateDate(t))?1:-1}),$("#projects").append(t);break;default:a((e,t)=>{return getTitle(e)<getTitle(t)?-1:1}),$("#projects").append(t)}}},singleFilterToggle=(e,t)=>{$(t).toggleClass("selected"),currentFilters.has(e)?currentFilters.delete(e):currentFilters.add(e),filterCards()},filterCards=()=>{0===currentFilters.size?$(cardSelector).removeClass("filter-hide"):($(cardSelector).addClass("filter-hide"),$(cardSelector).each(function(){const e=$(this)[0].attributes["data-tags"].value.split(", ");let t=!1;e.map(e=>{currentFilters.has(e)&&(t=!0)}),t?$(this).removeClass("filter-hide"):$(this).addClass("filter-hide")}),checkNoResults())},searchCards=e=>{e&&e.preventDefault();const t=document.getElementById("projects-search").value.toLowerCase();return""===t?($(cardSelector).removeClass("search-hide"),checkNoResults()):($(cardSelector).addClass("search-hide"),$(cardSelector).each(function(){let e=!1;-1!==$(this)[0].outerText.toLowerCase().indexOf(t.toLowerCase())&&(e=!0),e?$(this).removeClass("search-hide"):$(this).addClass("search-hide")}),checkNoResults()),!1};
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.