Built forKroger· Pilot live in 90 days at every banner.

A new era for Kroger.

Unify ordering, production, inventory, and DC buying across all 2,700+ Kroger stores. Already proven at every Albertsons banner: Ralph's. Fred Meyer. King Soopers. Harris Teeter. Ready when you are.

  • Built on the platform proven at Albertsons
  • Live in 90 days at first banner
  • Full rollout in 12 months across 2,700+ stores
Albertsons LogoWinco LogoHeinens LogoFresh Thyme LogoBashas's Logosavesmart logoCub logo

+3%

Sales increase

+25%

Shrink reduction

80%

Stockout reduction

+20%

Labor efficiency

+7%

Faster inventory turns

+94%

Adherence rate

Meet the platform
built for Kroger.

Purpose-built for fresh foods at supermarket scale, Afresh goes beyond traditional demand forecasting and perpetual inventory to drive optimal decisions across every Kroger banner, every DC, and every store.

A new approach that deliver in fresh"})},o})(t.default);t.default.registerComponent("TimeDivider",o),n.default=o,e.exports=n.default},{"../../component.js":64}],91:[function(t,e,n){function o(t){return t&&t.__esModule?t:{default:t}}n.__esModule=!0;var r=o(t("../../slider/slider.js")),i=o(t("../../component.js")),s=(t=>{if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e})(t("../../utils/fn.js")),t=(o(t("./volume-level.js")),(n=>{var t=o,e=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function o(t,e){if(!(this instanceof o))throw new TypeError("Cannot call a class as a function");n.call(this,t,e),this.on(t,"volumechange",this.updateARIAAttributes),t.ready(s.bind(this,this.updateARIAAttributes))}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),o.prototype.createEl=function(){return n.prototype.createEl.call(this,"div",{className:"vjs-volume-bar vjs-slider-bar"},{"aria-label":"volume level"})},o.prototype.handleMouseMove=function(t){this.player_.muted()&&this.player_.muted(!1),this.player_.volume(this.calculateDistance(t))},o.prototype.getPercent=function(){return this.player_.muted()?0:this.player_.volume()},o.prototype.stepForward=function(){this.player_.volume(this.player_.volume()+.1)},o.prototype.stepBack=function(){this.player_.volume(this.player_.volume()-.1)},o.prototype.updateARIAAttributes=function(){var t=(100*this.player_.volume()).toFixed(2);this.el_.setAttribute("aria-valuenow",t),this.el_.setAttribute("aria-valuetext",t+"%")},o})(r.default));t.prototype.options_={children:["volumeLevel"],barName:"volumeLevel"},t.prototype.playerEvent="volumechange",i.default.registerComponent("VolumeBar",t),n.default=t,e.exports=n.default},{"../../component.js":64,"../../slider/slider.js":109,"../../utils/fn.js":127,"./volume-level.js":93}],92:[function(t,e,n){function o(t){return t&&t.__esModule?t:{default:t}}n.__esModule=!0;var r=o(t("../../component.js")),t=(o(t("./volume-bar.js")),(n=>{var t=o,e=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function o(t,e){if(!(this instanceof o))throw new TypeError("Cannot call a class as a function");n.call(this,t,e),t.tech_&&!1===t.tech_.featuresVolumeControl&&this.addClass("vjs-hidden"),this.on(t,"loadstart",function(){!1===t.tech_.featuresVolumeControl?this.addClass("vjs-hidden"):this.removeClass("vjs-hidden")})}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),o.prototype.createEl=function(){return n.prototype.createEl.call(this,"div",{className:"vjs-volume-control vjs-control"})},o})(r.default));t.prototype.options_={children:["volumeBar"]},r.default.registerComponent("VolumeControl",t),n.default=t,e.exports=n.default},{"../../component.js":64,"./volume-bar.js":91}],93:[function(t,e,n){n.__esModule=!0;var t=t("../../component.js"),t=(t=t)&&t.__esModule?t:{default:t},o=(n=>{var t=o,e=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function o(){var t=this,e=o;if(!(t instanceof e))throw new TypeError("Cannot call a class as a function");n.apply(this,arguments)}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),o.prototype.createEl=function(){return n.prototype.createEl.call(this,"div",{className:"vjs-volume-level",innerHTML:''})},o})(t.default);t.default.registerComponent("VolumeLevel",o),n.default=o,e.exports=n.default},{"../../component.js":64}],94:[function(t,e,n){function o(t){return t&&t.__esModule?t:{default:t}}n.__esModule=!0;o(t("../button.js"));var r=o(t("../component.js")),a=o(t("../menu/menu.js")),i=o(t("../menu/menu-button.js")),l=o(t("./mute-toggle.js")),u=o(t("./volume-control/volume-bar.js")),t=(i=>{var t=s,e=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function s(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=this,o=s;if(!(n instanceof o))throw new TypeError("Cannot call a class as a function");function r(){t.tech_&&!1===t.tech_.featuresVolumeControl?this.addClass("vjs-hidden"):this.removeClass("vjs-hidden")}void 0===e.inline&&(e.inline=!0),void 0===e.vertical&&(e.inline?e.vertical=!1:e.vertical=!0),e.volumeBar=e.volumeBar||{},e.volumeBar.vertical=!!e.vertical,i.call(this,t,e),this.on(t,"volumechange",this.volumeUpdate),this.on(t,"loadstart",this.volumeUpdate),r.call(this),this.on(t,"loadstart",r),this.on(this.volumeBar,["slideractive","focus"],function(){this.addClass("vjs-slider-active")}),this.on(this.volumeBar,["sliderinactive","blur"],function(){this.removeClass("vjs-slider-active")})}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),s.prototype.buildCSSClass=function(){var t="",t=this.options_.vertical?"vjs-volume-menu-button-vertical":"vjs-volume-menu-button-horizontal";return"vjs-volume-menu-button "+i.prototype.buildCSSClass.call(this)+" "+t},s.prototype.createMenu=function(){var t=new a.default(this.player_,{contentElType:"div"}),e=new u.default(this.player_,this.options_.volumeBar);return t.addChild(e),this.volumeBar=e,t},s.prototype.handleClick=function(){l.default.prototype.handleClick.call(this),i.prototype.handleClick.call(this)},s})(i.default);t.prototype.volumeUpdate=l.default.prototype.update,t.prototype.controlText_="Mute",r.default.registerComponent("VolumeMenuButton",t),n.default=t,e.exports=n.default},{"../button.js":62,"../component.js":64,"../menu/menu-button.js":101,"../menu/menu.js":103,"./mute-toggle.js":68,"./volume-control/volume-bar.js":91}],95:[function(t,e,n){function o(t){return t&&t.__esModule?t:{default:t}}n.__esModule=!0;var r=o(t("./component")),i=o(t("./modal-dialog")),t=((t=>{if(t&&t.__esModule)return;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);e.default=t})(t("./utils/dom")),o(t("./utils/merge-options"))),s=(n=>{var t=o,e=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function o(t,e){if(!(this instanceof o))throw new TypeError("Cannot call a class as a function");n.call(this,t,e),this.on(t,"error",this.open)}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),o.prototype.buildCSSClass=function(){return"vjs-error-display "+n.prototype.buildCSSClass.call(this)},o.prototype.content=function(){var t=this.player().error();return t?this.localize(t.message):""},o})(i.default);s.prototype.options_=t.default(i.default.prototype.options_,{fillAlways:!0,uncloseable:!0}),r.default.registerComponent("ErrorDisplay",s),n.default=s,e.exports=n.default},{"./component":64,"./modal-dialog":104,"./utils/dom":125,"./utils/merge-options":131}],96:[function(t,e,n){n.__esModule=!0;function o(){}var r=(t=>{if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e})(t("./utils/events.js"));o.prototype.allowedEvents_={},o.prototype.addEventListener=o.prototype.on=function(t,e){var n=this.addEventListener;this.addEventListener=Function.prototype,r.on(this,t,e),this.addEventListener=n},o.prototype.removeEventListener=o.prototype.off=function(t,e){r.off(this,t,e)},o.prototype.one=function(t,e){r.one(this,t,e)},o.prototype.dispatchEvent=o.prototype.trigger=function(t){var e=t.type||t;t=r.fixEvent(t="string"==typeof t?{type:e}:t),this.allowedEvents_[e]&&this["on"+e]&&this["on"+e](t),r.trigger(this,t)},n.default=o,e.exports=n.default},{"./utils/events.js":126}],97:[function(t,e,n){n.__esModule=!0;var t=t("./utils/log"),s=(t=t)&&t.__esModule?t:{default:t};n.default=function(t){var e,n=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],o=function(){t.apply(this,arguments)},r={},n=("object"==typeof n?("function"==typeof n.init&&(s.default.warn("Constructor logic via init() is deprecated; please use constructor() instead."),n.constructor=n.init),n.constructor!==Object.prototype.constructor&&(o=n.constructor),r=n):"function"==typeof n&&(o=n),o),i=t;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function, not "+typeof i);for(e in n.prototype=Object.create(i&&i.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),i&&(n.super_=i),r)r.hasOwnProperty(e)&&(o.prototype[e]=r[e]);return o},e.exports=n.default},{"./utils/log":130}],98:[function(t,e,n){n.__esModule=!0;for(var t=t("global/document"),o=(t=t)&&t.__esModule?t:{default:t},r={},i=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],s=i[0],a=void 0,l=0;l{var t=o,e=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function o(){var t=this,e=o;if(!(t instanceof e))throw new TypeError("Cannot call a class as a function");n.apply(this,arguments)}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),o.prototype.createEl=function(){return n.prototype.createEl.call(this,"div",{className:"vjs-loading-spinner"})},o})(t.default);t.default.registerComponent("LoadingSpinner",o),n.default=o,e.exports=n.default},{"./component":64}],100:[function(t,e,n){n.__esModule=!0;function o(t){"number"==typeof t?this.code=t:"string"==typeof t?this.message=t:"object"==typeof t&&r.default(this,t),this.message||(this.message=o.defaultMessages[this.code]||"")}var t=t("object.assign"),r=(t=t)&&t.__esModule?t:{default:t};o.prototype.code=0,o.prototype.message="",o.prototype.status=null,o.errorTypes=["MEDIA_ERR_CUSTOM","MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED","MEDIA_ERR_ENCRYPTED"],o.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail part-way.",3:"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.",4:"The media could not be loaded, either because the server or network failed or because the format is not supported.",5:"The media is encrypted and we do not have the keys to decrypt it."};for(var i=0;i{var t=i,e=r;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=this,o=i;if(!(n instanceof o))throw new TypeError("Cannot call a class as a function");r.call(this,t,e),this.update(),this.on("keydown",this.handleKeyPress),this.el_.setAttribute("aria-haspopup",!0),this.el_.setAttribute("role","button")}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),i.prototype.update=function(){var t=this.createMenu();this.menu&&this.removeChild(this.menu),this.menu=t,this.addChild(t),this.buttonPressed_=!1,this.items&&0===this.items.length?this.hide():this.items&&1{var t=n,e=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function n(t,e){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function");o.call(this,t,e),this.selected(e.selected)}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),n.prototype.createEl=function(t,e,n){return o.prototype.createEl.call(this,"li",s.default({className:"vjs-menu-item",innerHTML:this.localize(this.options_.label)},e),n)},n.prototype.handleClick=function(){this.selected(!0)},n.prototype.selected=function(t){t?(this.addClass("vjs-selected"),this.el_.setAttribute("aria-selected",!0)):(this.removeClass("vjs-selected"),this.el_.setAttribute("aria-selected",!1))},n})(r.default);i.default.registerComponent("MenuItem",t),n.default=t,e.exports=n.default},{"../button.js":62,"../component.js":64,"object.assign":45}],103:[function(t,e,n){function o(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}n.__esModule=!0;var r=t("../component.js"),r=(r=r)&&r.__esModule?r:{default:r},i=o(t("../utils/dom.js")),s=o(t("../utils/fn.js")),a=o(t("../utils/events.js")),t=(n=>{var t=o,e=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function o(){var t=this,e=o;if(!(t instanceof e))throw new TypeError("Cannot call a class as a function");n.apply(this,arguments)}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),o.prototype.addItem=function(t){this.addChild(t),t.on("click",s.bind(this,function(){this.unlockShowing()}))},o.prototype.createEl=function(){var t=this.options_.contentElType||"ul",t=(this.contentEl_=i.createEl(t,{className:"vjs-menu-content"}),n.prototype.createEl.call(this,"div",{append:this.contentEl_,className:"vjs-menu"}));return t.appendChild(this.contentEl_),a.on(t,"click",function(t){t.preventDefault(),t.stopImmediatePropagation()}),t},o})(r.default);r.default.registerComponent("Menu",t),n.default=t,e.exports=n.default},{"../component.js":64,"../utils/dom.js":125,"../utils/events.js":126,"../utils/fn.js":127}],104:[function(t,e,n){function o(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}function r(t){return t&&t.__esModule?t:{default:t}}n.__esModule=!0;var i=r(t("global/document")),s=o(t("./utils/dom")),a=o(t("./utils/fn")),l=(r(t("./utils/log")),r(t("./component"))),u=(r(t("./close-button")),"vjs-modal-dialog"),t=(n=>{var t=o,e=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function o(t,e){if(!(this instanceof o))throw new TypeError("Cannot call a class as a function");n.call(this,t,e),this.opened_=this.hasBeenOpened_=this.hasBeenFilled_=!1,this.closeable(!this.options_.uncloseable),this.content(this.options_.content),this.contentEl_=s.createEl("div",{className:u+"-content"},{role:"document"}),this.descEl_=s.createEl("p",{className:u+"-description vjs-offscreen",id:this.el().getAttribute("aria-describedby")}),s.textContent(this.descEl_,this.description()),this.el_.appendChild(this.descEl_),this.el_.appendChild(this.contentEl_)}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),o.prototype.createEl=function(){return n.prototype.createEl.call(this,"div",{className:this.buildCSSClass(),tabIndex:-1},{"aria-describedby":this.id()+"_description","aria-hidden":"true","aria-label":this.label(),role:"dialog"})},o.prototype.buildCSSClass=function(){return u+" vjs-hidden "+n.prototype.buildCSSClass.call(this)},o.prototype.handleKeyPress=function(t){27===t.which&&this.closeable()&&this.close()},o.prototype.label=function(){return this.options_.label||this.localize("Modal Window")},o.prototype.description=function(){var t=this.options_.description||this.localize("This is a modal window.");return this.closeable()&&(t+=" "+this.localize("This modal can be closed by pressing the Escape key or activating the close button.")),t},o.prototype.open=function(){var t;return this.opened_||(t=this.player(),this.trigger("beforemodalopen"),this.opened_=!0,!this.options_.fillAlways&&(this.hasBeenOpened_||this.hasBeenFilled_)||this.fill(),this.wasPlaying_=!t.paused(),this.wasPlaying_&&t.pause(),this.closeable()&&this.on(i.default,"keydown",a.bind(this,this.handleKeyPress)),t.controls(!1),this.show(),this.el().setAttribute("aria-hidden","false"),this.trigger("modalopen"),this.hasBeenOpened_=!0),this},o.prototype.opened=function(t){return"boolean"==typeof t&&this[t?"open":"close"](),this.opened_},o.prototype.close=function(){var t;return this.opened_&&(t=this.player(),this.trigger("beforemodalclose"),this.opened_=!1,this.wasPlaying_&&t.play(),this.closeable()&&this.off(i.default,"keydown",a.bind(this,this.handleKeyPress)),t.controls(!0),this.hide(),this.el().setAttribute("aria-hidden","true"),this.trigger("modalclose"),this.options_.temporary)&&this.dispose(),this},o.prototype.closeable=function(t){var e,n;return"boolean"==typeof t&&(t=this.closeable_=!!t,e=this.getChild("closeButton"),t&&!e&&(n=this.contentEl_,this.contentEl_=this.el_,e=this.addChild("closeButton"),this.contentEl_=n,this.on(e,"close",this.close)),!t)&&e&&(this.off(e,"close",this.close),this.removeChild(e),e.dispose()),this.closeable_},o.prototype.fill=function(){return this.fillWith(this.content())},o.prototype.fillWith=function(t){var e=this.contentEl(),n=e.parentNode,o=e.nextSibling;return this.trigger("beforemodalfill"),this.hasBeenFilled_=!0,n.removeChild(e),this.empty(),s.insertContent(e,t),this.trigger("modalfill"),o?n.insertBefore(e,o):n.appendChild(e),this},o.prototype.empty=function(){return this.trigger("beforemodalempty"),s.emptyEl(this.contentEl()),this.trigger("modalempty"),this},o.prototype.content=function(t){return void 0!==t&&(this.content_=t),this.content_},o})(l.default);t.prototype.options_={temporary:!0},l.default.registerComponent("ModalDialog",t),n.default=t,e.exports=n.default},{"./close-button":63,"./component":64,"./utils/dom":125,"./utils/fn":127,"./utils/log":130,"global/document":1}],105:[function(t,e,n){function o(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}function r(t){return t&&t.__esModule?t:{default:t}}n.__esModule=!0;var l=r(t("./component.js")),i=r(t("global/document")),s=r(t("global/window")),u=o(t("./utils/events.js")),c=o(t("./utils/dom.js")),p=o(t("./utils/fn.js")),h=o(t("./utils/guid.js")),d=(o(t("./utils/browser.js")),r(t("./utils/log.js"))),f=r(t("./utils/to-title-case.js")),m=t("./utils/time-ranges.js"),y=t("./utils/buffer.js"),v=o(t("./utils/stylesheet.js")),g=r(t("./fullscreen-api.js")),b=r(t("./media-error.js")),_=r(t("safe-json-parse/tuple")),j=r(t("object.assign")),w=r(t("./utils/merge-options.js")),T=r(t("./tracks/text-track-list-converter.js")),x=(r(t("./tech/loader.js")),r(t("./poster-image.js")),r(t("./tracks/text-track-display.js")),r(t("./loading-spinner.js")),r(t("./big-play-button.js")),r(t("./control-bar/control-bar.js")),r(t("./error-display.js")),r(t("./tracks/text-track-settings.js")),r(t("./modal-dialog"))),t=(r(t("./tech/html5.js")),(s=>{var t=a,e=s;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function a(t,e,n){var o,r=this;if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");if(t.id=t.id||"vjs_video_"+h.newGUID(),(e=j.default(a.getTagSettings(t),e)).initChildren=!1,e.createEl=!1,e.reportTouchActivity=!1,s.call(this,null,e,n),!this.options_||!this.options_.techOrder||!this.options_.techOrder.length)throw new Error("No techOrder specified. Did you overwrite videojs.options instead of just changing the properties you want to override?");this.tag=t,this.tagAttributes=t&&c.getElAttributes(t),this.language(this.options_.language),e.languages?(o={},Object.getOwnPropertyNames(e.languages).forEach(function(t){o[t.toLowerCase()]=e.languages[t]}),r.languages_=o):this.languages_=a.prototype.options_.languages,this.cache_={},this.poster_=e.poster||"",this.controls_=!!e.controls,t.controls=!1,this.scrubbing_=!1,this.el_=this.createEl();var i,n=w.default(this.options_);e.plugins&&(i=e.plugins,Object.getOwnPropertyNames(i).forEach(function(t){"function"==typeof this[t]?this[t](i[t]):d.default.error("Unable to find plugin:",t)},r)),this.options_.playerOptions=n,this.initChildren(),this.isAudio("audio"===t.nodeName.toLowerCase()),this.controls()?this.addClass("vjs-controls-enabled"):this.addClass("vjs-controls-disabled"),this.isAudio()&&this.addClass("vjs-audio"),this.flexNotSupported_()&&this.addClass("vjs-no-flex"),(a.players[this.id_]=this).userActive(!0),this.reportUserActivity(),this.listenForUserActivity_(),this.on("fullscreenchange",this.handleFullscreenChange_),this.on("stageclick",this.handleStageClick_)}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),a.prototype.dispose=function(){this.trigger("dispose"),this.off("dispose"),this.styleEl_&&this.styleEl_.parentNode.removeChild(this.styleEl_),a.players[this.id_]=null,this.tag&&this.tag.player&&(this.tag.player=null),this.el_&&this.el_.player&&(this.el_.player=null),this.tech_&&this.tech_.dispose(),s.prototype.dispose.call(this)},a.prototype.createEl=function(){var e=this.el_=s.prototype.createEl.call(this,"div"),t=this.tag,n=(t.removeAttribute("width"),t.removeAttribute("height"),c.getElAttributes(t)),o=(Object.getOwnPropertyNames(n).forEach(function(t){"class"===t?e.className=n[t]:e.setAttribute(t,n[t])}),t.id+="_html5_api",t.className="vjs-tech",(t.player=e.player=this).addClass("vjs-paused"),this.styleEl_=v.createStyleElement("vjs-styles-dimensions"),i.default.querySelector(".vjs-styles-defaults")),r=i.default.querySelector("head");return r.insertBefore(this.styleEl_,o?o.nextSibling:r.firstChild),this.width(this.options_.width),this.height(this.options_.height),this.fluid(this.options_.fluid),this.aspectRatio(this.options_.aspectRatio),t.initNetworkState_=t.networkState,t.parentNode&&t.parentNode.insertBefore(e,t),c.insertElFirst(t,e),this.el_=e},a.prototype.width=function(t){return this.dimension("width",t)},a.prototype.height=function(t){return this.dimension("height",t)},a.prototype.dimension=function(t,e){var n=t+"_";if(void 0===e)return this[n]||0;if(""===e)this[n]=void 0;else{var o=parseFloat(e);if(isNaN(o))return d.default.error('Improper value "'+e+'" supplied for for '+t),this;this[n]=o}return this.updateStyleEl_(),this},a.prototype.fluid=function(t){if(void 0===t)return!!this.fluid_;this.fluid_=!!t,t?this.addClass("vjs-fluid"):this.removeClass("vjs-fluid")},a.prototype.aspectRatio=function(t){if(void 0===t)return this.aspectRatio_;if(!/^\d+\:\d+$/.test(t))throw new Error("Improper value supplied for aspect ratio. The format should be width:height, for example 16:9.");this.aspectRatio_=t,this.fluid(!0),this.updateStyleEl_()},a.prototype.updateStyleEl_=function(){var t=void 0,e=void 0,n=(void 0!==this.aspectRatio_&&"auto"!==this.aspectRatio_?this.aspectRatio_:this.videoWidth()?this.videoWidth()+":"+this.videoHeight():"16:9").split(":"),n=n[1]/n[0],t=void 0!==this.width_?this.width_:void 0!==this.height_?this.height_/n:this.videoWidth()||300,e=void 0!==this.height_?this.height_:t*n,o=this.id()+"-dimensions";this.addClass(o),v.setTextContent(this.styleEl_,"\n ."+o+" {\n width: "+t+"px;\n height: "+e+"px;\n }\n\n ."+o+".vjs-fluid {\n padding-top: "+100*n+"%;\n }\n ")},a.prototype.loadTech_=function(t,e){this.tech_&&this.unloadTech_(),"Html5"!==t&&this.tag&&(l.default.getComponent("Html5").disposeMediaElement(this.tag),this.tag.player=null,this.tag=null),this.techName_=t,this.isReady_=!1;var n=j.default({nativeControlsForTouch:this.options_.nativeControlsForTouch,source:e,playerId:this.id(),techId:this.id()+"_"+t+"_api",textTracks:this.textTracks_,autoplay:this.options_.autoplay,preload:this.options_.preload,loop:this.options_.loop,muted:this.options_.muted,poster:this.poster(),language:this.language(),"vtt.js":this.options_["vtt.js"]},this.options_[t.toLowerCase()]),e=(this.tag&&(n.tag=this.tag),e&&(this.currentType_=e.type,e.src===this.cache_.src&&0{var t=o,e=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function o(t,e){if(!(this instanceof o))throw new TypeError("Cannot call a class as a function");n.call(this,t,e),this.update(),t.on("posterchange",a.bind(this,this.update))}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),o.prototype.dispose=function(){this.player().off("posterchange",this.update),n.prototype.dispose.call(this)},o.prototype.createEl=function(){var t=l.createEl("div",{className:"vjs-poster",tabIndex:-1});return u.BACKGROUND_SIZE_SUPPORTED||(this.fallbackImg_=l.createEl("img"),t.appendChild(this.fallbackImg_)),t},o.prototype.update=function(){var t=this.player().poster();this.setSrc(t),t?this.show():this.hide()},o.prototype.setSrc=function(t){this.fallbackImg_?this.fallbackImg_.src=t:this.el_.style.backgroundImage=t?'url("'+t+'")':""},o.prototype.handleClick=function(){this.player_.paused()?this.player_.play():this.player_.pause()},o})(i.default);s.default.registerComponent("PosterImage",t),n.default=t,e.exports=n.default},{"./button.js":62,"./component.js":64,"./utils/browser.js":122,"./utils/dom.js":125,"./utils/fn.js":127}],108:[function(t,e,n){function o(t){return t&&t.__esModule?t:{default:t}}n.__esModule=!0;function s(t,e){u=e,setTimeout(i,t)}var r=(t=>{if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e})(t("./utils/events.js")),a=o(t("global/document")),t=o(t("global/window")),l=!1,u=void 0,i=function(){var t=a.default.getElementsByTagName("video"),e=a.default.getElementsByTagName("audio"),n=[];if(t&&0{if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e})(t("../utils/dom.js")),s=o(t("global/document")),a=o(t("object.assign")),t=(o=>{var t=n,e=o;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function n(t,e){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function");o.call(this,t,e),this.bar=this.getChild(this.options_.barName),this.vertical(!!this.options_.vertical),this.on("mousedown",this.handleMouseDown),this.on("touchstart",this.handleMouseDown),this.on("focus",this.handleFocus),this.on("blur",this.handleBlur),this.on("click",this.handleClick),this.on(t,"controlsvisible",this.update),this.on(t,this.playerEvent,this.update)}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),n.prototype.createEl=function(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];return e.className=e.className+" vjs-slider",e=a.default({tabIndex:0},e),n=a.default({role:"slider","aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0},n),o.prototype.createEl.call(this,t,e,n)},n.prototype.handleMouseDown=function(t){t.preventDefault(),i.blockTextSelection(),this.addClass("vjs-sliding"),this.trigger("slideractive"),this.on(s.default,"mousemove",this.handleMouseMove),this.on(s.default,"mouseup",this.handleMouseUp),this.on(s.default,"touchmove",this.handleMouseMove),this.on(s.default,"touchend",this.handleMouseUp),this.handleMouseMove(t)},n.prototype.handleMouseMove=function(){},n.prototype.handleMouseUp=function(){i.unblockTextSelection(),this.removeClass("vjs-sliding"),this.trigger("sliderinactive"),this.off(s.default,"mousemove",this.handleMouseMove),this.off(s.default,"mouseup",this.handleMouseUp),this.off(s.default,"touchmove",this.handleMouseMove),this.off(s.default,"touchend",this.handleMouseUp),this.update()},n.prototype.update=function(){var t,e;this.el_&&(e=this.getPercent(),t=this.bar)&&(e=(100*(e="number"!=typeof e||e!=e||e<0||e===1/0?0:e)).toFixed(2)+"%",this.vertical()?t.el().style.height=e:t.el().style.width=e)},n.prototype.calculateDistance=function(t){t=i.getPointerPosition(this.el_,t);return this.vertical()?t.y:t.x},n.prototype.handleFocus=function(){this.on(s.default,"keydown",this.handleKeyPress)},n.prototype.handleKeyPress=function(t){37===t.which||40===t.which?(t.preventDefault(),this.stepBack()):38!==t.which&&39!==t.which||(t.preventDefault(),this.stepForward())},n.prototype.handleBlur=function(){this.off(s.default,"keydown",this.handleKeyPress)},n.prototype.handleClick=function(t){t.stopImmediatePropagation(),t.preventDefault()},n.prototype.vertical=function(t){return void 0===t?this.vertical_||!1:(this.vertical_=!!t,this.vertical_?this.addClass("vjs-slider-vertical"):this.addClass("vjs-slider-horizontal"),this)},n})(r.default);r.default.registerComponent("Slider",t),n.default=t,e.exports=n.default},{"../component.js":64,"../utils/dom.js":125,"global/document":1,"object.assign":45}],110:[function(t,e,n){n.__esModule=!0,n.default=function(n){return n.streamingFormats={"rtmp/mp4":"MP4","rtmp/flv":"FLV"},n.streamFromParts=function(t,e){return t+"&"+e},n.streamToParts=function(t){var e,n,o={connection:"",stream:""};return t&&(n=void 0,-1!==(e=t.indexOf("&"))?n=e+1:0===(e=n=t.lastIndexOf("/")+1)&&(e=n=t.length),o.connection=t.substring(0,e),o.stream=t.substring(n,t.length)),o},n.isStreamingType=function(t){return t in n.streamingFormats},n.RTMP_RE=/^rtmp[set]?:\/\//i,n.isStreamingSrc=function(t){return n.RTMP_RE.test(t)},n.rtmpSourceHandler={},n.rtmpSourceHandler.canPlayType=function(t){return n.isStreamingType(t)?"maybe":""},n.rtmpSourceHandler.canHandleSource=function(t){var e=n.rtmpSourceHandler.canPlayType(t.type);return e||(n.isStreamingSrc(t.src)?"maybe":"")},n.rtmpSourceHandler.handleSource=function(t,e){t=n.streamToParts(t.src);e.setRtmpConnection(t.connection),e.setRtmpStream(t.stream)},n.registerSourceHandler(n.rtmpSourceHandler),n},e.exports=n.default},{}],111:[function(t,e,n){function o(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}function r(t){return t&&t.__esModule?t:{default:t}}n.__esModule=!0;var i=r(t("./tech")),s=o(t("../utils/dom.js")),a=o(t("../utils/url.js")),l=t("../utils/time-ranges.js"),u=r(t("./flash-rtmp")),c=r(t("../component")),p=r(t("global/window")),h=r(t("object.assign")),d=p.default.navigator,f=(n=>{var t=r,e=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function r(t,e){if(!(this instanceof r))throw new TypeError("Cannot call a class as a function");n.call(this,t,e),t.source&&this.ready(function(){this.setSource(t.source)},!0),t.startTime&&this.ready(function(){this.load(),this.play(),this.currentTime(t.startTime)},!0),p.default.videojs=p.default.videojs||{},p.default.videojs.Flash=p.default.videojs.Flash||{},p.default.videojs.Flash.onReady=r.onReady,p.default.videojs.Flash.onEvent=r.onEvent,p.default.videojs.Flash.onError=r.onError,this.on("seeked",function(){this.lastSeekTarget_=void 0})}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),r.prototype.createEl=function(){var t=this.options_,e=(t.swf||(t.swf="//vjs.zencdn.net/swf/5.0.0-rc1/video-js.swf"),t.techId),n=h.default({readyFunction:"videojs.Flash.onReady",eventProxyFunction:"videojs.Flash.onEvent",errorEventProxyFunction:"videojs.Flash.onError",autoplay:t.autoplay,preload:t.preload,loop:t.loop,muted:t.muted},t.flashVars),o=h.default({wmode:"opaque",bgcolor:"#000000"},t.params),e=h.default({id:e,name:e,class:"vjs-tech"},t.attributes);return this.el_=r.embed(t.swf,n,o,e),(this.el_.tech=this).el_},r.prototype.play=function(){this.ended()&&this.setCurrentTime(0),this.el_.vjs_play()},r.prototype.pause=function(){this.el_.vjs_pause()},r.prototype.src=function(t){return void 0===t?this.currentSrc():this.setSrc(t)},r.prototype.setSrc=function(t){var e;t=a.getAbsoluteURL(t),this.el_.vjs_src(t),this.autoplay()&&(e=this).setTimeout(function(){e.play()},0)},r.prototype.seeking=function(){return void 0!==this.lastSeekTarget_},r.prototype.setCurrentTime=function(t){var e=this.seekable();e.length&&(t=(t=t>e.start(0)?t:e.start(0)){var t=e.charAt(0).toUpperCase()+e.slice(1);m["set"+t]=function(t){return this.el_.vjs_setProperty(e,t)}})(y[b]);for(b=0;b'}),o=h.default({data:t,width:"100%",height:"100%"},o),Object.getOwnPropertyNames(o).forEach(function(t){s+=t+'="'+o[t]+'" '}),'"+i+""},u.default(f),c.default.registerComponent("Flash",f),n.default=f,e.exports=n.default},{"../component":64,"../utils/dom.js":125,"../utils/time-ranges.js":133,"../utils/url.js":135,"./flash-rtmp":110,"./tech":114,"global/window":2,"object.assign":45}],112:[function(t,e,n){function o(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}function r(t){return t&&t.__esModule?t:{default:t}}n.__esModule=!0;var i=r(t("./tech.js")),s=r(t("../component")),u=o(t("../utils/dom.js")),a=o(t("../utils/url.js")),c=o(t("../utils/fn.js")),p=r(t("../utils/log.js")),h=o(t("../utils/browser.js")),d=r(t("global/document")),f=r(t("global/window")),m=r(t("object.assign")),y=r(t("../utils/merge-options.js")),l=(a=>{var t=l,e=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function l(t,e){if(!(this instanceof l))throw new TypeError("Cannot call a class as a function");a.call(this,t,e);e=t.source;if(e&&(this.el_.currentSrc!==e.src||t.tag&&3===t.tag.initNetworkState_)?this.setSource(e):this.handleLateInit_(this.el_),this.el_.hasChildNodes()){for(var n=this.el_.childNodes,o=n.length,r=[];o--;){var i=n[o];"track"===i.nodeName.toLowerCase()&&(this.featuresNativeTextTracks?this.remoteTextTracks().addTrack_(i.track):r.push(i))}for(var s=0;s{function t(){n=!0}function e(){n||this.trigger("loadstart")}var n=!1;return o.on("loadstart",t),o.on("loadedmetadata",e),o.ready(function(){this.off("loadstart",t),this.off("loadedmetadata",e),n||this.trigger("loadstart")}),{v:void 0}})();if("object"==typeof e)return e.v}var n=["loadstart"];n.push("loadedmetadata"),2<=t.readyState&&n.push("loadeddata"),3<=t.readyState&&n.push("canplay"),4<=t.readyState&&n.push("canplaythrough"),this.ready(function(){n.forEach(function(t){this.trigger(t)},this)})}},l.prototype.proxyNativeTextTracks_=function(){var t=this.el().textTracks;t&&t.addEventListener&&(t.addEventListener("change",this.handleTextTrackChange_),t.addEventListener("addtrack",this.handleTextTrackAdd_),t.addEventListener("removetrack",this.handleTextTrackRemove_))},l.prototype.handleTextTrackChange=function(t){var e=this.textTracks();this.textTracks().trigger({type:"change",target:e,currentTarget:e,srcElement:e})},l.prototype.handleTextTrackAdd=function(t){this.textTracks().addTrack_(t.track)},l.prototype.handleTextTrackRemove=function(t){this.textTracks().removeTrack_(t.track)},l.prototype.play=function(){this.el_.play()},l.prototype.pause=function(){this.el_.pause()},l.prototype.paused=function(){return this.el_.paused},l.prototype.currentTime=function(){return this.el_.currentTime},l.prototype.setCurrentTime=function(t){try{this.el_.currentTime=t}catch(t){p.default(t,"Video is not ready. (Video.js)")}},l.prototype.duration=function(){return this.el_.duration||0},l.prototype.buffered=function(){return this.el_.buffered},l.prototype.volume=function(){return this.el_.volume},l.prototype.setVolume=function(t){this.el_.volume=t},l.prototype.muted=function(){return this.el_.muted},l.prototype.setMuted=function(t){this.el_.muted=t},l.prototype.width=function(){return this.el_.offsetWidth},l.prototype.height=function(){return this.el_.offsetHeight},l.prototype.supportsFullScreen=function(){if("function"==typeof this.el_.webkitEnterFullScreen){var t=f.default.navigator.userAgent;if(/Android/.test(t)||!/Chrome|Mac OS X 10.5/.test(t))return!0}return!1},l.prototype.enterFullScreen=function(){var t=this.el_;"webkitDisplayingFullscreen"in t&&this.one("webkitbeginfullscreen",function(){this.one("webkitendfullscreen",function(){this.trigger("fullscreenchange",{isFullscreen:!1})}),this.trigger("fullscreenchange",{isFullscreen:!0})}),t.paused&&t.networkState<=t.HAVE_METADATA?(this.el_.play(),this.setTimeout(function(){t.pause(),t.webkitEnterFullScreen()},0)):t.webkitEnterFullScreen()},l.prototype.exitFullScreen=function(){this.el_.webkitExitFullScreen()},l.prototype.src=function(t){if(void 0===t)return this.el_.src;this.setSrc(t)},l.prototype.setSrc=function(t){this.el_.src=t},l.prototype.load=function(){this.el_.load()},l.prototype.currentSrc=function(){return this.el_.currentSrc},l.prototype.poster=function(){return this.el_.poster},l.prototype.setPoster=function(t){this.el_.poster=t},l.prototype.preload=function(){return this.el_.preload},l.prototype.setPreload=function(t){this.el_.preload=t},l.prototype.autoplay=function(){return this.el_.autoplay},l.prototype.setAutoplay=function(t){this.el_.autoplay=t},l.prototype.controls=function(){return this.el_.controls},l.prototype.setControls=function(t){this.el_.controls=!!t},l.prototype.loop=function(){return this.el_.loop},l.prototype.setLoop=function(t){this.el_.loop=t},l.prototype.error=function(){return this.el_.error},l.prototype.seeking=function(){return this.el_.seeking},l.prototype.seekable=function(){return this.el_.seekable},l.prototype.ended=function(){return this.el_.ended},l.prototype.defaultMuted=function(){return this.el_.defaultMuted},l.prototype.playbackRate=function(){return this.el_.playbackRate},l.prototype.played=function(){return this.el_.played},l.prototype.setPlaybackRate=function(t){this.el_.playbackRate=t},l.prototype.networkState=function(){return this.el_.networkState},l.prototype.readyState=function(){return this.el_.readyState},l.prototype.videoWidth=function(){return this.el_.videoWidth},l.prototype.videoHeight=function(){return this.el_.videoHeight},l.prototype.textTracks=function(){return a.prototype.textTracks.call(this)},l.prototype.addTextTrack=function(t,e,n){return this.featuresNativeTextTracks?this.el_.addTextTrack(t,e,n):a.prototype.addTextTrack.call(this,t,e,n)},l.prototype.addRemoteTextTrack=function(){var t,e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return this.featuresNativeTextTracks?(t=d.default.createElement("track"),e.kind&&(t.kind=e.kind),e.label&&(t.label=e.label),(e.language||e.srclang)&&(t.srclang=e.language||e.srclang),e.default&&(t.default=e.default),e.id&&(t.id=e.id),e.src&&(t.src=e.src),this.el().appendChild(t),this.remoteTextTracks().addTrack_(t.track),t):a.prototype.addRemoteTextTrack.call(this,e)},l.prototype.removeRemoteTextTrack=function(t){if(!this.featuresNativeTextTracks)return a.prototype.removeRemoteTextTrack.call(this,t);var e,n;for(this.remoteTextTracks().removeTrack_(t),n=(e=this.el().querySelectorAll("track")).length;n--;)t!==e[n]&&t!==e[n].track||this.el().removeChild(e[n])},l})(i.default),t=(l.TEST_VID=d.default.createElement("video"),d.default.createElement("track")),v=(t.kind="captions",t.srclang="en",t.label="English",l.TEST_VID.appendChild(t),l.isSupported=function(){try{l.TEST_VID.volume=.5}catch(t){return!1}return!!l.TEST_VID.canPlayType},i.default.withSourceHandlers(l),l.nativeSourceHandler={},l.nativeSourceHandler.canPlayType=function(t){try{return l.TEST_VID.canPlayType(t)}catch(t){return""}},l.nativeSourceHandler.canHandleSource=function(t){return t.type?l.nativeSourceHandler.canPlayType(t.type):t.src?(t=a.getFileExtension(t.src),l.nativeSourceHandler.canPlayType("video/"+t)):""},l.nativeSourceHandler.handleSource=function(t,e){e.setSrc(t.src)},l.nativeSourceHandler.dispose=function(){},l.registerSourceHandler(l.nativeSourceHandler),l.canControlVolume=function(){var t=l.TEST_VID.volume;return l.TEST_VID.volume=t/2+.1,t!==l.TEST_VID.volume},l.canControlPlaybackRate=function(){var t=l.TEST_VID.playbackRate;return l.TEST_VID.playbackRate=t/2+.1,t!==l.TEST_VID.playbackRate},l.supportsNativeTextTracks=function(){var t=!!l.TEST_VID.textTracks;return t=!(t=(t=t&&0{var t=l,e=a;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function l(t,e,n){if(!(this instanceof l))throw new TypeError("Cannot call a class as a function");if(a.call(this,t,e,n),e.playerOptions.sources&&0!==e.playerOptions.sources.length)t.src(e.playerOptions.sources);else for(var o=0,r=e.playerOptions.techOrder;o{if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e})(t("../utils/fn.js")),i=o(t("../utils/log.js")),u=t("../utils/time-ranges.js"),c=t("../utils/buffer.js"),p=o(t("../media-error.js")),h=o(t("global/window")),d=o(t("global/document")),t=(r=>{var t=i,e=r;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function i(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],e=arguments.length<=1||void 0===arguments[1]?function(){}:arguments[1],n=this,o=i;if(!(n instanceof o))throw new TypeError("Cannot call a class as a function");t.reportTouchActivity=!1,r.call(this,null,t,e),this.hasStarted_=!1,this.on("playing",function(){this.hasStarted_=!0}),this.on("loadstart",function(){this.hasStarted_=!1}),this.textTracks_=t.textTracks,this.featuresProgressEvents||this.manualProgressOn(),this.featuresTimeupdateEvents||this.manualTimeUpdatesOn(),!1!==t.nativeCaptions&&!1!==t.nativeTextTracks||(this.featuresNativeTextTracks=!1),this.featuresNativeTextTracks||this.on("ready",this.emulateTextTracks),this.initTextTrackListeners(),this.emitTapEvents()}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),i.prototype.manualProgressOn=function(){this.on("durationchange",this.onDurationChange),this.manualProgress=!0,this.one("ready",this.trackProgress)},i.prototype.manualProgressOff=function(){this.manualProgress=!1,this.stopTrackingProgress(),this.off("durationchange",this.onDurationChange)},i.prototype.trackProgress=function(){this.stopTrackingProgress(),this.progressInterval=this.setInterval(l.bind(this,function(){var t=this.bufferedPercent();this.bufferedPercent_!==t&&this.trigger("progress"),1===(this.bufferedPercent_=t)&&this.stopTrackingProgress()}),500)},i.prototype.onDurationChange=function(){this.duration_=this.duration()},i.prototype.buffered=function(){return u.createTimeRange(0,0)},i.prototype.bufferedPercent=function(){return c.bufferedPercent(this.buffered(),this.duration_)},i.prototype.stopTrackingProgress=function(){this.clearInterval(this.progressInterval)},i.prototype.manualTimeUpdatesOn=function(){this.manualTimeUpdates=!0,this.on("play",this.trackCurrentTime),this.on("pause",this.stopTrackingCurrentTime)},i.prototype.manualTimeUpdatesOff=function(){this.manualTimeUpdates=!1,this.stopTrackingCurrentTime(),this.off("play",this.trackCurrentTime),this.off("pause",this.stopTrackingCurrentTime)},i.prototype.trackCurrentTime=function(){this.currentTimeInterval&&this.stopTrackingCurrentTime(),this.currentTimeInterval=this.setInterval(function(){this.trigger({type:"timeupdate",target:this,manuallyTriggered:!0})},250)},i.prototype.stopTrackingCurrentTime=function(){this.clearInterval(this.currentTimeInterval),this.trigger({type:"timeupdate",target:this,manuallyTriggered:!0})},i.prototype.dispose=function(){var t=this.textTracks();if(t)for(var e=t.length;e--;)this.removeRemoteTextTrack(t[e]);this.manualProgress&&this.manualProgressOff(),this.manualTimeUpdates&&this.manualTimeUpdatesOff(),r.prototype.dispose.call(this)},i.prototype.error=function(t){return void 0!==t&&(t instanceof p.default?this.error_=t:this.error_=new p.default(t),this.trigger("error")),this.error_},i.prototype.played=function(){return this.hasStarted_?u.createTimeRange(0,0):u.createTimeRange()},i.prototype.setCurrentTime=function(){this.manualTimeUpdates&&this.trigger({type:"timeupdate",target:this,manuallyTriggered:!0})},i.prototype.initTextTrackListeners=function(){var t=l.bind(this,function(){this.trigger("texttrackchange")}),e=this.textTracks();e&&(e.addEventListener("removetrack",t),e.addEventListener("addtrack",t),this.on("dispose",l.bind(this,function(){e.removeEventListener("removetrack",t),e.removeEventListener("addtrack",t)})))},i.prototype.emulateTextTracks=function(){var t,e,r=this.textTracks();r&&(h.default.WebVTT||null==this.el().parentNode||((t=d.default.createElement("script")).src=this.options_["vtt.js"]||"https://cdn.rawgit.com/gkatsev/vtt.js/vjs-v0.12.1/dist/vtt.min.js",this.el().parentNode.appendChild(t),h.default.WebVTT=!0),e=l.bind(this,function(){function t(){return e.trigger("texttrackchange")}var e=this;t();for(var n=0;n{if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e})(t("../utils/browser.js")),t=t("global/document"),i=(t=t)&&t.__esModule?t:{default:t};o.prototype.setCues_=function(t){function e(t){""+t in this||Object.defineProperty(this,""+t,{get:function(){return this.cues_[t]}})}var n=this.length||0,o=0,r=t.length;this.cues_=t,this.length_=t.length;if(n{if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e})(t("../utils/fn.js"))),a=(o(t("global/document")),o(t("global/window"))),l={monospace:"monospace",sansSerif:"sans-serif",serif:"serif",monospaceSansSerif:'"Andale Mono", "Lucida Console", monospace',monospaceSerif:'"Courier New", monospace',proportionalSansSerif:"sans-serif",proportionalSerif:"serif",casual:'"Comic Sans MS", Impact, fantasy',script:'"Monotype Corsiva", cursive',smallcaps:'"Andale Mono", "Lucida Console", monospace, sans-serif'},t=(n=>{var t=r,e=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function r(o,t,e){if(!(this instanceof r))throw new TypeError("Cannot call a class as a function");n.call(this,o,t,e),o.on("loadstart",i.bind(this,this.toggleDisplay)),o.on("texttrackchange",i.bind(this,this.updateDisplay)),o.ready(i.bind(this,function(){if(o.tech_&&o.tech_.featuresNativeTextTracks)this.hide();else{o.on("fullscreenchange",i.bind(this,this.updateDisplay));for(var t=this.options_.playerOptions.tracks||[],e=0;e{var t=o,e=n;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);function o(t,e){if(!(this instanceof o))throw new TypeError("Cannot call a class as a function");n.call(this,t,e),this.hide(),void 0===e.persistTextTrackSettings&&(this.options_.persistTextTrackSettings=this.options_.playerOptions.persistTextTrackSettings),s.on(this.el().querySelector(".vjs-done-button"),"click",a.bind(this,function(){this.saveSettings(),this.hide()})),s.on(this.el().querySelector(".vjs-default-button"),"click",a.bind(this,function(){this.el().querySelector(".vjs-fg-color > select").selectedIndex=0,this.el().querySelector(".vjs-bg-color > select").selectedIndex=0,this.el().querySelector(".window-color > select").selectedIndex=0,this.el().querySelector(".vjs-text-opacity > select").selectedIndex=0,this.el().querySelector(".vjs-bg-opacity > select").selectedIndex=0,this.el().querySelector(".vjs-window-opacity > select").selectedIndex=0,this.el().querySelector(".vjs-edge-style select").selectedIndex=0,this.el().querySelector(".vjs-font-family select").selectedIndex=0,this.el().querySelector(".vjs-font-percent select").selectedIndex=2,this.updateDisplay()})),s.on(this.el().querySelector(".vjs-fg-color > select"),"change",a.bind(this,this.updateDisplay)),s.on(this.el().querySelector(".vjs-bg-color > select"),"change",a.bind(this,this.updateDisplay)),s.on(this.el().querySelector(".window-color > select"),"change",a.bind(this,this.updateDisplay)),s.on(this.el().querySelector(".vjs-text-opacity > select"),"change",a.bind(this,this.updateDisplay)),s.on(this.el().querySelector(".vjs-bg-opacity > select"),"change",a.bind(this,this.updateDisplay)),s.on(this.el().querySelector(".vjs-window-opacity > select"),"change",a.bind(this,this.updateDisplay)),s.on(this.el().querySelector(".vjs-font-percent select"),"change",a.bind(this,this.updateDisplay)),s.on(this.el().querySelector(".vjs-edge-style select"),"change",a.bind(this,this.updateDisplay)),s.on(this.el().querySelector(".vjs-font-family select"),"change",a.bind(this,this.updateDisplay)),this.options_.persistTextTrackSettings&&this.restoreSettings()}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e),o.prototype.createEl=function(){return n.prototype.createEl.call(this,"div",{className:"vjs-caption-settings vjs-modal-overlay",innerHTML:'
\n
\n
\n \n \n \n \n \n
\x3c!-- vjs-fg-color --\x3e\n
\n \n \n \n \n \n
\x3c!-- vjs-bg-color --\x3e\n
\n \n \n \n \n \n
\x3c!-- vjs-window-color --\x3e\n
\x3c!-- vjs-tracksettings --\x3e\n
\n
\n \n \n
\x3c!-- vjs-font-percent --\x3e\n
\n \n \n
\x3c!-- vjs-edge-style --\x3e\n
\n \n \n
\x3c!-- vjs-font-family --\x3e\n
\n
\n
\n \n \n
'})},o.prototype.getValues=function(){var t,e=this.el(),n=p(e.querySelector(".vjs-edge-style select")),o=p(e.querySelector(".vjs-font-family select")),r=p(e.querySelector(".vjs-fg-color > select")),i=p(e.querySelector(".vjs-text-opacity > select")),s=p(e.querySelector(".vjs-bg-color > select")),a=p(e.querySelector(".vjs-bg-opacity > select")),l=p(e.querySelector(".window-color > select")),u={backgroundOpacity:a,textOpacity:i,windowOpacity:p(e.querySelector(".vjs-window-opacity > select")),edgeStyle:n,fontFamily:o,color:r,backgroundColor:s,windowColor:l,fontPercent:c.default.parseFloat(p(e.querySelector(".vjs-font-percent > select")))};for(t in u)(""===u[t]||"none"===u[t]||"fontPercent"===t&&1===u[t])&&delete u[t];return u},o.prototype.setValues=function(t){var e=this.el();h(e.querySelector(".vjs-edge-style select"),t.edgeStyle),h(e.querySelector(".vjs-font-family select"),t.fontFamily),h(e.querySelector(".vjs-fg-color > select"),t.color),h(e.querySelector(".vjs-text-opacity > select"),t.textOpacity),h(e.querySelector(".vjs-bg-color > select"),t.backgroundColor),h(e.querySelector(".vjs-bg-opacity > select"),t.backgroundOpacity),h(e.querySelector(".window-color > select"),t.windowColor),h(e.querySelector(".vjs-window-opacity > select"),t.windowOpacity);t=(t=t.fontPercent)&&t.toFixed(2);h(e.querySelector(".vjs-font-percent > select"),t)},o.prototype.restoreSettings=function(){var t=u.default(c.default.localStorage.getItem("vjs-text-track-settings")),e=t[0],t=t[1];e&&l.default.error(e),t&&this.setValues(t)},o.prototype.saveSettings=function(){if(this.options_.persistTextTrackSettings){var t=this.getValues();try{0=t||r.startTime===r.endTime&&r.startTime<=t&&r.startTime+.5>=t)&&e.push(r)}if(c=!1,e.length!==this.activeCues_.length)c=!0;else for(n=0;n>>0;if(0!=o){e=+e||0;if(!(o<=(e=Math.abs(e)===1/0?0:e)))for(var r=Math.max(0<=e?e:o-Math.abs(e),0);r{var t=i.match(/OS (\d+)_/i);if(t&&t[1])return t[1]})()),u=(n.IOS_VERSION=l,/Android/i.test(i)),c=(n.IS_ANDROID=u,(a=i.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i))?(l=a[1]&&parseFloat(a[1]),c=a[2]&&parseFloat(a[2]),l&&c?parseFloat(a[1]+"."+a[2]):l||null):null),a=(n.ANDROID_VERSION=c,u&&/webkit/i.test(i)&&c<2.3),l=(n.IS_OLD_ANDROID=a,u&&c<5&&s<537),a=(n.IS_NATIVE_ANDROID=l,/Firefox/i.test(i)),u=(n.IS_FIREFOX=a,/Chrome/i.test(i)),s=(n.IS_CHROME=u,/MSIE\s8\.0/.test(i)),l=(n.IS_IE8=s,!!("ontouchstart"in t.default||t.default.DocumentTouch&&r.default instanceof t.default.DocumentTouch)),a=(n.TOUCH_ENABLED=l,"backgroundSize"in r.default.createElement("video").style);n.BACKGROUND_SIZE_SUPPORTED=a},{"global/document":1,"global/window":2}],123:[function(t,e,n){n.__esModule=!0,n.bufferedPercent=function(t,e){var n,o,r=0;if(!e)return 0;t&&t.length||(t=s.createTimeRange(0,0));for(var i=0;i{if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e})(t("./guid.js")),l=o(t("./log.js")),u=o(t("tsml"));var c={},p="vdata"+(new Date).getTime();function h(t,e){return-1!==(" "+t.className+" ").indexOf(" "+e+" ")}function d(t){var e,n,o,r=void 0;return(r=t.getBoundingClientRect&&t.parentNode?t.getBoundingClientRect():r)?(t=i.default.documentElement,o=i.default.body,n=t.clientLeft||o.clientLeft||0,e=s.default.pageXOffset||o.scrollLeft,e=r.left+e-n,n=t.clientTop||o.clientTop||0,t=s.default.pageYOffset||o.scrollTop,o=r.top+t-n,{left:Math.round(e),top:Math.round(o)}):{left:0,top:0}}function f(t){return!!t&&"object"==typeof t&&1===t.nodeType}function m(t){return!!t&&"object"==typeof t&&3===t.nodeType}function y(t){for(;t.firstChild;)t.removeChild(t.firstChild);return t}function v(t){return"function"==typeof t&&(t=t()),(Array.isArray(t)?t:[t]).map(function(t){return f(t="function"==typeof t?t():t)||m(t)?t:"string"==typeof t&&/\S/.test(t)?i.default.createTextNode(t):void 0}).filter(function(t){return t})}function g(e,t){return v(t).forEach(function(t){return e.appendChild(t)}),e}},{"./guid.js":129,"./log.js":130,"global/document":1,"global/window":2,tsml:54}],126:[function(t,e,n){function o(t){return t&&t.__esModule?t:{default:t}}function r(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}n.__esModule=!0,n.on=c,n.off=p,n.trigger=s,n.one=function t(e,n,o){if(Array.isArray(n))return f(t,e,n,o);var r=function t(){p(e,n,t),o.apply(this,arguments)};r.guid=o.guid=o.guid||i.newGUID();c(e,n,r)},n.fixEvent=h;var l=r(t("./dom.js")),i=r(t("./guid.js")),a=o(t("global/window")),u=o(t("global/document"));function c(s,t,e){if(Array.isArray(t))return f(c,s,t,e);var a=l.getElData(s);a.handlers||(a.handlers={}),a.handlers[t]||(a.handlers[t]=[]),e.guid||(e.guid=i.newGUID()),a.handlers[t].push(e),a.dispatcher||(a.disabled=!1,a.dispatcher=function(t,e){if(!a.disabled){t=h(t);var n=a.handlers[t.type];if(n)for(var o=n.slice(0),r=0,i=o.length;r',n=r.firstChild,r.setAttribute("style","display:none; position:absolute;"),a.default.body.appendChild(r)),{}),s=0;sx',t=e.firstChild.href),t},n.getFileExtension=function(t){if("string"==typeof t){t=/^(\/?)([\s\S]*?)((?:\.{1,2}|[^\/]+?)(\.([^\.\/\?]+)))(?:[\/]*|[\?].*)$/i.exec(t);if(t)return t.pop().toLowerCase()}return""};n.isCrossOrigin=function(t){var e=i.default.location,t=r(t);return(":"===t.protocol?e:t).protocol+t.host!==e.protocol+e.host}},{"global/document":1,"global/window":2}],136:[function(t,e,n){function o(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}function r(t){return t&&t.__esModule?t:{default:t}}n.__esModule=!0;function i(t,e,n){var o;if("string"==typeof t){if(0===t.indexOf("#")&&(t=t.slice(1)),i.getPlayers()[t])return e&&b.default.warn('Player "'+t+'" is already initialised. Options will not be applied.'),n&&i.getPlayers()[t].ready(n),i.getPlayers()[t];o=_.getEl(t)}else o=t;if(o&&o.nodeName)return o.player||new h.default(o,e,n);throw new TypeError("The element or ID supplied is not valid. (videojs)")}var s=r(t("global/document")),a=o(t("./setup")),l=o(t("./utils/stylesheet.js")),u=r(t("./component")),c=r(t("./event-target")),p=o(t("./utils/events.js")),h=r(t("./player")),d=r(t("./plugins.js")),f=r(t("../../src/js/utils/merge-options.js")),m=o(t("./utils/fn.js")),y=r(t("./tracks/text-track.js")),v=(r(t("object.assign")),t("./utils/time-ranges.js")),g=r(t("./utils/format-time.js")),b=r(t("./utils/log.js")),_=o(t("./utils/dom.js")),j=o(t("./utils/browser.js")),w=o(t("./utils/url.js")),T=r(t("./extend.js")),x=r(t("lodash-compat/object/merge")),E=r(t("./utils/create-deprecation-proxy.js")),S=r(t("xhr")),t=(r(t("./tech/html5.js")),r(t("./tech/flash.js")),"undefined"==typeof HTMLVideoElement&&(s.default.createElement("video"),s.default.createElement("audio"),s.default.createElement("track")),s.default.querySelector(".vjs-styles-defaults"));t||(t=l.createStyleElement("vjs-styles-defaults"),(s=s.default.querySelector("head")).insertBefore(t,s.firstChild),l.setTextContent(t,"\n .video-js {\n width: 300px;\n height: 150px;\n }\n\n .vjs-fluid {\n padding-top: 56.25%\n }\n ")),a.autoSetupTimeout(1,i),i.VERSION="5.1.0",i.options=h.default.prototype.options_,i.getPlayers=function(){return h.default.players},i.players=E.default(h.default.players,{get:"Access to videojs.players is deprecated; use videojs.getPlayers instead",set:"Modification of videojs.players is deprecated"}),i.getComponent=u.default.getComponent,i.registerComponent=u.default.registerComponent,i.browser=j,i.TOUCH_ENABLED=j.TOUCH_ENABLED,i.extend=T.default,i.mergeOptions=f.default,i.bind=m.bind,i.plugin=d.default,i.addLanguage=function(t,e){var n;return t=(""+t).toLowerCase(),x.default(i.options.languages,((n={})[t]=e,n))[t]},i.log=b.default,i.createTimeRange=i.createTimeRanges=v.createTimeRanges,i.formatTime=g.default,i.parseUrl=w.parseUrl,i.isCrossOrigin=w.isCrossOrigin,i.EventTarget=c.default,i.on=p.on,i.one=p.one,i.off=p.off,i.trigger=p.trigger,i.xhr=S.default,i.TextTrack=y.default,"object"==typeof n&&"object"==typeof e&&(e.exports=i),n.default=i,e.exports=n.default},{"../../src/js/utils/merge-options.js":131,"./component":64,"./event-target":96,"./extend.js":97,"./player":105,"./plugins.js":106,"./setup":108,"./tech/flash.js":111,"./tech/html5.js":112,"./tracks/text-track.js":121,"./utils/browser.js":122,"./utils/create-deprecation-proxy.js":124,"./utils/dom.js":125,"./utils/events.js":126,"./utils/fn.js":127,"./utils/format-time.js":128,"./utils/log.js":130,"./utils/stylesheet.js":132,"./utils/time-ranges.js":133,"./utils/url.js":135,"global/document":1,"lodash-compat/object/merge":40,"object.assign":45,xhr:55}]},{},[136])(136)}),t=(p=this).vttjs={},e=t.VTTCue,n=t.VTTRegion,o=p.VTTCue,r=p.VTTRegion,t.shim=function(){t.VTTCue=e,t.VTTRegion=n},t.restore=function(){t.VTTCue=o,t.VTTRegion=r},s=(p=this).vttjs||{},_={"":!0,lr:!0,rl:!0},i={start:!0,middle:!0,end:!0,left:!0,right:!0},a.prototype.getCueAsHTML=function(){return WebVTT.convertCueToDOMTree(window,this.text)},p.VTTCue=p.VTTCue||a,s.VTTCue=a,s=(p=this).vttjs||{},l={"":!0,up:!0},p.VTTRegion=p.VTTRegion||c,s.VTTRegion=c;var p=this,h=(this.vttjs,Object.create||function(t){if(1!==arguments.length)throw new Error("Object.create shim only accepts one parameter.");return d.prototype=t,new d});function d(){}function f(t,e){this.name="ParsingError",this.code=t.code,this.message=e||t.message}function m(t){function e(t,e,n,o){return 3600*(0|t)+60*(0|e)+(0|n)+(0|o)/1e3}t=t.match(/^(\d+):(\d{2})(:\d{2})?\.(\d{3})/);return t?t[3]?e(t[1],t[2],t[3].replace(":",""),t[4]):59","‎":"‎","‏":"‏"," ":" "},b={c:"span",i:"i",b:"b",u:"u",ruby:"ruby",rt:"rt",v:"span",lang:"span"},T={v:"title",lang:"lang"},x={rt:"ruby"};function E(t,e){function n(t){return g[t]}for(var o,r,i,s,a,l,u,c=t.document.createElement("div"),p=c,h=[];null!==(u=void 0,u=e?(u=(u=e.match(/^([^<]*)(<[^>]+>?)?/))[1]||u[2],e=e.substr(u.length),u):null);)"<"===u[0]?"/"===u[1]?h.length&&h[h.length-1]===u.substr(2).replace(">","")&&(h.pop(),p=p.parentNode):(i=m(u.substr(1,u.length-2)))?(o=t.document.createProcessingInstruction("timestamp",i),p.appendChild(o)):(r=u.match(/^<([^.\s/0-9>]+)(\.[^\s\\>]+)?([^>\\]+)?(\\?)>?$/))&&(i=r[1],s=r[3],l=a=void 0,l=b[i],o=l?((a=t.document.createElement(l)).localName=l,(l=T[i])&&s&&(a[l]=s.trim()),a):null)&&(i=p,x[(l=o).localName]&&x[l.localName]!==i.localName||(r[2]&&(o.className=r[2].substr(1).replace("."," ")),h.push(r[1]),p.appendChild(o),p=o)):p.appendChild(t.document.createTextNode((t=>{for(;r=t.match(/&(amp|lt|gt|lrm|rlm|nbsp);/);)t=t.replace(r[0],n);return t})(u)));return c}var S=[1470,1472,1475,1478,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1520,1521,1522,1523,1524,1544,1547,1549,1563,1566,1567,1568,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,1595,1596,1597,1598,1599,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1645,1646,1647,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664,1665,1666,1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702,1703,1704,1705,1706,1707,1708,1709,1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720,1721,1722,1723,1724,1725,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737,1738,1739,1740,1741,1742,1743,1744,1745,1746,1747,1748,1749,1765,1766,1774,1775,1786,1787,1788,1789,1790,1791,1792,1793,1794,1795,1796,1797,1798,1799,1800,1801,1802,1803,1804,1805,1807,1808,1810,1811,1812,1813,1814,1815,1816,1817,1818,1819,1820,1821,1822,1823,1824,1825,1826,1827,1828,1829,1830,1831,1832,1833,1834,1835,1836,1837,1838,1839,1869,1870,1871,1872,1873,1874,1875,1876,1877,1878,1879,1880,1881,1882,1883,1884,1885,1886,1887,1888,1889,1890,1891,1892,1893,1894,1895,1896,1897,1898,1899,1900,1901,1902,1903,1904,1905,1906,1907,1908,1909,1910,1911,1912,1913,1914,1915,1916,1917,1918,1919,1920,1921,1922,1923,1924,1925,1926,1927,1928,1929,1930,1931,1932,1933,1934,1935,1936,1937,1938,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1950,1951,1952,1953,1954,1955,1956,1957,1969,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2e3,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2036,2037,2042,2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2063,2064,2065,2066,2067,2068,2069,2074,2084,2088,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130,2131,2132,2133,2134,2135,2136,2142,2208,2210,2211,2212,2213,2214,2215,2216,2217,2218,2219,2220,8207,64285,64287,64288,64289,64290,64291,64292,64293,64294,64295,64296,64298,64299,64300,64301,64302,64303,64304,64305,64306,64307,64308,64309,64310,64312,64313,64314,64315,64316,64318,64320,64321,64323,64324,64326,64327,64328,64329,64330,64331,64332,64333,64334,64335,64336,64337,64338,64339,64340,64341,64342,64343,64344,64345,64346,64347,64348,64349,64350,64351,64352,64353,64354,64355,64356,64357,64358,64359,64360,64361,64362,64363,64364,64365,64366,64367,64368,64369,64370,64371,64372,64373,64374,64375,64376,64377,64378,64379,64380,64381,64382,64383,64384,64385,64386,64387,64388,64389,64390,64391,64392,64393,64394,64395,64396,64397,64398,64399,64400,64401,64402,64403,64404,64405,64406,64407,64408,64409,64410,64411,64412,64413,64414,64415,64416,64417,64418,64419,64420,64421,64422,64423,64424,64425,64426,64427,64428,64429,64430,64431,64432,64433,64434,64435,64436,64437,64438,64439,64440,64441,64442,64443,64444,64445,64446,64447,64448,64449,64467,64468,64469,64470,64471,64472,64473,64474,64475,64476,64477,64478,64479,64480,64481,64482,64483,64484,64485,64486,64487,64488,64489,64490,64491,64492,64493,64494,64495,64496,64497,64498,64499,64500,64501,64502,64503,64504,64505,64506,64507,64508,64509,64510,64511,64512,64513,64514,64515,64516,64517,64518,64519,64520,64521,64522,64523,64524,64525,64526,64527,64528,64529,64530,64531,64532,64533,64534,64535,64536,64537,64538,64539,64540,64541,64542,64543,64544,64545,64546,64547,64548,64549,64550,64551,64552,64553,64554,64555,64556,64557,64558,64559,64560,64561,64562,64563,64564,64565,64566,64567,64568,64569,64570,64571,64572,64573,64574,64575,64576,64577,64578,64579,64580,64581,64582,64583,64584,64585,64586,64587,64588,64589,64590,64591,64592,64593,64594,64595,64596,64597,64598,64599,64600,64601,64602,64603,64604,64605,64606,64607,64608,64609,64610,64611,64612,64613,64614,64615,64616,64617,64618,64619,64620,64621,64622,64623,64624,64625,64626,64627,64628,64629,64630,64631,64632,64633,64634,64635,64636,64637,64638,64639,64640,64641,64642,64643,64644,64645,64646,64647,64648,64649,64650,64651,64652,64653,64654,64655,64656,64657,64658,64659,64660,64661,64662,64663,64664,64665,64666,64667,64668,64669,64670,64671,64672,64673,64674,64675,64676,64677,64678,64679,64680,64681,64682,64683,64684,64685,64686,64687,64688,64689,64690,64691,64692,64693,64694,64695,64696,64697,64698,64699,64700,64701,64702,64703,64704,64705,64706,64707,64708,64709,64710,64711,64712,64713,64714,64715,64716,64717,64718,64719,64720,64721,64722,64723,64724,64725,64726,64727,64728,64729,64730,64731,64732,64733,64734,64735,64736,64737,64738,64739,64740,64741,64742,64743,64744,64745,64746,64747,64748,64749,64750,64751,64752,64753,64754,64755,64756,64757,64758,64759,64760,64761,64762,64763,64764,64765,64766,64767,64768,64769,64770,64771,64772,64773,64774,64775,64776,64777,64778,64779,64780,64781,64782,64783,64784,64785,64786,64787,64788,64789,64790,64791,64792,64793,64794,64795,64796,64797,64798,64799,64800,64801,64802,64803,64804,64805,64806,64807,64808,64809,64810,64811,64812,64813,64814,64815,64816,64817,64818,64819,64820,64821,64822,64823,64824,64825,64826,64827,64828,64829,64848,64849,64850,64851,64852,64853,64854,64855,64856,64857,64858,64859,64860,64861,64862,64863,64864,64865,64866,64867,64868,64869,64870,64871,64872,64873,64874,64875,64876,64877,64878,64879,64880,64881,64882,64883,64884,64885,64886,64887,64888,64889,64890,64891,64892,64893,64894,64895,64896,64897,64898,64899,64900,64901,64902,64903,64904,64905,64906,64907,64908,64909,64910,64911,64914,64915,64916,64917,64918,64919,64920,64921,64922,64923,64924,64925,64926,64927,64928,64929,64930,64931,64932,64933,64934,64935,64936,64937,64938,64939,64940,64941,64942,64943,64944,64945,64946,64947,64948,64949,64950,64951,64952,64953,64954,64955,64956,64957,64958,64959,64960,64961,64962,64963,64964,64965,64966,64967,65008,65009,65010,65011,65012,65013,65014,65015,65016,65017,65018,65019,65020,65136,65137,65138,65139,65140,65142,65143,65144,65145,65146,65147,65148,65149,65150,65151,65152,65153,65154,65155,65156,65157,65158,65159,65160,65161,65162,65163,65164,65165,65166,65167,65168,65169,65170,65171,65172,65173,65174,65175,65176,65177,65178,65179,65180,65181,65182,65183,65184,65185,65186,65187,65188,65189,65190,65191,65192,65193,65194,65195,65196,65197,65198,65199,65200,65201,65202,65203,65204,65205,65206,65207,65208,65209,65210,65211,65212,65213,65214,65215,65216,65217,65218,65219,65220,65221,65222,65223,65224,65225,65226,65227,65228,65229,65230,65231,65232,65233,65234,65235,65236,65237,65238,65239,65240,65241,65242,65243,65244,65245,65246,65247,65248,65249,65250,65251,65252,65253,65254,65255,65256,65257,65258,65259,65260,65261,65262,65263,65264,65265,65266,65267,65268,65269,65270,65271,65272,65273,65274,65275,65276,67584,67585,67586,67587,67588,67589,67592,67594,67595,67596,67597,67598,67599,67600,67601,67602,67603,67604,67605,67606,67607,67608,67609,67610,67611,67612,67613,67614,67615,67616,67617,67618,67619,67620,67621,67622,67623,67624,67625,67626,67627,67628,67629,67630,67631,67632,67633,67634,67635,67636,67637,67639,67640,67644,67647,67648,67649,67650,67651,67652,67653,67654,67655,67656,67657,67658,67659,67660,67661,67662,67663,67664,67665,67666,67667,67668,67669,67671,67672,67673,67674,67675,67676,67677,67678,67679,67840,67841,67842,67843,67844,67845,67846,67847,67848,67849,67850,67851,67852,67853,67854,67855,67856,67857,67858,67859,67860,67861,67862,67863,67864,67865,67866,67867,67872,67873,67874,67875,67876,67877,67878,67879,67880,67881,67882,67883,67884,67885,67886,67887,67888,67889,67890,67891,67892,67893,67894,67895,67896,67897,67903,67968,67969,67970,67971,67972,67973,67974,67975,67976,67977,67978,67979,67980,67981,67982,67983,67984,67985,67986,67987,67988,67989,67990,67991,67992,67993,67994,67995,67996,67997,67998,67999,68e3,68001,68002,68003,68004,68005,68006,68007,68008,68009,68010,68011,68012,68013,68014,68015,68016,68017,68018,68019,68020,68021,68022,68023,68030,68031,68096,68112,68113,68114,68115,68117,68118,68119,68121,68122,68123,68124,68125,68126,68127,68128,68129,68130,68131,68132,68133,68134,68135,68136,68137,68138,68139,68140,68141,68142,68143,68144,68145,68146,68147,68160,68161,68162,68163,68164,68165,68166,68167,68176,68177,68178,68179,68180,68181,68182,68183,68184,68192,68193,68194,68195,68196,68197,68198,68199,68200,68201,68202,68203,68204,68205,68206,68207,68208,68209,68210,68211,68212,68213,68214,68215,68216,68217,68218,68219,68220,68221,68222,68223,68352,68353,68354,68355,68356,68357,68358,68359,68360,68361,68362,68363,68364,68365,68366,68367,68368,68369,68370,68371,68372,68373,68374,68375,68376,68377,68378,68379,68380,68381,68382,68383,68384,68385,68386,68387,68388,68389,68390,68391,68392,68393,68394,68395,68396,68397,68398,68399,68400,68401,68402,68403,68404,68405,68416,68417,68418,68419,68420,68421,68422,68423,68424,68425,68426,68427,68428,68429,68430,68431,68432,68433,68434,68435,68436,68437,68440,68441,68442,68443,68444,68445,68446,68447,68448,68449,68450,68451,68452,68453,68454,68455,68456,68457,68458,68459,68460,68461,68462,68463,68464,68465,68466,68472,68473,68474,68475,68476,68477,68478,68479,68608,68609,68610,68611,68612,68613,68614,68615,68616,68617,68618,68619,68620,68621,68622,68623,68624,68625,68626,68627,68628,68629,68630,68631,68632,68633,68634,68635,68636,68637,68638,68639,68640,68641,68642,68643,68644,68645,68646,68647,68648,68649,68650,68651,68652,68653,68654,68655,68656,68657,68658,68659,68660,68661,68662,68663,68664,68665,68666,68667,68668,68669,68670,68671,68672,68673,68674,68675,68676,68677,68678,68679,68680,126464,126465,126466,126467,126469,126470,126471,126472,126473,126474,126475,126476,126477,126478,126479,126480,126481,126482,126483,126484,126485,126486,126487,126488,126489,126490,126491,126492,126493,126494,126495,126497,126498,126500,126503,126505,126506,126507,126508,126509,126510,126511,126512,126513,126514,126516,126517,126518,126519,126521,126523,126530,126535,126537,126539,126541,126542,126543,126545,126546,126548,126551,126553,126555,126557,126559,126561,126562,126564,126567,126568,126569,126570,126572,126573,126574,126575,126576,126577,126578,126580,126581,126582,126583,126585,126586,126587,126588,126590,126592,126593,126594,126595,126596,126597,126598,126599,126600,126601,126603,126604,126605,126606,126607,126608,126609,126610,126611,126612,126613,126614,126615,126616,126617,126618,126619,126625,126626,126627,126629,126630,126631,126632,126633,126635,126636,126637,126638,126639,126640,126641,126642,126643,126644,126645,126646,126647,126648,126649,126650,126651,1114109];function C(t){var e=[],n="";if(t&&t.childNodes)for(s(e,t);n=function t(e){var n,o,r;return e&&e.length?(o=(n=e.pop()).textContent||n.innerText)?(r=o.match(/^.*(\n|\r)/))?r[e.length=0]:o:"ruby"===n.tagName?t(e):n.childNodes?(s(e,n),t(e)):void 0:null}(e);)for(var o=0;o{if("number"==typeof t.line&&(t.snapToLines||0<=t.line&&t.line<=100))return t.line;if(!t.track||!t.track.textTrackList||!t.track.textTrackList.mediaElement)return-1;for(var e=t.track,n=e.textTrackList,o=0,r=0;rp&&(c=c<0?-1:1,c*=Math.ceil(p/u)*u),i<0&&(c+=""===r.vertical?a.height:a.width,s=s.reverse()),o.move(h,c)}else{var d=o.lineHeight/a.height*100;switch(r.lineAlign){case"middle":i-=d/2;break;case"end":i-=d}switch(r.vertical){case"":e.applyStyles({top:e.formatStyle(i,"%")});break;case"rl":e.applyStyles({left:e.formatStyle(i,"%")});break;case"lr":e.applyStyles({right:e.formatStyle(i,"%")})}s=["+y","-x","+x","-y"],o=new P(e)}p=((t,e)=>{for(var n,o=new P(t),r=1,i=0;it.left&&this.topt.top},P.prototype.overlapsAny=function(t){for(var e=0;e=t.top&&this.bottom<=t.bottom&&this.left>=t.left&&this.right<=t.right},P.prototype.overlapsOppositeAxis=function(t,e){switch(e){case"+x":return this.leftt.right;case"+y":return this.topt.bottom}},P.prototype.intersectPercentage=function(t){return Math.max(0,Math.min(this.right,t.right)-Math.max(this.left,t.left))*Math.max(0,Math.min(this.bottom,t.bottom)-Math.max(this.top,t.top))/(this.height*this.width)},P.prototype.toCSSCompatValues=function(t){return{top:this.top-t.top,bottom:t.bottom-this.bottom,left:this.left-t.left,right:t.right-this.right,height:this.height,width:this.width}},P.getSimpleBoxPosition=function(t){var e=t.div?t.div.offsetHeight:t.tagName?t.offsetHeight:0,n=t.div?t.div.offsetWidth:t.tagName?t.offsetWidth:0,o=t.div?t.div.offsetTop:t.tagName?t.offsetTop:0;return{left:(t=t.div?t.div.getBoundingClientRect():t.tagName?t.getBoundingClientRect():t).left,right:t.right,top:t.top||o,height:t.height||e,bottom:t.bottom||o+(t.height||e),width:t.width||n}},A.StringDecoder=function(){return{decode:function(t){if(!t)return"";if("string"!=typeof t)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(t))}}},A.convertCueToDOMTree=function(t,e){return t&&e?E(t,e):null},A.processCues=function(t,e,n){if(!t||!e||!n)return null;for(;n.firstChild;)n.removeChild(n.firstChild);var o=t.document.createElement("div");if(o.style.position="absolute",o.style.left="0",o.style.right="0",o.style.top="0",o.style.bottom="0",o.style.margin="1.5%",n.appendChild(o),(t=>{for(var e=0;e{var n,s,o=e;function r(){var t=m(e);if(null===t)throw new f(f.Errors.BadTimeStamp,"Malformed timestamp: "+o);return e=e.replace(/^[^\sa-zA-Z-]+/,""),t}function a(){e=e.replace(/^\s+/,"")}if(a(),t.startTime=r(),a(),"--\x3e"!==e.substr(0,3))throw new f(f.Errors.BadTimeStamp,"Malformed time stamp (time stamps must be separated by '--\x3e'): "+o);e=e.substr(3),a(),t.endTime=r(),a(),n=e,t=t,s=new y,v(n,function(t,e){switch(t){case"region":for(var n=i.length-1;0<=n;n--)if(i[n].id===e){s.set(t,i[n].region);break}break;case"vertical":s.alt(t,e,["rl","lr"]);break;case"line":var o=e.split(","),r=o[0];s.integer(t,r),s.percent(t,r)&&s.set("snapToLines",!1),s.alt(t,r,["auto"]),2===o.length&&s.alt("lineAlign",o[1],["start","middle","end"]);break;case"position":o=e.split(","),s.percent(t,o[0]),2===o.length&&s.alt("positionAlign",o[1],["start","middle","end"]);break;case"size":s.percent(t,e);break;case"align":s.alt(t,e,["start","middle","end","left","right"])}},/:/,/\s/),t.region=s.get("region",null),t.vertical=s.get("vertical",""),t.line=s.get("line","auto"),t.lineAlign=s.get("lineAlign","start"),t.snapToLines=s.get("snapToLines",!0),t.size=s.get("size",100),t.align=s.get("align","middle"),t.position=s.get("position",{start:0,left:0,middle:50,end:100,right:100},t.align),t.positionAlign=s.get("positionAlign",{start:"start",left:"start",middle:"middle",end:"end",right:"end"},t.align)})(r,o.cue,o.regionList)}catch(t){o.reportOrThrowError(t),o.cue=null,o.state="BADCUE";continue}o.state="CUETEXT";continue;case"CUETEXT":var a=-1!==r.indexOf("--\x3e");if(!r||a&&(s=!0)){o.oncue&&o.oncue(o.cue),o.cue=null,o.state="ID";continue}o.cue.text&&(o.cue.text+="\n"),o.cue.text+=r;continue;case"BADCUE":r||(o.state="ID");continue}}}catch(t){o.reportOrThrowError(t),"CUETEXT"===o.state&&o.cue&&o.oncue&&o.oncue(o.cue),o.cue=null,o.state="INITIAL"===o.state?"BADWEBVTT":"BADCUE"}return this},flush:function(){var e=this;try{if(e.buffer+=e.decoder.decode(),!e.cue&&"HEADER"!==e.state||(e.buffer+="\n\n",e.parse()),"INITIAL"===e.state)throw new f(f.Errors.BadSignature)}catch(t){e.reportOrThrowError(t)}return e.onflush&&e.onflush(),this}},p.WebVTT=A}.call(this)}.call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],conf:[function(t,e,n){var o;(e=void 0===e?this.conf={}:e.exports).EMB_DEBUG=!1,e.EMB_HTTPS=!0,e.CDN_ORIGIN=(e.EMB_HTTPS?"https":"http")+"://cdn.embedly.com",e.CDN_BASE_URL=e.CDN_ORIGIN+"/",e.EMB_ASSET_VERSION="74fbf467",e.WIDGET_FRAME_SRC=e.CDN_ORIGIN+"/widgets/",e.SECURE_WIDGET_FRAME_SRC="https://cdn.embedly.com/widgets/",e.EMB_POST_MESSAGE=!!window.postMessage,e.EMB_PROGRESS=!0,e.APP_API_URL="https://app.embed.ly",e.PLATFORM_KEY="fd92ebbc52fc43fb98f69e50e7893c13",e.CHROMIE_URL="https://chromie.embed.ly",o=window.location.pathname.split(".")[0].split("/"),e.EMB_GROUP=o[o.length-1].toLowerCase(),e.PAGE_PROGRESS_DOMAINS=[]},{}]},{},[20]);
A new approach that delivers in fresh
Video Thumbnail
1:45

The Afresh advantage

Transform the complexity of Kroger's banner network into coordinated, predictable performance with Afresh's award-winning AI.

Unify the fresh supply chain

From Cincinnati HQ to every Ralph's store: one AI platform

Connects DC buying, store ordering, production, and inventory

One source of truth across all 2,700+ banner stores

Navigate messy data

Built for the inputs your 2,700-store network produces

Handles incomplete movement and unreliable on-hand counts

Works around fragmented banner-level systems on day one

Optimize real world decisions

Balance sales, shrink, and labor across every banner

Fred Meyer produce volume next to King Soopers bakery rotation

Coordinate cross-department planning at banner and store

Empower fresh teams

Replaces 90s-era tools store associates have lived with for 20 years

Daily, store-level guidance that actually fits your shift

Faster training, faster adoption across every banner

A fresh approach

Traditional tools can't keep up with Kroger's banner-level complexity.
Afresh is purpose-built for messy data and uncertainty, turning the operational realities of 2,700+ stores into profitability, customer loyalty, and lasting growth.

Industrialized food

Center store data

Across Kroger banners, UPCs, pack sizes, and discrete units stay clean and predictable

Fresh department data

From a Fred Meyer produce wall to a Harris Teeter bakery case, fresh inputs shift daily and resist forecasting
Supermarket

Center store merchandising

Biannual Kroger planograms are mostly static, with banner-specific promotions layered on top
fresh veggies

Fresh merchandising 

Fresh displays at every Kroger banner shift constantly to handle variability, seasonality, and quality
supermarket

Center store workflows

Consistent packaging and barcodes make inventory management straightforward across every Ralph's, Fred Meyer, and Smith's
raw meat

Fresh team workflows

Kroger fresh teams manage hyper-perishables and random-weight items across produce, meat, seafood, deli, and bakery every shift
More

Fresh innovation at Albertsons

Why this matters for Kroger
Albertsons rolled Afresh out across all 2,200 banner stores. The same engine, the same playbook, the same 25% shrink reduction is available to Kroger today. The only question is: which banner first?
Albertsons Companies + Afresh: How fresh-first innovation creates chainwide value
By partnering with Afresh, we are now able to improve our processes to better manage our fresh product supply and provide our store teams with a tool to better predict demand and monitor inventory.
Susan Morris
Susan Morris
,
CEO at Albertsons Companies
We're still looking for those individuals who approach produce as an art. But with Afresh, if a produce manager leaves, the knowledge that you'll have an increase in cherry orders during the summer doesn't leave with them.
Jason Resner
Jason Resner
,
Meat Category Manager at Fresh Thyme
Our customers know that they can find the freshest, highest-quality foods and a great assortment at Heinen’s. The partnership with Afresh enables us to continue to deliver on that promise of excellent food and the best in-stock rate.
Jeff Heinen
Jeff Heinen
,
Co-CEO of Heinen’s

Customers trust Afresh

Albertsons
Fruits

With Afresh, what’s good for business is also good for the planet.

Cutting shrink across 2,700+ Kroger stores keeps real food on real shelves and out of landfills. Our advances in technology always come back to one mission: eliminate food waste and make fresh food accessible to all.
About Afresh

A new era for Kroger's fresh.

Pilot a single banner in 90 days. Scale to 2,700+ stores in 12 months.

fruits

More fresh ideas for Kroger leaders.

Afresh Raises $34M to Scale AI Across the Grocery Industry — Driving Fresher Food, Stronger Margins, and Less Waste
  • Press
  • Article

Afresh Raises $34M to Scale AI Across the Grocery Industry — Driving Fresher Food, Stronger Margins, and Less Waste

Round co-led by Just Climate — the climate-led investment strategy of Generation Investment Management — and High Sage Ventures, as Afresh’s AI platform scales to 12,500+ departments with 70% year-over-year revenue growth in 2025.

Explore
Afresh Expands AI Platform to Cover Every Item in Stores
  • Press
  • Article

Afresh Expands AI Platform to Cover Every Item in Stores

Afresh's AI platform now manages replenishment, inventory, and DC buying decisions across center store and general merchandise—already ordering more than 320 million center store items annually.

Explore
Fixing the Hidden Layer Holding Back Fresh
  • Industry Insights
  • Article

Fixing the Hidden Layer Holding Back Fresh

For decades, fresh buying has relied on instinct and spreadsheets. Today, technology can finally match the pace of perishables.

Explore
Afresh Launches Industry’s First AI-Powered Fresh Buying Solution with Wakefern
  • Press
  • Article

Afresh Launches Industry’s First AI-Powered Fresh Buying Solution with Wakefern

Wakefern, the nation’s largest retailer-owned cooperative, will be among the first to deploy Afresh’s breakthrough Fresh Buying solution — the world's first technology designed to help fresh buyers take control of their entire day, replacing fragmented systems with one streamlined intelligent solution built for the pace of Fresh and the best in customer experience.

Explore
Afresh Completes AI-Powered Fresh Replenishment and Inventory Management Solution Roll Out Across All Albertsons Companies Fresh Departments
  • Press
  • Article

Afresh Completes AI-Powered Fresh Replenishment and Inventory Management Solution Roll Out Across All Albertsons Companies Fresh Departments

Afresh now powers the bakery and deli for Albertsons Cos. in addition to the retailer's meat, seafood and produce departments

Explore
More