<!DOCTYPE html>
<html lang=en-US>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="google-site-verification" content="MOnPMZKo_gmKqZgcnzortlWhXu0qUWvmbNAeWx84v9I" />
    <link rel="apple-touch-icon-precomposed" href="../static/images/apple-touch-icon-precomposed.png">
        <title>Yahoo Developer Network</title>
        <meta name="description" content="Measure, monetize, advertise and improve your apps with Yahoo tools. Join the 200,000 developers using Yahoo tools to build their app businesses.">
        <meta property="og:title" content="Yahoo Developer Network" />
        <meta property="og:type" content='website' />
        <meta property="og:url" content="https://developer.yahoo.com/" />
        <meta property="og:description" content="Measure, monetize, advertise and improve your apps with Yahoo tools. Join the 200,000 developers using Yahoo tools to build their app businesses."/>
        <meta property="og:image" content="https://s.yimg.com/oo/cms/products/site/assets/ydn200.png"/>
        <meta property="og:site_name" content="Yahoo Developer Network" />

    <link rel="shortcut icon" href="https://s.yimg.com/rz/l/favicon.ico"/>

    <link rel="stylesheet" href="/static/css/font-awesome.min.css">
    <link rel="stylesheet" href="/static/css/denali-icons-v0.4.1.css">
    <link rel="stylesheet" href="/static/css/hoverbox.css">

    <link rel="stylesheet" href="/static/css/rebranding_footer.css">





    <!--[if lte IE 8]>
  <link rel="stylesheet" href="/static/css/codemirror.css">
<link rel="stylesheet" href="/static/css/pure.css">
<link rel="stylesheet" href="/static/css/main.css">
<link rel="stylesheet" href="/static/css/side-menu.css">
<link rel="stylesheet" href="/static/css/featherlight.min.css">
<link rel="stylesheet" href="/static/css/denali-style.css">
<link rel="stylesheet" href="/static/css/less-styles.css">
  <![endif]-->
    <!--[if gt IE 8]><!-->
    <link rel="stylesheet" href="https://s.yimg.com/zz/combo?oo/fe/css/codemirror-min_681d3e3e0.css&oo/fe/css/pure-min_5ef171c51.css&oo/fe/css/main-min_c3a501701.css&oo/fe/css/side-menu-min_d1ff8ca9b.css&oo/fe/css/featherlight.min_2802ef65c.css&oo/fe/css/denali-style-min_e0ef5615c.css&oo/fe/css/less-styles-min_1527735e8.css">
    <!--<![endif]-->

    <script nonce="G6rCsqae+/JNWvJRYjoDjA==" src="https://s.yimg.com/zz/combo?oo/fe/js/vendor/jquery331_min-min_fb71483ea.js&oo/fe/js/vendor/jquery-easytabs_min-min_5ed1e3e24.js&oo/fe/js/vendor/jquery-hashchange-min_acc519bb2.js&oo/fe/js/vendor/js-cookie-min_bff73c132.js"></script>
<script nonce="G6rCsqae+/JNWvJRYjoDjA==" src="/static/js/vendor/jquery.cookie.js"></script>
<script nonce="G6rCsqae+/JNWvJRYjoDjA==" src="https://s.yimg.com/zz/combo?oo/fe/js/vendor/featherlight_min-min_8697a441b.js&oo/fe/js/vendor/slick_min-min_0d13b88ac.js&oo/fe/js/vendor/scrollReveal_min-min_118b7ecf1.js&oo/fe/js/vendor/codemirror-compressed-min_3217a68df.js"></script>

    <script nonce="G6rCsqae+/JNWvJRYjoDjA==" src="/static/js/vendor/bootstrap.bundle.min.js"></script>
    <script nonce="G6rCsqae+/JNWvJRYjoDjA==" async src="https://www.googletagmanager.com/gtag/js?id=UA-86392702-1"></script>
    <script nonce="G6rCsqae+/JNWvJRYjoDjA==">
        window.dataLayer = window.dataLayer || [];
        function gtag(){dataLayer.push(arguments);}
        gtag('js', new Date());

        gtag('config', 'UA-86392702-1');
    </script>
</head>

<body class=" "><header class="notificationBannerGroup"></header>

<!-- Check if there is custom header data -->
    <div class="header-container">
        <div class="page-head-search container">
            <a href="/" aria-label="YDN Logo"><div class="logo-container"></div><div class="devtxt">developer</div></a>
            <div class="header-links">
                <ul>
                    <li>
                        <a id="nav-opensource" href="/opensource/"><span>Open Source</span></a>
                    </li>
                    <li>
                        <a id="nav-api"  href="/api/"><span>APIs</span></a>
                    </li>
                    <li>
                        <a id="nav-advertising"  href="/advertising/" target="_blank" rel="noopener"><span>Advertising</span>
                            <span><i class="d-icon d-external is-small" aria-hidden="true"></i></span></a>
                    </li>
                    <li>
                        <a id="nav-blogs"  href="/blogs/"><span>Blogs</span></a>
                    </li>
                    <li>
                        <a id="nav-events"  href="/events/"><span>Events</span></a>
                    </li>
                    <li>
                        <a id="nav-podcasts"  href="/podcasts/"><span>Podcasts</span></a>
                    </li>
                    <li>
                        <a id="nav-apps"  href="/apps/"><span>Apps</span></a>
                    </li>
                </ul>
            </div>
            <div class="head-controls hidden">
                <form id="search-form" action="/find/" method="GET" autocomplete="off">
                    <label for="search-input" class="sr-only">Input to search</label>
                    <input title="" id="search-input" name="q" placeholder="">
                    <button type="submit" class="pure-button search-ydn" aria-label="search button"><i class="d-icon d-search is-smal" aria-hidden="true"></i></button>
                </form>
            </div>
    
            <div class="head-right-controls">
    
                <div class="header-search-container" id="search-nav-bar">
                    <form action="/find/" method="GET" autocomplete="off" class="search-form">
                        <input title="search" aria-label="search scope" id="scope-search" name="q" placeholder="Search"  >
    
                        <button type="submit" class="search-ydn" aria-label="search button"><i class="d-icon d-search is-small" aria-hidden="true"></i></button>
                    </form>
                </div>
                <!-- <a id="myapps-dropdown" class="hidden">
                  <img src="/assets/images/app-icon.png" alt="App Icons" class="header-icon">
                </a> -->
                <a id="language-dropdown" aria-label="Language Dropdown"><span class="flag-icon flag-icon-us" aria-hidden="true"></span> <span class="caret" aria-hidden="true"></span></a>
    
                    <div class="user-account">
                        <!-- <img class="pic-id my-id hidden" src="https://s.yimg.com/dh/ap/social/profile/profile_b64.png"> -->
    
                        <a href="https://login.yahoo.com?done=https://developer.yahoo.com/&src=devnet&specId=usernameReg">Sign In</a>
                        <!-- <a href="https://login.yahoo.com/config/login?.done=https://developer.yahoo.com/" class="login"><i class="d-icon d-user-profile-circle is-medium pic-id my-id hover"></i></a> -->
    
                    </div>
            </div>
    
                <div id="language-overlay" class="overlay"  sign-in ">
            <div class="pointer"></div>
            <ul>
                <li><a class='rapidnofollow' data-lang="en-US" href="#" aria-label="Translate to English"><span class="flag-icon flag-icon-us" aria-hidden="true"></span> English (U.S.)</a></li>
                <li><a class='rapidnofollow' data-lang="zh-Hant-HK" href="#" aria-label="Translate to Chinese (Hong Kong)"><span class="flag-icon flag-icon-hk" aria-hidden="true"></span> 中文(香港)</a></li> 
                <li><a class='rapidnofollow' data-lang="zh-Hant-TW" href="#" aria-label="Translate to Chinese (Taiwan)"><span class="flag-icon flag-icon-tw" aria-hidden="true"></span> 中文(台灣)</a></li> 
            </ul>
        </div>
    
    
        <div id="apps-overlay" class="overlay">
            <div class="pointer"></div>
            <div>
    
            </div>
            <ul>
                <li><a href="/apps">YDN Apps</a></li>
                <li><a href="https://dev.flurry.com">Flurry Apps</a></li>
                <li><a href="/search-sdk/apps">Search SDK Apps</a></li>
            </ul>
        </div>
    </div>
    
    <div class="mobile-header">
        <a href="#menu" id="menuLink" class="menu-link" aria-label="Menu Link">
            <!-- Hamburger icon -->
            <span aria-hidden="true"></span>
        </a>
    
            <a href="/" class="yahoo-phone" role="presentation" aria-label="Logo"><div class="logo-container" style="position:static"></div><div class="devtxt">developer</div></a>
    
        <a href="/find/" class="mobile-search-icon" role="presentation" aria-label="Search Logo"></a>
    </div>
    </div>
    <script nonce="G6rCsqae+/JNWvJRYjoDjA==">
        var BACKSPACE_KEY = 8;
        var DELETE_KEY = 46;
    
        var searchForm = document.querySelector('#search-form');
        var searchScopeName = document.querySelector('#search-scope-name');
        var searchScopeUrl = document.querySelector('#search-scope-url');
        var searchInput = document.querySelector('#search-input');
        var searchScope = document.querySelector('.search-scope');
    
        if (searchScope) {
            var paddingOffset = searchScope.offsetWidth + 40;
            searchInput.style.paddingLeft = paddingOffset + 'px';
        }
    
        searchInput.addEventListener('keydown', handleSearchKeyDown);
        searchInput.addEventListener('blur', handleSearchLoseFocus);
        searchInput.addEventListener('focus', handleSearchFocus);
        searchInput.addEventListener('blur', handleLoseFocus);
    
        var pageName = window.location.pathname.split("/")[1];
        var navElement = document.getElementById("nav-"+pageName);
        if(navElement){
            navElement.classList.add("selected");
        }
    
        function handleSearchFocus(event) {
            searchForm.style.width = "375px";
        }
    
        function handleLoseFocus(event) {
            searchForm.style.width = "250px";
        }
    
        window.addEventListener('resize', function(event){
            searchForm.style.width = "250px";
        });
    
        function handleSearchKeyDown(event) {
            var searchText = document.querySelector('#search-input').value;
            searchScope = document.querySelector('.search-scope');
    
            // When search bar is empty and Backspace or Delete keys are pressed, then
            // remove contextual scope from the search bar.
            // Note: Brightroll DSP is locked into contextual search.
            // Note: A.I. Studio is locked into contextual search.
            if (!searchText.length && searchScopeName.value !== 'DSP' && searchScopeName.value !== 'A.I. Studio' && (event.keyCode === BACKSPACE_KEY || event.keyCode === DELETE_KEY)) {
                searchScope.style.display = 'none';
                searchInput.style.paddingLeft = 10 + 'px';
                searchScopeName.disabled = true;
                searchScopeUrl.disabled = true;
            }
        }
    
        // Reset contextual search when the search bar loses focus and it's empty.
        function handleSearchLoseFocus(event) {
            var searchText = document.querySelector('#search-input').value;
    
            // Restore contextual label if it has been removed via the backspace key
            // but the text field is still empty.
            if (searchScope && !searchText.length) {
                searchScope.style.display = 'block';
                searchInput.style.paddingLeft = paddingOffset + 'px';
                searchScopeName.disabled = false;
                searchScopeUrl.disabled = false;
            }
        }
    
        // Update locale setting from language dropdown
        $('a[data-lang]').click(function(e) {
            e.preventDefault();
    
            // Load PH cookie and convert it to object.
            // If PH cookie is not available, create an empty object.
            var locale = $(this).data('lang');
            var phCookie = $.cookie('PH');
            var phCookieObject = phCookie ? queryStringToObject(phCookie) : {};
    
            // Update locale.
            phCookieObject.l = locale;
    
            // Set new PH cookie.
            $.cookie.raw = true;
    
                $.cookie('PH', $.param(phCookieObject), { path: '/', domain: 'yahoo.com' });
    
            location.reload();
        });
    
        function queryStringToObject(query) {
            var qs = {};
            var vars = query.split('&');
    
            for (var i = 0; i < vars.length; i++) {
                var pair = vars[i].split('=');
                pair[0] = decodeURIComponent(pair[0]);
                pair[1] = decodeURIComponent(pair[1]);
                if (typeof qs[pair[0]] === 'undefined') {
                    qs[pair[0]] = pair[1];
                } else if (typeof qs[pair[0]] === 'string') {
                    qs[pair[0]] = [qs[pair[0]], pair[1]];
                } else {
                    qs[pair[0]].push(pair[1]);
                }
            }
            return qs;
        }
    
    </script>
<div>
<div id="layout" class="
"
>

        <div id="menu">
            <div class="pure-menu pure-menu-open">
  <ul>
      <li class="light-bkg mobile-menu-only"><a class="d" href="/opensource/">Open Source</a></li>
      <li class="light-bkg mobile-menu-only"><a class="d" href="/api/">APIs</a></li>
      <li class="light-bkg mobile-menu-only"><a class="d" href="/advertising/">Advertising</a></li>
      <li class="light-bkg mobile-menu-only"><a class="d" href="/blogs/">Blog</a></li>
      <li class="light-bkg mobile-menu-only"><a class="d" href="/events/">Events</a></li>
      <li class="light-bkg mobile-menu-only"><a class="d" href="/podcasts/">Podcasts</a></li>
      <li class="light-bkg mobile-menu-only"><a class="d" href="/apps/">Apps</a></li>

      <!-- <li class="pure-menu-heading"><a href="/everything.html">Products</a></li> -->






      <li class="light-bkg mobile-menu-only">
        <a class="d" href="https://login.yahoo.com?done=&src=devnet&specId=usernameReg">Sign In</a>
      </li>
    <li class="light-bkg mobile-menu-only">
      <a href="#" aria-label="Language Menu">Language:</a>
      <ul>
        <li><a class="d" data-lang="en-US" href="#" aria-label="Translates to English"><span class="flag-icon flag-icon-us" aria-hidden="true"></span> English (U.S.)</a></li>
        <li><a class="d" data-lang="zh-Hant-HK" href="#" aria-label="Translates to Chinese (Hong Kong)"><span class="flag-icon flag-icon-hk" aria-hidden="true"></span> 中文(香港)</a></li> 
        <li><a class="d" data-lang="zh-Hant-TW" href="#" aria-label="Translates to Chinese (Taiwan)"><span class="flag-icon flag-icon-tw" aria-hidden="true"></span> 中文(台灣)</a></li> 
      </ul>
    </li>
  </ul>
</div>

<script nonce="G6rCsqae+/JNWvJRYjoDjA==">
  // Update locale setting from language dropdown
  $('a[data-lang]').click(function(e) {
    e.preventDefault();

    // Load PH cookie and convert it to object.
    // If PH cookie is not available, create an empty object.
    var locale = $(this).data('lang');
    var phCookie = $.cookie('PH');
    var phCookieObject = phCookie ? queryStringToObject(phCookie) : {};

    // Update locale.
    phCookieObject.l = locale;

    // Set new PH cookie.
    $.cookie.raw = true;

    $.cookie('PH', $.param(phCookieObject), { path: '/', domain: 'yahoo.com' });

    location.reload();
  });

  function queryStringToObject(query) {
    var qs = {};
    var vars = query.split('&');

    for (var i = 0; i < vars.length; i++) {
      var pair = vars[i].split('=');
      pair[0] = decodeURIComponent(pair[0]);
      pair[1] = decodeURIComponent(pair[1]);
      if (typeof qs[pair[0]] === 'undefined') {
        qs[pair[0]] = pair[1];
      } else if (typeof qs[pair[0]] === 'string') {
        qs[pair[0]] = [qs[pair[0]], pair[1]];
      } else {
        qs[pair[0]].push(pair[1]);
      }
    }
    return qs;
  }
</script>
        </div>

        <div id="main">
            <link rel="stylesheet" href="https://s.yimg.com/oo/cms/products/site/assets/css/slick_7321dcc70.css">
<link rel="stylesheet" href="https://s.yimg.com/oo/cms/products/site/assets/css/r-homepage_58af42713.css">
<link rel="stylesheet" href="https://s.yimg.com/oo/cms/products/site/assets/css/r-translucent-header_964b4c879.css">
<link rel="stylesheet" href="https://s.yimg.com/oo/cms/products/site/assets/css/r-translucent-header_964b4c879.css">

<style nonce="G6rCsqae+/JNWvJRYjoDjA==">
   span i{
        padding-right:0.5em;
    }
    .podcast-timeline span:nth-child(1){
        margin-right:1em;
    }
    .blog p.regular a{
        font-weight:bold;
        color:rgba(48,48,48,1);
        font-size:16px;
        line-height:26px;
    }
    .blog p.regular a{
        transition:all 1s;
    }
    .blog p.regular a:hover, .blog p.regular a:focus{
        color:rgba(74,144,226,1);
    }
    .img-wrapper figure,.img-wrapper>a img{
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        width: 100%;
        vertical-align: middle;
    }
    .img-wrapper p{
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        width: 100%;
        vertical-align: middle;
        text-align:center;
    }
    .img-wrapper > :not(iframe):not(.r-blog):not(img):not(.noImg):not(figure){
        display:none;
    }

    .podcast-container{
      overflow-x: hidden;
      overflow-y: scroll;
      width:100%;
    }
    .pure-g-r.flex-container{
        margin-top:0em;
        margin-bottom:0em;
    }

    h2.feed-header span{
      display: inline-block;
      margin-top: -25px;
    }

    h2.feed-header span iframe{
        height: 26px !important;
        padding-left: 10px;
    }

</style>

<div id="carousel">

    <div class="purple-bg siwy carousel-content">
        <div class="container top-50">
            <div class="pure-u-1">
                <div class="carousel-container">
                    <h2>New</h2>
                    <h1>Sign In With <span>Yahoo</span></h1>
                    <h3>An easy and convenient way for your users to create an account and sign into your web or mobile app</h3>
                    <a href="/sign-in-with-yahoo" class="pure-button pure-button-primary">View guide</a>
                </div>
                <br/>
            </div>
        </div>
    </div>

    <div class="carousel-content home">
        <div class="container">
                <div class="carousel-container container">
                    <h1 data-sr="enter left move 150px over 1s" >Technology you can use to build products they'll love</h1>
                     <a href="/opensource/" class="pure-button pure-button-primary" data-rapid_p="15">Learn More</a>
            </div>
        </div>
    </div>

    <div class="purple-bg vespa carousel-content">
        <div class="container top-50">
            <div class="pure-u-1">
              <div class="carousel-container">
                   <img src="/static/images/vespa-logo-mark-full.svg" alt="Mobile" class="carosal-images">
                    <h1 data-sr="enter left move 150px over 1s" style="line-height: 5px;">Vespa</h1>
                    <h3 data-sr="wait 0.5s enter left move 150px over 1s" >Big Data. Real Time.</h3> 
                    <a href="http://vespa.ai/" class="pure-button pure-button-primary">Project Overview</a>
                </div>
                <br/> 
            </div>
        </div>
    </div>

    <div class="purple-bg screwdriver carousel-content">
        <div class="container top-50">
            <div class="pure-u-1">
              <div class="carousel-container">
                   <img src="/static/images/screwdriver-logo-mark-white.svg" alt="Mobile" class="carosal-images">
                    <h1 data-sr="enter left move 150px over 1s" style="line-height: 5px;">Screwdriver</h1>
                    <h3 data-sr="wait 0.5s enter left move 150px over 1s">Build. Test. Deploy.</h3> 
                    <a href="http://screwdriver.cd/" class="pure-button pure-button-primary">Project Overview</a>
                </div>
                <br/> 
            </div>
        </div>
    </div>

    <div class="purple-bg athenz carousel-content">
        <div class="container top-50">
            <div class="pure-u-1">
              <div class="carousel-container">
                   <img src="/static/images/athenz-logo-mark-white.svg" alt="Mobile" class="carosal-images">
                    <h1 data-sr="enter left move 150px over 1s" style="line-height: 5px;">Athenz</h1>
                    <h3 class="athenz" data-sr="wait 0.5s enter left move 150px over 1s">Open source platform for X.509 certificate based service authentication
and fine grained access control in dynamic infrastructures</h3> 
                    <a href="http://www.athenz.io/" class="pure-button pure-button-primary">Project Overview</a>
                </div>
                <br/> 
            </div>
        </div>
    </div>


</div>
<div class="">
        <div class="container padding-sides">
          <h2 class="header pure-u-1-1 blog-header">Latest Blog Posts <a href="/blogs/">View All</a></h2>
            <div class="pure-g-r flex-container" id="blogs">
                    <div class="pure-u-1-3  flex-item  blog blog-20220127">
        <a href='/blogs/20220127/' class="d">
            <div class="image-container">
                <img src="/static/images/img-placeholders/ydn-placeholder-1.jpg" alt="Introducing YChaos - The resilience testing framework"/>
            </div>
            <div class="regular">
                <p class="overflow-3">Introducing YChaos - The resilience testing framework</p>
                <i class="d-icon d-calendar is-visible-mobile"></i><span class="is-visible-mobile"></span>
                <script nonce="G6rCsqae+/JNWvJRYjoDjA==">
                    var d = new Date('January 27, 2022');
                    $('.blog-20220127 .regular span').text(d.toDateString());
                </script>
            </div>
        </a>
    </div>
    <div class="pure-u-1-3  flex-item  blog blog-20211026">
        <a href='/blogs/20211026/' class="d">
            <div class="image-container">
                <img src="/static/images/img-placeholders/ydn-placeholder-2.jpg" alt="Apache Pulsar: Seamless Storage Evolution and Ultra-High Performance with Persistent Memory"/>
            </div>
            <div class="regular">
                <p class="overflow-3">Apache Pulsar: Seamless Storage Evolution and Ultra-High Performance with Persistent Memory</p>
                <i class="d-icon d-calendar is-visible-mobile"></i><span class="is-visible-mobile"></span>
                <script nonce="G6rCsqae+/JNWvJRYjoDjA==">
                    var d = new Date('October 26, 2021');
                    $('.blog-20211026 .regular span').text(d.toDateString());
                </script>
            </div>
        </a>
    </div>
    <div class="pure-u-1-3  flex-item  blog blog-655442589527539712">
        <a href='/blogs/655442589527539712/' class="d">
            <div class="image-container">
                <img src="/static/images/img-placeholders/ydn-placeholder-3.jpg" alt="Latest Updates - June 2021"/>
            </div>
            <div class="regular">
                <p class="overflow-3">Latest Updates - June 2021</p>
                <i class="d-icon d-calendar is-visible-mobile"></i><span class="is-visible-mobile"></span>
                <script nonce="G6rCsqae+/JNWvJRYjoDjA==">
                    var d = new Date('June 30, 2021');
                    $('.blog-655442589527539712 .regular span').text(d.toDateString());
                </script>
            </div>
        </a>
    </div>

            </div>
            <hr class="spacing"/>
            <div class="flex-container pure-g-r social-wrapper">
                <div class="flex-item pure-u-1-2 gutter-right">
                   <div class="card-content">

                        <h2 class="header feed-header">Podcasts
                          <span><iframe title="Podcasts" allowtransparency="true" scrolling="no" frameborder="no" src="https://w.soundcloud.com/icon/?url=http%3A%2F%2Fsoundcloud.com%2Fydn&color=orange_transparent&size=40" style="width: 40px; height: 40px;"></iframe></span>
                        </h2>
                        <div class="podcast-container home">
                            <iframe title="Podcasts" width="100%" height="500" scrolling="no" frameborder="no" allow="autoplay" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/playlists/661124433&color=%237915ab&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true"></iframe>
                        </div>
                   </div>
                </div>
                <div class="flex-item pure-u-1-2 gutter-left">
                    <div class="card-content" >
                        <h2 class="header feed-header">Follow us on Twitter <a href="https://twitter.com/ydn" style="font-size: 24px;padding-left: 10px;" aria-label="Follow us on Twitter"><i class="fa fa-twitter" aria-hidden="true"></i></a></h2>
                        <div class="border timeline-ydn" id="timeline-wrapper">
                            <a data-widget-id="ydn-timeline" class="twitter-timeline" data-height="497" data-chrome="nofooter transparent noheader transparent" href="https://twitter.com/ydn?ref_src=twsrc%5Etfw">Tweets by ydn</a> <script nonce="G6rCsqae+/JNWvJRYjoDjA==" async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
                        </div>
                    </div>
                </div>
            </div>
            <hr class="spacing"/>
            <div class="pure-g-r flex-container is-hidden-mobile">
                <div class="flex-item pure-u-1-2 gutter-right">
                    <div class="card-content">
                        <div class="flex-container-2 border">
                            <div class="pure-u-1-4 image-wrapper">
                                <img src="https://s.yimg.com/oo/cms/products/site/assets/images/svg/Artboard 3100_2585f1d77.svg" alt="APIs Logo"/ dataAlternate="https://s.yimg.com/oo/cms/products/site/assets/images/Artboard 3100_1f3ac0f6a.png">
                            </div>
                            <div class="pure-u-3-4 content-wrapper">
                                <h2 class="header">APIs</h2>
                                <p class="content-info">Let us help you make your apps better by leveraging our APIs.</p>
                                <a class="d browse" href="/api/">Browse APIs</a>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="flex-item pure-u-1-2 gutter-left">
                    <div class="card-content">
                        <div class="flex-container-2 border">
                            <div class="pure-u-1-4 image-wrapper"><img src="https://s.yimg.com/oo/cms/products/site/assets/images/svg/os-icon_a0ce27e3b.svg" alt="Open Source Logo"/></div>
                            <div class="pure-u-3-4 content-wrapper">
                                <h2 class="header">Open Source</h2>
                                <p class="content-info">Join a community of people who are passionate about the
                                technologies you care about. Or just use our free open source code. </p>
                                <a class="d browse" href="/opensource/">Browse code</a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="pure-g-r flex-container is-visible-mobile">
                <a href="/api/" class="d button is-primary">Browse APIs</a>
                <a href="/opensource/" class="d button is-primary">Browse Open Source Projects</a>
            </div>
            <div class="border" style="text-align: center; margin:2em 0 6em;">
                <p class="ads">Looking for Advertising Development Tools? <a href="/advertising/">Browse Advertising Docs</a> </p>
            </div>
        </div>
 </div>


<script nonce="G6rCsqae+/JNWvJRYjoDjA==">
    $(window).on('load', function () {
        $('iframe[id^=twitter-widget-]').each(function () {
            var head = $(this).contents().find('head');
            if (head.length) {
                head.append('<style nonce="G6rCsqae+/JNWvJRYjoDjA==">.timeline { max-width: 100% !important; width: 100% !important; } .timeline .stream { max-width: none !important; width: 100% !important; }</style>');
            }
            $('#twitter-widget-0').append($('<div class=timeline>'));
        });
    });

    function customTwitterStyles() {
        var intervalTwitter = setInterval( function() {
                if (document.querySelector('[id*=twitter-widget]') && document.querySelector('[id*=twitter-widget]').contentDocument) {
                    var ibody = $(document.querySelector('[id*=twitter-widget]').contentDocument).find( 'body' );
                    if(ibody.find('.TweetAuthor-screenName').length){
                    ibody.find('.timeline-Tweet-text').css({'font-size':'14px','line-height':'20px','font-family':'helvetica neue','font-weight':'normal','color':'rgba(48,48,48,1)'});
                    ibody.find('.timeline-Tweet-text a').css({'color':'rgba(74,144,226,1)'});
                    ibody.find('.timeline-Body').css({'border-top':0,'border-bottom':0});
                    ibody.find('.TweetAuthor-screenName').css({'color':'rgba(127,127,127,1)'});

                    $('#timeline-wrapper').removeClass('timeline-ydn');

                    if((/android|webos|iphone|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase()))){
                        ibody.find('.timeline-Tweet-media').css({'margin-left':'0px'});
                        ibody.find('.timeline-Tweet-text').css({'margin-left':'0px'});
                    }

                    clearInterval(intervalTwitter);
                }
            }
        }, 300)
    }

    customTwitterStyles();

    var homeCarousel = $('#carousel').slick({
        dots: true,
        infinite: true,
        speed: 300,
        slidesToShow: 1,
        adaptiveHeight: true,
        autoplay: true,
        autoplaySpeed: 3000,
        cssEase: 'linear',
        mobileFirst: true,
        prevArrow: '',
        nextArrow: '',
        pauseOnHover:false,
        onAfterChange: function(){
             if( 0 == homeCarousel.slickCurrentSlide() ){
                 homeCarousel.slickPause();
             };
         }
    });

    $("#mktoForm").submit(function(event) {
        event.preventDefault();

        var $form = $( this ),
                email = $form.find( "input[name='Email']" ).val(),
                formid = $form.find( "input[name='formid']" ).val(),
                munchkinid = $form.find( "input[name='munchkinId']" ).val(),
                url = $form.attr( "action" );

        if (email) {
            var getting = $.get(url, { Email: email, formid: formid, munchkinId: munchkinid, _mktoReferrer: location.href, _mkt_trk: "", formVid: 43 });

            getting.done(function( data ) {

                $("#mktoForm").hide();
                $("#thanks").show();
            });
        }

    });

    window.sr = new scrollReveal();
</script>
        </div>

</div>
</div>
<!-- FOOTER -->
<footer class="footer yahoo" style="background-color: #f0f3f5;background-image: none;">

    <section class="section">
        <div class="container">
            <div class="columns is-variable is-multiline is-5">
                <div class="column foot-link-block">
                    <span class="featured-header is-block is-bold"> Support
                        <i class="toggle-icon fa fa-angle-down" aria-hidden="true"></i> </span>
                    <a class="is-block clickDisplay hideClick" href="https://developer.yahoo.com/opensource/" target="_blank"
                       rel="noopener">About Us</a>
                    <a class="is-block clickDisplay hideClick" href="https://www.linkedin.com/company/yahoo/jobs/" target="_blank"
                       rel="noopener">Jobs</a>
                    <a class="is-block clickDisplay hideClick"
                       href="https://legal.yahoo.com/us/en/yahoo/privacy/products/developer/index.html"
                       target="_blank" rel="noopener">Privacy</a>
                    <a class="is-block clickDisplay hideClick"
                       href="https://policies.yahoo.com/us/en/yahoo/terms/product-atos/apiforydn/index.htm"
                       target="_blank" rel="noopener">Terms</a>
                    <a class="is-block clickDisplay hideClick" href="https://developer.yahoo.com/policies/" target="_blank"
                       rel="noopener">Policies</a>
                    <a class="is-block clickDisplay hideClick" href="https://yahoo.uservoice.com/forums/182455-yahoo-developer-network" target="_blank" rel="noopener">Site Feedback</a>
                </div>
                <div class="column foot-link-block">
                    <span class="featured-header is-block is-bold">Brands
                       <i class="toggle-icon fa fa-angle-down" aria-hidden="true"></i> </span>

                    <a class="is-block clickDisplay hideClick" href="https://developer.yahoo.com" target="_blank" rel="noopener">Yahoo
                        Developer</a>
                    <a class="is-block clickDisplay hideClick" href="https://vas-docs-service.one-mobile-prod.aws.oath.cloud/" target="_blank"
                       rel="noopener">Yahoo Ads SDK</a>
                    <a class="is-block clickDisplay hideClick"
                       href="https://documentation.help.yahooinc.com/platform/Analytics-Reports/Analytics-Reports-Overview.htm"
                       target="_blank" rel="noopener">Analytics Reporting</a>
                    <a class="is-block clickDisplay hideClick" href="https://developer.edgecast.com/" target="_blank"
                       rel="noopener">Yahoo Edgecast Developer</a>
                    <a class="is-block clickDisplay hideClick" href="https://documentation.help.yahooinc.com/platform/Home.htm" target="_blank"
                       rel="noopener">Ad Platform Help Center</a>
                </div>
                <div class="column logo foot-link-block">
<!--                        <span class="featured-header is-block is-bold">Connect</span>-->
                    <div>
                        <div class="contact-logos">
                            <!--facebook-->
                            <a href="https://www.facebook.com/yahoodevelopernetwork" target="_blank"
                               rel="noopener">
                                <svg width="28px" height="28px" viewBox="0 0 28 28" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
                                    <title>Group 5</title>
                                    <g id="Home-landing" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
                                        <g id="01-Footer-1440" transform="translate(-846.000000, -1052.000000)">
                                            <g id="Group-5" transform="translate(846.000000, 1052.000000)">
                                                <circle class="hover-color-background" id="Oval-Copy-12" fill="#6001D2" cx="14" cy="14" r="14"></circle>
                                                <path class="hover-color-path"  d="M15.7109566,22.1111111 L15.7109566,14.3059753 L18.305099,14.3059753 L18.6934764,11.2641208 L15.7109566,11.2641208 L15.7109566,9.32203117 C15.7109566,8.44134331 15.9530756,7.84120385 17.2035998,7.84120385 L18.7985342,7.84044867 L18.7985342,5.11984665 C18.5226173,5.08284296 17.5759007,5 16.4744763,5 C14.1749444,5 12.6007225,6.41754346 12.6007225,9.02086643 L12.6007225,11.2641208 L10,11.2641208 L10,14.3059753 L12.6007225,14.3059753 L12.6007225,22.1111111 L15.7109566,22.1111111 Z" id="Fill-1" fill="#FFFFFF"></path>
                                            </g>
                                        </g>
                                    </g>
                                </svg>
                            </a>
                            <!--github-->
                            <a href="https://github.com/yahoo" target="_blank" rel="noopener">
                                <svg width="28px" height="28px" viewBox="0 0 28 28" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
                                    <title>Group 7</title>
                                    <g id="Home-landing" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
                                        <g id="01-Footer-1440" transform="translate(-886.000000, -1052.000000)">
                                            <g id="Group-7" transform="translate(886.000000, 1052.000000)">
                                                <circle class="hover-color-background" id="Oval" fill="#6001D2" cx="14" cy="14" r="14"></circle>
                                                <g id="github" transform="translate(4.703577, 5.047522)" fill="#FFFFFF" fill-rule="nonzero">
                                                    <g id="icons_Q2">
                                                        <path class="hover-color-path" d="M9.2964234,0.000963064151 C4.74868216,-0.0645121302 0.841123386,3.21555942 0.117569495,7.70584974 C-0.605984396,12.1961401 2.07345646,16.5376239 6.41157492,17.9039934 C6.83581734,17.9888419 7.17521128,17.5221752 7.17521128,17.140357 L7.17521128,15.910054 C4.62975674,16.4615691 3.82369613,14.6797509 3.82369613,14.6797509 C3.65818743,14.1426929 3.33253986,13.6690237 2.8903628,13.3221752 C2.04187795,12.7282358 2.93278704,12.77066 2.93278704,12.77066 C3.50728191,12.8164647 4.02634705,13.1310496 4.33278704,13.6191449 C5.05399916,14.8494479 6.66612037,14.7221752 7.17521128,14.510054 C7.13065546,14.0882236 7.20408958,13.6623057 7.38733249,13.2797509 C4.50248401,12.77066 2.93278704,11.0736903 2.93278704,8.78278125 C2.90243691,7.58797783 3.34452103,6.42941256 4.16309007,5.55853882 C3.698355,4.69999992 3.74735399,3.65468822 4.2903628,2.84338731 C5.32584436,2.86375202 6.3075021,3.30856568 7.00551431,4.07369034 C7.74218948,3.82231766 8.51850945,3.7073073 9.2964234,3.7342964 C10.0710199,3.71028743 10.8444599,3.81054817 11.5873325,4.03126609 C12.2955295,3.28588529 13.2744116,2.85762433 14.302484,2.84338731 C14.8326128,3.65561259 14.8970512,4.6866261 14.472181,5.55853882 C15.275324,6.43611696 15.7018764,7.59390218 15.6600598,8.78278125 C15.6600598,11.0736903 14.0903628,12.77066 11.2055143,13.2797509 C11.3887572,13.6623057 11.4621913,14.0882236 11.4176355,14.510054 L11.4176355,17.140357 C11.417311,17.3504553 11.5035625,17.5514061 11.6560842,17.6959003 C11.8086058,17.8403945 12.013922,17.9156658 12.2236961,17.9039934 C16.4531547,16.436516 19.0138025,12.1391886 18.2914054,7.72104967 C17.5690082,3.3029107 13.7730154,0.0449393315 9.2964234,0.000963064151 Z" id="Path"></path>
                                                    </g>
                                                </g>
                                            </g>
                                        </g>
                                    </g>
                                </svg>
                            </a>
                            <!--twitter-->
                            <a href="https://twitter.com/ydn" target="_blank" rel="noopener">
                                <svg width="28px" height="28px" viewBox="0 0 28 28" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
                                    <title>Group 4</title>
                                    <g id="Home-landing" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
                                        <g id="01-Footer-1440" transform="translate(-926.000000, -1052.000000)">
                                            <g id="Group-4" transform="translate(926.000000, 1052.000000)">
                                                <circle class="hover-color-background" id="Oval-Copy-9" fill="#6001D2" cx="14" cy="14" r="14"></circle>
                                                <g id="twitter" transform="translate(7.000000, 6.000000)">
                                                    <g id="invisible_box">
                                                        <rect id="Rectangle" x="0" y="0" width="15.5555556" height="15.5555556"></rect>
                                                        <rect id="Rectangle" x="0" y="0" width="15.5555556" height="15.5555556"></rect>
                                                    </g>
                                                    <g id="icons_Q2" transform="translate(0.648148, 1.964899)" fill="#FFFFFF" fill-rule="nonzero">
                                                        <path class="hover-color-path" d="M14.2592593,1.34065652 C13.7247283,1.58531957 13.1567906,1.74914774 12.5740741,1.82676763 C13.1824879,1.45499275 13.6412174,0.881580876 13.8703704,0.206397265 C13.2887526,0.524446023 12.667627,0.764178736 12.0231481,0.919360227 C11.1990934,0.0508318888 9.93172372,-0.233297782 8.8157477,0.200297998 C7.69977168,0.633893777 6.95668772,1.6991551 6.93518519,2.89621208 C6.93561799,3.12649347 6.96834411,3.35557632 7.03240741,3.57676763 C4.68417803,3.45412025 2.49613641,2.34833578 1.00462963,0.530471339 C0.730387342,0.967531729 0.584412172,1.4728304 0.583333333,1.98880467 C0.582743715,2.97256973 1.08361101,3.88879039 1.91203704,4.41936023 C1.44532059,4.42076615 0.98666825,4.29771309 0.583333333,4.06287875 L0.583333333,4.06287875 C0.557589727,5.4633273 1.54172512,6.679828 2.91666667,6.94713801 C2.66486089,7.02698957 2.40298135,7.07063616 2.13888889,7.07676763 L1.58796296,7.01195282 C1.98386588,8.20522668 3.08575652,9.0219221 4.34259259,9.05361949 C3.30355137,9.85674171 2.02619816,10.2901294 0.712962963,10.285101 L0,10.285101 C1.32902341,11.1551814 2.88372216,11.6170847 4.47222222,11.613822 C9.85185185,11.613822 12.8009259,7.14158245 12.8009259,3.28510097 L12.8009259,2.86380467 C13.3741228,2.44728222 13.8680401,1.93141302 14.2592593,1.34065652 Z" id="Path"></path>
                                                    </g>
                                                </g>
                                            </g>
                                        </g>
                                    </g>
                                </svg>
                            </a>
                            <!-- tumblr-->
                            <a href="https://yahoodevelopers.tumblr.com/" target="_blank">
                                <svg width="28px" height="28px" viewBox="0 0 28 28" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
                                    <title>Group 3</title>
                                    <g id="Home-landing" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
                                        <g id="01-Footer-1440" transform="translate(-966.000000, -1052.000000)">
                                            <g id="Group-3" transform="translate(966.000000, 1052.000000)">
                                                <circle class="hover-color-background" id="Oval-Copy-10" fill="#6001D2" cx="14" cy="14" r="14"></circle>
                                                <path class="hover-color-path" d="M15.7302877,21.9287917 L15.6091414,21.9298116 C11.903888,21.9298116 11.0996856,19.205644 11.0996856,17.6154272 L11.0996856,13.1967588 L9.64011707,13.1967588 C9.47067889,13.1967588 9.33333333,13.0593963 9.33333333,12.8899581 L9.33333333,10.8043794 C9.33333333,10.5843885 9.47220873,10.3882292 9.67951893,10.3147289 C11.5818229,9.64363946 12.1782562,7.9846479 12.2667319,6.72276859 C12.2903594,6.38566004 12.4669878,6.22222222 12.760496,6.22222222 L14.9366411,6.22222222 C15.1060623,6.22222222 15.2434249,6.35956778 15.2434249,6.52900596 L15.2434249,10.0617445 L17.7897741,10.0617445 C17.9592123,10.0617445 18.0965579,10.1991071 18.0965579,10.3685282 L18.0965579,12.8739798 C18.0965579,13.043418 17.9592123,13.1807635 17.7897741,13.1807635 L15.2306422,13.1807635 L15.2306422,17.265536 C15.2306422,18.2913611 15.9066781,18.5751463 16.3243412,18.5751463 C16.7247851,18.5655083 17.1191946,18.4435631 17.3167989,18.3642155 C17.4635444,18.3053167 17.5924419,18.2663228 17.7079617,18.2952027 C17.8153394,18.3220429 17.88612,18.3980929 17.933766,18.5369683 L18.60885,20.5092539 C18.6630913,20.6658755 18.7106863,20.8367585 18.5974612,20.9576838 C18.0658761,21.5254241 16.8342706,21.9105526 15.7302877,21.9287917 Z" id="Tumblr-t" fill="#FFFFFF"></path>
                                            </g>
                                        </g>
                                    </g>
                                </svg>
                            </a>
                            <!--youtube-->
                            <a href="https://www.youtube.com/user/ydntheater" target="_blank"
                               rel="noopener">
                                <svg width="28px" height="28px" viewBox="0 0 28 28" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
                                    <title>Group 14</title>
                                    <g id="Home-landing" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
                                        <g id="01-Footer-1440" transform="translate(-1006.000000, -1052.000000)">
                                            <g id="Group-2" transform="translate(1006.000000, 1052.000000)">
                                                <circle class="hover-color-background" id="Oval-Copy-11" fill="#6001D2" cx="14" cy="14" r="14"></circle>
                                                <g id="youtube" transform="translate(5.444444, 8.088889)" fill="#FFFFFF" fill-rule="nonzero">
                                                    <g id="icons_Q2">
                                                        <path class="hover-color-path" d="M16.7611111,1.86666667 C16.5638934,1.12583929 15.9852718,0.547217718 15.2444444,0.35 C13.9222222,0 8.55555556,0 8.55555556,0 C8.55555556,0 3.18888889,0 1.86666667,0.35 C1.12583929,0.547217718 0.547217718,1.12583929 0.35,1.86666667 C0,3.18888889 0,5.98888889 0,5.98888889 C0,5.98888889 0,8.78888889 0.35,10.1111111 C0.547217718,10.8519385 1.12583929,11.4305601 1.86666667,11.6277778 C3.18888889,11.9777778 8.55555556,11.9777778 8.55555556,11.9777778 C8.55555556,11.9777778 13.9222222,11.9777778 15.2444444,11.6277778 C15.9852718,11.4305601 16.5638934,10.8519385 16.7611111,10.1111111 C17.1111111,8.78888889 17.1111111,5.98888889 17.1111111,5.98888889 C17.1111111,5.98888889 17.1111111,3.18888889 16.7611111,1.86666667 Z M6.84444444,8.55555556 L6.84444444,3.42222222 L11.2777778,5.98888889 L6.84444444,8.55555556 Z" id="Shape"></path>
                                                    </g>
                                                </g>
                                            </g>
                                        </g>
                                    </g>
                                </svg>
                            </a>
                        </div>

                        <a class="nav-brand is-block" href="https://www.yahoo.com/" target="_blank" rel="noopener">
                            <img class="nav-brand is-block" src="/static/images/yahoo-logo-purple.svg" alt="Yahoo Logo"/>
                        </a>
                        <span class="is-block is-size-7 copy-right">&copy; 2022 Yahoo. All rights reserved.</span>
                    </div>
                </div>
            </div>
        </div>
    </section>
</footer>

<script nonce="G6rCsqae+/JNWvJRYjoDjA==">
    $('.featured-header').click(function(){
        $(this).find("i").toggleClass('fa-angle-down fa-angle-up')
        $(this).nextAll('.clickDisplay').toggleClass('hideClick showClick')
    });
    // $('.contact-logos a').hover(function(){
    //     $(this).find('.hover-image').toggleClass('invisible visible')
    // });

</script>
<script nonce="G6rCsqae+/JNWvJRYjoDjA==" src="https://s.yimg.com/zz/combo?oo/fe/js/polyfills/assign-min_6f975308e.js&oo/fe/js/navigation-min_3c753d938.js&oo/fe/js/utils-min_65ef3b583.js&oo/fe/js/admin-min_b737dfd14.js"></script>

        <script nonce="G6rCsqae+/JNWvJRYjoDjA==">
            var head = $('.page-head-search'),
            url = document.URL,
            fragment = url.substring(url.indexOf('#')),
            pathAndFragment = '/' + url.split('/').splice(3).join('/'), // i.e., /gemini/guide/gsg.html#integrating-oauth
            path = (pathAndFragment.indexOf('#') > -1) ? pathAndFragment.substring(0, pathAndFragment.indexOf('#')) : pathAndFragment, // i.e., /gemini/guide/gsg.html
            // the menu li container that matches the scope of menu items on the current page
            menuPageRoot,
            languageLeaveWait,
            userLeaveWait, // a timeout for mouseleave from header's user id and pic elements
            menuIsExpanded = false,
            overMenu = false, // is cursor over the user id or pic
            userOverlay, // menu overlay that pops up from user id or pic
            languageOverlay, // menu overlay that pops up from language dropdown link
            dialpadOverlay,
            dialpadLeaveWait,
            headToMenuArr = [],
            $headings,
            menuList = $('.pure-menu a'),
            menuLiList = $('.pure-menu li'),
            pageMenuList, // only the menu items that have heads on this page (used for scrolling highlight)
            isThrottled = false,
            throttleDuration = 100; // ms
        
            if ($('.feedback_close')) {
                $('.feedback_close').click(function (e) {
                    $('.feedback').remove();
                });
            }
        
            // allows the menu to slide in/out on mobile size screens
            function slideMobileMenu() {
                $('#layout').toggleClass('active'); // the menu and page contents
                $('.pure-menu').toggleClass('active'); // the menu
                $('#menuLink').toggleClass('active'); // hamburger icon
                $('.footer').toggleClass('active'); // footer needs to slide too
                $('.mobile-header').toggleClass('active'); // top bar needs to slide too
            }
        
            $('#menuLink').click(function (e) {
                e.preventDefault(); // without this, the first menu item can get triggered on a mobile device when the hamburger icon is clicked
                setTimeout(function () {
                    slideMobileMenu();
                }, 200);
            });
        
            // set/remove box-shadow on head if scrolled
            $(document).scroll(function () {
                if (window.scrollY > 5) {
                    head.addClass('head-shadow');
                } else {
                    head.removeClass('head-shadow');
                }
            });
        
            // Begin language overlay
            languageOverlay = $('#language-overlay');
            languageOverlay.css('z-index', 10);
        
            $('.head-right-controls').delegate('#language-dropdown', 'mouseover', function (e) {
                let top;
                let left;
                    left = $(".head-right-controls").position().left + $(".head-right-controls").width()-275;
                top = $(".head-right-controls").position().top + $(".head-right-controls").height() + 5;
                    
                dialpadOverlay.css('display','none');
                
                languageOverlay.css({
                    top: top+"px",
                    left: left + "px"
                });
                languageOverlay.css('display','table');
            });
        
            $('#language-overlay').mouseover(function () {
                clearTimeout(languageLeaveWait);
                overMenu = true;
            });
        
            // when cursor leaves My Apps,
            // if it doesn't move over the menu within 1sec,
            // hide the menu
            $('#language-dropdown').mouseleave(function (e) {
                languageLeaveWait = setTimeout(function () {
                    if (overMenu === false) {
                        removeLanguageOverlay(e);
                    }
                }, 1000);
            });
        
        
            function removeLanguageOverlay() {
                languageOverlay.css('display','none');
                overMenu = false;
            }
        
            $('#language-overlay').click(removeLanguageOverlay);
            $('#language-overlay').mouseleave(removeLanguageOverlay);
        
             // Begin dialpad overlay
            dialpadOverlay = $('#dialpad-overlay');
            dialpadOverlay.css('z-index', 10);
        
            $('.head-right-controls').delegate('#dialpad-dropdown', 'mouseover', function (e) {
                let top;
                let left;
                    left = $(".head-right-controls").position().left + $(".head-right-controls").width()-545;
                   
                top = $(".head-right-controls").position().top + $(".head-right-controls").height() - 5;
                    
                languageOverlay.css('display','none');
               
                dialpadOverlay.css({
                    top: top+"px",
                    left: left + "px"
                });
                dialpadOverlay.css({
                    'display':'block',    
                    'background-color': '#fff',
            'border-radius': '4px',
            'box-shadow': '0 2px 8px 2px rgba(0, 0, 0, 0.36)',
          'width': '410px',
            'height': '265px',
            'padding':'25px 25px 0px',
            'min-width': '20rem'});
            });
            var overDialMenu = false;
            
            $('#dialpad-overlay').mouseover(function () {
                clearTimeout(dialpadLeaveWait);
                overDialMenu = true;
            });
        
             // when cursor leaves My Apps,
            // if it doesn't move over the menu within 1sec,
            // hide the menu
            $('#dialpad-dropdown').mouseleave(function (e) {
                dialpadLeaveWait = setTimeout(function () {
                    if (overDialMenu === false) {
                        removeDialpadOverlay(e);
                    }
                }, 1000);
            });
        
        
            function removeDialpadOverlay() {
                dialpadOverlay.css('display','none');
                overDialMenu = false;
            }
        
            $('#dialpad-overlay').click(removeDialpadOverlay);
            $('#dialpad-overlay').mouseleave(removeDialpadOverlay);
        
            
        
            
            $('#dialpad-dropdown').click(function(){
                     $('#dialpad-overlay').css('display','block');
            });
        
            
            function supportsSVG() {
                return !!document.createElementNS && !!document.createElementNS('http://www.w3.org/2000/svg', 'svg').createSVGRect;
            }
        
            if (!supportsSVG()) {
                var imgs = document.getElementsByTagName('img');
                var dotSVG = /\.svg$/;
                for (var i = 0; i !== imgs.length; ++i) {
                    if (imgs[i].src.match(dotSVG) && imgs[i].dataAlternate) {
                        imgs[i].src = imgs[i].dataAlternate;
                    }
                }
            }
        </script>


    <!-- Use default JavaScript -->

<script nonce="G6rCsqae+/JNWvJRYjoDjA==" src="https://s.yimg.com/ss/rapid-3.41.3.js"></script>
<script nonce="G6rCsqae+/JNWvJRYjoDjA==">
    var rapid = new YAHOO.i13n.Rapid({webworker_file: 'http://l.yimg.com/oo/fe/js/vendor/rapidworker-1-min_b8fccc270.js' ,spaceid:1197800063, tracked_mods:['layout']});
</script>

<script nonce="G6rCsqae+/JNWvJRYjoDjA==">

    $(document).ready(function() {
        $('.dropdown-trigger button').click(function(){
            var element = $('.dropdown');
            $('.dropdown').toggleClass('is-active');
            $('.dropdown button').attr(
                    'aria-expanded',
                    $(element).hasClass('is-active')
            );
            event.stopPropagation();
        });

        $('body').click(function(){
            var element = $('.dropdown');
            var menuOpen = $(element).hasClass('is-active');
            if (menuOpen) {
                $(element).removeClass('is-active');
                $('.dropdown button').attr('aria-expanded', !menuOpen);
            }
        });
    });
    (function(){
        var test = document.createElement('div');
        test.innerHTML = '&nbsp;';
        test.className = 'adsbox';
        document.body.appendChild(test);
        window.setTimeout(function() {
            if (test.offsetHeight === 0) {
                if ($(':header').length > 0 && $(':header').is(':visible') === false) {
                    var callout = $('div.g-content');
                    callout.first().prepend("<div class='admonition important' style='margin-top: 20px'><p class='first admonition-title'>Ad Blocker Detected</p><p class='last'>We've detected the use of an ad blocker. For the best viewing experience, we recommend that you disable your ad blocker.</p>");
                }
            }
            test.remove();
        }, 100);
    })();
</script>

<script nonce="G6rCsqae+/JNWvJRYjoDjA==">
    (function() {
        // Check if we're in gemini domain
        if (window.location.href.indexOf('gemini-publishers-synd/docs/') > -1) {
            console.log(window.location.href);
            var callout = $('div.g-content');
            callout.first().prepend("<div class='admonition important' style='margin-top: 20px'><p class='first admonition-title'>Deprication Warning</p><p class='last'>These docs have been deprecated. Please use <a href='https://developer.yahoo.com/flurry/docs/publisher/web/'>the documentation here</a>.</p>");
        }
    })();
    $("div.section table").parent().css("overflow-x", "auto");
</script>

<!--  renders each hoverbox-->
<script nonce="G6rCsqae+/JNWvJRYjoDjA==">

    function enableTooltip(){
        $('.reference.internal').each(function() {
            var reference = $(this).find('.std-term');
            var definition = $(this.hash + ' + dd');
            if (reference.length !== 0 && definition.length !== 0) {
                $(this).removeAttr("href"); // remove link to glossary page
                $(this).on("click", function(e) { // make it not clickable
                    e.preventDefault();
                    return false;
                });
                $(reference) // set tooltip
                        .tooltip({
                            html: true,
                            trigger: 'manual',
                            placement: 'top',
                            title: definition.html()
                        }).on("mouseenter", function() {
                    var _this = this;
                    $('.reference.internal .std-term').tooltip('hide');
                    $(this).tooltip('show');
                    $('.tooltip').on('mouseleave', function() {
                        $(_this).tooltip('hide');
                    });
                }).on("mouseleave", function() {
                    var _this = this;
                    setTimeout(function() {
                        if ($('.tooltip:hover').length === 0) {
                            $(_this).tooltip('hide');
                        }
                    }, 200);
                });
            }
        });
    }

    enableTooltip();


</script>
<script nonce="G6rCsqae+/JNWvJRYjoDjA==" type="text/javascript" src="/static/js/vmdn.js"></script>

<script nonce="G6rCsqae+/JNWvJRYjoDjA==" type="text/javascript" src="/static/js/rebranding_documentation.js"></script>


</body>
</html>