Friday, April 26, 2024

How to upload music to Spotify so you can listen to your own tunes everywhere

Share

(window.NREUM||(NREUM={})).loader_config={xpid:”VgYPWFNWGwAEXFNQAQQPVA==”};window.NREUM||(NREUM={}),__nr_require=function(t,n,e){function r(e){if(!n[e]){var o=n[e]={exports:{}};t[e][0].call(o.exports,function(n){var o=t[e][1][n];return r(o||n)},o,o.exports)}return n[e].exports}if(“function”==typeof __nr_require)return __nr_require;for(var o=0;o0&&(p-=1)}),s.on(“internal-error”,function(t){i(“ierr”,[t,c.now(),!0])})},{}],3:[function(t,n,e){t(“loader”).features.ins=!0},{}],4:[function(t,n,e){function r(t){}if(window.performance&&window.performance.timing&&window.performance.getEntriesByType){var o=t(“ee”),i=t(“handle”),a=t(8),s=t(7),c=”learResourceTimings”,f=”addEventListener”,u=”resourcetimingbufferfull”,d=”bstResource”,l=”resource”,p=”-start”,h=”-end”,m=”fn”+p,w=”fn”+h,v=”bstTimer”,y=”pushState”,g=t(“loader”);g.features.stn=!0,t(6);var x=NREUM.o.EV;o.on(m,function(t,n){var e=t[0];e instanceof x&&(this.bstStart=g.now())}),o.on(w,function(t,n){var e=t[0];e instanceof x&&i(“bst”,[e,n,this.bstStart,g.now()])}),a.on(m,function(t,n,e){this.bstStart=g.now(),this.bstType=e}),a.on(w,function(t,n){i(v,[n,this.bstStart,g.now(),this.bstType])}),s.on(m,function(){this.bstStart=g.now()}),s.on(w,function(t,n){i(v,[n,this.bstStart,g.now(),”requestAnimationFrame”])}),o.on(y+p,function(t){this.time=g.now(),this.startPath=location.pathname+location.hash}),o.on(y+h,function(t){i(“bstHist”,[location.pathname+location.hash,this.startPath,this.time])}),f in window.performance&&(window.performance[“c”+c]?window.performance[f](u,function(t){i(d,[window.performance.getEntriesByType(l)]),window.performance[“c”+c]()},!1):window.performance[f](“webkit”+u,function(t){i(d,[window.performance.getEntriesByType(l)]),window.performance[“webkitC”+c]()},!1)),document[f](“scroll”,r,{passive:!0}),document[f](“keypress”,r,!1),document[f](“click”,r,!1)}},{}],5:[function(t,n,e){function r(t){for(var n=t;n&&!n.hasOwnProperty(u);)n=Object.getPrototypeOf(n);n&&o(n)}function o(t){s.inPlace(t,[u,d],”-“,i)}function i(t,n){return t[1]}var a=t(“ee”).get(“events”),s=t(21)(a,!0),c=t(“gos”),f=XMLHttpRequest,u=”addEventListener”,d=”removeEventListener”;n.exports=a,”getPrototypeOf”in Object?(r(document),r(window),r(f.prototype)):f.prototype.hasOwnProperty(u)&&(o(window),o(f.prototype)),a.on(u+”-start”,function(t,n){var e=t[1],r=c(e,”nr@wrapped”,function(){function t(){if(“function”==typeof e.handleEvent)return e.handleEvent.apply(e,arguments)}var n={object:t,”function”:e}[typeof e];return n?s(n,”fn-“,null,n.name||”anonymous”):e});this.wrapped=t[1]=r}),a.on(d+”-start”,function(t){t[1]=this.wrapped||t[1]})},{}],6:[function(t,n,e){var r=t(“ee”).get(“history”),o=t(21)(r);n.exports=r;var i=window.history&&window.history.constructor&&window.history.constructor.prototype,a=window.history;i&&i.pushState&&i.replaceState&&(a=i),o.inPlace(a,[“pushState”,”replaceState”],”-“)},{}],7:[function(t,n,e){var r=t(“ee”).get(“raf”),o=t(21)(r),i=”equestAnimationFrame”;n.exports=r,o.inPlace(window,[“r”+i,”mozR”+i,”webkitR”+i,”msR”+i],”raf-“),r.on(“raf-start”,function(t){t[0]=o(t[0],”fn-“)})},{}],8:[function(t,n,e){function r(t,n,e){t[0]=a(t[0],”fn-“,null,e)}function o(t,n,e){this.method=e,this.timerDuration=isNaN(t[1])?0:+t[1],t[0]=a(t[0],”fn-“,this,e)}var i=t(“ee”).get(“timer”),a=t(21)(i),s=”setTimeout”,c=”setInterval”,f=”clearTimeout”,u=”-start”,d=”-“;n.exports=i,a.inPlace(window,[s,”setImmediate”],s+d),a.inPlace(window,[c],c+d),a.inPlace(window,[f,”clearImmediate”],f+d),i.on(c+u,r),i.on(s+u,o)},{}],9:[function(t,n,e){function r(t,n){d.inPlace(n,[“onreadystatechange”],”fn-“,s)}function o(){var t=this,n=u.context(t);t.readyState>3&&!n.resolved&&(n.resolved=!0,u.emit(“xhr-resolved”,[],t)),d.inPlace(t,y,”fn-“,s)}function i(t){g.push(t),h&&(b?b.then(a):w?w(a):(E=-E,R.data=E))}function a(){for(var t=0;t<g.length;t++)r([],g[t]);g.length&&(g=[])}function s(t,n){return n}function c(t,n){for(var e in t)n[e]=t[e];return n}t(5);var f=t("ee"),u=f.get("xhr"),d=t(21)(u),l=NREUM.o,p=l.XHR,h=l.MO,m=l.PR,w=l.SI,v="readystatechange",y=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],g=[];n.exports=u;var x=window.XMLHttpRequest=function(t){var n=new p(t);try{u.emit("new-xhr",[n],n),n.addEventListener(v,o,!1)}catch(e){try{u.emit("internal-error",[e])}catch(r){}}return n};if(c(p,x),x.prototype=p.prototype,d.inPlace(x.prototype,["open","send"],"-xhr-",s),u.on("send-xhr-start",function(t,n){r(t,n),i(n)}),u.on("open-xhr-start",r),h){var b=m&&m.resolve();if(!w&&!m){var E=1,R=document.createTextNode(E);new h(a).observe(R,{characterData:!0})}}else f.on("fn-end",function(t){t[0]&&t[0].type===v||a()})},{}],10:[function(t,n,e){function r(){var t=window.NREUM,n=t.info.accountID||null,e=t.info.agentID||null,r=t.info.trustKey||null,i="btoa"in window&&"function"==typeof window.btoa;if(!n||!e||!i)return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:e,id:o.generateCatId(),tr:o.generateCatId(),ti:Date.now()}};return r&&n!==r&&(a.d.tk=r),btoa(JSON.stringify(a))}var o=t(16);n.exports={generateTraceHeader:r}},{}],11:[function(t,n,e){function r(t){var n=this.params,e=this.metrics;if(!this.ended){this.ended=!0;for(var r=0;r

34||m<10)||window.opera||t.addEventListener("progress",function(t){n.lastSize=t.loaded},!1)}),d.on("open-xhr-start",function(t){this.params={method:t[0]},i(this,t[1]),this.metrics={}}),d.on("open-xhr-end",function(t,n){"loader_config"in NREUM&&"xpid"in NREUM.loader_config&&this.sameOrigin&&n.setRequestHeader("X-NewRelic-ID",NREUM.loader_config.xpid);var e=!1;if("init"in NREUM&&"distributed_tracing"in NREUM.init&&(e=!!NREUM.init.distributed_tracing.enabled),e&&this.sameOrigin){var r=u();r&&n.setRequestHeader("newrelic",r)}}),d.on("send-xhr-start",function(t,n){var e=this.metrics,r=t[0],o=this;if(e&&r){var i=w(r);i&&(e.txSize=i)}this.startTime=s.now(),this.listener=function(t){try{"abort"!==t.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==t.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof n.onload))&&o.end(n)}catch(e){try{d.emit("internal-error",[e])}catch(r){}}};for(var a=0;a<p;a++)n.addEventListener(l[a],this.listener,!1)}),d.on("xhr-cb-time",function(t,n,e){this.cbTime+=t,n?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof e.onload||this.end(e)}),d.on("xhr-load-added",function(t,n){var e=""+h(t)+!!n;this.xhrGuids&&!this.xhrGuids[e]&&(this.xhrGuids[e]=!0,this.totalCbs+=1)}),d.on("xhr-load-removed",function(t,n){var e=""+h(t)+!!n;this.xhrGuids&&this.xhrGuids[e]&&(delete this.xhrGuids[e],this.totalCbs-=1)}),d.on("addEventListener-end",function(t,n){n instanceof v&&"load"===t[0]&&d.emit("xhr-load-added",[t[1],t[2]],n)}),d.on("removeEventListener-end",function(t,n){n instanceof v&&"load"===t[0]&&d.emit("xhr-load-removed",[t[1],t[2]],n)}),d.on("fn-start",function(t,n,e){n instanceof v&&("onload"===e&&(this.onload=!0),("load"===(t[0]&&t[0].type)||this.onload)&&(this.xhrCbStart=s.now()))}),d.on("fn-end",function(t,n){this.xhrCbStart&&d.emit("xhr-cb-time",[s.now()-this.xhrCbStart,this.onload,n],n)})}},{}],12:[function(t,n,e){n.exports=function(t){var n=document.createElement("a"),e=window.location,r={};n.href=t,r.port=n.port;var o=n.href.split("://");!r.port&&o[1]&&(r.port=o[1].split("/")[0].split("@").pop().split(":")[1]),r.port&&"0"!==r.port||(r.port="https"===o[0]?"443":"80"),r.hostname=n.hostname||e.hostname,r.pathname=n.pathname,r.protocol=o[0],"/"!==r.pathname.charAt(0)&&(r.pathname="/"+r.pathname);var i=!n.protocol||":"===n.protocol||n.protocol===e.protocol,a=n.hostname===document.domain&&n.port===e.port;return r.sameOrigin=i&&(!n.hostname||a),r}},{}],13:[function(t,n,e){function r(){}function o(t,n,e){return function(){return i(t,[f.now()].concat(s(arguments)),n?null:this,e),n?void 0:this}}var i=t("handle"),a=t(18),s=t(19),c=t("ee").get("tracer"),f=t("loader"),u=NREUM;"undefined"==typeof window.newrelic&&(newrelic=u);var d=["setPageViewName","setCustomAttribute","setErrorHandler","finished","addToTrace","inlineHit","addRelease"],l="api-",p=l+"ixn-";a(d,function(t,n){u[n]=o(l+n,!0,"api")}),u.addPageAction=o(l+"addPageAction",!0),u.setCurrentRouteName=o(l+"routeName",!0),n.exports=newrelic,u.interaction=function(){return(new r).get()};var h=r.prototype={createTracer:function(t,n){var e={},r=this,o="function"==typeof n;return i(p+"tracer",[f.now(),t,e],r),function(){if(c.emit((o?"":"no-")+"fn-start",[f.now(),r,o],e),o)try{return n.apply(this,arguments)}catch(t){throw c.emit("fn-err",[arguments,this,t],e),t}finally{c.emit("fn-end",[f.now()],e)}}}};a("actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","),function(t,n){h[n]=o(p+n)}),newrelic.noticeError=function(t,n){"string"==typeof t&&(t=new Error(t)),i("err",[t,f.now(),!1,n])}},{}],14:[function(t,n,e){n.exports=function(t){if("string"==typeof t&&t.length)return t.length;if("object"==typeof t){if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer&&t.byteLength)return t.byteLength;if("undefined"!=typeof Blob&&t instanceof Blob&&t.size)return t.size;if(!("undefined"!=typeof FormData&&t instanceof FormData))try{return JSON.stringify(t).length}catch(n){return}}}},{}],15:[function(t,n,e){var r=0,o=navigator.userAgent.match(/Firefox[/s](d+.d+)/);o&&(r=+o[1]),n.exports=r},{}],16:[function(t,n,e){function r(){function t(){return n?15&n[e++]:16*Math.random()|0}var n=null,e=0,r=window.crypto||window.msCrypto;r&&r.getRandomValues&&(n=r.getRandomValues(new Uint8Array(31)));for(var o,i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx",a="",s=0;s<i.length;s++)o=i[s],"x"===o?a+=t().toString(16):"y"===o?(o=3&t()|8,a+=o.toString(16)):a+=o;return a}function o(){function t(){return n?15&n[e++]:16*Math.random()|0}var n=null,e=0,r=window.crypto||window.msCrypto;r&&r.getRandomValues&&Uint8Array&&(n=r.getRandomValues(new Uint8Array(31)));for(var o=[],i=0;i<16;i++)o.push(t().toString(16));return o.join("")}n.exports={generateUuid:r,generateCatId:o}},{}],17:[function(t,n,e){function r(t,n){if(!o)return!1;if(t!==o)return!1;if(!n)return!0;if(!i)return!1;for(var e=i.split("."),r=n.split("."),a=0;a<r.length;a++)if(r[a]!==e[a])return!1;return!0}var o=null,i=null,a=/Version/(S+)s+Safari/;if(navigator.userAgent){var s=navigator.userAgent,c=s.match(a);c&&s.indexOf("Chrome")===-1&&s.indexOf("Chromium")===-1&&(o="Safari",i=c[1])}n.exports={agent:o,version:i,match:r}},{}],18:[function(t,n,e){function r(t,n){var e=[],r="",i=0;for(r in t)o.call(t,r)&&(e[i]=n(r,t[r]),i+=1);return e}var o=Object.prototype.hasOwnProperty;n.exports=r},{}],19:[function(t,n,e){function r(t,n,e){n||(n=0),"undefined"==typeof e&&(e=t?t.length:0);for(var r=-1,o=e-n||0,i=Array(o<0?0:o);++r<o;)i[r]=t[n+r];return i}n.exports=r},{}],20:[function(t,n,e){n.exports={exists:"undefined"!=typeof window.performance&&window.performance.timing&&"undefined"!=typeof window.performance.timing.navigationStart}},{}],21:[function(t,n,e){function r(t){return!(t&&t instanceof Function&&t.apply&&!t[a])}var o=t("ee"),i=t(19),a="nr@original",s=Object.prototype.hasOwnProperty,c=!1;n.exports=function(t,n){function e(t,n,e,o){function nrWrapper(){var r,a,s,c;try{a=this,r=i(arguments),s="function"==typeof e?e(r,a):e||{}}catch(f){l([f,"",[r,a,o],s])}u(n+"start",[r,a,o],s);try{return c=t.apply(a,r)}catch(d){throw u(n+"err",[r,a,d],s),d}finally{u(n+"end",[r,a,c],s)}}return r(t)?t:(n||(n=""),nrWrapper[a]=t,d(t,nrWrapper),nrWrapper)}function f(t,n,o,i){o||(o="");var a,s,c,f="-"===o.charAt(0);for(c=0;c<n.length;c++)s=n[c],a=t[s],r(a)||(t[s]=e(a,f?s+o:o,i,s))}function u(e,r,o){if(!c||n){var i=c;c=!0;try{t.emit(e,r,o,n)}catch(a){l([a,e,r,o])}c=i}}function d(t,n){if(Object.defineProperty&&Object.keys)try{var e=Object.keys(t);return e.forEach(function(e){Object.defineProperty(n,e,{get:function(){return t[e]},set:function(n){return t[e]=n,n}})}),n}catch(r){l([r])}for(var o in t)s.call(t,o)&&(n[o]=t[o]);return n}function l(n){try{t.emit("internal-error",n)}catch(e){}}return t||(t=o),e.inPlace=f,e.flag=a,e}},{}],ee:[function(t,n,e){function r(){}function o(t){function n(t){return t&&t instanceof r?t:t?c(t,s,i):i()}function e(e,r,o,i){if(!l.aborted||i){t&&t(e,r,o);for(var a=n(o),s=m(e),c=s.length,f=0;f<c;f++)s[f].apply(a,r);var d=u[g[e]];return d&&d.push([x,e,r,a]),a}}function p(t,n){y[t]=m(t).concat(n)}function h(t,n){var e=y[t];if(e)for(var r=0;r<e.length;r++)e[r]===n&&e.splice(r,1)}function m(t){return y[t]||[]}function w(t){return d[t]=d[t]||o(e)}function v(t,n){f(t,function(t,e){n=n||"feature",g[e]=n,n in u||(u[n]=[])})}var y={},g={},x={on:p,addEventListener:p,removeEventListener:h,emit:e,get:w,listeners:m,context:n,buffer:v,abort:a,aborted:!1};return x}function i(){return new r}function a(){(u.api||u.feature)&&(l.aborted=!0,u=l.backlog={})}var s="nr@context",c=t("gos"),f=t(18),u={},d={},l=n.exports=o();l.backlog=u},{}],gos:[function(t,n,e){function r(t,n,e){if(o.call(t,n))return t[n];var r=e();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(t,n,{value:r,writable:!0,enumerable:!1}),r}catch(i){}return t[n]=r,r}var o=Object.prototype.hasOwnProperty;n.exports=r},{}],handle:[function(t,n,e){function r(t,n,e,r){o.buffer([t],r),o.emit(t,n,e)}var o=t("ee").get("handle");n.exports=r,r.ee=o},{}],id:[function(t,n,e){function r(t){var n=typeof t;return!t||"object"!==n&&"function"!==n?-1:t===window?0:a(t,i,function(){return o++})}var o=1,i="nr@id",a=t("gos");n.exports=r},{}],loader:[function(t,n,e){function r(){if(!E++){var t=b.info=NREUM.info,n=p.getElementsByTagName("script")[0];if(setTimeout(u.abort,3e4),!(t&&t.licenseKey&&t.applicationID&&n))return u.abort();f(g,function(n,e){t[n]||(t[n]=e)}),c("mark",["onload",a()+b.offset],null,"api");var e=p.createElement("script");e.src="https://"+t.agent,n.parentNode.insertBefore(e,n)}}function o(){"complete"===p.readyState&&i()}function i(){c("mark",["domContent",a()+b.offset],null,"api")}function a(){return R.exists&&performance.now?Math.round(performance.now()):(s=Math.max((new Date).getTime(),s))-b.offset}var s=(new Date).getTime(),c=t("handle"),f=t(18),u=t("ee"),d=t(17),l=window,p=l.document,h="addEventListener",m="attachEvent",w=l.XMLHttpRequest,v=w&&w.prototype;NREUM.o={ST:setTimeout,SI:l.setImmediate,CT:clearTimeout,XHR:w,REQ:l.Request,EV:l.Event,PR:l.Promise,MO:l.MutationObserver};var y=""+location,g={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-1130.min.js"},x=w&&v&&v[h]&&!/CriOS/.test(navigator.userAgent),b=n.exports={offset:s,now:a,origin:y,features:{},xhrWrappable:x,userAgent:d};t(13),p[h]?(p[h]("DOMContentLoaded",i,!1),l[h]("load",r,!1)):(p[m]("onreadystatechange",o),l[m]("onload",r)),c("mark",["firstbyte",s],null,"api");var E=0,R=t(20)},{}]},{},["loader",2,11,4,3]);


How to Upload Music to Spotify So You Can Listen to Your Own Tunes Everywhere | Digital Trends

/*! sanitize.css v8.0.0 | CC0 License | github.com/csstools/sanitize.css */*,:after,:before{background-repeat:no-repeat;box-sizing:border-box}:after,:before{text-decoration:inherit;vertical-align:inherit}html{cursor:default;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.15;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;word-break:break-word}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{height:0;overflow:visible}main{display:block}nav ol,nav ul{list-style:none}pre{font-family:Menlo,Consolas,Roboto Mono,Ubuntu Monospace,Noto Mono,Oxygen Mono,Liberation Mono,monospace;font-size:1em}a{background-color:transparent}abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:Menlo,Consolas,Roboto Mono,Ubuntu Monospace,Noto Mono,Oxygen Mono,Liberation Mono,monospace;font-size:1em}small{font-size:80%}::-moz-selection{background-color:#b3d4fc;color:#000;text-shadow:none}::selection{background-color:#b3d4fc;color:#000;text-shadow:none}audio,canvas,iframe,img,svg,video{vertical-align:middle}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not([fill]){fill:currentColor}svg:not(:root){overflow:hidden}table{border-collapse:collapse}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button,input,select{margin:0}button{overflow:visible;text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}fieldset{padding:.35em .75em .625em}input{overflow:visible}legend{color:inherit;display:table;max-width:100%;white-space:normal}progress{display:inline-block;vertical-align:baseline}select{text-transform:none}textarea{margin:0;overflow:auto;resize:vertical}[type=checkbox],[type=radio]{padding:0}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}details,dialog{display:block}dialog{background-color:#fff;border:solid;color:#000;height:-moz-fit-content;height:-webkit-fit-content;height:fit-content;left:0;margin:auto;padding:1em;position:absolute;right:0;width:-moz-fit-content;width:-webkit-fit-content;width:fit-content}dialog:not([open]){display:none}summary{display:list-item}canvas{display:inline-block}template{display:none}[tabindex],a,area,button,input,label,select,summary,textarea{touch-action:manipulation}[hidden]{display:none}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true],[disabled]{cursor:not-allowed}[aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);display:inherit;position:absolute}.dt-clamp{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.dt-clamp-1{-webkit-line-clamp:1}.dt-clamp-2{-webkit-line-clamp:2}.dt-clamp-3{-webkit-line-clamp:3}.dt-clamp-4{-webkit-line-clamp:4}.dt-clamp-5{-webkit-line-clamp:5}.dt-clamp-6{-webkit-line-clamp:6}.dt-clamp-7{-webkit-line-clamp:7}.dt-clamp-8{-webkit-line-clamp:8}.dt-clamp-9{-webkit-line-clamp:9}.dt-clamp-10{-webkit-line-clamp:10}.dt-image-n{-o-object-position:center top;object-position:center top}.dt-image-ne{-o-object-position:right top;object-position:right top}.dt-image-e{-o-object-position:right center;object-position:right center}.dt-image-se{-o-object-position:right bottom;object-position:right bottom}.dt-image-s{-o-object-position:center bottom;object-position:center bottom}.dt-image-sw{-o-object-position:left bottom;object-position:left bottom}.dt-image-w{-o-object-position:left center;object-position:left center}.dt-image-nw{-o-object-position:left top;object-position:left top}img.dt-lazy-loading,img.dt-lazy-pending{background-color:#000;opacity:.04}img.dt-lazy-pending{height:0!important;min-height:0!important;padding-bottom:56.25%!important}img.dt-lazy-loaded{opacity:1;transition:opacity .7s cubic-bezier(.465,.183,.153,.946)}.dtvideos-container{background-color:#000;position:relative;z-index:1}.dtvideos-container .video-js{left:0;position:absolute;top:0}.dtvideos-lazy .vjs-big-play-button{display:none!important}.dtvideos-lazy-trigger{background-size:cover;bottom:0;position:absolute;top:0;width:100%}.dtvideos-lazy-play{background:hsla(0,0%,100%,.84);border-radius:50%;height:100px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:100px;z-index:3}.dtvideos-lazy-play:before{display:block;height:0;width:0;border-bottom:17px solid transparent;border-left:30px solid #0095da;border-top:17px solid transparent;content:””;left:50%;position:absolute;top:50%;transform:translate(-11px,-50%);z-index:4}.vjs-ad-controls.vjs-ad-playing.vjs-vpaid-playing .vjs-control-bar.vjs-ad-control-bar{display:flex!important;transform:none!important}.video-js{height:100%;left:0;position:absolute;top:0;width:100%}.dt-video-graphic{background-color:#ececec;line-height:0;position:relative}.dt-video-graphic .dtvideos-aspect{display:none}.dt-video-graphic .video-js,.dt-video-graphic>*,.dt-video-graphic video{height:auto!important;line-height:0;max-width:100%!important;position:relative!important;width:100%!important}.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-mute-control,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-volume-control,.video-js.vjs-layout-small:not(.vjs-fullscreen) .vjs-volume-panel{display:flex}.dtads-slot{background:transparent;position:relative;text-align:center}.dt-is-adfree .dtads-slot{display:none!important}.dtads-slot>*{max-width:100vw}.dtads-slot.solid{background:#ececec}.dtads-slot.callout{padding:30px 0}.dtads-slot.callout:before{color:#bebebe;content:”ADVERTISEMENT”;font-size:10px;height:30px;left:0;line-height:30px;position:absolute;right:0;top:0}.dtads-slot.dtads-out-of-page{height:0;margin:0;max-height:0;max-width:0;overflow:hidden;padding:0}.dtads-slot.dtads-slot-hub,.dtads-slot.dtads-slot-leaderboard{min-height:90px;max-height:90px;left:50%;transform:translateX(-50%);width:100vw;z-index:1}.dtads-slot.dtads-slot-hub.callout,.dtads-slot.dtads-slot-leaderboard.callout{min-height:150px;max-height:150px}.dtads-slot.is-hub{background:transparent!important}.dtads-slot.is-hub iframe{width:100vw!important}.dtads-slot.dtads-slot-atn,.dtads-slot.dtads-slot-atn-tablet{min-height:90px;max-height:90px;overflow:hidden}.dtads-slot.dtads-slot-hub-mobile,.dtads-slot.dtads-slot-mpu{min-height:250px;max-height:250px;overflow:hidden}.dtads-slot.dtads-is-rendered{max-height:none!important}.dtads-desktop,.dtads-mobile,.dtads-tablet{display:none!important}@media (max-width:609px){.dtads-mobile{display:block!important}}@media (min-width:610px) and (max-width:999px){.dtads-tablet{display:block!important}}@media (min-width:1000px){.dtads-desktop{display:block!important}}#wpadminbar{border-bottom:1px solid #4e4e4e!important;position:relative!important;z-index:5000002!important}@font-face{font-display:swap;font-family:Gotham Narrow;src:url(/wp-content/themes/dt-stardust/assets/fonts/GothamNarrSSm-Light_Web.woff2) format(“woff2”),url(/wp-content/themes/dt-stardust/assets/fonts/GothamNarrSSm-Light_Web.woff) format(“woff”);font-weight:400;font-style:normal}@font-face{font-display:swap;font-family:Gotham Narrow;src:url(/wp-content/themes/dt-stardust/assets/fonts/GothamNarrSSm-Bold_Web.woff2) format(“woff2”),url(/wp-content/themes/dt-stardust/assets/fonts/GothamNarrSSm-Bold_Web.woff) format(“woff”);font-weight:700;font-style:normal}@-webkit-keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}body,html{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}body{background:#f5f5f5;color:#252a40;font-family:Gotham Narrow,-apple-system,Segoe UI,system-ui,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;line-height:1;min-height:100%;overflow-x:hidden}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}fieldset{border:0;margin:0;padding:0}button,input[type=button],input[type=reset],input[type=submit]{background-color:transparent;background-image:none;border:0;border-radius:0;color:inherit;cursor:pointer;font:inherit;line-height:normal;overflow:visible;padding:0;text-align:left;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:button}a,button,input,select,textarea{outline-color:#0095da}a:active,button:active,input:active,select:active,textarea:active{outline:none}ol,ul{list-style-type:none;padding:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{font-size:1em;font-weight:inherit}figure,h1,h2,h3,h4,h5,h6,iframe,li,ol,p,ul{margin:0}cite{font-style:normal}@media (max-width:320px){body,html{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:subpixel-antialiased}}.is-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.is-hidden{display:none}.b-anterior{background:#000;padding:20px 0}.b-anterior–atn,.b-anterior–empty{padding:0}@media (max-width:609px){.b-anterior{display:none}}.b-byline{display:block;font-size:3.6vw;font-weight:700;line-height:1.2592593}.b-byline__authors+.b-byline__time{margin-left:2.2222222em}@media (min-width:610px){.b-byline{font-size:15px;line-height:1.2666667}.b-byline__authors+.b-byline__time{margin-left:1.2em}}.b-content{color:#252a40;font-size:3.8666667vw;line-height:1.5172414}.b-content a,.b-content a:active,.b-content a:hover{color:#0095da;text-decoration:underline;-webkit-text-decoration-color:#0095da;text-decoration-color:#0095da}.b-content strong{font-weight:700}.b-content em{font-style:italic}.b-content>ol,.b-content>p,.b-content>ul{margin:1.5172414em 0;padding-right:2.6666667vw}.b-content>ol:first-child,.b-content>p:first-child,.b-content>ul:first-child{margin-top:0}.b-content>ol:last-child,.b-content>p:last-child,.b-content>ul:last-child{margin-bottom:0}.b-content>ol,.b-content>ul{margin:2.2758621em 0 2.2758621em 2.0689655em}.b-content>ol li:not(:first-child),.b-content>ul li:not(:first-child){margin-top:.7586207em}.b-content>ul{list-style-type:square}.b-content>ol{list-style-type:decimal}.b-content h1{color:#ff69b4}.b-content>h2{color:#0095da}.b-content>h2,.b-content>h3,.b-content>h4,.b-content>h5,.b-content>h6{font-size:4.5333333vw;font-weight:700;line-height:1.2941176;margin:3.2352941em 0 1.2941176em}.b-content>h2 strong,.b-content>h3 strong,.b-content>h4 strong,.b-content>h5 strong,.b-content>h6 strong{font-weight:inherit!important}.b-content>h2+h2,.b-content>h2+h3,.b-content>h3+h2,.b-content>h3+h3{margin-top:0}.b-content>*{margin:11.7333333vw 0;max-width:100%}.b-content>:first-child{margin-top:0}.b-content>:last-child{margin-bottom:0}.b-content img{display:block;height:auto;max-width:100%}.b-content img.dt-lazy-pending{padding-bottom:66.666667%!important}.b-content img.size-full{width:auto}.b-content figure+figure{margin-top:-5.8666667vw}.b-content .size-large,.b-content .size-xlarge,.b-content .size-xxlarge,.b-content>iframe{width:100%}.b-content img.size-full.dt-lazy-pending{max-width:100%;width:1000px}.b-content .aligncenter,.b-content .fb-post,.b-content .fb-video,.b-content .twitter-tweet-rendered{display:block;margin-left:auto;margin-right:auto}.b-content .instagram-media{display:block;margin-left:auto!important;margin-right:auto!important}.b-content .simplePullQuote,.b-content>blockquote{color:#0095da;float:none!important;font-size:4.5333333vw;font-style:italic;line-height:1.2941176;margin:2.5882353em 0;max-width:100%;padding:0 .8823529em}.b-content .wp-caption-text{font-size:3.6vw;line-height:1.6296296;width:100%}.b-content .wp-caption-text .text{background:#0095da;color:#f5f5f5;display:block;padding:1.2222222em 1.1111111em}.b-content .wp-caption-text .text a{color:inherit;text-decoration:underline}.b-content .wp-caption-text ul{margin-top:.8148148em}.b-content .wp-caption-text li{display:inline-block}.b-content .wp-caption-text li .num{font-weight:700}.b-content .wp-caption-text li:not(:last-child){margin-right:1.2em}.b-content .wp-caption-text .credit{color:#0095da;display:block;margin-top:.8148148em}.b-content .gallery{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.b-content .gallery .gallery-caption{line-height:normal}.b-content .gallery .gallery-item{width:calc(50% – 2.5px);margin-top:5px;overflow:hidden}.b-content .gallery .gallery-item:nth-child(-n+2){margin-top:0}.b-content .gallery .gallery-item img{min-width:100%}.b-content .table-wrap{overflow:auto}.b-content table{width:100%!important;height:auto!important}.b-content table.aligncenter{display:table}.b-content tr.aligncenter{display:table-row;margin:0}.b-content td.aligncenter,.b-content tr.aligncenter td{display:table-cell;margin:0;text-align:center}.b-content td.alignleft,.b-content tr.alignleft td{float:none!important;margin:0!important;text-align:left}.b-content td.alignright,.b-content tr.alignright td{float:none!important;margin:0!important;text-align:right}.b-content table.styled{border-collapse:separate;border-spacing:2px 0;font-size:3.6vw;line-height:1.6296296}.b-content table.styled .key,.b-content table.styled th{font-weight:700}.b-content table.styled td{background:#f5f5f5;color:#252a40;padding:.8148148em 1em;vertical-align:top}.b-content table.styled thead{font-size:3.8666667vw;padding:.7586207em 1em}.b-content table.styled tbody tr.odd td,.b-content table.styled tbody tr:nth-child(odd) td,.b-content table.styled thead{background:#ededed;color:#1f2436}.b-content .is-zoomable{cursor:zoom-in}.b-content>.b-heading{margin-bottom:2.9333333vw}.b-content>.b-heading+*{margin-top:0}.b-content>.b-snippet+.b-snippet{margin-top:-8.8vw}.b-content .m-affiliate-event .dtcc-affiliate–widget{margin-top:2.9333333vw}.b-content .dtads-slot{margin:30px 0;max-width:none}@media (max-width:609px){.b-content{margin-left:4vw;margin-right:4vw}.b-content img.size-full{margin-left:auto;margin-right:auto}.b-content img.size-medium,.b-content img.size-thumbnail{width:100%}.b-content .size-large-wrap+.wp-caption-text,.b-content .size-xlarge-wrap+.wp-caption-text,.b-content .size-xxlarge-wrap+.wp-caption-text,.b-content img.size-large,.b-content img.size-large+.wp-caption-text,.b-content img.size-xlarge,.b-content img.size-xlarge+.wp-caption-text,.b-content img.size-xxlarge,.b-content img.size-xxlarge+.wp-caption-text{margin-left:-4vw;max-width:none;width:calc(100% + 8vw)}.b-content .size-large-wrap+.wp-caption-text .credit,.b-content .size-xlarge-wrap+.wp-caption-text .credit,.b-content .size-xxlarge-wrap+.wp-caption-text .credit,.b-content img.size-large+.wp-caption-text .credit,.b-content img.size-xlarge+.wp-caption-text .credit,.b-content img.size-xxlarge+.wp-caption-text .credit{margin-left:4vw}.b-content>.b-blurb{margin-left:-4vw;margin-right:-4vw;max-width:100vw}.b-content .m-aff-buttons{display:flex;flex-direction:column}.b-content .m-aff-buttons .m-aff-button:not(:first-child){margin-top:2.9333333vw}.b-content .dtads-slot{margin-left:-4vw;margin-right:-4vw}}@media (min-width:610px){.b-content{font-size:17px;line-height:1.4117647}.b-content>ol,.b-content>p,.b-content>ul{margin:1.4117647em 0;padding-right:10px}.b-content>ol,.b-content>ul{margin:2.1176471em 0 2.1176471em 2.3529412em}.b-content>ol li,.b-content>ul li{margin-top:.7058824em}.b-content>h2{font-size:22px;line-height:1.6363636}.b-content>h3,.b-content>h4,.b-content>h5,.b-content>h6{font-size:19px;line-height:1.2631579}.b-content>h2,.b-content>h3,.b-content>h4,.b-content>h5,.b-content>h6{margin:3.1578947em 0 1.2631579em}.b-content>*{margin:48px 0}.b-content figure+figure{margin-top:-24px}.b-content .size-medium,.b-content .size-thumbnail{width:1000px;max-width:50%}.b-content .alignleft .size-medium,.b-content .alignleft .size-thumbnail,.b-content .alignright .size-medium,.b-content .alignright .size-thumbnail{max-width:100%}.b-content .alignleft,.b-content .left{clear:both;float:left;margin:0 36px 24px 0;max-width:50%}.b-content .alignright,.b-content .right,.b-content>.dtcc-affiliate–widget{clear:both;float:right;margin:0 0 24px 36px;max-width:50%}.b-content .simplePullQuote,.b-content>blockquote{font-size:22px;line-height:1.6363636;margin:2.1818182em 0;max-width:100%;padding:0 .9090909em}.b-content .wp-caption-text{font-size:15px;line-height:1.6}.b-content .wp-caption-text .text{padding:1.2em 1.3333333em}.b-content .wp-caption-text .credit{margin-top:.8em}.b-content .alignleft .wp-caption-text .text,.b-content .alignright .wp-caption-text .text{background:transparent;color:#252a40;font-weight:700;margin-top:.4em;padding:0}.b-content .alignleft .wp-caption-text .credit,.b-content .alignright .wp-caption-text .credit{margin-top:0}.b-content .gallery.gallery-columns-3 .gallery-item{width:calc(33.33333% – 3.33333px);margin-top:5px}.b-content .gallery.gallery-columns-3 .gallery-item:nth-child(-n+3){margin-top:0}.b-content .gallery.gallery-columns-4 .gallery-item{width:calc(25% – 3.75px);margin-top:5px}.b-content .gallery.gallery-columns-4 .gallery-item:nth-child(-n+4){margin-top:0}.b-content .gallery.gallery-columns-5 .gallery-item{width:calc(20% – 4px);margin-top:5px}.b-content .gallery.gallery-columns-5 .gallery-item:nth-child(-n+5){margin-top:0}.b-content table.styled{font-size:12px;line-height:2}.b-content table.styled td{padding:1em}.b-content table.styled thead{font-size:13.5px;padding:.8888889em 1em}.b-content>.b-heading{margin-bottom:12px}.b-content>.b-snippet+.b-snippet{margin-top:-36px}.b-content .m-aff-buttons{text-align:center}.b-content .m-aff-buttons .m-aff-button{vertical-align:top}.b-content .m-aff-buttons .m-aff-button:not(:last-child){margin-bottom:12px;margin-right:12px}.b-content .m-aff-buttons_left{text-align:left}.b-content .m-aff-buttons_right{text-align:right}.b-content .m-affiliate-event{display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:36px}.b-content .m-affiliate-event .dtcc-affiliate–widget{margin-top:12px;width:300px}}@media (min-width:920px){.dt-single:not(.is-skinned) .b-content .dtads-slot{left:460px}}@media (min-width:1280px){.dt-single .b-content .dtads-slot{left:460px}}@media (min-width:1230px){html:not(.no-cssgrid) .dt-body:not(.is-skinned) .b-content .size-xlarge-wrap+.wp-caption-text,html:not(.no-cssgrid) .dt-body:not(.is-skinned) .b-content .size-xxlarge-wrap+.wp-caption-text,html:not(.no-cssgrid) .dt-body:not(.is-skinned) .b-content img.size-xlarge,html:not(.no-cssgrid) .dt-body:not(.is-skinned) .b-content img.size-xlarge+.wp-caption-text,html:not(.no-cssgrid) .dt-body:not(.is-skinned) .b-content img.size-xxlarge,html:not(.no-cssgrid) .dt-body:not(.is-skinned) .b-content img.size-xxlarge+.wp-caption-text{max-width:none;margin-left:-160px;width:calc(100% + 310px)}html:not(.no-cssgrid) .dt-body:not(.is-skinned) .b-content .dtads-slot{left:50%}}@media (min-width:1590px){html:not(.no-cssgrid) .dt-body .b-content .size-xlarge-wrap+.wp-caption-text,html:not(.no-cssgrid) .dt-body .b-content .size-xxlarge-wrap+.wp-caption-text,html:not(.no-cssgrid) .dt-body .b-content img.size-xlarge,html:not(.no-cssgrid) .dt-body .b-content img.size-xlarge+.wp-caption-text,html:not(.no-cssgrid) .dt-body .b-content img.size-xxlarge,html:not(.no-cssgrid) .dt-body .b-content img.size-xxlarge+.wp-caption-text{max-width:none;margin-left:-160px;width:calc(100% + 310px)}html:not(.no-cssgrid) .dt-body .b-content .dtads-slot{left:50%}}.b-grid>*{max-width:100vw}.b-grid__ad–full{overflow:visible!important}.b-grid__heading:last-child{display:none}@media (max-width:609px){.b-grid>:not(:first-child){margin-top:2.6666667vw}.b-grid__placard{display:none}.b-grid__placard–injected{display:block}}@media (min-width:610px){.b-grid{display:grid;grid-auto-flow:dense;grid-auto-rows:minmax(55px,-webkit-max-content);grid-auto-rows:minmax(55px,max-content);grid-column-gap:10px;grid-row-gap:10px;grid-template-columns:repeat(auto-fill,300px)}.b-grid__cols2,.b-grid__cols4{grid-column-end:span 2}.b-grid__rows1{grid-row-start:span 1;height:55px;min-height:55px}.b-grid__rows2{grid-row-start:span 2;height:120px;min-height:120px}.b-grid__rows3{grid-row-start:span 3;height:185px;min-height:185px}.b-grid__rows4{grid-row-start:span 4;height:250px;min-height:250px}.b-grid__rows5{grid-row-start:span 5;height:315px;min-height:315px}.b-grid__rows6{grid-row-start:span 6;height:380px;min-height:380px}.b-grid__rows7{grid-row-start:span 7;height:445px;min-height:445px}.b-grid__rows8{grid-row-start:span 8;height:510px;min-height:510px}.b-grid__rows9{grid-row-start:span 9;height:575px;min-height:575px}.b-grid__rows10{grid-row-start:span 10;height:640px;min-height:640px}.b-grid__rows11{grid-row-start:span 11;height:705px;min-height:705px}.b-grid__rows12{grid-row-start:span 12;height:770px;min-height:770px}.b-grid__rows13{grid-row-start:span 13;height:835px;min-height:835px}.b-grid__rows14{grid-row-start:span 14;height:900px;min-height:900px}.b-grid__rows15{grid-row-start:span 15;height:965px;min-height:965px}.b-grid__rows16{grid-row-start:span 16;height:1030px;min-height:1030px}.b-grid__rows17{grid-row-start:span 17;height:1095px;min-height:1095px}.b-grid__rows18{grid-row-start:span 18;height:1160px;min-height:1160px}.b-grid__rows19{grid-row-start:span 19;height:1225px;min-height:1225px}.b-grid__rows20{grid-row-start:span 20;height:1290px;min-height:1290px}.b-grid__rows21{grid-row-start:span 21;height:1355px;min-height:1355px}.b-grid__rows22{grid-row-start:span 22;height:1420px;min-height:1420px}.b-grid__rows23{grid-row-start:span 23;height:1485px;min-height:1485px}.b-grid__rows24{grid-row-start:span 24;height:1550px;min-height:1550px}.b-grid__auto{grid-row-start:span 1;height:auto}.b-grid__unlocked{min-height:0!important}html.no-cssgrid .b-grid{display:flex;flex-wrap:wrap;justify-content:space-between}html.no-cssgrid .b-grid>*{margin-bottom:10px}html.no-cssgrid .b-grid__cols1{width:300px}html.no-cssgrid .b-grid__cols2,html.no-cssgrid .b-grid__cols4{width:610px}}@media (min-width:1230px){html:not(.no-cssgrid) .dt-body:not(.is-skinned) .b-grid__cols4{grid-column-end:span 4}}@media (min-width:1590px){html:not(.no-cssgrid) .dt-body .b-grid__cols4{grid-column-end:span 4}}.b-headline{color:#252a40;font-size:3.8666667vw;line-height:1.3103448}.b-headline__crumbs{font-weight:700;margin-bottom:1.3103448em}.b-headline__title{color:#0095da;font-size:6.6666667vw;line-height:1.14}.b-headline__sub-title{color:#0095da;font-size:4.5333333vw;line-height:1.1176471;margin-top:1.1176471em}.b-headline__byline.b-headline__byline{font-size:3.6vw;line-height:1.4074074;margin-top:2.1111111em}@media (min-width:610px){.b-headline{font-size:17px;line-height:1.2941176}.b-headline__crumbs{font-size:19px;line-height:1.1578947;margin-bottom:1.7368421em}.b-headline__title{font-size:36px;line-height:1.2222222;padding-right:3%}.b-headline__sub-title{font-size:19px;line-height:1.16;margin-top:1.1578947em;padding-right:3%}.b-headline__byline.b-headline__byline{font-size:15px;line-height:1.4666667;margin-top:1.4666667em}}@media (max-width:609px){.b-headline{margin-left:4vw;margin-right:4vw}}.b-page__inner{margin:8vw 0}.b-page__paging{margin-top:8vw}.b-page–skinned__left,.b-page–skinned__right{display:none}@media (min-width:1010px){.b-page–skinned{display:flex}.b-page–skinned__left,.b-page–skinned__right{display:block;flex-grow:1;z-index:10}.b-page–skinned__left{margin-right:200px}.b-page–skinned__right{margin-left:200px}}@media (min-width:1280px){.dt-single .b-page–skinned__left{margin-right:45px}.dt-single .b-page–skinned__right{margin-left:45px}}@media (min-width:1590px){.b-page–skinned__left{margin-right:20px}.b-page–skinned__right{margin-left:20px}}@media (max-width:609px){.b-page__grid>.b-flyer:first-child{margin-top:-8vw}}@media (min-width:610px){.b-page__inner{margin:40px auto;width:610px}.b-page__paging{margin-top:75px}}@media (min-width:920px){.dt-single:not(.is-skinned) .b-page__inner{width:920px}}@media (min-width:1280px){.dt-single .b-page__inner{width:920px}}@media (min-width:1230px){html:not(.no-cssgrid) .dt-body:not(.is-skinned) .b-page__inner{width:1230px}}@media (min-width:1590px){html:not(.no-cssgrid) .dt-body .b-page__inner{width:1230px}}.b-sidebar{flex-direction:column}.b-sidebar__decoy,.b-sidebar__static,.b-sidebar__sticky{width:300px}.b-sidebar__static{position:absolute}.b-sidebar__track{flex:1;margin-top:700px;position:relative}.b-sidebar__decoy,.b-sidebar__sticky{height:250px;position:-webkit-sticky;position:sticky;top:65px}.b-sidebar__decoy{margin-bottom:-250px;opacity:0;pointer-events:none}.b-sidebar__sticky.is-frozen{position:absolute;left:0}.b-single__sidebar{display:none}.b-single__social{margin-top:5.8666667vw}.b-single__content,.b-single__grid{margin-top:11.7333333vw}@media (min-width:610px){.b-single__social{margin-top:24px}.b-single__content,.b-single__grid{margin-top:48px}}@media (min-width:920px){.dt-single:not(.is-skinned) .b-single{min-height:860px;padding-right:310px;position:relative}.dt-single:not(.is-skinned) .b-single__sidebar{bottom:0;display:flex;position:absolute;right:0;top:0;width:300px}}@media (min-width:1280px){.dt-single .b-single{min-height:860px;padding-right:310px;position:relative}.dt-single .b-single__sidebar{bottom:0;display:flex;position:absolute;right:0;top:0;width:300px}}@media (min-width:1230px){html:not(.no-cssgrid) .dt-body:not(.is-skinned) .b-single{padding-left:310px}}@media (min-width:1590px){html:not(.no-cssgrid) .dt-body .b-single{padding-left:310px}}.m-site-head{background-color:#272727;color:#f7f7f7;font-size:14px;height:45px;position:-webkit-sticky;position:sticky;top:0;z-index:5000001}.m-site-head>*{display:none}
!function(t,e){“object”==typeof exports&&”undefined”!=typeof module?module.exports=e():”function”==typeof define&&define.amd?define(e):t.ES6Promise=e()}(this,function(){“use strict”;function t(t){return”function”==typeof t}function e(){var t=setTimeout;return function(){return t(n,1)}}function n(){for(var t=0;t<_;t+=2){(0,E[t])(E[t+1]),E[t]=void 0,E[t+1]=void 0}_=0}function r(t,e){var n=this,r=new this.constructor(i);void 0===r[M]&&v(r);var o=n._state;if(o){var s=arguments[o-1];b(function(){return p(o,r,s,n._result)})}else l(n,r,t,e);return r}function o(t){if(t&&"object"==typeof t&&t.constructor===this)return t;var e=new this(i);return u(e,t),e}function i(){}function s(e,n,i){n.constructor===e.constructor&&i===r&&n.constructor.resolve===o?function(t,e){e._state===x?a(t,e._result):e._state===C?f(t,e._result):l(e,void 0,function(e){return u(t,e)},function(e){return f(t,e)})}(e,n):void 0===i?a(e,n):t(i)?function(t,e,n){b(function(t){var r=!1,o=function(t,e,n,r){try{t.call(e,n,r)}catch(t){return t}}(n,e,function(n){r||(r=!0,e!==n?u(t,n):a(t,n))},function(e){r||(r=!0,f(t,e))},t._label);!r&&o&&(r=!0,f(t,o))},t)}(e,n,i):a(e,n)}function u(t,e){if(t===e)f(t,new TypeError("You cannot resolve a promise with itself"));else if(function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}(e)){var n=void 0;try{n=e.then}catch(e){return void f(t,e)}s(t,e,n)}else a(t,e)}function c(t){t._onerror&&t._onerror(t._result),h(t)}function a(t,e){t._state===P&&(t._result=e,t._state=x,0!==t._subscribers.length&&b(h,t))}function f(t,e){t._state===P&&(t._state=C,t._result=e,b(c,t))}function l(t,e,n,r){var o=t._subscribers,i=o.length;t._onerror=null,o[i]=e,o[i+x]=n,o[i+C]=r,0===i&&t._state&&b(h,t)}function h(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var r=void 0,o=void 0,i=t._result,s=0;s<e.length;s+=3)r=e[s],o=e[s+n],r?p(n,r,o,i):o(i);t._subscribers.length=0}}function p(e,n,r,o){var i=t(r),s=void 0,c=void 0,l=!0;if(i){try{s=r(o)}catch(t){l=!1,c=t}if(n===s)return void f(n,new TypeError("A promises callback cannot return that same promise."))}else s=o;n._state!==P||(i&&l?u(n,s):!1===l?f(n,c):e===x?a(n,s):e===C&&f(n,s))}function v(t){t[M]=O++,t._state=void 0,t._result=void 0,t._subscribers=[]}var d=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},_=0,y=void 0,m=void 0,b=function(t,e){E[_]=t,E[_+1]=e,2===(_+=2)&&(m?m(n):T())},w="undefined"!=typeof window?window:void 0,g=w||{},A=g.MutationObserver||g.WebKitMutationObserver,j="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),S="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,E=new Array(1e3),T=void 0;T=j?function(){return process.nextTick(n)}:A?function(){var t=0,e=new A(n),r=document.createTextNode("");return e.observe(r,{characterData:!0}),function(){r.data=t=++t%2}}():S?function(){var t=new MessageChannel;return t.port1.onmessage=n,function(){return t.port2.postMessage(0)}}():void 0===w&&"function"==typeof require?function(){try{var t=Function("return this")().require("vertx");return void 0!==(y=t.runOnLoop||t.runOnContext)?function(){y(n)}:e()}catch(t){return e()}}():e();var M=Math.random().toString(36).substring(2),P=void 0,x=1,C=2,O=0,F=function(){function t(t,e){this._instanceConstructor=t,this.promise=new t(i),this.promise[M]||v(this.promise),d(e)?(this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?a(this.promise,this._result):(this.length=this.length||0,this._enumerate(e),0===this._remaining&&a(this.promise,this._result))):f(this.promise,new Error("Array Methods must be provided an Array"))}return t.prototype._enumerate=function(t){for(var e=0;this._state===P&&e<t.length;e++)this._eachEntry(t[e],e)},t.prototype._eachEntry=function(t,e){var n=this._instanceConstructor,u=n.resolve;if(u===o){var c=void 0,a=void 0,l=!1;try{c=t.then}catch(t){l=!0,a=t}if(c===r&&t._state!==P)this._settledAt(t._state,e,t._result);else if("function"!=typeof c)this._remaining–,this._result[e]=t;else if(n===Y){var h=new n(i);l?f(h,a):s(h,t,c),this._willSettleAt(h,e)}else this._willSettleAt(new n(function(e){return e(t)}),e)}else this._willSettleAt(u(t),e)},t.prototype._settledAt=function(t,e,n){var r=this.promise;r._state===P&&(this._remaining–,t===C?f(r,n):this._result[e]=n),0===this._remaining&&a(r,this._result)},t.prototype._willSettleAt=function(t,e){var n=this;l(t,void 0,function(t){return n._settledAt(x,e,t)},function(t){return n._settledAt(C,e,t)})},t}(),Y=function(){function e(t){this[M]=O++,this._result=this._state=void 0,this._subscribers=[],i!==t&&("function"!=typeof t&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof e?function(t,e){try{e(function(e){u(t,e)},function(e){f(t,e)})}catch(e){f(t,e)}}(this,t):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}return e.prototype.catch=function(t){return this.then(null,t)},e.prototype.finally=function(e){var n=this,r=n.constructor;return t(e)?n.then(function(t){return r.resolve(e()).then(function(){return t})},function(t){return r.resolve(e()).then(function(){throw t})}):n.then(e,e)},e}();return Y.prototype.then=r,Y.all=function(t){return new F(this,t).promise},Y.race=function(t){var e=this;return new e(d(t)?function(n,r){for(var o=t.length,i=0;i<o;i++)e.resolve(t[i]).then(n,r)}:function(t,e){return e(new TypeError("You must pass an array to race."))})},Y.resolve=o,Y.reject=function(t){var e=new this(i);return f(e,t),e},Y._setScheduler=function(t){m=t},Y._setAsap=function(t){b=t},Y._asap=b,Y.polyfill=function(){var t=void 0;if("undefined"!=typeof global)t=global;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(t){throw new Error("polyfill failed because global object is unavailable in this environment")}var e=t.Promise;if(e){var n=null;try{n=Object.prototype.toString.call(e.resolve())}catch(t){}if("[object Promise]"===n&&!e.cast)return}t.Promise=Y},Y.Promise=Y,Y.polyfill(),Y});
"use strict";function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function _createClass(t,e,n){return e&&_defineProperties(t.prototype,e),n&&_defineProperties(t,n),t}function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function _createClass(t,e,n){return e&&_defineProperties(t.prototype,e),n&&_defineProperties(t,n),t}function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function _arrayWithoutHoles(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}window.DTEventFactory={create:function(){return new(function(){function t(){_classCallCheck(this,t),this.throttleLimit=250,this.eventRegistry={},this.promiseRegistry={},this.defaultEventObj={context:this,callback:null,locked:null,promise:null},this.debug=!1;try{var e=new URL(window.location.href).searchParams.get("dt_debug");e&&"dtevent"===e.toLowerCase()&&(this.debug=!0)}catch(e){console.warn(e)}}return _createClass(t,[{key:"log",value:function(){var t;this.debug&&(t=console).log.apply(t,["DTEvent -"].concat(Array.prototype.slice.call(arguments)))}},{key:"logError",value:function(){var t;this.debug&&(t=console).error.apply(t,["DTEvent -"].concat(Array.prototype.slice.call(arguments)))}},{key:"promise",value:function(){this.getEventPromise.apply(this,arguments),this.trigger.apply(this,arguments)}},{key:"assign",value:function(t){for(var e=t||{},n=arguments.length,o=new Array(1<n?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];return o.forEach(function(t,n){0!==n&&Object.keys(t).forEach(function(n){e[n]=t[n]})}),e}},{key:"getEventPromise",value:function(t){var e=this;return this.promiseRegistry.hasOwnProperty(t)||(this.log("Registering promise '".concat(t,"'")),this.promiseRegistry[t]=new Promise(function(n){e.once(t,function(){for(var o=arguments.length,r=new Array(o),i=0;i<o;i++)r[i]=arguments[i];e.log("Resolved promise ".concat(t),r),n(r)})})),this.promiseRegistry[t]}},{key:"trigger",value:function(t){for(var e=this,n=arguments.length,o=new Array(1<n?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];this.eventRegistry.hasOwnProperty(t)&&(this.log("Triggering '".concat(t,"'")),this.eventRegistry[t].forEach(function(n){if(!1===n.locked)e.log("".concat(t,"' now locked")),n.locked=!0;else if(!0===n.locked)return void e.log("".concat(t,"' already locked"));e.log("Firing event callback for '".concat(t,"'"));try{n.callback.apply(n.context,o)}catch(n){e.logError(n)}}))}},{key:"throttledTrigger",value:function(t){for(var e=this,n=arguments.length,o=new Array(1<n?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];this.eventRegistry.hasOwnProperty(t)&&!this.eventRegistry[t].locked&&(this.eventRegistry[t].locked=!0,setTimeout(function(){var n;e.eventRegistry[t].locked=!1,(n=e.trigger).call.apply(n,[e.defaultEventObj.context,t].concat(o))},this.throttleLimit))}},{key:"on",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"",e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:this;this.log("Registering callback for event '".concat(t,"'")),this.pushToEventRegistry(t,{context:n,callback:e,locked:null})}},{key:"once",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"",e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:this;this.log("Registering callback for event ".concat(t," for single execution")),this.pushToEventRegistry(t,{context:n,callback:e,locked:!1})}},{key:"pushToEventRegistry",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};this.eventRegistry[t]=this.eventRegistry.hasOwnProperty(t)?this.eventRegistry[t]:[],this.eventRegistry[t].push(this.assign({},this.defaultEventObj,e))}},{key:"off",value:function(t,e,n){var o=this;t&&e&&!n&&(this.log("Removing callback from event '".concat(t,"'")),this.eventRegistry.hasOwnProperty(t)&&(this.eventRegistry[t]=this.eventRegistry[t].filter(function(t){if(e!==t.callback)return t}))),!t||e||n||(this.log("Removing all callbacks from event '".concat(t,"'")),this.eventRegistry[t]=[]),t||!e||n||(this.log("Removing callback from all events"),Object.keys(this.eventRegistry).forEach(function(t){o.eventRegistry[t].filter(function(t){if(e!==t.callback)return t})})),t||e||!n||(this.log("Removing callback from all events with context",n),Object.keys(this.eventRegistry).forEach(function(t){o.eventRegistry[t].filter(function(t){if(n!==t.context)return t})})),t||e||n||(this.eventRegistry={})}}]),t}())}},window.DTEvent=window.DTEventFactory.create(),function(){var t="dt_prefs",e="rooay7Nrv3dvPQfT",n={},o=function(t){var e;try{var n="__storage_test__";return(e=window[t]).setItem(n,n),e.removeItem(n),!0}catch(t){return t instanceof DOMException&&(22===t.code||1014===t.code||"QuotaExceededError"===t.name||"NS_ERROR_DOM_QUOTA_REACHED"===t.name)&&0!==e.length}},r=function(){if(o("localStorage"))try{var e=JSON.stringify(n);e&&"string"==typeof e&&window.localStorage.setItem(t,e)}catch(e){console.log("DTPrefs: save failed.")}};!function(){if(o("localStorage"))try{var e=window.localStorage.getItem(t);e&&(e=JSON.parse(e))&&"object"===_typeof(e)&&Object.keys(e).forEach(function(t){n[t]=e[t]})}catch(t){console.log("DTPrefs: load failed.")}}(),window.DTPrefs={get:function(t,o,r){return t=t||"",r=void 0!==r?r:null,void 0!==n[o=o||e]&&t&&void 0!==n[o][t]?n[o][t]:r},set:function(t,o,i){o=o||e,i=i||null,(t=t||"")&&(void 0===n[o]&&(n[o]={}),n[o][t]=i,r())},del:function(t,o){t=t||"",void 0!==n[o=o||e]&&t&&void 0!==n[o][t]&&(delete n[o][t],Object.keys(n[o]).length||delete n[o],r())}}}(),function(){var t=window,e=t.console,n=t.newrelic;window.localStorage2=window.localStorage2&&"object"===_typeof(window.localStorage2)?window.localStorage2:{},window.sessionStorage2=window.sessionStorage2&&"object"===_typeof(window.sessionStorage2)?window.sessionStorage2:{};var o=!0,r=!0,i=function(){var t,e=0<arguments.length&&void 0!==arguments[0]&&arguments[0],n=e?"sessionStorage":"localStorage";if(e&&!r)return!1;if(!e&&!o)return!1;try{var i="__storage_test__";return(t=window[n]).setItem(i,i),t.removeItem(i),!0}catch(n){return!(!(n instanceof DOMException)||22!==n.code&&1014!==n.code&&"QuotaExceededError"!==n.name&&"NS_ERROR_DOM_QUOTA_REACHED"!==n.name||0===t.length)||(e?r=!1:o=!1,!1)}};window.DTStorage={get:function(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1];if(!t||"string"!=typeof t)return null;if(i(e)){var n=e?window.sessionStorage:window.localStorage;return JSON.parse(n.getItem(t))}var o=e?window.sessionStorage2:window.localStorage2;return Object.prototype.hasOwnProperty.call(o,t)?JSON.parse(o[t]):null},isAvailable:i,set:function(t,o){var r=2<arguments.length&&void 0!==arguments[2]&&arguments[2];if(!t||"string"!=typeof t)throw new Error("Bad or missing key.");try{return i(r)?(r?window.sessionStorage:window.localStorage).setItem(t,JSON.stringify(o)):(r?window.sessionStorage2:window.localStorage2)[t]=JSON.stringify(o),!0}catch(t){var a=t instanceof Error?t:new Error(t);return n&&n.noticeError&&n.noticeError(a),e&&e.warn&&e.warn("Couldn't set in ".concat(r?"session":"local"," storage, most likely full.")),!1}},remove:function(t){var o=1<arguments.length&&void 0!==arguments[1]&&arguments[1];if(!t||"string"!=typeof t)throw new Error("Bad or missing key.");try{return i(o)?(o?window.sessionStorage:window.localStorage).removeItem(t):delete(o?window.sessionStorage2:window.localStorage2)[t],!0}catch(t){var r=t instanceof Error?t:new Error(t);return n&&n.noticeError&&n.noticeError(r),e&&e.warn&&e.warn("Couldn't remove from ".concat(o?"session":"local",".")),!1}}}}(),function(){var t={},e=function(){function e(){_classCallCheck(this,e),this.callbacks=[]}return _createClass(e,[{key:"addCallback",value:function(t){this.callbacks.push(t)}},{key:"get",value:function(e,n){return n=void 0!==n?n:null,(e=e||null)&&void 0!==t[e]?t[e]:n}},{key:"set",value:function(e,n){return n=n||null,(e=e||null)&&("object"===_typeof(e)?Object.keys(e).forEach(function(n){t[n]=e[n]}):t[e]=n,0<this.callbacks.length&&this.callbacks.forEach(function(t){t(e,n)})),this}},{key:"del",value:function(e){return(e=e||null)&&void 0!==t[e]&&delete t[e],this}},{key:"getAll",value:function(){return t}}]),e}();window.DTData=new e}(),function(){var t={DOMReady:function(t){if("function"!=typeof t)throw new Error("Callback is not a function.");"interactive"===document.readyState||"complete"===document.readyState?t():document.addEventListener("DOMContentLoaded",t)},DecodeBase64:function(t){var e,n={},o=[],r="",i=String.fromCharCode,a=[[65,91],[97,123],[48,58],[43,44],[47,48]];for(z in a)for(e=a[z][0];e<a[z][1];e++)o.push(i(e));for(e=0;e<64;e++)n[o[e]]=e;for(e=0;e<t.length;e+=72){var c,l=0,s=0,u=t.substring(e,e+72);for(c=0;c<u.length;c++)for(l=(l<<6)+n[u.charAt(c)],s+=6;8>>(s-=8))%256)}return r},HTMLEntities:function(t){return String(t).replace(/&/g,”&”).replace(//g,”>”).replace(/”/g,”"”).replace(/’/g,”'”)},StorageAvailable:function(t){var e;try{var n=”__storage_test__”;return(e=window[t]).setItem(n,n),e.removeItem(n),!0}catch(t){return t instanceof DOMException&&(22===t.code||1014===t.code||”QuotaExceededError”===t.name||”NS_ERROR_DOM_QUOTA_REACHED”===t.name)&&0!==e.length}},GetUrlParameter:function(t,e){var n=e.replace(/[[]/,”\[“).replace(/[]]/,”\]”),o=”[\?&]”.concat(n,”=([^&#]*)”),r=new RegExp(o).exec(t);return null==r?””:decodeURIComponent(r[1].replace(/+/g,” “))},MaybeToString:function(t){return”number”!=typeof t?t:t.toString()},EntitiesToUtf8:function(t){if(“string”!=typeof t)return t;var e=t.match(/&[#a-z0-9]{2,6};/g);if(!e)return t;for(var n=t,o=[“&”,”&”,”—”,”—”,”–”,”–”,”‘”,”‘”,”’”,”’”,”'”,”'”,”“”,”“”,”””,”””,”…”,”…”,”′”,”′”],r=[String.fromCodePoint(8230),String.fromCodePoint(8230),String.fromCodePoint(8212),String.fromCodePoint(8212),String.fromCodePoint(8211),String.fromCodePoint(8211),String.fromCodePoint(8216),String.fromCodePoint(8216),String.fromCodePoint(8217),String.fromCodePoint(8217),String.fromCodePoint(8217),String.fromCodePoint(8217),String.fromCodePoint(8220),String.fromCodePoint(8220),String.fromCodePoint(8221),String.fromCodePoint(8221),String.fromCodePoint(8230),String.fromCodePoint(8230),String.fromCodePoint(8242),String.fromCodePoint(8242)],i=e.length,a=-1;i–;)-1!==(a=o.indexOf(e[i]))&&(n=n.replace(e[i],r[a]));return n},WhichTransitionEvent:function(t){for(var e={transition:”transitionend”,OTransition:”oTransitionEnd”,MozTransition:”transitionend”,WebkitTransition:”webkitTransitionEnd”},n=Object.keys(e),o=0,r=n.length;o<r;o++)if(t.style&&void 0!==t.style[n[o]])return e[n[o]];return""},WhichAnimationEvent:function(t){for(var e={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"animationend",WebkitAnimation:"webkitAnimationEnd"},n=Object.keys(e),o=0,r=n.length;o<r;o++)if(t.style&&void 0!==t.style[n[o]])return e[n[o]];return""}};window.dtDOMReady=function(e){return t.DOMReady(e)},window.dtDecodeBase64=function(e){return t.DecodeBase64(e)},window.dtHTMLEntities=function(e){return t.HTMLEntities(e)},window.dtGetUrlParameter=function(e,n){return t.GetUrlParameter(e,n)},window.dtStorageAvailable=function(e){return t.StorageAvailable(e)},window.dtMaybeToString=function(e){return t.MaybeToString(e)},window.dtEntitiesToUtf8=function(e){return t.EntitiesToUtf8(e)},window.whichTransitionEvent=function(e){return t.WhichTransitionEvent(e)},window.whichAnimationEvent=function(e){return t.WhichAnimationEvent(e)},window.DTUtil=t}(),function(t,e){var n=null,o=!1,r=window.location.href,i=encodeURIComponent("dt_utm"),a=new RegExp("(?:^|; )".concat(i,"=([^;]*)")).exec(t.cookie),c=a?a[1]:null;function l(t){var e=t.replace(/[[]]/g,"\$&"),n=new RegExp("[?&]".concat(e,"(=([^&#]*)|&|#|$)")).exec(r);return n?n[2]?decodeURIComponent(n[2].replace(/+/g," ")):"":null}if(c){n=JSON.parse(c);var s=l("utm_source");s&&n.utm_source!==s&&(o=!0)}else l("utm_source")&&(o=!0);var u={utm_source:l("utm_source")||"",utm_medium:l("utm_medium")||"",utm_term:l("utm_term")||"",utm_content:l("utm_content")||"",utm_campaign:l("utm_campaign")||"",utm_changed:o};if(u.utm_source||u.utm_medium||u.utm_term||u.utm_content||u.utm_campaign){var f=JSON.stringify(u);t.cookie="dt_utm=".concat(f,"; expires=0; path=/")}else n&&(n.utm_changed=!1,u=n);e.addCallback(function(e,n){"session_start"===e&&"1"===n&&!1===u.utm_changed&&(t.cookie="dt_utm=; expires=Thu, 01 Jan 1970 00:00:001 GMT")}),e.set({utm:u})}(document,window.DTData),function(t,e){var n,o,r,i,a,c,l,s=function(t){var e;try{var n="__storage_test__";return(e=window[t]).setItem(n,n),e.removeItem(n),!0}catch(t){return t instanceof DOMException&&(22===t.code||1014===t.code||"QuotaExceededError"===t.name||"NS_ERROR_DOM_QUOTA_REACHED"===t.name)&&0!==e.length}},u=function(t){var e=Date.now(),n=Math.floor(1048576*(1+Math.random())).toString(16),o=Math.floor(1048576*(1+Math.random())).toString(16),r="".concat(e,"-").concat(n,"-").concat(o);return t&&(r="".concat(t,"-").concat(r)),r},f=function(e){try{for(var n="".concat(e,"="),o=decodeURIComponent(t.cookie).split(";"),r=0;r<o.length;r++){for(var i=o[r];" "===i.charAt(0);)i=i.substring(1);if(0===i.indexOf(n))return i.substring(n.length,i.length)}return null}catch(e){return null}},g=function(){var n=u("v1"),o=window.location.hostname.split(".").slice(-2).join(".");t.cookie="dtPageViewId=".concat(n,";path=/;domain=").concat(o),e.set("page_view_id",n)};window.DTSession={refreshPageViewId:g},!(n=f("dtSessionId"))&&s("sessionStorage")&&(n=window.sessionStorage.getItem("dtSessionId")),o=n,r=e.get("utm"),i=f("dtLastActive"),a=1800<=Date.now()/1e3-i,c=window.location.hostname.split(".").slice(-2).join("."),!o||r.utm_changed||a?(o=u("v1"),s("sessionStorage")&&window.sessionStorage.setItem("dtSessionId",o),t.cookie="dtSessionId=".concat(o,";path=/;domain=").concat(c),e.set("session_start","1")):e.set("session_start","0"),e.set("session_id",o),g(),l=Date.now()/1e3,t.cookie="dtLastActive=".concat(l,";path=/;expires=Fri, 31 Dec 9999 23:59:59 GMT")}(document,DTData),function(){var t,e,n,o,r,i={keys:function(t){return t&&"object"===_typeof(t)?Object.keys(t):[]}};i.escape=(t={"&":"&","”:”>”,'”‘:”"”,”‘”:”'”,”`”:”`”},e=function(e){return t[e]},n=”(?:”+i.keys(t).join(“|”)+”)”,o=RegExp(n),r=RegExp(n,”g”),function(t){return t=null==t?””:””+t,o.test(t)?t.replace(r,e):t}),i.templateSettings={evaluate://g,interpolate://g,escape://g};var a=/(.)^/,c={“‘”:”‘”,”\”:”\”,”r”:”r”,”n”:”n”,”u2028″:”u2028″,”u2029″:”u2029″},l=/\|’|r|n|u2028|u2029/g,s=function(t){return”\”+c[t]};i.template=function(t,e,n){!e&&n&&(e=n),e=Object.assign({},i.templateSettings,e);var o=RegExp([(e.escape||a).source,(e.interpolate||a).source,(e.evaluate||a).source].join(“|”)+”|$”,”g”),r=0,c=”__p+='”;t.replace(o,function(e,n,o,i,a){return c+=t.slice(r,a).replace(l,s),r=a+e.length,n?c+=”‘+n((__t=(“+n+”))==null?”:_.escape(__t))+n'”:o?c+=”‘+n((__t=(“+o+”))==null?”:__t)+n'”:i&&(c+=”‘;n”+i+”n__p+='”),e}),c+=”‘;n”,e.variable||(c=”with(obj||{}){n”+c+”}n”),c=”var __t,__p=”,__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,”);};n”+c+”return __p;n”;try{var u=new Function(e.variable||”obj”,”_”,c)}catch(e){throw e.source=c,e}var f=function(t){return u.call(this,t,i)},g=e.variable||”obj”;return f.source=”function(“+g+”){n”+c+”}”,f},window.DTTemplate={create:i.template}}(),function(){var t=window,e=t.console,n=t.localStorage,o=t.location,r=t.newrelic,i=t.DTUtil,a=!1,c=function(t){return i.GetUrlParameter(o.search,t)},l=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"";if(e){for(var n,o=arguments.length,r=new Array(1<o?o-1:0),i=1;i<o;i++)r[i-1]=arguments[i];n=-1===["silly","debug","verbose","info","warn","error"].indexOf(t)?[t].concat(r):[].concat(r),-1===["error","warn"].indexOf(t)?a&&("info"===t&&e.info?e.info.apply(e,_toConsumableArray(n)):e.log&&e.log.apply(e,_toConsumableArray(n))):"warn"===t&&e.warn?e.warn.apply(e,_toConsumableArray(n)):"error"===t&&e.error?e.error.apply(e,_toConsumableArray(n)):e.log&&e.log.apply(e,_toConsumableArray(n))}};e&&e.log&&("1"===c("dt_debug")||"1"===c("dtdebug")?(i.StorageAvailable("localStorage")&&n.setItem("dt_debug",1),a=!0):"0"===c("dt_debug")||"0"===c("dtdebug")?(i.StorageAvailable("localStorage")&&n.setItem("dt_debug",0),a=!1):i.StorageAvailable("localStorage")&&(a=!!n.getItem("dt_debug")),window.DTLogger={log:l,noticeError:function(t){t instanceof Error?(r&&r.noticeError&&r.noticeError(t),l("error",t)):l("error","Hey dummy! noticeError takes instances of Error.",t)}})}();
"use strict";!function(e,c){var n=null,o=!1,t=encodeURIComponent("dt_kclid"),i=new RegExp("(?:^|; )".concat(t,"=([^;]*)")).exec(e.cookie),a=i?i[1]:null;a&&(n=a);var d=new URL(window.location.href).searchParams.get("k_clickid")||"";d?(e.cookie="dt_kclid=".concat(d,"; expires=0; path=/"),o=!0):n&&(d=n),"1"===c.get("session_start")&&!1===o&&(e.cookie="dt_kclid=; expires=Thu, 01 Jan 1970 00:00:001 GMT",d=null),c.set({kclid:d})}(document,window.DTData);

(function() {
‘use strict’;

var stage = 0;
var options = {“dtvideos”:{“brightcove_account_id”:”5340004208001″,”brightcove_player_id”:”Hkov7xwff”,”discovery_id”:”5705338347001″,”kill_ads”:false,”ad_targeting_params”:{“tags”:[“spotify”],”cat”:[“home-theater”,”how-to”,”trending”],”supports”:[“bt”,”mp”,”skin”],”aid”:2376150},”autoplay_threshold_selector”:”.b-content”,”ias_an_id”:”927851″,”ads_brightcove_airlock_player_id”:”r1xW6rIU6z”,”ads_tag”:”https://pubads.g.doubleclick.net/gampad/ads?sz=970×556&iu=/5611/dtmn.video/dt_ros&ciu_szs&impl=s&gdfp_req=1&env=vp&output=xml_vast3&unviewed_position_start=1&url={window.location.href}&description_url=https://www.digitaltrends.com&correlator={random}&cmsid=2860&vid={mediainfo.id}”,”ads_sticky_tag”:”https://pubads.g.doubleclick.net/gampad/ads?sz=970×556&iu=/5611/dtmn.video/sticky.related&ciu_szs&impl=s&gdfp_req=1&env=vp&output=xml_vast3&unviewed_position_start=1&url={window.location.href}&description_url=https://www.digitaltrends.com&correlator={random}&cmsid=2860&vid={mediainfo.id}”,”ads_videos_home_tag”:”https://pubads.g.doubleclick.net/gampad/ads?sz=970×556&iu=/5611/dtmn.video/video.hub&ciu_szs&impl=s&gdfp_req=1&env=vp&output=xml_vast3&unviewed_position_start=1&url={window.location.href}&description_url=https://www.digitaltrends.com&correlator={random}&cmsid=2860&vid={mediainfo.id}”,”ads_spotx_wrapper”:”https://search.spotxchange.com/vast/2.0/207448?VPAID=JS&content_page_url={window.location.href}&ad_server[type]=DFP&ad_server[tag]=”},”dt:membership”:{“api_key”:”pk_test_OasA7w8tBNSv0oq9JIFAd7wA00FQIKOPws”,”enabled”:true,”cognito:user_pool_id”:”us-east-2_HCF4ET6M6″,”cognito:client_id”:”7bt3rs9qv3qihqhgkl6qaid6hf”,”cognito:auth_domain”:”https://sso.digitaltrends.com”,”cognito:auth_callback_url”:”https://www.digitaltrends.com/?action=dtm_auth”,”login_url”:”https://www.digitaltrends.com/login/”,”profile_url”:”https://www.digitaltrends.com/profile/”,”checkout_url”:”https://www.digitaltrends.com/checkout/”,”welcome_url”:”https://www.digitaltrends.com/welcome/”,”signup_url”:”https://www.digitaltrends.com/sign-up/”,”reset_password_url”:”https://www.digitaltrends.com/forgot-password/”,”is_signup”:false,”is_login”:false,”is_checkout”:false,”is_welcome”:false,”is_profile”:false,”is_reset_password”:false},”dt:theme”:{“assets”:{“js_uri”:”https://www.digitaltrends.com/wp-content/themes/digitaltrends-2018/assets/scripts”,”parent_js_uri”:”https://www.digitaltrends.com/wp-content/themes/dt-stardust/assets/scripts”,”css_uri”:”https://www.digitaltrends.com/wp-content/themes/digitaltrends-2018/assets/styles”,”parent_css_uri”:”https://www.digitaltrends.com/wp-content/themes/dt-stardust/assets/styles”,”image_uri”:”https://www.digitaltrends.com/wp-content/themes/digitaltrends-2018/assets/images”,”parent_image_uri”:”https://www.digitaltrends.com/wp-content/themes/dt-stardust/assets/images”,”font_uri”:”https://www.digitaltrends.com/wp-content/themes/digitaltrends-2018/assets/fonts”,”parent_font_uri”:”https://www.digitaltrends.com/wp-content/themes/digitaltrends-2018/assets/fonts”}},”dt:stardust-memberships”:{“memberships_upgrade_url”:”https://www.digitaltrends.com/memberships/?upgrade”,”memberships_landing_url”:”https://www.digitaltrends.com/memberships”},”dt-stardust-memberships”:{“memberships_support_email”:”[email protected]”},”dt:snowplow”:{“membership_cookie”:”dtMCTX”,”content_cookie”:”dtContent”},”dt:stardust-newsletter”:{“curated_list_ids”:[1658730,1658733],”topic_list_ids”:[1658826,1658828,1658831,1658834,1658846,1658853,1658851,1658855,1658858,1658865,2909842,1658867]},”facebook”:{“facebook:app:id”:”61377565444″,”facebook:channel_url”:”https://www.digitaltrends.com/fb-channel.php”,”facebook:page:id”:”8522591132″},”twitter”:{“handle”:”DigitalTrends”},”dt:cc”:{“cc_tracking”:{“amazon”:{“params”:{“tag”:”digitren08-20″},”click_id”:”ascsubtag”,”patterns”:[“http[s]?://(www\.)?amazon\.com(\.mx)?/.*”,”http[s]?://(www\.)?amazon\.es/.*”,”http[s]?://amzn\.to/.*”,”http[s]?://amzn\.com/.*”,”http[s]?://a\.co/.*”]},”apple”:{“params”:[],”patterns”:[“http[s]?://apple\.sjv\.io/.*”]},”avantlink”:{“params”:[],”click_id”:”ctc”,”patterns”:[“http[s]?://(www\.)?avantlink\.com/.*”]},”awin”:{“params”:[],”click_id”:”clickref”,”patterns”:[“http[s]?://www\.awin1\.com/.*”]},”cj-affiliate”:{“params”:[],”click_id”:”sid”,”patterns”:[]},”cj”:{“patterns”:[“http[s]?://anrdoezrs\.netr”,”http[s]?://commission\-junction\.comr”,”http[s]?://dpbolvw\.netr”,”http[s]?://apmebf\.comr”,”http[s]?://jdoqocy\.comr”,”http[s]?://kqzyfj\.comr”,”http[s]?://qksrv\.netr”,”http[s]?://tkqlhce\.comr”,”http[s]?://qksz\.netr”,”http[s]?://emjcd\.comr”,”http[s]?://afcyhf\.comr”,”http[s]?://awltovhc\.comr”,”http[s]?://ftjcfx\.comr”,”http[s]?://lduhtrp\.netr”,”http[s]?://tqlkg\.comr”,”http[s]?://awxibrm\.cor”,”http[s]?://cualbr\.comr”,”http[s]?://rnsfpw\.netr”,”http[s]?://vofzpwh\.comr”,”http[s]?://yceml\.net”]},”connexity”:{“params”:[],”click_id”:”afCampaignId”,”patterns”:[“http[s]?://catalog\.bizrate\.com/.*”]},”ebay”:{“params”:[],”patterns”:[“http[s]?://rover\.ebay\.com/.*”]},”flex-offers”:{“params”:[],”patterns”:[“http[s]?://track\.flexlinkspro\.com/.*”]},”impactradius”:{“params”:[],”click_id”:”subId”},”pepperjam”:{“params”:[],”patterns”:[“http[s]?://(www\.)?pntrs\.com/.*”,”http[s]?://(www\.)?pntrac\.com/.*”,”http[s]?://(www\.)?pntra\.com/.*”,”http[s]?://(www\.)?gopjn\.com/.*”,”http[s]?://(www\.)?pjatr\.com/.*”,”http[s]?://(www\.)?pjtra\.com/.*”]},”rakuten”:{“params”:[],”click_id”:”u1″,”patterns”:[“http[s]?://click\.linksynergy\.com/.*”,”http[s]?://linksynergy\.[^\.]+\.com/.*”]},”shareasale”:{“params”:[],”click_id”:”afftrack”,”patterns”:[“http[s]?://(www\.)?shareasale\.com/.*”]},”skimlinks”:{“params”:[],”patterns”:[“http[s]?://(www\.)?fav\.co/.*”]}},”cc_targeting”:{“sites”:”dt”,”articles”:2376150,”articleCategories”:[“home-theater”,”how-to”]},”cc_opts”:{“apiKey”:”ca10c573c9f1bf1b9ec9d4b0a91be73f”,”environment”:”production”},”cc_fallback_data”:null,”cc_response_timeout”:5000,”merchant_order”:[]},”dtimage”:{“snap_widths”:[80,120,145,170,222,248,300,345,375,382,416,610,768,920,1200,1230]},”pubplus”:{“script-url”:”//d1gofkrkum4ehe.cloudfront.net/tracker.js”},”dtnewsletter”:{“newsletter_lists”:{“curatedLists”:[{“display_name”:”Daily Brief”,”sender_id”:149802,”list_id”:1658730,”suppression_group_id”:2985,”ip_pool”:”daily-brief”,”description”:”Get tech news & reviews straight to your inbox”,”membership_description”:”Get the day’s top stories sent directly to your inbox”,”is_topic”:false,”name”:”daily-brief”},{“display_name”:”Deals”,”sender_id”:151144,”list_id”:1658733,”suppression_group_id”:3021,”ip_pool”:”deals”,”description”:”Get the latest DEALS straight to your inbox.”,”membership_description”:”Save up to 70% or more on the hottest new products”,”is_topic”:false,”name”:”dt-deals”}],”topicLists”:[{“display_name”:”Business”,”sender_id”:149802,”list_id”:1658826,”suppression_group_id”:3105,”ip_pool”:”categories”,”description”:”Get the latest business news straight to your inbox”,”is_topic”:true,”name”:”topic-business”},{“display_name”:”Cars”,”sender_id”:149802,”list_id”:1658828,”suppression_group_id”:3103,”ip_pool”:”categories”,”description”:”Get the latest car fun”,”is_topic”:true,”name”:”topic-cars”},{“display_name”:”Computing”,”sender_id”:149802,”list_id”:1658831,”suppression_group_id”:3111,”ip_pool”:”categories”,”description”:”Get the latest computing news straight to your inbox”,”is_topic”:true,”name”:”topic-computing”},{“display_name”:”Cool Tech”,”sender_id”:149802,”list_id”:1658834,”suppression_group_id”:3127,”ip_pool”:”categories”,”description”:”Get the latest cool tech news straight to your inbox”,”is_topic”:true,”name”:”topic-cool-tech”},{“display_name”:”Gaming”,”sender_id”:149802,”list_id”:1658846,”suppression_group_id”:3121,”ip_pool”:”categories”,”description”:”Get the latest gaming news straight to your inbox”,”is_topic”:true,”name”:”topic-gaming”},{“display_name”:”Home Theater”,”sender_id”:149802,”list_id”:1658853,”suppression_group_id”:3107,”ip_pool”:”categories”,”description”:”Get the latest home theater news straight to your inbox”,”is_topic”:true,”name”:”topic-home-theater”},{“display_name”:”Home”,”sender_id”:149802,”list_id”:1658851,”suppression_group_id”:3109,”ip_pool”:”categories”,”description”:”Get the latest home news straight to your inbox”,”is_topic”:true,”name”:”topic-home”},{“display_name”:”Mobile”,”sender_id”:149802,”list_id”:1658855,”suppression_group_id”:3115,”ip_pool”:”categories”,”description”:”Get the latest mobile news straight to your inbox”,”is_topic”:true,”name”:”topic-mobile”},{“display_name”:”Movies & TV”,”sender_id”:149802,”list_id”:1658858,”suppression_group_id”:3117,”ip_pool”:”categories”,”description”:”Get the latest Movies & TV news straight to your inbox”,”is_topic”:true,”name”:”topic-movies”},{“display_name”:”Music”,”sender_id”:149802,”list_id”:1658865,”suppression_group_id”:3113,”ip_pool”:”categories”,”description”:”Get the latest music news straight to your inbox”,”is_topic”:true,”name”:”topic-music”},{“display_name”:”Outdoors”,”sender_id”:149802,”list_id”:2909842,”suppression_group_id”:3119,”ip_pool”:”categories”,”description”:”Get the latest outdoors news straight to your inbox”,”is_topic”:true,”name”:”topic-outdoors”},{“display_name”:”Photography”,”sender_id”:149802,”list_id”:1658867,”suppression_group_id”:3105,”ip_pool”:”categories”,”description”:”Get the latest photography news straight to your inbox”,”is_topic”:true,”name”:”topic-photography”}],”pageTopic”:”topic-home-theater”,”defaultNewsletter”:”daily-brief”,”userLists”:null,”userEmail”:null},”dtnl-client”:”https://www.digitaltrends.com/wp-content/plugins/dt-newsletter/assets/scripts/js/client.min.js?version=1566437193391″},”qnqb92BhrzmkpqGx”:{“post_sharing_data”:{“object_id”:2376150,”taxonomy”:””,”url”:”https://www.digitaltrends.com/home-theater/how-to-upload-music-to-spotify/”,”summary”:”Ever wondered if you can add your private music collection to your Spotify account, so you can listen to it on-the-go? It’s possible, using a feature called Local Files. Here’s how it works.”,”title”:”How to upload music to Spotify so you can listen to your own tunes everywhere”,”image”:”https://icdn2.digitaltrends.com/image/digitaltrends/spotify-rap-caviar-playlist.jpg”,”twitter_text”:”How to upload music to Spotify so you can listen to your own tunes everywhere”,”twitter_hash_tags”:””},”related_video_pool”:[{“attachment_id”:”2240960″,”content_id”:”5970070262001″,”duration”:194,”title”:”Yamahau2019s powerful multiroom soundbar expands or contracts to fit your needs”},{“attachment_id”:”2239208″,”content_id”:”5969536165001″,”duration”:274,”title”:”Become a TV tech expert with our 4K TV buying guide”},{“attachment_id”:”2281976″,”content_id”:”5993924285001″,”duration”:295,”title”:”Get big-time savings on these huge 4K TVs for Super Bowl LIII”},{“attachment_id”:”2204278″,”content_id”:”5837797098001″,”duration”:54,”title”:”Amazon Echo Sub Hands On Review”},{“attachment_id”:”2371178″,”content_id”:”6062844166001″,”duration”:174,”title”:”How To Find A Lost Android Phone | Explained”}]},”debug”:{“related_video_data”:[{“attachment_id”:”2240960″,”content_id”:”5970070262001″,”duration”:194,”title”:”Yamahau2019s powerful multiroom soundbar expands or contracts to fit your needs”},{“attachment_id”:”2239208″,”content_id”:”5969536165001″,”duration”:274,”title”:”Become a TV tech expert with our 4K TV buying guide”},{“attachment_id”:”2281976″,”content_id”:”5993924285001″,”duration”:295,”title”:”Get big-time savings on these huge 4K TVs for Super Bowl LIII”},{“attachment_id”:”2204278″,”content_id”:”5837797098001″,”duration”:54,”title”:”Amazon Echo Sub Hands On Review”},{“attachment_id”:”2371178″,”content_id”:”6062844166001″,”duration”:174,”title”:”How To Find A Lost Android Phone | Explained”}]},”sticky_video”:{“desktop_active”:1,”desktop_related”:1,”mobile_active”:0,”mute”:1,”live_override”:0,”live_override_title”:”Digital Trends Live”,”delay”:3,”suppress_time”:0,”article_types”:{“good”:[],”bad”:[“feature”]},”post_types”:{“good”:[“post”],”bad”:[]}},”live_video”:{“iframe_url”:”https://digital-trends.brand.live/c/dt-live?header=false”},”spotx_channel_id”:{“brightcove_header_bidding”:”207448″},”site:icon”:{“url”:”https://www.digitaltrends.com/wp-content/themes/digitaltrends-2018/assets/images/svg/logo.svg”},”dt-post-pool”:{“default-list-key”:”default”,”blacklist”:[],”lists”:{“default”:{“key”:”default”,”fetchDetails”:{“data”:{“post_id”:2376150,”post_type”:”post”},”type”:”discovery”},”posts”:[],”exhausted”:false,”limit”:18,”offset”:0}}},”doubleclick”:{“id”:”/5611/dt.dgt.www”,”demo_id”:”/5611/dt.dgt.test”,”prog_id”:”/5611/prog.digitaltrends”,”video_id”:”/5611/dtmn.video/dt_ros”,”video_sticky_id”:”/5611/dtmn.video/sticky.related”,”video_home_id”:”/5611/dtmn.video/video.hub”,”prog_utm_sources”:[“o1″,”f1″,”google”,”yahoo”,”bing”,”y1″,”taboola”,”jun”,”tapjoy”,”k1″,”twitter”]}};
var allOptions = {};

if (stage > 0 && window.DTOptions) {
allOptions = window.DTOptions.getAll();

Object.keys(options).forEach(function(groupK) {
if (options[groupK] && typeof options[groupK] === ‘object’) {
Object.keys(options[groupK]).forEach(function(k) {
if (!allOptions[groupK] || typeof allOptions[groupK] !== ‘object’) {
allOptions[groupK] = {};
}

allOptions[groupK][k] = options[groupK][k];
});
}
});
} else {
allOptions = options;
}

var getAll = function () {
return allOptions;
};

var get = function (key, group, def) {
key = key || ”;
group = group || ‘qnqb92BhrzmkpqGx’;
def = (typeof def !== ‘undefined’) ? def : null;

if (typeof allOptions[group] !== ‘undefined’) {
if (key && typeof allOptions[group][key] !== ‘undefined’) {
return allOptions[group][key];
}
}

return def;
};

var set = function (key, group, data) {
key = key || ”;
group = group || ‘qnqb92BhrzmkpqGx’;
data = data || null;

if (key) {
if (typeof allOptions[group] === ‘undefined’) {
allOptions[group] = {};
}

allOptions[group][key] = data;
}
};

var del = function (key, group) {
key = key || ”;
group = group || ‘qnqb92BhrzmkpqGx’;

if (typeof allOptions[group] !== ‘undefined’) {
if (key && typeof allOptions[group][key] !== ‘undefined’) {
allOptions[group][key] = null;
}
}
};

window.DTOptions = {
get: get,
getAll: getAll,
set: set,
del: del,
};
}());

var ajaxurl = ‘https://www.digitaltrends.com/wp-content/themes/dt-stardust/ajax-actions.php’;
var ord = Math.random()*10000000000000000;

var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
(function() {
var gads = document.createElement( ‘script’ );
gads.async = true;
gads.type = ‘text/javascript’;
var useSSL = ‘https:’ == document.location.protocol;
gads.src = (useSSL ? ‘https:’ : ‘http:’) + ‘//securepubads.g.doubleclick.net/tag/js/gpt.js’;
var node = document.getElementsByTagName( ‘script’ )[0];
node.parentNode.insertBefore( gads, node );
})();

(function() {
‘use strict’;

var l10ns = {“ahe084RE8hgWerv8”:{“dt-stardust-affiliate”:{“buy_now”:”Buy Now”,”price_disclaimer”:”*Price may be subject to change”,”where_to_buy”:”Where to Buy”,”shop”:”Shop”,”buy_for_at”:”Buy for $%price at %merchant”,”buy_from”:”$%price from %merchant”,”buy_at”:”Buy at %merchant”},”dt-affiliate”:{“buy_now”:”Buy Now”},”admin-mem”:{“By”:”By”,”ReviewBy”:”DT Review By”,”ExclusiveBy”:”DT Exclusive By”,”SearchForPost”:”Search For Post”},”dt-stardust-membership”:{“login”:”Login”,”logout”:”Logout”,”signup”:”Sign Up”,”checkout”:”Checkout”,”profile”:”Profile”,”email_address”:”Email Address”,”password”:”Password”,”membership_plan”:”Membership Plan”,”change_password”:”Change Password”,”upgrade_plan”:”Upgrade Plan”,”cancel_plan”:”Cancel Subscription”,”standard_plan_label”:”Standard”,”premium_plan_label”:”Premium”},”shortcode-timer”:{“Days”:”Days”,”Hours”:”Hours”,”Minutes”:”Minutes”,”Seconds”:”Seconds”},”newsletter-signup”:{“signupPreferencesHeading”:”Customize your weekly list with some of our top sections.”,”CuratedListsHeading”:”Featured newsletters”,”NewsletterSignupHeading”:”Stay Current.”,”NewsletterSignupSubHeading”:”Get the latest Trending news straight to your inbox.”,”TopicListsHeading”:”Add your favorite topics to the list too.”,”TopicListsSubheading”:”Newsletters by category”,”SuccessTitle”:”You’re All Set!”,”SuccessMessage”:”Thanks for signing up. We’ll be sending you a confirmation email shortly.
In the meantime, check out the rest of our newsletters.”,”SuccessMessageShort”:”Thanks for signing up. We’ll be sending you a confirmation email shortly.”,”Select”:”Select”,”Subscribe”:”Subscribe”,”Okay”:”Okay”,”Unselect”:”Unselect”,”Unsubscribe”:”Unsubscribe”,”SignUp”:”Sign Up”,”Save”:”Save”,”FinishAndSave”:”Finish and save”,”SeeMore”:”See More”,”Next”:”Next”,”Selected”:”Selected”,”Email”:”Email”,”Done”:”Done”,”EmailAddressInvalidError”:”Email address is invalid”,”NoEmailAddressError”:”No email address entered”,”NewslettersSelected”:”Newsletters Selected”,”CuratedListHeading”:”Select featured newsletters”,”CuratedListSubheading”:”Our editors find the best stories so you donu2019t have to.”,”TopicListHeading”:”More categories you might like”,”TopicListSubheading”:”Because we know you love options”,”ManagePreferencesHeading”:”Manage Preferences”,”ManagePreferencesSubheading”:”Select which newsletters you would like to receive”,”NewsletterSignupCallToAction”:”Sign up for our newsletter”,”NewsletterPrivacyLink”:”Your privacy is important to us!”,”AlreadySignedUpMessage”:”You’re signed up to receive ALL of our newsletters!?”,”AlreadySignedUpTitle”:”Thanks, youre the best!”,”AlreadySignedUpButton”:”I Know”},”site-head”:{“currentArticle”:”Now Reading”,”share”:”Share”,”shopCTA”:”Buy Now”},”video-home”:{“play_all”:”Play All”,”view_more”:”View More”,”by”:”By”},”video-player”:{“empty_playlist”:”Playlist is empty Choose another playlist or try searching”}}};

var get = function get(key, group) {
key = key || ”;
group = group || ‘ahe084RE8hgWerv8’;

if (typeof l10ns[group] !== ‘undefined’) {
if (key && typeof l10ns[group][key] !== ‘undefined’) {
return l10ns[group][key];
}
}

return null;
};

window.DTL10n = {
get: get,
};
}());

window.dtCookiebotAcceptedPromise = function() {
return new Promise(function(resolve) {
window.CookiebotCallback_OnAccept = function() {
console.log(‘DTAds:Cookiebot consent accepted’, Cookiebot.consent);

// add regular consent data to the data layer
if (Cookiebot.consent.preferences) {
dataLayer.push({ event: ‘cookieconsent_preferences’ });
}

if (Cookiebot.consent.statistics) {
dataLayer.push({ event: ‘cookieconsent_statistics’ });
}

if (Cookiebot.consent.marketing) {
dataLayer.push({ event: ‘cookieconsent_marketing’ });
}

resolve(Cookiebot.consent);
};

window.CookiebotCallback_OnDecline = function() {
resolve(Cookiebot.consent);
};
});
};

[{“@context”:”http://schema.org”,”@type”:”Article”,”mainEntityOfPage”:{“@type”:”WebPage”,”@id”:”https://www.digitaltrends.com/home-theater/how-to-upload-music-to-spotify/”},”datePublished”:”August 23, 2019″,”dateModified”:”August 23, 2019″,”articleSection”:”Home Theater”,”author”:{“@type”:”Person”,”name”:”Simon Cohen”},”creator”:{“@type”:”Thing”,”name”:”Simon Cohen”},”headline”:”How to upload music to Spotify so you can listen to your own tunes everywhere”,”url”:”https://www.digitaltrends.com/home-theater/how-to-upload-music-to-spotify/”,”thumbnailUrl”:”https://icdn2.digitaltrends.com/image/digitaltrends/spotify-rap-caviar-playlist.jpg”,”image”:{“@type”:”ImageObject”,”url”:”https://icdn2.digitaltrends.com/image/digitaltrends/spotify-rap-caviar-playlist.jpg”,”width”:1500,”height”:1000},”publisher”:{“@type”:”Organization”,”name”:”Digital Trends”,”url”:”https://www.digitaltrends.com”,”logo”:{“@type”:”ImageObject”,”url”:”https://cdn.dtcn.com/dt/dt-logo-small.png”}},”keywords”:[“Spotify”]},[]]

#wpadminbar { display:none; }

window.OneSignal = window.OneSignal || [];

OneSignal.push( function() {
OneSignal.SERVICE_WORKER_UPDATER_PATH = “OneSignalSDKUpdaterWorker.js.php”;
OneSignal.SERVICE_WORKER_PATH = “OneSignalSDKWorker.js.php”;
OneSignal.SERVICE_WORKER_PARAM = { scope: ‘/’ };

OneSignal.setDefaultNotificationUrl(“https://www.digitaltrends.com”);
var oneSignal_options = {};
window._oneSignalInitOptions = oneSignal_options;

oneSignal_options[‘wordpress’] = true;
oneSignal_options[‘appId’] = ’87a1768e-b153-4fcf-9039-77585a740492′;
oneSignal_options[‘autoRegister’] = true;
oneSignal_options[‘welcomeNotification’] = { };
oneSignal_options[‘welcomeNotification’][‘disable’] = true;
oneSignal_options[‘path’] = “https://www.digitaltrends.com/wp-content/plugins/onesignal-free-web-push-notifications/sdk_files/”;
oneSignal_options[‘safari_web_id’] = “web.onesignal.auto.6b31cc7e-8212-45ce-95eb-ed8c35d3e69c”;
oneSignal_options[‘persistNotification’] = false;
oneSignal_options[‘promptOptions’] = { };
OneSignal.init(window._oneSignalInitOptions);
});

function documentInitOneSignal() {
var oneSignal_elements = document.getElementsByClassName(“OneSignal-prompt”);

var oneSignalLinkClickHandler = function(event) { OneSignal.push([‘registerForPushNotifications’]); event.preventDefault(); }; for(var i = 0; i < oneSignal_elements.length; i++)
oneSignal_elements[i].addEventListener('click', oneSignalLinkClickHandler, false);
}

if (document.readyState === 'complete') {
documentInitOneSignal();
}
else {
window.addEventListener("load", function(event){
documentInitOneSignal();
});
}

(function(dtdata){
dtdata.set({
‘ajax_url’: ‘https://www.digitaltrends.com/wp-content/themes/dt-stardust/ajax-actions.php’,
‘https’: ‘on’,
‘admin’: ”,
‘region’: ‘EU’,
‘canonical_url’: ‘https://www.digitaltrends.com/home-theater/how-to-upload-music-to-spotify/’,
‘post_id’: ‘2376150’,
‘post_title’: ‘How to upload music to Spotify so you can listen to your own tunes everywhere’,
‘page_type’: ‘single’,
‘post_type’: ‘post’,
‘post_author’: ‘Simon Cohen’,
‘post_status’: ‘publish’,
‘publish_date’: ‘1566518400’,
‘publish_date_by_day’: ‘20190823’,
‘word_count’: ‘1210’,
‘preview’: ‘0’,
‘header_media_type’: ”,
‘header_media_location’: ”,
‘category’: [“home-theater”,”how-to”],
‘post_tag’: [“spotify”],
‘post_format’: [],
‘yst_prominent_words’: [“app”,”desktop”,”desktop-app”,”files”,”files-feature”,”local”,”local-files”,”local-files-feature”,”mobile-device”,”music”,”personal-music”,”personal-music-collection”,”playlist”,”show-up-on-your-mobile”,”songs”,”spotify”,”spotifys-local-files”,”spotifys-local-files-feature”,”tracks”,”wi-fi-network”],
‘taxonomies’: {“category”:[{“term_id”:7,”name”:”Home Theater”,”slug”:”home-theater”},{“term_id”:20,”name”:”How-To”,”slug”:”how-to”}],”post_tag”:[{“term_id”:29736,”name”:”Spotify”,”slug”:”spotify”}],”post_format”:[],”yst_prominent_words”:[{“term_id”:215381,”name”:”app”,”slug”:”app”},{“term_id”:216533,”name”:”desktop”,”slug”:”desktop”},{“term_id”:228742,”name”:”desktop app”,”slug”:”desktop-app”},{“term_id”:216950,”name”:”files”,”slug”:”files”},{“term_id”:956018,”name”:”files feature”,”slug”:”files-feature”},{“term_id”:217670,”name”:”local”,”slug”:”local”},{“term_id”:439640,”name”:”local files”,”slug”:”local-files”},{“term_id”:956017,”name”:”local files feature”,”slug”:”local-files-feature”},{“term_id”:227373,”name”:”mobile device”,”slug”:”mobile-device”},{“term_id”:217486,”name”:”music”,”slug”:”music”},{“term_id”:956036,”name”:”personal music”,”slug”:”personal-music”},{“term_id”:958102,”name”:”personal music collection”,”slug”:”personal-music-collection”},{“term_id”:217493,”name”:”playlist”,”slug”:”playlist”},{“term_id”:958300,”name”:”show up on your mobile”,”slug”:”show-up-on-your-mobile”},{“term_id”:217485,”name”:”songs”,”slug”:”songs”},{“term_id”:217494,”name”:”spotify”,”slug”:”spotify”},{“term_id”:956023,”name”:”spotify’s local files”,”slug”:”spotifys-local-files”},{“term_id”:956025,”name”:”spotify’s local files feature”,”slug”:”spotifys-local-files-feature”},{“term_id”:221675,”name”:”tracks”,”slug”:”tracks”},{“term_id”:227720,”name”:”wi-fi network”,”slug”:”wi-fi-network”}]},
‘primary_category’: ‘home-theater’,
‘primary_category_name’: ‘Home Theater’,
‘primary_category_url’: ‘https://www.digitaltrends.com/home-theater/’,
‘categories’: ‘home-theater,how-to’,
‘article_type’: ‘evergreen’,
‘structured_data’: [“Article”],
‘adsettings’: {“slots”:{“atn”:{“class”:”dtads-slot-atn”,”sizes”:[[2560,256],[970,250],[728,90]],”keyvals”:{“type”:”roadblock”,”loc”:”atn”}},”atn-tablet”:{“class”:”dtads-slot-atn-tablet”,”sizes”:[[728,90],[728,230]],”keyvals”:{“type”:”roadblock”,”loc”:”atn”}},”atn-mobile”:{“class”:”dtads-slot-atn-mobile”,”sizes”:[[320,50],[320,100],[480,90]],”keyvals”:{“type”:”roadblock”,”loc”:”atn”}},”hub”:{“class”:”dtads-slot-hub”,”sizes”:[[2560,450],[970,250],[728,90]],”keyvals”:{“type”:”roadblock”,”preRenderCollapse”:true,”loc”:”hub”,”refreshLocked”:true}},”hub-mobile”:{“class”:”dtads-slot-hub-mobile”,”sizes”:[[2560,450],[320,250],[300,250]],”keyvals”:{“type”:”roadblock”,”preRenderCollapse”:true,”loc”:”hub”}},”out_of_page”:{“class”:”dtads-out-of-page”,”keyvals”:{“type”:”roadblock”,”refreshLocked”:true}},”leaderboard”:{“class”:”dtads-slot-leaderboard”,”sizes”:[[728,90],[950,250],[970,66],[970,90],[970,250],[970,418],[970,200],[940,230],[970,300]],”keyvals”:{“type”:”roadblock”,”loc”:”lb”}},”leaderboard_tablet”:{“class”:”dtads-slot-leaderboard-tablet”,”sizes”:[[728,90],[728,230]],”keyvals”:{“type”:”roadblock”,”loc”:”lb”}},”leaderboard_mobile”:{“class”:”dtads-slot-leaderboard-mobile”,”sizes”:[[320,50],[320,100]],”keyvals”:{“loc”:”lb”}},”leaderboard_limited”:{“class”:”dtads-slot-leaderboard”,”sizes”:[[728,90]],”keyvals”:{“type”:”roadblock”,”loc”:”lb”}},”board”:{“class”:”dtads-slot-board”,”sizes”:[[728,90]]},”board_content”:{“class”:”dtads-slot-board-content”,”sizes”:[[970,485],[970,250],[728,90]],”keyvals”:{“loc”:”content”}},”mpu”:{“class”:”dtads-slot-mpu”,”sizes”:[[300,250]]},”mpu_roadblock”:{“class”:”dtads-slot-mpu-roadblock”,”sizes”:[[300,250]],”keyvals”:{“type”:”roadblock”}},”mpu_sticky”:{“class”:”dtads-slot-mpu-sticky”,”sizes”:[[300,250]]},”mpu_sticky_variable”:{“class”:”dtads-slot-mpu-sticky-variable”,”sizes”:[[300,250],[300,600]],”keyvals”:{“loc”:”sb”}},”mpu_content”:{“class”:”dtads-slot-mpu-content”,”sizes”:[[300,250]],”keyvals”:{“loc”:”content”}},”mpu_variable_mobile”:{“class”:”dtads-slot-mpu-variable-mobile”,”sizes”:[[300,250],[320,480],[350,480]]},”mpu_content_mobile”:{“class”:”dtads-slot-mpu-content-mobile”,”sizes”:[[320,50],[320,100],[300,50],[300,250],[320,480],[350,480]],”keyvals”:{“loc”:”content”}},”halfpage”:{“class”:”dtads-slot-half”,”sizes”:[[300,250],[300,600]]},”halfpage_roadblock”:{“class”:”dtads-slot-half-roadblock”,”sizes”:[[300,250],[300,600]],”keyvals”:{“type”:”roadblock”}},”mp”:{“sizes”:[970,600],”keyvals”:{“refreshLocked”:true},”class”:”dtads-slot-mp”}},”keyvals”:{“tags”:[“spotify”],”cat”:[“home-theater”,”how-to”,”trending”],”supports”:[“bt”,”mp”,”skin”],”aid”:2376150},”lazy_loading”:{“desktop”:{“enabled”:1,”threshold”:350},”tablet”:{“enabled”:1,”threshold”:300},”mobile”:{“enabled”:1,”threshold”:1000}},”refresh_interval”:26,”refresh_timeout”:600,”render_lock”:11,”prebid”:{“desktop”:{“enabled”:1,”timeout”:1900},”tablet”:{“enabled”:1,”timeout”:1900},”mobile”:{“enabled”:1,”timeout”:1900}},”injector”:{“desktop”:0.9,”mobile”:0.9}},
});
}(DTData));

window.dataLayer = window.dataLayer || [];
(function(dtdata, dataLayer){
dataLayer.push(dtdata.getAll());
dtdata.addCallback(function(key, val){
if (key) {
if (typeof key == ‘object’) {
dataLayer.push(key);
} else {
var obj = {};
obj[key] = val;
dataLayer.push(obj);
}
}
});
}(DTData, dataLayer));

(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({‘gtm.start’:
new Date().getTime(),event:’gtm.js’});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!=’dataLayer’?’&l=’+l:”;j.async=true;j.src=
‘//www.googletagmanager.com/gtm.js?id=’+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,’script’,’dataLayer’,’GTM-WKFXF7′);

(function(DTEvent) {
DTEvent.getEventPromise(‘dt:live:ready’)
.then(function(data) {
var liveVideoId = data[0];
if (liveVideoId) {
document.querySelector(‘.h-site-head-brand’).insertAdjacentHTML(
‘afterend’,


);
}
})
.catch(function(err) {
DTLogger.error(err);
});
}(DTEvent, DTLogger));

How to upload music to Spotify so you can listen to your own tunes everywhere


Share

Spotify’s library of on-demand streaming music is huge — about 40 million tracks — which means most people should be able to find their favorite songs and artists with ease. But what if your personal collection includes some rarities or Spotify simply doesn’t have the rights to a particular artist’s catalog? No problem. Spotify’s Local Files feature lets you access your personal collection right within the app and even create playlists that mix Spotify’s songs with your own songs. Here’s how it works.

Syncing, not uploading

Before we start, we should clarify two things about the Local Files feature in Spotify. First, you need a Spotify Premium account subscription to use it — the ad-supported version will not play your personal tracks. Second, Spotify’s Local Files feature doesn’t actually upload your songs to the cloud. Instead, Spotify lets you indicate which folders or locations on your device contain your personal music and then gives you the ability to sync those tracks to another Spotify-enabled device across a Wi-Fi network. It’s not quite as handy or as powerful as actually uploading tracks to the cloud, but for most people, it will accomplish the same thing: Being able to access your own music within Spotify, wherever you go.

Desktop app is a must

spotify helpful tips and tricks windows 10 curated

The Local Files feature gives you access to your personal music collection on both desktop and mobile versions of the Spotify app, but synchronization of tracks is a one-way process, from the desktop to all of your other devices. In other words, though you may have music loaded on your phone in an Android music folder, or in iTunes, these files won’t work with the Local Files feature.

To get Local Files configured, download and install the Spotify desktop app for Windows or MacOS (Linux and other platforms are also supported) if you haven’t already done so.

Find your music

how to upload music spotify local files 1

Go to the settings section of the desktop app. For Windows, you’ll find that it in the main menu (the three dots in the top left corner of the app), under Edit, then select Preferences.

Scroll down until you see Local Files, and make sure the Show Local Files switch is turned on. Under the next heading, “Show songs from” you’ll see that Downloads and Music Libary have already been preselected. You can also add any folder you like by clicking the Add a Source button and navigating to wherever you keep your tracks. Repeat this step for all of the folders that are in different parts of your computer. If everything is under a single folder, just add that top location and Spotify will do the work. To check to see if your music has been added, click Local Files under Your Library in the main menu — you should see the total number of songs and the total cumulative playtime.

Not all music

how to upload music spotify local files 3

If you try to add a folder and it doesn’t immediately show up under “Show songs from” —  or the folder shows up, but not all of your songs are listed when you browse Local Files — there’s a good chance your music isn’t in one of the formats that Spotify supports. It’s a bit picky: Only MP3, MP4, and M4P files are compatible with the Local Files feature, which will no doubt frustrate anyone with an extensive FLAC collection, or those who have chosen to rip their CDs using Apple’s lossless ALAC format. If you need help converting your tracks into one of these supported formats, we’ve got a handy set of how-tos:

Create a playlist

how to upload music spotify local files 41

Spotify isn’t just fussy about file formats. If you want to sync your personal music collection across devices, all of those songs need to belong to one or more playlists. Those playlists act as sync lists, in effect, so that Spotify doesn’t take up a massive amount of room storing your music on every device if you only want a select few. Playlists are your way of indicating which of your tracks you want on your other devices.

how to upload music spotify local files 5

Once you’ve created a playlist with the songs you want to sync (though it can also include songs from the Spotify library too) this new playlist should show up on your mobile device in the Your Library tab, under Playlists.

Download your songs

Getting the new playlist to show up on your mobile app is only half the battle. Initially, you’ll see the playlist you created, but it will be empty — except for any Spotify tracks you’ve included. You won’t be able to play any of those songs from your computer until you download (sync) them from your desktop app. This is where location matters: Your desktop app machine and your mobile device must both have the Spotify app, must both be signed in under the same account, and most importantly, they must both be on the same Wi-Fi network.

If all this is good to go, select the playlist, then tap the three-dot menu to bring up the playlist options. Then tap “Download.” The playlist album art will begin to show up, and then shortly thereafter (depending on the speed of your Wi-Fi network and how busy your desktop machine is) your local songs will be available on your mobile device.

It’s all about the list

Because Spotify likes to manage local files via playlists, these lists are also what determines whether your downloaded local music stays on your device or not. If you delete a playlist that contains the only record of certain local files, those files will no longer be accessible. You’ll have to create and sync a new playlist that contains them or add them to an existing playlist on your desktop machine.

So there you have it. You can’t upload your music to Spotify as you can with Google Play Music or Apple Music, but you can still keep your favorite songs synced across your Spotify devices using the Local Files feature.

Editors’ Recommendations




<a href="” class=”b-brief__hot” target=””>

<img src="” alt=””>

(function() {
window.dtadsKeyvals = {“tags”:[“spotify”],”cat”:[“home-theater”,”how-to”,”trending”],”supports”:[“bt”,”mp”,”skin”],”aid”:2376150};
window.dtadsSlotTypes = {“atn”:{“class”:”dtads-slot-atn”,”sizes”:[[2560,256],[970,250],[728,90]],”keyvals”:{“type”:”roadblock”,”loc”:”atn”}},”atn-tablet”:{“class”:”dtads-slot-atn-tablet”,”sizes”:[[728,90],[728,230]],”keyvals”:{“type”:”roadblock”,”loc”:”atn”}},”atn-mobile”:{“class”:”dtads-slot-atn-mobile”,”sizes”:[[320,50],[320,100],[480,90]],”keyvals”:{“type”:”roadblock”,”loc”:”atn”}},”hub”:{“class”:”dtads-slot-hub”,”sizes”:[[2560,450],[970,250],[728,90]],”keyvals”:{“type”:”roadblock”,”preRenderCollapse”:true,”loc”:”hub”,”refreshLocked”:true}},”hub-mobile”:{“class”:”dtads-slot-hub-mobile”,”sizes”:[[2560,450],[320,250],[300,250]],”keyvals”:{“type”:”roadblock”,”preRenderCollapse”:true,”loc”:”hub”}},”out_of_page”:{“class”:”dtads-out-of-page”,”keyvals”:{“type”:”roadblock”,”refreshLocked”:true}},”leaderboard”:{“class”:”dtads-slot-leaderboard”,”sizes”:[[728,90],[950,250],[970,66],[970,90],[970,250],[970,418],[970,200],[940,230],[970,300]],”keyvals”:{“type”:”roadblock”,”loc”:”lb”}},”leaderboard_tablet”:{“class”:”dtads-slot-leaderboard-tablet”,”sizes”:[[728,90],[728,230]],”keyvals”:{“type”:”roadblock”,”loc”:”lb”}},”leaderboard_mobile”:{“class”:”dtads-slot-leaderboard-mobile”,”sizes”:[[320,50],[320,100]],”keyvals”:{“loc”:”lb”}},”leaderboard_limited”:{“class”:”dtads-slot-leaderboard”,”sizes”:[[728,90]],”keyvals”:{“type”:”roadblock”,”loc”:”lb”}},”board”:{“class”:”dtads-slot-board”,”sizes”:[[728,90]]},”board_content”:{“class”:”dtads-slot-board-content”,”sizes”:[[970,485],[970,250],[728,90]],”keyvals”:{“loc”:”content”}},”mpu”:{“class”:”dtads-slot-mpu”,”sizes”:[[300,250]]},”mpu_roadblock”:{“class”:”dtads-slot-mpu-roadblock”,”sizes”:[[300,250]],”keyvals”:{“type”:”roadblock”}},”mpu_sticky”:{“class”:”dtads-slot-mpu-sticky”,”sizes”:[[300,250]]},”mpu_sticky_variable”:{“class”:”dtads-slot-mpu-sticky-variable”,”sizes”:[[300,250],[300,600]],”keyvals”:{“loc”:”sb”}},”mpu_content”:{“class”:”dtads-slot-mpu-content”,”sizes”:[[300,250]],”keyvals”:{“loc”:”content”}},”mpu_variable_mobile”:{“class”:”dtads-slot-mpu-variable-mobile”,”sizes”:[[300,250],[320,480],[350,480]]},”mpu_content_mobile”:{“class”:”dtads-slot-mpu-content-mobile”,”sizes”:[[320,50],[320,100],[300,50],[300,250],[320,480],[350,480]],”keyvals”:{“loc”:”content”}},”halfpage”:{“class”:”dtads-slot-half”,”sizes”:[[300,250],[300,600]]},”halfpage_roadblock”:{“class”:”dtads-slot-half-roadblock”,”sizes”:[[300,250],[300,600]],”keyvals”:{“type”:”roadblock”}},”mp”:{“sizes”:[970,600],”keyvals”:{“refreshLocked”:true},”class”:”dtads-slot-mp”}};
window.dtadsPrebid = {“desktop”:{“enabled”:1,”timeout”:1900},”tablet”:{“enabled”:1,”timeout”:1900},”mobile”:{“enabled”:1,”timeout”:1900}};
window.dtadsInjector = {“desktop”:0.9,”mobile”:0.9};

window.dtadsLazy = {“desktop”:{“enabled”:1,”threshold”:350},”tablet”:{“enabled”:1,”threshold”:300},”mobile”:{“enabled”:1,”threshold”:1000}};
window.dtadsRefresh = {
interval: 26 * 1000,
timeout: 600 * 1000,
lock: 11 * 1000,
};

console.log(‘DTAds Config’, {
dtadsKeyvals: window.dtadsKeyvals,
dtadsSlotTypes: window.dtadsSlotTypes,
dtadsLazy: window.dtadsLazy,
dtadsRefresh: window.dtadsRefresh,
dtadsPrebid: window.dtadsPrebid,
dtadsInjector: window.dtadsInjector,
});
}());

// window.dataLayer = window.dataLayer || [];
(function(vent, dtdata, dataLayer) {

vent.on(‘dt:dynamic_components:user_data_available’, function(user_data) {
dtdata.set({
‘logged_in’: 1,
‘user_id’: user_data.user_ID,
‘client_ip’: user_data.ip_address,
‘user_roles’: user_data.roles
});
} );

vent.on(‘dt:dynamic_components:guest_ip_available’, function(ip_address) {
dtdata.set({
‘logged_in’: 0,
‘client_ip’: ip_address
});
} );

vent.on(‘dt:dynamic_components:user_ready’, function() {
dataLayer.push({
‘event’: ‘user_ready’
});
} );

}(DTEvent, DTData, dataLayer));

(function() {
‘use strict’;

var stage = 1;
var options = {“global”:{“ajaxurl”:”https://www.digitaltrends.com/wp-content/themes/dt-stardust/ajax-actions.php”,”home”:”https://www.digitaltrends.com”},”dt:theme”:{“tos_url”:”https://www.digitaltrends.com/terms-of-use/”,”pp_url”:”https://www.digitaltrends.com/privacy-policy/”},”dt-post-pool”:{“blacklist”:[1404698,2374291,461879,451587,2372311,2376857,1400673,714308],”lists”:{“default”:{“key”:”default”,”fetchDetails”:{“data”:{“post_id”:2376150,”post_type”:”post”},”type”:”discovery”},”posts”:[{“authorName”:”Josh Levenson”,”authorURL”:”https://www.digitaltrends.com/users/jlevenson/”,”date”:”2019-08-20 14:37:02″,”dateModified”:”2019-08-20 14:37:06″,”displayDate”:”3 hours ago”,”excerpt”:”Did you know you can download up to 3,333 songs on your device with Spotify Premium? The process is incredibly straightforward, too, and literally takes seconds. Here’s how to do it.”,”id”:1404698,”images”:{“full”:”https://icdn6.digitaltrends.com/image/digitaltrends/spotify-ipo-lifestyle-1500×1000.jpg”,”large”:”https://icdn7.digitaltrends.com/image/digitaltrends/spotify-ipo-lifestyle-720×720.jpg”,”medium”:”https://icdn8.digitaltrends.com/image/digitaltrends/spotify-ipo-lifestyle-325×325.jpg”,”thumbnail”:”https://icdn9.digitaltrends.com/image/digitaltrends/spotify-ipo-lifestyle-220×220.jpg”},”postType”:”post”,”title”:”How to download songs from Spotify”,”url”:”https://www.digitaltrends.com/music/how-to-download-songs-from-spotify/”},{“authorName”:”Simon Cohen”,”authorURL”:”https://www.digitaltrends.com/users/simoncohen/”,”date”:”2019-08-19 10:57:20″,”dateModified”:”2019-08-20 10:12:24″,”displayDate”:”3 hours ago”,”excerpt”:”Everyone knows what an MP3 is — the longtime standard for digital music. But what is an MP4? Do they sound better? Should you stop using MP3 files for your favorite music? Good questions! We have the answers right here.”,”id”:2374291,”images”:{“full”:”https://icdn4.digitaltrends.com/image/digitaltrends/mp4-to-mp3-650×500.jpg”,”large”:”https://icdn2.digitaltrends.com/image/digitaltrends/mp4-to-mp3-720×720.jpg”,”medium”:”https://icdn2.digitaltrends.com/image/digitaltrends/mp4-to-mp3-325×325.jpg”,”thumbnail”:”https://icdn3.digitaltrends.com/image/digitaltrends/mp4-to-mp3-220×220.jpg”},”postType”:”post”,”title”:”MP3 vs. MP4: What’s the difference and which one is better?”,”url”:”https://www.digitaltrends.com/home-theater/mp3-vs-mp4/”},{“authorName”:”Anita George”,”authorURL”:”https://www.digitaltrends.com/users/ageorge/”,”date”:”2019-08-17 10:30:00″,”dateModified”:”2019-08-17 10:30:14″,”displayDate”:”3 hours ago”,”excerpt”:”FLAC files sound awesome u2014 that is, if your device can handle the lossless format. No matter your OS there’s a converter for you. Here’s how to convert FLAC to MP3, so you no longer have to worry about incompatibility issues.”,”id”:461879,”images”:{“full”:”https://icdn4.digitaltrends.com/image/digitaltrends/macbook-air-2018-review-5874-1920×1280.jpg”,”large”:”https://icdn7.digitaltrends.com/image/digitaltrends/macbook-air-2018-review-5874-720×720.jpg”,”medium”:”https://icdn8.digitaltrends.com/image/digitaltrends/macbook-air-2018-review-5874-325×325.jpg”,”thumbnail”:”https://icdn9.digitaltrends.com/image/digitaltrends/macbook-air-2018-review-5874-220×220.jpg”},”postType”:”post”,”title”:”How to convert FLAC to MP3″,”url”:”https://www.digitaltrends.com/computing/how-to-convert-flac-to-mp3/”},{“authorName”:”Brie Barbee”,”authorURL”:”https://www.digitaltrends.com/users/bbarbee/”,”date”:”2019-08-16 15:22:03″,”dateModified”:”2019-08-16 15:22:06″,”displayDate”:”3 hours ago”,”excerpt”:”Have you ever taken a beautiful video, only to have it ruined by some jerk in the background yelling curse words? Here’s a list of apps you can use to add your own music to Instagram posts as well as your Story.”,”id”:451587,”images”:{“full”:”https://icdn4.digitaltrends.com/image/digitaltrends/art404-instagram-iphone-1200×800.jpg”,”large”:”https://icdn2.digitaltrends.com/image/digitaltrends/art404-instagram-iphone-720×720.jpg”,”medium”:”https://icdn3.digitaltrends.com/image/digitaltrends/art404-instagram-iphone-325×325.jpg”,”thumbnail”:”https://icdn4.digitaltrends.com/image/digitaltrends/art404-instagram-iphone-220×220.jpg”},”postType”:”post”,”title”:”How to add music to Instagram videos”,”url”:”https://www.digitaltrends.com/social-media/how-to-add-music-to-instagram/”},{“authorName”:”Josh Levenson”,”authorURL”:”https://www.digitaltrends.com/users/jlevenson/”,”date”:”2019-08-20 16:16:38″,”dateModified”:”2019-08-23 09:14:05″,”displayDate”:”3 hours ago”,”excerpt”:”It’s no secret that OnePlus is working on a range of 4K TVs. Heck, we’ve known that since CEO Pete Lau announced the endeavor in 2018. But more details have emerged since then. Here’s everything we know about the OnePlus TV.”,”id”:2372311,”images”:{“full”:”https://icdn4.digitaltrends.com/image/digitaltrends/oneplus-logo-2-1456×842.jpg”,”large”:”https://icdn2.digitaltrends.com/image/digitaltrends/oneplus-logo-2-720×720.jpg”,”medium”:”https://icdn3.digitaltrends.com/image/digitaltrends/oneplus-logo-2-325×325.jpg”,”thumbnail”:”https://icdn4.digitaltrends.com/image/digitaltrends/oneplus-logo-2-220×220.jpg”},”postType”:”post”,”title”:”OnePlus TV: Everything we know about the upcoming 4K TV”,”url”:”https://www.digitaltrends.com/home-theater/oneplus-tv-sizes-release-date-specs/”},{“authorName”:”Simon Cohen”,”authorURL”:”https://www.digitaltrends.com/users/simoncohen/”,”date”:”2019-08-21 11:28:20″,”dateModified”:”2019-08-21 11:28:20″,”displayDate”:”3 hours ago”,”excerpt”:”A weekly chart/playlist has been added to Apple Music and it’s powered by the Shazam identification app”,”id”:2376857,”images”:{“full”:”https://icdn4.digitaltrends.com/image/digitaltrends/apple-music-shazam-discovery-657×374.jpg”,”large”:”https://icdn6.digitaltrends.com/image/digitaltrends/apple-music-shazam-discovery-720×720.jpg”,”medium”:”https://icdn3.digitaltrends.com/image/digitaltrends/apple-music-shazam-discovery-325×325.jpg”,”thumbnail”:”https://icdn4.digitaltrends.com/image/digitaltrends/apple-music-shazam-discovery-220×220.jpg”},”postType”:”post”,”title”:”Apple Music takes a peek at what people are Shazaming for new weekly playlist”,”url”:”https://www.digitaltrends.com/home-theater/apple-music-shazam-discovery-playlist/”},{“authorName”:”Rick Marshall”,”authorURL”:”https://www.digitaltrends.com/users/rick_marshall/”,”date”:”2019-08-21 11:59:12″,”dateModified”:”2019-08-21 15:59:10″,”displayDate”:”3 hours ago”,”excerpt”:”Here’s our complete list of what’s new on Hulu for September 2019, including our personal favorites.”,”id”:1400673,”images”:{“full”:”https://icdn4.digitaltrends.com/image/digitaltrends/evil-dead-row-655×300.jpg”,”large”:”https://icdn2.digitaltrends.com/image/digitaltrends/evil-dead-row-720×720.jpg”,”medium”:”https://icdn3.digitaltrends.com/image/digitaltrends/evil-dead-row-325×325.jpg”,”thumbnail”:”https://icdn4.digitaltrends.com/image/digitaltrends/evil-dead-row-220×220.jpg”},”postType”:”post”,”title”:”What’s new on Hulu in September, and what’s leaving soon”,”url”:”https://www.digitaltrends.com/home-theater/new-on-hulu/”},{“authorName”:”Parker Hall”,”authorURL”:”https://www.digitaltrends.com/users/phallpdx/”,”date”:”2019-08-21 12:57:40″,”dateModified”:”2019-08-21 12:57:45″,”displayDate”:”3 hours ago”,”excerpt”:”Our complete list of what’s new on Netflix for September 2019 will help you catch up on your bingeing.”,”id”:714308,”images”:{“full”:”https://icdn6.digitaltrends.com/image/digitaltrends/xfinity-netflix-app-960×640.jpg”,”large”:”https://icdn7.digitaltrends.com/image/digitaltrends/xfinity-netflix-app-720×720.jpg”,”medium”:”https://icdn8.digitaltrends.com/image/digitaltrends/xfinity-netflix-app-325×325.jpg”,”thumbnail”:”https://icdn9.digitaltrends.com/image/digitaltrends/xfinity-netflix-app-220×220.jpg”},”postType”:”post”,”title”:”What’s new on Netflix and what’s leaving in September 2019″,”url”:”https://www.digitaltrends.com/home-theater/new-on-netflix/”},{“authorName”:”Ed Oswald”,”authorURL”:”https://www.digitaltrends.com/users/edoswald/”,”date”:”2019-08-21 15:01:34″,”dateModified”:”2019-08-21 15:01:34″,”displayDate”:”3 hours ago”,”excerpt”:”Amazon’s selling a 43-inch Toshiba 4K Fire TV for the lowest price we’ve seen for 4K anywhere.”,”id”:2376939,”images”:{“full”:”https://icdn5.digitaltrends.com/image/digitaltrends/toshiba-43lf621u19-43-inch-4k-ultra-hd-smart-led-tv-hdr-fire-tv-edition-1-1000×671.jpg”,”large”:”https://icdn5.digitaltrends.com/image/digitaltrends/toshiba-43lf621u19-43-inch-4k-ultra-hd-smart-led-tv-hdr-fire-tv-edition-1-720×720.jpg”,”medium”:”https://icdn2.digitaltrends.com/image/digitaltrends/toshiba-43lf621u19-43-inch-4k-ultra-hd-smart-led-tv-hdr-fire-tv-edition-1-325×325.jpg”,”thumbnail”:”https://icdn3.digitaltrends.com/image/digitaltrends/toshiba-43lf621u19-43-inch-4k-ultra-hd-smart-led-tv-hdr-fire-tv-edition-1-220×220.jpg”},”postType”:”post”,”title”:”A 4K TV for $200? Toshiba’s 43-inch Fire TV Edition is on sale at Amazon”,”url”:”https://www.digitaltrends.com/dtdeals/toshiba-43-inch-4k-tv-amazon-deal/”},{“authorName”:”Ed Oswald”,”authorURL”:”https://www.digitaltrends.com/users/edoswald/”,”date”:”2019-08-21 15:25:29″,”dateModified”:”2019-08-21 15:25:29″,”displayDate”:”3 hours ago”,”excerpt”:”Walmart has select Beats’ Solo3 headphone models marked down this week, but stock is limited.”,”id”:2377063,”images”:{“full”:”https://icdn4.digitaltrends.com/image/digitaltrends/beats-solo3-wireles3-1142×761.jpg”,”large”:”https://icdn6.digitaltrends.com/image/digitaltrends/beats-solo3-wireles3-720×720.jpg”,”medium”:”https://icdn2.digitaltrends.com/image/digitaltrends/beats-solo3-wireles3-325×325.jpg”,”thumbnail”:”https://icdn3.digitaltrends.com/image/digitaltrends/beats-solo3-wireles3-220×220.jpg”},”postType”:”post”,”title”:”Walmart marks down select Beats Solo3 headphones by as much as 47%”,”url”:”https://www.digitaltrends.com/dtdeals/beats-solo3-headphones-walmart/”},{“authorName”:”Simon Cohen”,”authorURL”:”https://www.digitaltrends.com/users/simoncohen/”,”date”:”2019-08-22 07:34:34″,”dateModified”:”2019-08-22 07:34:34″,”displayDate”:”3 hours ago”,”excerpt”:”If you think Apple’s AirPods ought to have water resistance or noise-cancellation, and you wish Apple would drop the price of its HomePod smart speaker, you may be in luck.”,”id”:2377399,”images”:{“full”:”https://icdn2.digitaltrends.com/image/digitaltrends/apple-airpods-gen-2_feat-1500×750.jpg”,”large”:”https://icdn3.digitaltrends.com/image/digitaltrends/apple-airpods-gen-2_feat-720×720.jpg”,”medium”:”https://icdn4.digitaltrends.com/image/digitaltrends/apple-airpods-gen-2_feat-325×325.jpg”,”thumbnail”:”https://icdn5.digitaltrends.com/image/digitaltrends/apple-airpods-gen-2_feat-220×220.jpg”},”postType”:”post”,”title”:”Apple is readying noise-canceling AirPods and a cheaper HomePod”,”url”:”https://www.digitaltrends.com/home-theater/apple-noise-canceling-airpods-cheaper-homepod/”},{“authorName”:”Josh Levenson”,”authorURL”:”https://www.digitaltrends.com/users/jlevenson/”,”date”:”2019-08-22 07:48:00″,”dateModified”:”2019-08-22 07:48:04″,”displayDate”:”3 hours ago”,”excerpt”:”Since no single aspect of your home theater setup is more important than your display, we weigh in on the projectors vs. TVs debate. We’ve put together this comprehensive guide to help you find the right option for your lifestyle.”,”id”:938745,”images”:{“full”:”https://icdn1.digitaltrends.com/image/digitaltrends/projector-vs-tv-1620×1080.jpg”,”large”:”https://icdn2.digitaltrends.com/image/digitaltrends/projector-vs-tv-720×720.jpg”,”medium”:”https://icdn3.digitaltrends.com/image/digitaltrends/projector-vs-tv-325×325.jpg”,”thumbnail”:”https://icdn4.digitaltrends.com/image/digitaltrends/projector-vs-tv-220×220.jpg”},”postType”:”post”,”title”:”Projectors vs. TVs: Which is best for your home theater?”,”url”:”https://www.digitaltrends.com/home-theater/projectors-vs-tvs/”},{“authorName”:”Simon Cohen”,”authorURL”:”https://www.digitaltrends.com/users/simoncohen/”,”date”:”2019-08-22 09:28:46″,”dateModified”:”2019-08-22 09:28:46″,”displayDate”:”3 hours ago”,”excerpt”:”In advance of Sonos’ much-leaked launch of its first Bluetooth speaker, Bose has dropped its own portable smart speaker — the $349 Bose Portable Home Speaker.”,”id”:2377448,”images”:{“full”:”https://icdn4.digitaltrends.com/image/digitaltrends/bose_portable_home_speaker_silver-1-1500×1000.jpg”,”large”:”https://icdn2.digitaltrends.com/image/digitaltrends/bose_portable_home_speaker_silver-1-720×720.jpg”,”medium”:”https://icdn3.digitaltrends.com/image/digitaltrends/bose_portable_home_speaker_silver-1-325×325.jpg”,”thumbnail”:”https://icdn4.digitaltrends.com/image/digitaltrends/bose_portable_home_speaker_silver-1-220×220.jpg”},”postType”:”post”,”title”:”Bose’s $349 portable smart speaker with Bluetooth aims to steal Sonos’ thunder”,”url”:”https://www.digitaltrends.com/home-theater/bose-bluetooth-portable-smart-speaker/”},{“authorName”:”Josh Levenson”,”authorURL”:”https://www.digitaltrends.com/users/jlevenson/”,”date”:”2019-08-22 10:48:25″,”dateModified”:”2019-08-22 10:48:25″,”displayDate”:”3 hours ago”,”excerpt”:”Usually $700, the Chromecast-touting 65-inch Vizio D-Series 4K TV on sale for a cracking $220 off.”,”id”:2377301,”images”:{“full”:”https://icdn4.digitaltrends.com/image/digitaltrends/vizio-d-series-0013-970×647.jpg”,”large”:”https://icdn5.digitaltrends.com/image/digitaltrends/vizio-d-series-0013-720×720.jpg”,”medium”:”https://icdn6.digitaltrends.com/image/digitaltrends/vizio-d-series-0013-325×325.jpg”,”thumbnail”:”https://icdn7.digitaltrends.com/image/digitaltrends/vizio-d-series-0013-220×220.jpg”},”postType”:”post”,”title”:”You won’t find a better deal on a 65-inch Vizio 4K TV than this”,”url”:”https://www.digitaltrends.com/dtdeals/vizio-65-inch-4k-tv-deal-d-series-walmart-summer-sale/”},{“authorName”:”Rick Marshall”,”authorURL”:”https://www.digitaltrends.com/users/rick_marshall/”,”date”:”2019-08-22 11:34:09″,”dateModified”:”2019-08-22 11:34:12″,”displayDate”:”3 hours ago”,”excerpt”:”September 2019 brings season 3 of The Deuce and Room 104, as well as the premieres of Isn’t It Romantic and The Lego Movie 2 to HBO subscribers.”,”id”:795411,”images”:{“full”:”https://icdn4.digitaltrends.com/image/digitaltrends/james-franco-the-deuce-1500×844.jpg”,”large”:”https://icdn3.digitaltrends.com/image/digitaltrends/james-franco-the-deuce-720×720.jpg”,”medium”:”https://icdn4.digitaltrends.com/image/digitaltrends/james-franco-the-deuce-325×325.jpg”,”thumbnail”:”https://icdn5.digitaltrends.com/image/digitaltrends/james-franco-the-deuce-220×220.jpg”},”postType”:”post”,”title”:”Here’s what’s new on HBO and what’s leaving in September 2019″,”url”:”https://www.digitaltrends.com/home-theater/new-on-hbo/”},{“authorName”:”Chris Gates”,”authorURL”:”https://www.digitaltrends.com/users/cgates/”,”date”:”2019-08-22 11:44:21″,”dateModified”:”2019-08-22 11:44:25″,”displayDate”:”3 hours ago”,”excerpt”:”PlayStation Vue is Sony’s answer to live TV without a cable or satellite TV subscription. Here’s our handy guide.”,”id”:1084198,”images”:{“full”:”https://icdn2.digitaltrends.com/image/digitaltrends/playstation-vue-hbo-cinemax-1-1920×1080.jpg”,”large”:”https://icdn3.digitaltrends.com/image/digitaltrends/playstation-vue-hbo-cinemax-1-720×720.jpg”,”medium”:”https://icdn4.digitaltrends.com/image/digitaltrends/playstation-vue-hbo-cinemax-1-325×325.jpg”,”thumbnail”:”https://icdn5.digitaltrends.com/image/digitaltrends/playstation-vue-hbo-cinemax-1-220×220.jpg”},”postType”:”post”,”title”:”PlayStation Vue: The master guide to Sony’s internet TV service”,”url”:”https://www.digitaltrends.com/home-theater/what-is-playstation-vue/”},{“authorName”:”Josh Levenson”,”authorURL”:”https://www.digitaltrends.com/users/jlevenson/”,”date”:”2019-08-22 11:56:05″,”dateModified”:”2019-08-22 11:56:10″,”displayDate”:”3 hours ago”,”excerpt”:”We’ve put together a quick-hit guide to teach you everything you need to know about smart TVs and why you might want one for your living room.”,”id”:1221799,”images”:{“full”:”https://icdn4.digitaltrends.com/image/digitaltrends/vlcsnap-2018-01-25-09h41m02s184-3840×2160.jpg”,”large”:”https://icdn5.digitaltrends.com/image/digitaltrends/vlcsnap-2018-01-25-09h41m02s184-720×720.jpg”,”medium”:”https://icdn6.digitaltrends.com/image/digitaltrends/vlcsnap-2018-01-25-09h41m02s184-325×325.jpg”,”thumbnail”:”https://icdn7.digitaltrends.com/image/digitaltrends/vlcsnap-2018-01-25-09h41m02s184-220×220.jpg”},”postType”:”post”,”title”:”What is a smart TV? Everything you need to know”,”url”:”https://www.digitaltrends.com/home-theater/what-is-a-smart-tv/”},{“authorName”:”Simon Cohen”,”authorURL”:”https://www.digitaltrends.com/users/simoncohen/”,”date”:”2019-08-22 12:33:45″,”dateModified”:”2019-08-22 16:42:01″,”displayDate”:”3 hours ago”,”excerpt”:”If you’re the proud owner of a new Alex-enabled speaker, it’s time to get it set up to do one of the things it does best: Play music. We’ll show you the easy three-step procedure to connect Spotify to Alexa.”,”id”:2376971,”images”:{“full”:”https://icdn7.digitaltrends.com/image/digitaltrends/amazon-echo-2nd-gen-and-echo-dot-3rd-gen-1500×1000.jpg”,”large”:”https://icdn8.digitaltrends.com/image/digitaltrends/amazon-echo-2nd-gen-and-echo-dot-3rd-gen-720×720.jpg”,”medium”:”https://icdn9.digitaltrends.com/image/digitaltrends/amazon-echo-2nd-gen-and-echo-dot-3rd-gen-325×325.jpg”,”thumbnail”:”https://icdn1.digitaltrends.com/image/digitaltrends/amazon-echo-2nd-gen-and-echo-dot-3rd-gen-220×220.jpg”},”postType”:”post”,”title”:”How to connect Spotify to Alexa”,”url”:”https://www.digitaltrends.com/home-theater/how-to-connect-spotify-to-alexa/”}],”exhausted”:false,”limit”:18,”offset”:18}}}};
var allOptions = {};

if (stage > 0 && window.DTOptions) {
allOptions = window.DTOptions.getAll();

Object.keys(options).forEach(function(groupK) {
if (options[groupK] && typeof options[groupK] === ‘object’) {
Object.keys(options[groupK]).forEach(function(k) {
if (!allOptions[groupK] || typeof allOptions[groupK] !== ‘object’) {
allOptions[groupK] = {};
}

allOptions[groupK][k] = options[groupK][k];
});
}
});
} else {
allOptions = options;
}

var getAll = function () {
return allOptions;
};

var get = function (key, group, def) {
key = key || ”;
group = group || ‘qnqb92BhrzmkpqGx’;
def = (typeof def !== ‘undefined’) ? def : null;

if (typeof allOptions[group] !== ‘undefined’) {
if (key && typeof allOptions[group][key] !== ‘undefined’) {
return allOptions[group][key];
}
}

return def;
};

var set = function (key, group, data) {
key = key || ”;
group = group || ‘qnqb92BhrzmkpqGx’;
data = data || null;

if (key) {
if (typeof allOptions[group] === ‘undefined’) {
allOptions[group] = {};
}

allOptions[group][key] = data;
}
};

var del = function (key, group) {
key = key || ”;
group = group || ‘qnqb92BhrzmkpqGx’;

if (typeof allOptions[group] !== ‘undefined’) {
if (key && typeof allOptions[group][key] !== ‘undefined’) {
allOptions[group][key] = null;
}
}
};

window.DTOptions = {
get: get,
getAll: getAll,
set: set,
del: del,
};
}());

<a href="” class=”b-flyer__hot” target=””>

<img src="” alt=””>

(function() {var el = document.createElement(‘link’);el.href = ‘https://cdn6.digitaltrends.com/wp-content/themes/digitaltrends-2018/assets/styles/css/dt-single-foot.css?ver=1566437193391’;el.id = ‘dt-single-foot-style’;el.media = ‘all’;el.rel = ‘stylesheet’;el.type = ‘text/css’;document.head.appendChild(el);}());

document.addEventListener(‘DOMContentLoaded’, function() {
var goodBrowser = (
window.Promise &&
window.fetch &&
window.Symbol &&
window.WeakMap &&
window.NodeList &&
window.URLSearchParams &&
window.IntersectionObserver &&
window.NodeList.prototype[Symbol.iterator]
);

var load = function (src1, src2) {
var scriptEl = document.createElement(‘script’);
scriptEl.src = src1;

scriptEl.onload = function() {
window.DTEvent.promise(‘dt-foot-script-ready’);

if (src2) {
load(src2);
}
};

var thisScriptEl = document.getElementById(‘dt-foot-script’);

thisScriptEl.parentNode.insertBefore(scriptEl, thisScriptEl.nextSibling);
};

var log = function (msg, level) {
if (window.console && window.console.log) {
if (level && window.console.warn) {
console.warn(msg);
} else {
console.log(msg);
}
}
};

if (goodBrowser) {
log(‘Good browser. No polyfills needed.’);
load(‘https://www.digitaltrends.com/wp-content/themes/dt-stardust/assets/scripts/js/dt-foot.min.js?ver=1566437193391’);
} else {
log(‘Inferior browser. Do you want polyfills? Because that’s how you get polyfills.’, 1);
load(‘https://www.digitaltrends.com/wp-content/themes/dt-stardust/assets/scripts/js/dt-polyfill.min.js?ver=1566437193391’, ‘https://www.digitaltrends.com/wp-content/themes/dt-stardust/assets/scripts/js/dt-foot.min.js?ver=1566437193391’);
}
}, false);

window.dtDOMReady(() => {
var setup = function() {
var scriptEl = document.createElement(‘script’);
scriptEl.src = ‘https://contributor.google.com/scripts/26397665432823e5/loader.js’;
scriptEl.onload = function() { // NOTE: This GFC snippet is modified – changed “this” to “window” so we could load it in this “then” function instead of doc root
(function(){‘use strict’;var f=function(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}},l=this,m=/^[w+/_-]+[=]{0,2}$/,n=null,q=function(){},r=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";
if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==b&&"undefined"==typeof a.call)return"object";return b},t=Date.now||function(){return+new Date},u=function(a,b){function c(){}c.prototype=b.prototype;a.m=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.j=function(a,c,g){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,
d)}};var v=function(a,b){Object.defineProperty(l,a,{configurable:!1,get:function(){return b},set:q})};var w=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^t()).toString(36)};var y=function(){this.a="";this.b=x},x={},z=function(a){var b=new y;b.a=a;return b};var A=function(a,b){a.src=b instanceof y&&b.constructor===y&&b.b===x?b.a:"type_error:TrustedResourceUrl";if(null===n)b:{b=l.document;if((b=b.querySelector&&b.querySelector("script[nonce]"))&&(b=b.nonce||b.getAttribute("nonce"))&&m.test(b)){n=b;break b}n=""}b=n;b&&a.setAttribute("nonce",b)};var B=function(a){this.a=a||l.document||document};B.prototype.appendChild=function(a,b){a.appendChild(b)};var C=function(a,b,c,d,e,g){try{var h=a.a,k=a.a.createElement("SCRIPT");k.async=!0;A(k,b);h.head.appendChild(k);k.addEventListener("load",function(){e();d&&h.head.removeChild(k)});k.addEventListener("error",function(){0<c?C(a,b,c-1,d,e,g):(d&&h.head.removeChild(k),g())})}catch(p){g()}};var D=l.atob("aHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2ljb25zL21hdGVyaWFsL3N5c3RlbS8xeC93YXJuaW5nX2FtYmVyXzI0ZHAucG5n"),E=l.atob("WW91IGFyZSBzZWVpbmcgdGhpcyBtZXNzYWdlIGJlY2F1c2UgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlIGlzIGludGVyZmVyaW5nIHdpdGggdGhpcyBwYWdlLg=="),aa=l.atob("RGlzYWJsZSBhbnkgYWQgb3Igc2NyaXB0IGJsb2NraW5nIHNvZnR3YXJlLCB0aGVuIHJlbG9hZCB0aGlzIHBhZ2Uu"),ba=function(a,b,c){this.b=a;this.f=new B(this.b);this.a=null;this.c=[];this.g=!1;this.i=b;this.h=c},H=function(a){if(a.b.body&&!a.g){var b=
function(){F(a);l.setTimeout(function(){return G(a,3)},50)};C(a.f,a.i,2,!0,function(){l[a.h]||b()},b);a.g=!0}},F=function(a){for(var b=I(1,5),c=0;c<b;c++){var d=J(a);a.b.body.appendChild(d);a.c.push(d)}b=J(a);b.style.bottom="0";b.style.left="0";b.style.position="fixed";b.style.width=I(100,110).toString()+"%";b.style.zIndex=I(2147483544,2147483644).toString();b.style["background-color"]=K(249,259,242,252,219,229);b.style["box-shadow"]="0 0 12px #888";b.style.color=K(0,10,0,10,0,10);b.style.display=
"flex";b.style["justify-content"]="center";b.style["font-family"]="Roboto, Arial";c=J(a);c.style.width=I(80,85).toString()+"%";c.style.maxWidth=I(750,775).toString()+"px";c.style.margin="24px";c.style.display="flex";c.style["align-items"]="flex-start";c.style["justify-content"]="center";d=a.f.a.createElement("IMG");d.className=w();d.src=D;d.style.height="24px";d.style.width="24px";d.style["padding-right"]="16px";var e=J(a),g=J(a);g.style["font-weight"]="bold";g.textContent=E;var h=J(a);h.textContent=
aa;L(a,e,g);L(a,e,h);L(a,c,d);L(a,c,e);L(a,b,c);a.a=b;a.b.body.appendChild(a.a);b=I(1,5);for(c=0;c<b;c++)d=J(a),a.b.body.appendChild(d),a.c.push(d)},L=function(a,b,c){for(var d=I(1,5),e=0;e<d;e++){var g=J(a);b.appendChild(g)}b.appendChild(c);c=I(1,5);for(d=0;d=b||null!=a.a&&0!=a.a.offsetHeight&&0!=a.a.offsetWidth||(ca(a),F(a),l.setTimeout(function(){return G(a,b-1)},50))},ca=function(a){var b=a.c;var c=”undefined”!=typeof Symbol&&Symbol.iterator&&b[Symbol.iterator];b=c?c.call(b):{next:f(b)};for(c=b.next();!c.done;c=b.next())(c=c.value)&&c.parentNode&&c.parentNode.removeChild(c);a.c=[];(b=a.a)&&b.parentNode&&b.parentNode.removeChild(b);a.a=null};var M=function(a,b,c){a=l.btoa(a+b);v(a,c)},da=function(a,b,c){for(var d=[],e=2;e<arguments.length;++e)d[e-2]=arguments[e];e=l.btoa(a+b);e=l[e];if("function"==r(e))e.apply(null,d);else throw Error("API not exported.");};var fa=function(a,b,c,d,e){var g=ea(c),h=function(c){c.appendChild(g);l.setTimeout(function(){g?(0!==g.offsetHeight&&0!==g.offsetWidth?b():a(),g.parentNode&&g.parentNode.removeChild(g)):a()},d)},k=function(a){document.body?h(document.body):0<a?l.setTimeout(function(){k(a-1)},e):b()};k(3)},ea=function(a){var b=document.createElement("div");b.className=a;b.style.width="1px";b.style.height="1px";b.style.position="absolute";b.style.left="-10000px";b.style.top="-10000px";b.style.zIndex="-10000";return b};var N=null;var O=function(){},P="function"==typeof Uint8Array,Q=function(a,b){a.b=null;b||(b=[]);a.l=void 0;a.f=-1;a.a=b;a:{if(b=a.a.length){–b;var c=a.a[b];if(!(null===c||"object"!=typeof c||"array"==r(c)||P&&c instanceof Uint8Array)){a.g=b-a.f;a.c=c;break a}}a.g=Number.MAX_VALUE}a.i={}},R=[],S=function(a,b){if(ba;a++)N[a]=”ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=”.charAt(a)}a=N;for(var c=[],d=0;d<this.length;d+=3){var e=this[d],g=d+1<this.length,h=g?this[d+1]:0,k=d+2>2;e=(e&3)<>4;h=(h&15)<>6;p&=63;k||(p=64,g||(h=64));c.push(a[ha],a[e],a[h],a[p])}return c.join(“”)};try{return JSON.stringify(this.a&&this.a,V)}finally{Uint8Array.prototype.toJSON=
a}}:function(){return JSON.stringify(this.a&&this.a,V)};var V=function(a,b){return”number”!=typeof b||!isNaN(b)&&Infinity!==b&&-Infinity!==b?b:String(b)};O.prototype.toString=function(){return this.a.toString()};var T=function(a){Q(this,a)};u(T,O);var W=function(a){Q(this,a)};u(W,O);var ia=function(a,b){this.g=new B(a);var c=U(b,11);c=z(S(c,4)||””);this.b=new ba(a,c,S(b,10));this.a=b;this.f=S(this.a,1);this.c=!1},X=function(a,b,c,d){b=new T(b?JSON.parse(b):null);b=z(S(b,4)||””);C(a.g,b,3,!1,c,function(){fa(function(){H(a.b);d(!1)},function(){d(!0)},S(a.a,12),S(a.a,5),S(a.a,3))})},ja=function(a){a.c||(M(a.f,”internal_api_load_with_sb”,function(b,c,d){X(a,b,c,d)}),M(a.f,”internal_api_sb”,function(){H(a.b)}),a.c=!0)};var Y=function(a){this.h=l.document;this.a=new ia(this.h,a);this.f=S(a,1);this.g=U(a,2);this.c=!1;this.b=a};Y.prototype.start=function(){try{ka(),ja(this.a),l.googlefc=l.googlefc||{},”callbackQueue”in l.googlefc||(l.googlefc.callbackQueue=[]),la(this)}catch(a){H(this.a.b)}};
var ka=function(){var a=function(){if(!l.frames.googlefcPresent)if(document.body){var b=document.createElement(“iframe”);b.style.display=”none”;b.style.width=”0px”;b.style.height=”0px”;b.style.border=”none”;b.style.zIndex=”-1000″;b.style.left=”-1000px”;b.style.top=”-1000px”;b.name=”googlefcPresent”;document.body.appendChild(b)}else l.setTimeout(a,5)};a()},la=function(a){var b=t();X(a.a,a.g.h(),function(){var c=l.btoa(a.f+”cached_js”);(c=l[c])?(c=l.atob(c),c=3E5>Math.abs(b-parseInt(c,10))):c=!1;c||
(da(a.f,”internal_api_sb”),Z(a,S(a.b,9)))},function(b){b?Z(a,S(a.b,7)):Z(a,S(a.b,8))})},Z=function(a,b){a.c||(a.c=!0,a=new l.XMLHttpRequest,a.open(“GET”,b,!0),a.send())};(function(a,b){l[a]=function(c){for(var d=[],e=0;e {
return window.DTAirlock.detect();
})
.then(function(result) {
if (window.DTMemberships) {
window.DTMemberships.validateSubscription(‘adfree’).then(function(adfree) {
if (!adfree || !result) {
setup()
}
});
} else if (!result) {
setup()
}
})
.catch(function(err) {
if (window.console && window.console.error) {
window.console.error(err);
}
});
});

window.NREUM||(NREUM={});NREUM.info={“beacon”:”bam.nr-data.net”,”licenseKey”:”053881f822″,”applicationID”:”348226582″,”transactionName”:”MgADYEpXXBVXAk1RDgtKIFdMX10IGRJQVgYJAExEV0VGS0MTSQ==”,”queueTime”:0,”applicationTime”:605,”atts”:”HkcUFgJNT0oUABsCGhgY”,”errorBeacon”:”bam.nr-data.net”,”agent”:””}

Read more

More News