Line No.-0: <!DOCTYPE html> Line No.-1: Line No.-2: <html lang="en"> Line No.-3: <head> Line No.-4: Line No.-5: <meta charset="utf-8"> Line No.-6: <link type="text/css" rel="stylesheet" href="/assets/mdl/material.min.css"> Line No.-7: <link type="text/css" rel="stylesheet" href="/assets/mdl/additional.css"> Line No.-8: <meta name="viewport" content="width=device-width, initial-scale=1.0 "> Line No.-9: <link rel="shortcut icon" href="//www.w3resource.com/images/favicon.png"> Line No.-10: <title>Web development tutorials | w3resource</title> Line No.-11: <meta name="viewport" content="width=device-width, initial-scale=1.0 "> Line No.-12: <meta name="description" content="Web development tutorials on HTML, CSS, JS, PHP, SQL, MySQL, PostgreSQL, MongoDB, JSON and more."> Line No.-13: <meta property="og:title" content="web development tutorials from w3resource" /> Line No.-14: <meta property="og:description" content="Web development tutorials on HTML, CSS, JS, PHP, SQL, MySQL, PostgreSQL, MongoDB, JSON and more." /> Line No.-15: <meta property="og:type" content="tutorial" /> Line No.-16: <meta property="og:url" content="https://www.w3resource.com/" /> Line No.-17: <meta property="og:image" content="https://www.w3resource.com/images/w3resource-logo.png" /> Line No.-18: <meta property="og:site_name" content="w3resource" /> Line No.-19: <meta name="msvalidate.01" content="1F8E3A7A751C0BD17BCB6CE7509D800B" /> Line No.-20: Line No.-21: Line No.-22: <script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/1.0.9/cookieconsent.min.js"></script> Line No.-23: <script src="https://kit.fontawesome.com/d75c4d42f8.js" crossorigin="anonymous"></script> Line No.-24: <script> Line No.-25: Line No.-26: window.cookieconsent_options = { Line No.-27: Line No.-28: message: 'This site uses cookies to deliver our services and to show you relevant ads. By using our site, you acknowledge that you have read and understood our Privacy Policy. Your use of w3resource Services, is subject to these policies', Line No.-29: Line No.-30: theme:'dark-bottom', Line No.-31: Line No.-32: learnMore: 'More info', Line No.-33: Line No.-34: link: 'https://www.w3resource.com/privacy.php' Line No.-35: Line No.-36: }; Line No.-37: Line No.-38: </script> Line No.-39: <style type="text/css"> Line No.-40: .demo-card-square.mdl-card { Line No.-41: width: 320px; Line No.-42: height: 320px; Line No.-43: } Line No.-44: .demo-card-square > .mdl-card__title { Line No.-45: color: #fff; Line No.-46: /* background: Line No.-47: url('../assets/demos/dog.png') bottom right 15% no-repeat #46B6AC;*/ Line No.-48: } Line No.-49: .mdl-card__supporting-text a { Line No.-50: display: inline-block; Line No.-51: padding: 5px; Line No.-52: } Line No.-53: .mdl-card__supporting-text a:link { Line No.-54: color: #000003 Line No.-55: } Line No.-56: .mdl-card__supporting-text a:hover { Line No.-57: color: #f86d1d Line No.-58: } Line No.-59: .mdl-card__supporting-text a:visited { Line No.-60: color: #5407bf Line No.-61: } Line No.-62: .mdl-card__supporting-text a:active { Line No.-63: color: #000001 Line No.-64: } Line No.-65: .mdl-card__actions.mdl-card--border { Line No.-66: background-color: #f98a47 Line No.-67: } Line No.-68: .demo-card-square.mdl-card { Line No.-69: height: 250px Line No.-70: } Line No.-71: .mdl-card__actions.mdl-card--border a{ Line No.-72: color: #000 Line No.-73: } Line No.-74: html,body { Line No.-75: background-color: #e8e8ee Line No.-76: } Line No.-77: </style> Line No.-78: <body> Line No.-79: <style type="text/css"> Line No.-80: article a { Line No.-81: text-decoration: none Line No.-82: } Line No.-83: .mdl-menu { Line No.-84: min-width: 1024px; Line No.-85: } Line No.-86: .mdl-menu__item { Line No.-87: height: 24px; Line No.-88: line-height: 24px Line No.-89: } Line No.-90: .header_notice a{ Line No.-91: color: #fff Line No.-92: } Line No.-93: .w3r_donate_link { Line No.-94: font-weight: 800 Line No.-95: } Line No.-96: .w3r_donate_link i{ Line No.-97: margin-right: 5px; Line No.-98: margin-top: 5px; Line No.-99: } Line No.-100: .w3r_donate_link a i{ Line No.-101: color: #fff Line No.-102: } Line No.-103: .w3r_donate_link a:hover{ Line No.-104: color: #ff0a01 Line No.-105: } Line No.-106: .w3r_donate_link a:visited{ Line No.-107: color: #fff Line No.-108: } Line No.-109: Line No.-110: .w3r_donate_link a:hover{ Line No.-111: color: #ff0a01 Line No.-112: } Line No.-113: .w3r_donate_link a:visited{ Line No.-114: color: #fff Line No.-115: } Line No.-116: .w3r_donate_link a:link{ Line No.-117: color: #fff Line No.-118: } Line No.-119: .w3r_donate_link a:hover{ Line No.-120: color: #ff0a01 Line No.-121: } Line No.-122: .w3r_donate_link a:visited{ Line No.-123: color: #fff Line No.-124: } Line No.-125: </style> Line No.-126: <script async src="https://www.googletagmanager.com/gtag/js?id=G-HCW88J419P"></script> Line No.-127: <script> Line No.-128: window.dataLayer = window.dataLayer || []; Line No.-129: function gtag(){dataLayer.push(arguments);} Line No.-130: gtag('js', new Date()); Line No.-131: Line No.-132: gtag('config', 'G-HCW88J419P'); Line No.-133: </script> Line No.-134: <div class="mdl-layout mdl-layout--fixed-header"> Line No.-135: <header class="mdl-layout__header"> Line No.-136: <div class="mdl-layout__header-row"> Line No.-137: <a href="https://www.w3resource.com" style="text-decoration: none;"><span class="mdl-layout-title" style="margin-left: -50px;margin-top: -5px;color:#fff">w3resource</span></a> Line No.-138: Line No.-139: Line No.-140: </nav> Line No.-141: <div class="np"></div> Line No.-142: <div class="mdl-layout-spacer"></div> Line No.-143: Line No.-144: <nav class="mdl-navigation"> Line No.-145: Line No.-146: <a href="https://www.patreon.com/bePatron?u=31377924" data-patreon-widget-type="become-patron-button">Become a Patron!</a><script async src="https://c6.patreon.com/becomePatronButton.bundle.js"></script> Line No.-147: </nav> Line No.-148: <div class="mdl-textfield mdl-js-textfield mdl-textfield--expandable Line No.-149: mdl-textfield--floating-label mdl-textfield--align-right"> Line No.-150: Line No.-151: <div class="mdl-textfield__expandable-holder"> Line No.-152: <input class="mdl-textfield__input" type="text" name="sample" id="fixed-header-drawer-exp"> Line No.-153: </div> Line No.-154: </div> Line No.-155: <nav class="mdl-navigation mdl-layout--large-screen-only"> Line No.-156: Line No.-157: Line No.-158: Line No.-159: Line No.-160: <button id="demo-menu-lower-right" class="mdl-button mdl-js-button mdl-button--icon"> Line No.-161: <i class="material-icons">share</i> Line No.-162: </button> Line No.-163: <ul class="mdl-menu mdl-menu--bottom-right mdl-js-menu mdl-js-ripple-effect" for="demo-menu-lower-right" style="overflow-y:scroll;min-width:200px"> Line No.-164: <li class="mdl-menu__item"><a href="https://www.facebook.com/W3resource-103553425799800" target="_blank">Facebook</a></li> Line No.-165: <li class="mdl-menu__item"><a href="https://twitter.com/w3resource">Twitter</a></li> Line No.-166: <li class="mdl-menu__item"><a href="https://plus.google.com/+W3resource">Google Plus</a></li> Line No.-167: <li class="mdl-menu__item"><a href="http://in.linkedin.com/in/w3resource">Linkedin</a></li> Line No.-168: <li class="mdl-menu__item"><a href="http://feeds.feedburner.com/W3resource">RSS</a></li> Line No.-169: </ul> Line No.-170: </nav> Line No.-171: </div> Line No.-172: </header> Line No.-173: <main class="mdl-layout__content"> Line No.-174: <div class="page-content"> Line No.-175: Line No.-176: Line No.-177: Line No.-178: <div class="mdl-grid"> Line No.-179: <div class="mdl-cell mdl-cell--12-col"> Line No.-180: <a href="//www.w3resource.com"><script type="text/javascript" style="display:none"> Line No.-181: //<![CDATA[ Line No.-182: window.__mirage2 = {petok:"EEU3zIhVe_WETo.PT_UHYA6YrC08Dg1yPgyeIrSQy4U-1800-0.0.1.1"}; Line No.-183: //]]> Line No.-184: </script> Line No.-185: <script type="text/javascript" src="https://ajax.cloudflare.com/cdn-cgi/scripts/04b3eb47/cloudflare-static/mirage2.min.js"></script> Line No.-186: <img alt="w3resource logo" id="log_img" data-cfsrc="https://www.w3resource.com/images/w3resource-logo.png" style="display:none;visibility:hidden;"><noscript><img src="https://www.w3resource.com/images/w3resource-logo.png" alt="w3resource logo" id="log_img"></noscript></a> Line No.-187: </div> Line No.-188: <div class="mdl-cell mdl-card mdl-shadow--2dp through mdl-shadow--6dp mdl-cell--12-col"> Line No.-189: <div class="mdl-grid"> Line No.-190: <div class="mdl-cell mdl-cell--4-col"> Line No.-191: <div class="demo-card-square mdl-card mdl-shadow--2dp"> Line No.-192: <div class="mdl-card__actions mdl-card--border"> Line No.-193: <a>Frontend tutorials</a> Line No.-194: </div> Line No.-195: <div class="mdl-card__supporting-text"> Line No.-196: <a href="https://www.w3resource.com/html/HTML-tutorials.php">HTML</a> Line No.-197: <a href="https://www.w3resource.com/css/CSS-tutorials.php">CSS</a> Line No.-198: <a href="https://www.w3resource.com/javascript/javascript.php">JavaScript</a> Line No.-199: <a href="https://www.w3resource.com/html5/introduction.php">HTML5</a> Line No.-200: <a href="https://www.w3resource.com/schema.org/introduction.php">Schema.org</a> Line No.-201: <a href="https://www.w3resource.com/phpjs/use-php-functions-in-javascript.php">php.js</a> Line No.-202: <a href="https://www.w3resource.com/twitter-bootstrap/tutorial.php">Twitter Bootstrap</a> Line No.-203: <a href="https://www.w3resource.com/responsive-web-design/overview.php">Responsive Web Design tutorial</a> Line No.-204: <a href="https://www.w3resource.com/zurb-foundation3/introduction.php">Zurb Foundation 3 tutorials</a> Line No.-205: <a href="https://www.w3resource.com/pure/index.php">Pure CSS</a> Line No.-206: <a href="https://www.w3resource.com/html5-canvas/index.php">HTML5 Canvas</a> Line No.-207: <a href="https://www.w3resource.com/course/javascript-course.html" target="_blank">JavaScript Course</a> Line No.-208: <a href="https://www.w3resource.com/icon/index.php">Icon</a> Line No.-209: <a href="https://www.w3resource.com/angular/getting-started-with-angular.php">Angular</a> Line No.-210: <a href="https://www.w3resource.com/vue/installation-guide.php">Vue</a> Line No.-211: <a href="https://www.w3resource.com/jest/jest-testing-framework-introduction.php">Jest</a> Line No.-212: <a href="https://www.w3resource.com/mocha/getting-started.php">Mocha</a> Line No.-213: <a href="https://www.w3resource.com/npm/npm-getting-started.php">npm</a> Line No.-214: <a href="https://www.w3resource.com/yarn/getting-started-with-yarn.php">Yarn</a> Line No.-215: <a href="https://www.w3resource.com/cypress/cypress-overview.php">Cypress</a> Line No.-216: <a href="https://www.w3resource.com/python/certificate/index.php">Python PCEP Certification</a> Line No.-217: </div> Line No.-218: </div> Line No.-219: </div> Line No.-220: <div class="mdl-cell mdl-cell--4-col"> Line No.-221: <div class="demo-card-square mdl-card mdl-shadow--2dp"> Line No.-222: <div class="mdl-card__actions mdl-card--border"> Line No.-223: <a>Backend tutorials</a> Line No.-224: </div> Line No.-225: <div class="mdl-card__supporting-text"> Line No.-226: <a href="https://www.w3resource.com/php/php-home.php">PHP</a> Line No.-227: <a href="https://www.w3resource.com/python/python-tutorial.php">Python</a> Line No.-228: <a href="https://www.w3resource.com/numpy/index.php">Python-NumPy</a> Line No.-229: <a href="https://www.w3resource.com/pandas/index.php">Python-Pandas</a> Line No.-230: <a href="https://www.w3resource.com/java-tutorial/index.php">Java</a> Line No.-231: <a href="https://www.w3resource.com/node.js/node.js-tutorials.php">Node.js</a> Line No.-232: <a href="https://www.w3resource.com/ruby/index.php">Ruby</a> Line No.-233: <a href="https://www.w3resource.com/c-programming/programming-in-c.php">C programming</a> Line No.-234: <a href="https://www.w3resource.com/php/composer/a-gentle-introduction-to-composer.php">Composer</a> Line No.-235: <a href="https://www.w3resource.com/php/PHPUnit/a-gentle-introduction-to-unit-test-and-testing.php">PHPUnit</a> Line No.-236: <a href="https://www.w3resource.com/laravel/laravel-tutorial.php">Laravel</a> Line No.-237: <a href="https://www.w3resource.com/mojo/index.php">Mojo</a> Line No.-238: </div> Line No.-239: </div> Line No.-240: </div> Line No.-241: <div class="mdl-cell mdl-cell--4-col"> Line No.-242: <div class="demo-card-square mdl-card mdl-shadow--2dp"> Line No.-243: <div class="mdl-card__actions mdl-card--border"> Line No.-244: <a>Database tutorials</a> Line No.-245: </div> Line No.-246: <div class="mdl-card__supporting-text"> Line No.-247: <a href="https://www.w3resource.com/sql/tutorials.php">SQL(2003 standard of ANSI)</a> Line No.-248: <a href="https://www.w3resource.com/mysql/mysql-tutorials.php">MySQL</a> Line No.-249: <a href="https://www.w3resource.com/PostgreSQL/tutorial.php">PostgreSQL</a> Line No.-250: <a href="https://www.w3resource.com/sqlite/index.php">SQLite</a> Line No.-251: <a href="https://www.w3resource.com/mongodb/nosql.php">NoSQL</a> Line No.-252: <a href="https://www.w3resource.com/mongodb/nosql.php">MongoDB</a><a href="https://www.w3resource.com/oracle/index.php">Oracle</a> Line No.-253: <a href="https://www.w3resource.com/redis/index.php">Redis</a> Line No.-254: <a href="https://www.w3resource.com/apollo-graphql/the-apollo-graphql-platform.php">Apollo GraphQL</a> Line No.-255: </div> Line No.-256: </div> Line No.-257: </div> Line No.-258: </div> Line No.-259: Line No.-260: <div class="mdl-grid"> Line No.-261: <div class="mdl-cell mdl-cell--4-col"> Line No.-262: <div class="demo-card-square mdl-card mdl-shadow--2dp"> Line No.-263: <div class="mdl-card__actions mdl-card--border"> Line No.-264: <a>Frontend Exercises with online editor</a> Line No.-265: </div> Line No.-266: <div class="mdl-card__supporting-text"> Line No.-267: <a href="https://www.w3resource.com/html-css-exercise/">HTML CSS</a> Line No.-268: <a href="https://www.w3resource.com/html-css-exercise/basic/index.php">HTML5 Basic (Tag and attribute)</a> Line No.-269: <a href="https://www.w3resource.com/html-css-exercise/html-css-practical-exercises/html-css-practical-exercise-part-1.php">HTML-CSS Practical Exercises</a> Line No.-270: <a href="https://www.w3resource.com/html-css-exercise/css-properties/index.php">CSS Properties Exercises</a> Line No.-271: <a href="https://www.w3resource.com/javascript-exercises/">JavaScript</a> Line No.-272: <a href="https://www.w3resource.com/jquery-exercises/">jQuery</a> Line No.-273: <a href="https://www.w3resource.com/jquery-ui-exercises/">jQuery-UI</a> Line No.-274: <a href="https://www.w3resource.com/coffeescript-exercises/">CoffeeScript</a> Line No.-275: <a href="https://www.w3resource.com/bash-script-exercises/index.php">BASH</a> Line No.-276: <a href="https://www.w3resource.com/typescript-exercises/index.php">TypeScript</a> Line No.-277: <a href="https://www.w3resource.com/java-exercises/javafx/index.php">JavaFX</a> Line No.-278: </div> Line No.-279: </div> Line No.-280: </div> Line No.-281: <div class="mdl-cell mdl-cell--4-col"> Line No.-282: <div class="demo-card-square mdl-card mdl-shadow--2dp"> Line No.-283: <div class="mdl-card__actions mdl-card--border"> Line No.-284: <a>Backend Exercises with online editor</a> Line No.-285: </div> Line No.-286: <div class="mdl-card__supporting-text"> Line No.-287: <a href="https://www.w3resource.com/php-exercises/">PHP</a> Line No.-288: <a href="https://www.w3resource.com/python-exercises/">Python</a> Line No.-289: <a href="https://www.w3resource.com/python-exercises/numpy/index.php">NumPy</a> Line No.-290: <a href="https://www.w3resource.com/python-exercises/pandas/index.php">Pandas</a> Line No.-291: <a href="https://www.w3resource.com/csharp-exercises/">C# </a> Line No.-292: <a href="https://www.w3resource.com/cpp-exercises/index.php">C++ </a> Line No.-293: <a href="https://www.w3resource.com/c-programming-exercises/">C Programming</a> Line No.-294: <a href="https://www.w3resource.com/r-programming-exercises/">R Language</a> Line No.-295: <a href="https://www.w3resource.com/java-exercises/">Java</a> Line No.-296: <a href="https://www.w3resource.com/ruby-exercises/">Ruby</a> Line No.-297: <a href="https://www.w3resource.com/graphics/matplotlib/">Matplotlib</a> Line No.-298: <a href="https://www.w3resource.com/machine-learning/scikit-learn/iris/index.php">Machine Learning</a> Line No.-299: <a href="https://www.w3resource.com/machine-learning/tensorflow/index.php">TensorFlow</a> Line No.-300: <a href="https://www.w3resource.com/scala-exercises/index.php">Scala</a> Line No.-301: <a href="https://www.w3resource.com/swift-programming-exercises/">Swift</a> Line No.-302: <a href="https://www.w3resource.com/kotlin-exercises/index.php">Kotlin</a> Line No.-303: <a href="https://www.w3resource.com/rust/index.php">Rust</a> Line No.-304: </div> Line No.-305: </div> Line No.-306: </div> Line No.-307: <div class="mdl-cell mdl-cell--4-col"> Line No.-308: <div class="demo-card-square mdl-card mdl-shadow--2dp"> Line No.-309: <div class="mdl-card__actions mdl-card--border"> Line No.-310: <a>Database Exercises with online editor</a> Line No.-311: </div> Line No.-312: <div class="mdl-card__supporting-text"> Line No.-313: <a href="https://www.w3resource.com/sql-exercises/">SQL</a> Line No.-314: <a href="https://www.w3resource.com/sql-exercises/movie-database-exercise/index.php">Movie Database</a> Line No.-315: <a href="https://www.w3resource.com/sql-exercises/soccer-database-exercise/index.php">Soccer Database</a> Line No.-316: <a href="https://www.w3resource.com/sql-exercises/hospital-database-exercise/index.php">Hospital Database</a> Line No.-317: <a href="https://www.w3resource.com/sql-exercises/employee-database-exercise/index.php">Employee Database</a> Line No.-318: <a href="https://www.w3resource.com/sql-exercises/adventureworks/index.php">AdventureWorks Database</a> Line No.-319: <a href="https://www.w3resource.com/oracle-exercises/">Oracle</a> Line No.-320: <a href="https://www.w3resource.com/mysql-exercises/">MySQL</a> Line No.-321: <a href="https://www.w3resource.com/sqlite-exercises/">SQLite</a> Line No.-322: <a href="https://www.w3resource.com/postgresql-exercises/">PostgreSQL</a> Line No.-323: <a href="https://www.w3resource.com/mongodb-exercises/">MongoDB</a> Line No.-324: <a href="https://www.w3resource.com/plsql-exercises/index.php">PL/SQL</a> Line No.-325: </div> Line No.-326: </div> Line No.-327: </div> Line No.-328: </div> Line No.-329: Line No.-330: <div class="mdl-grid"> Line No.-331: <div class="mdl-cell mdl-cell--4-col"> Line No.-332: <div class="demo-card-square mdl-card mdl-shadow--2dp"> Line No.-333: <div class="mdl-card__actions mdl-card--border"> Line No.-334: <a>Data structure and Algorithm</a> Line No.-335: </div> Line No.-336: <div class="mdl-card__supporting-text"> Line No.-337: <a href="https://www.w3resource.com/data-structures-and-algorithms/index.php">Learn DSA</a> Line No.-338: <a href="https://www.w3resource.com/data-structures-and-algorithms/an-introduction-to-data-structures-and-algorithms.php">An Introduction to DSA</a> Line No.-339: <a href="https://www.w3resource.com/data-structures-and-algorithms/data-structures-and-algorithms-fundamentals.php">DSA Fundamentals</a> Line No.-340: <a href="https://www.w3resource.com/data-structures-and-algorithms/array/array-data-structure.php">Array Data Structure</a> Line No.-341: <a href="https://www.w3resource.com/data-structures-and-algorithms/array/array-data-structure-coding-problems.php">Array Coding Problems</a> Line No.-342: </div> Line No.-343: </div> Line No.-344: </div> Line No.-345: <div class="mdl-cell mdl-cell--4-col"> Line No.-346: <div class="demo-card-square mdl-card mdl-shadow--2dp"> Line No.-347: <div class="mdl-card__actions mdl-card--border"> Line No.-348: <a>Linux, Data interchange & API tutorials</a> Line No.-349: </div> Line No.-350: <div class="mdl-card__supporting-text"> Line No.-351: <a href="https://www.w3resource.com/linux-system-administration/installation.php">Linux Home</a> Line No.-352: <a href="https://www.w3resource.com/linux-system-administration/linux-commands-introduction.php">Linux Commands</a> Line No.-353: <a href="https://www.w3resource.com/linux-system-administration/installation.php">Linux Server Administration</a> Line No.-354: <a href="https://www.w3resource.com/xml/xml.php">XML</a> Line No.-355: <a href="https://www.w3resource.com/JSON/introduction.php">JSON</a> Line No.-356: <a href="https://www.w3resource.com/ajax/introduction.php">Ajax</a> Line No.-357: <a href="https://www.w3resource.com/API/google-plus/tutorial.php">Google Plus API</a> Line No.-358: <a href="https://www.w3resource.com/API/youtube/tutorial.php">Youtube API</a> Line No.-359: <a href="https://www.w3resource.com/API/google-maps/index.php">Google Maps API</a> Line No.-360: <a href="https://www.w3resource.com/API/flickr/tutorial.php">Flickr API</a> Line No.-361: <a href="https://www.w3resource.com/API/last.fm/tutorial.php">Last.fm API</a> Line No.-362: <a href="https://www.w3resource.com/API/twitter-rest-api/">Twitter REST API</a> Line No.-363: </div> Line No.-364: </div> Line No.-365: </div> Line No.-366: <div class="mdl-cell mdl-cell--4-col"> Line No.-367: <div class="demo-card-square mdl-card mdl-shadow--2dp"> Line No.-368: <div class="mdl-card__actions mdl-card--border"> Line No.-369: <a>Miscellaneous Tutorials</a> Line No.-370: </div> Line No.-371: <div class="mdl-card__supporting-text"> Line No.-372: <a href="https://www.w3resource.com/projects/python/index.php">Python Projects</a> Line No.-373: <a href="https://www.w3resource.com/excel/index.php">Excel Tutorial</a> Line No.-374: <a href="https://www.w3resource.com/web-development-tools/firebug-tutorials.php">Firebug Tutorial</a> Line No.-375: <a href="https://www.w3resource.com/web-development-tools/useful-web-development-tools.php">Useful Tools</a> Line No.-376: <a href="https://www.w3resource.com/form-template/index.php">Google Docs Forms Template</a> Line No.-377: <a href="https://www.w3resource.com/slides/index.php">Google Docs Slides Presentation</a> Line No.-378: <a href="https://www.w3resource.com/convert/number/binary-to-decimal.php">Number Conversion</a> Line No.-379: <a href="https://www.w3resource.com/quizzes/index.php">Quizzes</a> Line No.-380: <a href="https://www.w3resource.com/twitter-bootstrap/examples.php">Twitter Bootstrap Examples</a> Line No.-381: <a href="https://www.w3resource.com/python-interview/index.php">Python Interview Q&A</a> Line No.-382: <a href="https://www.w3resource.com/wxmaxima/index.php">wxMaxima</a> Line No.-383: Line No.-384: </div> Line No.-385: </div> Line No.-386: </div> Line No.-387: </div> Line No.-388: Line No.-389: <style type="text/css"> Line No.-390: h1 { Line No.-391: color: #2a69a8; Line No.-392: font-size: 30px; Line No.-393: margin-left: 30px; Line No.-394: } Line No.-395: .home_updates { Line No.-396: margin: 20px; Line No.-397: font-size: 17px; Line No.-398: background-color: #f1f3f4; Line No.-399: padding: 10px Line No.-400: } Line No.-401: .home_updates a{ Line No.-402: font-size: 17px; Line No.-403: } Line No.-404: </style> Line No.-405: <hr> Line No.-406: <div style="margin-left: 10%"> Line No.-407: <p><strong>Tutorials, Exercises published recently</strong></p> Line No.-408: <p><strong>Trending Exercises / Tutorial :</strong></p> Line No.-409: <p><a href="https://www.w3resource.com/python/certificate/index.php" target="_blank">Python PCEP Certification Preparation Guide: Exam Details & Syllabus</a></p> Line No.-410: <p><a href="https://www.w3resource.com/convert/index.php" target="_blank">Number Conversion</a></p> Line No.-411: <p><a href="https://www.w3resource.com/data-structures-and-algorithms/index.php" target="_blank">Learn Data Structures and Algorithms (DSA)</a></p> Line No.-412: <p><a href="https://www.w3resource.com/data-structures-and-algorithms/array/array-data-structure-coding-problems.php" target="_blank">Array Coding Problems: Classic & Challenging Challenges</a></p> Line No.-413: <p><a href="https://www.w3resource.com/projects/python/python_beginners_projects.php">100 Python Projects for Beginners with solution</a></p> Line No.-414: <p><strong>20 September, 2024</strong></p> Line No.-415: <p><a href="https://www.w3resource.com/c-programming/c-logical-operators.php" target="_blank">C Programming - Logical Operators Explained</a></p> Line No.-416: <p><a href="https://www.w3resource.com/c-programming/c-arithmetic-operators.php" target="_blank">C Arithmetic Operators Explained with Examples</a></p> Line No.-417: <p><a href="https://www.w3resource.com/c-programming/c-relational-operators.php" target="_blank">C Relational Operators with Examples</a></p> Line No.-418: <p><strong>19 September, 2024</strong></p> Line No.-419: <p><a href="https://www.w3resource.com/projects/python/python-basic-url-crawler-project.php" target="_blank">Python Project - Basic URL Crawler for extract URLs</a></p> Line No.-420: <p><a href="https://www.w3resource.com/python/certificate/functions-and-exceptions-base-exception.php" target="_blank">PCEP Certification Practice: Python Built-In BaseException Hierarchy</a></p> Line No.-421: <p><a href="https://www.w3resource.com/python/certificate/functions-and-exceptions-exception.php" target="_blank">PCEP Certification Practice: Python Built-In Exception Class</a></p> Line No.-422: <p><a href="https://www.w3resource.com/python/certificate/functions-and-exceptions-systemexit.php" target="_blank">PCEP Certification Practice: Python SystemExit Exception Handling</a></p> Line No.-423: <p><strong>18 September, 2024</strong></p> Line No.-424: <p><a href="https://www.w3resource.com/c-programming/c-multithreading.php" target="_blank">Multithreading in C with POSIX Threads: A Complete Guide</a></p> Line No.-425: <p><a href="https://www.w3resource.com/c-programming/c-union.php" target="_blank">Understanding the Concept and use Cases of Unions in C</a></p> Line No.-426: <p><a href="https://www.w3resource.com/c-programming/c-bitwise-operators.php" target="_blank">Understanding Bitwise Operators with examples in C</a></p> Line No.-427: <p><a href="https://www.w3resource.com/python/certificate/functions-and-exceptions-name-scopes-name-hiding-and-global-keyword.php" target="_blank">PCEP Certification Practice: Name Scopes, Name Hiding, and Global Keyword</a></p> Line No.-428: <p><a href="https://www.w3resource.com/python/certificate/functions-and-exceptions-default-parameter-values.php" target="_blank">PCEP Exam Practice: Default Parameter Values in Python Functions</a></p> Line No.-429: <p><a href="https://www.w3resource.com/projects/python/python-trivia-quiz-game-project.php" target="_blank">Trivia Quiz Game Project: CLI and GUI Solutions in Python</a></p> Line No.-430: <p><strong>17 September, 2024</strong></p> Line No.-431: <p><a href="https://www.w3resource.com/python/certificate/functions-and-exceptions-positional-keyword-and-mixed-argument-passing.php" target="_blank">PCEP Certification Practice Test: Positional, Keyword, and Mixed Arguments</a></p> Line No.-432: <p><a href="https://www.w3resource.com/c-programming/c-preprocessor-directives.php" target="_blank">Mastering Preprocessor Directives in C: #define, #include, and Macros</a></p> Line No.-433: <p><a href="https://www.w3resource.com/c-programming/c-error-handling.php" target="_blank">Comprehensive Guide to Error Handling in C: errno, perror(), and strerror()</a></p> Line No.-434: <p><a href="https://www.w3resource.com/c-programming/c-typedef-and-enum.php" target="_blank">Understanding Typedef and Enum in C Programming</a></p> Line No.-435: <p><strong>16 September, 2024</strong></p> Line No.-436: <p><a href="https://www.w3resource.com/c-programming/c-command-line-arguments.php" target="_blank">Command-Line Arguments in C: Handling argc and argv</a></p> Line No.-437: <p><a href="https://www.w3resource.com/c-programming/c-dynamic-memory-allocation.php" target="_blank">Dynamic Memory Allocation in C: malloc(), calloc(), realloc(), and free()</a></p> Line No.-438: <p><a href="https://www.w3resource.com/c-programming/c-file-handling.php" target="_blank">C File Handling: fopen(), fclose(), fread(), and fwrite() Tutorial</a></p> Line No.-439: <p><a href="https://www.w3resource.com/python/certificate/functions-and-exceptions-parameters-vs-arguments.php" target="_blank">PCEP Certification Practice Test: Parameters vs. Arguments</a></p> Line No.-440: <strong>14 September, 2024</strong></p> Line No.-441: <p><a href="https://www.w3resource.com/c-programming/c-programming-recursion.php" target="_blank">Comprehensive guide to Recursion in C Programming: Best Practices & Examples</a></p> Line No.-442: <p><a href="https://www.w3resource.com/python/certificate/functions-and-exceptions-defining-and-invoking-user-defined-functions-and-generators.php" target="_blank">PCEP Certification Practice Test: User-Defined Functions and Generators</a></p> Line No.-443: <p><a href="https://www.w3resource.com/python/certificate/functions-and-exceptions-the-none-keyword.php" target="_blank">PCEP Certification Practice Test: Understanding the None Keyword in Python</a></p> Line No.-444: <p><a href="https://www.w3resource.com/python/certificate/functions-and-exceptions-recursion.php" target="_blank">PCEP Certification Practice Test: Mastering Recursion in Python</a></p> Line No.-445: <strong>13 September, 2024</strong></p> Line No.-446: <p><a href="https://www.w3resource.com/c-programming/c-programming-functions.php" target="_blank">C Programming Functions: Declarations, Definitions & Examples</a></p> Line No.-447: <p><a href="https://www.w3resource.com/python/certificate/data-collections-strings-quotes-and-apostrophes-inside-strings.php" target="_blank">PCEP Practice Test: Mastering Quotes and Apostrophes in Python Strings</a></p> Line No.-448: <p><a href="https://www.w3resource.com/python/certificate/data-collections-strings-multi-line-strings.php" target="_blank">PCEP Practice Test: Understanding Multi-line Strings in Python</a></p> Line No.-449: <p><a href="https://www.w3resource.com/python/certificate/data-collections-strings-functions-and-methods.php" target="_blank">PCEP Practice Test: Basic String Functions and Methods in Python</a></p> Line No.-450: <strong>12 September, 2024</strong></p> Line No.-451: <p><a href="https://www.w3resource.com/python/certificate/data-collections-strings-constructing-strings.php" target="_blank">PCEP Certification Practice Test: Constructing Strings</a></p> Line No.-452: <p><a href="https://www.w3resource.com/python/certificate/data-collections-strings-indexing-slicing-immutability.php" target="_blank">PCEP Certification Practice Test: Indexing, Slicing, and String immutability</a></p> Line No.-453: <p><a href="https://www.w3resource.com/python/certificate/data-collections-strings-escaping-using-the-backslash-character.php" target="_blank">PCEP Certification Practice Test: Escaping using the Backslash character</a></p> Line No.-454: <p><a href="https://www.w3resource.com/projects/python/python-url-shortener-project.php" target="_blank">Python URL Shortener Project: Comparing Hashing and Base62 Encoding Methods</a></p> Line No.-455: <p><a href="https://www.w3resource.com/projects/python/python-basic-music-player-project.php" target="_blank">Basic Music Player Project: Tkinter vs PyQt5 Solutions for Python</a></p> Line No.-456: <p><a href="https://www.w3resource.com/projects/python/python-palindrome-checker-project.php" target="_blank">Palindrome Checker Project: Basic and Class-Based Python Solutions</a></p> Line No.-457: <p><a href="https://www.w3resource.com/projects/python/python-basic-blog-system-project.php" target="_blank">Building a Basic Blog System in Python: Two Approaches</a></p> Line No.-458: <strong>09 September, 2024</strong></p> Line No.-459: <p><a href="https://www.w3resource.com/python/certificate/data-collections-dictionaries-checking-the-existence-of-keys.php" target="_blank">PCEP Certification Practice: Checking the Existence of Dictionary Keys</a></p> Line No.-460: <p><a href="https://www.w3resource.com/python/certificate/data-collections-dictionaries-methods-keys-items-and-values.php" target="_blank">PCEP Certification Practice: Dictionary Methods keys(), items(), and values()</a></p> Line No.-461: <strong>05 September, 2024</strong></p> Line No.-462: <p><a href="https://www.w3resource.com/python/certificate/data-collections-dictionaries-iterating-through-dictionaries-and-their-keys-and-values.php" target="_blank">PCEP Certification Practice: Iterating through Dictionaries and their Keys and Values</a></p> Line No.-463: <p><a href="https://www.w3resource.com/python/certificate/data-collections-dictionaries-building-indexing-adding-and-removing-keys.php" target="_blank">PCEP Certification Practice: Iterating through Dictionaries and their Keys and Values</a></p> Line No.-464: <p><a href="https://www.w3resource.com/projects/python/python-basic-drawing-app-project.php" target="_blank">Python Project - Basic Drawing App using Tkinter and PyQt5</a></p> Line No.-465: <p><a href="https://www.w3resource.com/projects/python/python-image-downloader-project.php" target="_blank">Python Image Downloader: Download Images from a URL</a></p> Line No.-466: <strong>04 September, 2024</strong></p> Line No.-467: <p><a href="https://www.w3resource.com/projects/python/python-image-downloader-project.php" target="_blank">Python Image Downloader: Download Images from a URL</a></p> Line No.-468: <p><a href="https://www.w3resource.com/python/certificate/data-collections-tuples-vs-lists-similarities-and-differences.php" target="_blank">PCEP Certification Practice: Tuples vs. Lists - Differences and Similarities</a></p> Line No.-469: <p><a href="https://www.w3resource.com/python/certificate/data-collections-tuples-lists-inside-tuples-and-tuples-inside-lists.php" target="_blank">PCEP Certification Practice: Lists inside Tuples and Tuples inside Lists</a></p> Line No.-470: <strong>03 September, 2024</strong></p> Line No.-471: <p><a href="https://www.w3resource.com/projects/python/python-hangman-game-project.php" target="_blank">Python Project: Hangman Game - Solutions and Explanations</a></p> Line No.-472: <p><a href="https://www.w3resource.com/projects/python/python-file-organizer-project.php" target="_blank">Python File Organizer Project - Solutions and Explanations</a></p> Line No.-473: <p><a href="https://www.w3resource.com/projects/python/python-simple-web-server-project.php" target="_blank">Create a Basic Web Server Project in Python: Flask vs. Django</a></p> Line No.-474: <p><a href="https://www.w3resource.com/projects/python/python-password-manager-project.php" target="_blank">Create a Secure Password Manager Project in Python: Two Approaches</a></p> Line No.-475: <p><a href="https://www.w3resource.com/projects/python/python-tic-tac-toe-game-project.php" target="_blank">Python Two-Player Tic-Tac-Toe Project - Solutions and Explanations</a></p> Line No.-476: <p><a href="https://www.w3resource.com/projects/python/python-rock-paper-scissors-game-project.php" target="_blank">Python Project - Rock, Paper, Scissors Game: Solutions and Explanations</a></p> Line No.-477: <p><a href="https://www.w3resource.com/projects/python/python-random-password-generator-project.php" target="_blank">Python Project - Random Password Generator Solutions and Explanations</a></p> Line No.-478: <p><a href="https://www.w3resource.com/python/certificate/data-collections-tuples-indexing-slicing-building-immutability.php" target="_blank">PCEP Certification Practice: Tuples - Indexing, Slicing, Building, and Immutability</a></p> Line No.-479: <strong>02 September, 2024</strong></p> Line No.-480: <p><a href="https://www.w3resource.com/python/certificate/data-collections-lists-initializing-loops.php" target="_blank">PCEP Practice Test: Initializing Loops in Python Lists</a></p> Line No.-481: <p><a href="https://www.w3resource.com/python/certificate/data-collections-lists-in-lists-matrices-and-cubes.php" target="_blank">PCEP Practice Test: Lists in Lists - Matrices and Cubes</a></p> Line No.-482: <p><a href="https://www.w3resource.com/projects/python/python-to-do-list-application-project.php" target="_blank">Python - Build a basic To-Do List Project: Solutions and Explanations</a></p> Line No.-483: <p><a href="https://www.w3resource.com/projects/python/python-guess-the-number-game-project.php" target="_blank">Python Guess the Number Game Project: Solutions and Explanations</a></p> Line No.-484: <p><a href="https://www.w3resource.com/projects/python/python-dice-rolling-simulator-project.php" target="_blank">Python Project: Dice Rolling Simulator - Solutions and Explanations</a></p> Line No.-485: <p><a href="https://www.w3resource.com/projects/python/python-alarm-clock-project.php" target="_blank">Python Simple Alarm Clock Project - Solutions and Explanations</a></p> Line No.-486: <p><a href="https://www.w3resource.com/projects/python/python-temperature-converter-project.php" target="_blank">Python Project Temperature Converter - Solutions and Explanations</a></p> Line No.-487: <p><a href="https://www.w3resource.com/projects/python/python-random-password-generator-project.php" target="_blank">Python Project - Random Password Generator Solutions and Explanations</a></p> Line No.-488: <p><a href="https://www.w3resource.com/projects/python/python-text-based-adventure-game-project.php" target="_blank">Python Project: Text-Based Adventure Game - Solutions and Explanations</a></p> Line No.-489: <p><a href="https://www.w3resource.com/projects/python/python-rock-paper-scissors-game-project.php" target="_blank">Python Project - Rock, Paper, Scissors Game: Solutions and Explanations</a></p> Line No.-490: <p><a href="https://www.w3resource.com/projects/python/python-currency-converter-project.php" target="_blank">Python Project Currency Converter - Solutions and Explanations</a></p> Line No.-491: <p><a href="https://www.w3resource.com/projects/python/python-basic-web-scraper-project.php" target="_blank">Python Project - Basic Web Scraper Solutions and Explanations</a></p> Line No.-492: <strong>01 September, 2024</strong></p> Line No.-493: <p><a href="https://www.w3resource.com/projects/python/python-hello-world-project.php" target="_blank">Python Hello World Project: Solutions and Explanations</a></p> Line No.-494: <p><a href="https://www.w3resource.com/projects/python/python-simple-calculator-project.php" target="_blank">Python Simple Calculator Project with Solutions and Explanations</a></p> Line No.-495: <strong>31 August, 2024</strong></p> Line No.-496: <p><a href="https://www.w3resource.com/python/python-sqlite-databases-with-examples.php" target="_blank">Python SQLite: Basics of Working with SQLite Databases</a></p> Line No.-497: <p><a href="https://www.w3resource.com/python/python-sqlalchemy-orm-databases-with-examples.php" target="_blank">Python SQLAlchemy: Using SQLAlchemy ORM for Database Interactions</a></p> Line No.-498: <p>Update:<a href="https://www.w3resource.com/projects/python/python_beginners_projects.php" target="_blank">100 Python Projects for Beginners with solutions</a></p> Line No.-499: <strong>30 August, 2024</strong></p> Line No.-500: <p><a href="https://www.w3resource.com/python/python-testing-and-debugging-with-examples.php" target="_blank">Testing and Debugging in Python: A Comprehensive Guide</a></p> Line No.-501: <p><a href="https://www.w3resource.com/python/python-metaclasses-with-examples.php" target="_blank">Understanding Python Metaclasses: A Comprehensive Guide</a></p> Line No.-502: <p><a href="https://www.w3resource.com/python/python-memory-management-with-examples.php" target="_blank">Python Memory Management: How Python Handles Memory Efficiently</a></p> Line No.-503: <p><a href="https://www.w3resource.com/python/python-global-interpreter-lock-with-examples.php" target="_blank">Understanding Python GIL: The Global Interpreter Lock Explained</a></p> Line No.-504: <p><a href="https://www.w3resource.com/python/certificate/data-collections-lists-functions-del-instruction.php" target="_blank">PCEP Certification Practice Test: Mastering the Python del Instruction</a></p> Line No.-505: <p><a href="https://www.w3resource.com/python/certificate/data-collections-lists-iterating-through-lists-with-the-for-loop.php" target="_blank">PCEP Certification Practice Test: Iterating Through Lists with the for Loop</a></p> Line No.-506: <p><a href="https://www.w3resource.com/python/certificate/data-collections-lists-in-and-not-in-operators.php" target="_blank">PCEP Certification Practice Test: Using in and not in Operators</a></p> Line No.-507: <p><a href="https://www.w3resource.com/python/certificate/data-collections-lists-comprehensions.php" target="_blank">PCEP Certification Practice Test: List Comprehensions</a></p> Line No.-508: <p><a href="https://www.w3resource.com/python/certificate/data-collections-lists-copying-and-cloning.php" target="_blank">PCEP Certification Practice Test: Copying and Cloning</a></p> Line No.-509: <strong>29 August, 2024</strong></p> Line No.-510: <p><a href="https://www.w3resource.com/python/python-creating-decorators-with-examples.php" target="_blank">Understanding and creating Python Decorators</a></p> Line No.-511: <p><a href="https://www.w3resource.com/python/python-list-comprehension-with-examples.php" target="_blank">Python Multithreading: Working with Threads</a></p> Line No.-512: <p><a href="https://www.w3resource.com/python/python-multiprocessing-with-examples.php" target="_blank">Python Multiprocessing: A Comprehensive Guide to Parallel Execution</a></p> Line No.-513: <p><a href="https://www.w3resource.com/python/python-asynchronous-with-examples.php" target="_blank">Python Asyncio: A Comprehensive Guide to Asynchronous Programming</a></p> Line No.-514: <p><a href="https://www.w3resource.com/python/certificate/data-collections-lists-constructing-vectors.php" target="_blank">Constructing Vectors with Lists in Python Exam preparation</a></p> Line No.-515: <p><a href="https://www.w3resource.com/python/certificate/data-collections-lists-indexing-and-slicing.php" target="_blank">Indexing and Slicing Lists in Python PCEP Exam preparation</a></p> Line No.-516: <p><a href="https://www.w3resource.com/python/certificate/data-collections-lists-functions-len-sorted.php" target="_blank">Understanding and creating Python Decorators</a></p> Line No.-517: <p><a href="https://www.w3resource.com/python/certificate/data-collections-lists-the-len-function.php" target="_blank">Using the len() Function with Python Lists PCEP Exam preparation</a></p> Line No.-518: <strong>28 August, 2024</strong></p> Line No.-519: <p><a href="https://www.w3resource.com/python/certificate/control-flow-conditional-statements-nesting-loops-and-conditional-statements.php" target="_blank">Python PCEP Exam - Nested Loops and Conditional Statements</a></p> Line No.-520: <p><a href="https://www.w3resource.com/python/certificate/control-flow-conditional-statements-controlling-loop-execution-with-break-and-continue.php" target="_blank">Controlling Loop Execution in Python: Mastering Break and Continue</a></p> Line No.-521: <p><a href="https://www.w3resource.com/python/python-list-comprehension-with-examples.php" target="_blank">Python List Comprehensions: For Concise and Readable Code</a></p> Line No.-522: <p><a href="https://www.w3resource.com/python/python-dictionary-comprehension-with-examples.php" target="_blank">Python Dictionary Comprehensions: For Creating Dictionaries in a Compact Form</a></p> Line No.-523: <p><a href="https://www.w3resource.com/python/python-sets-frozensets-with-examples.php" target="_blank">Python Sets and Frozensets: Detailed Explanation and Use-Cases</a></p> Line No.-524: <p><a href="https://www.w3resource.com/python/python-namedtuples-with-examples.php" target="_blank">Python Namedtuples: To Create Lightweight Object Types</a></p> Line No.-525: <strong>27 August, 2024</strong></p> Line No.-526: <p><a href="https://www.w3resource.com/python/certificate/control-flow-conditional-statements-if-if-else-if-elif-if-elif-else.php" target="_blank">Python PCEP Exam - Control Flow if, if-else, if-elif-else</a></p> Line No.-527: <p><a href="https://www.w3resource.com/python/certificate/control-flow-conditional-statements-multiple-conditional-statements.php" target="_blank">Python PCEM Exam: Conditional Statements (If, If-Else, If-Elif-Else)</a></p> Line No.-528: <p><a href="https://www.w3resource.com/python/certificate/control-flow-conditional-statements-nesting-conditional-statements.php" target="_blank">Python PCEP Exam: Nested if, else, and elif Statements</a></p> Line No.-529: <p><a href="https://www.w3resource.com/python/certificate/control-flow-conditional-statements-pass-instruction.php" target="_blank">Mastering Python's Pass Statement: Purpose, Usage, and Examples</a></p> Line No.-530: <p><a href="https://www.w3resource.com/python/certificate/control-flow-conditional-statements-building-loops.php" target="_blank">PCEP Exam - Control Flow in Python: Mastering Conditional Statements and Loops</a></p> Line No.-531: <p><a href="https://www.w3resource.com/python/certificate/control-flow-conditional-statements-iterating-through-sequences.php" target="_blank">Python PCEP Exam - Iterating Through Sequences</a></p> Line No.-532: <p><a href="https://www.w3resource.com/python/certificate/control-flow-conditional-statements-expanding-loops-with-while-else-and-for-else.php" target="_blank">Python PCEP Exam: Loops - while-else and for-else Explained</a></p> Line No.-533: <p><a href="https://www.w3resource.com/python/python-file-reading-writing-with-examples.php" target="_blank">Python File I/O: Reading, Writing, and Managing Files</a></p> Line No.-534: <p><a href="https://www.w3resource.com/python/python-handling-csv-files-with-examples.php" target="_blank">Python CSV Files: Handling CSV files Using the 'csv' module</a></p> Line No.-535: <p><a href="https://www.w3resource.com/python/python-handling-json-files-with-examples.php" target="_blank">Python JSON: Parsing JSON Data and Converting Python Objects to JSON</a></p> Line No.-536: <strong>26 August, 2024</strong></p> Line No.-537: <p><a href="https://www.w3resource.com/python/python-exceptions-with-examples.php" target="_blank">Python Exceptions: Understanding and Handling Errors</a></p> Line No.-538: <p><a href="https://www.w3resource.com/python/python-try-except-with-examples.php" target="_blank">Understanding Python Try-Except: Examples and Use Cases</a></p> Line No.-539: <p><a href="https://www.w3resource.com/python/python-raise-exceptions-with-examples.php" target="_blank">Raising Exceptions in Python: How and When to Use Them</a></p> Line No.-540: <strong>24 August, 2024</strong></p> Line No.-541: <p><a href="https://www.w3resource.com/python/certificate/perform-input-output-console-operations-sep-and-end-keyword-parameters.php" target="_blank">Mastering Pythons sep= and end= Parameters for PCEP-30-02</a></p> Line No.-542: <p><a href="https://www.w3resource.com/python/certificate/perform-input-output-console-operations-int-and-float-functions.php" target="_blank">PCEP-30-02 Exam: Python I/O Operations - int() and float() functions</a></p> Line No.-543: <p><a href="https://www.w3resource.com/python/python-lambda-functions-with-examples.php" target="_blank">Python Lambda Functions: A Practical Guide</a></p> Line No.-544: <p><a href="https://www.w3resource.com/python/functional-programming-map-filter-reduce.php" target="_blank">Python map(), filter(), reduce(): A Comprehensive Guide</a></p> Line No.-545: <p><a href="https://www.w3resource.com/python/python-closures-with-examples.php" target="_blank">Understanding Python Closures: Concepts and Practical Examples</a></p> Line No.-546: <strong>23 August, 2024</strong></p> Line No.-547: <p><a href="https://www.w3resource.com/python/python-object-classes.php" target="_blank">Python Classes</a></p> Line No.-548: <p><a href="https://www.w3resource.com/python/how-to-use-inheritance-in-python-classes.php" target="_blank">Python Inheritance: How to use Inheritance in Classes</a></p> Line No.-549: <p><a href="https://www.w3resource.com/python/how-to-implement-and-use-polymorphism.php" target="_blank">Python Polymorphism: How to implement and use Polymorphism</a></p> Line No.-550: <p><a href="https://www.w3resource.com/python/iterators-with-examples.php" target="_blank">Python Iterators: Creating and Using Iterators</a></p> Line No.-551: <p><a href="https://www.w3resource.com/python/generators-with-examples.php" target="_blank">Python Generators: Using yield to Create Generators</a></p> Line No.-552: <p><a href="https://www.w3resource.com/python/certificate/operators-and-data-types-relational-operators.php" target="_blank">PCEP-30-02 Exam Prep: In-Depth Practice on Relational Operators in Python</a></p> Line No.-553: <p><a href="https://www.w3resource.com/python/certificate/operators-and-data-types-accuracy-of-floating-point-numbers.php" target="_blank">PCEP-30-02 Exam Prep: Understanding Floating-Point Accuracy in Python</a></p> Line No.-554: <p><a href="https://www.w3resource.com/python/certificate/operators-and-data-types-type-casting.php" target="_blank">PCEP-30-02 Exam Prep: Understanding Type Casting in Python</a></p> Line No.-555: <p><a href="https://www.w3resource.com/python/certificate/perform-input-output-console-operations-print-and-input-functions.php" target="_blank">PCEP-30-02 Exam: Mastering Python's print() and input() Functions</a></p> Line No.-556: <p><a href="https://www.w3resource.com/python/how-to-implement-and-use-encapsulation.php" target="_blank">Python Encapsulation: Using Private and Protected Members in Classes</a></p> Line No.-557: <p><a href="https://www.w3resource.com/python/python-abstract-classes-and-interfaces.php" target="_blank">Python Abstraction with examples: Abstract Classes and Interfaces</a></p> Line No.-558: <p><a href="https://www.w3resource.com/python/python-function-decorators-class-decorators.php" target="_blank">Python Decorators: Understanding Function and Class Decorators</a></p> Line No.-559: <p><a href="https://www.w3resource.com/python/certificate/certified-entry-level-python-programmer-interpreter-compiler.php" target="_blank">PCEP - Python interpreting and the interpreter, compilation and the compiler</a></p> Line No.-560: <p><a href="https://www.w3resource.com/python/certificate/certified-entry-level-python-programmer-lexis-syntax-and-semantics.php" target="_blank">Prepare for the PCEP-30-02 Exam: Lexis, Syntax, and Semantics Mastery</a></p> Line No.-561: <p><a href="https://www.w3resource.com/python/certificate/certified-entry-level-python-programmer-logic-and-structure-keywords.php" target="_blank">Python Keywords: Essential Guide for PCEP-30-02 Exam Preparation</a></p> Line No.-562: <p><a href="https://www.w3resource.com/python/certificate/certified-entry-level-python-programmer-logic-and-structure-instructions.php" target="_blank">Python Instructions: Essential Practice for PCEP-30-02 Exam</a></p> Line No.-563: <p><a href="https://www.w3resource.com/python/certificate/certified-entry-level-python-programmer-logic-and-structure-indentation.php" target="_blank">Understanding Python Indentation: PCEP Exam Practice</a></p> Line No.-564: <p><a href="https://www.w3resource.com/python/certificate/certified-entry-level-python-programmer-logic-and-structure-comments.php" target="_blank">Understanding Python Comments: Essential Practice for PCEP-30-02 Exam</a></p> Line No.-565: <strong>20 August, 2024</strong></p> Line No.-566: <p><a href="https://www.w3resource.com/python/certificate/index.php" target="_blank">Python PCEP Certification Preparation Guide</a></p> Line No.-567: <strong>3 August, 2024</strong></p> Line No.-568: <p><a href="https://www.w3resource.com/java-exercises/nested-classes/java-nested-classes.php" target="_blank">Java Nested Classes - Exercises, Practice, Solution</a></p> Line No.-569: <strong>2 August, 2024</strong></p> Line No.-570: <p><a href="https://www.w3resource.com/java-exercises/static_members/java-static-members.php" target="_blank">Java Static Members - Exercises, Practice, Solution</a></p> Line No.-571: <strong>1 August, 2024</strong></p> Line No.-572: <p><a href="https://www.w3resource.com/java-exercises/constructor/java-constructors.php" target="_blank">Java Constructor - Exercises, Practice, Solution</a></p> Line No.-573: <strong>30 July, 2024</strong></p> Line No.-574: <p>Update: <a href="https://www.w3resource.com/java-exercises/encapsulation/index.php" target="_blank">Java Encapsulation - Exercises, Practices, Solutions</a></p> Line No.-575: <strong>29 July, 2024</strong></p> Line No.-576: <p><a href="https://www.w3resource.com/python-exercises/pandas/advanced-grouping-and-aggregation/index.php" target="_blank">Pandas Advanced Grouping and Aggregation Exercises with Solutions</a></p> Line No.-577: <strong>25 July, 2024</strong></p> Line No.-578: <p><a href="https://www.w3resource.com/python-exercises/pandas/resampling-frequency-conversion/index.php" target="_blank">Pandas Resampling and Frequency Conversion Exercises with Solutions</a></p> Line No.-579: <strong>05 July, 2024</strong></p> Line No.-580: <p><a href="https://www.w3resource.com/python-exercises/pandas/pandas-advanced-indexing-and-slicing.php" target="_blank">Mastering advanced indexing and slicing in Pandas DataFrames</a></p> Line No.-581: <strong>03 July, 2024</strong></p> Line No.-582: <p><a href="https://www.w3resource.com/python-exercises/python_100_exercises_with_solutions.php" target="_blank">Mastering Python: 100 Exercises with Solutions</a></p> Line No.-583: <strong>02 July, 2024</strong></p> Line No.-584: <p><a href="https://www.w3resource.com/python-exercises/pandas/pandas_100_exercises_with_solutions.php" target="_blank">Mastering Pandas: 100 Exercises with solutions for Python data analysis</a></p> Line No.-585: <strong>01 July, 2024</strong></p> Line No.-586: <p><a href="https://www.w3resource.com/python-exercises/pandas/python-pandas-performance-optimization.php" target="_blank">Optimize Pandas Performance: Exercises, Practice, Solutions</a></p> Line No.-587: <strong>29 June, 2024</strong></p> Line No.-588: <p><a href="https://www.w3resource.com/python-exercises/numpy/python-numpy-integration-with-scipy.php" target="_blank">NumPy Integration with SciPy: Exercises, Practice and Solutions</a></p> Line No.-589: <strong>27 June, 2024</strong></p> Line No.-590: <p><a href="https://www.w3resource.com/python-exercises/numpy/python-numpy-structured-arrays.php" target="_blank">NumPy Structured Arrays: Exercises, Practice and Solutions</a></p> Line No.-591: <strong>26 June, 2024</strong></p> Line No.-592: <p><a href="https://www.w3resource.com/python-exercises/numpy/python-numpy-masked-arrays.php" target="_blank">NumPy Masked Arrays: Exercises and Solutions</a></p> Line No.-593: <strong>25 June, 2024</strong></p> Line No.-594: <p><a href="https://www.w3resource.com/python-exercises/numpy/python-numpy-universal-functions.php" target="_blank">NumPy Universal Functions : Exercises, Practice, and Solutions</a></p> Line No.-595: <strong>24 June, 2024</strong></p> Line No.-596: <p><a href="https://www.w3resource.com/python-exercises/numpy/python-numpy-advanced-indexing.php" target="_blank">NumPy Advanced Indexing: Exercises, Practice, and Solutions</a></p> Line No.-597: <strong>22 June, 2024</strong></p> Line No.-598: <p><a href="https://www.w3resource.com/python-exercises/numpy/python-numpy-io-operations.php" target="_blank">NumPy I/O Operations: Exercises, Practice, and Solutions</a></p> Line No.-599: <strong>21 June, 2024</strong></p> Line No.-600: <p><a href="https://www.w3resource.com/python-exercises/numpy/python-numpy-interoperability.php" target="_blank">NumPy Interoperability Exercises, Practice, Solutions</a></p> Line No.-601: <strong>20 June, 2024</strong></p> Line No.-602: <p><a href="https://www.w3resource.com/python-exercises/numpy/python-numpy-performance-optimization.php" target="_blank">NumPy Performance Optimization Exercises with Solutions</a></p> Line No.-603: <strong>19 June, 2024</strong></p> Line No.-604: <p><a href="https://www.w3resource.com/python-exercises/numpy/python-numpy-memory-layout.php" target="_blank">NumPy Memory Layout Exercises, Practice, Explanation, Solution</a></p> Line No.-605: <strong>18 June, 2024</strong></p> Line No.-606: <p><a href="https://www.w3resource.com/python-exercises/numpy/python-numpy-broadcasting.php" target="_blank">NumPy Broadcasting Exercises, Practice, Solution</a></p> Line No.-607: <strong>17 June, 2024</strong></p> Line No.-608: <p><a href="https://www.w3resource.com/python-exercises/numpy/index-advance.php" target="_blank">NumPy: Advanced Exercises, Practice, Solution</a></p> Line No.-609: <strong>12 June, 2024</strong></p> Line No.-610: <p><a href="https://www.w3resource.com/java-exercises/oop/java-oop-exercise-29.php" target="_blank">Create Java Classes for Pets with Dog and Bird Subclasses</a></p> Line No.-611: <p><a href="https://www.w3resource.com/java-exercises/oop/java-oop-exercise-30.php" target="_blank">Java Program for GymMembership and PremiumMembership Classes</a></p> Line No.-612: <strong>10 June, 2024</strong></p> Line No.-613: <p><a href="https://www.w3resource.com/java-exercises/oop/java-oop-exercise-27.php" target="_blank">Java Program for Managing Customer and Online Orders</a></p> Line No.-614: <p><a href="https://www.w3resource.com/java-exercises/oop/java-oop-exercise-28.php" target="_blank">Java Program for Managing Reservations with Resort and Railway Subclasses</a></p> Line No.-615: <strong>08 June, 2024</strong></p> Line No.-616: <p><a href="https://www.w3resource.com/java-exercises/oop/java-oop-exercise-25.php" target="_blank">Java Program: Building, Residential & Commercial Classes</a></p> Line No.-617: <p><a href="https://www.w3resource.com/java-exercises/oop/java-oop-exercise-26.php" target="_blank">Java Program: Event, Seminar & MusicalPerformance Classes</a></p> Line No.-618: <p>Update:<a href="https://www.w3resource.com/sql/joins/perform-a-full-outer-join.php" target="_blank">SQL Full Outer Join</a></p> Line No.-619: <strong>07 June, 2024</strong></p> Line No.-620: <p><a href="https://www.w3resource.com/java-exercises/oop/java-oop-exercise-22.php" target="_blank">Java Program to Manage Customer Purchases with Discounts</a></p> Line No.-621: <p><a href="https://www.w3resource.com/java-exercises/oop/java-oop-exercise-23.php" target="_blank">Java Program to Manage Course Details and Online Course Features</a></p> Line No.-622: <p><a href="https://www.w3resource.com/java-exercises/oop/java-oop-exercise-24.php" target="_blank">Java Program to Manage Electronics Products and Washing Machines</a></p> Line No.-623: <strong>06 June, 2024</strong></p> Line No.-624: <p><a href="https://www.w3resource.com/java-exercises/oop/java-oop-exercise-20.php" target="_blank">BankAccount and SavingsAccount Classes in Java</a></p> Line No.-625: <p><a href="https://www.w3resource.com/java-exercises/oop/java-oop-exercise-21.php" target="_blank">Vehicle, Car, and Truck Classes in Java - Display Details</a></p> Line No.-626: <strong>03 June, 2024</strong></p> Line No.-627: <p>Update: <a href="https://www.w3resource.com/python/list/list_append.php" target="_blank">Python List: append() method</a></p> Line No.-628: <p>Update: <a href="https://www.w3resource.com/python/list/list_clear.php" target="_blank">Python List: clear() Method</a></p> Line No.-629: <strong>01 June, 2024</strong></p> Line No.-630: <p><a href="https://www.w3resource.com/bash-script-exercises/regular-expressions.php" target="_blank">Bash Functions: Regular Expressions Exercises and Solutions</a></p> Line No.-631: <strong>31 May, 2024</strong></p> Line No.-632: <p><a href="https://www.w3resource.com/bash-script-exercises/interacting-with-system-commands-and-utilities.php" target="_blank">Mastering Basic Bash Commands for System Monitoring and Management</a></p> Line No.-633: <p><a href="https://www.w3resource.com/bash-script-exercises/networking-tasks.php" target="_blank">Essential Bash Networking Tasks and Exercises</a></p> Line No.-634: <strong>27 May, 2024</strong></p> Line No.-635: <p><a href="https://www.w3resource.com/bash-script-exercises/process-management.php" target="_blank">Process Management in Bash: Background Processes and Signals</a></p> Line No.-636: <p><a href="https://www.w3resource.com/bash-script-exercises/environment-variables-and-scripting.php" target="_blank">Master Bash Scripting Exercises with Environment Variables</a></p> Line No.-637: <strong>24 May, 2024</strong></p> Line No.-638: <p><a href="https://www.w3resource.com/bash-script-exercises/returning-values-from-functions.php" target="_blank">Bash Functions: Returning Values from Functions Exercises and Solutions</a></p> Line No.-639: <strong>22 May, 2024</strong></p> Line No.-640: <p><a href="https://www.w3resource.com/python-exercises/advanced/python-program-to-track-and-analyze-software-metrics.php" target="_blank">Track and Analyze Software Metrics with Python</a></p> Line No.-641: <p><a href="https://www.w3resource.com/python-exercises/advanced/python-library-for-finite-automata-and-regular-languages.php" target="_blank">Create a Python Library for Finite Automata and Regular Languages</a></p> Line No.-642: <strong>21 May, 2024</strong></p> Line No.-643: <p><a href="https://www.w3resource.com/python-exercises/advanced/build-a-real-time-data-visualization-dashboard-with-plotly-and-dash.php" target="_blank">Real-Time Data Visualization Dashboard with Plotly and Dash</a></p> Line No.-644: <p><a href="https://www.w3resource.com/python-exercises/advanced/create-a-python-library-for-polynomial-arithmetic.php" target="_blank">Python Library for Polynomial Arithmetic</a></p> Line No.-645: <p><a href="https://www.w3resource.com/python-exercises/advanced/build-a-time-series-forecasting-model-with-arima-and-pandas.php" target="_blank">Time Series Forecasting with ARIMA and Pandas</a></p> Line No.-646: <p><a href="https://www.w3resource.com/python-exercises/advanced/python-tool-for-monitoring-and-alerting-system-resource-usage.php" target="_blank">Monitor and Alert System Resource usage with Python</a></p> Line No.-647: <p><a href="https://www.w3resource.com/python-exercises/advanced/develop-a-rule-based-chatbot-using-python-and-regex.php" target="_blank">Building a Rule-Based Chatbot with Python and Regular Expressions</a></p> Line No.-648: <p><a href="https://www.w3resource.com/python-exercises/advanced/python-versioned-datasets-management-system.php" target="_blank">Versioned Datasets Management System with Python</a></p> Line No.-649: <p><a href="https://www.w3resource.com/python-exercises/advanced/python-synthetic-data-generation-tool.php" target="_blank">Synthetic Data Generation Tool in Python</a></p> Line No.-650: <strong>20 May, 2024</strong></p> Line No.-651: <p><a href="https://www.w3resource.com/python-exercises/advanced/index.php" target="_blank">Advanced Python Exercises and Solutions</a></p> Line No.-652: <strong>18 May, 2024</strong></p> Line No.-653: <p><a href="https://www.w3resource.com/data-structures-and-algorithms/array/dsa-search-in-a-rotated-sorted-array.php" target="_blank">Search in a Rotated Sorted Array: Explanation and Efficient Solutions</a></p> Line No.-654: <p><a href="https://www.w3resource.com/python-exercises/metaprogramming/index.php" target="_blank">Python Metaprogramming - Exercises, Practice, Solutions</a></p> Line No.-655: <strong>15 May, 2024</strong></p> Line No.-656: <p><a href="https://www.w3resource.com/data-structures-and-algorithms/array/dsa-merge-intervals.php" target="_blank">DSA Merge Intervals: Explanation & Solution</a></p> Line No.-657: <strong>14 May, 2024</strong></p> Line No.-658: <p><a href="https://www.w3resource.com/data-structures-and-algorithms/array/dsa-max-subarray-sum-kadane-algorithm.php" target="_blank">Maximum Subarray Sum (Kadane's Algorithm): Explanation & Solution</a></p> Line No.-659: <strong>11 May, 2024</strong></p> Line No.-660: <p><a href="https://www.w3resource.com/data-structures-and-algorithms/array/dsa-container-with-most-water.php" target="_blank">Maximizing Water Storage: Two-Pointer Technique Explained</a></p> Line No.-661: <strong>10 May, 2024</strong></p> Line No.-662: <p><a href="https://www.w3resource.com/data-structures-and-algorithms/array/dsa-trapping-rain-water.php" target="_blank">Efficient Solutions for Trapping Rain Water | Algorithmic Strategies</a></p> Line No.-663: <strong>08 May, 2024</strong></p> Line No.-664: <p><a href="https://www.w3resource.com/data-structures-and-algorithms/index.php" target="_blank">Learn Data Structures and Algorithms (DSA)</a></p> Line No.-665: <p><a href="https://www.w3resource.com/data-structures-and-algorithms/an-introduction-to-data-structures-and-algorithms.php" target="_blank">Mastering Data Structures and Algorithms</a></p> Line No.-666: <p><a href="https://www.w3resource.com/data-structures-and-algorithms/data-structures-and-algorithms-programming-fundamentals.php" target="_blank">DSA - Programming Fundamentals with Examples</a></p> Line No.-667: <p><a href="https://www.w3resource.com/data-structures-and-algorithms/data-structures-and-algorithms-problem-solving.php" target="_blank">Problem-Solving Strategies: Decomposition, Logical Thinking, and Pseudocode</a></p> Line No.-668: <p><a href="https://www.w3resource.com/data-structures-and-algorithms/data-structures-and-algorithms-math-essentials.php" target="_blank">DSA - Math Essentials for Programming</a></p> Line No.-669: <p><a href="https://www.w3resource.com/data-structures-and-algorithms/data-structures.php" target="_blank">Mastering Data Structures: A Comprehensive Guide</a></p> Line No.-670: <p><a href="https://www.w3resource.com/data-structures-and-algorithms/algorithms.php" target="_blank">Mastering Algorithms: Sorting, Searching, Graphs, Dynamic Programming, Greedy</a></p> Line No.-671: <p><a href="https://www.w3resource.com/data-structures-and-algorithms/data-structures-and-algorithms-fundamentals.php" target="_blank">DSA Fundamentals: Time Complexity, Space Complexity, Recursion</a></p> Line No.-672: <p><a href="https://www.w3resource.com/data-structures-and-algorithms/array/array-data-structure.php" target="_blank">Understanding the Array Data Structure: Characteristics & Operations</a></p> Line No.-673: <p><a href="https://www.w3resource.com/data-structures-and-algorithms/array/array-data-structure-coding-problems.php" target="_blank">Array Coding Problems: Classic & Challenging Challenges</a></p> Line No.-674: <p><a href="https://www.w3resource.com/data-structures-and-algorithms/array/dsa-find-the-missing-number.php" target="_blank">Find the Missing Number: Algorithm Explanation</a></p> Line No.-675: <strong>27 April, 2024</strong></p> Line No.-676: <p><a href="https://www.w3resource.com/bash-script-exercises/creating-and-calling-functions.php" target="_blank">Bash Functions: Exercises, Solutions & Explanations</a></p> Line No.-677: <p><a href="https://www.w3resource.com/bash-script-exercises/modularizing-scripts.php" target="_blank">Bash Script Modularization: Exercises, Solutions & Explanation</a></p> Line No.-678: <p><a href="https://www.w3resource.com/bash-script-exercises/passing-agruments-to-functions.php" target="_blank">Bash Functions: Passing Arguments Exercises, Solutions & Explanation</a></p> Line No.-679: <strong>26 April, 2024</strong></p> Line No.-680: <p><a href="https://www.w3resource.com/bash-script-exercises/logging-and-error-reporting.php" target="_blank">Bash Logging and Error Reporting Exercises, Solutions & Explanation</a></p> Line No.-681: <p><a href="https://www.w3resource.com/bash-script-exercises/logging-and-error-reporting.php" target="_blank">Bash Exit Codes: Exercises, Solutions & Explanation</a></p> Line No.-682: <strong>25 April, 2024</strong></p> Line No.-683: <p><a href="https://www.w3resource.com/bash-script-exercises/debugging-techniques.php" target="_blank">Bash Debugging Techniques: Exercises & Solutions</a></p> Line No.-684: <p><a href="https://www.w3resource.com/bash-script-exercises/sorting-and-filterting-text.php" target="_blank">Bash Text Sorting and Filtering: Exercises & Solutions</a></p> Line No.-685: <p><a href="https://www.w3resource.com/bash-script-exercises/handling-errors-and-exceptions.php" target="_blank">Bash Error Handling: Exercises, Solutions & Explanation</a></p> Line No.-686: <strong>24 April, 2024</strong></p> Line No.-687: <p><a href="https://www.w3resource.com/bash-script-exercises/text-substitution-and-manipulation.php" target="_blank">Bash Text Substitution and Manipulation Exercises, Solution, Explanation</a></p> Line No.-688: <p><a href="https://www.w3resource.com/bash-script-exercises/counting-words-lines-and-chatacters.php" target="_blank">Bash Counting Words, Lines, and Characters Exercises & Solutions</a></p> Line No.-689: </div> Line No.-690: <style type="text/css"> Line No.-691: Line No.-692: .a_link a:link{ Line No.-693: Line No.-694: color: #bc17d6; Line No.-695: Line No.-696: font-weight: bold; Line No.-697: Line No.-698: font-size: 16px; Line No.-699: Line No.-700: margin-left: 1% Line No.-701: Line No.-702: } Line No.-703: Line No.-704: .a_link a:hover{ Line No.-705: Line No.-706: color: #4e990d; Line No.-707: Line No.-708: font-weight: bold; Line No.-709: Line No.-710: font-size: 16px; Line No.-711: Line No.-712: margin-left: 1% Line No.-713: Line No.-714: } Line No.-715: Line No.-716: .a_link a:active{ Line No.-717: Line No.-718: color: #0c1796; Line No.-719: Line No.-720: font-weight: bold; Line No.-721: Line No.-722: font-size: 16px; Line No.-723: Line No.-724: margin-left: 1% Line No.-725: Line No.-726: } Line No.-727: Line No.-728: .a_link a:visited{ Line No.-729: Line No.-730: color: #032859; Line No.-731: Line No.-732: font-weight: bold; Line No.-733: Line No.-734: font-size: 16px; Line No.-735: Line No.-736: margin-left: 1% Line No.-737: Line No.-738: } Line No.-739: Line No.-740: .native-cpc a { Line No.-741: Line No.-742: font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Line No.-743: Line No.-744: Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif; Line No.-745: Line No.-746: } Line No.-747: Line No.-748: Line No.-749: Line No.-750: .default-ad { Line No.-751: Line No.-752: display: none; Line No.-753: Line No.-754: } Line No.-755: Line No.-756: Line No.-757: Line No.-758: .native-cpc a { Line No.-759: Line No.-760: text-decoration: none !important; Line No.-761: Line No.-762: } Line No.-763: Line No.-764: Line No.-765: Line No.-766: .native-cpc img { Line No.-767: Line No.-768: display: none; Line No.-769: Line No.-770: } Line No.-771: Line No.-772: Line No.-773: Line No.-774: .native-cpc ._default_ { Line No.-775: Line No.-776: display: flex; Line No.-777: Line No.-778: flex-flow: column wrap; Line No.-779: Line No.-780: max-width: 600px; Line No.-781: Line No.-782: padding: 10px; Line No.-783: Line No.-784: background: repeating-linear-gradient(-45deg, transparent, transparent 5px, hsla(0, 0%, 0%, .025) 5px, hsla(0, 0%, 0%, .025) 10px) hsla(203, 11%, 95%, .4); Line No.-785: Line No.-786: Line No.-787: Line No.-788: } Line No.-789: Line No.-790: Line No.-791: Line No.-792: .native-cpc .default-title { Line No.-793: Line No.-794: margin-right: 5px; Line No.-795: Line No.-796: font-size: 10px; Line No.-797: Line No.-798: margin-bottom: 2px; Line No.-799: Line No.-800: letter-spacing: .75px; Line No.-801: Line No.-802: text-transform: uppercase; Line No.-803: Line No.-804: } Line No.-805: Line No.-806: Line No.-807: Line No.-808: .native-cpc .default-title:before { Line No.-809: Line No.-810: content: "Sponsored by " Line No.-811: Line No.-812: } Line No.-813: Line No.-814: Line No.-815: Line No.-816: .native-cpc .default-description { Line No.-817: Line No.-818: font-size: 14px; Line No.-819: Line No.-820: line-height: 1.4; Line No.-821: Line No.-822: } Line No.-823: .widget {display: none !important;} Line No.-824: </style> Line No.-825: </div> Line No.-826: <div class="mdl-cell mdl-card mdl-shadow--2dp through mdl-shadow--6dp mdl-cell--3-col mdl-cell--hide-phone"> Line No.-827: </div> Line No.-828: </div> Line No.-829: </div> Line No.-830: <footer class="mdl-mega-footer"> Line No.-831: Line No.-832: <div class="mdl-mega-footer__bottom-section"> Line No.-833: <div class="mdl-logo"><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_US" target="_blank">This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.</a></div> Line No.-834: </div> Line No.-835: <div class="mdl-mega-footer__bottom-section"> Line No.-836: <div class="mdl-logo">©w3resource.com 2011-2024</div> Line No.-837: <ul class="mdl-mega-footer__link-list"> Line No.-838: <li><a href="https://www.w3resource.com/privacy.php">Privacy</a></li> Line No.-839: <li><a href="https://www.w3resource.com/about.php">About</a></li> Line No.-840: <li><a href="https://www.w3resource.com/contact.php">Contact</a></li> Line No.-841: <li><a href="https://www.w3resource.com/feedback.php">Feedback</a></li> Line No.-842: </ul> Line No.-843: </div> Line No.-844: </footer> Line No.-845: </main> Line No.-846: </div> Line No.-847: </div> Line No.-848: </div> Line No.-849: <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"> Line No.-850: Line No.-851: <script> Line No.-852: /** Line No.-853: * material-design-lite - Material Design Components in CSS, JS and HTML Line No.-854: * @version v1.3.0 Line No.-855: * @license Apache-2.0 Line No.-856: * @copyright 2015 Google, Inc. Line No.-857: * @link https://github.com/google/material-design-lite Line No.-858: */ Line No.-859: !function(){"use strict";function e(e,t){if(e){if(t.element_.classList.contains(t.CssClasses_.MDL_JS_RIPPLE_EFFECT)){var s=document.createElement("span");s.classList.add(t.CssClasses_.MDL_RIPPLE_CONTAINER),s.classList.add(t.CssClasses_.MDL_JS_RIPPLE_EFFECT);var i=document.createElement("span");i.classList.add(t.CssClasses_.MDL_RIPPLE),s.appendChild(i),e.appendChild(s)}e.addEventListener("click",function(s){if("#"===e.getAttribute("href").charAt(0)){s.preventDefault();var i=e.href.split("#")[1],n=t.element_.querySelector("#"+i);t.resetTabState_(),t.resetPanelState_(),e.classList.add(t.CssClasses_.ACTIVE_CLASS),n.classList.add(t.CssClasses_.ACTIVE_CLASS)}})}}function t(e,t,s,i){function n(){var n=e.href.split("#")[1],a=i.content_.querySelector("#"+n);i.resetTabState_(t),i.resetPanelState_(s),e.classList.add(i.CssClasses_.IS_ACTIVE),a.classList.add(i.CssClasses_.IS_ACTIVE)}if(i.tabBar_.classList.contains(i.CssClasses_.JS_RIPPLE_EFFECT)){var a=document.createElement("span");a.classList.add(i.CssClasses_.RIPPLE_CONTAINER),a.classList.add(i.CssClasses_.JS_RIPPLE_EFFECT);var l=document.createElement("span");l.classList.add(i.CssClasses_.RIPPLE),a.appendChild(l),e.appendChild(a)}i.tabBar_.classList.contains(i.CssClasses_.TAB_MANUAL_SWITCH)||e.addEventListener("click",function(t){"#"===e.getAttribute("href").charAt(0)&&(t.preventDefault(),n())}),e.show=n}var s={upgradeDom:function(e,t){},upgradeElement:function(e,t){},upgradeElements:function(e){},upgradeAllRegistered:function(){},registerUpgradedCallback:function(e,t){},register:function(e){},downgradeElements:function(e){}};s=function(){function e(e,t){for(var s=0;s<c.length;s++)if(c[s].className===e)return"undefined"!=typeof t&&(c[s]=t),c[s];return!1}function t(e){var t=e.getAttribute("data-upgraded");return null===t?[""]:t.split(",")}function s(e,s){var i=t(e);return i.indexOf(s)!==-1}function i(e,t,s){if("CustomEvent"in window&&"function"==typeof window.CustomEvent)return new CustomEvent(e,{bubbles:t,cancelable:s});var i=document.createEvent("Events");return i.initEvent(e,t,s),i}function n(t,s){if("undefined"==typeof t&&"undefined"==typeof s)for(var i=0;i<c.length;i++)n(c[i].className,c[i].cssClass);else{var l=t;if("undefined"==typeof s){var o=e(l);o&&(s=o.cssClass)}for(var r=document.querySelectorAll("."+s),_=0;_<r.length;_++)a(r[_],l)}}function a(n,a){if(!("object"==typeof n&&n instanceof Element))throw new Error("Invalid argument provided to upgrade MDL element.");var l=i("mdl-componentupgrading",!0,!0);if(n.dispatchEvent(l),!l.defaultPrevented){var o=t(n),r=[];if(a)s(n,a)||r.push(e(a));else{var _=n.classList;c.forEach(function(e){_.contains(e.cssClass)&&r.indexOf(e)===-1&&!s(n,e.className)&&r.push(e)})}for(var d,h=0,u=r.length;h<u;h++){if(d=r[h],!d)throw new Error("Unable to find a registered component for the given class.");o.push(d.className),n.setAttribute("data-upgraded",o.join(","));var E=new d.classConstructor(n);E[C]=d,p.push(E);for(var m=0,L=d.callbacks.length;m<L;m++)d.callbacks[m](n);d.widget&&(n[d.className]=E);var I=i("mdl-componentupgraded",!0,!1);n.dispatchEvent(I)}}}function l(e){Array.isArray(e)||(e=e instanceof Element?[e]:Array.prototype.slice.call(e));for(var t,s=0,i=e.length;s<i;s++)t=e[s],t instanceof HTMLElement&&(a(t),t.children.length>0&&l(t.children))}function o(t){var s="undefined"==typeof t.widget&&"undefined"==typeof t.widget,i=!0;s||(i=t.widget||t.widget);var n={classConstructor:t.constructor||t.constructor,className:t.classAsString||t.classAsString,cssClass:t.cssClass||t.cssClass,widget:i,callbacks:[]};if(c.forEach(function(e){if(e.cssClass===n.cssClass)throw new Error("The provided cssClass has already been registered: "+e.cssClass);if(e.className===n.className)throw new Error("The provided className has already been registered")}),t.constructor.prototype.hasOwnProperty(C))throw new Error("MDL component classes must not have "+C+" defined as a property.");var a=e(t.classAsString,n);a||c.push(n)}function r(t,s){var i=e(t);i&&i.callbacks.push(s)}function _(){for(var e=0;e<c.length;e++)n(c[e].className)}function d(e){if(e){var t=p.indexOf(e);p.splice(t,1);var s=e.element_.getAttribute("data-upgraded").split(","),n=s.indexOf(e[C].classAsString);s.splice(n,1),e.element_.setAttribute("data-upgraded",s.join(","));var a=i("mdl-componentdowngraded",!0,!1);e.element_.dispatchEvent(a)}}function h(e){var t=function(e){p.filter(function(t){return t.element_===e}).forEach(d)};if(e instanceof Array||e instanceof NodeList)for(var s=0;s<e.length;s++)t(e[s]);else{if(!(e instanceof Node))throw new Error("Invalid argument provided to downgrade MDL nodes.");t(e)}}var c=[],p=[],C="mdlComponentConfigInternal_";return{upgradeDom:n,upgradeElement:a,upgradeElements:l,upgradeAllRegistered:_,registerUpgradedCallback:r,register:o,downgradeElements:h}}(),s.ComponentConfigPublic,s.ComponentConfig,s.Component,s.upgradeDom=s.upgradeDom,s.upgradeElement=s.upgradeElement,s.upgradeElements=s.upgradeElements,s.upgradeAllRegistered=s.upgradeAllRegistered,s.registerUpgradedCallback=s.registerUpgradedCallback,s.register=s.register,s.downgradeElements=s.downgradeElements,window.componentHandler=s,window.componentHandler=s,window.addEventListener("load",function(){"classList"in document.createElement("div")&&"querySelector"in document&&"addEventListener"in window&&Array.prototype.forEach?(document.documentElement.classList.add("mdl-js"),s.upgradeAllRegistered()):(s.upgradeElement=function(){},s.register=function(){})}),Date.now||(Date.now=function(){return(new Date).getTime()},Date.now=Date.now);for(var i=["webkit","moz"],n=0;n<i.length&&!window.requestAnimationFrame;++n){var a=i[n];window.requestAnimationFrame=window[a+"RequestAnimationFrame"],window.cancelAnimationFrame=window[a+"CancelAnimationFrame"]||window[a+"CancelRequestAnimationFrame"],window.requestAnimationFrame=window.requestAnimationFrame,window.cancelAnimationFrame=window.cancelAnimationFrame}if(/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)||!window.requestAnimationFrame||!window.cancelAnimationFrame){var l=0;window.requestAnimationFrame=function(e){var t=Date.now(),s=Math.max(l+16,t);return setTimeout(function(){e(l=s)},s-t)},window.cancelAnimationFrame=clearTimeout,window.requestAnimationFrame=window.requestAnimationFrame,window.cancelAnimationFrame=window.cancelAnimationFrame}var o=function(e){this.element_=e,this.init()};window.MaterialButton=o,o.prototype.Constant_={},o.prototype.CssClasses_={RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_CONTAINER:"mdl-button__ripple-container",RIPPLE:"mdl-ripple"},o.prototype.blurHandler_=function(e){e&&this.element_.blur()},o.prototype.disable=function(){this.element_.disabled=!0},o.prototype.disable=o.prototype.disable,o.prototype.enable=function(){this.element_.disabled=!1},o.prototype.enable=o.prototype.enable,o.prototype.init=function(){if(this.element_){if(this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT)){var e=document.createElement("span");e.classList.add(this.CssClasses_.RIPPLE_CONTAINER),this.rippleElement_=document.createElement("span"),this.rippleElement_.classList.add(this.CssClasses_.RIPPLE),e.appendChild(this.rippleElement_),this.boundRippleBlurHandler=this.blurHandler_.bind(this),this.rippleElement_.addEventListener("mouseup",this.boundRippleBlurHandler),this.element_.appendChild(e)}this.boundButtonBlurHandler=this.blurHandler_.bind(this),this.element_.addEventListener("mouseup",this.boundButtonBlurHandler),this.element_.addEventListener("mouseleave",this.boundButtonBlurHandler)}},s.register({constructor:o,classAsString:"MaterialButton",cssClass:"mdl-js-button",widget:!0});var r=function(e){this.element_=e,this.init()};window.MaterialCheckbox=r,r.prototype.Constant_={TINY_TIMEOUT:.001},r.prototype.CssClasses_={INPUT:"mdl-checkbox__input",BOX_OUTLINE:"mdl-checkbox__box-outline",FOCUS_HELPER:"mdl-checkbox__focus-helper",TICK_OUTLINE:"mdl-checkbox__tick-outline",RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",RIPPLE_CONTAINER:"mdl-checkbox__ripple-container",RIPPLE_CENTER:"mdl-ripple--center",RIPPLE:"mdl-ripple",IS_FOCUSED:"is-focused",IS_DISABLED:"is-disabled",IS_CHECKED:"is-checked",IS_UPGRADED:"is-upgraded"},r.prototype.onChange_=function(e){this.updateClasses_()},r.prototype.onFocus_=function(e){this.element_.classList.add(this.CssClasses_.IS_FOCUSED)},r.prototype.onBlur_=function(e){this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},r.prototype.onMouseUp_=function(e){this.blur_()},r.prototype.updateClasses_=function(){this.checkDisabled(),this.checkToggleState()},r.prototype.blur_=function(){window.setTimeout(function(){this.inputElement_.blur()}.bind(this),this.Constant_.TINY_TIMEOUT)},r.prototype.checkToggleState=function(){this.inputElement_.checked?this.element_.classList.add(this.CssClasses_.IS_CHECKED):this.element_.classList.remove(this.CssClasses_.IS_CHECKED)},r.prototype.checkToggleState=r.prototype.checkToggleState,r.prototype.checkDisabled=function(){this.inputElement_.disabled?this.element_.classList.add(this.CssClasses_.IS_DISABLED):this.element_.classList.remove(this.CssClasses_.IS_DISABLED)},r.prototype.checkDisabled=r.prototype.checkDisabled,r.prototype.disable=function(){this.inputElement_.disabled=!0,this.updateClasses_()},r.prototype.disable=r.prototype.disable,r.prototype.enable=function(){this.inputElement_.disabled=!1,this.updateClasses_()},r.prototype.enable=r.prototype.enable,r.prototype.check=function(){this.inputElement_.checked=!0,this.updateClasses_()},r.prototype.check=r.prototype.check,r.prototype.uncheck=function(){this.inputElement_.checked=!1,this.updateClasses_()},r.prototype.uncheck=r.prototype.uncheck,r.prototype.init=function(){if(this.element_){this.inputElement_=this.element_.querySelector("."+this.CssClasses_.INPUT);var e=document.createElement("span");e.classList.add(this.CssClasses_.BOX_OUTLINE);var t=document.createElement("span");t.classList.add(this.CssClasses_.FOCUS_HELPER);var s=document.createElement("span");if(s.classList.add(this.CssClasses_.TICK_OUTLINE),e.appendChild(s),this.element_.appendChild(t),this.element_.appendChild(e),this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT)){this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS),this.rippleContainerElement_=document.createElement("span"),this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_CONTAINER),this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_EFFECT),this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_CENTER),this.boundRippleMouseUp=this.onMouseUp_.bind(this),this.rippleContainerElement_.addEventListener("mouseup",this.boundRippleMouseUp);var i=document.createElement("span");i.classList.add(this.CssClasses_.RIPPLE),this.rippleContainerElement_.appendChild(i),this.element_.appendChild(this.rippleContainerElement_)}this.boundInputOnChange=this.onChange_.bind(this),this.boundInputOnFocus=this.onFocus_.bind(this),this.boundInputOnBlur=this.onBlur_.bind(this),this.boundElementMouseUp=this.onMouseUp_.bind(this),this.inputElement_.addEventListener("change",this.boundInputOnChange),this.inputElement_.addEventListener("focus",this.boundInputOnFocus),this.inputElement_.addEventListener("blur",this.boundInputOnBlur),this.element_.addEventListener("mouseup",this.boundElementMouseUp),this.updateClasses_(),this.element_.classList.add(this.CssClasses_.IS_UPGRADED)}},s.register({constructor:r,classAsString:"MaterialCheckbox",cssClass:"mdl-js-checkbox",widget:!0});var _=function(e){this.element_=e,this.init()};window.MaterialIconToggle=_,_.prototype.Constant_={TINY_TIMEOUT:.001},_.prototype.CssClasses_={INPUT:"mdl-icon-toggle__input",JS_RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",RIPPLE_CONTAINER:"mdl-icon-toggle__ripple-container",RIPPLE_CENTER:"mdl-ripple--center",RIPPLE:"mdl-ripple",IS_FOCUSED:"is-focused",IS_DISABLED:"is-disabled",IS_CHECKED:"is-checked"},_.prototype.onChange_=function(e){this.updateClasses_()},_.prototype.onFocus_=function(e){this.element_.classList.add(this.CssClasses_.IS_FOCUSED)},_.prototype.onBlur_=function(e){this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},_.prototype.onMouseUp_=function(e){this.blur_()},_.prototype.updateClasses_=function(){this.checkDisabled(),this.checkToggleState()},_.prototype.blur_=function(){window.setTimeout(function(){this.inputElement_.blur()}.bind(this),this.Constant_.TINY_TIMEOUT)},_.prototype.checkToggleState=function(){this.inputElement_.checked?this.element_.classList.add(this.CssClasses_.IS_CHECKED):this.element_.classList.remove(this.CssClasses_.IS_CHECKED)},_.prototype.checkToggleState=_.prototype.checkToggleState,_.prototype.checkDisabled=function(){this.inputElement_.disabled?this.element_.classList.add(this.CssClasses_.IS_DISABLED):this.element_.classList.remove(this.CssClasses_.IS_DISABLED)},_.prototype.checkDisabled=_.prototype.checkDisabled,_.prototype.disable=function(){this.inputElement_.disabled=!0,this.updateClasses_()},_.prototype.disable=_.prototype.disable,_.prototype.enable=function(){this.inputElement_.disabled=!1,this.updateClasses_()},_.prototype.enable=_.prototype.enable,_.prototype.check=function(){this.inputElement_.checked=!0,this.updateClasses_()},_.prototype.check=_.prototype.check,_.prototype.uncheck=function(){this.inputElement_.checked=!1,this.updateClasses_()},_.prototype.uncheck=_.prototype.uncheck,_.prototype.init=function(){if(this.element_){if(this.inputElement_=this.element_.querySelector("."+this.CssClasses_.INPUT),this.element_.classList.contains(this.CssClasses_.JS_RIPPLE_EFFECT)){this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS),this.rippleContainerElement_=document.createElement("span"),this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_CONTAINER),this.rippleContainerElement_.classList.add(this.CssClasses_.JS_RIPPLE_EFFECT),this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_CENTER),this.boundRippleMouseUp=this.onMouseUp_.bind(this),this.rippleContainerElement_.addEventListener("mouseup",this.boundRippleMouseUp);var e=document.createElement("span");e.classList.add(this.CssClasses_.RIPPLE),this.rippleContainerElement_.appendChild(e),this.element_.appendChild(this.rippleContainerElement_)}this.boundInputOnChange=this.onChange_.bind(this),this.boundInputOnFocus=this.onFocus_.bind(this),this.boundInputOnBlur=this.onBlur_.bind(this),this.boundElementOnMouseUp=this.onMouseUp_.bind(this),this.inputElement_.addEventListener("change",this.boundInputOnChange),this.inputElement_.addEventListener("focus",this.boundInputOnFocus),this.inputElement_.addEventListener("blur",this.boundInputOnBlur),this.element_.addEventListener("mouseup",this.boundElementOnMouseUp),this.updateClasses_(),this.element_.classList.add("is-upgraded")}},s.register({constructor:_,classAsString:"MaterialIconToggle",cssClass:"mdl-js-icon-toggle",widget:!0});var d=function(e){this.element_=e,this.init()};window.MaterialMenu=d,d.prototype.Constant_={TRANSITION_DURATION_SECONDS:.3,TRANSITION_DURATION_FRACTION:.8,CLOSE_TIMEOUT:150},d.prototype.Keycodes_={ENTER:13,ESCAPE:27,SPACE:32,UP_ARROW:38,DOWN_ARROW:40},d.prototype.CssClasses_={CONTAINER:"mdl-menu__container",OUTLINE:"mdl-menu__outline",ITEM:"mdl-menu__item",ITEM_RIPPLE_CONTAINER:"mdl-menu__item-ripple-container",RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",RIPPLE:"mdl-ripple",IS_UPGRADED:"is-upgraded",IS_VISIBLE:"is-visible",IS_ANIMATING:"is-animating",BOTTOM_LEFT:"mdl-menu--bottom-left",BOTTOM_RIGHT:"mdl-menu--bottom-right",TOP_LEFT:"mdl-menu--top-left",TOP_RIGHT:"mdl-menu--top-right",UNALIGNED:"mdl-menu--unaligned"},d.prototype.init=function(){if(this.element_){var e=document.createElement("div");e.classList.add(this.CssClasses_.CONTAINER),this.element_.parentElement.insertBefore(e,this.element_),this.element_.parentElement.removeChild(this.element_),e.appendChild(this.element_),this.container_=e;var t=document.createElement("div");t.classList.add(this.CssClasses_.OUTLINE),this.outline_=t,e.insertBefore(t,this.element_);var s=this.element_.getAttribute("for")||this.element_.getAttribute("data-mdl-for"),i=null;s&&(i=document.getElementById(s),i&&(this.forElement_=i,i.addEventListener("click",this.handleForClick_.bind(this)),i.addEventListener("keydown",this.handleForKeyboardEvent_.bind(this))));var n=this.element_.querySelectorAll("."+this.CssClasses_.ITEM);this.boundItemKeydown_=this.handleItemKeyboardEvent_.bind(this),this.boundItemClick_=this.handleItemClick_.bind(this);for(var a=0;a<n.length;a++)n[a].addEventListener("click",this.boundItemClick_),n[a].tabIndex="-1",n[a].addEventListener("keydown",this.boundItemKeydown_);if(this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT))for(this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS),a=0;a<n.length;a++){var l=n[a],o=document.createElement("span");o.classList.add(this.CssClasses_.ITEM_RIPPLE_CONTAINER);var r=document.createElement("span");r.classList.add(this.CssClasses_.RIPPLE),o.appendChild(r),l.appendChild(o),l.classList.add(this.CssClasses_.RIPPLE_EFFECT)}this.element_.classList.contains(this.CssClasses_.BOTTOM_LEFT)&&this.outline_.classList.add(this.CssClasses_.BOTTOM_LEFT),this.element_.classList.contains(this.CssClasses_.BOTTOM_RIGHT)&&this.outline_.classList.add(this.CssClasses_.BOTTOM_RIGHT),this.element_.classList.contains(this.CssClasses_.TOP_LEFT)&&this.outline_.classList.add(this.CssClasses_.TOP_LEFT),this.element_.classList.contains(this.CssClasses_.TOP_RIGHT)&&this.outline_.classList.add(this.CssClasses_.TOP_RIGHT),this.element_.classList.contains(this.CssClasses_.UNALIGNED)&&this.outline_.classList.add(this.CssClasses_.UNALIGNED),e.classList.add(this.CssClasses_.IS_UPGRADED)}},d.prototype.handleForClick_=function(e){if(this.element_&&this.forElement_){var t=this.forElement_.getBoundingClientRect(),s=this.forElement_.parentElement.getBoundingClientRect();this.element_.classList.contains(this.CssClasses_.UNALIGNED)||(this.element_.classList.contains(this.CssClasses_.BOTTOM_RIGHT)?(this.container_.style.right=s.right-t.right+"px",this.container_.style.top=this.forElement_.offsetTop+this.forElement_.offsetHeight+"px"):this.element_.classList.contains(this.CssClasses_.TOP_LEFT)?(this.container_.style.left=this.forElement_.offsetLeft+"px",this.container_.style.bottom=s.bottom-t.top+"px"):this.element_.classList.contains(this.CssClasses_.TOP_RIGHT)?(this.container_.style.right=s.right-t.right+"px",this.container_.style.bottom=s.bottom-t.top+"px"):(this.container_.style.left=this.forElement_.offsetLeft+"px",this.container_.style.top=this.forElement_.offsetTop+this.forElement_.offsetHeight+"px"))}this.toggle(e)},d.prototype.handleForKeyboardEvent_=function(e){if(this.element_&&this.container_&&this.forElement_){var t=this.element_.querySelectorAll("."+this.CssClasses_.ITEM+":not([disabled])");t&&t.length>0&&this.container_.classList.contains(this.CssClasses_.IS_VISIBLE)&&(e.keyCode===this.Keycodes_.UP_ARROW?(e.preventDefault(),t[t.length-1].focus()):e.keyCode===this.Keycodes_.DOWN_ARROW&&(e.preventDefault(),t[0].focus()))}},d.prototype.handleItemKeyboardEvent_=function(e){if(this.element_&&this.container_){var t=this.element_.querySelectorAll("."+this.CssClasses_.ITEM+":not([disabled])");if(t&&t.length>0&&this.container_.classList.contains(this.CssClasses_.IS_VISIBLE)){var s=Array.prototype.slice.call(t).indexOf(e.target);if(e.keyCode===this.Keycodes_.UP_ARROW)e.preventDefault(),s>0?t[s-1].focus():t[t.length-1].focus();else if(e.keyCode===this.Keycodes_.DOWN_ARROW)e.preventDefault(),t.length>s+1?t[s+1].focus():t[0].focus();else if(e.keyCode===this.Keycodes_.SPACE||e.keyCode===this.Keycodes_.ENTER){e.preventDefault();var i=new MouseEvent("mousedown");e.target.dispatchEvent(i),i=new MouseEvent("mouseup"),e.target.dispatchEvent(i),e.target.click()}else e.keyCode===this.Keycodes_.ESCAPE&&(e.preventDefault(),this.hide())}}},d.prototype.handleItemClick_=function(e){e.target.hasAttribute("disabled")?e.stopPropagation():(this.closing_=!0,window.setTimeout(function(e){this.hide(),this.closing_=!1}.bind(this),this.Constant_.CLOSE_TIMEOUT))},d.prototype.applyClip_=function(e,t){this.element_.classList.contains(this.CssClasses_.UNALIGNED)?this.element_.style.clip="":this.element_.classList.contains(this.CssClasses_.BOTTOM_RIGHT)?this.element_.style.clip="rect(0 "+t+"px 0 "+t+"px)":this.element_.classList.contains(this.CssClasses_.TOP_LEFT)?this.element_.style.clip="rect("+e+"px 0 "+e+"px 0)":this.element_.classList.contains(this.CssClasses_.TOP_RIGHT)?this.element_.style.clip="rect("+e+"px "+t+"px "+e+"px "+t+"px)":this.element_.style.clip=""},d.prototype.removeAnimationEndListener_=function(e){e.target.classList.remove(d.prototype.CssClasses_.IS_ANIMATING)},d.prototype.addAnimationEndListener_=function(){this.element_.addEventListener("transitionend",this.removeAnimationEndListener_),this.element_.addEventListener("webkitTransitionEnd",this.removeAnimationEndListener_)},d.prototype.show=function(e){if(this.element_&&this.container_&&this.outline_){var t=this.element_.getBoundingClientRect().height,s=this.element_.getBoundingClientRect().width;this.container_.style.width=s+"px",this.container_.style.height=t+"px",this.outline_.style.width=s+"px",this.outline_.style.height=t+"px";for(var i=this.Constant_.TRANSITION_DURATION_SECONDS*this.Constant_.TRANSITION_DURATION_FRACTION,n=this.element_.querySelectorAll("."+this.CssClasses_.ITEM),a=0;a<n.length;a++){var l=null;l=this.element_.classList.contains(this.CssClasses_.TOP_LEFT)||this.element_.classList.contains(this.CssClasses_.TOP_RIGHT)?(t-n[a].offsetTop-n[a].offsetHeight)/t*i+"s":n[a].offsetTop/t*i+"s",n[a].style.transitionDelay=l}this.applyClip_(t,s),window.requestAnimationFrame(function(){this.element_.classList.add(this.CssClasses_.IS_ANIMATING),this.element_.style.clip="rect(0 "+s+"px "+t+"px 0)",this.container_.classList.add(this.CssClasses_.IS_VISIBLE)}.bind(this)),this.addAnimationEndListener_();var o=function(t){t===e||this.closing_||t.target.parentNode===this.element_||(document.removeEventListener("click",o),this.hide())}.bind(this);document.addEventListener("click",o)}},d.prototype.show=d.prototype.show,d.prototype.hide=function(){if(this.element_&&this.container_&&this.outline_){for(var e=this.element_.querySelectorAll("."+this.CssClasses_.ITEM),t=0;t<e.length;t++)e[t].style.removeProperty("transition-delay");var s=this.element_.getBoundingClientRect(),i=s.height,n=s.width;this.element_.classList.add(this.CssClasses_.IS_ANIMATING),this.applyClip_(i,n),this.container_.classList.remove(this.CssClasses_.IS_VISIBLE),this.addAnimationEndListener_()}},d.prototype.hide=d.prototype.hide,d.prototype.toggle=function(e){this.container_.classList.contains(this.CssClasses_.IS_VISIBLE)?this.hide():this.show(e)},d.prototype.toggle=d.prototype.toggle,s.register({constructor:d,classAsString:"MaterialMenu",cssClass:"mdl-js-menu",widget:!0});var h=function(e){this.element_=e,this.init()};window.MaterialProgress=h,h.prototype.Constant_={},h.prototype.CssClasses_={INDETERMINATE_CLASS:"mdl-progress__indeterminate"},h.prototype.setProgress=function(e){this.element_.classList.contains(this.CssClasses_.INDETERMINATE_CLASS)||(this.progressbar_.style.width=e+"%")},h.prototype.setProgress=h.prototype.setProgress,h.prototype.setBuffer=function(e){this.bufferbar_.style.width=e+"%",this.auxbar_.style.width=100-e+"%"},h.prototype.setBuffer=h.prototype.setBuffer,h.prototype.init=function(){if(this.element_){var e=document.createElement("div");e.className="progressbar bar bar1",this.element_.appendChild(e),this.progressbar_=e,e=document.createElement("div"),e.className="bufferbar bar bar2",this.element_.appendChild(e),this.bufferbar_=e,e=document.createElement("div"),e.className="auxbar bar bar3",this.element_.appendChild(e),this.auxbar_=e,this.progressbar_.style.width="0%",this.bufferbar_.style.width="100%",this.auxbar_.style.width="0%",this.element_.classList.add("is-upgraded")}},s.register({constructor:h,classAsString:"MaterialProgress",cssClass:"mdl-js-progress",widget:!0});var c=function(e){this.element_=e,this.init()};window.MaterialRadio=c,c.prototype.Constant_={TINY_TIMEOUT:.001},c.prototype.CssClasses_={IS_FOCUSED:"is-focused",IS_DISABLED:"is-disabled",IS_CHECKED:"is-checked",IS_UPGRADED:"is-upgraded",JS_RADIO:"mdl-js-radio",RADIO_BTN:"mdl-radio__button",RADIO_OUTER_CIRCLE:"mdl-radio__outer-circle",RADIO_INNER_CIRCLE:"mdl-radio__inner-circle",RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",RIPPLE_CONTAINER:"mdl-radio__ripple-container",RIPPLE_CENTER:"mdl-ripple--center",RIPPLE:"mdl-ripple"},c.prototype.onChange_=function(e){for(var t=document.getElementsByClassName(this.CssClasses_.JS_RADIO),s=0;s<t.length;s++){var i=t[s].querySelector("."+this.CssClasses_.RADIO_BTN);i.getAttribute("name")===this.btnElement_.getAttribute("name")&&"undefined"!=typeof t[s].MaterialRadio&&t[s].MaterialRadio.updateClasses_()}},c.prototype.onFocus_=function(e){this.element_.classList.add(this.CssClasses_.IS_FOCUSED)},c.prototype.onBlur_=function(e){this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},c.prototype.onMouseup_=function(e){this.blur_()},c.prototype.updateClasses_=function(){this.checkDisabled(),this.checkToggleState()},c.prototype.blur_=function(){window.setTimeout(function(){this.btnElement_.blur()}.bind(this),this.Constant_.TINY_TIMEOUT)},c.prototype.checkDisabled=function(){this.btnElement_.disabled?this.element_.classList.add(this.CssClasses_.IS_DISABLED):this.element_.classList.remove(this.CssClasses_.IS_DISABLED)},c.prototype.checkDisabled=c.prototype.checkDisabled,c.prototype.checkToggleState=function(){this.btnElement_.checked?this.element_.classList.add(this.CssClasses_.IS_CHECKED):this.element_.classList.remove(this.CssClasses_.IS_CHECKED)},c.prototype.checkToggleState=c.prototype.checkToggleState,c.prototype.disable=function(){this.btnElement_.disabled=!0,this.updateClasses_()},c.prototype.disable=c.prototype.disable,c.prototype.enable=function(){this.btnElement_.disabled=!1,this.updateClasses_()},c.prototype.enable=c.prototype.enable,c.prototype.check=function(){this.btnElement_.checked=!0,this.onChange_(null)},c.prototype.check=c.prototype.check,c.prototype.uncheck=function(){this.btnElement_.checked=!1,this.onChange_(null)},c.prototype.uncheck=c.prototype.uncheck,c.prototype.init=function(){if(this.element_){this.btnElement_=this.element_.querySelector("."+this.CssClasses_.RADIO_BTN),this.boundChangeHandler_=this.onChange_.bind(this),this.boundFocusHandler_=this.onChange_.bind(this),this.boundBlurHandler_=this.onBlur_.bind(this),this.boundMouseUpHandler_=this.onMouseup_.bind(this);var e=document.createElement("span");e.classList.add(this.CssClasses_.RADIO_OUTER_CIRCLE);var t=document.createElement("span");t.classList.add(this.CssClasses_.RADIO_INNER_CIRCLE),this.element_.appendChild(e),this.element_.appendChild(t);var s;if(this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT)){this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS),s=document.createElement("span"),s.classList.add(this.CssClasses_.RIPPLE_CONTAINER),s.classList.add(this.CssClasses_.RIPPLE_EFFECT),s.classList.add(this.CssClasses_.RIPPLE_CENTER),s.addEventListener("mouseup",this.boundMouseUpHandler_);var i=document.createElement("span");i.classList.add(this.CssClasses_.RIPPLE),s.appendChild(i),this.element_.appendChild(s)}this.btnElement_.addEventListener("change",this.boundChangeHandler_),this.btnElement_.addEventListener("focus",this.boundFocusHandler_),this.btnElement_.addEventListener("blur",this.boundBlurHandler_),this.element_.addEventListener("mouseup",this.boundMouseUpHandler_),this.updateClasses_(),this.element_.classList.add(this.CssClasses_.IS_UPGRADED)}},s.register({constructor:c,classAsString:"MaterialRadio",cssClass:"mdl-js-radio",widget:!0});var p=function(e){this.element_=e,this.isIE_=window.navigator.msPointerEnabled,this.init()};window.MaterialSlider=p,p.prototype.Constant_={},p.prototype.CssClasses_={IE_CONTAINER:"mdl-slider__ie-container",SLIDER_CONTAINER:"mdl-slider__container",BACKGROUND_FLEX:"mdl-slider__background-flex",BACKGROUND_LOWER:"mdl-slider__background-lower",BACKGROUND_UPPER:"mdl-slider__background-upper",IS_LOWEST_VALUE:"is-lowest-value",IS_UPGRADED:"is-upgraded"},p.prototype.onInput_=function(e){this.updateValueStyles_()},p.prototype.onChange_=function(e){this.updateValueStyles_()},p.prototype.onMouseUp_=function(e){e.target.blur()},p.prototype.onContainerMouseDown_=function(e){if(e.target===this.element_.parentElement){e.preventDefault();var t=new MouseEvent("mousedown",{target:e.target,buttons:e.buttons,clientX:e.clientX,clientY:this.element_.getBoundingClientRect().y});this.element_.dispatchEvent(t)}},p.prototype.updateValueStyles_=function(){var e=(this.element_.value-this.element_.min)/(this.element_.max-this.element_.min);0===e?this.element_.classList.add(this.CssClasses_.IS_LOWEST_VALUE):this.element_.classList.remove(this.CssClasses_.IS_LOWEST_VALUE),this.isIE_||(this.backgroundLower_.style.flex=e,this.backgroundLower_.style.webkitFlex=e,this.backgroundUpper_.style.flex=1-e,this.backgroundUpper_.style.webkitFlex=1-e)},p.prototype.disable=function(){this.element_.disabled=!0},p.prototype.disable=p.prototype.disable,p.prototype.enable=function(){this.element_.disabled=!1},p.prototype.enable=p.prototype.enable,p.prototype.change=function(e){"undefined"!=typeof e&&(this.element_.value=e),this.updateValueStyles_()},p.prototype.change=p.prototype.change,p.prototype.init=function(){if(this.element_){if(this.isIE_){var e=document.createElement("div");e.classList.add(this.CssClasses_.IE_CONTAINER),this.element_.parentElement.insertBefore(e,this.element_),this.element_.parentElement.removeChild(this.element_),e.appendChild(this.element_)}else{var t=document.createElement("div");t.classList.add(this.CssClasses_.SLIDER_CONTAINER),this.element_.parentElement.insertBefore(t,this.element_),this.element_.parentElement.removeChild(this.element_),t.appendChild(this.element_);var s=document.createElement("div");s.classList.add(this.CssClasses_.BACKGROUND_FLEX),t.appendChild(s),this.backgroundLower_=document.createElement("div"),this.backgroundLower_.classList.add(this.CssClasses_.BACKGROUND_LOWER),s.appendChild(this.backgroundLower_),this.backgroundUpper_=document.createElement("div"),this.backgroundUpper_.classList.add(this.CssClasses_.BACKGROUND_UPPER),s.appendChild(this.backgroundUpper_)}this.boundInputHandler=this.onInput_.bind(this),this.boundChangeHandler=this.onChange_.bind(this),this.boundMouseUpHandler=this.onMouseUp_.bind(this),this.boundContainerMouseDownHandler=this.onContainerMouseDown_.bind(this),this.element_.addEventListener("input",this.boundInputHandler),this.element_.addEventListener("change",this.boundChangeHandler),this.element_.addEventListener("mouseup",this.boundMouseUpHandler),this.element_.parentElement.addEventListener("mousedown",this.boundContainerMouseDownHandler),this.updateValueStyles_(),this.element_.classList.add(this.CssClasses_.IS_UPGRADED)}},s.register({constructor:p,classAsString:"MaterialSlider",cssClass:"mdl-js-slider",widget:!0});var C=function(e){if(this.element_=e,this.textElement_=this.element_.querySelector("."+this.cssClasses_.MESSAGE),this.actionElement_=this.element_.querySelector("."+this.cssClasses_.ACTION),!this.textElement_)throw new Error("There must be a message element for a snackbar.");if(!this.actionElement_)throw new Error("There must be an action element for a snackbar.");this.active=!1,this.actionHandler_=void 0,this.message_=void 0,this.actionText_=void 0,this.queuedNotifications_=[],this.setActionHidden_(!0)};window.MaterialSnackbar=C,C.prototype.Constant_={ANIMATION_LENGTH:250},C.prototype.cssClasses_={SNACKBAR:"mdl-snackbar",MESSAGE:"mdl-snackbar__text",ACTION:"mdl-snackbar__action",ACTIVE:"mdl-snackbar--active"},C.prototype.displaySnackbar_=function(){this.element_.setAttribute("aria-hidden","true"), Line No.-860: this.actionHandler_&&(this.actionElement_.textContent=this.actionText_,this.actionElement_.addEventListener("click",this.actionHandler_),this.setActionHidden_(!1)),this.textElement_.textContent=this.message_,this.element_.classList.add(this.cssClasses_.ACTIVE),this.element_.setAttribute("aria-hidden","false"),setTimeout(this.cleanup_.bind(this),this.timeout_)},C.prototype.showSnackbar=function(e){if(void 0===e)throw new Error("Please provide a data object with at least a message to display.");if(void 0===e.message)throw new Error("Please provide a message to be displayed.");if(e.actionHandler&&!e.actionText)throw new Error("Please provide action text with the handler.");this.active?this.queuedNotifications_.push(e):(this.active=!0,this.message_=e.message,e.timeout?this.timeout_=e.timeout:this.timeout_=2750,e.actionHandler&&(this.actionHandler_=e.actionHandler),e.actionText&&(this.actionText_=e.actionText),this.displaySnackbar_())},C.prototype.showSnackbar=C.prototype.showSnackbar,C.prototype.checkQueue_=function(){this.queuedNotifications_.length>0&&this.showSnackbar(this.queuedNotifications_.shift())},C.prototype.cleanup_=function(){this.element_.classList.remove(this.cssClasses_.ACTIVE),setTimeout(function(){this.element_.setAttribute("aria-hidden","true"),this.textElement_.textContent="",Boolean(this.actionElement_.getAttribute("aria-hidden"))||(this.setActionHidden_(!0),this.actionElement_.textContent="",this.actionElement_.removeEventListener("click",this.actionHandler_)),this.actionHandler_=void 0,this.message_=void 0,this.actionText_=void 0,this.active=!1,this.checkQueue_()}.bind(this),this.Constant_.ANIMATION_LENGTH)},C.prototype.setActionHidden_=function(e){e?this.actionElement_.setAttribute("aria-hidden","true"):this.actionElement_.removeAttribute("aria-hidden")},s.register({constructor:C,classAsString:"MaterialSnackbar",cssClass:"mdl-js-snackbar",widget:!0});var u=function(e){this.element_=e,this.init()};window.MaterialSpinner=u,u.prototype.Constant_={MDL_SPINNER_LAYER_COUNT:4},u.prototype.CssClasses_={MDL_SPINNER_LAYER:"mdl-spinner__layer",MDL_SPINNER_CIRCLE_CLIPPER:"mdl-spinner__circle-clipper",MDL_SPINNER_CIRCLE:"mdl-spinner__circle",MDL_SPINNER_GAP_PATCH:"mdl-spinner__gap-patch",MDL_SPINNER_LEFT:"mdl-spinner__left",MDL_SPINNER_RIGHT:"mdl-spinner__right"},u.prototype.createLayer=function(e){var t=document.createElement("div");t.classList.add(this.CssClasses_.MDL_SPINNER_LAYER),t.classList.add(this.CssClasses_.MDL_SPINNER_LAYER+"-"+e);var s=document.createElement("div");s.classList.add(this.CssClasses_.MDL_SPINNER_CIRCLE_CLIPPER),s.classList.add(this.CssClasses_.MDL_SPINNER_LEFT);var i=document.createElement("div");i.classList.add(this.CssClasses_.MDL_SPINNER_GAP_PATCH);var n=document.createElement("div");n.classList.add(this.CssClasses_.MDL_SPINNER_CIRCLE_CLIPPER),n.classList.add(this.CssClasses_.MDL_SPINNER_RIGHT);for(var a=[s,i,n],l=0;l<a.length;l++){var o=document.createElement("div");o.classList.add(this.CssClasses_.MDL_SPINNER_CIRCLE),a[l].appendChild(o)}t.appendChild(s),t.appendChild(i),t.appendChild(n),this.element_.appendChild(t)},u.prototype.createLayer=u.prototype.createLayer,u.prototype.stop=function(){this.element_.classList.remove("is-active")},u.prototype.stop=u.prototype.stop,u.prototype.start=function(){this.element_.classList.add("is-active")},u.prototype.start=u.prototype.start,u.prototype.init=function(){if(this.element_){for(var e=1;e<=this.Constant_.MDL_SPINNER_LAYER_COUNT;e++)this.createLayer(e);this.element_.classList.add("is-upgraded")}},s.register({constructor:u,classAsString:"MaterialSpinner",cssClass:"mdl-js-spinner",widget:!0});var E=function(e){this.element_=e,this.init()};window.MaterialSwitch=E,E.prototype.Constant_={TINY_TIMEOUT:.001},E.prototype.CssClasses_={INPUT:"mdl-switch__input",TRACK:"mdl-switch__track",THUMB:"mdl-switch__thumb",FOCUS_HELPER:"mdl-switch__focus-helper",RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",RIPPLE_CONTAINER:"mdl-switch__ripple-container",RIPPLE_CENTER:"mdl-ripple--center",RIPPLE:"mdl-ripple",IS_FOCUSED:"is-focused",IS_DISABLED:"is-disabled",IS_CHECKED:"is-checked"},E.prototype.onChange_=function(e){this.updateClasses_()},E.prototype.onFocus_=function(e){this.element_.classList.add(this.CssClasses_.IS_FOCUSED)},E.prototype.onBlur_=function(e){this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},E.prototype.onMouseUp_=function(e){this.blur_()},E.prototype.updateClasses_=function(){this.checkDisabled(),this.checkToggleState()},E.prototype.blur_=function(){window.setTimeout(function(){this.inputElement_.blur()}.bind(this),this.Constant_.TINY_TIMEOUT)},E.prototype.checkDisabled=function(){this.inputElement_.disabled?this.element_.classList.add(this.CssClasses_.IS_DISABLED):this.element_.classList.remove(this.CssClasses_.IS_DISABLED)},E.prototype.checkDisabled=E.prototype.checkDisabled,E.prototype.checkToggleState=function(){this.inputElement_.checked?this.element_.classList.add(this.CssClasses_.IS_CHECKED):this.element_.classList.remove(this.CssClasses_.IS_CHECKED)},E.prototype.checkToggleState=E.prototype.checkToggleState,E.prototype.disable=function(){this.inputElement_.disabled=!0,this.updateClasses_()},E.prototype.disable=E.prototype.disable,E.prototype.enable=function(){this.inputElement_.disabled=!1,this.updateClasses_()},E.prototype.enable=E.prototype.enable,E.prototype.on=function(){this.inputElement_.checked=!0,this.updateClasses_()},E.prototype.on=E.prototype.on,E.prototype.off=function(){this.inputElement_.checked=!1,this.updateClasses_()},E.prototype.off=E.prototype.off,E.prototype.init=function(){if(this.element_){this.inputElement_=this.element_.querySelector("."+this.CssClasses_.INPUT);var e=document.createElement("div");e.classList.add(this.CssClasses_.TRACK);var t=document.createElement("div");t.classList.add(this.CssClasses_.THUMB);var s=document.createElement("span");if(s.classList.add(this.CssClasses_.FOCUS_HELPER),t.appendChild(s),this.element_.appendChild(e),this.element_.appendChild(t),this.boundMouseUpHandler=this.onMouseUp_.bind(this),this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT)){this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS),this.rippleContainerElement_=document.createElement("span"),this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_CONTAINER),this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_EFFECT),this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_CENTER),this.rippleContainerElement_.addEventListener("mouseup",this.boundMouseUpHandler);var i=document.createElement("span");i.classList.add(this.CssClasses_.RIPPLE),this.rippleContainerElement_.appendChild(i),this.element_.appendChild(this.rippleContainerElement_)}this.boundChangeHandler=this.onChange_.bind(this),this.boundFocusHandler=this.onFocus_.bind(this),this.boundBlurHandler=this.onBlur_.bind(this),this.inputElement_.addEventListener("change",this.boundChangeHandler),this.inputElement_.addEventListener("focus",this.boundFocusHandler),this.inputElement_.addEventListener("blur",this.boundBlurHandler),this.element_.addEventListener("mouseup",this.boundMouseUpHandler),this.updateClasses_(),this.element_.classList.add("is-upgraded")}},s.register({constructor:E,classAsString:"MaterialSwitch",cssClass:"mdl-js-switch",widget:!0});var m=function(e){this.element_=e,this.init()};window.MaterialTabs=m,m.prototype.Constant_={},m.prototype.CssClasses_={TAB_CLASS:"mdl-tabs__tab",PANEL_CLASS:"mdl-tabs__panel",ACTIVE_CLASS:"is-active",UPGRADED_CLASS:"is-upgraded",MDL_JS_RIPPLE_EFFECT:"mdl-js-ripple-effect",MDL_RIPPLE_CONTAINER:"mdl-tabs__ripple-container",MDL_RIPPLE:"mdl-ripple",MDL_JS_RIPPLE_EFFECT_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events"},m.prototype.initTabs_=function(){this.element_.classList.contains(this.CssClasses_.MDL_JS_RIPPLE_EFFECT)&&this.element_.classList.add(this.CssClasses_.MDL_JS_RIPPLE_EFFECT_IGNORE_EVENTS),this.tabs_=this.element_.querySelectorAll("."+this.CssClasses_.TAB_CLASS),this.panels_=this.element_.querySelectorAll("."+this.CssClasses_.PANEL_CLASS);for(var t=0;t<this.tabs_.length;t++)new e(this.tabs_[t],this);this.element_.classList.add(this.CssClasses_.UPGRADED_CLASS)},m.prototype.resetTabState_=function(){for(var e=0;e<this.tabs_.length;e++)this.tabs_[e].classList.remove(this.CssClasses_.ACTIVE_CLASS)},m.prototype.resetPanelState_=function(){for(var e=0;e<this.panels_.length;e++)this.panels_[e].classList.remove(this.CssClasses_.ACTIVE_CLASS)},m.prototype.init=function(){this.element_&&this.initTabs_()},s.register({constructor:m,classAsString:"MaterialTabs",cssClass:"mdl-js-tabs"});var L=function(e){this.element_=e,this.maxRows=this.Constant_.NO_MAX_ROWS,this.init()};window.MaterialTextfield=L,L.prototype.Constant_={NO_MAX_ROWS:-1,MAX_ROWS_ATTRIBUTE:"maxrows"},L.prototype.CssClasses_={LABEL:"mdl-textfield__label",INPUT:"mdl-textfield__input",IS_DIRTY:"is-dirty",IS_FOCUSED:"is-focused",IS_DISABLED:"is-disabled",IS_INVALID:"is-invalid",IS_UPGRADED:"is-upgraded",HAS_PLACEHOLDER:"has-placeholder"},L.prototype.onKeyDown_=function(e){var t=e.target.value.split("\n").length;13===e.keyCode&&t>=this.maxRows&&e.preventDefault()},L.prototype.onFocus_=function(e){this.element_.classList.add(this.CssClasses_.IS_FOCUSED)},L.prototype.onBlur_=function(e){this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},L.prototype.onReset_=function(e){this.updateClasses_()},L.prototype.updateClasses_=function(){this.checkDisabled(),this.checkValidity(),this.checkDirty(),this.checkFocus()},L.prototype.checkDisabled=function(){this.input_.disabled?this.element_.classList.add(this.CssClasses_.IS_DISABLED):this.element_.classList.remove(this.CssClasses_.IS_DISABLED)},L.prototype.checkDisabled=L.prototype.checkDisabled,L.prototype.checkFocus=function(){Boolean(this.element_.querySelector(":focus"))?this.element_.classList.add(this.CssClasses_.IS_FOCUSED):this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},L.prototype.checkFocus=L.prototype.checkFocus,L.prototype.checkValidity=function(){this.input_.validity&&(this.input_.validity.valid?this.element_.classList.remove(this.CssClasses_.IS_INVALID):this.element_.classList.add(this.CssClasses_.IS_INVALID))},L.prototype.checkValidity=L.prototype.checkValidity,L.prototype.checkDirty=function(){this.input_.value&&this.input_.value.length>0?this.element_.classList.add(this.CssClasses_.IS_DIRTY):this.element_.classList.remove(this.CssClasses_.IS_DIRTY)},L.prototype.checkDirty=L.prototype.checkDirty,L.prototype.disable=function(){this.input_.disabled=!0,this.updateClasses_()},L.prototype.disable=L.prototype.disable,L.prototype.enable=function(){this.input_.disabled=!1,this.updateClasses_()},L.prototype.enable=L.prototype.enable,L.prototype.change=function(e){this.input_.value=e||"",this.updateClasses_()},L.prototype.change=L.prototype.change,L.prototype.init=function(){if(this.element_&&(this.label_=this.element_.querySelector("."+this.CssClasses_.LABEL),this.input_=this.element_.querySelector("."+this.CssClasses_.INPUT),this.input_)){this.input_.hasAttribute(this.Constant_.MAX_ROWS_ATTRIBUTE)&&(this.maxRows=parseInt(this.input_.getAttribute(this.Constant_.MAX_ROWS_ATTRIBUTE),10),isNaN(this.maxRows)&&(this.maxRows=this.Constant_.NO_MAX_ROWS)),this.input_.hasAttribute("placeholder")&&this.element_.classList.add(this.CssClasses_.HAS_PLACEHOLDER),this.boundUpdateClassesHandler=this.updateClasses_.bind(this),this.boundFocusHandler=this.onFocus_.bind(this),this.boundBlurHandler=this.onBlur_.bind(this),this.boundResetHandler=this.onReset_.bind(this),this.input_.addEventListener("input",this.boundUpdateClassesHandler),this.input_.addEventListener("focus",this.boundFocusHandler),this.input_.addEventListener("blur",this.boundBlurHandler),this.input_.addEventListener("reset",this.boundResetHandler),this.maxRows!==this.Constant_.NO_MAX_ROWS&&(this.boundKeyDownHandler=this.onKeyDown_.bind(this),this.input_.addEventListener("keydown",this.boundKeyDownHandler));var e=this.element_.classList.contains(this.CssClasses_.IS_INVALID);this.updateClasses_(),this.element_.classList.add(this.CssClasses_.IS_UPGRADED),e&&this.element_.classList.add(this.CssClasses_.IS_INVALID),this.input_.hasAttribute("autofocus")&&(this.element_.focus(),this.checkFocus())}},s.register({constructor:L,classAsString:"MaterialTextfield",cssClass:"mdl-js-textfield",widget:!0});var I=function(e){this.element_=e,this.init()};window.MaterialTooltip=I,I.prototype.Constant_={},I.prototype.CssClasses_={IS_ACTIVE:"is-active",BOTTOM:"mdl-tooltip--bottom",LEFT:"mdl-tooltip--left",RIGHT:"mdl-tooltip--right",TOP:"mdl-tooltip--top"},I.prototype.handleMouseEnter_=function(e){var t=e.target.getBoundingClientRect(),s=t.left+t.width/2,i=t.top+t.height/2,n=-1*(this.element_.offsetWidth/2),a=-1*(this.element_.offsetHeight/2);this.element_.classList.contains(this.CssClasses_.LEFT)||this.element_.classList.contains(this.CssClasses_.RIGHT)?(s=t.width/2,i+a<0?(this.element_.style.top="0",this.element_.style.marginTop="0"):(this.element_.style.top=i+"px",this.element_.style.marginTop=a+"px")):s+n<0?(this.element_.style.left="0",this.element_.style.marginLeft="0"):(this.element_.style.left=s+"px",this.element_.style.marginLeft=n+"px"),this.element_.classList.contains(this.CssClasses_.TOP)?this.element_.style.top=t.top-this.element_.offsetHeight-10+"px":this.element_.classList.contains(this.CssClasses_.RIGHT)?this.element_.style.left=t.left+t.width+10+"px":this.element_.classList.contains(this.CssClasses_.LEFT)?this.element_.style.left=t.left-this.element_.offsetWidth-10+"px":this.element_.style.top=t.top+t.height+10+"px",this.element_.classList.add(this.CssClasses_.IS_ACTIVE)},I.prototype.hideTooltip_=function(){this.element_.classList.remove(this.CssClasses_.IS_ACTIVE)},I.prototype.init=function(){if(this.element_){var e=this.element_.getAttribute("for")||this.element_.getAttribute("data-mdl-for");e&&(this.forElement_=document.getElementById(e)),this.forElement_&&(this.forElement_.hasAttribute("tabindex")||this.forElement_.setAttribute("tabindex","0"),this.boundMouseEnterHandler=this.handleMouseEnter_.bind(this),this.boundMouseLeaveAndScrollHandler=this.hideTooltip_.bind(this),this.forElement_.addEventListener("mouseenter",this.boundMouseEnterHandler,!1),this.forElement_.addEventListener("touchend",this.boundMouseEnterHandler,!1),this.forElement_.addEventListener("mouseleave",this.boundMouseLeaveAndScrollHandler,!1),window.addEventListener("scroll",this.boundMouseLeaveAndScrollHandler,!0),window.addEventListener("touchstart",this.boundMouseLeaveAndScrollHandler))}},s.register({constructor:I,classAsString:"MaterialTooltip",cssClass:"mdl-tooltip"});var f=function(e){this.element_=e,this.init()};window.MaterialLayout=f,f.prototype.Constant_={MAX_WIDTH:"(max-width: 1024px)",TAB_SCROLL_PIXELS:100,RESIZE_TIMEOUT:100,MENU_ICON:"&#xE5D2;",CHEVRON_LEFT:"chevron_left",CHEVRON_RIGHT:"chevron_right"},f.prototype.Keycodes_={ENTER:13,ESCAPE:27,SPACE:32},f.prototype.Mode_={STANDARD:0,SEAMED:1,WATERFALL:2,SCROLL:3},f.prototype.CssClasses_={CONTAINER:"mdl-layout__container",HEADER:"mdl-layout__header",DRAWER:"mdl-layout__drawer",CONTENT:"mdl-layout__content",DRAWER_BTN:"mdl-layout__drawer-button",ICON:"material-icons",JS_RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_CONTAINER:"mdl-layout__tab-ripple-container",RIPPLE:"mdl-ripple",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",HEADER_SEAMED:"mdl-layout__header--seamed",HEADER_WATERFALL:"mdl-layout__header--waterfall",HEADER_SCROLL:"mdl-layout__header--scroll",FIXED_HEADER:"mdl-layout--fixed-header",OBFUSCATOR:"mdl-layout__obfuscator",TAB_BAR:"mdl-layout__tab-bar",TAB_CONTAINER:"mdl-layout__tab-bar-container",TAB:"mdl-layout__tab",TAB_BAR_BUTTON:"mdl-layout__tab-bar-button",TAB_BAR_LEFT_BUTTON:"mdl-layout__tab-bar-left-button",TAB_BAR_RIGHT_BUTTON:"mdl-layout__tab-bar-right-button",TAB_MANUAL_SWITCH:"mdl-layout__tab-manual-switch",PANEL:"mdl-layout__tab-panel",HAS_DRAWER:"has-drawer",HAS_TABS:"has-tabs",HAS_SCROLLING_HEADER:"has-scrolling-header",CASTING_SHADOW:"is-casting-shadow",IS_COMPACT:"is-compact",IS_SMALL_SCREEN:"is-small-screen",IS_DRAWER_OPEN:"is-visible",IS_ACTIVE:"is-active",IS_UPGRADED:"is-upgraded",IS_ANIMATING:"is-animating",ON_LARGE_SCREEN:"mdl-layout--large-screen-only",ON_SMALL_SCREEN:"mdl-layout--small-screen-only"},f.prototype.contentScrollHandler_=function(){if(!this.header_.classList.contains(this.CssClasses_.IS_ANIMATING)){var e=!this.element_.classList.contains(this.CssClasses_.IS_SMALL_SCREEN)||this.element_.classList.contains(this.CssClasses_.FIXED_HEADER);this.content_.scrollTop>0&&!this.header_.classList.contains(this.CssClasses_.IS_COMPACT)?(this.header_.classList.add(this.CssClasses_.CASTING_SHADOW),this.header_.classList.add(this.CssClasses_.IS_COMPACT),e&&this.header_.classList.add(this.CssClasses_.IS_ANIMATING)):this.content_.scrollTop<=0&&this.header_.classList.contains(this.CssClasses_.IS_COMPACT)&&(this.header_.classList.remove(this.CssClasses_.CASTING_SHADOW),this.header_.classList.remove(this.CssClasses_.IS_COMPACT),e&&this.header_.classList.add(this.CssClasses_.IS_ANIMATING))}},f.prototype.keyboardEventHandler_=function(e){e.keyCode===this.Keycodes_.ESCAPE&&this.drawer_.classList.contains(this.CssClasses_.IS_DRAWER_OPEN)&&this.toggleDrawer()},f.prototype.screenSizeHandler_=function(){this.screenSizeMediaQuery_.matches?this.element_.classList.add(this.CssClasses_.IS_SMALL_SCREEN):(this.element_.classList.remove(this.CssClasses_.IS_SMALL_SCREEN),this.drawer_&&(this.drawer_.classList.remove(this.CssClasses_.IS_DRAWER_OPEN),this.obfuscator_.classList.remove(this.CssClasses_.IS_DRAWER_OPEN)))},f.prototype.drawerToggleHandler_=function(e){if(e&&"keydown"===e.type){if(e.keyCode!==this.Keycodes_.SPACE&&e.keyCode!==this.Keycodes_.ENTER)return;e.preventDefault()}this.toggleDrawer()},f.prototype.headerTransitionEndHandler_=function(){this.header_.classList.remove(this.CssClasses_.IS_ANIMATING)},f.prototype.headerClickHandler_=function(){this.header_.classList.contains(this.CssClasses_.IS_COMPACT)&&(this.header_.classList.remove(this.CssClasses_.IS_COMPACT),this.header_.classList.add(this.CssClasses_.IS_ANIMATING))},f.prototype.resetTabState_=function(e){for(var t=0;t<e.length;t++)e[t].classList.remove(this.CssClasses_.IS_ACTIVE)},f.prototype.resetPanelState_=function(e){for(var t=0;t<e.length;t++)e[t].classList.remove(this.CssClasses_.IS_ACTIVE)},f.prototype.toggleDrawer=function(){var e=this.element_.querySelector("."+this.CssClasses_.DRAWER_BTN);this.drawer_.classList.toggle(this.CssClasses_.IS_DRAWER_OPEN),this.obfuscator_.classList.toggle(this.CssClasses_.IS_DRAWER_OPEN),this.drawer_.classList.contains(this.CssClasses_.IS_DRAWER_OPEN)?(this.drawer_.setAttribute("aria-hidden","false"),e.setAttribute("aria-expanded","true")):(this.drawer_.setAttribute("aria-hidden","true"),e.setAttribute("aria-expanded","false"))},f.prototype.toggleDrawer=f.prototype.toggleDrawer,f.prototype.init=function(){if(this.element_){var e=document.createElement("div");e.classList.add(this.CssClasses_.CONTAINER);var s=this.element_.querySelector(":focus");this.element_.parentElement.insertBefore(e,this.element_),this.element_.parentElement.removeChild(this.element_),e.appendChild(this.element_),s&&s.focus();for(var i=this.element_.childNodes,n=i.length,a=0;a<n;a++){var l=i[a];l.classList&&l.classList.contains(this.CssClasses_.HEADER)&&(this.header_=l),l.classList&&l.classList.contains(this.CssClasses_.DRAWER)&&(this.drawer_=l),l.classList&&l.classList.contains(this.CssClasses_.CONTENT)&&(this.content_=l)}window.addEventListener("pageshow",function(e){e.persisted&&(this.element_.style.overflowY="hidden",requestAnimationFrame(function(){this.element_.style.overflowY=""}.bind(this)))}.bind(this),!1),this.header_&&(this.tabBar_=this.header_.querySelector("."+this.CssClasses_.TAB_BAR));var o=this.Mode_.STANDARD;if(this.header_&&(this.header_.classList.contains(this.CssClasses_.HEADER_SEAMED)?o=this.Mode_.SEAMED:this.header_.classList.contains(this.CssClasses_.HEADER_WATERFALL)?(o=this.Mode_.WATERFALL,this.header_.addEventListener("transitionend",this.headerTransitionEndHandler_.bind(this)),this.header_.addEventListener("click",this.headerClickHandler_.bind(this))):this.header_.classList.contains(this.CssClasses_.HEADER_SCROLL)&&(o=this.Mode_.SCROLL,e.classList.add(this.CssClasses_.HAS_SCROLLING_HEADER)),o===this.Mode_.STANDARD?(this.header_.classList.add(this.CssClasses_.CASTING_SHADOW),this.tabBar_&&this.tabBar_.classList.add(this.CssClasses_.CASTING_SHADOW)):o===this.Mode_.SEAMED||o===this.Mode_.SCROLL?(this.header_.classList.remove(this.CssClasses_.CASTING_SHADOW),this.tabBar_&&this.tabBar_.classList.remove(this.CssClasses_.CASTING_SHADOW)):o===this.Mode_.WATERFALL&&(this.content_.addEventListener("scroll",this.contentScrollHandler_.bind(this)),this.contentScrollHandler_())),this.drawer_){var r=this.element_.querySelector("."+this.CssClasses_.DRAWER_BTN);if(!r){r=document.createElement("div"),r.setAttribute("aria-expanded","false"),r.setAttribute("role","button"),r.setAttribute("tabindex","0"),r.classList.add(this.CssClasses_.DRAWER_BTN);var _=document.createElement("i");_.classList.add(this.CssClasses_.ICON),_.innerHTML=this.Constant_.MENU_ICON,r.appendChild(_)}this.drawer_.classList.contains(this.CssClasses_.ON_LARGE_SCREEN)?r.classList.add(this.CssClasses_.ON_LARGE_SCREEN):this.drawer_.classList.contains(this.CssClasses_.ON_SMALL_SCREEN)&&r.classList.add(this.CssClasses_.ON_SMALL_SCREEN),r.addEventListener("click",this.drawerToggleHandler_.bind(this)),r.addEventListener("keydown",this.drawerToggleHandler_.bind(this)),this.element_.classList.add(this.CssClasses_.HAS_DRAWER),this.element_.classList.contains(this.CssClasses_.FIXED_HEADER)?this.header_.insertBefore(r,this.header_.firstChild):this.element_.insertBefore(r,this.content_);var d=document.createElement("div");d.classList.add(this.CssClasses_.OBFUSCATOR),this.element_.appendChild(d),d.addEventListener("click",this.drawerToggleHandler_.bind(this)),this.obfuscator_=d,this.drawer_.addEventListener("keydown",this.keyboardEventHandler_.bind(this)),this.drawer_.setAttribute("aria-hidden","true")}if(this.screenSizeMediaQuery_=window.matchMedia(this.Constant_.MAX_WIDTH),this.screenSizeMediaQuery_.addListener(this.screenSizeHandler_.bind(this)),this.screenSizeHandler_(),this.header_&&this.tabBar_){this.element_.classList.add(this.CssClasses_.HAS_TABS);var h=document.createElement("div");h.classList.add(this.CssClasses_.TAB_CONTAINER),this.header_.insertBefore(h,this.tabBar_),this.header_.removeChild(this.tabBar_);var c=document.createElement("div");c.classList.add(this.CssClasses_.TAB_BAR_BUTTON),c.classList.add(this.CssClasses_.TAB_BAR_LEFT_BUTTON);var p=document.createElement("i");p.classList.add(this.CssClasses_.ICON),p.textContent=this.Constant_.CHEVRON_LEFT,c.appendChild(p),c.addEventListener("click",function(){this.tabBar_.scrollLeft-=this.Constant_.TAB_SCROLL_PIXELS}.bind(this));var C=document.createElement("div");C.classList.add(this.CssClasses_.TAB_BAR_BUTTON),C.classList.add(this.CssClasses_.TAB_BAR_RIGHT_BUTTON);var u=document.createElement("i");u.classList.add(this.CssClasses_.ICON),u.textContent=this.Constant_.CHEVRON_RIGHT,C.appendChild(u),C.addEventListener("click",function(){this.tabBar_.scrollLeft+=this.Constant_.TAB_SCROLL_PIXELS}.bind(this)),h.appendChild(c),h.appendChild(this.tabBar_),h.appendChild(C);var E=function(){this.tabBar_.scrollLeft>0?c.classList.add(this.CssClasses_.IS_ACTIVE):c.classList.remove(this.CssClasses_.IS_ACTIVE),this.tabBar_.scrollLeft<this.tabBar_.scrollWidth-this.tabBar_.offsetWidth?C.classList.add(this.CssClasses_.IS_ACTIVE):C.classList.remove(this.CssClasses_.IS_ACTIVE)}.bind(this);this.tabBar_.addEventListener("scroll",E),E();var m=function(){this.resizeTimeoutId_&&clearTimeout(this.resizeTimeoutId_),this.resizeTimeoutId_=setTimeout(function(){E(),this.resizeTimeoutId_=null}.bind(this),this.Constant_.RESIZE_TIMEOUT)}.bind(this);window.addEventListener("resize",m),this.tabBar_.classList.contains(this.CssClasses_.JS_RIPPLE_EFFECT)&&this.tabBar_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS);for(var L=this.tabBar_.querySelectorAll("."+this.CssClasses_.TAB),I=this.content_.querySelectorAll("."+this.CssClasses_.PANEL),f=0;f<L.length;f++)new t(L[f],L,I,this)}this.element_.classList.add(this.CssClasses_.IS_UPGRADED)}},window.MaterialLayoutTab=t,s.register({constructor:f,classAsString:"MaterialLayout",cssClass:"mdl-js-layout"});var b=function(e){this.element_=e,this.init()};window.MaterialDataTable=b,b.prototype.Constant_={},b.prototype.CssClasses_={DATA_TABLE:"mdl-data-table",SELECTABLE:"mdl-data-table--selectable",SELECT_ELEMENT:"mdl-data-table__select",IS_SELECTED:"is-selected",IS_UPGRADED:"is-upgraded"},b.prototype.selectRow_=function(e,t,s){return t?function(){e.checked?t.classList.add(this.CssClasses_.IS_SELECTED):t.classList.remove(this.CssClasses_.IS_SELECTED)}.bind(this):s?function(){var t,i;if(e.checked)for(t=0;t<s.length;t++)i=s[t].querySelector("td").querySelector(".mdl-checkbox"),i.MaterialCheckbox.check(),s[t].classList.add(this.CssClasses_.IS_SELECTED);else for(t=0;t<s.length;t++)i=s[t].querySelector("td").querySelector(".mdl-checkbox"),i.MaterialCheckbox.uncheck(),s[t].classList.remove(this.CssClasses_.IS_SELECTED)}.bind(this):void 0},b.prototype.createCheckbox_=function(e,t){var i=document.createElement("label"),n=["mdl-checkbox","mdl-js-checkbox","mdl-js-ripple-effect",this.CssClasses_.SELECT_ELEMENT];i.className=n.join(" ");var a=document.createElement("input");return a.type="checkbox",a.classList.add("mdl-checkbox__input"),e?(a.checked=e.classList.contains(this.CssClasses_.IS_SELECTED),a.addEventListener("change",this.selectRow_(a,e))):t&&a.addEventListener("change",this.selectRow_(a,null,t)),i.appendChild(a),s.upgradeElement(i,"MaterialCheckbox"),i},b.prototype.init=function(){if(this.element_){var e=this.element_.querySelector("th"),t=Array.prototype.slice.call(this.element_.querySelectorAll("tbody tr")),s=Array.prototype.slice.call(this.element_.querySelectorAll("tfoot tr")),i=t.concat(s);if(this.element_.classList.contains(this.CssClasses_.SELECTABLE)){var n=document.createElement("th"),a=this.createCheckbox_(null,i);n.appendChild(a),e.parentElement.insertBefore(n,e);for(var l=0;l<i.length;l++){var o=i[l].querySelector("td");if(o){var r=document.createElement("td");if("TBODY"===i[l].parentNode.nodeName.toUpperCase()){var _=this.createCheckbox_(i[l]);r.appendChild(_)}i[l].insertBefore(r,o)}}this.element_.classList.add(this.CssClasses_.IS_UPGRADED)}}},s.register({constructor:b,classAsString:"MaterialDataTable",cssClass:"mdl-js-data-table"});var S=function(e){this.element_=e,this.init()};window.MaterialRipple=S,S.prototype.Constant_={INITIAL_SCALE:"scale(0.0001, 0.0001)",INITIAL_SIZE:"1px",INITIAL_OPACITY:"0.4",FINAL_OPACITY:"0",FINAL_SCALE:""},S.prototype.CssClasses_={RIPPLE_CENTER:"mdl-ripple--center",RIPPLE_EFFECT_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",RIPPLE:"mdl-ripple",IS_ANIMATING:"is-animating",IS_VISIBLE:"is-visible"},S.prototype.downHandler_=function(e){if(!this.rippleElement_.style.width&&!this.rippleElement_.style.height){var t=this.element_.getBoundingClientRect();this.boundHeight=t.height,this.boundWidth=t.width,this.rippleSize_=2*Math.sqrt(t.width*t.width+t.height*t.height)+2,this.rippleElement_.style.width=this.rippleSize_+"px",this.rippleElement_.style.height=this.rippleSize_+"px"}if(this.rippleElement_.classList.add(this.CssClasses_.IS_VISIBLE),"mousedown"===e.type&&this.ignoringMouseDown_)this.ignoringMouseDown_=!1;else{"touchstart"===e.type&&(this.ignoringMouseDown_=!0);var s=this.getFrameCount();if(s>0)return;this.setFrameCount(1);var i,n,a=e.currentTarget.getBoundingClientRect();if(0===e.clientX&&0===e.clientY)i=Math.round(a.width/2),n=Math.round(a.height/2);else{var l=void 0!==e.clientX?e.clientX:e.touches[0].clientX,o=void 0!==e.clientY?e.clientY:e.touches[0].clientY;i=Math.round(l-a.left),n=Math.round(o-a.top)}this.setRippleXY(i,n),this.setRippleStyles(!0),window.requestAnimationFrame(this.animFrameHandler.bind(this))}},S.prototype.upHandler_=function(e){e&&2!==e.detail&&window.setTimeout(function(){this.rippleElement_.classList.remove(this.CssClasses_.IS_VISIBLE)}.bind(this),0)},S.prototype.init=function(){if(this.element_){var e=this.element_.classList.contains(this.CssClasses_.RIPPLE_CENTER);this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT_IGNORE_EVENTS)||(this.rippleElement_=this.element_.querySelector("."+this.CssClasses_.RIPPLE),this.frameCount_=0,this.rippleSize_=0,this.x_=0,this.y_=0,this.ignoringMouseDown_=!1,this.boundDownHandler=this.downHandler_.bind(this),this.element_.addEventListener("mousedown",this.boundDownHandler),this.element_.addEventListener("touchstart",this.boundDownHandler),this.boundUpHandler=this.upHandler_.bind(this),this.element_.addEventListener("mouseup",this.boundUpHandler),this.element_.addEventListener("mouseleave",this.boundUpHandler),this.element_.addEventListener("touchend",this.boundUpHandler),this.element_.addEventListener("blur",this.boundUpHandler),this.getFrameCount=function(){return this.frameCount_},this.setFrameCount=function(e){this.frameCount_=e},this.getRippleElement=function(){return this.rippleElement_},this.setRippleXY=function(e,t){this.x_=e,this.y_=t},this.setRippleStyles=function(t){if(null!==this.rippleElement_){var s,i,n,a="translate("+this.x_+"px, "+this.y_+"px)";t?(i=this.Constant_.INITIAL_SCALE,n=this.Constant_.INITIAL_SIZE):(i=this.Constant_.FINAL_SCALE,n=this.rippleSize_+"px",e&&(a="translate("+this.boundWidth/2+"px, "+this.boundHeight/2+"px)")),s="translate(-50%, -50%) "+a+i,this.rippleElement_.style.webkitTransform=s,this.rippleElement_.style.msTransform=s,this.rippleElement_.style.transform=s,t?this.rippleElement_.classList.remove(this.CssClasses_.IS_ANIMATING):this.rippleElement_.classList.add(this.CssClasses_.IS_ANIMATING)}},this.animFrameHandler=function(){this.frameCount_-- >0?window.requestAnimationFrame(this.animFrameHandler.bind(this)):this.setRippleStyles(!1)})}},s.register({constructor:S,classAsString:"MaterialRipple",cssClass:"mdl-js-ripple-effect",widget:!1})}(); Line No.-861: //# sourceMappingURL=material.min.js.map Line No.-862: </script> Line No.-863: Line No.-864: <style type="text/css"> Line No.-865: /* PrismJS 1.15.0 Line No.-866: https://prismjs.com/download.html#themes=prism-coy&languages=markup+css+clike+javascript+abap+actionscript+ada+apacheconf+apl+applescript+c+arff+asciidoc+asm6502+csharp+autohotkey+autoit+bash+basic+batch+bison+brainfuck+bro+cpp+aspnet+arduino+coffeescript+clojure+ruby+csp+css-extras+d+dart+diff+django+docker+eiffel+elixir+elm+markup-templating+erlang+fsharp+flow+fortran+gedcom+gherkin+git+glsl+gml+go+graphql+groovy+less+handlebars+haskell+haxe+http+hpkp+hsts+ichigojam+icon+inform7+ini+io+j+java+jolie+json+julia+keyman+kotlin+latex+markdown+liquid+lisp+livescript+lolcode+lua+makefile+crystal+erb+matlab+mel+mizar+monkey+n4js+nasm+nginx+nim+nix+nsis+objectivec+ocaml+opencl+oz+parigp+parser+pascal+perl+php+php-extras+sql+powershell+processing+prolog+properties+protobuf+scss+puppet+pure+python+q+qore+r+jsx+typescript+renpy+reason+rest+rip+roboconf+textile+rust+sas+sass+stylus+scala+scheme+smalltalk+smarty+plsql+soy+pug+swift+yaml+tcl+haml+tt2+twig+tsx+vbnet+velocity+verilog+vhdl+vim+visual-basic+wasm+wiki+xeora+xojo+xquery+tap&plugins=line-numbers+toolbar+copy-to-clipboard */ Line No.-867: /** Line No.-868: * prism.js Coy theme for JavaScript, CoffeeScript, CSS and HTML Line No.-869: * Based on https://github.com/tshedor/workshop-wp-theme (Example: http://workshop.kansan.com/category/sessions/basics or http://workshop.timshedor.com/category/sessions/basics); Line No.-870: * @author Tim Shedor Line No.-871: */ Line No.-872: Line No.-873: code[class*="language-"], Line No.-874: pre[class*="language-"] { Line No.-875: color: black; Line No.-876: background: none; Line No.-877: font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; Line No.-878: text-align: left; Line No.-879: white-space: pre; Line No.-880: word-spacing: normal; Line No.-881: word-break: normal; Line No.-882: word-wrap: normal; Line No.-883: line-height: 1.5; Line No.-884: Line No.-885: -moz-tab-size: 4; Line No.-886: -o-tab-size: 4; Line No.-887: tab-size: 4; Line No.-888: Line No.-889: -webkit-hyphens: none; Line No.-890: -moz-hyphens: none; Line No.-891: -ms-hyphens: none; Line No.-892: hyphens: none; Line No.-893: } Line No.-894: Line No.-895: /* Code blocks */ Line No.-896: pre[class*="language-"] { Line No.-897: position: relative; Line No.-898: margin: .5em 0; Line No.-899: overflow: visible; Line No.-900: padding: 0; Line No.-901: } Line No.-902: pre[class*="language-"]>code { Line No.-903: position: relative; Line No.-904: border-left: 10px solid #358ccb; Line No.-905: box-shadow: -1px 0px 0px 0px #358ccb, 0px 0px 0px 1px #dfdfdf; Line No.-906: background-color: #fdfdfd; Line No.-907: background-image: linear-gradient(transparent 50%, rgba(69, 142, 209, 0.04) 50%); Line No.-908: background-size: 3em 3em; Line No.-909: background-origin: content-box; Line No.-910: background-attachment: local; Line No.-911: } Line No.-912: Line No.-913: code[class*="language"] { Line No.-914: max-height: inherit; Line No.-915: height: inherit; Line No.-916: padding: 0 1em; Line No.-917: display: block; Line No.-918: overflow: auto; Line No.-919: } Line No.-920: Line No.-921: /* Margin bottom to accommodate shadow */ Line No.-922: :not(pre) > code[class*="language-"], Line No.-923: pre[class*="language-"] { Line No.-924: background-color: #fdfdfd; Line No.-925: -webkit-box-sizing: border-box; Line No.-926: -moz-box-sizing: border-box; Line No.-927: box-sizing: border-box; Line No.-928: margin-bottom: 1em; Line No.-929: } Line No.-930: Line No.-931: /* Inline code */ Line No.-932: :not(pre) > code[class*="language-"] { Line No.-933: position: relative; Line No.-934: padding: .2em; Line No.-935: border-radius: 0.3em; Line No.-936: color: #c92c2c; Line No.-937: border: 1px solid rgba(0, 0, 0, 0.1); Line No.-938: display: inline; Line No.-939: white-space: normal; Line No.-940: } Line No.-941: Line No.-942: pre[class*="language-"]:before, Line No.-943: pre[class*="language-"]:after { Line No.-944: content: ''; Line No.-945: z-index: -2; Line No.-946: display: block; Line No.-947: position: absolute; Line No.-948: bottom: 0.75em; Line No.-949: left: 0.18em; Line No.-950: width: 40%; Line No.-951: height: 20%; Line No.-952: max-height: 13em; Line No.-953: box-shadow: 0px 13px 8px #979797; Line No.-954: -webkit-transform: rotate(-2deg); Line No.-955: -moz-transform: rotate(-2deg); Line No.-956: -ms-transform: rotate(-2deg); Line No.-957: -o-transform: rotate(-2deg); Line No.-958: transform: rotate(-2deg); Line No.-959: } Line No.-960: Line No.-961: :not(pre) > code[class*="language-"]:after, Line No.-962: pre[class*="language-"]:after { Line No.-963: right: 0.75em; Line No.-964: left: auto; Line No.-965: -webkit-transform: rotate(2deg); Line No.-966: -moz-transform: rotate(2deg); Line No.-967: -ms-transform: rotate(2deg); Line No.-968: -o-transform: rotate(2deg); Line No.-969: transform: rotate(2deg); Line No.-970: } Line No.-971: Line No.-972: .token.comment, Line No.-973: .token.block-comment, Line No.-974: .token.prolog, Line No.-975: .token.doctype, Line No.-976: .token.cdata { Line No.-977: color: #7D8B99; Line No.-978: } Line No.-979: Line No.-980: .token.punctuation { Line No.-981: color: #5F6364; Line No.-982: } Line No.-983: Line No.-984: .token.property, Line No.-985: .token.tag, Line No.-986: .token.boolean, Line No.-987: .token.number, Line No.-988: .token.function-name, Line No.-989: .token.constant, Line No.-990: .token.symbol, Line No.-991: .token.deleted { Line No.-992: color: #c92c2c; Line No.-993: } Line No.-994: Line No.-995: .token.selector, Line No.-996: .token.attr-name, Line No.-997: .token.string, Line No.-998: .token.char, Line No.-999: .token.function, Line No.-1000: .token.builtin, Line No.-1001: .token.inserted { Line No.-1002: color: #2f9c0a; Line No.-1003: } Line No.-1004: Line No.-1005: .token.operator, Line No.-1006: .token.entity, Line No.-1007: .token.url, Line No.-1008: .token.variable { Line No.-1009: color: #a67f59; Line No.-1010: background: rgba(255, 255, 255, 0.5); Line No.-1011: } Line No.-1012: Line No.-1013: .token.atrule, Line No.-1014: .token.attr-value, Line No.-1015: .token.keyword, Line No.-1016: .token.class-name { Line No.-1017: color: #1990b8; Line No.-1018: } Line No.-1019: Line No.-1020: .token.regex, Line No.-1021: .token.important { Line No.-1022: color: #e90; Line No.-1023: } Line No.-1024: Line No.-1025: .language-css .token.string, Line No.-1026: .style .token.string { Line No.-1027: color: #a67f59; Line No.-1028: background: rgba(255, 255, 255, 0.5); Line No.-1029: } Line No.-1030: Line No.-1031: .token.important { Line No.-1032: font-weight: normal; Line No.-1033: } Line No.-1034: Line No.-1035: .token.bold { Line No.-1036: font-weight: bold; Line No.-1037: } Line No.-1038: .token.italic { Line No.-1039: font-style: italic; Line No.-1040: } Line No.-1041: Line No.-1042: .token.entity { Line No.-1043: cursor: help; Line No.-1044: } Line No.-1045: Line No.-1046: .namespace { Line No.-1047: opacity: .7; Line No.-1048: } Line No.-1049: Line No.-1050: @media screen and (max-width: 767px) { Line No.-1051: pre[class*="language-"]:before, Line No.-1052: pre[class*="language-"]:after { Line No.-1053: bottom: 14px; Line No.-1054: box-shadow: none; Line No.-1055: } Line No.-1056: Line No.-1057: } Line No.-1058: Line No.-1059: /* Plugin styles */ Line No.-1060: .token.tab:not(:empty):before, Line No.-1061: .token.cr:before, Line No.-1062: .token.lf:before { Line No.-1063: color: #e0d7d1; Line No.-1064: } Line No.-1065: Line No.-1066: /* Plugin styles: Line Numbers */ Line No.-1067: pre[class*="language-"].line-numbers.line-numbers { Line No.-1068: padding-left: 0; Line No.-1069: } Line No.-1070: Line No.-1071: pre[class*="language-"].line-numbers.line-numbers code { Line No.-1072: padding-left: 3.8em; Line No.-1073: } Line No.-1074: Line No.-1075: pre[class*="language-"].line-numbers.line-numbers .line-numbers-rows { Line No.-1076: left: 0; Line No.-1077: } Line No.-1078: Line No.-1079: /* Plugin styles: Line Highlight */ Line No.-1080: pre[class*="language-"][data-line] { Line No.-1081: padding-top: 0; Line No.-1082: padding-bottom: 0; Line No.-1083: padding-left: 0; Line No.-1084: } Line No.-1085: pre[data-line] code { Line No.-1086: position: relative; Line No.-1087: padding-left: 4em; Line No.-1088: } Line No.-1089: pre .line-highlight { Line No.-1090: margin-top: 0; Line No.-1091: } Line No.-1092: Line No.-1093: pre[class*="language-"].line-numbers { Line No.-1094: position: relative; Line No.-1095: padding-left: 3.8em; Line No.-1096: counter-reset: linenumber; Line No.-1097: } Line No.-1098: Line No.-1099: pre[class*="language-"].line-numbers > code { Line No.-1100: position: relative; Line No.-1101: white-space: inherit; Line No.-1102: } Line No.-1103: Line No.-1104: .line-numbers .line-numbers-rows { Line No.-1105: position: absolute; Line No.-1106: pointer-events: none; Line No.-1107: top: 0; Line No.-1108: font-size: 100%; Line No.-1109: left: -3.8em; Line No.-1110: width: 3em; /* works for line-numbers below 1000 lines */ Line No.-1111: letter-spacing: -1px; Line No.-1112: border-right: 1px solid #999; Line No.-1113: Line No.-1114: -webkit-user-select: none; Line No.-1115: -moz-user-select: none; Line No.-1116: -ms-user-select: none; Line No.-1117: user-select: none; Line No.-1118: Line No.-1119: } Line No.-1120: Line No.-1121: .line-numbers-rows > span { Line No.-1122: pointer-events: none; Line No.-1123: display: block; Line No.-1124: counter-increment: linenumber; Line No.-1125: } Line No.-1126: Line No.-1127: .line-numbers-rows > span:before { Line No.-1128: content: counter(linenumber); Line No.-1129: color: #999; Line No.-1130: display: block; Line No.-1131: padding-right: 0.8em; Line No.-1132: text-align: right; Line No.-1133: } Line No.-1134: Line No.-1135: div.code-toolbar { Line No.-1136: position: relative; Line No.-1137: } Line No.-1138: Line No.-1139: div.code-toolbar > .toolbar { Line No.-1140: position: absolute; Line No.-1141: top: .3em; Line No.-1142: right: .2em; Line No.-1143: transition: opacity 0.3s ease-in-out; Line No.-1144: opacity: 0; Line No.-1145: } Line No.-1146: Line No.-1147: div.code-toolbar:hover > .toolbar { Line No.-1148: opacity: 1; Line No.-1149: } Line No.-1150: Line No.-1151: div.code-toolbar > .toolbar .toolbar-item { Line No.-1152: display: inline-block; Line No.-1153: } Line No.-1154: Line No.-1155: div.code-toolbar > .toolbar a { Line No.-1156: cursor: pointer; Line No.-1157: } Line No.-1158: Line No.-1159: div.code-toolbar > .toolbar button { Line No.-1160: background: none; Line No.-1161: border: 0; Line No.-1162: color: inherit; Line No.-1163: font: inherit; Line No.-1164: line-height: normal; Line No.-1165: overflow: visible; Line No.-1166: padding: 0; Line No.-1167: -webkit-user-select: none; /* for button */ Line No.-1168: -moz-user-select: none; Line No.-1169: -ms-user-select: none; Line No.-1170: } Line No.-1171: Line No.-1172: div.code-toolbar > .toolbar a, Line No.-1173: div.code-toolbar > .toolbar button, Line No.-1174: div.code-toolbar > .toolbar span { Line No.-1175: color: #bbb; Line No.-1176: font-size: .8em; Line No.-1177: padding: 0 .5em; Line No.-1178: background: #f5f2f0; Line No.-1179: background: rgba(224, 224, 224, 0.2); Line No.-1180: box-shadow: 0 2px 0 0 rgba(0,0,0,0.2); Line No.-1181: border-radius: .5em; Line No.-1182: } Line No.-1183: Line No.-1184: div.code-toolbar > .toolbar a:hover, Line No.-1185: div.code-toolbar > .toolbar a:focus, Line No.-1186: div.code-toolbar > .toolbar button:hover, Line No.-1187: div.code-toolbar > .toolbar button:focus, Line No.-1188: div.code-toolbar > .toolbar span:hover, Line No.-1189: div.code-toolbar > .toolbar span:focus { Line No.-1190: color: inherit; Line No.-1191: text-decoration: none; Line No.-1192: } Line No.-1193: </style> Line No.-1194: <script src="/assets/prism.js"></script> Line No.-1195: <script> Line No.-1196: var goTop = document.createElement("a"); Line No.-1197: Line No.-1198: goTop.innerHTML = '<i class="material-icons">&#xE5D8;</i>'; Line No.-1199: Line No.-1200: goTop.style = "bottom:0;right:27%;position:absolute;z-index: 9999"; Line No.-1201: Line No.-1202: goTop.setAttribute("href", "#log_img"); Line No.-1203: Line No.-1204: document.body.appendChild(goTop); Line No.-1205: Line No.-1206: </script> Line No.-1207: Line No.-1208: Line No.-1209: <script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/1.0.9/cookieconsent.min.js"></script> Line No.-1210: <script> Line No.-1211: Line No.-1212: window.cookieconsent_options = { Line No.-1213: Line No.-1214: message: 'This site uses cookies to deliver our services and to show you relevant ads. By using our site, you acknowledge that you have read and understood our Privacy Policy. Your use of w3resource Services, is subject to these policies', Line No.-1215: Line No.-1216: theme:'dark-bottom', Line No.-1217: Line No.-1218: learnMore: 'More info', Line No.-1219: Line No.-1220: link: 'https://www.w3resource.com/privacy.php' Line No.-1221: Line No.-1222: }; Line No.-1223: Line No.-1224: </script> Line No.-1225: <style type="text/css"> Line No.-1226: Line No.-1227: .previousNext_bottom a:first-child { Line No.-1228: Line No.-1229: float: left; Line No.-1230: Line No.-1231: margin-left:8px; Line No.-1232: Line No.-1233: } Line No.-1234: Line No.-1235: .previousNext_bottom a:last-child { Line No.-1236: Line No.-1237: float: right; Line No.-1238: Line No.-1239: margin-right:8px; Line No.-1240: Line No.-1241: } Line No.-1242: Line No.-1243: </style> Line No.-1244: <script> Line No.-1245: Line No.-1246: window.onload = function() { Line No.-1247: Line No.-1248: //var old_links = document.getElementById("np").style.display = "none"; Line No.-1249: Line No.-1250: var links = document.querySelector("ul.nav.nav-list").childNodes; Line No.-1251: Line No.-1252: var parentDiv = document.querySelector(".np"); Line No.-1253: Line No.-1254: var parentDiv_bottom = document.querySelector(".np_bottom"); Line No.-1255: Line No.-1256: var node = document.createElement("span"); Line No.-1257: Line No.-1258: var node_bottom = document.createElement("span"); Line No.-1259: Line No.-1260: node.setAttribute("class","previousNext"); Line No.-1261: Line No.-1262: node_bottom.setAttribute("class","previousNext_bottom"); Line No.-1263: Line No.-1264: parentDiv.appendChild(node); Line No.-1265: Line No.-1266: parentDiv_bottom.appendChild(node_bottom); Line No.-1267: Line No.-1268: for (var i=0; i < links.length; i++) { Line No.-1269: Line No.-1270: if(links[i].getAttribute("class")!=="nav-header" && links[i].children[0].getAttribute('href')===window.location.pathname){ Line No.-1271: Line No.-1272: if(links[i-1].getAttribute("class")!=="nav-header"){ Line No.-1273: Line No.-1274: var newLink = document.createElement("a"); Line No.-1275: Line No.-1276: newLink.setAttribute("href",links[i-1].children[0].getAttribute("href")); Line No.-1277: Line No.-1278: var icon = document.createElement("i"); Line No.-1279: Line No.-1280: icon.setAttribute("class","material-icons"); Line No.-1281: Line No.-1282: icon.style.marginLeft = '40px'; Line No.-1283: Line No.-1284: icon.style.color = '#fff'; Line No.-1285: Line No.-1286: icon.style.verticalAlign = 'middle'; Line No.-1287: Line No.-1288: var previousTxt = document.createTextNode('skip_previous'); Line No.-1289: Line No.-1290: icon.appendChild(previousTxt); Line No.-1291: Line No.-1292: newLink.appendChild(icon); Line No.-1293: Line No.-1294: node.appendChild(newLink); Line No.-1295: Line No.-1296: //for bottom Line No.-1297: Line No.-1298: var newLink_bottom = document.createElement("a"); Line No.-1299: Line No.-1300: newLink_bottom.setAttribute("href",links[i-1].children[0].getAttribute("href")); Line No.-1301: Line No.-1302: var previousTxt_bottom = document.createTextNode('Previous'); Line No.-1303: Line No.-1304: newLink_bottom.appendChild(previousTxt_bottom); Line No.-1305: Line No.-1306: node_bottom.appendChild(newLink_bottom); Line No.-1307: Line No.-1308: } Line No.-1309: Line No.-1310: else if (links[i-1].getAttribute("class")==="nav-header"){ Line No.-1311: Line No.-1312: var newLink = document.createElement("a"); Line No.-1313: Line No.-1314: newLink.setAttribute("href",links[i-2].children[0].getAttribute("href")); Line No.-1315: Line No.-1316: var icon = document.createElement("i"); Line No.-1317: Line No.-1318: icon.setAttribute("class","material-icons"); Line No.-1319: Line No.-1320: icon.style.marginLeft = '40px'; Line No.-1321: Line No.-1322: icon.style.color = '#fff'; Line No.-1323: Line No.-1324: icon.style.verticalAlign = 'middle'; Line No.-1325: Line No.-1326: var previousTxt = document.createTextNode('skip_previous'); Line No.-1327: Line No.-1328: icon.appendChild(previousTxt); Line No.-1329: Line No.-1330: newLink.appendChild(icon); Line No.-1331: Line No.-1332: node.appendChild(newLink); Line No.-1333: Line No.-1334: //for bottom Line No.-1335: Line No.-1336: var newLink_bottom = document.createElement("a"); Line No.-1337: Line No.-1338: newLink_bottom.setAttribute("href",links[i-2].children[0].getAttribute("href")); Line No.-1339: Line No.-1340: var previousTxt_bottom = document.createTextNode('Previous'); Line No.-1341: Line No.-1342: newLink_bottom.appendChild(previousTxt_bottom); Line No.-1343: Line No.-1344: node_bottom.appendChild(newLink_bottom); Line No.-1345: Line No.-1346: } Line No.-1347: Line No.-1348: if(links[i+1].getAttribute("class")!=="nav-header") { Line No.-1349: Line No.-1350: var newLink = document.createElement("a"); Line No.-1351: Line No.-1352: newLink.setAttribute("href",links[i+1].children[0].getAttribute("href")); Line No.-1353: Line No.-1354: var icon = document.createElement("i"); Line No.-1355: Line No.-1356: icon.setAttribute("class","material-icons"); Line No.-1357: Line No.-1358: icon.style.marginLeft = '30px'; Line No.-1359: Line No.-1360: icon.style.color = '#fff'; Line No.-1361: Line No.-1362: icon.style.verticalAlign = 'middle'; Line No.-1363: Line No.-1364: var nextTxt = document.createTextNode('skip_next'); Line No.-1365: Line No.-1366: icon.appendChild(nextTxt); Line No.-1367: Line No.-1368: newLink.appendChild(icon); Line No.-1369: Line No.-1370: node.appendChild(newLink); Line No.-1371: Line No.-1372: //for bottom Line No.-1373: Line No.-1374: var newLink_bottom = document.createElement("a"); Line No.-1375: Line No.-1376: newLink_bottom.setAttribute("href",links[i+1].children[0].getAttribute("href")); Line No.-1377: Line No.-1378: var NextTxt_bottom = document.createTextNode('Next'); Line No.-1379: Line No.-1380: newLink_bottom.appendChild(NextTxt_bottom); Line No.-1381: Line No.-1382: node_bottom.appendChild(newLink_bottom); Line No.-1383: Line No.-1384: } Line No.-1385: Line No.-1386: else if (links[i+1].getAttribute("class")==="nav-header") { Line No.-1387: Line No.-1388: var newLink = document.createElement("a"); Line No.-1389: Line No.-1390: newLink.setAttribute("href",links[i+2].children[0].getAttribute("href")); Line No.-1391: Line No.-1392: var icon = document.createElement("i"); Line No.-1393: Line No.-1394: icon.setAttribute("class","material-icons"); Line No.-1395: Line No.-1396: icon.style.marginLeft = '30px'; Line No.-1397: Line No.-1398: icon.style.color = '#fff'; Line No.-1399: Line No.-1400: icon.style.verticalAlign = 'middle'; Line No.-1401: Line No.-1402: var nextTxt = document.createTextNode('skip_next'); Line No.-1403: Line No.-1404: icon.appendChild(nextTxt); Line No.-1405: Line No.-1406: newLink.appendChild(icon); Line No.-1407: Line No.-1408: node.appendChild(newLink); Line No.-1409: Line No.-1410: //for bottom Line No.-1411: Line No.-1412: var newLink_bottom = document.createElement("a"); Line No.-1413: Line No.-1414: newLink_bottom.setAttribute("href",links[i+2].children[0].getAttribute("href")); Line No.-1415: Line No.-1416: var NextTxt_bottom = document.createTextNode('Next'); Line No.-1417: Line No.-1418: newLink_bottom.appendChild(NextTxt_bottom); Line No.-1419: Line No.-1420: node_bottom.appendChild(newLink_bottom); Line No.-1421: Line No.-1422: } Line No.-1423: Line No.-1424: } Line No.-1425: Line No.-1426: } Line No.-1427: Line No.-1428: var prenext = document.querySelector("span.previousNext"); Line No.-1429: Line No.-1430: var cln = prenext.cloneNode(true); Line No.-1431: Line No.-1432: } Line No.-1433: Line No.-1434: </script> Line No.-1435: Line No.-1436: Line No.-1437: Line No.-1438: <script src="//m.servedby-buysellads.com/monetization.js" type="text/javascript"></script> Line No.-1439: <script> Line No.-1440: Line No.-1441: (function(){ Line No.-1442: Line No.-1443: if(typeof _bsa !== 'undefined' && _bsa) { Line No.-1444: Line No.-1445: // format, zoneKey, segment:value, options Line No.-1446: Line No.-1447: _bsa.init('flexbar', 'CK7DCK7L', 'placement:w3resourcecom'); Line No.-1448: Line No.-1449: } Line No.-1450: Line No.-1451: })(); Line No.-1452: Line No.-1453: </script> Line No.-1454: </body> Line No.-1455: </html>