‘,panelEmptyTemplate=’
{emptyPanelMsg}
‘,panelErrorTemplate=’
{errorMsg}
‘,panelParentTemplate=”,notifOnboardPromoTemplate=”,EXPANDED_PANEL=”expanded_panel”,ERROR_PANEL=”error_panel”,NotificationView=function(){function e(n,t){classCallCheck(this,e);var i=this;i._config=n,i._panelNode=null,i._store=t}return createClass(e,[{key:”_generatePanelMarkup”,value:function(e,n){var t=this._config,i=void 0,o=void 0;”undefined”!=typeof window&&(i=window.Notification&&”default”===window.Notification.permission,o=t.promos.bypassEligibleClassCheck||hasClass(document.body,t.promos.eligibleBodyClass));var r=t.promos.enableNotifOnboard&&i&&o?notifOnboardPromoTemplate:””;if(r){var s=t.promos.showYahooLogo?””:”yns-no-logo”;r=r.replace(“{notifOnboardBtnLabel}”,t.promos.notifOnboardBtnLabel).replace(“{notifOnboardMsg}”,t.promos.notifOnboardMsg).replace(“{subscriptionTopic}”,t.promos.subscriptionTopic).replace(“{noLogoClass}”,s).replace(“{promoLogo}”,t.promos.promoLogo)}var a=n.newCount>t.panel.maxCount?n.newCount:””,c=t.panel.notificationCenterPath,l=c?””:constants.panelHideElement,d=t.panel.headerMsg?””:” “+constants.panelHideElement,u=c?constants.panelPaddingBtm:””,p=void 0;n.count?p=n.markup:p=panelEmptyTemplate.replace(“{emptyPanelMsg}”,t.panel.emptyPanelMsg);return e=e.replace(“{notifMarkup}”,p).replace(“{promoMarkup}”,r).replace(“{hideClass}”,l).replace(“{notifCenterLink}”,c).replace(“{paddingClass}”,u).replace(“{headerMsg}”,t.panel.headerMsg).replace(“{hideHeaderClass}”,d).replace(/{notificationCenterNavMsg}/g,t.panel.notificationCenterNavMsg).replace(/{newCount}/g,a)}},{key:”render”,value:function(e,n){var t=this;if(t._panelNode){var i=void 0,o=t._panelNode,r=void 0,s=void 0;switch(e){case EXPANDED_PANEL:i=panelTemplate,s=t._store.getNotifications(),r=t._generatePanelMarkup(i,s),o.innerHTML=r;break;case ERROR_PANEL:r=(i=panelErrorTemplate).replace(“{errorMsg}”,t._config.panel.errorMsg),o.innerHTML=r}n&&n()}else n&&n(new Error(“No panel parent”))}},{key:”createPanelParentNode”,value:function(e){e&&(e.innerHTML=panelParentTemplate,this._panelNode=document.getElementById(constants.panelNodeId))}},{key:”updateBadgeNode”,value:function(e){if(e){var n=this._store.getNotifications().newCount,t=this._config.badge.maxCount;if(n){var i=n>t?t+”+”:n;e.innerHTML=i}else e.innerHTML=””}}},{key:”addStyles”,value:function(e){if(e&&”undefined”!=typeof window){var n=document.getElementById(this._config.panel.styleTagId);n||((n=document.createElement(“style”)).type=”text/css”,n.id=this._config.panel.styleTagId,n.innerText=e,document.head.appendChild(n))}}}]),e}(),EXPANDED_PANEL$1=”expanded_panel”,ERROR_PANEL$1=”error_panel”,PanelController=function(){function e(n,t,i){classCallCheck(this,e);var o=this;o._store=t,o._view=i,o._config=n;var r=o._config.panel;o._panelParentNode=document.querySelector(r.parentSelector),o._badgeNode=o._config.badge.selector&&document.querySelector(o._config.badge.selector),o._indicatorNode=r.indicatorSelector&&document.querySelector(r.indicatorSelector)}return createClass(e,[{key:”createPanelParentNode”,value:function(){this._view.createPanelParentNode(this._panelParentNode),this._notifPanelNode=document.getElementById(constants.panelNodeId)}},{key:”refreshPanelNode”,value:function(e,n){var t=this;addClass(t._notifPanelNode,constants.panelLoading),t._store.fetchNotifications(e,(function(e,i){var o=window.wafer&&window.wafer.base;o&&o.destroy(t._notifPanelNode),e?t._notifPanelNode.innerHTML||(t._view.render(ERROR_PANEL$1),addClass(t._notifPanelNode,constants.panelLoading)):(t._view.render(EXPANDED_PANEL$1),t._view.updateBadgeNode(t._badgeNode),t._showBadge(),t._showIndicator(),t._view.addStyles(i.css)),removeClass(t._notifPanelNode,constants.panelLoading),o&&o.sync(t._notifPanelNode.parentNode),n&&n(e,i)}))}},{key:”resetBadge”,value:function(){var e=this;e._store.resetNewCount(),e._view.updateBadgeNode(e._badgeNode),addClass(e._badgeNode,e._config.badge.hideClass)}},{key:”_showIndicator”,value:function(){this._indicatorNode&&(this._store.getNotifications().newCount?addClass(this._indicatorNode,this._config.panel.indicatorClass):removeClass(this._indicatorNode,this._config.panel.indicatorClass))}},{key:”_showBadge”,value:function(){var e=this;e._store.getNotifications().newCount?removeClass(e._badgeNode,e._config.badge.hideClass):addClass(e._badgeNode,e._config.badge.hideClass)}}]),e}(),config={promos:{eligibleBodyClass:”display-push-promos”,enableNotifOnboard:!0,bypassEligibleClassCheck:!1,notifOnboardBtnLabel:”Notify Me”,notifOnboardMsg:”Get alerts for breaking news and top stories”,promoLogo:”https://s.yimg.com/cv/apiv2/ae/news/circle_bell.png”,showYahooLogo:!0,subscriptionTopic:”gondor_homerun_news”},badge:{hideClass:””,maxCount:5,selector:””},panel:{emptyPanelMsg:”You have no new notifications.”,errorMsg:””,headerMsg:”Notifications”,imageTag:”img:40×40|2|80″,indicatorClass:”yns-indicator”,indicatorSelector:null,maxCount:6,notificationCenterNavMsg:”View all {newCount} notifications”,notificationCenterPath:””,notificationTypes:””,parentSelector:null,styleTagId:”notificationStyles”,theme:”default”},service:{attemptCount:2,attemptDelay:1,url:null,resetUrl:null,isRMP:!1,responseType:”json”,timeout:1500}},Main=function(){function e(n){classCallCheck(this,e);var t=this;t.config=t._parseConfig(n),t._validateRequiredConfigs()&&(t._request=new NotificationRequest(t.config),t._store=new NotificationStore(t.config,t._request),t._view=new NotificationView(t.config,t._store),t._panelController=new PanelController(t.config,t._store,t._view),t._panelController.createPanelParentNode(),t._assignHelperMethods())}return createClass(e,[{key:”_parseConfig”,value:function(e){var n={};for(var t in objectAssign(n,config),n)if(n.hasOwnProperty(t)){var i=n[t],o=e[t];”object”===(void 0===i?”undefined”:_typeof(i))?objectAssign(i,o):n[t]=e[t]}return n}},{key:”_validateRequiredConfigs”,value:function(){var e=this.config;return!(!e.panel.parentSelector||!e.service.url)}},{key:”_assignHelperMethods”,value:function(){var e=this;e.helpers={refreshPanelNode:e._panelController.refreshPanelNode.bind(e._panelController),resetBadge:e._panelController.resetBadge.bind(e._panelController),resetIndicator:function(){removeClass(e._panelController._indicatorNode,e.config.panel.indicatorClass)}}}}]),e}(),notificationClient_module_min=Main,notificationClient={NotificationClient:notificationClient_module_min},CONSUMPTION_STORAGE_KEY=”lnct”,NotifClient=function(){function e(){var e,n;this.personalized=!1,this.ybarElem=document.getElementById(“ybar”),this.partnerClasses=null===(n=null===(e=this.ybarElem)||void 0===e?void 0:e.className)||void 0===n?void 0:n.match(/ybar-variant-([a-z]*)/),this.client=new notificationClient.NotificationClient(this.getConfig())}return e.prototype.refreshPanel=function(){var e,n,t,i=this,o={lastUpdate:this.getTimeStamp()||this.setTimeStamp(),loadInHpViewer:!0,includePersonalized:this.personalized},r=(null===(e=window.YAHOO)||void 0===e?void 0:e.context)||(null===(n=window.Af)||void 0===n?void 0:n.context)||{};return r.region&&r.lang&&(o.lang=r.lang,o.region=r.region),(null===(t=this.partnerClasses)||void 0===t?void 0:t.length)&&(o.partner=this.partnerClasses[1]),new Promise((function(e,n){i.client.helpers.refreshPanelNode({matrixParams:o},(function(t,i){t&&(logError(“Notification refresh error:”,t),n(t)),e(i)}))}))},e.prototype.resetBadge=function(){this.client.helpers.resetBadge(),this.setTimeStamp()},e.prototype.getConfig=function(){var e,n,t={promos:{eligibleBodyClass:”display-push-promos”,enableNotifOnboard:!0},badge:{selector:”#notif-badge”,hideClass:”ybar-notification-hidden”},panel:{emptyPanelMsg:”You have no new notifications.”,errorMsg:”Please check back later.”,headerMsg:”Notifications”,maxCount:5,parentSelector:”#ybarNotificationBody”,notificationTypes:”breakingNews”},service:{url:”/tdv2_fp/api/resource/NotificationHistory.getHistory”,isRMP:!1}},i=document.getElementById(“notification-container”),o=null===(e=null==i?void 0:i.dataset)||void 0===e?void 0:e.config,r={};if(o){“att”===(null===(n=this.partnerClasses)||void 0===n?void 0:n[1])&&(t.promos.showYahooLogo=!1);try{var s=JSON.parse(o);r=__assign({},s),this.personalized=1===s.personalize}catch(e){logError(“Notifications config parsing error”,e)}i&&delete i.dataset.config}return this.mergeConfigs(t,r)},e.prototype.mergeConfigs=function(e,n){var t=__assign({},e);for(var i in e)t[i]=__assign(__assign({},e[i]),n[i]);return t},e.prototype.getTimeStamp=function(){var e;return null===(e=window.localStorage)||void 0===e?void 0:e.getItem(CONSUMPTION_STORAGE_KEY)},e.prototype.setTimeStamp=function(){var e,n=””+Math.floor((new Date).getTime()/1e3);return null===(e=window.localStorage)||void 0===e||e.setItem(CONSUMPTION_STORAGE_KEY,n),n},e}(),notifClient=new NotifClient,getNotifClient=function(){return notifClient},reInit=function(){notifClient=new NotifClient},ybarRapid,ybarRapidInterval,ybarRapidErrMsg=””,beaconQueue=[],noop=function(){},logRapidError=function(){window.removeEventListener(“beforeunload”,logRapidError),””!==ybarRapidErrMsg&&logError(“Rapid not found on page”,new Error(ybarRapidErrMsg))},findRapidWithSpaceid=function(e){var n=void 0;if(e&&e.length>0)for(var t=0;t0){if(ybarRapid.addModules(o,!1,i),beaconQueue.length>0)for(e=0;e90&&fireImageBeacon(“performance”,e)}catch(e){}}),1e3)}))},measureInit=measure(“ybar-init”);initYbar(),measureInit.stop(),initPerformanceMetricsBeaconListener(),initRapid(),initErrorBeaconListener();var selected=”_yb_a2f9k”,Css$7={“right-item”:”_yb_am4vr”,selected:selected,”ybar-mod-topnavigation”:”_yb_fwf68″,”ybar-mod-topnavigation-teaser-imp”:”_yb_gpe55″},DOCUMENT_NODE_TYPE=9;if(“undefined”!=typeof Element&&!Element.prototype.matches){var proto=Element.prototype;proto.matches=proto.matchesSelector||proto.mozMatchesSelector||proto.msMatchesSelector||proto.oMatchesSelector||proto.webkitMatchesSelector}function closest(e,n){for(;e&&e.nodeType!==DOCUMENT_NODE_TYPE;){if(“function”==typeof e.matches&&e.matches(n))return e;e=e.parentNode}}var closest_1=closest;function _delegate(e,n,t,i,o){var r=listener.apply(this,arguments);return e.addEventListener(t,r,o),{destroy:function(){e.removeEventListener(t,r,o)}}}function delegate(e,n,t,i,o){return”function”==typeof e.addEventListener?_delegate.apply(null,arguments):”function”==typeof t?_delegate.bind(null,document).apply(null,arguments):(“string”==typeof e&&(e=document.querySelectorAll(e)),Array.prototype.map.call(e,(function(e){return _delegate(e,n,t,i,o)})))}function listener(e,n,t,i){return function(t){t.delegateTarget=closest_1(t.target,n),t.delegateTarget&&i.call(e,t)}}var delegate_1=delegate,ListNode=function(e){this.data=e,this.next=null,this.prev=null},LinkedList=function(){function e(){this.head=null,this.tail=null}return e.prototype.push=function(e){var n=new ListNode(e);return this.head?this.tail?(n.prev=this.tail,this.tail.next=n,this.tail=n):(this.tail=n,this.tail.prev=this.head,this.head.next=this.tail):(this.head=n,n.next=this.tail),n},e.prototype.size=function(){for(var e=0,n=this.head;n;)e+=1,n=n.next;return e},e.prototype.getHead=function(){return this.head},e.prototype.getTail=function(){return this.tail},e.prototype.get=function(e){if(e>=this.size())return null;for(var n=0,t=this.head;(null==t?void 0:t.next)&&n0&&Array.prototype.forEach.call(e,(function(e){e.onerror=function(){e.onerror=null,e.style.display=”none”}}))},fixLogoOutline=function(e,n){e&&(hideOutlineOnMouseDown(“#ybar-logo”,”#ybar-logo”,n),n.onDestroy((function(){e.classList.remove(“ybar-show-outline”),e.classList.remove(“ybar-hide-outline”)})))},logoClick=function(e,n){n&&e.addElementListener(n,”click”,(function(){e.triggerEvent(“logo-click”)}))},init$4=function(e,n){n.logoImages&&hideLogosOnError(n.logoImages),n.wrapper&&(fixLogoOutline(n.wrapper,e),logoClick(e,n.wrapper))};initModule(“ybar-mod-logo”,(function(e){var n={wrapper:document.getElementById(“ybar-logo”),logoImages:document.querySelectorAll(“.”.concat(Css$6[“logo-image”]))};init$4(e,n)}));var overlay$1=”_yb_3qjdx”,tooltip=”_yb_80v80″,tooltip__text=”_yb_4t70i”,tooltip__voice=”_yb_17x4o”,tooltip__web=”_yb_9zjtz”,dark=”_yb_1yt7z”,darker=”_yb_1o3l8″,light=”_yb_1s1ng”,midnight60=”_yb_1ddvr”,Css$5={“dropdown-open”:”_yb_1c4yy”,”merchant-is-selected”:”_yb_it2nh”,overlay:overlay$1,”selected-merchant-clear-button”:”_yb_znuo1″,”shops-buttons”:”_yb_t3cta”,”styled-select”:”_yb_565ax”,tooltip:tooltip,”tooltip–show”:”_yb_u6d8m”,tooltip__text:tooltip__text,tooltip__voice:tooltip__voice,tooltip__web:tooltip__web,dark:dark,darker:darker,light:light,midnight60:midnight60},range=function(e,n){var t=Math.max(e,n),i=Math.min(e,n),o=Math.abs(t-i);return __spreadArray([],new Array(o+1),!0).map((function(e,n){return i+n}))},openSearchOverlay=function(e,n,t){var i=e.getConfig().bucketConfig,o=(void 0===i?{}:i).enable_search_ui,r=void 0!==o&&o;if(n.ybar){n.ybar.classList.add(“ybar-searchbox-assist-fullscreen”),document.documentElement.classList.add(“ybar-overlay”),document.body.classList.add(“ybar-overlay-noscroll”);beaconClick(“ybar”,”websrch”,””,{elm:”expand”,subsec:”searchbox”,itc:”1″}),setTimeout((function(){n.searchInput instanceof HTMLInputElement&&(t&&(n.searchInput.value=t),n.searchInput.focus(),r&&n.searchInput.click())}))}},closeSearchOverlay=function(e){var n;null===(n=e.ybar)||void 0===n||n.classList.remove(“ybar-searchbox-assist-fullscreen”),document.documentElement.classList.remove(“ybar-overlay”),document.body.classList.remove(“ybar-overlay-noscroll”),e.searchInput instanceof HTMLInputElement&&(e.searchInput.value=””,e.searchInput.blur())},initMweb=function(e,n){“smartphone”===e.getConfig().device&&(e.addElementListener(n.searchBoxPlaceholder,”click”,(function(){openSearchOverlay(e,n)})),e.addElementListener(n.searchBoxPlaceholder,”keydown”,(function(t){var i=t,o=i.keyCode,r=i.key,s=range(65,90),a=__spreadArray(__spreadArray([],range(58,57),!0),range(96,105),!0),c=__spreadArray(__spreadArray([],s,!0),a,!0).includes(o);(32===o||13===o||c)&&(t.preventDefault(),t.stopPropagation(),openSearchOverlay(e,n,c?r:””))})),n.searchBoxBackButton&&(e.addElementListener(n.searchBoxBackButton,”click”,(function(e){e.stopPropagation(),closeSearchOverlay(n);beaconClick(“ybar”,”back-close-srch”,””,{elm:”btn”,subsec:”searchbox”,itc:”1″})})),e.addElementListener(n.searchInput,”keyup”,(function(e){e.stopPropagation();27===e.keyCode&&(e.stopPropagation(),closeSearchOverlay(n))}))),e.onDestroy((function(){closeSearchOverlay(n)})))},Tooltip=function(){function e(e,n,t){n&&(this.ybar=e,this.elem=n,this.options=t,this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.addEventListeners())}return Object.defineProperty(e.prototype,”tooltip”,{get:function(){var e=this;return this.tooltipMarkup||(this.tooltipMarkup=this.createTooltip(),(this.options.tooltipParentElm||this.elem).appendChild(this.tooltipMarkup),this.ybar.onDestroy((function(){var n,t;null===(t=null===(n=e.tooltipMarkup)||void 0===n?void 0:n.parentNode)||void 0===t||t.removeChild(e.tooltipMarkup)}))),this.tooltipMarkup},enumerable:!1,configurable:!0}),e.prototype.show=function(){this.tooltip.classList.add(this.options.showClass)},e.prototype.hide=function(){this.tooltip.classList.remove(this.options.showClass)},e.prototype.addEventListeners=function(){this.ybar.addElementListener(this.elem,”mouseenter”,this.show),this.ybar.addElementListener(this.elem,”focus”,this.show),this.ybar.addElementListener(this.elem,”mouseleave”,this.hide),this.ybar.addElementListener(this.elem,”blur”,this.hide)},e.prototype.createTooltip=function(){var e=document.createElement(“div”);e.className=this.options.containerClass||””;var n=document.createElement(“p”);return n.textContent=this.options.label,n.className=this.options.textClass||””,e.appendChild(n),e},e}();createCommonjsModule((function(module){(function(){var __webpack_modules__={“./src/index.js”:
/*!**********************!*
!*** ./src/index.js ***!
**********************/function(__unused_webpack_module,__unused_webpack_exports,__webpack_require__){eval(“var I18n = __webpack_require__(/*! ./lib/I18n */ “./src/lib/I18n.js”);nn(function (win, doc) {n “use strict”;nn var defaultConfig = {n uiLang: ‘en-US’,n speechLang: ‘en-US’,n voiceButton: ‘#voice-btn’,n searchBox: {n form: ‘#sf’,n input: ‘#yschsp’,n params: {n fr: ”,n fr2: ”n }n },n enable_voice_trending: false,n trending: {n market: “en-us”n },n ui: {n speechOverlay: {n disableBlur: falsen }n },n browsers: {n edge: falsen }n };nn function VoiceSearch(config) {n var self = this;n self.config = Object.assign(defaultConfig, config || {});n self.i18n = new VoiceSearch.I18n({n lang: self.config.uiLangn });n self.renderPermissionGuide(self);n self.renderSpeechPanel(self);n self.speechResult = ”;n self.noSpeech = true;n self.isRecognitionStart = false;n self.recognition = null;n self.voiceButton = doc.querySelector(self.config.voiceButton);n self.searchBoxForm = doc.querySelector(self.config.searchBox.form);n self.searchBoxQuery = doc.querySelector(self.config.searchBox.input);n self.speechPanel = doc.querySelector(‘#spch’);n self.speechButtonContainer = doc.querySelector(‘#spchbc’);n self.speechButton = doc.querySelector(‘#spchbc-btn’);n self.speechText = doc.querySelector(‘#spcht’);n self.speechOverlay = doc.getElementById(‘spch-overlay’);n self.retryLink = doc.querySelector(‘#spcht-retry’);n self.trending = doc.getElementById(‘spch-trending’);n self.trendingTerms = doc.getElementById(‘trending-terms’);n self.termSpans = doc.getElementsByClassName(“trending-term”);n self.closeButton = doc.querySelector(‘#spchx’);n self.startAudio = new Audio(‘https://s.yimg.com/pv/static/misc/voice-start-202105050733.wav’);n self.resultAudio = new Audio(‘https://s.yimg.com/pv/static/misc/voice-result-202105050733.wav’);n self.errorAudio = new Audio(‘https://s.yimg.com/pv/static/misc/voice-error-202105050733.wav’);n self.closeAudio = new Audio(‘https://s.yimg.com/pv/static/misc/voice-close-202105050733.wav’);n self.permissionGuide = doc.querySelector(‘#spchp’);n self.permissionGuideClose = doc.querySelector(‘#spchpx’);n self.permissionGuideTimer = null;nn self.onEscKeyDown = function (e) {n if (e.code !== ‘Escape’) {n return;n }nn self.recognition.stop();n self.sendBeacon(‘keybrd’, ‘voicesearch_cancel_esc’); // The clean up should put inside closePanel() instead of here,n // or func won’t be cleaned up if user close panel with btn or overlaynn self.closePanel(self);n };nn if (self.isBrowserSupported()) {n var SpeechRecognition = win.SpeechRecognition || win.webkitSpeechRecognition;n var SpeechGrammarList = win.SpeechGrammarList || win.webkitSpeechGrammarList;n var speechGrammar = ‘#JSGF V1.0;’;n self.recognition = new SpeechRecognition();n var speechRecognitionList = new SpeechGrammarList();nn if (speechRecognitionList.addFromString) {n speechRecognitionList.addFromString(speechGrammar, 1);n }nn self.recognition.grammars = speechRecognitionList;n self.recognition.continuous = false;n self.recognition.lang = self.config.speechLang;n self.recognition.interimResults = false;n self.recognition.maxAlternatives = 1;n /* Listeners */nn if (self.voiceButton) {n self.voiceButton.onclick = function () {n self.recognition.start();nn if (self.permissionGuideTimer) {n win.clearTimeout(self.permissionGuideTimer);n }nn self.permissionGuideTimer = win.setTimeout(function () {n if (!self.isRecognitionStart) {n self.showPermissionGuide(self);n }n }, 300); // Also close when pressing escnn doc.addEventListener(‘keydown’, self.onEscKeyDown);n self.sendBeacon(‘clk’, ‘voicesearch’);n };n }nn if (self.speechButton) {n self.speechButton.onclick = function () {n if (!self.isRecognitionStart) {n self.recognition.start();n self.sendBeacon(‘clk’, ‘voicesearch_panel_mic_restart’);n } else {n self.recognition.stop();n self.sendBeacon(‘clk’, ‘voicesearch_panel_mic_close’);n self.closePanel(self);n }n };n }nn if (self.retryLink) {n self.retryLink.onclick = function () {n if (!self.isRecognitionStart) {n self.recognition.start();n self.sendBeacon(‘clk’, ‘voicesearch_panel_retry’);n }n };n }nn if (self.speechOverlay) {n self.speechOverlay.onclick = function () {n self.recognition.stop();n self.sendBeacon(‘clk’, ‘voicesearch_cancel_outside’);n self.closePanel(self);n };n }nn if (self.closeButton) {n self.closeButton.onclick = functionn /*event*/n () {n self.recognition.stop();n self.sendBeacon(‘clk’, ‘voicesearch_cancel’);n self.closePanel(self);n };n }nn if (self.permissionGuideClose) {n self.permissionGuideClose.onclick = functionn /*event*/n () {n self.recognition.stop();n self.sendBeacon(‘clk’, ‘voicesearch_permission_close’);n self.closeAudio.play();n self.hidePermissionGuide(self);n };n }n /* Recognition Events */nnn self.recognition.onresult = function (event) {n // The SpeechRecognitionEvent results property returns a SpeechRecognitionResultList objectn // The SpeechRecognitionResultList object contains SpeechRecognitionResult objects.n // It has a getter so it can be accessed like an arrayn // The first [0] returns the SpeechRecognitionResult at the last position.n // Each SpeechRecognitionResult object contains SpeechRecognitionAlternative objects that contain individual results.n // These also have getters so they can be accessed like arrays.n // The second [0] returns the SpeechRecognitionAlternative at position 0.n // We then return the transcript property of the SpeechRecognitionAlternative objectn // console.log(‘Confidence: ‘ + event.results[0][0].confidence);n self.speechResult = event.results[0][0].transcript;n /* Punctuation Handling: Check last character and strip it if necessary */nn self.handlePunctuation(self);nn if (self.speechText) {n self.speechText.innerText = self.speechResult;n }nn if (self.searchBoxQuery) {n self.searchBoxQuery.value = self.speechResult;n }nn self.resultAudio.play();n win.setTimeout(function () {n if (self.speechPanel) {n self.speechPanel.classList.remove(“s2tb”);n self.speechPanel.classList.add(“s2tb-h”);n }nn self.hideRetryLink(self);nn if (self.searchBoxForm) {n var inputFr = self.searchBoxForm.querySelector(‘[name=fr]’);n var inputFr2 = self.searchBoxForm.querySelector(‘[name=fr2]’);nn if (inputFr && self.config.searchBox && self.config.searchBox.params && self.config.searchBox.params.fr) {n inputFr.value = config.searchBox.params.fr;n inputFr.disabled = false; // for homepage casen }nn if (inputFr2 && self.config.searchBox && self.config.searchBox.params && self.config.searchBox.params.fr2) {n inputFr2.value = config.searchBox.params.fr2;n inputFr2.disabled = false; // for homepage casen }nn self.searchBoxForm.submit();n }n }, 1000);n };nn self.recognition.onspeechstart = functionn /*event*/n () {// Fired when speech startsn };nn self.recognition.onspeechend = function () {n // Fired when speech endsn self.recognition.stop();n };nn self.recognition.onerror = functionn /*event*/n () {n // console.log(‘Error occurred in recognition: ‘ + event.error);n if (self.speechText) {n self.speechText.innerText = self.i18n.t(‘search.voice.recognition_error’);n }nn self.hideTrending(self);n self.showRetryLink(self);n self.errorAudio.play();n };nn self.recognition.onaudiostart = functionn /*event*/n () {n // Fired when the user agent has started to capture audio.n if (self.speechButtonContainer) {n self.speechButtonContainer.classList.add(“listening”);n }n };nn self.recognition.onaudioend = functionn /*event*/n () {n // Fired when the user agent has finished capturing audio.n if (self.speechButtonContainer) {n self.speechButtonContainer.classList.remove(“listening”);n }n };nn self.recognition.onsoundstart = functionn /*event*/n () {n // Fired when any sound — recognisable speech or not — has been detected.n self.hideTrending(self);n self.noSpeech = false;nn if (self.speechButtonContainer) {n self.speechButtonContainer.classList.remove(“listening”);n self.speechButtonContainer.classList.add(“speaking”);n }n };nn self.recognition.onsoundend = functionn /*event*/n () {n // Fired when no sound presentn if (self.speechButtonContainer) {n self.speechButtonContainer.classList.remove(“speaking”);n }n };nn self.recognition.onstart = functionn /*event*/n () {n // Fired when the speech recognition service has begun listeningn self.recognitionInit(self);n self.startRecognition(self);n };nn self.recognition.onend = functionn /*event*/n () {n // Fired when the speech recognition service has disconnected.n self.isRecognitionStart = false;nn if (self.noSpeech == false && self.speechResult == ”) {n // No match: Fired when the speech recognition can’t recognise speechn if (self.speechText) {n self.speechText.innerText = self.i18n.t(‘search.voice.recognition_nomatch’);n }nn self.hideTrending(self);n self.showRetryLink(self);n self.errorAudio.play();n }n }; // trigger onReady event when initializednnn if (document && document.dispatchEvent) {n document.dispatchEvent(new Event(‘VOICE_JS_READY’));n }n }n } // static membersnnn VoiceSearch.I18n = I18n; // instance membersnn VoiceSearch.prototype.renderPermissionGuide = function (self) {n var tmpl = “\n
\n “);n var dom = new DOMParser().parseFromString(tmpl, ‘text/html’);n document.body.appendChild(dom.body.children[0]);n };nn VoiceSearch.prototype.renderSpeechPanel = function (self) {n var tmpl = “\n
\n \n \n \n \n \n \n
\n
\n \n \n “.concat(self.i18n.t(‘search.voice.recognition_retry’), “\n
\n
\n
\n
\n
\n “).concat(self.i18n.t(‘search.voice.trending_title’), “\n \n
\n
\n
\n “);n var dom = new DOMParser().parseFromString(tmpl, ‘text/html’);nn if (self && self.config && self.config.ui && self.config.ui.speechOverlay && self.config.ui.speechOverlay.disableBlur) {n dom.body.children[0].classList.add(‘disable-blur-overlay’);n }nn document.body.appendChild(dom.body.children[0]);n };nn VoiceSearch.prototype.isBrowserSupported = function () {n var isSupported = false;n var self = this;n var isChromium = Boolean(window.chrome);n var isIOSChrome = /CriOS/.test(window.navigator.userAgent);n var isEdge = /Edg\//.test(window.navigator.userAgent);n var isLegacyEdge = /Edge\//.test(window.navigator.userAgent);n var isOpera = Boolean(window.opr);n var isBrave = Boolean(window.navigator.brave);n var browsers = [// chromen {n checkEnabled: function checkEnabled() {n return true;n },n checkBrowser: function checkBrowser() {n return isChromium && !isIOSChrome && !isEdge && !isOpera && !isBrave;n },n checkAPI: function checkAPI() {n return win && (‘SpeechRecognition’ in win || ‘webkitSpeechRecognition’ in win) && (‘SpeechGrammarList’ in win || ‘webkitSpeechGrammarList’ in win);n }n }, // edgen {n checkEnabled: function checkEnabled() {n return self && self.config && self.config.browsers && self.config.browsers.edge;n },n checkBrowser: function checkBrowser() {n return isChromium && isEdge && !isLegacyEdge;n },n checkAPI: function checkAPI() {n return win && (‘SpeechRecognition’ in win || ‘webkitSpeechRecognition’ in win) && (‘SpeechGrammarList’ in win || ‘webkitSpeechGrammarList’ in win);n }n }];nn for (var b = 0; b < browsers.length; b++) {n var browser = browsers[b];nn if (browser && browser.checkBrowser && browser.checkBrowser() && browser.checkEnabled && browser.checkEnabled(self) && browser.checkAPI && browser.checkAPI()) {n isSupported = true;n }n }nn return isSupported;n };nn VoiceSearch.prototype.recognitionInit = function (self) {n // Initialize flags for checking whether user is speaking or notn self.speechResult = ”;n self.noSpeech = true;n self.isRecognitionStart = true;n };nn VoiceSearch.prototype.showPermissionGuide = function (self) {n if (self.permissionGuide) {n self.permissionGuide.classList.remove(“hide”);n }n };nn VoiceSearch.prototype.hidePermissionGuide = function (self) {n if (self.permissionGuide) {n self.permissionGuide.classList.add(“hide”);n }n };nn VoiceSearch.prototype.getTrending = function (self) {n // Call api for trending termsn if (!self.config.enable_voice_trending || !self.trending) {n return;n }nn var url = “https://api.search.yahoo.com/data/v3/search?appid=4d234a9d&market=” + self.config.trending.market + “&features=trending.voice”;n self.ajaxReq(url, function (resBody) {n if (!resBody || !resBody.response || !resBody.response.search || !resBody.response.search.results || !resBody.response.search.results[“trending.voice”]) {n return;n }nn var terms = resBody.response.search.results[“trending.voice”].data;n self.showTrending(self, terms);n });n };nn VoiceSearch.prototype.showTrending = function (self, terms) {n // params checkn if (!Array.isArray(terms) || terms.length < 3) {n return;n } // DOM checknnn if (!self.trending || !self.termSpans || !self.termSpans[0]) {n return;n }nn var trendingLabel = ”;n trendingLabel += ‘”‘ + terms[0].text + ‘”‘ + ‘, ‘;n trendingLabel += ‘”‘ + terms[1].text + ‘”‘ + ‘ ‘;n trendingLabel += self.i18n.t(‘search.voice.trending_or’) + ‘ ‘;n trendingLabel += ‘”‘ + terms[2].text + ‘”‘;n self.termSpans[0].innerText = trendingLabel;n self.trending.classList.remove(“hide”);n };nn VoiceSearch.prototype.hideTrending = function (self) {n if (!self.trending) {n return;n }nn self.trending.classList.add(“hide”);n };nn VoiceSearch.prototype.showRetryLink = function (self) {n if (self.retryLink) {n self.retryLink.innerText = self.i18n.t(‘search.voice.recognition_retry’);n self.retryLink.classList.remove(“hide”);n }n };nn VoiceSearch.prototype.hideRetryLink = function (self) {n if (self.retryLink) {n self.retryLink.classList.add(“hide”);n }n };nn VoiceSearch.prototype.startRecognition = function (self) {n self.hidePermissionGuide(self);n self.getTrending(self);n self.startAudio.play();nn if (self.speechText) {n self.speechText.innerText = self.i18n.t(‘search.voice.recognition_start’);n win.setTimeout(function () {n self.speechText.innerText = self.i18n.t(‘search.voice.recognition_listening’);n }, 2000);n }nn if (self.speechPanel) {n self.speechPanel.classList.remove(“s2tb-h”);n self.speechPanel.classList.add(“s2tb”);n }nn self.hideRetryLink(self);n };nn VoiceSearch.prototype.closePanel = function (self) {n self.closeAudio.play();n win.setTimeout(function () {n if (self.speechPanel) {n self.speechPanel.classList.remove(“s2tb”);n self.speechPanel.classList.add(“s2tb-h”);n }nn self.hideTrending(self);n self.hideRetryLink(self); // clean up esc listenernn doc.removeEventListener(‘keydown’, self.onEscKeyDown);n }, 100);n };nn VoiceSearch.prototype.handlePunctuation = function (self) {n if (self.speechResult.length > 0) {n var lastChar = self.speechResult.charAt(self.speechResult.length – 1);nn if (lastChar === ‘.’ || lastChar === ‘?’ || lastChar === ‘。’ || lastChar === ‘?’) {n self.speechResult = self.speechResult.slice(0, -1);n }n }n };nn VoiceSearch.prototype.sendBeacon = function (actn, slk) {n var ULT = win.YAHOO.ULT || {},n SB = win.YAHOO.SB || {};nn if (ULT.beacon_click) {n var trackParams = {n _S: SB.config.i13n.spaceid,n _I: SB.config.i13n.pvid,n actn: actn,n sec: ‘search’,n slk: slkn };n win.YAHOO.ULT.beacon_click(trackParams);n }n };nn VoiceSearch.prototype.ajaxReq = function (url, callback) {n var DONE_STATE = XMLHttpRequest.DONE || 4; // for IE-compatibilitynn var xhr = new XMLHttpRequest();n var responseRaw;n var response; // CORS request only for IE8/IE9nn if (doc.documentMode && doc.documentMode < 10) {n var xdr = new win.XDomainRequest();nn xdr.onload = function () {n try {n response = JSON.parse(responseRaw);n callback(response);n } catch (err) {n return;n }n };nn xhr.open(‘GET’, url);n xhr.send();n return;n } // CORS request for browers newer than IE9nnn xhr.onreadystatechange = function () {n if (xhr.readyState !== DONE_STATE) {n return;n } // handle ajax responsennn switch (xhr.status) {n case 200:n responseRaw = xhr.responseText;nn try {n response = JSON.parse(responseRaw);n callback(response);n } catch (err) {n return;n }nn break;nn default:n // non-200 status code: retry or assume failuren callback(response);n break;n }n };nn xhr.open(‘GET’, url, true);n /* aync request */nn xhr.timeout = 10000;n xhr.send();n };nn if (!win.YAHOO) {n win.YAHOO = {};n }nn if (!win.YAHOO.Util) {n win.YAHOO.Util = {};n }nn win.YAHOO.Util.VoiceSearch = VoiceSearch;n})(window, document);nn//# sourceURL=webpack://@vzmi/voicejs/./src/index.js?”)},”./src/lib/I18n.js”:
/*!*************************!*
!*** ./src/lib/I18n.js ***!
*************************/function(module,__unused_webpack_exports,__webpack_require__){eval(“module.exports = function () {n var LANG_LIST = __webpack_require__(/*! ./lang_list.json */ “./src/lib/lang_list.json”);nn var DEFAULT_LANG = ‘default’;nn var isValidLang = function isValidLang(lang) {n return LANG_LIST.indexOf(lang) !== -1;n }; // convert language strings to key-value mapnnn var buildStrMap = function buildStrMap(langStrings) {n return langStrings.reduce(function (strMap, item) {n strMap[item.id] = item.defaultMessage;n return strMap;n }, {});n };nn var I18n = function I18n(options) {n // initializen this.lang = isValidLang(options && options.lang) ? options.lang : DEFAULT_LANG;n }; // static membersnnn I18n.langMap = {};n I18n.langMap[DEFAULT_LANG] = buildStrMap(__webpack_require__(/*! ../lang/strings.json */ “./src/lang/strings.json”));nn I18n.setLangMap = function (lang, strings) {n if (lang && strings) {n I18n.langMap[lang] = buildStrMap(strings);n }n }; // instance membersnnn I18n.prototype = {n t: function t(id) {n switch (true) {n // look up target languagen case Boolean(I18n.langMap && I18n.langMap[this.lang] && I18n.langMap[this.lang][id]):n return I18n.langMap[this.lang][id];n // fallback to default stringsnn case Boolean(I18n.langMap && I18n.langMap[DEFAULT_LANG] && I18n.langMap[DEFAULT_LANG][id]):n return I18n.langMap[DEFAULT_LANG][id];nn default:n return ”;n }n }n };n return I18n;n}();nn//# sourceURL=webpack://@vzmi/voicejs/./src/lib/I18n.js?”)},”./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./src/index.css”:
/*!*******************************************************************************************************!*
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./src/index.css ***!
*******************************************************************************************************/function(module,__webpack_exports__,__webpack_require__){eval(‘__webpack_require__.r(__webpack_exports__);n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ “./node_modules/css-loader/dist/runtime/api.js”);n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);n// Importsnnvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});n// Modulen___CSS_LOADER_EXPORT___.push([module.id, “/* Sprites */\n#spchp.permission-guide .guide .microphone .sprite,\n#spchp .close-button,\n#spch .close-button,\n#spch .spchc .microphone,\n#spch .spchc .speaking .microphone {\n background-image: url(https://s.yimg.com/pv/static/img/voiceSearch1x-1620383531565.min.png);\n background-repeat: no-repeat;\n background-size: initial;\n color: transparent;\n}\n/* Retina displays */\n@media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and (min-device-pixel-ratio: 2),\n only screen and (min-resolution: 192dpi),\n only screen and (min-resolution: 2dppx) {\n#spchp.permission-guide .guide .microphone .sprite,\n#spchp .close-button,\n#spch .close-button,\n#spch .spchc .microphone,\n#spch .spchc .speaking .microphone {\n background-size: 41px 330px;\n background-image: url(https://s.yimg.com/pv/static/img/voiceSearch2x-1620383531565.min.png)\n}\n }\n\n/* permission guide */\n#spchp.permission-guide {\n height: 100%;\n width: 100%;\n padding: 0;\n opacity: 0.9;\n background-color: #fff;\n left: 0;\n overflow: hidden;\n position: fixed;\n text-align: left;\n top: 0;\n z-index: 10000;\n transition: visibility 0s linear 0.218s, background-color 0.218s;\n}\n#spchp.permission-guide .close-button {\n background-position: 0 0;\n width: 24px;\n height: 24px;\n border: none;\n cursor: pointer;\n right: 0;\n margin: 20px;\n padding: 0;\n position: absolute;\n top: 0;\n z-index: 10;\n opacity: 0.8;\n }\n#spchp.permission-guide .close-button:hover {\n opacity: 1;\n }\n#spchp.permission-guide .guide {\n margin: 191px 0 0 507px;\n }\n#spchp.permission-guide .guide .microphone {\n height: 68px;\n width: 52px;\n border-right: 1px solid #232a31;\n float: left;\n }\n#spchp.permission-guide .guide .microphone .sprite {\n background-position: 0 -105px;\n width: 28px;\n height: 28px;\n }\n#spchp.permission-guide .guide .guide-text {\n height: 68px;\n margin-left: 24px;\n float: left;\n }\n#spchp.permission-guide .guide .guide-text .title {\n color: #232a31;\n font-size: 32px;\n font-family: HelveticaNeue-Bold;\n line-height: 28px;\n margin-bottom: 16px;\n }\n#spchp.permission-guide .guide .guide-text .text {\n color: #232a31;\n font-size: 16px;\n line-height: 28px;\n }\n#spchp.permission-guide.hide {\n display: none;\n }\n\n/* speech panel */\n#spch.spch {\n background: #fff;\n height: 100%;\n left: 0;\n opacity: 0;\n overflow: hidden;\n position: fixed;\n text-align: left;\n top: 0;\n visibility: hidden;\n width: 100%;\n z-index: 10000;\n transition: visibility 0s linear 0.218s, background-color 0.218s;\n}\n#spch.spch .close-button {\n background-position: 0 0;\n width: 24px;\n height: 24px;\n border: none;\n cursor: pointer;\n right: 0;\n margin: 20px;\n padding: 0;\n position: absolute;\n top: 0;\n z-index: 10;\n opacity: 0.8;\n }\n#spch.spch .close-button:hover {\n opacity: 1;\n }\n#spch.spch .spchc {\n display: block;\n height: 97px;\n pointer-events: none;\n }\n#spch.spch .spchc .inner-container {\n width: 100%;\n height: 100%;\n opacity: 0.1;\n pointer-events: none;\n transition: opacity 0.318s ease-in;\n }\n#spch.spch .spchc .inner-container .spch-control {\n display: inline-block;\n }\n#spch.spch .spchc .inner-container .text-container {\n float: left;\n height: 91px;\n overflow: hidden;\n margin: 3px 0;\n pointer-events: none;\n width: calc(50% – 48.5px);\n }\n#spch.spch .spchc .inner-container .text-container p {\n display: table-cell;\n vertical-align: middle;\n width: 550px;\n height: 97px;\n }\n#spch.spch .spchc .inner-container .text-container .spcht {\n font-weight: normal;\n color: #6e7780;\n line-height: normal;\n opacity: 0;\n pointer-events: none;\n text-align: left;\n -webkit-font-smoothing: antialiased;\n transition: opacity 0.1s ease-in, margin-left 0.5s ease-in, top 0s linear 0.218s;\n }\n#spch.spch .spchc .inner-container .text-container .spcht.hide {\n display: none;\n }\n#spch.spch .spchc .inner-container .text-container #spcht-retry {\n color: #0f69ff;\n cursor: pointer;\n pointer-events: auto;\n }\n#spch.spch .spchc .inner-container .button-container {\n pointer-events: none;\n position: relative;\n transition: transform 0.218s, opacity 0.218s ease-in;\n }\n#spch.spch .spchc .inner-container .button-container .button {\n background-color: #fff;\n border: 1px solid #eee;\n border-radius: 100%;\n bottom: 0;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);\n cursor: pointer;\n display: inline-block;\n left: 0;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n right: 0;\n top: 0;\n transition: background-color 0.218s, border 0.218s, box-shadow 0.218s;\n }\n#spch.spch .spchc .inner-container .button-container .button .microphone {\n background-position: 0 -24px;\n width: 41px;\n height: 41px;\n left: 27px;\n pointer-events: none;\n position: absolute;\n top: 27px;\n transform: scale(1);\n }\n#spch.spch .spchc .inner-container .button-container.listening .ripple {\n position: absolute;\n width: 136px;\n height: 136px;\n z-index: -1;\n left: 50%;\n top: 50%;\n opacity: 0;\n margin: -70px 0 0 -70px;\n border-radius: 100px;\n -webkit-animation: ripple 3.3s infinite;\n animation: ripple 3.3s infinite;\n background-color: #fff !important;\n border: 2px solid #e0e4e9;\n }\n#spch.spch .spchc .inner-container .button-container.listening .ripple:nth-child(2) {\n -webkit-animation-delay: 1.1s;\n animation-delay: 1.1s;\n }\n#spch.spch .spchc .inner-container .button-container.listening .ripple:nth-child(3) {\n -webkit-animation-delay: 2.2s;\n animation-delay: 2.2s;\n }\n#spch.spch .spchc .inner-container .button-container.speaking .button {\n background-color: #0f69ff;\n }\n#spch.spch .spchc .inner-container .button-container.speaking .button .microphone {\n background-position: 0 -65px;\n width: 40px;\n height: 40px;\n pointer-events: none;\n position: absolute;\n transform: scale(1);\n }\n#spch.spch .spchc .inner-container .button-container.speaking .ripple {\n background-size: 114px;\n position: absolute;\n width: 114px;\n height: 114px;\n z-index: -1;\n left: 50%;\n top: 50%;\n margin: -57px 0 0 -57px;\n -webkit-animation: speakingRipple1 2s infinite;\n animation: speakingRipple1 2s infinite;\n }\n#spch.spch .spchc .inner-container .button-container.speaking .ripple:nth-child(2) {\n background-size: 123px;\n width: 123px;\n height: 123px;\n margin: -62px 0 0 -62px;\n -webkit-animation: speakingRipple2 2s infinite;\n animation: speakingRipple2 2s infinite;\n }\n#spch.spch .spchc .inner-container .button-container.speaking .ripple:nth-child(3) {\n background-size: 136px;\n width: 136px;\n height: 136px;\n margin: -68px 0 0 -68px;\n -webkit-animation: speakingRipple3 2s infinite;\n animation: speakingRipple3 2s infinite;\n }\n#spch.spch .spcho {\n background-image: linear-gradient(to bottom, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 99%);\n display: block;\n min-width: 100%;\n text-align: center;\n top: 145px;\n padding-bottom: 71px;\n pointer-events: auto;\n }\n#spch.spch .spcho #spch-trending {\n -webkit-animation: fadeIn 1s forwards;\n animation: fadeIn 1s forwards;\n opacity: 0;\n }\n#spch.spch .spcho #spch-trending .trending {\n color: #6e7780;\n display: inline-block;\n font-size: 16px;\n }\n#spch.spch .spcho #spch-trending #trending-label {\n font-weight: bold;\n margin: 5px 5px;\n }\n#spch.spch .spcho #spch-trending.hide {\n display: none;\n }\n#spch.spch.s2tb .spchc, #spch.spch.s2tb-h .spchc {\n background: #fff;\n box-sizing: border-box;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);\n height: auto;\n margin: 0;\n min-width: 100%;\n overflow: hidden;\n padding: 24px 115px;\n }\n#spch.spch.s2tb .spchc .inner-container, #spch.spch.s2tb-h .spchc .inner-container {\n opacity: 1;\n transition: opacity 0.318s ease-in;\n }\n#spch.spch.s2tb .spchc .inner-container .text-container, #spch.spch.s2tb-h .spchc .inner-container .text-container {\n position: relative;\n }\n#spch.spch.s2tb {\n background: rgba(255, 255, 255, 0);\n opacity: 1;\n visibility: visible;\n transition-delay: 0s;\n }\n#spch.spch.s2tb .spchc .inner-container .button-container {\n transform: scale(1);\n height: 97px;\n right: 0;\n top: 0;\n width: 97px;\n }\n#spch.spch.s2tb .spchc .inner-container .button-container .button {\n opacity: 1;\n pointer-events: auto;\n position: absolute;\n transform: scale(1);\n transition-delay: 0;\n }\n#spch.spch.s2tb .spchc .inner-container .text-container .spcht {\n font-size: 24px;\n margin-left: 0;\n opacity: 1;\n transition: opacity 0.5s ease-out, margin-left 0.5s ease-out;\n }\n#spch.spch.s2tb #spch-overlay {\n -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\n background-color: #fff;\n height: 100%;\n opacity: 0.9;\n position: absolute;\n top: 149px;\n\n /* spchc’s height */\n width: 100%;\n }\n#spch.spch.disable-blur-overlay #spch-overlay {\n background-color: transparent;\n -webkit-backdrop-filter: none;\n backdrop-filter: none;\n }\n#spch.spch.disable-blur-overlay .spcho {\n height: 27px;\n padding-bottom: 20px;\n background: #fff;\n background-image: none;\n box-shadow: 0 8px 6px -6px rgb(0 0 0 / 20%);\n }\n#spch.spch.s2tb-h {\n background: rgba(255, 255, 255, 0);\n opacity: 0;\n visibility: hidden;\n }\n\n@-webkit-keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n@-webkit-keyframes ripple {\n 0% {\n opacity: 1;\n transform: scale(0.7);\n }\n\n 100% {\n opacity: 0;\n transform: scale(1);\n }\n}\n\n@keyframes ripple {\n 0% {\n opacity: 1;\n transform: scale(0.7);\n }\n\n 100% {\n opacity: 0;\n transform: scale(1);\n }\n}\n\n@-webkit-keyframes speakingRipple1 {\n 0%,\n 100% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple1-1-202105260611.png\”);\n }\n\n 25%,\n 75% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple1-2-202105260611.png\”);\n transform: scale(1.1);\n }\n\n 50% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple1-3-202105260611.png\”);\n transform: scale(0.9);\n }\n}\n\n@keyframes speakingRipple1 {\n 0%,\n 100% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple1-1-202105260611.png\”);\n }\n\n 25%,\n 75% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple1-2-202105260611.png\”);\n transform: scale(1.1);\n }\n\n 50% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple1-3-202105260611.png\”);\n transform: scale(0.9);\n }\n}\n\n@-webkit-keyframes speakingRipple2 {\n 0%,\n 100% {\n background-image: none;\n }\n\n 25%,\n 75% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple2-2-202105260611.png\”);\n transform: scale(1.1);\n }\n\n 50% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple2-3-202105260611.png\”);\n transform: scale(0.9);\n }\n}\n\n@keyframes speakingRipple2 {\n 0%,\n 100% {\n background-image: none;\n }\n\n 25%,\n 75% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple2-2-202105260611.png\”);\n transform: scale(1.1);\n }\n\n 50% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple2-3-202105260611.png\”);\n transform: scale(0.9);\n }\n}\n\n@-webkit-keyframes speakingRipple3 {\n 0%,\n 25%,\n 75%,\n 100% {\n background-image: none;\n }\n\n 50% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple3-3-202105260611.png\”);\n transform: scale(0.9);\n }\n}\n\n@keyframes speakingRipple3 {\n 0%,\n 25%,\n 75%,\n 100% {\n background-image: none;\n }\n\n 50% {\n background-image: url(\”https://s.yimg.com/pv/static/img/ripple3-3-202105260611.png\”);\n transform: scale(0.9);\n }\n}\n”, “”]);n// Exportsn/* harmony default export */ __webpack_exports__[“default”] = (___CSS_LOADER_EXPORT___);nnn//# sourceURL=webpack://@vzmi/voicejs/./src/index.css?./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js’)},”./node_modules/css-loader/dist/runtime/api.js”:
/*!*****************************************************!*
!*** ./node_modules/css-loader/dist/runtime/api.js ***!
*****************************************************/function(module){eval(‘nn/*n MIT License http://www.opensource.org/licenses/mit-license.phpn Author Tobias Koppers @sokran*/n// css base code, injected by the css-loadern// eslint-disable-next-line func-namesnmodule.exports = function (cssWithMappingToString) {n var list = []; // return the list of modules as css stringnn list.toString = function toString() {n return this.map(function (item) {n var content = cssWithMappingToString(item);nn if (item[2]) {n return “@media “.concat(item[2], ” {“).concat(content, “}”);n }nn return content;n }).join(“”);n }; // import a list of modules into the listn // eslint-disable-next-line func-namesnnn list.i = function (modules, mediaQuery, dedupe) {n if (typeof modules === “string”) {n // eslint-disable-next-line no-param-reassignn modules = [[null, modules, “”]];n }nn var alreadyImportedModules = {};nn if (dedupe) {n for (var i = 0; i < this.length; i++) {n // eslint-disable-next-line prefer-destructuringn var id = this[i][0];nn if (id != null) {n alreadyImportedModules[id] = true;n }n }n }nn for (var _i = 0; _i < modules.length; _i++) {n var item = [].concat(modules[_i]);nn if (dedupe && alreadyImportedModules[item[0]]) {n // eslint-disable-next-line no-continuen continue;n }nn if (mediaQuery) {n if (!item[2]) {n item[2] = mediaQuery;n } else {n item[2] = “”.concat(mediaQuery, ” and “).concat(item[2]);n }n }nn list.push(item);n }n };nn return list;n};nn//# sourceURL=webpack://@vzmi/voicejs/./node_modules/css-loader/dist/runtime/api.js?’)},”./src/index.css”:
/*!***********************!*
!*** ./src/index.css ***!
***********************/function(module,__unused_webpack_exports,__webpack_require__){eval(‘var api = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ “./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js”);n var content = __webpack_require__(/*! !!../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js!./index.css */ “./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./src/index.css”);nn content = content.__esModule ? content.default : content;nn if (typeof content === ‘string’) {n content = [[module.id, content, ”]];n }nnvar options = {};nnoptions.insert = “head”;noptions.singleton = false;nnvar update = api(content, options);nnnnmodule.exports = content.locals || {};nn//# sourceURL=webpack://@vzmi/voicejs/./src/index.css?’)},”./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js”:
/*!****************************************************************************!*
!*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!
****************************************************************************/function(module,__unused_webpack_exports,__webpack_require__){eval(“nnvar isOldIE = function isOldIE() {n var memo;n return function memorize() {n if (typeof memo === ‘undefined’) {n // Test for IE <= 9 as proposed by Browserhacksn // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805n // Tests for existence of standard globals is to allow style-loadern // to operate correctly into non-standard environmentsn // @see https://github.com/webpack-contrib/style-loader/issues/177n memo = Boolean(window && document && document.all && !window.atob);n }nn return memo;n };n}();nnvar getTarget = function getTarget() {n var memo = {};n return function memorize(target) {n if (typeof memo[target] === ‘undefined’) {n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itselfnn if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {n try {n // This will throw an exception if access to iframe is blockedn // due to cross-origin restrictionsn styleTarget = styleTarget.contentDocument.head;n } catch (e) {n // istanbul ignore nextn styleTarget = null;n }n }nn memo[target] = styleTarget;n }nn return memo[target];n };n}();nnvar stylesInDom = [];nnfunction getIndexByIdentifier(identifier) {n var result = -1;nn for (var i = 0; i < stylesInDom.length; i++) {n if (stylesInDom[i].identifier === identifier) {n result = i;n break;n }n }nn return result;n}nnfunction modulesToDom(list, options) {n var idCountMap = {};n var identifiers = [];nn for (var i = 0; i < list.length; i++) {n var item = list[i];n var id = options.base ? item[0] + options.base : item[0];n var count = idCountMap[id] || 0;n var identifier = “”.concat(id, ” “).concat(count);n idCountMap[id] = count + 1;n var index = getIndexByIdentifier(identifier);n var obj = {n css: item[1],n media: item[2],n sourceMap: item[3]n };nn if (index !== -1) {n stylesInDom[index].references++;n stylesInDom[index].updater(obj);n } else {n stylesInDom.push({n identifier: identifier,n updater: addStyle(obj, options),n references: 1n });n }nn identifiers.push(identifier);n }nn return identifiers;n}nnfunction insertStyleElement(options) {n var style = document.createElement(‘style’);n var attributes = options.attributes || {};nn if (typeof attributes.nonce === ‘undefined’) {n var nonce = true ? __webpack_require__.nc : 0;nn if (nonce) {n attributes.nonce = nonce;n }n }nn Object.keys(attributes).forEach(function (key) {n style.setAttribute(key, attributes[key]);n });nn if (typeof options.insert === ‘function’) {n options.insert(style);n } else {n var target = getTarget(options.insert || ‘head’);nn if (!target) {n throw new Error(“Couldn’t find a style target. This probably means that the value for the ‘insert’ parameter is invalid.”);n }nn target.appendChild(style);n }nn return style;n}nnfunction removeStyleElement(style) {n // istanbul ignore ifn if (style.parentNode === null) {n return false;n }nn style.parentNode.removeChild(style);n}n/* istanbul ignore next */nnnvar replaceText = function replaceText() {n var textStore = [];n return function replace(index, replacement) {n textStore[index] = replacement;n return textStore.filter(Boolean).join(‘\n’);n };n}();nnfunction applyToSingletonTag(style, index, remove, obj) {n var css = remove ? ” : obj.media ? “@media “.concat(obj.media, ” {“).concat(obj.css, “}”) : obj.css; // For old IEnn /* istanbul ignore if */nn if (style.styleSheet) {n style.styleSheet.cssText = replaceText(index, css);n } else {n var cssNode = document.createTextNode(css);n var childNodes = style.childNodes;nn if (childNodes[index]) {n style.removeChild(childNodes[index]);n }nn if (childNodes.length) {n style.insertBefore(cssNode, childNodes[index]);n } else {n style.appendChild(cssNode);n }n }n}nnfunction applyToTag(style, options, obj) {n var css = obj.css;n var media = obj.media;n var sourceMap = obj.sourceMap;nn if (media) {n style.setAttribute(‘media’, media);n } else {n style.removeAttribute(‘media’);n }nn if (sourceMap && typeof btoa !== ‘undefined’) {n css += “\n/*# sourceMappingURL=data:application/json;base64,”.concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), ” */”);n } // For old IEnn /* istanbul ignore if */nnn if (style.styleSheet) {n style.styleSheet.cssText = css;n } else {n while (style.firstChild) {n style.removeChild(style.firstChild);n }nn style.appendChild(document.createTextNode(css));n }n}nnvar singleton = null;nvar singletonCounter = 0;nnfunction addStyle(obj, options) {n var style;n var update;n var remove;nn if (options.singleton) {n var styleIndex = singletonCounter++;n style = singleton || (singleton = insertStyleElement(options));n update = applyToSingletonTag.bind(null, style, styleIndex, false);n remove = applyToSingletonTag.bind(null, style, styleIndex, true);n } else {n style = insertStyleElement(options);n update = applyToTag.bind(null, style, options);nn remove = function remove() {n removeStyleElement(style);n };n }nn update(obj);n return function updateStyle(newObj) {n if (newObj) {n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {n return;n }nn update(obj = newObj);n } else {n remove();n }n };n}nnmodule.exports = function (list, options) {n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of
Advertisement
SmartAsset
Most Americans Are Behind on Retirement Savings – Are You One of Them?
When it comes to retirement savings, American workers have a lot of work to do. A recent Insured Retirement Institute survey found that workers between ages of 40 and 73 have insufficient retirement savings to cover their income needs, and they … Continue reading → The post Most Americans Are Behind on Retirement Savings – Are You One of Them? appeared first on SmartAsset Blog.
Bloomberg
Oil-Pipeline Outage Compounds Biden’s Post-Saudi Crude Dilemma
(Bloomberg) — Shipments of Canadian oil to US refiners were thrown into disarray by a pipeline disruption just days after President Joe Biden’s unsuccessful bid to coax more crude out of Saudi Arabia.Most Read from BloombergThis Could Be the Start of a Dollar ‘Doom Loop’ Like No OtherGhana Declares First Marburg Virus Disease OutbreakA Goldman Legend, Crypto Star and Top Banker Warn of Next Big RiskStock Optimism Evaporates With Apple Hiring Plans: Markets WrapThe force majeure declared by TC E
TheStreet.com
Charlie Munger Not Worried About Inflation, Economy
Berkshire Hathaway’s Charlie Munger discussed his outlooks on the economy, oil, renewable energy and cryptocurrency after his recent personal investment in an Australian investment company. Billionaire investor Munger who has worked alongside with Warren Buffett for several decades, discussed his views with the Financial Review in Australia. A vice chairman of Berkshire Hathaway, Munger invested in Stonehouse Corporation, a Melbourne-based investment company, because its founder is a “soulmate” to the conglomerate, he said.
South China Morning Post
China bond defaults hit US$20 billion in 2022, more than double last year’s total, as property developers teeter
The value of bond defaults in China in 2022 has already more than doubled the full-year total from last year, as the accelerating debt crisis in the country’s US$2.7 trillion property market spills over into other areas of the economy. Defaults by Chinese issuers have exceeded US$20 billion so far this year, compared with about US$9 billion for all of last year, with property developers accounting for most of the defaults, said Augus To, deputy head of research at ICBC International. “The defaul
Barrons.com
Why There’s a Chance the Stock Market Has Hit Bottom
The market’s rally on Monday ended after bad news from Apple. But an argument can be made that inflation has peaked and stock valuations reflect the worst of the risks.
WSOC
PHOTOS: Mooresville equestrian estate hits market at nearly $16M
A Mooresville estate carrying a price tag of nearly $16 million tops the charts in the Charlotte region as the most expensive single-family home currently listed for sale — and it isn’t found on Lake Norman. T
Motley Fool
Why Graham Stephan Is Happy to Be $4 Million in Debt
Graham Stephan is a YouTube personality and a real estate investor and agent. Recently, Stephan released a newsletter with the surprising title, “I am 4 Million Dollars in debt.” Stephan is happy to owe so much because he believes his debt is the “key to my wealth.”