- スキャンID:
- 58aca230-cca7-48d1-bc29-4f7d97d7d27d終了
- 送信済みURL:
- https://community.oilprice.com/
- レポート終了日:
リンク · 16件検出
ページから特定された発信リンク
リンク | テキスト |
---|---|
https://oilprice.com/ | Back to Oilprice.com |
https://www.invisioncommunity.com/ | Powered by Invision Community |
https://www.facebook.com/oilpricenews | |
https://twitter.com/OilandEnergy | |
https://www.linkedin.com/company/oilprice-com?report%2Esuccess=KJ_KkFGTDCfMt-A7wV3Fn9Yvgwr02Kd6AZHGx4bQCDiP6-2rfP2oxyVoEQiPrcAQ7Bf | |
https://plus.google.com/100818571694606454377/posts | |
http://feeds.feedburner.com/oilpricecom | |
http://oilprice.com/rss/main | |
http://oilprice.com/about-us | More About Us |
http://oilprice.com/Latest-Energy-News/World-News/ | Site News |
JavaScript変数 · 60件検出
ページのウィンドウオブジェクトにロードされたグローバルのJavaScript変数は関数以外の場所で宣言された変数で、現在のスコープ内であればコードのどこからでもアクセス可能です
名前 | 規模 |
---|---|
0 | object |
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
gtag | function |
dataLayer | object |
google_tag_manager | object |
google_tag_data | object |
GoogleAnalyticsObject | string |
ga | function |
コンソールログメッセージ · 16件検出
Webコンソールにログ記録されたメッセージ
規模 | 分類 | ログ |
---|---|---|
log | other |
|
warning | other |
|
trace | other |
|
warning | other |
|
trace | other |
|
log | other |
|
verbose | dom |
|
error | network |
|
error | other |
|
error | network |
|
error | other |
|
error | network |
|
error | other |
|
error | network |
|
error | other |
|
error | network |
|
HTML
未加工のHTMLページ本文
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\globalTemplate.phtml --><!DOCTYPE html><html lang="en-US" dir="ltr"><head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<link rel="stylesheet" type="text/css" href="/themes/2/css/forums/front/introjs.css">
<script type="text/javascript" async="" src="https://www.googletagmanager.com/gtag/js?id=AW-814550776&l=dataLayer&cx=c&gtm=457e4cc1za200"></script><script type="text/javascript" async="" src="https://www.googletagmanager.com/gtag/js?id=AW-811559680&l=dataLayer&cx=c&gtm=457e4cc1za200"></script><script type="text/javascript" async="" src="https://www.google-analytics.com/analytics.js"></script><script type="text/javascript" async="" src="https://www.googletagmanager.com/gtag/js?id=G-QL9S782LWM&l=dataLayer&cx=c&gtm=457e4cc1za200"></script><script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-2249023-28"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-2249023-28', { 'anonymize_ip': true });
</script>
<title>
Energy & Oil Forums - Oil Price Community
</title>
<!--[if lt IE 9]>
<link rel="stylesheet" type="text/css" href="//community.oilprice.com/applications/core/interface/css/css.php?css=themes/2/css/core/front/extra/ie8.css">
<script src="//community.oilprice.com/applications/core/interface/html5shiv/html5shiv.js"></script>
<![endif]-->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global\includeMeta.phtml -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta property="og:title" content="Energy & Oil Forums - Oil Price Community">
<meta property="og:type" content="website">
<meta property="og:url" content="https://community.oilprice.com/">
<meta property="og:site_name" content="Oil Price Community">
<meta property="og:locale" content="en_US">
<meta property="og:image" content="https://community.oilprice.com/uploads/monthly_2018_03/oilprice-community-facebook-share-logo.png.327f70c445b14df1f04f3aa5b87a9d1e.png">
<meta property="og:description" content="Latest discussions about crude oil prices, gas price charts and energy news covering: oil, petroleum, natural gas and investment advice.">
<meta name="keywords" content="">
<meta name="theme-color" content="#ffffff">
<link rel="canonical" href="https://community.oilprice.com">
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global\includeMeta.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global\includeCSS.phtml -->
<link rel="stylesheet" href="//community.oilprice.com/applications/core/interface/css/css.php?css=themes/2/css/core/global/framework/_vars.css,themes/2/css/core/global/framework/animation.css,themes/2/css/core/global/framework/badges.css,themes/2/css/core/global/framework/blocks.css,themes/2/css/core/global/framework/buttons.css,themes/2/css/core/global/framework/cards.css,themes/2/css/core/global/framework/comments.css,themes/2/css/core/global/framework/compose.css,themes/2/css/core/global/framework/data-lists.css,themes/2/css/core/global/framework/engagement.css,themes/2/css/core/global/framework/fonts.css,themes/2/css/core/global/framework/forms.css,themes/2/css/core/global/framework/global.css,themes/2/css/core/global/framework/global_new.css,themes/2/css/core/global/framework/global_old.css,themes/2/css/core/global/framework/layout.css,themes/2/css/core/global/framework/lightbox.css,themes/2/css/core/global/framework/menus.css,themes/2/css/core/global/framework/menus_new.css,themes/2/css/core/global/framework/menus_old.css,themes/2/css/core/global/framework/messages.css,themes/2/css/core/global/framework/misc.css,themes/2/css/core/global/framework/navigation.css,themes/2/css/core/global/framework/normalize.css,themes/2/css/core/global/framework/pagination.css,themes/2/css/core/global/framework/popup.css,themes/2/css/core/global/framework/post-content.css,themes/2/css/core/global/framework/posts.css,themes/2/css/core/global/framework/prettify.css,themes/2/css/core/global/framework/spectrum.css,themes/2/css/core/global/framework/streams.css,themes/2/css/core/global/framework/tables.css,themes/2/css/core/global/framework/tabs.css,themes/2/css/core/global/framework/tags.css,themes/2/css/core/global/framework/toolbox.css,themes/2/css/core/global/framework/typography.css&v=43c8c39307" media="all">
<link rel="stylesheet" href="//community.oilprice.com/applications/core/interface/css/css.php?css=themes/2/css/core/global/responsive/badges.css,themes/2/css/core/global/responsive/blocks.css,themes/2/css/core/global/responsive/buttons.css,themes/2/css/core/global/responsive/comments.css,themes/2/css/core/global/responsive/compose.css,themes/2/css/core/global/responsive/data-lists.css,themes/2/css/core/global/responsive/engagement.css,themes/2/css/core/global/responsive/forms.css,themes/2/css/core/global/responsive/global.css,themes/2/css/core/global/responsive/layout.css,themes/2/css/core/global/responsive/lightbox.css,themes/2/css/core/global/responsive/menus.css,themes/2/css/core/global/responsive/misc.css,themes/2/css/core/global/responsive/navigation.css,themes/2/css/core/global/responsive/pagination.css,themes/2/css/core/global/responsive/popup.css,themes/2/css/core/global/responsive/post-content.css,themes/2/css/core/global/responsive/posts.css,themes/2/css/core/global/responsive/responsive.css,themes/2/css/core/global/responsive/streams.css,themes/2/css/core/global/responsive/tables.css,themes/2/css/core/global/responsive/tabs.css,themes/2/css/core/global/responsive/typography.css&v=43c8c39307" media="all">
<link rel="stylesheet" href="//community.oilprice.com/applications/core/interface/css/css.php?css=themes/2/css/core/front/core.css&v=43c8c39307" media="all">
<link rel="stylesheet" href="//community.oilprice.com/applications/core/interface/css/css.php?css=themes/2/css/core/front/core_responsive.css&v=43c8c39307" media="all">
<link rel="stylesheet" href="//community.oilprice.com/applications/core/interface/css/css.php?css=themes/2/css/forums/front/forums.css&v=43c8c39307" media="all">
<link rel="stylesheet" href="//community.oilprice.com/applications/core/interface/css/css.php?css=themes/2/css/forums/front/forums_responsive.css&v=43c8c39307" media="all">
<link rel="stylesheet" href="//community.oilprice.com/applications/core/interface/css/css.php?css=themes/2/css/core/front/custom/custom.css,themes/2/css/core/front/custom/smartbanner.min.css,themes/2/css/core/front/custom/style.css&v=43c8c39307" media="all">
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global\includeCSS.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\globalavico.phtml -->
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\globalavico.phtml -->
<!-- Global site tag (gtag.js) - AdWords: 811559680 -->
<script async="" src="https://www.googletagmanager.com/gtag/js?id=AW-811559680"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-811559680');
gtag('config', 'AW-814550776');
</script>
<!-- Start GPT Tag -->
<script async="" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
<script>
window.googletag = window.googletag || {cmd: []};
googletag.cmd.push(function() {
var mapping1 = googletag.sizeMapping()
.addSize([750, 300], [[728, 90]])
.addSize([10, 10], [[320, 50]])
.build();
googletag.defineSlot('/43459271/oilprice.com/oilprice-comm1', [[728,90],[320,50]], 'div-gpt-ad-7114456-1')
.defineSizeMapping(mapping1)
.addService(googletag.pubads());
if (window.location.href.indexOf("topic") > -1) {
googletag.defineSlot('/43459271/oilprice.com/oilprice-comm2', [[728,90],[320,50]], 'div-gpt-ad-5847596-1')
.defineSizeMapping(mapping1)
.addService(googletag.pubads());
googletag.defineSlot('/43459271/oilprice.com/oilprice-comm3', [[728,90],[320,50]], 'div-gpt-ad-2229021-1')
.defineSizeMapping(mapping1)
.addService(googletag.pubads());
googletag.defineSlot('/43459271/oilprice.com/oilprice-comm4', [[728,90],[320,50]], 'div-gpt-ad-8795603-1')
.defineSizeMapping(mapping1)
.addService(googletag.pubads());
}
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
</script>
<!-- End GPT Tag -->
<!-- This site is converting visitors into subscribers and customers with OptinMonster - https://optinmonster.com -->
<script type="text/javascript" src="https://a.optmnstr.com/app/js/api.min.js" data-campaign="ab3gyyqeflzggh1omxfh" data-user="20987" async=""></script>
<!-- / https://optinmonster.com -->
<meta http-equiv="origin-trial" content="AlK2UR5SkAlj8jjdEc9p3F3xuFYlF6LYjAML3EOqw1g26eCwWPjdmecULvBH5MVPoqKYrOfPhYVL71xAXI1IBQoAAAB8eyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiV2ViVmlld1hSZXF1ZXN0ZWRXaXRoRGVwcmVjYXRpb24iLCJleHBpcnkiOjE3NTgwNjcxOTksImlzU3ViZG9tYWluIjp0cnVlfQ=="><meta http-equiv="origin-trial" content="Amm8/NmvvQfhwCib6I7ZsmUxiSCfOxWxHayJwyU1r3gRIItzr7bNQid6O8ZYaE1GSQTa69WwhPC9flq/oYkRBwsAAACCeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiV2ViVmlld1hSZXF1ZXN0ZWRXaXRoRGVwcmVjYXRpb24iLCJleHBpcnkiOjE3NTgwNjcxOTksImlzU3ViZG9tYWluIjp0cnVlfQ=="><meta http-equiv="origin-trial" content="A9wSqI5i0iwGdf6L1CERNdmsTPgVu44ewj8QxTBYgsv1LCPUVF7YmWOvTappqB1139jAymxUW/RO8zmMqo4zlAAAAACNeyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiRmxlZGdlQmlkZGluZ0FuZEF1Y3Rpb25TZXJ2ZXIiLCJleHBpcnkiOjE3MzY4MTI4MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9"><meta http-equiv="origin-trial" content="A+d7vJfYtay4OUbdtRPZA3y7bKQLsxaMEPmxgfhBGqKXNrdkCQeJlUwqa6EBbSfjwFtJWTrWIioXeMW+y8bWAgQAAACTeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiRmxlZGdlQmlkZGluZ0FuZEF1Y3Rpb25TZXJ2ZXIiLCJleHBpcnkiOjE3MzY4MTI4MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9"><script src="https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m202412090101/pubads_impl.js" async=""></script><link rel="stylesheet" href="https://a.omappapi.com/app/js/api.min.css" id="omapi-css" media="all"><script id="omapi-script" src="https://a.optmnstr.com/app/js/api.min.js" async=""></script></head>
<body class="ipsApp ipsApp_front ipsClearfix ipsJS_has ipsApp_noTouch ipsLayout_sidebarUnused" data-controller="core.front.core.app" data-message="" data-pageapp="forums" data-pagelocation="front" data-pagemodule="forums" data-pagecontroller="index" itemscope="" itemtype="http://schema.org/WebSite">
<meta itemprop="url" content="https://community.oilprice.com/">
<a href="#elContent" class="ipsHide" title="Go to main content on this page" accesskey="m">Jump to content</a>
<div id="ipsLayout_header" class="ipsClearfix">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\updateWarning.phtml -->
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\updateWarning.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global\lkeyWarning.phtml -->
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global\lkeyWarning.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\mobileNavBar.phtml -->
<ul id="elMobileNav" class="ipsList_inline ipsResponsive_hideDesktop ipsResponsive_block" data-controller="core.front.core.mobileNav" data-default="forums_topic">
<li>
<a data-action="defaultStream" class="ipsType_light" href="https://community.oilprice.com/discover/8/"><i class="icon-newspaper"></i></a>
</li>
<li class="ipsJS_show">
<a rel="nofollow" href="https://community.oilprice.com/search/" data-action=""><i class="fa fa-search"></i></a>
</li>
<li data-ipsdrawer="" data-ipsdrawer-drawerelem="#elMobileDrawer">
<a href="#">
<i class="fa fa-navicon"></i>
</a>
</li>
</ul>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\mobileNavBar.phtml -->
<header>
<!-- GPT AdSlot 1 for Ad unit 'oilprice.com/oilprice-comm3' ### Size: [[728,90],[320,50]] -->
<!-- End AdSlot 1 -->
<div class="ipsLayout_container">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\logo.phtml -->
<a href="https://community.oilprice.com/" id="elLogo" accesskey="1"><img src="https://community.oilprice.com/uploads/monthly_2017_06/oilprice-logo.png.244a8b59653b7f47b94d0a9ec6967311.png" alt="Oil Price Community"></a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\logo.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global
avBar.phtml -->
<div class="ipsNavBar_primary ipsClearfix">
<ul data-role="primaryNavBar" class="ipsResponsive_showDesktop ipsResponsive_block">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global
avBarItems.phtml -->
<li id="elNavSecondary_13" data-role="navBarItem" data-navapp="core" data-navext="CustomItem">
<a href="https://oilprice.com/" data-navitem-id="13">
Back to Oilprice.com
</a>
</li>
<li class="ipsNavBar_active" data-active="" id="elNavSecondary_1" data-role="navBarItem" data-navapp="core" data-navext="CustomItem">
<a href="https://community.oilprice.com" data-navitem-id="1" data-navdefault="">
Browse
</a>
<ul class="ipsNavBar_secondary " data-role="secondaryNavBar">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global
avBarItems.phtml -->
<li class="ipsNavBar_active" data-active="" id="elNavSecondary_8" data-role="navBarItem" data-navapp="forums" data-navext="Forums">
<a href="https://community.oilprice.com" data-navitem-id="8" data-navdefault="">
Forums
</a>
</li>
<li id="elNavSecondary_11" data-role="navBarItem" data-navapp="core" data-navext="OnlineUsers">
<a href="https://community.oilprice.com/online/" data-navitem-id="11">
Online Users
</a>
</li>
<li id="elNavSecondary_12" data-role="navBarItem" data-navapp="core" data-navext="Leaderboard">
<a href="https://community.oilprice.com/leaderboard/" data-navitem-id="12">
Leaderboard
</a>
</li>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global
avBarItems.phtml -->
<li class="ipsHide" id="elNavigationMore_1" data-role="navMore">
<a href="#" data-ipsmenu="" data-ipsmenu-appendto="#elNavigationMore_1" id="elNavigationMore_1_dropdown">More <i class="fa fa-caret-down"></i></a>
<ul class="ipsHide ipsMenu ipsMenu_auto" id="elNavigationMore_1_dropdown_menu" data-role="moreDropdown"></ul>
</li>
</ul>
</li>
<li id="elNavSecondary_2" data-role="navBarItem" data-navapp="core" data-navext="CustomItem">
<a href="https://community.oilprice.com/discover/" data-navitem-id="2">
Activity
</a>
<ul class="ipsNavBar_secondary ipsHide" data-role="secondaryNavBar">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global
avBarItems.phtml -->
<li id="elNavSecondary_16" data-role="navBarItem" data-navapp="core" data-navext="CustomItem">
<a href="https://community.oilprice.com/discover/" data-navitem-id="16">
Latest Discussions
</a>
</li>
<li id="elNavSecondary_18" data-role="navBarItem" data-navapp="core" data-navext="YourActivityStreamsItem">
<a href="https://community.oilprice.com/discover/8/" data-navitem-id="18">
All Activity
</a>
</li>
<li id="elNavSecondary_7" data-role="navBarItem" data-navapp="core" data-navext="Search">
<a href="https://community.oilprice.com/search/" data-navitem-id="7" rel="nofollow">
Search
</a>
</li>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global
avBarItems.phtml -->
<li class="ipsHide" id="elNavigationMore_2" data-role="navMore">
<a href="#" data-ipsmenu="" data-ipsmenu-appendto="#elNavigationMore_2" id="elNavigationMore_2_dropdown">More <i class="fa fa-caret-down"></i></a>
<ul class="ipsHide ipsMenu ipsMenu_auto" id="elNavigationMore_2_dropdown_menu" data-role="moreDropdown"></ul>
</li>
</ul>
</li>
<li id="elNavSecondary_23" data-role="navBarItem" data-navapp="blog" data-navext="Blogs">
<a href="https://community.oilprice.com/blogs/" data-navitem-id="23">
Blogs
</a>
</li>
<li id="elNavSecondary_24" data-role="navBarItem" data-navapp="core" data-navext="CustomItem">
<a href="https://community.oilprice.com/referafriend/" data-navitem-id="24">
Refer a Friend
</a>
</li>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global
avBarItems.phtml -->
<li class="ipsHide" id="elNavigationMore" data-role="navMore">
<a href="#" data-ipsmenu="" data-ipsmenu-appendto="#elNavigationMore" id="elNavigationMore_dropdown">More</a>
<ul class="ipsNavBar_secondary ipsHide" data-role="secondaryNavBar">
<li class="ipsHide" id="elNavigationMore_more" data-role="navMore">
<a href="#" data-ipsmenu="" data-ipsmenu-appendto="#elNavigationMore_more" id="elNavigationMore_more_dropdown">More <i class="fa fa-caret-down"></i></a>
<ul class="ipsHide ipsMenu ipsMenu_auto" id="elNavigationMore_more_dropdown_menu" data-role="moreDropdown"></ul>
</li>
</ul>
</li>
</ul>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global
avBar.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userBar.phtml -->
<ul id="elUserNav" class="ipsList_inline cSignedOut ipsClearfix ipsResponsive_hidePhone ipsResponsive_block">
<li id="elSignInLink">
<a href="https://community.oilprice.com/login/" data-ipsmenu-closeonclick="false" data-ipsmenu="" id="elUserSignIn">
Login <i class="fa fa-caret-down"></i>
</a>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\loginPopup.phtml -->
<div id="elUserSignIn_menu" class="ipsMenu ipsMenu_auto ipsHide">
<form accept-charset="utf-8" method="post" action="https://community.oilprice.com/login/" data-controller="core.global.core.login">
<input type="hidden" name="csrfKey" value="f33f58e7e4d78326f74b23f36735b0d3">
<input type="hidden" name="ref" value="aHR0cHM6Ly9jb21tdW5pdHkub2lscHJpY2UuY29tLw==">
<div data-role="loginForm">
<div class="ipsColumns ipsColumns_noSpacing">
<div class="ipsColumn ipsColumn_wide" id="elUserSignIn_internal">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\loginPopupForm.phtml -->
<div class="ipsPad ipsForm ipsForm_vertical">
<h4 class="ipsType_sectionHead">Sign In</h4>
<br><br>
<ul class="ipsList_reset">
<li class="ipsFieldRow ipsFieldRow_noLabel ipsFieldRow_fullWidth">
<input type="text" placeholder="Display Name or Email Address" name="auth">
</li>
<li class="ipsFieldRow ipsFieldRow_noLabel ipsFieldRow_fullWidth">
<input type="password" placeholder="Password" name="password">
</li>
<li class="ipsFieldRow ipsFieldRow_checkbox ipsClearfix">
<span class="ipsCustomInput">
<input type="checkbox" name="remember_me" id="remember_me_checkbox" value="1" checked="" aria-checked="true">
<span></span>
</span>
<div class="ipsFieldRow_content">
<label class="ipsFieldRow_label" for="remember_me_checkbox">Remember me</label>
<span class="ipsFieldRow_desc">Not recommended on shared computers</span>
</div>
</li>
<li class="ipsFieldRow ipsFieldRow_checkbox ipsClearfix">
<span class="ipsCustomInput">
<input type="checkbox" name="anonymous" id="anonymous_checkbox" value="1" aria-checked="false">
<span></span>
</span>
<div class="ipsFieldRow_content">
<label class="ipsFieldRow_label" for="anonymous_checkbox">Sign in anonymously</label>
</div>
</li>
<li class="ipsFieldRow ipsFieldRow_fullWidth">
<br>
<button type="submit" name="_processLogin" value="usernamepassword" class="ipsButton ipsButton_primary ipsButton_small" id="elSignIn_submit">Sign In</button>
<br>
<p class="ipsType_right ipsType_small">
<a href="https://community.oilprice.com/lostpassword/" data-ipsdialog="" data-ipsdialog-title="Forgot your password?">
Forgot your password?</a>
</p>
</li>
</ul>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\loginPopupForm.phtml -->
</div>
<div class="ipsColumn ipsColumn_wide">
<div class="ipsPad" id="elUserSignIn_external">
<div class="ipsAreaBackground_light ipsPad_half">
<p class="ipsType_reset ipsType_small ipsType_center"><strong>Or sign in with one of these services</strong></p>
<div class="ipsPad_half ipsType_center">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\login\loginButton.phtml -->
<button type="submit" name="_processLogin" value="11" class="ipsButton ipsButton_verySmall ipsButton_fullWidth ipsSocial ipsSocial_google" style="background-color: #4285F4">
<span class="ipsSocial_icon">
<i class="fa fa-google"></i>
</span>
<span class="ipsSocial_text">Google</span>
</button>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\login\loginButton.phtml -->
</div>
<div class="ipsPad_half ipsType_center">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\login\loginButton.phtml -->
<button type="submit" name="_processLogin" value="13" class="ipsButton ipsButton_verySmall ipsButton_fullWidth ipsSocial ipsSocial_linkedin" style="background-color: #007eb3">
<span class="ipsSocial_icon">
<i class="fa fa-linkedin"></i>
</span>
<span class="ipsSocial_text">LinkedIn</span>
</button>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\login\loginButton.phtml -->
</div>
<div class="ipsPad_half ipsType_center">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\login\loginButton.phtml -->
<button type="submit" name="_processLogin" value="14" class="ipsButton ipsButton_verySmall ipsButton_fullWidth ipsSocial ipsSocial_facebook" style="background-color: #3a579a">
<span class="ipsSocial_icon">
<i class="fa fa-facebook-official"></i>
</span>
<span class="ipsSocial_text">Facebook</span>
</button>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\login\loginButton.phtml -->
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\loginPopup.phtml -->
</li>
<li>
<a href="https://community.oilprice.com/register/" id="elRegisterButton" class="ipsButton ipsButton_normal ipsButton_primary">Register</a>
</li>
</ul>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userBar.phtml -->
</div>
</header>
<!-- GPT AdSlot 1 for Ad unit 'oilprice.com/oilprice-comm1' ### Size: [[728,90],[320,50]] -->
<!--<div id='div-gpt-ad-7114456-1' style="text-align: center; margin: 10px auto; padding: 10px;">
<script>
googletag.cmd.push(function() { googletag.display('div-gpt-ad-7114456-1'); });
</script>
</div>-->
<!-- End AdSlot 1 -->
</div>
<main role="main" id="ipsLayout_body" class="ipsLayout_container">
<div id="ipsLayout_contentArea">
<div id="ipsLayout_contentWrapper">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\sidebar.phtml -->
<div id="ipsLayout_sidebar" class="ipsLayout_sidebarleft " data-controller="core.front.widgets.sidebar">
<div id="sidebar_inner">
<li class="sidebar_btn"><a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="/register">Start a Discussion</a></li>
<li class="sidebar_btn"><a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="/blogs/create/">Create a Blog</a></li>
<li class="sidebar_btn"><a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="/discover">Latest Discussions</a></li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\widgetContainer.phtml -->
<div class="cWidgetContainer " data-role="widgetReceiver" data-orientation="vertical" data-widgetarea="sidebar">
<ul class="ipsList_reset">
<li>
<!-- 300x250-Sidebar1 - Place as first ad in the left sidebar --><!--<div id='div-gpt-ad-1553138697564-0' style='min-width: 300px; min-height: 250px;'></div>-->
</li>
<li class="ipsWidget ipsWidget_vertical ipsBox" data-blockid="app_core_members_ds8glh70x" data-blockconfig="true" data-blocktitle="Members" data-controller="core.front.widgets.block">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\widgets\members.phtml -->
<h3 class="ipsType_reset ipsWidget_title"><img src="https://community.oilprice.com/themes/2/resources/core/front/widgetsIcons/most_active_icon.png">
Most Active Members
</h3>
<div class="ipsWidget_inner ipsPad">
<ul class="ipsList_reset">
<li class="ipsPhotoPanel ipsPhotoPanel_tiny cAnnouncement">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/49528-samonsda/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/49528-samonsda/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to samonsda's profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2024_12/imported-photo-49528.thumb.png.7208bea35e02f59b5401a2850d2aab48.png" alt="samonsda" itemprop="image">
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
</li>
<li class="ipsPhotoPanel ipsPhotoPanel_tiny cAnnouncement">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/23606-danlxyz/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/23606-danlxyz/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to Danlxyz's profile" rel="nofollow">
<div class="user_photo_container">
<div class="user_photo" data-id="23606" style="background-color: #0a0d1a;">
<span class="user_photo_text">DF</span>
</div>
</div>
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
</li>
<li class="ipsPhotoPanel ipsPhotoPanel_tiny cAnnouncement">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/36356-edi-mulyana/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/36356-edi-mulyana/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to edi mulyana's profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2022_09/imported-photo-36356.thumb.png.9b3031921d985e520fb12412e2455fbb.png" alt="edi mulyana" itemprop="image">
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
</li>
<li class="ipsPhotoPanel ipsPhotoPanel_tiny cAnnouncement">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/49527-mithu-sorkar/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/49527-mithu-sorkar/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to Mithu Sorkar's profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2024_12/imported-photo-49527.thumb.png.29e4dcba3a16b315e1ef86b9d2ba957a.png" alt="Mithu Sorkar" itemprop="image">
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
</li>
<li class="ipsPhotoPanel ipsPhotoPanel_tiny cAnnouncement">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/49514-top-up/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/49514-top-up/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to Top Up's profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2024_12/imported-photo-49514.thumb.png.1305b4ff826a800735dc5bd710d0580c.png" alt="Top Up" itemprop="image">
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
</li>
<li class="ipsPhotoPanel ipsPhotoPanel_tiny cAnnouncement">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/48669-rakulpreet/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/48669-rakulpreet/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to rakulpreet's profile" rel="nofollow">
<div class="user_photo_container">
<div class="user_photo" data-id="48669" style="background-color: #69899a;">
<span class="user_photo_text">rp</span>
</div>
</div>
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
</li>
</ul>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\widgets\members.phtml --></li>
<li>
<!-- 300x250-Sidebar2 - Place as second ad in the left sidebar --><!--<div id='div-gpt-ad-1553138761376-0' style='min-width: 300px; min-height: 250px;'></div>-->
</li>
<li class="ipsWidget ipsWidget_vertical ipsBox" data-blockid="app_core_activeUsers_a42u95ftn" data-blockconfig="true" data-blocktitle="Recently Online" data-controller="core.front.widgets.block">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\widgets\activeUsers.phtml -->
<h3 class="ipsType_reset ipsWidget_title recently_online_title"><img src="https://community.oilprice.com/themes/2/resources/core/front/widgetsIcons/recent_icon.png">
Recently Online
</h3>
<div class="ipsWidget_inner recent_online_holder ipsPad">
<p class="ipsType_reset ipsType_medium ipsType_light">No registered users viewing this page.</p>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\widgets\activeUsers.phtml --></li>
<li>
<!-- 300x250-Sidebar3 - Place as third ad in the left sidebar --><!--<div id='div-gpt-ad-1553138837676-0' style='min-width: 300px; min-height: 250px;'></div>-->
</li>
<li class="ipsWidget ipsWidget_vertical ipsBox" data-blockid="app_core_topContributors_fnaf1nteq" data-blockconfig="true" data-blocktitle="Popular Members" data-controller="core.front.widgets.block">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\widgets opContributors.phtml -->
<h3 class="ipsType_reset ipsWidget_title no_margin_at_bottom test-class"><img src="https://community.oilprice.com/themes/2/resources/core/front/widgetsIcons/popular_users_icon.png"> Popular Members</h3>
<section id="elTopContributors_content" class="ipsWidget_inner">
<div id="ipsTabs_elTopContributors_el_topContributorsWeek_panel" class="ipsTabs_panel">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\widgets opContributorRows.phtml -->
<ol class="ipsDataList ipsDataList_reducedSpacing cTopContributors">
<li class="ipsDataItem">
<div class="ipsDataItem_main ipsPhotoPanel ipsPhotoPanel_tiny">
<h3 class="pop_time_title">This week</h3>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/40980-turbguy/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/40980-turbguy/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to turbguy's profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2021_02/HA.thumb.jpg.3ca3d5546320c18904b4b526c70da47b.jpg" alt="turbguy" itemprop="image">
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<div>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/40980-turbguy/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/40980-turbguy/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to turbguy's profile" class="ipsType_break" rel="nofollow">turbguy</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<span class="member_topics_amount">1</span>
<br>
<span title="Member's reputation this period" data-ipstooltip="" class="ipsRepBadge ipsRepBadge_positive"><i class="fa fa-plus-circle"></i> 5</span>
</div>
</div>
</li>
</ol>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\widgets opContributorRows.phtml -->
</div>
</section>
<!--
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery('#el_topContributorsWeek').trigger('click');
jQuery('#el_topContributorsMonth').trigger('click');
jQuery('#el_topContributorsYear').trigger('click');
jQuery('#el_topContributorsAll').trigger('click');
});
</script> -->
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\widgets opContributors.phtml --></li>
<li>
<!-- 300x250-Sidebar4 - Place as fourth ad in the left sidebar --><!--<div id='div-gpt-ad-1568042970649-0' style='min-width: 300px; min-height: 250px;'></div>-->
</li>
<li class="ipsWidget ipsWidget_vertical ipsBox ipsWidgetHide ipsHide" data-blockid="app_forums_topicFeed_weje7aarv" data-blockconfig="true" data-blocktitle="Topic Feed" data-controller="core.front.widgets.block"></li>
<li class="ipsWidget ipsWidget_vertical ipsBox ipsWidgetHide ipsHide" data-blockid="app_forums_topicFeed_5cjo2ss9v" data-blockconfig="true" data-blocktitle="Topic Feed" data-controller="core.front.widgets.block"></li>
</ul>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\widgetContainer.phtml -->
</div>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\sidebar.phtml -->
<div id="ipsLayout_mainArea">
<a id="elContent"></a>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\announcementContentTop.phtml -->
<div class="cAnnouncementsContent">
<div class="cAnnouncementContentTop ipsAnnouncement ipsMessage_information ipsType_center">
<a href="https://community.oilprice.com/announcement/3-an-important-message-for-oilprice-members/" data-ipsdialog="" data-ipsdialog-title="An Important Message For Oilprice Members">An Important Message For Oilprice Members</a>
</div>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\announcementContentTop.phtml -->
<!--<div id='div-gpt-ad-1584415042483-0' style='min-width: 320px; min-height: 50px;'></div>-->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\widgetContainer.phtml -->
<div class="cWidgetContainer " data-role="widgetReceiver" data-orientation="horizontal" data-widgetarea="header">
<ul class="ipsList_reset">
<li class="ipsWidget ipsWidget_horizontal ipsBox" data-blockid="app_blog_entryFeed_qnz9f0fxb" data-blockconfig="true" data-blocktitle="Blog Entry Feed" data-controller="core.front.widgets.block">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\blogront\widgetsntryFeed.phtml -->
<h3 class="ipsType_reset ipsWidget_title blog-widget-title">Community Blog Entries</h3>
<div class="ipsPad_half ipsWidget_inner" style="overflow:hidden;">
<!-- template start C:\wamp64\www\websites\op-community hemes\html\blogront\widgetsntryRow.phtml -->
<div class="blog-container half">
<div class="table">
<div class="blog-image-container td">
<div class="cBlog_grid_catBadge"><a href="https://community.oilprice.com/blogs/blog/353-crude-oil-futures/">Crude Oil Futures</a></div>
<a class="blog-image-link" href="https://community.oilprice.com/blogs/entry/4804-colombia-pushes-for-shorter-production-timeline-from-offshore-gas-discovery/">
<div class="cBlog_grid_item__image" style="background-image: url("https://community.oilprice.com/themes/2/resources/core/global/pattern.png"); background-color: hsl(-59, 100%, 80% )">
</div>
</a>
</div>
<div class="blog-entry-container td">
<div class="blog-entry">
<a href="https://community.oilprice.com/blogs/entry/4804-colombia-pushes-for-shorter-production-timeline-from-offshore-gas-discovery/" class="blog-entry-title">Colombia pushes for shorter production timeline from offshore gas discovery</a>
<div class="blog-content ipsType_break is-truncated" data-ipstruncate="" data-ipstruncate-size="4 lines" data-ipstruncate-type="remove" style="overflow-wrap: break-word;">
(Bloomberg) – Colombia wants to shorten the... </div>
</div>
</div>
</div>
<div class="blog-meta">
<hr class="ipsHr">
<div class="cBlog_grid_item__stats">
<div class="ipsPhotoPanel ipsPhotoPanel_notPhone ipsPhotoPanel_tiny">
<a href="https://community.oilprice.com/profile/41040-hemanthaamailcom/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/41040-hemanthaamailcom/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to [email protected]'s profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2021_01/hemantha-opcom.thumb.jpg.199ea6ddba58c41716fa96ba03d6160b.jpg" alt="[email protected]" itemprop="image">
</a>
<div>
<p class="ipsType_reset">
<a href="https://community.oilprice.com/profile/41040-hemanthaamailcom/">[email protected]</a>
</p>
<p class="ipsType_reset">
<time datetime="2024-12-14T01:20:52Z" title="12/14/2024 01:20 AM" data-short="16 hr">16 hours ago</time>
</p>
</div>
</div>
<div class="cBlog_grid_item__comments ipsType_light ipsFaded">
<a href="https://community.oilprice.com/blogs/entry/4804-colombia-pushes-for-shorter-production-timeline-from-offshore-gas-discovery/#comments" title="View comments"><i class="fa fa-comment"></i> 0</a>
</div>
</div>
</div>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\blogront\widgetsntryRow.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\blogront\widgetsntryRow.phtml -->
<div class="blog-container half">
<div class="table">
<div class="blog-image-container td">
<div class="cBlog_grid_catBadge"><a href="https://community.oilprice.com/blogs/blog/353-crude-oil-futures/">Crude Oil Futures</a></div>
<a class="blog-image-link" href="https://community.oilprice.com/blogs/entry/4805-seplat-to-revive-idle-nigeria-wells-following-purchase-of-exxons-onshore-assets/">
<div class="cBlog_grid_item__image" style="background-image: url("https://community.oilprice.com/themes/2/resources/core/global/pattern.png"); background-color: hsl(47, 100%, 80% )">
</div>
</a>
</div>
<div class="blog-entry-container td">
<div class="blog-entry">
<a href="https://community.oilprice.com/blogs/entry/4805-seplat-to-revive-idle-nigeria-wells-following-purchase-of-exxons-onshore-assets/" class="blog-entry-title">Seplat to revive idle Nigeria wells following purchase of Exxon's onshore assets</a>
<div class="blog-content ipsType_break is-truncated" data-ipstruncate="" data-ipstruncate-size="4 lines" data-ipstruncate-type="remove" style="overflow-wrap: break-word;">
(Bloomberg) -- Seplat Energy Plc will revive hundreds of... </div>
</div>
</div>
</div>
<div class="blog-meta">
<hr class="ipsHr">
<div class="cBlog_grid_item__stats">
<div class="ipsPhotoPanel ipsPhotoPanel_notPhone ipsPhotoPanel_tiny">
<a href="https://community.oilprice.com/profile/41040-hemanthaamailcom/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/41040-hemanthaamailcom/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to [email protected]'s profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2021_01/hemantha-opcom.thumb.jpg.199ea6ddba58c41716fa96ba03d6160b.jpg" alt="[email protected]" itemprop="image">
</a>
<div>
<p class="ipsType_reset">
<a href="https://community.oilprice.com/profile/41040-hemanthaamailcom/">[email protected]</a>
</p>
<p class="ipsType_reset">
<time datetime="2024-12-14T01:20:52Z" title="12/14/2024 01:20 AM" data-short="16 hr">16 hours ago</time>
</p>
</div>
</div>
<div class="cBlog_grid_item__comments ipsType_light ipsFaded">
<a href="https://community.oilprice.com/blogs/entry/4805-seplat-to-revive-idle-nigeria-wells-following-purchase-of-exxons-onshore-assets/#comments" title="View comments"><i class="fa fa-comment"></i> 0</a>
</div>
</div>
</div>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\blogront\widgetsntryRow.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\blogront\widgetsntryRow.phtml -->
<div class="blog-container half">
<div class="table">
<div class="blog-image-container td">
<div class="cBlog_grid_catBadge"><a href="https://community.oilprice.com/blogs/blog/353-crude-oil-futures/">Crude Oil Futures</a></div>
<a class="blog-image-link" href="https://community.oilprice.com/blogs/entry/4801-expro-to-develop-new-flowmeter-technology-for-petrobras-operated-wells/">
<div class="cBlog_grid_item__image" style="background-image: url("https://community.oilprice.com/themes/2/resources/core/global/pattern.png"); background-color: hsl(-173, 100%, 80% )">
</div>
</a>
</div>
<div class="blog-entry-container td">
<div class="blog-entry">
<a href="https://community.oilprice.com/blogs/entry/4801-expro-to-develop-new-flowmeter-technology-for-petrobras-operated-wells/" class="blog-entry-title">Expro to develop new flowmeter technology for Petrobras-operated wells</a>
<div class="blog-content ipsType_break" data-ipstruncate="" data-ipstruncate-size="4 lines" data-ipstruncate-type="remove" style="overflow-wrap: break-word;">
Expro has signed a technology agreement (ETEC) with Petrobras for the development of a new non-intrusive flowmeter. The technology is designed to increase efficiency and optimize production of wells. View the full article
</div>
</div>
</div>
</div>
<div class="blog-meta">
<hr class="ipsHr">
<div class="cBlog_grid_item__stats">
<div class="ipsPhotoPanel ipsPhotoPanel_notPhone ipsPhotoPanel_tiny">
<a href="https://community.oilprice.com/profile/41040-hemanthaamailcom/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/41040-hemanthaamailcom/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to [email protected]'s profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2021_01/hemantha-opcom.thumb.jpg.199ea6ddba58c41716fa96ba03d6160b.jpg" alt="[email protected]" itemprop="image">
</a>
<div>
<p class="ipsType_reset">
<a href="https://community.oilprice.com/profile/41040-hemanthaamailcom/">[email protected]</a>
</p>
<p class="ipsType_reset">
<time datetime="2024-12-13T16:07:14Z" title="12/13/2024 04:07 PM" data-short="1 dy">Yesterday at 04:07 PM</time>
</p>
</div>
</div>
<div class="cBlog_grid_item__comments ipsType_light ipsFaded">
<a href="https://community.oilprice.com/blogs/entry/4801-expro-to-develop-new-flowmeter-technology-for-petrobras-operated-wells/#comments" title="View comments"><i class="fa fa-comment"></i> 0</a>
</div>
</div>
</div>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\blogront\widgetsntryRow.phtml -->
<br>
<a href="/blogs/">View all blogs →</a>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\blogront\widgetsntryFeed.phtml --></li>
</ul>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\widgetContainer.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\htmlorumsront\index\index.phtml -->
<div class="ipsPageHeader ipsClearfix ipsSpacer_bottom cForumHeader">
<ul class="ipsToolList ipsToolList_horizontal ipsClearfix ipsPos_right">
<li class="ipsToolList_primaryAction ipsResponsive_hidePhone">
<a class="ipsButton ipsButton_medium ipsButton_important" href="https://community.oilprice.com/startTopic/" data-ipsdialog="" data-ipsdialog-size="narrow" data-ipsdialog-title="Select Forum">Start new topic</a>
</li>
<!-- template start C:\wamp64\www\websites\op-community hemes\htmlorumsront\globaliewChange.phtml -->
<!-- template end C:\wamp64\www\websites\op-community hemes\htmlorumsront\globaliewChange.phtml -->
</ul>
<h1 class="ipsType_pageTitle">
Oil Price Community
</h1>
</div>
<section>
<ol class="ipsList_reset cForumList" data-controller="core.global.core.table, forums.front.forum.forumList" data-baseurl="">
<li data-categoryid="63" class="cForumRow ipsBox ipsSpacer_bottom">
<h2 class="ipsType_sectionTitle ipsType_reset cForumTitle">
<a href="#" class="ipsPos_right ipsJS_show ipsType_noUnderline cForumToggle" data-action="toggleCategory" data-ipstooltip="" title="Toggle this category"></a>
<a href="https://community.oilprice.com/forum/63-energy-general/">Energy General</a>
</h2>
<ol class="ipsDataList ipsDataList_large ipsDataList_zebra ipsAreaBackground_reset" data-role="forums">
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="64">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/64-oil-general/">Oil (General)</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
<p>
The Oil General Forum focuses on long term changes, bigger picture analysis, discussions, mostly but not completely related to geopolitics, demand/supply scenarios, trade war, agreements, etc.
</p>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">69.7k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/49528-samonsda/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/49528-samonsda/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to samonsda's profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2024_12/imported-photo-49528.thumb.png.7208bea35e02f59b5401a2850d2aab48.png" alt="samonsda" itemprop="image">
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/44303-de-cuda-tel-chara/?do=getNewComment" title="de cuda tel chara">de cuda tel chara</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/49528-samonsda/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/49528-samonsda/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to samonsda's profile" class="ipsType_break" rel="nofollow">samonsda</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/44303-de-cuda-tel-chara/?do=getLastComment" title="Go to last post"><time datetime="2024-12-14T16:38:42Z" title="12/14/2024 04:38 PM" data-short="1 hr">1 hour ago</time></a>
</li>
</ul>
</li>
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="89">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/89-oil-trading/">Oil Trading</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
<p>
The Oil Trading Forum is focused only on oil trading.
</p>
<p>
Happy trading everyone.
</p>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">3.8k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to zlganmaarleyo8961's profile" rel="nofollow">
<div class="user_photo_container">
<div class="user_photo" data-id="47658" style="background-color: #007b27;">
<span class="user_photo_text">II</span>
</div>
</div>
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/44187-%D0%B2%D1%96%D0%B4%D0%BA%D1%80%D0%B8%D1%82%D1%82%D1%8F-%D0%BF%D0%BE%D0%BB%D1%8E%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-2022-2024/?do=getNewComment" title="Відкриття Полювання 2022-2024">Відкриття Полювання 2022-2024</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to zlganmaarleyo8961's profile" class="ipsType_break" rel="nofollow">zlganmaarleyo8961</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/44187-%D0%B2%D1%96%D0%B4%D0%BA%D1%80%D0%B8%D1%82%D1%82%D1%8F-%D0%BF%D0%BE%D0%BB%D1%8E%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F-2022-2024/?do=getLastComment" title="Go to last post"><time datetime="2024-12-12T01:55:33Z" title="12/12/2024 01:55 AM" data-short="2 dy">Thursday at 01:55 AM</time></a>
</li>
</ul>
</li>
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="65">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/65-nat-gas-lng/">Nat Gas / LNG</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">6.5k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to zlganmaarleyo8961's profile" rel="nofollow">
<div class="user_photo_container">
<div class="user_photo" data-id="47658" style="background-color: #007b27;">
<span class="user_photo_text">II</span>
</div>
</div>
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/44188-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B1%D0%B0%D1%87%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B2%D0%B0%D0%BD%D0%B3%D0%B8-%D0%BD%D0%B0-2024-%D1%80%D1%96%D0%BA/?do=getNewComment" title="Передбачення Ванги На 2024 Рік">Передбачення Ванги На 2024 Рік</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to zlganmaarleyo8961's profile" class="ipsType_break" rel="nofollow">zlganmaarleyo8961</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/44188-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B1%D0%B0%D1%87%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B2%D0%B0%D0%BD%D0%B3%D0%B8-%D0%BD%D0%B0-2024-%D1%80%D1%96%D0%BA/?do=getLastComment" title="Go to last post"><time datetime="2024-12-12T01:56:01Z" title="12/12/2024 01:56 AM" data-short="2 dy">Thursday at 01:56 AM</time></a>
</li>
</ul>
</li>
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="66">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/66-mining/">Mining</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
<p>
The Mining Forum focuses on all mining activities and technologies.
</p>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">1.7k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/42343-tailingspond/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/42343-tailingspond/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to TailingsPond's profile" rel="nofollow">
<div class="user_photo_container">
<div class="user_photo" data-id="42343" style="background-color: #939598;">
<span class="user_photo_text">GE</span>
</div>
</div>
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/44189-%D0%BA%D0%BE%D0%B3%D0%B4%D0%B0-%D0%B4%D0%B5%D0%BD%D1%8C-%D1%84%D0%B0%D1%80%D0%BC%D0%B0%D1%86%D0%B5%D0%B2%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BD%D0%B8%D0%BA%D0%B0-%D1%83%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D1%8B-%D0%B2-2024-%D0%B3%D0%BE%D0%B4%D1%83/?do=getNewComment" title="Когда День Фармацевтического Работника Украины В 2024 Году">Когда День Фармацевтического Работника Украины В 2024 Году</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/42343-tailingspond/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/42343-tailingspond/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to TailingsPond's profile" class="ipsType_break" rel="nofollow">TailingsPond</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/44189-%D0%BA%D0%BE%D0%B3%D0%B4%D0%B0-%D0%B4%D0%B5%D0%BD%D1%8C-%D1%84%D0%B0%D1%80%D0%BC%D0%B0%D1%86%D0%B5%D0%B2%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BD%D0%B8%D0%BA%D0%B0-%D1%83%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D1%8B-%D0%B2-2024-%D0%B3%D0%BE%D0%B4%D1%83/?do=getLastComment" title="Go to last post"><time datetime="2024-12-12T07:36:46Z" title="12/12/2024 07:36 AM" data-short="2 dy">Thursday at 07:36 AM</time></a>
</li>
</ul>
</li>
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="67">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/67-renewables/">Renewables</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">18.8k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to zlganmaarleyo8961's profile" rel="nofollow">
<div class="user_photo_container">
<div class="user_photo" data-id="47658" style="background-color: #007b27;">
<span class="user_photo_text">II</span>
</div>
</div>
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/44190-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B5-%D0%BE%D1%85%D0%BE%D1%82%D1%8B-2024-%D1%83%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D0%B0/?do=getNewComment" title="Открытие Охоты 2024 Украина">Открытие Охоты 2024 Украина</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to zlganmaarleyo8961's profile" class="ipsType_break" rel="nofollow">zlganmaarleyo8961</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/44190-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B5-%D0%BE%D1%85%D0%BE%D1%82%D1%8B-2024-%D1%83%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D0%B0/?do=getLastComment" title="Go to last post"><time datetime="2024-12-12T01:57:07Z" title="12/12/2024 01:57 AM" data-short="2 dy">Thursday at 01:57 AM</time></a>
</li>
</ul>
</li>
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="90">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read" style="background-color: #ffffff; color: #000000;">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/90-energy-tech-science-and-research/">Energy Tech, Science, and Research</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
<p>
The Energy Tech, Science and Research Forum focuses on major breakthroughs, innovations, and new tech related to the energy industry.
</p>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">1.8k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to zlganmaarleyo8961's profile" rel="nofollow">
<div class="user_photo_container">
<div class="user_photo" data-id="47658" style="background-color: #007b27;">
<span class="user_photo_text">II</span>
</div>
</div>
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/44191-%D1%81%D0%BF%D1%83%D1%82%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2%D0%B0%D1%8F-%D0%BA%D0%B0%D1%80%D1%82%D0%B0-2024-%D0%B3%D0%BE%D0%B4%D0%B0/?do=getNewComment" title="Спутниковая Карта 2024 Года">Спутниковая Карта 2024 Года</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to zlganmaarleyo8961's profile" class="ipsType_break" rel="nofollow">zlganmaarleyo8961</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/44191-%D1%81%D0%BF%D1%83%D1%82%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2%D0%B0%D1%8F-%D0%BA%D0%B0%D1%80%D1%82%D0%B0-2024-%D0%B3%D0%BE%D0%B4%D0%B0/?do=getLastComment" title="Go to last post"><time datetime="2024-12-12T01:57:49Z" title="12/12/2024 01:57 AM" data-short="2 dy">Thursday at 01:57 AM</time></a>
</li>
</ul>
</li>
</ol>
</li>
<li data-categoryid="70" class="cForumRow ipsBox ipsSpacer_bottom">
<h2 class="ipsType_sectionTitle ipsType_reset cForumTitle">
<a href="#" class="ipsPos_right ipsJS_show ipsType_noUnderline cForumToggle" data-action="toggleCategory" data-ipstooltip="" title="Toggle this category"></a>
<a href="https://community.oilprice.com/forum/70-general-markets-and-trading/">General Markets and Trading</a>
</h2>
<ol class="ipsDataList ipsDataList_large ipsDataList_zebra ipsAreaBackground_reset" data-role="forums">
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="58">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/58-geopolitics/">Geopolitics</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
<p>
The Geopolitics Forum focuses on all global politics. If it's related to oil please create a thread within the Oil General forum.
</p>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">45k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/22669-specinho/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/22669-specinho/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to specinho's profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2019_04/mydrawing2.thumb.jpg.f63255fb1c71f2d20580bc98432a9242.jpg" alt="specinho" itemprop="image">
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/34400-america-is-exceptional-in-its-political-divide/?do=getNewComment" title="America Is Exceptional in Its Political Divide">America Is Exceptional in Its Political Divide</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/22669-specinho/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/22669-specinho/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to specinho's profile" class="ipsType_break" rel="nofollow">specinho</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/34400-america-is-exceptional-in-its-political-divide/?do=getLastComment" title="Go to last post"><time datetime="2024-12-14T05:54:30Z" title="12/14/2024 05:54 AM" data-short="12 hr">12 hours ago</time></a>
</li>
</ul>
</li>
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="71">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/71-markets-trading/">Markets & Trading</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
<p>
The Markets & Trading Forum focuses on world markets, general trading, stock picks, bitcoin, cryptocurrencies, and more.
</p>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">7.7k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/49513-harosed/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/49513-harosed/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to Harosed's profile" rel="nofollow">
<img src="//s3.amazonaws.com/community.oilprice.com/monthly_2024_12/imported-photo-49513.thumb.png.9843fed7bf8d5ed4473b3693ad1dc2fe.png" alt="Harosed" itemprop="image">
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/11246-short-the-vix/?do=getNewComment" title="Short the VIX">Short the VIX</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/49513-harosed/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/49513-harosed/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to Harosed's profile" class="ipsType_break" rel="nofollow">Harosed</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/11246-short-the-vix/?do=getLastComment" title="Go to last post"><time datetime="2024-12-13T11:16:10Z" title="12/13/2024 11:16 AM" data-short="1 dy">Yesterday at 11:16 AM</time></a>
</li>
</ul>
</li>
</ol>
</li>
<li data-categoryid="76" class="cForumRow ipsBox ipsSpacer_bottom">
<h2 class="ipsType_sectionTitle ipsType_reset cForumTitle">
<a href="#" class="ipsPos_right ipsJS_show ipsType_noUnderline cForumToggle" data-action="toggleCategory" data-ipstooltip="" title="Toggle this category"></a>
<a href="https://community.oilprice.com/forum/76-other-energy-topics/">Other Energy Topics</a>
</h2>
<ol class="ipsDataList ipsDataList_large ipsDataList_zebra ipsAreaBackground_reset" data-role="forums">
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="68">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/68-infrastructure/">Infrastructure</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">1.2k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to zlganmaarleyo8961's profile" rel="nofollow">
<div class="user_photo_container">
<div class="user_photo" data-id="47658" style="background-color: #007b27;">
<span class="user_photo_text">II</span>
</div>
</div>
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/44194-%D0%B2%D0%B8%D1%82%D0%B8%D0%BD%D0%B0%D0%BD%D0%BA%D0%B8-%D0%BD%D0%B0-%D0%B2%D1%96%D0%BA%D0%BD%D0%B0-2024/?do=getNewComment" title="Витинанки На Вікна 2024">Витинанки На Вікна 2024</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to zlganmaarleyo8961's profile" class="ipsType_break" rel="nofollow">zlganmaarleyo8961</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/44194-%D0%B2%D0%B8%D1%82%D0%B8%D0%BD%D0%B0%D0%BD%D0%BA%D0%B8-%D0%BD%D0%B0-%D0%B2%D1%96%D0%BA%D0%BD%D0%B0-2024/?do=getLastComment" title="Go to last post"><time datetime="2024-12-12T01:59:31Z" title="12/12/2024 01:59 AM" data-short="2 dy">Thursday at 01:59 AM</time></a>
</li>
</ul>
</li>
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto ipsClearfix" data-forumid="47">
<div class="ipsDataItem_icon ipsDataItem_category">
<span class="ipsItemStatus ipsItemStatus_large cForumIcon_normal ipsItemStatus_read">
<i class="fa fa-comments"></i>
</span>
</div>
<div class="ipsDataItem_main">
<h4 class="ipsDataItem_title ipsType_break">
<a href="https://community.oilprice.com/forum/47-technology/">Technology</a>
</h4>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
<div class="ipsType_richText ipsDataItem_meta ipsContained" data-controller="core.front.core.lightboxedImages">
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global
ichText.phtml -->
</div>
<div class="ipsDataItem_stats ipsDataItem_statsLarge">
<dl>
<dt class="ipsDataItem_stats_number">4.9k</dt>
<dd class="ipsDataItem_stats_type ipsType_light"> posts</dd>
</dl>
</div>
<ul class="ipsDataItem_lastPoster ipsDataItem_withPhoto">
<li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard" class="ipsUserPhoto ipsUserPhoto_tiny mobile_stylings_profile_pic" title="Go to zlganmaarleyo8961's profile" rel="nofollow">
<div class="user_photo_container">
<div class="user_photo" data-id="47658" style="background-color: #007b27;">
<span class="user_photo_text">II</span>
</div>
</div>
</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userPhoto.phtml --></li>
<li class="ipsDataItem_lastPoster__title"><a href="https://community.oilprice.com/topic/44195-%D0%BF%D1%80%D0%B5%D0%B4%D1%81%D0%BA%D0%B0%D0%B7%D0%B0%D0%BD%D0%B8%D1%8F-%D0%B3%D0%BB%D0%BE%D0%B1%D1%8B-%D0%BD%D0%B0-2024-%D0%B3%D0%BE%D0%B4-%D0%B4%D0%BB%D1%8F-%D1%83%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D1%8B/?do=getNewComment" title="Предсказания Глобы На 2024 Год Для Украины">Предсказания Глобы На 2024 Год Для Украины</a></li>
<li class="ipsType_light ipsType_blendLinks">
By
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->
<a href="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/" data-ipshover="" data-ipshover-target="https://community.oilprice.com/profile/47658-zlganmaarleyo8961/?do=hovercard&referrer=https%253A%252F%252Fcommunity.oilprice.com%252F" title="Go to zlganmaarleyo8961's profile" class="ipsType_break" rel="nofollow">zlganmaarleyo8961</a>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\userLink.phtml -->,
<a href="https://community.oilprice.com/topic/44195-%D0%BF%D1%80%D0%B5%D0%B4%D1%81%D0%BA%D0%B0%D0%B7%D0%B0%D0%BD%D0%B8%D1%8F-%D0%B3%D0%BB%D0%BE%D0%B1%D1%8B-%D0%BD%D0%B0-2024-%D0%B3%D0%BE%D0%B4-%D0%B4%D0%BB%D1%8F-%D1%83%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D1%8B/?do=getLastComment" title="Go to last post"><time datetime="2024-12-12T02:00:05Z" title="12/12/2024 02:00 AM" data-short="2 dy">Thursday at 02:00 AM</time></a>
</li>
</ul>
</li>
</ol>
</li>
</ol>
</section>
<!-- template end C:\wamp64\www\websites\op-community hemes\htmlorumsront\index\index.phtml -->
</div>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\widgetContainer.phtml -->
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\widgetContainer.phtml -->
</div>
</div>
</main>
<footer id="ipsLayout_footer" class="ipsClearfix">
<div class="ipsLayout_container">
</div>
<p id="elCopyright">
<span id="elCopyright_userLine"></span>
<a rel="nofollow" title="Invision Community" href="https://www.invisioncommunity.com/">Powered by Invision Community</a>
</p>
<div class="footerLogoBanner">
<div class="ipsLayout_container">
<img src="https://oilprice.com/a/img/oilprice-logo-footer.png" alt="Oilprice - The No. 1 Source for Oil & Energy News" title="Oilprice - The No. 1 Source for Oil & Energy News">
<p class="footerLogoBanner__socialMedia">
<a class="footerLogoBanner__socialLink" href="https://www.facebook.com/oilpricenews" rel="external nofollow noopener" target="_blank"><i class="fa fa-facebook"></i></a>
<a class="footerLogoBanner__socialLink" href="https://twitter.com/OilandEnergy" rel="external nofollow noopener" target="_blank"><i class="fa fa-twitter"></i></a>
<a class="footerLogoBanner__socialLink" href="https://www.linkedin.com/company/oilprice-com?report%2Esuccess=KJ_KkFGTDCfMt-A7wV3Fn9Yvgwr02Kd6AZHGx4bQCDiP6-2rfP2oxyVoEQiPrcAQ7Bf" rel="external nofollow noopener" target="_blank"><i class="fa fa-linkedin-square"></i></a>
<a class="footerLogoBanner__socialLink" href="https://plus.google.com/100818571694606454377/posts" rel="external nofollow noopener" target="_blank"><i class="fa fa-google-plus"></i></a>
<a class="breakingNews__socialLink" href="http://feeds.feedburner.com/oilpricecom" rel="external publisher noopener" target="_blank"><img src="https://oilprice.com/a/img/common/icon-feedburner-large.png" height="28" width="26" alt=""></a>
<a class="footerLogoBanner__socialLink" href="http://oilprice.com/rss/main" rel="external nofollow noopener" target="_blank"><i class="fa fa-rss"></i></a>
</p>
<!-- /.breakingNews__socialMedia -->
</div>
<!-- /.siteContainer -->
</div>
<!-- /.footerLogoBanner -->
<div class="footer">
<div class="ipsLayout_container">
<div class="footerNavigation">
<div class="footerNavigation__column">
<ul class="footerNavigation__linkList">
<li class="footerNavigation__linkItem"><a href="http://oilprice.com/about-us" class="footerNavigation__link footerNavigation__link--title">More About Us</a></li>
<li class="footerNavigation__linkItem"><a href="http://oilprice.com/about-us" class="footerNavigation__link">About Us</a></li>
<li class="footerNavigation__linkItem"><a href="http://oilprice.com/Latest-Energy-News/World-News/" class="footerNavigation__link">Site News</a></li>
<li class="footerNavigation__linkItem"><a href="http://oilprice.com/Sitemap/" class="footerNavigation__link">Sitemap</a></li>
<li class="footerNavigation__linkItem"><a href="http://oilprice.com/advertising" class="footerNavigation__link">Advertise with us</a></li>
<li class="footerNavigation__linkItem"><a href="mailto:[email protected]" class="footerNavigation__link">Give us feedback</a></li>
</ul>
</div>
<!-- /.footerNavigation__column -->
<div class="footerNavigation__column">
<ul class="footerNavigation__linkList">
<li class="footerNavigation__linkItem"><a class="footerNavigation__link footerNavigation__link--title">Site info</a></li>
<li class="footerNavigation__linkItem"><a href="http://oilprice.com/terms-and-conditions" class="footerNavigation__link">Terms & Conditions</a></li>
<li class="footerNavigation__linkItem"><a href="http://oilprice.com/disclaimer" class="footerNavigation__link">Disclaimer</a></li>
<li class="footerNavigation__linkItem"><a href="http://oilprice.com/privacy-policy" class="footerNavigation__link">Privacy Policy</a></li>
<li class="footerNavigation__linkItem"><a href="http://oilprice.com/Sitemap" class="footerNavigation__link">Sitemap</a></li>
</ul>
</div>
<!-- /.footerNavigation__column -->
<div class="footerNavigation__column float_right footer_copyright">
<p class="copyrightText">© <a href="/">OilPrice.com</a><!-- | <a href="https://plus.google.com/100818571694606454377/posts" rel="external nofollow">Google+</a>--></p>
<p class="smallprint">The materials provided on this Web site are for informational and educational purposes only and are not intended to provide tax, legal, or investment advice.</p>
<p class="smallprint">Nothing contained on the Web site shall be considered a recommendation, solicitation, or offer to buy or sell a security to any person in any jurisdiction.</p>
<p class="smallprint">Merchant of Record: A Media Solutions trading as Oilprice.com</p>
</div>
</div>
<!-- /.footerNavigation -->
</div>
<!-- /.siteContainer -->
</div>
</footer>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\mobileNavigation.phtml -->
<div id="elMobileDrawer" class="ipsDrawer ipsHide">
<a href="#" class="ipsDrawer_close" data-action="close"><span>×</span></a>
<div class="ipsDrawer_menu">
<div class="ipsDrawer_content">
<div class="ipsSpacer_bottom ipsPad">
<ul class="ipsToolList ipsToolList_vertical">
<li>
<a href="https://community.oilprice.com/login/" class="ipsButton ipsButton_light ipsButton_small ipsButton_fullWidth">Login</a>
</li>
<li>
<a href="https://community.oilprice.com/register/" rel="nofollow" id="elRegisterButton_mobile" class="ipsButton ipsButton_small ipsButton_fullWidth ipsButton_important">Register</a>
</li>
</ul>
</div>
<ul class="ipsDrawer_list">
<li><a href="https://oilprice.com/">Back to Oilprice.com</a></li>
<li class="ipsDrawer_itemParent">
<h4 class="ipsDrawer_title"><a href="#">Browse</a></h4>
<ul class="ipsDrawer_list">
<li data-action="back"><a href="#">Back</a></li>
<li><a href="https://community.oilprice.com">Browse</a></li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\mobileNavigationChildren.phtml -->
<li>
<a href="https://community.oilprice.com">
Forums
</a>
</li>
<li>
<a href="https://community.oilprice.com/online/">
Online Users
</a>
</li>
<li>
<a href="https://community.oilprice.com/leaderboard/">
Leaderboard
</a>
</li>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\mobileNavigationChildren.phtml -->
</ul>
</li>
<li class="ipsDrawer_itemParent">
<h4 class="ipsDrawer_title"><a href="#">Activity</a></h4>
<ul class="ipsDrawer_list">
<li data-action="back"><a href="#">Back</a></li>
<li><a href="https://community.oilprice.com/discover/">Activity</a></li>
<!-- template start C:\wamp64\www\websites\op-community hemes\html\coreront\global\mobileNavigationChildren.phtml -->
<li>
<a href="https://community.oilprice.com/discover/">
Latest Discussions
</a>
</li>
<li>
<a href="https://community.oilprice.com/discover/8/">
All Activity
</a>
</li>
<li>
<a href="https://community.oilprice.com/search/" rel="nofollow">
Search
</a>
</li>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\mobileNavigationChildren.phtml -->
</ul>
</li>
<li><a href="https://community.oilprice.com/blogs/">Blogs</a></li>
<li><a href="https://community.oilprice.com/referafriend/">Refer a Friend</a></li>
</ul>
</div>
</div>
</div>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\mobileNavigation.phtml -->
<!-- template start C:\wamp64\www\websites\op-community hemes\html\core\global\global\includeJS.phtml -->
<script type="text/javascript">
var ipsDebug = false;
var CKEDITOR_BASEPATH = '//community.oilprice.com/applications/core/interface/ckeditor/ckeditor/';
var ipsSettings = {
cookie_domain: ".oilprice.com",
cookie_path: "/",
cookie_prefix: "ips4_",
cookie_ssl: true,
upload_imgURL: "https://community.oilprice.com/themes/2/resources/core/front/notifyIcons/upload.png",
message_imgURL: "https://community.oilprice.com/themes/2/resources/core/front/notifyIcons/message.png",
notification_imgURL: "https://community.oilprice.com/themes/2/resources/core/front/notifyIcons/notification.png",
baseURL: "//community.oilprice.com/",
jsURL: "//community.oilprice.com/applications/core/interface/js/js.php",
csrfKey: "f33f58e7e4d78326f74b23f36735b0d3",
antiCache: "222d4a16bf",
disableNotificationSounds: false,
useCompiledFiles: true,
links_external: true,
memberID: 0,
analyticsProvider: "none",
viewProfiles: true,
mapProvider: 'none',
mapApiKey: '',
};
</script>
<iframe height="0" width="0" style="display: none; visibility: hidden;"></iframe><script type="text/javascript" src="https://community.oilprice.com/uploads/javascript_global/root_library.js?v=222d4a16bf" data-ips=""></script>
<script type="text/javascript" src="https://community.oilprice.com/uploads/javascript_global/root_js_lang_1.js?v=222d4a16bf" data-ips=""></script>
<script type="text/javascript" src="https://community.oilprice.com/uploads/javascript_global/root_framework.js?v=222d4a16bf" data-ips=""></script>
<script type="text/javascript" src="https://community.oilprice.com/uploads/javascript_core/global_global_core.js?v=222d4a16bf" data-ips=""></script>
<script type="text/javascript" src="https://community.oilprice.com/uploads/javascript_global/root_front.js?v=222d4a16bf" data-ips=""></script>
<script type="text/javascript" src="https://community.oilprice.com/uploads/javascript_core/front_front_core.js?v=222d4a16bf" data-ips=""></script>
<script type="text/javascript" src="https://community.oilprice.com/uploads/javascript_forums/front_front_forum.js?v=222d4a16bf" data-ips=""></script>
<script type="text/javascript" src="https://community.oilprice.com/uploads/javascript_global/root_map.js?v=222d4a16bf" data-ips=""></script>
<script type="text/javascript">
ips.setSetting( 'date_format', jQuery.parseJSON('"mm\/dd\/yy"') );
ips.setSetting( 'date_first_day', jQuery.parseJSON('0') );
ips.setSetting( 'ipb_url_filter_option', jQuery.parseJSON('"none"') );
ips.setSetting( 'url_filter_any_action', jQuery.parseJSON('"allow"') );
ips.setSetting( 'bypass_profanity', jQuery.parseJSON('0') );
ips.setSetting( 'emoji_style', jQuery.parseJSON('"native"') );
ips.setSetting( 'emoji_shortcodes', jQuery.parseJSON('true') );
ips.setSetting( 'emoji_ascii', jQuery.parseJSON('true') );
ips.setSetting( 'emoji_cache', jQuery.parseJSON('1581415122') );
ips.setSetting( 'image_jpg_quality', jQuery.parseJSON('85') );
ips.setSetting( 'cloud2', jQuery.parseJSON('false') );
</script>
<script type="application/ld+json">
{
"@context": "http://www.schema.org",
"publisher": "https://community.oilprice.com/#organization",
"@type": "WebSite",
"@id": "https://community.oilprice.com/#website",
"mainEntityOfPage": "https://community.oilprice.com/",
"name": "Oil Price Community",
"url": "https://community.oilprice.com/",
"potentialAction": {
"type": "SearchAction",
"query-input": "required name=query",
"target": "https://community.oilprice.com/search/?q={query}"
},
"inLanguage": [
{
"@type": "Language",
"name": "English (USA)",
"alternateName": "en-US"
}
]
}
</script>
<script type="application/ld+json">
{
"@context": "http://www.schema.org",
"@type": "Organization",
"@id": "https://community.oilprice.com/#organization",
"mainEntityOfPage": "https://community.oilprice.com/",
"name": "Oil Price Community",
"url": "https://community.oilprice.com/",
"logo": {
"@type": "ImageObject",
"@id": "https://community.oilprice.com/#logo",
"url": "https://community.oilprice.com/uploads/monthly_2017_06/oilprice-logo.png.244a8b59653b7f47b94d0a9ec6967311.png"
}
}
</script>
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "ContactPage",
"url": "https://community.oilprice.com/contact/"
}
</script>
<script>
/**
* Intro.js v2.8.0-alpha.1
* https://github.com/usablica/intro.js
*
* Copyright (C) 2017 Afshin Mehrabani (@afshinmeh)
*/
(function (root, factory) {
if (typeof exports === 'object') {
// CommonJS
factory(exports);
} else if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['exports'], factory);
} else {
// Browser globals
factory(root);
}
} (this, function (exports) {
//Default config/variables
var VERSION = '2.8.0-alpha.1';
/**
* IntroJs main class
*
* @class IntroJs
*/
function IntroJs(obj) {
this._targetElement = obj;
this._introItems = [];
this._options = {
/* Next button label in tooltip box */
nextLabel: 'Next →',
/* Previous button label in tooltip box */
prevLabel: '← Back',
/* Skip button label in tooltip box */
skipLabel: 'Skip',
/* Done button label in tooltip box */
doneLabel: 'Done',
/* Hide previous button in the first step? Otherwise, it will be disabled button. */
hidePrev: false,
/* Hide next button in the last step? Otherwise, it will be disabled button. */
hideNext: false,
/* Default tooltip box position */
tooltipPosition: 'bottom',
/* Next CSS class for tooltip boxes */
tooltipClass: '',
/* CSS class that is added to the helperLayer */
highlightClass: '',
/* Close introduction when pressing Escape button? */
exitOnEsc: true,
/* Close introduction when clicking on overlay layer? */
exitOnOverlayClick: true,
/* Show step numbers in introduction? */
showStepNumbers: true,
/* Let user use keyboard to navigate the tour? */
keyboardNavigation: true,
/* Show tour control buttons? */
showButtons: true,
/* Show tour bullets? */
showBullets: true,
/* Show tour progress? */
showProgress: false,
/* Scroll to highlighted element? */
scrollToElement: true,
/*
* Should we scroll the tooltip or target element?
*
* Options are: 'element' or 'tooltip'
*/
scrollTo: 'element',
/* Padding to add after scrolling when element is not in the viewport (in pixels) */
scrollPadding: 30,
/* Set the overlay opacity */
overlayOpacity: 0.8,
/* Precedence of positions, when auto is enabled */
positionPrecedence: ["bottom", "top", "right", "left"],
/* Disable an interaction with element? */
disableInteraction: false,
/* Default hint position */
hintPosition: 'top-middle',
/* Hint button label */
hintButtonLabel: 'Got it',
/* Adding animation to hints? */
hintAnimation: true
};
}
/**
* Initiate a new introduction/guide from an element in the page
*
* @api private
* @method _introForElement
* @param {Object} targetElm
* @returns {Boolean} Success or not?
*/
function _introForElement(targetElm) {
var introItems = [],
self = this;
if (this._options.steps) {
//use steps passed programmatically
for (var i = 0, stepsLength = this._options.steps.length; i < stepsLength; i++) {
var currentItem = _cloneObject(this._options.steps[i]);
//set the step
currentItem.step = introItems.length + 1;
//use querySelector function only when developer used CSS selector
if (typeof (currentItem.element) === 'string') {
//grab the element with given selector from the page
currentItem.element = document.querySelector(currentItem.element);
}
//intro without element
if (typeof (currentItem.element) === 'undefined' || currentItem.element == null) {
var floatingElementQuery = document.querySelector(".introjsFloatingElement");
if (floatingElementQuery == null) {
floatingElementQuery = document.createElement('div');
floatingElementQuery.className = 'introjsFloatingElement';
document.body.appendChild(floatingElementQuery);
}
currentItem.element = floatingElementQuery;
currentItem.position = 'floating';
}
currentItem.scrollTo = currentItem.scrollTo || this._options.scrollTo;
if (typeof (currentItem.disableInteraction) === 'undefined') {
currentItem.disableInteraction = this._options.disableInteraction;
}
if (currentItem.element != null) {
introItems.push(currentItem);
}
}
} else {
//use steps from data-* annotations
var allIntroSteps = targetElm.querySelectorAll('*[data-intro]');
//if there's no element to intro
if (allIntroSteps.length < 1) {
return false;
}
//first add intro items with data-step
for (var i = 0, elmsLength = allIntroSteps.length; i < elmsLength; i++) {
var currentElement = allIntroSteps[i];
// skip hidden elements
if (currentElement.style.display == 'none') {
continue;
}
var step = parseInt(currentElement.getAttribute('data-step'), 10);
var disableInteraction = this._options.disableInteraction;
if (typeof (currentElement.getAttribute('data-disable-interaction')) != 'undefined') {
disableInteraction = !!currentElement.getAttribute('data-disable-interaction');
}
if (step > 0) {
introItems[step - 1] = {
element: currentElement,
intro: currentElement.getAttribute('data-intro'),
step: parseInt(currentElement.getAttribute('data-step'), 10),
tooltipClass: currentElement.getAttribute('data-tooltipClass'),
highlightClass: currentElement.getAttribute('data-highlightClass'),
position: currentElement.getAttribute('data-position') || this._options.tooltipPosition,
scrollTo: currentElement.getAttribute('data-scrollTo') || this._options.scrollTo,
disableInteraction: disableInteraction
};
}
}
//next add intro items without data-step
//todo: we need a cleanup here, two loops are redundant
var nextStep = 0;
for (var i = 0, elmsLength = allIntroSteps.length; i < elmsLength; i++) {
var currentElement = allIntroSteps[i];
if (currentElement.getAttribute('data-step') == null) {
while (true) {
if (typeof introItems[nextStep] == 'undefined') {
break;
} else {
nextStep++;
}
}
var disableInteraction = this._options.disableInteraction;
if (typeof (currentElement.getAttribute('data-disable-interaction')) != 'undefined') {
disableInteraction = !!currentElement.getAttribute('data-disable-interaction');
}
introItems[nextStep] = {
element: currentElement,
intro: currentElement.getAttribute('data-intro'),
step: nextStep + 1,
tooltipClass: currentElement.getAttribute('data-tooltipClass'),
highlightClass: currentElement.getAttribute('data-highlightClass'),
position: currentElement.getAttribute('data-position') || this._options.tooltipPosition,
scrollTo: currentElement.getAttribute('data-scrollTo') || this._options.scrollTo,
disableInteraction: disableInteraction
};
}
}
}
//removing undefined/null elements
var tempIntroItems = [];
for (var z = 0; z < introItems.length; z++) {
introItems[z] && tempIntroItems.push(introItems[z]); // copy non-empty values to the end of the array
}
introItems = tempIntroItems;
//Ok, sort all items with given steps
introItems.sort(function (a, b) {
return a.step - b.step;
});
//set it to the introJs object
self._introItems = introItems;
//add overlay layer to the page
if(_addOverlayLayer.call(self, targetElm)) {
//then, start the show
_nextStep.call(self);
var skipButton = targetElm.querySelector('.introjs-skipbutton'),
nextStepButton = targetElm.querySelector('.introjs-nextbutton');
self._onKeyDown = function(e) {
if (e.keyCode === 27 && self._options.exitOnEsc == true) {
//escape key pressed, exit the intro
//check if exit callback is defined
_exitIntro.call(self, targetElm);
} else if(e.keyCode === 37) {
//left arrow
_previousStep.call(self);
} else if (e.keyCode === 39) {
//right arrow
_nextStep.call(self);
} else if (e.keyCode === 13) {
//srcElement === ie
var target = e.target || e.srcElement;
if (target && target.className.indexOf('introjs-prevbutton') > 0) {
//user hit enter while focusing on previous button
_previousStep.call(self);
} else if (target && target.className.indexOf('introjs-skipbutton') > 0) {
//user hit enter while focusing on skip button
if (self._introItems.length - 1 == self._currentStep && typeof (self._introCompleteCallback) === 'function') {
self._introCompleteCallback.call(self);
}
_exitIntro.call(self, targetElm);
} else {
//default behavior for responding to enter
_nextStep.call(self);
}
//prevent default behaviour on hitting Enter, to prevent steps being skipped in some browsers
if(e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
}
};
self._onResize = function(e) {
self.refresh.call(self);
};
if (window.addEventListener) {
if (this._options.keyboardNavigation) {
window.addEventListener('keydown', self._onKeyDown, true);
}
//for window resize
window.addEventListener('resize', self._onResize, true);
} else if (document.attachEvent) { //IE
if (this._options.keyboardNavigation) {
document.attachEvent('onkeydown', self._onKeyDown);
}
//for window resize
document.attachEvent('onresize', self._onResize);
}
}
return false;
}
/*
* makes a copy of the object
* @api private
* @method _cloneObject
*/
function _cloneObject(object) {
if (object == null || typeof (object) != 'object' || typeof (object.nodeType) != 'undefined') {
return object;
}
var temp = {};
for (var key in object) {
if (typeof (jQuery) != 'undefined' && object[key] instanceof jQuery) {
temp[key] = object[key];
} else {
temp[key] = _cloneObject(object[key]);
}
}
return temp;
}
/**
* Go to specific step of introduction
*
* @api private
* @method _goToStep
*/
function _goToStep(step) {
//because steps starts with zero
this._currentStep = step - 2;
if (typeof (this._introItems) !== 'undefined') {
_nextStep.call(this);
}
}
/**
* Go to the specific step of introduction with the explicit [data-step] number
*
* @api private
* @method _goToStepNumber
*/
function _goToStepNumber(step) {
this._currentStepNumber = step;
if (typeof (this._introItems) !== 'undefined') {
_nextStep.call(this);
}
}
/**
* Go to next step on intro
*
* @api private
* @method _nextStep
*/
function _nextStep() {
this._direction = 'forward';
if (typeof (this._currentStepNumber) !== 'undefined') {
for( var i = 0, len = this._introItems.length; i < len; i++ ) {
var item = this._introItems[i];
if( item.step === this._currentStepNumber ) {
this._currentStep = i - 1;
this._currentStepNumber = undefined;
}
}
}
if (typeof (this._currentStep) === 'undefined') {
this._currentStep = 0;
} else {
++this._currentStep;
}
if (typeof (this._introBeforeChangeCallback) !== 'undefined') {
var continueStep = this._introBeforeChangeCallback.call(this);
}
// if `onbeforechange` returned `false`, stop displaying the element
if (continueStep === false) {
--this._currentStep;
return false;
}
if ((this._introItems.length) <= this._currentStep) {
//end of the intro
//check if any callback is defined
if (typeof (this._introCompleteCallback) === 'function') {
this._introCompleteCallback.call(this);
}
_exitIntro.call(this, this._targetElement);
return;
}
var nextStep = this._introItems[this._currentStep];
_showElement.call(this, nextStep);
}
/**
* Go to previous step on intro
*
* @api private
* @method _previousStep
*/
function _previousStep() {
this._direction = 'backward';
if (this._currentStep === 0) {
return false;
}
--this._currentStep;
if (typeof (this._introBeforeChangeCallback) !== 'undefined') {
var continueStep = this._introBeforeChangeCallback.call(this);
}
// if `onbeforechange` returned `false`, stop displaying the element
if (continueStep === false) {
++this._currentStep;
return false;
}
var nextStep = this._introItems[this._currentStep];
_showElement.call(this, nextStep);
}
/**
* Update placement of the intro objects on the screen
* @api private
*/
function _refresh() {
// re-align intros
_setHelperLayerPosition.call(this, document.querySelector('.introjs-helperLayer'));
_setHelperLayerPosition.call(this, document.querySelector('.introjs-tooltipReferenceLayer'));
_setHelperLayerPosition.call(this, document.querySelector('.introjs-disableInteraction'));
// re-align tooltip
if(this._currentStep !== undefined && this._currentStep !== null) {
var oldHelperNumberLayer = document.querySelector('.introjs-helperNumberLayer'),
oldArrowLayer = document.querySelector('.introjs-arrow'),
oldtooltipContainer = document.querySelector('.introjs-tooltip');
_placeTooltip.call(this, this._introItems[this._currentStep].element, oldtooltipContainer, oldArrowLayer, oldHelperNumberLayer);
}
//re-align hints
_reAlignHints.call(this);
return this;
}
/**
* Exit from intro
*
* @api private
* @method _exitIntro
* @param {Object} targetElement
* @param {Boolean} force - Setting to `true` will skip the result of beforeExit callback
*/
function _exitIntro(targetElement, force) {
var continueExit = true;
// calling onbeforeexit callback
//
// If this callback return `false`, it would halt the process
if (this._introBeforeExitCallback != undefined) {
continueExit = this._introBeforeExitCallback.call(self);
}
// skip this check if `force` parameter is `true`
// otherwise, if `onbeforeexit` returned `false`, don't exit the intro
if (!force && continueExit === false) return;
//remove overlay layers from the page
var overlayLayers = targetElement.querySelectorAll('.introjs-overlay');
if (overlayLayers && overlayLayers.length > 0) {
for (var i = overlayLayers.length - 1; i >= 0; i--) {
//for fade-out animation
var overlayLayer = overlayLayers[i];
overlayLayer.style.opacity = 0;
setTimeout(function () {
if (this.parentNode) {
this.parentNode.removeChild(this);
}
}.bind(overlayLayer), 500);
};
}
//remove all helper layers
var helperLayer = targetElement.querySelector('.introjs-helperLayer');
if (helperLayer) {
helperLayer.parentNode.removeChild(helperLayer);
}
var referenceLayer = targetElement.querySelector('.introjs-tooltipReferenceLayer');
if (referenceLayer) {
referenceLayer.parentNode.removeChild(referenceLayer);
}
//remove disableInteractionLayer
var disableInteractionLayer = targetElement.querySelector('.introjs-disableInteraction');
if (disableInteractionLayer) {
disableInteractionLayer.parentNode.removeChild(disableInteractionLayer);
}
//remove intro floating element
var floatingElement = document.querySelector('.introjsFloatingElement');
if (floatingElement) {
floatingElement.parentNode.removeChild(floatingElement);
}
_removeShowElement();
//remove `introjs-fixParent` class from the elements
var fixParents = document.querySelectorAll('.introjs-fixParent');
if (fixParents && fixParents.length > 0) {
for (var i = fixParents.length - 1; i >= 0; i--) {
fixParents[i].className = fixParents[i].className.replace(/introjs-fixParent/g, '').replace(/^\s+|\s+$/g, '');
}
}
//clean listeners
if (window.removeEventListener) {
window.removeEventListener('keydown', this._onKeyDown, true);
} else if (document.detachEvent) { //IE
document.detachEvent('onkeydown', this._onKeyDown);
}
//check if any callback is defined
if (this._introExitCallback != undefined) {
this._introExitCallback.call(self);
}
//set the step to zero
this._currentStep = undefined;
}
/**
* Render tooltip box in the page
*
* @api private
* @method _placeTooltip
* @param {HTMLElement} targetElement
* @param {HTMLElement} tooltipLayer
* @param {HTMLElement} arrowLayer
* @param {HTMLElement} helperNumberLayer
* @param {Boolean} hintMode
*/
function _placeTooltip(targetElement, tooltipLayer, arrowLayer, helperNumberLayer, hintMode) {
var tooltipCssClass = '',
currentStepObj,
tooltipOffset,
targetOffset,
windowSize,
currentTooltipPosition;
hintMode = hintMode || false;
//reset the old style
tooltipLayer.style.top = null;
tooltipLayer.style.right = null;
tooltipLayer.style.bottom = null;
tooltipLayer.style.left = null;
tooltipLayer.style.marginLeft = null;
tooltipLayer.style.marginTop = null;
arrowLayer.style.display = 'inherit';
if (typeof(helperNumberLayer) != 'undefined' && helperNumberLayer != null) {
helperNumberLayer.style.top = null;
helperNumberLayer.style.left = null;
}
//prevent error when `this._currentStep` is undefined
if (!this._introItems[this._currentStep]) return;
//if we have a custom css class for each step
currentStepObj = this._introItems[this._currentStep];
if (typeof (currentStepObj.tooltipClass) === 'string') {
tooltipCssClass = currentStepObj.tooltipClass;
} else {
tooltipCssClass = this._options.tooltipClass;
}
tooltipLayer.className = ('introjs-tooltip ' + tooltipCssClass).replace(/^\s+|\s+$/g, '');
currentTooltipPosition = this._introItems[this._currentStep].position;
if (currentTooltipPosition != "floating") { // Floating is always valid, no point in calculating
if (currentTooltipPosition === "auto") {
currentTooltipPosition = _determineAutoPosition.call(this, targetElement, tooltipLayer);
} else {
currentTooltipPosition = _determineAutoPosition.call(this, targetElement, tooltipLayer, currentTooltipPosition);
}
}
targetOffset = _getOffset(targetElement);
tooltipOffset = _getOffset(tooltipLayer);
windowSize = _getWinSize();
switch (currentTooltipPosition) {
case 'top':
arrowLayer.className = 'introjs-arrow bottom';
if (hintMode) {
var tooltipLayerStyleLeft = 0;
} else {
var tooltipLayerStyleLeft = 15;
}
_checkRight(targetOffset, tooltipLayerStyleLeft, tooltipOffset, windowSize, tooltipLayer);
tooltipLayer.style.bottom = (targetOffset.height + 20) + 'px';
break;
case 'right':
tooltipLayer.style.left = (targetOffset.width + 20) + 'px';
if (targetOffset.top + tooltipOffset.height > windowSize.height) {
// In this case, right would have fallen below the bottom of the screen.
// Modify so that the bottom of the tooltip connects with the target
arrowLayer.className = "introjs-arrow left-bottom";
tooltipLayer.style.top = "-" + (tooltipOffset.height - targetOffset.height - 20) + "px";
} else {
arrowLayer.className = 'introjs-arrow left';
}
break;
case 'left':
if (!hintMode && this._options.showStepNumbers == true) {
tooltipLayer.style.top = '15px';
}
if (targetOffset.top + tooltipOffset.height > windowSize.height) {
// In this case, left would have fallen below the bottom of the screen.
// Modify so that the bottom of the tooltip connects with the target
tooltipLayer.style.top = "-" + (tooltipOffset.height - targetOffset.height - 20) + "px";
arrowLayer.className = 'introjs-arrow right-bottom';
} else {
arrowLayer.className = 'introjs-arrow right';
}
tooltipLayer.style.right = (targetOffset.width + 20) + 'px';
break;
case 'floating':
arrowLayer.style.display = 'none';
//we have to adjust the top and left of layer manually for intro items without element
tooltipLayer.style.left = '50%';
tooltipLayer.style.top = '50%';
tooltipLayer.style.marginLeft = '-' + (tooltipOffset.width / 2) + 'px';
tooltipLayer.style.marginTop = '-' + (tooltipOffset.height / 2) + 'px';
if (typeof(helperNumberLayer) != 'undefined' && helperNumberLayer != null) {
helperNumberLayer.style.left = '-' + ((tooltipOffset.width / 2) + 18) + 'px';
helperNumberLayer.style.top = '-' + ((tooltipOffset.height / 2) + 18) + 'px';
}
break;
case 'bottom-right-aligned':
arrowLayer.className = 'introjs-arrow top-right';
var tooltipLayerStyleRight = 0;
_checkLeft(targetOffset, tooltipLayerStyleRight, tooltipOffset, tooltipLayer);
tooltipLayer.style.top = (targetOffset.height + 20) + 'px';
break;
case 'bottom-middle-aligned':
arrowLayer.className = 'introjs-arrow top-middle';
var tooltipLayerStyleLeftRight = targetOffset.width / 2 - tooltipOffset.width / 2;
// a fix for middle aligned hints
if (hintMode) {
tooltipLayerStyleLeftRight += 5;
}
if (_checkLeft(targetOffset, tooltipLayerStyleLeftRight, tooltipOffset, tooltipLayer)) {
tooltipLayer.style.right = null;
_checkRight(targetOffset, tooltipLayerStyleLeftRight, tooltipOffset, windowSize, tooltipLayer);
}
tooltipLayer.style.top = (targetOffset.height + 20) + 'px';
break;
case 'bottom-left-aligned':
// Bottom-left-aligned is the same as the default bottom
case 'bottom':
// Bottom going to follow the default behavior
default:
arrowLayer.className = 'introjs-arrow top';
var tooltipLayerStyleLeft = 0;
_checkRight(targetOffset, tooltipLayerStyleLeft, tooltipOffset, windowSize, tooltipLayer);
tooltipLayer.style.top = (targetOffset.height + 20) + 'px';
break;
}
}
/**
* Set tooltip left so it doesn't go off the right side of the window
*
* @return boolean true, if tooltipLayerStyleLeft is ok. false, otherwise.
*/
function _checkRight(targetOffset, tooltipLayerStyleLeft, tooltipOffset, windowSize, tooltipLayer) {
if (targetOffset.left + tooltipLayerStyleLeft + tooltipOffset.width > windowSize.width) {
// off the right side of the window
tooltipLayer.style.left = (windowSize.width - tooltipOffset.width - targetOffset.left) + 'px';
return false;
}
tooltipLayer.style.left = tooltipLayerStyleLeft + 'px';
return true;
}
/**
* Set tooltip right so it doesn't go off the left side of the window
*
* @return boolean true, if tooltipLayerStyleRight is ok. false, otherwise.
*/
function _checkLeft(targetOffset, tooltipLayerStyleRight, tooltipOffset, tooltipLayer) {
if (targetOffset.left + targetOffset.width - tooltipLayerStyleRight - tooltipOffset.width < 0) {
// off the left side of the window
tooltipLayer.style.left = (-targetOffset.left) + 'px';
return false;
}
tooltipLayer.style.right = tooltipLayerStyleRight + 'px';
return true;
}
/**
* Determines the position of the tooltip based on the position precedence and availability
* of screen space.
*
* @param {Object} targetElement
* @param {Object} tooltipLayer
* @param {Object} desiredTooltipPosition
*
*/
function _determineAutoPosition(targetElement, tooltipLayer, desiredTooltipPosition) {
// Take a clone of position precedence. These will be the available
var possiblePositions = this._options.positionPrecedence.slice();
var windowSize = _getWinSize();
var tooltipHeight = _getOffset(tooltipLayer).height + 10;
var tooltipWidth = _getOffset(tooltipLayer).width + 20;
var targetOffset = _getOffset(targetElement);
// If we check all the possible areas, and there are no valid places for the tooltip, the element
// must take up most of the screen real estate. Show the tooltip floating in the middle of the screen.
var calculatedPosition = "floating";
// Check if the width of the tooltip + the starting point would spill off the right side of the screen
// If no, neither bottom or top are valid
if (targetOffset.left + tooltipWidth > windowSize.width || ((targetOffset.left + (targetOffset.width / 2)) - tooltipWidth) < 0) {
_removeEntry(possiblePositions, "bottom");
_removeEntry(possiblePositions, "top");
} else {
// Check for space below
if ((targetOffset.height + targetOffset.top + tooltipHeight) > windowSize.height) {
_removeEntry(possiblePositions, "bottom");
}
// Check for space above
if (targetOffset.top - tooltipHeight < 0) {
_removeEntry(possiblePositions, "top");
}
}
// Check for space to the right
if (targetOffset.width + targetOffset.left + tooltipWidth > windowSize.width) {
_removeEntry(possiblePositions, "right");
}
// Check for space to the left
if (targetOffset.left - tooltipWidth < 0) {
_removeEntry(possiblePositions, "left");
}
// At this point, our array only has positions that are valid. Pick the first one, as it remains in order
if (possiblePositions.length > 0) {
calculatedPosition = possiblePositions[0];
}
// If the requested position is in the list, replace our calculated choice with that
if (desiredTooltipPosition && desiredTooltipPosition != "auto") {
if (possiblePositions.indexOf(desiredTooltipPosition) > -1) {
calculatedPosition = desiredTooltipPosition;
}
}
return calculatedPosition;
}
/**
* Remove an entry from a string array if it's there, does nothing if it isn't there.
*
* @param {Array} stringArray
* @param {String} stringToRemove
*/
function _removeEntry(stringArray, stringToRemove) {
if (stringArray.indexOf(stringToRemove) > -1) {
stringArray.splice(stringArray.indexOf(stringToRemove), 1);
}
}
/**
* Update the position of the helper layer on the screen
*
* @api private
* @method _setHelperLayerPosition
* @param {Object} helperLayer
*/
function _setHelperLayerPosition(helperLayer) {
if (helperLayer) {
//prevent error when `this._currentStep` in undefined
if (!this._introItems[this._currentStep]) return;
var currentElement = this._introItems[this._currentStep],
elementPosition = _getOffset(currentElement.element),
widthHeightPadding = 10;
// If the target element is fixed, the tooltip should be fixed as well.
// Otherwise, remove a fixed class that may be left over from the previous
// step.
if (_isFixed(currentElement.element)) {
helperLayer.className += ' introjs-fixedTooltip';
} else {
helperLayer.className = helperLayer.className.replace(' introjs-fixedTooltip', '');
}
if (currentElement.position == 'floating') {
widthHeightPadding = 0;
}
//set new position to helper layer
helperLayer.setAttribute('style', 'width: ' + (elementPosition.width + widthHeightPadding) + 'px; ' +
'height:' + (elementPosition.height + widthHeightPadding) + 'px; ' +
'top:' + (elementPosition.top - 5) + 'px;' +
'left: ' + (elementPosition.left - 5) + 'px;');
}
}
/**
* Add disableinteraction layer and adjust the size and position of the layer
*
* @api private
* @method _disableInteraction
*/
function _disableInteraction() {
var disableInteractionLayer = document.querySelector('.introjs-disableInteraction');
if (disableInteractionLayer === null) {
disableInteractionLayer = document.createElement('div');
disableInteractionLayer.className = 'introjs-disableInteraction';
this._targetElement.appendChild(disableInteractionLayer);
}
_setHelperLayerPosition.call(this, disableInteractionLayer);
}
/**
* Setting anchors to behave like buttons
*
* @api private
* @method _setAnchorAsButton
*/
function _setAnchorAsButton(anchor){
anchor.setAttribute('role', 'button');
anchor.tabIndex = 0;
}
/**
* Show an element on the page
*
* @api private
* @method _showElement
* @param {Object} targetElement
*/
function _showElement(targetElement) {
if (typeof (this._introChangeCallback) !== 'undefined') {
this._introChangeCallback.call(this, targetElement.element);
}
var self = this,
oldHelperLayer = document.querySelector('.introjs-helperLayer'),
oldReferenceLayer = document.querySelector('.introjs-tooltipReferenceLayer'),
highlightClass = 'introjs-helperLayer',
elementPosition = _getOffset(targetElement.element);
//check for a current step highlight class
if (typeof (targetElement.highlightClass) === 'string') {
highlightClass += (' ' + targetElement.highlightClass);
}
//check for options highlight class
if (typeof (this._options.highlightClass) === 'string') {
highlightClass += (' ' + this._options.highlightClass);
}
if (oldHelperLayer != null) {
var oldHelperNumberLayer = oldReferenceLayer.querySelector('.introjs-helperNumberLayer'),
oldtooltipLayer = oldReferenceLayer.querySelector('.introjs-tooltiptext'),
oldArrowLayer = oldReferenceLayer.querySelector('.introjs-arrow'),
oldtooltipContainer = oldReferenceLayer.querySelector('.introjs-tooltip'),
skipTooltipButton = oldReferenceLayer.querySelector('.introjs-skipbutton'),
prevTooltipButton = oldReferenceLayer.querySelector('.introjs-prevbutton'),
nextTooltipButton = oldReferenceLayer.querySelector('.introjs-nextbutton');
//update or reset the helper highlight class
oldHelperLayer.className = highlightClass;
//hide the tooltip
oldtooltipContainer.style.opacity = 0;
oldtooltipContainer.style.display = "none";
if (oldHelperNumberLayer != null) {
var lastIntroItem = this._introItems[(targetElement.step - 2 >= 0 ? targetElement.step - 2 : 0)];
if (lastIntroItem != null && (this._direction == 'forward' && lastIntroItem.position == 'floating') || (this._direction == 'backward' && targetElement.position == 'floating')) {
oldHelperNumberLayer.style.opacity = 0;
}
}
//set new position to helper layer
_setHelperLayerPosition.call(self, oldHelperLayer);
_setHelperLayerPosition.call(self, oldReferenceLayer);
//remove `introjs-fixParent` class from the elements
var fixParents = document.querySelectorAll('.introjs-fixParent');
if (fixParents && fixParents.length > 0) {
for (var i = fixParents.length - 1; i >= 0; i--) {
fixParents[i].className = fixParents[i].className.replace(/introjs-fixParent/g, '').replace(/^\s+|\s+$/g, '');
};
}
//remove old classes if the element still exist
_removeShowElement();
//we should wait until the CSS3 transition is competed (it's 0.3 sec) to prevent incorrect `height` and `width` calculation
if (self._lastShowElementTimer) {
clearTimeout(self._lastShowElementTimer);
}
self._lastShowElementTimer = setTimeout(function() {
//set current step to the label
if (oldHelperNumberLayer != null) {
oldHelperNumberLayer.innerHTML = targetElement.step;
}
//set current tooltip text
oldtooltipLayer.innerHTML = targetElement.intro;
//set the tooltip position
oldtooltipContainer.style.display = "block";
_placeTooltip.call(self, targetElement.element, oldtooltipContainer, oldArrowLayer, oldHelperNumberLayer);
//change active bullet
if (self._options.showBullets) {
oldReferenceLayer.querySelector('.introjs-bullets li > a.active').className = '';
oldReferenceLayer.querySelector('.introjs-bullets li > a[data-stepnumber="' + targetElement.step + '"]').className = 'active';
}
oldReferenceLayer.querySelector('.introjs-progress .introjs-progressbar').setAttribute('style', 'width:' + _getProgress.call(self) + '%;');
//show the tooltip
oldtooltipContainer.style.opacity = 1;
if (oldHelperNumberLayer) oldHelperNumberLayer.style.opacity = 1;
//reset button focus
if (typeof skipTooltipButton !== "undefined" && skipTooltipButton != null && /introjs-donebutton/gi.test(skipTooltipButton.className)) {
// skip button is now "done" button
skipTooltipButton.focus();
} else if (typeof nextTooltipButton !== "undefined" && nextTooltipButton != null) {
//still in the tour, focus on next
nextTooltipButton.focus();
}
// change the scroll of the window, if needed
_scrollTo.call(self, targetElement.scrollTo, targetElement, oldtooltipLayer);
}, 350);
// end of old element if-else condition
} else {
var helperLayer = document.createElement('div'),
referenceLayer = document.createElement('div'),
arrowLayer = document.createElement('div'),
tooltipLayer = document.createElement('div'),
tooltipTextLayer = document.createElement('div'),
bulletsLayer = document.createElement('div'),
progressLayer = document.createElement('div'),
buttonsLayer = document.createElement('div');
helperLayer.className = highlightClass;
referenceLayer.className = 'introjs-tooltipReferenceLayer';
//set new position to helper layer
_setHelperLayerPosition.call(self, helperLayer);
_setHelperLayerPosition.call(self, referenceLayer);
//add helper layer to target element
this._targetElement.appendChild(helperLayer);
this._targetElement.appendChild(referenceLayer);
arrowLayer.className = 'introjs-arrow';
tooltipTextLayer.className = 'introjs-tooltiptext';
tooltipTextLayer.innerHTML = targetElement.intro;
bulletsLayer.className = 'introjs-bullets';
if (this._options.showBullets === false) {
bulletsLayer.style.display = 'none';
}
var ulContainer = document.createElement('ul');
for (var i = 0, stepsLength = this._introItems.length; i < stepsLength; i++) {
var innerLi = document.createElement('li');
var anchorLink = document.createElement('a');
anchorLink.onclick = function() {
self.goToStep(this.getAttribute('data-stepnumber'));
};
if (i === (targetElement.step-1)) anchorLink.className = 'active';
_setAnchorAsButton(anchorLink);
anchorLink.innerHTML = " ";
anchorLink.setAttribute('data-stepnumber', this._introItems[i].step);
innerLi.appendChild(anchorLink);
ulContainer.appendChild(innerLi);
}
bulletsLayer.appendChild(ulContainer);
progressLayer.className = 'introjs-progress';
if (this._options.showProgress === false) {
progressLayer.style.display = 'none';
}
var progressBar = document.createElement('div');
progressBar.className = 'introjs-progressbar';
progressBar.setAttribute('style', 'width:' + _getProgress.call(this) + '%;');
progressLayer.appendChild(progressBar);
buttonsLayer.className = 'introjs-tooltipbuttons';
if (this._options.showButtons === false) {
buttonsLayer.style.display = 'none';
}
tooltipLayer.className = 'introjs-tooltip';
tooltipLayer.appendChild(tooltipTextLayer);
tooltipLayer.appendChild(bulletsLayer);
tooltipLayer.appendChild(progressLayer);
//add helper layer number
if (this._options.showStepNumbers == true) {
var helperNumberLayer = document.createElement('span');
helperNumberLayer.className = 'introjs-helperNumberLayer';
helperNumberLayer.innerHTML = targetElement.step;
referenceLayer.appendChild(helperNumberLayer);
}
tooltipLayer.appendChild(arrowLayer);
referenceLayer.appendChild(tooltipLayer);
//next button
var nextTooltipButton = document.createElement('a');
nextTooltipButton.onclick = function() {
if (self._introItems.length - 1 != self._currentStep) {
_nextStep.call(self);
}
};
_setAnchorAsButton(nextTooltipButton);
nextTooltipButton.innerHTML = this._options.nextLabel;
//previous button
var prevTooltipButton = document.createElement('a');
prevTooltipButton.onclick = function() {
if (self._currentStep != 0) {
_previousStep.call(self);
}
};
_setAnchorAsButton(prevTooltipButton);
prevTooltipButton.innerHTML = this._options.prevLabel;
//skip button
var skipTooltipButton = document.createElement('a');
skipTooltipButton.className = 'introjs-button introjs-skipbutton';
_setAnchorAsButton(skipTooltipButton);
skipTooltipButton.innerHTML = this._options.skipLabel;
skipTooltipButton.onclick = function() {
if (self._introItems.length - 1 == self._currentStep && typeof (self._introCompleteCallback) === 'function') {
self._introCompleteCallback.call(self);
}
_exitIntro.call(self, self._targetElement);
};
buttonsLayer.appendChild(skipTooltipButton);
//in order to prevent displaying next/previous button always
if (this._introItems.length > 1) {
buttonsLayer.appendChild(prevTooltipButton);
buttonsLayer.appendChild(nextTooltipButton);
}
tooltipLayer.appendChild(buttonsLayer);
//set proper position
_placeTooltip.call(self, targetElement.element, tooltipLayer, arrowLayer, helperNumberLayer);
// change the scroll of the window, if needed
_scrollTo.call(this, targetElement.scrollTo, targetElement, tooltipLayer);
//end of new element if-else condition
}
// removing previous disable interaction layer
var disableInteractionLayer = self._targetElement.querySelector('.introjs-disableInteraction');
if (disableInteractionLayer) {
disableInteractionLayer.parentNode.removeChild(disableInteractionLayer);
}
//disable interaction
if (targetElement.disableInteraction) {
_disableInteraction.call(self);
}
if (typeof nextTooltipButton !== "undefined" && nextTooltipButton != null) {
nextTooltipButton.removeAttribute('tabIndex');
}
if (typeof prevTooltipButton !== "undefined" && prevTooltipButton != null) {
prevTooltipButton.removeAttribute('tabIndex');
}
// when it's the first step of tour
if (this._currentStep == 0 && this._introItems.length > 1) {
if (typeof skipTooltipButton !== "undefined" && skipTooltipButton != null) {
skipTooltipButton.className = 'introjs-button introjs-skipbutton';
}
if (typeof nextTooltipButton !== "undefined" && nextTooltipButton != null) {
nextTooltipButton.className = 'introjs-button introjs-nextbutton';
}
if (this._options.hidePrev == true) {
if (typeof prevTooltipButton !== "undefined" && prevTooltipButton != null) {
prevTooltipButton.className = 'introjs-button introjs-prevbutton introjs-hidden';
}
if (typeof nextTooltipButton !== "undefined" && nextTooltipButton != null) {
nextTooltipButton.className += ' introjs-fullbutton';
}
} else {
if (typeof prevTooltipButton !== "undefined" && prevTooltipButton != null) {
prevTooltipButton.className = 'introjs-button introjs-prevbutton introjs-disabled';
}
}
if (typeof prevTooltipButton !== "undefined" && prevTooltipButton != null) {
prevTooltipButton.tabIndex = '-1';
}
if (typeof skipTooltipButton !== "undefined" && skipTooltipButton != null) {
skipTooltipButton.innerHTML = this._options.skipLabel;
}
} else if (this._introItems.length - 1 == this._currentStep || this._introItems.length == 1) {
// last step of tour
if (typeof skipTooltipButton !== "undefined" && skipTooltipButton != null) {
skipTooltipButton.innerHTML = this._options.doneLabel;
// adding donebutton class in addition to skipbutton
skipTooltipButton.className += ' introjs-donebutton';
}
if (typeof prevTooltipButton !== "undefined" && prevTooltipButton != null) {
prevTooltipButton.className = 'introjs-button introjs-prevbutton';
}
if (this._options.hideNext == true) {
if (typeof nextTooltipButton !== "undefined" && nextTooltipButton != null) {
nextTooltipButton.className = 'introjs-button introjs-nextbutton introjs-hidden';
}
if (typeof prevTooltipButton !== "undefined" && prevTooltipButton != null) {
prevTooltipButton.className += ' introjs-fullbutton';
}
} else {
if (typeof nextTooltipButton !== "undefined" && nextTooltipButton != null) {
nextTooltipButton.className = 'introjs-button introjs-nextbutton introjs-disabled';
}
}
if (typeof nextTooltipButton !== "undefined" && nextTooltipButton != null) {
nextTooltipButton.tabIndex = '-1';
}
} else {
// steps between start and end
if (typeof skipTooltipButton !== "undefined" && skipTooltipButton != null) {
skipTooltipButton.className = 'introjs-button introjs-skipbutton';
}
if (typeof prevTooltipButton !== "undefined" && prevTooltipButton != null) {
prevTooltipButton.className = 'introjs-button introjs-prevbutton';
}
if (typeof nextTooltipButton !== "undefined" && nextTooltipButton != null) {
nextTooltipButton.className = 'introjs-button introjs-nextbutton';
}
if (typeof skipTooltipButton !== "undefined" && skipTooltipButton != null) {
skipTooltipButton.innerHTML = this._options.skipLabel;
}
}
//Set focus on "next" button, so that hitting Enter always moves you onto the next step
if (typeof nextTooltipButton !== "undefined" && nextTooltipButton != null) {
nextTooltipButton.focus();
}
_setShowElement(targetElement);
if (typeof (this._introAfterChangeCallback) !== 'undefined') {
this._introAfterChangeCallback.call(this, targetElement.element);
}
}
/**
* To change the scroll of `window` after highlighting an element
*
* @api private
* @method _scrollTo
* @param {String} scrollTo
* @param {Object} targetElement
* @param {Object} tooltipLayer
*/
function _scrollTo(scrollTo, targetElement, tooltipLayer) {
if (!this._options.scrollToElement) return;
if (scrollTo === 'tooltip') {
var rect = tooltipLayer.getBoundingClientRect();
} else {
var rect = targetElement.element.getBoundingClientRect();
}
if (!_elementInViewport(targetElement.element)) {
var winHeight = _getWinSize().height;
var top = rect.bottom - (rect.bottom - rect.top);
var bottom = rect.bottom - winHeight;
// TODO (afshinm): do we need scroll padding now?
// I have changed the scroll option and now it scrolls the window to
// the center of the target element or tooltip.
if (top < 0 || targetElement.element.clientHeight > winHeight) {
window.scrollBy(0, rect.top - ((winHeight / 2) - (rect.height / 2)) - this._options.scrollPadding); // 30px padding from edge to look nice
//Scroll down
} else {
window.scrollBy(0, rect.top - ((winHeight / 2) - (rect.height / 2)) + this._options.scrollPadding); // 30px padding from edge to look nice
}
}
}
/**
* To remove all show element(s)
*
* @api private
* @method _removeShowElement
*/
function _removeShowElement() {
var elms = document.querySelectorAll('.introjs-showElement');
for (var i = 0, l = elms.length; i < l; i++) {
var elm = elms[i];
_removeClass(elm, /introjs-[a-zA-Z]+/g);
}
}
/**
* To set the show element
* This function set a relative (in most cases) position and changes the z-index
*
* @api private
* @method _setShowElement
* @param {Object} targetElement
*/
function _setShowElement(targetElement) {
// we need to add this show element class to the parent of SVG elements
// because the SVG elements can't have independent z-index
if (targetElement.element instanceof SVGElement) {
var parentElm = targetElement.element.parentNode;
while (targetElement.element.parentNode != null) {
if (!parentElm.tagName || parentElm.tagName.toLowerCase() === 'body') break;
if (parentElm.tagName.toLowerCase() === 'svg') {
_setClass(parentElm, 'introjs-showElement introjs-relativePosition');
}
parentElm = parentElm.parentNode;
}
}
_setClass(targetElement.element, 'introjs-showElement');
var currentElementPosition = _getPropValue(targetElement.element, 'position');
if (currentElementPosition !== 'absolute' &&
currentElementPosition !== 'relative' &&
currentElementPosition !== 'fixed') {
//change to new intro item
//targetElement.element.className += ' introjs-relativePosition';
_setClass(targetElement.element, 'introjs-relativePosition')
}
var parentElm = targetElement.element.parentNode;
while (parentElm != null) {
if (!parentElm.tagName || parentElm.tagName.toLowerCase() === 'body') break;
//fix The Stacking Context problem.
//More detail: https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Understanding_z_index/The_stacking_context
var zIndex = _getPropValue(parentElm, 'z-index');
var opacity = parseFloat(_getPropValue(parentElm, 'opacity'));
var transform = _getPropValue(parentElm, 'transform') || _getPropValue(parentElm, '-webkit-transform') || _getPropValue(parentElm, '-moz-transform') || _getPropValue(parentElm, '-ms-transform') || _getPropValue(parentElm, '-o-transform');
if (/[0-9]+/.test(zIndex) || opacity < 1 || (transform !== 'none' && transform !== undefined)) {
parentElm.className += ' introjs-fixParent';
}
parentElm = parentElm.parentNode;
}
}
function _setClass(element, className) {
if (element instanceof SVGElement) {
var pre = element.getAttribute('class') || '';
element.setAttribute('class', pre + ' ' + className);
} else {
element.className += ' ' + className;
}
}
function _removeClass(element, classNameRegex) {
if (element instanceof SVGElement) {
var pre = element.getAttribute('class') || '';
element.setAttribute('class', pre.replace(classNameRegex, '').replace(/^\s+|\s+$/g, ''));
} else {
element.className = element.className.replace(classNameRegex, '').replace(/^\s+|\s+$/g, '');
}
}
/**
* Get an element CSS property on the page
* Thanks to JavaScript Kit: http://www.javascriptkit.com/dhtmltutors/dhtmlcascade4.shtml
*
* @api private
* @method _getPropValue
* @param {Object} element
* @param {String} propName
* @returns Element's property value
*/
function _getPropValue (element, propName) {
var propValue = '';
if (element.currentStyle) { //IE
propValue = element.currentStyle[propName];
} else if (document.defaultView && document.defaultView.getComputedStyle) { //Others
propValue = document.defaultView.getComputedStyle(element, null).getPropertyValue(propName);
}
//Prevent exception in IE
if (propValue && propValue.toLowerCase) {
return propValue.toLowerCase();
} else {
return propValue;
}
}
/**
* Checks to see if target element (or parents) position is fixed or not
*
* @api private
* @method _isFixed
* @param {Object} element
* @returns Boolean
*/
function _isFixed (element) {
var p = element.parentNode;
if (!p || p.nodeName === 'HTML') {
return false;
}
if (_getPropValue(element, 'position') == 'fixed') {
return true;
}
return _isFixed(p);
}
/**
* Provides a cross-browser way to get the screen dimensions
* via: http://stackoverflow.com/questions/5864467/internet-explorer-innerheight
*
* @api private
* @method _getWinSize
* @returns {Object} width and height attributes
*/
function _getWinSize() {
if (window.innerWidth != undefined) {
return { width: window.innerWidth, height: window.innerHeight };
} else {
var D = document.documentElement;
return { width: D.clientWidth, height: D.clientHeight };
}
}
/**
* Check to see if the element is in the viewport or not
* http://stackoverflow.com/questions/123999/how-to-tell-if-a-dom-element-is-visible-in-the-current-viewport
*
* @api private
* @method _elementInViewport
* @param {Object} el
*/
function _elementInViewport(el) {
var rect = el.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
(rect.bottom+80) <= window.innerHeight && // add 80 to get the text right
rect.right <= window.innerWidth
);
}
/**
* Add overlay layer to the page
*
* @api private
* @method _addOverlayLayer
* @param {Object} targetElm
*/
function _addOverlayLayer(targetElm) {
var overlayLayer = document.createElement('div'),
styleText = '',
self = this;
//set css class name
overlayLayer.className = 'introjs-overlay';
//check if the target element is body, we should calculate the size of overlay layer in a better way
if (!targetElm.tagName || targetElm.tagName.toLowerCase() === 'body') {
styleText += 'top: 0;bottom: 0; left: 0;right: 0;position: fixed;';
overlayLayer.setAttribute('style', styleText);
} else {
//set overlay layer position
var elementPosition = _getOffset(targetElm);
if (elementPosition) {
styleText += 'width: ' + elementPosition.width + 'px; height:' + elementPosition.height + 'px; top:' + elementPosition.top + 'px;left: ' + elementPosition.left + 'px;';
overlayLayer.setAttribute('style', styleText);
}
}
targetElm.appendChild(overlayLayer);
overlayLayer.onclick = function() {
if (self._options.exitOnOverlayClick == true) {
_exitIntro.call(self, targetElm);
}
};
setTimeout(function() {
styleText += 'opacity: ' + self._options.overlayOpacity.toString() + ';';
overlayLayer.setAttribute('style', styleText);
}, 10);
return true;
}
/**
* Removes open hint (tooltip hint)
*
* @api private
* @method _removeHintTooltip
*/
function _removeHintTooltip() {
var tooltip = this._targetElement.querySelector('.introjs-hintReference');
if (tooltip) {
var step = tooltip.getAttribute('data-step');
tooltip.parentNode.removeChild(tooltip);
return step;
}
}
/**
* Start parsing hint items
*
* @api private
* @param {Object} targetElm
* @method _startHint
*/
function _populateHints(targetElm) {
var self = this;
this._introItems = [];
if (this._options.hints) {
for (var i = 0, l = this._options.hints.length; i < l; i++) {
var currentItem = _cloneObject(this._options.hints[i]);
if (typeof(currentItem.element) === 'string') {
//grab the element with given selector from the page
currentItem.element = document.querySelector(currentItem.element);
}
currentItem.hintPosition = currentItem.hintPosition || this._options.hintPosition;
currentItem.hintAnimation = currentItem.hintAnimation || this._options.hintAnimation;
if (currentItem.element != null) {
this._introItems.push(currentItem);
}
}
} else {
var hints = targetElm.querySelectorAll('*[data-hint]');
if (hints.length < 1) {
return false;
}
//first add intro items with data-step
for (var i = 0, l = hints.length; i < l; i++) {
var currentElement = hints[i];
// hint animation
var hintAnimation = currentElement.getAttribute('data-hintAnimation');
if (hintAnimation) {
hintAnimation = (hintAnimation == 'true');
} else {
hintAnimation = this._options.hintAnimation;
}
this._introItems.push({
element: currentElement,
hint: currentElement.getAttribute('data-hint'),
hintPosition: currentElement.getAttribute('data-hintPosition') || this._options.hintPosition,
hintAnimation: hintAnimation,
tooltipClass: currentElement.getAttribute('data-tooltipClass'),
position: currentElement.getAttribute('data-position') || this._options.tooltipPosition
});
}
}
_addHints.call(this);
if (document.addEventListener) {
document.addEventListener('click', _removeHintTooltip.bind(this), false);
//for window resize
window.addEventListener('resize', _reAlignHints.bind(this), true);
} else if (document.attachEvent) { //IE
//for window resize
document.attachEvent('onclick', _removeHintTooltip.bind(this));
document.attachEvent('onresize', _reAlignHints.bind(this));
}
}
/**
* Re-aligns all hint elements
*
* @api private
* @method _reAlignHints
*/
function _reAlignHints() {
for (var i = 0, l = this._introItems.length; i < l; i++) {
var item = this._introItems[i];
if (typeof (item.targetElement) == 'undefined') continue;
_alignHintPosition.call(this, item.hintPosition, item.element, item.targetElement)
}
}
/**
* Hide a hint
*
* @api private
* @method _hideHint
*/
function _hideHint(stepId) {
_removeHintTooltip.call(this);
var hint = this._targetElement.querySelector('.introjs-hint[data-step="' + stepId + '"]');
if (hint) {
hint.className += ' introjs-hidehint';
}
// call the callback function (if any)
if (typeof (this._hintCloseCallback) !== 'undefined') {
this._hintCloseCallback.call(this, stepId);
}
}
/**
* Hide all hints
*
* @api private
* @method _hideHints
*/
function _hideHints() {
var hints = this._targetElement.querySelectorAll('.introjs-hint');
if (hints && hints.length > 0) {
for (var i = 0; i < hints.length; i++) {
_hideHint.call(this, hints[i].getAttribute('data-step'));
}
}
}
/**
* Show all hints
*
* @api private
* @method _showHints
*/
function _showHints() {
var hints = this._targetElement.querySelectorAll('.introjs-hint');
if (hints && hints.length > 0) {
for (var i = 0; i < hints.length; i++) {
_showHint.call(this, hints[i].getAttribute('data-step'));
}
} else {
_populateHints.call(this, this._targetElement);
}
};
/**
* Show a hint
*
* @api private
* @method _showHint
*/
function _showHint(stepId) {
var hint = this._targetElement.querySelector('.introjs-hint[data-step="' + stepId + '"]');
if (hint) {
hint.className = hint.className.replace(/introjs\-hidehint/g, '');
}
};
/**
* Removes all hint elements on the page
* Useful when you want to destroy the elements and add them again (e.g. a modal or popup)
*
* @api private
* @method _removeHints
*/
function _removeHints() {
var hints = this._targetElement.querySelectorAll('.introjs-hint');
if (hints && hints.length > 0) {
for (var i = 0; i < hints.length; i++) {
_removeHint.call(this, hints[i].getAttribute('data-step'));
}
}
};
/**
* Remove one single hint element from the page
* Useful when you want to destroy the element and add them again (e.g. a modal or popup)
* Use removeHints if you want to remove all elements.
*
* @api private
* @method _removeHint
*/
function _removeHint(stepId) {
var hint = this._targetElement.querySelector('.introjs-hint[data-step="' + stepId + '"]');
if (hint) {
hint.parentNode.removeChild(hint);
}
};
/**
* Add all available hints to the page
*
* @api private
* @method _addHints
*/
function _addHints() {
var self = this;
var oldHintsWrapper = document.querySelector('.introjs-hints');
if (oldHintsWrapper != null) {
hintsWrapper = oldHintsWrapper;
} else {
var hintsWrapper = document.createElement('div');
hintsWrapper.className = 'introjs-hints';
}
for (var i = 0, l = this._introItems.length; i < l; i++) {
var item = this._introItems[i];
// avoid append a hint twice
if (document.querySelector('.introjs-hint[data-step="' + i + '"]'))
continue;
var hint = document.createElement('a');
_setAnchorAsButton(hint);
(function (hint, item, i) {
// when user clicks on the hint element
hint.onclick = function(e) {
var evt = e ? e : window.event;
if (evt.stopPropagation) evt.stopPropagation();
if (evt.cancelBubble != null) evt.cancelBubble = true;
_showHintDialog.call(self, i);
};
}(hint, item, i));
hint.className = 'introjs-hint';
if (!item.hintAnimation) {
hint.className += ' introjs-hint-no-anim';
}
// hint's position should be fixed if the target element's position is fixed
if (_isFixed(item.element)) {
hint.className += ' introjs-fixedhint';
}
var hintDot = document.createElement('div');
hintDot.className = 'introjs-hint-dot';
var hintPulse = document.createElement('div');
hintPulse.className = 'introjs-hint-pulse';
hint.appendChild(hintDot);
hint.appendChild(hintPulse);
hint.setAttribute('data-step', i);
// we swap the hint element with target element
// because _setHelperLayerPosition uses `element` property
item.targetElement = item.element;
item.element = hint;
// align the hint position
_alignHintPosition.call(this, item.hintPosition, hint, item.targetElement);
hintsWrapper.appendChild(hint);
}
// adding the hints wrapper
document.body.appendChild(hintsWrapper);
// call the callback function (if any)
if (typeof (this._hintsAddedCallback) !== 'undefined') {
this._hintsAddedCallback.call(this);
}
}
/**
* Aligns hint position
*
* @api private
* @method _alignHintPosition
* @param {String} position
* @param {Object} hint
* @param {Object} element
*/
function _alignHintPosition(position, hint, element) {
// get/calculate offset of target element
var offset = _getOffset.call(this, element);
var iconWidth = 20;
var iconHeight = 20;
// align the hint element
switch (position) {
default:
case 'top-left':
hint.style.left = offset.left + 'px';
hint.style.top = offset.top + 'px';
break;
case 'top-right':
hint.style.left = (offset.left + offset.width - iconWidth) + 'px';
hint.style.top = offset.top + 'px';
break;
case 'bottom-left':
hint.style.left = offset.left + 'px';
hint.style.top = (offset.top + offset.height - iconHeight) + 'px';
break;
case 'bottom-right':
hint.style.left = (offset.left + offset.width - iconWidth) + 'px';
hint.style.top = (offset.top + offset.height - iconHeight) + 'px';
break;
case 'middle-left':
hint.style.left = offset.left + 'px';
hint.style.top = (offset.top + (offset.height - iconHeight) / 2) + 'px';
break;
case 'middle-right':
hint.style.left = (offset.left + offset.width - iconWidth) + 'px';
hint.style.top = (offset.top + (offset.height - iconHeight) / 2) + 'px';
break;
case 'middle-middle':
hint.style.left = (offset.left + (offset.width - iconWidth) / 2) + 'px';
hint.style.top = (offset.top + (offset.height - iconHeight) / 2) + 'px';
break;
case 'bottom-middle':
hint.style.left = (offset.left + (offset.width - iconWidth) / 2) + 'px';
hint.style.top = (offset.top + offset.height - iconHeight) + 'px';
break;
case 'top-middle':
hint.style.left = (offset.left + (offset.width - iconWidth) / 2) + 'px';
hint.style.top = offset.top + 'px';
break;
}
}
/**
* Triggers when user clicks on the hint element
*
* @api private
* @method _showHintDialog
* @param {Number} stepId
*/
function _showHintDialog(stepId) {
var hintElement = document.querySelector('.introjs-hint[data-step="' + stepId + '"]');
var item = this._introItems[stepId];
// call the callback function (if any)
if (typeof (this._hintClickCallback) !== 'undefined') {
this._hintClickCallback.call(this, hintElement, item, stepId);
}
// remove all open tooltips
var removedStep = _removeHintTooltip.call(this);
// to toggle the tooltip
if (parseInt(removedStep, 10) == stepId) {
return;
}
var tooltipLayer = document.createElement('div');
var tooltipTextLayer = document.createElement('div');
var arrowLayer = document.createElement('div');
var referenceLayer = document.createElement('div');
tooltipLayer.className = 'introjs-tooltip';
tooltipLayer.onclick = function (e) {
//IE9 & Other Browsers
if (e.stopPropagation) {
e.stopPropagation();
}
//IE8 and Lower
else {
e.cancelBubble = true;
}
};
tooltipTextLayer.className = 'introjs-tooltiptext';
var tooltipWrapper = document.createElement('p');
tooltipWrapper.innerHTML = item.hint;
var closeButton = document.createElement('a');
closeButton.className = 'introjs-button';
closeButton.innerHTML = this._options.hintButtonLabel;
closeButton.onclick = _hideHint.bind(this, stepId);
tooltipTextLayer.appendChild(tooltipWrapper);
tooltipTextLayer.appendChild(closeButton);
arrowLayer.className = 'introjs-arrow';
tooltipLayer.appendChild(arrowLayer);
tooltipLayer.appendChild(tooltipTextLayer);
// set current step for _placeTooltip function
this._currentStep = hintElement.getAttribute('data-step');
// align reference layer position
referenceLayer.className = 'introjs-tooltipReferenceLayer introjs-hintReference';
referenceLayer.setAttribute('data-step', hintElement.getAttribute('data-step'));
_setHelperLayerPosition.call(this, referenceLayer);
referenceLayer.appendChild(tooltipLayer);
document.body.appendChild(referenceLayer);
//set proper position
_placeTooltip.call(this, hintElement, tooltipLayer, arrowLayer, null, true);
}
/**
* Get an element position on the page
* Thanks to `meouw`: http://stackoverflow.com/a/442474/375966
*
* @api private
* @method _getOffset
* @param {Object} element
* @returns Element's position info
*/
function _getOffset(element) {
var elementPosition = {};
var body = document.body;
var docEl = document.documentElement;
var scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;
var scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;
if (element instanceof SVGElement) {
var x = element.getBoundingClientRect()
elementPosition.top = x.top + scrollTop;
elementPosition.width = x.width;
elementPosition.height = x.height;
elementPosition.left = x.left + scrollLeft;
} else {
//set width
elementPosition.width = element.offsetWidth;
//set height
elementPosition.height = element.offsetHeight;
//calculate element top and left
var _x = 0;
var _y = 0;
while (element && !isNaN(element.offsetLeft) && !isNaN(element.offsetTop)) {
_x += element.offsetLeft;
_y += element.offsetTop;
element = element.offsetParent;
}
//set top
elementPosition.top = _y;
//set left
elementPosition.left = _x;
}
return elementPosition;
}
/**
* Gets the current progress percentage
*
* @api private
* @method _getProgress
* @returns current progress percentage
*/
function _getProgress() {
// Steps are 0 indexed
var currentStep = parseInt((this._currentStep + 1), 10);
return ((currentStep / this._introItems.length) * 100);
}
/**
* Overwrites obj1's values with obj2's and adds obj2's if non existent in obj1
* via: http://stackoverflow.com/questions/171251/how-can-i-merge-properties-of-two-javascript-objects-dynamically
*
* @param obj1
* @param obj2
* @returns obj3 a new object based on obj1 and obj2
*/
function _mergeOptions(obj1,obj2) {
var obj3 = {};
for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
return obj3;
}
var introJs = function (targetElm) {
if (typeof (targetElm) === 'object') {
//Ok, create a new instance
return new IntroJs(targetElm);
} else if (typeof (targetElm) === 'string') {
//select the target element with query selector
var targetElement = document.querySelector(targetElm);
if (targetElement) {
return new IntroJs(targetElement);
} else {
throw new Error('There is no element with given selector.');
}
} else {
return new IntroJs(document.body);
}
};
/**
* Current IntroJs version
*
* @property version
* @type String
*/
introJs.version = VERSION;
//Prototype
introJs.fn = IntroJs.prototype = {
clone: function () {
return new IntroJs(this);
},
setOption: function(option, value) {
this._options[option] = value;
return this;
},
setOptions: function(options) {
this._options = _mergeOptions(this._options, options);
return this;
},
start: function () {
_introForElement.call(this, this._targetElement);
return this;
},
goToStep: function(step) {
_goToStep.call(this, step);
return this;
},
addStep: function(options) {
if (!this._options.steps) {
this._options.steps = [];
}
this._options.steps.push(options);
return this;
},
addSteps: function(steps) {
if (!steps.length) return;
for(var index = 0; index < steps.length; index++) {
this.addStep(steps[index]);
}
return this;
},
goToStepNumber: function(step) {
_goToStepNumber.call(this, step);
return this;
},
nextStep: function() {
_nextStep.call(this);
return this;
},
previousStep: function() {
_previousStep.call(this);
return this;
},
exit: function(force) {
_exitIntro.call(this, this._targetElement, force);
return this;
},
refresh: function() {
_refresh.call(this);
return this;
},
onbeforechange: function(providedCallback) {
if (typeof (providedCallback) === 'function') {
this._introBeforeChangeCallback = providedCallback;
} else {
throw new Error('Provided callback for onbeforechange was not a function');
}
return this;
},
onchange: function(providedCallback) {
if (typeof (providedCallback) === 'function') {
this._introChangeCallback = providedCallback;
} else {
throw new Error('Provided callback for onchange was not a function.');
}
return this;
},
onafterchange: function(providedCallback) {
if (typeof (providedCallback) === 'function') {
this._introAfterChangeCallback = providedCallback;
} else {
throw new Error('Provided callback for onafterchange was not a function');
}
return this;
},
oncomplete: function(providedCallback) {
if (typeof (providedCallback) === 'function') {
this._introCompleteCallback = providedCallback;
} else {
throw new Error('Provided callback for oncomplete was not a function.');
}
return this;
},
onhintsadded: function(providedCallback) {
if (typeof (providedCallback) === 'function') {
this._hintsAddedCallback = providedCallback;
} else {
throw new Error('Provided callback for onhintsadded was not a function.');
}
return this;
},
onhintclick: function(providedCallback) {
if (typeof (providedCallback) === 'function') {
this._hintClickCallback = providedCallback;
} else {
throw new Error('Provided callback for onhintclick was not a function.');
}
return this;
},
onhintclose: function(providedCallback) {
if (typeof (providedCallback) === 'function') {
this._hintCloseCallback = providedCallback;
} else {
throw new Error('Provided callback for onhintclose was not a function.');
}
return this;
},
onexit: function(providedCallback) {
if (typeof (providedCallback) === 'function') {
this._introExitCallback = providedCallback;
} else {
throw new Error('Provided callback for onexit was not a function.');
}
return this;
},
onbeforeexit: function(providedCallback) {
if (typeof (providedCallback) === 'function') {
this._introBeforeExitCallback = providedCallback;
} else {
throw new Error('Provided callback for onbeforeexit was not a function.');
}
return this;
},
addHints: function() {
_populateHints.call(this, this._targetElement);
return this;
},
hideHint: function (stepId) {
_hideHint.call(this, stepId);
return this;
},
hideHints: function () {
_hideHints.call(this);
return this;
},
showHint: function (stepId) {
_showHint.call(this, stepId);
return this;
},
showHints: function () {
_showHints.call(this);
return this;
},
removeHints: function () {
_removeHints.call(this);
return this;
},
removeHint: function (stepId) {
_removeHint.call(this, stepId);
return this;
},
showHintDialog: function (stepId) {
_showHintDialog.call(this, stepId);
return this;
}
};
exports.introJs = introJs;
return introJs;
}));
</script>
<script>
$( window ).on('load', function() {
$('.cProfileSidebarBlock .ipsWidget_inner .cProfileFields .ipsDataItem .ipsDataItem_generic strong:contains("Homepage")').parent().parent().parent().parent().parent().hide();
$('.cProfileSidebarBlock .ipsWidget_inner .cProfileFields .ipsDataItem .ipsDataItem_generic strong:contains("Comment")').parent().parent().parent().parent().parent().hide();
$('.cProfileSidebarBlock .ipsWidget_inner .cProfileFields .ipsDataItem .ipsDataItem_generic strong:contains("Profile")').parent().parent().parent().parent().parent().hide();
});
</script>
<script type="text/javascript">
$(document).on('ready', function(){
if($('#ipsLayout_sidebar [data-blocktitle="Topic Feed"]').length == 2 && $('#ipsLayout_sidebar [data-blocktitle="Topic Feed"] ~ [data-blocktitle="Topic Feed"]').length == 1){
if($('#ipsLayout_sidebar [data-blocktitle="Topic Feed"]:eq(0) ul.ipsDataList li').length > 0){
$('#ipsLayout_sidebar [data-blocktitle="Topic Feed"]:eq(1)').attr('data-time','week');
$('#ipsLayout_sidebar [data-blocktitle="Topic Feed"]:eq(1)').find('h3').hide();
$('#ipsLayout_sidebar [data-blocktitle="Topic Feed"]:eq(1)').find('> div').hide();
$('#ipsLayout_sidebar [data-blocktitle="Topic Feed"]:eq(1)').css('margin-top',0);
$('#ipsLayout_sidebar [data-blocktitle="Topic Feed"]:eq(0)').attr('data-time','day');
$('<ul class="trending_switch_list"><li><a href="#" class="active" data-block="day">Day</a></li><li><a href="#" data-block="week">Week</a></li></ul>').insertAfter('#ipsLayout_sidebar [data-blocktitle="Topic Feed"]:eq(0) h3');
$('body').on('click', '.trending_switch_list a', function(e){
e.preventDefault();
$('.trending_switch_list a.active').removeClass('active');
$(this).addClass('active');
var time = $(this).attr('data-block');
$('#ipsLayout_sidebar [data-blocktitle="Topic Feed"] > div > div').hide();
$('#ipsLayout_sidebar [data-blocktitle="Topic Feed"][data-time="'+time+'"] > div').show();
$('#ipsLayout_sidebar [data-blocktitle="Topic Feed"][data-time="'+time+'"] > div > div').show();
});
}
}
});
</script>
<!-- Duplicate social links to sidebar on topic -->
<script type="text/javascript">
$(document).ready(function(){
if ($(window).width() > 980) {
targetElement = '#sidebar_inner ';
$('.social_links_footer ul[data-controller="core.front.core.sharelink"]').hide().clone().appendTo(targetElement).show();
$(targetElement + 'ul[data-controller="core.front.core.sharelink"] > li').each(function(){
$(this).append('<a href="' + $(this).find('> a').attr('href') + '"></a>');
$(this).find('a:first-of-type:empty').parent().hide();
});
$(targetElement + 'ul[data-controller="core.front.core.sharelink"] > li:nth-child(2)').prependTo($(targetElement + 'ul[data-controller="core.front.core.sharelink"]'));
$(targetElement + 'ul[data-controller="core.front.core.sharelink"] > li:nth-child(4)').prependTo($(targetElement + 'ul[data-controller="core.front.core.sharelink"]'));
$(targetElement + 'ul[data-controller="core.front.core.sharelink"]').before('<div class="ipsWidget ipsWidget_vertical"><h3 class="ipsType_reset ipsWidget_title share_title"><i class="fa fa-share-alt"></i>Share</h3></div>');
}
});
</script>
<!-- Sticky sidebar on topic page -->
<script type="text/javascript">
(function(){var b,f;b=this.jQuery||window.jQuery;f=b(window);b.fn.stick_in_parent=function(d){var A,w,J,n,B,K,p,q,k,E,t;null==d&&(d={});t=d.sticky_class;B=d.inner_scrolling;E=d.recalc_every;k=d.parent;q=d.offset_top;p=d.spacer;w=d.bottoming;null==q&&(q=0);null==k&&(k=void 0);null==B&&(B=!0);null==t&&(t="is_stuck");A=b(document);null==w&&(w=!0);J=function(a,d,n,C,F,u,r,G){var v,H,m,D,I,c,g,x,y,z,h,l;if(!a.data("sticky_kit")){a.data("sticky_kit",!0);I=A.height();g=a.parent();null!=k&&(g=g.closest(k));
if(!g.length)throw"failed to find stick parent";v=m=!1;(h=null!=p?p&&a.closest(p):b("<div />"))&&h.css("position",a.css("position"));x=function(){var c,f,e;if(!G&&(I=A.height(),c=parseInt(g.css("border-top-width"),10),f=parseInt(g.css("padding-top"),10),d=parseInt(g.css("padding-bottom"),10),n=g.offset().top+c+f,C=g.height(),m&&(v=m=!1,null==p&&(a.insertAfter(h),h.detach()),a.css({position:"",top:"",width:"",bottom:""}).removeClass(t),e=!0),F=a.offset().top-(parseInt(a.css("margin-top"),10)||0)-q,
u=a.outerHeight(!0),r=a.css("float"),h&&h.css({width:a.outerWidth(!0),height:u,display:a.css("display"),"vertical-align":a.css("vertical-align"),"float":r}),e))return l()};x();if(u!==C)return D=void 0,c=q,z=E,l=function(){var b,l,e,k;if(!G&&(e=!1,null!=z&&(--z,0>=z&&(z=E,x(),e=!0)),e||A.height()===I||x(),e=f.scrollTop(),null!=D&&(l=e-D),D=e,m?(w&&(k=e+u+c>C+n,v&&!k&&(v=!1,a.css({position:"fixed",bottom:"",top:c}).trigger("sticky_kit:unbottom"))),e<F&&(m=!1,c=q,null==p&&("left"!==r&&"right"!==r||a.insertAfter(h),
h.detach()),b={position:"",width:"",top:""},a.css(b).removeClass(t).trigger("sticky_kit:unstick")),B&&(b=f.height(),u+q>b&&!v&&(c-=l,c=Math.max(b-u,c),c=Math.min(q,c),m&&a.css({top:c+"px"})))):e>F&&(m=!0,b={position:"fixed",top:c},b.width="border-box"===a.css("box-sizing")?a.outerWidth()+"px":a.width()+"px",a.css(b).addClass(t),null==p&&(a.after(h),"left"!==r&&"right"!==r||h.append(a)),a.trigger("sticky_kit:stick")),m&&w&&(null==k&&(k=e+u+c>C+n),!v&&k)))return v=!0,"static"===g.css("position")&&g.css({position:"relative"}),
a.css({position:"absolute",bottom:d,top:"auto"}).trigger("sticky_kit:bottom")},y=function(){x();return l()},H=function(){G=!0;f.off("touchmove",l);f.off("scroll",l);f.off("resize",y);b(document.body).off("sticky_kit:recalc",y);a.off("sticky_kit:detach",H);a.removeData("sticky_kit");a.css({position:"",bottom:"",top:"",width:""});g.position("position","");if(m)return null==p&&("left"!==r&&"right"!==r||a.insertAfter(h),h.remove()),a.removeClass(t)},f.on("touchmove",l),f.on("scroll",l),f.on("resize",
y),b(document.body).on("sticky_kit:recalc",y),a.on("sticky_kit:detach",H),setTimeout(l,0)}};n=0;for(K=this.length;n<K;n++)d=this[n],J(b(d));return this}}).call(this);
$(window).on('load', function(){
$('body[data-pagecontroller="topic"] #ipsLayout_sidebar #sidebar_inner').stick_in_parent();
});
</script>
<script type="text/javascript">
$(document).ready(function(){
if($('.topic-header-signin').length){
var offset_top = $('.topic-header-signin').offset().top;
}
$(window).on('scroll', function() {
if ($(window).width() >= 768) {
if ($(window).scrollTop() >= offset_top ) {
if (!$('.clone.topic-header-signin').length) {
$('.topic-header-signin').clone().appendTo('#ipsLayout_mainArea').addClass('clone');
$('.clone .show-registration-caret').on('click', function(){
$('.clone #signup-box').show();
$('.clone .show-registration-caret').hide();
$('.clone .hide-registration-caret').show();
});
$('.clone .hide-registration-caret').on('click', function(){
$('.clone #signup-box').hide();
$('.clone .hide-registration-caret').hide();
$('.clone .show-registration-caret').show();
});
}
//$('.clone #signup-box').hide();
//$('.clone .show-registration-caret').show();
//$('.clone .hide-registration-caret').hide();
$('.clone.topic-header-signin').addClass('sticky');
} else {
$('#signup-box').show();
$('.show-registration-caret').hide();
$('.topic-header-signin').removeClass('sticky');
}
}
});
});
</script>
<!-- template end C:\wamp64\www\websites\op-community hemes\html\core\global\global\includeJS.phtml -->
<!--ipsQueryLog-->
<!--ipsCachingLog-->
<!-- This site is converting visitors into subscribers and customers with OptinMonster - https://optinmonster.com :: Campaign Title: Popups 2018-03-06 --><div id="om-nlrpk0jo45q932oe8k5u-holder"></div><script>var nlrpk0jo45q932oe8k5u,nlrpk0jo45q932oe8k5u_poll=function(){var r=0;return function(n,l){clearInterval(r),r=setInterval(n,l)}}();!function(e,t,n){if(e.getElementById(n)){nlrpk0jo45q932oe8k5u_poll(function(){if(window['om_loaded']){if(!nlrpk0jo45q932oe8k5u){nlrpk0jo45q932oe8k5u=new OptinMonsterApp();return nlrpk0jo45q932oe8k5u.init({"u":"20987.812068","staging":0,"dev":0,"beta":0});}}},25);return;}var d=false,o=e.createElement(t);o.id=n,o.src="https://a.optmnstr.com/app/js/api.min.js",o.async=true,o.onload=o.onreadystatechange=function(){if(!d){if(!this.readyState||this.readyState==="loaded"||this.readyState==="complete"){try{d=om_loaded=true;nlrpk0jo45q932oe8k5u=new OptinMonsterApp();nlrpk0jo45q932oe8k5u.init({"u":"20987.812068","staging":0,"dev":0,"beta":0});o.onload=o.onreadystatechange=null;}catch(t){}}}};(document.getElementsByTagName("head")[0]||document.documentElement).appendChild(o)}(document,"script","omapi-script");</script>
<!-- / OptinMonster -->
<!-- Mobile signup popup -->
<!-- This site is converting visitors into subscribers and customers with OptinMonster - https://optinmonster.com :: Campaign Title: Popups 2018-03-06 Mobile --><div id="om-lir8qkgp2p6cyup7pji1-holder"></div><script>var lir8qkgp2p6cyup7pji1,lir8qkgp2p6cyup7pji1_poll=function(){var r=0;return function(n,l){clearInterval(r),r=setInterval(n,l)}}();!function(e,t,n){if(e.getElementById(n)){lir8qkgp2p6cyup7pji1_poll(function(){if(window['om_loaded']){if(!lir8qkgp2p6cyup7pji1){lir8qkgp2p6cyup7pji1=new OptinMonsterApp();return lir8qkgp2p6cyup7pji1.init({"u":"20987.812073","staging":0,"dev":0,"beta":0});}}},25);return;}var d=false,o=e.createElement(t);o.id=n,o.src="https://a.optmnstr.com/app/js/api.min.js",o.async=true,o.onload=o.onreadystatechange=function(){if(!d){if(!this.readyState||this.readyState==="loaded"||this.readyState==="complete"){try{d=om_loaded=true;lir8qkgp2p6cyup7pji1=new OptinMonsterApp();lir8qkgp2p6cyup7pji1.init({"u":"20987.812073","staging":0,"dev":0,"beta":0});o.onload=o.onreadystatechange=null;}catch(t){}}}};(document.getElementsByTagName("head")[0]||document.documentElement).appendChild(o)}(document,"script","omapi-script");</script><!-- / OptinMonster -->
<!-- This site is converting visitors into subscribers and customers with OptinMonster - https://optinmonster.com -->
<script type="text/javascript" src="https://a.optmnstr.com/app/js/api.min.js" data-campaign="tznnprkubtqu4kdwaopm" data-user="20987" async=""></script>
<!-- / https://optinmonster.com -->
<!-- This site is converting visitors into subscribers and customers with OptinMonster - https://optinmonster.com -->
<script type="text/javascript" src="https://a.optmnstr.com/app/js/api.min.js" data-campaign="ym0etig14uhvgxsorvij" data-user="20987" async=""></script>
<!-- / https://optinmonster.com -->
<script type="text/javascript">
var uaString = navigator.userAgent;
var includesMobile = uaString.includes("Mobile");
var includesWV = uaString.includes("wv)");
var includesVersion = uaString.includes("Version");
var includesiPhone = uaString.includes("iPhone");
var includesAndroid = uaString.includes("Android");
if ( (includesMobile && includesiPhone && !includesVersion) || (includesMobile && includesWV && includesAndroid) ){ // iPhone or Android
document.write('<style type="text/css">.hide-in-app,#om-ab3gyyqeflzggh1omxfh{display:none!important;}body{overflow:auto!important;}</style>');
document.getElementsByClassName("ipsButton ipsSocial ipsSocial_google")[0].style.display = "none";
}
</script>
<span style="visibility: hidden; position: absolute; top: -300px; width: 1px; height: 1px; overflow: hidden; left: -300px;"><span class="ipsLoading ipsLoading_noAnim" style="display: block;"></span></span><div id="om-ym0etig14uhvgxsorvij-holder"></div></body></html><!-- template end C:\wamp64\www\websites\op-community hemes\html\coreront\global\globalTemplate.phtml -->