<!DOCTYPE html><html lang="en" class="no-js is-desktop "><head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# ibles-production: http://ogp.me/ns/fb/ibles-production#"><meta charset="utf-8"><script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"3a6f258991","applicationID":"969032928","transactionName":"ZARRbBcCC0tSV0QIC11OdU0LABFRXFofCQteBB1ODAYSSwl8XwwBZQhWT0sEAEw=","queueTime":0,"applicationTime":180,"agent":""};
(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:false},ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={xpid:"VgYDU1VQChAJUlhSBAMOVFw=",licenseKey:"3a6f258991",applicationID:"969032928"};;/*! For license information please see nr-loader-full-1.292.0.min.js.LICENSE.txt */
(()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),a=0===Object.keys(r).length?e:r;for(let o in a)if(void 0!==e[o])try{if(null===e[o]){r[o]=null;continue}Array.isArray(e[o])&&Array.isArray(t[o])?r[o]=Array.from(new Set([...e[o],...t[o]])):"object"==typeof e[o]&&"object"==typeof t[o]?r[o]=i(e[o],t[o]):r[o]=e[o]}catch(e){r[o]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{D:()=>s,f:()=>o});var n=r(384),i=r(8122);const a={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function o(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}const s=e=>(0,i.a)(e,a)},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>a,Yq:()=>o,xv:()=>n});const n="1.292.0",i="PROD",a="CDN",o="^2.0.0-alpha.18"},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>d,RI:()=>i,WN:()=>f,bv:()=>a,gm:()=>o,lR:()=>l,m:()=>c,mw:()=>s,sb:()=>u});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,a="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===o?.document?.visibilityState),c=""+o?.location,d=/iPad|iPhone|iPod/.test(o.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=o.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>o,gX:()=>i,iW:()=>a});var n=[];function i(e){if(!e||a(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function a(e){return void 0===e.hostname}function o(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let a,o;i>0?(a=r.substring(0,i),o=r.substring(i)):(a=r,o="");let[s]=a.split(":");n.push({hostname:s,pathname:o})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},3241:(e,t,r)=>{"use strict";r.d(t,{W:()=>a});var n=r(6154);const i="newrelic";function a(e={}){try{n.gm.dispatchEvent(new CustomEvent(i,{detail:e}))}catch(e){}}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>d,Ze:()=>f,x3:()=>u});var n=r(3241),i=r(7836),a=r(3606),o=r(860),s=r(2646);const c={};function d(e,t){const r={staged:!1,priority:o.P3[t]||0};l(e),c[e].get(t)||c[e].set(t,r)}function u(e,t){e&&c[e]&&(c[e].get(t)&&c[e].delete(t),p(e,t,!1),c[e].size&&h(e))}function l(e){if(!e)throw new Error("agentIdentifier required");c[e]||(c[e]=new Map)}function f(e="",t="feature",r=!1){if(l(e),!e||!c[e].get(t)||r)return p(e,t);c[e].get(t).staged=!0,h(e)}function h(e){const t=Array.from(c[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{c[e].delete(t),p(e,t)})))}function p(e,t,r=!0){const o=e?i.ee.get(e):i.ee,c=a.i.handlers;if(!o.aborted&&o.backlog&&c){if((0,n.W)({agentIdentifier:e,type:"lifecycle",name:"drain",feature:t}),r){const e=o.backlog[t],r=c[t];if(r){for(let t=0;e&&t<e.length;++t)g(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof s.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete c[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function g(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],a=e[2];n.apply(i,a)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>s,ee:()=>c});var n=r(384),i=r(8990),a=r(2646),o=r(5607);const s="nr@context:".concat(o.W),c=function e(t,r){var n={},o={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,a){!1!==a&&(a=!0);if(c.aborted&&!i)return;t&&a&&t.emit(e,r,n);for(var s=h(n),d=g(e),u=d.length,l=0;l<u;l++)d[l].apply(s,r);var p=v()[o[e]];p&&p.push([f,e,r,s]);return s},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{o[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[o[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,s,(()=>new a.y(s))):new a.y(s)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,a){a?(a.buffer([e],i),a.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>a});var n=r(9908);a.on=o;var i=a.handlers={};function a(e,t,r,a){o(a||n.d,i,e,t,r)}function o(e,t,r,i,a){a||(a="feature"),e||(e=n.d);var o=t[a]=t[a]||{};(o[r]=o[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function a(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>a,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>o,el:()=>d});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function a(e,t){return e?15&e[t]:16*Math.random()|0}function o(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?a(t,r++).toString(16):"y"===e?(3&a()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const o=[];for(var s=0;s<e;s++)o.push(a(r,i++).toString(16));return o.join("")}function c(){return s(16)}function d(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>o,H3:()=>n,g:()=>d,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>a});const n="NRBA",i="SESSION",a=144e5,o=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},d={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({agentIdentifier:null,drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},5701:(e,t,r)=>{"use strict";r.d(t,{B:()=>a,t:()=>o});var n=r(3241);const i=new Set,a={};function o(e,t){const r=t.agentIdentifier;a[r]??={},e&&"object"==typeof e&&(i.has(r)||(t.ee.emit("rumresp",[e]),a[r]=e,i.add(r),(0,n.W)({agentIdentifier:r,loaded:!0,drained:!0,type:"lifecycle",name:"load",feature:void 0,data:e})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function a(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},3496:(e,t,r)=>{"use strict";function n(e){return!e||!(!e.licenseKey||!e.applicationID)}function i(e,t){return!e||e.licenseKey===t.info.licenseKey&&e.applicationID===t.info.applicationID}r.d(t,{A:()=>i,I:()=>n})},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>a,Qr:()=>s,sB:()=>o});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(i())return e();(0,n.sp)("load",e,t)}function o(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}function s(e){if(i())return e();(0,n.sp)("popstate",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>a,US:()=>d,Zm:()=>o,bQ:()=>c,dV:()=>s,pV:()=>u});var n=r(6154),i=r(1863);const a={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function o(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=o();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=o();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function d(e,t){o()[e]=t}function u(){return function(){let e=o();const t=e.info||{};e.info={beacon:a.beacon,errorBeacon:a.errorBeacon,...t}}(),function(){let e=o();const t=e.init||{};e.init={...t}}(),s(),function(){let e=o();const t=e.loader_config||{};e.loader_config={...t}}(),o()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),a=r(8990),o=r(6154);const s={},c=o.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[d,u],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(o.RI&&h(document,f),c&&h(c.prototype,f),h(o.gm,f)),t.on(d+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,a.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(u+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>a,YM:()=>c});var n=r(7836),i=r(5607);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,a){n||(n="");const o="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],d=e[c];u(d)||(e[c]=r(d,o?c+n:n,i,c,a))}},r.flag=a,r;function r(t,r,n,s,c){return u(t)?t:(r||(r=""),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){d([e],r)}for(var n in e)o.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,u,l;try{o=this,a=[...arguments],u="function"==typeof n?n(a,o):n||{}}catch(t){d([t,"",[a,o,s],u],e)}i(r+"start",[a,o,s],u,c);try{return l=t.apply(o,a)}catch(e){throw i(r+"err",[a,o,e],u,c),e}finally{i(r+"end",[a,o,l],u,c)}}}function i(r,n,i,a){if(!s||t){var o=s;s=!0;try{e.emit(r,n,i,t,a)}catch(t){d([t,r,n,i],e)}s=o}}}function d(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function u(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>d,TZ:()=>n,Zp:()=>i,kd:()=>c,mq:()=>s,nf:()=>o,qN:()=>a});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],a=["focus","blur"],o=4,s=1e3,c=["PageAction","UserAction","BrowserPerformance"],d={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{A$:()=>a,ET:()=>o,TZ:()=>s,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},a={OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},o="log",s=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),a=r(860),o=r(8154),s=r(993);function c(e,t,r={},c=s.p_.INFO,d,u=(0,i.t)()){(0,n.p)(o.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,a.K7.metrics,e),(0,n.p)(s.ET,[u,t,r,c,d],void 0,a.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},8154:(e,t,r)=>{"use strict";r.d(t,{z_:()=>a,XG:()=>s,TZ:()=>n,rs:()=>i,xV:()=>o});r(6154),r(9566),r(384);const n=r(860).K7.metrics,i="sm",a="cm",o="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>u,G4:()=>a,Qb:()=>l,TZ:()=>i,Ug:()=>o,_s:()=>s,bc:()=>d,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,a={RECORD:"recordReplay",PAUSE:"pauseReplay",ERROR_DURING_REPLAY:"errorDuringReplay"},o=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},d={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},u=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>s,CT:()=>c,SR:()=>o,rF:()=>d});var n=r(384),i=r(7767),a=r(6154);function o(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function s(e){return!0===e?.session_replay.preload&&o(e)}function c(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}function d(e,t){try{if("string"==typeof t?.type){if("password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>d,Rz:()=>u,TZ:()=>n,bD:()=>a,d3:()=>o,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",a="resource",o="-start",s="-end",c="fn"+o,d="fn"+s,u="pushState",l=1e3},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>a});var n=r(7836),i=r(1687);class a{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>i});var n=r(6154);const i=e=>n.RI&&!0===e?.privacy.cookies_enabled},1741:(e,t,r)=>{"use strict";r.d(t,{W:()=>a});var n=r(944),i=r(4261);class a{#e(e,...t){if(this[e]!==a.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e){return this.#e(i.Dl,e)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e(i.$9,e,t)}start(){return this.#e(i.d3)}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(){return this.#e(i.dT)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}}},4261:(e,t,r)=>{"use strict";r.d(t,{$9:()=>d,BL:()=>s,CH:()=>h,Dl:()=>R,Fw:()=>y,PA:()=>m,Pl:()=>n,Tb:()=>l,U2:()=>a,V1:()=>T,Wb:()=>w,bt:()=>b,cD:()=>v,d3:()=>x,dT:()=>c,eY:()=>p,fF:()=>f,hG:()=>i,k6:()=>o,nb:()=>g,o5:()=>u});const n="api-",i="addPageAction",a="addToTrace",o="addRelease",s="finished",c="interaction",d="log",u="noticeError",l="pauseReplay",f="recordCustomEvent",h="recordReplay",p="register",g="setApplicationVersion",m="setCurrentRouteName",v="setCustomAttribute",b="setErrorHandler",y="setPageViewName",R="setUserId",x="start",w="wrapLogger",T="measure"},5205:(e,t,r)=>{"use strict";r.d(t,{j:()=>A});var n=r(384),i=r(1741);var a=r(2555),o=r(3333);const s=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var c=r(2614),d=r(944),u=r(8122);const l="[data-nr-mask]",f=e=>(0,u.a)(e,(()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},api:{allow_registered_children:!0,duplicate_registered_data:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(o.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(o.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:c.wk,inactiveMs:c.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){s(t)?e.mask_selector="".concat(t,",").concat(l):""===t||null===t?e.mask_selector=l:(0,d.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){s(t)?e.block_selector+=",".concat(t):""!==t&&(0,d.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,d.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}})());var h=r(6154),p=r(9324);let g=0;const m={buildEnv:p.F3,distMethod:p.Xs,version:p.xv,originTime:h.WN},v={appMetadata:{},customTransaction:void 0,denyList:void 0,disabled:!1,entityManager:void 0,harvester:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,get harvestCount(){return++g}},b=e=>{const t=(0,u.a)(e,v),r=Object.keys(m).reduce(((e,t)=>(e[t]={value:m[t],writable:!1,configurable:!0,enumerable:!0},e)),{});return Object.defineProperties(t,r)};var y=r(5701);const R=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};var x=r(7836),w=r(3241);const T={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},_=e=>(0,u.a)(e,T),S=new Set;function A(e,t={},r,o){let{init:s,info:c,loader_config:d,runtime:u={},exposed:l=!0}=t;if(!c){const e=(0,n.pV)();s=e.init,c=e.info,d=e.loader_config}e.init=f(s||{}),e.loader_config=_(d||{}),c.jsAttributes??={},h.bv&&(c.jsAttributes.isWorker=!0),e.info=(0,a.D)(c);const p=e.init,g=[c.beacon,c.errorBeacon];S.has(e.agentIdentifier)||(p.proxy.assets&&(R(p.proxy.assets),g.push(p.proxy.assets)),p.proxy.beacon&&g.push(p.proxy.beacon),function(e){const t=(0,n.pV)();Object.getOwnPropertyNames(i.W.prototype).forEach((r=>{const n=i.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let a=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return a?a(...t):n})}))}(e),(0,n.US)("activatedFeatures",y.B),e.runSoftNavOverSpa&&=!0===p.soft_navigations.enabled&&p.feature_flags.includes("soft_nav")),u.denyList=[...p.ajax.deny_list||[],...p.ajax.block_internal?g:[]],u.ptid=e.agentIdentifier,u.loaderType=r,e.runtime=b(u),S.has(e.agentIdentifier)||(e.ee=x.ee.get(e.agentIdentifier),e.exposed=l,(0,w.W)({agentIdentifier:e.agentIdentifier,drained:!!y.B?.[e.agentIdentifier],type:"lifecycle",name:"initialize",feature:void 0,data:e.config})),S.add(e.agentIdentifier)}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>c,P3:()=>d,XX:()=>i,Yy:()=>s,df:()=>a,qY:()=>n,v4:()=>o});const n="events",i="jserrors",a="browser/blobs",o="rum",s="browser/logs",c={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},d={[c.pageViewEvent]:1,[c.pageViewTiming]:2,[c.metrics]:3,[c.jserrors]:4,[c.spa]:5,[c.ajax]:6,[c.sessionTrace]:7,[c.softNav]:8,[c.sessionReplay]:9,[c.logging]:10,[c.genericEvents]:11},u={[c.pageViewEvent]:o,[c.pageViewTiming]:n,[c.ajax]:n,[c.spa]:n,[c.softNav]:n,[c.metrics]:i,[c.jserrors]:i,[c.sessionTrace]:a,[c.sessionReplay]:a,[c.logging]:s,[c.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var a=n[e]={exports:{}};return r[e](a,a.exports,i),a.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({95:"nr-full-compressor",222:"nr-full-recorder",891:"nr-full"}[e]+"-1.292.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.292.0.PROD:",i.l=(r,n,a,o)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==a)for(var d=document.getElementsByTagName("script"),u=0;u<d.length;u++){var l=d[u];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+a){s=l;break}}if(!s){c=!0;var f={891:"sha512-Cw+2YMkAhaNuISMxpuO7tdhnRvY1srnTTM6dWGCQ5Fr0nnvxQelWqq8JhANBU0yQjc/XA6Ypm/AieHKonNjHxg==",222:"sha512-HcEJX+aZF22C6EJoM7HWIQ7lEDXuRQdOjhT4iVEDZmSACvTrk3RAdVH3DmK6HPJjYwVzOdU24nZM8b3XJwN/Jw==",95:"sha512-urSTzj9E11l76PFyWOIjPrBcq2pSrYF9dKzoSd8sAlw4oHQsKtwqT5GcraRUpWva52QdSZGVqia7E7j0B47A/Q=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+a),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[o]&&(s.integrity=f[o])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={85:0,959:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var a=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=a);var o=i.p+i.u(t),s=new Error;i.l(o,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",s.name="ChunkLoadError",s.type=a,s.request=o,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,a,[o,s,c]=r,d=0;if(o.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);d<o.length;d++)a=o[d],i.o(e,a)&&e[a]&&e[a][0](),e[a]=0},r=self["webpackChunk:NRBA-1.292.0.PROD"]=self["webpackChunk:NRBA-1.292.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(9566),t=i(1741);class r extends t.W{agentIdentifier=(0,e.LA)(16)}var n=i(860);const a=Object.values(n.K7);var o=i(5205);var s=i(9908),c=i(1863),d=i(4261),u=i(3241),l=i(944),f=i(5701),h=i(8154);function p(e,t,i,a){const o=a||i;!o||o[e]&&o[e]!==r.prototype[e]||(o[e]=function(){(0,s.p)(h.xV,["API/"+e+"/called"],void 0,n.K7.metrics,i.ee),(0,u.W)({agentIdentifier:i.agentIdentifier,drained:!!f.B?.[i.agentIdentifier],type:"data",name:"api",feature:d.Pl+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,l.R)(23,e)}})}function g(e,t,r,n,i){const a=e.info;null===r?delete a.jsAttributes[t]:a.jsAttributes[t]=r,(i||null===r)&&(0,s.p)(d.Pl+n,[(0,c.t)(),t,r],void 0,"session",e.ee)}var m=i(1687),v=i(4234),b=i(5289),y=i(6154),R=i(5270),x=i(7767),w=i(6389);class T extends v.W{constructor(e,t){super(e.agentIdentifier,t),this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise(((t,r)=>{this.ee.on("manual-start-all",(0,w.J)((()=>{(0,m.Ak)(e.agentIdentifier,this.featureName),t()})))})):(0,m.Ak)(e.agentIdentifier,t)}importAggregator(e,t,r={}){if(this.featAggregate)return;let a;this.onAggregateImported=new Promise((e=>{a=e}));const o=async()=>{let o;await this.deferred;try{if((0,x.V)(e.init)){const{setupAgentSession:t}=await i.e(891).then(i.bind(i,6526));o=t(e)}}catch(e){(0,l.R)(20,e),this.ee.emit("internal-error",[e]),this.featureName===n.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o,e.init))return(0,m.Ze)(this.agentIdentifier,this.featureName),void a(!1);const{Aggregate:n}=await t();this.featAggregate=new n(e,r),e.runtime.harvester.initializedAggregates.push(this.featAggregate),a(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,m.Ze)(this.agentIdentifier,this.featureName,!0),a(!1),this.ee&&this.ee.abort()}};y.RI?(0,b.GG)((()=>o()),!0):o()}#t(e,t,r){switch(e){case n.K7.sessionReplay:return(0,R.SR)(r)&&!!t;case n.K7.sessionTrace:return!!t;default:return!0}}}var _=i(6630),S=i(2614);class A extends T{static featureName=_.T;constructor(e){var t;super(e,_.T),this.setupInspectionEvents(e.agentIdentifier),t=e,p(d.Fw,(function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,s.p)(d.Pl+d.Fw,[(0,c.t)()],void 0,void 0,t.ee))}),t),this.ee.on("api-send-rum",((e,t)=>(0,s.p)("send-rum",[e,t],void 0,this.featureName,this.ee))),this.importAggregator(e,(()=>i.e(891).then(i.bind(i,7550))))}setupInspectionEvents(e){const t=(t,r)=>{t&&(0,u.W)({agentIdentifier:e,timeStamp:t.timeStamp,loaded:"complete"===t.target.readyState,type:"window",name:r,data:t.target.location+""})};(0,b.sB)((e=>{t(e,"DOMContentLoaded")})),(0,b.GG)((e=>{t(e,"load")})),(0,b.Qr)((e=>{t(e,"navigate")})),this.ee.on(S.tS.UPDATE,((t,r)=>{(0,u.W)({agentIdentifier:e,type:"lifecycle",name:"session",data:r})}))}}var E=i(384);var O=i(2843),N=i(3878),P=i(782);class I extends T{static featureName=P.T;constructor(e){super(e,P.T),y.RI&&((0,O.u)((()=>(0,s.p)("docHidden",[(0,c.t)()],void 0,P.T,this.ee)),!0),(0,N.sp)("pagehide",(()=>(0,s.p)("winPagehide",[(0,c.t)()],void 0,P.T,this.ee))),this.importAggregator(e,(()=>i.e(891).then(i.bind(i,9917)))))}}class j extends T{static featureName=h.TZ;constructor(e){super(e,h.TZ),y.RI&&document.addEventListener("securitypolicyviolation",(e=>{(0,s.p)(h.xV,["Generic/CSPViolation/Detected"],void 0,this.featureName,this.ee)})),this.importAggregator(e,(()=>i.e(891).then(i.bind(i,8351))))}}var k=i(6774),C=i(3304);class H{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,C.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function L(e){return K(e)?e:new H(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function D(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(K(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return L(e.reason)}const r=L(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function M(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new H(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return K(e.error)?e.error:L(e)}function K(e){return e instanceof Error&&!!e.stack}function F(e,t,r,i,a=(0,c.t)()){"string"==typeof e&&(e=new Error(e)),(0,s.p)("err",[e,a,!1,t,r.runtime.isRecording,void 0,i],void 0,n.K7.jserrors,r.ee)}var W=i(3496),B=i(993),U=i(3785);function G(e,{customAttributes:t={},level:r=B.p_.INFO}={},n,i,a=(0,c.t)()){(0,U.R)(n.ee,e,t,r,i,a)}function V(e,t,r,i,a=(0,c.t)()){(0,s.p)(d.Pl+d.hG,[a,e,t,i],void 0,n.K7.genericEvents,r.ee)}function z(e){p(d.eY,(function(t){return function(e,t){const r={};let i,a;(0,l.R)(54,"newrelic.register"),e.init.api.allow_registered_children||(i=()=>(0,l.R)(55));t&&(0,W.I)(t)||(i=()=>(0,l.R)(48,t));const o={addPageAction:(n,i={})=>{d(V,[n,{...r,...i},e],t)},log:(n,i={})=>{d(G,[n,{...i,customAttributes:{...r,...i.customAttributes||{}}},e],t)},noticeError:(n,i={})=>{d(F,[n,{...r,...i},e],t)},setApplicationVersion:e=>{r["application.version"]=e},setCustomAttribute:(e,t)=>{r[e]=t},setUserId:e=>{r["enduser.id"]=e},metadata:{customAttributes:r,target:t,get connected(){return a||Promise.reject(new Error("Failed to connect"))}}};i?i():a=new Promise(((n,i)=>{try{const a=e.runtime?.entityManager;let s=!!a?.get().entityGuid,c=a?.getEntityGuidFor(t.licenseKey,t.applicationID),d=!!c;if(s&&d)t.entityGuid=c,n(o);else{const u=setTimeout((()=>i(new Error("Failed to connect - Timeout"))),15e3);function l(r){(0,W.A)(r,e)?s||=!0:t.licenseKey===r.licenseKey&&t.applicationID===r.applicationID&&(d=!0,t.entityGuid=r.entityGuid),s&&d&&(clearTimeout(u),e.ee.removeEventListener("entity-added",l),n(o))}e.ee.emit("api-send-rum",[r,t]),e.ee.on("entity-added",l)}}catch(f){i(f)}}));const d=async(t,r,o)=>{if(i)return i();const d=(0,c.t)();(0,s.p)(h.xV,["API/register/".concat(t.name,"/called")],void 0,n.K7.metrics,e.ee);try{await a;const n=e.init.api.duplicate_registered_data;(!0===n||Array.isArray(n)&&n.includes(o.entityGuid))&&t(...r,void 0,d),t(...r,o.entityGuid,d)}catch(e){(0,l.R)(50,e)}};return o}(e,t)}),e)}class Z extends T{static featureName=k.T;constructor(e){var t;super(e,k.T),t=e,p(d.o5,((e,r)=>F(e,r,t)),t),function(e){p(d.bt,(function(t){e.runtime.onerror=t}),e)}(e),function(e){let t=0;p(d.k6,(function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))}),e)}(e),z(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",((t,r)=>{this.abortHandler&&(0,s.p)("ierr",[L(t),(0,c.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)})),y.gm.addEventListener("unhandledrejection",(t=>{this.abortHandler&&(0,s.p)("err",[D(t),(0,c.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)}),(0,N.jT)(!1,this.removeOnAbort?.signal)),y.gm.addEventListener("error",(t=>{this.abortHandler&&(0,s.p)("err",[M(t),(0,c.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)}),(0,N.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#r,this.importAggregator(e,(()=>i.e(891).then(i.bind(i,5928))))}#r(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var q=i(8990);let X=1;function Y(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===y.gm?0:(0,q.I)(e,"nr@id",(function(){return X++}))}function Q(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,C.A)(e).length}catch(e){return}}}var J=i(8139),ee=i(7836),te=i(3434);const re={},ne=["open","send"];function ie(e){var t=e||ee.ee;const r=function(e){return(e||ee.ee).get("xhr")}(t);if(void 0===y.gm.XMLHttpRequest)return r;if(re[r.debugId]++)return r;re[r.debugId]=1,(0,J.u)(t);var n=(0,te.YM)(r),i=y.gm.XMLHttpRequest,a=y.gm.MutationObserver,o=y.gm.Promise,s=y.gm.setInterval,c="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],u=[],f=y.gm.XMLHttpRequest=function(e){const t=new i(e),a=r.context(t);try{r.emit("new-xhr",[t],a),t.addEventListener(c,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,r.emit("xhr-resolved",[],e)),n.inPlace(e,d,"fn-",b)}),(0,N.jT)(!1))}catch(e){(0,l.R)(15,e);try{r.emit("internal-error",[e])}catch(e){}}var o;return t};function h(e,t){n.inPlace(t,["onreadystatechange"],"fn-",b)}if(function(e,t){for(var r in e)t[r]=e[r]}(i,f),f.prototype=i.prototype,n.inPlace(f.prototype,ne,"-xhr-",b),r.on("send-xhr-start",(function(e,t){h(e,t),function(e){u.push(e),a&&(p?p.then(v):s?s(v):(g=-g,m.data=g))}(t)})),r.on("open-xhr-start",h),a){var p=o&&o.resolve();if(!s&&!o){var g=1,m=document.createTextNode(g);new a(v).observe(m,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===c||v()}));function v(){for(var e=0;e<u.length;e++)h(0,u[e]);u.length&&(u=[])}function b(e,t){return t}return r}var ae="fetch-",oe=ae+"body-",se=["arrayBuffer","blob","json","text","formData"],ce=y.gm.Request,de=y.gm.Response,ue="prototype";const le={};function fe(e){const t=function(e){return(e||ee.ee).get("fetch")}(e);if(!(ce&&de&&y.gm.fetch))return t;if(le[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],a={};t.emit(n+"before-start",[r],a),a[ee.P]&&a[ee.P].dt&&(e=a[ee.P].dt);var o=i.apply(this,r);return t.emit(n+"start",[r,e],o),o.then((function(e){return t.emit(n+"end",[null,e],o),e}),(function(e){throw t.emit(n+"end",[e],o),e}))})}return le[t.debugId]=1,se.forEach((e=>{r(ce[ue],e,oe),r(de[ue],e,oe)})),r(y.gm,"fetch",ae),t.on(ae+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(ae+"done",[null,r],n)}else t.emit(ae+"done",[e],n)})),t}var he=i(7485);class pe{constructor(e){this.agentRef=e}generateTracePayload(t){const r=this.agentRef.loader_config;if(!this.shouldGenerateTrace(t)||!r)return null;var n=(r.accountID||"").toString()||null,i=(r.agentID||"").toString()||null,a=(r.trustKey||"").toString()||null;if(!n||!i)return null;var o=(0,e.ZF)(),s=(0,e.el)(),c=Date.now(),d={spanId:o,traceId:s,timestamp:c};return(t.sameOrigin||this.isAllowedOrigin(t)&&this.useTraceContextHeadersForCors())&&(d.traceContextParentHeader=this.generateTraceContextParentHeader(o,s),d.traceContextStateHeader=this.generateTraceContextStateHeader(o,c,n,i,a)),(t.sameOrigin&&!this.excludeNewrelicHeader()||!t.sameOrigin&&this.isAllowedOrigin(t)&&this.useNewrelicHeaderForCors())&&(d.newrelicHeader=this.generateTraceHeader(o,s,c,n,i,a)),d}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,a){if(!("function"==typeof y.gm?.btoa))return null;var o={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return a&&n!==a&&(o.d.tk=a),btoa((0,C.A)(o))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,he.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var ge=i(9300),me=i(7295),ve=["load","error","abort","timeout"],be=ve.length,ye=(0,E.dV)().o.REQ,Re=(0,E.dV)().o.XHR;const xe="X-NewRelic-App-Data";class we extends T{static featureName=ge.T;constructor(e){super(e,ge.T),this.dt=new pe(e),this.handler=(e,t,r,n)=>(0,s.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};y.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},i={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};Te(r,t.name),this.handler("xhr",[r,i,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,n.K7.ajax)}}))}catch(e){}fe(this.ee),ie(this.ee),function(e,t,r,i){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=_,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){S(t,e)}),(0,N.jT)(!1)),y.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,N.jT)(!1))}function o(e){this.params={method:e[0]},Te(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var a=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),a=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),a=!0),a&&(this.dt=n)}}function u(e,r){var n=this.metrics,i=e[0],a=this;if(n&&i){var o=Q(i);o&&(n.txSize=o)}this.startTime=(0,c.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||a.loadCaptureCalled||(a.params.aborted=!0),("load"!==e.type||a.called===a.totalCbs&&(a.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof a.end)&&a.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<be;s++)r.addEventListener(ve[s],this.listener,(0,N.jT)(!1))}function l(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function f(e,t){var r=""+Y(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Y(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function g(){this.endTime=(0,c.t)()}function m(e,r){r instanceof Re&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function v(e,r){r instanceof Re&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function b(e,t,r){t instanceof Re&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,c.t)()))}function R(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,c.t)()-this.xhrCbStart,this.onload,r],r)}function x(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&y.RI&&(t=""+y.gm.location.href):e[0]&&e[0].url?t=e[0].url:y.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,he.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,n)&&(this.dt=n);else{var a={};for(var o in r)a[o]=r[o];a.headers=new Headers(r.headers||{}),s(a.headers,n)&&(this.dt=n),e.length>1?e[1]=a:e.push(a)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function w(e,t){this.params={},this.metrics={},this.startTime=(0,c.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof ye?r=i.url:y.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),Te(this,r);var a=(""+(i&&i instanceof ye&&i.method||n.method||"GET")).toUpperCase();this.params.method=a,this.body=n.body,this.txSize=Q(n.body)||0}function T(e,t){if(this.endTime=(0,c.t)(),this.params||(this.params={}),(0,me.iW)(this.params))return;let i;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(i=+this.rxSize);const a={txSize:this.txSize,rxSize:i,duration:(0,c.t)()-this.startTime};r("xhr",[this.params,a,this.startTime,this.endTime,"fetch"],this,n.K7.ajax)}function _(e){const t=this.params,i=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<be;t++)e.removeEventListener(ve[t],this.listener,!1);t.aborted||(0,me.iW)(t)||(i.duration=(0,c.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):S(this,e),i.cbTime=this.cbTime,r("xhr",[t,i,this.startTime,this.endTime,"xhr"],this,n.K7.ajax))}}function S(e,r){e.params.status=r.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Q(e.response):"text"===r||""===r||void 0===r?Q(e.responseText):void 0}(r,e.lastSize);if(i&&(e.metrics.rxSize=i),e.sameOrigin&&r.getAllResponseHeaders().indexOf(xe)>=0){var a=r.getResponseHeader(xe);a&&((0,s.p)(h.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,n.K7.metrics,t),e.params.cat=a.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",a),t.on("open-xhr-start",o),t.on("open-xhr-end",d),t.on("send-xhr-start",u),t.on("xhr-cb-time",l),t.on("xhr-load-added",f),t.on("xhr-load-removed",p),t.on("xhr-resolved",g),t.on("addEventListener-end",m),t.on("removeEventListener-end",v),t.on("fn-end",R),t.on("fetch-before-start",x),t.on("fetch-start",w),t.on("fn-start",b),t.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,(()=>i.e(891).then(i.bind(i,3845))))}}function Te(e,t){var r=(0,he.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const _e={},Se=["pushState","replaceState"];function Ae(e){const t=function(e){return(e||ee.ee).get("history")}(e);return!y.RI||_e[t.debugId]++||(_e[t.debugId]=1,(0,te.YM)(t).inPlace(window.history,Se,"-")),t}var Ee=i(3738);function Oe(e){p(d.BL,(function(t=Date.now()){const r=t-y.WN;r<0&&(0,l.R)(62,t),(0,s.p)(h.XG,[d.BL,{time:r}],void 0,n.K7.metrics,e.ee),e.addToTrace({name:d.BL,start:t,origin:"nr"}),(0,s.p)(d.Pl+d.hG,[r,d.BL],void 0,n.K7.genericEvents,e.ee)}),e)}const{He:Ne,bD:Pe,d3:Ie,Kp:je,TZ:ke,Lc:Ce,uP:He,Rz:Le}=Ee;class De extends T{static featureName=ke;constructor(e){var t;super(e,ke),t=e,p(d.U2,(function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-y.WN,e:(e.end||e.start)-y.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,s.p)("bstApi",[r],void 0,n.K7.sessionTrace,t.ee)}),t),Oe(e);if(!(0,x.V)(e.init))return void this.deregisterDrain();const r=this.ee;let a;Ae(r),this.eventsEE=(0,J.u)(r),this.eventsEE.on(He,(function(e,t){this.bstStart=(0,c.t)()})),this.eventsEE.on(Ce,(function(e,t){(0,s.p)("bst",[e[0],t,this.bstStart,(0,c.t)()],void 0,n.K7.sessionTrace,r)})),r.on(Le+Ie,(function(e){this.time=(0,c.t)(),this.startPath=location.pathname+location.hash})),r.on(Le+je,(function(e){(0,s.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,n.K7.sessionTrace,r)}));try{a=new PerformanceObserver((e=>{const t=e.getEntries();(0,s.p)(Ne,[t],void 0,n.K7.sessionTrace,r)})),a.observe({type:Pe,buffered:!0})}catch(e){}this.importAggregator(e,(()=>i.e(891).then(i.bind(i,575))),{resourceObserver:a})}}var Me=i(6344);class Ke extends T{static featureName=Me.TZ;#n;#i;constructor(e){var t;let r;super(e,Me.TZ),t=e,p(d.CH,(function(){(0,s.p)(d.CH,[],void 0,n.K7.sessionReplay,t.ee)}),t),function(e){p(d.Tb,(function(){(0,s.p)(d.Tb,[],void 0,n.K7.sessionReplay,e.ee)}),e)}(e),this.#i=e;try{r=JSON.parse(localStorage.getItem("".concat(S.H3,"_").concat(S.uh)))}catch(e){}(0,R.SR)(e.init)&&this.ee.on(Me.G4.RECORD,(()=>this.#a())),this.#o(r)?(this.#n=r?.sessionReplayMode,this.#s()):this.importAggregator(this.#i,(()=>i.e(891).then(i.bind(i,6167)))),this.ee.on("err",(e=>{this.#i.runtime.isRecording&&(this.errorNoticed=!0,(0,s.p)(Me.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))}))}#o(e){return e&&(e.sessionReplayMode===S.g.FULL||e.sessionReplayMode===S.g.ERROR)||(0,R.Aw)(this.#i.init)}#c=!1;async#s(e){if(!this.#c){this.#c=!0;try{const{Recorder:t}=await Promise.all([i.e(891),i.e(222)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#n,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#i}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){this.parent.ee.emit("internal-error",[e])}this.importAggregator(this.#i,(()=>i.e(891).then(i.bind(i,6167))),{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==S.g.FULL&&this.featAggregate.initializeRecording(S.g.FULL,!0):(this.#n=S.g.FULL,this.#s(Me.Qb.API),this.recorder&&this.recorder.parent.mode!==S.g.FULL&&(this.recorder.parent.mode=S.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Fe=i(3333);class We extends T{static featureName=Fe.TZ;constructor(e){super(e,Fe.TZ);const t=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];var r;if(r=e,p(d.hG,((e,t)=>V(e,t,r)),r),function(e){p(d.fF,(function(){(0,s.p)(d.Pl+d.fF,[(0,c.t)(),...arguments],void 0,n.K7.genericEvents,e.ee)}),e)}(e),Oe(e),z(e),function(e){p(d.V1,(function(t,r){const i=(0,c.t)(),{start:a,end:o,customAttributes:u}=r||{},f={customAttributes:u||{}};if("object"!=typeof f.customAttributes||"string"!=typeof t||0===t.length)return void(0,l.R)(57);const h=(e,t)=>null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(f.start=h(a,0),f.end=h(o,i),Number.isNaN(f.start)||Number.isNaN(f.end))(0,l.R)(57);else{if(f.duration=f.end-f.start,!(f.duration<0))return(0,s.p)(d.Pl+d.V1,[f,t],void 0,n.K7.genericEvents,e.ee),f;(0,l.R)(58)}}),e)}(e),y.RI&&(e.init.user_actions.enabled&&(Fe.Zp.forEach((e=>(0,N.sp)(e,(e=>(0,s.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),Fe.qN.forEach((e=>{const t=(0,w.s)((e=>{(0,s.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,N.sp)(e,t)}))),e.init.performance.resources.enabled&&y.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,s.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}t.some((e=>e))?this.importAggregator(e,(()=>i.e(891).then(i.bind(i,8019)))):this.deregisterDrain()}}var Be=i(2646);const Ue=new Map;function Ge(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||ee.ee).get("logger")}(e),a=(0,te.YM)(i),o=new Be.y(ee.P);o.level=n.level,o.customAttributes=n.customAttributes;const s=t[r]?.[te.Jt]||t[r];return Ue.set(s,o),a.inPlace(t,[r],"wrap-logger-",(()=>Ue.get(s))),i}class Ve extends T{static featureName=B.TZ;constructor(e){var t;super(e,B.TZ),t=e,p(d.$9,((e,r)=>G(e,r,t)),t),function(e){p(d.Wb,((t,r,{customAttributes:n={},level:i=B.p_.INFO}={})=>{Ge(e.ee,t,r,{customAttributes:n,level:i})}),e)}(e),z(e);const r=this.ee;Ge(r,y.gm.console,"log",{level:"info"}),Ge(r,y.gm.console,"error",{level:"error"}),Ge(r,y.gm.console,"warn",{level:"warn"}),Ge(r,y.gm.console,"info",{level:"info"}),Ge(r,y.gm.console,"debug",{level:"debug"}),Ge(r,y.gm.console,"trace",{level:"trace"}),this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,U.R)(r,e,n,t)})),this.importAggregator(e,(()=>i.e(891).then(i.bind(i,5288))))}}new class extends r{constructor(e){var t;(super(),y.gm)?(this.features={},(0,E.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(A),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===n.K7.softNav)),(0,o.j)(this,e,e.loaderType||"agent"),t=this,p(d.cD,(function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return g(t,e,r,d.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)}),t),function(e){p(d.Dl,(function(t){if("string"==typeof t||null===t)return g(e,"enduser.id",t,d.Dl,!0);(0,l.R)(41,typeof t)}),e)}(this),function(e){p(d.nb,(function(t){if("string"==typeof t||null===t)return g(e,"application.version",t,d.nb,!1);(0,l.R)(42,typeof t)}),e)}(this),function(e){p(d.d3,(function(){e.ee.emit("manual-start-all")}),e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return a.forEach((r=>{t[r]=!!e[r]?.enabled})),t}(this.init),t=[...this.desiredFeatures];t.sort(((e,t)=>n.P3[e.featureName]-n.P3[t.featureName])),t.forEach((t=>{if(!e[t.featureName]&&t.featureName!==n.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&t.featureName===n.K7.spa)return;if(!this.runSoftNavOverSpa&&t.featureName===n.K7.softNav)return;const r=function(e){switch(e){case n.K7.ajax:return[n.K7.jserrors];case n.K7.sessionTrace:return[n.K7.ajax,n.K7.pageViewEvent];case n.K7.sessionReplay:return[n.K7.sessionTrace];case n.K7.pageViewTiming:return[n.K7.pageViewEvent];default:return[]}}(t.featureName).filter((e=>!(e in this.features)));r.length>0&&(0,l.R)(36,{targetFeature:t.featureName,missingDependencies:r}),this.features[t.featureName]=new t(this)}))}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,E.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}({features:[A,I,De,Ke,we,j,Z,We,Ve],loaderType:"pro"})})()})();</script><title>Yours for the making - Instructables</title><meta property="fb:app_id" content="140028286058792"/><meta property="og:site_name" content="Instructables"/><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="description" content="Instructables is a community for people who like to make things. Come explore, share, and make your next project with us!"/><link rel="shortcut icon" type="image/x-icon" href="/assets/img/siteassets/favicon.ico"/><link rel="apple-touch-icon" href="/assets/img/siteassets/apple-touch-icon.png"/><link rel="apple-touch-icon" sizes="192x192" href="/assets/img/siteassets/apple-touch-icon-192x192.png"/><link rel="apple-touch-icon" sizes="512x512" href="/assets/img/siteassets/apple-touch-icon-512x512.png"/><link rel="canonical" href="https://www.instructables.com/" /><script>
(function(Ibles){
    Ibles.JST = Ibles.JST || {};
    Ibles.pageContext = {};
    Ibles.isStaging = false;
    Ibles.isLoggedIn = false;
    Ibles.accessCookie = "ibleAccess";
    Ibles.loggedInCookie = "loggedIn";
    Ibles.userStorageKey = "ibleuser";
})(window.Ibles = window.Ibles || {});
</script><script>function Deferred(){var e=[],t={resolve:function(n){t.then=function(e){e(n)},t.resolve=function(){throw new Error("Deferred already resolved")};var o,a=0;for(;o=e[a++];)o(n);e=null},then:function(t){e.push(t)}};return t}Ibles.readCookie=function(e,t){return(t=RegExp("(^|; )"+encodeURIComponent(e)+"=([^;]*)").exec(document.cookie))?decodeURIComponent(t[2]):null},function(e,t){var n=t.readCookie,o=n(t.loggedInCookie),a=n(t.accessCookie);t.isLoggedIn=!!o||!!a;try{var r=localStorage.getItem(t.userStorageKey);t.user=t.isLoggedIn&&r&&JSON.parse(r)}catch(e){}}(window,Ibles),function(e,t){var n=t.className;n=n.replace(/(^|\s)no-js(\s|$)/,"$1$2");var o=Ibles.user;if(Ibles.isLoggedIn&&o){n+=" is-loggedin",o.role&&o.role.indexOf("ADMIN")>=0&&(n+=" is-admin");for(var a=o.occupations,r=0;r<a.length;r++)if(a[r].name.toLowerCase().indexOf("teacher")>=0){n+=" is-teacher";break}}t.className=n}(Ibles,document.documentElement),function(e,t){var n=[],o=[],a=[],r=/p/.test(t.readyState),s="onpageshow"in e?"pageshow":"load";function i(e){return"function"==typeof e}function l(){var e=arguments,t=e[0],o=e[e.length-1];"object"==typeof t&&t.constructor===Object&&(o=t.callback,t=t.test?t.success:t.failure),i(o)&&(!function(e){e.constructor==Array&&e.length&&a.push.apply(a,e)}(t),n.push([o]))}function c(e,n,o){var a=t.createElement("script");for(var r in a.src=e,a.async=!0,n)a.setAttribute(r,n[r]);i(o)&&(a.onload=o);var s=t.getElementsByTagName("script")[0];s.parentNode.insertBefore(a,s)}function d(e,t){r?setTimeout(e,t||32):o.push(e,t)}e.addEventListener(s,(function(){for(r=!0;o[0];)d(o.shift(),o.shift())})),e.sessionReady=l,e.loadJS=l,e.loadJsQueue=n,e.sessionReady=l,e.deferJS=function(e,t,n){i(e)?d(e):d((function(){c(e,{},t)}),n)},e.loadScript=c,e.pageScripts=a}(window,document),
/*! loadCSS. [c]2017 Filament Group, Inc. MIT License */
function(e){"use strict";e.loadCSS||(e.loadCSS=function(){});var t=loadCSS.relpreload={};if(t.support=function(){var t;try{t=e.document.createElement("link").relList.supports("preload")}catch(e){t=!1}return function(){return t}}(),t.bindMediaToggle=function(e){var t=e.media||"all";function n(){e.addEventListener?e.removeEventListener("load",n):e.attachEvent&&e.detachEvent("onload",n),e.setAttribute("onload",null),e.media=t}e.addEventListener?e.addEventListener("load",n):e.attachEvent&&e.attachEvent("onload",n),setTimeout((function(){e.rel="stylesheet",e.media="only x"})),setTimeout(n,3e3)},t.poly=function(){if(!t.support())for(var n=e.document.getElementsByTagName("link"),o=0;o<n.length;o++){var a=n[o];"preload"!==a.rel||"style"!==a.getAttribute("as")||a.getAttribute("data-loadcss")||(a.setAttribute("data-loadcss",!0),t.bindMediaToggle(a))}},!t.support()){t.poly();var n=e.setInterval(t.poly,500);e.addEventListener?e.addEventListener("load",(function(){t.poly(),e.clearInterval(n)})):e.attachEvent&&e.attachEvent("onload",(function(){t.poly(),e.clearInterval(n)}))}"undefined"!=typeof exports?exports.loadCSS=loadCSS:e.loadCSS=loadCSS}("undefined"!=typeof global?global:this);</script><link href="/assets/BUNDLES/global_desktop_bs2_css.min.css?c=5df74b6940" rel="stylesheet" type="text/css" media="screen" /><link href="/assets/scss/global.css?c=5df74b6940" rel="stylesheet" type="text/css" media="screen" /><link href="/assets/scss/artifakt.css?c=5df74b6940" rel="stylesheet" type="text/css" media="screen" /><link href="/assets/scss/home.css?c=5df74b6940" rel="stylesheet" type="text/css" media="screen" /><link rel="stylesheet" href="/assets/js_bundles/55e34c6b76/main-BP3FjrTv.css" /><script type="module" crossorigin="" src="/assets/js_bundles/55e34c6b76/main-DNIAI8mZ.js"></script><script type="text/javascript" src="https://js-cdn.dynatrace.com/jstag/1672bab6729/bf86358stq/17188ffd570aec1_complete.js" crossorigin="anonymous"></script></head><body class=""><div id="site-announcements" class="site-announcements"><div class="site-announcements-content"></div></div><header id="site-header" class="instructables-header"><div class="logo-nav"><a class="instructables-logo" href="/"><img src="/assets/img/instructables-logo-2023.svg" /></a><div class="main-links"><a href="/projects/">
                Projects
            </a><a href="/contest/">
                Contests
            </a><a href="/teachers/">
                Teachers
            </a></div></div></header><main><div id="react-container" class=""></div><div id="home-container" class="home-wrapper-wrapper full-wrapper home-content clearfix"><div id="site-announcements-page" class="site-announcements-page"><div class="site-announcements-page-content"></div></div><a class="home-content-banner-wrapper" href="https://www.instructables.com/contest/makeithome2025"><div
                    id="home-content-banner"
                    class="home-content-banner"
                    style="background: url(//images.ctfassets.net/jl5ii4oqrdmc/3w2iYYKVXIEKLc2bBSnN0D/f475db4c04084ee838bc8aed2d1fd108/make-it-home-2image.jpg) lightgray 50% / cover no-repeat;"
                ><div class="home-content-banner-gradient"><div class="home-content-banner-title-block"><div class="text-block"><div class="title">
                                    Make it Home
                                </div><div class="sub-text">
                                        Student Design Contest: Design an affordable housing solution. $50,000 in prizes!
                                    </div></div><div class="btn btn-yellow">
                                Contest Details
                                <img height="24" width="24" src="/assets/svg/nav-arrow-right-alt.svg" /></div></div></div></div></a><div class="home-content-text"><div class="home-content-text-wrap"><div class="home-content-text-box"><h2>Step-by-step</h2><p>We make it easy to learn how to make anything, one step at a time. From the stovetop to the workshop, you are sure to be inspired by the awesome projects that are shared everyday.</p></div><div class="home-content-text-box"><h2>Made By You</h2><p>Instructables are created by you. No matter who you are, we all have secret skills to share. Come join our community of curious makers, innovators, teachers, and life long learners who love to share what they make.</p></div><div class="home-content-text-box"><h2>A Happy Place</h2><p>Making things makes people happy. We can't prove it, but we know it to be true. Find your happy place, and join one of the friendliest online communities anywhere.</p></div></div></div><hr><div class="home-content-explore"><div class="home-content-explore-wrap"><h2>Explore Projects</h2><div class="home-content-explore-category home-content-explore-category-circuits clearfix"><a href="/circuits/" class="home-content-explore-link"><h3><span class="anchor-text">Circuits</span>&nbsp;<span class="icon-arrow-right"></span></h3></a><div class="home-content-explore-category-wrap "><div class="home-content-explore-ibles"><div class="home-content-explore-ible"><a href="/AI-powered-Dino-Toy-That-Teaches-Kids-Colors-and-S/"><img class="lazyload" data-src="https://content.instructables.com/F44/NJ30/MBP3X3RL/F44NJ30MBP3X3RL.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="AI Talking Dinosaur - Educational Toy From Recycled Materials♻️"><noscript><img  src="https://content.instructables.com/F44/NJ30/MBP3X3RL/F44NJ30MBP3X3RL.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="AI Talking Dinosaur - Educational Toy From Recycled Materials♻️"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/AI-powered-Dino-Toy-That-Teaches-Kids-Colors-and-S/">AI Talking Dinosaur - Educational Toy From Recycled Materials♻️</a></strong><span class="ible-author">
            by <a href="/member/be_riddickulous/">be_riddickulous</a></span><span class="ible-channel">
                in <a href="/circuits/raspberry-pi/projects/">Raspberry Pi</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        39
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    4.5K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/A-Device-That-Simply-Turns-Pages/"><img class="lazyload" data-src="https://content.instructables.com/F4H/GVRT/MBJE0WZ0/F4HGVRTMBJE0WZ0.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="A Device That Simply Turns Pages"><noscript><img  src="https://content.instructables.com/F4H/GVRT/MBJE0WZ0/F4HGVRTMBJE0WZ0.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="A Device That Simply Turns Pages"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/A-Device-That-Simply-Turns-Pages/">A Device That Simply Turns Pages</a></strong><span class="ible-author">
            by <a href="/member/NovemberKou/">NovemberKou</a></span><span class="ible-channel">
                in <a href="/circuits/arduino/projects/">Arduino</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        27
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    4.5K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Shadow-Clock-Projecting-Time-With-3D-Printing-and-/"><img class="lazyload" data-src="https://content.instructables.com/F5R/2KTH/MBGJ4AX7/F5R2KTHMBGJ4AX7.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Shadow Clock - Projecting Time With 3D Printing and ESP&#x27;s"><noscript><img  src="https://content.instructables.com/F5R/2KTH/MBGJ4AX7/F5R2KTHMBGJ4AX7.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Shadow Clock - Projecting Time With 3D Printing and ESP&#x27;s"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Shadow-Clock-Projecting-Time-With-3D-Printing-and-/">Shadow Clock - Projecting Time With 3D Printing and ESP&#x27;s</a></strong><span class="ible-author">
            by <a href="/member/DIY+Machines/">DIY Machines</a></span><span class="ible-channel">
                in <a href="/circuits/clocks/projects/">Clocks</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        66
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    5.2K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/The-SwarmTurret-Wifi-Controlled-Foam-Dart-Turret/"><img class="lazyload" data-src="https://content.instructables.com/FA0/HT8J/MANYCPAZ/FA0HT8JMANYCPAZ.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="The SwarmTurret: Wifi Controlled Foam Dart Turret"><noscript><img  src="https://content.instructables.com/FA0/HT8J/MANYCPAZ/FA0HT8JMANYCPAZ.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="The SwarmTurret: Wifi Controlled Foam Dart Turret"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/The-SwarmTurret-Wifi-Controlled-Foam-Dart-Turret/">The SwarmTurret: Wifi Controlled Foam Dart Turret</a></strong><span class="ible-author">
            by <a href="/member/meub/">meub</a></span><span class="ible-channel">
                in <a href="/circuits/raspberry-pi/projects/">Raspberry Pi</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        79
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    11K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Lizard-3D-Printed-RC-Race-Car/"><img class="lazyload" data-src="https://content.instructables.com/FYM/T8W6/MAJNZLI8/FYMT8W6MAJNZLI8.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Lizard: 3D Printed RC Race Car"><noscript><img  src="https://content.instructables.com/FYM/T8W6/MAJNZLI8/FYMT8W6MAJNZLI8.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Lizard: 3D Printed RC Race Car"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Lizard-3D-Printed-RC-Race-Car/">Lizard: 3D Printed RC Race Car</a></strong><span class="ible-author">
            by <a href="/member/TRDB/">TRDB</a></span><span class="ible-channel">
                in <a href="/circuits/remote-control/projects/">Remote Control</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        353
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    36K
                </span></span></div></div></div></div></div><div class="home-content-explore-category home-content-explore-category-workshop clearfix"><a href="/workshop/" class="home-content-explore-link"><h3><span class="anchor-text">Workshop</span>&nbsp;<span class="icon-arrow-right"></span></h3></a><div class="home-content-explore-category-wrap "><div class="home-content-explore-ibles"><div class="home-content-explore-ible"><a href="/OpenShower-One-Place-for-Sensations-Sophistication/"><img class="lazyload" data-src="https://content.instructables.com/FSN/F2GV/MBKTGEHT/FSNF2GVMBKTGEHT.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="OpenShower: Waste Ends Here"><noscript><img  src="https://content.instructables.com/FSN/F2GV/MBKTGEHT/FSNF2GVMBKTGEHT.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="OpenShower: Waste Ends Here"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/OpenShower-One-Place-for-Sensations-Sophistication/">OpenShower: Waste Ends Here</a></strong><span class="ible-author">
            by <a href="/member/blanyaShowers/">blanyaShowers</a></span><span class="ible-channel">
                in <a href="/workshop/energy/projects/">Energy</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        97
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    10K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Pinwheel-Charcuterie-Board/"><img class="lazyload" data-src="https://content.instructables.com/FXR/UPVH/M9R36D3L/FXRUPVHM9R36D3L.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Pinwheel Charcuterie Board"><noscript><img  src="https://content.instructables.com/FXR/UPVH/M9R36D3L/FXRUPVHM9R36D3L.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Pinwheel Charcuterie Board"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Pinwheel-Charcuterie-Board/">Pinwheel Charcuterie Board</a></strong><span class="ible-author">
            by <a href="/member/rschoenm/">rschoenm</a></span><span class="ible-channel">
                in <a href="/workshop/woodworking/projects/">Woodworking</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        67
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    7.5K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/How-I-Built-My-OWN-Electric-Guitar-Ibanez-Style/"><img class="lazyload" data-src="https://content.instructables.com/FSV/8C3X/M9JXZQG0/FSV8C3XM9JXZQG0.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="How I Built My OWN Electric Guitar (Ibanez Style)"><noscript><img  src="https://content.instructables.com/FSV/8C3X/M9JXZQG0/FSV8C3XM9JXZQG0.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="How I Built My OWN Electric Guitar (Ibanez Style)"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/How-I-Built-My-OWN-Electric-Guitar-Ibanez-Style/">How I Built My OWN Electric Guitar (Ibanez Style)</a></strong><span class="ible-author">
            by <a href="/member/PietroBoza/">PietroBoza</a></span><span class="ible-channel">
                in <a href="/workshop/woodworking/projects/">Woodworking</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        25
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    3.8K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Quadcopter-Landing-Pad-With-Telescoping-Legs-for-U/"><img class="lazyload" data-src="https://content.instructables.com/FLH/61SD/MAB3D8B7/FLH61SDMAB3D8B7.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Quadcopter Landing Pad With Telescoping Legs for Uneven Ground"><noscript><img  src="https://content.instructables.com/FLH/61SD/MAB3D8B7/FLH61SDMAB3D8B7.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Quadcopter Landing Pad With Telescoping Legs for Uneven Ground"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Quadcopter-Landing-Pad-With-Telescoping-Legs-for-U/">Quadcopter Landing Pad With Telescoping Legs for Uneven Ground</a></strong><span class="ible-author">
            by <a href="/member/marwood/">marwood</a></span><span class="ible-channel">
                in <a href="/workshop/woodworking/projects/">Woodworking</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        27
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    2.8K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Chaos-Table/"><img class="lazyload" data-src="https://content.instructables.com/FN9/GC6X/M8U8431W/FN9GC6XM8U8431W.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Chaos Table"><noscript><img  src="https://content.instructables.com/FN9/GC6X/M8U8431W/FN9GC6XM8U8431W.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Chaos Table"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Chaos-Table/">Chaos Table</a></strong><span class="ible-author">
            by <a href="/member/Branch+and+Bead/">Branch and Bead</a></span><span class="ible-channel">
                in <a href="/workshop/furniture/projects/">Furniture</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        89
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    8.8K
                </span></span></div></div></div></div></div><div class="home-content-explore-category home-content-explore-category-craft clearfix"><a href="/craft/" class="home-content-explore-link"><h3><span class="anchor-text">Craft</span>&nbsp;<span class="icon-arrow-right"></span></h3></a><div class="home-content-explore-category-wrap "><div class="home-content-explore-ibles"><div class="home-content-explore-ible"><a href="/Harry-Potters-Hogwarts-Library-Book/"><img class="lazyload" data-src="https://content.instructables.com/FOO/550C/M8VNHX6M/FOO550CM8VNHX6M.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Harry Potter&#x27;s Hogwarts Library Book"><noscript><img  src="https://content.instructables.com/FOO/550C/M8VNHX6M/FOO550CM8VNHX6M.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Harry Potter&#x27;s Hogwarts Library Book"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Harry-Potters-Hogwarts-Library-Book/">Harry Potter&#x27;s Hogwarts Library Book</a></strong><span class="ible-author">
            by <a href="/member/rog8811/">rog8811</a></span><span class="ible-channel">
                in <a href="/craft/printmaking/projects/">Printmaking</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        1
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    402
                </span></span></div></div><div class="home-content-explore-ible"><a href="/How-to-Make-a-DIY-Radio-Controlled-Soda-Can-Airpla/"><img class="lazyload" data-src="https://content.instructables.com/FSC/6GLU/MB53M744/FSC6GLUMB53M744.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="How to Make a DIY Radio Controlled Soda Can Airplane: Transform Aluminum Cans Into an RC Flyer"><noscript><img  src="https://content.instructables.com/FSC/6GLU/MB53M744/FSC6GLUMB53M744.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="How to Make a DIY Radio Controlled Soda Can Airplane: Transform Aluminum Cans Into an RC Flyer"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/How-to-Make-a-DIY-Radio-Controlled-Soda-Can-Airpla/">How to Make a DIY Radio Controlled Soda Can Airplane: Transform Aluminum Cans Into an RC Flyer</a></strong><span class="ible-author">
            by <a href="/member/sodacanmodels93643/">sodacanmodels93643</a></span><span class="ible-channel">
                in <a href="/craft/reuse/projects/">Reuse</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        87
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    11K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Simple-Canvas-Backpack/"><img class="lazyload" data-src="https://content.instructables.com/FZC/8E8Q/MAJNZBME/FZC8E8QMAJNZBME.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Simple Canvas Backpack"><noscript><img  src="https://content.instructables.com/FZC/8E8Q/MAJNZBME/FZC8E8QMAJNZBME.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Simple Canvas Backpack"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Simple-Canvas-Backpack/">Simple Canvas Backpack</a></strong><span class="ible-author">
            by <a href="/member/bekathwia/">bekathwia</a></span><span class="ible-channel">
                in <a href="/craft/sewing/projects/">Sewing</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        67
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    3.7K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Turn-an-Old-Hat-Into-a-Regency-Bonnet/"><img class="lazyload" data-src="https://content.instructables.com/FO5/I2WD/MAGT3HV2/FO5I2WDMAGT3HV2.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Turn an Old Hat Into a Regency Bonnet (1811-1820)"><noscript><img  src="https://content.instructables.com/FO5/I2WD/MAGT3HV2/FO5I2WDMAGT3HV2.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Turn an Old Hat Into a Regency Bonnet (1811-1820)"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Turn-an-Old-Hat-Into-a-Regency-Bonnet/">Turn an Old Hat Into a Regency Bonnet (1811-1820)</a></strong><span class="ible-author">
            by <a href="/member/Creative+Mom+CZ/">Creative Mom CZ</a></span><span class="ible-channel">
                in <a href="/craft/costumes-and-cosplay/projects/">Costumes &amp; Cosplay</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        10
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    1.6K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/DIY-Inkle-Loom-From-IKEA-Parts/"><img class="lazyload" data-src="https://content.instructables.com/FSA/DKCB/MA9NWIZE/FSADKCBMA9NWIZE.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="DIY Inkle Loom From IKEA Parts"><noscript><img  src="https://content.instructables.com/FSA/DKCB/MA9NWIZE/FSADKCBMA9NWIZE.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="DIY Inkle Loom From IKEA Parts"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/DIY-Inkle-Loom-From-IKEA-Parts/">DIY Inkle Loom From IKEA Parts</a></strong><span class="ible-author">
            by <a href="/member/evilrooster/">evilrooster</a></span><span class="ible-channel">
                in <a href="/craft/fiber-arts/projects/">Fiber Arts</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-imadeits"><i title="IMadeIts Count" class="icon icon-imadeit"></i>
                    1
                </span><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        76
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    9.1K
                </span></span></div></div></div></div></div><div class="home-content-explore-category home-content-explore-category-cooking clearfix"><a href="/cooking/" class="home-content-explore-link"><h3><span class="anchor-text">Cooking</span>&nbsp;<span class="icon-arrow-right"></span></h3></a><div class="home-content-explore-category-wrap "><div class="home-content-explore-ibles"><div class="home-content-explore-ible"><a href="/Choux-Au-Craquelin-Homemade-Cream-Puffs/"><img class="lazyload" data-src="https://content.instructables.com/F0W/VK61/MAV3J0JC/F0WVK61MAV3J0JC.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Choux Au Craquelin (Homemade Cream Puffs)"><noscript><img  src="https://content.instructables.com/F0W/VK61/MAV3J0JC/F0WVK61MAV3J0JC.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Choux Au Craquelin (Homemade Cream Puffs)"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Choux-Au-Craquelin-Homemade-Cream-Puffs/">Choux Au Craquelin (Homemade Cream Puffs)</a></strong><span class="ible-author">
            by <a href="/member/Yumchief/">Yumchief</a></span><span class="ible-channel">
                in <a href="/cooking/dessert/projects/">Dessert</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        73
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    9.3K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/JELLO-Jellyfish-Aquarium/"><img class="lazyload" data-src="https://content.instructables.com/FI0/3WVA/M8D2SUXQ/FI03WVAM8D2SUXQ.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="JELLO Jellyfish Aquarium"><noscript><img  src="https://content.instructables.com/FI0/3WVA/M8D2SUXQ/FI03WVAM8D2SUXQ.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="JELLO Jellyfish Aquarium"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/JELLO-Jellyfish-Aquarium/">JELLO Jellyfish Aquarium</a></strong><span class="ible-author">
            by <a href="/member/Jeromina/">Jeromina</a></span><span class="ible-channel">
                in <a href="/cooking/dessert/projects/">Dessert</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        35
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    3.7K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Strawberry-Lava-Filled-Chocolate-Crinkle-Cookies-i/"><img class="lazyload" data-src="https://content.instructables.com/FC9/B00F/M8D2RQ1U/FC9B00FM8D2RQ1U.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Strawberry Lava-Filled Chocolate Crinkle Cookies in Pressure Cooker"><noscript><img  src="https://content.instructables.com/FC9/B00F/M8D2RQ1U/FC9B00FM8D2RQ1U.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Strawberry Lava-Filled Chocolate Crinkle Cookies in Pressure Cooker"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Strawberry-Lava-Filled-Chocolate-Crinkle-Cookies-i/">Strawberry Lava-Filled Chocolate Crinkle Cookies in Pressure Cooker</a></strong><span class="ible-author">
            by <a href="/member/curlmoohi/">curlmoohi</a></span><span class="ible-channel">
                in <a href="/cooking/cookies/projects/">Cookies</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-imadeits"><i title="IMadeIts Count" class="icon icon-imadeit"></i>
                    1
                </span><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        84
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    7.3K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Jello-Roll-Ups/"><img class="lazyload" data-src="https://content.instructables.com/FVY/RMA1/M4WRGLCL/FVYRMA1M4WRGLCL.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Jello Roll Ups - Jello Pinwheels"><noscript><img  src="https://content.instructables.com/FVY/RMA1/M4WRGLCL/FVYRMA1M4WRGLCL.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Jello Roll Ups - Jello Pinwheels"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Jello-Roll-Ups/">Jello Roll Ups - Jello Pinwheels</a></strong><span class="ible-author">
            by <a href="/member/Penolopy+Bulnick/">Penolopy Bulnick</a></span><span class="ible-channel">
                in <a href="/cooking/dessert/projects/">Dessert</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-imadeits"><i title="IMadeIts Count" class="icon icon-imadeit"></i>
                    1
                </span><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        78
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    6.7K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Realistic-Coconut-Cookies/"><img class="lazyload" data-src="https://content.instructables.com/FDM/2P72/M6XMXIAE/FDM2P72M6XMXIAE.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Realistic Coconut Cookies"><noscript><img  src="https://content.instructables.com/FDM/2P72/M6XMXIAE/FDM2P72M6XMXIAE.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Realistic Coconut Cookies"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Realistic-Coconut-Cookies/">Realistic Coconut Cookies</a></strong><span class="ible-author">
            by <a href="/member/Jeromina/">Jeromina</a></span><span class="ible-channel">
                in <a href="/cooking/cookies/projects/">Cookies</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        109
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    7.7K
                </span></span></div></div></div></div></div><div class="home-content-explore-category home-content-explore-category-living clearfix"><a href="/living/" class="home-content-explore-link"><h3><span class="anchor-text">Living</span>&nbsp;<span class="icon-arrow-right"></span></h3></a><div class="home-content-explore-category-wrap "><div class="home-content-explore-ibles"><div class="home-content-explore-ible"><a href="/LumiTrap-3D-Printed-Solar-UV-Bug-Trap-for-Eco-Frie/"><img class="lazyload" data-src="https://content.instructables.com/FRQ/MD0W/MBP3RKG9/FRQMD0WMBP3RKG9.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="LumiTrap : 3D-Printed Solar UV Bug Trap for Eco-Friendly Pest Control"><noscript><img  src="https://content.instructables.com/FRQ/MD0W/MBP3RKG9/FRQMD0WMBP3RKG9.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="LumiTrap : 3D-Printed Solar UV Bug Trap for Eco-Friendly Pest Control"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/LumiTrap-3D-Printed-Solar-UV-Bug-Trap-for-Eco-Frie/">LumiTrap : 3D-Printed Solar UV Bug Trap for Eco-Friendly Pest Control</a></strong><span class="ible-author">
            by <a href="/member/gokux/">gokux</a></span><span class="ible-channel">
                in <a href="/living/pest-control/projects/">Pest Control</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        212
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    17K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Mid-Century-Modern-Styled-Laser-Cut-Pendant-Light-/"><img class="lazyload" data-src="https://content.instructables.com/FSW/Z5ZN/MA6T0GVV/FSWZ5ZNMA6T0GVV.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Mid-Century Modern Styled Laser Cut Pendant Light Fixture"><noscript><img  src="https://content.instructables.com/FSW/Z5ZN/MA6T0GVV/FSWZ5ZNMA6T0GVV.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Mid-Century Modern Styled Laser Cut Pendant Light Fixture"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Mid-Century-Modern-Styled-Laser-Cut-Pendant-Light-/">Mid-Century Modern Styled Laser Cut Pendant Light Fixture</a></strong><span class="ible-author">
            by <a href="/member/Flipping+the+Flip/">Flipping the Flip</a></span><span class="ible-channel">
                in <a href="/living/decorating/projects/">Decorating</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        21
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    3.6K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Assistive-Typing-Tools-for-Amputated-Fingers-Desig/"><img class="lazyload" data-src="https://content.instructables.com/FJB/ZTJ0/M6XMXPOX/FJBZTJ0M6XMXPOX.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Assistive Typing Tools for Amputated Fingers, Designed to Enable Fluent and More Comfortable Typing on a Keyboard."><noscript><img  src="https://content.instructables.com/FJB/ZTJ0/M6XMXPOX/FJBZTJ0M6XMXPOX.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Assistive Typing Tools for Amputated Fingers, Designed to Enable Fluent and More Comfortable Typing on a Keyboard."/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Assistive-Typing-Tools-for-Amputated-Fingers-Desig/">Assistive Typing Tools for Amputated Fingers, Designed to Enable Fluent and More Comfortable Typing on a Keyboard.</a></strong><span class="ible-author">
            by <a href="/member/roeiwe/">roeiwe</a></span><span class="ible-channel">
                in <a href="/circuits/assistive-tech/projects/">Assistive Tech</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        33
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    8.7K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Amazing-Sweet-Leaf-Herb-100-Natural-Healthy-Zero-C/"><img class="lazyload" data-src="https://content.instructables.com/FAN/YGSZ/LZRGCOZ7/FANYGSZLZRGCOZ7.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Amazing Sweet Leaf Herb - 100% Natural &amp; Healthy Zero Calorie Sweetener"><noscript><img  src="https://content.instructables.com/FAN/YGSZ/LZRGCOZ7/FANYGSZLZRGCOZ7.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Amazing Sweet Leaf Herb - 100% Natural &amp; Healthy Zero Calorie Sweetener"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Amazing-Sweet-Leaf-Herb-100-Natural-Healthy-Zero-C/">Amazing Sweet Leaf Herb - 100% Natural &amp; Healthy Zero Calorie Sweetener</a></strong><span class="ible-author">
            by <a href="/member/Rhonda+Chase+Design/">Rhonda Chase Design</a></span><span class="ible-channel">
                in <a href="/living/health/projects/">Health</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        78
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    7.9K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Fluffy-Walking-Robotic-Dog-With-Tail-Wagging-Neck-/"><img class="lazyload" data-src="https://content.instructables.com/FOH/CKYU/M5B1VQMA/FOHCKYUM5B1VQMA.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Fluffy Walking Robotic Dog (With Tail Wagging, Neck Articulation, and Realistic Decoration!)"><noscript><img  src="https://content.instructables.com/FOH/CKYU/M5B1VQMA/FOHCKYUM5B1VQMA.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Fluffy Walking Robotic Dog (With Tail Wagging, Neck Articulation, and Realistic Decoration!)"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Fluffy-Walking-Robotic-Dog-With-Tail-Wagging-Neck-/">Fluffy Walking Robotic Dog (With Tail Wagging, Neck Articulation, and Realistic Decoration!)</a></strong><span class="ible-author">
            by <a href="/member/xX_christopher_Xx/">xX_christopher_Xx</a></span><span class="ible-channel">
                in <a href="/living/toys-and-games/projects/">Toys &amp; Games</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        37
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    12K
                </span></span></div></div></div></div></div><div class="home-content-explore-category home-content-explore-category-outside clearfix"><a href="/outside/" class="home-content-explore-link"><h3><span class="anchor-text">Outside</span>&nbsp;<span class="icon-arrow-right"></span></h3></a><div class="home-content-explore-category-wrap "><div class="home-content-explore-ibles"><div class="home-content-explore-ible"><a href="/Homemade-Worm-Composter-for-a-Few-Bucks/"><img class="lazyload" data-src="https://content.instructables.com/FW5/5DPH/MA5DL4PQ/FW55DPHMA5DL4PQ.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Homemade Worm Composter (for a Few Bucks)"><noscript><img  src="https://content.instructables.com/FW5/5DPH/MA5DL4PQ/FW55DPHMA5DL4PQ.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Homemade Worm Composter (for a Few Bucks)"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Homemade-Worm-Composter-for-a-Few-Bucks/">Homemade Worm Composter (for a Few Bucks)</a></strong><span class="ible-author">
            by <a href="/member/Creative+Mom+CZ/">Creative Mom CZ</a></span><span class="ible-channel">
                in <a href="/outside/backyard/projects/">Backyard</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        66
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    4.6K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Bike-Helmet-Ear-Warmers/"><img class="lazyload" data-src="https://content.instructables.com/FHO/7RJB/M7T2LTWC/FHO7RJBM7T2LTWC.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Bike Helmet Ear Warmers"><noscript><img  src="https://content.instructables.com/FHO/7RJB/M7T2LTWC/FHO7RJBM7T2LTWC.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Bike Helmet Ear Warmers"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Bike-Helmet-Ear-Warmers/">Bike Helmet Ear Warmers</a></strong><span class="ible-author">
            by <a href="/member/fridator/">fridator</a></span><span class="ible-channel">
                in <a href="/craft/sewing/projects/">Sewing</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        57
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    6.4K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Cretaceous-Concrete/"><img class="lazyload" data-src="https://content.instructables.com/F3G/KVE5/M6NMVPL7/F3GKVE5M6NMVPL7.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Cretaceous Concrete"><noscript><img  src="https://content.instructables.com/F3G/KVE5/M6NMVPL7/F3GKVE5M6NMVPL7.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Cretaceous Concrete"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Cretaceous-Concrete/">Cretaceous Concrete</a></strong><span class="ible-author">
            by <a href="/member/Rob+Salmon/">Rob Salmon</a></span><span class="ible-channel">
                in <a href="/outside/backyard/projects/">Backyard</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        57
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    7.0K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Design-Your-Own-E-Bike-Upgrade/"><img class="lazyload" data-src="https://content.instructables.com/FMN/0CMW/M59MI5M3/FMN0CMWM59MI5M3.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Design Your Own E-Bike Upgrade"><noscript><img  src="https://content.instructables.com/FMN/0CMW/M59MI5M3/FMN0CMWM59MI5M3.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Design Your Own E-Bike Upgrade"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Design-Your-Own-E-Bike-Upgrade/">Design Your Own E-Bike Upgrade</a></strong><span class="ible-author">
            by <a href="/member/tylon22/">tylon22</a></span><span class="ible-channel">
                in <a href="/outside/bikes/projects/">Bikes</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        92
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    16K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/3D-Printed-Fishing-Lure-Rotating-Drying-Station/"><img class="lazyload" data-src="https://content.instructables.com/F3D/D6Z5/M4E6QW06/F3DD6Z5M4E6QW06.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="3D Printed Fishing Lure Rotating Drying Station"><noscript><img  src="https://content.instructables.com/F3D/D6Z5/M4E6QW06/F3DD6Z5M4E6QW06.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="3D Printed Fishing Lure Rotating Drying Station"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/3D-Printed-Fishing-Lure-Rotating-Drying-Station/">3D Printed Fishing Lure Rotating Drying Station</a></strong><span class="ible-author">
            by <a href="/member/3DMadeByLouis/">3DMadeByLouis</a></span><span class="ible-channel">
                in <a href="/outside/fishing/projects/">Fishing</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        40
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    11K
                </span></span></div></div></div></div></div><div class="home-content-explore-category home-content-explore-category-teachers clearfix"><a href="/teachers/" class="home-content-explore-link"><h3><span class="anchor-text">Teachers</span>&nbsp;<span class="icon-arrow-right"></span></h3></a><div class="home-content-explore-category-wrap "><div class="home-content-explore-ibles"><div class="home-content-explore-ible"><a href="/Robot-Friends-Easy-Robot-STEM-Project-for-Kids/"><img class="lazyload" data-src="https://content.instructables.com/F0V/44C9/MADY8H9A/F0V44C9MADY8H9A.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Robot Friends - Easy Robot STEM Project for Kids"><noscript><img  src="https://content.instructables.com/F0V/44C9/MADY8H9A/F0V44C9MADY8H9A.jpg?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Robot Friends - Easy Robot STEM Project for Kids"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Robot-Friends-Easy-Robot-STEM-Project-for-Kids/">Robot Friends - Easy Robot STEM Project for Kids</a></strong><span class="ible-author">
            by <a href="/member/LanceMakes/">LanceMakes</a></span><span class="ible-channel">
                in <a href="/teachers/projects/?groups=k-2">Grades K-2</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        54
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    4.8K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Tinkercad-Robotics-for-School-SIMLAB-KOMBAT-virtua/"><img class="lazyload" data-src="https://content.instructables.com/F29/A4XV/M6C7B9MU/F29A4XVM6C7B9MU.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Tinkercad Robotics for School: SIMLAB KOMBAT! (virtual Walking Robots Battle)"><noscript><img  src="https://content.instructables.com/F29/A4XV/M6C7B9MU/F29A4XVM6C7B9MU.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Tinkercad Robotics for School: SIMLAB KOMBAT! (virtual Walking Robots Battle)"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Tinkercad-Robotics-for-School-SIMLAB-KOMBAT-virtua/">Tinkercad Robotics for School: SIMLAB KOMBAT! (virtual Walking Robots Battle)</a></strong><span class="ible-author">
            by <a href="/member/M.C.+Langer/">M.C. Langer</a></span><span class="ible-channel">
                in <a href="/teachers/projects/?groups=6-8">Grades 6-8</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        53
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    6.3K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/ESP32-Edge-AI-Camera/"><img class="lazyload" data-src="https://content.instructables.com/FII/DAZD/M5GRM9I3/FIIDAZDM5GRM9I3.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="ESP32 Edge AI Camera"><noscript><img  src="https://content.instructables.com/FII/DAZD/M5GRM9I3/FIIDAZDM5GRM9I3.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="ESP32 Edge AI Camera"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/ESP32-Edge-AI-Camera/">ESP32 Edge AI Camera</a></strong><span class="ible-author">
            by <a href="/member/Mukesh_Sankhla/">Mukesh_Sankhla</a></span><span class="ible-channel">
                in <a href="/teachers/projects/?groups=university">University+</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        270
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    40K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/Creating-Perfectly-Looping-Animations-With-Python/"><img class="lazyload" data-src="https://content.instructables.com/FHX/0WS6/M3D1AJ62/FHX0WS6M3D1AJ62.webp?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="Creating Perfectly Looping Animations With Python"><noscript><img  src="https://content.instructables.com/FHX/0WS6/M3D1AJ62/FHX0WS6M3D1AJ62.webp?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="Creating Perfectly Looping Animations With Python"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/Creating-Perfectly-Looping-Animations-With-Python/">Creating Perfectly Looping Animations With Python</a></strong><span class="ible-author">
            by <a href="/member/i95sarmiento/">i95sarmiento</a></span><span class="ible-channel">
                in <a href="/teachers/projects/?groups=university">University+</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"><span class="contest-prize"><i title="Contest Winner" class="icon icon-contest"></i><a href="/"></a></span></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        216
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    19K
                </span></span></div></div><div class="home-content-explore-ible"><a href="/How-to-Use-Sockets-and-Joint-Connectors-in-Tinkerc/"><img class="lazyload" data-src="https://content.instructables.com/FLQ/7TQD/M10QBHNI/FLQ7TQDM10QBHNI.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" src="/assets/img/pixel.png" alt="How to Use Sockets and Joint Connectors in Tinkercad"><noscript><img  src="https://content.instructables.com/FLQ/7TQD/M10QBHNI/FLQ7TQDM10QBHNI.png?auto=webp&amp;crop=1.2%3A1&amp;frame=1&amp;width=306" alt="How to Use Sockets and Joint Connectors in Tinkercad"/></noscript></a><div class="home-content-explore-ible-info"><strong><a class="ible-title" href="/How-to-Use-Sockets-and-Joint-Connectors-in-Tinkerc/">How to Use Sockets and Joint Connectors in Tinkercad</a></strong><span class="ible-author">
            by <a href="/member/Penolopy+Bulnick/">Penolopy Bulnick</a></span><span class="ible-channel">
                in <a href="/design/3d-design/projects/">3D Design</a></span></div><div class="ible-stats"><span class="ible-stats-left-col ible-featured"></span><span class="ible-stats-right-col"><span class="ible-favorites"><i title="Favorites Count" class="icon icon-favorite"></i>
                        152
                    </span><span class="ible-views"><i title="Views Count" class="icon icon-views1"></i>
                    15K
                </span></span></div></div></div></div></div></div></div></div></main><footer id="footer" class="footer footer-desktop "><div class="footer-row footer-row-top"><div class="footer-robot robot-icon robot-icon-"></div><div class="footer-categories"><span class="title">Categories</span><ul class="footer-categories-links"><li class="circuits "><a href="/circuits/"><div class="category-icon icon-category-circuits"></div>Circuits
                            </a></li><li class="workshop "><a href="/workshop/"><div class="category-icon icon-category-workshop"></div>Workshop
                            </a></li><li class="craft "><a href="/craft/"><div class="category-icon icon-category-craft"></div>Craft
                            </a></li><li class="cooking "><a href="/cooking/"><div class="category-icon icon-category-cooking"></div>Cooking
                            </a></li><li class="living "><a href="/living/"><div class="category-icon icon-category-living"></div>Living
                            </a></li><li class="outside "><a href="/outside/"><div class="category-icon icon-category-outside"></div>Outside
                            </a></li><li class="teachers "><a href="/teachers/"><div class="category-icon icon-category-teachers"></div>Teachers
                            </a></li></ul></div><div class="footer-about-us"><span class="title">About Us</span><ul><li><a href="/about/">Who We Are</a></li><li><a href="/create/">Why Publish?</a></li></ul></div><div class="footer-resources"><span class="title">Resources</span><ul><li><a href="/Get-Started/">Get Started</a></li><li><a href="/help/">Help</a></li><li><a href="/sitemap/">Sitemap</a></li></ul></div><div class="footer-find-us"><span class="title">Find Us</span><ul><li><a class="instagram" href="https://www.instagram.com/instructables/" title="Instagram"><i class="svg-icon svg-share-instagram"></i></a></li><li><a class="tiktok" href="https://www.tiktok.com/@instructables" title="TikTok"><i class="svg-icon svg-share-tiktok"></i></a></li></ul></div></div><div class="footer-rule"><hr/></div><div class="footer-row footer-row-bottom"><div class="footer-links"><p>© 2025 Autodesk, Inc.</p><ul class="footer-links-list"><li><a href="https://www.autodesk.com/company/legal-notices-trademarks/terms-of-service-autodesk360-web-services/instructables-terms-of-service-june-5-2013" target="_blank">Terms of Service</a><span class="divider">|</span></li><li><a href="https://www.autodesk.com/company/legal-notices-trademarks/privacy-statement" target="_blank">Privacy Statement</a><span class="divider">|</span></li><li><a data-opt-in-preferences="">Privacy settings</a><span class="divider">|</span></li><li><a href="https://www.autodesk.com/company/legal-notices-trademarks" target="_blank">Legal Notices &amp; Trademarks</a></li></ul><a href="https://www.autodesk.com" class="adsk-logo" target="blank"><img alt="Autodesk" src="/assets/img/footer/autodesk-logo-primary-white.png"/></a></div></div></footer><script id="js-page-context" type="application/json">{"mobile":false,"accessCookie":"ibleAccess","sessionCookie":"JSESSIONID","loggedInCookie":"loggedIn","awsAlbCookie":"AWSALB","sourceCookie":"iblesource","userStorageKey":"ibleuser","remoteHost":"https://www.instructables.com","remoteRoot":"https://www.instructables.com/","staticRoot":"/assets/","facebookAppId":"140028286058792","recaptchaSiteKey":"6Le9TAwTAAAAADEB44pkYQS2fm7hroFthrNqnoAb","oauthCallbackUrl":"https://www.instructables.com/oauth/callback/","oauthGetAuthUrl":"https://www.instructables.com/oauth/getAuthUrl/","nativeApp":false,"disableEmailVerifyWidget":false,"cacheUrls":["https://www.instructables.com/","https://www.instructables.com/json-api/getHomepageFeatured?limit=5&category=circuits","https://www.instructables.com/json-api/getHomepageFeatured?limit=5&category=workshop&exclude=Lizard-3D-Printed-RC-Race-Car&exclude=The-SwarmTurret-Wifi-Controlled-Foam-Dart-Turret&exclude=Shadow-Clock-Projecting-Time-With-3D-Printing-and-&exclude=AI-powered-Dino-Toy-That-Teaches-Kids-Colors-and-S&exclude=A-Device-That-Simply-Turns-Pages","https://www.instructables.com/json-api/getHomepageFeatured?limit=5&category=craft&exclude=Lizard-3D-Printed-RC-Race-Car&exclude=The-SwarmTurret-Wifi-Controlled-Foam-Dart-Turret&exclude=Shadow-Clock-Projecting-Time-With-3D-Printing-and-&exclude=AI-powered-Dino-Toy-That-Teaches-Kids-Colors-and-S&exclude=Chaos-Table&exclude=Pinwheel-Charcuterie-Board&exclude=How-I-Built-My-OWN-Electric-Guitar-Ibanez-Style&exclude=A-Device-That-Simply-Turns-Pages&exclude=OpenShower-One-Place-for-Sensations-Sophistication&exclude=Quadcopter-Landing-Pad-With-Telescoping-Legs-for-U","https://www.instructables.com/json-api/getHomepageFeatured?limit=5&category=cooking&exclude=Lizard-3D-Printed-RC-Race-Car&exclude=The-SwarmTurret-Wifi-Controlled-Foam-Dart-Turret&exclude=Shadow-Clock-Projecting-Time-With-3D-Printing-and-&exclude=AI-powered-Dino-Toy-That-Teaches-Kids-Colors-and-S&exclude=Harry-Potters-Hogwarts-Library-Book&exclude=Chaos-Table&exclude=Pinwheel-Charcuterie-Board&exclude=How-I-Built-My-OWN-Electric-Guitar-Ibanez-Style&exclude=A-Device-That-Simply-Turns-Pages&exclude=OpenShower-One-Place-for-Sensations-Sophistication&exclude=How-to-Make-a-DIY-Radio-Controlled-Soda-Can-Airpla&exclude=Turn-an-Old-Hat-Into-a-Regency-Bonnet&exclude=Simple-Canvas-Backpack&exclude=DIY-Inkle-Loom-From-IKEA-Parts&exclude=Quadcopter-Landing-Pad-With-Telescoping-Legs-for-U","https://www.instructables.com/json-api/getHomepageFeatured?limit=5&category=living&exclude=Lizard-3D-Printed-RC-Race-Car&exclude=Harry-Potters-Hogwarts-Library-Book&exclude=How-I-Built-My-OWN-Electric-Guitar-Ibanez-Style&exclude=Jello-Roll-Ups&exclude=Realistic-Coconut-Cookies&exclude=Turn-an-Old-Hat-Into-a-Regency-Bonnet&exclude=The-SwarmTurret-Wifi-Controlled-Foam-Dart-Turret&exclude=Choux-Au-Craquelin-Homemade-Cream-Puffs&exclude=A-Device-That-Simply-Turns-Pages&exclude=JELLO-Jellyfish-Aquarium&exclude=OpenShower-One-Place-for-Sensations-Sophistication&exclude=Strawberry-Lava-Filled-Chocolate-Crinkle-Cookies-i&exclude=Simple-Canvas-Backpack&exclude=AI-powered-Dino-Toy-That-Teaches-Kids-Colors-and-S&exclude=Chaos-Table&exclude=Pinwheel-Charcuterie-Board&exclude=DIY-Inkle-Loom-From-IKEA-Parts&exclude=How-to-Make-a-DIY-Radio-Controlled-Soda-Can-Airpla&exclude=Shadow-Clock-Projecting-Time-With-3D-Printing-and-&exclude=Quadcopter-Landing-Pad-With-Telescoping-Legs-for-U","https://www.instructables.com/json-api/getHomepageFeatured?limit=5&category=outside&exclude=Lizard-3D-Printed-RC-Race-Car&exclude=Harry-Potters-Hogwarts-Library-Book&exclude=Fluffy-Walking-Robotic-Dog-With-Tail-Wagging-Neck-&exclude=How-I-Built-My-OWN-Electric-Guitar-Ibanez-Style&exclude=Jello-Roll-Ups&exclude=Realistic-Coconut-Cookies&exclude=Turn-an-Old-Hat-Into-a-Regency-Bonnet&exclude=The-SwarmTurret-Wifi-Controlled-Foam-Dart-Turret&exclude=Choux-Au-Craquelin-Homemade-Cream-Puffs&exclude=A-Device-That-Simply-Turns-Pages&exclude=JELLO-Jellyfish-Aquarium&exclude=OpenShower-One-Place-for-Sensations-Sophistication&exclude=Strawberry-Lava-Filled-Chocolate-Crinkle-Cookies-i&exclude=Simple-Canvas-Backpack&exclude=Mid-Century-Modern-Styled-Laser-Cut-Pendant-Light-&exclude=AI-powered-Dino-Toy-That-Teaches-Kids-Colors-and-S&exclude=Chaos-Table&exclude=Pinwheel-Charcuterie-Board&exclude=Amazing-Sweet-Leaf-Herb-100-Natural-Healthy-Zero-C&exclude=DIY-Inkle-Loom-From-IKEA-Parts&exclude=How-to-Make-a-DIY-Radio-Controlled-Soda-Can-Airpla&exclude=Assistive-Typing-Tools-for-Amputated-Fingers-Desig&exclude=Shadow-Clock-Projecting-Time-With-3D-Printing-and-&exclude=LumiTrap-3D-Printed-Solar-UV-Bug-Trap-for-Eco-Frie&exclude=Quadcopter-Landing-Pad-With-Telescoping-Legs-for-U","https://www.instructables.com/json-api/getHomepageFeatured?limit=5&category=teachers&exclude=Lizard-3D-Printed-RC-Race-Car&exclude=Harry-Potters-Hogwarts-Library-Book&exclude=Fluffy-Walking-Robotic-Dog-With-Tail-Wagging-Neck-&exclude=How-I-Built-My-OWN-Electric-Guitar-Ibanez-Style&exclude=Bike-Helmet-Ear-Warmers&exclude=Jello-Roll-Ups&exclude=Realistic-Coconut-Cookies&exclude=Turn-an-Old-Hat-Into-a-Regency-Bonnet&exclude=The-SwarmTurret-Wifi-Controlled-Foam-Dart-Turret&exclude=3D-Printed-Fishing-Lure-Rotating-Drying-Station&exclude=Choux-Au-Craquelin-Homemade-Cream-Puffs&exclude=A-Device-That-Simply-Turns-Pages&exclude=JELLO-Jellyfish-Aquarium&exclude=OpenShower-One-Place-for-Sensations-Sophistication&exclude=Cretaceous-Concrete&exclude=Strawberry-Lava-Filled-Chocolate-Crinkle-Cookies-i&exclude=Simple-Canvas-Backpack&exclude=Mid-Century-Modern-Styled-Laser-Cut-Pendant-Light-&exclude=Design-Your-Own-E-Bike-Upgrade&exclude=AI-powered-Dino-Toy-That-Teaches-Kids-Colors-and-S&exclude=Chaos-Table&exclude=Pinwheel-Charcuterie-Board&exclude=Homemade-Worm-Composter-for-a-Few-Bucks&exclude=Amazing-Sweet-Leaf-Herb-100-Natural-Healthy-Zero-C&exclude=DIY-Inkle-Loom-From-IKEA-Parts&exclude=How-to-Make-a-DIY-Radio-Controlled-Soda-Can-Airpla&exclude=Assistive-Typing-Tools-for-Amputated-Fingers-Desig&exclude=Shadow-Clock-Projecting-Time-With-3D-Printing-and-&exclude=LumiTrap-3D-Printed-Solar-UV-Bug-Trap-for-Eco-Frie&exclude=Quadcopter-Landing-Pad-With-Telescoping-Legs-for-U"],"extraCacheUrls":[],"commitInfo":{"git_hash":"5df74b6940","commit_message":"Merge pull request #1603 from instructables/IN-8203-indicate-ties"},"cdnUrlUserContent":"https://content.instructables.com","cdnUrlInternal":"https://content.instructables.com","cdnUrls":["https://content.instructables.com","https://content.instructables.com","https://content.instructables.com"],"xhrTimeoutMilliseconds":30000.0,"imageFileExtensions":["jpg","jpeg","gif","png","bmp"],"uploadableFileTypes":["bmp","gif","img","jpg","jpeg","pct","pict","png","raw","tif","tiff","avi","mov","mpg","mpeg","mp4","ogg","ram","webm","wmv","3gp","aaf","aif","aiff","mp3","wav","ai","apk","asc","asy","bat","brd","c","cdr","cpp","crw","csv","dru","dwg","dxf","eps","fzz","f3d","g","gco","gcode","gz","h","hex","iam","indd","ino","ipt","key","lbr","m3u","pde","pdf","psd","py","rtfsch","skp","sldprt","step","stl","studio2","studio3","sub","svg","swf","txt","visuino","vsd","wpr","xml","3mf"],"collectionLimit":300,"typesenseProxy":"/api_proxy/search","typesenseApiKey":"aVRXWEZhelk3RlYway94RVRCUk5kdmhjRzc3VGF6RW1UVVIxSXdvWlh3ST02ZWFYeyJleGNsdWRlX2ZpZWxkcyI6Im91dF9vZixzZWFyY2hfdGltZV9tcyxzdGVwQm9keSIsInBlcl9wYWdlIjo2MH0=","countries":[["US","United States"],["AF","Afghanistan"],["AL","Albania"],["DZ","Algeria"],["AS","American Samoa"],["AD","Andorra"],["AO","Angola"],["AI","Anguilla"],["AQ","Antarctica"],["AG","Antigua and Barbuda"],["AR","Argentina"],["AM","Armenia"],["AW","Aruba"],["AU","Australia"],["AT","Austria"],["AZ","Azerbaijan"],["BS","Bahamas"],["BH","Bahrain"],["BD","Bangladesh"],["BB","Barbados"],["BE","Belgium"],["BZ","Belize"],["BJ","Benin"],["BM","Bermuda"],["BT","Bhutan"],["BO","Bolivia"],["BQ","Bonaire, Sint Eustatius and Saba"],["BA","Bosnia and Herzegovina"],["BW","Botswana"],["BV","Bouvet Island"],["BR","Brazil"],["IO","British Indian Ocean Territory"],["BN","Brunei Darussalam"],["BG","Bulgaria"],["BF","Burkina Faso"],["BI","Burundi"],["CV","Cabo Verde"],["KH","Cambodia"],["CM","Cameroon"],["CA","Canada"],["KY","Cayman Islands"],["CF","Central African Republic"],["TD","Chad"],["CL","Chile"],["CN","China"],["CX","Christmas Island"],["CC","Cocos (Keeling) Islands"],["CO","Colombia"],["KM","Comoros"],["CG","Congo"],["CD","Congo, The Democratic Republic of the"],["CK","Cook Islands"],["CR","Costa Rica"],["HR","Croatia"],["CW","Cura\u00e7ao"],["CY","Cyprus"],["CZ","Czechia"],["CI","C\u00f4te d'Ivoire"],["DK","Denmark"],["DJ","Djibouti"],["DM","Dominica"],["DO","Dominican Republic"],["EC","Ecuador"],["EG","Egypt"],["SV","El Salvador"],["GQ","Equatorial Guinea"],["ER","Eritrea"],["EE","Estonia"],["SZ","Eswatini"],["ET","Ethiopia"],["FK","Falkland Islands (Malvinas)"],["FO","Faroe Islands"],["FJ","Fiji"],["FI","Finland"],["FR","France"],["GF","French Guiana"],["PF","French Polynesia"],["TF","French Southern Territories"],["GA","Gabon"],["GM","Gambia"],["GE","Georgia"],["DE","Germany"],["GH","Ghana"],["GI","Gibraltar"],["GR","Greece"],["GL","Greenland"],["GD","Grenada"],["GP","Guadeloupe"],["GU","Guam"],["GT","Guatemala"],["GG","Guernsey"],["GN","Guinea"],["GW","Guinea-Bissau"],["GY","Guyana"],["HT","Haiti"],["HM","Heard Island and McDonald Islands"],["VA","Holy See (Vatican City State)"],["HN","Honduras"],["HK","Hong Kong"],["HU","Hungary"],["IS","Iceland"],["IN","India"],["ID","Indonesia"],["IQ","Iraq"],["IE","Ireland"],["IM","Isle of Man"],["IL","Israel"],["IT","Italy"],["JM","Jamaica"],["JP","Japan"],["JE","Jersey"],["JO","Jordan"],["KZ","Kazakhstan"],["KE","Kenya"],["KI","Kiribati"],["KW","Kuwait"],["KG","Kyrgyzstan"],["LA","Laos"],["LV","Latvia"],["LB","Lebanon"],["LS","Lesotho"],["LR","Liberia"],["LY","Libya"],["LI","Liechtenstein"],["LT","Lithuania"],["LU","Luxembourg"],["MO","Macao"],["MG","Madagascar"],["MW","Malawi"],["MY","Malaysia"],["MV","Maldives"],["ML","Mali"],["MT","Malta"],["MH","Marshall Islands"],["MQ","Martinique"],["MR","Mauritania"],["MU","Mauritius"],["YT","Mayotte"],["MX","Mexico"],["FM","Micronesia, Federated States of"],["MD","Moldova"],["MC","Monaco"],["MN","Mongolia"],["ME","Montenegro"],["MS","Montserrat"],["MA","Morocco"],["MZ","Mozambique"],["MM","Myanmar"],["NA","Namibia"],["NR","Nauru"],["NP","Nepal"],["NL","Netherlands"],["NC","New Caledonia"],["NZ","New Zealand"],["NI","Nicaragua"],["NE","Niger"],["NG","Nigeria"],["NU","Niue"],["NF","Norfolk Island"],["MK","North Macedonia"],["MP","Northern Mariana Islands"],["NO","Norway"],["OM","Oman"],["PK","Pakistan"],["PW","Palau"],["PS","Palestine, State of"],["PA","Panama"],["PG","Papua New Guinea"],["PY","Paraguay"],["PE","Peru"],["PH","Philippines"],["PN","Pitcairn"],["PL","Poland"],["PT","Portugal"],["PR","Puerto Rico"],["QA","Qatar"],["RO","Romania"],["RW","Rwanda"],["RE","R\u00e9union"],["BL","Saint Barth\u00e9lemy"],["SH","Saint Helena, Ascension and Tristan da Cunha"],["KN","Saint Kitts and Nevis"],["LC","Saint Lucia"],["MF","Saint Martin (French part)"],["PM","Saint Pierre and Miquelon"],["VC","Saint Vincent and the Grenadines"],["WS","Samoa"],["SM","San Marino"],["ST","Sao Tome and Principe"],["SA","Saudi Arabia"],["SN","Senegal"],["RS","Serbia"],["SC","Seychelles"],["SL","Sierra Leone"],["SG","Singapore"],["SX","Sint Maarten (Dutch part)"],["SK","Slovakia"],["SI","Slovenia"],["SB","Solomon Islands"],["SO","Somalia"],["ZA","South Africa"],["GS","South Georgia and the South Sandwich Islands"],["KR","South Korea"],["SS","South Sudan"],["ES","Spain"],["LK","Sri Lanka"],["SD","Sudan"],["SR","Suriname"],["SJ","Svalbard and Jan Mayen"],["SE","Sweden"],["CH","Switzerland"],["TW","Taiwan"],["TJ","Tajikistan"],["TZ","Tanzania"],["TH","Thailand"],["TL","Timor-Leste"],["TG","Togo"],["TK","Tokelau"],["TO","Tonga"],["TT","Trinidad and Tobago"],["TN","Tunisia"],["TM","Turkmenistan"],["TC","Turks and Caicos Islands"],["TV","Tuvalu"],["TR","T\u00fcrkiye"],["UG","Uganda"],["UA","Ukraine"],["AE","United Arab Emirates"],["GB","United Kingdom"],["UM","United States Minor Outlying Islands"],["UY","Uruguay"],["UZ","Uzbekistan"],["VU","Vanuatu"],["VE","Venezuela"],["VN","Vietnam"],["VG","Virgin Islands, British"],["VI","Virgin Islands, U.S."],["WF","Wallis and Futuna"],["EH","Western Sahara"],["YE","Yemen"],["ZM","Zambia"],["ZW","Zimbabwe"],["AX","\u00c5land Islands"]],"ineligibleCountries":[["AR","Argentina"],["BR","Brazil"],["IT","Italy"],["PL","Poland"],["RO","Romania"],["TR","T\u00fcrkiye"]],"featureFlags":{"get_help":true,"disable_amp":true},"announcementPage":"HOMEPAGE"}</script><script>/*! head.load - v2.0.0 */
!function(e,t){"use strict";var n,a,r=e.document,o=[],u=[],c={},l={},i="async"in r.createElement("script")||"MozAppearance"in r.documentElement.style||e.opera,s=e.head_conf&&e.head_conf.head||"head",d=e[s]=e[s]||function(){d.ready.apply(null,arguments)},f=1,p=2,y=3,m=4;function h(){}function v(e,t){if(e){"object"==typeof e&&(e=[].slice.call(e));for(var n=0,a=e.length;n<a;n++)t.call(e,e[n],n)}}function g(e,n){var a=Object.prototype.toString.call(n).slice(8,-1);return n!==t&&null!==n&&a===e}function E(e){return g("Function",e)}function L(e){return g("Array",e)}function T(e){(e=e||h)._done||(e(),e._done=1)}function b(e){var t,n,a,r,o={};if("object"==typeof e)for(var u in e)e[u]&&(o={name:u,url:e[u]});else o={name:(t=e,n=t.split("/"),a=n[n.length-1],r=a.indexOf("?"),-1!==r?a.substring(0,r):a),url:e};var c=l[o.name];return c&&c.url===o.url?c:(l[o.name]=o,o)}function j(e){for(var t in e=e||l)if(e.hasOwnProperty(t)&&e[t].state!==m)return!1;return!0}function A(e,n){e.state===t&&(e.state=f,e.onpreload=[],M({url:e.url,type:"cache"},(function(){!function(e){e.state=p,v(e.onpreload,(function(e){e.call()}))}(e)})))}function S(e,t){t=t||h,e.state!==m?e.state!==y?e.state!==f?(e.state=y,M(e,(function(){e.state=m,t(),v(c[e.name],(function(e){T(e)})),a&&j()&&v(c.ALL,(function(e){T(e)}))}))):e.onpreload.push((function(){S(e,t)})):d.ready(e.name,t):t()}function M(t,n){var a;n=n||h,/\.css[^\.]*$/.test(t.url)?((a=r.createElement("link")).type="text/"+(t.type||"css"),a.rel="stylesheet",a.href=t.url):((a=r.createElement("script")).type="text/"+(t.type||"javascript"),a.src=t.url),a.onload=a.onreadystatechange=function(t){("load"===(t=t||e.event).type||/loaded|complete/.test(a.readyState)&&(!r.documentMode||r.documentMode<9))&&(a.onload=a.onreadystatechange=a.onerror=null,n())},a.onerror=function(t){t=t||e.event,a.onload=a.onreadystatechange=a.onerror=null,n()},a.async=!1,a.defer=!1;var o=r.head||r.getElementsByTagName("head")[0];o.insertBefore(a,o.lastChild)}function O(){if(!r.body)return e.clearTimeout(d.readyTimeout),void(d.readyTimeout=e.setTimeout(O,50));a||(a=!0,function(){for(var e=r.getElementsByTagName("script"),t=0,n=e.length;t<n;t++){var a=e[t].getAttribute("data-headjs-load");if(a)return void d.load(a)}}(),v(o,(function(e){T(e)})))}function k(){r.addEventListener?(r.removeEventListener("DOMContentLoaded",k,!1),O()):"complete"===r.readyState&&(r.detachEvent("onreadystatechange",k),O())}if("complete"===r.readyState)O();else if(r.addEventListener)r.addEventListener("DOMContentLoaded",k,!1),e.addEventListener("load",O,!1);else{r.attachEvent("onreadystatechange",k),e.attachEvent("onload",O);var _=!1;try{_=!e.frameElement&&r.documentElement}catch(e){}_&&_.doScroll&&function t(){if(!a){try{_.doScroll("left")}catch(n){return e.clearTimeout(d.readyTimeout),void(d.readyTimeout=e.setTimeout(t,50))}O()}}()}d.load=d.js=i?function(){var e=arguments,t=e[e.length-1],n={};return E(t)||(t=null),L(e[0])?(e[0].push(t),d.load.apply(null,e[0]),d):(v(e,(function(e,a){e!==t&&(e=b(e),n[e.name]=e)})),v(e,(function(e,a){e!==t&&S(e=b(e),(function(){j(n)&&T(t)}))})),d)}:function(){var e=arguments,t=[].slice.call(e,1),a=t[0];return n?(a?(v(t,(function(e){!E(e)&&e&&A(b(e))})),S(b(e[0]),E(a)?a:function(){d.load.apply(null,t)})):S(b(e[0])),d):(u.push((function(){d.load.apply(null,e)})),d)},d.test=function(e,t,n,a){var r="object"==typeof e?e:{test:e,success:!!t&&(L(t)?t:[t]),failure:!!n&&(L(n)?n:[n]),callback:a||h},o=!!r.test;return o&&r.success?(r.success.push(r.callback),d.load.apply(null,r.success)):!o&&r.failure?(r.failure.push(r.callback),d.load.apply(null,r.failure)):a(),d},d.ready=function(e,t){if(e===r)return a?T(t):o.push(t),d;if(E(e)&&(t=e,e="ALL"),L(e)){var n={};return v(e,(function(e){n[e]=l[e],d.ready(e,(function(){j(n)&&T(t)}))})),d}if("string"!=typeof e||!E(t))return d;var u=l[e];if(u&&u.state===m||"ALL"===e&&j()&&a)return T(t),d;var i=c[e];return i?i.push(t):i=c[e]=[t],d},d.ready(r,(function(){n&&j()&&v(c.ALL,(function(e){T(e)})),d.feature&&d.feature("domloaded",!0)})),setTimeout((function(){n=!0,v(u,(function(e){e()}))}),300)}(window);</script><script type="text/javascript">
        loadJS(["/assets/BUNDLES/home_desktop_js.min.js?c=5df74b6940"], function(){
            new Ibles.views.HomeView({el:'#home-container'});
        });
    </script><script>
    // redirect if framed and browser does not respect CSP
    if (window.self !== window.top) window.top.location = window.self.location

    

    deferJS(function() {
        
        window.globalScripts = !Ibles.isLoggedIn ?
            ["/assets/BUNDLES/global_desktop_logged_out_bs2_js.min.js?c=5df74b6940"]:
            ["/assets/BUNDLES/global_desktop_logged_in_bs2_js.min.js?c=5df74b6940"];
        

        head.load(globalScripts.concat(pageScripts), function(){
            execCallbackQueue(loadJsQueue, loadJS);
        });
    });
</script><script type="text/javascript">
    window.run6Sense = false;
    (function(a,b,c,d){
        a='https://tags.tiqcdn.com/utag/autodesk/micro-basic/prod/utag.js';
        b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true;
        a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a);
    })();
</script></body></html>