The HTML 5 Layout Elements Rundown

TML 5 is an interesting beastie. The specification was not planned; The W3C was committed to HTML 4.1 as the last word in HTML. As such, most of the requests for HTML 5 came from the HTML user community itself, largely through the advent of the Web Hypertext Application Technology Working Group (WHATWG). The push from WHATWG was strong enough to prompt the formation of a HTML 5 working group a couple of years ago. Since then, the HTML 5 working group has slowly gone through the process of taking a somewhat hand-waving specification and recasting it in W3C terms, along with all the politics that the process entails.

On April 23, 2009, the HTML 5 group released the most recent draft of the specification. Overall, it represents a considerable simplification from the previous release, especially as a number of initially proposed changes to the specification have been scaled back. The group defined roles for the proposed changes elsewhere.

HTML 5 is a broad specification, and consequently, dozens of distinct changes?more than a single article can reasonably cover in any detail?occurred between HTML 4 and 5. This article focuses on the HTML 5 layout elements. Subsequent articles will examine forms-related changes (which are substantial), the new media elements, and DOM-related changes.

General Changes

One of the most significant changes in HTML 5 is that both the HTML and XHTML formats are recognized as legitimate expressions of the specification. This is a major change that has among its implications the requirement for browsers to recognize fully the XHTML version of the syntax (this currently is not the case with Internet Explorer, for instance). This also means that all browsers should recognize application/xhtml+xml or application/xml as legitimate mime-types for encoding HTML documents. The HTML document DocType has also undergone some revisions. The long doctype of HTML 4 has been replaced with the far shorter :

              Example Document                  

Example Document

This is an example document

This represents the continued “de-SGMLification” of HTML, which has been underway for a number of years. While this shortened doctype construct is still legitimate SGML, the heavy SGML trappings of previous years are disappearing in favor of the simplified XML interface.

HTML 5 also recognizes SVG and MathML as additional valid formats within even HTML documents. Such instances do not necessarily need to incorporate namespaces in HTML, although they are of course required in XHTML.

Layout Element Changes

Beyond the media elements (which will be deployed in the upcoming Firefox 3.5 implementation), a number of the new elements introduced into HTML 5 are intended to establish structure or divisions on the page.

and

The

tag is intended for use as a container to hold article content, such as the main story on a web page. Similarly, the

tag subdivides an article into individual sections, making it easier to identify and navigate such content. Within each of these, the headings tags (

,

, etc.) serve to demarcate header titles, indicating the level of importance of each particular section.

Two of the biggest mistakes made in the original HTML specification were not having a formal containment model for sections?content is simply a linear narrative with the occasional header rather than sections within sections?and reserving the </tt> element early on as the title for the page itself within the <tt><head></tt> element.</p><p>One consequence of the latter mistake was that it prohibited the use of a generic <tt><title></tt> element as a section, image, table, or other structure label. At the same time, there no longer was a direct one-to-one correlation between the title of a document and the actual title of the main body (the article) within that document. At this stage, there’s no real way to change this; <tt><title></tt> is too intimately embedded into the framework of the web to change its definition.</p><p>However, the use of the <tt></p><article></tt> and <tt></p><section></tt> groups indicates that the emerging HTML document bears an increasingly close resemblance to <a href="http://wiki.docbook.org/topic/DocBook" target="_blank">DocBook</a>. What’s more, such a containment organization will:</p><ul><li>Make things such as automatic generation of meaningful tables of content far easier.</li><li>Make it generally simpler to lay out content in meaningful ways.</li><li>Make storing subordinate content within web pages for later inclusion more efficient, as you need only store the articles rather than the whole page.</li></ul><p><h3><span class="pfhead"></p><hgroup></span></h3><p>HTML 5 includes a <tt></p><hgroup></tt> element that can hold subordinate <tt></p><h1></tt>, <tt></p><h2></tt>, etc. elements. This at least ameliorates one of the trickier problems involved with layout: providing a semantically consistent way of creating subtitles, especially at different levels in a document. For instance, take the following snippet:</p><pre><code><article> <hgroup> <h1>An Overview of HTML 5</h1> <h2>Looking at Spec Changes</h2> </hgroup> <p>This is the first paragraph.</p> <p>This is the second paragraph.</p> <section> <hgroup> <h1>Tags</h1> <h2>Laying out the markup</h2> </hgroup> <p>This is the subsection P1</p> ... </section></article></code></pre><p>This markup shifts the <tt>h1</tt> tag from a single document-level tag to something bound to the scope of its container, whether article or section. Using <tt></p><hgroup></tt> also makes it easier to put together tables of content. As HTML becomes more widely used for purposes other than simple browser display, changes like this should serve to make the language sufficiently flexible for print or other media organization.</p><p><h3><span class="pfhead"></p><aside></span></h3><p>The <tt></p><aside></tt> element establishes inline sidebars or related content. In a magazine, short articles often run within the context of a larger article. For instance, a review of HTML 5 may contain a quick summary of the relevant tags, as a floating block above or below the main article. While this is certainly feasible on the web, the implementation typically was left to CSS gurus (usually as part of a larger organizational stylesheet) because it was so difficult. The <tt></p><aside></tt> element performs the same function, but it lets the browser establish a default style-setting so that people can use it semantically without needing to know the gory details of supporting it in CSS.</p><p><h3><span class="pfhead"></p><nav></span></h3><p>The <tt></p><nav></tt> element uses a similar rationale to <tt></p><aside></tt>. Any given page usually draws a fairly clean line between the navigational elements and the primary content. One or more <tt></p><nav></tt> elements in a page clearly delineates what is navigational and what is content. As with <tt></p><aside></tt>, the role of <tt></p><nav></tt> is semantic more than presentational; it clearly identifies a given purpose for the content within the <tt></p><nav></tt>. A browser may then take this content and, without any CSS, lay it out in a cohesive manner.</p><p><h3><span class="pfhead"></p><header></span> and <span class="pfhead"></p><footer></span></h3><p>The <tt></p><header></tt> and <tt></p><footer></tt> elements work as additional page-level organizational elements. Header content appears at the top of the page, and footer content at the bottom. Both may end up getting repeated on each page when HTML documents are printed.</p><p>Typically, header content contains a web site’s banner and related content, and it may contain a <tt>menu</tt> or <tt>nav</tt> element as well. The <tt></p><footer></tt> element, on the other hand, usually runs along the bottom of the page (though it may also be at the bottom of an article or section) and contains boilerplate legal content, secondary navigational links to pages and email, or related communication content.</p><p><h3><span class="pfhead"></p><menu></span></h3><p>There are a plethora of navigational structures within HTML 5, but the <tt></p><menu></tt> element may be one of the most important. In the abstract, a menu is a sequence of commands. In practice, a menu is a visible structure that can be one of three types:</p><ul><li><em>Context Menu:</em> The menu items contained within the menu replace the context menu for that page. The commands within the menu are available only when the user initiates the context menu sequence, typically by right- or option-clicking on a page.</li><li><em>Toolbar:</em> When a toolbar menu is instantiated, it creates a toolbar if one doesn’t already exist and establishes a menu on the toolbar in the order encountered.</li><li><em>List:</em> The list items are simply enumerated either as a list (via the <tt><li></tt> tag) or inline via other elements. This is often useful when creating custom menu formats using CSS.</li></ul><p>Each of the menus make use of <tt></p><li></tt> elements in order to define each entry, with the <tt><command></tt>, <tt><a></tt>, <tt><button></tt>, or related command-enabled elements actually performing the actions. For instance, if you wished to create a context menu that handled editing a blog, you’d probably build something like the following:<pre><code><menu type="context> <li><command label="Clear Record" action="this.clear()"/></li> <li><command label="Submit Record" action="this.submit('submission-agent'"/></li> <hr/> </hr> <li><command label="Search Records" action="this.search('submission-agent'"/></li></menu></code></pre><p>Not surprisingly, menus can get very complex. Moreover, the menu specifications still don’t appear as well established as those across most of the navigation elements.</p><p><h3><span class="pfhead"><dialog></span></h3><p>In a couple of cases, HTML 5 repurposes existing content for more contemporary uses. As an example, one set of terms that are almost never used anymore are the <tt></p><dl></tt>, <tt></p><dt></tt>, and <tt></p><dd></tt> tags, used initially for dictionary entries (<u>d</u>ictionary <u>l</u>isting, <u>d</u>ictionary <u>t</u>erm, <u>d</u>ictionary <u>d</u>efinition). While <tt></p><dl></tt> is still supported, HTML 5 introduces the <tt><dialog></tt> tag and then uses <tt></p><dt></tt> and <tt></p><dd></tt> as speaker identifier and what’s being spoken, respectively. Here is an example of <tt><dialog></tt> using a segment from the classic Abbot and Costello comedy routine, “Who’s on First:”</p><pre><code><dialog> <dt> Costello</dt> <dd> Look, you gotta first baseman?</dd> <dt> Abbott</dt> <dd> Certainly.</dd> <dt> Costello</dt> <dd> Who's playing first?</dd> <dt> Abbott</dt> <dd> That's right.</dd> <dt> Costello</dt> <dd> When you pay off the first baseman every month, who gets the money?</dt> <dt> Abbott</dt> <dd> Every dollar of it.</dt></dialog></code></pre><p>The result is:</p><pre>Costello Look, you gotta first baseman? Abbott Certainly. Costello Who's playing first? Abbott That's right. Costello When you pay off the first baseman every month, who gets the money? Abbott Every dollar of it.</pre><p>The beauty of this is that most older browsers will still render this more or less properly because the dictionary listing and dialog terms are very similar in underlying structure.</p><p><h3><span class="pfhead"><mark></span></h3><p>HTML 5 also adds a few new inline tags. The <tt><mark></tt> tag is designed to emphasize text content in a quotation that was added by the current writer, not the original quoted writer (such as emphasizing a particular statement within a paragraph). For instance, if you had a paragraph along the lines of:</p><pre><code><p>The economic conditions continue to deteriorate, <mark>even as the media focus on "green shoots" showing apparent growth in various sectors</mark> (emphasis mine).</p></pre><p></code></p><p>The result is:</p><blockquote><p>The economic conditions continue to deteriorate, <em>even as the media focus on "green shoots" showing apparent growth in various sectors</em> (emphasis mine).</p></blockquote><p>In addition to emphasizing previously quoted content, <tt>mark</tt> could be used to mark search terms in a retrieved web page or similar content.</p><p><h3><span class="pfhead"><time></span></h3><p>The <tt><time></tt> element is used to wrap a specific date, time, or period of time in a semantic label, making it easier to build applications that can parse the document and build timelines. Here is an example for the Web 2.0 Conference:</p><pre><code><div class="event"> <a class="url" href="http://www.web2con.com/">http://www.web2con.com/</a> <span class="summary">Web 2.0 Conference</span>: <time class="dtstart" datetime="2007-10-05">October 5</time> - <time class="dtend" datetime="2007-10-20">19</time>, at the <span class="location">Argent Hotel, San Francisco, CA</span> </div></pre><p></code></p><p><h3><span class="pfhead"></p> <details></span></h3><p>The <tt></p> <details></tt> element is perhaps more useful than <tt><time></tt>. It actually resolves a fairly common challenge for HTML: placing inline, detailed content into a page that shows up only when a link is activated. Tooltips were one way of solving this problem, but because most tooltip mechanisms (<tt>@alt</tt> or <tt>@title</tt> attributes) didn't allow for inline markup, the content could only be unmarked text. The <tt></p> <details></tt> element changes this by using a <tt></p><legend></tt> element to render the link content, which when activated via a click or rollover would then pop up the contained, marked up text:</p><pre><code><p>The conference was most notable for it's coverage of <details><legend>HTML 5</legend> The successor to HTML 4 that's intended to work with new web technologies such as <i>AJAX</i> and inline graphics.</details> as well as other new standards.</p></pre><p></code></p><p>When rendered, the phrase "HTML 5" in the text would be highlighted in some manner. Also, when the user rolled over the link, the detailed text would be displayed in a popup or similar type of inline display.</p><p><h3><span class="pfhead"></p><figure></span></h3><p>The <tt></p><figure></tt> element provides yet another DocBook-like feature. Images, as originally defined, were generally seen as standalone entities in HTML. However, in many cases, it may be advantageous to have a wrapper around images (especially for blog content) that can also showcase a caption and possibly a sub-leader. This is the role of the <tt></p><figure></tt> element. In addition to acting as a container, specific identification of <tt></p><figure></tt> elements makes it possible to put together a table of figures (just as <tt></p><section></tt> elements would support a table of contents). Additionally, figures do not need to hold illustrations (though its likely this will be the common use case). They can be used as something between a sidebar (which is usually fully self contained) and a section. The <tt></p><legend></tt> element serves to identify the caption for the figure.</p><p><h3><span class="pfhead"><progress></span> and <span class="pfhead"><meter></span></h3><p>The <tt><progress></tt> and <tt><meter></tt> elements are intended to indicate the status of a given operation or state. Both are forms components, though they serve fairly different roles. The <tt><progress></tt> element is used to indicate the state of completion of a given operation, such as the percentage completed of a download operation. As such, it would typically be implemented as a progress bar. The <tt><meter></tt> element, on the other hand, is used to show a number within a given range of numbers, such as a gauge or other indicator.</p><p>It's a little hard to tell from the specification whether these are input controls, though it would seem odd if they weren't. Thus, if you wanted to show a grade inline as a ranking, it might look something like:</p><pre><code><div class="score">Your score was <br> <meter value="88" min="0" max="100" low="64" high="96" optimum="100">B+</meter><br></div></pre><p></code></p><p>How this would be represented is still up in the air, however. Obviously, deriving the real value of something like both <tt><meter></tt> and <tt><progress></tt> would require using them in conjunction with JavaScript, something I actually find a little disturbing. The shift towards JavaScript-centric elements doesn't necessarily bode well for the use of HTML 5 in a purely declarative sense, and also illustrates the continued resistance on the part of the HTML contingency towards XForms, which is friendlier to a declarative architecture.</p><p><h3>Deprecated Elements</h3><p>There aren't a large number of deprecated elements in HTML 5, but there are a few. Here are the ones that emerged in the earliest days of the web and in general are better handled by more specific content:</p><ul><li><tt><applet></tt>: The <tt><applet></tt> tag appeared at a time when Java was widely predicted to be the next major client language. It has long since been made obsolete by other developments. The <tt><applet></tt> tag is deprecated in HTML 5, and in general, people should make use of the <tt><object></tt> or <tt><embed></tt> tags instead to accomplish the same things.</li><li><tt><marquee></tt>: The <tt><marquee></tt> tag was intended to provide a bit of animated eye candy in the early days of the browser by scrolling content within a given <tt>div</tt> element. The capabilities of the <tt>marquee</tt> are now far better handled via CSS and JavaScript as appropriate, especially as it is only one (and not a widely used one at that) of hundreds of different AJAX-like behaviors for performing animation capabilities within browsers.</li><li><tt><acronym></tt>: The <tt>acronym</tt> tag was originally intended to encode acronyms for identification, but it was too similar to the shorter <tt><abbr></tt> tag, which should be used instead.</li><li><tt><dir></tt>: This was originally used to create a directory listing assuming static content, but has become obsolete because of new elements. Use <tt><ul></tt> instead.</li><li><tt><frame></tt>,<frameset></tt>, and <noframes></tt>: The <tt>frame</tt> is officially dead. This bane of web designers, SEO specialists, programmers, and security experts has now been officially expunged from the HTML language. If you have to use embedded content, use the <tt><iframe></tt> element instead. Most of the needs for frames generally could be accomplished via AJAX or related local client/server interactions as well.</li><li><tt><isindex></tt>: This holdover from the archeo-HTML era was so obscure that I had to look it up. The <tt><isindex></tt> element creates a single-line text input control. Use <tt><input type="text"></tt> instead.</li><li><tt><basefont></tt>,<big></tt>, <blink></tt>,<center></tt>, <font></tt>, <s></tt>, <spacer></tt>, <strike></tt>, <tt></tt>, and <u></tt>: CSS has made all of these obsolete (it's made <tt><b></tt> and <tt><i></tt> obsolete too, of course, but these are too heavily embedded in the design psyche to ever fully remove). In general, if you need these, use a <tt><span></tt> with <tt>@style</tt> or (better) <tt>@class</tt> attribute instead.</li></ul><p>In addition to these obsolete elements, a few obsolete attributes also have been deprecated:</p><ul><li><tt>@name</tt>: Used on elements, this should be replaced with the <tt>@id</tt> attribute. So <tt>#idname</tt> will now point to the <tt><a></tt> element with an <tt>@id</tt> of "idname" rather than an <tt>@name</tt> of "idname."</li><li><tt>@alink</tt>, <tt>@background</tt>, <tt>@bgcolor</tt>, <tt>@link</tt>, <tt>@text</tt>, <tt>@vlink</tt>: These controlled the color (or background image in the case of <tt>@background</tt>) for the body element or any contained content within the body. All of these now have CSS analogs, which should be used accordingly in HTML 5.</li></ul><p>Given the prevalence of HTML generators (of varying ages) out there, these likely will take a while to fade away. However, the message in nearly all cases is clear: CSS is the presentation layer for HTML and should be treated accordingly.</p><p><h3>Towards a Document Language</h3><p>When HTML was first introduced in 1991, the language was very much geared towards its original purpose: creating citation abstractions for scientific documents. The 3.0 and 4.0 releases have left that original purpose behind, but a significant amount of current development has made HTML almost too generic?nothing but <tt></p><div></tt> and <tt><span></tt> elements?and as a consequence it is losing much of the structure that provides at least the foundation of document structure. While HTML 5 includes significant concessions to the AJAX revolution, one of its more fundamental goals is to make the language an appropriate document language. While time will tell whether the changes being introduced now succeed in achieving that goal, they are certainly a good, productive start.</p><p>The next piece in this series will focus on the forms content and data-binding model associated with HTML 5, including many of the new input elements, list and table data-binding facilities, and DOM support for the same.</p><p><div style="clear:both; margin-top:0em; margin-bottom:1em;"><a href="https://www.devx.com/web-development-zone/it-outsourcing-boom-leveraging-global-talent/" target="_blank" rel="dofollow" class="ubc7de78a14b3c1c83164a7e0e6803ad4"><div style="padding-left:1em; padding-right:1em;"><span class="ctaText">See also</span>  <span class="postTitle">IT Outsourcing Boom: Leveraging Global Talent</span></div></a></div></div></div><div class="elementor-element elementor-element-9809e6b elementor-align-right elementor-widget elementor-widget-button" data-id="9809e6b" data-element_type="widget" data-widget_type="button.default"><div class="elementor-widget-container"><div class="elementor-button-wrapper"> <a class="elementor-button elementor-button-link elementor-size-sm" href="https://www.devx.com/disclosure/"> <span class="elementor-button-content-wrapper"> <span class="elementor-button-icon elementor-align-icon-left"> <i aria-hidden="true" class="far fa-money-bill-alt"></i> </span> <span class="elementor-button-text">Disclosure</span> </span> </a></div></div></div><div class="elementor-element elementor-element-2298440 elementor-widget elementor-widget-image" data-id="2298440" data-element_type="widget" data-widget_type="image.default"><div class="elementor-widget-container"> <img width="150" height="68" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="attachment-thumbnail size-thumbnail wp-image-24484 ewww_webp" alt="devxblackblue" srcset="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== 1w" sizes="(max-width: 150px) 100vw, 150px" data-src-img="https://www.devx.com/wp-content/uploads/DevX-1-150x68.png" data-src-webp="https://www.devx.com/wp-content/uploads/DevX-1-150x68.png.webp" data-srcset-webp="https://www.devx.com/wp-content/uploads/DevX-1-150x68.png.webp 150w, https://www.devx.com/wp-content/uploads/DevX-1-300x135.png.webp 300w, https://www.devx.com/wp-content/uploads/DevX-1-1024x461.png.webp 1024w, https://www.devx.com/wp-content/uploads/DevX-1-768x346.png.webp 768w, https://www.devx.com/wp-content/uploads/DevX-1-1536x691.png.webp 1536w, https://www.devx.com/wp-content/uploads/DevX-1.png.webp 2000w" data-srcset-img="https://www.devx.com/wp-content/uploads/DevX-1-150x68.png 150w, https://www.devx.com/wp-content/uploads/DevX-1-300x135.png 300w, https://www.devx.com/wp-content/uploads/DevX-1-1024x461.png 1024w, https://www.devx.com/wp-content/uploads/DevX-1-768x346.png 768w, https://www.devx.com/wp-content/uploads/DevX-1-1536x691.png 1536w, https://www.devx.com/wp-content/uploads/DevX-1.png 2000w" data-eio="j" /><noscript><img width="150" height="68" src="https://www.devx.com/wp-content/uploads/DevX-1-150x68.png" class="attachment-thumbnail size-thumbnail wp-image-24484" alt="devxblackblue" srcset="https://www.devx.com/wp-content/uploads/DevX-1-150x68.png 150w, https://www.devx.com/wp-content/uploads/DevX-1-300x135.png 300w, https://www.devx.com/wp-content/uploads/DevX-1-1024x461.png 1024w, https://www.devx.com/wp-content/uploads/DevX-1-768x346.png 768w, https://www.devx.com/wp-content/uploads/DevX-1-1536x691.png 1536w, https://www.devx.com/wp-content/uploads/DevX-1.png 2000w" sizes="(max-width: 150px) 100vw, 150px" /></noscript></div></div><div class="elementor-element elementor-element-b24b1f0 elementor-widget elementor-widget-heading" data-id="b24b1f0" data-element_type="widget" data-widget_type="heading.default"><div class="elementor-widget-container"><h2 class="elementor-heading-title elementor-size-default">About Our Editorial Process</h2></div></div><div class="elementor-element elementor-element-bf49e8d elementor-widget elementor-widget-text-editor" data-id="bf49e8d" data-element_type="widget" data-widget_type="text-editor.default"><div class="elementor-widget-container"><p>At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.</p><p>See our full <a href="https://www.devx.com/publication-guidelines/">editorial policy</a>.</p></div></div><div class="elementor-element elementor-element-0f1a6bf elementor-widget elementor-widget-heading" data-id="0f1a6bf" data-element_type="widget" data-widget_type="heading.default"><div class="elementor-widget-container"><h2 class="elementor-heading-title elementor-size-default">About Our Journalist</h2></div></div><div class="elementor-element elementor-element-4b5870b elementor-author-box--link-yes elementor-author-box--align-left elementor-author-box--name-yes elementor-author-box--biography-yes elementor-widget elementor-widget-author-box" data-id="4b5870b" data-element_type="widget" data-widget_type="author-box.default"><div class="elementor-widget-container"><div class="elementor-author-box"><div class="elementor-author-box__text"> <a href="https://www.devx.com/author/devx-admin/"><h3 class="elementor-author-box__name"> Charlie Frank</h3> </a><div class="elementor-author-box__bio"> Charlie has over a decade of experience in website administration and technology management. As the site admin, he oversees all technical aspects of running a high-traffic online platform, ensuring optimal performance, security, and user experience.</div> <a class="elementor-author-box__button elementor-button elementor-size-xs" href="https://www.devx.com/author/devx-admin/"> View Author </a></div></div></div></div></div></div></div></section><div class="elementor-element elementor-element-39bd7056 elementor-grid-1 elementor-posts--thumbnail-left elementor-grid-tablet-1 elementor-grid-mobile-1 load-more-align-center elementor-widget elementor-widget-posts" data-id="39bd7056" data-element_type="widget" data-settings="{"classic_columns":"1","classic_row_gap":{"unit":"px","size":0,"sizes":[]},"pagination_type":"load_more_on_click","classic_columns_tablet":"1","classic_columns_mobile":"1","classic_row_gap_tablet":{"unit":"px","size":"","sizes":[]},"classic_row_gap_mobile":{"unit":"px","size":"","sizes":[]},"load_more_spinner":{"value":"fas fa-spinner","library":"fa-solid"}}" data-widget_type="posts.classic"><div class="elementor-widget-container"><div class="elementor-posts-container elementor-posts elementor-posts--skin-classic elementor-grid"><article class="elementor-post elementor-grid-item post-57167 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/scientists-in-washington-develop-climate-resilient-wheat/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57161 ewww_webp" alt="Climate Wheat" data-src-img="https://www.devx.com/wp-content/uploads/Climate-Wheat-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/Climate-Wheat-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/Climate-Wheat-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57161" alt="Climate Wheat" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/scientists-in-washington-develop-climate-resilient-wheat/" > Scientists in Washington develop climate-resilient wheat </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> April Isaacs </span> <span class="elementor-post-date"> September 13, 2024 </span> <span class="elementor-post-time"> 5:14 PM </span></div></div></article><article class="elementor-post elementor-grid-item post-57207 post type-post status-publish format-standard has-post-thumbnail hentry category-technology"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/technology/the-future-is-now-how-esims-are-revolutionizing-mobile-connectivity/" ><div class="elementor-post__thumbnail"><img width="300" height="200" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57205 ewww_webp" alt="eSIMs" data-src-img="https://www.devx.com/wp-content/uploads/eSIMs-300x200.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/eSIMs-300x200.jpg.webp" data-eio="j" /><noscript><img width="300" height="200" src="https://www.devx.com/wp-content/uploads/eSIMs-300x200.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57205" alt="eSIMs" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/technology/the-future-is-now-how-esims-are-revolutionizing-mobile-connectivity/" > The Future is Now: How eSIMs Are Revolutionizing Mobile Connectivity </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Rashan Dixon </span> <span class="elementor-post-date"> September 13, 2024 </span> <span class="elementor-post-time"> 3:51 PM </span></div></div></article><article class="elementor-post elementor-grid-item post-57216 post type-post status-publish format-standard has-post-thumbnail hentry category-how-tos"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/how-tos/how-to-leave-a-group-chat-on-android/" ><div class="elementor-post__thumbnail"><img width="300" height="150" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57214 ewww_webp" alt="Android phone displaying group chat interface." data-src-img="https://www.devx.com/wp-content/uploads/49b99604thumbnail-300x150.jpeg" data-src-webp="https://www.devx.com/wp-content/uploads/49b99604thumbnail-300x150.jpeg.webp" data-eio="j" /><noscript><img width="300" height="150" src="https://www.devx.com/wp-content/uploads/49b99604thumbnail-300x150.jpeg" class="elementor-animation-grow attachment-medium size-medium wp-image-57214" alt="Android phone displaying group chat interface." /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/how-tos/how-to-leave-a-group-chat-on-android/" > How To Leave A Group Chat On Android </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Johannah Lopez </span> <span class="elementor-post-date"> September 13, 2024 </span> <span class="elementor-post-time"> 3:38 PM </span></div></div></article><article class="elementor-post elementor-grid-item post-57215 post type-post status-publish format-standard has-post-thumbnail hentry category-how-tos"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/how-tos/how-to-print-text-messages-from-android/" ><div class="elementor-post__thumbnail"><img width="300" height="150" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57213 ewww_webp" alt="Android phone with startup screen" data-src-img="https://www.devx.com/wp-content/uploads/6b0cb5eathumbnail-300x150.jpeg" data-src-webp="https://www.devx.com/wp-content/uploads/6b0cb5eathumbnail-300x150.jpeg.webp" data-eio="j" /><noscript><img width="300" height="150" src="https://www.devx.com/wp-content/uploads/6b0cb5eathumbnail-300x150.jpeg" class="elementor-animation-grow attachment-medium size-medium wp-image-57213" alt="Android phone with startup screen" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/how-tos/how-to-print-text-messages-from-android/" > How To Print Text Messages From Android </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Johannah Lopez </span> <span class="elementor-post-date"> September 13, 2024 </span> <span class="elementor-post-time"> 3:38 PM </span></div></div></article><article class="elementor-post elementor-grid-item post-57151 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/vectorworks-releases-new-vectorworks-2025-suite/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57143 ewww_webp" alt="Vectorworks 2025" data-src-img="https://www.devx.com/wp-content/uploads/Vectorworks-2025-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/Vectorworks-2025-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/Vectorworks-2025-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57143" alt="Vectorworks 2025" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/vectorworks-releases-new-vectorworks-2025-suite/" > Vectorworks releases new Vectorworks 2025 suite </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Johannah Lopez </span> <span class="elementor-post-date"> September 13, 2024 </span> <span class="elementor-post-time"> 3:02 PM </span></div></div></article><article class="elementor-post elementor-grid-item post-57166 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/amazfit-t-rex-3-smartwatch-review-rugged-and-reliable/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57160 ewww_webp" alt="Rugged Smartwatch" data-src-img="https://www.devx.com/wp-content/uploads/Rugged-Smartwatch-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/Rugged-Smartwatch-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/Rugged-Smartwatch-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57160" alt="Rugged Smartwatch" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/amazfit-t-rex-3-smartwatch-review-rugged-and-reliable/" > Amazfit T-Rex 3 smartwatch review: rugged and reliable </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Noah Nguyen </span> <span class="elementor-post-date"> September 13, 2024 </span> <span class="elementor-post-time"> 1:45 PM </span></div></div></article><article class="elementor-post elementor-grid-item post-57150 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/climate-migrations-challenge-global-disease-management/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57142 ewww_webp" alt="Migration Disease" data-src-img="https://www.devx.com/wp-content/uploads/Migration-Disease-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/Migration-Disease-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/Migration-Disease-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57142" alt="Migration Disease" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/climate-migrations-challenge-global-disease-management/" > Climate migrations challenge global disease management </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Rashan Dixon </span> <span class="elementor-post-date"> September 13, 2024 </span> <span class="elementor-post-time"> 11:59 AM </span></div></div></article><article class="elementor-post elementor-grid-item post-57145 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/curfew-imposed-in-manipur-amid-unrest/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57141 ewww_webp" alt="Curfew Manipur" data-src-img="https://www.devx.com/wp-content/uploads/Curfew-Manipur-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/Curfew-Manipur-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/Curfew-Manipur-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57141" alt="Curfew Manipur" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/curfew-imposed-in-manipur-amid-unrest/" > Curfew imposed in Manipur amid unrest </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Johannah Lopez </span> <span class="elementor-post-date"> September 13, 2024 </span> <span class="elementor-post-time"> 11:35 AM </span></div></div></article><article class="elementor-post elementor-grid-item post-57144 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/huawei-set-to-reveal-new-chips/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57140 ewww_webp" alt="Huawei Chips" data-src-img="https://www.devx.com/wp-content/uploads/Huawei-Chips-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/Huawei-Chips-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/Huawei-Chips-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57140" alt="Huawei Chips" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/huawei-set-to-reveal-new-chips/" > Huawei set to reveal new chips </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Noah Nguyen </span> <span class="elementor-post-date"> September 13, 2024 </span> <span class="elementor-post-time"> 11:18 AM </span></div></div></article><article class="elementor-post elementor-grid-item post-57154 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/portland-police-warn-of-blackmail-email-scam/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57152 ewww_webp" alt="Blackmail Scam" data-src-img="https://www.devx.com/wp-content/uploads/Blackmail-Scam-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/Blackmail-Scam-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/Blackmail-Scam-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57152" alt="Blackmail Scam" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/portland-police-warn-of-blackmail-email-scam/" > Portland Police warn of blackmail email scam </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Cameron Wiggins </span> <span class="elementor-post-date"> September 13, 2024 </span> <span class="elementor-post-time"> 11:10 AM </span></div></div></article><article class="elementor-post elementor-grid-item post-57139 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/nvidia-stock-soars-after-jensen-huangs-ai-remarks/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57138 ewww_webp" alt="Nvidia soars" data-src-img="https://www.devx.com/wp-content/uploads/Nvidia-soars-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/Nvidia-soars-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/Nvidia-soars-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57138" alt="Nvidia soars" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/nvidia-stock-soars-after-jensen-huangs-ai-remarks/" > Nvidia stock soars after Jensen Huang’s AI remarks </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Cameron Wiggins </span> <span class="elementor-post-date"> September 13, 2024 </span> <span class="elementor-post-time"> 8:53 AM </span></div></div></article><article class="elementor-post elementor-grid-item post-57155 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/goldman-sachs-report-on-gen-ai-impact/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57153 ewww_webp" alt="Gen-AI Impact" data-src-img="https://www.devx.com/wp-content/uploads/Gen-AI-Impact-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/Gen-AI-Impact-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/Gen-AI-Impact-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57153" alt="Gen-AI Impact" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/goldman-sachs-report-on-gen-ai-impact/" > Goldman Sachs Report on Gen-AI Impact </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Noah Nguyen </span> <span class="elementor-post-date"> September 13, 2024 </span> <span class="elementor-post-time"> 7:50 AM </span></div></div></article><article class="elementor-post elementor-grid-item post-57162 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/space-marine-2-breaks-sales-records/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57159 ewww_webp" alt="Space Marine" data-src-img="https://www.devx.com/wp-content/uploads/Space-Marine-1-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/Space-Marine-1-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/Space-Marine-1-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57159" alt="Space Marine" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/space-marine-2-breaks-sales-records/" > Space Marine 2 breaks sales records </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Noah Nguyen </span> <span class="elementor-post-date"> September 13, 2024 </span> <span class="elementor-post-time"> 7:49 AM </span></div></div></article><article class="elementor-post elementor-grid-item post-57087 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/elon-musk-says-america-nearing-bankruptcy/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57086 ewww_webp" alt="America Bankruptcy" data-src-img="https://www.devx.com/wp-content/uploads/America-Bankruptcy-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/America-Bankruptcy-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/America-Bankruptcy-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57086" alt="America Bankruptcy" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/elon-musk-says-america-nearing-bankruptcy/" > Elon Musk says America nearing bankruptcy </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Noah Nguyen </span> <span class="elementor-post-date"> September 12, 2024 </span> <span class="elementor-post-time"> 5:48 PM </span></div></div></article><article class="elementor-post elementor-grid-item post-57078 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/nanowrimo-faces-outrage-over-ai-endorsement/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57075 ewww_webp" alt="AI Outrage" data-src-img="https://www.devx.com/wp-content/uploads/AI-Outrage-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/AI-Outrage-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/AI-Outrage-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57075" alt="AI Outrage" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/nanowrimo-faces-outrage-over-ai-endorsement/" > NaNoWriMo Faces Outrage Over AI Endorsement </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Johannah Lopez </span> <span class="elementor-post-date"> September 12, 2024 </span> <span class="elementor-post-time"> 3:53 PM </span></div></div></article><article class="elementor-post elementor-grid-item post-57079 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/first-neutrinos-detected-at-fermilab-sbnd/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57076 ewww_webp" alt="Fermilab Neutrinos" data-src-img="https://www.devx.com/wp-content/uploads/Fermilab-Neutrinos-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/Fermilab-Neutrinos-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/Fermilab-Neutrinos-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57076" alt="Fermilab Neutrinos" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/first-neutrinos-detected-at-fermilab-sbnd/" > First neutrinos detected at Fermilab SBND </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> April Isaacs </span> <span class="elementor-post-date"> September 12, 2024 </span> <span class="elementor-post-time"> 3:17 PM </span></div></div></article><article class="elementor-post elementor-grid-item post-57073 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/google-ai-recreates-doom-with-gamengen/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57070 ewww_webp" alt="DOOM Recreation" data-src-img="https://www.devx.com/wp-content/uploads/DOOM-Recreation-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/DOOM-Recreation-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/DOOM-Recreation-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57070" alt="DOOM Recreation" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/google-ai-recreates-doom-with-gamengen/" > Google AI recreates DOOM with GameNGen </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> April Isaacs </span> <span class="elementor-post-date"> September 12, 2024 </span> <span class="elementor-post-time"> 3:03 PM </span></div></div></article><article class="elementor-post elementor-grid-item post-57177 post type-post status-publish format-standard has-post-thumbnail hentry category-how-tos"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/how-tos/how-to-share-location-indefinitely-on-iphone-to-android/" ><div class="elementor-post__thumbnail"><img width="300" height="150" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57175 ewww_webp" alt="Android and iPhone with location icons" data-src-img="https://www.devx.com/wp-content/uploads/95dbfce0thumbnail-300x150.jpeg" data-src-webp="https://www.devx.com/wp-content/uploads/95dbfce0thumbnail-300x150.jpeg.webp" data-eio="j" /><noscript><img width="300" height="150" src="https://www.devx.com/wp-content/uploads/95dbfce0thumbnail-300x150.jpeg" class="elementor-animation-grow attachment-medium size-medium wp-image-57175" alt="Android and iPhone with location icons" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/how-tos/how-to-share-location-indefinitely-on-iphone-to-android/" > How To Share Location Indefinitely On iPhone To Android </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Johannah Lopez </span> <span class="elementor-post-date"> September 12, 2024 </span> <span class="elementor-post-time"> 2:33 PM </span></div></div></article><article class="elementor-post elementor-grid-item post-57176 post type-post status-publish format-standard has-post-thumbnail hentry category-how-tos"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/how-tos/how-to-turn-off-safe-mode-on-android/" ><div class="elementor-post__thumbnail"><img width="300" height="150" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57174 ewww_webp" alt="Android phone startup screen" data-src-img="https://www.devx.com/wp-content/uploads/2ec7830dthumbnail-300x150.jpeg" data-src-webp="https://www.devx.com/wp-content/uploads/2ec7830dthumbnail-300x150.jpeg.webp" data-eio="j" /><noscript><img width="300" height="150" src="https://www.devx.com/wp-content/uploads/2ec7830dthumbnail-300x150.jpeg" class="elementor-animation-grow attachment-medium size-medium wp-image-57174" alt="Android phone startup screen" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/how-tos/how-to-turn-off-safe-mode-on-android/" > How To Turn Off Safe Mode On Android </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Johannah Lopez </span> <span class="elementor-post-date"> September 12, 2024 </span> <span class="elementor-post-time"> 2:33 PM </span></div></div></article><article class="elementor-post elementor-grid-item post-57071 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/nzxt-c1000-psu-available-for-100/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57067 ewww_webp" alt="Nzxt C1000" data-src-img="https://www.devx.com/wp-content/uploads/Nzxt-C1000-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/Nzxt-C1000-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/Nzxt-C1000-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57067" alt="Nzxt C1000" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/nzxt-c1000-psu-available-for-100/" > Nzxt c1000 psu available for £100 </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> April Isaacs </span> <span class="elementor-post-date"> September 12, 2024 </span> <span class="elementor-post-time"> 1:52 PM </span></div></div></article><article class="elementor-post elementor-grid-item post-57072 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/servicenow-ai-solutions-debut-in-xanadu-release/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57068 ewww_webp" alt="ServiceNow AI" data-src-img="https://www.devx.com/wp-content/uploads/ServiceNow-AI-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/ServiceNow-AI-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/ServiceNow-AI-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57068" alt="ServiceNow AI" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/servicenow-ai-solutions-debut-in-xanadu-release/" > ServiceNow AI solutions debut in Xanadu release </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Cameron Wiggins </span> <span class="elementor-post-date"> September 12, 2024 </span> <span class="elementor-post-time"> 1:09 PM </span></div></div></article><article class="elementor-post elementor-grid-item post-57066 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/brazils-supreme-court-upholds-ban-on-x/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57064 ewww_webp" alt="Supreme Ban" data-src-img="https://www.devx.com/wp-content/uploads/Supreme-Ban-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/Supreme-Ban-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/Supreme-Ban-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57064" alt="Supreme Ban" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/brazils-supreme-court-upholds-ban-on-x/" > Brazil’s Supreme Court upholds ban on X </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Rashan Dixon </span> <span class="elementor-post-date"> September 12, 2024 </span> <span class="elementor-post-time"> 1:03 PM </span></div></div></article><article class="elementor-post elementor-grid-item post-57077 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/cosmicbeetle-deploys-scransom-ransomware/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57074 ewww_webp" alt="CosmicBeetle ScRansom" data-src-img="https://www.devx.com/wp-content/uploads/CosmicBeetle-ScRansom-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/CosmicBeetle-ScRansom-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/CosmicBeetle-ScRansom-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57074" alt="CosmicBeetle ScRansom" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/cosmicbeetle-deploys-scransom-ransomware/" > CosmicBeetle deploys ScRansom ransomware </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Johannah Lopez </span> <span class="elementor-post-date"> September 12, 2024 </span> <span class="elementor-post-time"> 11:10 AM </span></div></div></article><article class="elementor-post elementor-grid-item post-57069 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/ford-files-patent-to-monitor-in-car-ads/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57065 ewww_webp" alt="In-Car Ads" data-src-img="https://www.devx.com/wp-content/uploads/In-Car-Ads-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/In-Car-Ads-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/In-Car-Ads-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57065" alt="In-Car Ads" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/ford-files-patent-to-monitor-in-car-ads/" > Ford files patent to monitor in-car ads </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Cameron Wiggins </span> <span class="elementor-post-date"> September 12, 2024 </span> <span class="elementor-post-time"> 8:04 AM </span></div></div></article><article class="elementor-post elementor-grid-item post-57081 post type-post status-publish format-standard has-post-thumbnail hentry category-news"> <a class="elementor-post__thumbnail__link" href="https://www.devx.com/news/sony-unveils-ps5-pro-with-enhanced-features/" ><div class="elementor-post__thumbnail"><img width="300" height="171" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="elementor-animation-grow attachment-medium size-medium wp-image-57080 ewww_webp" alt="PS5 Pro" data-src-img="https://www.devx.com/wp-content/uploads/PS5-Pro-300x171.jpg" data-src-webp="https://www.devx.com/wp-content/uploads/PS5-Pro-300x171.jpg.webp" data-eio="j" /><noscript><img width="300" height="171" src="https://www.devx.com/wp-content/uploads/PS5-Pro-300x171.jpg" class="elementor-animation-grow attachment-medium size-medium wp-image-57080" alt="PS5 Pro" /></noscript></div> </a><div class="elementor-post__text"><h3 class="elementor-post__title"> <a href="https://www.devx.com/news/sony-unveils-ps5-pro-with-enhanced-features/" > Sony unveils PS5 Pro with enhanced features </a></h3><div class="elementor-post__meta-data"> <span class="elementor-post-author"> Johannah Lopez </span> <span class="elementor-post-date"> September 12, 2024 </span> <span class="elementor-post-time"> 8:03 AM </span></div></div></article></div> <span class="e-load-more-spinner"> <i aria-hidden="true" class="fas fa-spinner"></i> </span><div class="e-load-more-anchor" data-page="1" data-max-page="852" data-next-page="https://www.devx.com/web-development-zone/42280/2/"></div><div class="elementor-button-wrapper"> <a href="#" class="elementor-button-link elementor-button elementor-animation-grow" role="button"> <span class="elementor-button-content-wrapper"> <span class="elementor-button-text">Show More</span> </span> </a></div><div class="e-load-more-message"></div></div></div></div></div><div class="elementor-column elementor-col-20 elementor-top-column elementor-element elementor-element-270dc71" data-id="270dc71" data-element_type="column"><div class="elementor-widget-wrap"></div></div><div class="elementor-column elementor-col-20 elementor-top-column elementor-element elementor-element-8905b95 elementor-hidden-tablet" data-id="8905b95" data-element_type="column"><div class="elementor-widget-wrap elementor-element-populated"><div class="elementor-element elementor-element-2f83f51 elementor-widget elementor-widget-html" data-id="2f83f51" data-element_type="widget" data-widget_type="html.default"><div class="elementor-widget-container"> <ins style="display: block; width: 100%" class="direqt-embed" data-bot-id="660c2a84041d59991d8be45b" data-start-hint="poll" data-story-id="auto" data-gtm="true" data-layout="overlay" ></ins></div></div></div></div></div></section></div></div><footer data-elementor-type="footer" data-elementor-id="23300" class="elementor elementor-23300 elementor-location-footer"><div class="elementor-section-wrap"><footer class="elementor-section elementor-top-section elementor-element elementor-element-1588a538 elementor-section-height-min-height elementor-section-content-middle elementor-section-full_width elementor-section-height-default elementor-section-items-middle" data-id="1588a538" data-element_type="section" data-settings="{"background_background":"classic"}"><div class="elementor-container elementor-column-gap-no"><div class="elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-9d2a788" data-id="9d2a788" data-element_type="column"><div class="elementor-widget-wrap"></div></div><div class="elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-2e0ce949" data-id="2e0ce949" data-element_type="column"><div class="elementor-widget-wrap elementor-element-populated"><div class="elementor-element elementor-element-4f9ec08 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="4f9ec08" data-element_type="widget" data-widget_type="divider.default"><div class="elementor-widget-container"><div class="elementor-divider"> <span class="elementor-divider-separator"> </span></div></div></div><section class="elementor-section elementor-inner-section elementor-element elementor-element-73a9986 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="73a9986" data-element_type="section"><div class="elementor-container elementor-column-gap-default"><div class="elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-7f08930" data-id="7f08930" data-element_type="column"><div class="elementor-widget-wrap elementor-element-populated"><div class="elementor-element elementor-element-269b367 elementor-nav-menu__align-right elementor-nav-menu--dropdown-tablet elementor-nav-menu__text-align-aside elementor-nav-menu--toggle elementor-nav-menu--burger elementor-widget elementor-widget-nav-menu" data-id="269b367" data-element_type="widget" data-settings="{"layout":"horizontal","submenu_icon":{"value":"<i class=\"fas fa-caret-down\"><\/i>","library":"fa-solid"},"toggle":"burger"}" data-widget_type="nav-menu.default"><div class="elementor-widget-container"><nav class="elementor-nav-menu--main elementor-nav-menu__container elementor-nav-menu--layout-horizontal e--pointer-underline e--animation-fade"><ul id="menu-1-269b367" class="elementor-nav-menu"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-23808"><a href="https://www.devx.com/" class="elementor-item">Home</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-23809"><a href="https://www.devx.com/advertise/" class="elementor-item">Advertise</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-23816"><a href="https://www.devx.com/about/" class="elementor-item">About</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-46262"><a href="https://www.devx.com/publication-guidelines/" class="elementor-item">Guidelines</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-47967"><a href="https://www.devx.com/expert-review-board/" class="elementor-item">Experts</a></li></ul></nav><div class="elementor-menu-toggle" role="button" tabindex="0" aria-label="Menu Toggle" aria-expanded="false"> <i aria-hidden="true" role="presentation" class="elementor-menu-toggle__icon--open eicon-menu-bar"></i><i aria-hidden="true" role="presentation" class="elementor-menu-toggle__icon--close eicon-close"></i> <span class="elementor-screen-only">Menu</span></div><nav class="elementor-nav-menu--dropdown elementor-nav-menu__container" aria-hidden="true"><ul id="menu-2-269b367" class="elementor-nav-menu"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-23808"><a href="https://www.devx.com/" class="elementor-item" tabindex="-1">Home</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-23809"><a href="https://www.devx.com/advertise/" class="elementor-item" tabindex="-1">Advertise</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-23816"><a href="https://www.devx.com/about/" class="elementor-item" tabindex="-1">About</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-46262"><a href="https://www.devx.com/publication-guidelines/" class="elementor-item" tabindex="-1">Guidelines</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-47967"><a href="https://www.devx.com/expert-review-board/" class="elementor-item" tabindex="-1">Experts</a></li></ul></nav></div></div></div></div><div class="elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-869862d" data-id="869862d" data-element_type="column"><div class="elementor-widget-wrap elementor-element-populated"><div class="elementor-element elementor-element-5d5f4dc5 e-grid-align-left elementor-widget__width-initial elementor-shape-rounded elementor-grid-0 elementor-widget elementor-widget-social-icons" data-id="5d5f4dc5" data-element_type="widget" data-widget_type="social-icons.default"><div class="elementor-widget-container"><div class="elementor-social-icons-wrapper elementor-grid"> <span class="elementor-grid-item"> <a class="elementor-icon elementor-social-icon elementor-social-icon-linkedin elementor-repeater-item-5c0ce3c" href="https://www.linkedin.com/company/devx" target="_blank"> <span class="elementor-screen-only">Linkedin</span> <i class="fab fa-linkedin"></i> </a> </span> <span class="elementor-grid-item"> <a class="elementor-icon elementor-social-icon elementor-social-icon-twitter elementor-repeater-item-828f132" href="https://twitter.com/DevX_Com" target="_blank"> <span class="elementor-screen-only">Twitter</span> <i class="fab fa-twitter"></i> </a> </span></div></div></div></div></div><div class="elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-21928d3" data-id="21928d3" data-element_type="column"><div class="elementor-widget-wrap elementor-element-populated"><div class="elementor-element elementor-element-0aef105 elementor-widget elementor-widget-shortcode" data-id="0aef105" data-element_type="widget" data-widget_type="shortcode.default"><div class="elementor-widget-container"><div class="elementor-shortcode"><div class="gtranslate_wrapper" id="gt-wrapper-45878048"></div></div></div></div></div></div></div></section><section class="elementor-section elementor-inner-section elementor-element elementor-element-e509954 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="e509954" data-element_type="section"><div class="elementor-container elementor-column-gap-default"><div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-f77ca98" data-id="f77ca98" data-element_type="column"><div class="elementor-widget-wrap elementor-element-populated"><div class="elementor-element elementor-element-c500cdf elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="c500cdf" data-element_type="widget" data-widget_type="divider.default"><div class="elementor-widget-container"><div class="elementor-divider"> <span class="elementor-divider-separator"> </span></div></div></div><div class="elementor-element elementor-element-fbeb59f elementor-nav-menu__align-center elementor-nav-menu--dropdown-tablet elementor-nav-menu__text-align-aside elementor-nav-menu--toggle elementor-nav-menu--burger elementor-widget elementor-widget-nav-menu" data-id="fbeb59f" data-element_type="widget" data-settings="{"layout":"horizontal","submenu_icon":{"value":"<i class=\"fas fa-caret-down\"><\/i>","library":"fa-solid"},"toggle":"burger"}" data-widget_type="nav-menu.default"><div class="elementor-widget-container"><nav class="elementor-nav-menu--main elementor-nav-menu__container elementor-nav-menu--layout-horizontal e--pointer-underline e--animation-fade"><ul id="menu-1-fbeb59f" class="elementor-nav-menu"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27045"><a href="https://www.devx.com/a-terms/" class="elementor-item">A</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27044"><a href="https://www.devx.com/b-terms/" class="elementor-item">B</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27043"><a href="https://www.devx.com/c-terms/" class="elementor-item">C</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27152"><a href="https://www.devx.com/d-terms/" class="elementor-item">D</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27153"><a href="https://www.devx.com/e-terms/" class="elementor-item">E</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27154"><a href="https://www.devx.com/f-terms/" class="elementor-item">F</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27155"><a href="https://www.devx.com/g-terms/" class="elementor-item">G</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27156"><a href="https://www.devx.com/h-terms/" class="elementor-item">H</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27157"><a href="https://www.devx.com/i-terms/" class="elementor-item">I</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27158"><a href="https://www.devx.com/j-terms/" class="elementor-item">J</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27159"><a href="https://www.devx.com/k-terms/" class="elementor-item">K</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27137"><a href="https://www.devx.com/l-terms/" class="elementor-item">L</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27151"><a href="https://www.devx.com/m-terms/" class="elementor-item">M</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27150"><a href="https://www.devx.com/n-terms/" class="elementor-item">N</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27149"><a href="https://www.devx.com/o-terms/" class="elementor-item">O</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27148"><a href="https://www.devx.com/p-terms/" class="elementor-item">P</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27147"><a href="https://www.devx.com/q-terms/" class="elementor-item">Q</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27146"><a href="https://www.devx.com/r-terms/" class="elementor-item">R</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27145"><a href="https://www.devx.com/s-terms/" class="elementor-item">S</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27144"><a href="https://www.devx.com/t-terms/" class="elementor-item">T</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27143"><a href="https://www.devx.com/u-terms/" class="elementor-item">U</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27142"><a href="https://www.devx.com/v-terms/" class="elementor-item">V</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27141"><a href="https://www.devx.com/w-terms/" class="elementor-item">W</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27140"><a href="https://www.devx.com/x-terms/" class="elementor-item">X</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27139"><a href="https://www.devx.com/y-terms/" class="elementor-item">Y</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27138"><a href="https://www.devx.com/z-terms/" class="elementor-item">Z</a></li></ul></nav><div class="elementor-menu-toggle" role="button" tabindex="0" aria-label="Menu Toggle" aria-expanded="false"> <i aria-hidden="true" role="presentation" class="elementor-menu-toggle__icon--open eicon-menu-bar"></i><i aria-hidden="true" role="presentation" class="elementor-menu-toggle__icon--close eicon-close"></i> <span class="elementor-screen-only">Menu</span></div><nav class="elementor-nav-menu--dropdown elementor-nav-menu__container" aria-hidden="true"><ul id="menu-2-fbeb59f" class="elementor-nav-menu"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27045"><a href="https://www.devx.com/a-terms/" class="elementor-item" tabindex="-1">A</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27044"><a href="https://www.devx.com/b-terms/" class="elementor-item" tabindex="-1">B</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27043"><a href="https://www.devx.com/c-terms/" class="elementor-item" tabindex="-1">C</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27152"><a href="https://www.devx.com/d-terms/" class="elementor-item" tabindex="-1">D</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27153"><a href="https://www.devx.com/e-terms/" class="elementor-item" tabindex="-1">E</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27154"><a href="https://www.devx.com/f-terms/" class="elementor-item" tabindex="-1">F</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27155"><a href="https://www.devx.com/g-terms/" class="elementor-item" tabindex="-1">G</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27156"><a href="https://www.devx.com/h-terms/" class="elementor-item" tabindex="-1">H</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27157"><a href="https://www.devx.com/i-terms/" class="elementor-item" tabindex="-1">I</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27158"><a href="https://www.devx.com/j-terms/" class="elementor-item" tabindex="-1">J</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27159"><a href="https://www.devx.com/k-terms/" class="elementor-item" tabindex="-1">K</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27137"><a href="https://www.devx.com/l-terms/" class="elementor-item" tabindex="-1">L</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27151"><a href="https://www.devx.com/m-terms/" class="elementor-item" tabindex="-1">M</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27150"><a href="https://www.devx.com/n-terms/" class="elementor-item" tabindex="-1">N</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27149"><a href="https://www.devx.com/o-terms/" class="elementor-item" tabindex="-1">O</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27148"><a href="https://www.devx.com/p-terms/" class="elementor-item" tabindex="-1">P</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27147"><a href="https://www.devx.com/q-terms/" class="elementor-item" tabindex="-1">Q</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27146"><a href="https://www.devx.com/r-terms/" class="elementor-item" tabindex="-1">R</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27145"><a href="https://www.devx.com/s-terms/" class="elementor-item" tabindex="-1">S</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27144"><a href="https://www.devx.com/t-terms/" class="elementor-item" tabindex="-1">T</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27143"><a href="https://www.devx.com/u-terms/" class="elementor-item" tabindex="-1">U</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27142"><a href="https://www.devx.com/v-terms/" class="elementor-item" tabindex="-1">V</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27141"><a href="https://www.devx.com/w-terms/" class="elementor-item" tabindex="-1">W</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27140"><a href="https://www.devx.com/x-terms/" class="elementor-item" tabindex="-1">X</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27139"><a href="https://www.devx.com/y-terms/" class="elementor-item" tabindex="-1">Y</a></li><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-27138"><a href="https://www.devx.com/z-terms/" class="elementor-item" tabindex="-1">Z</a></li></ul></nav></div></div><div class="elementor-element elementor-element-6963de5 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="6963de5" data-element_type="widget" data-widget_type="divider.default"><div class="elementor-widget-container"><div class="elementor-divider"> <span class="elementor-divider-separator"> </span></div></div></div></div></div></div></section></div></div><div class="elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-c5e10d2" data-id="c5e10d2" data-element_type="column"><div class="elementor-widget-wrap"></div></div></div></footer><section class="elementor-section elementor-top-section elementor-element elementor-element-a4f01a6 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="a4f01a6" data-element_type="section"><div class="elementor-container elementor-column-gap-default"><div class="elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-a1bc5b1" data-id="a1bc5b1" data-element_type="column"><div class="elementor-widget-wrap"></div></div><div class="elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-e4f110b" data-id="e4f110b" data-element_type="column"><div class="elementor-widget-wrap elementor-element-populated"><div class="elementor-element elementor-element-4a914653 elementor-widget elementor-widget-heading" data-id="4a914653" data-element_type="widget" data-widget_type="heading.default"><div class="elementor-widget-container"><p class="elementor-heading-title elementor-size-default">©2024 Copyright DevX - All Rights Reserved. Registration or use of this site constitutes acceptance of our Terms of Service and Privacy Policy.</p></div></div><div class="elementor-element elementor-element-d2cf216 elementor-widget elementor-widget-text-editor" data-id="d2cf216" data-element_type="widget" data-widget_type="text-editor.default"><div class="elementor-widget-container"><p><strong><a href="https://www.devx.com/sitemap/">Sitemap</a> — </strong><strong><a href="https://www.devx.com/privacy-policy/">Privacy Policy</a></strong></p></div></div></div></div><div class="elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-1daca18" data-id="1daca18" data-element_type="column"><div class="elementor-widget-wrap"></div></div></div></section></div></footer> <script defer src="data:text/javascript;base64,c2V0SW50ZXJ2YWwoKCk9Pntjb25zdCBlbGVtZW50b3JQYWdlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tjbGFzcyo9ImVsZW1lbnRvciJdJykKY29uc3QgYWRUaHJpdmVMb2FkZWQ9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXS5jbGFzc0xpc3QuY29udGFpbnMoJ2FkdGhyaXZlLWRldmljZS1waG9uZScpfHxkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpWzBdLmNsYXNzTGlzdC5jb250YWlucygnYWR0aHJpdmUtZGV2aWNlLXRhYmxldCcpfHxkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpWzBdLmNsYXNzTGlzdC5jb250YWlucygnYWR0aHJpdmUtZGV2aWNlLWRlc2t0b3AnKQppZighYWRUaHJpdmVMb2FkZWQpe2NvbnNvbGUubG9nKCdXYWl0aW5nIGZvciBBZFRocml2ZS4uLicpCnJldHVybn0KaWYoZWxlbWVudG9yUGFnZSl7Y29uc3QgYWRzPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5hZHRocml2ZS1hZCBpZnJhbWUiKTthZHMuZm9yRWFjaChhZD0+e2lmKHR5cGVvZiBhZC53aWR0aCE9PSJ1bmRlZmluZWQiJiZhZC53aWR0aCE9PSIxIil7YWQuc3R5bGUud2lkdGg9YWQud2lkdGgrInB4Ijt9fSl9fSw1MCk7"></script> <script data-no-optimize='1' data-cfasync='false' id='cls-insertion-2c4b780'>!function(){"use strict";window.adthriveCLS.buildDate="2024-09-12";var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};function t(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}var n=function(){return n=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function i(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(i=Object.getOwnPropertySymbols(e);o<i.length;o++)t.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(e,i[o])&&(n[i[o]]=e[i[o]])}return n}function o(e,t,n,i){var o,r=arguments.length,a=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(r<3?o(a):r>3?o(t,n,a):o(t,n))||a);return r>3&&a&&Object.defineProperty(t,n,a),a}function r(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function a(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],i=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function s(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,o,r=n.call(e),a=[];try{for(;(void 0===t||t-->0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function l(e,t,n){if(n||2===arguments.length)for(var i,o=0,r=t.length;o<r;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var c,u,d,p,h,f,y,m,g,v,_,b,S,O,w=function(e){var t={};return function(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];var o=JSON.stringify(n);if(t[o])return t[o];var r=e.apply(this,n);return t[o]=r,r}},P=function(){function e(){}return e.prototype.info=function(e,t){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];this.call.apply(this,l([console.info,e,t],s(n),!1))},e.prototype.warn=function(e,t){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];this.call.apply(this,l([console.warn,e,t],s(n),!1))},e.prototype.error=function(e,t){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];this.call.apply(this,l([console.error,e,t],s(n),!1)),this.sendErrorLogToCommandQueue.apply(this,l([e,t],s(n),!1))},e.prototype.event=function(e,t){var n;"debug"===(null===(n=window.adthriveCLS)||void 0===n?void 0:n.bucket)&&this.info(e,t)},e.prototype.sendErrorLogToCommandQueue=function(e,t){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];window.adthrive=window.adthrive||{},window.adthrive.cmd=window.adthrive.cmd||[],window.adthrive.cmd.push((function(){void 0!==window.adthrive.logError&&"function"==typeof window.adthrive.logError&&window.adthrive.logError(e,t,n)}))},e.prototype.call=function(e,t,n){for(var i=[],o=3;o<arguments.length;o++)i[o-3]=arguments[o];var r=["%c".concat(t,"::").concat(n," ")],a=["color: #999; font-weight: bold;"];i.length>0&&"string"==typeof i[0]&&r.push(i.shift()),a.push.apply(a,l([],s(i),!1));try{Function.prototype.apply.call(e,console,l([r.join("")],s(a),!1))}catch(e){return void console.error(e)}},e}(),A=new P,C=function(e,t){return null==e||e!=e?t:e},E=function(e){var t={},n=function(e){void 0===e&&(e=window.location.search);var t=0===e.indexOf("?")?1:0;return e.slice(t).split("&").reduce((function(e,t){var n=s(t.split("="),2),i=n[0],o=n[1];return e.set(i,o),e}),new Map)}().get(e);if(n)try{var i=decodeURIComponent(n).replace(/\+/g,"");t=JSON.parse(i),A.event("ExperimentOverridesUtil","getExperimentOverrides",e,t)}catch(e){}return t},x=w((function(e){return void 0===e&&(e=navigator.userAgent),/Windows NT|Macintosh/i.test(e)})),D=w((function(){var e=navigator.userAgent,t=/Tablet|iPad|Playbook|Nook|webOS|Kindle|Android (?!.*Mobile).*Safari|CrOS/i.test(e);return/Mobi|iP(hone|od)|Opera Mini/i.test(e)&&!t})),k=function(e,t,n){void 0===n&&(n=document);var i=function(e){void 0===e&&(e=document);var t=e.querySelectorAll("article");if(0===t.length)return null;var n=Array.from(t).reduce((function(e,t){return t.offsetHeight>e.offsetHeight?t:e}));return n&&n.offsetHeight>1.5*window.innerHeight?n:null}(n),o=i?[i]:[],r=[];e.forEach((function(e){var i,a=Array.from(n.querySelectorAll(e.elementSelector)).slice(0,e.skip);(i=e.elementSelector,i.includes(",")?i.split(","):[i]).forEach((function(i){for(var s=n.querySelectorAll(i),l=function(n){var i=s[n];if(t.map.some((function(e){return e.el.isEqualNode(i)})))return"continue";var l=i&&i.parentElement;l&&l!==document.body?o.push(l):o.push(i),-1===a.indexOf(i)&&r.push({dynamicAd:e,element:i})},c=0;c<s.length;c++)l(c)}))}));var a=function(e){return void 0===e&&(e=document),(e===document?document.body:e).getBoundingClientRect().top}(n),s=r.sort((function(e,t){return e.element.getBoundingClientRect().top-a-(t.element.getBoundingClientRect().top-a)}));return[o,s]},M=new(function(){function e(){var e=this;this.name="StorageHandler",this.disable=!1,this.removeLocalStorageValue=function(e){window.localStorage.removeItem("adthrive_".concat(e.toLowerCase()))},this.getLocalStorageValue=function(t,n,i,o,r){if(void 0===n&&(n=!0),void 0===i&&(i=!0),e.disable)return null;try{var a=n?"adthrive_":"",s=window.localStorage.getItem("".concat(a).concat(i?t.toLowerCase():t));if(s){var l=JSON.parse(s),c=void 0!==o&&Date.now()-l.created>=o;if(l&&!c)return r&&e.setLocalStorageValue(t,l.value,n),l.value}}catch(e){}return null},this.setLocalStorageValue=function(e,t,n){void 0===n&&(n=!0);try{var i=n?"adthrive_":"",o={value:t,created:Date.now()};window.localStorage.setItem("".concat(i).concat(e.toLowerCase()),JSON.stringify(o))}catch(e){}},this.getOrSetLocalStorageValue=function(t,n,i,o,r,a,s){void 0===o&&(o=!0),void 0===r&&(r=!0),void 0===s&&(s=!0);var l=e.getLocalStorageValue(t,s,o,i,r);if(null!==l)return l;var c=n();return e.setLocalStorageValue(t,c,s),a&&a(c),c}}return e.prototype.init=function(){},e}());!function(e){e.amznbid="amznbid",e.amzniid="amzniid",e.amznp="amznp",e.amznsz="amznsz"}(c||(c={})),function(e){e.ThirtyThreeAcross="33across",e.Adform="adform",e.Aidem="aidem",e.AidemServer="aidem_ss",e.AppNexus="appnexus",e.AmazonTAM="amazon",e.AmazonUAM="AmazonUAM",e.AmazonASR="AmazonASR",e.Colossus="colossus",e.ColossusServer="col_ss",e.Conversant="conversant",e.Concert="concert",e.Criteo="criteo",e.GumGum="gumgum",e.ImproveDigital="improvedigital",e.ImproveDigitalServer="improve_ss",e.IndexExchange="ix",e.Kargo="kargo",e.KargoServer="krgo_ss",e.MediaGrid="grid",e.MediaGridVideo="gridvid",e.Nativo="nativo",e.OpenX="openx",e.Ogury="ogury",e.OpenXServer="opnx_ss",e.Ozone="ozone",e.Pubmatic="pubmatic",e.PubmaticServer="pubm_ss",e.ResetDigital="resetdigital",e.Rtbhouse="rtbhouse",e.Rubicon="rubicon",e.RubiconServer="rubi_ss",e.Sharethrough="sharethrough",e.Teads="teads",e.Triplelift="triplelift",e.TripleliftServer="tripl_ss",e.TTD="ttd",e.Undertone="undertone",e.UndertoneServer="under_ss",e.Unruly="unruly",e.YahooSSP="yahoossp",e.YahooSSPServer="yah_ss",e.Verizon="verizon",e.Yieldmo="yieldmo"}(u||(u={})),function(e){e.Prebid="prebid",e.GAM="gam",e.Amazon="amazon",e.Marmalade="marmalade",e.Floors="floors",e.CMP="cmp",e.Optable="optable",e.OptimalBidder="optimalBidder"}(d||(d={})),function(e){e.cm="cm",e.fbrap="fbrap",e.rapml="rapml"}(p||(p={})),function(e){e.lazy="lazy",e.raptive="raptive",e.refresh="refresh",e.session="session",e.crossDomain="crossdomain",e.highSequence="highsequence",e.lazyBidPool="lazyBidPool"}(h||(h={})),function(e){e.lazy="l",e.raptive="rapml",e.refresh="r",e.session="s",e.crossdomain="c",e.highsequence="hs",e.lazyBidPool="lbp"}(f||(f={})),function(e){e.Version="Version",e.SharingNotice="SharingNotice",e.SaleOptOutNotice="SaleOptOutNotice",e.SharingOptOutNotice="SharingOptOutNotice",e.TargetedAdvertisingOptOutNotice="TargetedAdvertisingOptOutNotice",e.SensitiveDataProcessingOptOutNotice="SensitiveDataProcessingOptOutNotice",e.SensitiveDataLimitUseNotice="SensitiveDataLimitUseNotice",e.SaleOptOut="SaleOptOut",e.SharingOptOut="SharingOptOut",e.TargetedAdvertisingOptOut="TargetedAdvertisingOptOut",e.SensitiveDataProcessing="SensitiveDataProcessing",e.KnownChildSensitiveDataConsents="KnownChildSensitiveDataConsents",e.PersonalDataConsents="PersonalDataConsents",e.MspaCoveredTransaction="MspaCoveredTransaction",e.MspaOptOutOptionMode="MspaOptOutOptionMode",e.MspaServiceProviderMode="MspaServiceProviderMode",e.SubSectionType="SubsectionType",e.Gpc="Gpc"}(y||(y={})),function(e){e[e.NA=0]="NA",e[e.OptedOut=1]="OptedOut",e[e.OptedIn=2]="OptedIn"}(m||(m={})),function(e){e.AdDensity="addensity",e.AdLayout="adlayout",e.FooterCloseButton="footerclose",e.Interstitial="interstitial",e.RemoveVideoTitleWrapper="removevideotitlewrapper",e.StickyOutstream="stickyoutstream",e.StickyOutstreamOnStickyPlayer="sospp",e.VideoAdvancePlaylistRelatedPlayer="videoadvanceplaylistrp",e.MobileStickyPlayerPosition="mspp"}(g||(g={})),function(e){e.Desktop="desktop",e.Mobile="mobile"}(v||(v={})),function(e){e.Video_Collapse_Autoplay_SoundOff="Video_Collapse_Autoplay_SoundOff",e.Video_Individual_Autoplay_SOff="Video_Individual_Autoplay_SOff",e.Video_Coll_SOff_Smartphone="Video_Coll_SOff_Smartphone",e.Video_In_Post_ClicktoPlay_SoundOn="Video_In-Post_ClicktoPlay_SoundOn"}(_||(_={})),function(e){e.vpaidAdPlayError="vpaidAdPlayError",e.adError="adError",e.adLoaded="adLoaded"}(b||(b={})),function(e){e.None="none"}(S||(S={})),function(e){e.Default="default",e.AZ_Animals="5daf495ed42c8605cfc74b0b",e.Natashas_Kitchen="55bccc97303edab84afd77e2",e.RecipeTin_Eats="55cb7e3b4bc841bd0c4ea577",e.Sallys_Baking_Recipes="566aefa94856897050ee7303",e.Spend_With_Pennies="541917f5a90318f9194874cf"}(O||(O={}));var j=function(e,t,n){switch(t){case g.AdDensity:return function(e,t){var n=e.adDensityEnabled,i=e.adDensityLayout.pageOverrides.find((function(e){return!!document.querySelector(e.pageSelector)&&(e[t].onePerViewport||"number"==typeof e[t].adDensity)}));return!n||!i}(e,n);case g.StickyOutstream:return function(e){var t,n,i,o=null===(i=null===(n=null===(t=e.videoPlayers)||void 0===t?void 0:t.partners)||void 0===n?void 0:n.stickyOutstream)||void 0===i?void 0:i.blockedPageSelectors;return!o||!document.querySelector(o)}(e);case g.Interstitial:return function(e){var t=e.adOptions.interstitialBlockedPageSelectors;return!t||!document.querySelector(t)}(e);default:return!0}},R=function(e){try{return{valid:!0,elements:document.querySelectorAll(e)}}catch(e){return n({valid:!1},e)}},I=function(e){return""===e?{valid:!0}:R(e)},L=function(e,t){if(!e)return!1;var n=!!e.enabled,i=null==e.dateStart||Date.now()>=e.dateStart,o=null==e.dateEnd||Date.now()<=e.dateEnd,r=null===e.selector||""!==e.selector&&!!document.querySelector(e.selector),a="mobile"===e.platform&&"mobile"===t,s="desktop"===e.platform&&"desktop"===t,l=null===e.platform||"all"===e.platform||a||s,c="bernoulliTrial"===e.experimentType?1===e.variants.length:function(e){var t=e.reduce((function(e,t){return t.weight?t.weight+e:e}),0);return e.length>0&&e.every((function(e){var t=e.value,n=e.weight;return!(null==t||"number"==typeof t&&isNaN(t)||!n)}))&&100===t}(e.variants);return c||A.error("SiteTest","validateSiteExperiment","experiment presented invalid choices for key:",e.key,e.variants),n&&i&&o&&r&&l&&c},T=["siteId","siteName","adOptions","breakpoints","adUnits"],V=function(){function e(){this._timeOrigin=0}return e.prototype.resetTimeOrigin=function(){this._timeOrigin=window.performance.now()},e.prototype.now=function(){try{return Math.round(window.performance.now()-this._timeOrigin)}catch(e){return 0}},e}();window.adthrive.windowPerformance=window.adthrive.windowPerformance||new V;var N=window.adthrive.windowPerformance,G=N.now.bind(N),z=function(e){function n(t){var n=e.call(this)||this;return n._featureRollouts=t.enabled&&t.siteAds.featureRollouts||{},n}return t(n,e),n}(function(){function e(){this._featureRollouts={}}return Object.defineProperty(e.prototype,"siteFeatureRollouts",{get:function(){return this._featureRollouts},enumerable:!1,configurable:!0}),e.prototype.isRolloutEnabled=function(e){return!(!this._featureRollouts||!this._featureRollouts[e])&&this._featureRollouts[e].enabled},e.prototype.getSiteRolloutConfig=function(e){var t;return this.isRolloutEnabled(e)&&null!==(t=this._featureRollouts[e].data)&&void 0!==t?t:{}},e}()),H=function(){function e(){this._clsGlobalData=window.adthriveCLS}return Object.defineProperty(e.prototype,"enabled",{get:function(){return!!this._clsGlobalData&&!!this._clsGlobalData.siteAds&&function(e,t){if(void 0===t&&(t=T),!e)return!1;for(var n=0;n<t.length;n++)if(!e[t[n]])return!1;return!0}(this._clsGlobalData.siteAds)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"error",{get:function(){return!(!this._clsGlobalData||!this._clsGlobalData.error)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"siteAds",{get:function(){return this._clsGlobalData.siteAds},set:function(e){this._clsGlobalData.siteAds=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disableAds",{get:function(){return this._clsGlobalData.disableAds},set:function(e){this._clsGlobalData.disableAds=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"enabledLocations",{get:function(){return this._clsGlobalData.enabledLocations},set:function(e){this._clsGlobalData.enabledLocations=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"injectedFromPlugin",{get:function(){return this._clsGlobalData.injectedFromPlugin},set:function(e){this._clsGlobalData.injectedFromPlugin=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"injectedFromSiteAds",{get:function(){return this._clsGlobalData.injectedFromSiteAds},set:function(e){this._clsGlobalData.injectedFromSiteAds=e},enumerable:!1,configurable:!0}),e.prototype.overwriteInjectedSlots=function(e){this._clsGlobalData.injectedSlots=e},e.prototype.setInjectedSlots=function(e){this._clsGlobalData.injectedSlots=this._clsGlobalData.injectedSlots||[],this._clsGlobalData.injectedSlots.push(e)},Object.defineProperty(e.prototype,"injectedSlots",{get:function(){return this._clsGlobalData.injectedSlots},enumerable:!1,configurable:!0}),e.prototype.setInjectedVideoSlots=function(e){this._clsGlobalData.injectedVideoSlots=this._clsGlobalData.injectedVideoSlots||[],this._clsGlobalData.injectedVideoSlots.push(e)},Object.defineProperty(e.prototype,"injectedVideoSlots",{get:function(){return this._clsGlobalData.injectedVideoSlots},enumerable:!1,configurable:!0}),e.prototype.setInjectedScripts=function(e){this._clsGlobalData.injectedScripts=this._clsGlobalData.injectedScripts||[],this._clsGlobalData.injectedScripts.push(e)},Object.defineProperty(e.prototype,"getInjectedScripts",{get:function(){return this._clsGlobalData.injectedScripts},enumerable:!1,configurable:!0}),e.prototype.setExperiment=function(e,t,n){void 0===n&&(n=!1),this._clsGlobalData.experiments=this._clsGlobalData.experiments||{},this._clsGlobalData.siteExperiments=this._clsGlobalData.siteExperiments||{},(n?this._clsGlobalData.siteExperiments:this._clsGlobalData.experiments)[e]=t},e.prototype.getExperiment=function(e,t){void 0===t&&(t=!1);var n=t?this._clsGlobalData.siteExperiments:this._clsGlobalData.experiments;return n&&n[e]},e.prototype.setWeightedChoiceExperiment=function(e,t,n){void 0===n&&(n=!1),this._clsGlobalData.experimentsWeightedChoice=this._clsGlobalData.experimentsWeightedChoice||{},this._clsGlobalData.siteExperimentsWeightedChoice=this._clsGlobalData.siteExperimentsWeightedChoice||{},(n?this._clsGlobalData.siteExperimentsWeightedChoice:this._clsGlobalData.experimentsWeightedChoice)[e]=t},e.prototype.getWeightedChoiceExperiment=function(e,t){var n,i;void 0===t&&(t=!1);var o=t?null===(n=this._clsGlobalData)||void 0===n?void 0:n.siteExperimentsWeightedChoice:null===(i=this._clsGlobalData)||void 0===i?void 0:i.experimentsWeightedChoice;return o&&o[e]},Object.defineProperty(e.prototype,"branch",{get:function(){return this._clsGlobalData.branch},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"bucket",{get:function(){return this._clsGlobalData.bucket},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"videoDisabledFromPlugin",{get:function(){return this._clsGlobalData.videoDisabledFromPlugin},set:function(e){this._clsGlobalData.videoDisabledFromPlugin=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"targetDensityLog",{get:function(){return this._clsGlobalData.targetDensityLog},set:function(e){this._clsGlobalData.targetDensityLog=e},enumerable:!1,configurable:!0}),e.prototype.shouldHalveIOSDensity=function(){var e,t=new z(this);return void 0===e&&(e=navigator.userAgent),/iP(hone|od|ad)/i.test(e)&&t.isRolloutEnabled("iOS-Resolution")},e.prototype.getTargetDensity=function(e){return this.shouldHalveIOSDensity()?e/2:e},Object.defineProperty(e.prototype,"removeVideoTitleWrapper",{get:function(){return this._clsGlobalData.siteAds.adOptions.removeVideoTitleWrapper},enumerable:!1,configurable:!0}),e}(),B=function(){function e(){}return e.getScrollTop=function(){return(window.pageYOffset||document.documentElement.scrollTop)-(document.documentElement.clientTop||0)},e.getScrollBottom=function(){return this.getScrollTop()+(document.documentElement.clientHeight||0)},e.shufflePlaylist=function(e){for(var t,n,i=e.length;0!==i;)n=Math.floor(Math.random()*e.length),t=e[i-=1],e[i]=e[n],e[n]=t;return e},e.isMobileLandscape=function(){return window.matchMedia("(orientation: landscape) and (max-height: 480px)").matches},e.playerViewable=function(e){var t=e.getBoundingClientRect();return this.isMobileLandscape()?window.innerHeight>t.top+t.height/2&&t.top+t.height/2>0:window.innerHeight>t.top+t.height/2},e.createQueryString=function(e){return Object.keys(e).map((function(t){return"".concat(t,"=").concat(e[t])})).join("&")},e.createEncodedQueryString=function(e){return Object.keys(e).map((function(t){return"".concat(t,"=").concat(encodeURIComponent(e[t]))})).join("&")},e.setMobileLocation=function(e){return"top-left"===(e=e||"bottom-right")?e="adthrive-collapse-top-left":"top-right"===e?e="adthrive-collapse-top-right":"bottom-left"===e?e="adthrive-collapse-bottom-left":"bottom-right"===e?e="adthrive-collapse-bottom-right":"top-center"===e&&(e=D()?"adthrive-collapse-top-center":"adthrive-collapse-bottom-right"),e},e.addMaxResolutionQueryParam=function(e){var t=D()?"320":"1280",n="max_resolution=".concat(t),i=s(String(e).split("?"),2),o=i[0],r=i[1],a=r?r+"&".concat(n):n;return"".concat(o,"?").concat(a)},e}(),W=function(e){this._clsOptions=e,this.removeVideoTitleWrapper=C(this._clsOptions.siteAds.adOptions.removeVideoTitleWrapper,!1);var t=this._clsOptions.siteAds.videoPlayers;this.footerSelector=C(t&&t.footerSelector,""),this.players=C(t&&t.players.map((function(e){return e.mobileLocation=B.setMobileLocation(e.mobileLocation),e})),[]),this.relatedSettings=t&&t.contextual},F=function(e){this.mobileStickyPlayerOnPage=!1,this.playlistPlayerAdded=!1,this.relatedPlayerAdded=!1,this.footerSelector="",this.removeVideoTitleWrapper=!1,this.videoAdOptions=new W(e),this.players=this.videoAdOptions.players,this.relatedSettings=this.videoAdOptions.relatedSettings,this.removeVideoTitleWrapper=this.videoAdOptions.removeVideoTitleWrapper,this.footerSelector=this.videoAdOptions.footerSelector},q=function(){},U=function(e){function n(t){var n=e.call(this)||this;return n._probability=t,n}return t(n,e),n.prototype.get=function(){if(this._probability<0||this._probability>1)throw new Error("Invalid probability: ".concat(this._probability));return Math.random()<this._probability},n}(q),K=function(){function e(){this._clsOptions=new H,this.shouldUseCoreExperimentsConfig=!1}return e.prototype.setExperimentKey=function(e){void 0===e&&(e=!1),this._clsOptions.setExperiment(this.abgroup,this.result,e)},e}(),Y=function(e){function n(){var t=e.call(this)||this;return t._result=!1,t._choices=[{choice:!0},{choice:!1}],t.key="RemoveLargeSize",t.abgroup="smhd100",t._result=t.run(),t.setExperimentKey(),t}return t(n,e),Object.defineProperty(n.prototype,"result",{get:function(){return this._result},enumerable:!1,configurable:!0}),n.prototype.run=function(){return new U(.1).get()},n}(K),J=function(e,t,n,i,o,r){var a=Math.round(r-o),c=[],u=[];c.push("(",n.map((function(){return"%o"})).join(", "),")"),u.push.apply(u,l([],s(n),!1)),void 0!==i&&(c.push(" => %o"),u.push(i)),c.push(" %c(".concat(a,"ms)")),u.push("color: #999;")},Q=function(e,t,n){var i=void 0!==n.get?n.get:n.value;return function(){for(var n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];try{var r=G(),a=i.apply(this,n);if(a instanceof Promise)return a.then((function(e){var t=G();return J(0,0,n,e,r,t),Promise.resolve(e)})).catch((function(n){throw n.logged||(A.error(e,t,n),n.logged=!0),n}));var s=G();return J(0,0,n,a,r,s),a}catch(n){throw n.logged||(A.error(e,t,n),n.logged=!0),n}}},X=function(e,t){return void 0===t&&(t=!1),function(i){var o,r,l=Object.getOwnPropertyNames(i.prototype).filter((function(e){return t||0!==e.indexOf("_")})).map((function(e){return[e,Object.getOwnPropertyDescriptor(i.prototype,e)]}));try{for(var c=a(l),u=c.next();!u.done;u=c.next()){var d=s(u.value,2),p=d[0],h=d[1];void 0!==h&&"function"==typeof h.value?i.prototype[p]=Q(e,p,h):void 0!==h&&void 0!==h.get&&"function"==typeof h.get&&Object.defineProperty(i.prototype,p,n(n({},h),{get:Q(e,p,h)}))}}catch(e){o={error:e}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(o)throw o.error}}}},Z=function(e){function n(t){var n=e.call(this)||this;return n._result=!1,n.key="ParallaxAdsExperiment",n.abgroup="parallax",n._choices=[{choice:!0},{choice:!1}],n.weight=.5,!!D()&&t.largeFormatsMobile&&(n._result=n.run(),n.setExperimentKey()),n}return t(n,e),Object.defineProperty(n.prototype,"result",{get:function(){return this._result},enumerable:!1,configurable:!0}),n.prototype.run=function(){return new U(this.weight).get()},n=o([X("ParallaxAdsExperiment"),r("design:paramtypes",[Object])],n)}(K),$=function(e){function n(){var t=e.call(this)||this;return t._result=!1,t._choices=[{choice:!0},{choice:!1}],t.key="mrsf",t.abgroup="mrsf",D()&&(t._result=t.run(),t.setExperimentKey()),t}return t(n,e),Object.defineProperty(n.prototype,"result",{get:function(){return this._result},enumerable:!1,configurable:!0}),n.prototype.run=function(){return new U(1).get()},n}(K),ee=[[728,90],[300,250],[300,600],[320,50],[970,250],[160,600],[300,1050],[336,280],[970,90],[300,50],[320,100],[468,60],[250,250],[120,240],[1,1],[300,300],[552,334],[300,420],[728,250],[320,300],[300,390]],te=[[300,600],[160,600]],ne=new Map([["Footer",1],["Header",2],["Sidebar",3],["Content",4],["Recipe",5],["Sidebar_sticky",6],["Below Post",7]]),ie=function(e,t){var n=e.location,i=e.sticky;if("Recipe"===n&&t){var o=t,r=o.recipeMobile,a=o.recipeDesktop;if(D()&&(null==r?void 0:r.enabled))return!0;if(!D()&&(null==a?void 0:a.enabled))return!0}return"Footer"===n||i},oe=function(e,t){var n=t.adUnits,i=function(e){return!!e.adTypes&&new Z(e.adTypes).result}(t),o=new Y,r=new $;return n.filter((function(e){return void 0!==e.dynamic&&e.dynamic.enabled})).map((function(n){var a,c=n.location.replace(/\s+/g,"_"),u="Sidebar"===c?0:2;return{auctionPriority:ne.get(c)||8,location:c,sequence:C(n.sequence,1),sizes:(a=n.adSizes,ee.filter((function(e){var t=s(e,2),n=t[0],i=t[1];return a.some((function(e){var t=s(e,2),o=t[0],r=t[1];return n===o&&i===r}))}))).filter((function(t){return function(e,t,n,i,o){var r=s(t,2),a=r[0],l=r[1],c=e.location,u=e.sequence;if("Footer"===c)return!("phone"===n&&320===a&&100===l);if("Header"===c)return!(l>100&&i.result);if("Recipe"===c)return!(o.result&&"phone"===n&&(300===a&&390===l||320===a&&300===l));if("Sidebar"===c){var d=e.adSizes.some((function(e){return s(e,2)[1]<=300})),p=l>300;return!(!p||d)||9===u||(u&&u<=5?!p||e.sticky:!p)}return!0}(n,t,e,o,r)})).concat(i&&"Content"===n.location?te:[]),devices:n.devices,pageSelector:C(n.dynamic.pageSelector,"").trim(),elementSelector:C(n.dynamic.elementSelector,"").trim(),position:C(n.dynamic.position,"beforebegin"),max:Math.floor(C(n.dynamic.max,0)),spacing:C(n.dynamic.spacing,0),skip:Math.floor(C(n.dynamic.skip,0)),every:Math.max(Math.floor(C(n.dynamic.every,1)),1),classNames:n.dynamic.classNames||[],sticky:ie(n,t.adOptions.stickyContainerConfig),stickyOverlapSelector:C(n.stickyOverlapSelector,"").trim(),autosize:n.autosize,special:C(n.targeting,[]).filter((function(e){return"special"===e.key})).reduce((function(e,t){return e.concat.apply(e,l([],s(t.value),!1))}),[]),lazy:C(n.dynamic.lazy,!1),lazyMax:C(n.dynamic.lazyMax,u),lazyMaxDefaulted:0!==n.dynamic.lazyMax&&!n.dynamic.lazyMax,name:n.name}}))},re=function(e,t){var n=function(e){var t=e.clientWidth;if(getComputedStyle){var n=getComputedStyle(e,null);t-=parseFloat(n.paddingLeft||"0")+parseFloat(n.paddingRight||"0")}return t}(t),i=e.sticky&&"Sidebar"===e.location;return e.sizes.filter((function(t){var o=!e.autosize||(t[0]<=n||t[0]<=320),r=!i||t[1]<=window.innerHeight-100;return o&&r}))},ae=function(e){this.clsOptions=e,this.enabledLocations=["Below_Post","Content","Recipe","Sidebar"]},se=function(e){return"adthrive-".concat(e.location.replace("_","-").toLowerCase())},le=function(e){return"".concat(se(e),"-").concat(e.sequence)};"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var ce={exports:{}};ce.exports=function(){function e(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}return e}();var ue,de,pe=(ue=ce.exports)&&ue.__esModule&&Object.prototype.hasOwnProperty.call(ue,"default")?ue.default:ue,he=function(e){return e.some((function(e){return null!==document.querySelector(e)}))},fe=function(e){function n(){var t=e.call(this)||this;return t._result=!1,t._choices=[{choice:!0},{choice:!1}],t.key="RemoveRecipeCap",t.abgroup="rrc",t._result=t.run(),t.setExperimentKey(),t}return t(n,e),Object.defineProperty(n.prototype,"result",{get:function(){return this._result},enumerable:!1,configurable:!0}),n.prototype.run=function(){return new U(1).get()},n}(K),ye=function(e){function n(t,n){void 0===t&&(t=[]);var i=e.call(this)||this;return i._choices=t,i._default=n,i}return t(n,e),n.fromArray=function(e,t){return new n(e.map((function(e){var t=s(e,2);return{choice:t[0],weight:t[1]}})),t)},n.prototype.addChoice=function(e,t){this._choices.push({choice:e,weight:t})},n.prototype.get=function(){var e,t,n,i,o=(n=0,i=100,Math.random()*(i-n)+n),r=0;try{for(var s=a(this._choices),l=s.next();!l.done;l=s.next()){var c=l.value,u=c.choice;if((r+=c.weight)>=o)return u}}catch(t){e={error:t}}finally{try{l&&!l.done&&(t=s.return)&&t.call(s)}finally{if(e)throw e.error}}return this._default},Object.defineProperty(n.prototype,"totalWeight",{get:function(){return this._choices.reduce((function(e,t){return e+t.weight}),0)},enumerable:!1,configurable:!0}),n}(q),me=function(e){return null!=e&&!("number"==typeof e&&isNaN(e))},ge=function(){return function(e,t,i){var o=i.value;o&&(i.value=function(){for(var e=this,t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];var r=function(e){if(null===e)return null;var t=e.map((function(e){return e.choice}));return function(e){for(var t=5381,n=e.length;n;)t=33*t^e.charCodeAt(--n);return t>>>0}(JSON.stringify(t)).toString(16)}(this._choices),a=this._expConfigABGroup?this._expConfigABGroup:this.abgroup,l=a?a.toLowerCase():this.key?this.key.toLowerCase():"",c=r?"".concat(l,"_").concat(r):l,u=this.localStoragePrefix?"".concat(this.localStoragePrefix,"-").concat(c):c,d=M.getLocalStorageValue("branch");!1===(d&&d.enabled)&&M.removeLocalStorageValue(u);var p=o.apply(e,t),h=function(e,t){var n,i;return null!==(i=null===(n=e.find((function(e){return e.choice===t})))||void 0===n?void 0:n.weight)&&void 0!==i?i:null}(this._choices,p),f=s(function(e,t,i,o,r,a){var s,l;void 0===a&&(a=!0);var c="abgroup",u=e.getLocalStorageValue(c,!0,!0,r,a);if(null!==u){var d=u[t],p=null!==(l=u["".concat(t,"_weight")])&&void 0!==l?l:null;if(me(d))return[d,p]}var h=n(n({},u),((s={})[t]=i,s["".concat(t,"_weight")]=o,s));return e.setLocalStorageValue(c,h),[i,o]}(M,u,p,h,864e5),2),y=f[0],m=f[1];return this._stickyResult=y,this._stickyWeight=m,y})}},ve=function(e){function n(){var t=e.apply(this,l([],s(arguments),!1))||this;return t._resultValidator=function(){return!0},t}return t(n,e),n.prototype._isValidResult=function(t){var n=this;return e.prototype._isValidResult.call(this,t,(function(){return n._resultValidator(t)||"control"===t}))},n.prototype.run=function(){if(!this.enabled)return A.error("CLSWeightedChoiceSiteExperiment","run","() => %o","No experiment config found. Defaulting to control."),"control";if(!this._mappedChoices||0===this._mappedChoices.length)return A.error("CLSWeightedChoiceSiteExperiment","run","() => %o","No experiment variants found. Defaulting to control."),"control";var e=new ye(this._mappedChoices).get();return this._isValidResult(e)?e:(A.error("CLSWeightedChoiceSiteExperiment","run","() => %o","Invalid result from experiment choices. Defaulting to control."),"control")},n}(function(){function e(){}return Object.defineProperty(e.prototype,"enabled",{get:function(){return void 0!==this.experimentConfig},enumerable:!1,configurable:!0}),e.prototype._isValidResult=function(e,t){return void 0===t&&(t=function(){return!0}),t()&&me(e)},e}()),_e=function(){function e(e){var t,n,i=this;this.siteExperiments=[],this._clsOptions=e,this._device=D()?"mobile":"desktop",this.siteExperiments=null!==(n=null===(t=this._clsOptions.siteAds.siteExperiments)||void 0===t?void 0:t.filter((function(e){var t=e.key,n=L(e,i._device),o=j(i._clsOptions.siteAds,t,i._device);return n&&o})))&&void 0!==n?n:[]}return e.prototype.getSiteExperimentByKey=function(e){var t,n,i=this.siteExperiments.filter((function(t){return t.key.toLowerCase()===e.toLowerCase()}))[0],o=E("at_site_features"),r=(t=(null==i?void 0:i.variants[1])?null==i?void 0:i.variants[1].value:null==i?void 0:i.variants[0].value,n=o[e],typeof t==typeof n);return i&&o[e]&&r&&(i.variants=[{displayName:"test",value:o[e],weight:100,id:0}]),i},e}(),be=function(e){function n(t){var n=e.call(this)||this;return n._choices=[],n._mappedChoices=[],n._result="",n._resultValidator=function(e){return"string"==typeof e},n.key=g.AdLayout,n.abgroup=g.AdLayout,n._clsSiteExperiments=new _e(t),n.experimentConfig=n._clsSiteExperiments.getSiteExperimentByKey(n.key),n.enabled&&n.experimentConfig&&(n._choices=n.experimentConfig.variants,n._mappedChoices=n._mapChoices(),n._result=n.run(),t.setWeightedChoiceExperiment(n.abgroup,n._result,!0)),n}return t(n,e),Object.defineProperty(n.prototype,"result",{get:function(){return this._result},enumerable:!1,configurable:!0}),n.prototype.run=function(){if(!this.enabled)return A.error("CLSAdLayoutSiteExperiment","run","() => %o","No experiment config found. Defaulting to empty class name."),"";var e=new ye(this._mappedChoices).get();return this._isValidResult(e)?e:(A.error("CLSAdLayoutSiteExperiment","run","() => %o","Invalid result from experiment choices. Defaulting to empty class name."),"")},n.prototype._mapChoices=function(){return this._choices.map((function(e){return{weight:e.weight,choice:e.value}}))},o([ge(),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],n.prototype,"run",null),n}(ve),Se=function(e){function n(t){var n=e.call(this)||this;return n._choices=[],n._mappedChoices=[],n._result="control",n._resultValidator=function(e){return"number"==typeof e},n.key=g.AdDensity,n.abgroup=g.AdDensity,n._clsSiteExperiments=new _e(t),n.experimentConfig=n._clsSiteExperiments.getSiteExperimentByKey(n.key),n.enabled&&n.experimentConfig&&(n._choices=n.experimentConfig.variants,n._mappedChoices=n._mapChoices(),n._result=n.run(),t.setWeightedChoiceExperiment(n.abgroup,n._result,!0)),n}return t(n,e),Object.defineProperty(n.prototype,"result",{get:function(){return this._result},enumerable:!1,configurable:!0}),n.prototype.run=function(){if(!this.enabled)return A.error("CLSTargetAdDensitySiteExperiment","run","() => %o","No experiment config found. Defaulting to control."),"control";var e=new ye(this._mappedChoices).get();return this._isValidResult(e)?e:(A.error("CLSTargetAdDensitySiteExperiment","run","() => %o","Invalid result from experiment choices. Defaulting to control."),"control")},n.prototype._mapChoices=function(){return this._choices.map((function(e){var t=e.weight,n=e.value;return{weight:t,choice:"number"==typeof n?(n||0)/100:"control"}}))},o([ge(),r("design:type",Function),r("design:paramtypes",[]),r("design:returntype",void 0)],n.prototype,"run",null),n}(ve),Oe=function(e){function n(){var t=e.call(this)||this;return t._result=!1,t.abgroup="scae",t.key="StickyContainerAds",t._choices=[{choice:!0},{choice:!1}],t.weight=.99,t._result=t.run(),t.setExperimentKey(),t}return t(n,e),Object.defineProperty(n.prototype,"result",{get:function(){return this._result},enumerable:!1,configurable:!0}),n.prototype.run=function(){return new U(this.weight).get()},n=o([X("StickyContainerAdsExperiment"),r("design:paramtypes",[])],n)}(K),we=function(e){function n(){var t=e.call(this)||this;return t._result=!1,t.abgroup="scre",t.key="StickyContainerRecipe",t._choices=[{choice:!0},{choice:!1}],t.weight=.99,t._result=t.run(),t.setExperimentKey(),t}return t(n,e),Object.defineProperty(n.prototype,"result",{get:function(){return this._result},enumerable:!1,configurable:!0}),n.prototype.run=function(){return new U(this.weight).get()},n=o([X("StickyContainerRecipeExperiment"),r("design:paramtypes",[])],n)}(K),Pe="250px",Ae=function(){function e(e,t){this._clsOptions=e,this._adInjectionMap=t,this._recipeCount=0,this._mainContentHeight=0,this._mainContentDiv=null,this._totalAvailableElements=[],this._minDivHeight=250,this._densityDevice=v.Desktop,this._pubLog={onePerViewport:!1,targetDensity:0,targetDensityUnits:0,combinedMax:0},this._densityMax=.99,this._smallerIncrementAttempts=0,this._absoluteMinimumSpacingByDevice=250,this._usedAbsoluteMinimum=!1,this._infPageEndOffset=0,this.locationMaxLazySequence=new Map([["Recipe",5]]),this.locationToMinHeight={Below_Post:Pe,Content:Pe,Recipe:Pe,Sidebar:Pe};var n=this._clsOptions.siteAds.breakpoints,i=n.tablet,o=n.desktop;this._device=function(e,t){var n=window.innerWidth;return n>=t?"desktop":n>=e?"tablet":"phone"}(i,o),this._config=new ae(e),this._clsOptions.enabledLocations=this._config.enabledLocations,this._clsTargetAdDensitySiteExperiment=this._clsOptions.siteAds.siteExperiments?new Se(this._clsOptions):null,this._stickyContainerAdsExperiment=new Oe,this._stickyContainerRecipeExperiment=new we,this._removeRecipeCapExperiment=new fe}return e.prototype.start=function(){var e,t,n,i,o,r=this;try{!function(e){var t=document.body,n="adthrive-device-".concat(e);if(!t.classList.contains(n))try{t.classList.add(n)}catch(e){A.error("BodyDeviceClassComponent","init",{message:e.message});var i="classList"in document.createElement("_");A.error("BodyDeviceClassComponent","init.support",{support:i})}}(this._device);var a=new be(this._clsOptions);if(a.enabled){var s=a.result,l=s.startsWith(".")?s.substring(1):s;if(function(e){return/^[-_a-zA-Z]+[-_a-zA-Z0-9]*$/.test(e)}(l))try{document.body.classList.add(l)}catch(e){A.error("ClsDynamicAdsInjector","start","Uncaught CSS Class error: ".concat(e))}else A.error("ClsDynamicAdsInjector","start","Invalid class name: ".concat(l))}var c=oe(this._device,this._clsOptions.siteAds).filter((function(e){return r._locationEnabled(e)})).filter((function(e){return t=e,n=r._device,t.devices.includes(n);var t,n})).filter((function(e){return 0===(t=e).pageSelector.length||null!==document.querySelector(t.pageSelector);var t})),u=this.inject(c);(null===(t=null===(e=this._clsOptions.siteAds.adOptions.stickyContainerConfig)||void 0===e?void 0:e.content)||void 0===t?void 0:t.enabled)&&this._stickyContainerAdsExperiment.result&&!he(this._clsOptions.siteAds.adOptions.stickyContainerConfig.blockedSelectors||[])&&(o=null===(i=null===(n=this._clsOptions.siteAds.adOptions.stickyContainerConfig)||void 0===n?void 0:n.content)||void 0===i?void 0:i.minHeight,pe('\n .adthrive-device-phone .adthrive-sticky-content {\n height: 450px !important;\n margin-bottom: 100px !important;\n }\n .adthrive-content.adthrive-sticky {\n position: -webkit-sticky;\n position: sticky !important;\n top: 42px !important;\n margin-top: 42px !important;\n }\n .adthrive-content.adthrive-sticky:after {\n content: "— Advertisement. Scroll down to continue. —";\n font-size: 10pt;\n margin-top: 5px;\n margin-bottom: 5px;\n display:block;\n color: #888;\n }\n .adthrive-sticky-container {\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: center;\n min-height:'.concat(o||400,"px !important;\n margin: 10px 0 10px 0;\n background-color: #FAFAFA;\n padding-bottom:0px;\n }\n "))),u.forEach((function(e){return r._clsOptions.setInjectedSlots(e)}))}catch(e){A.error("ClsDynamicAdsInjector","start",e)}},e.prototype.inject=function(e,t){void 0===t&&(t=document),this._densityDevice="desktop"===this._device?v.Desktop:v.Mobile,this._overrideDefaultAdDensitySettingsWithSiteExperiment();var n=this._clsOptions.siteAds,i=C(n.adDensityEnabled,!0),o=n.adDensityLayout&&i,r=e.filter((function(e){return o?"Content"!==e.location:e})),a=e.filter((function(e){return o?"Content"===e.location:null}));return l(l([],s(r.length?this._injectNonDensitySlots(r,t):[]),!1),s(a.length?this._injectDensitySlots(a,t):[]),!1)},e.prototype._injectNonDensitySlots=function(e,t){var n,i,o,r,s,l=this;void 0===t&&(t=document);var c=[],u=[];if(this._stickyContainerRecipeExperiment.result&&e.some((function(e){return"Recipe"===e.location&&e.sticky}))&&!he((null===(o=this._clsOptions.siteAds.adOptions.stickyContainerConfig)||void 0===o?void 0:o.blockedSelectors)||[])){var d=this._clsOptions.siteAds.adOptions.stickyContainerConfig;!function(e){pe("\n .adthrive-recipe.adthrive-sticky {\n position: -webkit-sticky;\n position: sticky !important;\n top: 42px !important;\n margin-top: 42px !important;\n }\n .adthrive-recipe-sticky-container {\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: center;\n min-height:".concat(e||400,"px !important;\n margin: 10px 0 10px 0;\n background-color: #FAFAFA;\n padding-bottom:0px;\n }\n "))}("phone"===this._device?null===(r=null==d?void 0:d.recipeMobile)||void 0===r?void 0:r.minHeight:null===(s=null==d?void 0:d.recipeDesktop)||void 0===s?void 0:s.minHeight)}try{for(var p=a(e),h=p.next();!h.done;h=p.next()){var f=h.value;this._insertNonDensityAds(f,c,u,t)}}catch(e){n={error:e}}finally{try{h&&!h.done&&(i=p.return)&&i.call(p)}finally{if(n)throw n.error}}return u.forEach((function(e){var t=e.location;e.element.style.minHeight=l.locationToMinHeight[t]})),c},e.prototype._injectDensitySlots=function(e,t){void 0===t&&(t=document);try{this._calculateMainContentHeightAndAllElements(e,t)}catch(e){return[]}var n=this._getDensitySettings(e,t),i=n.onePerViewport,o=n.targetAll,r=n.targetDensityUnits,a=n.combinedMax,s=n.numberOfUnits;return this._absoluteMinimumSpacingByDevice=i?window.innerHeight:this._absoluteMinimumSpacingByDevice,s?(this._adInjectionMap.filterUsed(),this._findElementsForAds(s,i,o,a,r,t),this._insertAds()):[]},e.prototype._overrideDefaultAdDensitySettingsWithSiteExperiment=function(){var e;if(null===(e=this._clsTargetAdDensitySiteExperiment)||void 0===e?void 0:e.enabled){var t=this._clsTargetAdDensitySiteExperiment.result;"number"==typeof t&&(this._clsOptions.siteAds.adDensityEnabled=!0,this._clsOptions.siteAds.adDensityLayout[this._densityDevice].adDensity=t)}},e.prototype._getDensitySettings=function(e,t){void 0===t&&(t=document);var n=this._clsOptions.siteAds.adDensityLayout,i=this._determineOverrides(n.pageOverrides),o=i.length?i[0]:n[this._densityDevice],r=this._clsOptions.getTargetDensity(o.adDensity),a=o.onePerViewport,c=this._shouldTargetAllEligible(r),u=this._getTargetDensityUnits(r,c),d=this._getCombinedMax(e,t),p=Math.min.apply(Math,l([],s(l([this._totalAvailableElements.length,u],s(d>0?[d]:[]),!1)),!1));return this._pubLog={onePerViewport:a,targetDensity:r,targetDensityUnits:u,combinedMax:d},{onePerViewport:a,targetAll:c,targetDensityUnits:u,combinedMax:d,numberOfUnits:p}},e.prototype._determineOverrides=function(e){var t=this;return e.filter((function(e){var t=I(e.pageSelector);return""===e.pageSelector||t.elements&&t.elements.length})).map((function(e){return e[t._densityDevice]}))},e.prototype._shouldTargetAllEligible=function(e){return e===this._densityMax},e.prototype._getTargetDensityUnits=function(e,t){return t?this._totalAvailableElements.length:Math.floor(e*this._mainContentHeight/(1-e)/this._minDivHeight)-this._recipeCount},e.prototype._getCombinedMax=function(e,t){return void 0===t&&(t=document),C(e.filter((function(e){var n;try{n=t.querySelector(e.elementSelector)}catch(e){}return n})).map((function(e){return Number(e.max)+Number(e.lazyMaxDefaulted?0:e.lazyMax)})).sort((function(e,t){return t-e}))[0],0)},e.prototype._elementLargerThanMainContent=function(e){return e.offsetHeight>=this._mainContentHeight&&this._totalAvailableElements.length>1},e.prototype._elementDisplayNone=function(e){var t=window.getComputedStyle(e,null).display;return t&&"none"===t||"none"===e.style.display},e.prototype._isBelowMaxes=function(e,t){return this._adInjectionMap.map.length<e&&this._adInjectionMap.map.length<t},e.prototype._findElementsForAds=function(e,t,n,i,o,r){var s=this;void 0===r&&(r=document),this._clsOptions.targetDensityLog={onePerViewport:t,combinedMax:i,targetDensityUnits:o,targetDensityPercentage:this._pubLog.targetDensity,mainContentHeight:this._mainContentHeight,recipeCount:this._recipeCount,numberOfEls:this._totalAvailableElements.length};var l=function(e){var t,c;try{for(var u=a(s._totalAvailableElements),d=u.next();!d.done;d=u.next()){var p=d.value,h=p.dynamicAd,f=p.element;if(s._logDensityInfo(f,h.elementSelector,e),!(!n&&s._elementLargerThanMainContent(f)||s._elementDisplayNone(f))){if(!s._isBelowMaxes(i,o))break;s._checkElementSpacing({dynamicAd:h,element:f,insertEvery:e,targetAll:n,target:r})}}}catch(e){t={error:e}}finally{try{d&&!d.done&&(c=u.return)&&c.call(u)}finally{if(t)throw t.error}}!s._usedAbsoluteMinimum&&s._smallerIncrementAttempts<5&&(++s._smallerIncrementAttempts,l(s._getSmallerIncrement(e)))},c=this._getInsertEvery(e,t,o);l(c)},e.prototype._getSmallerIncrement=function(e){var t=.6*e;return t<=this._absoluteMinimumSpacingByDevice&&(t=this._absoluteMinimumSpacingByDevice,this._usedAbsoluteMinimum=!0),t},e.prototype._insertNonDensityAds=function(e,t,n,i){void 0===i&&(i=document);var o=0,r=0,a=0;e.spacing>0&&(o=window.innerHeight*e.spacing,r=o);var c=this._repeatDynamicAds(e),u=this.getElements(e.elementSelector,i);e.skip;for(var d=function(d){if(a+1>c.length)return"break";var h=u[d];if(o>0){var f=function(e){var t=e.offsetHeight,n=e.offsetWidth,i=e.getBoundingClientRect(),o=document.body,r=document.documentElement,a=window.pageYOffset||r.scrollTop||o.scrollTop,s=window.pageXOffset||r.scrollLeft||o.scrollLeft,l=r.clientTop||o.clientTop||0,c=r.clientLeft||o.clientLeft||0,u=Math.round(i.top+a-l),d=Math.round(i.left+s-c);return{top:u,left:d,bottom:u+t,right:d+n,width:n,height:t}}(h).bottom;if(f<=r)return"continue";r=f+o}var y=c[a],m="".concat(y.location,"_").concat(y.sequence);t.some((function(e){return e.name===m}))&&(a+=1);var g=p.getDynamicElementId(y),v=se(e),_=le(e),b=l(["Sidebar"===e.location&&e.sticky&&e.sequence&&e.sequence<=5?"adthrive-sticky-sidebar":"",p._stickyContainerRecipeExperiment.result&&"Recipe"===e.location&&e.sticky?"adthrive-recipe-sticky-container":"",v,_],s(e.classNames),!1),S=p.addAd(h,g,e.position,b);if(S){var O=re(y,S);if(O.length){var w={clsDynamicAd:e,dynamicAd:y,element:S,sizes:O,name:m,infinite:i!==document};t.push(w),n.push({location:y.location,element:S}),"Recipe"===e.location&&++p._recipeCount,a+=1}h=S}},p=this,h=e.skip;h<u.length;h+=e.every){if("break"===d(h))break}},e.prototype._insertAds=function(){var e=this,t=[];return this._adInjectionMap.filterUsed(),this._adInjectionMap.map.forEach((function(n,i){var o=n.el,r=n.dynamicAd,a=n.target,s=Number(r.sequence)+i,l=r.max,c=r.lazy&&s>l;r.sequence=s,r.lazy=c;var u=e._addContentAd(o,r,a);u&&(r.used=!0,t.push(u))})),t},e.prototype._getInsertEvery=function(e,t,n){var i=this._absoluteMinimumSpacingByDevice;return this._moreAvailableElementsThanUnitsToInject(n,e)?(this._usedAbsoluteMinimum=!1,i=this._useWiderSpacing(n,e)):(this._usedAbsoluteMinimum=!0,i=this._useSmallestSpacing(t)),t&&window.innerHeight>i?window.innerHeight:i},e.prototype._useWiderSpacing=function(e,t){return this._mainContentHeight/Math.min(e,t)},e.prototype._useSmallestSpacing=function(e){return e&&window.innerHeight>this._absoluteMinimumSpacingByDevice?window.innerHeight:this._absoluteMinimumSpacingByDevice},e.prototype._moreAvailableElementsThanUnitsToInject=function(e,t){return this._totalAvailableElements.length>e||this._totalAvailableElements.length>t},e.prototype._logDensityInfo=function(e,t,n){var i=this._pubLog;i.onePerViewport,i.targetDensity;i.targetDensityUnits;i.combinedMax,this._totalAvailableElements.length},e.prototype._checkElementSpacing=function(e){var t=e.dynamicAd,i=e.element,o=e.insertEvery,r=e.targetAll,a=e.target,s=void 0===a?document:a;(this._isFirstAdInjected()||this._hasProperSpacing(i,t,r,o))&&this._markSpotForContentAd(i,n({},t),s)},e.prototype._isFirstAdInjected=function(){return!this._adInjectionMap.map.length},e.prototype._markSpotForContentAd=function(e,t,n){void 0===n&&(n=document);var i="beforebegin"===t.position||"afterbegin"===t.position;this._adInjectionMap.add(e,this._getElementCoords(e,i),t,n),this._adInjectionMap.sort()},e.prototype._hasProperSpacing=function(e,t,n,i){var o="beforebegin"===t.position||"afterbegin"===t.position,r="beforeend"===t.position||"afterbegin"===t.position,a=n||this._isElementFarEnoughFromOtherAdElements(e,i,o),s=r||this._isElementNotInRow(e,o),l=-1===e.id.indexOf("AdThrive_".concat("Below_Post"));return a&&s&&l},e.prototype._isElementFarEnoughFromOtherAdElements=function(e,t,n){for(var i=this._getElementCoords(e,n),o=!1,r=0;r<this._adInjectionMap.map.length;r++){var a=this._adInjectionMap.map[r].coords,s=this._adInjectionMap.map[r+1]&&this._adInjectionMap.map[r+1].coords;if(o=i-t>a&&(!s||i+t<s))break}return o},e.prototype._isElementNotInRow=function(e,t){var n=e.previousElementSibling,i=e.nextElementSibling,o=t?!n&&i||n&&e.tagName!==n.tagName?i:n:i;return!(!o||0!==e.getBoundingClientRect().height)||(!o||e.getBoundingClientRect().top!==o.getBoundingClientRect().top)},e.prototype._calculateMainContentHeightAndAllElements=function(e,t){void 0===t&&(t=document);var n=s(function(e,t,n){void 0===n&&(n=document);var i=s(k(e,t,n),2),o=i[0],r=i[1];if(0===o.length)throw Error("No Main Content Elements Found");return[Array.from(o).reduce((function(e,t){return t.offsetHeight>e.offsetHeight?t:e}))||document.body,r]}(e,this._adInjectionMap,t),2),i=n[0],o=n[1];this._mainContentDiv=i,this._totalAvailableElements=o,this._mainContentHeight=function(e,t){void 0===t&&(t="div #comments, section .comments");var n=e.querySelector(t);return n?e.offsetHeight-n.offsetHeight:e.offsetHeight}(this._mainContentDiv)},e.prototype._getElementCoords=function(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect();return(t?n.top:n.bottom)+window.scrollY},e.prototype._addContentAd=function(e,t,n){var i,o;void 0===n&&(n=document);var r=null,a=se(t),c=le(t),u=(null===(o=null===(i=this._clsOptions.siteAds.adOptions.stickyContainerConfig)||void 0===i?void 0:i.content)||void 0===o?void 0:o.enabled)&&this._stickyContainerAdsExperiment.result?"adthrive-sticky-container":"",d=this.addAd(e,this.getDynamicElementId(t),t.position,l([u,a,c],s(t.classNames),!1));if(d){var p=re(t,d);if(p.length)d.style.minHeight=this.locationToMinHeight[t.location],r={clsDynamicAd:t,dynamicAd:t,element:d,sizes:p,name:"".concat(t.location,"_").concat(t.sequence),infinite:n!==document}}return r},e.prototype.getDynamicElementId=function(e){return"".concat("AdThrive","_").concat(e.location,"_").concat(e.sequence,"_").concat(this._device)},e.prototype.getElements=function(e,t){return void 0===t&&(t=document),t.querySelectorAll(e)},e.prototype.addAd=function(e,t,n,i){if(void 0===i&&(i=[]),!document.getElementById(t)){var o='<div id="'.concat(t,'" class="adthrive-ad ').concat(i.join(" "),'"></div>');e.insertAdjacentHTML(n,o)}return document.getElementById(t)},e.prototype._repeatDynamicAds=function(e){for(var t=[],i=this._removeRecipeCapExperiment.result&&"Recipe"===e.location?99:this.locationMaxLazySequence.get(e.location),o=e.lazy?C(i,0):0,r=e.max,a=e.lazyMax,s=0===o&&e.lazy?r+a:Math.min(Math.max(o-e.sequence+1,0),r+a),l=Math.max(r,s),c=0;c<l;c++){var u=Number(e.sequence)+c,d=e.lazy&&c>=r;t.push(n(n({},e),{sequence:u,lazy:d}))}return t},e.prototype._locationEnabled=function(e){var t=this._clsOptions.enabledLocations.includes(e.location),n=this._clsOptions.disableAds&&this._clsOptions.disableAds.all||document.body.classList.contains("adthrive-disable-all"),i=!document.body.classList.contains("adthrive-disable-content")&&!this._clsOptions.disableAds.reasons.has("content_plugin");return t&&!n&&i},e}(),Ce=function(e){function n(t,n){var i=e.call(this,t,"ClsVideoInsertion")||this;return i._videoConfig=t,i._clsOptions=n,i._IN_POST_SELECTOR=".adthrive-video-player",i._WRAPPER_BAR_HEIGHT=36,i._playersAddedFromPlugin=[],n.removeVideoTitleWrapper&&(i._WRAPPER_BAR_HEIGHT=0),i}return t(n,e),n.prototype.init=function(){this._initializePlayers()},n.prototype._wrapVideoPlayerWithCLS=function(e,t,n){if(void 0===n&&(n=0),e.parentNode){var i=e.offsetWidth*(9/16),o=this._createGenericCLSWrapper(i,t,n);return e.parentNode.insertBefore(o,e),o.appendChild(e),o}return null},n.prototype._createGenericCLSWrapper=function(e,t,n){var i=document.createElement("div");return i.id="cls-video-container-".concat(t),i.className="adthrive",i.style.minHeight="".concat(e+n,"px"),i},n.prototype._getTitleHeight=function(){var e=document.createElement("h3");e.style.margin="10px 0",e.innerText="Title",e.style.visibility="hidden",document.body.appendChild(e);var t=window.getComputedStyle(e),n=parseInt(t.height,10),i=parseInt(t.marginTop,10),o=parseInt(t.marginBottom,10);return document.body.removeChild(e),Math.min(n+o+i,50)},n.prototype._initializePlayers=function(){var e=document.querySelectorAll(this._IN_POST_SELECTOR);e.length&&this._initializeRelatedPlayers(e),this._shouldRunAutoplayPlayers()&&this._determineAutoplayPlayers()},n.prototype._createStationaryRelatedPlayer=function(e,t,n){var i="mobile"===this._device?[400,225]:[640,360],o=_.Video_In_Post_ClicktoPlay_SoundOn;if(t&&e.mediaOrPlaylistId){var r="".concat(e.mediaOrPlaylistId,"_").concat(n),a=this._wrapVideoPlayerWithCLS(t,r);this._playersAddedFromPlugin.push(e.mediaOrPlaylistId),a&&this._clsOptions.setInjectedVideoSlots({playerId:e.playerId,playerName:o,playerSize:i,element:a,type:"stationaryRelated"})}},n.prototype._createStickyRelatedPlayer=function(e,t){var n="mobile"===this._device?[400,225]:[640,360],i=_.Video_Individual_Autoplay_SOff;if(this._stickyRelatedOnPage=!0,this._videoConfig.mobileStickyPlayerOnPage="mobile"===this._device,t&&e.position&&e.mediaId){var o=document.createElement("div");t.insertAdjacentElement(e.position,o);var r=this._getTitleHeight(),a=this._wrapVideoPlayerWithCLS(o,e.mediaId,this._WRAPPER_BAR_HEIGHT+r);this._playersAddedFromPlugin.push(e.mediaId),a&&this._clsOptions.setInjectedVideoSlots({playlistId:e.playlistId,playerId:e.playerId,playerSize:n,playerName:i,element:o,type:"stickyRelated"})}},n.prototype._createPlaylistPlayer=function(e,t){var n=e.playlistId,i="mobile"===this._device?_.Video_Coll_SOff_Smartphone:_.Video_Collapse_Autoplay_SoundOff,o="mobile"===this._device?[400,225]:[640,360];this._videoConfig.mobileStickyPlayerOnPage=!0;var r=document.createElement("div");t.insertAdjacentElement(e.position,r);var a=this._WRAPPER_BAR_HEIGHT;e.title&&(a+=this._getTitleHeight());var s=this._wrapVideoPlayerWithCLS(r,n,a);this._playersAddedFromPlugin.push("playlist-".concat(n)),s&&this._clsOptions.setInjectedVideoSlots({playlistId:e.playlistId,playerId:e.playerId,playerSize:o,playerName:i,element:r,type:"stickyPlaylist"})},n.prototype._isVideoAllowedOnPage=function(){var e=this._clsOptions.disableAds;if(e&&e.video){var t="";e.reasons.has("video_tag")?t="video tag":e.reasons.has("video_plugin")?t="video plugin":e.reasons.has("video_page")&&(t="command queue");var n=t?"ClsVideoInsertionMigrated":"ClsVideoInsertion";return A.error(n,"isVideoAllowedOnPage",new Error("DBP: Disabled by publisher via ".concat(t||"other"))),!1}return!this._clsOptions.videoDisabledFromPlugin},n}(function(e){function o(t,n){var i=e.call(this)||this;return i._videoConfig=t,i._component=n,i._stickyRelatedOnPage=!1,i._relatedMediaIds=[],i._device=x()?"desktop":"mobile",i._potentialPlayerMap=i.setPotentialPlayersMap(),i}return t(o,e),o.prototype.setPotentialPlayersMap=function(){var e=this._videoConfig.players||[],t=this._filterPlayerMap(),n=e.filter((function(e){return"stationaryRelated"===e.type&&e.enabled}));return t.stationaryRelated=n,this._potentialPlayerMap=t,this._potentialPlayerMap},o.prototype._filterPlayerMap=function(){var e=this,t=this._videoConfig.players,n={stickyRelated:[],stickyPlaylist:[],stationaryRelated:[]};return t&&t.length?t.filter((function(t){var n;return null===(n=t.devices)||void 0===n?void 0:n.includes(e._device)})).reduce((function(t,n){return t[n.type]||(A.event(e._component,"constructor","Unknown Video Player Type detected",n.type),t[n.type]=[]),n.enabled&&t[n.type].push(n),t}),n):n},o.prototype._checkPlayerSelectorOnPage=function(e){var t=this,n=this._potentialPlayerMap[e].map((function(e){return{player:e,playerElement:t._getPlacementElement(e)}}));return n.length?n[0]:{player:null,playerElement:null}},o.prototype._getOverrideElement=function(e,t,n){if(e&&t){var i=document.createElement("div");t.insertAdjacentElement(e.position,i),n=i}else{var o=this._checkPlayerSelectorOnPage("stickyPlaylist"),r=o.player,a=o.playerElement;if(r&&a){i=document.createElement("div");a.insertAdjacentElement(r.position,i),n=i}}return n},o.prototype._shouldOverrideElement=function(e){var t=e.getAttribute("override-embed");return"true"===t||"false"===t?"true"===t:!!this._videoConfig.relatedSettings&&this._videoConfig.relatedSettings.overrideEmbedLocation},o.prototype._checkPageSelector=function(e,t,n){return void 0===n&&(n=[]),!e||!t||0!==n.length||(!("/"===window.location.pathname)&&A.event("VideoUtils","getPlacementElement",new Error("PSNF: ".concat(e," does not exist on the page"))),!1)},o.prototype._getElementSelector=function(e,t,n){return t&&t.length>n?t[n]:(A.event("VideoUtils","getPlacementElement",new Error("ESNF: ".concat(e," does not exist on the page"))),null)},o.prototype._getPlacementElement=function(e){var t=e.pageSelector,n=e.elementSelector,o=e.skip,r=I(t),a=r.valid,s=r.elements,l=i(r,["valid","elements"]),c=R(n),u=c.valid,d=c.elements,p=i(c,["valid","elements"]);return""===t||a?u?this._checkPageSelector(t,a,s)&&this._getElementSelector(n,d,o)||null:(A.error("VideoUtils","getPlacementElement",new Error("".concat(n," is not a valid selector")),p),null):(A.error("VideoUtils","getPlacementElement",new Error("".concat(t," is not a valid selector")),l),null)},o.prototype._getEmbeddedPlayerType=function(e){var t=e.getAttribute("data-player-type");return t&&"default"!==t||(t=this._videoConfig.relatedSettings?this._videoConfig.relatedSettings.defaultPlayerType:"static"),this._stickyRelatedOnPage&&(t="static"),t},o.prototype._getMediaId=function(e){var t=e.getAttribute("data-video-id");return!!t&&(this._relatedMediaIds.push(t),t)},o.prototype._createRelatedPlayer=function(e,t,n,i){"collapse"===t?this._createCollapsePlayer(e,n):"static"===t&&this._createStaticPlayer(e,n,i)},o.prototype._createCollapsePlayer=function(e,t){var i=this._checkPlayerSelectorOnPage("stickyRelated"),o=i.player,r=i.playerElement,a=o||this._potentialPlayerMap.stationaryRelated[0];a&&a.playerId?(this._shouldOverrideElement(t)&&(t=this._getOverrideElement(o,r,t)),t=document.querySelector("#cls-video-container-".concat(e," > div"))||t,this._createStickyRelatedPlayer(n(n({},a),{mediaId:e}),t)):A.error(this._component,"_createCollapsePlayer","No video player found")},o.prototype._createStaticPlayer=function(e,t,i){if(this._potentialPlayerMap.stationaryRelated.length&&this._potentialPlayerMap.stationaryRelated[0].playerId){var o=this._potentialPlayerMap.stationaryRelated[0];this._createStationaryRelatedPlayer(n(n({},o),{mediaOrPlaylistId:e}),t,i)}else A.error(this._component,"_createStaticPlayer","No video player found")},o.prototype._shouldRunAutoplayPlayers=function(){return!(!this._isVideoAllowedOnPage()||!this._potentialPlayerMap.stickyRelated.length&&!this._potentialPlayerMap.stickyPlaylist.length)},o.prototype._determineAutoplayPlayers=function(){var e=this._component,t="VideoManagerComponent"===e,n=this._config;if(this._stickyRelatedOnPage)A.event(e,"stickyRelatedOnPage",t&&{device:n&&n.context.device,isDesktop:this._device}||{});else{var i=this._checkPlayerSelectorOnPage("stickyPlaylist"),o=i.player,r=i.playerElement;o&&o.playerId&&o.playlistId&&r?this._createPlaylistPlayer(o,r):A.event(e,"noStickyPlaylist",t&&{vendor:"none",device:n&&n.context.device,isDesktop:this._device}||{})}},o.prototype._initializeRelatedPlayers=function(e){for(var t=new Map,n=0;n<e.length;n++){var i=e[n],o=i.offsetParent,r=this._getEmbeddedPlayerType(i),a=this._getMediaId(i);if(o&&a){var s=(t.get(a)||0)+1;t.set(a,s),this._createRelatedPlayer(a,r,i,s)}}},o}(function(){function e(){}return Object.defineProperty(e.prototype,"enabled",{get:function(){return!0},enumerable:!1,configurable:!0}),e}())),Ee=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return t(n,e),n}(function(){function e(){this._map=[]}return e.prototype.add=function(e,t,n,i){void 0===i&&(i=document),this._map.push({el:e,coords:t,dynamicAd:n,target:i})},Object.defineProperty(e.prototype,"map",{get:function(){return this._map},enumerable:!1,configurable:!0}),e.prototype.sort=function(){this._map.sort((function(e,t){return e.coords-t.coords}))},e.prototype.filterUsed=function(){this._map=this._map.filter((function(e){return!e.dynamicAd.used}))},e.prototype.reset=function(){this._map=[]},e}());try{(de=new H)&&de.enabled&&(new Ae(de,new Ee).start(),new Ce(new F(de),de).init())}catch(e){A.error("CLS","pluginsertion-iife",e),window.adthriveCLS&&(window.adthriveCLS.injectedFromPlugin=!1)}}();</script><script data-no-optimize="1" data-cfasync="false">(function(){var clsElements=document.querySelectorAll("script[id^='cls-']");window.adthriveCLS&&clsElements&&clsElements.length===0?window.adthriveCLS.injectedFromPlugin=false:"";})();</script> <div id="cmplz-cookiebanner-container"></div><div id="cmplz-manage-consent" data-nosnippet="true"></div> <script defer id="wpil-frontend-script-js-extra" src="data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgd3BpbEZyb250ZW5kID0geyJhamF4VXJsIjoiXC93cC1hZG1pblwvYWRtaW4tYWpheC5waHAiLCJwb3N0SWQiOiIyMjQ5MCIsInBvc3RUeXBlIjoicG9zdCIsIm9wZW5JbnRlcm5hbEluTmV3VGFiIjoiMCIsIm9wZW5FeHRlcm5hbEluTmV3VGFiIjoiMCIsImRpc2FibGVDbGlja3MiOiIwIiwib3BlbkxpbmtzV2l0aEpTIjoiMCIsInRyYWNrQWxsRWxlbWVudENsaWNrcyI6IjAiLCJjbGlja3NJMThuIjp7ImltYWdlTm9UZXh0IjoiSW1hZ2UgaW4gbGluazogTm8gVGV4dCIsImltYWdlVGV4dCI6IkltYWdlIFRpdGxlOiAiLCJub1RleHQiOiJObyBBbmNob3IgVGV4dCBGb3VuZCJ9fTsKLyogXV0+ICovCg=="></script> <script type="text/javascript" defer='defer' src="https://www.devx.com/wp-content/plugins/link-whisper-premium/js/frontend.min.js?ver=1712228365" id="wpil-frontend-script-js"></script> <script type="text/javascript" defer='defer' src="https://www.devx.com/wp-content/themes/devxnew/assets/js/hello-frontend.min.js?ver=1.0.0" id="hello-theme-frontend-js"></script> <script defer id="cmplz-cookiebanner-js-extra" src="data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgY29tcGxpYW56ID0geyJwcmVmaXgiOiJjbXBsel8iLCJ1c2VyX2Jhbm5lcl9pZCI6IjEiLCJzZXRfY29va2llcyI6W10sImJsb2NrX2FqYXhfY29udGVudCI6IiIsImJhbm5lcl92ZXJzaW9uIjoiMTEiLCJ2ZXJzaW9uIjoiNy4xLjAiLCJzdG9yZV9jb25zZW50IjoiIiwiZG9fbm90X3RyYWNrX2VuYWJsZWQiOiIiLCJjb25zZW50dHlwZSI6Im9wdG91dCIsInJlZ2lvbiI6InVzIiwiZ2VvaXAiOiIiLCJkaXNtaXNzX3RpbWVvdXQiOiIiLCJkaXNhYmxlX2Nvb2tpZWJhbm5lciI6IiIsInNvZnRfY29va2lld2FsbCI6IiIsImRpc21pc3Nfb25fc2Nyb2xsIjoiIiwiY29va2llX2V4cGlyeSI6IjM2NSIsInVybCI6Imh0dHBzOlwvXC93d3cuZGV2eC5jb21cL3dwLWpzb25cL2NvbXBsaWFuelwvdjFcLyIsImxvY2FsZSI6Imxhbmc9ZW4mbG9jYWxlPWVuX1VTIiwic2V0X2Nvb2tpZXNfb25fcm9vdCI6IiIsImNvb2tpZV9kb21haW4iOiIiLCJjdXJyZW50X3BvbGljeV9pZCI6IjE5IiwiY29va2llX3BhdGgiOiJcLyIsImNhdGVnb3JpZXMiOnsic3RhdGlzdGljcyI6InN0YXRpc3RpY3MiLCJtYXJrZXRpbmciOiJtYXJrZXRpbmcifSwidGNmX2FjdGl2ZSI6IiIsInBsYWNlaG9sZGVydGV4dCI6IkNsaWNrIHRvIGFjY2VwdCB7Y2F0ZWdvcnl9IGNvb2tpZXMgYW5kIGVuYWJsZSB0aGlzIGNvbnRlbnQiLCJjc3NfZmlsZSI6Imh0dHBzOlwvXC93d3cuZGV2eC5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcL2NvbXBsaWFuelwvY3NzXC9iYW5uZXIte2Jhbm5lcl9pZH0te3R5cGV9LmNzcz92PTExIiwicGFnZV9saW5rcyI6W10sInRtX2NhdGVnb3JpZXMiOiIiLCJmb3JjZUVuYWJsZVN0YXRzIjoiIiwicHJldmlldyI6IiIsImNsZWFuX2Nvb2tpZXMiOiIiLCJhcmlhX2xhYmVsIjoiQ2xpY2sgdG8gYWNjZXB0IHtjYXRlZ29yeX0gY29va2llcyBhbmQgZW5hYmxlIHRoaXMgY29udGVudCJ9OwovKiBdXT4gKi8K"></script> <script defer type="text/javascript" defer='defer' src="https://www.devx.com/wp-content/plugins/complianz-gdpr/cookiebanner/js/complianz.min.js?ver=1726253717" id="cmplz-cookiebanner-js"></script> <script defer id="cmplz-cookiebanner-js-after" src="data:text/javascript;base64,aWYoJ3VuZGVmaW5lZCchPXR5cGVvZiB3aW5kb3cualF1ZXJ5KXtqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpeyQoZG9jdW1lbnQpLm9uKCdlbGVtZW50b3IvcG9wdXAvc2hvdycsKCk9PntsZXQgcmV2X2NhdHM9Y21wbHpfY2F0ZWdvcmllcy5yZXZlcnNlKCk7Zm9yKGxldCBrZXkgaW4gcmV2X2NhdHMpe2lmKHJldl9jYXRzLmhhc093blByb3BlcnR5KGtleSkpe2xldCBjYXRlZ29yeT1jbXBsel9jYXRlZ29yaWVzW2tleV07aWYoY21wbHpfaGFzX2NvbnNlbnQoY2F0ZWdvcnkpKXtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1jYXRlZ29yeT0iJytjYXRlZ29yeSsnIl0nKS5mb3JFYWNoKG9iaj0+e2NtcGx6X3JlbW92ZV9wbGFjZWhvbGRlcihvYmopO30pO319fQpsZXQgc2VydmljZXM9Y21wbHpfZ2V0X3NlcnZpY2VzX29uX3BhZ2UoKTtmb3IobGV0IGtleSBpbiBzZXJ2aWNlcyl7aWYoc2VydmljZXMuaGFzT3duUHJvcGVydHkoa2V5KSl7bGV0IHNlcnZpY2U9c2VydmljZXNba2V5XS5zZXJ2aWNlO2xldCBjYXRlZ29yeT1zZXJ2aWNlc1trZXldLmNhdGVnb3J5O2lmKGNtcGx6X2hhc19zZXJ2aWNlX2NvbnNlbnQoc2VydmljZSxjYXRlZ29yeSkpe2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXNlcnZpY2U9Iicrc2VydmljZSsnIl0nKS5mb3JFYWNoKG9iaj0+e2NtcGx6X3JlbW92ZV9wbGFjZWhvbGRlcihvYmopO30pO319fX0pO30pO30="></script> <script type="text/javascript" defer='defer' src="https://www.devx.com/wp-content/plugins/elementor-pro/assets/lib/smartmenus/jquery.smartmenus.min.js?ver=1.0.1" id="smartmenus-js"></script> <script type="text/javascript" defer='defer' src="https://www.devx.com/wp-includes/js/imagesloaded.min.js?ver=5.0.0" id="imagesloaded-js"></script> <script type="text/javascript" id="gt_widget_script_45878048-js-before">window.gtranslateSettings=window.gtranslateSettings||{};window.gtranslateSettings['45878048']={"default_language":"en","languages":["ar","zh-CN","nl","en","fr","de","it","pt","ru","es"],"url_structure":"sub_directory","wrapper_selector":"#gt-wrapper-45878048","flag_size":24,"globe_size":60,"alt_flags":[],"globe_color":"#0a0303","horizontal_position":"inline","flags_location":"\/wp-content\/plugins\/gtranslate\/flags\/svg\/"};</script><script src="https://www.devx.com/wp-content/plugins/gtranslate/js/globe.js?ver=6.6.2" data-no-optimize="1" data-no-minify="1" data-gt-orig-url="/web-development-zone/42280/" data-gt-orig-domain="www.devx.com" data-gt-widget-id="45878048" defer></script><script type="text/javascript" defer='defer' src="https://www.devx.com/wp-content/plugins/elementor-pro/assets/js/webpack-pro.runtime.min.js?ver=3.12.3" id="elementor-pro-webpack-runtime-js"></script> <script type="text/javascript" defer='defer' src="https://www.devx.com/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=3.20.4" id="elementor-webpack-runtime-js"></script> <script type="text/javascript" defer='defer' src="https://www.devx.com/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=3.20.4" id="elementor-frontend-modules-js"></script> <script type="text/javascript" defer='defer' src="https://www.devx.com/wp-includes/js/dist/hooks.min.js?ver=2810c76e705dd1a53b18" id="wp-hooks-js"></script> <script type="text/javascript" defer='defer' src="https://www.devx.com/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script> <script defer id="wp-i18n-js-after" src="data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp3cC5pMThuLnNldExvY2FsZURhdGEoIHsgJ3RleHQgZGlyZWN0aW9uXHUwMDA0bHRyJzogWyAnbHRyJyBdIH0gKTsKLyogXV0+ICovCg=="></script> <script defer id="elementor-pro-frontend-js-before" src="data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgRWxlbWVudG9yUHJvRnJvbnRlbmRDb25maWcgPSB7ImFqYXh1cmwiOiJodHRwczpcL1wvd3d3LmRldnguY29tXC93cC1hZG1pblwvYWRtaW4tYWpheC5waHAiLCJub25jZSI6IjU5YTBlZDg1ZWMiLCJ1cmxzIjp7ImFzc2V0cyI6Imh0dHBzOlwvXC93d3cuZGV2eC5jb21cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2VsZW1lbnRvci1wcm9cL2Fzc2V0c1wvIiwicmVzdCI6Imh0dHBzOlwvXC93d3cuZGV2eC5jb21cL3dwLWpzb25cLyJ9LCJzaGFyZUJ1dHRvbnNOZXR3b3JrcyI6eyJmYWNlYm9vayI6eyJ0aXRsZSI6IkZhY2Vib29rIiwiaGFzX2NvdW50ZXIiOnRydWV9LCJ0d2l0dGVyIjp7InRpdGxlIjoiVHdpdHRlciJ9LCJsaW5rZWRpbiI6eyJ0aXRsZSI6IkxpbmtlZEluIiwiaGFzX2NvdW50ZXIiOnRydWV9LCJwaW50ZXJlc3QiOnsidGl0bGUiOiJQaW50ZXJlc3QiLCJoYXNfY291bnRlciI6dHJ1ZX0sInJlZGRpdCI6eyJ0aXRsZSI6IlJlZGRpdCIsImhhc19jb3VudGVyIjp0cnVlfSwidmsiOnsidGl0bGUiOiJWSyIsImhhc19jb3VudGVyIjp0cnVlfSwib2Rub2tsYXNzbmlraSI6eyJ0aXRsZSI6Ik9LIiwiaGFzX2NvdW50ZXIiOnRydWV9LCJ0dW1ibHIiOnsidGl0bGUiOiJUdW1ibHIifSwiZGlnZyI6eyJ0aXRsZSI6IkRpZ2cifSwic2t5cGUiOnsidGl0bGUiOiJTa3lwZSJ9LCJzdHVtYmxldXBvbiI6eyJ0aXRsZSI6IlN0dW1ibGVVcG9uIiwiaGFzX2NvdW50ZXIiOnRydWV9LCJtaXgiOnsidGl0bGUiOiJNaXgifSwidGVsZWdyYW0iOnsidGl0bGUiOiJUZWxlZ3JhbSJ9LCJwb2NrZXQiOnsidGl0bGUiOiJQb2NrZXQiLCJoYXNfY291bnRlciI6dHJ1ZX0sInhpbmciOnsidGl0bGUiOiJYSU5HIiwiaGFzX2NvdW50ZXIiOnRydWV9LCJ3aGF0c2FwcCI6eyJ0aXRsZSI6IldoYXRzQXBwIn0sImVtYWlsIjp7InRpdGxlIjoiRW1haWwifSwicHJpbnQiOnsidGl0bGUiOiJQcmludCJ9fSwiZmFjZWJvb2tfc2RrIjp7ImxhbmciOiJlbl9VUyIsImFwcF9pZCI6IiJ9LCJsb3R0aWUiOnsiZGVmYXVsdEFuaW1hdGlvblVybCI6Imh0dHBzOlwvXC93d3cuZGV2eC5jb21cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2VsZW1lbnRvci1wcm9cL21vZHVsZXNcL2xvdHRpZVwvYXNzZXRzXC9hbmltYXRpb25zXC9kZWZhdWx0Lmpzb24ifX07Ci8qIF1dPiAqLwo="></script> <script type="text/javascript" defer='defer' src="https://www.devx.com/wp-content/plugins/elementor-pro/assets/js/frontend.min.js?ver=3.12.3" id="elementor-pro-frontend-js"></script> <script type="text/javascript" defer='defer' src="https://www.devx.com/wp-content/plugins/elementor/assets/lib/waypoints/waypoints.min.js?ver=4.0.2" id="elementor-waypoints-js"></script> <script type="text/javascript" defer='defer' src="https://www.devx.com/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3" id="jquery-ui-core-js"></script> <script defer id="elementor-frontend-js-before" src="data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgZWxlbWVudG9yRnJvbnRlbmRDb25maWcgPSB7ImVudmlyb25tZW50TW9kZSI6eyJlZGl0IjpmYWxzZSwid3BQcmV2aWV3IjpmYWxzZSwiaXNTY3JpcHREZWJ1ZyI6ZmFsc2V9LCJpMThuIjp7InNoYXJlT25GYWNlYm9vayI6IlNoYXJlIG9uIEZhY2Vib29rIiwic2hhcmVPblR3aXR0ZXIiOiJTaGFyZSBvbiBUd2l0dGVyIiwicGluSXQiOiJQaW4gaXQiLCJkb3dubG9hZCI6IkRvd25sb2FkIiwiZG93bmxvYWRJbWFnZSI6IkRvd25sb2FkIGltYWdlIiwiZnVsbHNjcmVlbiI6IkZ1bGxzY3JlZW4iLCJ6b29tIjoiWm9vbSIsInNoYXJlIjoiU2hhcmUiLCJwbGF5VmlkZW8iOiJQbGF5IFZpZGVvIiwicHJldmlvdXMiOiJQcmV2aW91cyIsIm5leHQiOiJOZXh0IiwiY2xvc2UiOiJDbG9zZSIsImExMXlDYXJvdXNlbFdyYXBwZXJBcmlhTGFiZWwiOiJDYXJvdXNlbCB8IEhvcml6b250YWwgc2Nyb2xsaW5nOiBBcnJvdyBMZWZ0ICYgUmlnaHQiLCJhMTF5Q2Fyb3VzZWxQcmV2U2xpZGVNZXNzYWdlIjoiUHJldmlvdXMgc2xpZGUiLCJhMTF5Q2Fyb3VzZWxOZXh0U2xpZGVNZXNzYWdlIjoiTmV4dCBzbGlkZSIsImExMXlDYXJvdXNlbEZpcnN0U2xpZGVNZXNzYWdlIjoiVGhpcyBpcyB0aGUgZmlyc3Qgc2xpZGUiLCJhMTF5Q2Fyb3VzZWxMYXN0U2xpZGVNZXNzYWdlIjoiVGhpcyBpcyB0aGUgbGFzdCBzbGlkZSIsImExMXlDYXJvdXNlbFBhZ2luYXRpb25CdWxsZXRNZXNzYWdlIjoiR28gdG8gc2xpZGUifSwiaXNfcnRsIjpmYWxzZSwiYnJlYWtwb2ludHMiOnsieHMiOjAsInNtIjo0ODAsIm1kIjo3NjgsImxnIjoxMDI1LCJ4bCI6MTQ0MCwieHhsIjoxNjAwfSwicmVzcG9uc2l2ZSI6eyJicmVha3BvaW50cyI6eyJtb2JpbGUiOnsibGFiZWwiOiJNb2JpbGUgUG9ydHJhaXQiLCJ2YWx1ZSI6NzY3LCJkZWZhdWx0X3ZhbHVlIjo3NjcsImRpcmVjdGlvbiI6Im1heCIsImlzX2VuYWJsZWQiOnRydWV9LCJtb2JpbGVfZXh0cmEiOnsibGFiZWwiOiJNb2JpbGUgTGFuZHNjYXBlIiwidmFsdWUiOjg4MCwiZGVmYXVsdF92YWx1ZSI6ODgwLCJkaXJlY3Rpb24iOiJtYXgiLCJpc19lbmFibGVkIjpmYWxzZX0sInRhYmxldCI6eyJsYWJlbCI6IlRhYmxldCBQb3J0cmFpdCIsInZhbHVlIjoxMDI0LCJkZWZhdWx0X3ZhbHVlIjoxMDI0LCJkaXJlY3Rpb24iOiJtYXgiLCJpc19lbmFibGVkIjp0cnVlfSwidGFibGV0X2V4dHJhIjp7ImxhYmVsIjoiVGFibGV0IExhbmRzY2FwZSIsInZhbHVlIjoxMjAwLCJkZWZhdWx0X3ZhbHVlIjoxMjAwLCJkaXJlY3Rpb24iOiJtYXgiLCJpc19lbmFibGVkIjpmYWxzZX0sImxhcHRvcCI6eyJsYWJlbCI6IkxhcHRvcCIsInZhbHVlIjoxMzY2LCJkZWZhdWx0X3ZhbHVlIjoxMzY2LCJkaXJlY3Rpb24iOiJtYXgiLCJpc19lbmFibGVkIjpmYWxzZX0sIndpZGVzY3JlZW4iOnsibGFiZWwiOiJXaWRlc2NyZWVuIiwidmFsdWUiOjI0MDAsImRlZmF1bHRfdmFsdWUiOjI0MDAsImRpcmVjdGlvbiI6Im1pbiIsImlzX2VuYWJsZWQiOmZhbHNlfX19LCJ2ZXJzaW9uIjoiMy4yMC40IiwiaXNfc3RhdGljIjpmYWxzZSwiZXhwZXJpbWVudGFsRmVhdHVyZXMiOnsiZV9vcHRpbWl6ZWRfYXNzZXRzX2xvYWRpbmciOnRydWUsImVfb3B0aW1pemVkX2Nzc19sb2FkaW5nIjp0cnVlLCJhZGRpdGlvbmFsX2N1c3RvbV9icmVha3BvaW50cyI6dHJ1ZSwiZV9zd2lwZXJfbGF0ZXN0Ijp0cnVlLCJ0aGVtZV9idWlsZGVyX3YyIjp0cnVlLCJoZWxsby10aGVtZS1oZWFkZXItZm9vdGVyIjp0cnVlLCJibG9ja19lZGl0b3JfYXNzZXRzX29wdGltaXplIjp0cnVlLCJhaS1sYXlvdXQiOnRydWUsImxhbmRpbmctcGFnZXMiOnRydWUsImVfaW1hZ2VfbG9hZGluZ19vcHRpbWl6YXRpb24iOnRydWUsInBhZ2UtdHJhbnNpdGlvbnMiOnRydWUsIm5vdGVzIjp0cnVlLCJsb29wIjp0cnVlLCJmb3JtLXN1Ym1pc3Npb25zIjp0cnVlLCJlX3Njcm9sbF9zbmFwIjp0cnVlfSwidXJscyI6eyJhc3NldHMiOiJodHRwczpcL1wvd3d3LmRldnguY29tXC93cC1jb250ZW50XC9wbHVnaW5zXC9lbGVtZW50b3JcL2Fzc2V0c1wvIn0sInN3aXBlckNsYXNzIjoic3dpcGVyIiwic2V0dGluZ3MiOnsicGFnZSI6W10sImVkaXRvclByZWZlcmVuY2VzIjpbXX0sImtpdCI6eyJib2R5X2JhY2tncm91bmRfYmFja2dyb3VuZCI6ImNsYXNzaWMiLCJhY3RpdmVfYnJlYWtwb2ludHMiOlsidmlld3BvcnRfbW9iaWxlIiwidmlld3BvcnRfdGFibGV0Il0sImdsb2JhbF9pbWFnZV9saWdodGJveCI6InllcyIsImxpZ2h0Ym94X2VuYWJsZV9jb3VudGVyIjoieWVzIiwibGlnaHRib3hfZW5hYmxlX2Z1bGxzY3JlZW4iOiJ5ZXMiLCJsaWdodGJveF9lbmFibGVfem9vbSI6InllcyIsImxpZ2h0Ym94X2VuYWJsZV9zaGFyZSI6InllcyIsImxpZ2h0Ym94X3RpdGxlX3NyYyI6InRpdGxlIiwibGlnaHRib3hfZGVzY3JpcHRpb25fc3JjIjoiZGVzY3JpcHRpb24iLCJoZWxsb19oZWFkZXJfbG9nb190eXBlIjoibG9nbyIsImhlbGxvX2hlYWRlcl9tZW51X2xheW91dCI6Imhvcml6b250YWwiLCJoZWxsb19mb290ZXJfbG9nb190eXBlIjoibG9nbyJ9LCJwb3N0Ijp7ImlkIjoyMjQ5MCwidGl0bGUiOiJUaGUlMjBIVE1MJTIwNSUyMExheW91dCUyMEVsZW1lbnRzJTIwUnVuZG93biUyMC0lMjBEZXZYIiwiZXhjZXJwdCI6IiIsImZlYXR1cmVkSW1hZ2UiOiJodHRwczpcL1wvd3d3LmRldnguY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIyXC8wMlwvdGh1bWJuYWlsLmpwZyJ9fTsKLyogXV0+ICovCg=="></script> <script type="text/javascript" defer='defer' src="https://www.devx.com/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=3.20.4" id="elementor-frontend-js"></script> <script type="text/javascript" defer='defer' src="https://www.devx.com/wp-content/plugins/elementor-pro/assets/js/elements-handlers.min.js?ver=3.12.3" id="pro-elements-handlers-js"></script> <script type="text/javascript" defer='defer' src="https://www.devx.com/wp-content/plugins/elementor-pro/assets/lib/sticky/jquery.sticky.min.js?ver=3.12.3" id="e-sticky-js"></script> <script defer src="data:text/javascript;base64,IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiOyFmdW5jdGlvbihlKXtpZigtMT09PWUuY29va2llLmluZGV4T2YoIl9fYWRibG9ja2VyIikpe2UuY29va2llPSJfX2FkYmxvY2tlcj07IGV4cGlyZXM9VGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVQ7IHBhdGg9LyI7dmFyIHQ9bmV3IFhNTEh0dHBSZXF1ZXN0O3Qub3BlbigiR0VUIiwiaHR0cHM6Ly9hZHMuYWR0aHJpdmUuY29tL2FiZC9hYmQuanMiLCEwKSx0Lm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe2lmKFhNTEh0dHBSZXF1ZXN0LkRPTkU9PT10LnJlYWR5U3RhdGUpaWYoMjAwPT09dC5zdGF0dXMpe3ZhciBhPWUuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7YS5pbm5lckhUTUw9dC5yZXNwb25zZVRleHQsZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKGEpfWVsc2V7dmFyIG49bmV3IERhdGU7bi5zZXRUaW1lKG4uZ2V0VGltZSgpKzNlNSksZS5jb29raWU9Il9fYWRibG9ja2VyPXRydWU7IGV4cGlyZXM9IituLnRvVVRDU3RyaW5nKCkrIjsgcGF0aD0vIn19LHQuc2VuZCgpfX0oZG9jdW1lbnQpfSgpOwo="></script><script defer src="data:text/javascript;base64,IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBlO2U9ZG9jdW1lbnQsZnVuY3Rpb24oKXt2YXIgdCxuO2Z1bmN0aW9uIHIoKXt2YXIgdD1lLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3Quc3JjPSJodHRwczovL2NhZmVtZWRpYS1jb20udmlkZW9wbGF5ZXJodWIuY29tL2dhbGxlcnlwbGF5ZXIuanMiLGUuaGVhZC5hcHBlbmRDaGlsZCh0KX1mdW5jdGlvbiBhKCl7dmFyIHQ9ZS5jb29raWUubWF0Y2goIihefFteO10rKVxccypfX2FkYmxvY2tlclxccyo9XFxzKihbXjtdKykiKTtyZXR1cm4gdCYmdC5wb3AoKX1mdW5jdGlvbiBjKCl7Y2xlYXJJbnRlcnZhbChuKX1yZXR1cm57aW5pdDpmdW5jdGlvbigpe3ZhciBlOyJ0cnVlIj09PSh0PWEoKSk/cigpOihlPTAsbj1zZXRJbnRlcnZhbCgoZnVuY3Rpb24oKXsxMDAhPT1lJiYiZmFsc2UiIT09dHx8YygpLCJ0cnVlIj09PXQmJihyKCksYygpKSx0PWEoKSxlKyt9KSw1MCkpfX19KCkuaW5pdCgpfSgpOwo="></script> </body></html> <!-- Dynamic page generated in 10.697 seconds. --> <!-- Cached page generated by WP-Super-Cache on 2024-09-13 17:32:43 --> <!-- Compression = gzip -->