From f7b6b5e30597265236b77da7c686e52bc7a2de09 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sat, 14 Dec 2024 20:21:41 +0000 Subject: [PATCH] Fogo --- src/Yavsc.Abstract/Blogspot/IBlog.cs | 2 +- .../Interfaces/IBaseTrackedEntity.cs | 2 +- .../Interfaces/Models/IComment.cs | 9 + .../Interfaces/Models/ICommentable.cs | 10 - src/Yavsc.Abstract/Messaging/Comment.cs | 9 + .../Workflow/INominativeQuery.cs | 2 +- src/Yavsc.Abstract/Workflow/IQuery.cs | 2 +- src/Yavsc.Server/Models/Access/Ban.cs | 2 +- src/Yavsc.Server/Models/Blog/Comment.cs | 25 +- src/Yavsc.Server/Models/Chat/ChatRoom.cs | 4 +- src/Yavsc.Server/Models/Cratie/Option.cs | 4 +- src/Yavsc.Server/Models/Cratie/Scrutin.cs | 4 +- .../Models/EMailing/MailingTemplate.cs | 2 +- .../Models/Payment/PaypalPayment.cs | 2 +- src/Yavsc.Server/Models/Workflow/Activity.cs | 2 +- .../Blogspot/CommentsApiController.cs | 40 +- .../Communicating/CommentsController.cs | 8 +- ...20241214154207_commentReceiver.Designer.cs | 3519 +++ .../20241214154207_commentReceiver.cs | 125 + .../20241214201053_commentParent.Designer.cs | 3516 +++ .../20241214201053_commentParent.cs | 61 + .../ApplicationDbContextModelSnapshot.cs | 58 +- src/Yavsc/Models/ApplicationDbContext.cs | 8 +- .../ViewComponents/CommentViewComponent.cs | 2 +- src/Yavsc/Views/Blogspot/Details.cshtml | 39 +- src/Yavsc/Views/Comments/Create.cshtml | 4 +- src/Yavsc/Views/Comments/Edit.cshtml | 6 +- src/Yavsc/Views/Shared/_Layout.cshtml | 15 +- src/Yavsc/wwwroot/jquery-ui-1.14.1.custom.zip | Bin 0 -> 421955 bytes src/Yavsc/wwwroot/js/comment.js | 10 +- src/Yavsc/wwwroot/js/comment.min.js | 1 - src/Yavsc/wwwroot/js/dash.all.min.js | 19 - src/Yavsc/wwwroot/js/jquery-2.2.4.min.js | 588 - src/Yavsc/wwwroot/js/jquery-3.2.1.js | 10253 -------- src/Yavsc/wwwroot/js/jquery-ui.js | 21009 ++++++++-------- src/Yavsc/wwwroot/js/jquery-ui.min.js | 7 +- src/Yavsc/wwwroot/js/jquery.js | 9180 ++++--- src/Yavsc/wwwroot/lib/jquery-ui/AUTHORS.txt | 384 + src/Yavsc/wwwroot/lib/jquery-ui/LICENSE.txt | 43 + .../{ => jquery-ui/external}/jquery/jquery.js | 0 .../images/ui-bg_glass_20_555555_1x400.png | Bin 0 -> 354 bytes .../images/ui-bg_glass_40_0078a3_1x400.png | Bin 0 -> 436 bytes .../images/ui-bg_glass_40_ffc73d_1x400.png | Bin 0 -> 410 bytes .../ui-bg_gloss-wave_25_333333_500x100.png | Bin 0 -> 4012 bytes .../ui-bg_highlight-soft_80_eeeeee_1x100.png | Bin 0 -> 371 bytes .../ui-bg_inset-soft_25_000000_1x100.png | Bin 0 -> 348 bytes .../ui-bg_inset-soft_30_f58400_1x100.png | Bin 0 -> 434 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 7061 bytes .../images/ui-icons_4b8e0b_256x240.png | Bin 0 -> 4654 bytes .../images/ui-icons_a83300_256x240.png | Bin 0 -> 4654 bytes .../images/ui-icons_cccccc_256x240.png | Bin 0 -> 7070 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 6523 bytes src/Yavsc/wwwroot/lib/jquery-ui/index.html | 503 + src/Yavsc/wwwroot/lib/jquery-ui/jquery-ui.css | 1285 + src/Yavsc/wwwroot/lib/jquery-ui/jquery-ui.js | 18809 ++++++++++++++ .../wwwroot/lib/jquery-ui/jquery-ui.min.css | 7 + .../wwwroot/lib/jquery-ui/jquery-ui.min.js | 6 + .../lib/jquery-ui/jquery-ui.structure.css | 863 + .../lib/jquery-ui/jquery-ui.structure.min.css | 5 + .../wwwroot/lib/jquery-ui/jquery-ui.theme.css | 439 + .../lib/jquery-ui/jquery-ui.theme.min.css | 5 + src/Yavsc/wwwroot/lib/jquery-ui/package.json | 82 + src/Yavsc/wwwroot/lib/jquery/jquery.min.js | 2 - src/Yavsc/wwwroot/lib/jquery/jquery.min.map | 1 - src/Yavsc/wwwroot/lib/jquery/jquery.slim.js | 8617 ------- .../wwwroot/lib/jquery/jquery.slim.min.js | 2 - .../wwwroot/lib/jquery/jquery.slim.min.map | 1 - 67 files changed, 45680 insertions(+), 33923 deletions(-) create mode 100644 src/Yavsc.Abstract/Interfaces/Models/IComment.cs delete mode 100644 src/Yavsc.Abstract/Interfaces/Models/ICommentable.cs create mode 100644 src/Yavsc.Abstract/Messaging/Comment.cs create mode 100644 src/Yavsc/Migrations/20241214154207_commentReceiver.Designer.cs create mode 100644 src/Yavsc/Migrations/20241214154207_commentReceiver.cs create mode 100644 src/Yavsc/Migrations/20241214201053_commentParent.Designer.cs create mode 100644 src/Yavsc/Migrations/20241214201053_commentParent.cs create mode 100644 src/Yavsc/wwwroot/jquery-ui-1.14.1.custom.zip delete mode 100644 src/Yavsc/wwwroot/js/comment.min.js delete mode 100644 src/Yavsc/wwwroot/js/dash.all.min.js delete mode 100644 src/Yavsc/wwwroot/js/jquery-2.2.4.min.js delete mode 100644 src/Yavsc/wwwroot/js/jquery-3.2.1.js create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/AUTHORS.txt create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/LICENSE.txt rename src/Yavsc/wwwroot/lib/{ => jquery-ui/external}/jquery/jquery.js (100%) create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/images/ui-bg_glass_20_555555_1x400.png create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/images/ui-bg_glass_40_0078a3_1x400.png create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/images/ui-bg_glass_40_ffc73d_1x400.png create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/images/ui-bg_gloss-wave_25_333333_500x100.png create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/images/ui-bg_highlight-soft_80_eeeeee_1x100.png create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/images/ui-bg_inset-soft_25_000000_1x100.png create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/images/ui-bg_inset-soft_30_f58400_1x100.png create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/images/ui-icons_222222_256x240.png create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/images/ui-icons_4b8e0b_256x240.png create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/images/ui-icons_a83300_256x240.png create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/images/ui-icons_cccccc_256x240.png create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/images/ui-icons_ffffff_256x240.png create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/index.html create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/jquery-ui.css create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/jquery-ui.js create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/jquery-ui.min.css create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/jquery-ui.min.js create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/jquery-ui.structure.css create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/jquery-ui.structure.min.css create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/jquery-ui.theme.css create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/jquery-ui.theme.min.css create mode 100644 src/Yavsc/wwwroot/lib/jquery-ui/package.json delete mode 100644 src/Yavsc/wwwroot/lib/jquery/jquery.min.js delete mode 100644 src/Yavsc/wwwroot/lib/jquery/jquery.min.map delete mode 100644 src/Yavsc/wwwroot/lib/jquery/jquery.slim.js delete mode 100644 src/Yavsc/wwwroot/lib/jquery/jquery.slim.min.js delete mode 100644 src/Yavsc/wwwroot/lib/jquery/jquery.slim.min.map diff --git a/src/Yavsc.Abstract/Blogspot/IBlog.cs b/src/Yavsc.Abstract/Blogspot/IBlog.cs index 42af2f1a..26e174d9 100644 --- a/src/Yavsc.Abstract/Blogspot/IBlog.cs +++ b/src/Yavsc.Abstract/Blogspot/IBlog.cs @@ -3,7 +3,7 @@ namespace Yavsc { - public interface IBlogPost : IBaseTrackedEntity, IIdentified, IRating, ITitle + public interface IBlogPost : ITrackedEntity, IIdentified, IRating, ITitle { string AuthorId { get; set; } string Content { get; set; } diff --git a/src/Yavsc.Abstract/Interfaces/IBaseTrackedEntity.cs b/src/Yavsc.Abstract/Interfaces/IBaseTrackedEntity.cs index 64da6cdd..f544f654 100644 --- a/src/Yavsc.Abstract/Interfaces/IBaseTrackedEntity.cs +++ b/src/Yavsc.Abstract/Interfaces/IBaseTrackedEntity.cs @@ -2,7 +2,7 @@ using System; namespace Yavsc { - public interface IBaseTrackedEntity + public interface ITrackedEntity { DateTime DateCreated { get; set; } string UserCreated { get; set; } diff --git a/src/Yavsc.Abstract/Interfaces/Models/IComment.cs b/src/Yavsc.Abstract/Interfaces/Models/IComment.cs new file mode 100644 index 00000000..f700ba29 --- /dev/null +++ b/src/Yavsc.Abstract/Interfaces/Models/IComment.cs @@ -0,0 +1,9 @@ +namespace Yavsc.Interfaces +{ + + public interface IComment + { + string Content { get; set; } + TReceiverId ReceiverId { get; set; } + } +} diff --git a/src/Yavsc.Abstract/Interfaces/Models/ICommentable.cs b/src/Yavsc.Abstract/Interfaces/Models/ICommentable.cs deleted file mode 100644 index 405ef3bd..00000000 --- a/src/Yavsc.Abstract/Interfaces/Models/ICommentable.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Yavsc.Interfaces -{ - public interface IComment : IIdentified - { - T GetReceiverId(); - void SetReceiverId(T rid); - string Content { get; set; } - - } -} \ No newline at end of file diff --git a/src/Yavsc.Abstract/Messaging/Comment.cs b/src/Yavsc.Abstract/Messaging/Comment.cs new file mode 100644 index 00000000..3215abe4 --- /dev/null +++ b/src/Yavsc.Abstract/Messaging/Comment.cs @@ -0,0 +1,9 @@ + +using Yavsc.Interfaces; + +public class CommentPost : IComment + { + public long ReceiverId { get; set; } + public long? ParentId { get; set; } + public string Content { get; set; } + } diff --git a/src/Yavsc.Abstract/Workflow/INominativeQuery.cs b/src/Yavsc.Abstract/Workflow/INominativeQuery.cs index 2d6a1d8d..f0adebdc 100644 --- a/src/Yavsc.Abstract/Workflow/INominativeQuery.cs +++ b/src/Yavsc.Abstract/Workflow/INominativeQuery.cs @@ -2,7 +2,7 @@ using System; namespace Yavsc.Abstract.Workflow { - public interface IDecidableQuery: IBaseTrackedEntity, IQuery + public interface IDecidableQuery: ITrackedEntity, IQuery { bool Decided { get; set; } bool Accepted { get; set; } diff --git a/src/Yavsc.Abstract/Workflow/IQuery.cs b/src/Yavsc.Abstract/Workflow/IQuery.cs index 0997100c..ff9c76ac 100644 --- a/src/Yavsc.Abstract/Workflow/IQuery.cs +++ b/src/Yavsc.Abstract/Workflow/IQuery.cs @@ -3,7 +3,7 @@ namespace Yavsc.Abstract.Workflow using Yavsc; using Yavsc.Billing; - public interface IQuery: IBaseTrackedEntity, IBillable + public interface IQuery: ITrackedEntity, IBillable { QueryStatus Status { get; set; } string PaymentId { get; set; } diff --git a/src/Yavsc.Server/Models/Access/Ban.cs b/src/Yavsc.Server/Models/Access/Ban.cs index 61fda305..5b2d02a3 100644 --- a/src/Yavsc.Server/Models/Access/Ban.cs +++ b/src/Yavsc.Server/Models/Access/Ban.cs @@ -5,7 +5,7 @@ using System.ComponentModel.DataAnnotations.Schema; namespace Yavsc.Models.Access { using Yavsc; - public class Ban : IBaseTrackedEntity + public class Ban : ITrackedEntity { public DateTime DateCreated { diff --git a/src/Yavsc.Server/Models/Blog/Comment.cs b/src/Yavsc.Server/Models/Blog/Comment.cs index 07190459..5e8ab3cf 100644 --- a/src/Yavsc.Server/Models/Blog/Comment.cs +++ b/src/Yavsc.Server/Models/Blog/Comment.cs @@ -8,19 +8,19 @@ using Yavsc.Interfaces; namespace Yavsc.Models.Blog { - public class Comment : IComment, IBaseTrackedEntity + public class Comment : IComment, ITrackedEntity { [Key(), DatabaseGenerated(DatabaseGeneratedOption.Identity)] public long Id { get; set; } - [YaStringLength(1024)] + [YaStringLength(1024)] public string Content { get; set; } - [ForeignKeyAttribute("PostId")][JsonIgnore] + [ForeignKeyAttribute(nameof(ReceiverId))][JsonIgnore] public virtual BlogPost Post { get; set; } [Required] - public long PostId { get; set; } + public long ReceiverId { get; set; } public bool Visible { get; set; } [ForeignKeyAttribute("AuthorId")][JsonIgnore] @@ -34,10 +34,8 @@ namespace Yavsc.Models.Blog get; set; } - public string UserCreated - { - get; set; - } + public string UserCreated { get => AuthorId; set => AuthorId=value; } + public DateTime DateModified { get; set; @@ -53,19 +51,10 @@ namespace Yavsc.Models.Blog get; set; } - public long GetReceiverId() - { - return PostId; - } - public void SetReceiverId(long rid) - { - PostId = rid; - } - public long? ParentId { get; set; } [ForeignKeyAttribute("ParentId")] - public virtual Comment Parent { get; set; } + public virtual Comment? Parent { get; set; } [InversePropertyAttribute("Parent")] diff --git a/src/Yavsc.Server/Models/Chat/ChatRoom.cs b/src/Yavsc.Server/Models/Chat/ChatRoom.cs index 80d172ac..e03421c0 100644 --- a/src/Yavsc.Server/Models/Chat/ChatRoom.cs +++ b/src/Yavsc.Server/Models/Chat/ChatRoom.cs @@ -9,7 +9,7 @@ using Yavsc.Attributes.Validation; namespace Yavsc.Models.Chat { - public class ChatRoom: IChatRoom, IBaseTrackedEntity + public class ChatRoom: IChatRoom, ITrackedEntity { public string Topic { get; set; } @@ -32,4 +32,4 @@ namespace Yavsc.Models.Chat public DateTime DateModified { get; set;} public string UserModified { get; set; } } -} \ No newline at end of file +} diff --git a/src/Yavsc.Server/Models/Cratie/Option.cs b/src/Yavsc.Server/Models/Cratie/Option.cs index 347fdf87..ed157717 100644 --- a/src/Yavsc.Server/Models/Cratie/Option.cs +++ b/src/Yavsc.Server/Models/Cratie/Option.cs @@ -2,7 +2,7 @@ using System; namespace Yavsc.Models.Cratie { - public class Option: IBaseTrackedEntity + public class Option: ITrackedEntity { public string CodeScrutin { get; set; } public string Code { get; set ; } @@ -12,4 +12,4 @@ namespace Yavsc.Models.Cratie public DateTime DateModified { get ; set ; } public string UserModified { get ; set ; } } -} \ No newline at end of file +} diff --git a/src/Yavsc.Server/Models/Cratie/Scrutin.cs b/src/Yavsc.Server/Models/Cratie/Scrutin.cs index 45634901..753cec34 100644 --- a/src/Yavsc.Server/Models/Cratie/Scrutin.cs +++ b/src/Yavsc.Server/Models/Cratie/Scrutin.cs @@ -3,7 +3,7 @@ using System.ComponentModel.DataAnnotations; namespace Yavsc.Models.Cratie { - public class Scrutin : IBaseTrackedEntity + public class Scrutin : ITrackedEntity { [Key] public string Code { get; set ; } @@ -13,4 +13,4 @@ namespace Yavsc.Models.Cratie public DateTime DateModified { get; set; } public string UserModified { get; set; } } -} \ No newline at end of file +} diff --git a/src/Yavsc.Server/Models/EMailing/MailingTemplate.cs b/src/Yavsc.Server/Models/EMailing/MailingTemplate.cs index 66b3f6dd..956242dd 100644 --- a/src/Yavsc.Server/Models/EMailing/MailingTemplate.cs +++ b/src/Yavsc.Server/Models/EMailing/MailingTemplate.cs @@ -8,7 +8,7 @@ using Yavsc.Server.Models.Calendar; namespace Yavsc.Server.Models.EMailing { - public class MailingTemplate : IBaseTrackedEntity + public class MailingTemplate : ITrackedEntity { /// /// Date Created diff --git a/src/Yavsc.Server/Models/Payment/PaypalPayment.cs b/src/Yavsc.Server/Models/Payment/PaypalPayment.cs index 3a88db01..60c6b2e0 100644 --- a/src/Yavsc.Server/Models/Payment/PaypalPayment.cs +++ b/src/Yavsc.Server/Models/Payment/PaypalPayment.cs @@ -8,7 +8,7 @@ namespace Yavsc.Models.Payment { using Relationship; using Yavsc.Attributes.Validation; - public class PayPalPayment : IBaseTrackedEntity + public class PayPalPayment : ITrackedEntity { [YaRequired,Key] public string CreationToken { get; set; } diff --git a/src/Yavsc.Server/Models/Workflow/Activity.cs b/src/Yavsc.Server/Models/Workflow/Activity.cs index 6106012b..2ca87aa5 100644 --- a/src/Yavsc.Server/Models/Workflow/Activity.cs +++ b/src/Yavsc.Server/Models/Workflow/Activity.cs @@ -11,7 +11,7 @@ namespace Yavsc.Models.Workflow using Yavsc; using Yavsc.Attributes.Validation; - public class Activity : IBaseTrackedEntity, IActivity + public class Activity : ITrackedEntity, IActivity { [YaStringLength(512), YaRequired, Key] diff --git a/src/Yavsc/ApiControllers/Blogspot/CommentsApiController.cs b/src/Yavsc/ApiControllers/Blogspot/CommentsApiController.cs index 879f0b43..72a4a8f4 100644 --- a/src/Yavsc/ApiControllers/Blogspot/CommentsApiController.cs +++ b/src/Yavsc/ApiControllers/Blogspot/CommentsApiController.cs @@ -1,12 +1,15 @@ +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata.Internal; using Yavsc.Helpers; using Yavsc.Models; using Yavsc.Models.Blog; namespace Yavsc.Controllers { + [Authorize] [Produces("application/json")] [Route("api/blogcomments")] public class CommentsApiController : Controller @@ -81,27 +84,45 @@ namespace Yavsc.Controllers // POST: api/CommentsApi [HttpPost] - public async Task PostComment([FromBody] Comment comment) + public async Task PostComment([FromBody] CommentPost post) { if (!ModelState.IsValid) { return new BadRequestObjectResult(ModelState); } - if (!User.IsInRole(Constants.AdminGroupName)) + var article = await _context.Blogspot.FirstOrDefaultAsync + (p=> p.Id == post.ReceiverId); + + if (article==null) { + ModelState.AddModelError("ReceiverId", "not found"); + return BadRequest(ModelState); + } + if (post.ParentId!=null) { - if (User.GetUserId()!=comment.AuthorId) { - ModelState.AddModelError("Content","Vous ne pouvez pas poster au nom d'un autre."); - return new BadRequestObjectResult(ModelState); + var parentExists = _context.Comment.Any(c => c.Id == post.ParentId); + if (!parentExists) + { + ModelState.AddModelError("ParentId", "not found"); + return BadRequest(ModelState); } } - _context.Comment.Add(comment); + string uid = User.GetUserId(); + Comment c = new Comment{ + ReceiverId = post.ReceiverId, + Content = post.Content, + ParentId = post.ParentId, + AuthorId = uid, + UserModified = uid + }; + + _context.Comment.Add(c); try { await _context.SaveChangesAsync(User.GetUserId()); } catch (DbUpdateException) { - if (CommentExists(comment.Id)) + if (CommentExists(c.Id)) { return new StatusCodeResult(StatusCodes.Status409Conflict); } @@ -110,7 +131,7 @@ namespace Yavsc.Controllers throw; } } - return CreatedAtRoute("GetComment", new { id = comment.Id }, comment); + return CreatedAtRoute("GetComment", new { id = c.Id }, post); } // DELETE: api/CommentsApi/5 @@ -135,7 +156,8 @@ namespace Yavsc.Controllers } private void RemoveRecursive (Comment comment) { - var children = _context.Comment.Where(c=>c.ParentId==comment.Id).ToList(); + var children = _context.Comment.Where + (c=>c.ParentId==comment.Id).ToList(); foreach (var child in children) { RemoveRecursive(child); } diff --git a/src/Yavsc/Controllers/Communicating/CommentsController.cs b/src/Yavsc/Controllers/Communicating/CommentsController.cs index 9475c429..2f1371b7 100644 --- a/src/Yavsc/Controllers/Communicating/CommentsController.cs +++ b/src/Yavsc/Controllers/Communicating/CommentsController.cs @@ -47,7 +47,7 @@ namespace Yavsc.Controllers // GET: Comments/Create public IActionResult Create() { - ViewData["PostId"] = new SelectList(_context.Blogspot, "Id", "Post"); + ViewData["ReceiverId"] = new SelectList(_context.Blogspot, "Id", "Post"); return View(); } @@ -64,7 +64,7 @@ namespace Yavsc.Controllers await _context.SaveChangesAsync(); return RedirectToAction("Index"); } - ViewData["PostId"] = new SelectList(_context.Blogspot, "Id", "Post", comment.PostId); + ViewData["ReceiverId"] = new SelectList(_context.Blogspot, "Id", "Post", comment.ReceiverId); return View(comment); } @@ -81,7 +81,7 @@ namespace Yavsc.Controllers { return NotFound(); } - ViewData["PostId"] = new SelectList(_context.Blogspot, "Id", "Post", comment.PostId); + ViewData["ReceiverId"] = new SelectList(_context.Blogspot, "Id", "Post", comment.ReceiverId); return View(comment); } @@ -96,7 +96,7 @@ namespace Yavsc.Controllers await _context.SaveChangesAsync(); return RedirectToAction("Index"); } - ViewData["PostId"] = new SelectList(_context.Blogspot, "Id", "Post", comment.PostId); + ViewData["ReceiverId"] = new SelectList(_context.Blogspot, "Id", "Post", comment.ReceiverId); return View(comment); } diff --git a/src/Yavsc/Migrations/20241214154207_commentReceiver.Designer.cs b/src/Yavsc/Migrations/20241214154207_commentReceiver.Designer.cs new file mode 100644 index 00000000..bdca338d --- /dev/null +++ b/src/Yavsc/Migrations/20241214154207_commentReceiver.Designer.cs @@ -0,0 +1,3519 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using Yavsc.Models; + +#nullable disable + +namespace Yavsc.Migrations +{ + [DbContext(typeof(ApplicationDbContext))] + [Migration("20241214154207_commentReceiver")] + partial class commentReceiver + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.2") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("text"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .IsUnique() + .HasDatabaseName("RoleNameIndex"); + + b.ToTable("AspNetRoles", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("text"); + + b.Property("ClaimValue") + .HasColumnType("text"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("text"); + + b.Property("ClaimValue") + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("text"); + + b.Property("ProviderKey") + .HasColumnType("text"); + + b.Property("ProviderDisplayName") + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("text"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("LoginProvider") + .HasColumnType("text"); + + b.Property("Name") + .HasColumnType("text"); + + b.Property("Value") + .HasColumnType("text"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens", (string)null); + }); + + modelBuilder.Entity("Yavsc.Abstract.Identity.ClientProviderInfo", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("Avatar") + .IsRequired() + .HasColumnType("text"); + + b.Property("BillingAddressId") + .HasColumnType("bigint"); + + b.Property("EMail") + .IsRequired() + .HasColumnType("text"); + + b.Property("Phone") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("UserId"); + + b.ToTable("ClientProviderInfo"); + }); + + modelBuilder.Entity("Yavsc.Models.Access.Ban", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("text"); + + b.Property("TargetId") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("TargetId"); + + b.ToTable("Ban"); + }); + + modelBuilder.Entity("Yavsc.Models.Access.BlackListed", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("OwnerId"); + + b.HasIndex("UserId"); + + b.ToTable("BlackListed"); + }); + + modelBuilder.Entity("Yavsc.Models.Access.CircleAuthorizationToBlogPost", b => + { + b.Property("CircleId") + .HasColumnType("bigint"); + + b.Property("BlogPostId") + .HasColumnType("bigint"); + + b.HasKey("CircleId", "BlogPostId"); + + b.HasIndex("BlogPostId"); + + b.ToTable("CircleAuthorizationToBlogPost"); + }); + + modelBuilder.Entity("Yavsc.Models.AccountBalance", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("ContactCredits") + .HasColumnType("bigint"); + + b.Property("Credits") + .HasColumnType("numeric"); + + b.HasKey("UserId"); + + b.ToTable("BankStatus"); + }); + + modelBuilder.Entity("Yavsc.Models.ApplicationUser", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("AccessFailedCount") + .HasColumnType("integer"); + + b.Property("AllowMonthlyEmail") + .HasColumnType("boolean"); + + b.Property("Avatar") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasDefaultValue("/images/Users/icon_user.png"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("text"); + + b.Property("DedicatedGoogleCalendar") + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("DiskQuota") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .HasDefaultValue(524288000L); + + b.Property("DiskUsage") + .HasColumnType("bigint"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("EmailConfirmed") + .HasColumnType("boolean"); + + b.Property("FullName") + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("LockoutEnabled") + .HasColumnType("boolean"); + + b.Property("LockoutEnd") + .HasColumnType("timestamp with time zone"); + + b.Property("MaxFileSize") + .HasColumnType("bigint"); + + b.Property("NormalizedEmail") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("NormalizedUserName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("PasswordHash") + .HasColumnType("text"); + + b.Property("PhoneNumber") + .HasColumnType("text"); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("boolean"); + + b.Property("PostalAddressId") + .HasColumnType("bigint"); + + b.Property("SecurityStamp") + .HasColumnType("text"); + + b.Property("TwoFactorEnabled") + .HasColumnType("boolean"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.HasKey("Id"); + + b.HasAlternateKey("Email"); + + b.HasIndex("NormalizedEmail") + .HasDatabaseName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasDatabaseName("UserNameIndex"); + + b.HasIndex("PostalAddressId"); + + b.ToTable("AspNetUsers", (string)null); + }); + + modelBuilder.Entity("Yavsc.Models.Auth.Client", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("text"); + + b.Property("AccessTokenLifetime") + .HasColumnType("integer"); + + b.Property("Active") + .HasColumnType("boolean"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("LogoutRedirectUri") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("RedirectUri") + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("RefreshTokenLifeTime") + .HasColumnType("integer"); + + b.Property("Secret") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("Type") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.ToTable("Applications"); + }); + + modelBuilder.Entity("Yavsc.Models.Auth.OAuth2Tokens", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("AccessToken") + .IsRequired() + .HasColumnType("text"); + + b.Property("Expiration") + .HasColumnType("timestamp with time zone"); + + b.Property("ExpiresIn") + .IsRequired() + .HasColumnType("text"); + + b.Property("RefreshToken") + .IsRequired() + .HasColumnType("text"); + + b.Property("TokenType") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("UserId"); + + b.ToTable("OAuth2Tokens"); + }); + + modelBuilder.Entity("Yavsc.Models.Auth.RefreshToken", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("ClientId") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("ExpiresUtc") + .HasColumnType("timestamp with time zone"); + + b.Property("IssuedUtc") + .HasColumnType("timestamp with time zone"); + + b.Property("ProtectedTicket") + .IsRequired() + .HasColumnType("text"); + + b.Property("Subject") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.HasKey("Id"); + + b.ToTable("RefreshTokens"); + }); + + modelBuilder.Entity("Yavsc.Models.Auth.Scope", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("Description") + .IsRequired() + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.HasKey("Id"); + + b.ToTable("Scopes"); + }); + + modelBuilder.Entity("Yavsc.Models.BalanceImpact", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("BalanceId") + .IsRequired() + .HasColumnType("text"); + + b.Property("ExecDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Impact") + .HasColumnType("numeric"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("BalanceId"); + + b.ToTable("BankBook"); + }); + + modelBuilder.Entity("Yavsc.Models.Bank.BankIdentity", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AccountNumber") + .IsRequired() + .HasColumnType("text"); + + b.Property("BIC") + .IsRequired() + .HasColumnType("text"); + + b.Property("BankCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("BankedKey") + .HasColumnType("integer"); + + b.Property("IBAN") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.Property("WicketCode") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("BankIdentity"); + }); + + modelBuilder.Entity("Yavsc.Models.Billing.CommandLine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Count") + .HasColumnType("integer"); + + b.Property("Currency") + .IsRequired() + .HasColumnType("text"); + + b.Property("Description") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("EstimateId") + .HasColumnType("bigint"); + + b.Property("EstimateTemplateId") + .HasColumnType("bigint"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("UnitaryCost") + .HasColumnType("numeric"); + + b.HasKey("Id"); + + b.HasIndex("EstimateId"); + + b.HasIndex("EstimateTemplateId"); + + b.ToTable("CommandLine"); + }); + + modelBuilder.Entity("Yavsc.Models.Billing.Estimate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AttachedFilesString") + .IsRequired() + .HasColumnType("text"); + + b.Property("AttachedGraphicsString") + .IsRequired() + .HasColumnType("text"); + + b.Property("ClientId") + .IsRequired() + .HasColumnType("text"); + + b.Property("ClientValidationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("CommandId") + .HasColumnType("bigint"); + + b.Property("CommandType") + .IsRequired() + .HasColumnType("text"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("ProviderValidationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Title") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("ClientId"); + + b.HasIndex("CommandId"); + + b.HasIndex("OwnerId"); + + b.ToTable("Estimates"); + }); + + modelBuilder.Entity("Yavsc.Models.Billing.EstimateTemplate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Title") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("EstimateTemplates"); + }); + + modelBuilder.Entity("Yavsc.Models.Billing.ExceptionSIREN", b => + { + b.Property("SIREN") + .HasColumnType("text"); + + b.HasKey("SIREN"); + + b.ToTable("ExceptionsSIREN"); + }); + + modelBuilder.Entity("Yavsc.Models.Blog.BlogPost", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AuthorId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Content") + .IsRequired() + .HasMaxLength(56224) + .HasColumnType("character varying(56224)"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("Photo") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.Property("Rate") + .HasColumnType("integer"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.Property("Visible") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.HasIndex("AuthorId"); + + b.ToTable("Blogspot"); + }); + + modelBuilder.Entity("Yavsc.Models.Blog.BlogTag", b => + { + b.Property("PostId") + .HasColumnType("bigint"); + + b.Property("TagId") + .HasColumnType("bigint"); + + b.HasKey("PostId", "TagId"); + + b.HasIndex("TagId"); + + b.ToTable("BlogTag"); + }); + + modelBuilder.Entity("Yavsc.Models.Blog.Comment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AuthorId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Content") + .IsRequired() + .HasColumnType("text"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("ParentId") + .HasColumnType("bigint"); + + b.Property("PostId") + .HasColumnType("bigint"); + + b.Property("ReceiverId") + .HasColumnType("bigint"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.Property("Visible") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.HasIndex("AuthorId"); + + b.HasIndex("ParentId"); + + b.HasIndex("PostId"); + + b.ToTable("Comment"); + }); + + modelBuilder.Entity("Yavsc.Models.Calendar.Schedule", b => + { + b.Property("OwnerId") + .HasColumnType("text"); + + b.HasKey("OwnerId"); + + b.ToTable("Schedule"); + }); + + modelBuilder.Entity("Yavsc.Models.Calendar.ScheduledEvent", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("PeriodEnd") + .HasColumnType("timestamp with time zone"); + + b.Property("PeriodStart") + .HasColumnType("timestamp with time zone"); + + b.Property("Reccurence") + .HasColumnType("integer"); + + b.Property("ScheduleOwnerId") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("ScheduleOwnerId"); + + b.HasIndex("PeriodStart", "PeriodEnd"); + + b.ToTable("ScheduledEvent"); + }); + + modelBuilder.Entity("Yavsc.Models.Chat.ChatConnection", b => + { + b.Property("ConnectionId") + .HasColumnType("text"); + + b.Property("ApplicationUserId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Connected") + .HasColumnType("boolean"); + + b.Property("UserAgent") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("ConnectionId"); + + b.HasIndex("ApplicationUserId"); + + b.ToTable("ChatConnection"); + }); + + modelBuilder.Entity("Yavsc.Models.Chat.ChatRoom", b => + { + b.Property("Name") + .HasColumnType("text"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("LatestJoinPart") + .HasColumnType("timestamp with time zone"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Topic") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Name"); + + b.HasIndex("OwnerId"); + + b.ToTable("ChatRoom"); + }); + + modelBuilder.Entity("Yavsc.Models.Chat.ChatRoomAccess", b => + { + b.Property("ChannelName") + .HasColumnType("text"); + + b.Property("UserId") + .HasColumnType("text"); + + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Level") + .HasColumnType("integer"); + + b.HasKey("ChannelName", "UserId"); + + b.HasIndex("UserId"); + + b.ToTable("ChatRoomAccess"); + }); + + modelBuilder.Entity("Yavsc.Models.Cratie.Option", b => + { + b.Property("Code") + .HasColumnType("text"); + + b.Property("CodeScrutin") + .HasColumnType("text"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Code", "CodeScrutin"); + + b.ToTable("Option"); + }); + + modelBuilder.Entity("Yavsc.Models.Drawing.Color", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Blue") + .HasColumnType("smallint"); + + b.Property("Green") + .HasColumnType("smallint"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Red") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.ToTable("Color"); + }); + + modelBuilder.Entity("Yavsc.Models.Forms.Form", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("Summary") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Form"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.BrusherProfile", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("ActionDistance") + .HasColumnType("integer"); + + b.Property("CarePrice") + .HasColumnType("numeric"); + + b.Property("FlatFeeDiscount") + .HasColumnType("numeric"); + + b.Property("HalfBalayagePrice") + .HasColumnType("numeric"); + + b.Property("HalfBrushingPrice") + .HasColumnType("numeric"); + + b.Property("HalfColorPrice") + .HasColumnType("numeric"); + + b.Property("HalfDefrisPrice") + .HasColumnType("numeric"); + + b.Property("HalfFoldingPrice") + .HasColumnType("numeric"); + + b.Property("HalfMechPrice") + .HasColumnType("numeric"); + + b.Property("HalfMultiColorPrice") + .HasColumnType("numeric"); + + b.Property("HalfPermanentPrice") + .HasColumnType("numeric"); + + b.Property("KidCutPrice") + .HasColumnType("numeric"); + + b.Property("LongBalayagePrice") + .HasColumnType("numeric"); + + b.Property("LongBrushingPrice") + .HasColumnType("numeric"); + + b.Property("LongColorPrice") + .HasColumnType("numeric"); + + b.Property("LongDefrisPrice") + .HasColumnType("numeric"); + + b.Property("LongFoldingPrice") + .HasColumnType("numeric"); + + b.Property("LongMechPrice") + .HasColumnType("numeric"); + + b.Property("LongMultiColorPrice") + .HasColumnType("numeric"); + + b.Property("LongPermanentPrice") + .HasColumnType("numeric"); + + b.Property("ManBrushPrice") + .HasColumnType("numeric"); + + b.Property("ManCutPrice") + .HasColumnType("numeric"); + + b.Property("ScheduleOwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("ShampooPrice") + .HasColumnType("numeric"); + + b.Property("ShortBalayagePrice") + .HasColumnType("numeric"); + + b.Property("ShortBrushingPrice") + .HasColumnType("numeric"); + + b.Property("ShortColorPrice") + .HasColumnType("numeric"); + + b.Property("ShortDefrisPrice") + .HasColumnType("numeric"); + + b.Property("ShortFoldingPrice") + .HasColumnType("numeric"); + + b.Property("ShortMechPrice") + .HasColumnType("numeric"); + + b.Property("ShortMultiColorPrice") + .HasColumnType("numeric"); + + b.Property("ShortPermanentPrice") + .HasColumnType("numeric"); + + b.Property("WomenHalfCutPrice") + .HasColumnType("numeric"); + + b.Property("WomenLongCutPrice") + .HasColumnType("numeric"); + + b.Property("WomenShortCutPrice") + .HasColumnType("numeric"); + + b.HasKey("UserId"); + + b.HasIndex("ScheduleOwnerId"); + + b.ToTable("BrusherProfile"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairCutQuery", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Accepted") + .HasColumnType("boolean"); + + b.Property("ActivityCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("AdditionalInfo") + .IsRequired() + .HasColumnType("text"); + + b.Property("ClientId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Consent") + .HasColumnType("boolean"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("Decided") + .HasColumnType("boolean"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("EventDate") + .HasColumnType("timestamp with time zone"); + + b.Property("LocationId") + .HasColumnType("bigint"); + + b.Property("PaymentId") + .IsRequired() + .HasColumnType("text"); + + b.Property("PerformerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("PrestationId") + .HasColumnType("bigint"); + + b.Property("Previsional") + .HasColumnType("numeric"); + + b.Property("SelectedProfileUserId") + .HasColumnType("text"); + + b.Property("Status") + .HasColumnType("integer"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.Property("ValidationDate") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("ActivityCode"); + + b.HasIndex("ClientId"); + + b.HasIndex("LocationId"); + + b.HasIndex("PaymentId"); + + b.HasIndex("PerformerId"); + + b.HasIndex("PrestationId"); + + b.HasIndex("SelectedProfileUserId"); + + b.ToTable("HairCutQueries"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairMultiCutQuery", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Accepted") + .HasColumnType("boolean"); + + b.Property("ActivityCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("ClientId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Consent") + .HasColumnType("boolean"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("Decided") + .HasColumnType("boolean"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("EventDate") + .HasColumnType("timestamp with time zone"); + + b.Property("LocationId") + .HasColumnType("bigint"); + + b.Property("PaymentId") + .IsRequired() + .HasColumnType("text"); + + b.Property("PerformerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Previsional") + .HasColumnType("numeric"); + + b.Property("Status") + .HasColumnType("integer"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.Property("ValidationDate") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("ActivityCode"); + + b.HasIndex("ClientId"); + + b.HasIndex("LocationId"); + + b.HasIndex("PaymentId"); + + b.HasIndex("PerformerId"); + + b.ToTable("HairMultiCutQueries"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairPrestation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Cares") + .HasColumnType("boolean"); + + b.Property("Cut") + .HasColumnType("boolean"); + + b.Property("Dressing") + .HasColumnType("integer"); + + b.Property("Gender") + .HasColumnType("integer"); + + b.Property("Length") + .HasColumnType("integer"); + + b.Property("Shampoo") + .HasColumnType("boolean"); + + b.Property("Tech") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.ToTable("HairPrestation"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairPrestationCollectionItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("PrestationId") + .HasColumnType("bigint"); + + b.Property("QueryId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("PrestationId"); + + b.HasIndex("QueryId"); + + b.ToTable("HairPrestationCollectionItem"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairTaint", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Brand") + .IsRequired() + .HasColumnType("text"); + + b.Property("ColorId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("ColorId"); + + b.ToTable("HairTaint"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairTaintInstance", b => + { + b.Property("TaintId") + .HasColumnType("bigint"); + + b.Property("PrestationId") + .HasColumnType("bigint"); + + b.HasKey("TaintId", "PrestationId"); + + b.HasIndex("PrestationId"); + + b.ToTable("HairTaintInstance"); + }); + + modelBuilder.Entity("Yavsc.Models.IT.Evolution.Feature", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("ShortName") + .IsRequired() + .HasColumnType("text"); + + b.Property("Status") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.ToTable("Feature"); + }); + + modelBuilder.Entity("Yavsc.Models.IT.Fixing.Bug", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("FeatureId") + .HasColumnType("bigint"); + + b.Property("Status") + .HasColumnType("integer"); + + b.Property("Title") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("FeatureId"); + + b.ToTable("Bug"); + }); + + modelBuilder.Entity("Yavsc.Models.Identity.DeviceDeclaration", b => + { + b.Property("DeviceId") + .HasColumnType("text"); + + b.Property("DeclarationDate") + .ValueGeneratedOnAdd() + .HasColumnType("timestamp with time zone") + .HasDefaultValueSql("LOCALTIMESTAMP"); + + b.Property("DeviceOwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("LatestActivityUpdate") + .HasColumnType("timestamp with time zone"); + + b.Property("Model") + .IsRequired() + .HasColumnType("text"); + + b.Property("Platform") + .IsRequired() + .HasColumnType("text"); + + b.Property("Version") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("DeviceId"); + + b.HasIndex("DeviceOwnerId"); + + b.ToTable("DeviceDeclaration"); + }); + + modelBuilder.Entity("Yavsc.Models.Market.Product", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Depth") + .HasColumnType("numeric"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("Height") + .HasColumnType("numeric"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Price") + .HasColumnType("numeric"); + + b.Property("Public") + .HasColumnType("boolean"); + + b.Property("Weight") + .HasColumnType("numeric"); + + b.Property("Width") + .HasColumnType("numeric"); + + b.HasKey("Id"); + + b.ToTable("Products"); + }); + + modelBuilder.Entity("Yavsc.Models.Market.Service", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ContextId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Public") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.HasIndex("ContextId"); + + b.ToTable("Services"); + }); + + modelBuilder.Entity("Yavsc.Models.Messaging.Announce", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("For") + .HasColumnType("smallint"); + + b.Property("Message") + .IsRequired() + .HasColumnType("text"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Sender") + .IsRequired() + .HasColumnType("text"); + + b.Property("Topic") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("OwnerId"); + + b.ToTable("Announce"); + }); + + modelBuilder.Entity("Yavsc.Models.Messaging.DismissClicked", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("NotificationId") + .HasColumnType("bigint"); + + b.HasKey("UserId", "NotificationId"); + + b.HasIndex("NotificationId"); + + b.ToTable("DismissClicked"); + }); + + modelBuilder.Entity("Yavsc.Models.Messaging.Notification", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Target") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("body") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("click_action") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("color") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("icon") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasDefaultValue("exclam"); + + b.Property("sound") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("tag") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("title") + .IsRequired() + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.HasKey("Id"); + + b.ToTable("Notification"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.Instrument", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("character varying(255)"); + + b.HasKey("Id"); + + b.ToTable("Instrument"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.InstrumentRating", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("InstrumentId") + .HasColumnType("bigint"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Rate") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasAlternateKey("InstrumentId", "OwnerId"); + + b.HasIndex("OwnerId"); + + b.ToTable("InstrumentRating"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.MusicalPreference", b => + { + b.Property("OwnerProfileId") + .HasColumnType("text"); + + b.Property("DjSettingsUserId") + .HasColumnType("text"); + + b.Property("GeneralSettingsUserId") + .HasColumnType("text"); + + b.Property("Rate") + .HasColumnType("integer"); + + b.Property("TendencyId") + .HasColumnType("bigint"); + + b.HasKey("OwnerProfileId"); + + b.HasIndex("DjSettingsUserId"); + + b.HasIndex("GeneralSettingsUserId"); + + b.ToTable("MusicalPreference"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.MusicalTendency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("character varying(255)"); + + b.HasKey("Id"); + + b.ToTable("MusicalTendency"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.Profiles.DjSettings", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("SoundCloudId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("UserId"); + + b.ToTable("DjSettings"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.Profiles.GeneralSettings", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.HasKey("UserId"); + + b.ToTable("GeneralSettings"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.Profiles.Instrumentation", b => + { + b.Property("InstrumentId") + .HasColumnType("bigint"); + + b.Property("UserId") + .HasColumnType("text"); + + b.HasKey("InstrumentId", "UserId"); + + b.HasIndex("UserId"); + + b.ToTable("Instrumentation"); + }); + + modelBuilder.Entity("Yavsc.Models.Payment.PayPalPayment", b => + { + b.Property("CreationToken") + .HasColumnType("text"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("ExecutorId") + .IsRequired() + .HasColumnType("text"); + + b.Property("OrderReference") + .IsRequired() + .HasColumnType("text"); + + b.Property("PaypalPayerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("State") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("CreationToken"); + + b.HasIndex("ExecutorId"); + + b.ToTable("PayPalPayment"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.Circle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ApplicationUserId") + .HasColumnType("text"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Public") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.HasIndex("ApplicationUserId"); + + b.ToTable("Circle"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.CircleMember", b => + { + b.Property("MemberId") + .HasColumnType("text"); + + b.Property("CircleId") + .HasColumnType("bigint"); + + b.HasKey("MemberId", "CircleId"); + + b.HasIndex("CircleId"); + + b.ToTable("CircleMembers"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.Contact", b => + { + b.Property("OwnerId") + .HasColumnType("text"); + + b.Property("UserId") + .HasColumnType("text"); + + b.Property("AddressId") + .HasColumnType("bigint"); + + b.Property("ApplicationUserId") + .HasColumnType("text"); + + b.Property("EMail") + .IsRequired() + .HasColumnType("text"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("OwnerId", "UserId"); + + b.HasIndex("AddressId"); + + b.HasIndex("ApplicationUserId"); + + b.ToTable("Contact"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.HyperLink", b => + { + b.Property("HRef") + .HasColumnType("text"); + + b.Property("Method") + .HasColumnType("text"); + + b.Property("BrusherProfileUserId") + .HasColumnType("text"); + + b.Property("ContentType") + .IsRequired() + .HasColumnType("text"); + + b.Property("PayPalPaymentCreationToken") + .HasColumnType("text"); + + b.Property("Rel") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("HRef", "Method"); + + b.HasIndex("BrusherProfileUserId"); + + b.HasIndex("PayPalPaymentCreationToken"); + + b.ToTable("HyperLink"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.Location", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Address") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("Latitude") + .HasColumnType("double precision"); + + b.Property("Longitude") + .HasColumnType("double precision"); + + b.HasKey("Id"); + + b.ToTable("Locations"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.PostalAddress", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("City") + .IsRequired() + .HasColumnType("text"); + + b.Property("Country") + .IsRequired() + .HasColumnType("text"); + + b.Property("PostalCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("Province") + .IsRequired() + .HasColumnType("text"); + + b.Property("State") + .IsRequired() + .HasColumnType("text"); + + b.Property("Street1") + .IsRequired() + .HasColumnType("text"); + + b.Property("Street2") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("PostalAddress"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.Tag", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Tags"); + }); + + modelBuilder.Entity("Yavsc.Models.Skill", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Rate") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.ToTable("SiteSkills"); + }); + + modelBuilder.Entity("Yavsc.Models.Streaming.LiveFlow", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DifferedFileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("MediaType") + .IsRequired() + .HasColumnType("text"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Pitch") + .IsRequired() + .HasColumnType("text"); + + b.Property("SequenceNumber") + .HasColumnType("integer"); + + b.Property("Title") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("OwnerId"); + + b.ToTable("LiveFlow"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.Activity", b => + { + b.Property("Code") + .HasColumnType("text"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("Hidden") + .HasColumnType("boolean"); + + b.Property("ModeratorGroupName") + .IsRequired() + .HasColumnType("text"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("ParentCode") + .HasColumnType("text"); + + b.Property("Photo") + .IsRequired() + .HasColumnType("text"); + + b.Property("Rate") + .HasColumnType("integer"); + + b.Property("SettingsClassName") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Code"); + + b.HasIndex("ParentCode"); + + b.ToTable("Activities"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.CoWorking", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("FormationSettingsUserId") + .HasColumnType("text"); + + b.Property("PerformerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("WorkingForId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("FormationSettingsUserId"); + + b.HasIndex("PerformerId"); + + b.HasIndex("WorkingForId"); + + b.ToTable("CoWorking"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.CommandForm", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ActionName") + .IsRequired() + .HasColumnType("text"); + + b.Property("ActivityCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("Title") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("ActivityCode"); + + b.ToTable("CommandForm"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.PerformerProfile", b => + { + b.Property("PerformerId") + .HasColumnType("text"); + + b.Property("AcceptNotifications") + .HasColumnType("boolean"); + + b.Property("AcceptPublicContact") + .HasColumnType("boolean"); + + b.Property("Active") + .HasColumnType("boolean"); + + b.Property("MaxDailyCost") + .HasColumnType("integer"); + + b.Property("MinDailyCost") + .HasColumnType("integer"); + + b.Property("OrganizationAddressId") + .HasColumnType("bigint"); + + b.Property("Rate") + .HasColumnType("integer"); + + b.Property("SIREN") + .IsRequired() + .HasColumnType("text"); + + b.Property("UseGeoLocalizationToReduceDistanceWithClients") + .HasColumnType("boolean"); + + b.Property("WebSite") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("PerformerId"); + + b.HasIndex("OrganizationAddressId"); + + b.ToTable("Performers"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.Profiles.FormationSettings", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("DisplayName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("UserId"); + + b.ToTable("FormationSettings"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.RdvQuery", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Accepted") + .HasColumnType("boolean"); + + b.Property("ActivityCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("ClientId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Consent") + .HasColumnType("boolean"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("Decided") + .HasColumnType("boolean"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("EventDate") + .HasColumnType("timestamp with time zone"); + + b.Property("LocationId") + .HasColumnType("bigint"); + + b.Property("LocationType") + .HasColumnType("integer"); + + b.Property("PaymentId") + .IsRequired() + .HasColumnType("text"); + + b.Property("PerformerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Previsional") + .HasColumnType("numeric"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("text"); + + b.Property("Status") + .HasColumnType("integer"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.Property("ValidationDate") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("ActivityCode"); + + b.HasIndex("ClientId"); + + b.HasIndex("LocationId"); + + b.HasIndex("PaymentId"); + + b.HasIndex("PerformerId"); + + b.ToTable("RdvQueries"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.UserActivity", b => + { + b.Property("DoesCode") + .HasColumnType("text"); + + b.Property("UserId") + .HasColumnType("text"); + + b.Property("Weight") + .HasColumnType("integer"); + + b.HasKey("DoesCode", "UserId"); + + b.HasIndex("UserId"); + + b.ToTable("UserActivities"); + }); + + modelBuilder.Entity("Yavsc.Server.Models.Calendar.Period", b => + { + b.Property("Start") + .HasColumnType("timestamp with time zone"); + + b.Property("End") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Start", "End"); + + b.ToTable("Period"); + }); + + modelBuilder.Entity("Yavsc.Server.Models.EMailing.MailingTemplate", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("Body") + .IsRequired() + .HasMaxLength(65536) + .HasColumnType("character varying(65536)"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("ReplyToAddress") + .IsRequired() + .HasColumnType("text"); + + b.Property("ToSend") + .HasColumnType("integer"); + + b.Property("Topic") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("MailingTemplate"); + }); + + modelBuilder.Entity("Yavsc.Server.Models.IT.Project", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Accepted") + .HasColumnType("boolean"); + + b.Property("ActivityCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("ClientId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Consent") + .HasColumnType("boolean"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("Decided") + .HasColumnType("boolean"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("GitId") + .HasColumnType("bigint"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("PaymentId") + .IsRequired() + .HasColumnType("text"); + + b.Property("PerformerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Previsional") + .HasColumnType("numeric"); + + b.Property("Status") + .HasColumnType("integer"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.Property("ValidationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Version") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("ActivityCode"); + + b.HasIndex("ClientId"); + + b.HasIndex("GitId"); + + b.HasIndex("PaymentId"); + + b.HasIndex("PerformerId"); + + b.ToTable("Project"); + }); + + modelBuilder.Entity("Yavsc.Server.Models.IT.ProjectBuildConfiguration", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("ProjectId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("ProjectId"); + + b.ToTable("ProjectBuildConfiguration"); + }); + + modelBuilder.Entity("Yavsc.Server.Models.IT.SourceCode.GitRepositoryReference", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Branch") + .IsRequired() + .HasColumnType("text"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Path") + .IsRequired() + .HasColumnType("text"); + + b.Property("Url") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("OwnerId"); + + b.ToTable("GitRepositoryReference"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Yavsc.Models.Access.Ban", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "TargetUser") + .WithMany() + .HasForeignKey("TargetId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("TargetUser"); + }); + + modelBuilder.Entity("Yavsc.Models.Access.BlackListed", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Owner") + .WithMany("BlackList") + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Owner"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Yavsc.Models.Access.CircleAuthorizationToBlogPost", b => + { + b.HasOne("Yavsc.Models.Blog.BlogPost", "Target") + .WithMany("ACL") + .HasForeignKey("BlogPostId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Relationship.Circle", "Allowed") + .WithMany() + .HasForeignKey("CircleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Allowed"); + + b.Navigation("Target"); + }); + + modelBuilder.Entity("Yavsc.Models.AccountBalance", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Owner") + .WithOne("AccountBalance") + .HasForeignKey("Yavsc.Models.AccountBalance", "UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("Yavsc.Models.ApplicationUser", b => + { + b.HasOne("Yavsc.Models.Relationship.Location", "PostalAddress") + .WithMany() + .HasForeignKey("PostalAddressId"); + + b.Navigation("PostalAddress"); + }); + + modelBuilder.Entity("Yavsc.Models.BalanceImpact", b => + { + b.HasOne("Yavsc.Models.AccountBalance", "Balance") + .WithMany() + .HasForeignKey("BalanceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Balance"); + }); + + modelBuilder.Entity("Yavsc.Models.Bank.BankIdentity", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "User") + .WithMany("BankInfo") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Yavsc.Models.Billing.CommandLine", b => + { + b.HasOne("Yavsc.Models.Billing.Estimate", null) + .WithMany("Bill") + .HasForeignKey("EstimateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Billing.EstimateTemplate", null) + .WithMany("Bill") + .HasForeignKey("EstimateTemplateId"); + }); + + modelBuilder.Entity("Yavsc.Models.Billing.Estimate", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Client") + .WithMany() + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Workflow.RdvQuery", "Query") + .WithMany() + .HasForeignKey("CommandId"); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "Owner") + .WithMany() + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Client"); + + b.Navigation("Owner"); + + b.Navigation("Query"); + }); + + modelBuilder.Entity("Yavsc.Models.Blog.BlogPost", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Author") + .WithMany("Posts") + .HasForeignKey("AuthorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Author"); + }); + + modelBuilder.Entity("Yavsc.Models.Blog.BlogTag", b => + { + b.HasOne("Yavsc.Models.Blog.BlogPost", "Post") + .WithMany("Tags") + .HasForeignKey("PostId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Relationship.Tag", "Tag") + .WithMany() + .HasForeignKey("TagId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Post"); + + b.Navigation("Tag"); + }); + + modelBuilder.Entity("Yavsc.Models.Blog.Comment", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Author") + .WithMany() + .HasForeignKey("AuthorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Blog.Comment", "Parent") + .WithMany("Children") + .HasForeignKey("ParentId"); + + b.HasOne("Yavsc.Models.Blog.BlogPost", "Post") + .WithMany("Comments") + .HasForeignKey("PostId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Author"); + + b.Navigation("Parent"); + + b.Navigation("Post"); + }); + + modelBuilder.Entity("Yavsc.Models.Calendar.Schedule", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Owner") + .WithMany() + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("Yavsc.Models.Calendar.ScheduledEvent", b => + { + b.HasOne("Yavsc.Models.Calendar.Schedule", null) + .WithMany("Events") + .HasForeignKey("ScheduleOwnerId"); + + b.HasOne("Yavsc.Server.Models.Calendar.Period", "Period") + .WithMany() + .HasForeignKey("PeriodStart", "PeriodEnd") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Period"); + }); + + modelBuilder.Entity("Yavsc.Models.Chat.ChatConnection", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Owner") + .WithMany("Connections") + .HasForeignKey("ApplicationUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("Yavsc.Models.Chat.ChatRoom", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Owner") + .WithMany("Rooms") + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("Yavsc.Models.Chat.ChatRoomAccess", b => + { + b.HasOne("Yavsc.Models.Chat.ChatRoom", "Room") + .WithMany("Moderation") + .HasForeignKey("ChannelName") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "User") + .WithMany("RoomAccess") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Room"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.BrusherProfile", b => + { + b.HasOne("Yavsc.Models.Calendar.Schedule", "Schedule") + .WithMany() + .HasForeignKey("ScheduleOwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "BaseProfile") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BaseProfile"); + + b.Navigation("Schedule"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairCutQuery", b => + { + b.HasOne("Yavsc.Models.Workflow.Activity", "Context") + .WithMany() + .HasForeignKey("ActivityCode") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "Client") + .WithMany() + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Relationship.Location", "Location") + .WithMany() + .HasForeignKey("LocationId"); + + b.HasOne("Yavsc.Models.Payment.PayPalPayment", "Regularisation") + .WithMany() + .HasForeignKey("PaymentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "PerformerProfile") + .WithMany() + .HasForeignKey("PerformerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Haircut.HairPrestation", "Prestation") + .WithMany() + .HasForeignKey("PrestationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Haircut.BrusherProfile", "SelectedProfile") + .WithMany() + .HasForeignKey("SelectedProfileUserId"); + + b.Navigation("Client"); + + b.Navigation("Context"); + + b.Navigation("Location"); + + b.Navigation("PerformerProfile"); + + b.Navigation("Prestation"); + + b.Navigation("Regularisation"); + + b.Navigation("SelectedProfile"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairMultiCutQuery", b => + { + b.HasOne("Yavsc.Models.Workflow.Activity", "Context") + .WithMany() + .HasForeignKey("ActivityCode") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "Client") + .WithMany() + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Relationship.Location", "Location") + .WithMany() + .HasForeignKey("LocationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Payment.PayPalPayment", "Regularisation") + .WithMany() + .HasForeignKey("PaymentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "PerformerProfile") + .WithMany() + .HasForeignKey("PerformerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Client"); + + b.Navigation("Context"); + + b.Navigation("Location"); + + b.Navigation("PerformerProfile"); + + b.Navigation("Regularisation"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairPrestationCollectionItem", b => + { + b.HasOne("Yavsc.Models.Haircut.HairPrestation", "Prestation") + .WithMany() + .HasForeignKey("PrestationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Haircut.HairMultiCutQuery", "Query") + .WithMany("Prestations") + .HasForeignKey("QueryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Prestation"); + + b.Navigation("Query"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairTaint", b => + { + b.HasOne("Yavsc.Models.Drawing.Color", "Color") + .WithMany() + .HasForeignKey("ColorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Color"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairTaintInstance", b => + { + b.HasOne("Yavsc.Models.Haircut.HairPrestation", "Prestation") + .WithMany("Taints") + .HasForeignKey("PrestationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Haircut.HairTaint", "Taint") + .WithMany() + .HasForeignKey("TaintId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Prestation"); + + b.Navigation("Taint"); + }); + + modelBuilder.Entity("Yavsc.Models.IT.Fixing.Bug", b => + { + b.HasOne("Yavsc.Models.IT.Evolution.Feature", "False") + .WithMany() + .HasForeignKey("FeatureId"); + + b.Navigation("False"); + }); + + modelBuilder.Entity("Yavsc.Models.Identity.DeviceDeclaration", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "DeviceOwner") + .WithMany("DeviceDeclaration") + .HasForeignKey("DeviceOwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("DeviceOwner"); + }); + + modelBuilder.Entity("Yavsc.Models.Market.Service", b => + { + b.HasOne("Yavsc.Models.Workflow.Activity", "Context") + .WithMany("Services") + .HasForeignKey("ContextId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Context"); + }); + + modelBuilder.Entity("Yavsc.Models.Messaging.Announce", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Owner") + .WithMany() + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("Yavsc.Models.Messaging.DismissClicked", b => + { + b.HasOne("Yavsc.Models.Messaging.Notification", "Notified") + .WithMany() + .HasForeignKey("NotificationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Notified"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.InstrumentRating", b => + { + b.HasOne("Yavsc.Models.Musical.Instrument", "Instrument") + .WithMany() + .HasForeignKey("InstrumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "Profile") + .WithMany() + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Instrument"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.MusicalPreference", b => + { + b.HasOne("Yavsc.Models.Musical.Profiles.DjSettings", null) + .WithMany("SoundColor") + .HasForeignKey("DjSettingsUserId"); + + b.HasOne("Yavsc.Models.Musical.Profiles.GeneralSettings", null) + .WithMany("SoundColor") + .HasForeignKey("GeneralSettingsUserId"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.Profiles.Instrumentation", b => + { + b.HasOne("Yavsc.Models.Musical.Instrument", "Tool") + .WithMany() + .HasForeignKey("InstrumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Tool"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Yavsc.Models.Payment.PayPalPayment", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Executor") + .WithMany() + .HasForeignKey("ExecutorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Executor"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.Circle", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", null) + .WithMany("Circles") + .HasForeignKey("ApplicationUserId"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.CircleMember", b => + { + b.HasOne("Yavsc.Models.Relationship.Circle", "Circle") + .WithMany("Members") + .HasForeignKey("CircleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "Member") + .WithMany("Membership") + .HasForeignKey("MemberId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Circle"); + + b.Navigation("Member"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.Contact", b => + { + b.HasOne("Yavsc.Models.Relationship.PostalAddress", "PostalAddress") + .WithMany() + .HasForeignKey("AddressId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", null) + .WithMany("Book") + .HasForeignKey("ApplicationUserId"); + + b.Navigation("PostalAddress"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.HyperLink", b => + { + b.HasOne("Yavsc.Models.Haircut.BrusherProfile", null) + .WithMany("Links") + .HasForeignKey("BrusherProfileUserId"); + + b.HasOne("Yavsc.Models.Payment.PayPalPayment", null) + .WithMany("Links") + .HasForeignKey("PayPalPaymentCreationToken"); + }); + + modelBuilder.Entity("Yavsc.Models.Streaming.LiveFlow", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Owner") + .WithMany() + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.Activity", b => + { + b.HasOne("Yavsc.Models.Workflow.Activity", "Parent") + .WithMany("Children") + .HasForeignKey("ParentCode"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.CoWorking", b => + { + b.HasOne("Yavsc.Models.Workflow.Profiles.FormationSettings", null) + .WithMany("CoWorking") + .HasForeignKey("FormationSettingsUserId"); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "Performer") + .WithMany() + .HasForeignKey("PerformerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "WorkingFor") + .WithMany() + .HasForeignKey("WorkingForId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Performer"); + + b.Navigation("WorkingFor"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.CommandForm", b => + { + b.HasOne("Yavsc.Models.Workflow.Activity", "Context") + .WithMany("Forms") + .HasForeignKey("ActivityCode") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Context"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.PerformerProfile", b => + { + b.HasOne("Yavsc.Models.Relationship.Location", "OrganizationAddress") + .WithMany() + .HasForeignKey("OrganizationAddressId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "Performer") + .WithMany() + .HasForeignKey("PerformerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("OrganizationAddress"); + + b.Navigation("Performer"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.RdvQuery", b => + { + b.HasOne("Yavsc.Models.Workflow.Activity", "Context") + .WithMany() + .HasForeignKey("ActivityCode") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "Client") + .WithMany() + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Relationship.Location", "Location") + .WithMany() + .HasForeignKey("LocationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Payment.PayPalPayment", "Regularisation") + .WithMany() + .HasForeignKey("PaymentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "PerformerProfile") + .WithMany() + .HasForeignKey("PerformerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Client"); + + b.Navigation("Context"); + + b.Navigation("Location"); + + b.Navigation("PerformerProfile"); + + b.Navigation("Regularisation"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.UserActivity", b => + { + b.HasOne("Yavsc.Models.Workflow.Activity", "Does") + .WithMany() + .HasForeignKey("DoesCode") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "User") + .WithMany("Activity") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Does"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Yavsc.Server.Models.IT.Project", b => + { + b.HasOne("Yavsc.Models.Workflow.Activity", "Context") + .WithMany() + .HasForeignKey("ActivityCode") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "Client") + .WithMany() + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Server.Models.IT.SourceCode.GitRepositoryReference", "Repository") + .WithMany() + .HasForeignKey("GitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Payment.PayPalPayment", "Regularisation") + .WithMany() + .HasForeignKey("PaymentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "PerformerProfile") + .WithMany() + .HasForeignKey("PerformerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Client"); + + b.Navigation("Context"); + + b.Navigation("PerformerProfile"); + + b.Navigation("Regularisation"); + + b.Navigation("Repository"); + }); + + modelBuilder.Entity("Yavsc.Server.Models.IT.ProjectBuildConfiguration", b => + { + b.HasOne("Yavsc.Server.Models.IT.Project", "TargetProject") + .WithMany("Configurations") + .HasForeignKey("ProjectId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("TargetProject"); + }); + + modelBuilder.Entity("Yavsc.Server.Models.IT.SourceCode.GitRepositoryReference", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Owner") + .WithMany() + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("Yavsc.Models.ApplicationUser", b => + { + b.Navigation("AccountBalance") + .IsRequired(); + + b.Navigation("BankInfo"); + + b.Navigation("BlackList"); + + b.Navigation("Book"); + + b.Navigation("Circles"); + + b.Navigation("Connections"); + + b.Navigation("DeviceDeclaration"); + + b.Navigation("Membership"); + + b.Navigation("Posts"); + + b.Navigation("RoomAccess"); + + b.Navigation("Rooms"); + }); + + modelBuilder.Entity("Yavsc.Models.Billing.Estimate", b => + { + b.Navigation("Bill"); + }); + + modelBuilder.Entity("Yavsc.Models.Billing.EstimateTemplate", b => + { + b.Navigation("Bill"); + }); + + modelBuilder.Entity("Yavsc.Models.Blog.BlogPost", b => + { + b.Navigation("ACL"); + + b.Navigation("Comments"); + + b.Navigation("Tags"); + }); + + modelBuilder.Entity("Yavsc.Models.Blog.Comment", b => + { + b.Navigation("Children"); + }); + + modelBuilder.Entity("Yavsc.Models.Calendar.Schedule", b => + { + b.Navigation("Events"); + }); + + modelBuilder.Entity("Yavsc.Models.Chat.ChatRoom", b => + { + b.Navigation("Moderation"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.BrusherProfile", b => + { + b.Navigation("Links"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairMultiCutQuery", b => + { + b.Navigation("Prestations"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairPrestation", b => + { + b.Navigation("Taints"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.Profiles.DjSettings", b => + { + b.Navigation("SoundColor"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.Profiles.GeneralSettings", b => + { + b.Navigation("SoundColor"); + }); + + modelBuilder.Entity("Yavsc.Models.Payment.PayPalPayment", b => + { + b.Navigation("Links"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.Circle", b => + { + b.Navigation("Members"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.Activity", b => + { + b.Navigation("Children"); + + b.Navigation("Forms"); + + b.Navigation("Services"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.PerformerProfile", b => + { + b.Navigation("Activity"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.Profiles.FormationSettings", b => + { + b.Navigation("CoWorking"); + }); + + modelBuilder.Entity("Yavsc.Server.Models.IT.Project", b => + { + b.Navigation("Configurations"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/src/Yavsc/Migrations/20241214154207_commentReceiver.cs b/src/Yavsc/Migrations/20241214154207_commentReceiver.cs new file mode 100644 index 00000000..d8c249d8 --- /dev/null +++ b/src/Yavsc/Migrations/20241214154207_commentReceiver.cs @@ -0,0 +1,125 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Yavsc.Migrations +{ + /// + public partial class commentReceiver : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "BlogTrad"); + + migrationBuilder.DropColumn( + name: "Lang", + table: "Blogspot"); + + migrationBuilder.RenameColumn( + name: "PostId", + table: "Comment", + newName: "ReceiverId" + ); + + migrationBuilder.AlterColumn( + name: "Title", + table: "Blogspot", + type: "character varying(1024)", + maxLength: 1024, + nullable: false, + oldClrType: typeof(string), + oldType: "text"); + + migrationBuilder.AlterColumn( + name: "Photo", + table: "Blogspot", + type: "character varying(1024)", + maxLength: 1024, + nullable: true, + oldClrType: typeof(string), + oldType: "text"); + + migrationBuilder.AlterColumn( + name: "Content", + table: "Blogspot", + type: "character varying(56224)", + maxLength: 56224, + nullable: false, + oldClrType: typeof(string), + oldType: "text"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.RenameColumn( + name: "ReceiverId", + table: "Comment", + newName: "PostId"); + + migrationBuilder.AlterColumn( + name: "Title", + table: "Blogspot", + type: "text", + nullable: false, + oldClrType: typeof(string), + oldType: "character varying(1024)", + oldMaxLength: 1024); + + migrationBuilder.AlterColumn( + name: "Photo", + table: "Blogspot", + type: "text", + nullable: false, + defaultValue: "", + oldClrType: typeof(string), + oldType: "character varying(1024)", + oldMaxLength: 1024, + oldNullable: true); + + migrationBuilder.AlterColumn( + name: "Content", + table: "Blogspot", + type: "text", + nullable: false, + oldClrType: typeof(string), + oldType: "character varying(56224)", + oldMaxLength: 56224); + + migrationBuilder.AddColumn( + name: "Lang", + table: "Blogspot", + type: "text", + nullable: false, + defaultValue: ""); + + migrationBuilder.CreateTable( + name: "BlogTrad", + columns: table => new + { + PostId = table.Column(type: "bigint", nullable: false), + Lang = table.Column(type: "text", nullable: false), + TraducerId = table.Column(type: "text", nullable: false), + Body = table.Column(type: "text", nullable: false), + Title = table.Column(type: "text", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_BlogTrad", x => new { x.PostId, x.Lang }); + table.ForeignKey( + name: "FK_BlogTrad_AspNetUsers_TraducerId", + column: x => x.TraducerId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateIndex( + name: "IX_BlogTrad_TraducerId", + table: "BlogTrad", + column: "TraducerId"); + } + } +} diff --git a/src/Yavsc/Migrations/20241214201053_commentParent.Designer.cs b/src/Yavsc/Migrations/20241214201053_commentParent.Designer.cs new file mode 100644 index 00000000..bbe6e68b --- /dev/null +++ b/src/Yavsc/Migrations/20241214201053_commentParent.Designer.cs @@ -0,0 +1,3516 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using Yavsc.Models; + +#nullable disable + +namespace Yavsc.Migrations +{ + [DbContext(typeof(ApplicationDbContext))] + [Migration("20241214201053_commentParent")] + partial class commentParent + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.2") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("text"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .IsUnique() + .HasDatabaseName("RoleNameIndex"); + + b.ToTable("AspNetRoles", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("text"); + + b.Property("ClaimValue") + .HasColumnType("text"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("text"); + + b.Property("ClaimValue") + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("text"); + + b.Property("ProviderKey") + .HasColumnType("text"); + + b.Property("ProviderDisplayName") + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("text"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("LoginProvider") + .HasColumnType("text"); + + b.Property("Name") + .HasColumnType("text"); + + b.Property("Value") + .HasColumnType("text"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens", (string)null); + }); + + modelBuilder.Entity("Yavsc.Abstract.Identity.ClientProviderInfo", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("Avatar") + .IsRequired() + .HasColumnType("text"); + + b.Property("BillingAddressId") + .HasColumnType("bigint"); + + b.Property("EMail") + .IsRequired() + .HasColumnType("text"); + + b.Property("Phone") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("UserId"); + + b.ToTable("ClientProviderInfo"); + }); + + modelBuilder.Entity("Yavsc.Models.Access.Ban", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("text"); + + b.Property("TargetId") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("TargetId"); + + b.ToTable("Ban"); + }); + + modelBuilder.Entity("Yavsc.Models.Access.BlackListed", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("OwnerId"); + + b.HasIndex("UserId"); + + b.ToTable("BlackListed"); + }); + + modelBuilder.Entity("Yavsc.Models.Access.CircleAuthorizationToBlogPost", b => + { + b.Property("CircleId") + .HasColumnType("bigint"); + + b.Property("BlogPostId") + .HasColumnType("bigint"); + + b.HasKey("CircleId", "BlogPostId"); + + b.HasIndex("BlogPostId"); + + b.ToTable("CircleAuthorizationToBlogPost"); + }); + + modelBuilder.Entity("Yavsc.Models.AccountBalance", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("ContactCredits") + .HasColumnType("bigint"); + + b.Property("Credits") + .HasColumnType("numeric"); + + b.HasKey("UserId"); + + b.ToTable("BankStatus"); + }); + + modelBuilder.Entity("Yavsc.Models.ApplicationUser", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("AccessFailedCount") + .HasColumnType("integer"); + + b.Property("AllowMonthlyEmail") + .HasColumnType("boolean"); + + b.Property("Avatar") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasDefaultValue("/images/Users/icon_user.png"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("text"); + + b.Property("DedicatedGoogleCalendar") + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("DiskQuota") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .HasDefaultValue(524288000L); + + b.Property("DiskUsage") + .HasColumnType("bigint"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("EmailConfirmed") + .HasColumnType("boolean"); + + b.Property("FullName") + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("LockoutEnabled") + .HasColumnType("boolean"); + + b.Property("LockoutEnd") + .HasColumnType("timestamp with time zone"); + + b.Property("MaxFileSize") + .HasColumnType("bigint"); + + b.Property("NormalizedEmail") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("NormalizedUserName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("PasswordHash") + .HasColumnType("text"); + + b.Property("PhoneNumber") + .HasColumnType("text"); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("boolean"); + + b.Property("PostalAddressId") + .HasColumnType("bigint"); + + b.Property("SecurityStamp") + .HasColumnType("text"); + + b.Property("TwoFactorEnabled") + .HasColumnType("boolean"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.HasKey("Id"); + + b.HasAlternateKey("Email"); + + b.HasIndex("NormalizedEmail") + .HasDatabaseName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasDatabaseName("UserNameIndex"); + + b.HasIndex("PostalAddressId"); + + b.ToTable("AspNetUsers", (string)null); + }); + + modelBuilder.Entity("Yavsc.Models.Auth.Client", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("text"); + + b.Property("AccessTokenLifetime") + .HasColumnType("integer"); + + b.Property("Active") + .HasColumnType("boolean"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("LogoutRedirectUri") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("RedirectUri") + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("RefreshTokenLifeTime") + .HasColumnType("integer"); + + b.Property("Secret") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("Type") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.ToTable("Applications"); + }); + + modelBuilder.Entity("Yavsc.Models.Auth.OAuth2Tokens", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("AccessToken") + .IsRequired() + .HasColumnType("text"); + + b.Property("Expiration") + .HasColumnType("timestamp with time zone"); + + b.Property("ExpiresIn") + .IsRequired() + .HasColumnType("text"); + + b.Property("RefreshToken") + .IsRequired() + .HasColumnType("text"); + + b.Property("TokenType") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("UserId"); + + b.ToTable("OAuth2Tokens"); + }); + + modelBuilder.Entity("Yavsc.Models.Auth.RefreshToken", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("ClientId") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.Property("ExpiresUtc") + .HasColumnType("timestamp with time zone"); + + b.Property("IssuedUtc") + .HasColumnType("timestamp with time zone"); + + b.Property("ProtectedTicket") + .IsRequired() + .HasColumnType("text"); + + b.Property("Subject") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("character varying(50)"); + + b.HasKey("Id"); + + b.ToTable("RefreshTokens"); + }); + + modelBuilder.Entity("Yavsc.Models.Auth.Scope", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("Description") + .IsRequired() + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.HasKey("Id"); + + b.ToTable("Scopes"); + }); + + modelBuilder.Entity("Yavsc.Models.BalanceImpact", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("BalanceId") + .IsRequired() + .HasColumnType("text"); + + b.Property("ExecDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Impact") + .HasColumnType("numeric"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("BalanceId"); + + b.ToTable("BankBook"); + }); + + modelBuilder.Entity("Yavsc.Models.Bank.BankIdentity", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AccountNumber") + .IsRequired() + .HasColumnType("text"); + + b.Property("BIC") + .IsRequired() + .HasColumnType("text"); + + b.Property("BankCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("BankedKey") + .HasColumnType("integer"); + + b.Property("IBAN") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.Property("WicketCode") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("BankIdentity"); + }); + + modelBuilder.Entity("Yavsc.Models.Billing.CommandLine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Count") + .HasColumnType("integer"); + + b.Property("Currency") + .IsRequired() + .HasColumnType("text"); + + b.Property("Description") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("EstimateId") + .HasColumnType("bigint"); + + b.Property("EstimateTemplateId") + .HasColumnType("bigint"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("UnitaryCost") + .HasColumnType("numeric"); + + b.HasKey("Id"); + + b.HasIndex("EstimateId"); + + b.HasIndex("EstimateTemplateId"); + + b.ToTable("CommandLine"); + }); + + modelBuilder.Entity("Yavsc.Models.Billing.Estimate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AttachedFilesString") + .IsRequired() + .HasColumnType("text"); + + b.Property("AttachedGraphicsString") + .IsRequired() + .HasColumnType("text"); + + b.Property("ClientId") + .IsRequired() + .HasColumnType("text"); + + b.Property("ClientValidationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("CommandId") + .HasColumnType("bigint"); + + b.Property("CommandType") + .IsRequired() + .HasColumnType("text"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("ProviderValidationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Title") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("ClientId"); + + b.HasIndex("CommandId"); + + b.HasIndex("OwnerId"); + + b.ToTable("Estimates"); + }); + + modelBuilder.Entity("Yavsc.Models.Billing.EstimateTemplate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Title") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("EstimateTemplates"); + }); + + modelBuilder.Entity("Yavsc.Models.Billing.ExceptionSIREN", b => + { + b.Property("SIREN") + .HasColumnType("text"); + + b.HasKey("SIREN"); + + b.ToTable("ExceptionsSIREN"); + }); + + modelBuilder.Entity("Yavsc.Models.Blog.BlogPost", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AuthorId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Content") + .IsRequired() + .HasMaxLength(56224) + .HasColumnType("character varying(56224)"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("Photo") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.Property("Rate") + .HasColumnType("integer"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.Property("Visible") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.HasIndex("AuthorId"); + + b.ToTable("Blogspot"); + }); + + modelBuilder.Entity("Yavsc.Models.Blog.BlogTag", b => + { + b.Property("PostId") + .HasColumnType("bigint"); + + b.Property("TagId") + .HasColumnType("bigint"); + + b.HasKey("PostId", "TagId"); + + b.HasIndex("TagId"); + + b.ToTable("BlogTag"); + }); + + modelBuilder.Entity("Yavsc.Models.Blog.Comment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AuthorId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Content") + .IsRequired() + .HasColumnType("text"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("ParentId") + .HasColumnType("bigint"); + + b.Property("ReceiverId") + .HasColumnType("bigint"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.Property("Visible") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.HasIndex("AuthorId"); + + b.HasIndex("ParentId"); + + b.HasIndex("ReceiverId"); + + b.ToTable("Comment"); + }); + + modelBuilder.Entity("Yavsc.Models.Calendar.Schedule", b => + { + b.Property("OwnerId") + .HasColumnType("text"); + + b.HasKey("OwnerId"); + + b.ToTable("Schedule"); + }); + + modelBuilder.Entity("Yavsc.Models.Calendar.ScheduledEvent", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("PeriodEnd") + .HasColumnType("timestamp with time zone"); + + b.Property("PeriodStart") + .HasColumnType("timestamp with time zone"); + + b.Property("Reccurence") + .HasColumnType("integer"); + + b.Property("ScheduleOwnerId") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("ScheduleOwnerId"); + + b.HasIndex("PeriodStart", "PeriodEnd"); + + b.ToTable("ScheduledEvent"); + }); + + modelBuilder.Entity("Yavsc.Models.Chat.ChatConnection", b => + { + b.Property("ConnectionId") + .HasColumnType("text"); + + b.Property("ApplicationUserId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Connected") + .HasColumnType("boolean"); + + b.Property("UserAgent") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("ConnectionId"); + + b.HasIndex("ApplicationUserId"); + + b.ToTable("ChatConnection"); + }); + + modelBuilder.Entity("Yavsc.Models.Chat.ChatRoom", b => + { + b.Property("Name") + .HasColumnType("text"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("LatestJoinPart") + .HasColumnType("timestamp with time zone"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Topic") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Name"); + + b.HasIndex("OwnerId"); + + b.ToTable("ChatRoom"); + }); + + modelBuilder.Entity("Yavsc.Models.Chat.ChatRoomAccess", b => + { + b.Property("ChannelName") + .HasColumnType("text"); + + b.Property("UserId") + .HasColumnType("text"); + + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Level") + .HasColumnType("integer"); + + b.HasKey("ChannelName", "UserId"); + + b.HasIndex("UserId"); + + b.ToTable("ChatRoomAccess"); + }); + + modelBuilder.Entity("Yavsc.Models.Cratie.Option", b => + { + b.Property("Code") + .HasColumnType("text"); + + b.Property("CodeScrutin") + .HasColumnType("text"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Code", "CodeScrutin"); + + b.ToTable("Option"); + }); + + modelBuilder.Entity("Yavsc.Models.Drawing.Color", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Blue") + .HasColumnType("smallint"); + + b.Property("Green") + .HasColumnType("smallint"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Red") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.ToTable("Color"); + }); + + modelBuilder.Entity("Yavsc.Models.Forms.Form", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("Summary") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Form"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.BrusherProfile", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("ActionDistance") + .HasColumnType("integer"); + + b.Property("CarePrice") + .HasColumnType("numeric"); + + b.Property("FlatFeeDiscount") + .HasColumnType("numeric"); + + b.Property("HalfBalayagePrice") + .HasColumnType("numeric"); + + b.Property("HalfBrushingPrice") + .HasColumnType("numeric"); + + b.Property("HalfColorPrice") + .HasColumnType("numeric"); + + b.Property("HalfDefrisPrice") + .HasColumnType("numeric"); + + b.Property("HalfFoldingPrice") + .HasColumnType("numeric"); + + b.Property("HalfMechPrice") + .HasColumnType("numeric"); + + b.Property("HalfMultiColorPrice") + .HasColumnType("numeric"); + + b.Property("HalfPermanentPrice") + .HasColumnType("numeric"); + + b.Property("KidCutPrice") + .HasColumnType("numeric"); + + b.Property("LongBalayagePrice") + .HasColumnType("numeric"); + + b.Property("LongBrushingPrice") + .HasColumnType("numeric"); + + b.Property("LongColorPrice") + .HasColumnType("numeric"); + + b.Property("LongDefrisPrice") + .HasColumnType("numeric"); + + b.Property("LongFoldingPrice") + .HasColumnType("numeric"); + + b.Property("LongMechPrice") + .HasColumnType("numeric"); + + b.Property("LongMultiColorPrice") + .HasColumnType("numeric"); + + b.Property("LongPermanentPrice") + .HasColumnType("numeric"); + + b.Property("ManBrushPrice") + .HasColumnType("numeric"); + + b.Property("ManCutPrice") + .HasColumnType("numeric"); + + b.Property("ScheduleOwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("ShampooPrice") + .HasColumnType("numeric"); + + b.Property("ShortBalayagePrice") + .HasColumnType("numeric"); + + b.Property("ShortBrushingPrice") + .HasColumnType("numeric"); + + b.Property("ShortColorPrice") + .HasColumnType("numeric"); + + b.Property("ShortDefrisPrice") + .HasColumnType("numeric"); + + b.Property("ShortFoldingPrice") + .HasColumnType("numeric"); + + b.Property("ShortMechPrice") + .HasColumnType("numeric"); + + b.Property("ShortMultiColorPrice") + .HasColumnType("numeric"); + + b.Property("ShortPermanentPrice") + .HasColumnType("numeric"); + + b.Property("WomenHalfCutPrice") + .HasColumnType("numeric"); + + b.Property("WomenLongCutPrice") + .HasColumnType("numeric"); + + b.Property("WomenShortCutPrice") + .HasColumnType("numeric"); + + b.HasKey("UserId"); + + b.HasIndex("ScheduleOwnerId"); + + b.ToTable("BrusherProfile"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairCutQuery", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Accepted") + .HasColumnType("boolean"); + + b.Property("ActivityCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("AdditionalInfo") + .IsRequired() + .HasColumnType("text"); + + b.Property("ClientId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Consent") + .HasColumnType("boolean"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("Decided") + .HasColumnType("boolean"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("EventDate") + .HasColumnType("timestamp with time zone"); + + b.Property("LocationId") + .HasColumnType("bigint"); + + b.Property("PaymentId") + .IsRequired() + .HasColumnType("text"); + + b.Property("PerformerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("PrestationId") + .HasColumnType("bigint"); + + b.Property("Previsional") + .HasColumnType("numeric"); + + b.Property("SelectedProfileUserId") + .HasColumnType("text"); + + b.Property("Status") + .HasColumnType("integer"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.Property("ValidationDate") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("ActivityCode"); + + b.HasIndex("ClientId"); + + b.HasIndex("LocationId"); + + b.HasIndex("PaymentId"); + + b.HasIndex("PerformerId"); + + b.HasIndex("PrestationId"); + + b.HasIndex("SelectedProfileUserId"); + + b.ToTable("HairCutQueries"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairMultiCutQuery", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Accepted") + .HasColumnType("boolean"); + + b.Property("ActivityCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("ClientId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Consent") + .HasColumnType("boolean"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("Decided") + .HasColumnType("boolean"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("EventDate") + .HasColumnType("timestamp with time zone"); + + b.Property("LocationId") + .HasColumnType("bigint"); + + b.Property("PaymentId") + .IsRequired() + .HasColumnType("text"); + + b.Property("PerformerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Previsional") + .HasColumnType("numeric"); + + b.Property("Status") + .HasColumnType("integer"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.Property("ValidationDate") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("ActivityCode"); + + b.HasIndex("ClientId"); + + b.HasIndex("LocationId"); + + b.HasIndex("PaymentId"); + + b.HasIndex("PerformerId"); + + b.ToTable("HairMultiCutQueries"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairPrestation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Cares") + .HasColumnType("boolean"); + + b.Property("Cut") + .HasColumnType("boolean"); + + b.Property("Dressing") + .HasColumnType("integer"); + + b.Property("Gender") + .HasColumnType("integer"); + + b.Property("Length") + .HasColumnType("integer"); + + b.Property("Shampoo") + .HasColumnType("boolean"); + + b.Property("Tech") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.ToTable("HairPrestation"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairPrestationCollectionItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("PrestationId") + .HasColumnType("bigint"); + + b.Property("QueryId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("PrestationId"); + + b.HasIndex("QueryId"); + + b.ToTable("HairPrestationCollectionItem"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairTaint", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Brand") + .IsRequired() + .HasColumnType("text"); + + b.Property("ColorId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("ColorId"); + + b.ToTable("HairTaint"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairTaintInstance", b => + { + b.Property("TaintId") + .HasColumnType("bigint"); + + b.Property("PrestationId") + .HasColumnType("bigint"); + + b.HasKey("TaintId", "PrestationId"); + + b.HasIndex("PrestationId"); + + b.ToTable("HairTaintInstance"); + }); + + modelBuilder.Entity("Yavsc.Models.IT.Evolution.Feature", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("ShortName") + .IsRequired() + .HasColumnType("text"); + + b.Property("Status") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.ToTable("Feature"); + }); + + modelBuilder.Entity("Yavsc.Models.IT.Fixing.Bug", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("FeatureId") + .HasColumnType("bigint"); + + b.Property("Status") + .HasColumnType("integer"); + + b.Property("Title") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("FeatureId"); + + b.ToTable("Bug"); + }); + + modelBuilder.Entity("Yavsc.Models.Identity.DeviceDeclaration", b => + { + b.Property("DeviceId") + .HasColumnType("text"); + + b.Property("DeclarationDate") + .ValueGeneratedOnAdd() + .HasColumnType("timestamp with time zone") + .HasDefaultValueSql("LOCALTIMESTAMP"); + + b.Property("DeviceOwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("LatestActivityUpdate") + .HasColumnType("timestamp with time zone"); + + b.Property("Model") + .IsRequired() + .HasColumnType("text"); + + b.Property("Platform") + .IsRequired() + .HasColumnType("text"); + + b.Property("Version") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("DeviceId"); + + b.HasIndex("DeviceOwnerId"); + + b.ToTable("DeviceDeclaration"); + }); + + modelBuilder.Entity("Yavsc.Models.Market.Product", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Depth") + .HasColumnType("numeric"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("Height") + .HasColumnType("numeric"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Price") + .HasColumnType("numeric"); + + b.Property("Public") + .HasColumnType("boolean"); + + b.Property("Weight") + .HasColumnType("numeric"); + + b.Property("Width") + .HasColumnType("numeric"); + + b.HasKey("Id"); + + b.ToTable("Products"); + }); + + modelBuilder.Entity("Yavsc.Models.Market.Service", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ContextId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Public") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.HasIndex("ContextId"); + + b.ToTable("Services"); + }); + + modelBuilder.Entity("Yavsc.Models.Messaging.Announce", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("For") + .HasColumnType("smallint"); + + b.Property("Message") + .IsRequired() + .HasColumnType("text"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Sender") + .IsRequired() + .HasColumnType("text"); + + b.Property("Topic") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("OwnerId"); + + b.ToTable("Announce"); + }); + + modelBuilder.Entity("Yavsc.Models.Messaging.DismissClicked", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("NotificationId") + .HasColumnType("bigint"); + + b.HasKey("UserId", "NotificationId"); + + b.HasIndex("NotificationId"); + + b.ToTable("DismissClicked"); + }); + + modelBuilder.Entity("Yavsc.Models.Messaging.Notification", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Target") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("body") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("click_action") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("color") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("icon") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasDefaultValue("exclam"); + + b.Property("sound") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("tag") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("title") + .IsRequired() + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.HasKey("Id"); + + b.ToTable("Notification"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.Instrument", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("character varying(255)"); + + b.HasKey("Id"); + + b.ToTable("Instrument"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.InstrumentRating", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("InstrumentId") + .HasColumnType("bigint"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Rate") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasAlternateKey("InstrumentId", "OwnerId"); + + b.HasIndex("OwnerId"); + + b.ToTable("InstrumentRating"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.MusicalPreference", b => + { + b.Property("OwnerProfileId") + .HasColumnType("text"); + + b.Property("DjSettingsUserId") + .HasColumnType("text"); + + b.Property("GeneralSettingsUserId") + .HasColumnType("text"); + + b.Property("Rate") + .HasColumnType("integer"); + + b.Property("TendencyId") + .HasColumnType("bigint"); + + b.HasKey("OwnerProfileId"); + + b.HasIndex("DjSettingsUserId"); + + b.HasIndex("GeneralSettingsUserId"); + + b.ToTable("MusicalPreference"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.MusicalTendency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("character varying(255)"); + + b.HasKey("Id"); + + b.ToTable("MusicalTendency"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.Profiles.DjSettings", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("SoundCloudId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("UserId"); + + b.ToTable("DjSettings"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.Profiles.GeneralSettings", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.HasKey("UserId"); + + b.ToTable("GeneralSettings"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.Profiles.Instrumentation", b => + { + b.Property("InstrumentId") + .HasColumnType("bigint"); + + b.Property("UserId") + .HasColumnType("text"); + + b.HasKey("InstrumentId", "UserId"); + + b.HasIndex("UserId"); + + b.ToTable("Instrumentation"); + }); + + modelBuilder.Entity("Yavsc.Models.Payment.PayPalPayment", b => + { + b.Property("CreationToken") + .HasColumnType("text"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("ExecutorId") + .IsRequired() + .HasColumnType("text"); + + b.Property("OrderReference") + .IsRequired() + .HasColumnType("text"); + + b.Property("PaypalPayerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("State") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("CreationToken"); + + b.HasIndex("ExecutorId"); + + b.ToTable("PayPalPayment"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.Circle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ApplicationUserId") + .HasColumnType("text"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Public") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.HasIndex("ApplicationUserId"); + + b.ToTable("Circle"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.CircleMember", b => + { + b.Property("MemberId") + .HasColumnType("text"); + + b.Property("CircleId") + .HasColumnType("bigint"); + + b.HasKey("MemberId", "CircleId"); + + b.HasIndex("CircleId"); + + b.ToTable("CircleMembers"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.Contact", b => + { + b.Property("OwnerId") + .HasColumnType("text"); + + b.Property("UserId") + .HasColumnType("text"); + + b.Property("AddressId") + .HasColumnType("bigint"); + + b.Property("ApplicationUserId") + .HasColumnType("text"); + + b.Property("EMail") + .IsRequired() + .HasColumnType("text"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("OwnerId", "UserId"); + + b.HasIndex("AddressId"); + + b.HasIndex("ApplicationUserId"); + + b.ToTable("Contact"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.HyperLink", b => + { + b.Property("HRef") + .HasColumnType("text"); + + b.Property("Method") + .HasColumnType("text"); + + b.Property("BrusherProfileUserId") + .HasColumnType("text"); + + b.Property("ContentType") + .IsRequired() + .HasColumnType("text"); + + b.Property("PayPalPaymentCreationToken") + .HasColumnType("text"); + + b.Property("Rel") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("HRef", "Method"); + + b.HasIndex("BrusherProfileUserId"); + + b.HasIndex("PayPalPaymentCreationToken"); + + b.ToTable("HyperLink"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.Location", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Address") + .IsRequired() + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("Latitude") + .HasColumnType("double precision"); + + b.Property("Longitude") + .HasColumnType("double precision"); + + b.HasKey("Id"); + + b.ToTable("Locations"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.PostalAddress", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("City") + .IsRequired() + .HasColumnType("text"); + + b.Property("Country") + .IsRequired() + .HasColumnType("text"); + + b.Property("PostalCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("Province") + .IsRequired() + .HasColumnType("text"); + + b.Property("State") + .IsRequired() + .HasColumnType("text"); + + b.Property("Street1") + .IsRequired() + .HasColumnType("text"); + + b.Property("Street2") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("PostalAddress"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.Tag", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Tags"); + }); + + modelBuilder.Entity("Yavsc.Models.Skill", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Rate") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.ToTable("SiteSkills"); + }); + + modelBuilder.Entity("Yavsc.Models.Streaming.LiveFlow", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DifferedFileName") + .IsRequired() + .HasColumnType("text"); + + b.Property("MediaType") + .IsRequired() + .HasColumnType("text"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Pitch") + .IsRequired() + .HasColumnType("text"); + + b.Property("SequenceNumber") + .HasColumnType("integer"); + + b.Property("Title") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("OwnerId"); + + b.ToTable("LiveFlow"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.Activity", b => + { + b.Property("Code") + .HasColumnType("text"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("Hidden") + .HasColumnType("boolean"); + + b.Property("ModeratorGroupName") + .IsRequired() + .HasColumnType("text"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("ParentCode") + .HasColumnType("text"); + + b.Property("Photo") + .IsRequired() + .HasColumnType("text"); + + b.Property("Rate") + .HasColumnType("integer"); + + b.Property("SettingsClassName") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Code"); + + b.HasIndex("ParentCode"); + + b.ToTable("Activities"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.CoWorking", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("FormationSettingsUserId") + .HasColumnType("text"); + + b.Property("PerformerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("WorkingForId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("FormationSettingsUserId"); + + b.HasIndex("PerformerId"); + + b.HasIndex("WorkingForId"); + + b.ToTable("CoWorking"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.CommandForm", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ActionName") + .IsRequired() + .HasColumnType("text"); + + b.Property("ActivityCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("Title") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("ActivityCode"); + + b.ToTable("CommandForm"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.PerformerProfile", b => + { + b.Property("PerformerId") + .HasColumnType("text"); + + b.Property("AcceptNotifications") + .HasColumnType("boolean"); + + b.Property("AcceptPublicContact") + .HasColumnType("boolean"); + + b.Property("Active") + .HasColumnType("boolean"); + + b.Property("MaxDailyCost") + .HasColumnType("integer"); + + b.Property("MinDailyCost") + .HasColumnType("integer"); + + b.Property("OrganizationAddressId") + .HasColumnType("bigint"); + + b.Property("Rate") + .HasColumnType("integer"); + + b.Property("SIREN") + .IsRequired() + .HasColumnType("text"); + + b.Property("UseGeoLocalizationToReduceDistanceWithClients") + .HasColumnType("boolean"); + + b.Property("WebSite") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("PerformerId"); + + b.HasIndex("OrganizationAddressId"); + + b.ToTable("Performers"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.Profiles.FormationSettings", b => + { + b.Property("UserId") + .HasColumnType("text"); + + b.Property("DisplayName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("UserId"); + + b.ToTable("FormationSettings"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.RdvQuery", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Accepted") + .HasColumnType("boolean"); + + b.Property("ActivityCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("ClientId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Consent") + .HasColumnType("boolean"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("Decided") + .HasColumnType("boolean"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("EventDate") + .HasColumnType("timestamp with time zone"); + + b.Property("LocationId") + .HasColumnType("bigint"); + + b.Property("LocationType") + .HasColumnType("integer"); + + b.Property("PaymentId") + .IsRequired() + .HasColumnType("text"); + + b.Property("PerformerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Previsional") + .HasColumnType("numeric"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("text"); + + b.Property("Status") + .HasColumnType("integer"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.Property("ValidationDate") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("ActivityCode"); + + b.HasIndex("ClientId"); + + b.HasIndex("LocationId"); + + b.HasIndex("PaymentId"); + + b.HasIndex("PerformerId"); + + b.ToTable("RdvQueries"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.UserActivity", b => + { + b.Property("DoesCode") + .HasColumnType("text"); + + b.Property("UserId") + .HasColumnType("text"); + + b.Property("Weight") + .HasColumnType("integer"); + + b.HasKey("DoesCode", "UserId"); + + b.HasIndex("UserId"); + + b.ToTable("UserActivities"); + }); + + modelBuilder.Entity("Yavsc.Server.Models.Calendar.Period", b => + { + b.Property("Start") + .HasColumnType("timestamp with time zone"); + + b.Property("End") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Start", "End"); + + b.ToTable("Period"); + }); + + modelBuilder.Entity("Yavsc.Server.Models.EMailing.MailingTemplate", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("Body") + .IsRequired() + .HasMaxLength(65536) + .HasColumnType("character varying(65536)"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("ReplyToAddress") + .IsRequired() + .HasColumnType("text"); + + b.Property("ToSend") + .HasColumnType("integer"); + + b.Property("Topic") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("MailingTemplate"); + }); + + modelBuilder.Entity("Yavsc.Server.Models.IT.Project", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Accepted") + .HasColumnType("boolean"); + + b.Property("ActivityCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("ClientId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Consent") + .HasColumnType("boolean"); + + b.Property("DateCreated") + .HasColumnType("timestamp with time zone"); + + b.Property("DateModified") + .HasColumnType("timestamp with time zone"); + + b.Property("Decided") + .HasColumnType("boolean"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("GitId") + .HasColumnType("bigint"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("PaymentId") + .IsRequired() + .HasColumnType("text"); + + b.Property("PerformerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Previsional") + .HasColumnType("numeric"); + + b.Property("Status") + .HasColumnType("integer"); + + b.Property("UserCreated") + .IsRequired() + .HasColumnType("text"); + + b.Property("UserModified") + .IsRequired() + .HasColumnType("text"); + + b.Property("ValidationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("Version") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("ActivityCode"); + + b.HasIndex("ClientId"); + + b.HasIndex("GitId"); + + b.HasIndex("PaymentId"); + + b.HasIndex("PerformerId"); + + b.ToTable("Project"); + }); + + modelBuilder.Entity("Yavsc.Server.Models.IT.ProjectBuildConfiguration", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("ProjectId") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("ProjectId"); + + b.ToTable("ProjectBuildConfiguration"); + }); + + modelBuilder.Entity("Yavsc.Server.Models.IT.SourceCode.GitRepositoryReference", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Branch") + .IsRequired() + .HasColumnType("text"); + + b.Property("OwnerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("Path") + .IsRequired() + .HasColumnType("text"); + + b.Property("Url") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("OwnerId"); + + b.ToTable("GitRepositoryReference"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Yavsc.Models.Access.Ban", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "TargetUser") + .WithMany() + .HasForeignKey("TargetId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("TargetUser"); + }); + + modelBuilder.Entity("Yavsc.Models.Access.BlackListed", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Owner") + .WithMany("BlackList") + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Owner"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Yavsc.Models.Access.CircleAuthorizationToBlogPost", b => + { + b.HasOne("Yavsc.Models.Blog.BlogPost", "Target") + .WithMany("ACL") + .HasForeignKey("BlogPostId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Relationship.Circle", "Allowed") + .WithMany() + .HasForeignKey("CircleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Allowed"); + + b.Navigation("Target"); + }); + + modelBuilder.Entity("Yavsc.Models.AccountBalance", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Owner") + .WithOne("AccountBalance") + .HasForeignKey("Yavsc.Models.AccountBalance", "UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("Yavsc.Models.ApplicationUser", b => + { + b.HasOne("Yavsc.Models.Relationship.Location", "PostalAddress") + .WithMany() + .HasForeignKey("PostalAddressId"); + + b.Navigation("PostalAddress"); + }); + + modelBuilder.Entity("Yavsc.Models.BalanceImpact", b => + { + b.HasOne("Yavsc.Models.AccountBalance", "Balance") + .WithMany() + .HasForeignKey("BalanceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Balance"); + }); + + modelBuilder.Entity("Yavsc.Models.Bank.BankIdentity", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "User") + .WithMany("BankInfo") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Yavsc.Models.Billing.CommandLine", b => + { + b.HasOne("Yavsc.Models.Billing.Estimate", null) + .WithMany("Bill") + .HasForeignKey("EstimateId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Billing.EstimateTemplate", null) + .WithMany("Bill") + .HasForeignKey("EstimateTemplateId"); + }); + + modelBuilder.Entity("Yavsc.Models.Billing.Estimate", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Client") + .WithMany() + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Workflow.RdvQuery", "Query") + .WithMany() + .HasForeignKey("CommandId"); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "Owner") + .WithMany() + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Client"); + + b.Navigation("Owner"); + + b.Navigation("Query"); + }); + + modelBuilder.Entity("Yavsc.Models.Blog.BlogPost", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Author") + .WithMany("Posts") + .HasForeignKey("AuthorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Author"); + }); + + modelBuilder.Entity("Yavsc.Models.Blog.BlogTag", b => + { + b.HasOne("Yavsc.Models.Blog.BlogPost", "Post") + .WithMany("Tags") + .HasForeignKey("PostId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Relationship.Tag", "Tag") + .WithMany() + .HasForeignKey("TagId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Post"); + + b.Navigation("Tag"); + }); + + modelBuilder.Entity("Yavsc.Models.Blog.Comment", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Author") + .WithMany() + .HasForeignKey("AuthorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Blog.Comment", "Parent") + .WithMany("Children") + .HasForeignKey("ParentId"); + + b.HasOne("Yavsc.Models.Blog.BlogPost", "Post") + .WithMany("Comments") + .HasForeignKey("ReceiverId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Author"); + + b.Navigation("Parent"); + + b.Navigation("Post"); + }); + + modelBuilder.Entity("Yavsc.Models.Calendar.Schedule", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Owner") + .WithMany() + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("Yavsc.Models.Calendar.ScheduledEvent", b => + { + b.HasOne("Yavsc.Models.Calendar.Schedule", null) + .WithMany("Events") + .HasForeignKey("ScheduleOwnerId"); + + b.HasOne("Yavsc.Server.Models.Calendar.Period", "Period") + .WithMany() + .HasForeignKey("PeriodStart", "PeriodEnd") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Period"); + }); + + modelBuilder.Entity("Yavsc.Models.Chat.ChatConnection", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Owner") + .WithMany("Connections") + .HasForeignKey("ApplicationUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("Yavsc.Models.Chat.ChatRoom", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Owner") + .WithMany("Rooms") + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("Yavsc.Models.Chat.ChatRoomAccess", b => + { + b.HasOne("Yavsc.Models.Chat.ChatRoom", "Room") + .WithMany("Moderation") + .HasForeignKey("ChannelName") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "User") + .WithMany("RoomAccess") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Room"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.BrusherProfile", b => + { + b.HasOne("Yavsc.Models.Calendar.Schedule", "Schedule") + .WithMany() + .HasForeignKey("ScheduleOwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "BaseProfile") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BaseProfile"); + + b.Navigation("Schedule"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairCutQuery", b => + { + b.HasOne("Yavsc.Models.Workflow.Activity", "Context") + .WithMany() + .HasForeignKey("ActivityCode") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "Client") + .WithMany() + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Relationship.Location", "Location") + .WithMany() + .HasForeignKey("LocationId"); + + b.HasOne("Yavsc.Models.Payment.PayPalPayment", "Regularisation") + .WithMany() + .HasForeignKey("PaymentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "PerformerProfile") + .WithMany() + .HasForeignKey("PerformerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Haircut.HairPrestation", "Prestation") + .WithMany() + .HasForeignKey("PrestationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Haircut.BrusherProfile", "SelectedProfile") + .WithMany() + .HasForeignKey("SelectedProfileUserId"); + + b.Navigation("Client"); + + b.Navigation("Context"); + + b.Navigation("Location"); + + b.Navigation("PerformerProfile"); + + b.Navigation("Prestation"); + + b.Navigation("Regularisation"); + + b.Navigation("SelectedProfile"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairMultiCutQuery", b => + { + b.HasOne("Yavsc.Models.Workflow.Activity", "Context") + .WithMany() + .HasForeignKey("ActivityCode") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "Client") + .WithMany() + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Relationship.Location", "Location") + .WithMany() + .HasForeignKey("LocationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Payment.PayPalPayment", "Regularisation") + .WithMany() + .HasForeignKey("PaymentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "PerformerProfile") + .WithMany() + .HasForeignKey("PerformerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Client"); + + b.Navigation("Context"); + + b.Navigation("Location"); + + b.Navigation("PerformerProfile"); + + b.Navigation("Regularisation"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairPrestationCollectionItem", b => + { + b.HasOne("Yavsc.Models.Haircut.HairPrestation", "Prestation") + .WithMany() + .HasForeignKey("PrestationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Haircut.HairMultiCutQuery", "Query") + .WithMany("Prestations") + .HasForeignKey("QueryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Prestation"); + + b.Navigation("Query"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairTaint", b => + { + b.HasOne("Yavsc.Models.Drawing.Color", "Color") + .WithMany() + .HasForeignKey("ColorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Color"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairTaintInstance", b => + { + b.HasOne("Yavsc.Models.Haircut.HairPrestation", "Prestation") + .WithMany("Taints") + .HasForeignKey("PrestationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Haircut.HairTaint", "Taint") + .WithMany() + .HasForeignKey("TaintId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Prestation"); + + b.Navigation("Taint"); + }); + + modelBuilder.Entity("Yavsc.Models.IT.Fixing.Bug", b => + { + b.HasOne("Yavsc.Models.IT.Evolution.Feature", "False") + .WithMany() + .HasForeignKey("FeatureId"); + + b.Navigation("False"); + }); + + modelBuilder.Entity("Yavsc.Models.Identity.DeviceDeclaration", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "DeviceOwner") + .WithMany("DeviceDeclaration") + .HasForeignKey("DeviceOwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("DeviceOwner"); + }); + + modelBuilder.Entity("Yavsc.Models.Market.Service", b => + { + b.HasOne("Yavsc.Models.Workflow.Activity", "Context") + .WithMany("Services") + .HasForeignKey("ContextId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Context"); + }); + + modelBuilder.Entity("Yavsc.Models.Messaging.Announce", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Owner") + .WithMany() + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("Yavsc.Models.Messaging.DismissClicked", b => + { + b.HasOne("Yavsc.Models.Messaging.Notification", "Notified") + .WithMany() + .HasForeignKey("NotificationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Notified"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.InstrumentRating", b => + { + b.HasOne("Yavsc.Models.Musical.Instrument", "Instrument") + .WithMany() + .HasForeignKey("InstrumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "Profile") + .WithMany() + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Instrument"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.MusicalPreference", b => + { + b.HasOne("Yavsc.Models.Musical.Profiles.DjSettings", null) + .WithMany("SoundColor") + .HasForeignKey("DjSettingsUserId"); + + b.HasOne("Yavsc.Models.Musical.Profiles.GeneralSettings", null) + .WithMany("SoundColor") + .HasForeignKey("GeneralSettingsUserId"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.Profiles.Instrumentation", b => + { + b.HasOne("Yavsc.Models.Musical.Instrument", "Tool") + .WithMany() + .HasForeignKey("InstrumentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Tool"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Yavsc.Models.Payment.PayPalPayment", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Executor") + .WithMany() + .HasForeignKey("ExecutorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Executor"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.Circle", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", null) + .WithMany("Circles") + .HasForeignKey("ApplicationUserId"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.CircleMember", b => + { + b.HasOne("Yavsc.Models.Relationship.Circle", "Circle") + .WithMany("Members") + .HasForeignKey("CircleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "Member") + .WithMany("Membership") + .HasForeignKey("MemberId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Circle"); + + b.Navigation("Member"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.Contact", b => + { + b.HasOne("Yavsc.Models.Relationship.PostalAddress", "PostalAddress") + .WithMany() + .HasForeignKey("AddressId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", null) + .WithMany("Book") + .HasForeignKey("ApplicationUserId"); + + b.Navigation("PostalAddress"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.HyperLink", b => + { + b.HasOne("Yavsc.Models.Haircut.BrusherProfile", null) + .WithMany("Links") + .HasForeignKey("BrusherProfileUserId"); + + b.HasOne("Yavsc.Models.Payment.PayPalPayment", null) + .WithMany("Links") + .HasForeignKey("PayPalPaymentCreationToken"); + }); + + modelBuilder.Entity("Yavsc.Models.Streaming.LiveFlow", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Owner") + .WithMany() + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.Activity", b => + { + b.HasOne("Yavsc.Models.Workflow.Activity", "Parent") + .WithMany("Children") + .HasForeignKey("ParentCode"); + + b.Navigation("Parent"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.CoWorking", b => + { + b.HasOne("Yavsc.Models.Workflow.Profiles.FormationSettings", null) + .WithMany("CoWorking") + .HasForeignKey("FormationSettingsUserId"); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "Performer") + .WithMany() + .HasForeignKey("PerformerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "WorkingFor") + .WithMany() + .HasForeignKey("WorkingForId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Performer"); + + b.Navigation("WorkingFor"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.CommandForm", b => + { + b.HasOne("Yavsc.Models.Workflow.Activity", "Context") + .WithMany("Forms") + .HasForeignKey("ActivityCode") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Context"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.PerformerProfile", b => + { + b.HasOne("Yavsc.Models.Relationship.Location", "OrganizationAddress") + .WithMany() + .HasForeignKey("OrganizationAddressId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "Performer") + .WithMany() + .HasForeignKey("PerformerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("OrganizationAddress"); + + b.Navigation("Performer"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.RdvQuery", b => + { + b.HasOne("Yavsc.Models.Workflow.Activity", "Context") + .WithMany() + .HasForeignKey("ActivityCode") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "Client") + .WithMany() + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Relationship.Location", "Location") + .WithMany() + .HasForeignKey("LocationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Payment.PayPalPayment", "Regularisation") + .WithMany() + .HasForeignKey("PaymentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "PerformerProfile") + .WithMany() + .HasForeignKey("PerformerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Client"); + + b.Navigation("Context"); + + b.Navigation("Location"); + + b.Navigation("PerformerProfile"); + + b.Navigation("Regularisation"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.UserActivity", b => + { + b.HasOne("Yavsc.Models.Workflow.Activity", "Does") + .WithMany() + .HasForeignKey("DoesCode") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "User") + .WithMany("Activity") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Does"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Yavsc.Server.Models.IT.Project", b => + { + b.HasOne("Yavsc.Models.Workflow.Activity", "Context") + .WithMany() + .HasForeignKey("ActivityCode") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.ApplicationUser", "Client") + .WithMany() + .HasForeignKey("ClientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Server.Models.IT.SourceCode.GitRepositoryReference", "Repository") + .WithMany() + .HasForeignKey("GitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Payment.PayPalPayment", "Regularisation") + .WithMany() + .HasForeignKey("PaymentId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Yavsc.Models.Workflow.PerformerProfile", "PerformerProfile") + .WithMany() + .HasForeignKey("PerformerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Client"); + + b.Navigation("Context"); + + b.Navigation("PerformerProfile"); + + b.Navigation("Regularisation"); + + b.Navigation("Repository"); + }); + + modelBuilder.Entity("Yavsc.Server.Models.IT.ProjectBuildConfiguration", b => + { + b.HasOne("Yavsc.Server.Models.IT.Project", "TargetProject") + .WithMany("Configurations") + .HasForeignKey("ProjectId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("TargetProject"); + }); + + modelBuilder.Entity("Yavsc.Server.Models.IT.SourceCode.GitRepositoryReference", b => + { + b.HasOne("Yavsc.Models.ApplicationUser", "Owner") + .WithMany() + .HasForeignKey("OwnerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("Yavsc.Models.ApplicationUser", b => + { + b.Navigation("AccountBalance") + .IsRequired(); + + b.Navigation("BankInfo"); + + b.Navigation("BlackList"); + + b.Navigation("Book"); + + b.Navigation("Circles"); + + b.Navigation("Connections"); + + b.Navigation("DeviceDeclaration"); + + b.Navigation("Membership"); + + b.Navigation("Posts"); + + b.Navigation("RoomAccess"); + + b.Navigation("Rooms"); + }); + + modelBuilder.Entity("Yavsc.Models.Billing.Estimate", b => + { + b.Navigation("Bill"); + }); + + modelBuilder.Entity("Yavsc.Models.Billing.EstimateTemplate", b => + { + b.Navigation("Bill"); + }); + + modelBuilder.Entity("Yavsc.Models.Blog.BlogPost", b => + { + b.Navigation("ACL"); + + b.Navigation("Comments"); + + b.Navigation("Tags"); + }); + + modelBuilder.Entity("Yavsc.Models.Blog.Comment", b => + { + b.Navigation("Children"); + }); + + modelBuilder.Entity("Yavsc.Models.Calendar.Schedule", b => + { + b.Navigation("Events"); + }); + + modelBuilder.Entity("Yavsc.Models.Chat.ChatRoom", b => + { + b.Navigation("Moderation"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.BrusherProfile", b => + { + b.Navigation("Links"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairMultiCutQuery", b => + { + b.Navigation("Prestations"); + }); + + modelBuilder.Entity("Yavsc.Models.Haircut.HairPrestation", b => + { + b.Navigation("Taints"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.Profiles.DjSettings", b => + { + b.Navigation("SoundColor"); + }); + + modelBuilder.Entity("Yavsc.Models.Musical.Profiles.GeneralSettings", b => + { + b.Navigation("SoundColor"); + }); + + modelBuilder.Entity("Yavsc.Models.Payment.PayPalPayment", b => + { + b.Navigation("Links"); + }); + + modelBuilder.Entity("Yavsc.Models.Relationship.Circle", b => + { + b.Navigation("Members"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.Activity", b => + { + b.Navigation("Children"); + + b.Navigation("Forms"); + + b.Navigation("Services"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.PerformerProfile", b => + { + b.Navigation("Activity"); + }); + + modelBuilder.Entity("Yavsc.Models.Workflow.Profiles.FormationSettings", b => + { + b.Navigation("CoWorking"); + }); + + modelBuilder.Entity("Yavsc.Server.Models.IT.Project", b => + { + b.Navigation("Configurations"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/src/Yavsc/Migrations/20241214201053_commentParent.cs b/src/Yavsc/Migrations/20241214201053_commentParent.cs new file mode 100644 index 00000000..6180b3ab --- /dev/null +++ b/src/Yavsc/Migrations/20241214201053_commentParent.cs @@ -0,0 +1,61 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Yavsc.Migrations +{ + /// + public partial class commentParent : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_Comment_Blogspot_PostId", + table: "Comment"); + + migrationBuilder.DropIndex( + name: "IX_Comment_PostId", + table: "Comment"); + + + migrationBuilder.CreateIndex( + name: "IX_Comment_ReceiverId", + table: "Comment", + column: "ReceiverId"); + + migrationBuilder.AddForeignKey( + name: "FK_Comment_Blogspot_ReceiverId", + table: "Comment", + column: "ReceiverId", + principalTable: "Blogspot", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_Comment_Blogspot_ReceiverId", + table: "Comment"); + + migrationBuilder.DropIndex( + name: "IX_Comment_ReceiverId", + table: "Comment"); + + migrationBuilder.CreateIndex( + name: "IX_Comment_PostId", + table: "Comment", + column: "PostId"); + + migrationBuilder.AddForeignKey( + name: "FK_Comment_Blogspot_PostId", + table: "Comment", + column: "PostId", + principalTable: "Blogspot", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + } + } +} diff --git a/src/Yavsc/Migrations/ApplicationDbContextModelSnapshot.cs b/src/Yavsc/Migrations/ApplicationDbContextModelSnapshot.cs index 276d9621..7fe8001b 100644 --- a/src/Yavsc/Migrations/ApplicationDbContextModelSnapshot.cs +++ b/src/Yavsc/Migrations/ApplicationDbContextModelSnapshot.cs @@ -712,7 +712,8 @@ namespace Yavsc.Migrations b.Property("Content") .IsRequired() - .HasColumnType("text"); + .HasMaxLength(56224) + .HasColumnType("character varying(56224)"); b.Property("DateCreated") .HasColumnType("timestamp with time zone"); @@ -720,20 +721,17 @@ namespace Yavsc.Migrations b.Property("DateModified") .HasColumnType("timestamp with time zone"); - b.Property("Lang") - .IsRequired() - .HasColumnType("text"); - b.Property("Photo") - .IsRequired() - .HasColumnType("text"); + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); b.Property("Rate") .HasColumnType("integer"); b.Property("Title") .IsRequired() - .HasColumnType("text"); + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); b.Property("UserCreated") .IsRequired() @@ -793,7 +791,7 @@ namespace Yavsc.Migrations b.Property("ParentId") .HasColumnType("bigint"); - b.Property("PostId") + b.Property("ReceiverId") .HasColumnType("bigint"); b.Property("UserCreated") @@ -813,7 +811,7 @@ namespace Yavsc.Migrations b.HasIndex("ParentId"); - b.HasIndex("PostId"); + b.HasIndex("ReceiverId"); b.ToTable("Comment"); }); @@ -2354,33 +2352,6 @@ namespace Yavsc.Migrations b.ToTable("UserActivities"); }); - modelBuilder.Entity("Yavsc.Server.Models.Blog.BlogTrad", b => - { - b.Property("PostId") - .HasColumnType("bigint"); - - b.Property("Lang") - .HasColumnType("text"); - - b.Property("Body") - .IsRequired() - .HasColumnType("text"); - - b.Property("Title") - .IsRequired() - .HasColumnType("text"); - - b.Property("TraducerId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("PostId", "Lang"); - - b.HasIndex("TraducerId"); - - b.ToTable("BlogTrad"); - }); - modelBuilder.Entity("Yavsc.Server.Models.Calendar.Period", b => { b.Property("Start") @@ -2801,7 +2772,7 @@ namespace Yavsc.Migrations b.HasOne("Yavsc.Models.Blog.BlogPost", "Post") .WithMany("Comments") - .HasForeignKey("PostId") + .HasForeignKey("ReceiverId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); @@ -3353,17 +3324,6 @@ namespace Yavsc.Migrations b.Navigation("User"); }); - modelBuilder.Entity("Yavsc.Server.Models.Blog.BlogTrad", b => - { - b.HasOne("Yavsc.Models.ApplicationUser", "Traducer") - .WithMany() - .HasForeignKey("TraducerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Traducer"); - }); - modelBuilder.Entity("Yavsc.Server.Models.IT.Project", b => { b.HasOne("Yavsc.Models.Workflow.Activity", "Context") diff --git a/src/Yavsc/Models/ApplicationDbContext.cs b/src/Yavsc/Models/ApplicationDbContext.cs index 84cff78d..750f636c 100644 --- a/src/Yavsc/Models/ApplicationDbContext.cs +++ b/src/Yavsc/Models/ApplicationDbContext.cs @@ -214,12 +214,12 @@ namespace Yavsc.Models { if (entity.State == EntityState.Added) { - ((IBaseTrackedEntity)entity.Entity).DateCreated = DateTime.Now; - ((IBaseTrackedEntity)entity.Entity).UserCreated = currentUsername; + ((ITrackedEntity)entity.Entity).DateCreated = DateTime.Now; + ((ITrackedEntity)entity.Entity).UserCreated = currentUsername; } - ((IBaseTrackedEntity)entity.Entity).DateModified = DateTime.Now; - ((IBaseTrackedEntity)entity.Entity).UserModified = currentUsername; + ((ITrackedEntity)entity.Entity).DateModified = DateTime.Now; + ((ITrackedEntity)entity.Entity).UserModified = currentUsername; } } public int SaveChanges(string userId) diff --git a/src/Yavsc/ViewComponents/CommentViewComponent.cs b/src/Yavsc/ViewComponents/CommentViewComponent.cs index 619811cb..1c2b63b6 100644 --- a/src/Yavsc/ViewComponents/CommentViewComponent.cs +++ b/src/Yavsc/ViewComponents/CommentViewComponent.cs @@ -15,7 +15,7 @@ namespace Yavsc.ViewComponents { // for a BlogPost, it results in the localization 'apiRouteCommentBlogPost': blogcomments ViewData["apictlr"] = "/api/"+localizer["apiRouteComment"+longCommentable.GetType().Name]; - return View(longCommentable.GetType().Name, new Comment{ PostId = longCommentable.Id }); + return View(longCommentable.GetType().Name, new Comment{ ReceiverId = longCommentable.Id }); } } } diff --git a/src/Yavsc/Views/Blogspot/Details.cshtml b/src/Yavsc/Views/Blogspot/Details.cshtml index 713f55b3..3552f566 100644 --- a/src/Yavsc/Views/Blogspot/Details.cshtml +++ b/src/Yavsc/Views/Blogspot/Details.cshtml @@ -2,49 +2,46 @@ @{ ViewData["Title"]=Model.Title; } -@section header { +@section scripts { + + + + + + @await RenderSectionAsync("header", false) @@ -41,9 +44,9 @@ © 2024 - Yavsc - Privacy - - - @await RenderSectionAsync("scripts", false) + + +@await RenderSectionAsync("scripts", false) diff --git a/src/Yavsc/wwwroot/jquery-ui-1.14.1.custom.zip b/src/Yavsc/wwwroot/jquery-ui-1.14.1.custom.zip new file mode 100644 index 0000000000000000000000000000000000000000..6a357a03445b4b8969bd03807fdf272cc3409350 GIT binary patch literal 421955 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
Ob180BeByDTr2j#Ax$2>5y93H%xZp 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 %Nms)<9yKp$H211qyzut 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

"),this.element.on("mouseenter",this.onMouseEnter),this.element.on("mouseleave",this.onMouseLeave),this.ctlBtn=l('').on("click",function(t){e.toggleCollapse(e,t)}).appendTo(e.element)},toggleCollapse:function(t,e){t.collapsed=!t.collapsed,t.collapsed?(l(t.ctlBtn).removeClass("glyphicon-collapse-down"),l(t.ctlBtn).addClass("glyphicon-collapse-up")):(l(t.ctlBtn).removeClass("glyphicon-collapse-up"),l(t.ctlBtn).addClass("glyphicon-collapse-down")),t.editable&&t.toggleEdit(t,e),t.options.allowCoc&&t.toggleComment(t,e)},toggleEdit:function(e,t){e.delBtn?(e.delBtn.remove(),e.delBtn=null):(e.delBtn=l(''),e.delBtn.on("click",function(t){e.doDeleteComment(e,t)}).appendTo(e.element))},toggleComment:function(e,t){e.cmtBtn?(e.cmtInput.remove(),e.cmtBtn.remove(),e.cmtBtn=null):(e.subCmts||(e.subCmts=l(e.element).children("div.subcomments"),0==e.subCmts.length&&(e.subCmts=l("
").addClass("subcomments"),e.subCmts.appendTo(e.element))),e.cmtInput=l(''),e.cmtInput.appendTo(e.element),e.cmtBtn=l(''),e.cmtBtn.on("click",function(t){e.doCoC(e,t)}).appendTo(e.element))},onMouseEnter:function(){l(this).animate({backgroundColor:l.psc.blogcomment.prototype.options.omob,color:l.psc.blogcomment.prototype.options.omof},400)},onMouseLeave:function(){l(this).animate({backgroundColor:l.psc.blogcomment.prototype.options.bgc,color:l.psc.blogcomment.prototype.options.fgc},400)},doDeleteComment:function(e,t){var o=l(e.element).data("id"),n=e.options.apictrlr;l.ajax({async:!0,cache:!1,type:"POST",method:"DELETE",error:function(t,e){l('span.field-validation-valid[data-valmsg-for="Content"]').html("Une erreur est survenue : "+t.status+"
").focus()},success:function(t){e.element.remove()},url:n+"/"+o})},doCoC:function(n,t){var e=l("#cmtBtn").data("receiverid"),o={Content:n.cmtInput.val(),PostId:e,ParentId:l(n.element).data("id"),AuthorId:n.options.authorId};l.ajax({async:!0,cache:!1,type:"POST",method:"POST",contentType:"application/json",data:JSON.stringify(o),error:function(t,e){console.log("err"),console.log(t),console.log(e),l('span.field-validation-valid[data-valmsg-for="Content"]').html("Une erreur est survenue : "+t.status+"
"+t.responseText+"
")},success:function(t){var e=t.Content;n.cmtInput.val(""),l('span.field-validation-valid[data-valmsg-for="Content"]').empty();var o=htmlize(e);l('
'+o+"
").blogcomment().appendTo(n.subCmts)},url:n.options.apictrlr})}}),l(document).ready(function(){l("[data-type='blogcomment']").blogcomment()})}(jQuery); \ No newline at end of file diff --git a/src/Yavsc/wwwroot/js/dash.all.min.js b/src/Yavsc/wwwroot/js/dash.all.min.js deleted file mode 100644 index 3883d0a5..00000000 --- a/src/Yavsc/wwwroot/js/dash.all.min.js +++ /dev/null @@ -1,19 +0,0 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.dashjs=t():e.dashjs=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist/",n(n.s=104)}([function(e,t,n){"use strict";function r(e,t){for(var n=0;n0&&(r+=" ");for(var s=arguments.length,u=new Array(s>2?s-2:0),l=2;l=e&&g[e](r),p&&p.get().debug.dispatchEvent&&h.trigger(i.a.LOG,{message:r,level:e})}return t={getLogger:function(e){return{fatal:y.bind(e),error:E.bind(e),warn:_.bind(e),info:v.bind(e),debug:T.bind(e)}},setLogTimestampVisible:function(e){n=e},setCalleeNameVisible:function(e){a=e}},n=!0,a=!0,f=(new Date).getTime(),"undefined"!=typeof window&&window.console&&(g[o]=m(window.console.error),g[s]=m(window.console.error),g[u]=m(window.console.warn),g[l]=m(window.console.info),g[c]=m(window.console.debug)),t}f.__dashjs_factory_name="Debug";var d=a.a.getSingletonFactory(f);d.LOG_LEVEL_NONE=0,d.LOG_LEVEL_FATAL=o,d.LOG_LEVEL_ERROR=s,d.LOG_LEVEL_WARNING=u,d.LOG_LEVEL_INFO=l,d.LOG_LEVEL_DEBUG=c,a.a.updateSingletonFactory(f.__dashjs_factory_name,d),t.a=d},function(e,t,n){"use strict";var r=n(3),i=n(4);function a(){var e={};function t(t,n,r){var i=-1;return e[t]?(e[t].some((function(e,t){if(e&&e.callback===n&&(!r||r===e.scope))return i=t,!0})),i):i}return{on:function(n,r,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(!n)throw new Error("event type cannot be null or undefined");if(!r||"function"!=typeof r)throw new Error("listener must be a function: "+r);var o=a.priority||0;if(!(t(n,r,i)>=0)){e[n]=e[n]||[];var s={callback:r,scope:i,priority:o};i&&i.getStreamId&&(s.streamId=i.getStreamId()),i&&i.getType&&(s.mediaType=i.getType()),a&&a.mode&&(s.mode=a.mode);var u=e[n].some((function(t,r){if(t&&o>t.priority)return e[n].splice(r,0,s),!0}));u||e[n].push(s)}},off:function(n,r,i){if(n&&r&&e[n]){var a=t(n,r,i);a<0||(e[n][a]=null)}},trigger:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(t&&e[t]){if((n=n||{}).hasOwnProperty("type"))throw new Error("'type' is a reserved word for event dispatching");n.type=t,r.streamId&&(n.streamId=r.streamId),r.mediaType&&(n.mediaType=r.mediaType),e[t].filter((function(e){return!!e&&((!r.streamId||!e.streamId||e.streamId===r.streamId)&&((!r.mediaType||!e.mediaType||e.mediaType===r.mediaType)&&!(r.mode&&e.mode&&e.mode!==r.mode||!e.mode&&r.mode&&r.mode===i.a.EVENT_MODE_ON_RECEIVE)))})).forEach((function(e){return e&&e.callback.call(e.scope,n)}))}},reset:function(){e={}}}}a.__dashjs_factory_name="EventBus";var o=r.a.getSingletonFactory(a);o.EVENT_PRIORITY_LOW=0,o.EVENT_PRIORITY_HIGH=5e3,r.a.updateSingletonFactory(a.__dashjs_factory_name,o),t.a=o},function(e,t,n){"use strict";t.a=function e(t,n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.code=t||null,this.message=n||null,this.data=r||null}},function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,t){return(i=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=s(e);if(t){var i=s(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return o(this,n)}}function o(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var u=new(function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&i(e,t)}(n,e);var t=a(n);function n(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(e=t.call(this)).MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE=10,e.MANIFEST_LOADER_LOADING_FAILURE_ERROR_CODE=11,e.XLINK_LOADER_LOADING_FAILURE_ERROR_CODE=12,e.SEGMENT_BASE_LOADER_ERROR_CODE=15,e.TIME_SYNC_FAILED_ERROR_CODE=16,e.FRAGMENT_LOADER_LOADING_FAILURE_ERROR_CODE=17,e.FRAGMENT_LOADER_NULL_REQUEST_ERROR_CODE=18,e.URL_RESOLUTION_FAILED_GENERIC_ERROR_CODE=19,e.APPEND_ERROR_CODE=20,e.REMOVE_ERROR_CODE=21,e.DATA_UPDATE_FAILED_ERROR_CODE=22,e.CAPABILITY_MEDIASOURCE_ERROR_CODE=23,e.CAPABILITY_MEDIAKEYS_ERROR_CODE=24,e.DOWNLOAD_ERROR_ID_MANIFEST_CODE=25,e.DOWNLOAD_ERROR_ID_SIDX_CODE=26,e.DOWNLOAD_ERROR_ID_CONTENT_CODE=27,e.DOWNLOAD_ERROR_ID_INITIALIZATION_CODE=28,e.DOWNLOAD_ERROR_ID_XLINK_CODE=29,e.MANIFEST_ERROR_ID_PARSE_CODE=31,e.MANIFEST_ERROR_ID_NOSTREAMS_CODE=32,e.TIMED_TEXT_ERROR_ID_PARSE_CODE=33,e.MANIFEST_ERROR_ID_MULTIPLEXED_CODE=34,e.MEDIASOURCE_TYPE_UNSUPPORTED_CODE=35,e.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE="parsing failed for ",e.MANIFEST_LOADER_LOADING_FAILURE_ERROR_MESSAGE="Failed loading manifest: ",e.XLINK_LOADER_LOADING_FAILURE_ERROR_MESSAGE="Failed loading Xlink element: ",e.SEGMENTS_UPDATE_FAILED_ERROR_MESSAGE="Segments update failed",e.SEGMENTS_UNAVAILABLE_ERROR_MESSAGE="no segments are available yet",e.SEGMENT_BASE_LOADER_ERROR_MESSAGE="error loading segment ranges from sidx",e.TIME_SYNC_FAILED_ERROR_MESSAGE="Failed to synchronize client and server time",e.FRAGMENT_LOADER_NULL_REQUEST_ERROR_MESSAGE="request is null",e.URL_RESOLUTION_FAILED_GENERIC_ERROR_MESSAGE="Failed to resolve a valid URL",e.APPEND_ERROR_MESSAGE="chunk is not defined",e.REMOVE_ERROR_MESSAGE="Removing data from the SourceBuffer",e.DATA_UPDATE_FAILED_ERROR_MESSAGE="Data update failed",e.CAPABILITY_MEDIASOURCE_ERROR_MESSAGE="mediasource is not supported",e.CAPABILITY_MEDIAKEYS_ERROR_MESSAGE="mediakeys is not supported",e.TIMED_TEXT_ERROR_MESSAGE_PARSE="parsing error :",e.MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE="Error creating source buffer of type : ",e}return n}(n(24).a));t.a=u},function(e,t,n){"use strict";n.d(t,"e",(function(){return a})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return s})),n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return f}));var r=n(27);function i(e,t){for(;e.lengthr&&o=a)}return!0}function c(e,t,n,r){var i,a,o;i=n.segmentDuration,isNaN(i)&&(i=n.adaptation.period.duration),a=parseFloat((n.adaptation.period.start+r*i).toFixed(5)),o=parseFloat((a+i).toFixed(5));var s=u(n,i,a,e.calcMediaTimeFromPresentationTime(a,n),e,o,t,r);return l(e,n,s,t)?s:null}function f(e,t,n,r,i,a,o,c,f,d){var h,p,g=r/a,m=i/a;return h=e.calcPresentationTimeFromMediaTime(g,n),l(e,n,p=u(n,m,h,g,e,h+m,t,f),t)?(p.replacementTime=d||r,o=s(o,"Number",p.replacementNumber),o=s(o,"Time",p.replacementTime),p.media=o,p.mediaRange=c,p):null}},function(e,t,n){"use strict";var r=n(3);function i(){var e,t=/^[a-z][a-z0-9+\-_.]*:/i,n=/^https?:\/\//i,r=/^https:\/\//i,i=/^([a-z][a-z0-9+\-_.]*:\/\/[^\/]+)\/?/i,a=function(e,t){try{return new window.URL(e,t).toString()}catch(t){return e}},o=function(e,t){var n=s;if(!t)return e;if(!c(e))return e;f(e)&&(n=u),d(e)&&(n=l);var r=n(t),i="/"!==r.charAt(r.length-1)&&"/"!==e.charAt(0)?"/":"";return[r,e].join(i)};function s(e){var t=e.indexOf("/"),n=e.lastIndexOf("/");return-1!==t?n===t+1?e:(-1!==e.indexOf("?")&&(e=e.substring(0,e.indexOf("?"))),e.substring(0,n+1)):""}function u(e){var t=e.match(i);return t?t[1]:""}function l(e){var n=e.match(t);return n?n[0]:""}function c(e){return!t.test(e)}function f(e){return c(e)&&"/"===e.charAt(0)}function d(e){return 0===e.indexOf("//")}return function(){try{new window.URL("x","http://y");e=a}catch(e){}finally{e=e||o}}(),{parseBaseUrl:s,parseOrigin:u,parseScheme:l,isRelative:c,isPathAbsolute:f,isSchemeRelative:d,isHTTPURL:function(e){return n.test(e)},isHTTPS:function(e){return r.test(e)},removeHostname:function(e){return/^(?:\w+\:\/\/)?([^\/]+)(.*)$/.exec(e)[2].substring(1)},resolve:function(t,n){return e(t,n)}}}i.__dashjs_factory_name="DefaultURLUtils";var a=r.a.getSingletonFactory(i);function o(){var e,t=[],n=this.context;function r(n,r,i){var a=function(n){var r;for(r=0;r0&&(t[a.substring(0,o)]=a.substring(o+2))}return t}},{key:"generateUuid",value:function(){var e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var n=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?n:3&n|8).toString(16)}))}},{key:"generateHashCode",value:function(e){var t=0;if(0===e.length)return t;for(var n=0;n=e-n}))}function m(e,t){t<=e+.5||(r=r.filter((function(n){var r=p(n);return isNaN(n.startTime)||n.startTime>=t-r||isNaN(n.duration)||n.startTime+n.duration<=e+r})))}function y(e,t,n){for(var r=e.length-1;r>=0;r--){var i=e[r],a=i.startTime,o=a+i.duration;if(n=isNaN(n)?p(i):n,!isNaN(a)&&!isNaN(o)&&t+n>=a&&t-n0&&m(n,t)}else g()},abortRequests:function(){n.debug("abort requests"),l.abort(),a=[]},executeRequest:function(e){switch(e.action){case i.a.ACTION_DOWNLOAD:E(e,"loading"),a.push(e),function(e){o.trigger(s.FRAGMENT_LOADING_STARTED,{request:e},{streamId:f.id,mediaType:d}),l.load(e)}(e);break;default:n.warn("Unknown request action.")}},reset:function(){o.off(s.LOADING_COMPLETED,_,this),o.off(s.LOADING_DATA_PROGRESS,v,this),o.off(s.LOADING_ABANDONED,T,this),l&&l.reset(),S()},resetInitialSettings:S,addExecutedRequest:function(e){r.push(e)}},n=c.getLogger(t),S(),o.on(s.LOADING_COMPLETED,_,t),o.on(s.LOADING_DATA_PROGRESS,v,t),o.on(s.LOADING_ABANDONED,T,t),t}a.__dashjs_factory_name="FragmentModel";var o=r.a.getClassFactory(a);o.FRAGMENT_MODEL_LOADING="loading",o.FRAGMENT_MODEL_EXECUTED="executed",o.FRAGMENT_MODEL_CANCELED="canceled",o.FRAGMENT_MODEL_FAILED="failed",r.a.updateClassFactory(a.__dashjs_factory_name,o),t.a=o},function(e,t,n){"use strict";var r=n(3),i=n(41);function a(e){e=e||{};var t,n,r=this.context;return t=Object(i.a)(r).getInstance(),{load:function(i){var a=t.getLoader(i&&i.request?i.request.url:null);(n=a(r).create({errHandler:e.errHandler,mediaPlayerModel:e.mediaPlayerModel,requestModifier:e.requestModifier,dashMetrics:e.dashMetrics,boxParser:e.boxParser?e.boxParser:null,constants:e.constants?e.constants:null,dashConstants:e.dashConstants?e.dashConstants:null,urlUtils:e.urlUtils?e.urlUtils:null,requestTimeout:isNaN(e.requestTimeout)?0:e.requestTimeout,errors:e.errors})).load(i)},abort:function(){n&&n.abort()}}}a.__dashjs_factory_name="URLLoader";var o=r.a.getClassFactory(a);t.a=o},function(e,t,n){"use strict";var r=n(6);function i(e,t){for(var n=0;n0?n[n.length-1]:null}}}s.__dashjs_factory_name="IsoFile";var u=o.a.getClassFactory(s),l=n(22),c=n.n(l);var f=function e(t,n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.lastCompletedOffset=t,this.found=n,this.size=r};function d(){var e,t,n=this.context;function i(e){if(!e)return null;void 0===e.fileStart&&(e.fileStart=0);var t=c.a.parseBuffer(e),r=u(n).create();return r.setData(t),r}function a(e,t){return e[t+3]>>>0|e[t+2]<<8>>>0|e[t+1]<<16>>>0|e[t]<<24>>>0}function o(e,t){return String.fromCharCode(e[t++])+String.fromCharCode(e[t++])+String.fromCharCode(e[t++])+String.fromCharCode(e[t])}return t={parse:i,findLastTopIsoBoxCompleted:function(e,t,n){if(void 0===n&&(n=0),!t||n+8>=t.byteLength)return new f(0,!1);for(var r,i=t instanceof ArrayBuffer?new Uint8Array(t):t,s=0;n=0?r=new f(n,!0,u):s=n+u),n+=u}return r||new f(s,!1)},getMediaTimescaleFromMoov:function(e){var t=i(e),n=t?t.getBox("mdhd"):void 0;return n?n.timescale:NaN},getSamplesInfo:function(e){if(!e||0===e.byteLength)return{sampleList:[],lastSequenceNumber:NaN,totalDuration:NaN,numSequences:NaN};var t,n,r,a,o,s,u,l,c,f,d,h,p,g,m,y,E=i(e),_=E.getBoxes("moof"),v=E.getBoxes("mfhd");m=E.getBoxes("moof").length,g=v[v.length-1].sequence_number,n=0,o=[];var T=-1,S=-1;for(f=0;f<_.length;f++){var A=_[f],b=A.getChildBoxes("traf");for(l=0;lS&&(T++,S+=M.entries[T].sample_delta),u==S){O.subSizes=[];var P=M.entries[T];for(h=0;h=t.byteLength)return new f(0,!1);for(var r,i=t instanceof ArrayBuffer?new Uint8Array(t):t,s=0;n=0?r=new f(n,!0,u,l):s=n+u),n+=u}return r||new f(s,!1)}},e=Object(r.a)(n).getInstance().getLogger(t),t}d.__dashjs_factory_name="BoxParser";t.a=o.a.getSingletonFactory(d)},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){ -/*! codem-isoboxer v0.3.6 https://github.com/madebyhiro/codem-isoboxer/blob/master/LICENSE.txt */ -var r={parseBuffer:function(e){return new i(e).parse()},addBoxProcessor:function(e,t){"string"==typeof e&&"function"==typeof t&&(a.prototype._boxProcessors[e]=t)},createFile:function(){return new i},createBox:function(e,t,n){var r=a.create(e);return t&&t.append(r,n),r},createFullBox:function(e,t,n){var i=r.createBox(e,t,n);return i.version=0,i.flags=0,i},Utils:{}};r.Utils.dataViewToString=function(e,t){var n=t||"utf-8";if("undefined"!=typeof TextDecoder)return new TextDecoder(n).decode(e);var r=[],i=0;if("utf-8"===n)for(;i>6),t.push(128|63&r)):r<65536?(t.push(224|r>>12),t.push(128|63&r>>6),t.push(128|63&r)):(t.push(240|r>>18),t.push(128|63&r>>12),t.push(128|63&r>>6),t.push(128|63&r))}return t},r.Utils.appendBox=function(e,t,n){if(t._offset=e._cursor.offset,t._root=e._root?e._root:e,t._raw=e._raw,t._parent=e,-1!==n)if(null!=n){var r,i=-1;if("number"==typeof n)i=n;else{if("string"==typeof n)r=n;else{if("object"!=typeof n||!n.type)return void e.boxes.push(t);r=n.type}for(var a=0;a>3,t},a.prototype._readUint=function(e){var t,n,r=null,i=this._cursor.offset-this._raw.byteOffset;switch(e){case 8:r=this._raw.getUint8(i);break;case 16:r=this._raw.getUint16(i);break;case 24:r=((t=this._raw.getUint16(i))<<8)+(n=this._raw.getUint8(i+2));break;case 32:r=this._raw.getUint32(i);break;case 64:t=this._raw.getUint32(i),n=this._raw.getUint32(i+4),r=t*Math.pow(2,32)+n}return this._cursor.offset+=e>>3,r},a.prototype._readString=function(e){for(var t="",n=0;n0?e:this._raw.byteLength-(this._cursor.offset-this._offset);if(t>0){var n=new Uint8Array(this._raw.buffer,this._cursor.offset,t);return this._cursor.offset+=t,n}return null},a.prototype._readUTF8String=function(){var e=this._raw.byteLength-(this._cursor.offset-this._offset),t=null;return e>0&&(t=new DataView(this._raw.buffer,this._cursor.offset,e),this._cursor.offset+=e),t?r.Utils.dataViewToString(t):t},a.prototype._parseBox=function(){if(this._parsing=!0,this._cursor.offset=this._offset,this._offset+8>this._raw.buffer.byteLength)this._root._incomplete=!0;else{switch(this._procField("size","uint",32),this._procField("type","string",4),1===this.size&&this._procField("largesize","uint",64),"uuid"===this.type&&this._procFieldArray("usertype",16,"uint",8),this.size){case 0:this._raw=new DataView(this._raw.buffer,this._offset,this._raw.byteLength-this._cursor.offset+8);break;case 1:this._offset+this.size>this._raw.buffer.byteLength?(this._incomplete=!0,this._root._incomplete=!0):this._raw=new DataView(this._raw.buffer,this._offset,this.largesize);break;default:this._offset+this.size>this._raw.buffer.byteLength?(this._incomplete=!0,this._root._incomplete=!0):this._raw=new DataView(this._raw.buffer,this._offset,this.size)}this._incomplete||(this._boxProcessors[this.type]&&this._boxProcessors[this.type].call(this),-1!==this._boxContainers.indexOf(this.type)?this._parseContainerBox():this._data=this._readData())}},a.prototype._parseFullBox=function(){this.version=this._readUint(8),this.flags=this._readUint(24)},a.prototype._parseContainerBox=function(){for(this.boxes=[];this._cursor.offset-this._raw.byteOffset>3}else this.size+=e>>3},a.prototype._writeUint=function(e,t){if(this._rawo){var n,r,i=this._cursor.offset-this._rawo.byteOffset;switch(e){case 8:this._rawo.setUint8(i,t);break;case 16:this._rawo.setUint16(i,t);break;case 24:n=(16776960&t)>>8,r=255&t,this._rawo.setUint16(i,n),this._rawo.setUint8(i+2,r);break;case 32:this._rawo.setUint32(i,t);break;case 64:r=t-(n=Math.floor(t/Math.pow(2,32)))*Math.pow(2,32),this._rawo.setUint32(i,n),this._rawo.setUint32(i+4,r)}this._cursor.offset+=e>>3}else this.size+=e>>3},a.prototype._writeString=function(e,t){for(var n=0;n>10&31),96+(this.language>>5&31),96+(31&this.language))),this._procField("pre_defined","uint",16)},a.prototype._boxProcessors.mehd=function(){this._procFullBox(),this._procField("fragment_duration","uint",1==this.version?64:32)},a.prototype._boxProcessors.mfhd=function(){this._procFullBox(),this._procField("sequence_number","uint",32)},a.prototype._boxProcessors.mfro=function(){this._procFullBox(),this._procField("mfra_size","uint",32)},a.prototype._boxProcessors.mp4a=a.prototype._boxProcessors.enca=function(){this._procFieldArray("reserved1",6,"uint",8),this._procField("data_reference_index","uint",16),this._procFieldArray("reserved2",2,"uint",32),this._procField("channelcount","uint",16),this._procField("samplesize","uint",16),this._procField("pre_defined","uint",16),this._procField("reserved3","uint",16),this._procField("samplerate","template",32),this._procField("esds","data",-1)},a.prototype._boxProcessors.mvhd=function(){this._procFullBox(),this._procField("creation_time","uint",1==this.version?64:32),this._procField("modification_time","uint",1==this.version?64:32),this._procField("timescale","uint",32),this._procField("duration","uint",1==this.version?64:32),this._procField("rate","template",32),this._procField("volume","template",16),this._procField("reserved1","uint",16),this._procFieldArray("reserved2",2,"uint",32),this._procFieldArray("matrix",9,"template",32),this._procFieldArray("pre_defined",6,"uint",32),this._procField("next_track_ID","uint",32)},a.prototype._boxProcessors.payl=function(){this._procField("cue_text","utf8")},a.prototype._boxProcessors.pssh=function(){this._procFullBox(),this._procFieldArray("SystemID",16,"uint",8),this._procField("DataSize","uint",32),this._procFieldArray("Data",this.DataSize,"uint",8)},a.prototype._boxProcessors.schm=function(){this._procFullBox(),this._procField("scheme_type","uint",32),this._procField("scheme_version","uint",32),1&this.flags&&this._procField("scheme_uri","string",-1)},a.prototype._boxProcessors.sdtp=function(){this._procFullBox();var e=-1;this._parsing&&(e=this._raw.byteLength-(this._cursor.offset-this._raw.byteOffset)),this._procFieldArray("sample_dependency_table",e,"uint",8)},a.prototype._boxProcessors.sidx=function(){this._procFullBox(),this._procField("reference_ID","uint",32),this._procField("timescale","uint",32),this._procField("earliest_presentation_time","uint",1==this.version?64:32),this._procField("first_offset","uint",1==this.version?64:32),this._procField("reserved","uint",16),this._procField("reference_count","uint",16),this._procEntries("references",this.reference_count,(function(e){this._parsing||(e.reference=(1&e.reference_type)<<31,e.reference|=2147483647&e.referenced_size,e.sap=(1&e.starts_with_SAP)<<31,e.sap|=(3&e.SAP_type)<<28,e.sap|=268435455&e.SAP_delta_time),this._procEntryField(e,"reference","uint",32),this._procEntryField(e,"subsegment_duration","uint",32),this._procEntryField(e,"sap","uint",32),this._parsing&&(e.reference_type=e.reference>>31&1,e.referenced_size=2147483647&e.reference,e.starts_with_SAP=e.sap>>31&1,e.SAP_type=e.sap>>28&7,e.SAP_delta_time=268435455&e.sap)}))},a.prototype._boxProcessors.smhd=function(){this._procFullBox(),this._procField("balance","uint",16),this._procField("reserved","uint",16)},a.prototype._boxProcessors.ssix=function(){this._procFullBox(),this._procField("subsegment_count","uint",32),this._procEntries("subsegments",this.subsegment_count,(function(e){this._procEntryField(e,"ranges_count","uint",32),this._procSubEntries(e,"ranges",e.ranges_count,(function(e){this._procEntryField(e,"level","uint",8),this._procEntryField(e,"range_size","uint",24)}))}))},a.prototype._boxProcessors.stsd=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procSubBoxes("entries",this.entry_count)},a.prototype._boxProcessors.subs=function(){this._procFullBox(),this._procField("entry_count","uint",32),this._procEntries("entries",this.entry_count,(function(e){this._procEntryField(e,"sample_delta","uint",32),this._procEntryField(e,"subsample_count","uint",16),this._procSubEntries(e,"subsamples",e.subsample_count,(function(e){this._procEntryField(e,"subsample_size","uint",1===this.version?32:16),this._procEntryField(e,"subsample_priority","uint",8),this._procEntryField(e,"discardable","uint",8),this._procEntryField(e,"codec_specific_parameters","uint",32)}))}))},a.prototype._boxProcessors.tenc=function(){this._procFullBox(),this._procField("default_IsEncrypted","uint",24),this._procField("default_IV_size","uint",8),this._procFieldArray("default_KID",16,"uint",8)},a.prototype._boxProcessors.tfdt=function(){this._procFullBox(),this._procField("baseMediaDecodeTime","uint",1==this.version?64:32)},a.prototype._boxProcessors.tfhd=function(){this._procFullBox(),this._procField("track_ID","uint",32),1&this.flags&&this._procField("base_data_offset","uint",64),2&this.flags&&this._procField("sample_description_offset","uint",32),8&this.flags&&this._procField("default_sample_duration","uint",32),16&this.flags&&this._procField("default_sample_size","uint",32),32&this.flags&&this._procField("default_sample_flags","uint",32)},a.prototype._boxProcessors.tfra=function(){this._procFullBox(),this._procField("track_ID","uint",32),this._parsing||(this.reserved=0,this.reserved|=(48&this.length_size_of_traf_num)<<4,this.reserved|=(12&this.length_size_of_trun_num)<<2,this.reserved|=3&this.length_size_of_sample_num),this._procField("reserved","uint",32),this._parsing&&(this.length_size_of_traf_num=(48&this.reserved)>>4,this.length_size_of_trun_num=(12&this.reserved)>>2,this.length_size_of_sample_num=3&this.reserved),this._procField("number_of_entry","uint",32),this._procEntries("entries",this.number_of_entry,(function(e){this._procEntryField(e,"time","uint",1===this.version?64:32),this._procEntryField(e,"moof_offset","uint",1===this.version?64:32),this._procEntryField(e,"traf_number","uint",8*(this.length_size_of_traf_num+1)),this._procEntryField(e,"trun_number","uint",8*(this.length_size_of_trun_num+1)),this._procEntryField(e,"sample_number","uint",8*(this.length_size_of_sample_num+1))}))},a.prototype._boxProcessors.tkhd=function(){this._procFullBox(),this._procField("creation_time","uint",1==this.version?64:32),this._procField("modification_time","uint",1==this.version?64:32),this._procField("track_ID","uint",32),this._procField("reserved1","uint",32),this._procField("duration","uint",1==this.version?64:32),this._procFieldArray("reserved2",2,"uint",32),this._procField("layer","uint",16),this._procField("alternate_group","uint",16),this._procField("volume","template",16),this._procField("reserved3","uint",16),this._procFieldArray("matrix",9,"template",32),this._procField("width","template",32),this._procField("height","template",32)},a.prototype._boxProcessors.trex=function(){this._procFullBox(),this._procField("track_ID","uint",32),this._procField("default_sample_description_index","uint",32),this._procField("default_sample_duration","uint",32),this._procField("default_sample_size","uint",32),this._procField("default_sample_flags","uint",32)},a.prototype._boxProcessors.trun=function(){this._procFullBox(),this._procField("sample_count","uint",32),1&this.flags&&this._procField("data_offset","int",32),4&this.flags&&this._procField("first_sample_flags","uint",32),this._procEntries("samples",this.sample_count,(function(e){256&this.flags&&this._procEntryField(e,"sample_duration","uint",32),512&this.flags&&this._procEntryField(e,"sample_size","uint",32),1024&this.flags&&this._procEntryField(e,"sample_flags","uint",32),2048&this.flags&&this._procEntryField(e,"sample_composition_time_offset",1===this.version?"int":"uint",32)}))},a.prototype._boxProcessors["url "]=a.prototype._boxProcessors["urn "]=function(){this._procFullBox(),"urn "===this.type&&this._procField("name","string",-1),this._procField("location","string",-1)},a.prototype._boxProcessors.vlab=function(){this._procField("source_label","utf8")},a.prototype._boxProcessors.vmhd=function(){this._procFullBox(),this._procField("graphicsmode","uint",16),this._procFieldArray("opcolor",3,"uint",16)},a.prototype._boxProcessors.vttC=function(){this._procField("config","utf8")},a.prototype._boxProcessors.vtte=function(){}},function(e,t,n){"use strict";var r=n(3);function i(){return{modifyRequestURL:function(e){return e},modifyRequestHeader:function(e){return e}}}i.__dashjs_factory_name="RequestModifier",t.a=r.a.getSingletonFactory(i)},function(e,t,n){"use strict";function r(e,t){for(var n=0;n1)for(var n=1;n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&T.a.indexOf(n[0].schemeIdUri)>=0)return t===r.a.IMAGE}if(e.ContentComponent_asArray&&e.ContentComponent_asArray.length>0){if(e.ContentComponent_asArray.length>1)return t===r.a.MUXED;if(e.ContentComponent_asArray[0].contentType===t)return!0}var a=t===r.a.TEXT?new RegExp("(ttml|vtt|wvtt|stpp)"):new RegExp(t);if(e.Representation_asArray&&e.Representation_asArray.length){var o=e.Representation_asArray[0].codecs;if(a.test(o))return!0}if(e.hasOwnProperty(i.a.MIME_TYPE))return a.test(e.mimeType);if(e.Representation_asArray)for(var s,u=0;u0){var t=e.Representation_asArray[0];if(t.hasOwnProperty(i.a.SEGMENT_TEMPLATE)||t.hasOwnProperty(i.a.SEGMENT_TIMELINE)||t.hasOwnProperty(i.a.SEGMENT_LIST)||t.hasOwnProperty(i.a.SEGMENT_BASE))return!0}return!1}function R(e){return b(e,r.a.AUDIO)}function N(e){return b(e,r.a.VIDEO)}function w(e){return b(e,r.a.TEXT)}function C(e){return b(e,r.a.IMAGE)}function D(){return function(e,t){return e.bandwidth-t.bandwidth}}function O(e){return e&&Array.isArray(e.Representation_asArray)&&e.Representation_asArray.sort((function(e,t){return e.bandwidth-t.bandwidth})),e}function M(e,t){return e&&e.Period_asArray&&A(t)&&e.Period_asArray[t]?e.Period_asArray[t].AdaptationSet_asArray:[]}function P(e){return e&&e.Period_asArray?e.Period_asArray:[]}function L(e){var t=!1;return e&&e.hasOwnProperty("type")&&(t=e.type===i.a.DYNAMIC),t}function F(e){return e&&e.EssentialProperty_asArray&&e.EssentialProperty_asArray.length?e.EssentialProperty_asArray.map((function(e){return{schemeIdUri:e.schemeIdUri,value:e.value}})):null}function x(e){if(!e||!e.S_asArray)return NaN;var t=e.S_asArray[0],n=e.S_asArray[1];return t.hasOwnProperty("d")?t.d:n.t-t.t}function U(e,t){if(!e)throw new Error("Period cannot be null or undefined");var n=l.DEFAULT_ID+"_"+t;return e.hasOwnProperty(i.a.ID)&&e.id.length>0&&"__proto__"!==e.id&&(n=e.id),n}function B(e,t){var n,a=[];if(!e)return a;for(n=0;n0&&A(e)?r[e]:null},getIndexForAdaptation:function(e,t,n){if(!e)return-1;for(var r=M(t,n),i=0;i0&&A(e)?n[e]:null},getCodec:function(e,t,n){var r=null;if(e&&e.Representation_asArray&&e.Representation_asArray.length>0){var i=A(t)&&t>=0&&t0?e.Representation_asArray[0].mimeType:null},getKID:function(e){return e&&e.hasOwnProperty(i.a.CENC_DEFAULT_KID)?e[i.a.CENC_DEFAULT_KID]:null},getLabelsForAdaptation:function(e){if(!e||!Array.isArray(e.Label_asArray))return[];for(var t=[],n=0;n0&&(n=-1!==e.profiles.indexOf(t)),n},getDuration:function(e){return e&&e.hasOwnProperty(i.a.MEDIA_PRESENTATION_DURATION)?e.mediaPresentationDuration:e&&"dynamic"==e.type?Number.POSITIVE_INFINITY:Number.MAX_SAFE_INTEGER||Number.MAX_VALUE},getBandwidth:function(e){return e&&e.bandwidth?e.bandwidth:NaN},getManifestUpdatePeriod:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=NaN;return e&&e.hasOwnProperty(i.a.MINIMUM_UPDATE_PERIOD)&&(n=e.minimumUpdatePeriod),isNaN(n)?n:Math.max(n-t,1)},getPublishTime:function(e){return e&&e.hasOwnProperty(i.a.PUBLISH_TIME)?new Date(e[i.a.PUBLISH_TIME]):null},getRepresentationCount:function(e){return e&&Array.isArray(e.Representation_asArray)?e.Representation_asArray.length:0},getBitrateListForAdaptation:function(e){var t=O(e);return(t&&Array.isArray(t.Representation_asArray)?t.Representation_asArray:[]).map((function(e){return{bandwidth:e.bandwidth,width:e.width||0,height:e.height||0,scanType:e.scanType||null,id:e.id||null}}))},getRepresentationFor:function(e,t){return t&&t.Representation_asArray&&t.Representation_asArray.length>0&&A(e)?t.Representation_asArray[e]:null},getRepresentationsForAdaptation:function(e){var t,n,r,a,s=[],u=function(e){if(e&&e.period&&A(e.period.index)){var t=e.period.mpd.manifest.Period_asArray[e.period.index];if(t&&t.AdaptationSet_asArray&&A(e.index))return O(t.AdaptationSet_asArray[e.index])}}(e);if(u&&u.Representation_asArray){if(e&&e.period&&A(e.period.index)){var l=k(e.period.mpd.manifest);l&&(n=l[0])}for(var c=0,f=u.Representation_asArray.length;c=0&&e.value){var t=e.value.split("x");2!==t.length||isNaN(t[0])||isNaN(t[1])||(r.tilesHor=parseInt(t[0],10),r.tilesVert=parseInt(t[1],10))}})),t?m.updateSegmentData(e).then((function(t){!function(e,t,n){var r=[],i=function(e,t){var n,r,i,a,o=[],s=0;for(n=0,r=e.segments.length;ne)return i=t.url,!0})),i?n(i):t.segments.some((function(i){if(i.mediaStartTime<=e&&i.mediaStartTime+i.duration>e){var a=T.resolve(t.path);return y.load({method:"get",url:a.url,request:{range:i.mediaRange,responseType:"arraybuffer"},onload:function(e){var t=E.getSamplesInfo(e.target.response),a=new Blob([e.target.response.slice(t.sampleList[0].offset,t.sampleList[0].offset+t.sampleList[0].size)],{type:"image/jpeg"}),o=window.URL.createObjectURL(a);r.push({start:i.mediaStartTime,end:i.mediaStartTime+i.duration,url:o}),n&&n(o)}}),!0}}))}}(r,e,t)})):(r.startNumber=e.startNumber,r.segmentDuration=e.segmentDuration,r.timescale=e.timescale,r.templateUrl=function(e){var t=w.isRelative(e.media)?w.resolve(e.media,T.resolve(e.path).url):e.media;if(!t)return"";return Object(u.c)(t,e.id)}(e)),r.tilesHor>0&&r.tilesVert>0&&(r.widthPerTile=r.width/r.tilesHor,r.heightPerTile=r.height/r.tilesVert,n.push(r))}function D(){n=[],p=-1,g=null}return t={getTracks:function(){return n},addTracks:function(){if(S&&v&&(g=v.getMediaInfoForType(S,r.a.IMAGE))){var e=v.getVoRepresentations(g);e&&e.length>0&&e.forEach((function(e){(e.segmentInfoType===i.a.SEGMENT_TEMPLATE&&e.segmentDuration>0&&e.media||e.segmentInfoType===i.a.SEGMENT_TIMELINE)&&C(e),e.segmentInfoType===i.a.SEGMENT_BASE&&C(e,!0)})),n.length>0&&n.sort((function(e,t){return e.bitrate-t.bitrate}))}},reset:D,setTrackByIndex:function(e){n&&0!==n.length&&(e>=n.length&&(e=n.length-1),p=e)},getCurrentTrack:function(){return p<0?null:n[p]},getCurrentTrackIndex:function(){return p},getThumbnailRequestForTime:function(e){for(var t,r=v.getVoRepresentations(g),i=0;it)return!1;if(e.mediaFinishedInformation&&!isNaN(e.mediaFinishedInformation.numberOfSegments)&&!isNaN(a.index)&&a.index>=e.mediaFinishedInformation.numberOfSegments-1){if(!l||e.segmentInfoType===u.a.SEGMENT_TEMPLATE)return!0;if(l&&e.segmentInfoType===u.a.SEGMENT_LIST&&e.adaptation.period.nextPeriodId)return!0}return!!(l&&e.adaptation.period.nextPeriodId&&e.segmentInfoType===u.a.SEGMENT_TIMELINE&&e.mediaFinishedInformation&&!isNaN(e.mediaFinishedInformation.mediaTimeOfLastSignaledSegment)&&a&&!isNaN(a.mediaStartTime)&&!isNaN(a.duration)&&a.mediaStartTime+a.duration>=e.mediaFinishedInformation.mediaTimeOfLastSignaledSegment-.05)},reset:function(){v(),f.off(o.a.DYNAMIC_TO_STATIC,b,t)},getNextSegmentRequestIdempotent:function(e,t){var n=a?a.index+1:0,r=m.getSegmentByIndex(t,n,a?a.mediaStartTime:-1);return r?S(e,r):null},getValidSeekTimeCloseToTargetTime:function(e,t,n,r){try{if(isNaN(e)||!t||!n)return NaN;if(e<0&&(e=0),isNaN(r)&&(r=.5),A(t,n,e))return e;for(var i=n.adaptation.period.start,a=n.adaptation.period.start+n.adaptation.period.duration,o=Math.min(e+r,a),s=Math.max(e-r,i),u=NaN,l=null;o<=a||s>=i;){var c=null,f=null;if(o<=a&&(c=A(t,n,o)),s>=i&&(f=A(t,n,s)),f){u=s,l=f;break}if(c){u=o,l=c;break}o+=r,s-=r}if(l){var d=l.startTime+l.duration;return e>=l.startTime&&d-e>r?e:e=i-.5*f.d/d&&(l=!0),!1})),u},getSegmentByTime:function(e,r){if(o(),!e)return null;void 0===r&&(r=null);var i=null,u=n.calcMediaTimeFromPresentationTime(r,e);return s(e,(function(r,o,s,l,c,f,d,h){if(u0)for(o=0;o=i&&t-n=n&&console.log(this.time+" ["+e+"] "+t)}},l=function(e){for(var t=[],n=0;n32&&(u.log("ERROR","Too large cursor position "+this.pos),this.pos=32)},moveCursor:function(e){var t=this.pos+e;if(e>1)for(var n=this.pos+1;n=144&&this.backSpace();var t=n(e);this.pos>=32?u.log("ERROR","Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!"):(this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1))},clearFromPos:function(e){var t;for(t=e;t<32;t++)this.chars[t].reset()},clear:function(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()},clearToEndOfRow:function(){this.clearFromPos(this.pos)},getTextString:function(){for(var e=[],t=!0,n=0;n<32;n++){var r=this.chars[n].uchar;" "!==r&&(t=!1),e.push(r)}return t?"":e.join("")},setPenStyles:function(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}};var h=function(){this.rows=[];for(var e=0;e<15;e++)this.rows.push(new d);this.currRow=14,this.nrRollUpRows=null,this.reset()};h.prototype={reset:function(){for(var e=0;e<15;e++)this.rows[e].clear();this.currRow=14},equals:function(e){for(var t=!0,n=0;n<15;n++)if(!this.rows[n].equals(e.rows[n])){t=!1;break}return t},copy:function(e){for(var t=0;t<15;t++)this.rows[t].copy(e.rows[t])},isEmpty:function(){for(var e=!0,t=0;t<15;t++)if(!this.rows[t].isEmpty()){e=!1;break}return e},backSpace:function(){this.rows[this.currRow].backSpace()},clearToEndOfRow:function(){this.rows[this.currRow].clearToEndOfRow()},insertChar:function(e){this.rows[this.currRow].insertChar(e)},setPen:function(e){this.rows[this.currRow].setPenStyles(e)},moveCursor:function(e){this.rows[this.currRow].moveCursor(e)},setCursor:function(e){u.log("INFO","setCursor: "+e),this.rows[this.currRow].setCursor(e)},setPAC:function(e){u.log("INFO","pacData = "+JSON.stringify(e));var t=e.row-1;this.nrRollUpRows&&t0&&(n=e?"["+t.join(" | ")+"]":t.join("\n")),n},getTextAndFormat:function(){return this.rows}};var p=function(e,t){this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new h,this.nonDisplayedMemory=new h,this.lastOutputScreen=new h,this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null};p.prototype={modes:["MODE_ROLL-UP","MODE_POP-ON","MODE_PAINT-ON","MODE_TEXT"],reset:function(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.currRollUpRow=this.displayedMemory.rows[14],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.lastCueEndTime=null},getHandler:function(){return this.outputFilter},setHandler:function(e){this.outputFilter=e},setPAC:function(e){this.writeScreen.setPAC(e)},setBkgData:function(e){this.writeScreen.setBkgData(e)},setMode:function(e){e!==this.mode&&(this.mode=e,u.log("INFO","MODE="+e),"MODE_POP-ON"==this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)},insertChars:function(e){for(var t=0;t=46,t.italics)t.foreground="white";else{var n=Math.floor(e/2)-16;t.foreground=["white","green","blue","cyan","red","yellow","magenta"][n]}u.log("INFO","MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t)},outputDataUpdate:function(){var e=u.time;null!==e&&this.outputFilter&&(this.outputFilter.updateData&&this.outputFilter.updateData(e,this.displayedMemory),null!==this.cueStartTime||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.lastOutputScreen),this.cueStartTime=this.displayedMemory.isEmpty()?null:e):this.cueStartTime=e,this.lastOutputScreen.copy(this.displayedMemory))},cueSplitAtTime:function(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))}};var g=function(e,t,n){this.field=e||1,this.outputs=[t,n],this.channels=[new p(1,t),new p(2,n)],this.currChNr=-1,this.lastCmdA=null,this.lastCmdB=null,this.bufferedData=[],this.startTime=null,this.lastTime=null,this.dataCounters={padding:0,char:0,cmd:0,other:0}};g.prototype={getHandler:function(e){return this.channels[e].getHandler()},setHandler:function(e,t){this.channels[e].setHandler(t)},addData:function(e,t){var n,r,i,a=!1;this.lastTime=e,u.setTime(e);for(var o=0;o=16&&r<=31&&r===this.lastCmdA&&i===this.lastCmdB)this.lastCmdA=null,this.lastCmdB=null,u.log("DEBUG","Repeated command ("+l([r,i])+") is dropped");else if(0!==r||0!==i){if(u.log("DATA","["+l([t[o],t[o+1]])+"] -> ("+l([r,i])+")"),(n=this.parseCmd(r,i))||(n=this.parseMidrow(r,i)),n||(n=this.parsePAC(r,i)),n||(n=this.parseBackgroundAttributes(r,i)),!n)if(a=this.parseChars(r,i))if(this.currChNr&&this.currChNr>=0)this.channels[this.currChNr-1].insertChars(a);else u.log("WARNING","No channel found yet. TEXT-MODE?");n?this.dataCounters.cmd+=2:a?this.dataCounters.char+=2:(this.dataCounters.other+=2,u.log("WARNING","Couldn't parse cleaned data "+l([r,i])+" orig: "+l([t[o],t[o+1]])))}else this.dataCounters.padding+=2},parseCmd:function(e,t){var n=null;if(!((20===e||21===e||28===e||29===e)&&32<=t&&t<=47)&&!((23===e||31===e)&&33<=t&&t<=35))return!1;n=20===e||21===e||23===e?1:2;var r=this.channels[n-1];return 20===e||21===e||28===e||29===e?32===t?r.cc_RCL():33===t?r.cc_BS():34===t?r.cc_AOF():35===t?r.cc_AON():36===t?r.cc_DER():37===t?r.cc_RU(2):38===t?r.cc_RU(3):39===t?r.cc_RU(4):40===t?r.cc_FON():41===t?r.cc_RDC():42===t?r.cc_TR():43===t?r.cc_RTD():44===t?r.cc_EDM():45===t?r.cc_CR():46===t?r.cc_ENM():47===t&&r.cc_EOC():r.cc_TO(t-32),this.lastCmdA=e,this.lastCmdB=t,this.currChNr=n,!0},parseMidrow:function(e,t){var n=null;if((17===e||25===e)&&32<=t&&t<=47){if((n=17===e?1:2)!==this.currChNr)return u.log("ERROR","Mismatch channel in midrow parsing"),!1;var r=this.channels[n-1];return r.insertChars([32]),r.cc_MIDROW(t),u.log("DEBUG","MIDROW ("+l([e,t])+")"),this.lastCmdA=e,this.lastCmdB=t,!0}return!1},parsePAC:function(e,t){var n,s=null;if(!((17<=e&&e<=23||25<=e&&e<=31)&&64<=t&&t<=127)&&!((16===e||24===e)&&64<=t&&t<=95))return!1;n=e<=23?1:2,s=64<=t&&t<=95?1===n?r[e]:a[e]:1===n?i[e]:o[e];var u=this.interpretPAC(s,t);return this.channels[n-1].setPAC(u),this.lastCmdA=e,this.lastCmdB=t,this.currChNr=n,!0},interpretPAC:function(e,t){var n=t,r={color:null,italics:!1,indent:null,underline:!1,row:e};return n=t>95?t-96:t-64,r.underline=1==(1&n),n<=13?r.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(n/2)]:n<=15?(r.italics=!0,r.color="white"):r.indent=4*Math.floor((n-16)/2),r},parseChars:function(e,t){var r=null,i=null,a=null;if(e>=25?(r=2,a=e-8):(r=1,a=e),17<=a&&a<=19){var o=t;o=17===a?t+80:18===a?t+112:t+144,u.log("INFO","Special char '"+n(o)+"' in channel "+r),i=[o],this.lastCmdA=e,this.lastCmdB=t}else 32<=e&&e<=127&&(i=0===t?[e]:[e,t],this.lastCmdA=null,this.lastCmdB=null);if(i){var s=l(i);u.log("DEBUG","Char codes = "+s.join(","))}return i},parseBackgroundAttributes:function(e,t){var n,r,i;return((16===e||24===e)&&32<=t&&t<=47||(23===e||31===e)&&45<=t&&t<=47)&&(n={},16===e||24===e?(r=Math.floor((t-32)/2),n.background=s[r],t%2==1&&(n.background=n.background+"_semi")):45===t?n.background="transparent":(n.foreground="black",47===t&&(n.underline=!0)),i=e<24?1:2,this.channels[i-1].setBkgData(n),this.lastCmdA=e,this.lastCmdB=t,!0)},reset:function(){for(var e=0;e=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n/g,">").replace(/"/g,""").replace(/'/g,"'"):e}function u(e,t,n,r){for(var i=0;i0&&u(e.arrayAccessFormPaths,t,n,r)&&(t[n]=[t[n]])}function c(e){var t=e.split(/[-T:+Z]/g),n=new Date(t[0],t[1]-1,t[2]),r=t[5].split(".");if(n.setHours(t[3],t[4],r[0]),r.length>1&&n.setMilliseconds(r[1]),t[6]&&t[7]){var i=60*t[6]+Number(t[7]);i=0+("-"==(/\d\d-\d\d:\d\d$/.test(e)?"-":"+")?-1*i:i),n.setMinutes(n.getMinutes()-i-n.getTimezoneOffset())}else-1!==e.indexOf("Z",e.length-1)&&(n=new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds())));return n}function f(n,r,i,a){return!(r==t&&e.xmlElementsFilter.length>0)||u(e.xmlElementsFilter,n,i,a)}function d(s,h){if(s.nodeType==a){for(var p=new Object,g=s.childNodes,m=0;m0){var i=r.split(".#")[0];return u(e.datetimeAccessFormPaths,t,n,i)?c(t):t}return t}(p.__text,_,h+"."+_)),null!=p["#cdata-section"]&&(p.__cdata=p["#cdata-section"],delete p["#cdata-section"],"property"==e.arrayAccessForm&&delete p["#cdata-section_asArray"]),0==p.__cnt&&"text"==e.emptyNodeForm?p="":1==p.__cnt&&null!=p.__text?p=p.__text:1!=p.__cnt||null==p.__cdata||e.keepCData?p.__cnt>1&&null!=p.__text&&e.skipEmptyTextNodesForObj&&(e.stripWhitespaces&&""==p.__text||""==p.__text.trim())&&delete p.__text:p=p.__cdata,delete p.__cnt,!e.enableToStringFunc||null==p.__text&&null==p.__cdata||(p.toString=function(){return(null!=this.__text?this.__text:"")+(null!=this.__cdata?this.__cdata:"")}),p}if(s.nodeType==n||s.nodeType==r)return s.nodeValue}function h(t,n,r,i){var a="<"+(null!=t&&null!=t.__prefix?t.__prefix+":":"")+n;if(null!=r)for(var o=0;o":">"}function p(e,t){return""}function g(t,n){return"property"==e.arrayAccessForm&&(r=n.toString(),i="_asArray",-1!==r.indexOf(i,r.length-i.length))||0==n.toString().indexOf(e.attributePrefix)||0==n.toString().indexOf("__")||t[n]instanceof Function;var r,i}function m(e){var t=0;if(e instanceof Object)for(var n in e)g(e,n)||t++;return t}function y(t,n,r){return 0==e.jsonPropertiesFilter.length||""==r||u(e.jsonPropertiesFilter,t,n,r)}function E(t){var n=[];if(t instanceof Object)for(var r in t)-1==r.toString().indexOf("__")&&0==r.toString().indexOf(e.attributePrefix)&&n.push(r);return n}function _(t){var n="";return t instanceof Object?n+=function(t){var n="";return null!=t.__cdata&&(n+=""),null!=t.__text&&(e.escapeMode?n+=s(t.__text):n+=t.__text),n}(t):null!=t&&(e.escapeMode?n+=s(t):n+=t),n}function v(e,t){return""===e?t:e+"."+t}function T(e,t,n,r){var i="";if(0==e.length)i+=h(e,t,n,!0);else for(var a=0;a0)for(var r in e)if(!g(e,r)&&(""==t||y(e,r,v(t,r)))){var i=e[r],a=E(i);if(null==i||null==i)n+=h(i,r,a,!0);else if(i instanceof Object)if(i instanceof Array)n+=T(i,r,a,t);else if(i instanceof Date)n+=h(i,r,a,!1),n+=i.toISOString(),n+=p(i,r);else{m(i)>0||null!=i.__text||null!=i.__cdata?(n+=h(i,r,a,!1),n+=S(i,v(t,r)),n+=p(i,r)):n+=h(i,r,a,!0)}else n+=h(i,r,a,!1),n+=_(i),n+=p(i,r)}return n+=_(e)}this.parseXmlString=function(e){var t;window.ActiveXObject||window;if(void 0===e)return null;if(window.DOMParser){var n=new window.DOMParser;try{(t=n.parseFromString(e,"text/xml")).getElementsByTagNameNS("*","parsererror").length>0&&(t=null)}catch(e){t=null}}else 0==e.indexOf("")+2)),(t=new ActiveXObject("Microsoft.XMLDOM")).async="false",t.loadXML(e);return t},this.asArray=function(e){return void 0===e||null==e?[]:e instanceof Array?e:[e]},this.toXmlDateTime=function(e){return e instanceof Date?e.toISOString():"number"==typeof e?new Date(e).toISOString():null},this.asDateTime=function(e){return"string"==typeof e?c(e):e},this.xml2json=function(e){return d(e)},this.xml_str2json=function(e){var t=this.parseXmlString(e);return null!=t?this.xml2json(t):null},this.json2xml_str=function(e){return S(e,"")},this.json2xml=function(e){var t=this.json2xml_str(e);return this.parseXmlString(t)},this.getVersion=function(){return"1.2.0"}}},function(e,t,n){"use strict";var r=n(3),i=n(25),a=n(15),o=n(1);function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||u(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){if(e){if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);nt/4/e.length}))).length>1){var n=0,r=(e[e.length-1].ts-e[0].ts)/e.length;return e.forEach((function(t,i){var a=e[i+1];if(a){var o=a.ts-t.ts;n+=o=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(r.headers.keys());try{for(p.s();!(a=p.n()).done;){var g=a.value;c+=g+": "+r.headers.get(g)+"\r\n"}}catch(e){p.e(e)}finally{p.f()}if(e.response.responseHeaders=c,!r.body)return r.arrayBuffer().then((function(t){e.response.response=t;var n={loaded:t.byteLength,total:t.byteLength,stream:!1};e.progress(n),e.onload(),e.onend()}));var m,y,T=parseInt(r.headers.get("Content-Length"),10),S=0,A=!1,b=new Uint8Array,I=0;if(E===o.a.ABR_FETCH_THROUGHPUT_CALCULATION_AAST&&i){var R=n,N=0,w=s(r.body.tee(),2),C=w[0],D=w[1];m=C.getReader(),y=[],m.read().then((function r(a){var o=a.value,s=a.done;if(N=Date.now(),o&&o.length){var u=N-R,l=o.length;y.push({chunkDownloadTimeRelativeMS:N-n,chunkDownloadDurationMS:u,chunkBytes:l,kbps:Math.round(8*l/(u/1e3)),bufferLevel:t.getCurrentBufferLevel(h.mediaType)})}if(s){var f=N-n,d=y.reduce((function(e,t){return e+t.chunkBytes}),0);return i.addMeasurement(h,f,y,_,v,c),void e.progress({loaded:d,total:d,lengthComputable:!0,time:i.getEstimatedDownloadDurationMS(h),stream:!0})}return R=Date.now(),m.read().then(r)})),e.reader=D.getReader()}else e.reader=r.body.getReader();var O=[],M=[],P=[],L=!0;f(e,(function t(n){var r=n.value;if(n.done){if(b){if(E!==o.a.ABR_FETCH_THROUGHPUT_CALCULATION_AAST){var i=null;E===o.a.ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING&&(i=function(e,t){try{var n,r;n=e.filter((function(t,n){return n1){for(var a=0,o=0,s=0;s1)i.push(8*r[s].bytes/u);else{0===o&&(o=n[s].ts);var l=r[s].ts-o;l>1?(i.push(8*a/l),a=0,o=0):a+=r[s].bytes}}if(i.length>0)return i.reduce((function(e,t){return e+t}),0)/i.length}return null}catch(e){return null}}(M,P)),e.progress({loaded:S,total:isNaN(T)?S:T,lengthComputable:!0,time:d(O,S),throughput:i,stream:!0})}e.response.response=b.buffer}return e.onload(),void e.onend()}if(r&&r.length>0){if(b=function(e,t){if(0===e.length)return t;var n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}(b,r),S+=r.length,O.push({ts:Date.now(),bytes:r.length}),E===o.a.ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING&&L)l.findLastTopIsoBoxCompleted(["moof"],b,I).found&&(L=!1,M.push({ts:performance.now(),bytes:r.length}));var a=l.findLastTopIsoBoxCompleted(["moov","mdat"],b,I);if(a.found){var s,u=a.lastCompletedOffset+a.size;E!==o.a.ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING||L||(L=!0,P.push({ts:performance.now(),bytes:b.length})),u===b.length?(s=b,b=new Uint8Array):(s=new Uint8Array(b.subarray(0,u)),b=b.subarray(u)),e.progress({data:s.buffer,lengthComputable:!1,noTrace:!0}),I=0}else I=a.lastCompletedOffset,A||(e.progress({lengthComputable:!1,noTrace:!0}),A=!0)}f(e,t)}))})).catch((function(t){e.onerror&&e.onerror(t)}))}))},abort:function(e){if(e.abortController)e.abortController.abort();else if(e.reader)try{e.reader.cancel(),e.onabort()}catch(e){}},calculateDownloadedTime:d,setup:function(e){t=e.dashMetrics}}}c.__dashjs_factory_name="FetchLoader";var f=r.a.getClassFactory(c),d=n(5),h=n(8),p=n(36),g=n(14),m=n(6),y=n(7),E=n(2);function _(){var e,t,n=this.context,r={};function i(){t=Object(m.a)(n).getInstance().getLogger(e)}function a(e){for(var t={},n=0,r=0,i=0,a=0,o=e.length,s=0;se.bitrate&&(n=!1):t=e.bitrate})),n}return e={setup:i,addMeasurement:function(e,t,n,i,o){e&&e.mediaType&&!r[e.mediaType]&&(r[e.mediaType]=[]);var s=e.mediaInfo.bitrateList.find((function(t){return t.id===e.representationId}));r[e.mediaType].push({index:e.index,repId:e.representationId,mediaType:e.mediaType,requestTimeMS:i,adjustedAvailabilityStartTimeMS:e.availabilityStartTime.getTime(),segDurationMS:1e3*e.duration,chunksDurationMS:n.reduce((function(e,t){return e+t.chunkDownloadDurationMS}),0),segmentBytes:n.reduce((function(e,t){return e+t.chunkBytes}),0),bitrate:s&&s.bandwidth,bitrateList:e.mediaInfo.bitrateList,chunkMeasurements:n,fetchDownloadDurationMS:t,throughputCapacityDelayMS:o,getEstimatedBufferLevel:a(n.slice(1))}),r[e.mediaType].length>10&&r[e.mediaType].shift()},getThroughputCapacityDelayMS:function(e,t){var n=r[e.mediaType]&&r[e.mediaType].slice(-3);return!n||n.length<3?0:o(n)?t/4>250?250:t/4:0},getEstimatedDownloadDurationMS:function(e){var n=r[e.mediaType].slice(-1).pop(),i=r[e.mediaType].slice(-3),a=n.chunkMeasurements.slice(-1).pop().chunkDownloadTimeRelativeMS;n.bufferLevelAtSegmentStart=n.getEstimatedBufferLevel(a/2),n.bufferLevelAtSegmentEnd=n.getEstimatedBufferLevel(a);var s=o(i),u=s?.6:.8;if(n.isBufferStable&&1.05*n.segDurationMS.2*n.chunkMeasurements.length){var g=c/f,m=n.segmentBytes/g;return n.fetchDownloadDurationMSn.bitrate)return y=e.bandwidth,!0})),y===n.bitrate?n.fetchDownloadDurationMS*u:u*n.segmentBytes*8*1e3/y}},i(),e}_.__dashjs_factory_name="LowLatencyThroughputModel";var v=r.a.getSingletonFactory(_);function T(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function S(e){e=e||{};var t,n,r,s,u,l,c,_,S,A=this.context,b=e.errHandler,I=e.dashMetrics,R=e.mediaPlayerModel,N=e.requestModifier,w=e.boxParser,C=e.errors,D=e.requestTimeout||0,O=Object(y.a)(A).getInstance(),M=Object(a.a)(A).getInstance();function P(e,t){var a,p=e.request,m=[],y=!0,v=!0,T=new Date,S=T,C=0;if(!N||!I||!b)throw new Error("config object is not correct or missing");var L,F=function(e){if(v=!1,p.requestStartDate=T,p.requestEndDate=new Date,p.firstByteDate=p.firstByteDate||T,!p.checkExistenceOnly){var t=a.response?a.response.responseURL:null,n=a.response?a.response.status:null,r=a.response&&a.response.getAllResponseHeaders?a.response.getAllResponseHeaders():a.response?a.response.responseHeaders:[];I.addHttpRequest(p,t,n,r,e?m:null),p.type===d.a.MPD_TYPE&&I.addManifestUpdate(p)}},x=function(){if(-1!==n.indexOf(a)&&(n.splice(n.indexOf(a),1),v))if(F(!1),t>0){try{if(M.get().streaming.utcSynchronization.enableBackgroundSyncAfterSegmentDownloadError&&p.type===d.a.MEDIA_SEGMENT_TYPE)R.getRetryAttemptsForType(d.a.MEDIA_SEGMENT_TYPE)===t&&O.trigger(E.a.ATTEMPT_BACKGROUND_SYNC)}catch(e){}t--;var r={config:e};s.push(r),r.timeout=setTimeout((function(){-1!==s.indexOf(r)&&(s.splice(s.indexOf(r),1),P(e,t))}),R.getRetryIntervalsForType(p.type))}else{if(p.type===d.a.MSS_FRAGMENT_INFO_SEGMENT_TYPE)return;b.error(new h.a(u[p.type],p.url+" is not available",{request:p,response:a.response})),e.error&&e.error(p,"error",a.response.statusText),e.complete&&e.complete(p,a.response.statusText)}};M.get().streaming.lowLatencyEnabled&&window.fetch&&"arraybuffer"===p.responseType&&p.type===d.a.MEDIA_SEGMENT_TYPE?(L=f(A).create({requestModifier:N,lowLatencyThroughputModel:c,boxParser:w})).setup({dashMetrics:I}):L=Object(i.a)(A).create({requestModifier:N});var U=null,B=N.modifyRequestURL(p.url);if(M.get().streaming.cmcd&&M.get().streaming.cmcd.enabled){var k=M.get().streaming.cmcd.mode;if(k===o.a.CMCD_MODE_QUERY){var G=function(e){try{var t=[],n=l.getQueryParameter(e);return n&&t.push(n),t}catch(e){return[]}}(p);B=g.a.addAditionalQueryParameterToUrl(B,G)}else k===o.a.CMCD_MODE_HEADER&&(U=l.getHeaderParameters(p))}p.url=B;var j=p.checkExistenceOnly?d.a.HEAD:d.a.GET,Y=R.getXHRWithCredentialsForType(p.type);a={url:B,method:j,withCredentials:Y,request:p,onload:function(){a.response.status>=200&&a.response.status<=299&&(F(!0),e.success&&e.success(a.response.response,a.response.statusText,a.response.responseURL),e.complete&&e.complete(p,a.response.statusText))},onend:x,onerror:x,progress:function(t){var n=new Date;y&&(y=!1,(!t.lengthComputable||t.lengthComputable&&t.total!==t.loaded)&&(p.firstByteDate=n)),t.lengthComputable&&(p.bytesLoaded=t.loaded,p.bytesTotal=t.total),t.noTrace||(m.push({s:S,d:t.time?t.time:n.getTime()-S.getTime(),b:[t.loaded?t.loaded-C:0],t:t.throughput}),S=n,C=t.loaded),e.progress&&t&&e.progress(t)},onabort:function(){e.abort&&e.abort(p)},ontimeout:function(e){var t;if(e.lengthComputable){var n=e.loaded/e.total*100;t="Request timeout: loaded: "+e.loaded+", out of: "+e.total+" : "+n.toFixed(3)+"% Completed"}else t="Request timeout: non-computable download size";_.warn(t)},loader:L,timeout:D,headers:U};var H=(new Date).getTime();if(isNaN(p.delayLoadingTime)||H>=p.delayLoadingTime)n.push(a),L.load(a);else{var K={httpRequest:a};r.push(K),K.delayTimeout=setTimeout((function(){if(-1!==r.indexOf(K)){r.splice(r.indexOf(K),1);try{T=new Date,S=T,n.push(K.httpRequest),L.load(K.httpRequest)}catch(e){K.httpRequest.onerror()}}}),p.delayLoadingTime-H)}}return t={load:function(e){e.request?P(e,R.getRetryAttemptsForType(e.request.type)):e.error&&e.error(e.request,"error")},abort:function(){s.forEach((function(e){clearTimeout(e.timeout),e.config.request&&e.config.abort&&e.config.abort(e.config.request)})),s=[],r.forEach((function(e){return clearTimeout(e.delayTimeout)})),r=[],n.forEach((function(e){e.request.type!==d.a.MSS_FRAGMENT_INFO_SEGMENT_TYPE&&(e.onloadend=e.onerror=e.onprogress=void 0,e.loader.abort(e))})),n=[]}},_=Object(m.a)(A).getInstance().getLogger(t),n=[],r=[],s=[],l=Object(p.a)(A).getInstance(),c=v(A).getInstance(),T(S={},d.a.MPD_TYPE,C.DOWNLOAD_ERROR_ID_MANIFEST_CODE),T(S,d.a.XLINK_EXPANSION_TYPE,C.DOWNLOAD_ERROR_ID_XLINK_CODE),T(S,d.a.INIT_SEGMENT_TYPE,C.DOWNLOAD_ERROR_ID_INITIALIZATION_CODE),T(S,d.a.MEDIA_SEGMENT_TYPE,C.DOWNLOAD_ERROR_ID_CONTENT_CODE),T(S,d.a.INDEX_SEGMENT_TYPE,C.DOWNLOAD_ERROR_ID_CONTENT_CODE),T(S,d.a.BITSTREAM_SWITCHING_SEGMENT_TYPE,C.DOWNLOAD_ERROR_ID_CONTENT_CODE),T(S,d.a.OTHER_TYPE,C.DOWNLOAD_ERROR_ID_CONTENT_CODE),u=S,t}S.__dashjs_factory_name="HTTPLoader";var A=r.a.getClassFactory(S);function b(){var e;function t(){e={}}function n(){t()}return n(),{getLoader:function(t){for(var n in e)if(e.hasOwnProperty(n)&&t.startsWith(n))return e[n];return A},registerLoader:function(t,n){e[t]=n},unregisterLoader:function(t){e[t]&&delete e[t]},unregisterAllLoader:t,reset:n}}b.__dashjs_factory_name="SchemeLoaderFactory";var I=r.a.getSingletonFactory(b);t.a=I},function(e,t,n){(function(e){function n(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===n(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===n(e)},t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,n(60).Buffer)},function(e,t,n){(function(e){function n(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function r(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r=-1&&!i;a--){var o=a>=0?arguments[a]:e.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(t=o+"/"+t,i="/"===o.charAt(0))}return(i?"/":"")+(t=n(r(t.split("/"),(function(e){return!!e})),!i).join("/"))||"."},t.normalize=function(e){var a=t.isAbsolute(e),o="/"===i(e,-1);return(e=n(r(e.split("/"),(function(e){return!!e})),!a).join("/"))||a||(e="."),e&&o&&(e+="/"),(a?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(r(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,n){function r(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=t.resolve(e).substr(1),n=t.resolve(n).substr(1);for(var i=r(e.split("/")),a=r(n.split("/")),o=Math.min(i.length,a.length),s=o,u=0;u=1;--a)if(47===(t=e.charCodeAt(a))){if(!i){r=a;break}}else i=!1;return-1===r?n?"/":".":n&&1===r?"/":e.slice(0,r)},t.basename=function(e,t){var n=function(e){"string"!=typeof e&&(e+="");var t,n=0,r=-1,i=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!i){n=t+1;break}}else-1===r&&(i=!1,r=t+1);return-1===r?"":e.slice(n,r)}(e);return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},t.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,n=0,r=-1,i=!0,a=0,o=e.length-1;o>=0;--o){var s=e.charCodeAt(o);if(47!==s)-1===r&&(i=!1,r=o+1),46===s?-1===t?t=o:1!==a&&(a=1):-1!==t&&(a=-1);else if(!i){n=o+1;break}}return-1===t||-1===r||0===a||1===a&&t===r-1&&t===n+1?"":e.slice(t,r)};var i="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(this,n(26))},function(e,t,n){t.generateISD=n(74).generateISD,t.fromXML=n(75).fromXML,t.renderHTML=n(91).render},function(e,t,n){"use strict";var r=n(3),i=n(13);function a(){return{customTimeRangeArray:[],length:0,add:function(e,t){var n=0;for(n=0;nthis.customTimeRangeArray[n].start;n++);for(this.customTimeRangeArray.splice(n,0,{start:e,end:t}),n=0;n=this.customTimeRangeArray[n].end)this.customTimeRangeArray.splice(n,1),n--;else{if(e>this.customTimeRangeArray[n].start&&tthis.customTimeRangeArray[n].start&&ethis.customTimeRangeArray[n].start&&t=this.customTimeRangeArray.length||e<0?NaN:this.customTimeRangeArray[e].start},end:function(e){return Object(i.a)(e),e>=this.customTimeRangeArray.length||e<0?NaN:this.customTimeRangeArray[e].end}}}a.__dashjs_factory_name="CustomTimeRanges",t.a=r.a.getClassFactory(a)},function(e,t,n){"use strict";n.d(t,"b",(function(){return s}));var r=n(3),i=n(29),a=n(1),o=[{codec:"avc1",compatibleCodecs:["avc3"]},{codec:"avc3",compatibleCodecs:["avc1"]}];function s(){var e="WebKitMediaSource"in window,t="MediaSource"in window;return e||t}function u(){var e,t,n;return e={setConfig:function(e){e&&e.settings&&(t=e.settings)},supportsMediaSource:s,supportsEncryptedMedia:function(){return n},supportsCodec:function(e,n){return n!==a.a.AUDIO&&n!==a.a.VIDEO?Promise.resolve(!0):function(e,n){return t.get().streaming.capabilities.useMediaCapabilitiesApi&&navigator.mediaCapabilities&&navigator.mediaCapabilities.decodingInfo&&(e.codec&&n===a.a.AUDIO||n===a.a.VIDEO&&e.codec&&e.width&&e.height&&e.bitrate&&e.framerate)}(e,n)?function(e,t){return new Promise((function(n){if(e&&e.codec){var r={type:"media-source"};r[t]={},r[t].contentType=e.codec,r[t].width=e.width,r[t].height=e.height,r[t].bitrate=parseInt(e.bitrate),r[t].framerate=parseFloat(e.framerate),navigator.mediaCapabilities.decodingInfo(r).then((function(e){n(e.supported)})).catch((function(){n(!1)}))}else n(!1)}))}(e,n):function(e){return new Promise((function(t){if(e&&e.codec){var n=e.codec;e.width&&e.height&&(n+=';width="'+e.width+'";height="'+e.height+'"'),"MediaSource"in window&&MediaSource.isTypeSupported(n)||"WebKitMediaSource"in window&&WebKitMediaSource.isTypeSupported(n)?t(!0):t(!1)}else t(!1)}))}(e)},setEncryptedMediaSupported:function(e){n=e},supportsEssentialProperty:function(e){try{return-1!==i.a.indexOf(e.schemeIdUri)}catch(e){return!0}},codecRootCompatibleWithCodec:function(e,t){for(var n,r=e.split(".")[0],i=0===t.indexOf(r),a=0;a0&&void 0!==arguments[0]?arguments[0]:null;return parseFloat((D(e)-U()).toFixed(5))}function D(e){var t=e||g;return t.start+t.duration}function O(){g&&o&&o.getElement()?o.play():E=!0}function M(){return g&&o?o.isPaused():null}function P(){g&&o&&o.pause()}function L(){return g&&o?o.isSeeking():null}function F(){return g&&o?o.isStalled():null}function x(e,n,r){g&&o&&(e!==(isNaN(T)?o.getTime():T)&&((S=!0===r)||(T=e,w.trigger(c.a.PLAYBACK_SEEK_ASKED)),t.info("Requesting seek to time: "+e+(S?" (internal)":"")),o.setCurrentTime(e,n)))}function U(){return g&&o?o.getTime():null}function B(){var e=U();if(m&&!isNaN(v)){var t=v/1e3;e>t&&(e-=t)}return e}function k(){return g&&o?o.getPlaybackRate():null}function G(){return g&&o?o.getEnded():null}function j(){return m}function Y(){if(!m||isNaN(v))return NaN;var e=B();if(isNaN(e)||0===e)return 0;var t=(new Date).getTime()+1e3*s.getClientTimeOffset();return Math.max(((t-v-1e3*e)/1e3).toFixed(3),0)}function H(){P(),E=!1,p=0,v=0,T=NaN,o&&(w.off(c.a.DATA_UPDATE_COMPLETED,z,this),w.off(c.a.LOADING_PROGRESS,me,this),w.off(h.a.BUFFER_LEVEL_STATE_CHANGED,ye,this),w.off(h.a.PLAYBACK_PROGRESS,fe,this),w.off(h.a.PLAYBACK_TIME_UPDATED,fe,this),w.off(h.a.PLAYBACK_ENDED,le,this),w.off(h.a.STREAM_INITIALIZING,_e,this),w.off(h.a.REPRESENTATION_SWITCH,ve,this),o.setPlaybackRate(1,!0),V(),o.removeEventListener("canplay",X),o.removeEventListener("canplaythrough",Q),o.removeEventListener("play",$),o.removeEventListener("waiting",Z),o.removeEventListener("playing",J),o.removeEventListener("pause",ee),o.removeEventListener("error",ce),o.removeEventListener("seeking",te),o.removeEventListener("seeked",ne),o.removeEventListener("timeupdate",re),o.removeEventListener("progress",ie),o.removeEventListener("ratechange",ae),o.removeEventListener("loadedmetadata",oe),o.removeEventListener("loadeddata",se),o.removeEventListener("stalled",Ee),o.removeEventListener("ended",ue)),f=null,o=null,g=null,m=null}function K(e,t){var n=r.getCurrentDVRInfo(t),i=n?n.range:null;return i?e>i.end?Math.max(i.end-p,i.start):e>0&&e+.25_+500)&&(_=e,re())):W())}),R.get().streaming.wallclockTimeUpdateInterval)}}function V(){clearInterval(f),f=null}function W(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(!M()&&m&&0!==o.getReadyState()&&!L()){e||(e=n.hasVideoTrack()?a.a.VIDEO:a.a.AUDIO);var r=B(),i=K(r,e),s=!isNaN(i)&&i!==r;s&&!L()&&(F()||b)&&(t.debug("UpdateCurrentTime: Seek to actual time: ".concat(i," from currentTime: ").concat(r)),x(i))}}function z(e){var t=i.convertRepresentationToRepresentationInfo(e.currentRepresentation),n=t?t.mediaInfo.streamInfo:null;null!==n&&g.id===n.id&&(g=n)}function X(){w.trigger(c.a.CAN_PLAY)}function Q(){w.trigger(c.a.CAN_PLAY_THROUGH)}function $(){t.info("Native video element event: play"),W(),q(),w.trigger(c.a.PLAYBACK_STARTED,{startTime:U()})}function Z(){t.info("Native video element event: waiting"),w.trigger(c.a.PLAYBACK_WAITING,{playingTime:U()})}function J(){t.info("Native video element event: playing"),w.trigger(c.a.PLAYBACK_PLAYING,{playingTime:U()})}function ee(){t.info("Native video element event: pause"),w.trigger(c.a.PLAYBACK_PAUSED,{ended:G()})}function te(){if(S)S=!1;else{var e=U();isNaN(T)||T===e||(e=T),T=NaN,t.info("Seeking to: "+e),q(),w.trigger(c.a.PLAYBACK_SEEKING,{seekTime:e,streamId:g.id})}}function ne(){t.info("Native video element event: seeked"),w.trigger(c.a.PLAYBACK_SEEKED)}function re(){g&&w.trigger(c.a.PLAYBACK_TIME_UPDATED,{timeToEnd:C(),time:U(),streamId:g.id})}function ie(){w.trigger(c.a.PLAYBACK_PROGRESS,{streamId:g.id})}function ae(){var e=k();t.info("Native video element event: ratechange: ",e),w.trigger(c.a.PLAYBACK_RATE_CHANGED,{playbackRate:e})}function oe(){t.info("Native video element event: loadedmetadata"),w.trigger(c.a.PLAYBACK_METADATA_LOADED),q()}function se(){t.info("Native video element event: loadeddata"),w.trigger(c.a.PLAYBACK_LOADED_DATA)}function ue(){t.info("Native video element event: ended"),P(),V();var e=n?n.getActiveStreamInfo():null;e&&w.trigger(c.a.PLAYBACK_ENDED,{isLast:e.isLast})}function le(e){if(f&&e.isLast){t.info("onPlaybackEnded -- PLAYBACK_ENDED but native video element didn't fire ended");var n=e.seekTime?e.seekTime:D();o.setCurrentTime(n),P(),V()}}function ce(e){var t=e.target||e.srcElement;w.trigger(c.a.PLAYBACK_ERROR,{error:t.error})}function fe(){m&&de()&&R.get().streaming.liveCatchup.playbackRate>0&&!M()&&!L()&&(function(){try{if(de()&&R.get().streaming.liveCatchup.playbackRate>0&&U()>0){var e=pe(),t=Y(),n=y.getLiveDelay(),r=y.getLiveCatchupLatencyThreshold(),i=R.get().streaming.liveCatchup.minDrift;if(e===a.a.LIVE_CATCHUP_MODE_LOLP){var o=he(),s=R.get().streaming.liveCatchup.playbackBufferMin;return function(e,t,n,r,i,a){try{var o=Math.abs(e-t);return(isNaN(a)||e<=a)&&(o>n||rr&&(isNaN(n)||e<=n)}catch(e){return!1}}(t,n,r,i)}}catch(e){return!1}}()?function(){if(o){var e,i=o.getPlaybackRate(),s=R.get().streaming.liveCatchup.playbackRate,u=Y(),l=y.getLiveDelay(),c=he();if(pe()===a.a.LIVE_CATCHUP_MODE_LOLP){R.get().streaming.liveCatchup.minDrift;var f=R.get().streaming.liveCatchup.playbackBufferMin;e=function(e,n,r,i,a,o,s){var u,l=e;if(or/2&&(b=!1);Math.abs(s-u)<=I&&(u=null);return{newRate:u}}(s,u,l,0,f,c,i)}else e=function(e,t,n,r,i){var a=e,o=t-n,s=5*o,u=2*a/(1+Math.pow(Math.E,-s)),l=1-a+u;b&&(r>n/2?b=!1:o>0&&(l=1));Math.abs(i-l)<=I&&(l=null);return{newRate:l}}(s,u,l,c,i);var d=e.newRate;d&&o.setPlaybackRate(d);var h=u-l;R.get().streaming.liveCatchup.maxDrift>0&&!A&&h>R.get().streaming.liveCatchup.maxDrift?(t.info("Low Latency catchup mechanism. Latency too high, doing a seek to live point"),A=!0,p=n&&n.hasVideoTrack()?a.a.VIDEO:a.a.AUDIO,x(((g=r.getCurrentDVRInfo(p))?g.range:null).end-y.getLiveDelay(),!0,!1)):A=!1}var p,g}():ge())}function de(){return R.get().streaming.liveCatchup.enabled||R.get().streaming.lowLatencyEnabled}function he(){var e=null;return n.getActiveStreamProcessors().forEach((function(t){var n=t.getBufferLevel();e=null===e?n:Math.min(e,n)})),e}function pe(){var e=R.get().streaming.liveCatchup.playbackBufferMin;return R.get().streaming.liveCatchup.mode!==a.a.LIVE_CATCHUP_MODE_LOLP||null===e||isNaN(e)?a.a.LIVE_CATCHUP_MODE_DEFAULT:a.a.LIVE_CATCHUP_MODE_LOLP}function ge(){o&&o.setPlaybackRate(1)}function me(e){if(!1===e.stream&&R.get().streaming.lowLatencyEnabled&&!isNaN(e.request.duration)){var n=1.2*e.request.duration;n>y.getLiveDelay()&&(t.warn("Browser does not support fetch API with StreamReader. Increasing live delay to be 20% higher than segment duration:",n.toFixed(2)),R.update({streaming:{delay:{liveDelay:n}}}))}}function ye(e){e.streamId===g.id&&(de()?e.state!==u.BUFFER_EMPTY||L()||b||(b=!0,ge()):R.get().streaming.buffer.setStallState&&o.setStallState(e.mediaType,e.state===u.BUFFER_EMPTY))}function Ee(e){w.trigger(c.a.PLAYBACK_STALLED,{e:e})}function _e(e){var n;(n=e.mediaInfo)&&n.supplementalProperties&&"true"===n.supplementalProperties[a.a.SUPPLEMENTAL_PROPERTY_LL_SCHEME]&&(t.debug("Low Latency critical SupplementalProperty set: Enabling low Latency"),R.update({streaming:{lowLatencyEnabled:!0}}))}function ve(e){var t=n.getActiveStreamInfo();if(R.get().streaming.lowLatencyEnabledByManifest&&e&&t&&e.currentRepresentation&&e.streamId&&e.streamId===t.id&&e.mediaType&&(e.mediaType===a.a.VIDEO||e.mediaType===a.a.AUDIO)){var r=!e.currentRepresentation.availabilityTimeComplete;r&&R.update({streaming:{lowLatencyEnabled:r}})}}return e={initialize:function(e,t){g=e,!0!==t&&function(){o.addEventListener("canplay",X),o.addEventListener("canplaythrough",Q),o.addEventListener("play",$),o.addEventListener("waiting",Z),o.addEventListener("playing",J),o.addEventListener("pause",ee),o.addEventListener("error",ce),o.addEventListener("seeking",te),o.addEventListener("seeked",ne),o.addEventListener("timeupdate",re),o.addEventListener("progress",ie),o.addEventListener("ratechange",ae),o.addEventListener("loadedmetadata",oe),o.addEventListener("loadeddata",se),o.addEventListener("stalled",Ee),o.addEventListener("ended",ue),m=g.manifestInfo.isDynamic,A=!1,b=!1,S=!1;var e="undefined"!=typeof navigator?navigator.userAgent.toLowerCase():"",t=/safari/.test(e)&&!/chrome/.test(e);I=t?.25:.02,w.on(c.a.DATA_UPDATE_COMPLETED,z,this),w.on(c.a.LOADING_PROGRESS,me,this),w.on(h.a.BUFFER_LEVEL_STATE_CHANGED,ye,this),w.on(h.a.PLAYBACK_PROGRESS,fe,this),w.on(h.a.PLAYBACK_TIME_UPDATED,fe,this),w.on(h.a.PLAYBACK_ENDED,le,this,{priority:l.a.EVENT_PRIORITY_HIGH}),w.on(h.a.STREAM_INITIALIZING,_e,this),w.on(h.a.REPRESENTATION_SWITCH,ve,this),E&&(E=!1,O())}()},setConfig:function(e){e&&(e.streamController&&(n=e.streamController),e.dashMetrics&&(r=e.dashMetrics),e.mediaPlayerModel&&(y=e.mediaPlayerModel),e.adapter&&(i=e.adapter),e.videoModel&&(o=e.videoModel),e.timelineConverter&&(s=e.timelineConverter),e.settings&&(R=e.settings))},getTimeToStreamEnd:C,getBufferLevel:he,getTime:U,getNormalizedTime:B,getPlaybackRate:k,getPlayedRanges:function(){return g&&o?o.getPlayedRanges():null},getEnded:G,getIsDynamic:j,getStreamController:function(){return n},computeAndSetLiveDelay:function(e,n){var r,o,s,u=!isNaN(e)&&isFinite(e)?e:NaN,l=i.getSuggestedPresentationDelay();if(R.get().streaming.delay.applyServiceDescription&&isNaN(R.get().streaming.delay.liveDelay)&&isNaN(R.get().streaming.delay.liveDelayFragmentCount)&&function(e){if(!e||!e.serviceDescriptions)return;for(var n=null,r=0;r0&&(t.debug("Apply LL properties coming from service description. Target Latency (ms):",n.latency.target),R.update({streaming:{delay:{liveDelay:n.latency.target/1e3},liveCatchup:{minDrift:(n.latency.target+500)/1e3,maxDrift:n.latency.max>n.latency.target?(n.latency.max-n.latency.target+500)/1e3:void 0}}})),n.playbackRate&&n.playbackRate.max>1&&(t.debug("Apply LL properties coming from service description. Max PlaybackRate:",n.playbackRate.max),R.update({streaming:{liveCatchup:{playbackRate:n.playbackRate.max-1}}})))}(n),r=y.getLiveDelay()?y.getLiveDelay():null===R.get().streaming.delay.liveDelayFragmentCount||isNaN(R.get().streaming.delay.liveDelayFragmentCount)||isNaN(u)?!0===R.get().streaming.delay.useSuggestedPresentationDelay&&null!==l&&!isNaN(l)&&l>0?l:isNaN(u)?n&&!isNaN(n.minBufferTime)?4*n.minBufferTime:4*g.manifestInfo.minBufferTime:4*u:u*R.get().streaming.delay.liveDelayFragmentCount,null!==(s=i.getAvailabilityStartTime())&&(v=s),n&&n.dvrWindowSize>0){var c=Math.max(n.dvrWindowSize-10,n.dvrWindowSize/2);o=Math.min(r,c)}else o=r;return p=o,o},getLiveDelay:function(){return p},getCurrentLiveLatency:Y,play:O,isPaused:M,pause:P,isSeeking:L,getStreamEndTime:D,seek:x,reset:H,updateCurrentTime:W,getAvailabilityStartTime:function(){return v}},t=Object(d.a)(N).getInstance().getLogger(e),H(),e}p.__dashjs_factory_name="PlaybackController";var g=f.a.getSingletonFactory(p),m=n(18),y=n(8),E=n(9),_=n(15),v=n(5);function T(e){var t,n,r,i,o,s,u=this.context,l=Object(_.a)(u).getInstance(),f=e.textController,h=e.eventBus,p=[],g=[],m=!1,T=e.mediaSource,S=null;function A(e){return new Promise((function(t){P((function(){i.changeType&&i.changeType(e),t()}))}))}function b(e){return i=f.getTextSourceBuffer(e),Promise.resolve()}function I(){if("function"==typeof i.addEventListener)try{i.addEventListener("updateend",O,!1),i.addEventListener("error",M,!1),i.addEventListener("abort",M,!1)}catch(e){s=setInterval(O,50)}else s=setInterval(O,50)}function R(e){return new Promise((function(t){i&&l.get().streaming.buffer.useAppendWindow?P((function(){try{if(!i)return void t();var n=T.duration,a=0;e&&!isNaN(e.start)&&!isNaN(e.duration)&&isFinite(e.duration)&&(n=e.start+e.duration),e&&!isNaN(e.start)&&(a=e.start),i.appendWindowEnd===n&&i.appendWindowStart===a||(i.appendWindowStart=0,i.appendWindowEnd=n+.01,i.appendWindowStart=Math.max(a-.1,0),r.debug("Updated append window for ".concat(o.type,". Set start to ").concat(i.appendWindowStart," and end to ").concat(i.appendWindowEnd))),t()}catch(e){r.warn("Failed to set append window"),t()}})):t()}))}function N(e){return new Promise((function(t){i?P((function(){try{i.timestampOffset===e||isNaN(e)||(i.timestampOffset=e,r.debug("Set MSE timestamp offset to ".concat(e))),t()}catch(e){t()}})):t()}))}function w(){return new Promise((function(e){P((function(){var t=i.appendWindowStart,n=i.appendWindowEnd;i&&(i.abort(),i.appendWindowStart=t,i.appendWindowEnd=n),e()}))}))}function C(){if(!m&&g.length>0){m=!0;var e=g[0];g.splice(0,1);var t=function(){m=!1,g.length>0&&C.call(this),e&&e.data&&e.data.segmentType&&e.data.segmentType!==v.a.INIT_SEGMENT_TYPE&&delete e.data.bytes,e.promise.resolve({chunk:e.data})};try{S=e.request,0===e.data.bytes.byteLength?t.call(this):(i.appendBuffer?i.appendBuffer(e.data.bytes):i.append(e.data.bytes,e.data),P(t.bind(this)))}catch(t){r.fatal('SourceBuffer append failed "'+t+'"'),g.length>0?C():m=!1,delete e.data.bytes,e.promise.reject({chunk:e.data,error:new y.a(t.code,t.message)})}}}function D(){p.length>0&&(i.updating||(p.shift()(),D()))}function O(){i.updating||D()}function M(e){var t,r,i=e.target||{};t=c.a.SOURCE_BUFFER_ERROR,r={error:i,lastRequestAppended:S}||{},h.trigger(t,r,{streamId:o.streamInfo.id,mediaType:n})}function P(e){p.push(e),i.updating||D()}return t={getType:function(){return n},getAllBufferRanges:function(){try{return i.buffered}catch(e){return r.error("getAllBufferRanges exception: "+e.message),null}},getBuffer:function(){return i},append:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return new Promise((function(r,i){e?(g.push({data:e,promise:{resolve:r,reject:i},request:n}),P(C.bind(t))):i({chunk:e,error:new y.a(E.a.APPEND_ERROR_CODE,E.a.APPEND_ERROR_MESSAGE)})}))},remove:function(e){return new Promise((function(t,n){var r=e.start,a=e.end;r>=0&&a>r?P((function(){try{i.remove(r,a),P((function(){t({from:r,to:a,unintended:!1}),e.resolve&&e.resolve()}))}catch(t){n({from:r,to:a,unintended:!1,error:new y.a(E.a.REMOVE_ERROR_CODE,E.a.REMOVE_ERROR_MESSAGE)}),e.reject&&e.reject(t)}})):t()}))},abort:function(){return new Promise((function(e){try{g=[],"open"===T.readyState?P((function(){i&&i.abort(),e()})):i&&i.setTextTrack&&"ended"===T.readyState?(i.abort(),e()):e()}catch(t){e()}}))},reset:function(){if(i){try{p=[],function(){try{"function"==typeof i.removeEventListener&&(i.removeEventListener("updateend",O,!1),i.removeEventListener("error",M,!1),i.removeEventListener("abort",M,!1)),clearInterval(s)}catch(e){r.error(e)}}(),m=!1,g=[],i.getClassName&&"TextSourceBuffer"===i.getClassName()||(r.debug("Removing sourcebuffer from media source"),T.removeSourceBuffer(i))}catch(e){}i=null}S=null},updateTimestampOffset:N,initializeForStreamSwitch:function(e,t,r){n=(o=e).type;var a=o.codec;!function(e){i=e.getBuffer()}(r),I();var s=[];return s.push(w),s.push(R(o.streamInfo)),s.push(A(a)),t&&void 0!==t.MSETimeOffset&&s.push(N(t.MSETimeOffset)),Promise.all(s)},initializeForFirstUse:function(e,t,r){n=(o=t).type;var s=o.codec;try{if(s.match(/application\/mp4;\s*codecs="(stpp|wvtt).*"/i))return b(e);i=T.addSourceBuffer(s),I();var u=[];return u.push(R(o.streamInfo)),r&&void 0!==r.MSETimeOffset&&u.push(N(r.MSETimeOffset)),Promise.all(u)}catch(t){return o.type==a.a.TEXT&&!o.isFragmented||-1!==s.indexOf('codecs="stpp')||-1!==s.indexOf('codecs="vtt')?b(e):Promise.reject(t)}},updateAppendWindow:R,changeType:A},r=Object(d.a)(u).getInstance().getLogger(t),t}T.__dashjs_factory_name="SourceBufferSink";var S=f.a.getClassFactory(T);function A(){var e={};return{save:function(t){var n=t.streamId,r=t.representationId;e[n]=e[n]||{},e[n][r]=t},extract:function(t,n){return e&&e[t]&&e[t][n]?e[t][n]:null},reset:function(){e={}}}}A.__dashjs_factory_name="InitCache";var b=f.a.getSingletonFactory(A);function I(e){e=e||{};var t,n,r,i,o,s,f,p,g,_,T,A,I,R,N,w,C,D,O=this.context,M=Object(l.a)(O).getInstance(),P=e.errHandler,L=e.fragmentModel,F=e.representationController,x=e.adapter,U=e.textController,B=e.abrController,k=e.playbackController,G=e.streamInfo,j=e.type,Y=e.settings;function H(e){s=e}function K(e){return x.convertRepresentationToRepresentationInfo(F.getRepresentationForQuality(e))}function q(e,t,n){var r=K(n);return t&&t[j]&&(j===a.a.VIDEO||j===a.a.AUDIO)?g.initializeForStreamSwitch(e,r,t[j]):g.initializeForFirstUse(G,e,r)}function V(e){Y.get().streaming.cacheInitSegments&&(n.info("Init fragment finished loading saving to",j+"'s init cache"),N.save(e.chunk)),n.debug("Append Init fragment",j," with representationId:",e.chunk.representationId," and quality:",e.chunk.quality,", data size:",e.chunk.bytes.byteLength),z(e.chunk)}function W(e){z(e.chunk,e.request)}function z(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;g.append(e,t).then((function(e){Q(e)})).catch((function(e){Q(e)})),e.mediaInfo.type===a.a.VIDEO&&Ee(c.a.VIDEO_CHUNK_RECEIVED,{chunk:e})}function X(e){if(e&&e.length>0)for(var t=0,r=e.length;t0){var e=Math.max(.2*o,1),t=o-e,r=Math.min(Y.get().streaming.buffer.bufferTimeAtTopQuality,.9*t),i=Math.min(Y.get().streaming.buffer.bufferTimeAtTopQualityLongForm,.9*t),a={streaming:{buffer:{bufferToKeep:parseFloat(e.toFixed(5)),bufferTimeAtTopQuality:parseFloat(r.toFixed(5)),bufferTimeAtTopQualityLongForm:parseFloat(i.toFixed(5))}}};Y.update(a)}}(),void(22!==e.error.code&&ye()||(n.warn("Clearing playback buffer to overcome quota exceed situation"),Ee(c.a.QUOTA_EXCEEDED,{criticalBufferLevel:o,quotaExceededTime:e.chunk.start}),ue(se())));if(g&&(re(),R=!1,(T=e.chunk)&&T.endFragment)){T&&!isNaN(T.index)&&(f=Math.max(T.index,f),ie());var t=g.getAllBufferRanges();T.segmentType===v.a.MEDIA_SEGMENT_TYPE&&(X(t),J(),function(){if(isNaN(D))return;if(j!==a.a.AUDIO&&j!==a.a.VIDEO)return void(D=NaN);var e=k.getTime(),t=ne(D,0);if(e===D&&t)return void(D=NaN);var n=F.getCurrentRepresentation().segmentDuration;if(!(t=ne(D,n)))return;Y.get().streaming.buffer.enableSeekDecorrelationFix&&Math.abs(e-D)>n?D<=t.end&&(k.seek(Math.max(D,t.start),!1,!0),D=NaN):en){var i=Math.max(0,e-n),a=L.getRequests({state:m.a.FRAGMENT_MODEL_EXECUTED,time:e,threshold:.01})[0];if(a&&(i=Math.min(a.startTime,i)),i>0)return{start:r,end:i}}return null}(e,n),i=function(e,t){var n=t.end(t.length-1)+.5,r=G.manifestInfo.duration>=Y.get().streaming.buffer.longFormContentDurationThreshold?Y.get().streaming.buffer.bufferTimeAtTopQualityLongForm:Y.get().streaming.buffer.bufferTimeAtTopQuality;if(n-e>r){var i=e+r,a=L.getRequests({state:m.a.FRAGMENT_MODEL_EXECUTED,time:e,threshold:.01})[0];if(a&&(i=Math.max(a.startTime+a.duration,i)),i=a&&e=p-1,t=k.getTimeToStreamEnd(G)-i<=0;!e&&!t||r||(ge(!0),n.debug("checkIfBufferingCompleted trigger BUFFERING_COMPLETED for stream id ".concat(G.id," and type ").concat(j)))}function ae(){j!==a.a.AUDIO&&j!==a.a.VIDEO||((!Y.get().streaming.lowLatencyEnabled&&i=Y.get().streaming.buffer.stallThreshold||Y.get().streaming.lowLatencyEnabled&&i>0)&&oe(u.BUFFER_LOADED))}function oe(e){_===e||e===u.BUFFER_EMPTY&&0===k.getTime()||j===a.a.TEXT&&!U.isTextEnabled()||(_=e,Ee(c.a.BUFFER_LEVEL_STATE_CHANGED,{state:e}),Ee(e===u.BUFFER_LOADED?c.a.BUFFER_LOADED:c.a.BUFFER_EMPTY),n.debug(e===u.BUFFER_LOADED?"Got enough buffer to start":"Waiting for more buffer before starting playback"))}function se(){var e=[],t=g.getAllBufferRanges();if(!t||0===t.length)return e;var n=k.getTime(),r=Math.max(0,n-Y.get().streaming.buffer.bufferToKeep),i=L.getRequests({state:m.a.FRAGMENT_MODEL_EXECUTED,time:n,threshold:.01})[0];if(i)r=Math.min(i.startTime,r);else if(0===n&&k.getIsDynamic())return[];if(t.start(0)<=r){for(var a={start:0,end:r},o=0;o=Y.get().streaming.buffer.bufferPruningInterval&&(A=0,g&&j!==a.a.TEXT&&(r||ue(se())))}function pe(){ae()}function ge(e){r!==e&&((r=e)?Ee(c.a.BUFFERING_COMPLETED):p=Number.POSITIVE_INFINITY)}function me(){try{var e,t,n=g.getAllBufferRanges(),r=0;if(!n)return r;for(t=0,e=n.length;t1&&void 0!==arguments[1]?arguments[1]:[];return new Promise((function(r,i){if(N&&e&&s){var a=B.getQualityFor(j,G.id);g=S(O).create({mediaSource:s,textController:U,eventBus:M}),q(e,t,a).then((function(){return fe(K(a))})).then((function(){r(g)})).catch((function(e){n.fatal("Caught error on create SourceBuffer: "+e),P.error(new y.a(E.a.MEDIASOURCE_TYPE_UNSUPPORTED_CODE,E.a.MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE+j)),i(e)}))}else r(null)}))},getBuffer:function(){return g},getBufferLevel:function(){return i},getRangeAt:ne,setMediaSource:H,getMediaSource:function(){return s},appendInitSegmentFromCache:function(e){var t=N.extract(G.id,e);return!!t&&(n.info("Append Init fragment",j," with representationId:",t.representationId," and quality:",t.quality,", data size:",t.bytes.byteLength),z(t),!0)},getIsBufferingCompleted:function(){return r},setIsBufferingCompleted:ge,getIsPruningInProgress:function(){return I},reset:function(e,t){M.off(c.a.INIT_FRAGMENT_LOADED,V,this),M.off(c.a.MEDIA_FRAGMENT_LOADED,W,this),M.off(c.a.WALLCLOCK_TIME_UPDATED,he,this),M.off(h.a.PLAYBACK_PLAYING,te,this),M.off(h.a.PLAYBACK_PROGRESS,J,this),M.off(h.a.PLAYBACK_TIME_UPDATED,J,this),M.off(h.a.PLAYBACK_RATE_CHANGED,pe,this),M.off(h.a.PLAYBACK_STALLED,ee,this),_e(e,t)},prepareForPlaybackSeek:function(){return r&&ge(!1),g.abort()},prepareForReplacementTrackSwitch:function(e){return new Promise((function(t,n){g.abort().then((function(){return de()})).then((function(){return g.changeType(e)})).then((function(){return $()})).then((function(){ge(!1),t()})).catch((function(e){n(e)}))}))},prepareForNonReplacementTrackSwitch:function(e){return new Promise((function(t,n){de().then((function(){return g.changeType(e)})).then((function(){t()})).catch((function(e){n(e)}))}))},prepareForReplacementQualitySwitch:function(){return new Promise((function(e,t){g.abort().then((function(){return de()})).then((function(){return $()})).then((function(){ge(!1),e()})).catch((function(e){t(e)}))}))},updateAppendWindow:de,getAllRangesWithSafetyFactor:Z,getContinuousBufferTimeForTargetTime:function(e){try{var t=e,n=g.getAllBufferRanges();if(!n||0===n.length)return e;for(var r=0;t===e&&r=i&&t<=a&&(t=a),r+=1}return t}catch(e){}},clearBuffers:ue,pruneAllSafely:$,updateBufferTimestampOffset:fe,setSeekTarget:function(e){D=e},segmentRequestingCompleted:function(e){isNaN(e)||(p=e,ie())}},n=Object(d.a)(O).getInstance().getLogger(t),N=b(O).getInstance(),_e(),t}I.__dashjs_factory_name="BufferController";var R=f.a.getClassFactory(I);function N(e){e=e||{};var t,n,r,i,a,o,s=this.context,u=Object(l.a)(s).getInstance(),f=e.textController,d=e.errHandler,h=e.streamInfo,p=e.type;function g(e){i=e}function m(e){var t,r,i;n!==e&&((n=e)&&(t=c.a.BUFFERING_COMPLETED,i=r||{},u.trigger(t,i,{streamId:h.id,mediaType:p})))}function _(e){e.chunk.bytes&&!n&&(o.save(e.chunk),a.append(e.chunk),m(!0))}return t={initialize:function(e){g(e)},getStreamId:function(){return h.id},getType:function(){return p},getBufferControllerType:function(){return"NotFragmentedTextBufferController"},createBufferSink:function(e){return new Promise((function(t,n){try{(a=S(s).create({mediaSource:i,textController:f,eventBus:u})).initializeForFirstUse(h,e),r||(a.getBuffer()&&"function"==typeof a.getBuffer().initialize&&a.getBuffer().initialize(),r=!0),t(a)}catch(e){d.error(new y.a(E.a.MEDIASOURCE_TYPE_UNSUPPORTED_CODE,E.a.MEDIASOURCE_TYPE_UNSUPPORTED_MESSAGE+p)),n(e)}}))},getBuffer:function(){return a},getBufferLevel:function(){return 0},getRangeAt:function(){return null},getAllRangesWithSafetyFactor:function(){return[]},getContinuousBufferTimeForTargetTime:function(){return Number.POSITIVE_INFINITY},setMediaSource:g,getMediaSource:function(){return i},appendInitSegmentFromCache:function(e){return null!==o.extract(h.id,e)},getIsBufferingCompleted:function(){return n},setIsBufferingCompleted:m,getIsPruningInProgress:function(){return!1},reset:function(e){u.off(c.a.INIT_FRAGMENT_LOADED,_,t),!e&&a&&(a.abort(),a.reset(),a=null)},clearBuffers:function(){return Promise.resolve()},prepareForPlaybackSeek:function(){return Promise.resolve()},prepareForReplacementTrackSwitch:function(){return n=!1,Promise.resolve()},setSeekTarget:function(){},updateAppendWindow:function(){return Promise.resolve()},pruneAllSafely:function(){return Promise.resolve()},updateBufferTimestampOffset:function(){return Promise.resolve()},segmentRequestingCompleted:function(){}},r=!1,i=null,n=!1,o=b(s).getInstance(),u.on(c.a.INIT_FRAGMENT_LOADED,_,t),t}N.__dashjs_factory_name="NotFragmentedTextBufferController";var w=f.a.getClassFactory(N);function C(e){e=e||{};var t,n,r,i,o,s,f,p,g,y,E,_,v,T=this.context,S=Object(l.a)(T).getInstance(),A=e.dashMetrics,b=e.mediaPlayerModel,I=e.fragmentModel,R=e.abrController,N=e.playbackController,w=e.textController,C=e.type,D=e.bufferController,O=e.settings;function M(e){if(!D.getIsBufferingCompleted()){P();var t=isNaN(e)?0:e;s=setTimeout(L,t)}}function P(){s&&(clearTimeout(s),s=null)}function L(){try{if(function(){try{return C===a.a.TEXT&&!w.isTextEnabled()}catch(e){return!1}}())return void P();if(function(){try{return i&&(isNaN(y)||E||(e=n.id,t=R.getMaxAllowedIndexFor(C,e),!(!isNaN(g)&&g==t||(r.info("Top quality "+C+" index has changed from "+g+" to "+t),g=t,0)))||function(){if(!C||!i)return!0;return A.getCurrentBufferLevel(C)=O.get().streaming.buffer.longFormContentDurationThreshold?O.get().streaming.buffer.bufferTimeAtTopQualityLongForm:O.get().streaming.buffer.bufferTimeAtTopQuality:b.getStableBufferTime()}catch(e){return b.getStableBufferTime()}}():e}function x(){U(!0)}function U(e){if(N&&I){var t=I.getRequests({state:m.a.FRAGMENT_MODEL_EXECUTED,time:N.getTime(),threshold:0})[0];t&&N.getTime()>=t.startTime&&((!p.mediaInfo||t.mediaInfo.type===p.mediaInfo.type&&t.mediaInfo.id!==p.mediaInfo.id)&&e&&S.trigger(c.a.TRACK_CHANGE_RENDERED,{mediaType:C,oldMediaInfo:p.mediaInfo,newMediaInfo:t.mediaInfo,streamId:n.id}),t.quality===p.quality&&t.adaptationIndex===p.adaptationIndex||!e||(r.debug("Quality change rendered for streamId ".concat(n.id," and type ").concat(C)),S.trigger(c.a.QUALITY_CHANGE_RENDERED,{mediaType:C,oldQuality:p.quality,newQuality:t.quality,streamId:n.id})),p={mediaInfo:t.mediaInfo,quality:t.quality,adaptationIndex:t.adaptationIndex})}}function B(e){r.debug("Appended bytes for ".concat(e.mediaType," and stream id ").concat(n.id)),(isNaN(e.index)||isNaN(y))&&(y=e.quality,r.info("["+C+"] lastInitializedRepresentationInfo changed to "+e.quality)),M(0)}function k(){I.abortRequests(),P()}function G(){O.get().streaming.scheduling.scheduleWhilePaused||M()}function j(e){A.updatePlayListTraceMetrics({playbackspeed:e.playbackRate.toString()})}function Y(){v=!0,o=0,y=NaN,p={mediaInfo:void 0,quality:NaN,adaptationIndex:NaN},g=NaN,E=!1,_=!1}return t={initialize:function(e){f=e,S.on(c.a.BYTES_APPENDED_END_FRAGMENT,B,t),S.on(c.a.URL_RESOLUTION_FAILED,k,t),S.on(h.a.PLAYBACK_STARTED,G,t),S.on(h.a.PLAYBACK_RATE_CHANGED,j,t),S.on(h.a.PLAYBACK_TIME_UPDATED,x,t)},getType:function(){return C},getStreamId:function(){return n.id},setCurrentRepresentation:function(e){i=e},setTimeToLoadDelay:function(e){o=e},getTimeToLoadDelay:function(){return o},setSwitchTrack:function(e){E=e},getSwitchStrack:function(){return E},startScheduleTimer:M,clearScheduleTimer:P,reset:function(){S.off(c.a.BYTES_APPENDED_END_FRAGMENT,B,t),S.off(c.a.URL_RESOLUTION_FAILED,k,t),S.off(h.a.PLAYBACK_STARTED,G,t),S.off(h.a.PLAYBACK_RATE_CHANGED,j,t),S.off(h.a.PLAYBACK_TIME_UPDATED,x,t),P(),U(!1),Y(),n=null},getBufferTarget:F,getPlaybackController:function(){return N},setCheckPlaybackQuality:function(e){v=e},setInitSegmentRequired:function(e){_=e}},r=Object(d.a)(T).getInstance().getLogger(t),Y(),n=e.streamInfo,t}C.__dashjs_factory_name="ScheduleController";var D=f.a.getClassFactory(C),O=n(54),M=n(13),P=n(31),L=n(23),F=n(11),x=n(20);function U(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var B=function e(){U(this,e),this.start=null,this.mstart=null,this.starttype=null,this.trace=[]};B.INITIAL_PLAYOUT_START_REASON="initial_playout",B.SEEK_START_REASON="seek",B.RESUME_FROM_PAUSE_START_REASON="resume",B.METRICS_COLLECTION_START_REASON="metrics_collection_start";var k=function e(){U(this,e),this.representationid=null,this.subreplevel=null,this.start=null,this.mstart=null,this.duration=null,this.playbackspeed=null,this.stopreason=null};k.REPRESENTATION_SWITCH_STOP_REASON="representation_switch",k.REBUFFERING_REASON="rebuffering",k.USER_REQUEST_STOP_REASON="user_request",k.END_OF_PERIOD_STOP_REASON="end_of_period",k.END_OF_CONTENT_STOP_REASON="end_of_content",k.METRICS_COLLECTION_STOP_REASON="metrics_collection_end",k.FAILURE_STOP_REASON="failure";var G=n(32);function j(e){e=e||{};var t,n,r,i,s,f,h,p,g,_,T,S,A,b,I=this.context,N=Object(l.a)(I).getInstance(),C=e.streamInfo,U=e.type,B=e.errHandler,j=e.mimeType,Y=e.timelineConverter,H=e.adapter,K=e.manifestModel,q=e.mediaPlayerModel,V=e.fragmentModel,W=e.abrController,z=e.playbackController,X=e.mediaController,Q=e.textController,$=e.dashMetrics,Z=e.settings,J=e.boxParser,ee=e.segmentBlacklistController;function te(){return C.id}function ne(){return U}function re(){return H.getIsTextTrack(p.getData())}function ie(){s=[],i=null,b=0,g=!1,T=!1,_=!1}function ae(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(e.sender)if(T)ce();else if((!re()||Q.isTextEnabled())&&f&&e.representationId&&!f.appendInitSegmentFromCache(e.representationId)){var n=p.getCurrentRepresentation();if(0===n.range)return void oe();var r=S?S.getInitRequest(i,n):null;r?V.executeRequest(r):t&&(h.setInitSegmentRequired(!0),ce())}}function oe(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(T||f.getIsPruningInProgress())ce();else{var n=le();n?(g=!1,se(n)):ue(t)}}function se(e){isNaN(e.startTime+e.duration)||(b=e.startTime+e.duration),e.delayLoadingTime=(new Date).getTime()+h.getTimeToLoadDelay(),h.setTimeToLoadDelay(0),!function(e){var t=e.url;e.range&&(t=t.concat("_",e.range));return ee.contains(t)}(e)?(n.debug("Next fragment request url for stream id ".concat(C.id," and media type ").concat(U," is ").concat(e.url)),V.executeRequest(e)):(n.warn("Fragment request url ".concat(e.url," for stream id ").concat(C.id," and media type ").concat(U," is on the ignore list and will be skipped")),ce())}function ue(e){var t=p.getCurrentRepresentation();if(Z.get().streaming.gaps.enableSeekFix&&!r&&g&&z.isSeeking()){var a=S.getValidSeekTimeCloseToTargetTime(b,i,t,Z.get().streaming.gaps.threshold);if(!isNaN(a))return void z.seek(a,!1,!1)}if(S.isLastSegmentRequested(t,b)){var o=S.getCurrentIndex();return n.debug("Segment requesting for stream ".concat(C.id," has finished")),N.trigger(c.a.STREAM_REQUESTING_COMPLETED,{segmentIndex:o},{streamId:C.id,mediaType:U}),f.segmentRequestingCompleted(o),void h.clearScheduleTimer()}e&&ce()}function le(){var e,t=Re();if(isNaN(b)||ne()===a.a.TEXT&&!Q.isTextEnabled())return null;var n=g;if(S){var r=p&&t?p.getRepresentationForQuality(t.quality):null;e=n?S.getSegmentRequestForTime(i,r,b):S.getNextSegmentRequest(i,r)}return e}function ce(){h.startScheduleTimer(Z.get().streaming.lowLatencyEnabled?Z.get().streaming.scheduling.lowLatencyTimeout:Z.get().streaming.scheduling.defaultTimeout)}function fe(){T=!0}function de(){T=!1}function he(e){e.error||(h.setCurrentRepresentation(H.convertRepresentationToRepresentationInfo(e.currentRepresentation)),f.getIsBufferingCompleted()||f.updateBufferTimestampOffset(e.currentRepresentation))}function pe(e){$.addBufferState(U,e.state,h.getBufferTarget()),e.state!==u.BUFFER_EMPTY||z.isSeeking()||(n.info("Buffer is empty! Stalling!"),$.pushPlayListTraceMetrics(new Date,k.REBUFFERING_REASON))}function ge(e){V.syncExecutedRequestsWithBufferedRange(f.getBuffer().getAllBufferRanges(),C.duration),e.quotaExceeded&&e.from>z.getTime()&&Me(e.from),e.hasEnoughSpaceToAppend&&e.quotaExceeded&&h.startScheduleTimer()}function me(e){if(e&&e.lastRequestAppended&&e.lastRequestAppended.url){var t=e.lastRequestAppended.url;e.lastRequestAppended.range&&(t=t.concat("_",e.lastRequestAppended.range)),n.warn("Blacklisting segment with url ".concat(t)),ee.add(t)}}function ye(){De(),_=!1}function Ee(e){n.info("onFragmentLoadingAbandoned request: "+e.request.url+" has been aborted"),z.isSeeking()||h.getSwitchStrack()||_||(n.info("onFragmentLoadingAbandoned request: "+e.request.url+" has to be downloaded again, origin is not seeking process or switch track call"),e.request&&e.request.isInitializationRequest()?h.setInitSegmentRequired(!0):Me(e.request.startTime+e.request.duration/2),h.startScheduleTimer(0))}function _e(e){n.info("OnFragmentLoadingCompleted for stream id "+C.id+" and media type "+U+" - Url:",e.request?e.request.url:"undefined",e.request.range?", Range:"+e.request.range:""),re()&&h.startScheduleTimer(0),e.error&&e.request.serviceLocation&&function(e){if(n.info("Fragment loading completed with an error"),!e||!e.request||!e.request.type)return;e.request.type===v.a.INIT_SEGMENT_TYPE?ae({representationId:e.request.representationId,sender:{}},!1):e.request.type===v.a.MEDIA_SEGMENT_TYPE&&(Me(e.request.startTime+e.request.duration/2),oe({},!1))}(e)}function ve(){Me(z.getTime()),Ie().startScheduleTimer()}function Te(e){var t=e.currentTrackInfo;if(t){var n=s.find((function(e){return e.index===t.index&&e.lang===t.lang}));n&&be(n).then((function(){f.setIsBufferingCompleted(!1),Me(z.getTime()),h.setInitSegmentRequired(!0),h.startScheduleTimer()}))}}function Se(e){Me(e.quotaExceededTime),h.clearScheduleTimer()}function Ae(){return f?f.getBuffer():null}function be(e){e===i||e&&i&&e.type!==i.type||(i=e);var t=H.getRealAdaptation(C,i),n=H.getVoRepresentations(i);if(p){var r,o=p.getData(),s=W.getMaxAllowedIndexFor(U,C.id),u=W.getMinAllowedIndexFor(U,C.id),l=null;return null!==o&&o.id===t.id||U===a.a.TEXT?r=W.getQualityFor(U,C.id):(l=W.getThroughputHistory().getAverageThroughput(U)||W.getInitialBitrateFor(U,C.id),r=W.getQualityForBitrate(i,l,C.id)),void 0!==u&&rs&&(r=s),p.updateData(t,n,U,i.isFragmented,r)}return Promise.resolve()}function Ie(){return h}function Re(e){var t;return void 0!==e?(Object(M.a)(e),t=p?p.getRepresentationForQuality(e):null):t=p?p.getCurrentRepresentation():null,H.convertRepresentationToRepresentationInfo(t)}function Ne(){return!!f&&f.getIsBufferingCompleted()}function we(e){var t=e.chunk,n=t.bytes,r=t.quality,i=Re(r),a=p&&i?p.getRepresentationForQuality(i.quality):null;if(i&&a){var o=H.getEventsFor(i.mediaInfo),s=H.getEventsFor(i,a);if(o&&o.length>0||s&&s.length>0){var u=function(e,t,n,r){try{for(var i={},a=[],o=n.concat(r),s=0,u=o.length;sZ.get().streaming.buffer.stallThreshold;if(f.getIsBufferingCompleted()&&!t)return f.prepareForNonReplacementTrackSwitch(i.codec).then((function(){N.trigger(c.a.BUFFERING_COMPLETED,{},{streamId:C.id,mediaType:U})})).catch((function(){N.trigger(c.a.BUFFERING_COMPLETED,{},{streamId:C.id,mediaType:U})})),void e();h.clearScheduleTimer(),h.setSwitchTrack(!0),t?(N.trigger(c.a.BUFFER_REPLACEMENT_STARTED,{mediaType:U,streamId:C.id},{mediaType:U,streamId:C.id}),V.abortRequests(),f.prepareForReplacementTrackSwitch(i.codec).then((function(){var e=Re();return f.updateBufferTimestampOffset(e)})).then((function(){Ce(),e()})).catch((function(){Ce(),e()}))):f.prepareForNonReplacementTrackSwitch(i.codec).then((function(){De(),e()})).catch((function(){De(),e()}))}))},prepareQualityChange:function(e){n.debug("Preparing quality switch for type ".concat(U));var t=e.newQuality;_=!0,h.clearScheduleTimer();var r=Re(t);h.setCurrentRepresentation(r),p.prepareQualityChange(t),V.abortRequests(),f.updateBufferTimestampOffset(r).then((function(){e.reason&&e.reason.forceReplace?(N.trigger(c.a.BUFFER_REPLACEMENT_STARTED,{mediaType:U,streamId:C.id},{mediaType:U,streamId:C.id}),f.prepareForReplacementQualitySwitch().then((function(){Ce(),_=!1})).catch((function(){Ce(),_=!1}))):Z.get().streaming.buffer.fastSwitchEnabled?function(e){var t=z.getTime(),n=V.getRequests({state:m.a.FRAGMENT_MODEL_EXECUTED,time:t+1.5,threshold:0})[0];if(n&&!re()){var r=f.getBufferLevel(),i=W.getAbandonmentStateFor(C.id,U);if(n.quality=1.5&&i!==u.ABANDON_LOAD)Me(t+1.5),h.setCheckPlaybackQuality(!1),h.startScheduleTimer();else ye()}else h.startScheduleTimer();_=!1}(r):ye(),$.pushPlayListTraceMetrics(new Date,k.REPRESENTATION_SWITCH_STOP_REASON),$.createPlaylistTraceMetrics(r.id,1e3*z.getTime(),z.getPlaybackRate())}))},getMediaInfo:function(){return i},getMediaSource:function(){return f.getMediaSource()},setMediaSource:function(e){f.setMediaSource(e)},getBuffer:Ae,setExplicitBufferingTime:Me,finalisePlayList:function(e,t){$.pushPlayListTraceMetrics(e,t)},probeNextRequest:function(){var e=Re(),t=p&&e?p.getRepresentationForQuality(e.quality):null;return S.getNextSegmentRequestIdempotent(i,t)},prepareInnerPeriodPlaybackSeeking:function(e){return new Promise((function(t){h.clearScheduleTimer(),V.abortRequests(),f.prepareForPlaybackSeek().then((function(){var t=f.getAllRangesWithSafetyFactor(e.seekTime);return f.clearBuffers(t)})).then((function(){var n=f.getContinuousBufferTimeForTargetTime(e.seekTime);if(!isNaN(C.duration)&&isFinite(C.duration)&&n>=C.start+C.duration)f.setIsBufferingCompleted(!0),t();else{Me(n),f.setSeekTarget(n);var r=[];r.push(f.updateAppendWindow());var i=Re();r.push(f.updateBufferTimestampOffset(i)),Promise.all(r).then((function(){h.setInitSegmentRequired(!0),h.setCheckPlaybackQuality(!1),h.startScheduleTimer(),t()}))}})).catch((function(e){n.error(e)}))}))},prepareOuterPeriodPlaybackSeeking:function(){return new Promise((function(e,t){try{h.clearScheduleTimer(),V.abortRequests(),f.prepareForPlaybackSeek().then((function(){return f.pruneAllSafely()})).then((function(){e()}))}catch(e){t(e)}}))},reset:function(e,n){S&&S.reset(),f&&(f.reset(e,n),f=null),h&&(h.reset(),h=null),p&&(p.reset(),p=null),A&&(A=null),W&&W.unRegisterStreamType(te(),U),N.off(c.a.DATA_UPDATE_COMPLETED,he,t),N.off(c.a.INIT_FRAGMENT_NEEDED,ae,t),N.off(c.a.MEDIA_FRAGMENT_NEEDED,oe,t),N.off(c.a.MEDIA_FRAGMENT_LOADED,we,t),N.off(c.a.BUFFER_LEVEL_STATE_CHANGED,pe,t),N.off(c.a.BUFFER_CLEARED,ge,t),N.off(c.a.SEEK_TARGET,Oe,t),N.off(c.a.FRAGMENT_LOADING_ABANDONED,Ee,t),N.off(c.a.FRAGMENT_LOADING_COMPLETED,_e,t),N.off(c.a.SET_FRAGMENTED_TEXT_AFTER_DISABLED,ve,t),N.off(c.a.SET_NON_FRAGMENTED_TEXT,Te,t),N.off(c.a.QUOTA_EXCEEDED,Se,t),N.off(c.a.MANIFEST_UPDATED,fe,t),N.off(c.a.STREAMS_COMPOSED,de,t),N.off(c.a.SOURCE_BUFFER_ERROR,me,t),ie(),U=null,C=null}},n=Object(d.a)(I).getInstance().getLogger(t),ie(),N.on(c.a.DATA_UPDATE_COMPLETED,he,t,{priority:l.a.EVENT_PRIORITY_HIGH}),N.on(c.a.INIT_FRAGMENT_NEEDED,ae,t),N.on(c.a.MEDIA_FRAGMENT_NEEDED,oe,t),N.on(c.a.MEDIA_FRAGMENT_LOADED,we,t),N.on(c.a.BUFFER_LEVEL_STATE_CHANGED,pe,t),N.on(c.a.BUFFER_CLEARED,ge,t),N.on(c.a.SEEK_TARGET,Oe,t),N.on(c.a.FRAGMENT_LOADING_ABANDONED,Ee,t),N.on(c.a.FRAGMENT_LOADING_COMPLETED,_e,t),N.on(c.a.QUOTA_EXCEEDED,Se,t),N.on(c.a.SET_FRAGMENTED_TEXT_AFTER_DISABLED,ve,t),N.on(c.a.SET_NON_FRAGMENTED_TEXT,Te,t),N.on(c.a.MANIFEST_UPDATED,fe,t),N.on(c.a.STREAMS_COMPOSED,de,t),N.on(c.a.SOURCE_BUFFER_ERROR,me,t),t}j.__dashjs_factory_name="StreamProcessor";var Y=f.a.getClassFactory(j),H=n(55),K=n(58);function q(e){e=e||{};var t,n,r,i=this.context,o=Object(l.a)(i).getInstance(),s=e.errHandler,u=e.mediaPlayerModel,f=e.dashMetrics,p=Object(d.a)(i).getInstance(),g=e.streamInfo;function y(){return g.id}function _(){for(var e in r)r[e].reset();r={}}function v(e){if(e.sender){var t=e.request,r=e.response,i=t.isInitializationRequest(),s=t.mediaInfo.streamInfo;if(e.error&&(t.mediaType===a.a.AUDIO||t.mediaType===a.a.VIDEO||t.mediaType===a.a.TEXT&&t.mediaInfo.isFragmented)&&o.trigger(c.a.SERVICE_LOCATION_BLACKLIST_ADD,{entry:e.request.serviceLocation}),r&&s){var u=function(e,t,n,r){var i=new H.a;return i.streamId=n,i.mediaInfo=t.mediaInfo,i.segmentType=t.type,i.start=t.startTime,i.duration=t.duration,i.end=i.start+i.duration,i.bytes=e,i.index=t.index,i.quality=t.quality,i.representationId=t.representationId,i.endFragment=r,i}(r,t,g.id,e.type!==c.a.FRAGMENT_LOADING_PROGRESS);o.trigger(i?c.a.INIT_FRAGMENT_LOADED:c.a.MEDIA_FRAGMENT_LOADED,{chunk:u,request:t},{streamId:s.id,mediaType:t.mediaType})}else n.warn("No "+t.mediaType+" bytes to push or stream is inactive.")}}return t={getStreamId:y,getModel:function(t){var n=r[t];return n||(n=Object(m.a)(i).create({streamInfo:g,type:t,dashMetrics:f,fragmentLoader:Object(K.a)(i).create({dashMetrics:f,mediaPlayerModel:u,errHandler:s,requestModifier:Object(L.a)(i).getInstance(),settings:e.settings,boxParser:e.boxParser,eventBus:o,events:c.a,errors:E.a,dashConstants:e.dashConstants,urlUtils:e.urlUtils,streamId:y()}),debug:p,eventBus:o,events:c.a}),r[t]=n),n},reset:function(){o.off(h.a.FRAGMENT_LOADING_COMPLETED,v,this),o.off(h.a.FRAGMENT_LOADING_PROGRESS,v,this),_()}},n=p.getLogger(t),_(),o.on(h.a.FRAGMENT_LOADING_COMPLETED,v,t),o.on(h.a.FRAGMENT_LOADING_PROGRESS,v,t),t}q.__dashjs_factory_name="FragmentController";var V=f.a.getClassFactory(q);var W=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.url=null,this.width=null,this.height=null,this.x=null,this.y=null},z=n(29);var X=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.mediaType=null,this.bitrate=null,this.width=null,this.height=null,this.scanType=null,this.qualityIndex=NaN},Q=n(10);function $(e){var t,n,r=this.context,i=e.streamInfo;function o(e){n.setTrackByIndex(e)}function s(){n&&n.reset()}return t={getStreamId:function(){return i.id},initialize:function(){n.addTracks();var e=n.getTracks();e&&e.length>0&&o(0)},provide:function(e,t){if("function"==typeof t){var r,i,a=n.getCurrentTrack();if(!a||a.segmentDuration<=0||null==e)t(null);else{(i=n.getThumbnailRequestForTime(e))&&(a.segmentDuration=i.duration),r=e%a.segmentDuration;var o=Math.floor(r*a.tilesHor*a.tilesVert/a.segmentDuration),s=new W;if(s.width=Math.floor(a.widthPerTile),s.height=Math.floor(a.heightPerTile),s.x=Math.floor(o%a.tilesHor)*a.widthPerTile,s.y=Math.floor(o/a.tilesHor)*a.heightPerTile,"readThumbnail"in a)return a.readThumbnail(e,(function(e){s.url=e,t(s)}));if(i)s.url=i.url,a.segmentDuration=NaN;else{var u=Math.floor(e/a.segmentDuration);s.url=function(e,t){var n=t+e.startNumber,r=Object(Q.d)(e.templateUrl,"Number",n);return r=Object(Q.d)(r,"Time",(n-1)*e.segmentDuration*e.timescale),r=Object(Q.d)(r,"Bandwidth",e.bandwidth),Object(Q.e)(r)}(a,u)}t(s)}}},setTrackByIndex:o,getCurrentTrackIndex:function(){return n.getCurrentTrackIndex()},getBitrateList:function(){var e=n.getTracks(),t=0;return e.map((function(e){var n=new X;return n.mediaType=a.a.IMAGE,n.qualityIndex=t++,n.bitrate=e.bitrate,n.width=e.width,n.height=e.height,n}))},reset:s},s(),n=Object(z.b)(r).create({streamInfo:i,adapter:e.adapter,baseURLController:e.baseURLController,timelineConverter:e.timelineConverter,debug:e.debug,eventBus:e.eventBus,events:e.events,dashConstants:e.dashConstants,dashMetrics:e.dashMetrics,segmentBaseController:e.segmentBaseController}),t}$.__dashjs_factory_name="ThumbnailController";var Z=f.a.getClassFactory($);function J(e){var t;e=e||{};var n=[],r=Object(l.a)(this.context).getInstance(),i=e.updateEventName,a=e.addBlacklistEventName;function o(e){-1===n.indexOf(e)&&(n.push(e),r.trigger(i,{entry:e}))}function s(e){o(e.entry)}return t={add:o,contains:function(e){return!!(n.length&&e&&e.length)&&-1!==n.indexOf(e)},reset:function(){n=[]}},a&&r.on(a,s,t),t}J.__dashjs_factory_name="BlackListController";var ee=f.a.getClassFactory(J),te=[a.a.VIDEO,a.a.AUDIO,a.a.TEXT,a.a.MUXED,a.a.IMAGE];function ne(e){e=e||{};var t,n,r,i,s,u,f,h,p,g,m,_,v,T,S,A,b,I,R=this.context,N=Object(l.a)(R).getInstance(),w=Object(F.a)(R).getInstance(),C=e.manifestModel,D=e.mediaPlayerModel,O=e.dashMetrics,M=e.manifestUpdater,P=e.adapter,L=e.timelineConverter,U=e.capabilities,B=e.errHandler,k=e.abrController,G=e.playbackController,j=e.eventController,H=e.mediaController,K=e.protectionController,q=e.textController,W=e.videoModel,z=e.streamInfo,X=e.settings;function Q(t,i){return new Promise((function(s,u){se(),g=!0,le();var l,d=W.getElement();te.forEach((function(i){(i!==a.a.VIDEO||!d||d&&/^VIDEO$/i.test(d.nodeName))&&function(t,i){var s,u=P.getAllMediaInfoForType(z,t),l=[],d=null;if(!u||0===u.length)return void n.info("No "+t+" data.");t===a.a.VIDEO&&(f=!0);t===a.a.AUDIO&&(h=!0);for(var p=0,g=u.length;p0&&(H.setInitialMediaSettingsForType(t,z),q.setInitialSettings(H.getInitialSettings(t)),q.addMediaInfosToBuffer(z,t,l));if(0===(u=u.filter((function(e){return!e.isEmbedded}))).length)return;if(t===a.a.IMAGE)return void(_=Z(R).create({streamInfo:z,adapter:P,baseURLController:e.baseURLController,timelineConverter:e.timelineConverter,debug:A,eventBus:N,events:c.a,dashConstants:o.a,dashMetrics:e.dashMetrics,segmentBaseController:e.segmentBaseController})).initialize();N.trigger(c.a.STREAM_INITIALIZING,{streamInfo:z,mediaInfo:d}),H.setInitialMediaSettingsForType(t,z);var y=function(t,n){var i=t&&t.length>0?t[0]:null,o=m.getModel(i?i.type:null),s=i?i.type:null,u=i?i.mimeType:null,l=i?i.isFragmented:null,c=Y(R).create({streamInfo:z,type:s,mimeType:u,timelineConverter:L,adapter:P,manifestModel:C,mediaPlayerModel:D,fragmentModel:o,dashMetrics:e.dashMetrics,baseURLController:e.baseURLController,segmentBaseController:e.segmentBaseController,abrController:k,playbackController:G,mediaController:H,textController:q,errHandler:B,settings:X,boxParser:S,segmentBlacklistController:v});c.initialize(n,f,l),r.push(c);for(var d=0;d0&&e.Representation[0].ContentProtection)}function _e(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!e||!e.hasOwnProperty("getStreamInfo"))return!1;var r=e.getStreamInfo(),i=n?n.getStreamInfo():oe();if(!r||!i)return!1;var a=P.getAdaptationForType(r.index,t,r),o=P.getAdaptationForType(i.index,t,i);if(!a||!o)return!a&&!o;var s=a&&o&&a.mimeType===o.mimeType,u=o.Representation_asArray.map((function(e){return e.codecs})),l=a.Representation_asArray.map((function(e){return e.codecs})),c=l.some((function(e){return u.indexOf(e)>-1})),f=l.some((function(e){return u.some((function(t){return U.codecRootCompatibleWithCodec(t,e)}))}));return c||f&&s}function ve(e){T=e}function Te(){return T}return t={initialize:function(){N.on(c.a.BUFFERING_COMPLETED,fe,t),N.on(c.a.DATA_UPDATE_COMPLETED,de,t),N.on(c.a.INBAND_EVENTS,he,t),K&&(N.on(c.a.KEY_ERROR,ue,t),N.on(c.a.SERVER_CERTIFICATE_UPDATED,ue,t),N.on(c.a.LICENSE_REQUEST_COMPLETE,ue,t),N.on(c.a.KEY_SYSTEM_SELECTED,ue,t),N.on(c.a.KEY_SESSION_CREATED,ue,t),N.on(c.a.KEY_STATUSES_CHANGED,ue,t)),q.initializeForStream(z),N.trigger(c.a.STREAM_UPDATED,{streamInfo:z})},getStreamId:function(){return z?z.id:null},activate:function(e,t){return new Promise((function(n,r){if(!s)return Te()?(s=!0,N.trigger(c.a.STREAM_ACTIVATED,{streamInfo:z}),void n(t)):void function(e,t){return Q(e,t)}(e,t).then((function(e){s=!0,N.trigger(c.a.STREAM_ACTIVATED,{streamInfo:z}),n(e)})).catch((function(e){r(e)}));n(t)}))},deactivate:J,getIsActive:function(){return s},getDuration:function(){return z?z.duration:NaN},getStartTime:ie,getId:ae,getStreamInfo:oe,getHasAudioTrack:function(){return h},getHasVideoTrack:function(){return f},startPreloading:function(e,t){return new Promise((function(i,a){Te()?a():(n.info("[startPreloading] Preloading next stream with id ".concat(ae())),ve(!0),Q(e,t).then((function(){for(var e=0;e0;){var e=I.pop(),t=e.newMediaInfo,r=pe(e.oldMediaInfo);if(!r)return;n.push(r.prepareTrackSwitch()),r.selectMediaInfo(t)}return Promise.all(n)})).then((function(){g=!1,ce(),N.trigger(c.a.STREAM_UPDATED,{streamInfo:z}),t()}))}))},reset:function(e){m&&(m.reset(),m=null),k&&z&&k.clearDataForStream(z.id),v&&(v.reset(),v=null),ne(e),z=null,N.off(c.a.DATA_UPDATE_COMPLETED,de,t),N.off(c.a.BUFFERING_COMPLETED,fe,t),N.off(c.a.INBAND_EVENTS,he,t),K&&(N.off(c.a.KEY_ERROR,ue,t),N.off(c.a.SERVER_CERTIFICATE_UPDATED,ue,t),N.off(c.a.LICENSE_REQUEST_COMPLETE,ue,t),N.off(c.a.KEY_SYSTEM_SELECTED,ue,t),N.off(c.a.KEY_SESSION_CREATED,ue,t),N.off(c.a.KEY_STATUSES_CHANGED,ue,t))},getProcessors:me,setMediaSource:function(e){for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:null;return _e(e,a.a.VIDEO,t)&&_e(e,a.a.AUDIO,t)},isProtectionCompatible:function(e){return!e||ye(a.a.VIDEO,e)&&ye(a.a.AUDIO,e)},getPreloaded:Te,getIsEndedEventSignaled:function(){return b},setIsEndedEventSignaled:re,getAdapter:function(){return P},getHasFinishedBuffering:function(){return u},setPreloaded:ve,startScheduleControllers:function(){for(var e=r.length,t=0;t0&&void 0!==arguments[0]&&arguments[0];s=!0;var t=f.getValue(),n=t.url,r=p.getPatchLocation(t),i=p.getLocation(t);r&&!e?n=r:i&&(n=i),v.isRelative(n)&&(n=v.resolve(n,t.url)),u.load(n)}function I(e){if(e){if(p.getIsPatch(e)){var r=e;e=f.getValue();var u=p.isPatchValid(e,r),l=u;if(u){var d=p.getPublishTime(e);l=p.applyPatchToManifest(e,r);var h=p.getPublishTime(e);l=d.getTime()!=h.getTime()}if(!l)return t.debug("Patch provided is invalid, performing full manifest refresh"),void b(!0);e.loadedTime=new Date}}else(e=f.getValue()).loadedTime=new Date;if(f.getValue()&&f.getValue().type===o.a.DYNAMIC&&e.type===o.a.STATIC)return _.trigger(c.a.DYNAMIC_TO_STATIC),s=!1,void(a=!0);f.setValue(e);var g=new Date,m=(g.getTime()-e.loadedTime.getTime())/1e3;1e3*(n=p.getManifestUpdatePeriod(e,m))>2147483647&&(n=2147483.647),_.trigger(c.a.MANIFEST_UPDATED,{manifest:e}),t.info("Manifest has been refreshed at "+g+"["+g.getTime()/1e3+"] "),i||A()}function R(){i||(s?A(m.get().streaming.manifestUpdateRetryInterval):b())}function N(e){e.error?e.error.code===E.a.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE&&g.error(e.error):I(e.manifest)}function w(){i=!1,A()}function C(){(i=!m.get().streaming.scheduling.scheduleWhilePaused)&&S()}function D(){s=!1}return e={initialize:function(){T(),_.on(c.a.STREAMS_COMPOSED,D,this),_.on(h.a.PLAYBACK_STARTED,w,this),_.on(h.a.PLAYBACK_PAUSED,C,this),_.on(c.a.INTERNAL_MANIFEST_LOADED,N,this)},setManifest:function(e){I(e)},refreshManifest:b,setConfig:function(e){e&&(e.manifestModel&&(f=e.manifestModel),e.adapter&&(p=e.adapter),e.manifestLoader&&(u=e.manifestLoader),e.errHandler&&(g=e.errHandler),e.settings&&(m=e.settings))},reset:function(){_.off(h.a.PLAYBACK_STARTED,w,this),_.off(h.a.PLAYBACK_PAUSED,C,this),_.off(c.a.STREAMS_COMPOSED,D,this),_.off(c.a.INTERNAL_MANIFEST_LOADED,N,this),T()}},t=Object(d.a)(y).getInstance().getLogger(e),e}ie.__dashjs_factory_name="ManifestUpdater";var ae=f.a.getClassFactory(ie);function oe(){var e,t,n,r,i,a,o,s,u,f,h,p,g,m,_,T,S=this.context,A=Object(l.a)(S).getInstance(),b=Object(F.a)(S).getInstance();function I(){s=[],u=[],f=null,h=null,g=null,p=NaN,n=!1,r=!1,m=i.get().streaming.utcSynchronization.timeBetweenSyncAttempts}function R(){n||r||!g||!g.value||!g.schemeIdUri||isNaN(p)||isNaN(i.get().streaming.utcSynchronization.backgroundAttempts)||(h&&(Date.now()-h)/1e3<30||(s=[],r=!0,function e(t){try{if(t<=0)return void k();var n=Date.now();a[g.schemeIdUri](g.value,(function(r){var i=Date.now(),a=N(n,i,r);s.push(a),e(t-1)}),(function(){k()}))}catch(e){k()}}(isNaN(i.get().streaming.utcSynchronization.backgroundAttempts)?2:i.get().streaming.utcSynchronization.backgroundAttempts)))}function N(e,t,n){return n-(t-(t-e)/2)}function w(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:NaN,t=isNaN(e);t&&i.get().streaming.utcSynchronization.useManifestDateHeaderTimeSource?U():B(t,e)}function C(e){var t=Date.parse(e);return isNaN(t)&&(t=function(e){var t,n,r=/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2})(?::([0-9]*)(\.[0-9]*)?)?(?:([+\-])([0-9]{2})([0-9]{2}))?/.exec(e);return t=Date.UTC(parseInt(r[1],10),parseInt(r[2],10)-1,parseInt(r[3],10),parseInt(r[4],10),parseInt(r[5],10),r[6]&&(parseInt(r[6],10)||0),r[7]&&1e3*parseFloat(r[7])||0),r[9]&&r[10]&&(n=60*parseInt(r[9],10)+parseInt(r[10],10),t+=("+"===r[8]?-1:1)*n*60*1e3),new Date(t).getTime()}(e)),t}function D(e){return Date.parse(e)}function O(e){return Date.parse(e)}function M(e,t,n){n()}function P(e,t,n){var r=C(e);isNaN(r)?n():t(r)}function L(e,t,n,r,i){var a,o,s=!1,u=new XMLHttpRequest,l=i?v.a.HEAD:v.a.GET,c=t.match(/\S+/g);if(t=c.shift(),a=function(){s||(s=!0,c.length?L(e,c.join(" "),n,r,i):r())},o=function(){var t,r;200===u.status&&(t=i?u.getResponseHeader("Date"):u.response,r=e(t),isNaN(r)||(n(r),s=!0))},b.isRelative(t)){var f=T.resolve();f&&(t=b.resolve(t,f.url))}u.open(l,t),u.timeout=5e3,u.onload=o,u.onloadend=a,u.send()}function x(e,t,n){L(O,e,t,n,!0)}function U(){var e=o.getLatestMPDRequestHeaderValueByID("Date"),t=null!==e?new Date(e).getTime():Number.NaN;isNaN(t)?B(!0):B(!1,t-Date.now())}function B(e,r){if(isNaN(p)||isNaN(r)||e||function(e){try{var n,r=G(e),a=isNaN(m)?30:m,o=isNaN(i.get().streaming.utcSynchronization.timeBetweenSyncAttemptsAdjustmentFactor)?2:i.get().streaming.utcSynchronization.timeBetweenSyncAttemptsAdjustmentFactor,s=isNaN(i.get().streaming.utcSynchronization.maximumTimeBetweenSyncAttempts)?600:i.get().streaming.utcSynchronization.maximumTimeBetweenSyncAttempts,u=isNaN(i.get().streaming.utcSynchronization.minimumTimeBetweenSyncAttempts)?2:i.get().streaming.utcSynchronization.minimumTimeBetweenSyncAttempts;r?(n=Math.min(a*o,s),t.debug("Increasing timeBetweenSyncAttempts to ".concat(n))):(n=Math.max(a/o,u),t.debug("Decreasing timeBetweenSyncAttempts to ".concat(n))),m=n}catch(e){}}(r),!e&&!isNaN(r)){f=Date.now(),n=!1;var a=isNaN(p);p=r,a&&R(),t.debug("Completed UTC sync. Setting client - server offset to ".concat(r))}e&&(g=null,n=!1,_.error(new y.a(E.a.TIME_SYNC_FAILED_ERROR_CODE,E.a.TIME_SYNC_FAILED_ERROR_MESSAGE))),A.trigger(c.a.UPDATE_TIME_SYNC_OFFSET,{offset:r}),A.trigger(c.a.TIME_SYNCHRONIZATION_COMPLETED)}function k(){if(s&&0!==s.length){var e=s.reduce((function(e,t){return e+t}),0)/s.length;G(e)?t.debug("Completed background UTC sync. Offset is within allowed threshold and is not adjusted."):(t.debug("Completed background UTC sync. Setting client - server offset to ".concat(e)),p=e,A.trigger(c.a.UPDATE_TIME_SYNC_OFFSET,{offset:p})),r=!1,h=Date.now()}}function G(e){try{if(isNaN(p))return!0;var t=i.get().streaming.utcSynchronization.maximumAllowedDrift&&!isNaN(i.get().streaming.utcSynchronization.maximumAllowedDrift)?i.get().streaming.utcSynchronization.maximumAllowedDrift:100;return e>=p-t&&e<=p+t}catch(e){return!0}}return e={initialize:function(){I(),a={"urn:mpeg:dash:utc:http-head:2014":x,"urn:mpeg:dash:utc:http-xsdate:2014":L.bind(null,C),"urn:mpeg:dash:utc:http-iso:2014":L.bind(null,D),"urn:mpeg:dash:utc:direct:2014":P,"urn:mpeg:dash:utc:http-head:2012":x,"urn:mpeg:dash:utc:http-xsdate:2012":L.bind(null,C),"urn:mpeg:dash:utc:http-iso:2012":L.bind(null,D),"urn:mpeg:dash:utc:direct:2012":P,"urn:mpeg:dash:utc:http-ntp:2014":M,"urn:mpeg:dash:utc:ntp:2014":M,"urn:mpeg:dash:utc:sntp:2014":M}},attemptSync:function(e,t){u=e,n||(!function(e){try{if(!e)return!1;var t=isNaN(m)?30:m;return!(f&&t&&!isNaN(t))||(Date.now()-f)/1e3>=t}catch(e){return!0}}(t)?A.trigger(c.a.TIME_SYNCHRONIZATION_COMPLETED):(n=!0,function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=t||0;if(!u||0===u.length||n>=u.length)return void w();var r=u[n];if(r)if(a.hasOwnProperty(r.schemeIdUri)){var i=(new Date).getTime();a[r.schemeIdUri](r.value,(function(e){var t=(new Date).getTime(),n=N(i,t,e);g=r,w(n)}),(function(){e(n+1)}))}else e(n+1);else w()}()))},setConfig:function(e){e&&(e.dashMetrics&&(o=e.dashMetrics),e.baseURLController&&(T=e.baseURLController),e.errHandler&&(_=e.errHandler),e.settings&&(i=e.settings))},reset:function(){I(),A.off(c.a.ATTEMPT_BACKGROUND_SYNC,R,e)}},t=Object(d.a)(S).getInstance().getLogger(e),A.on(c.a.ATTEMPT_BACKGROUND_SYNC,R,e),e}oe.__dashjs_factory_name="TimeSyncController";var se=f.a.getSingletonFactory(oe);se.HTTP_TIMEOUT_MS=5e3,f.a.updateSingletonFactory(oe.__dashjs_factory_name,se);var ue=se;function le(){var e,t,n,r=this.context;return e={createMediaSource:function(){var e="WebKitMediaSource"in window;return"MediaSource"in window?t=new MediaSource:e&&(t=new WebKitMediaSource),t},attachMediaSource:function(e){var n=window.URL.createObjectURL(t);return e.setSource(n),n},detachMediaSource:function(e){e.setSource(null)},setDuration:function e(r){t&&"open"===t.readyState&&(null===r&&isNaN(r)||t.duration!==r&&(!function(e){for(var t=e.sourceBuffers,n=0;n=0&&e2&&void 0!==arguments[2]&&arguments[2],r=e.eventStream.schemeIdUri,i=e.eventStream.value,a=e.id,o=p;t[r]||(t[r]=[]);var s=t[r].findIndex((function(e){return(!i||e.eventStream.value&&e.eventStream.value===i)&&e.id===a}));return-1===s?(t[r].push(e),o=m):n&&(t[r][s]=e,o=g),o}function A(e){try{if(1==e.eventStream.value){var t,n=e.calculatedPresentationTime;t=4294967295==e.calculatedPresentationTime?NaN:e.calculatedPresentationTime+e.duration,E.trigger(h.a.MANIFEST_VALIDITY_CHANGED,{id:e.id,validUntil:n,newDuration:t,newManifestValidAfter:NaN},{mode:h.a.EVENT_MODE_ON_START})}}catch(e){}}function b(){try{if(!c){c=!0;var e=s.getTime(),t=e-a;t=a>0?Math.max(0,t):0,I(r,t,e),I(n,t,e),a=e,c=!1}}catch(e){c=!1}}function I(e,n,r){try{N(e,(function(i){if(void 0!==i){var a=isNaN(i.duration)?0:i.duration;i.calculatedPresentationTime<=r&&i.calculatedPresentationTime+n+a>=r?w(i,e,h.a.EVENT_MODE_ON_START):(function(e,t,n){try{return e-t>n}catch(e){return!1}}(r,a+n,i.calculatedPresentationTime)||function(e){try{var t=e.eventStream.period.start+e.eventStream.period.duration;return e.calculatedPresentationTime>t}catch(e){return!1}}(i))&&(t.debug("Deleting event ".concat(i.id," as it is expired or invalid")),C(e,i))}}))}catch(e){}}function R(e){try{var t=s.getTime();N(e,(function(n){var r=n.eventStream&&n.eventStream.period&&!isNaN(n.eventStream.period.duration)?n.eventStream.period.duration:NaN,i=n.eventStream&&n.eventStream.period&&!isNaN(n.eventStream.period.start)?n.eventStream.period.start:NaN;if(!isNaN(r)&&!isNaN(i)){var a=n.calculatedPresentationTime;Math.abs(a-t)<300&&w(n,e,h.a.EVENT_MODE_ON_START)}}))}catch(e){}}function N(e,t){try{if(e)for(var n=Object.keys(e),r=0;re.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&function(e){D=D.filter((function(n){var r=e.filter((function(e){return e.id===n.getId()})).length>0||n.getId()===O.getId();return r||(t.debug("Removing stream ".concat(n.getId())),n.reset(!0)),r}))}(e);for(var n=[],r=0,i=e.length;r0&&n.forEach((function(t){t&&e.push(t)})),e}),[]).reduce((function(e,t){var n=f.convertRepresentationToRepresentationInfo(t);return n&&n.fragmentDuration&&!isNaN(n.fragmentDuration)&&e.push(n.fragmentDuration),e}),[]);n=Math.max.apply(Math,ge(i))}return isFinite(n)?n:NaN}catch(e){return NaN}}(n,o);K.computeAndSetLiveDelay(s,o)}var u=function(){var e;if(f.getIsDynamic()){var n=p.getCurrentDVRInfo(),r=n&&n.range?n.range.end:0;e=r-K.getLiveDelay();var i=n?n.range:null;if(i){var a=Ue(!0);isNaN(a)||(t.info("Start time from URI parameters: "+a),e=Math.max(Math.min(e,a),i.start))}}else{var o=$e()[0].getStreamInfo();e=o.start;var s=Ue(!1);isNaN(s)||(t.info("Start time from URI parameters: "+s),e=Math.max(e,s))}return e}(),l=Ae(u),d=null!==l?l:D[0];ie.trigger(c.a.INITIAL_STREAM_SWITCH,{startTime:u}),fe(d,null,u),z||(z=setInterval((function(){!U&&K.getTimeToStreamEnd()<=0&&!K.isSeeking()&&ie.trigger(c.a.PLAYBACK_ENDED,{isLast:Ke().isLast})}),200))}(e),ie.trigger(c.a.STREAMS_COMPOSED),Me()})).catch((function(e){throw e}))}catch(e){w.error(new y.a(E.a.MANIFEST_ERROR_ID_NOSTREAMS_CODE,e.message+"nostreamscomposed",s.getValue())),j=!0,Xe()}}()}function se(){J=!0}function le(e){var t=qe(e.id);return t?t.updateData(e):(t=re(ne).create({manifestModel:s,mediaPlayerModel:q,dashMetrics:p,manifestUpdater:i,adapter:f,timelineConverter:C,capabilities:n,capabilitiesFilter:r,errHandler:w,baseURLController:_,segmentBaseController:v,textController:P,abrController:S,playbackController:K,eventController:I,mediaController:A,protectionController:M,videoModel:H,streamInfo:e,settings:Z}),D.push(t),t.initialize(),Promise.resolve())}function fe(e,n,r){try{if(U||!e||n===e&&e.getIsActive())return;U=!0,ie.trigger(c.a.STREAM_SWITCH_STARTED,{fromStreamInfo:n?n.getStreamInfo():null,toStreamInfo:e.getStreamInfo()});var i=!1;O=e,n&&(i=Te(e,n),n.deactivate(i)),r=isNaN(r)?!i&&n?e.getStreamInfo().start:NaN:r,t.info("Switch to stream ".concat(e.getId(),". Seektime is ").concat(r,", current playback time is ").concat(K.getTime(),". Seamless period switch is set to ").concat(i)),Q=Q.filter((function(e){return e.getId()!==O.getId()})),K.initialize(Ke(),!!n),H.getElement()&&de(r,i)}catch(e){U=!1}}function de(e,n){var r;function i(){if(Y&&"open"===Y.readyState){t.debug("MediaSource is open!"),window.URL.revokeObjectURL(r),Y.removeEventListener("sourceopen",i),Y.removeEventListener("webkitsourceopen",i),xe();var a=p.getCurrentDVRInfo();g.setSeekable(a.range.start,a.range.end),me(e,n)}}function a(){Y.addEventListener("sourceopen",i,!1),Y.addEventListener("webkitsourceopen",i,!1),r=g.attachMediaSource(H),t.debug("MediaSource attached to element. Waiting on open...")}Y?n?me(e,n):(g.detachMediaSource(H),a()):(Y=g.createMediaSource(),a())}function me(e,t){O.activate(Y,t?X:void 0,e).then((function(t){if(t){var n=Object.keys(t);n.length>0&&t[n[0]].getBuffer().changeType&&($=!0),X=t}isNaN(e)||(ie.trigger(c.a.SEEK_TARGET,{time:e},{streamId:O.getId()}),K.seek(e,!1,!0),O.startScheduleControllers()),U=!1,ie.trigger(c.a.PERIOD_SWITCH_COMPLETED,{toStreamInfo:Ke()})}))}function ye(e){var t=K.getTime(),n=e.seekTime,r=Ae(n);r&&r!==O?r&&r!==O&&(Ee(t,n,r),function(e,t){var n=e&&!isNaN(e.seekTime)?e.seekTime:NaN,r=O.getProcessors().map((function(t){return t.prepareOuterPeriodPlaybackSeeking(e)}));Promise.all(r).then((function(){fe(t,O,n)})).catch((function(e){w.error(e)}))}(e,r)):(Ee(t,n),function(e){O.getProcessors().forEach((function(t){return t.prepareInnerPeriodPlaybackSeeking(e)})),je(k.USER_REQUEST_STOP_REASON)}(e)),Ye(B.SEEK_START_REASON)}function Ee(e,t){_e()}function _e(){Q&&Q.length>0&&(Q.forEach((function(e){e.deactivate(!0)})),Q=[])}function ve(e){e.newMediaInfo.streamInfo.id===O.getId()&&(_e(),O.prepareTrackChange(e))}function Te(e,t){try{return Z.get().streaming.buffer.reuseExistingSourceBuffers&&(t.isProtectionCompatible(e)||J)&&($||t.isMediaCodecCompatible(e,t))}catch(e){return!1}}function Se(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(Y&&!e.getPreloaded()){var n=Te(e,t);n&&e.startPreloading(Y,X).then((function(){Q.push(e)}))}}function Ae(e){if(isNaN(e))return null;for(var t=D.length,n=0;nK.getLiveDelay())&&(W=!1,Ye(B.INITIAL_PLAYOUT_START_REASON),K.play())}e&&e.mediaType&&p.addBufferLevel(e.mediaType,new Date,1e3*e.bufferLevel)}function Re(e){e.streamInfo.id===O.getId()&&e.reason&&e.reason.forceReplace&&_e(),qe(e.streamInfo.id).prepareQualityChange(e)}function Ne(){f.getIsDynamic()&&be()}function we(){if(ke()){var e=H.getPlaybackQuality();e&&p.addDroppedFrames(e)}}function Ce(){t.debug("[onPlaybackStarted]"),!W&&V&&(V=!1,Ye(B.RESUME_FROM_PAUSE_START_REASON))}function De(e){t.debug("[onPlaybackPaused]"),e.ended||(V=!0,je(k.USER_REQUEST_STOP_REASON))}function Oe(e){t.debug("Stream with id ".concat(e.streamInfo.id," finished buffering"));var n=e.streamInfo.isLast;Y&&n?(t.info("[onStreamBufferingCompleted] calls signalEndOfStream of mediaSourceController."),g.signalEndOfStream(Y)):Me()}function Me(){if(O&&O.getHasFinishedBuffering())for(var e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;try{var t=e||(O||null);if(t){var n=t.getStreamInfo();return D.filter((function(e){var t=e.getStreamInfo();return t.start>n.start&&n.id!==t.id}))}}catch(e){return[]}}(O),t=0;t0&&void 0!==arguments[0]?arguments[0]:null,t=e||(O||null);if(!t)return null;var n=t.getStreamInfo(),r=n.start,i=0,a=-1,o=NaN;for(;i0&&(isNaN(o)||l=0)return D[a];return null}();n?(t.debug("StreamController onEnded, found next stream with id ".concat(n.getStreamInfo().id,". Switching from ").concat(O.getStreamInfo().id," to ").concat(n.getStreamInfo().id)),fe(n,O,NaN)):(t.debug("StreamController no next stream found"),O.setIsEndedEventSignaled(!1)),je(n?k.END_OF_PERIOD_STOP_REASON:k.END_OF_CONTENT_STOP_REASON)}e&&e.isLast&&Pe()}function xe(e){var t=e||Ke().manifestInfo.duration;g.setDuration(t)}function Ue(e){var t=T.getURIFragmentData();if(!t||!t.t)return NaN;var n=$e()[0].getStreamInfo().start;t.t=t.t.split(",")[0];var r=-1!==t.t.indexOf("posix:")?"now"===t.t.substring(6)?Date.now()/1e3:parseInt(t.t.substring(6)):NaN;return e&&!isNaN(r)?r-K.getAvailabilityStartTime()/1e3:parseInt(t.t)+n}function Be(e){if(e.error)j=!0,Xe();else{t.info("Manifest updated... updating data system wide.");var n=e.manifest;f.updatePeriods(n);var i=f.getUTCTimingSources();!f.getIsDynamic()||i&&0!==i.length||ie.trigger(h.a.CONFORMANCE_VIOLATION,{level:pe.LEVELS.WARNING,event:pe.EVENTS.NO_UTC_TIMING_ELEMENT});var a=f.getIsDynamic()?i.concat(q.getUTCTimingSources()):i,o=N.isHTTPS(e.manifest.url);a.forEach((function(e){e.value.replace(/.*?:\/\//g,"")===q.getDefaultUtcTimingSource().value.replace(/.*?:\/\//g,"")&&(e.value=e.value.replace(o?new RegExp(/^(http:)?\/\//i):new RegExp(/^(https:)?\/\//i),o?"https://":"http://"),t.debug("Matching default timing source protocol to manifest protocol: ",e.value))})),r.filterUnsupportedFeatures(n).then((function(){_.initialize(n),m.attemptSync(a,f.getIsDynamic())}))}}function ke(){return!!O&&O.getHasVideoTrack()}function Ge(){return!!O&&O.getHasAudioTrack()}function je(e,t){t=t||new Date,Le().forEach((function(n){n.finalisePlayList(t,e)})),p.addPlayList()}function Ye(e){p.createPlaylistMetrics(1e3*K.getTime(),e)}function He(e){if(e.error){var n="";switch(e.error.code){case 1:n="MEDIA_ERR_ABORTED";break;case 2:n="MEDIA_ERR_NETWORK";break;case 3:n="MEDIA_ERR_DECODE",te.counts.mediaErrorDecode+=1;break;case 4:n="MEDIA_ERR_SRC_NOT_SUPPORTED";break;case 5:n="MEDIA_ERR_ENCRYPTED";break;default:n="UNKNOWN"}"MEDIA_ERR_DECODE"===n&&Z.get().errors.recoverAttempts.mediaErrorDecode>=te.counts.mediaErrorDecode?function(){t.warn("A MEDIA_ERR_DECODE occured: Resetting the MediaSource");var e=K.getTime();O.deactivate(!1),t.warn("MediaSource has been resetted. Resuming playback from time ".concat(e)),de(e,!1)}():(G=!0,e.error.message&&(n+=" ("+e.error.message+")"),e.error.msExtendedCode&&(n+=" (0x"+(e.error.msExtendedCode>>>0).toString(16).toUpperCase()+")"),t.fatal("Video Element Error: "+n),e.error&&t.fatal(e.error),w.error(new y.a(e.error.code,n)),Xe())}}function Ke(){return O?O.getStreamInfo():null}function qe(e){for(var t=0,n=D.length;t=10){var e=o.getTime();t===e?R(e,!0):(t=e,a=NaN),r=0}}function A(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=Object.keys(h).some((function(e){return h[e]})),r=!!e&&b();return!t&&n.get().streaming.gaps.jumpGaps&&s.getActiveStreamProcessors().length>0&&(!o.isSeeking()||r)&&!o.isPaused()&&!s.getIsStreamSwitchInProgress()&&!s.getHasMediaOrInitialisationError()}function b(){var e=s.getActiveStream(),t=parseFloat((e.getStartTime().toFixed(5)+e.getDuration()).toFixed(5));return o.getTime()+n.get().streaming.gaps.threshold>=t}function I(e,t){try{if(!e||e.length<=1&&t>0)return NaN;for(var r=NaN,i=0;isNaN(r)&&i0?e.end(i-1):0;t1&&void 0!==arguments[1]&&arguments[1],i=n.get().streaming.gaps.smallGapLimit,l=n.get().streaming.gaps.jumpLargeGaps,c=u.getBufferRange(),d=NaN,h=!1;if(t=I(c,e),!isNaN(t)){var g=c.start(t),m=g-e;m>0&&(m<=i||l)&&(d=g)}var y=o.getTimeToStreamEnd();if(isNaN(d)&&r&&isFinite(y)&&!isNaN(y)&&y0&&a!==d&&d>e&&!f){var E=d-e;if(h){var _=s.getStreamForTime(d),v=_&&!!_.getPreloaded();p.warn("Jumping to end of stream because of gap from ".concat(e," to ").concat(d,". Gap duration: ").concat(E)),o.seek(d,!0,v)}else{var T=o.getIsDynamic(),S=t>0?c.end(t-1):e,A=T?1e3*Math.max(0,E-.1):0;f=window.setTimeout((function(){o.seek(d,!0,!0),p.warn("Jumping gap occuring in period ".concat(s.getActiveStream().getStreamId()," starting at ").concat(S," and ending at ").concat(d,". Jumping by: ").concat(E-A/1e3)),f=null}),A)}a=d}}return e={reset:y,setConfig:function(e){e&&(e.settings&&(n=e.settings),e.playbackController&&(o=e.playbackController),e.streamController&&(s=e.streamController),e.videoModel&&(u=e.videoModel))},initialize:function(){!function(){m.on(c.a.WALLCLOCK_TIME_UPDATED,S,this),m.on(c.a.INITIAL_STREAM_SWITCH,T,this),m.on(c.a.PLAYBACK_SEEKING,E,this),m.on(c.a.BUFFER_REPLACEMENT_STARTED,_,e),m.on(c.a.TRACK_CHANGE_RENDERED,v,e)}()}},p=Object(d.a)(g).getInstance().getLogger(e),y(),e}_e.__dashjs_factory_name="GapController";var ve=f.a.getSingletonFactory(_e);function Te(){var e,t,n,r,i,o,s,u,f=this.context,h=Object(l.a)(f).getInstance();function p(e,t){return e&&n[t]&&n[t][e]?n[t][e].list:[]}function g(e,t){return e&&n[t]&&n[t][e]?n[t][e].current:null}function m(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e&&e.streamInfo){var i=e.type,u=e.streamInfo,l=u.id,f=g(i,l);if(n[l]&&n[l][i]&&!_(e,f)&&(n[l][i].current=e,n[l][i].current&&(i!==a.a.TEXT||i===a.a.TEXT&&e.isFragmented)&&h.trigger(c.a.CURRENT_TRACK_CHANGED,{oldMediaInfo:f,newMediaInfo:e,switchMode:r.get().streaming.trackSwitchMode[i]},{streamId:l}),!t)){var d=T(e);if(!d||!n[l][i].storeLastSettings)return;d.roles&&(d.role=d.roles[0],delete d.roles),d.accessibility&&(d.accessibility=d.accessibility[0]),d.audioChannelConfiguration&&(d.audioChannelConfiguration=d.audioChannelConfiguration[0]),o[i]=d,s.setSavedMediaSettings(i,d)}}}function y(e,t){e&&t&&(i[e]=t)}function E(e){return e?i[e]:null}function _(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;var n=e.id===t.id,r=e.viewpoint===t.viewpoint,i=e.lang===t.lang,a=e.codec===t.codec,o=e.roles.toString()===t.roles.toString(),s=e.accessibility.toString()===t.accessibility.toString(),u=e.audioChannelConfiguration.toString()===t.audioChannelConfiguration.toString();return n&&a&&r&&i&&o&&s&&u}function v(){n={},o={},u=null,i={audio:null,video:null,text:null}}function T(e){var t={lang:e.lang,viewpoint:e.viewpoint,roles:e.roles,accessibility:e.accessibility,audioChannelConfiguration:e.audioChannelConfiguration};return t.lang||t.viewpoint||t.role&&t.role.length>0||t.accessibility&&t.accessibility.length>0||t.audioChannelConfiguration&&t.audioChannelConfiguration.length>0?t:null}function S(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=!e.lang||t.lang.match(e.lang),i=void 0===e.index||null===e.index||t.index===e.index,o=!e.viewpoint||e.viewpoint===t.viewpoint,s=!e.role||!!t.roles.filter((function(t){return t===e.role}))[0],u=!e.accessibility||!!t.accessibility.filter((function(t){return t===e.accessibility}))[0],l=!e.audioChannelConfiguration||!!t.audioChannelConfiguration.filter((function(t){return t===e.audioChannelConfiguration}))[0];return r&&i&&o&&(s||t.type===a.a.AUDIO&&n)&&u&&l}function A(e){var t,n=0,r=[];return e.forEach((function(e){(t=Math.max.apply(Math,e.bitrateList.map((function(e){return e.bandwidth}))))>n?(n=t,r=[e]):t===n&&r.push(e)})),r}function b(e){var t,n=1/0,r=[];return e.forEach((function(e){var i=e.bitrateList.reduce((function(e,t){var n=Math.max(1,t.width*t.height);return e+t.bandwidth/n}),0);(t=i/e.bitrateList.length)n?(n=t,r=[e]):t===n&&r.push(e)})),r}function R(e,n){if(e===a.a.TEXT)return n[0];var i,o=r.get().streaming.selectionModeForInitialTrack;if(u&&"function"==typeof u)i=u(n);else switch(o){case a.a.TRACK_SELECTION_MODE_HIGHEST_SELECTION_PRIORITY:i=function(e){var t=(n=e,r=0,i=[],n.forEach((function(e){isNaN(e.selectionPriority)||(e.selectionPriority>r?(r=e.selectionPriority,i=[e]):e.selectionPriority===r&&i.push(e))})),i);var n,r,i;t.length>1&&(t=A(t));t.length>1&&(t=I(t));return t}(n);break;case a.a.TRACK_SELECTION_MODE_HIGHEST_BITRATE:i=function(e){var t=A(e);t.length>1&&(t=I(t));return t}(n);break;case a.a.TRACK_SELECTION_MODE_FIRST_TRACK:i=N(n);break;case a.a.TRACK_SELECTION_MODE_HIGHEST_EFFICIENCY:i=function(e){var t=b(e);t.length>1&&(t=A(t));return t}(n);break;case a.a.TRACK_SELECTION_MODE_WIDEST_RANGE:i=function(e){var t=I(e);t.length>1&&(t=A(e));return t}(n);break;default:t.warn("Track selection mode ".concat(o," is not supported. Falling back to TRACK_SELECTION_MODE_FIRST_TRACK")),i=N(n)}return i.length>0?i[0]:n[0]}function N(e){return e[0]}return e={setInitialMediaSettingsForType:function(e,t){var n=o[e]||E(e),r=p(e,t.id),i=[];n||(n=s.getSavedMediaSettings(e),y(e,n)),r&&0!==r.length&&(n&&r.forEach((function(t){S(n,t,!!o[e])&&i.push(t)})),0===i.length?m(R(e,r),!0):i.length>1?m(R(e,i,o[e])):m(i[0]))},addTrack:function(e){if(e){var t=e.type;if((r=t)===a.a.AUDIO||r===a.a.VIDEO||r===a.a.TEXT||r===a.a.IMAGE){var r,i=e.streamInfo.id;n[i]||(n[i]={audio:{list:[],storeLastSettings:!0,current:null},video:{list:[],storeLastSettings:!0,current:null},text:{list:[],storeLastSettings:!0,current:null},image:{list:[],storeLastSettings:!0,current:null}});for(var o=n[i][t].list,s=0,u=o.length;s1&&(n.forEach((function(e){r+=e.dvb_weight,i.push(r)})),t=Math.floor(Math.random()*(r-1)),i.every((function(e,n){return a=n,!(t")+2),r=t.resolvedContent.substr(0,i)+""+t.resolvedContent.substr(i)+"",t.resolvedContent=a.xml_str2json(r)}(function(e){var t;for(t=0;t=0;o--){if(t=e.elements[o],n=t.type+"_asArray",t.resolvedContent){if(t.resolvedContent)for(s=0;s0&&r.run(i)}(e),"onActuate"===e.resolveType&&f.trigger(c.a.XLINK_READY,{manifest:i}),"onLoad"===e.resolveType)switch(e.type){case o.a.PERIOD:for(t=0;t=0;a--)(i=e[a]).hasOwnProperty("xlink:href")&&"urn:mpeg:dash:resolve-to-zero:2013"===i["xlink:href"]&&e.splice(a,1);for(a=0;a-1?(p&&(t=p.createMssParser(),p.registerEvents()),t):e.indexOf("MPD")>-1||e.indexOf("Patch")>-1?Object(Qe.a)(u).create({debug:f}):t}(t)),null!==s){i.setMatchers(s.getMatchers()),i.setIron(s.getIron());try{m=s.parse(t)}catch(t){return void d.trigger(c.a.INTERNAL_MANIFEST_LOADED,{manifest:null,error:new y.a(E.a.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE,E.a.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE+"".concat(e))})}m?(m.url=l||e,m.originalUrl||(m.originalUrl=m.url),m.hasOwnProperty(a.a.LOCATION)&&(g=h.parseBaseUrl(m.Location_asArray[0]),n.debug("BaseURI set by Location to: "+g)),m.baseUri=g,m.loadedTime=new Date,i.resolveManifestOnLoad(m),d.trigger(c.a.ORIGINAL_MANIFEST_LOADED,{originalManifest:t})):d.trigger(c.a.INTERNAL_MANIFEST_LOADED,{manifest:null,error:new y.a(E.a.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE,E.a.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE+"".concat(e))})}else d.trigger(c.a.INTERNAL_MANIFEST_LOADED,{manifest:null,error:new y.a(E.a.MANIFEST_LOADER_PARSING_FAILURE_ERROR_CODE,E.a.MANIFEST_LOADER_PARSING_FAILURE_ERROR_MESSAGE+"".concat(e))});else d.trigger(c.a.INTERNAL_MANIFEST_LOADED,{manifest:null})},error:function(t,n,r){d.trigger(c.a.INTERNAL_MANIFEST_LOADED,{manifest:null,error:new y.a(E.a.MANIFEST_LOADER_LOADING_FAILURE_ERROR_CODE,E.a.MANIFEST_LOADER_LOADING_FAILURE_ERROR_MESSAGE+"".concat(e,", ").concat(r))})}})},reset:function(){d.off(c.a.XLINK_READY,m,t),p&&p.reset(),i&&(i.reset(),i=null),r&&(r.abort(),r=null)}},n=f.getLogger(t),d.on(c.a.XLINK_READY,m,t),r=Object(Ue.a)(u).create({errHandler:e.errHandler,dashMetrics:e.dashMetrics,mediaPlayerModel:e.mediaPlayerModel,requestModifier:e.requestModifier,urlUtils:h,constants:a.a,dashConstants:o.a,errors:E.a}),i=Xe(u).create({errHandler:g,dashMetrics:e.dashMetrics,mediaPlayerModel:e.mediaPlayerModel,requestModifier:e.requestModifier,settings:e.settings}),s=null,t}$e.__dashjs_factory_name="ManifestLoader";var Ze=f.a.getClassFactory($e);function Je(){var e=this.context,t=Object(l.a)(e).getInstance();return{error:function(e){t.trigger(c.a.ERROR,{error:e})}}}Je.__dashjs_factory_name="ErrorHandler";var et=f.a.getSingletonFactory(Je),tt=n(46);function nt(){var e,t,n,r,i,o,s=this.context;function u(e,r){if(!r||!r.Period_asArray||0===r.Period_asArray.length)return Promise.resolve();var o=[];return r.Period_asArray.forEach((function(r){o.push(function(e,r){return new Promise((function(o){if(e&&e.AdaptationSet_asArray&&0!==e.AdaptationSet_asArray.length){var s=[];e.AdaptationSet_asArray.forEach((function(e){t.getIsTypeOf(e,r)&&s.push(function(e,r){return new Promise((function(o){if(e.Representation_asArray&&0!==e.Representation_asArray.length){var s=[],u=[];e.Representation_asArray.forEach((function(i,o){var l=t.getCodec(e,o,!1),c=function(e,t,n){switch(e){case a.a.VIDEO:return function(e,t){var n=e.width||null,r=e.height||null,i=e.frameRate||null,a=e.bandwidth||null;return{codec:t,width:n,height:r,framerate:i,bitrate:a}}(t,n);case a.a.AUDIO:return function(e,t){var n=e.audioSamplingRate||null,r=e.bandwidth||null;return{codec:t,bitrate:r,samplerate:n}}(t,n);default:return null}}(r,i,l);u.push(c),s.push(n.supportsCodec(c,r))})),Promise.all(s).then((function(t){e.Representation_asArray=e.Representation_asArray.filter((function(e,n){return t[n]||i.debug("[Stream] Codec ".concat(u[n].codec," not supported ")),t[n]})),o()})).catch((function(){o()}))}else o()}))}(e,r))})),Promise.all(s).then((function(){e.AdaptationSet_asArray=e.AdaptationSet_asArray.filter((function(e){var t=e.Representation_asArray&&e.Representation_asArray.length>0;return t||i.warn("AdaptationSet has been removed because of no supported Representation"),t})),o()})).catch((function(){o()}))}else o()}))}(r,e))})),Promise.all(o)}return e={setConfig:function(e){e&&(e.adapter&&(t=e.adapter),e.capabilities&&(n=e.capabilities),e.settings&&(r=e.settings))},filterUnsupportedFeatures:function(e){return new Promise((function(s){var l=[];l.push(u(a.a.VIDEO,e)),l.push(u(a.a.AUDIO,e)),Promise.all(l).then((function(){r.get().streaming.capabilities.filterUnsupportedEssentialProperties&&function(e){if(!e||!e.Period_asArray||0===e.Period_asArray.length)return;e.Period_asArray.forEach((function(e){e.AdaptationSet_asArray=e.AdaptationSet_asArray.filter((function(e){return!e.Representation_asArray||0===e.Representation_asArray.length||(e.Representation_asArray=e.Representation_asArray.filter((function(e){var r=t.getEssentialPropertiesForRepresentation(e);if(r&&r.length>0)for(var a=0;a0)}))}))}(e),function(e){if(!o||0===o.length||!e||!e.Period_asArray||0===e.Period_asArray.length)return;e.Period_asArray.forEach((function(e){e.AdaptationSet_asArray=e.AdaptationSet_asArray.filter((function(e){return!e.Representation_asArray||0===e.Representation_asArray.length||(e.Representation_asArray=e.Representation_asArray.filter((function(e){return!o.some((function(t){return!t(e)}))})),e.Representation_asArray&&e.Representation_asArray.length>0)}))}))}(e),s()})).catch((function(){s()}))}))},setCustomCapabilitiesFilters:function(e){o=e}},i=Object(d.a)(s).getInstance().getLogger(e),e}nt.__dashjs_factory_name="CapabilitiesFilter";var rt=f.a.getSingletonFactory(nt);var it=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.t=null,this.xywh=null,this.track=null,this.id=null,this.s=null,this.r=null};function at(){var e;return{initialize:function(t){if(e=new it,!t)return null;var n=t.indexOf("#");if(-1!==n)for(var r=t.substr(n+1).split("&"),i=0,a=r.length;i0&&r[e.mediaType].ignoreCount--}return t={getMaxIndex:function(e){var t=ht(i).create();if(!e||!e.hasOwnProperty("getMediaType"))return t;!function(){if(!s||!s.hasOwnProperty("getCurrentBufferLevel")||!s.hasOwnProperty("getCurrentBufferState"))throw new Error(a.a.MISSING_CONFIG_ERROR)}();var o=e.getMediaType(),l=s.getCurrentBufferState(o),c=e.getRepresentationInfo().fragmentDuration,d=e.getStreamInfo(),h=d?d.id:null;if(function(e){return!f.get().streaming.lowLatencyEnabled&&r[e].ignoreCount>0}(o)||!c)return t;if(l&&l.state===u.BUFFER_EMPTY)n.debug("["+o+"] Switch to index 0; buffer is empty."),t.quality=0,t.reason="InsufficientBufferRule: Buffer is empty";else{var p=e.getMediaInfo(),g=e.getAbrController(),m=g.getThroughputHistory(),y=s.getCurrentBufferLevel(o),E=m.getAverageThroughput(o),_=m.getAverageLatency(o),v=E*(y/c)*.5;t.quality=g.getQualityForBitrate(p,v,h,_),t.reason="InsufficientBufferRule: being conservative to avoid immediate rebuffering"}return t},reset:function(){p(),o.off(h.a.PLAYBACK_SEEKING,g,t),o.off(c.a.BYTES_APPENDED_END_FRAGMENT,m,t)}},n=Object(d.a)(i).getInstance().getLogger(t),p(),o.on(h.a.PLAYBACK_SEEKING,g,t),o.on(c.a.BYTES_APPENDED_END_FRAGMENT,m,t),t}mt.__dashjs_factory_name="InsufficientBufferRule";var yt=f.a.getClassFactory(mt);function Et(e){e=e||{};var t,n,r,i,a,o=this.context,s=e.mediaPlayerModel,u=e.dashMetrics,l=e.settings;function c(){r={},i={},a=[]}return t={shouldAbandon:function(e){var t=ht(o).create(ht.NO_CHANGE,{name:Et.__dashjs_factory_name});if(!(e&&e.hasOwnProperty("getMediaInfo")&&e.hasOwnProperty("getMediaType")&&e.hasOwnProperty("getCurrentRequest")&&e.hasOwnProperty("getRepresentationInfo")&&e.hasOwnProperty("getAbrController")))return t;var c,f,d=e.getMediaInfo(),h=e.getMediaType(),p=e.getStreamInfo(),g=p?p.id:null,m=e.getCurrentRequest();if(!isNaN(m.index)){c=h,f=m.index,r[c]=r[c]||{},r[c][f]=r[c][f]||{};var y=s.getStableBufferTime();if(u.getCurrentBufferLevel(h)>y)return t;var E=r[h][m.index];if(null===E||null===m.firstByteDate||i.hasOwnProperty(E.id))return t;if(void 0===E.firstByteTime&&(a[h]=[],E.firstByteTime=m.firstByteDate.getTime(),E.segmentDuration=m.duration,E.bytesTotal=m.bytesTotal,E.id=m.index),E.bytesLoaded=m.bytesLoaded,E.elapsedTime=(new Date).getTime()-E.firstByteTime,E.bytesLoaded>0&&E.elapsedTime>0&&function(e,t){a[e]=a[e]||[],a[e].push(t)}(h,Math.round(8*E.bytesLoaded/E.elapsedTime)),a[h].length>=5&&E.elapsedTime>500&&E.bytesLoadedE.bytesTotal*S[I].bitrate/S[v.getQualityFor(h,g)].bitrate&&(t.quality=I,t.reason.throughput=E.measuredBandwidthInKbps,t.reason.fragmentID=E.id,i[E.id]=E,n.debug("["+h+"] frag id",E.id," is asking to abandon and switch to quality to ",I," measured bandwidth was",E.measuredBandwidthInKbps),delete r[h][E.id])}}else E.bytesLoaded===E.bytesTotal&&delete r[h][E.id]}return t},reset:c},n=Object(d.a)(o).getInstance().getLogger(t),c(),t}Et.__dashjs_factory_name="AbandonRequestsRule";var _t=f.a.getClassFactory(Et);function vt(){var e,t,n=this.context;return e={getMaxIndex:function(e){var r=ht(n).create();if(!e||!e.hasOwnProperty("getDroppedFramesHistory"))return r;var i=e.getDroppedFramesHistory(),a=e.getStreamInfo().id;if(i){var o=i.getFrameHistory(a);if(!o||0===o.length)return r;for(var s=0,u=0,l=ht.NO_CHANGE,c=1;c375&&s/u>.15)){l=c-1,t.debug("index: "+l+" Dropped Frames: "+s+" Total Frames: "+u);break}return ht(n).create(l,{droppedFrames:s})}return r}},t=Object(d.a)(n).getInstance().getLogger(e),e}vt.__dashjs_factory_name="DroppedFramesRule";var Tt=f.a.getClassFactory(vt);function St(){var e,t,n=this.context;return e={getMaxIndex:function(e){for(var r=e?e.getSwitchHistory():null,i=r?r.getSwitchRequests():[],a=0,o=0,s=0,u=ht(n).create(),l=0;l=6&&a/o>.075)){u.quality=l>0&&i[l].drops>0?l-1:l,u.reason={index:u.quality,drops:a,noDrops:o,dropSize:s},t.debug("Switch history rule index: "+u.quality+" samples: "+(a+o)+" drops: "+a);break}return u}},t=Object(d.a)(n).getInstance().getLogger(e),e}St.__dashjs_factory_name="SwitchHistoryRule";var At=f.a.getClassFactory(St);function bt(e){e=e||{};var t,n,r,i=this.context,a=e.dashMetrics,o=e.mediaPlayerModel,s=Object(l.a)(i).getInstance();function f(e,t,n){var r=n.reduce((function(e,t,r){return t>n[e]?r:e}),0);if(0===r)return null;var i=Math.max(e,10+2*t.length),a=(n[r]-1)/(i/10-1);return{gp:a,Vp:10/a}}function p(e){var t={},n=e.getMediaInfo().bitrateList.map((function(e){return e.bandwidth})),r=function(e){return e.map((function(e){return Math.log(e)}))}(n);r=r.map((function(e){return e-r[0]+1}));var i=o.getStableBufferTime(),a=f(i,n,r);return a?(t.state=1,t.bitrates=n,t.utilities=r,t.stableBufferTime=i,t.Vp=a.Vp,t.gp=a.gp,t.lastQuality=0,g(t)):t.state=0,t}function g(e){e.placeholderBuffer=0,e.mostAdvancedSegmentStart=NaN,e.lastSegmentWasReplacement=!1,e.lastSegmentStart=NaN,e.lastSegmentDurationS=NaN,e.lastSegmentRequestTimeMs=NaN,e.lastSegmentFinishTimeMs=NaN}function m(e,t){var n=o.getStableBufferTime();if(e.stableBufferTime!==n){var r=f(n,e.bitrates,e.utilities);if(r.Vp!==e.Vp||r.gp!==e.gp){var i=a.getCurrentBufferLevel(t),s=i+e.placeholderBuffer;s-=10,s*=r.Vp/e.Vp,s+=10,e.stableBufferTime=n,e.Vp=r.Vp,e.gp=r.gp,e.placeholderBuffer=Math.max(0,s-i)}}}function y(e,t){return e.Vp*(e.utilities[t]+e.gp)}function E(e,t){for(var n=e.bitrates[t],r=e.utilities[t],i=0,a=t-1;a>=0;--a)if(e.utilities[a]t.mostAdvancedSegmentStart?(t.mostAdvancedSegmentStart=n,t.lastSegmentWasReplacement=!1):t.lastSegmentWasReplacement=!0,t.lastSegmentStart=n,t.lastSegmentDurationS=e.chunk.duration,t.lastQuality=e.chunk.quality,b(t,e.chunk.mediaInfo.type)}}}function A(e){if(e&&e.metric===u.HTTP_REQUEST&&e.value&&e.value.type===v.a.MEDIA_SEGMENT_TYPE&&e.value.trace&&e.value.trace.length){var t=r[e.mediaType];t&&0!==t.state&&(t.lastSegmentRequestTimeMs=e.value.trequest.getTime(),t.lastSegmentFinishTimeMs=e.value._tfinish.getTime(),b(t,e.mediaType))}}function b(e,t){if(!isNaN(e.lastSegmentStart)&&!isNaN(e.lastSegmentRequestTimeMs)&&!isNaN(e.placeholderBuffer)){if(e.placeholderBuffer*=.99,!isNaN(e.lastSegmentFinishTimeMs)){var n=a.getCurrentBufferLevel(t)+.001*(e.lastSegmentFinishTimeMs-e.lastSegmentRequestTimeMs),r=y(e,e.lastQuality),i=Math.max(0,r-n);e.placeholderBuffer=Math.min(i,e.placeholderBuffer)}e.lastSegmentWasReplacement&&!isNaN(e.lastSegmentDurationS)&&(e.placeholderBuffer+=e.lastSegmentDurationS),e.lastSegmentStart=NaN,e.lastSegmentRequestTimeMs=NaN}}function I(e){if(e){var t=r[e.mediaType];t&&0!==t.state&&(t.abrQuality=e.newQuality)}}function R(e){if(e){var t=r[e.mediaType];if(t&&0!==t.state){var n,i=a.getCurrentBufferLevel(e.mediaType);n=t.abrQuality>0?E(t,t.abrQuality):10;var o=Math.max(0,n-i);t.placeholderBuffer=Math.min(t.placeholderBuffer,o)}}}function N(){r={}}return t={getMaxIndex:function(e){var t=ht(i).create();if(!(e&&e.hasOwnProperty("getMediaInfo")&&e.hasOwnProperty("getMediaType")&&e.hasOwnProperty("getScheduleController")&&e.hasOwnProperty("getStreamInfo")&&e.hasOwnProperty("getAbrController")&&e.hasOwnProperty("useBufferOccupancyABR")))return t;var o=e.getMediaInfo(),s=e.getMediaType(),u=e.getScheduleController(),l=e.getStreamInfo(),c=e.getAbrController(),f=c.getThroughputHistory(),d=l?l.id:null,h=l&&l.manifestInfo&&l.manifestInfo.isDynamic,_=e.useBufferOccupancyABR();if(t.reason=t.reason||{},!_)return t;u.setTimeToLoadDelay(0);var v=function(e){var t=e.getMediaType(),n=r[t];return n?0!==n.state&&m(n,t):(n=p(e),r[t]=n),n}(e);if(0===v.state)return t;var T,S=a.getCurrentBufferLevel(s),A=f.getAverageThroughput(s,h),b=f.getSafeAverageThroughput(s,h),I=f.getAverageLatency(s);if(t.reason.state=v.state,t.reason.throughput=A,t.reason.latency=I,isNaN(A))return t;switch(v.state){case 1:T=c.getQualityForBitrate(o,b,d,I),t.quality=T,t.reason.throughput=b,v.placeholderBuffer=Math.max(0,E(v,T)-S),v.lastQuality=T,!isNaN(v.lastSegmentDurationS)&&S>=v.lastSegmentDurationS&&(v.state=2);break;case 2:!function(e,t){var n=Date.now();if(isNaN(e.lastSegmentFinishTimeMs)){if(!isNaN(e.lastCallTimeMs)){var r=.001*(n-e.lastCallTimeMs);e.placeholderBuffer+=Math.max(0,r)}}else{var i=.001*(n-e.lastSegmentFinishTimeMs);e.placeholderBuffer+=Math.max(0,i)}e.lastCallTimeMs=n,e.lastSegmentStart=NaN,e.lastSegmentRequestTimeMs=NaN,e.lastSegmentFinishTimeMs=NaN,m(e,t)}(v,s),T=function(e,t){for(var n=e.bitrates.length,r=NaN,i=NaN,a=0;a=i)&&(i=o,r=a)}return r}(v,S+v.placeholderBuffer);var R=c.getQualityForBitrate(o,b,d,I);T>v.lastQuality&&T>R&&(T=Math.max(R,v.lastQuality));var N=Math.max(0,S+v.placeholderBuffer-y(v,T));N<=v.placeholderBuffer?(v.placeholderBuffer-=N,N=0):(N-=v.placeholderBuffer,v.placeholderBuffer=0,Tt.mostAdvancedSegmentStart?(t.mostAdvancedSegmentStart=a,t.lastSegmentWasReplacement=!1):t.lastSegmentWasReplacement=!0,t.lastSegmentStart=a,t.lastSegmentDurationS=e.chunk.duration,t.lastQuality=e.chunk.quality,E(t,i)}}}function y(e){if(e&&e.metric===u.HTTP_REQUEST&&e.value&&e.value.type===v.a.MEDIA_SEGMENT_TYPE&&e.value.trace&&e.value.trace.length){var t=n[e.mediaType],i=r[e.mediaType];t&&0!==t.state&&(t.lastSegmentRequestTimeMs=e.value.trequest.getTime(),t.lastSegmentFinishTimeMs=e.value._tfinish.getTime(),E(t,i))}}function E(e,t){isNaN(e.lastSegmentStart)||isNaN(e.lastSegmentRequestTimeMs)||(t.segment_request_start_s=.001*e.lastSegmentRequestTimeMs,t.segment_download_finish_s=.001*e.lastSegmentFinishTimeMs,e.lastSegmentStart=NaN,e.lastSegmentRequestTimeMs=NaN)}function _(e){if(e&&e.mediaType){var t=n[e.mediaType];t&&0!==t.state&&(t.abrQuality=e.newQuality)}}function T(e,t){if(e.length!==t.length)return-1;for(var n=0,r=0;r=D.B_target){C.state=2,D.Q=l;for(var O=0;OF&&(U=-1),D.w[B]=D.prev_w[B]+U*(x/(2*c))*((D.Q+l)*(w*g[B]/F));D.w=function(e){for(var t=e.length,n=!1,r=[],i=0;i=a[l+1]){n=!0;break}n||(s=(o+a[t-1]-1)/t);for(var c=0;cC.lastQuality&&g[C.lastQuality+1]<=F&&(t=C.lastQuality+1),g[t]>=F&&(D.Q=2*Math.max(l,D.Q)),u.quality=t,u.reason.throughput=R,u.reason.latency=N,u.reason.bufferLevel=b,C.lastQuality=u.quality;break;default:i.debug("L2A ABR rule invoked in bad state."),u.quality=_.getQualityForBitrate(f,I,E.id,N),u.reason.state=C.state,u.reason.throughput=I,u.reason.latency=N,C.state=1,p(C)}return u},reset:function(){S(),f.off(c.a.PLAYBACK_SEEKING,g,t),f.off(c.a.MEDIA_FRAGMENT_LOADED,m,t),f.off(c.a.METRIC_ADDED,y,t),f.off(c.a.QUALITY_CHANGE_REQUESTED,_,t)}},i=Object(d.a)(o).getInstance().getLogger(t),S(),f.on(c.a.PLAYBACK_SEEKING,g,t),f.on(c.a.MEDIA_FRAGMENT_LOADED,m,t),f.on(c.a.METRIC_ADDED,y,t),f.on(c.a.QUALITY_CHANGE_REQUESTED,_,t),t}Rt.__dashjs_factory_name="L2ARule";var Nt=f.a.getClassFactory(Rt),wt="manual_weight_selection",Ct="random_weight_selection",Dt="dynamic_weight_selection";function Ot(){var e,t,n,r,i,a,o,s,u,l=this.context;function c(){n=null,r=1,i=100,a=0,o=null,s=null,u=Dt}function f(){var e=0;if(n)for(var t=0;te&&(e=r.state.throughput)}return e}function h(e,t,n){var r=e.map((function(e,r){return n[r]*Math.pow(e-t[r],2)})).reduce((function(e,t){return e+t}));return(r<0?-1:1)*Math.sqrt(Math.abs(r))}function p(e,t){return h([e.state.throughput,e.state.latency,e.state.rebuffer,e.state.switch],[t.state.throughput,t.state.latency,t.state.rebuffer,t.state.switch],[1,1,1,1])}function g(e,t,n){for(var r=0;ro)&&(a=u,o=l)}t.push(a)}for(var p=null,g=null,m=0;mp)&&(p=y,g=m)}var _=[];_.push(t[g]),t.splice(g,1);for(;t.length>0;){for(var v=null,T=null,S=0;S1&&(A=f()),c/=i,t.debug("getNextQuality called throughput:".concat(A," latency:").concat(c," bufferSize:").concat(d," currentQualityIndex:").concat(m," playbackRate:").concat(p));var b=S[m],I=b.bitrate*E.getSegmentDuration()/T,R=Math.max(0,I-v);if(v-In?e-n:e+n-t}return t={getMinBuffer:function(){return s},getSegmentDuration:c,getNextBufferWithBitrate:function(e,t,n){return f(t,e*u/n)},getNextBuffer:f,findWeightVector:function(e,t,i,a,c,d){var h=null,p=null,g=null,m=Math.abs(t-r);return e.forEach((function(e){n.forEach((function(n){n[0];var r=n[1],a=n[2],y=(n[3],e.bitrate*u/c),E=f(i,y),_=(0===a?10:1/a)*Math.max(1e-5,y-E),v=(0===r?10:1/r)*e.state.latency,T=l.calculateSingleUseQoe(e.bitrate,_,v,d);(null===h||T>h)&&function(e,t,n){if(e>o+n)return!1;return t>=s}(t,E,m)&&(h=T,p=n,g=e.bitrate)}))})),null===p&&null===g&&(p=-1),r=t,p}},i=[.2,.4,.6,.8,1],a=4,n=function e(t,n,r){if(r===n)return t;for(var a=t.length,o=0;oI?I=N:NA?D-A:0;i.setupPerSegmentQoe(A,I,b),i.logSegmentMetrics(w,O,_,v);var M=Ut(s).create({targetLatency:1.5,bufferMin:.3,segmentDuration:A,qoeEvaluator:i});return n.quality=r.getNextQuality(h,1e3*T,_,m,v,d,M),n.reason={throughput:T,latency:_},n.priority=ht.PRIORITY.STRONG,g.setTimeToLoadDelay(0),n.quality!==d&&console.log("[TgcLearningRule]["+l+"] requesting switch to index: ",n.quality,"Average throughput",Math.round(T),"kbps"),n}catch(e){throw e}},reset:function(){r.reset(),i.reset()}},t=Object(d.a)(s).getInstance().getLogger(n),r=Mt(s).create(),i=Ft(s).create(),n}Bt.__dashjs_factory_name="LoLPRule";var kt=f.a.getClassFactory(Bt);function Gt(e){e=e||{};var t,n,r=this.context,i=e.mediaPlayerModel,o=e.dashMetrics,s=e.settings;function u(e){return e.filter((function(e){return e.quality>ht.NO_CHANGE}))}function l(e){var t,n,i,a,o,s={},u=null;if(0!==e.length){for(s[ht.PRIORITY.STRONG]={quality:ht.NO_CHANGE,reason:null},s[ht.PRIORITY.WEAK]={quality:ht.NO_CHANGE,reason:null},s[ht.PRIORITY.DEFAULT]={quality:ht.NO_CHANGE,reason:null},t=0,n=e.length;ti.quality)&&(s[i.priority].quality=i.quality,s[i.priority].reason=i.reason||null);return s[ht.PRIORITY.WEAK].quality!==ht.NO_CHANGE&&(u=s[ht.PRIORITY.WEAK]),s[ht.PRIORITY.DEFAULT].quality!==ht.NO_CHANGE&&(u=s[ht.PRIORITY.DEFAULT]),s[ht.PRIORITY.STRONG].quality!==ht.NO_CHANGE&&(u=s[ht.PRIORITY.STRONG]),u&&(a=u.quality,o=u.reason),ht(r).create(a,o)}}return{initialize:function(){t=[],n=[],s.get().streaming.abr.useDefaultABRRules&&(s.get().streaming.abr.ABRStrategy===a.a.ABR_STRATEGY_L2A?t.push(Nt(r).create({dashMetrics:o,mediaPlayerModel:i,settings:s})):s.get().streaming.abr.ABRStrategy===a.a.ABR_STRATEGY_LoLP?t.push(kt(r).create({dashMetrics:o})):(t.push(It(r).create({dashMetrics:o,mediaPlayerModel:i,settings:s})),t.push(gt(r).create({dashMetrics:o})),s.get().streaming.abr.additionalAbrRules.insufficientBufferRule&&t.push(yt(r).create({dashMetrics:o,settings:s})),s.get().streaming.abr.additionalAbrRules.switchHistoryRule&&t.push(At(r).create()),s.get().streaming.abr.additionalAbrRules.droppedFramesRule&&t.push(Tt(r).create()),s.get().streaming.abr.additionalAbrRules.abandonRequestsRule&&n.push(_t(r).create({dashMetrics:o,mediaPlayerModel:i,settings:s})))),i.getABRCustomRules().forEach((function(e){"qualitySwitchRules"===e.type&&t.push(e.rule(r).create()),"abandonFragmentRules"===e.type&&n.push(e.rule(r).create())}))},reset:function(){[t,n].forEach((function(e){e&&e.length&&e.forEach((function(e){return e.reset&&e.reset()}))})),t=[],n=[]},getMaxQuality:function(e){return l(u(t.map((function(t){return t.getMaxIndex(e)}))))||ht(r).create()},getMinSwitchRequest:l,shouldAbandonFragment:function(e,t){return l(u(n.map((function(n){return n.shouldAbandon(e,t)}))))||ht(r).create()},getQualitySwitchRules:function(){return t}}}Gt.__dashjs_factory_name="ABRRulesCollection";var jt=f.a.getClassFactory(Gt);jt.QUALITY_SWITCH_RULES="qualitySwitchRules",jt.ABANDON_FRAGMENT_RULES="abandonFragmentRules",f.a.updateSingletonFactory(Gt.__dashjs_factory_name,jt);var Yt=jt;function Ht(){var e,t,n,r,i=this.context,o=Object(_.a)(i).getInstance();function s(e){var t;for(t=0;t-1?e:o.get().streaming.buffer.fastSwitchEnabled?20:12}function l(){return o.get().streaming.lowLatencyEnabled?o.get().streaming.delay.liveDelay||3:o.get().streaming.delay.liveDelay}function c(e,n){f(e,n);var r=new lt.a;r.schemeIdUri=e,r.value=n,t.push(r)}function f(e,n){Object(M.b)(e,"string"),Object(M.b)(n,"string"),t.forEach((function(r,i){r.schemeIdUri===e&&r.value===n&&t.splice(i,1)}))}return e={getABRCustomRules:function(){return r},addABRCustomRule:function(e,t,n){if("string"!=typeof e||e!==Yt.ABANDON_FRAGMENT_RULES&&e!==Yt.QUALITY_SWITCH_RULES||"string"!=typeof t)throw a.a.BAD_ARGUMENT_ERROR;var i=s(t);-1===i?r.push({type:e,rulename:t,rule:n}):(r[i].type=e,r[i].rule=n)},removeABRCustomRule:function(e){if(e){var t=s(e);-1!==t&&r.splice(t,1)}else r=[]},getStableBufferTime:u,getInitialBufferLevel:function(){var e=o.get().streaming.buffer.initialBufferLevel;return isNaN(e)||e<0?0:Math.min(u(),e)},getRetryAttemptsForType:function(e){var t=isNaN(o.get().streaming.retryAttempts.lowLatencyMultiplyFactor)?5:o.get().streaming.retryAttempts.lowLatencyMultiplyFactor;return o.get().streaming.lowLatencyEnabled?o.get().streaming.retryAttempts[e]*t:o.get().streaming.retryAttempts[e]},getRetryIntervalsForType:function(e){var t=isNaN(o.get().streaming.retryIntervals.lowLatencyReductionFactor)?10:o.get().streaming.retryIntervals.lowLatencyReductionFactor;return o.get().streaming.lowLatencyEnabled?o.get().streaming.retryIntervals[e]/t:o.get().streaming.retryIntervals[e]},getLiveDelay:l,getLiveCatchupLatencyThreshold:function(){try{var e=o.get().streaming.liveCatchup.latencyThreshold,t=l();if(null!==e&&!isNaN(e))return Math.max(e,t);var n=o.get().streaming.liveCatchup.minDrift,r=!isNaN(t)&&t?isNaN(n)?l():o.get().streaming.liveCatchup.minDrift+l():NaN;return r&&!isNaN(r)?Math.max(4*r,5):NaN}catch(e){return NaN}},addUTCTimingSource:c,removeUTCTimingSource:f,getUTCTimingSources:function(){return t},clearDefaultUTCTimingSources:function(){t=[]},restoreDefaultUTCTimingSources:function(){var e=o.get().streaming.utcSynchronization.defaultTimingSource;c(e.scheme,e.value)},setXHRWithCredentialsForType:function e(t,r){t?n[t]=!!r:Object.keys(n).forEach((function(t){e(t,r)}))},getXHRWithCredentialsForType:function(e){var t=n[e];return void 0===t?n.default:t},getDefaultUtcTimingSource:function(){return o.get().streaming.utcSynchronization.defaultTimingSource},reset:function(){}},t=[],n={default:!1},r=[],e}Ht.__dashjs_factory_name="MediaPlayerModel";var Kt=f.a.getSingletonFactory(Ht);function qt(e){var t=(e=e||{}).abrController,n=e.switchHistory,r=e.droppedFramesHistory,i=e.currentRequest,a=e.useBufferOccupancyABR,o=e.useL2AABR,s=e.useLoLPABR,u=e.streamProcessor?e.streamProcessor.getScheduleController():null,l=e.streamProcessor?e.streamProcessor.getRepresentationInfo():null,c=e.videoModel?e.videoModel:null;function f(){return l?l.mediaInfo:null}return{getMediaType:function(){var e=f();return e?e.type:null},getMediaInfo:f,getDroppedFramesHistory:function(){return r},getCurrentRequest:function(){return i},getSwitchHistory:function(){return n},getStreamInfo:function(){var e=f();return e?e.streamInfo:null},getScheduleController:function(){return u},getAbrController:function(){return t},getRepresentationInfo:function(){return l},useBufferOccupancyABR:function(){return a},useL2AABR:function(){return o},useLoLPABR:function(){return s},getVideoModel:function(){return c}}}qt.__dashjs_factory_name="RulesContext";var Vt=f.a.getClassFactory(qt);function Wt(){var e=[],t=[];return{push:function(n){n.newValue===ht.NO_CHANGE&&(n.newValue=n.oldValue),e[n.oldValue]||(e[n.oldValue]={noDrops:0,drops:0,dropSize:0});var r=n.newValue-n.oldValue,i=r<0?1:0,a=i?-r:0,o=i?0:1;if(e[n.oldValue].drops+=i,e[n.oldValue].dropSize+=a,e[n.oldValue].noDrops+=o,t.push({idx:n.oldValue,noDrop:o,drop:i,dropSize:a}),t.length>8){var s=t.shift();e[s.idx].drops-=s.drop,e[s.idx].dropSize-=s.dropSize,e[s.idx].noDrops-=s.noDrop}},getSwitchRequests:function(){return e},reset:function(){e=[],t=[]}}}Wt.__dashjs_factory_name="SwitchRequestHistory";var zt=f.a.getClassFactory(Wt);function Xt(){var e={},t={},n={};return{push:function(r,i,a){if(i){e[r]||(e[r]=[],t[r]=0,n[r]=0);var o=a&&a.droppedVideoFrames?a.droppedVideoFrames:0,s=a&&a.totalVideoFrames?a.totalVideoFrames:0,u=o-t;t[r]=o;var l=s-n;n[r]=s;var c=e[r];isNaN(i)||(c[i]?(c[i].droppedVideoFrames+=u,c[i].totalVideoFrames+=l):c[i]={droppedVideoFrames:u,totalVideoFrames:l})}},getFrameHistory:function(t){return e[t]},clearForStream:function(r){try{delete e[r],delete t[r],delete n[r]}catch(e){}},reset:function(){e={},t={},n={}}}}Xt.__dashjs_factory_name="DroppedFramesHistory";var Qt=f.a.getClassFactory(Xt);function $t(e){var t,n,r,i,o,s=(e=e||{}).settings;function u(e,t,n,r){var i=Math.pow(.5,n/r.fast);e.fastEstimate=(1-i)*t+i*e.fastEstimate;var a=Math.pow(.5,n/r.slow);e.slowEstimate=(1-a)*t+a*e.slowEstimate,e.totalWeight+=n}function l(e,u,l){return s.get().streaming.abr.movingAverageMethod!==a.a.MOVING_AVERAGE_SLIDING_WINDOW?function(e,t){var n=e?o.throughputHalfLife:o.latencyHalfLife,a=e?r[t]:i[t];if(!a||a.totalWeight<=0)return NaN;var s=a.fastEstimate/(1-Math.pow(.5,a.totalWeight/n.fast)),u=a.slowEstimate/(1-Math.pow(.5,a.totalWeight/n.slow));return e?Math.min(s,u):Math.max(s,u)}(e,u):function(e,r,i){var a=function(e,r,i){var a,o;if(e?(a=t[r],o=i?3:4):(a=n[r],o=4),a){if(o>=a.length)o=a.length;else if(e)for(var s=1;s=1.3||u<=1/1.3)&&(o+=1)===a.length)break}}else o=0;return o}(e,r,i),o=(e?t:n)[r];if(0===a||!o||0===o.length)return NaN;return(o=o.slice(-a)).reduce((function(e,t){return e+t}))/o.length}(e,u,l)}function c(e,t){return l(!0,e,t)}function f(e){t[e]=t[e]||[],n[e]=n[e]||[],r[e]=r[e]||{fastEstimate:0,slowEstimate:0,totalWeight:0},i[e]=i[e]||{fastEstimate:0,slowEstimate:0,totalWeight:0}}function d(){t={},n={},r={},i={}}var h={push:function(e,l,c){if(l.trace&&l.trace.length){var d=l.tresponse.getTime()-l.trequest.getTime()||1,h=l._tfinish.getTime()-l.tresponse.getTime()||1,p=l.trace.reduce((function(e,t){return e+t.b[0]}),0),g=0,m=0;if(s.get().streaming.lowLatencyEnabled){if(s.get().streaming.abr.fetchThroughputCalculationMode===a.a.ABR_FETCH_THROUGHPUT_CALCULATION_MOOF_PARSING){var y=l.trace.reduce((function(e,t){return e+t.t}),0);m=Math.round(y/l.trace.length)}0===m&&(g=l.trace.reduce((function(e,t){return e+t.d}),0))}else g=c?h:d+h;if(0!==g&&(m=Math.round(8*p/g)),f(e),function(e,t,n){return e===a.a.VIDEO?n0&&!t[e].hasCachedEntries)return;t[e].hasCachedEntries=!0}else t[e]&&t[e].hasCachedEntries&&function(e){delete t[e],delete n[e],delete r[e],delete i[e],f(e)}(e);t[e].push(m),t[e].length>20&&t[e].shift(),n[e].push(d),n[e].length>20&&n[e].shift(),u(r[e],m,.001*h,o.throughputHalfLife),u(i[e],d,1,o.latencyHalfLife)}},getAverageThroughput:c,getSafeAverageThroughput:function(e,t){var n=c(e,t);return isNaN(n)||(n*=s.get().streaming.abr.bandwidthSafetyFactor),n},getAverageLatency:function(e){return l(!1,e)},reset:d};return o={throughputHalfLife:{fast:3,slow:8},latencyHalfLife:{fast:1,slow:2}},d(),h}$t.__dashjs_factory_name="ThroughputHistory";var Zt=f.a.getClassFactory($t);function Jt(){var e,t,n,r,i,o,s,f,p,g,y,E,_,T,S,A,b,I,R,N,w,C,D,O,P,L=this.context,F=Object(d.a)(L).getInstance(),x=Object(l.a)(L).getInstance();function U(){i={},o={},f={},s={},I={},w={},C={},D={},void 0===g&&(g=!1),R&&R.reset(),b=void 0,R=void 0,N=void 0,clearTimeout(p),p=null}function B(t){var i=t.request.mediaType,a=t.streamId;if(i&&a&&s[a]&&P.get().streaming.abr.autoSwitchBitrate[i]){var o=s[a][i];if(o){var l=Vt(L).create({abrController:e,streamProcessor:o,currentRequest:t.request,useBufferOccupancyABR:w[i],useL2AABR:C[i],useLoLPABR:D[i],videoModel:T}),c=n.shouldAbandonFragment(l,a);if(c.quality>ht.NO_CHANGE){var d=o.getFragmentModel();d.getRequests({state:m.a.FRAGMENT_MODEL_LOADING,index:t.request.index})[0]&&(d.abortRequests(),f[a][i].state=u.ABANDON_LOAD,I[a][i].reset(),I[a][i].push({oldValue:H(i,a),newValue:c.quality,confidence:1,reason:c.reason}),K(i,r.getActiveStreamInfo(),c.quality,c.reason),clearTimeout(p),p=setTimeout((function(){f[a][i].state=u.ALLOW_LOAD,p=null}),P.get().streaming.abandonLoadTimeout))}}}}function k(e){e.mediaType===a.a.VIDEO&&(void 0!==b&&R.push(e.streamId,b,T.getPlaybackQuality()),b=e.newQuality)}function G(e){var n,r;e.metric!==u.HTTP_REQUEST||!e.value||e.value.type!==v.a.MEDIA_SEGMENT_TYPE||e.mediaType!==a.a.AUDIO&&e.mediaType!==a.a.VIDEO||N.push(e.mediaType,e.value,P.get().streaming.abr.useDeadTimeLatency),e.metric!==u.BUFFER_LEVEL||e.mediaType!==a.a.AUDIO&&e.mediaType!==a.a.VIDEO||(n=e.mediaType,r=.001*e.value.level,P.get().streaming.abr.ABRStrategy===a.a.ABR_STRATEGY_DYNAMIC&&function(e,n){var r=S.getStableBufferTime(),i=r,a=.5*r,o=w[e],s=n>(o?a:i);w[e]=s,s!==o&&(s?t.info("["+e+"] switching from throughput to buffer occupancy ABR rule (buffer: "+n.toFixed(3)+")."):t.info("["+e+"] switching from buffer occupancy to throughput ABR rule (buffer: "+n.toFixed(3)+")."))}(n,r))}function j(e,t){try{return i[t]=i[t]||{},i[t].hasOwnProperty(e)||(i[t][e]=0),function(e,t,n){if(t!==a.a.VIDEO||!P.get().streaming.abr.limitBitrateByPortal||!s[n]||!s[n][t])return e;g||z();var r=s[n][t].getStreamInfo(),i=_.getAdaptationForType(r.index,t,r).Representation,o=e;if(y>0&&E>0){for(;o>0&&i[o]&&y=1||a<0)return e;return Math.min(e,Math.round(r*a))}(function(e,t){var n=i[t][e],r=n;if(!s[t]||!s[t][e])return r;var a=Y(e,t);void 0!==a&&(r=Math.max(n,a));var o=function(e,t){try{var n=P.get().streaming.abr.maxBitrate[e];return n>-1?V(s[t][e].getMediaInfo(),n,t):void 0}catch(e){return}}(e,t);void 0!==o&&(r=Math.min(r,o));return r}(e,t),e,t),e,t)}catch(e){return}}function Y(e,t){try{return function(e,t){try{var n=P.get().streaming.abr.minBitrate[e];if(n>-1){var r=s[t][e].getMediaInfo(),i=W(r),a=V(r,n,t);return i[a]&&a1&&void 0!==arguments[1]?arguments[1]:null;try{if(t||(t=r.getActiveStreamInfo().id),e&&s[t]&&s[t][e])if(t)return o[t]=o[t]||{},o[t].hasOwnProperty(e)||(o[t][e]=0),o[t][e];return 0}catch(e){return 0}}function K(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(t&&t.id&&e){var i=t.id,a=H(e,i);Object(M.a)(n);var o=j(e,i);n!==a&&n>=0&&n<=o&&q(e,a,n,o,r,i)}}function q(e,n,r,i,a,u){if(e&&s[u]&&s[u][e]){var l=s[u][e].getStreamInfo(),f=O.getCurrentBufferLevel(e);t.info("Stream ID: "+u+" ["+e+"] switch from "+n+" to "+r+"/"+i+" (buffer: "+f+") "+(a?JSON.stringify(a):".")),o[u]=o[u]||{},o[u][e]=r;var d=function(e,t,n){if(t&&s&&s[e]&&s[e][t]){var r=W(s[e][t].getMediaInfo());return r[n]?r[n]:null}return null}(u,e,r);x.trigger(c.a.QUALITY_CHANGE_REQUESTED,{oldQuality:n,newQuality:r,reason:a,streamInfo:l,bitrateInfo:d,maxIdx:i,mediaType:e},{streamId:l.id,mediaType:e});var h=N.getAverageThroughput(e);isNaN(h)||A.setSavedBitrateSettings(e,h)}}function V(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=e&&e.type?s[n][e.type].getRepresentationInfo():null;if(P.get().streaming.abr.useDeadTimeLatency&&r&&i&&i.fragmentDuration){r/=1e3;var a=i.fragmentDuration;if(r>a)return 0;var o=r/a;t*=1-o}for(var u=W(e),l=u.length-1;l>=0;l--){var c=u[l];if(1e3*t>=c.bitrate)return l}return 0}function W(e){var t=[];if(!e||!e.bitrateList)return t;for(var n,r=e.bitrateList,i=e.type,a=0,o=r.length;a1&&void 0!==arguments[1]?arguments[1]:null;if(t||(t=r.getActiveStreamInfo().id),e&&s&&s[t]&&s[t][e]){var n=j(e,t),i=W(s[t][e].getMediaInfo());return i[n]?i[n]:null}return null},getMinAllowedIndexFor:Y,getMaxAllowedIndexFor:j,getInitialBitrateFor:function(e,t){if(function(){if(!A||!A.hasOwnProperty("getSavedBitrateSettings"))throw new Error(a.a.MISSING_CONFIG_ERROR)}(),e===a.a.TEXT)return NaN;var n=A.getSavedBitrateSettings(e),r=P.get().streaming.abr.initialBitrate[e],i=P.get().streaming.abr.initialRepresentationRatio[e];if(-1===r)if(i>-1){var o=s[t][e].getStreamInfo(),u=_.getAdaptationForType(o.index,e,o).Representation;if(Array.isArray(u))r=u[Math.max(Math.round(u.length*i)-1,0)].bandwidth/1e3;else r=0}else r=isNaN(n)?e===a.a.VIDEO?1e3:100:n;return r},getQualityFor:H,getAbandonmentStateFor:function(e,t){return f[e]&&f[e][t]?f[e][t].state:null},setPlaybackQuality:K,checkPlaybackQuality:function(t,r){try{if(!(t&&s&&s[r]&&s[r][t]))return!1;if(R){var i=T.getPlaybackQuality();i&&R.push(r,b,i)}if(!P.get().streaming.abr.autoSwitchBitrate[t])return!1;var a=H(t,r),o=Vt(L).create({abrController:e,switchHistory:I[r][t],droppedFramesHistory:R,streamProcessor:s[r][t],currentValue:a,useBufferOccupancyABR:w[t],useL2AABR:C[t],useLoLPABR:D[t],videoModel:T}),l=Y(t,r),c=j(t,r),d=n.getMaxQuality(o),h=d.quality;return void 0!==l&&(h>ht.NO_CHANGE?h:a)c&&(h=c),I[r][t].push({oldValue:a,newValue:h}),h>ht.NO_CHANGE&&h!==a&&(f[r][t].state===u.ALLOW_LOAD||h>a)&&(q(t,a,h,c,d.reason,r),!0)}catch(e){return!1}},setElementSize:z,setWindowResizeEventCalled:function(e){g=e},registerStreamType:function(e,t){var n=t.getStreamInfo().id;s[n]||(s[n]={}),I[n]||(I[n]={}),f[n]||(f[n]={}),I[n][e]=zt(L).create(),s[n][e]=t,f[n][e]={},f[n][e].state=u.ALLOW_LOAD,function(e){var t=P.get().streaming.abr.ABRStrategy;t===a.a.ABR_STRATEGY_L2A?(w[e]=!1,D[e]=!1,C[e]=!0):t===a.a.ABR_STRATEGY_LoLP?(w[e]=!1,D[e]=!0,C[e]=!1):t===a.a.ABR_STRATEGY_BOLA?(w[e]=!0,D[e]=!1,C[e]=!1):t===a.a.ABR_STRATEGY_THROUGHPUT?(w[e]=!1,D[e]=!1,C[e]=!1):t===a.a.ABR_STRATEGY_DYNAMIC&&(w[e]=!(!w||!w[e])&&w[e],D[e]=!1,C[e]=!1)}(e),e===a.a.VIDEO&&z()},unRegisterStreamType:function(e,t){try{s[e]&&s[e][t]&&delete s[e][t],I[e]&&I[e][t]&&delete I[e][t],f[e]&&f[e][t]&&delete f[e][t]}catch(e){}},setConfig:function(e){e&&(e.streamController&&(r=e.streamController),e.domStorage&&(A=e.domStorage),e.mediaPlayerModel&&(S=e.mediaPlayerModel),e.dashMetrics&&(O=e.dashMetrics),e.adapter&&(_=e.adapter),e.videoModel&&(T=e.videoModel),e.settings&&(P=e.settings))},reset:function(){U(),x.off(c.a.LOADING_PROGRESS,B,e),x.off(h.a.QUALITY_CHANGE_RENDERED,k,e),x.off(h.a.METRIC_ADDED,G,e),n&&n.reset()}},t=F.getLogger(e),U(),e}Jt.__dashjs_factory_name="AbrController";var en=f.a.getSingletonFactory(Jt);en.QUALITY_DEFAULT=0,f.a.updateSingletonFactory(Jt.__dashjs_factory_name,en);var tn=en,nn=n(41),rn=new Map([[a.a.VIDEO_ELEMENT_READY_STATES.HAVE_METADATA,"loadedmetadata"],[a.a.VIDEO_ELEMENT_READY_STATES.HAVE_CURRENT_DATA,"loadeddata"],[a.a.VIDEO_ELEMENT_READY_STATES.HAVE_FUTURE_DATA,"canplay"],[a.a.VIDEO_ELEMENT_READY_STATES.HAVE_ENOUGH_DATA,"canplaythrough"]]);function an(){var e,t,n,r,i=this.context,o=Object(l.a)(i).getInstance(),s=[];function u(){n&&(n.playbackRate=1,n.removeEventListener("canplay",u))}function f(){return s.length>0}function h(){if(n&&f()&&0===n.playbackRate){var e=document.createEvent("Event");e.initEvent("waiting",!0,!1),n.dispatchEvent(e)}}function p(e,t){n&&n.addEventListener(e,t)}function g(e,t){n&&n.removeEventListener(e,t)}function m(){return n?n.readyState:NaN}function y(){return n?n.buffered:null}function E(e,t,r,i,a){if(n)for(var o=0;o=e)t();else{!function(e,t){p(e,(function n(){g(e,n),t(e)}))}(rn.get(e),t)}}(a.a.VIDEO_ELEMENT_READY_STATES.HAVE_METADATA,(function(){if(n){if(n.currentTime===e)return;try{e=t?function(e){var t=y(),n=e,r=9999999999;if(t)for(var i=0;i=a&&e<=o)return e;s1&&void 0!==arguments[1]&&arguments[1];n&&(!t&&n.readyState<=2&&e>0?n.addEventListener("canplay",u):n.playbackRate=e)},getPlayedRanges:function(){return n?n.played:null},getEnded:function(){return n?n.ended:null},setStallState:function(e,t){!function(e,t){t?function(e){if(null===e||!n||n.seeking||-1!==s.indexOf(e))return;s.push(e)}(e):function(e){var t=s.indexOf(e);if(null===e)return;-1!==t&&s.splice(t,1)}(e)}(e,t)},getElement:function(){return n},setElement:function(e){if(!(null==e||e&&/^(VIDEO|AUDIO)$/i.test(e.nodeName)))throw"element is not video or audio DOM type!";(n=e)&&(n.preload="auto")},setSource:function(e){n&&(e?n.src=e:(n.removeAttribute("src"),n.load()))},getSource:function(){return n?n.src:null},getTTMLRenderingDiv:function(){return r},setTTMLRenderingDiv:function(e){(r=e).style.position="absolute",r.style.display="flex",r.style.overflow="hidden",r.style.pointerEvents="none",r.style.top=0,r.style.left=0},getPlaybackQuality:function(){if(!n)return null;var e="webkitDroppedFrameCount"in n&&"webkitDecodedFrameCount"in n,t=null;return"getVideoPlaybackQuality"in n?t=n.getVideoPlaybackQuality():e&&(t={droppedVideoFrames:n.webkitDroppedFrameCount,totalVideoFrames:n.webkitDroppedFrameCount+n.webkitDecodedFrameCount,creationTime:new Date}),t},addEventListener:p,removeEventListener:g,getReadyState:m,getBufferRange:y,getClientWidth:function(){return n?n.clientWidth:NaN},getClientHeight:function(){return n?n.clientHeight:NaN},getTextTracks:function(){return n?n.textTracks:[]},getTextTrack:E,addTextTrack:function(e,t,r,i,a){if(!n)return null;var o=E(e,t,r,i,a);return o||((o=n.addTextTrack(e,t,r)).isEmbedded=a,o.isTTML=i),o},appendChild:function(e){n&&(n.appendChild(e),void 0!==e.isTTML&&(n.textTracks[n.textTracks.length-1].isTTML=e.isTTML,n.textTracks[n.textTracks.length-1].isEmbedded=e.isEmbedded))},removeChild:function(e){n&&n.removeChild(e)},getVideoWidth:function(){return n?n.videoWidth:NaN},getVideoHeight:function(){return n?n.videoHeight:NaN},getVideoRelativeOffsetTop:function(){var e=n.parentNode.host||n.parentNode;return e?n.getBoundingClientRect().top-e.getBoundingClientRect().top:NaN},getVideoRelativeOffsetLeft:function(){var e=n.parentNode.host||n.parentNode;return e?n.getBoundingClientRect().left-e.getBoundingClientRect().left:NaN},reset:function(){o.off(c.a.PLAYBACK_PLAYING,h,this)}},t=Object(d.a)(i).getInstance().getLogger(e),e}an.__dashjs_factory_name="VideoModel";var on=f.a.getSingletonFactory(an),sn=n(36),un=[{oldKey:"dashjs_vbitrate",newKey:"dashjs_video_bitrate"},{oldKey:"dashjs_abitrate",newKey:"dashjs_audio_bitrate"},{oldKey:"dashjs_vsettings",newKey:"dashjs_video_settings"},{oldKey:"dashjs_asettings",newKey:"dashjs_audio_settings"}];function ln(e){e=e||{};var t,n,r,i=this.context,o=e.settings;function s(e){if(void 0!==r)return r;r=!1;var t;try{"undefined"!=typeof window&&(t=window[e])}catch(e){return n.warn("DOMStorage access denied: "+e.message),r}if(!t||"localStorage"!==e&&"sessionStorage"!==e)return r;try{t.setItem("1","1"),t.removeItem("1"),r=!0}catch(e){n.warn("DOMStorage is supported, but cannot be used: "+e.message)}return r}function u(){return 6e5*Math.round((new Date).getTime()/6e5)}function l(e,t){return s(e)&&o.get().streaming[t+"CachingInfo"].enabled}function c(){if(!o)throw new Error(a.a.MISSING_CONFIG_ERROR)}return t={getSavedBitrateSettings:function(e){var t=NaN;if(c(),l("localStorage","lastBitrate")){var r="dashjs_?_bitrate".replace(/\?/,e);try{var i=JSON.parse(localStorage.getItem(r))||{},a=(new Date).getTime()-parseInt(i.timestamp,10)>=o.get().streaming.lastBitrateCachingInfo.ttl||!1,s=parseFloat(i.bitrate);isNaN(s)||a?a&&localStorage.removeItem(r):(t=s,n.debug("Last saved bitrate for "+e+" was "+s))}catch(e){return null}}return t},setSavedBitrateSettings:function(e,t){if(l("localStorage","lastBitrate")&&t){var r="dashjs_?_bitrate".replace(/\?/,e);try{localStorage.setItem(r,JSON.stringify({bitrate:t.toFixed(3),timestamp:u()}))}catch(e){n.error(e.message)}}},getSavedMediaSettings:function(e){var t=null;if(c(),l("localStorage","lastMediaSettings")){var n="dashjs_?_settings".replace(/\?/,e);try{var r=JSON.parse(localStorage.getItem(n))||{},i=(new Date).getTime()-parseInt(r.timestamp,10)>=o.get().streaming.lastMediaSettingsCachingInfo.ttl||!1;t=r.settings,i&&(localStorage.removeItem(n),t=null)}catch(e){return null}}return t},setSavedMediaSettings:function(e,t){if(l("localStorage","lastMediaSettings")){var r="dashjs_?_settings".replace(/\?/,e);try{localStorage.setItem(r,JSON.stringify({settings:t,timestamp:u()}))}catch(e){n.error(e.message)}}}},n=Object(d.a)(i).getInstance().getLogger(t),s("localStorage")&&un.forEach((function(e){var t=localStorage.getItem(e.oldKey);if(t){localStorage.removeItem(e.oldKey);try{localStorage.setItem(e.newKey,t)}catch(e){n.error(e.message)}}})),t}ln.__dashjs_factory_name="DOMStorage";var cn=f.a.getSingletonFactory(ln),fn=n(51),dn=n(27);function hn(){var e,t,n,r,i,a,o,s,u,l,c,f,d,h=this.context;function p(e,t,n){n({segments:e,representation:t,error:e?void 0:new y.a(u.SEGMENT_BASE_LOADER_ERROR_CODE,u.SEGMENT_BASE_LOADER_ERROR_MESSAGE)})}function g(e){if(e.url){var t=new Be.a;return t.setInfo(e),t}}return e={setConfig:function(s){s.baseURLController&&(d=s.baseURLController),s.dashMetrics&&(a=s.dashMetrics),s.mediaPlayerModel&&(o=s.mediaPlayerModel),s.errHandler&&(n=s.errHandler),s.boxParser&&(r=s.boxParser),s.debug&&(t=s.debug.getLogger(e)),s.requestModifier&&(i=s.requestModifier),s.errors&&(u=s.errors),s.urlUtils&&(f=s.urlUtils),s.constants&&(l=s.constants),s.dashConstants&&(c=s.dashConstants)},initialize:function(){s=Object(Ue.a)(h).create({errHandler:n,dashMetrics:a,mediaPlayerModel:o,requestModifier:i,boxParser:r,errors:u,urlUtils:f,constants:l,dashConstants:c})},loadInitialization:function(e,n){return new Promise((function(i){!function e(n,i,a,o){var u=null,l=n?d.resolve(n.path):null,c=o||{init:!0,url:l?l.url:void 0,range:{start:0,end:1500},searching:!1,bytesLoaded:0,bytesToLoad:1500,mediaType:i};t.debug("Start searching for initialization.");var f=g(c),h=function(t){if(c.bytesLoaded=c.range.end,!(u=r.findInitRange(t)))return c.range.end=c.bytesLoaded+c.bytesToLoad,e(n,i,a,c);n.range=u,a(n)};s.load({request:f,success:h,error:function(){a(n)}}),t.debug("Perform init search: "+c.url)}(e,n,i)}))},loadSegments:function(e,n,i){return new Promise((function(a){!function e(n,i,a,o,u,l){if(a&&(void 0===a.start||void 0===a.end)){var c=a?a.toString().split("-"):null;a=c?{start:parseFloat(c[0]),end:parseFloat(c[1])}:null}u=u||p;var f=null,h=null,m=!!a,y=n?d.resolve(n.path):null,E={init:!1,url:y?y.url:void 0,range:m?a:{start:0,end:1500},searching:!m,bytesLoaded:l?l.bytesLoaded:0,bytesToLoad:1500,mediaType:i},_=g(E),v=function(a){var s=E.bytesToLoad,l=a.byteLength;if(E.bytesLoaded=E.range.end-E.range.start,f=r.parse(a),(h=f.getBox("sidx"))&&h.isComplete){var c,d,p=h.references;if(null!=p&&p.length>0&&(c=1===p[0].reference_type),c){var g,m,y,_;t.debug("Initiate multiple SIDX load."),E.range.end=E.range.start+h.size;var v=[],T=0,S=(h.offset||E.range.start)+h.size,A=function(e){e?(v=v.concat(e),++T>=m&&(v.sort((function(e,t){return e.startTime-t.startTime<0?-1:0})),u(v,n,o))):u(null,n,o)};for(g=0,m=p.length;g16777215?(n.getUint32(r)!==e.tag&&(i=!1),a=4):e.tag>65535?(256*n.getUint16(r)+n.getUint8(r+2)!==e.tag&&(i=!1),a=3):e.tag>255?(n.getUint16(r)!==e.tag&&(i=!1),a=2):(n.getUint8(r)!==e.tag&&(i=!1),a=1),!i&&e.required&&!t)throw new Error("required tag not found");return i&&(r+=a),i}function a(e){var t=1,i=128,a=-1,o=0,s=n.getUint8(r),u=0;for(u=0;u<8;u+=1){if((s&i)===i){o=void 0===e?s&~i:s,a=u;break}i>>=1}for(u=0;u1&&a){var l=d(a,n);if(i[a.id]&&i[a.id][n])for(var f=0,h=u.length;f0))return u;s=r[0].mpd.manifest}var l=E(e,o),c=t.getAdaptationsForType(s,e?e.index:null,n);return u=f(s,l,e,c,n),n===a.TEXT&&(c=t.getAdaptationsForType(s,e?e.index:null,a.VIDEO),u=u.concat(f(s,l,e,c,n,!0))),u}function h(e){var n=p(e);return t.getRegularPeriods(n)}function p(e){var n=m(e);return t.getMpd(n)}function g(){r=[],i={}}function m(e){return e||(r.length>0?r[0].mpd.manifest:null)}function y(e){try{var n=E(e.streamInfo,r),i=t.getAdaptationsForPeriod(n);return e&&e.streamInfo&&void 0!==e.streamInfo.id&&i?i[e.index]:null}catch(e){return null}}function E(e,t){for(var n=t.length,r=0;r=0&&void 0!==s&&(n=t?"cea-608:"+t:"cea-608",r.embeddedCaptions=!0),n})),r.audioChannelConfiguration=t.getAudioChannelConfigurationForAdaptation(i).map((function(e){return e.value})),0===r.audioChannelConfiguration.length&&Array.isArray(i.Representation_asArray)&&i.Representation_asArray.length>0&&(r.audioChannelConfiguration=t.getAudioChannelConfigurationForRepresentation(i.Representation_asArray[0]).map((function(e){return e.value}))),r.roles=t.getRolesForAdaptation(i).map((function(e){return e.value})),r.codec=t.getCodec(i),r.mimeType=t.getMimeType(i),r.contentProtection=t.getContentProtectionData(i),r.bitrateList=t.getBitrateListForAdaptation(i),r.selectionPriority=t.getSelectionPriority(i),r.contentProtection&&r.contentProtection.forEach((function(e){e.KID=t.getKID(e)})),r.isText=t.getIsText(i),r.supplementalProperties=t.getSupplementalProperties(i),r.isFragmented=t.getIsFragmented(i),r.isEmbedded=!1,r}function v(e,t,n){e.id=t,e.index=100+parseInt(t.substring(2,3)),e.type=a.TEXT,e.codec="cea-608-in-SEI",e.isEmbedded=!0,e.isFragmented=!1,e.lang=n,e.roles=["caption"]}function T(e){var n,r,i=new An;return i.id=e.id,i.index=e.index,i.start=e.start,i.duration=e.duration,i.manifestInfo=(n=e.mpd,(r=new bn).dvrWindowSize=n.timeShiftBufferDepth,r.loadedTime=n.manifest.loadedTime,r.availableFrom=n.availabilityStartTime,r.minBufferTime=n.manifest.minBufferTime,r.maxFragmentDuration=n.maxSegmentDuration,r.duration=t.getDuration(n.manifest),r.isDynamic=t.getIsDynamic(n.manifest),r.serviceDescriptions=t.getServiceDescriptions(n.manifest),r.protocol=n.manifest.protocol,r),i.isLast=1===e.mpd.manifest.Period_asArray.length||Math.abs(i.start+i.duration-i.manifestInfo.duration)<1,i}function S(){if(!a)throw new Error("setConfig function has to be called previously")}function A(e){return r.length>0?r[0].mpd.manifest.Period_asArray[e]:null}function b(e,t,n){var r,i,a,o,s;if(e)for(r=e.AdaptationSet_asArray,o=0;o0?e.segments[0].duration:NaN),n.MSETimeOffset=e.MSETimeOffset,n.mediaInfo=_(e.adaptation),n}return null},getStreamsInfo:function(e,t){var n=[],i=r;if(e&&(S(),i=h(e)),i.length>0){(!t||t>i.length)&&(t=i.length);for(var a=0;a0&&o&&(a=i?t.getAdaptationForId(i,r[0].mpd.manifest,o.index):t.getAdaptationForIndex(n?n.index:null,r[0].mpd.manifest,o.index)),a},getRealPeriodByIndex:function(e){return t.getRealPeriodForIndex(e,r[0].mpd.manifest)},getEssentialPropertiesForRepresentation:function(e){try{return t.getEssentialPropertiesForRepresentation(e)}catch(e){return[]}},getVoRepresentations:function(e){var n=y(e);return t.getRepresentationsForAdaptation(n)},getEventsFor:function(e,n){var i=[];if(r.length>0){var a=r[0].mpd.manifest;e instanceof An?i=t.getEventsForPeriod(E(e,r)):e instanceof Sn?i=t.getEventStreamForAdaptationSet(a,y(e)):e instanceof Tn&&(i=t.getEventStreamForRepresentation(a,n))}return i},getEvent:function(e,t,n,r){try{if(!e||!t||isNaN(n)||!r)return null;var i=e.scheme_id_uri,a=e.value;if(!t[i+"/"+a])return null;var o,s=new In.a,u=e.timescale||1,l=r.adaptation.period.start,c=t[i+"/"+a],f=isNaN(r.presentationTimeOffset)?isNaN(c.presentationTimeOffset)?0:c.presentationTimeOffset:r.presentationTimeOffset,d=e.presentation_time_delta/u;o=0===e.version?l+n-f+d:l-f+d;var h=e.event_duration,p=e.id,g=e.message_data;return s.eventStream=c,s.eventStream.value=a,s.eventStream.timescale=u,s.duration=h,s.id=p,s.calculatedPresentationTime=o,s.messageData=g,s.presentationTimeDelta=d,s}catch(e){return null}},getMpd:p,setConfig:function(e){e&&(e.constants&&(a=e.constants),e.cea608parser&&(s=e.cea608parser),e.errHandler&&t.setConfig({errHandler:e.errHandler}),e.BASE64&&t.setConfig({BASE64:e.BASE64}))},updatePeriods:function(e){if(!e)return null;S(),r=h(e)},getIsTextTrack:function(e){return t.getIsText(e)},getUTCTimingSources:function(){var e=m();return t.getUTCTimingSources(e)},getSuggestedPresentationDelay:function(){var e=r.length>0?r[0].mpd:null;return t.getSuggestedPresentationDelay(e)},getAvailabilityStartTime:function(e){var n=p(e);return t.getAvailabilityStartTime(n)},getIsTypeOf:function(e,n){return t.getIsTypeOf(e,n)},getIsDynamic:function(e){var n=m(e);return t.getIsDynamic(n)},getDuration:function(e){var n=m(e);return t.getDuration(n)},getRegularPeriods:h,getLocation:function(e){return t.getLocation(e)},getPatchLocation:function(e){var n=t.getPatchLocation(e),r=t.getPublishTime(e);if(!n||!r)return null;if(n.hasOwnProperty("ttl")&&r){var i=1e3*parseFloat(n.ttl);if(r.getTime()+i<=(new Date).getTime())return null}return n.__text},getManifestUpdatePeriod:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.getManifestUpdatePeriod(e,n)},getPublishTime:function(e){return t.getPublishTime(e)},getIsDVB:function(e){return t.hasProfile(e,"urn:dvb:dash:profile:dvb-dash:2014")},getIsPatch:function(e){return n.getIsPatch(e)},getBaseURLsFromElement:function(e){return t.getBaseURLsFromElement(e)},getRepresentationSortFunction:function(){return t.getRepresentationSortFunction()},getCodec:function(e,n,r){return t.getCodec(e,n,r)},getPeriodById:function(e){if(!e||0===r.length)return null;var t=r.filter((function(t){return t.id===e}));return t&&t.length>0?t[0]:null},setCurrentMediaInfo:function(e,t,n){i[e]=i[e]||{},i[e][t]=i[e][t]||{},i[e][t]=n},isPatchValid:function(e,r){var i=t.getId(e),a=n.getMpdId(r),o=t.getPublishTime(e),s=n.getPublishTime(r),u=n.getOriginalPublishTime(r);return!!(i&&a&&i==a&&o&&u&&o.getTime()==u.getTime()&&s&&o.getTime()1?i[r]=u:1==u.length?i[r]=u[0]:delete i[r+"_asArray"]}"add"!==t.action&&"replace"!==t.action||Object.keys(t.value).forEach((function(e){var n=t.value[e],a=i[e+"_asArray"]||[];if(0===a.length&&i[e]&&a.push(i[e]),0===a.length)a=n;else{var u=a.length;u=e==r&&-1!=o?o+(s?0:1)+("replace"==t.action?-1:0):s?0:a.length,a.splice.apply(a,[u,0].concat(n))}i[e+"_asArray"]=a,i[e]=1==a.length?a[0]:a}))}}}))},areMediaInfosEqual:c,reset:g},t=Object(Rn.a)(u).getInstance(),n=Mn(u).getInstance(),g(),e}Pn.__dashjs_factory_name="DashAdapter";var Ln=f.a.getSingletonFactory(Pn);function Fn(e,t){for(var n=0;nr.get().streaming.metrics.maxListDepth&&i[t].shift())}function m(e,t,n){g(e,t,n),h(e,t,n)}return t={clearCurrentMetricsForType:function(e){delete n[e],f(e)},clearAllCurrentMetrics:function(){n={},s()},getMetricsFor:p,addHttpRequest:function e(t,n,r,i,a,o,s,l,c,f,d,h,p,g,y){var E=new v.a;o&&o!==i&&(e(t,null,r,i,a,null,null,l,c,null,null,null,p,null,null),E.actualurl=o),E.tcpid=n,E.type=r,E.url=i,E.range=l,E.trequest=c,E.tresponse=f,E.responsecode=h,E._tfinish=d,E._stream=t,E._mediaduration=p,E._quality=a,E._responseHeaders=g,E._serviceLocation=s,y?y.forEach((function(e){!function(e,t,n,r,i){var a=new v.b;a.s=t,a.d=n,a.b=r,a.t=i,e.trace.push(a),e.interval||(e.interval=0),e.interval+=n}(E,e.s,e.d,e.b,e.t)})):(delete E.interval,delete E.trace),m(t,u.HTTP_REQUEST,E)},addRepresentationSwitch:function(e,t,n,r,i){var a=new Bn;a.t=t,a.mt=n,a.to=r,i?a.lto=i:delete a.lto,m(e,u.TRACK_SWITCH,a)},addBufferLevel:function(e,t,n){var r=new kn;r.t=t,r.level=n,m(e,u.BUFFER_LEVEL,r)},addBufferState:function(e,t,n){var r=new Gn;r.target=n,r.state=t,m(e,u.BUFFER_STATE,r)},addDVRInfo:function(e,t,n,r){var i=new jn;i.time=t,i.range=r,i.manifestInfo=n,m(e,u.DVR_INFO,i)},addDroppedFrames:function(e,t){var n=new Yn,r=p(e).DroppedFrames;t&&(n.time=t.creationTime,n.droppedFrames=t.droppedVideoFrames,r.length>0&&r[r.length-1]==n||m(e,u.DROPPED_FRAMES,n))},addSchedulingInfo:function(e,t,n,r,i,a,o,s,l){var c=new Wn;c.mediaType=e,c.t=t,c.type=n,c.startTime=r,c.availabilityStartTime=i,c.duration=a,c.quality=o,c.range=s,c.state=l,m(e,u.SCHEDULING_INFO,c)},addRequestsQueue:function(e,t,n){var r=new zn;r.loadingRequests=t,r.executedRequests=n,p(e).RequestsQueue=r,h(e,u.REQUESTS_QUEUE,r)},addManifestUpdate:function(e,t,n,r,i,o,s,l,c,f){var d=new Kn;d.mediaType=e,d.type=t,d.requestTime=n,d.fetchTime=r,d.availabilityStartTime=i,d.presentationStartTime=o,d.clientTimeOffset=s,d.currentTime=l,d.buffered=c,d.latency=f,g(a.a.STREAM,u.MANIFEST_UPDATE,d),h(e,u.MANIFEST_UPDATE,d)},updateManifestUpdateInfo:function(e,t){if(e){for(var n in t)e[n]=t[n];d(e.mediaType,u.MANIFEST_UPDATE,e)}},addManifestUpdateStreamInfo:function(e,t,n,r,i){if(e){var a=new qn;a.id=t,a.index=n,a.start=r,a.duration=i,e.streamInfo.push(a),d(e.mediaType,u.MANIFEST_UPDATE_STREAM_INFO,e)}},addManifestUpdateRepresentationInfo:function(e,t,n,r,i,a,o,s){if(e&&e.representationInfo){var l=new Vn;l.id=t,l.index=n,l.streamIndex=r,l.mediaType=i,l.startNumber=o,l.fragmentInfoType=s,l.presentationTimeOffset=a,e.representationInfo.push(l),d(e.mediaType,u.MANIFEST_UPDATE_TRACK_INFO,e)}},addPlayList:function(e){e.trace&&Array.isArray(e.trace)?e.trace.forEach((function(e){e.hasOwnProperty("subreplevel")&&!e.subreplevel&&delete e.subreplevel})):delete e.trace,m(a.a.STREAM,u.PLAY_LIST,e)},addDVBErrors:function(e){m(a.a.STREAM,u.DVB_ERRORS,e)}},n={},t}Xn.__dashjs_factory_name="MetricsModel";var Qn=f.a.getSingletonFactory(Xn),$n=n(14);function Zn(e){e=e||{};var t,n,r,i,o=this.context,s=e.metricsModel;function l(e){var t=s.getMetricsFor(e,!0);if(!t)return null;var n,r=t.HttpList,i=null;if(!r||r.length<=0)return null;for(n=r.length-1;n>=0;){if(r[n].responsecode){i=r[n];break}n--}return i}function c(e){var t=s.getMetricsFor(e,!0);return t&&t.HttpList?t.HttpList:[]}function f(e,t){if(!e)return null;var n=e[t];return n&&0!==n.length?n[n.length-1]:null}return t={getCurrentRepresentationSwitch:function(e){return f(s.getMetricsFor(e,!0),u.TRACK_SWITCH)},getCurrentBufferState:function(e){return f(s.getMetricsFor(e,!0),u.BUFFER_STATE)},getCurrentBufferLevel:function(e){var t=f(s.getMetricsFor(e,!0),u.BUFFER_LEVEL);return t?xn.round10(t.level/1e3,-3):0},getCurrentHttpRequest:l,getHttpRequests:c,getCurrentDroppedFrames:function(){return f(s.getMetricsFor(a.a.VIDEO,!0),u.DROPPED_FRAMES)},getCurrentSchedulingInfo:function(e){return f(s.getMetricsFor(e,!0),u.SCHEDULING_INFO)},getCurrentDVRInfo:function(e){return f(e?s.getMetricsFor(e,!0):s.getMetricsFor(a.a.VIDEO,!0)||s.getMetricsFor(a.a.AUDIO,!0),u.DVR_INFO)},getCurrentManifestUpdate:function(){return f(s.getMetricsFor(a.a.STREAM),u.MANIFEST_UPDATE)},getLatestFragmentRequestHeaderValueByID:function(e,t){if(!t)return null;var n={},r=l(e);r&&(n=$n.a.parseHttpHeaders(r._responseHeaders));var i=n[t.toLowerCase()];return void 0===i?null:i},getLatestMPDRequestHeaderValueByID:function(e){if(!e)return null;var t,n,r,i={};for(r=(t=c(a.a.STREAM)).length-1;r>=0;r--)if((n=t[r]).type===v.a.MPD_TYPE){i=$n.a.parseHttpHeaders(n._responseHeaders);break}var o=i[e.toLowerCase()];return void 0===o?null:o},addRepresentationSwitch:function(e,t,n,r,i){s.addRepresentationSwitch(e,t,n,r,i)},addDVRInfo:function(e,t,n,r){s.addDVRInfo(e,t,n,r)},updateManifestUpdateInfo:function(e){var t=this.getCurrentManifestUpdate();s.updateManifestUpdateInfo(t,e)},addManifestUpdateStreamInfo:function(e){if(e){var t=this.getCurrentManifestUpdate();s.addManifestUpdateStreamInfo(t,e.id,e.index,e.start,e.duration)}},addManifestUpdateRepresentationInfo:function(e,t){if(e){var n=this.getCurrentManifestUpdate();s.addManifestUpdateRepresentationInfo(n,e.id,e.index,e.streamIndex,t,e.presentationTimeOffset,e.startNumber,e.fragmentInfoType)}},addManifestUpdate:function(e){s.addManifestUpdate(a.a.STREAM,e.type,e.requestStartDate,e.requestEndDate)},addHttpRequest:function(e,t,n,r,i){s.addHttpRequest(e.mediaType,null,e.type,e.url,e.quality,t,e.serviceLocation||null,e.range||null,e.requestStartDate,e.firstByteDate,e.requestEndDate,n,e.duration,r,i)},addSchedulingInfo:function(e,t){s.addSchedulingInfo(e.mediaType,new Date,e.type,e.startTime,e.availabilityStartTime,e.duration,e.quality,e.range,t)},addRequestsQueue:function(e,t,n){s.addRequestsQueue(e,t,n)},addBufferLevel:function(e,t,n){s.addBufferLevel(e,t,n)},addBufferState:function(e,t,n){s.addBufferState(e,t,n)},addDroppedFrames:function(e){s.addDroppedFrames(a.a.VIDEO,e)},addPlayList:function(){i&&(s.addPlayList(i),i=null)},addDVBErrors:function(e){s.addDVBErrors(e)},createPlaylistMetrics:function(e,t){(i=new B).start=new Date,i.mstart=e,i.starttype=t},createPlaylistTraceMetrics:function(e,t,i){!0===n&&(n=!1,(r=new k).representationid=e,r.start=new Date,r.mstart=t,r.playbackspeed=null!==i?i.toString():null)},updatePlayListTraceMetrics:function(e){if(r)for(var t in r)r[t]=e[t]},pushPlayListTraceMetrics:function(e,t){if(!1===n&&i&&r&&r.start){var a=r.start,o=e.getTime()-a.getTime();r.duration=o,r.stopreason=t,i.trace.push(r),n=!0}},clearAllCurrentMetrics:function(){s.clearAllCurrentMetrics()}},s=s||Qn(o).getInstance({settings:e.settings}),n=!0,r=null,i=null,t}Zn.__dashjs_factory_name="DashMetrics";var Jn=f.a.getSingletonFactory(Zn);function er(){var e,t,n,r,i=this.context,s=Object(l.a)(i).getInstance(),u=Object(_.a)(i).getInstance();function f(e){r=e}function d(e,t,n,r){var i,a=t.adaptation.period.mpd,o=a.availabilityStartTime;if(r)i=n&&a.timeShiftBufferDepth!==Number.POSITIVE_INFINITY?new Date(o.getTime()+1e3*(e+a.timeShiftBufferDepth)):a.availabilityEndTime;else if(n){var s=t.availabilityTimeOffset;i=new Date(o.getTime()+1e3*(e-s))}else i=o;return i}function p(e,t){return(e.getTime()-t.mpd.availabilityStartTime.getTime()+1e3*r)/1e3}function g(e,t){return e+(t.adaptation.period.start-t.presentationTimeOffset)}function m(e){var n={start:NaN,end:NaN},r=e[0].getAdapter().getRegularPeriods()[0],i=p(new Date,r);if(!e||0===e.length)return{range:n,now:i};e.forEach((function(e){var r=e.getAdapter(),s=r.getMediaInfoForType(e.getStreamInfo(),a.a.VIDEO)||r.getMediaInfoForType(e.getStreamInfo(),a.a.AUDIO),u=r.getVoRepresentations(s)[0],l={start:NaN,end:NaN};if(u)if(u.segmentInfoType===o.a.SEGMENT_TIMELINE)l=function(e){var n,r,i,a,o=e.adaptation.period.mpd.manifest.Period_asArray[e.adaptation.period.index].AdaptationSet_asArray[e.adaptation.index],s=t.getRepresentationFor(e.index,o),u=s.SegmentTemplate.SegmentTimeline,l=s.SegmentTemplate.timescale,c=u.S_asArray,f={start:0,end:0},d=0;for(f.start=g(c[0].t/l,e),i=0,a=c.length;il.start)&&(n.start=l.start),!isNaN(l.end)&&(isNaN(n.end)||n.end2&&void 0!==arguments[2]&&arguments[2];try{for(var r=0,i=!1,a=NaN;!i&&r=t)?(a=t,i=!0):!n&&o.start>t&&(isNaN(a)||o.starta)&&(a=o.start+o.duration),r+=1}return a}catch(e){return t}}function v(e){void 0===e.offset||isNaN(e.offset)||f(e.offset/1e3)}function T(){r=0,n=0}function S(){s.off(c.a.UPDATE_TIME_SYNC_OFFSET,v,this),T()}return e={initialize:function(){T(),s.on(c.a.UPDATE_TIME_SYNC_OFFSET,v,this)},getClientTimeOffset:function(){return r},setClientTimeOffset:f,getClientReferenceTime:function(){return Date.now()-1e3*n+1e3*r},calcAvailabilityStartTimeFromPresentationTime:function(e,t,n){return d(e,t,n)},calcAvailabilityEndTimeFromPresentationTime:function(e,t,n){return d(e,t,n,!0)},calcPresentationTimeFromWallTime:p,calcPresentationTimeFromMediaTime:g,calcPeriodRelativeTimeFromMpdRelativeTime:function(e,t){return t-e.adaptation.period.start},calcMediaTimeFromPresentationTime:function(e,t){return e-t.adaptation.period.start+t.presentationTimeOffset},calcWallTimeForSegment:function(e,t){var n,r,i;return t&&(n=e.representation.adaptation.period.mpd.suggestedPresentationDelay,r=e.presentationStartTime+n,i=new Date(e.availabilityStartTime.getTime()+1e3*r)),i},calcTimeShiftBufferWindow:function(e,t){if(!t)return function(e){var t={start:NaN,end:NaN},n=0,r=NaN;return e.forEach((function(e){var t=e.getStreamInfo();n+=t.duration,(isNaN(r)||t.start0&&(g.spans.push({name:m,line:T,row:c}),T="");var N="style_cea608_"+R.foreground+"_"+R.background;R.underline&&(N+="_underline"),R.italics&&(N+="_italics"),E.hasOwnProperty(N)||(E[N]=JSON.parse(JSON.stringify(R))),S=R,m=N}T+=I.uchar}T.trim().length>0&&g.spans.push({name:m,line:T,row:c}),h=!0,p=A}else h=!1,p=-1,d&&(d.p.push(g),g={start:s,end:u,spans:[]},d.y2=c,d.name="region_"+d.x+"_"+d.y1+"_"+d.y2,!1===y.hasOwnProperty(d.name)?(_.push(d),y[d.name]=d):y[d.name].p.contat(d.p),d=null)}d&&(d.p.push(g),d.y2=c+1,d.name="region_"+d.x+"_"+d.y1+"_"+d.y2,!1===y.hasOwnProperty(d.name)?(_.push(d),y[d.name]=d):y[d.name].p.contat(d.p),d=null);var w=[];for(c=0;c<_.length;++c){var C=_[c],D="sub_cea608_"+e++,O=document.createElement("div");O.id=D;var M=n(C);O.style.cssText="position: absolute; margin: 0; display: flex; box-sizing: border-box; pointer-events: none;"+M;var P=document.createElement("div");P.className="paragraph bodyStyle",P.style.cssText=i(r);var L=document.createElement("div");L.className="cueUniWrapper",L.style.cssText="unicode-bidi: normal; direction: ltr;";for(var F=0;F0){if(0!==f&&U!=B.row){var k=document.createElement("br");k.className="lineBreak",L.appendChild(k)}var G=!1;U===B.row&&(G=!0),U=B.row;var j=E[B.name],Y=document.createElement("span");Y.className="spanPadding "+B.name+" customSpanColor",Y.style.cssText=i(r,j),0!==f&&G?f===x.spans.length-1?Y.textContent=o(B.line):Y.textContent=B.line:x.spans.length>1&&f1&&e.isEmbedded?t=e.id&&e.id===a.a.CC1:1===_.length?e.id&&"string"==typeof e.id&&"CC"===e.id.substring(0,2)&&(t=!0):0===_.length&&(t=e.index===s[0].index);return t}(e),t.isFragmented=e.isFragmented,t.isEmbedded=!!e.isEmbedded,t.isTTML=function(e){return e.codec&&e.codec.search(a.a.STPP)>=0||e.mimeType&&e.mimeType.search(a.a.TTML)>=0}(e),t.kind=function(e,t){var n=e.roles&&e.roles.length>0?t[e.roles[0]]:t.caption;return n=n===t.caption||n===t.subtitle?n:t.caption}(e,{subtitle:"subtitles",caption:"captions"}),C.addTextTrack(t)}function k(e){var t=e.chunk;t.mediaInfo.embeddedCaptions&&j(t.bytes,t)}function G(e){m=e}function j(e,s){var l=s.mediaInfo,c=l.type,d=l.mimeType,p=l.codec||d;p?-1!==l.codec.indexOf("application/mp4")?function(e,i,s){var l,c;if("InitializationSegment"===i.segmentType)f=!0,h=r.getMediaTimescaleFromMoov(e);else{if(!f)return;c=r.getSamplesInfo(e),(l=c.sampleList).length>0&&(g=l[0].cts-i.start*h),s.search(a.a.STPP)>=0?function(e,r,i){var s,l;for(o=null!==o?o:K(i),s=0;s0&&C.addCaptions(m,0,s)}(e,l)}}(e,s,p):c===a.a.VIDEO?function(e,t){var a,o;if(t.segmentType===v.a.INIT_SEGMENT_TYPE)0===T&&(T=r.getMediaTimescaleFromMoov(e));else if(t.segmentType===v.a.MEDIA_SEGMENT_TYPE){if(0===T)return void n.warn("CEA-608: No timescale for embeddedTextTrack yet");var s=(o=r.getSamplesInfo(e)).lastSequenceNumber;if(A[0]||A[1]||function(){for(var e,t=0;t<_.length;t++){if(-1===(e=C.getTrackIdxForId(_[t].id)))return void n.warn("CEA-608: data before track is ready.");var r=Y(e);A[t]=new i.a.Cea608Parser(t+1,{newCue:r},null)}}(),T){if(null!==S&&s!==S+o.numSequences)for(a=0;a0){o.cts!==u?l=0:l+=1;var h=H();n.fields[d].push([o.cts+h*T,f[d],l]),u=o.cts}return n.fields.forEach((function(e){e.sort((function(e,t){return e[0]===t[0]?e[2]-t[2]:e[0]-t[0]}))})),n}(e,o.sampleList),l=0;l=0?t=D:(e.search(a.a.TTML)>=0||e.search(a.a.STPP)>=0)&&(t=O),t}function q(e){_.forEach((function(t){var n=C.getTrackIdxForId(t.id);n>=0&&C.deleteCuesFromTrackIdx(n,e.from,e.to)}))}return t={initialize:function(){F||(_=[],m=null,T=0,A=[],S=null,F=!0,b=pr(P).getInstance(),L.on(c.a.VIDEO_CHUNK_RECEIVED,k,t),L.on(c.a.BUFFER_CLEARED,q,t))},addMediaInfos:function(e,n,r){if(s=s.concat(n),e===a.a.TEXT&&n[0].isFragmented&&!n[0].isEmbedded){u=r,t.buffered=Object(dr.a)(P).create(),p=N.getTracksFor(a.a.TEXT,M.id).filter((function(e){return e.isFragmented}));for(var i=N.getCurrentTrackFor(a.a.TEXT,M.id),o=0;on/r?o=(s=t)/r*n:s=(o=e)/n*r;var u,l,c=0,f=0;return o/s>i?(f=s,c=s*i):(c=o,f=o/i),u=(e-c)/2,l=(t-f)/2,a?{x:u+.1*c,y:l+.1*f,w:.8*c,h:.8*f}:{x:u,y:l,w:c,h:f}}function w(e,t){var n=I.getClientWidth(),r=I.getClientHeight(),i=I.getVideoWidth(),a=I.getVideoHeight(),o=I.getVideoRelativeOffsetTop(),s=I.getVideoRelativeOffsetLeft();if(0!==i&&0!==a){var l=i/a,c=!1;e.isFromCEA608&&(l=3.5/3,c=!0);var d=N.call(this,n,r,i,a,l,c),y=d.w,v=d.h,S=d.x,A=d.y;if(y!=p||v!=g||S!=u||A!=f||t){if(u=S+s,f=A+o,p=y,g=v,m){var R=m.style;R&&(R.left=u+"px",R.top=f+"px",R.width=p+"px",R.height=g+"px",R.zIndex=E&&document[E]||_?T:null,b.trigger(h.a.CAPTION_CONTAINER_RESIZE))}var w=e.activeCues;if(w)for(var C=w.length,D=0;D=0&&i[e]?I.getTextTrack(i[e].kind,i[e].id,i[e].lang,i[e].isTTML,i[e].isEmbedded):null}function P(e){var t=this;if(e!==s){var n=M(s=e);L.call(this,n),y&&(clearInterval(y),y=null),n&&"html"===n.renderingType&&(w.call(this,n,!0),window.ResizeObserver?(S=new window.ResizeObserver((function(){w.call(t,n,!0)}))).observe(I.getElement()):y=setInterval(w.bind(this,n),500))}}function L(e){G.call(this),e&&"html"===e.renderingType?B.call(this):k.call(this)}function F(e,t){if(!e.cues)return!1;for(var n=0;n=t)&&(isNaN(n)||e.endTime<=n)}function U(e,t,n){if(e.cues)for(var r=e.cues,i=r.length-1;i>=0;i--)x(r[i],t,n)&&(r[i].onexit&&r[i].onexit(),e.removeCue(r[i]))}function B(){var e=document.getElementById("native-cue-style");if(!e){(e=document.createElement("style")).id="native-cue-style",document.head.appendChild(e);var t=e.sheet,r=I.getElement();try{r&&(r.id?t.insertRule("#"+r.id+"::cue {background: transparent}",0):0!==r.classList.length?t.insertRule("."+r.className+"::cue {background: transparent}",0):t.insertRule("video::cue {background: transparent}",0))}catch(e){n.info(""+e.message)}}}function k(){var e=document.getElementById("native-cue-style");e&&document.head.removeChild(e)}function G(){if(m)for(;m.firstChild;)m.removeChild(m.firstChild)}return t={initialize:function(){"undefined"!=typeof window&&"undefined"!=typeof navigator&&(r=window.VTTCue||window.TextTrackCue,i=[],o=[],s=-1,u=0,f=0,p=0,g=0,m=null,y=null,_=!1,T=2147483647,v=null,void 0!==document.fullscreenElement?E="fullscreenElement":void 0!==document.webkitIsFullScreen?E="webkitIsFullScreen":document.msFullscreenElement?E="msFullscreenElement":document.mozFullScreen&&(E="mozFullScreen"))},getStreamId:function(){return R.id},addTextTrack:function(e){i.push(e)},addCaptions:O,createTracks:function(){i.sort((function(e,t){return e.index-t.index})),m=I.getTTMLRenderingDiv();for(var e,t,n,r,u,l,f=-1,d=0;d=0){b.on(h.a.PLAYBACK_METADATA_LOADED,(function e(){var t=M(f);t&&w.call(this,t,!0),b.off(h.a.PLAYBACK_METADATA_LOADED,e,this)}),this);for(var y=0;y1){var n=e.split(/:/)[1];n&&-1!=n.search(/%/)&&(n=parseInt(n.replace(/%/,""),10)),(e.match(/align/)||e.match(/A/))&&(t.align=n),(e.match(/line/)||e.match(/L/))&&(t.line=n),(e.match(/position/)||e.match(/P/))&&(t.position=n),(e.match(/size/)||e.match(/S/))&&(t.size=n)}})),t}function c(e,t){for(var n,i=t,a="",o="";""!==e[i]&&i1)for(var s=0;s0&&"WEBVTT"!==d&&d.match(r)){var h=u(d),p=h.cuePoints,g=h.styles,m=c(e,f+1),y=s(p[0].replace(i,"")),E=s(p[1].replace(i,""));!isNaN(y)&&!isNaN(E)&&y>=o&&E>y?""!==m?(o=y,l.push({start:y,end:E,data:m,styles:g})):t.error("Skipping cue due to empty/malformed cue text"):t.error("Skipping cue due to incorrect cue timing")}}return l}},t=Object(d.a)(o).getInstance().getLogger(e),n=/(?:\r\n|\r|\n)/gm,r=/-->/,i=/(^[\s]+|[\s]+$)/g,a=/\s\b/g,e}vr.__dashjs_factory_name="VTTParser";var Tr=f.a.getSingletonFactory(vr);function Sr(){var e,t,n=this.context,r=Object(l.a)(n).getInstance(),i=0;return e={parse:function(e,n,a,o,s){var u,l,f,d="",p=[],g={},m={},y="",E="",_={onOpenTag:function(e,n,i){if(i[" imagetype"]&&!i[" imageType"]&&(r.trigger(h.a.CONFORMANCE_VIOLATION,{level:pe.LEVELS.ERROR,event:pe.EVENTS.NON_COMPLIANT_SMPTE_IMAGE_ATTRIBUTE}),i[" imageType"]=i[" imagetype"]),"image"===n&&("http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt"===e||"http://www.smpte-ra.org/schemas/2052-1/2013/smpte-tt"===e)){if(!i[" imageType"]||"PNG"!==i[" imageType"].value)return void t.warn("smpte-tt imageType != PNG. Discarded");y=i["http://www.w3.org/XML/1998/namespace id"].value}},onCloseTag:function(){y&&(m[y]=E.trim()),E="",y=""},onText:function(e){y&&(E+=e)}};if(!e)throw d="no ttml data to parse",new Error(d);g.data=e,r.trigger(c.a.TTML_TO_PARSE,g);var v=Object(yr.fromXML)(g.data,(function(e){d=e}),_);r.trigger(c.a.TTML_PARSED,{ttmlString:g.data,ttmlDoc:v});var T,S=v.getMediaTimeEvents();for(f=0;fo?o:S[f+1]+n)&&p.push({start:u,end:l,type:"html",cueID:(T=void 0,T="cue_TTML_"+i,i++,T),isd:A,images:s,embeddedImages:m})}if(""!==d)throw t.error(d),new Error(d);return p}},t=Object(d.a)(n).getInstance().getLogger(e),e}Sr.__dashjs_factory_name="TTMLParser";var Ar=f.a.getSingletonFactory(Sr);function br(e){var t,n,r,i,o,s,u,f,d,p,g,m,y,E=this.context,_=e.adapter,v=e.errHandler,T=e.manifestModel,S=e.mediaController,A=e.videoModel,b=e.settings;function I(e){var t=e.tracks,r=e.index,i=e.streamId;!1===b.get().streaming.text.defaultEnabled&&!N()||y?w(i,-1):(f&&t.some((function(e,t){if(S.matchSettings(f,e))return w(i,t),r=t,!0})),p=!1),n[i].lastEnabledIndex=r,u.trigger(h.a.TEXT_TRACKS_ADDED,{enabled:N(),index:r,tracks:t,streamId:i}),m=!0}function R(e){if(!d&&e&&e.newMediaInfo){var t=e.newMediaInfo;t.type===a.a.TEXT&&(f={lang:t.lang,role:t.roles[0],index:t.index,codec:t.codec,accessibility:t.accessibility[0]})}}function N(){var e=!0;return p&&!g&&(e=!1),e}function w(e,t){(p=-1===t)&&S&&S.saveTextSettingsDisabled();var n=C(e);if(n!==t&&i[e]){i[e].setModeForTrackIdx(n,a.a.TEXT_HIDDEN),i[e].setCurrentTrackIdx(t),i[e].setModeForTrackIdx(t,a.a.TEXT_SHOWING);var o=i[e].getCurrentTrackInfo();o&&o.isFragmented&&!o.isEmbedded?function(e,t,n){if(!r[e])return;for(var o=r[e].getConfig().fragmentedTracks,s=0;s3&&void 0!==arguments[3]?arguments[3]:null,a=e.id;r[a]&&r[a].addMediaInfos(t,n,i)},reset:function(){D(),u.off(c.a.CURRENT_TRACK_CHANGED,R,t),u.off(c.a.TEXT_TRACKS_QUEUE_INITIALIZED,I,t),Object.keys(r).forEach((function(e){r[e].resetEmbedded(),r[e].reset()}))}},f=null,g=!1,m=!1,d=!1,y=!1,o=Tr(E).getInstance(),s=Ar(E).getInstance(),u=Object(l.a)(E).getInstance(),D(),t}br.__dashjs_factory_name="TextController";var Ir=f.a.getClassFactory(br);function Rr(){var e,t,n,r,s,p,m,T,S,A,b,I,R,N,w,C,D,O,P,U,B,k,G,j,Y,H,K,q,V,W,z,X,Q,$,Z,J,ee="You must first call initialize() and set a source before calling this method",te="You must first call initialize() and set a valid source and view before calling this method",ne="You must first call attachView() to set the video element before calling this method",re=this.context,ie=Object(l.a)(re).getInstance(),oe=Object(_.a)(re).getInstance(),se=Object(d.a)(re).getInstance({settings:oe});function ue(){Ie(null),Te(null),r=null,R&&(R.reset(),R=null),N&&(N.reset(),N=null),oe.reset(),C&&(C.reset(),C=null)}function le(){return!!n&&!!W.getElement()}function ce(){return Object(fn.a)()}function fe(){if(!m)throw te;return H.isPaused()}function de(e){var t=G&&G.hasVideoTrack()?a.a.VIDEO:a.a.AUDIO,n=K.getCurrentDVRInfo(t);if(!n)return 0;var r=H.getLiveDelay(),i=n.range.start+e;return i>n.range.end-r&&(i=n.range.end-r),i}function he(e){if(!m)throw te;var t=_e().currentTime;if(void 0!==e)t=G.getTimeRelativeToStreamId(t,e);else if(H.getIsDynamic()){var n=G&&G.hasVideoTrack()?a.a.VIDEO:a.a.AUDIO,r=K.getCurrentDVRInfo(n);t=null===r||0===t?0:Math.max(0,t-r.range.start)}return t}function pe(){if(!m)throw te;var e=_e().duration;if(H.getIsDynamic()){var t=G&&G.hasVideoTrack()?a.a.VIDEO:a.a.AUDIO,n=K.getCurrentDVRInfo(t);e=n?n.range.end-n.range.start:0}return e}function ge(e){Object(M.b)(e,"boolean"),T=e}function me(){O.restoreDefaultUTCTimingSources()}function ye(){return K}function _e(){if(!W.getElement())throw ne;return W.getElement()}function Te(e){if(!s)throw"MediaPlayer not initialized!";W.setElement(e),e&&(Ce(),function(){if(N)return;var e=dashjs.MetricsReporting;if("function"==typeof e){var t=e(re).create();N=t.createMetricsReporting({debug:se,eventBus:ie,mediaElement:_e(),adapter:D,dashMetrics:K,events:c.a,constants:a.a,metricsConstants:u})}}(),function(){if(w)return;var e=dashjs.MssHandler;"function"==typeof e&&(E.a.extend(e.errors),w=e(re).create({eventBus:ie,mediaPlayerModel:O,dashMetrics:K,manifestModel:q,playbackController:H,streamController:G,protectionController:R,baseURLController:U,errHandler:P,events:c.a,constants:a.a,debug:se,initSegmentType:v.a.INIT_SEGMENT_TYPE,BASE64:rr.a,ISOBoxer:ar.a,settings:oe}))}(),G&&G.switchToVideoElement()),m&&Ne(),Me()}function Se(e){if(!p)throw ee;var t=G.getActiveStreamInfo();return t?I.getTracksFor(e,t.id):[]}function be(e,t){var n=-1;e.some((function(e,r){if(e===t)return n=r,!0})),n<0||e.splice(n,1)}function Ie(e){if(!s)throw"MediaPlayer not initialized!";"string"==typeof e&&z.initialize(e),n=e,(p||m)&&Ne(),le()&&Me()}function Re(){if(!p)throw ee;var e=G.getActiveStreamInfo();return e?G.getStreamById(e.id):null}function Ne(){m=!1,p=!1,D.reset(),G.reset(),Y.reset(),H.reset(),S.reset(),I.reset(),Q.reset(),R&&(oe.get().streaming.protection.keepProtectionMediaKeys?R.stop():(R.reset(),R=null,Ce())),j.reset(),V.reset()}function we(){return Ze(re).create({debug:se,errHandler:P,dashMetrics:K,mediaPlayerModel:O,requestModifier:Object(L.a)(re).getInstance(),mssHandler:w,settings:oe})}function Ce(){if(R)return R;var e=dashjs.Protection;if("function"==typeof e){var t=e(re).create();return c.a.extend(e.events),h.a.extend(e.events,{publicOnly:!0}),E.a.extend(e.errors),B||(B=Object(tt.a)(re).getInstance()),(R=t.createProtectionSystem({debug:se,errHandler:P,videoModel:W,capabilities:B,eventBus:ie,events:c.a,BASE64:rr.a,constants:a.a,cmcdModel:V,settings:oe}))&&(R.setLicenseRequestFilters($),R.setLicenseResponseFilters(Z)),R}return null}function De(){if(!s)throw"MediaPlayer not initialized!";if(C)return C;var e=dashjs.OfflineController;if("function"==typeof e){c.a.extend(e.events),h.a.extend(e.events,{publicOnly:!0}),E.a.extend(e.errors);var t=we(),n=ae(re).create();return n.setConfig({manifestModel:q,adapter:D,manifestLoader:t,errHandler:P}),C=e(re).create({debug:se,manifestUpdater:n,baseURLController:U,manifestLoader:t,manifestModel:q,mediaPlayerModel:O,abrController:S,playbackController:H,adapter:D,errHandler:P,dashMetrics:K,timelineConverter:b,segmentBaseController:Q,schemeLoaderFactory:A,eventBus:ie,events:c.a,errors:E.a,constants:a.a,settings:oe,dashConstants:o.a,urlUtils:Object(F.a)(re).getInstance()})}return null}function Oe(e){var t=G&&G.hasVideoTrack()?a.a.VIDEO:a.a.AUDIO,n=K.getCurrentDVRInfo(t);return n?e+(n.manifestInfo.availableFrom.getTime()/1e3+n.range.start):0}function Me(){var e;C&&C.resetRecords(),!p&&n&&(p=!0,t.info("Streaming Initialized"),e=we(),G||(G=Ee(re).getInstance()),j||(j=Ir(re).create({errHandler:P,manifestModel:q,adapter:D,mediaController:I,videoModel:W,settings:oe})),k.setConfig({capabilities:B,adapter:D,settings:oe,manifestModel:q,errHandler:P}),k.setCustomCapabilitiesFilters(J),G.setConfig({capabilities:B,capabilitiesFilter:k,manifestLoader:e,manifestModel:q,mediaPlayerModel:O,protectionController:R,textController:j,adapter:D,dashMetrics:K,errHandler:P,timelineConverter:b,videoModel:W,playbackController:H,abrController:S,mediaController:I,settings:oe,baseURLController:U,uriFragmentModel:z,segmentBaseController:Q}),Y.setConfig({settings:oe,playbackController:H,streamController:G,videoModel:W,timelineConverter:b,adapter:D}),H.setConfig({streamController:G,dashMetrics:K,mediaPlayerModel:O,adapter:D,videoModel:W,timelineConverter:b,settings:oe}),S.setConfig({streamController:G,domStorage:X,mediaPlayerModel:O,dashMetrics:K,adapter:D,videoModel:W,settings:oe}),V.setConfig({abrController:S,dashMetrics:K,playbackController:H}),S.initialize(),G.initialize(T,r),j.initialize(),Y.initialize(),V.initialize(),Q.initialize(),"string"==typeof n?G.load(n):G.loadWithManifest(n)),!m&&le()&&(m=!0,t.info("Playback Initialized"))}return e={initialize:function(e,n,r){B||(B=Object(tt.a)(re).getInstance()).setConfig({settings:oe}),P||(P=et(re).getInstance()),B.supportsMediaSource()?(s||(s=!0,b=tr(re).getInstance(),S||(S=tn(re).getInstance()).setConfig({settings:oe}),A||(A=Object(nn.a)(re).getInstance()),H||(H=g(re).getInstance()),I||(I=Ae(re).getInstance()),G||(G=Ee(re).getInstance()),Y||(Y=ve(re).getInstance()),k||(k=rt(re).getInstance()),D=Ln(re).getInstance(),q=ut(re).getInstance(),V=Object(sn.a)(re).getInstance(),K=Jn(re).getInstance({settings:oe}),X=cn(re).getInstance({settings:oe}),D.setConfig({constants:a.a,cea608parser:i.a,errHandler:P,BASE64:rr.a}),U||(U=xe(re).create()),U.setConfig({adapter:D}),Q||(Q=vn(re).getInstance({dashMetrics:K,mediaPlayerModel:O,errHandler:P,baseURLController:U,events:c.a,eventBus:ie,debug:se,boxParser:Object(x.a)(re).getInstance(),requestModifier:Object(L.a)(re).getInstance(),errors:E.a})),I.setConfig({domStorage:X,settings:oe}),me(),ge(void 0===r||r),De()),e&&Te(e),n&&Ie(n),t.info("[dash.js "+ce()+"] MediaPlayer has been initialized")):P.error(new y.a(E.a.CAPABILITY_MEDIASOURCE_ERROR_CODE,E.a.CAPABILITY_MEDIASOURCE_ERROR_MESSAGE))},setConfig:function(e){e&&(e.capabilities&&(B=e.capabilities),e.capabilitiesFilter&&(k=e.capabilitiesFilter),e.streamController&&(G=e.streamController),e.textController&&(j=e.textController),e.gapController&&(Y=e.gapController),e.playbackController&&(H=e.playbackController),e.mediaPlayerModel&&(O=e.mediaPlayerModel),e.abrController&&(S=e.abrController),e.schemeLoaderFactory&&(A=e.schemeLoaderFactory),e.mediaController&&(I=e.mediaController),e.settings&&(oe=e.settings))},on:function(e,t,n,r){ie.on(e,t,n,r)},off:function(e,t,n){ie.off(e,t,n)},extend:function(e,t,n){f.a.extend(e,t,n,re)},attachView:Te,attachSource:Ie,isReady:le,play:function(){if(!m)throw te;(!T||fe()&&m)&&H.play()},isPaused:fe,pause:function(){if(!m)throw te;H.pause()},isSeeking:function(){if(!m)throw te;return H.isSeeking()},isDynamic:function(){if(!m)throw te;return H.getIsDynamic()},seek:function(e){if(!m)throw te;if(Object(M.b)(e,"number"),isNaN(e))throw a.a.BAD_ARGUMENT_ERROR;var t=H.getIsDynamic()?de(e):e;H.seek(t)},setPlaybackRate:function(e){_e().playbackRate=e},getPlaybackRate:function(){return _e().playbackRate},setMute:function(e){Object(M.b)(e,"boolean"),_e().muted=e},isMuted:function(){return _e().muted},setVolume:function(e){if("number"!=typeof e||isNaN(e)||e<0||e>1)throw a.a.BAD_ARGUMENT_ERROR;_e().volume=e},getVolume:function(){return _e().volume},time:he,duration:pe,timeAsUTC:function(){if(!m)throw te;return he()<0?NaN:Oe(he())},durationAsUTC:function(){if(!m)throw te;return Oe(pe())},getActiveStream:Re,getDVRWindowSize:function(){var e=G&&G.hasVideoTrack()?a.a.VIDEO:a.a.AUDIO,t=K.getCurrentDVRInfo(e);return t?t.manifestInfo.dvrWindowSize:0},getDVRSeekOffset:de,convertToTimeCode:function(e){e=Math.max(e,0);var t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=Math.floor(e%3600%60);return(0===t?"":t<10?"0"+t.toString()+":":t.toString()+":")+(n<10?"0"+n.toString():n.toString())+":"+(r<10?"0"+r.toString():r.toString())},formatUTC:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=new Date(1e3*e),a=i.toLocaleDateString(t),o=i.toLocaleTimeString(t,{hour12:n});return r?o+" "+a:o},getVersion:ce,getDebug:function(){return se},getBufferLength:function(e){var n=[a.a.VIDEO,a.a.AUDIO,a.a.TEXT];if(e){if(-1!==n.indexOf(e)){var r=ye().getCurrentBufferLevel(e);return r||NaN}return t.warn("getBufferLength requested for invalid type"),NaN}var i=n.map((function(e){return Se(e).length>0?ye().getCurrentBufferLevel(e):Number.MAX_VALUE})).reduce((function(e,t){return Math.min(e,t)}));return i===Number.MAX_VALUE?NaN:i},getTTMLRenderingDiv:function(){return W?W.getTTMLRenderingDiv():null},getVideoElement:_e,getSource:function(){if(!n)throw"You must first call attachSource() with a valid source before calling this method";return n},getCurrentLiveLatency:function(){if(!s)throw"MediaPlayer not initialized!";return m?H.getCurrentLiveLatency():NaN},getTopBitrateInfoFor:function(e){if(!p)throw ee;return S.getTopBitrateInfoFor(e)},setAutoPlay:ge,getAutoPlay:function(){return T},getDashMetrics:ye,getQualityFor:function(e){if(!p)throw ee;if(e===a.a.IMAGE){var t=Re();if(!t)return-1;var n=t.getThumbnailController();return n?n.getCurrentTrackIndex():-1}return S.getQualityFor(e)},setQualityFor:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!p)throw ee;if(e===a.a.IMAGE){var r=Re();if(!r)return;var i=r.getThumbnailController();i&&i.setTrackByIndex(t)}S.setPlaybackQuality(e,G.getActiveStreamInfo(),t,{forceReplace:n})},updatePortalSize:function(){S.setElementSize(),S.setWindowResizeEventCalled(!0)},enableText:function(e){var t=G.getActiveStreamInfo();return!(!t||!j)&&j.enableText(t.id,e)},enableForcedTextStreaming:function(e){return!(!G.getActiveStreamInfo()||!j)&&j.enableForcedTextStreaming(e)},isTextEnabled:function(){var e=G.getActiveStreamInfo();return!(!e||!j)&&j.isTextEnabled(e)},setTextTrack:function(e){if(!m)throw te;var t=G.getActiveStreamInfo();t&&j&&j.setTextTrack(t.id,e)},getBitrateInfoListFor:function(e){if(!p)throw ee;var t=Re();return t?t.getBitrateListFor(e):[]},getStreamsFromManifest:function(e){if(!p)throw ee;return D.getStreamsInfo(e)},getTracksFor:Se,getTracksForTypeFromManifest:function(e,t,n){if(!p)throw ee;return(n=n||D.getStreamsInfo(t,1)[0])?D.getAllMediaInfoForType(n,e,t):[]},getCurrentTrackFor:function(e){if(!p)throw ee;var t=G.getActiveStreamInfo();return I.getCurrentTrackFor(e,t.id)},setInitialMediaSettingsFor:function(e,t){if(!s)throw"MediaPlayer not initialized!";I.setInitialSettings(e,t)},getInitialMediaSettingsFor:function(e){if(!s)throw"MediaPlayer not initialized!";return I.getInitialSettings(e)},setCurrentTrack:function(e){if(!p)throw ee;I.setTrack(e)},addABRCustomRule:function(e,t,n){O.addABRCustomRule(e,t,n)},removeABRCustomRule:function(e){O.removeABRCustomRule(e)},removeAllABRCustomRule:function(){O.removeABRCustomRule()},getAverageThroughput:function(e){var t=S.getThroughputHistory();return t?t.getAverageThroughput(e):0},retrieveManifest:function(e,t){var n=we(),r=this;ie.on(c.a.INTERNAL_MANIFEST_LOADED,(function e(i){i.error?t(null,i.error):t(i.manifest),ie.off(c.a.INTERNAL_MANIFEST_LOADED,e,r),n.reset()}),r),z.initialize(e),n.load(e)},addUTCTimingSource:function(e,t){O.addUTCTimingSource(e,t)},removeUTCTimingSource:function(e,t){O.removeUTCTimingSource(e,t)},clearDefaultUTCTimingSources:function(){O.clearDefaultUTCTimingSources()},restoreDefaultUTCTimingSources:me,setXHRWithCredentialsForType:function(e,t){O.setXHRWithCredentialsForType(e,t)},getXHRWithCredentialsForType:function(e){return O.getXHRWithCredentialsForType(e)},getProtectionController:function(){return Ce()},attachProtectionController:function(e){R=e},setProtectionData:function(e){r=e,G&&G.setProtectionData(r)},registerLicenseRequestFilter:function(e){$.push(e),R&&R.setLicenseRequestFilters($)},registerLicenseResponseFilter:function(e){Z.push(e),R&&R.setLicenseResponseFilters(Z)},unregisterLicenseRequestFilter:function(e){be($,e),R&&R.setLicenseRequestFilters($)},unregisterLicenseResponseFilter:function(e){be(Z,e),R&&R.setLicenseResponseFilters(Z)},registerCustomCapabilitiesFilter:function(e){J.push(e),k&&k.setCustomCapabilitiesFilters(J)},unregisterCustomCapabilitiesFilter:function(e){be(J,e),k&&k.setCustomCapabilitiesFilters(J)},setCustomInitialTrackSelectionFunction:function(e){I&&I.setCustomInitialTrackSelectionFunction(e)},resetCustomInitialTrackSelectionFunction:function(){I&&I.setCustomInitialTrackSelectionFunction(null)},attachTTMLRenderingDiv:function(e){if(!W.getElement())throw ne;W.setTTMLRenderingDiv(e)},getCurrentTextTrackIndex:function(){var e=G.getActiveStreamInfo();if(e&&j)return j.getCurrentTrackIdx(e.id)},provideThumbnail:function(e,t){if("function"==typeof t)if(e<0)t(null);else{var n=H.getIsDynamic()?de(e):e,r=G.getStreamForTime(n);if(null!==r){var i=r.getThumbnailController();if(i){var a=G.getTimeRelativeToStreamId(n,r.getId());return i.provide(a,t)}t(null)}else t(null)}},getDashAdapter:function(){return D},getOfflineController:function(){return De()},getSettings:function(){return oe.get()},updateSettings:function(e){oe.update(e)},resetSettings:function(){oe.reset()},reset:ue,destroy:function(){ue(),$=[],Z=[],J=[],f.a.deleteSingletonInstances(re)}},t=se.getLogger(e),s=!1,m=!1,p=!1,T=!0,R=null,C=null,r=null,D=null,Q=null,c.a.extend(h.a),O=Kt(re).getInstance(),W=on(re).getInstance(),z=ot(re).getInstance(),$=[],Z=[],J=[],e}Rr.__dashjs_factory_name="MediaPlayer";var Nr=f.a.getClassFactory(Rr);Nr.events=h.a,Nr.errors=E.a,f.a.updateClassFactory(Rr.__dashjs_factory_name,Nr);t.a=Nr},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));function r(){return"4.1.0"}},function(e,t,n){var r,i,o,u,l,c={encode:function(e){for(var t=[],n=0;n>6),t.push(128|63&r)):r<65536?(t.push(224|r>>12),t.push(128|63&r>>6),t.push(128|63&r)):(t.push(240|r>>18),t.push(128|63&r>>12),t.push(128|63&r>>6),t.push(128|63&r))}return t},decode:function(e){for(var t=[],n=0;n>18)),n.push(r.charAt(63&a>>12)),n.push(r.charAt(63&a>>6)),n.push(r.charAt(63&a))}return 2==e.length-t?(a=(e[t]<<16)+(e[t+1]<<8),n.push(r.charAt(63&a>>18)),n.push(r.charAt(63&a>>12)),n.push(r.charAt(63&a>>6)),n.push("=")):1==e.length-t&&(a=e[t]<<16,n.push(r.charAt(63&a>>18)),n.push(r.charAt(63&a>>12)),n.push("==")),n.join("")},o=function(){for(var e=[],t=0;t0&&(e.segments=u);return e}(e,n[1])),(r=e).mediaFinishedInformation=E.getMediaFinishedInformation(r),function(e){if(!S())return;var t,n=d.getCurrentManifestUpdate(),r=!1;if(n){for(var i=0;i=s.length?null:s[e]}function w(e){i=!1,l.trigger(c.DATA_UPDATE_COMPLETED,{data:n,currentRepresentation:u,error:e},{streamId:m.id,mediaType:g})}function C(e){u=e}function D(e){if(e.newDuration){var t=A();if(t&&t.adaptation.period)t.adaptation.period.duration=e.newDuration}}return t={getStreamId:function(){return m.id},getType:v,getData:function(){return n},isUpdating:S,updateData:function(e,t,a,o,u){if(T(),i=!0,s=t,C(N(u)),n=e,a!==r.a.VIDEO&&a!==r.a.AUDIO&&(a!==r.a.TEXT||!o))return w(),Promise.resolve();for(var l=[],c=0,f=s.length;c=0}return!1}),(function(e){return String(e)}))}return n}(l),E=n(1);function _(e){return(_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function v(e,t){return(v=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function T(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=A(e);if(t){var i=A(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return S(this,n)}}function S(e,t){return!t||"object"!==_(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function A(e){return(A=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var b=/^([-])?P(([\d.]*)Y)?(([\d.]*)M)?(([\d.]*)D)?T?(([\d.]*)H)?(([\d.]*)M)?(([\d.]*)S)?/,I=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&v(e,t)}(n,e);var t=T(n);function n(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),t.call(this,(function(e){for(var t=[c.a.MIN_BUFFER_TIME,c.a.MEDIA_PRESENTATION_DURATION,c.a.MINIMUM_UPDATE_PERIOD,c.a.TIMESHIFT_BUFFER_DEPTH,c.a.MAX_SEGMENT_DURATION,c.a.MAX_SUBSEGMENT_DURATION,c.a.SUGGESTED_PRESENTATION_DELAY,c.a.START,E.a.START_TIME,c.a.DURATION],n=t.length,r=0;r4)return null;var r=[];for(var i in t){var a=n.parseLength(t[i]);if(!a)return null;r.push(a)}return r}),(function(t,n,r,i,a){var o;if(1===i.length)o=[i[0],i[0],i[0],i[0]];else if(2===i.length)o=[i[0],i[1],i[0],i[1]];else if(3===i.length)o=[i[0],i[1],i[2],i[1]];else{if(4!==i.length)return null;o=[i[0],i[1],i[2],i[3]]}var s=r.styleAttrs[e.byName.writingMode.qname];if("lrtb"===s||"lr"===s)o=[o[0],o[3],o[2],o[1]];else if("rltb"===s||"rl"===s)o=[o[0],o[1],o[2],o[3]];else if("tblr"===s)o=[o[3],o[0],o[1],o[2]];else{if("tbrl"!==s&&"tb"!==s)return null;o=[o[3],o[2],o[1],o[0]]}var u=[];for(var l in o)if(0===o[l].value)u[l]=0;else if("%"===o[l].unit)u[l]="0"===l||"2"===l?r.styleAttrs[e.byName.extent.qname].h*o[l].value/100:r.styleAttrs[e.byName.extent.qname].w*o[l].value/100;else if("em"===o[l].unit)u[l]=r.styleAttrs[e.byName.fontSize.qname]*o[l].value;else if("c"===o[l].unit)u[l]=o[l].value/t.cellResolution.h;else{if("px"!==o[l].unit)return null;u[l]="0"===l||"2"===l?o[l].value/t.pxDimensions.h:o[l].value/t.pxDimensions.w}return u})),new r(t.ns_tts,"showBackground","always",["region"],!1,!0,(function(e){return e}),null),new r(t.ns_tts,"textAlign","start",["p"],!0,!0,(function(e){return e}),(function(e,t,n,r,i){return"left"===r?"start":"right"===r?"end":r})),new r(t.ns_tts,"textDecoration","none",["span"],!0,!0,(function(e){return e.split(" ")}),null),new r(t.ns_tts,"textOutline","none",["span"],!0,!0,(function(e){if("none"===e)return e;var t={},r=e.split(" ");if(0===r.length||r.length>2)return null;var i=n.parseColor(r[0]);if(t.color=i,null!==i&&r.shift(),1!==r.length)return null;var a=n.parseLength(r[0]);return a?(t.thickness=a,t):null}),(function(t,n,r,i,a){if("none"===i)return i;var o={};if(null===i.color?o.color=r.styleAttrs[e.byName.color.qname]:o.color=i.color,"%"===i.thickness.unit)o.thickness=r.styleAttrs[e.byName.fontSize.qname]*i.thickness.value/100;else if("em"===i.thickness.unit)o.thickness=r.styleAttrs[e.byName.fontSize.qname]*i.thickness.value;else if("c"===i.thickness.unit)o.thickness=i.thickness.value/t.cellResolution.h;else{if("px"!==i.thickness.unit)return null;o.thickness=i.thickness.value/t.pxDimensions.h}return o})),new r(t.ns_tts,"unicodeBidi","normal",["span","p"],!1,!0,(function(e){return e}),null),new r(t.ns_tts,"visibility","visible",["body","div","p","region","span"],!0,!0,(function(e){return e}),null),new r(t.ns_tts,"wrapOption","wrap",["span"],!0,!0,(function(e){return e}),null),new r(t.ns_tts,"writingMode","lrtb",["region"],!1,!0,(function(e){return e}),null),new r(t.ns_tts,"zIndex","auto",["region"],!1,!0,(function(e){var t;return"auto"===e?t=e:(t=parseInt(e),isNaN(t)&&(t=null)),t}),null),new r(t.ns_ebutts,"linePadding","0c",["p"],!0,!1,n.parseLength,(function(e,t,n,r,i){return"c"===r.unit?r.value/e.cellResolution.h:null})),new r(t.ns_ebutts,"multiRowAlign","auto",["p"],!0,!1,(function(e){return e}),null),new r(t.ns_smpte,"backgroundImage",null,["div"],!1,!1,(function(e){return e}),null),new r(t.ns_itts,"forcedDisplay","false",["body","div","p","region","span"],!0,!0,(function(e){return"true"===e}),null),new r(t.ns_itts,"fillLineGap","false",["p"],!0,!0,(function(e){return"true"===e}),null)],e.byQName={},e.all)e.byQName[e.all[i].qname]=e.all[i];for(var a in e.byName={},e.all)e.byName[e.all[a].name]=e.all[a]}(t,"undefined"==typeof imscNames?n(47):imscNames,"undefined"==typeof imscUtils?n(65):imscUtils)},function(e,t,n){"use strict";(function(e){ -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -var r=n(77),i=n(78),a=n(66);function o(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(o()=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function p(e,t){if(u.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return G(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return j(e).length;default:if(r)return G(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return C(this,t,n);case"utf8":case"utf-8":return R(this,t,n);case"ascii":return N(this,t,n);case"latin1":case"binary":return w(this,t,n);case"base64":return I(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function m(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function y(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=u.from(t,r)),u.isBuffer(t))return 0===t.length?-1:E(e,t,n,r,i);if("number"==typeof t)return t&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):E(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function E(e,t,n,r,i){var a,o=1,s=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,s/=2,u/=2,n/=2}function l(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var c=-1;for(a=n;as&&(n=s-u),a=n;a>=0;a--){for(var f=!0,d=0;di&&(r=i):r=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");r>a/2&&(r=a/2);for(var o=0;o>8,i=n%256,a.push(i),a.push(r);return a}(t,e.length-n),e,n,r)}function I(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function R(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:l>223?3:l>191?2:1;if(i+f<=n)switch(f){case 1:l<128&&(c=l);break;case 2:128==(192&(a=e[i+1]))&&(u=(31&l)<<6|63&a)>127&&(c=u);break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(u=(15&l)<<12|(63&a)<<6|63&o)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(u=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&u<1114112&&(c=u)}null===c?(c=65533,f=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),i+=f}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},u.prototype.compare=function(e,t,n,r,i){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var a=(i>>>=0)-(r>>>=0),o=(n>>>=0)-(t>>>=0),s=Math.min(a,o),l=this.slice(r,i),c=e.slice(t,n),f=0;fi)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var a=!1;;)switch(r){case"hex":return _(this,e,t,n);case"utf8":case"utf-8":return v(this,e,t,n);case"ascii":return T(this,e,t,n);case"latin1":case"binary":return S(this,e,t,n);case"base64":return A(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return b(this,e,t,n);default:if(a)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),a=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function N(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;ir)&&(n=r);for(var i="",a=t;an)throw new RangeError("Trying to access beyond buffer length")}function M(e,t,n,r,i,a){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function P(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function L(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function F(e,t,n,r,i,a){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function x(e,t,n,r,a){return a||F(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function U(e,t,n,r,a){return a||F(e,0,n,8),i.write(e,t,n,r,52,8),n+8}u.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(i*=256);)r+=this[e+--t]*i;return r},u.prototype.readUInt8=function(e,t){return t||O(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||O(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||O(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return t||O(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function(e,t){return t||O(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||O(e,t,this.length);for(var r=this[e],i=1,a=0;++a=(i*=128)&&(r-=Math.pow(2,8*t)),r},u.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||O(e,t,this.length);for(var r=t,i=1,a=this[e+--r];r>0&&(i*=256);)a+=this[e+--r]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},u.prototype.readInt8=function(e,t){return t||O(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){t||O(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){t||O(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(e,t){return t||O(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return t||O(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return t||O(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||O(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||O(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||O(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||M(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,a=0;for(this[t]=255&e;++a=0&&(a*=256);)this[t+i]=e/a&255;return t+n},u.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):L(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},u.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);M(this,e,t,n,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a>0)-s&255;return t+n},u.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);M(this,e,t,n,i-1,-i)}var a=n-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):L(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,n){return x(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return x(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(a<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&a.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function j(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(B,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function Y(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(21))},function(e,t,n){"use strict";var r,i="object"==typeof Reflect?Reflect:null,a=i&&"function"==typeof i.apply?i.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};r=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var o=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}e.exports=s,e.exports.once=function(e,t){return new Promise((function(n,r){function i(n){e.removeListener(t,a),r(n)}function a(){"function"==typeof e.removeListener&&e.removeListener("error",i),n([].slice.call(arguments))}y(e,t,a,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&y(e,"error",t,n)}(e,i,{once:!0})}))},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var u=10;function l(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function f(e,t,n,r){var i,a,o,s;if(l(n),void 0===(a=e._events)?(a=e._events=Object.create(null),e._eventsCount=0):(void 0!==a.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),a=e._events),o=a[t]),void 0===o)o=a[t]=n,++e._eventsCount;else if("function"==typeof o?o=a[t]=r?[n,o]:[o,n]:r?o.unshift(n):o.push(n),(i=c(e))>0&&o.length>i&&!o.warned){o.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=o.length,s=u,console&&console.warn&&console.warn(s)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function h(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=d.bind(r);return i.listener=n,r.wrapFn=i,i}function p(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n0&&(o=t[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var u=i[e];if(void 0===u)return!1;if("function"==typeof u)a(u,this,t);else{var l=u.length,c=m(u,l);for(n=0;n=0;a--)if(n[a]===t||n[a].listener===t){o=n[a].listener,i=a;break}if(i<0)return this;0===i?n.shift():function(e,t){for(;t+1=0;r--)this.removeListener(e,t[r]);return this},s.prototype.listeners=function(e){return p(this,e,!0)},s.prototype.rawListeners=function(e){return p(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):g.call(e,t)},s.prototype.listenerCount=g,s.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},function(e,t,n){(t=e.exports=n(67)).Stream=t,t.Readable=t,t.Writable=n(63),t.Duplex=n(30),t.Transform=n(70),t.PassThrough=n(86)},function(e,t,n){"use strict";(function(t,r,i){var a=n(48);function o(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var r=e.entry;e.entry=null;for(;r;){var i=r.callback;t.pendingcb--,i(n),r=r.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=E;var s,u=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?r:a.nextTick;E.WritableState=y;var l=n(42);l.inherits=n(34);var c={deprecate:n(85)},f=n(68),d=n(49).Buffer,h=i.Uint8Array||function(){};var p,g=n(69);function m(){}function y(e,t){s=s||n(30),e=e||{};var r=t instanceof s;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,l=e.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(l||0===l)?l:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var f=!1===e.decodeStrings;this.decodeStrings=!f,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,i=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,i){--t.pendingcb,n?(a.nextTick(i,r),a.nextTick(b,e,t),e._writableState.errorEmitted=!0,e.emit("error",r)):(i(r),e._writableState.errorEmitted=!0,e.emit("error",r),b(e,t))}(e,n,r,t,i);else{var o=S(n);o||n.corked||n.bufferProcessing||!n.bufferedRequest||T(e,n),r?u(v,e,n,o,i):v(e,n,o,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function E(e){if(s=s||n(30),!(p.call(E,this)||this instanceof s))return new E(e);this._writableState=new y(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),f.call(this)}function _(e,t,n,r,i,a,o){t.writelen=r,t.writecb=o,t.writing=!0,t.sync=!0,n?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function v(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),b(e,t)}function T(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,i=new Array(r),a=t.corkedRequestsFree;a.entry=n;for(var s=0,u=!0;n;)i[s]=n,n.isBuf||(u=!1),n=n.next,s+=1;i.allBuffers=u,_(e,t,!0,t.length,i,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new o(t),t.bufferedRequestCount=0}else{for(;n;){var l=n.chunk,c=n.encoding,f=n.callback;if(_(e,t,!1,t.objectMode?1:l.length,l,c,f),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function S(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function A(e,t){e._final((function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),b(e,t)}))}function b(e,t){var n=S(t);return n&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,a.nextTick(A,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}l.inherits(E,f),y.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(y.prototype,"buffer",{get:c.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(E,Symbol.hasInstance,{value:function(e){return!!p.call(this,e)||this===E&&(e&&e._writableState instanceof y)}})):p=function(e){return e instanceof this},E.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},E.prototype.write=function(e,t,n){var r,i=this._writableState,o=!1,s=!i.objectMode&&(r=e,d.isBuffer(r)||r instanceof h);return s&&!d.isBuffer(e)&&(e=function(e){return d.from(e)}(e)),"function"==typeof t&&(n=t,t=null),s?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof n&&(n=m),i.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),a.nextTick(t,n)}(this,n):(s||function(e,t,n,r){var i=!0,o=!1;return null===n?o=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||t.objectMode||(o=new TypeError("Invalid non-string/buffer chunk")),o&&(e.emit("error",o),a.nextTick(r,o),i=!1),i}(this,i,e,n))&&(i.pendingcb++,o=function(e,t,n,r,i,a){if(!n){var o=function(e,t,n){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=d.from(t,n));return t}(t,r,i);r!==o&&(n=!0,i="buffer",r=o)}var s=t.objectMode?1:r.length;t.length+=s;var u=t.length-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(E.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),E.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},E.prototype._writev=null,E.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(e,t,n){t.ending=!0,b(e,t),n&&(t.finished?a.nextTick(n):e.once("finish",n));t.ended=!0,e.writable=!1}(this,r,n)},Object.defineProperty(E.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),E.prototype.destroy=g.destroy,E.prototype._undestroy=g.undestroy,E.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,n(26),n(83).setImmediate,n(21))},function(e,t,n){"use strict";var r=n(49).Buffer,i=r.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(r.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=u,this.end=l,t=4;break;case"utf8":this.fillLast=s,t=4;break;case"base64":this.text=c,this.end=f,t=3;break;default:return this.write=d,void(this.end=h)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function o(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function u(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function l(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function c(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function f(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.StringDecoder=a,a.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0)return i>0&&(e.lastNeed=i-1),i;if(--r=0)return i>0&&(e.lastNeed=i-2),i;if(--r=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},a.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,n){!function(e){var t=/#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})?/,n=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/,r=/rgba\(\s*(\d+),\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/,i={transparent:[0,0,0,0],black:[0,0,0,255],silver:[192,192,192,255],gray:[128,128,128,255],white:[255,255,255,255],maroon:[128,0,0,255],red:[255,0,0,255],purple:[128,0,128,255],fuchsia:[255,0,255,255],magenta:[255,0,255,255],green:[0,128,0,255],lime:[0,255,0,255],olive:[128,128,0,255],yellow:[255,255,0,255],navy:[0,0,128,255],blue:[0,0,255,255],teal:[0,128,128,255],aqua:[0,255,255,255],cyan:[0,255,255,255]};e.parseColor=function(e){var a,o=null,s=i[e.toLowerCase()];return void 0!==s?o=s:null!==(a=t.exec(e))?o=[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16),void 0!==a[4]?parseInt(a[4],16):255]:null!==(a=n.exec(e))?o=[parseInt(a[1]),parseInt(a[2]),parseInt(a[3]),255]:null!==(a=r.exec(e))&&(o=[parseInt(a[1]),parseInt(a[2]),parseInt(a[3]),parseInt(a[4])]),o};var a=/^((?:\+|\-)?\d*(?:\.\d+)?)(px|em|c|%)$/;e.parseLength=function(e){var t,n=null;return null!==(t=a.exec(e))&&(n={value:parseFloat(t[1]),unit:t[2]}),n}}(t)},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){"use strict";(function(t,r){var i=n(48);e.exports=_;var a,o=n(66);_.ReadableState=E;n(61).EventEmitter;var s=function(e,t){return e.listeners(t).length},u=n(68),l=n(49).Buffer,c=t.Uint8Array||function(){};var f=n(42);f.inherits=n(34);var d=n(80),h=void 0;h=d&&d.debuglog?d.debuglog("stream"):function(){};var p,g=n(81),m=n(69);f.inherits(_,u);var y=["error","close","destroy","pause","resume"];function E(e,t){e=e||{};var r=t instanceof(a=a||n(30));this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,o=e.readableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(o||0===o)?o:s,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new g,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(p||(p=n(64).StringDecoder),this.decoder=new p(e.encoding),this.encoding=e.encoding)}function _(e){if(a=a||n(30),!(this instanceof _))return new _(e);this._readableState=new E(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),u.call(this)}function v(e,t,n,r,i){var a,o=e._readableState;null===t?(o.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,A(e)}(e,o)):(i||(a=function(e,t){var n;r=t,l.isBuffer(r)||r instanceof c||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk"));var r;return n}(o,t)),a?e.emit("error",a):o.objectMode||t&&t.length>0?("string"==typeof t||o.objectMode||Object.getPrototypeOf(t)===l.prototype||(t=function(e){return l.from(e)}(t)),r?o.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):T(e,o,t,!0):o.ended?e.emit("error",new Error("stream.push() after EOF")):(o.reading=!1,o.decoder&&!n?(t=o.decoder.write(t),o.objectMode||0!==t.length?T(e,o,t,!1):I(e,o)):T(e,o,t,!1))):r||(o.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=8388608?e=8388608:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function A(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(h("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?i.nextTick(b,e):b(e))}function b(e){h("emit readable"),e.emit("readable"),C(e)}function I(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(R,e,t))}function R(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var r;ea.length?a.length:e;if(o===a.length?i+=a:i+=a.slice(0,e),0===(e-=o)){o===a.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=a.slice(o));break}++r}return t.length-=r,i}(e,t):function(e,t){var n=l.allocUnsafe(e),r=t.head,i=1;r.data.copy(n),e-=r.data.length;for(;r=r.next;){var a=r.data,o=e>a.length?a.length:e;if(a.copy(n,n.length-e,0,o),0===(e-=o)){o===a.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=a.slice(o));break}++i}return t.length-=i,n}(e,t);return r}(e,t.buffer,t.decoder),n);var n}function O(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,i.nextTick(M,t,e))}function M(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function P(e,t){for(var n=0,r=e.length;n=t.highWaterMark||t.ended))return h("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?O(this):A(this),null;if(0===(e=S(e,t))&&t.ended)return 0===t.length&&O(this),null;var r,i=t.needReadable;return h("need readable",i),(0===t.length||t.length-e0?D(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&O(this)),null!==r&&this.emit("data",r),r},_.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},_.prototype.pipe=function(e,t){var n=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}a.pipesCount+=1,h("pipe count=%d opts=%j",a.pipesCount,t);var u=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?c:_;function l(t,r){h("onunpipe"),t===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,h("cleanup"),e.removeListener("close",y),e.removeListener("finish",E),e.removeListener("drain",f),e.removeListener("error",m),e.removeListener("unpipe",l),n.removeListener("end",c),n.removeListener("end",_),n.removeListener("data",g),d=!0,!a.awaitDrain||e._writableState&&!e._writableState.needDrain||f())}function c(){h("onend"),e.end()}a.endEmitted?i.nextTick(u):n.once("end",u),e.on("unpipe",l);var f=function(e){return function(){var t=e._readableState;h("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&s(e,"data")&&(t.flowing=!0,C(e))}}(n);e.on("drain",f);var d=!1;var p=!1;function g(t){h("ondata"),p=!1,!1!==e.write(t)||p||((1===a.pipesCount&&a.pipes===e||a.pipesCount>1&&-1!==P(a.pipes,e))&&!d&&(h("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,p=!0),n.pause())}function m(t){h("onerror",t),_(),e.removeListener("error",m),0===s(e,"error")&&e.emit("error",t)}function y(){e.removeListener("finish",E),_()}function E(){h("onfinish"),e.removeListener("close",y),_()}function _(){h("unpipe"),n.unpipe(e)}return n.on("data",g),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?o(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",m),e.once("close",y),e.once("finish",E),e.emit("pipe",n),a.flowing||(h("pipe resume"),n.resume()),e},_.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a0&&(t+=4+16*n.getUint32(t)),t+=4,e.slice(t)}},{key:"getPSSHForKeySystem",value:function(t,n){var r=e.parsePSSHList(n);return t&&r.hasOwnProperty(t.uuid.toLowerCase())?r[t.uuid.toLowerCase()]:null}},{key:"parseInitDataFromContentProtection",value:function(e,t){return"pssh"in e?(e.pssh.__text=e.pssh.__text.replace(/\r?\n|\r/g,"").replace(/\s+/g,""),t.decodeArray(e.pssh.__text).buffer):null}},{key:"parsePSSHList",value:function(e){if(null==e)return[];for(var t=new DataView(e.buffer||e),n={},r=0;;){var i,a,o=void 0,s=r;if(r>=t.buffer.byteLength)break;if(i=r+t.getUint32(r),r+=4,1886614376===t.getUint32(r))if(r+=4,0===(a=t.getUint8(r))||1===a){r++,r+=3,o="";var u=void 0,l=void 0;for(u=0;u<4;u++)o+=1===(l=t.getUint8(r+u).toString(16)).length?"0"+l:l;for(r+=4,o+="-",u=0;u<2;u++)o+=1===(l=t.getUint8(r+u).toString(16)).length?"0"+l:l;for(r+=2,o+="-",u=0;u<2;u++)o+=1===(l=t.getUint8(r+u).toString(16)).length?"0"+l:l;for(r+=2,o+="-",u=0;u<2;u++)o+=1===(l=t.getUint8(r+u).toString(16)).length?"0"+l:l;for(r+=2,o+="-",u=0;u<6;u++)o+=1===(l=t.getUint8(r+u).toString(16)).length?"0"+l:l;r+=6,r+=4,n[o=o.toLowerCase()]=t.buffer.slice(s,i),r=i}else r=i;else r=i}return n}}],(n=null)&&r(t.prototype,n),i&&r(t,i),e}();var a=function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.contentType=t,this.robustness=n};var o=function e(t,n,r,i,a){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.initDataTypes=["cenc"],t&&t.length&&(this.audioCapabilities=t),n&&n.length&&(this.videoCapabilities=n),this.distinctiveIdentifier=r,this.persistentState=i,this.sessionTypes=a};function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function l(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=f(e);if(t){var i=f(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return c(this,n)}}function c(e,t){return!t||"object"!==s(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function f(e){return(f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var d=new(function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&u(e,t)}(n,e);var t=l(n);function n(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(e=t.call(this)).MEDIA_KEYERR_CODE=100,e.MEDIA_KEYERR_UNKNOWN_CODE=101,e.MEDIA_KEYERR_CLIENT_CODE=102,e.MEDIA_KEYERR_SERVICE_CODE=103,e.MEDIA_KEYERR_OUTPUT_CODE=104,e.MEDIA_KEYERR_HARDWARECHANGE_CODE=105,e.MEDIA_KEYERR_DOMAIN_CODE=106,e.MEDIA_KEY_MESSAGE_ERROR_CODE=107,e.MEDIA_KEY_MESSAGE_NO_CHALLENGE_ERROR_CODE=108,e.SERVER_CERTIFICATE_UPDATED_ERROR_CODE=109,e.KEY_STATUS_CHANGED_EXPIRED_ERROR_CODE=110,e.MEDIA_KEY_MESSAGE_NO_LICENSE_SERVER_URL_ERROR_CODE=111,e.KEY_SYSTEM_ACCESS_DENIED_ERROR_CODE=112,e.KEY_SESSION_CREATED_ERROR_CODE=113,e.MEDIA_KEY_MESSAGE_LICENSER_ERROR_CODE=114,e.MEDIA_KEYERR_UNKNOWN_MESSAGE="An unspecified error occurred. This value is used for errors that don't match any of the other codes.",e.MEDIA_KEYERR_CLIENT_MESSAGE="The Key System could not be installed or updated.",e.MEDIA_KEYERR_SERVICE_MESSAGE="The message passed into update indicated an error from the license service.",e.MEDIA_KEYERR_OUTPUT_MESSAGE="There is no available output device with the required characteristics for the content protection system.",e.MEDIA_KEYERR_HARDWARECHANGE_MESSAGE="A hardware configuration change caused a content protection error.",e.MEDIA_KEYERR_DOMAIN_MESSAGE="An error occurred in a multi-device domain licensing configuration. The most common error is a failure to join the domain.",e.MEDIA_KEY_MESSAGE_ERROR_MESSAGE="Multiple key sessions were creates with a user-agent that does not support sessionIDs!! Unpredictable behavior ahead!",e.MEDIA_KEY_MESSAGE_NO_CHALLENGE_ERROR_MESSAGE="DRM: Empty key message from CDM",e.SERVER_CERTIFICATE_UPDATED_ERROR_MESSAGE="Error updating server certificate -- ",e.KEY_STATUS_CHANGED_EXPIRED_ERROR_MESSAGE="DRM: KeyStatusChange error! -- License has expired",e.MEDIA_KEY_MESSAGE_NO_LICENSE_SERVER_URL_ERROR_MESSAGE="DRM: No license server URL specified!",e.KEY_SYSTEM_ACCESS_DENIED_ERROR_MESSAGE="DRM: KeySystem Access Denied! -- ",e.KEY_SESSION_CREATED_ERROR_MESSAGE="DRM: unable to create session! --",e.MEDIA_KEY_MESSAGE_LICENSER_ERROR_MESSAGE="DRM: licenser error! --",e}return n}(n(24).a)),h=n(8);var p=function e(t,n,r,i,a,o,s,u){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.url=t,this.method=n,this.responseType=r,this.headers=i,this.withCredentials=a,this.messageType=o,this.sessionId=s,this.data=u};var g=function e(t,n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.url=t,this.headers=n,this.data=r},m=n(5),y=n(14),E=n(1);function _(e){return(_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function v(e){var t,n,r,s,u,l,c,f,v,T,S=(e=e||{}).protectionKeyController,A=e.protectionModel,b=e.eventBus,I=e.events,R=e.debug,N=e.BASE64,w=e.constants,C=[],D=e.cmcdModel,O=e.settings;function M(){if(!(b&&b.hasOwnProperty("on")&&S&&S.hasOwnProperty("getSupportedKeySystemsFromContentProtection")))throw new Error("Missing config parameter(s)")}function P(e,t){var n=i.getPSSHForKeySystem(f,e),r=U(f);if(n){if(L(n))return;try{A.createKeySession(n,r,k(f),t)}catch(e){b.trigger(I.KEY_SESSION_CREATED,{data:null,error:new h.a(d.KEY_SESSION_CREATED_ERROR_CODE,d.KEY_SESSION_CREATED_ERROR_MESSAGE+e.message)})}}else e?A.createKeySession(e,r,k(f),t):b.trigger(I.KEY_SESSION_CREATED,{data:null,error:new h.a(d.KEY_SESSION_CREATED_ERROR_CODE,d.KEY_SESSION_CREATED_ERROR_MESSAGE+"Selected key system is "+(f?f.systemString:null)+". needkey/encrypted event contains no initData corresponding to that key system!")})}function L(e){if(!e)return!1;try{for(var t=A.getAllInitData(),r=0;r0?t.audioRobustness:c,u=t&&t.videoRobustness&&t.videoRobustness.length>0?t.videoRobustness:c,l=k(e),f=t&&t.distinctiveIdentifier?t.distinctiveIdentifier:"optional",d=t&&t.persistentState?t.persistentState:"temporary"===l?"optional":"required";return s.forEach((function(e){e.type===w.AUDIO?n.push(new a(e.codec,i)):e.type===w.VIDEO&&r.push(new a(e.codec,u))})),new o(n,r,f,d,[l])}function k(e){var t=U(e);return t&&t.sessionType?t.sessionType:l}function G(e,t){e=e.sort((function(t,n){return(u&&u[t.ks.systemString]&&u[t.ks.systemString].priority>=0?u[t.ks.systemString].priority:e.length)-(u&&u[n.ks.systemString]&&u[n.ks.systemString].priority>=0?u[n.ks.systemString].priority:e.length)})),void 0===f?function(e,t){var i,a,o=this,s=[];f=null,r.push(e);for(var u=0;u0&&A.setServerCertificate(N.decodeArray(s.serverCertificate).buffer);for(var u=0;u=200&&e.status<=299){var t=new g(e.responseURL,y.a.parseHttpHeaders(e.getAllResponseHeaders?e.getAllResponseHeaders():null),e.response);q(T,t).then((function(){var n=c.getLicenseMessage(t.data,l,r);null!==n?(j(R),A.updateKeySession(o,n)):x(e,R,l,r)}))}else x(e,R,l,r)},k=function(e){j(R,new h.a(d.MEDIA_KEY_MESSAGE_LICENSER_ERROR_CODE,d.MEDIA_KEY_MESSAGE_LICENSER_ERROR_MESSAGE+l+' update, XHR aborted. status is "'+e.statusText+'" ('+e.status+"), readyState is "+e.readyState))},G=function(e){j(R,new h.a(d.MEDIA_KEY_MESSAGE_LICENSER_ERROR_CODE,d.MEDIA_KEY_MESSAGE_LICENSER_ERROR_MESSAGE+l+' update, XHR error. status is "'+e.statusText+'" ('+e.status+"), readyState is "+e.readyState))},Y=f.getLicenseRequestFromMessage(a),H=c.getHTTPMethod(r),K=c.getResponseType(l,r),V=u&&!isNaN(u.httpTimeout)?u.httpTimeout:8e3,W=o.getSessionID()||null,z=new p(w,H,K,P,L,r,W,Y),X=isNaN(O.get().streaming.retryAttempts[m.a.LICENSE])?3:O.get().streaming.retryAttempts[m.a.LICENSE];q(v,z).then((function(){!function e(t,r,i,a,o,s){var u=new XMLHttpRequest;if(O.get().streaming.cmcd&&O.get().streaming.cmcd.enabled){if(O.get().streaming.cmcd.mode===E.a.CMCD_MODE_QUERY){var l=D.getQueryParameter({url:t.url,type:m.a.LICENSE});l&&(t.url=y.a.addAditionalQueryParameterToUrl(t.url,[l]))}}u.open(t.method,t.url,!0),u.responseType=t.responseType,u.withCredentials=t.withCredentials,i>0&&(u.timeout=i);for(var c in t.headers)u.setRequestHeader(c,t.headers[c]);if(O.get().streaming.cmcd&&O.get().streaming.cmcd.enabled){if(O.get().streaming.cmcd.mode===E.a.CMCD_MODE_HEADER){var f=D.getHeaderParameters({url:t.url,type:m.a.LICENSE});if(f)for(var d in f){var h=f[d];h&&u.setRequestHeader(d,h)}}}var p=function(){r--;var n=isNaN(O.get().streaming.retryIntervals[m.a.LICENSE])?1e3:O.get().streaming.retryIntervals[m.a.LICENSE];setTimeout((function(){e(t,r,i,a,o,s)}),n)};u.onload=function(){this.status>=200&&this.status<=299||r<=0?a(this):(n.warn("License request failed ("+this.status+"). Retrying it... Pending retries: "+r),p())},u.ontimeout=u.onerror=function(){r<=0?s(this):(n.warn("License request network request failed . Retrying it... Pending retries: "+r),p())},u.onabort=function(){o(this)},b.trigger(I.LICENSE_REQUEST_SENDING,{url:t.url,headers:t.headers,payload:t.data,sessionId:t.sessionId}),u.send(t.data)}(z,X,V,B,k,G)}))}else j(R,new h.a(d.MEDIA_KEY_MESSAGE_NO_LICENSE_SERVER_URL_ERROR_CODE,d.MEDIA_KEY_MESSAGE_NO_LICENSE_SERVER_URL_ERROR_MESSAGE))}else j(R,new h.a(d.MEDIA_KEY_MESSAGE_NO_CHALLENGE_ERROR_CODE,d.MEDIA_KEY_MESSAGE_NO_CHALLENGE_ERROR_MESSAGE))}function K(e,t){if(n.debug("DRM: onNeedKey"),"cenc"===e.key.initDataType)if(0===s.length&&(n.warn("DRM: onNeedKey called before initializeForMedia, wait until initialized"),(t=void 0===t?1:t+1)<5))C.push(setTimeout((function(){K(e,t)}),500));else{var r=e.key.initData;if(ArrayBuffer.isView(r)&&(r=r.buffer),f){var a=i.getPSSHForKeySystem(f,r);if(a&&L(a))return}n.debug("DRM: initData:",String.fromCharCode.apply(null,new Uint8Array(r)));var o=S.getSupportedKeySystems(r,u);0!==o.length?G(o,!1):n.debug("DRM: Received needkey event with initData, but we don't support any of the key systems!")}else n.warn("DRM: Only 'cenc' initData is supported! Ignoring initData of type: "+e.key.initDataType)}function q(e,t){return e?e.reduce((function(e,n){return e.then((function(){return n(t)}))}),Promise.resolve()):Promise.resolve()}return t={initializeForMedia:function(e){if(!e)throw new Error("mediaInfo can not be null or undefined");M(),b.on(I.INTERNAL_KEY_MESSAGE,H,this),b.on(I.INTERNAL_KEY_STATUS_CHANGED,Y,this),s.push(e);var t=S.getSupportedKeySystemsFromContentProtection(e.contentProtection);t&&t.length>0&&G(t,!0)},clearMediaInfoArrayByStreamId:function(e){s=s.filter((function(t){return t.streamInfo.id!==e}))},createKeySession:P,loadKeySession:F,removeKeySession:function(e){M(),A.removeKeySession(e)},closeKeySession:function(e){M(),A.closeKeySession(e)},setServerCertificate:function(e){M(),A.setServerCertificate(e)},setMediaElement:x,setSessionType:function(e){l=e},setRobustnessLevel:function(e){c=e},setProtectionData:function(e){u=e,S.setProtectionData(e)},getSupportedKeySystemsFromContentProtection:function(e){return M(),S.getSupportedKeySystemsFromContentProtection(e)},getKeySystems:function(){return S?S.getKeySystems():[]},setKeySystems:function(e){S&&S.setKeySystems(e)},setLicenseRequestFilters:function(e){v=e},setLicenseResponseFilters:function(e){T=e},stop:function(){A&&A.stop()},reset:function(){M(),v=[],T=[],b.off(I.INTERNAL_KEY_MESSAGE,H,this),b.off(I.INTERNAL_KEY_STATUS_CHANGED,Y,this),x(null),f=void 0,A&&(A.reset(),A=null),C.forEach((function(e){return clearTimeout(e)})),C=[],s=[]}},n=R.getLogger(t),r=[],s=[],l="temporary",c="",v=[],T=[],t}v.__dashjs_factory_name="ProtectionController";var T=dashjs.FactoryMaker.getClassFactory(v);var S=function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.keyID=t,this.key=n};function A(e,t){for(var n=0;n0){var a=i.contentProtection.filter((function(e){return e.schemeIdUri&&e.schemeIdUri===C}));if(a&&a.length>0)for(var o=0;o%CUSTOMDATA%'.replace("%CUSTOMDATA%",e),i=[],a=0;a0&&(e[0]&&("string"==typeof e[0]?t=e[0]:n=e[0]),e[1]&&("string"==typeof e[1]?t=e[1]:n=e[1])),{status:t,keyId:n}}function E(e,t,r,i){var a={session:e,initData:t,sessionId:i,handleEvent:function(e){switch(e.type){case"keystatuseschange":c.trigger(f.KEY_STATUSES_CHANGED,{data:this}),e.target.keyStatuses.forEach((function(){var e=y(arguments);switch(e.status){case"expired":c.trigger(f.INTERNAL_KEY_STATUS_CHANGED,{error:new h.a(d.KEY_STATUS_CHANGED_EXPIRED_ERROR_CODE,d.KEY_STATUS_CHANGED_EXPIRED_ERROR_MESSAGE)});break;default:c.trigger(f.INTERNAL_KEY_STATUS_CHANGED,e)}}));break;case"message":var t=ArrayBuffer.isView(e.message)?e.message.buffer:e.message;c.trigger(f.INTERNAL_KEY_MESSAGE,{data:new ae(this,t,void 0,e.messageType)})}},getSessionID:function(){return e.sessionId},getExpirationTime:function(){return e.expiration},getKeyStatuses:function(){return e.keyStatuses},getUsable:function(){var t=!1;return e.keyStatuses.forEach((function(){var e=y(arguments);"usable"===e.status&&(t=!0)})),t},getSessionType:function(){return r}};return e.addEventListener("keystatuseschange",a),e.addEventListener("message",a),e.closed.then((function(){m(a),n.debug("DRM: Session closed. SessionID = "+a.getSessionID()),c.trigger(f.KEY_SESSION_CLOSED,{data:a.getSessionID()})})),o.push(a),a}return t={getAllInitData:function(){for(var e=[],t=0;t=1?t():(e=t.bind(this),r.addEventListener("loadedmetadata",e))}return t={getAllInitData:function(){for(var e=[],t=0;t0&&(l=s.ksConfiguration.videoCapabilities[0]),null===l&&s.ksConfiguration.audioCapabilities&&s.ksConfiguration.audioCapabilities.length>0&&(l=s.ksConfiguration.audioCapabilities[0]),null===l)throw new Error("Can not create sessions for unknown content types.");var c=l.contentType,f=a.createSession(c,new Uint8Array(e),o?new Uint8Array(o):null),m=function(e,t){return{session:e,initData:t,getSessionID:function(){return this.session.sessionId},getExpirationTime:function(){return NaN},getSessionType:function(){return"temporary"},handleEvent:function(e){switch(e.type){case y.error:p.trigger(g.KEY_ERROR,{error:new h.a(d.MEDIA_KEYERR_CODE,"KeyError",this)});break;case y.message:var t=ArrayBuffer.isView(e.message)?e.message.buffer:e.message;p.trigger(g.INTERNAL_KEY_MESSAGE,{data:new ae(this,t,e.destinationURL)});break;case y.ready:n.debug("DRM: Key added."),p.trigger(g.KEY_ADDED);break;case y.close:n.debug("DRM: Session closed. SessionID = "+this.getSessionID()),p.trigger(g.KEY_SESSION_CLOSED,{data:this.getSessionID()})}}}}(f,e);f.addEventListener(y.error,m),f.addEventListener(y.message,m),f.addEventListener(y.ready,m),f.addEventListener(y.close,m),u.push(m),n.debug("DRM: Session created. SessionID = "+m.getSessionID()),p.trigger(g.KEY_SESSION_CREATED,{data:m})},updateKeySession:function(e,t){var n=e.session;c.isClearKey(i)?n.update(new Uint8Array(t.toJWK())):n.update(new Uint8Array(t)),p.trigger(g.KEY_SESSION_UPDATED)},closeKeySession:_,setServerCertificate:function(){},loadKeySession:function(){},removeKeySession:function(){},stop:E,reset:E},n=m.getLogger(t),r=null,i=null,a=null,s=null,u=[],c=$(f).getInstance(),l={handleEvent:function(e){switch(e.type){case y.needkey:if(e.initData){var t=ArrayBuffer.isView(e.initData)?e.initData.buffer:e.initData;p.trigger(g.NEED_KEY,{key:new ie(t,"cenc")})}}}},t}le.__dashjs_factory_name="ProtectionModel_3Feb2014";var ce=dashjs.FactoryMaker.getClassFactory(le);function fe(e){e=e||{};var t,n,r,i,a,s,u,l,c,f=this.context,p=e.eventBus,g=e.events,m=e.debug,y=e.api,E=e.errHandler;function _(){r&&S();for(var e=0;e0&&(t=s.shift(),u.push(t),t.sessionID=e.sessionId,p.trigger(g.KEY_SESSION_CREATED,{data:t})):s.length>0&&(t=s.shift(),u.push(t),0!==s.length&&E.error(new h.a(d.MEDIA_KEY_MESSAGE_ERROR_CODE,d.MEDIA_KEY_MESSAGE_ERROR_MESSAGE))),t){var o=ArrayBuffer.isView(e.message)?e.message.buffer:e.message;t.keyMessage=o,p.trigger(g.INTERNAL_KEY_MESSAGE,{data:new ae(t,o,e.defaultURL)})}else n.warn("No session token found for key message")}}},t}fe.__dashjs_factory_name="ProtectionModel_01b";var de=dashjs.FactoryMaker.getClassFactory(fe),he=[{generateKeyRequest:"generateKeyRequest",addKey:"addKey",cancelKeyRequest:"cancelKeyRequest",needkey:"needkey",keyerror:"keyerror",keyadded:"keyadded",keymessage:"keymessage"},{generateKeyRequest:"webkitGenerateKeyRequest",addKey:"webkitAddKey",cancelKeyRequest:"webkitCancelKeyRequest",needkey:"webkitneedkey",keyerror:"webkitkeyerror",keyadded:"webkitkeyadded",keymessage:"webkitkeymessage"}],pe=[{setMediaKeys:"setMediaKeys",MediaKeys:"MediaKeys",release:"close",needkey:"needkey",error:"keyerror",message:"keymessage",ready:"keyadded",close:"keyclose"},{setMediaKeys:"msSetMediaKeys",MediaKeys:"MSMediaKeys",release:"close",needkey:"msneedkey",error:"mskeyerror",message:"mskeymessage",ready:"mskeyadded",close:"mskeyclose"}];function ge(){var e,t=this.context;function n(e,t){for(var n=0;n=400||t.responsecode<100||t.responsecode>=600)&&l({errorcode:t.responsecode||i.CONNECTION_ERROR,url:t.url,terror:t.tresponse,servicelocation:t._serviceLocation})}var t}function p(e){var t;switch(e.error?e.error.code:0){case MediaError.MEDIA_ERR_NETWORK:t=i.CONNECTION_ERROR;break;case MediaError.MEDIA_ERR_DECODE:t=i.CORRUPT_MEDIA_OTHER;break;default:return}l({errorcode:t})}return t={initialise:function(){r.on(u.MANIFEST_UPDATED,c,t),r.on(u.SERVICE_LOCATION_BLACKLIST_CHANGED,f,t),r.on(u.METRIC_ADDED,h,t),r.on(u.METRIC_UPDATED,h,t),r.on(u.PLAYBACK_ERROR,p,t),r.on(a.a.BECAME_REPORTING_PLAYER,d,t)},reset:function(){r.off(u.MANIFEST_UPDATED,c,t),r.off(u.SERVICE_LOCATION_BLACKLIST_CHANGED,f,t),r.off(u.METRIC_ADDED,h,t),r.off(u.METRIC_UPDATED,h,t),r.off(u.PLAYBACK_ERROR,p,t),r.off(a.a.BECAME_REPORTING_PLAYER,d,t)}}}o.__dashjs_factory_name="DVBErrorsTranslator";var s=dashjs.FactoryMaker.getSingletonFactory(o),u=n(45);function l(e){e=e||{};var t,n,r=!1,i=this.context,a=e.mediaElement;return t={initialize:function(e){e&&e.length&&(e.forEach((function(e){var t=e.starttime,r=t+e.duration;n.add(t,r)})),r=!!e[0]._useWallClockTime)},reset:function(){n.clear()},isEnabled:function(){var e,t=n.length;if(!t)return!0;e=r?(new Date).getTime()/1e3:a.currentTime;for(var i=0;i=200&&r.status<300?t&&t():n&&n())};l.push(r);try{r.open("GET",e),r.onloadend=i,r.onerror=i,r.send()}catch(e){r.onerror()}}(r="".concat(o,"?").concat(r),null,(function(){a=!1}))}))},initialize:function(e,t){var n;if(s=t,!(o=e.dvb_reportingUrl))throw new Error("required parameter missing (dvb:reportingUrl)");i||((n=e.dvb_probability)&&(1e3===n||n/1e3>=r.random())&&(a=!0),i=!0)},reset:function(){f()}},n=d(u).getInstance(),r=p(u).getInstance(),f(),t}g.__dashjs_factory_name="DVBReporting";var m=dashjs.FactoryMaker.getClassFactory(g);function y(e){e=e||{};var t,n={"urn:dvb:dash:reporting:2014":m},r=this.context,i=e.debug?e.debug.getLogger(t):{},a=e.metricsConstants;return t={create:function(e,t){var o;try{(o=n[e.schemeIdUri](r).create({metricsConstants:a})).initialize(e,t)}catch(t){o=null,i.error("ReportingFactory: could not create Reporting with schemeIdUri ".concat(e.schemeIdUri," (").concat(t.message,")"))}return o},register:function(e,t){n[e]=t},unregister:function(e){delete n[e]}}}y.__dashjs_factory_name="ReportingFactory";var E=dashjs.FactoryMaker.getSingletonFactory(y);function _(e){var t=[],n=E(this.context).getInstance(e);return{initialize:function(e,r){e.some((function(e){var i=n.create(e,r);if(i)return t.push(i),!0}))},reset:function(){t.forEach((function(e){return e.reset()})),t=[]},report:function(e,n){t.forEach((function(t){return t.report(e,n)}))}}}_.__dashjs_factory_name="ReportingController";var v=dashjs.FactoryMaker.getClassFactory(_);function T(){return{reconstructFullMetricName:function(e,t,n){var r=e;return t&&(r+="("+t,n&&n.length&&(r+=","+n),r+=")"),r},validateN:function(e){if(!e)throw new Error("missing n");if(isNaN(e))throw new Error("n is NaN");if(e<0)throw new Error("n must be positive");return e}}}T.__dashjs_factory_name="HandlerHelpers";var S=dashjs.FactoryMaker.getSingletonFactory(T);function A(e){var t,n,r,i,a;e=e||{};var o=this.context,s=S(o).getInstance(),u=[],l=e.metricsConstants;function c(){var e=function(){try{return Object.keys(u).map((function(e){return u[e]})).reduce((function(e,t){return e.level=c.end)return null;var h="regionID"in c&&""!==c.regionID?c.regionID:l;if(null!==u&&h!==i.id&&(!("contents"in c)||"contents"in c&&0===c.contents.length||""!==h))return null;var p=new a(c);for(var g in c.sets)t=c.sets[g].end||(p.styleAttrs[c.sets[g].qname]=c.sets[g].value);var m,y={};for(var E in p.styleAttrs)if(y[E]=!0,E===n.byName.writingMode.qname&&!(n.byName.direction.qname in p.styleAttrs)){var _=p.styleAttrs[E];"lrtb"===_||"lr"===_?p.styleAttrs[n.byName.direction.qname]="ltr":"rltb"!==_&&"rl"!==_||(p.styleAttrs[n.byName.direction.qname]="rtl")}if(null!==u)for(var v in n.all){var T=n.all[v];if(T.qname===n.byName.textDecoration.qname){var S=u.styleAttrs[T.qname],A=p.styleAttrs[T.qname],b=[];void 0===A?b=S:-1===A.indexOf("none")?((-1===A.indexOf("noUnderline")&&-1!==S.indexOf("underline")||-1!==A.indexOf("underline"))&&b.push("underline"),(-1===A.indexOf("noLineThrough")&&-1!==S.indexOf("lineThrough")||-1!==A.indexOf("lineThrough"))&&b.push("lineThrough"),(-1===A.indexOf("noOverline")&&-1!==S.indexOf("overline")||-1!==A.indexOf("overline"))&&b.push("overline")):b.push("none"),p.styleAttrs[T.qname]=b}else T.inherit&&T.qname in u.styleAttrs&&!(T.qname in p.styleAttrs)&&(p.styleAttrs[T.qname]=u.styleAttrs[T.qname])}for(var I in n.all){var R=n.all[I];R.qname in p.styleAttrs||("region"===p.kind||!1===R.inherit&&null!==R.initial)&&(p.styleAttrs[R.qname]=R.parse(R.initial),y[R.qname]=!0)}for(var N in n.all){var w=n.all[N];if(w.qname in y&&null!==w.compute){var C=w.compute(e,u,p,p.styleAttrs[w.qname],d);null!==C?p.styleAttrs[w.qname]=C:o(f,"Style '"+w.qname+"' on element '"+p.kind+"' cannot be computed")}}if("none"===p.styleAttrs[n.byName.display.qname])return null;for(var D in null===u?m=null===s?[]:[s]:"contents"in c&&(m=c.contents),m){var O=r(e,t,i,s,p,h,m[D],f,d);null!==O&&p.contents.push(O.element)}for(var M in p.styleAttrs){-1===n.byQName[M].applies.indexOf(p.kind)&&delete p.styleAttrs[M]}if("span"===p.kind&&p.text&&"default"===p.space){var P=p.text.replace(/\s+/g," ");p.text=P}if("p"===p.kind){var L=[];!function e(t,n){if("contents"in t)for(var r in t.contents)e(t.contents[r],n);else n.push(t)}(p,L);for(var F=0,x="after_br",U=0;;)if("after_br"===x)F>=L.length||"br"===L[F].kind?(x="before_br",U=F,F--):("preserve"!==L[F].space&&(L[F].text=L[F].text.replace(/^\s+/g,"")),L[F].text.length>0?(x="looking_br",F++):L.splice(F,1));else if("before_br"===x)if(F<0||"br"===L[F].kind){if(x="after_br",(F=U+1)>=L.length)break}else if("preserve"!==L[F].space&&(L[F].text=L[F].text.replace(/\s+$/g,"")),L[F].text.length>0){if(x="after_br",(F=U+1)>=L.length)break}else L.splice(F,1),F--;else F>=L.length||"br"===L[F].kind?(x="before_br",U=F,F--):F++;!function e(t){if("br"===t.kind)return!1;if("text"in t)return 0===t.text.length;if("contents"in t){for(var n=t.contents.length;n--;)e(t.contents[n])&&t.contents.splice(n,1);return 0===t.contents.length}}(p)}return"div"===p.kind&&n.byName.backgroundImage.qname in p.styleAttrs||"br"===p.kind||"contents"in p&&p.contents.length>0||"span"===p.kind&&null!==p.text||"region"===p.kind&&"always"===p.styleAttrs[n.byName.showBackground.qname]?{region_id:h,element:p}:null}function i(e){this.contents=[],this.aspectRatio=e.aspectRatio}function a(e){for(var t in this.kind=e.kind||"region",e.id&&(this.id=e.id),this.styleAttrs={},e.styleAttrs)this.styleAttrs[t]=e.styleAttrs[t];"text"in e?this.text=e.text:"br"!==e.kind&&(this.contents=[]),"space"in e&&(this.space=e.space)}function o(e,t){if(e&&e.error&&e.error(t))throw t}e.generateISD=function(e,t,n){var a=new i(e),o={};for(var s in e.head.layout.regions){var u=r(e,t,e.head.layout.regions[s],e.body,null,"",e.head.layout.regions[s],n,o);null!==u&&a.contents.push(u.element)}return a}}(t,"undefined"==typeof imscNames?n(47):imscNames,"undefined"==typeof imscStyles?n(59):imscStyles)},function(e,t,n){!function(e,t,n,r,i){function a(e,t,n,r){var i=r&&"seq"===r.timeContainer,o=0;r&&(o=i&&n?n.end:r.begin),t.begin=t.explicit_begin?t.explicit_begin+o:o;var s=t.begin,u=null;for(var l in t.sets)a(e,t.sets[l],u,t),s="seq"===t.timeContainer?t.sets[l].end:Math.max(s,t.sets[l].end),u=t.sets[l];if("contents"in t)for(var c in t.contents)a(e,t.contents[c],u,t),s="seq"===t.timeContainer?t.contents[c].end:Math.max(s,t.contents[c].end),u=t.contents[c];else s=i?t.begin:Number.POSITIVE_INFINITY;null!==t.explicit_end&&null!==t.explicit_dur?t.end=Math.min(t.begin+t.explicit_dur,o+t.explicit_end):null===t.explicit_end&&null!==t.explicit_dur?t.end=t.begin+t.explicit_dur:null!==t.explicit_end&&null===t.explicit_dur?t.end=o+t.explicit_end:t.end=s,delete t.explicit_begin,delete t.explicit_dur,delete t.explicit_end,e._registerEvent(t)}function o(e){this.node=e}function s(){this.events=[],this.head=null,this.body=null}function u(){this.styling=null,this.layout=null}function l(){this.styles={}}function c(){this.id=null,this.styleAttrs=null,this.styleRefs=null}function f(){this.regions={}}function d(e){this.kind=e}function h(e){this.id=e}function p(e){this.regionID=e}function g(e){this.styleAttrs=e}function m(e){this.sets=e}function y(e){this.contents=e}function E(e,t,n){this.explicit_begin=e,this.explicit_end=t,this.explicit_dur=n}function _(){d.call(this,"body")}function v(){d.call(this,"div")}function T(){d.call(this,"p")}function S(){d.call(this,"span")}function A(){d.call(this,"span")}function b(){d.call(this,"br")}function I(){}function R(){}function N(e){return e&&"xml:id"in e.attributes&&e.attributes["xml:id"].value||null}function w(e){return e&&"style"in e.attributes?e.attributes.style.value.split(" "):[]}function C(e,t){var n={};if(null!==e)for(var i in e.attributes){var a=e.attributes[i].uri+" "+e.attributes[i].local,o=r.byQName[a];if(void 0!==o){var s=o.parse(e.attributes[i].value);null!==s?(n[a]=s,o===r.byName.zIndex&&F(t,"zIndex attribute present but not used by IMSC1 since regions do not overlap")):x(t,"Cannot parse styling attribute "+a+" --\x3e "+e.attributes[i].value)}}return n}function D(e,t,n){for(var r in e.attributes)if(e.attributes[r].uri===t&&e.attributes[r].local===n)return e.attributes[r].value;return null}function O(e,t,n){var r,i=null;return null!==(r=/^(\d+(?:\.\d+)?)f$/.exec(n))?null!==t&&(i=parseFloat(r[1])/t):null!==(r=/^(\d+(?:\.\d+)?)t$/.exec(n))?null!==e&&(i=parseFloat(r[1])/e):null!==(r=/^(\d+(?:\.\d+)?)ms$/.exec(n))?i=parseFloat(r[1])/1e3:null!==(r=/^(\d+(?:\.\d+)?)s$/.exec(n))?i=parseFloat(r[1]):null!==(r=/^(\d+(?:\.\d+)?)h$/.exec(n))?i=3600*parseFloat(r[1]):null!==(r=/^(\d+(?:\.\d+)?)m$/.exec(n))?i=60*parseFloat(r[1]):null!==(r=/^(\d{2,}):(\d\d):(\d\d(?:\.\d+)?)$/.exec(n))?i=3600*parseInt(r[1])+60*parseInt(r[2])+parseFloat(r[3]):null!==(r=/^(\d{2,}):(\d\d):(\d\d)\:(\d{2,})$/.exec(n))&&null!==t&&(i=3600*parseInt(r[1])+60*parseInt(r[2])+parseInt(r[3])+(null===r[4]?0:parseInt(r[4])/t)),i}function M(e,t,n){for(;t.styleRefs.length>0;){var r=t.styleRefs.pop();r in e.styles?(M(e,e.styles[r],n),L(e.styles[r].styleAttrs,t.styleAttrs)):x(n,"Non-existant style id referenced")}}function P(e,t,n,r){for(var i=t.length-1;i>=0;i--){var a=t[i];a in e.styles?L(e.styles[a].styleAttrs,n):x(r,"Non-existant style id referenced")}}function L(e,t){for(var n in e)n in t||(t[n]=e[n])}function F(e,t){if(e&&e.warn&&e.warn(t))throw t}function x(e,t){if(e&&e.error&&e.error(t))throw t}function U(e,t){throw e&&e.fatal&&e.fatal(t),t}function B(e,t){for(var n,r=0,i=e.length-1;r<=i;){var a=e[n=Math.floor((r+i)/2)];if(at))return{found:!0,index:n};i=n-1}}return{found:!1,index:r}}e.fromXML=function(e,r,i){var d=t.parser(!0,{xmlns:!0}),h=[],p=[],g=[],m=0,y=null;d.onclosetag=function(e){if(h[0]instanceof l)for(var t in h[0].styles)M(h[0],h[0].styles[t],r);else if(h[0]instanceof T||h[0]instanceof S){if(h[0].contents.length>1){var a,s=[h[0].contents[0]];for(a=1;a0&&i&&"onCloseTag"in i&&i.onCloseTag());g.shift(),p.shift(),h.shift()},d.ontext=function(e){if(void 0===h[0]);else if(h[0]instanceof S||h[0]instanceof T){var t=new A;t.initFromText(y,h[0],e,g[0],r),h[0].contents.push(t)}else h[0]instanceof o&&m>0&&i&&"onText"in i&&i.onText(e)},d.onopentag=function(e){var t=e.attributes["xml:space"];t?g.unshift(t.value):0===g.length?g.unshift("default"):g.unshift(g[0]);var a=e.attributes["xml:lang"];if(a?p.unshift(a.value):0===p.length?p.unshift(""):p.unshift(p[0]),e.uri===n.ns_tt)if("tt"===e.local)null!==y&&U(r,"Two elements at ("+this.line+","+this.column+")"),(y=new s).initFromNode(e,r),h.unshift(y);else if("head"===e.local)h[0]instanceof s||U(r,"Parent of element is not at ("+this.line+","+this.column+")"),null!==y.head&&U("Second element at ("+this.line+","+this.column+")"),y.head=new u,h.unshift(y.head);else if("styling"===e.local)h[0]instanceof u||U(r,"Parent of element is not at ("+this.line+","+this.column+")"),null!==y.head.styling&&U("Second element at ("+this.line+","+this.column+")"),y.head.styling=new l,h.unshift(y.head.styling);else if("style"===e.local){var d;h[0]instanceof l?((d=new c).initFromNode(e,r),d.id?y.head.styling.styles[d.id]=d:x(r,"" ).appendTo( body ); + } + + // We need to make sure to grab the zIndex before setting the + // opacity, because setting the opacity to anything lower than 1 + // causes the zIndex to change from "auto" to 0. + if ( o.zIndex ) { // zIndex option + if ( this.helper.css( "zIndex" ) ) { + this._storedZIndex = this.helper.css( "zIndex" ); + } + this.helper.css( "zIndex", o.zIndex ); + } + + if ( o.opacity ) { // opacity option + if ( this.helper.css( "opacity" ) ) { + this._storedOpacity = this.helper.css( "opacity" ); + } + this.helper.css( "opacity", o.opacity ); + } + + //Prepare scrolling + if ( this.scrollParent[ 0 ] !== this.document[ 0 ] && + this.scrollParent[ 0 ].tagName !== "HTML" ) { + this.overflowOffset = this.scrollParent.offset(); + } + + //Call callbacks + this._trigger( "start", event, this._uiHash() ); + + //Recache the helper size + if ( !this._preserveHelperProportions ) { + this._cacheHelperProportions(); + } + + //Post "activate" events to possible containers + if ( !noActivation ) { + for ( i = this.containers.length - 1; i >= 0; i-- ) { + this.containers[ i ]._trigger( "activate", event, this._uiHash( this ) ); + } + } + + //Prepare possible droppables + if ( $.ui.ddmanager ) { + $.ui.ddmanager.current = this; + } + + if ( $.ui.ddmanager && !o.dropBehaviour ) { + $.ui.ddmanager.prepareOffsets( this, event ); + } + + this.dragging = true; + + this._addClass( this.helper, "ui-sortable-helper" ); + + //Move the helper, if needed + if ( !this.helper.parent().is( this.appendTo ) ) { + this.helper.detach().appendTo( this.appendTo ); + + //Update position + this.offset.parent = this._getParentOffset(); + } + + //Generate the original position + this.position = this.originalPosition = this._generatePosition( event ); + this.originalPageX = event.pageX; + this.originalPageY = event.pageY; + this.lastPositionAbs = this.positionAbs = this._convertPositionTo( "absolute" ); + + this._mouseDrag( event ); + + return true; + + }, + + _scroll: function( event ) { + var o = this.options, + scrolled = false; + + if ( this.scrollParent[ 0 ] !== this.document[ 0 ] && + this.scrollParent[ 0 ].tagName !== "HTML" ) { + + if ( ( this.overflowOffset.top + this.scrollParent[ 0 ].offsetHeight ) - + event.pageY < o.scrollSensitivity ) { + this.scrollParent[ 0 ].scrollTop = + scrolled = this.scrollParent[ 0 ].scrollTop + o.scrollSpeed; + } else if ( event.pageY - this.overflowOffset.top < o.scrollSensitivity ) { + this.scrollParent[ 0 ].scrollTop = + scrolled = this.scrollParent[ 0 ].scrollTop - o.scrollSpeed; + } + + if ( ( this.overflowOffset.left + this.scrollParent[ 0 ].offsetWidth ) - + event.pageX < o.scrollSensitivity ) { + this.scrollParent[ 0 ].scrollLeft = scrolled = + this.scrollParent[ 0 ].scrollLeft + o.scrollSpeed; + } else if ( event.pageX - this.overflowOffset.left < o.scrollSensitivity ) { + this.scrollParent[ 0 ].scrollLeft = scrolled = + this.scrollParent[ 0 ].scrollLeft - o.scrollSpeed; + } + + } else { + + if ( event.pageY - this.document.scrollTop() < o.scrollSensitivity ) { + scrolled = this.document.scrollTop( this.document.scrollTop() - o.scrollSpeed ); + } else if ( this.window.height() - ( event.pageY - this.document.scrollTop() ) < + o.scrollSensitivity ) { + scrolled = this.document.scrollTop( this.document.scrollTop() + o.scrollSpeed ); + } + + if ( event.pageX - this.document.scrollLeft() < o.scrollSensitivity ) { + scrolled = this.document.scrollLeft( + this.document.scrollLeft() - o.scrollSpeed + ); + } else if ( this.window.width() - ( event.pageX - this.document.scrollLeft() ) < + o.scrollSensitivity ) { + scrolled = this.document.scrollLeft( + this.document.scrollLeft() + o.scrollSpeed + ); + } + + } + + return scrolled; + }, + + _mouseDrag: function( event ) { + var i, item, itemElement, intersection, + o = this.options; + + //Compute the helpers position + this.position = this._generatePosition( event ); + this.positionAbs = this._convertPositionTo( "absolute" ); + + //Set the helper position + if ( !this.options.axis || this.options.axis !== "y" ) { + this.helper[ 0 ].style.left = this.position.left + "px"; + } + if ( !this.options.axis || this.options.axis !== "x" ) { + this.helper[ 0 ].style.top = this.position.top + "px"; + } + + //Do scrolling + if ( o.scroll ) { + if ( this._scroll( event ) !== false ) { + + //Update item positions used in position checks + this._refreshItemPositions( true ); + + if ( $.ui.ddmanager && !o.dropBehaviour ) { + $.ui.ddmanager.prepareOffsets( this, event ); + } + } + } + + this.dragDirection = { + vertical: this._getDragVerticalDirection(), + horizontal: this._getDragHorizontalDirection() + }; + + //Rearrange + for ( i = this.items.length - 1; i >= 0; i-- ) { + + //Cache variables and intersection, continue if no intersection + item = this.items[ i ]; + itemElement = item.item[ 0 ]; + intersection = this._intersectsWithPointer( item ); + if ( !intersection ) { + continue; + } + + // Only put the placeholder inside the current Container, skip all + // items from other containers. This works because when moving + // an item from one container to another the + // currentContainer is switched before the placeholder is moved. + // + // Without this, moving items in "sub-sortables" can cause + // the placeholder to jitter between the outer and inner container. + if ( item.instance !== this.currentContainer ) { + continue; + } + + // Cannot intersect with itself + // no useless actions that have been done before + // no action if the item moved is the parent of the item checked + if ( itemElement !== this.currentItem[ 0 ] && + this.placeholder[ intersection === 1 ? + "next" : "prev" ]()[ 0 ] !== itemElement && + !$.contains( this.placeholder[ 0 ], itemElement ) && + ( this.options.type === "semi-dynamic" ? + !$.contains( this.element[ 0 ], itemElement ) : + true + ) + ) { + + this.direction = intersection === 1 ? "down" : "up"; + + if ( this.options.tolerance === "pointer" || + this._intersectsWithSides( item ) ) { + this._rearrange( event, item ); + } else { + break; + } + + this._trigger( "change", event, this._uiHash() ); + break; + } + } + + //Post events to containers + this._contactContainers( event ); + + //Interconnect with droppables + if ( $.ui.ddmanager ) { + $.ui.ddmanager.drag( this, event ); + } + + //Call callbacks + this._trigger( "sort", event, this._uiHash() ); + + this.lastPositionAbs = this.positionAbs; + return false; + + }, + + _mouseStop: function( event, noPropagation ) { + + if ( !event ) { + return; + } + + //If we are using droppables, inform the manager about the drop + if ( $.ui.ddmanager && !this.options.dropBehaviour ) { + $.ui.ddmanager.drop( this, event ); + } + + if ( this.options.revert ) { + var that = this, + cur = this.placeholder.offset(), + axis = this.options.axis, + animation = {}; + + if ( !axis || axis === "x" ) { + animation.left = cur.left - this.offset.parent.left - this.margins.left + + ( this.offsetParent[ 0 ] === this.document[ 0 ].body ? + 0 : + this.offsetParent[ 0 ].scrollLeft + ); + } + if ( !axis || axis === "y" ) { + animation.top = cur.top - this.offset.parent.top - this.margins.top + + ( this.offsetParent[ 0 ] === this.document[ 0 ].body ? + 0 : + this.offsetParent[ 0 ].scrollTop + ); + } + this.reverting = true; + $( this.helper ).animate( + animation, + parseInt( this.options.revert, 10 ) || 500, + function() { + that._clear( event ); + } + ); + } else { + this._clear( event, noPropagation ); + } + + return false; + + }, + + cancel: function() { + + if ( this.dragging ) { + + this._mouseUp( new $.Event( "mouseup", { target: null } ) ); + + if ( this.options.helper === "original" ) { + this.currentItem.css( this._storedCSS ); + this._removeClass( this.currentItem, "ui-sortable-helper" ); + } else { + this.currentItem.show(); + } + + //Post deactivating events to containers + for ( var i = this.containers.length - 1; i >= 0; i-- ) { + this.containers[ i ]._trigger( "deactivate", null, this._uiHash( this ) ); + if ( this.containers[ i ].containerCache.over ) { + this.containers[ i ]._trigger( "out", null, this._uiHash( this ) ); + this.containers[ i ].containerCache.over = 0; + } + } + + } + + if ( this.placeholder ) { + + //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, + // it unbinds ALL events from the original node! + if ( this.placeholder[ 0 ].parentNode ) { + this.placeholder[ 0 ].parentNode.removeChild( this.placeholder[ 0 ] ); + } + if ( this.options.helper !== "original" && this.helper && + this.helper[ 0 ].parentNode ) { + this.helper.remove(); + } + + $.extend( this, { + helper: null, + dragging: false, + reverting: false, + _noFinalSort: null + } ); + + if ( this.domPosition.prev ) { + $( this.domPosition.prev ).after( this.currentItem ); + } else { + $( this.domPosition.parent ).prepend( this.currentItem ); + } + } + + return this; + + }, + + serialize: function( o ) { + + var items = this._getItemsAsjQuery( o && o.connected ), + str = []; + o = o || {}; + + $( items ).each( function() { + var res = ( $( o.item || this ).attr( o.attribute || "id" ) || "" ) + .match( o.expression || ( /(.+)[\-=_](.+)/ ) ); + if ( res ) { + str.push( + ( o.key || res[ 1 ] + "[]" ) + + "=" + ( o.key && o.expression ? res[ 1 ] : res[ 2 ] ) ); + } + } ); + + if ( !str.length && o.key ) { + str.push( o.key + "=" ); + } + + return str.join( "&" ); + + }, + + toArray: function( o ) { + + var items = this._getItemsAsjQuery( o && o.connected ), + ret = []; + + o = o || {}; + + items.each( function() { + ret.push( $( o.item || this ).attr( o.attribute || "id" ) || "" ); + } ); + return ret; + + }, + + /* Be careful with the following core functions */ + _intersectsWith: function( item ) { + + var x1 = this.positionAbs.left, + x2 = x1 + this.helperProportions.width, + y1 = this.positionAbs.top, + y2 = y1 + this.helperProportions.height, + l = item.left, + r = l + item.width, + t = item.top, + b = t + item.height, + dyClick = this.offset.click.top, + dxClick = this.offset.click.left, + isOverElementHeight = ( this.options.axis === "x" ) || ( ( y1 + dyClick ) > t && + ( y1 + dyClick ) < b ), + isOverElementWidth = ( this.options.axis === "y" ) || ( ( x1 + dxClick ) > l && + ( x1 + dxClick ) < r ), + isOverElement = isOverElementHeight && isOverElementWidth; + + if ( this.options.tolerance === "pointer" || + this.options.forcePointerForContainers || + ( this.options.tolerance !== "pointer" && + this.helperProportions[ this.floating ? "width" : "height" ] > + item[ this.floating ? "width" : "height" ] ) + ) { + return isOverElement; + } else { + + return ( l < x1 + ( this.helperProportions.width / 2 ) && // Right Half + x2 - ( this.helperProportions.width / 2 ) < r && // Left Half + t < y1 + ( this.helperProportions.height / 2 ) && // Bottom Half + y2 - ( this.helperProportions.height / 2 ) < b ); // Top Half + + } + }, + + _intersectsWithPointer: function( item ) { + var verticalDirection, horizontalDirection, + isOverElementHeight = ( this.options.axis === "x" ) || + this._isOverAxis( + this.positionAbs.top + this.offset.click.top, item.top, item.height ), + isOverElementWidth = ( this.options.axis === "y" ) || + this._isOverAxis( + this.positionAbs.left + this.offset.click.left, item.left, item.width ), + isOverElement = isOverElementHeight && isOverElementWidth; + + if ( !isOverElement ) { + return false; + } + + verticalDirection = this.dragDirection.vertical; + horizontalDirection = this.dragDirection.horizontal; + + return this.floating ? + ( ( horizontalDirection === "right" || verticalDirection === "down" ) ? 2 : 1 ) : + ( verticalDirection && ( verticalDirection === "down" ? 2 : 1 ) ); + + }, + + _intersectsWithSides: function( item ) { + + var isOverBottomHalf = this._isOverAxis( this.positionAbs.top + + this.offset.click.top, item.top + ( item.height / 2 ), item.height ), + isOverRightHalf = this._isOverAxis( this.positionAbs.left + + this.offset.click.left, item.left + ( item.width / 2 ), item.width ), + verticalDirection = this.dragDirection.vertical, + horizontalDirection = this.dragDirection.horizontal; + + if ( this.floating && horizontalDirection ) { + return ( ( horizontalDirection === "right" && isOverRightHalf ) || + ( horizontalDirection === "left" && !isOverRightHalf ) ); + } else { + return verticalDirection && ( ( verticalDirection === "down" && isOverBottomHalf ) || + ( verticalDirection === "up" && !isOverBottomHalf ) ); + } + + }, + + _getDragVerticalDirection: function() { + var delta = this.positionAbs.top - this.lastPositionAbs.top; + return delta !== 0 && ( delta > 0 ? "down" : "up" ); + }, + + _getDragHorizontalDirection: function() { + var delta = this.positionAbs.left - this.lastPositionAbs.left; + return delta !== 0 && ( delta > 0 ? "right" : "left" ); + }, + + refresh: function( event ) { + this._refreshItems( event ); + this._setHandleClassName(); + this.refreshPositions(); + return this; + }, + + _connectWith: function() { + var options = this.options; + return options.connectWith.constructor === String ? + [ options.connectWith ] : + options.connectWith; + }, + + _getItemsAsjQuery: function( connected ) { + + var i, j, cur, inst, + items = [], + queries = [], + connectWith = this._connectWith(); + + if ( connectWith && connected ) { + for ( i = connectWith.length - 1; i >= 0; i-- ) { + cur = $( connectWith[ i ], this.document[ 0 ] ); + for ( j = cur.length - 1; j >= 0; j-- ) { + inst = $.data( cur[ j ], this.widgetFullName ); + if ( inst && inst !== this && !inst.options.disabled ) { + queries.push( [ typeof inst.options.items === "function" ? + inst.options.items.call( inst.element ) : + $( inst.options.items, inst.element ) + .not( ".ui-sortable-helper" ) + .not( ".ui-sortable-placeholder" ), inst ] ); + } + } + } + } + + queries.push( [ typeof this.options.items === "function" ? + this.options.items + .call( this.element, null, { options: this.options, item: this.currentItem } ) : + $( this.options.items, this.element ) + .not( ".ui-sortable-helper" ) + .not( ".ui-sortable-placeholder" ), this ] ); + + function addItems() { + items.push( this ); + } + for ( i = queries.length - 1; i >= 0; i-- ) { + queries[ i ][ 0 ].each( addItems ); + } + + return $( items ); + + }, + + _removeCurrentsFromItems: function() { + + var list = this.currentItem.find( ":data(" + this.widgetName + "-item)" ); + + this.items = $.grep( this.items, function( item ) { + for ( var j = 0; j < list.length; j++ ) { + if ( list[ j ] === item.item[ 0 ] ) { + return false; + } + } + return true; + } ); + + }, + + _refreshItems: function( event ) { + + this.items = []; + this.containers = [ this ]; + + var i, j, cur, inst, targetData, _queries, item, queriesLength, + items = this.items, + queries = [ [ typeof this.options.items === "function" ? + this.options.items.call( this.element[ 0 ], event, { item: this.currentItem } ) : + $( this.options.items, this.element ), this ] ], + connectWith = this._connectWith(); + + //Shouldn't be run the first time through due to massive slow-down + if ( connectWith && this.ready ) { + for ( i = connectWith.length - 1; i >= 0; i-- ) { + cur = $( connectWith[ i ], this.document[ 0 ] ); + for ( j = cur.length - 1; j >= 0; j-- ) { + inst = $.data( cur[ j ], this.widgetFullName ); + if ( inst && inst !== this && !inst.options.disabled ) { + queries.push( [ typeof inst.options.items === "function" ? + inst.options.items + .call( inst.element[ 0 ], event, { item: this.currentItem } ) : + $( inst.options.items, inst.element ), inst ] ); + this.containers.push( inst ); + } + } + } + } + + for ( i = queries.length - 1; i >= 0; i-- ) { + targetData = queries[ i ][ 1 ]; + _queries = queries[ i ][ 0 ]; + + for ( j = 0, queriesLength = _queries.length; j < queriesLength; j++ ) { + item = $( _queries[ j ] ); + + // Data for target checking (mouse manager) + item.data( this.widgetName + "-item", targetData ); + + items.push( { + item: item, + instance: targetData, + width: 0, height: 0, + left: 0, top: 0 + } ); + } + } + + }, + + _refreshItemPositions: function( fast ) { + var i, item, t, p; + + for ( i = this.items.length - 1; i >= 0; i-- ) { + item = this.items[ i ]; + + //We ignore calculating positions of all connected containers when we're not over them + if ( this.currentContainer && item.instance !== this.currentContainer && + item.item[ 0 ] !== this.currentItem[ 0 ] ) { + continue; + } + + t = this.options.toleranceElement ? + $( this.options.toleranceElement, item.item ) : + item.item; + + if ( !fast ) { + item.width = t.outerWidth(); + item.height = t.outerHeight(); + } + + p = t.offset(); + item.left = p.left; + item.top = p.top; + } + }, + + refreshPositions: function( fast ) { + + // Determine whether items are being displayed horizontally + this.floating = this.items.length ? + this.options.axis === "x" || this._isFloating( this.items[ 0 ].item ) : + false; + + // This has to be redone because due to the item being moved out/into the offsetParent, + // the offsetParent's position will change + if ( this.offsetParent && this.helper ) { + this.offset.parent = this._getParentOffset(); + } + + this._refreshItemPositions( fast ); + + var i, p; + + if ( this.options.custom && this.options.custom.refreshContainers ) { + this.options.custom.refreshContainers.call( this ); + } else { + for ( i = this.containers.length - 1; i >= 0; i-- ) { + p = this.containers[ i ].element.offset(); + this.containers[ i ].containerCache.left = p.left; + this.containers[ i ].containerCache.top = p.top; + this.containers[ i ].containerCache.width = + this.containers[ i ].element.outerWidth(); + this.containers[ i ].containerCache.height = + this.containers[ i ].element.outerHeight(); + } + } + + return this; + }, + + _createPlaceholder: function( that ) { + that = that || this; + var className, nodeName, + o = that.options; + + if ( !o.placeholder || o.placeholder.constructor === String ) { + className = o.placeholder; + nodeName = that.currentItem[ 0 ].nodeName.toLowerCase(); + o.placeholder = { + element: function() { + + var element = $( "<" + nodeName + ">", that.document[ 0 ] ); + + that._addClass( element, "ui-sortable-placeholder", + className || that.currentItem[ 0 ].className ) + ._removeClass( element, "ui-sortable-helper" ); + + if ( nodeName === "tbody" ) { + that._createTrPlaceholder( + that.currentItem.find( "tr" ).eq( 0 ), + $( "", that.document[ 0 ] ).appendTo( element ) + ); + } else if ( nodeName === "tr" ) { + that._createTrPlaceholder( that.currentItem, element ); + } else if ( nodeName === "img" ) { + element.attr( "src", that.currentItem.attr( "src" ) ); + } + + if ( !className ) { + element.css( "visibility", "hidden" ); + } + + return element; + }, + update: function( container, p ) { + + // 1. If a className is set as 'placeholder option, we don't force sizes - + // the class is responsible for that + // 2. The option 'forcePlaceholderSize can be enabled to force it even if a + // class name is specified + if ( className && !o.forcePlaceholderSize ) { + return; + } + + // If the element doesn't have a actual height or width by itself (without + // styles coming from a stylesheet), it receives the inline height and width + // from the dragged item. Or, if it's a tbody or tr, it's going to have a height + // anyway since we're populating them with s above, but they're unlikely to + // be the correct height on their own if the row heights are dynamic, so we'll + // always assign the height of the dragged item given forcePlaceholderSize + // is true. + if ( !p.height() || ( o.forcePlaceholderSize && + ( nodeName === "tbody" || nodeName === "tr" ) ) ) { + p.height( + that.currentItem.innerHeight() - + parseInt( that.currentItem.css( "paddingTop" ) || 0, 10 ) - + parseInt( that.currentItem.css( "paddingBottom" ) || 0, 10 ) ); + } + if ( !p.width() ) { + p.width( + that.currentItem.innerWidth() - + parseInt( that.currentItem.css( "paddingLeft" ) || 0, 10 ) - + parseInt( that.currentItem.css( "paddingRight" ) || 0, 10 ) ); + } + } + }; + } + + //Create the placeholder + that.placeholder = $( o.placeholder.element.call( that.element, that.currentItem ) ); + + //Append it after the actual current item + that.currentItem.after( that.placeholder ); + + //Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317) + o.placeholder.update( that, that.placeholder ); + + }, + + _createTrPlaceholder: function( sourceTr, targetTr ) { + var that = this; + + sourceTr.children().each( function() { + $( " ", that.document[ 0 ] ) + .attr( "colspan", $( this ).attr( "colspan" ) || 1 ) + .appendTo( targetTr ); + } ); + }, + + _contactContainers: function( event ) { + var i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, cur, nearBottom, + floating, axis, + innermostContainer = null, + innermostIndex = null; + + // Get innermost container that intersects with item + for ( i = this.containers.length - 1; i >= 0; i-- ) { + + // Never consider a container that's located within the item itself + if ( $.contains( this.currentItem[ 0 ], this.containers[ i ].element[ 0 ] ) ) { + continue; + } + + if ( this._intersectsWith( this.containers[ i ].containerCache ) ) { + + // If we've already found a container and it's more "inner" than this, then continue + if ( innermostContainer && + $.contains( + this.containers[ i ].element[ 0 ], + innermostContainer.element[ 0 ] ) ) { + continue; + } + + innermostContainer = this.containers[ i ]; + innermostIndex = i; + + } else { + + // container doesn't intersect. trigger "out" event if necessary + if ( this.containers[ i ].containerCache.over ) { + this.containers[ i ]._trigger( "out", event, this._uiHash( this ) ); + this.containers[ i ].containerCache.over = 0; + } + } + + } + + // If no intersecting containers found, return + if ( !innermostContainer ) { + return; + } + + // Move the item into the container if it's not there already + if ( this.containers.length === 1 ) { + if ( !this.containers[ innermostIndex ].containerCache.over ) { + this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash( this ) ); + this.containers[ innermostIndex ].containerCache.over = 1; + } + } else { + + // When entering a new container, we will find the item with the least distance and + // append our item near it + dist = 10000; + itemWithLeastDistance = null; + floating = innermostContainer.floating || this._isFloating( this.currentItem ); + posProperty = floating ? "left" : "top"; + sizeProperty = floating ? "width" : "height"; + axis = floating ? "pageX" : "pageY"; + + for ( j = this.items.length - 1; j >= 0; j-- ) { + if ( !$.contains( + this.containers[ innermostIndex ].element[ 0 ], this.items[ j ].item[ 0 ] ) + ) { + continue; + } + if ( this.items[ j ].item[ 0 ] === this.currentItem[ 0 ] ) { + continue; + } + + cur = this.items[ j ].item.offset()[ posProperty ]; + nearBottom = false; + if ( event[ axis ] - cur > this.items[ j ][ sizeProperty ] / 2 ) { + nearBottom = true; + } + + if ( Math.abs( event[ axis ] - cur ) < dist ) { + dist = Math.abs( event[ axis ] - cur ); + itemWithLeastDistance = this.items[ j ]; + this.direction = nearBottom ? "up" : "down"; + } + } + + //Check if dropOnEmpty is enabled + if ( !itemWithLeastDistance && !this.options.dropOnEmpty ) { + return; + } + + if ( this.currentContainer === this.containers[ innermostIndex ] ) { + if ( !this.currentContainer.containerCache.over ) { + this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash() ); + this.currentContainer.containerCache.over = 1; + } + return; + } + + if ( itemWithLeastDistance ) { + this._rearrange( event, itemWithLeastDistance, null, true ); + } else { + this._rearrange( event, null, this.containers[ innermostIndex ].element, true ); + } + this._trigger( "change", event, this._uiHash() ); + this.containers[ innermostIndex ]._trigger( "change", event, this._uiHash( this ) ); + this.currentContainer = this.containers[ innermostIndex ]; + + //Update the placeholder + this.options.placeholder.update( this.currentContainer, this.placeholder ); + + //Update scrollParent + this.scrollParent = this.placeholder.scrollParent(); + + //Update overflowOffset + if ( this.scrollParent[ 0 ] !== this.document[ 0 ] && + this.scrollParent[ 0 ].tagName !== "HTML" ) { + this.overflowOffset = this.scrollParent.offset(); + } + + this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash( this ) ); + this.containers[ innermostIndex ].containerCache.over = 1; + } + + }, + + _createHelper: function( event ) { + + var o = this.options, + helper = typeof o.helper === "function" ? + $( o.helper.apply( this.element[ 0 ], [ event, this.currentItem ] ) ) : + ( o.helper === "clone" ? this.currentItem.clone() : this.currentItem ); + + //Add the helper to the DOM if that didn't happen already + if ( !helper.parents( "body" ).length ) { + this.appendTo[ 0 ].appendChild( helper[ 0 ] ); + } + + if ( helper[ 0 ] === this.currentItem[ 0 ] ) { + this._storedCSS = { + width: this.currentItem[ 0 ].style.width, + height: this.currentItem[ 0 ].style.height, + position: this.currentItem.css( "position" ), + top: this.currentItem.css( "top" ), + left: this.currentItem.css( "left" ) + }; + } + + if ( !helper[ 0 ].style.width || o.forceHelperSize ) { + helper.width( this.currentItem.width() ); + } + if ( !helper[ 0 ].style.height || o.forceHelperSize ) { + helper.height( this.currentItem.height() ); + } + + return helper; + + }, + + _adjustOffsetFromHelper: function( obj ) { + if ( typeof obj === "string" ) { + obj = obj.split( " " ); + } + if ( Array.isArray( obj ) ) { + obj = { left: +obj[ 0 ], top: +obj[ 1 ] || 0 }; + } + if ( "left" in obj ) { + this.offset.click.left = obj.left + this.margins.left; + } + if ( "right" in obj ) { + this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; + } + if ( "top" in obj ) { + this.offset.click.top = obj.top + this.margins.top; + } + if ( "bottom" in obj ) { + this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; + } + }, + + _getParentOffset: function() { + + //Get the offsetParent and cache its position + this.offsetParent = this.helper.offsetParent(); + var po = this.offsetParent.offset(); + + // This is a special case where we need to modify a offset calculated on start, since the + // following happened: + // 1. The position of the helper is absolute, so it's position is calculated based on the + // next positioned parent + // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't + // the document, which means that the scroll is included in the initial calculation of the + // offset of the parent, and never recalculated upon drag + if ( this.cssPosition === "absolute" && this.scrollParent[ 0 ] !== this.document[ 0 ] && + $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) { + po.left += this.scrollParent.scrollLeft(); + po.top += this.scrollParent.scrollTop(); + } + + // This needs to be actually done for all browsers, since pageX/pageY includes + // this information. + if ( this.offsetParent[ 0 ] === this.document[ 0 ].body ) { + po = { top: 0, left: 0 }; + } + + return { + top: po.top + ( parseInt( this.offsetParent.css( "borderTopWidth" ), 10 ) || 0 ), + left: po.left + ( parseInt( this.offsetParent.css( "borderLeftWidth" ), 10 ) || 0 ) + }; + + }, + + _getRelativeOffset: function() { + + if ( this.cssPosition === "relative" ) { + var p = this.currentItem.position(); + return { + top: p.top - ( parseInt( this.helper.css( "top" ), 10 ) || 0 ) + + this.scrollParent.scrollTop(), + left: p.left - ( parseInt( this.helper.css( "left" ), 10 ) || 0 ) + + this.scrollParent.scrollLeft() + }; + } else { + return { top: 0, left: 0 }; + } + + }, + + _cacheMargins: function() { + this.margins = { + left: ( parseInt( this.currentItem.css( "marginLeft" ), 10 ) || 0 ), + top: ( parseInt( this.currentItem.css( "marginTop" ), 10 ) || 0 ) + }; + }, + + _cacheHelperProportions: function() { + this.helperProportions = { + width: this.helper.outerWidth(), + height: this.helper.outerHeight() + }; + }, + + _setContainment: function() { + + var ce, co, over, + o = this.options; + if ( o.containment === "parent" ) { + o.containment = this.helper[ 0 ].parentNode; + } + if ( o.containment === "document" || o.containment === "window" ) { + this.containment = [ + 0 - this.offset.relative.left - this.offset.parent.left, + 0 - this.offset.relative.top - this.offset.parent.top, + o.containment === "document" ? + this.document.width() : + this.window.width() - this.helperProportions.width - this.margins.left, + ( o.containment === "document" ? + ( this.document.height() || document.body.parentNode.scrollHeight ) : + this.window.height() || this.document[ 0 ].body.parentNode.scrollHeight + ) - this.helperProportions.height - this.margins.top + ]; + } + + if ( !( /^(document|window|parent)$/ ).test( o.containment ) ) { + ce = $( o.containment )[ 0 ]; + co = $( o.containment ).offset(); + over = ( $( ce ).css( "overflow" ) !== "hidden" ); + + this.containment = [ + co.left + ( parseInt( $( ce ).css( "borderLeftWidth" ), 10 ) || 0 ) + + ( parseInt( $( ce ).css( "paddingLeft" ), 10 ) || 0 ) - this.margins.left, + co.top + ( parseInt( $( ce ).css( "borderTopWidth" ), 10 ) || 0 ) + + ( parseInt( $( ce ).css( "paddingTop" ), 10 ) || 0 ) - this.margins.top, + co.left + ( over ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) - + ( parseInt( $( ce ).css( "borderLeftWidth" ), 10 ) || 0 ) - + ( parseInt( $( ce ).css( "paddingRight" ), 10 ) || 0 ) - + this.helperProportions.width - this.margins.left, + co.top + ( over ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) - + ( parseInt( $( ce ).css( "borderTopWidth" ), 10 ) || 0 ) - + ( parseInt( $( ce ).css( "paddingBottom" ), 10 ) || 0 ) - + this.helperProportions.height - this.margins.top + ]; + } + + }, + + _convertPositionTo: function( d, pos ) { + + if ( !pos ) { + pos = this.position; + } + var mod = d === "absolute" ? 1 : -1, + scroll = this.cssPosition === "absolute" && + !( this.scrollParent[ 0 ] !== this.document[ 0 ] && + $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? + this.offsetParent : + this.scrollParent, + scrollIsRootNode = ( /(html|body)/i ).test( scroll[ 0 ].tagName ); + + return { + top: ( + + // The absolute mouse position + pos.top + + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.top * mod + + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.top * mod - + ( ( this.cssPosition === "fixed" ? + -this.scrollParent.scrollTop() : + ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod ) + ), + left: ( + + // The absolute mouse position + pos.left + + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.left * mod + + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.left * mod - + ( ( this.cssPosition === "fixed" ? + -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : + scroll.scrollLeft() ) * mod ) + ) + }; + + }, + + _generatePosition: function( event ) { + + var top, left, + o = this.options, + pageX = event.pageX, + pageY = event.pageY, + scroll = this.cssPosition === "absolute" && + !( this.scrollParent[ 0 ] !== this.document[ 0 ] && + $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? + this.offsetParent : + this.scrollParent, + scrollIsRootNode = ( /(html|body)/i ).test( scroll[ 0 ].tagName ); + + // This is another very weird special case that only happens for relative elements: + // 1. If the css position is relative + // 2. and the scroll parent is the document or similar to the offset parent + // we have to refresh the relative offset during the scroll so there are no jumps + if ( this.cssPosition === "relative" && !( this.scrollParent[ 0 ] !== this.document[ 0 ] && + this.scrollParent[ 0 ] !== this.offsetParent[ 0 ] ) ) { + this.offset.relative = this._getRelativeOffset(); + } + + /* + * - Position constraining - + * Constrain the position to a mix of grid, containment. + */ + + if ( this.originalPosition ) { //If we are not dragging yet, we won't check for options + + if ( this.containment ) { + if ( event.pageX - this.offset.click.left < this.containment[ 0 ] ) { + pageX = this.containment[ 0 ] + this.offset.click.left; + } + if ( event.pageY - this.offset.click.top < this.containment[ 1 ] ) { + pageY = this.containment[ 1 ] + this.offset.click.top; + } + if ( event.pageX - this.offset.click.left > this.containment[ 2 ] ) { + pageX = this.containment[ 2 ] + this.offset.click.left; + } + if ( event.pageY - this.offset.click.top > this.containment[ 3 ] ) { + pageY = this.containment[ 3 ] + this.offset.click.top; + } + } + + if ( o.grid ) { + top = this.originalPageY + Math.round( ( pageY - this.originalPageY ) / + o.grid[ 1 ] ) * o.grid[ 1 ]; + pageY = this.containment ? + ( ( top - this.offset.click.top >= this.containment[ 1 ] && + top - this.offset.click.top <= this.containment[ 3 ] ) ? + top : + ( ( top - this.offset.click.top >= this.containment[ 1 ] ) ? + top - o.grid[ 1 ] : top + o.grid[ 1 ] ) ) : + top; + + left = this.originalPageX + Math.round( ( pageX - this.originalPageX ) / + o.grid[ 0 ] ) * o.grid[ 0 ]; + pageX = this.containment ? + ( ( left - this.offset.click.left >= this.containment[ 0 ] && + left - this.offset.click.left <= this.containment[ 2 ] ) ? + left : + ( ( left - this.offset.click.left >= this.containment[ 0 ] ) ? + left - o.grid[ 0 ] : left + o.grid[ 0 ] ) ) : + left; + } + + } + + return { + top: ( + + // The absolute mouse position + pageY - + + // Click offset (relative to the element) + this.offset.click.top - + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.top - + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.top + + ( ( this.cssPosition === "fixed" ? + -this.scrollParent.scrollTop() : + ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) ) + ), + left: ( + + // The absolute mouse position + pageX - + + // Click offset (relative to the element) + this.offset.click.left - + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.left - + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.left + + ( ( this.cssPosition === "fixed" ? + -this.scrollParent.scrollLeft() : + scrollIsRootNode ? 0 : scroll.scrollLeft() ) ) + ) + }; + + }, + + _rearrange: function( event, i, a, hardRefresh ) { + + if ( a ) { + a[ 0 ].appendChild( this.placeholder[ 0 ] ); + } else { + i.item[ 0 ].parentNode.insertBefore( this.placeholder[ 0 ], + ( this.direction === "down" ? i.item[ 0 ] : i.item[ 0 ].nextSibling ) ); + } + + //Various things done here to improve the performance: + // 1. we create a setTimeout, that calls refreshPositions + // 2. on the instance, we have a counter variable, that get's higher after every append + // 3. on the local scope, we copy the counter variable, and check in the timeout, + // if it's still the same + // 4. this lets only the last addition to the timeout stack through + this.counter = this.counter ? ++this.counter : 1; + var counter = this.counter; + + this._delay( function() { + if ( counter === this.counter ) { + + //Precompute after each DOM insertion, NOT on mousemove + this.refreshPositions( !hardRefresh ); + } + } ); + + }, + + _clear: function( event, noPropagation ) { + + this.reverting = false; + + // We delay all events that have to be triggered to after the point where the placeholder + // has been removed and everything else normalized again + var i, + delayedTriggers = []; + + // We first have to update the dom position of the actual currentItem + // Note: don't do it if the current item is already removed (by a user), or it gets + // reappended (see #4088) + if ( !this._noFinalSort && this.currentItem.parent().length ) { + this.placeholder.before( this.currentItem ); + } + this._noFinalSort = null; + + if ( this.helper[ 0 ] === this.currentItem[ 0 ] ) { + for ( i in this._storedCSS ) { + if ( this._storedCSS[ i ] === "auto" || this._storedCSS[ i ] === "static" ) { + this._storedCSS[ i ] = ""; + } + } + this.currentItem.css( this._storedCSS ); + this._removeClass( this.currentItem, "ui-sortable-helper" ); + } else { + this.currentItem.show(); + } + + if ( this.fromOutside && !noPropagation ) { + delayedTriggers.push( function( event ) { + this._trigger( "receive", event, this._uiHash( this.fromOutside ) ); + } ); + } + if ( ( this.fromOutside || + this.domPosition.prev !== + this.currentItem.prev().not( ".ui-sortable-helper" )[ 0 ] || + this.domPosition.parent !== this.currentItem.parent()[ 0 ] ) && !noPropagation ) { + + // Trigger update callback if the DOM position has changed + delayedTriggers.push( function( event ) { + this._trigger( "update", event, this._uiHash() ); + } ); + } + + // Check if the items Container has Changed and trigger appropriate + // events. + if ( this !== this.currentContainer ) { + if ( !noPropagation ) { + delayedTriggers.push( function( event ) { + this._trigger( "remove", event, this._uiHash() ); + } ); + delayedTriggers.push( ( function( c ) { + return function( event ) { + c._trigger( "receive", event, this._uiHash( this ) ); + }; + } ).call( this, this.currentContainer ) ); + delayedTriggers.push( ( function( c ) { + return function( event ) { + c._trigger( "update", event, this._uiHash( this ) ); + }; + } ).call( this, this.currentContainer ) ); + } + } + + //Post events to containers + function delayEvent( type, instance, container ) { + return function( event ) { + container._trigger( type, event, instance._uiHash( instance ) ); + }; + } + for ( i = this.containers.length - 1; i >= 0; i-- ) { + if ( !noPropagation ) { + delayedTriggers.push( delayEvent( "deactivate", this, this.containers[ i ] ) ); + } + if ( this.containers[ i ].containerCache.over ) { + delayedTriggers.push( delayEvent( "out", this, this.containers[ i ] ) ); + this.containers[ i ].containerCache.over = 0; + } + } + + //Do what was originally in plugins + if ( this._storedStylesheet ) { + this._storedStylesheet.remove(); + this._storedStylesheet = null; + } + if ( this._storedOpacity ) { + this.helper.css( "opacity", this._storedOpacity ); + } + if ( this._storedZIndex ) { + this.helper.css( "zIndex", this._storedZIndex === "auto" ? "" : this._storedZIndex ); + } + + this.dragging = false; + + if ( !noPropagation ) { + this._trigger( "beforeStop", event, this._uiHash() ); + } + + //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, + // it unbinds ALL events from the original node! + this.placeholder[ 0 ].parentNode.removeChild( this.placeholder[ 0 ] ); + + if ( !this.cancelHelperRemoval ) { + if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) { + this.helper.remove(); + } + this.helper = null; + } + + if ( !noPropagation ) { + for ( i = 0; i < delayedTriggers.length; i++ ) { + + // Trigger all delayed events + delayedTriggers[ i ].call( this, event ); + } + this._trigger( "stop", event, this._uiHash() ); + } + + this.fromOutside = false; + return !this.cancelHelperRemoval; + + }, + + _trigger: function() { + if ( $.Widget.prototype._trigger.apply( this, arguments ) === false ) { + this.cancel(); + } + }, + + _uiHash: function( _inst ) { + var inst = _inst || this; + return { + helper: inst.helper, + placeholder: inst.placeholder || $( [] ), + position: inst.position, + originalPosition: inst.originalPosition, + offset: inst.positionAbs, + item: inst.currentItem, + sender: _inst ? _inst.element : null + }; + } + +} ); + + +/*! + * jQuery UI Accordion 1.14.1 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ + +//>>label: Accordion +//>>group: Widgets +/* eslint-disable max-len */ +//>>description: Displays collapsible content panels for presenting information in a limited amount of space. +/* eslint-enable max-len */ +//>>docs: https://api.jqueryui.com/accordion/ +//>>demos: https://jqueryui.com/accordion/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/accordion.css +//>>css.theme: ../../themes/base/theme.css + + +var widgetsAccordion = $.widget( "ui.accordion", { + version: "1.14.1", + options: { + active: 0, + animate: {}, + classes: { + "ui-accordion-header": "ui-corner-top", + "ui-accordion-header-collapsed": "ui-corner-all", + "ui-accordion-content": "ui-corner-bottom" + }, + collapsible: false, + event: "click", + header: function( elem ) { + return elem + .find( "> li > :first-child" ) + .add( + elem.find( "> :not(li)" ) + + // Support: jQuery <3.5 only + // We could use `.even()` but that's unavailable in older jQuery. + .filter( function( i ) { + return i % 2 === 0; + } ) + ); + }, + heightStyle: "auto", + icons: { + activeHeader: "ui-icon-triangle-1-s", + header: "ui-icon-triangle-1-e" + }, + + // Callbacks + activate: null, + beforeActivate: null + }, + + hideProps: { + borderTopWidth: "hide", + borderBottomWidth: "hide", + paddingTop: "hide", + paddingBottom: "hide", + height: "hide" + }, + + showProps: { + borderTopWidth: "show", + borderBottomWidth: "show", + paddingTop: "show", + paddingBottom: "show", + height: "show" + }, + + _create: function() { + var options = this.options; + + this.prevShow = this.prevHide = $(); + this._addClass( "ui-accordion", "ui-widget ui-helper-reset" ); + this.element.attr( "role", "tablist" ); + + // Don't allow collapsible: false and active: false / null + if ( !options.collapsible && ( options.active === false || options.active == null ) ) { + options.active = 0; + } + + this._processPanels(); + + // handle negative values + if ( options.active < 0 ) { + options.active += this.headers.length; + } + this._refresh(); + }, + + _getCreateEventData: function() { + return { + header: this.active, + panel: !this.active.length ? $() : this.active.next() + }; + }, + + _createIcons: function() { + var icon, children, + icons = this.options.icons; + + if ( icons ) { + icon = $( "" ); + this._addClass( icon, "ui-accordion-header-icon", "ui-icon " + icons.header ); + icon.prependTo( this.headers ); + children = this.active.children( ".ui-accordion-header-icon" ); + this._removeClass( children, icons.header ) + ._addClass( children, null, icons.activeHeader ) + ._addClass( this.headers, "ui-accordion-icons" ); + } + }, + + _destroyIcons: function() { + this._removeClass( this.headers, "ui-accordion-icons" ); + this.headers.children( ".ui-accordion-header-icon" ).remove(); + }, + + _destroy: function() { + var contents; + + // Clean up main element + this.element.removeAttr( "role" ); + + // Clean up headers + this.headers + .removeAttr( "role aria-expanded aria-selected aria-controls tabIndex" ) + .removeUniqueId(); + + this._destroyIcons(); + + // Clean up content panels + contents = this.headers.next() + .css( "display", "" ) + .removeAttr( "role aria-hidden aria-labelledby" ) + .removeUniqueId(); + + if ( this.options.heightStyle !== "content" ) { + contents.css( "height", "" ); + } + }, + + _setOption: function( key, value ) { + if ( key === "active" ) { + + // _activate() will handle invalid values and update this.options + this._activate( value ); + return; + } + + if ( key === "event" ) { + if ( this.options.event ) { + this._off( this.headers, this.options.event ); + } + this._setupEvents( value ); + } + + this._super( key, value ); + + // Setting collapsible: false while collapsed; open first panel + if ( key === "collapsible" && !value && this.options.active === false ) { + this._activate( 0 ); + } + + if ( key === "icons" ) { + this._destroyIcons(); + if ( value ) { + this._createIcons(); + } + } + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this.element.attr( "aria-disabled", value ); + this._toggleClass( null, "ui-state-disabled", !!value ); + }, + + _keydown: function( event ) { + if ( event.altKey || event.ctrlKey ) { + return; + } + + var keyCode = $.ui.keyCode, + length = this.headers.length, + currentIndex = this.headers.index( event.target ), + toFocus = false; + + switch ( event.keyCode ) { + case keyCode.RIGHT: + case keyCode.DOWN: + toFocus = this.headers[ ( currentIndex + 1 ) % length ]; + break; + case keyCode.LEFT: + case keyCode.UP: + toFocus = this.headers[ ( currentIndex - 1 + length ) % length ]; + break; + case keyCode.SPACE: + case keyCode.ENTER: + this._eventHandler( event ); + break; + case keyCode.HOME: + toFocus = this.headers[ 0 ]; + break; + case keyCode.END: + toFocus = this.headers[ length - 1 ]; + break; + } + + if ( toFocus ) { + $( event.target ).attr( "tabIndex", -1 ); + $( toFocus ).attr( "tabIndex", 0 ); + $( toFocus ).trigger( "focus" ); + event.preventDefault(); + } + }, + + _panelKeyDown: function( event ) { + if ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) { + $( event.currentTarget ).prev().trigger( "focus" ); + } + }, + + refresh: function() { + var options = this.options; + this._processPanels(); + + // Was collapsed or no panel + if ( ( options.active === false && options.collapsible === true ) || + !this.headers.length ) { + options.active = false; + this.active = $(); + + // active false only when collapsible is true + } else if ( options.active === false ) { + this._activate( 0 ); + + // was active, but active panel is gone + } else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) { + + // all remaining panel are disabled + if ( this.headers.length === this.headers.find( ".ui-state-disabled" ).length ) { + options.active = false; + this.active = $(); + + // activate previous panel + } else { + this._activate( Math.max( 0, options.active - 1 ) ); + } + + // was active, active panel still exists + } else { + + // make sure active index is correct + options.active = this.headers.index( this.active ); + } + + this._destroyIcons(); + + this._refresh(); + }, + + _processPanels: function() { + var prevHeaders = this.headers, + prevPanels = this.panels; + + if ( typeof this.options.header === "function" ) { + this.headers = this.options.header( this.element ); + } else { + this.headers = this.element.find( this.options.header ); + } + this._addClass( this.headers, "ui-accordion-header ui-accordion-header-collapsed", + "ui-state-default" ); + + this.panels = this.headers.next().filter( ":not(.ui-accordion-content-active)" ).hide(); + this._addClass( this.panels, "ui-accordion-content", "ui-helper-reset ui-widget-content" ); + + // Avoid memory leaks (#10056) + if ( prevPanels ) { + this._off( prevHeaders.not( this.headers ) ); + this._off( prevPanels.not( this.panels ) ); + } + }, + + _refresh: function() { + var maxHeight, + options = this.options, + heightStyle = options.heightStyle, + parent = this.element.parent(); + + this.active = this._findActive( options.active ); + this._addClass( this.active, "ui-accordion-header-active", "ui-state-active" ) + ._removeClass( this.active, "ui-accordion-header-collapsed" ); + this._addClass( this.active.next(), "ui-accordion-content-active" ); + this.active.next().show(); + + this.headers + .attr( "role", "tab" ) + .each( function() { + var header = $( this ), + headerId = header.uniqueId().attr( "id" ), + panel = header.next(), + panelId = panel.uniqueId().attr( "id" ); + header.attr( "aria-controls", panelId ); + panel.attr( "aria-labelledby", headerId ); + } ) + .next() + .attr( "role", "tabpanel" ); + + this.headers + .not( this.active ) + .attr( { + "aria-selected": "false", + "aria-expanded": "false", + tabIndex: -1 + } ) + .next() + .attr( { + "aria-hidden": "true" + } ) + .hide(); + + // Make sure at least one header is in the tab order + if ( !this.active.length ) { + this.headers.eq( 0 ).attr( "tabIndex", 0 ); + } else { + this.active.attr( { + "aria-selected": "true", + "aria-expanded": "true", + tabIndex: 0 + } ) + .next() + .attr( { + "aria-hidden": "false" + } ); + } + + this._createIcons(); + + this._setupEvents( options.event ); + + if ( heightStyle === "fill" ) { + maxHeight = parent.height(); + this.element.siblings( ":visible" ).each( function() { + var elem = $( this ), + position = elem.css( "position" ); + + if ( position === "absolute" || position === "fixed" ) { + return; + } + maxHeight -= elem.outerHeight( true ); + } ); + + this.headers.each( function() { + maxHeight -= $( this ).outerHeight( true ); + } ); + + this.headers.next() + .each( function() { + $( this ).height( Math.max( 0, maxHeight - + $( this ).innerHeight() + $( this ).height() ) ); + } ) + .css( "overflow", "auto" ); + } else if ( heightStyle === "auto" ) { + maxHeight = 0; + this.headers.next() + .each( function() { + var isVisible = $( this ).is( ":visible" ); + if ( !isVisible ) { + $( this ).show(); + } + maxHeight = Math.max( maxHeight, $( this ).css( "height", "" ).height() ); + if ( !isVisible ) { + $( this ).hide(); + } + } ) + .height( maxHeight ); + } + }, + + _activate: function( index ) { + var active = this._findActive( index )[ 0 ]; + + // Trying to activate the already active panel + if ( active === this.active[ 0 ] ) { + return; + } + + // Trying to collapse, simulate a click on the currently active header + active = active || this.active[ 0 ]; + + this._eventHandler( { + target: active, + currentTarget: active, + preventDefault: $.noop + } ); + }, + + _findActive: function( selector ) { + return typeof selector === "number" ? this.headers.eq( selector ) : $(); + }, + + _setupEvents: function( event ) { + var events = { + keydown: "_keydown" + }; + if ( event ) { + $.each( event.split( " " ), function( index, eventName ) { + events[ eventName ] = "_eventHandler"; + } ); + } + + this._off( this.headers.add( this.headers.next() ) ); + this._on( this.headers, events ); + this._on( this.headers.next(), { keydown: "_panelKeyDown" } ); + this._hoverable( this.headers ); + this._focusable( this.headers ); + }, + + _eventHandler: function( event ) { + var activeChildren, clickedChildren, + options = this.options, + active = this.active, + clicked = $( event.currentTarget ), + clickedIsActive = clicked[ 0 ] === active[ 0 ], + collapsing = clickedIsActive && options.collapsible, + toShow = collapsing ? $() : clicked.next(), + toHide = active.next(), + eventData = { + oldHeader: active, + oldPanel: toHide, + newHeader: collapsing ? $() : clicked, + newPanel: toShow + }; + + event.preventDefault(); + + if ( + + // click on active header, but not collapsible + ( clickedIsActive && !options.collapsible ) || + + // allow canceling activation + ( this._trigger( "beforeActivate", event, eventData ) === false ) ) { + return; + } + + options.active = collapsing ? false : this.headers.index( clicked ); + + // When the call to ._toggle() comes after the class changes + // it causes a very odd bug in IE 8 (see #6720) + this.active = clickedIsActive ? $() : clicked; + this._toggle( eventData ); + + // Switch classes + // corner classes on the previously active header stay after the animation + this._removeClass( active, "ui-accordion-header-active", "ui-state-active" ); + if ( options.icons ) { + activeChildren = active.children( ".ui-accordion-header-icon" ); + this._removeClass( activeChildren, null, options.icons.activeHeader ) + ._addClass( activeChildren, null, options.icons.header ); + } + + if ( !clickedIsActive ) { + this._removeClass( clicked, "ui-accordion-header-collapsed" ) + ._addClass( clicked, "ui-accordion-header-active", "ui-state-active" ); + if ( options.icons ) { + clickedChildren = clicked.children( ".ui-accordion-header-icon" ); + this._removeClass( clickedChildren, null, options.icons.header ) + ._addClass( clickedChildren, null, options.icons.activeHeader ); + } + + this._addClass( clicked.next(), "ui-accordion-content-active" ); + } + }, + + _toggle: function( data ) { + var toShow = data.newPanel, + toHide = this.prevShow.length ? this.prevShow : data.oldPanel; + + // Handle activating a panel during the animation for another activation + this.prevShow.add( this.prevHide ).stop( true, true ); + this.prevShow = toShow; + this.prevHide = toHide; + + if ( this.options.animate ) { + this._animate( toShow, toHide, data ); + } else { + toHide.hide(); + toShow.show(); + this._toggleComplete( data ); + } + + toHide.attr( { + "aria-hidden": "true" + } ); + toHide.prev().attr( { + "aria-selected": "false", + "aria-expanded": "false" + } ); + + // if we're switching panels, remove the old header from the tab order + // if we're opening from collapsed state, remove the previous header from the tab order + // if we're collapsing, then keep the collapsing header in the tab order + if ( toShow.length && toHide.length ) { + toHide.prev().attr( { + "tabIndex": -1, + "aria-expanded": "false" + } ); + } else if ( toShow.length ) { + this.headers.filter( function() { + return parseInt( $( this ).attr( "tabIndex" ), 10 ) === 0; + } ) + .attr( "tabIndex", -1 ); + } + + toShow + .attr( "aria-hidden", "false" ) + .prev() + .attr( { + "aria-selected": "true", + "aria-expanded": "true", + tabIndex: 0 + } ); + }, + + _animate: function( toShow, toHide, data ) { + var total, easing, duration, + that = this, + adjust = 0, + boxSizing = toShow.css( "box-sizing" ), + down = toShow.length && + ( !toHide.length || ( toShow.index() < toHide.index() ) ), + animate = this.options.animate || {}, + options = down && animate.down || animate, + complete = function() { + that._toggleComplete( data ); + }; + + if ( typeof options === "number" ) { + duration = options; + } + if ( typeof options === "string" ) { + easing = options; + } + + // fall back from options to animation in case of partial down settings + easing = easing || options.easing || animate.easing; + duration = duration || options.duration || animate.duration; + + if ( !toHide.length ) { + return toShow.animate( this.showProps, duration, easing, complete ); + } + if ( !toShow.length ) { + return toHide.animate( this.hideProps, duration, easing, complete ); + } + + total = toShow.show().outerHeight(); + toHide.animate( this.hideProps, { + duration: duration, + easing: easing, + step: function( now, fx ) { + fx.now = Math.round( now ); + } + } ); + toShow + .hide() + .animate( this.showProps, { + duration: duration, + easing: easing, + complete: complete, + step: function( now, fx ) { + fx.now = Math.round( now ); + if ( fx.prop !== "height" ) { + if ( boxSizing === "content-box" ) { + adjust += fx.now; + } + } else if ( that.options.heightStyle !== "content" ) { + fx.now = Math.round( total - toHide.outerHeight() - adjust ); + adjust = 0; + } + } + } ); + }, + + _toggleComplete: function( data ) { + var toHide = data.oldPanel, + prev = toHide.prev(); + + this._removeClass( toHide, "ui-accordion-content-active" ); + this._removeClass( prev, "ui-accordion-header-active" ) + ._addClass( prev, "ui-accordion-header-collapsed" ); + + this._trigger( "activate", null, data ); + } +} ); + + +/*! + * jQuery UI Menu 1.14.1 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ + +//>>label: Menu +//>>group: Widgets +//>>description: Creates nestable menus. +//>>docs: https://api.jqueryui.com/menu/ +//>>demos: https://jqueryui.com/menu/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/menu.css +//>>css.theme: ../../themes/base/theme.css + + +var widgetsMenu = $.widget( "ui.menu", { + version: "1.14.1", + defaultElement: "