From f0462bd2a1743202b798e9a58fc47cf9d5a819d3 Mon Sep 17 00:00:00 2001 From: Baddi86 Date: Tue, 29 Sep 2026 22:17:49 +0200 Subject: [PATCH] Add animated classroom grouping with saved editable plans --- Directory.Packages.props | 1 + LehrerApp.Core/Interfaces/IRepositories.cs | 8 + LehrerApp.Core/Models/Student.cs | 5 +- LehrerApp.Core/Models/StudentGroupPlan.cs | 17 ++ .../Services/PersonalDataExportService.cs | 13 +- LehrerApp.Data.Tests/RepositoryTests.cs | 66 ++++++ LehrerApp.Data/LiteDbContext.cs | 4 + .../Repositories/AllRepositories.cs | 4 +- .../StudentGroupPlanRepository.cs | 55 +++++ LehrerApp.Desktop.Tests/Fakes.cs | 16 ++ .../PersonalDataExportServiceTests.cs | 28 ++- .../StudentGroupGeneratorViewModelTests.cs | 72 ++++++- LehrerApp.Desktop/AppBootstrapper.cs | 1 + .../Assets/Animations/LotterySpinWheel.json | 1 + .../Assets/Animations/Teamwork.json | 1 + LehrerApp.Desktop/LehrerApp.Desktop.csproj | 1 + .../Groups/StudentGroupGeneratorViewModel.cs | 157 +++++++++++++- .../Groups/TeachingModeViewModel.cs | 2 + .../Groups/RandomStudentPickerWindow.axaml | 16 +- .../Groups/RandomStudentPickerWindow.axaml.cs | 48 ++++- .../Groups/StudentGroupGeneratorWindow.axaml | 61 +++++- .../StudentGroupGeneratorWindow.axaml.cs | 197 +++++++++++++++++- .../Views/Groups/TeachingModeWindow.axaml | 2 + .../Views/Groups/TeachingModeWindow.axaml.cs | 15 ++ LehrerApp.Desktop/Views/MainWindow.axaml.cs | 10 +- LehrerApp.Sync.Tests/EventApplierTests.cs | 19 ++ LehrerApp.Sync/EventApplier.cs | 1 + 27 files changed, 775 insertions(+), 46 deletions(-) create mode 100644 LehrerApp.Core/Models/StudentGroupPlan.cs create mode 100644 LehrerApp.Data/Repositories/StudentGroupPlanRepository.cs create mode 100644 LehrerApp.Desktop/Assets/Animations/LotterySpinWheel.json create mode 100644 LehrerApp.Desktop/Assets/Animations/Teamwork.json diff --git a/Directory.Packages.props b/Directory.Packages.props index b22bb12..77d545d 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -9,6 +9,7 @@ + diff --git a/LehrerApp.Core/Interfaces/IRepositories.cs b/LehrerApp.Core/Interfaces/IRepositories.cs index dccf460..4663e12 100644 --- a/LehrerApp.Core/Interfaces/IRepositories.cs +++ b/LehrerApp.Core/Interfaces/IRepositories.cs @@ -29,6 +29,14 @@ public interface ISeatingPlanRepository /// wieder her (14.3). Tut nichts, falls der Papierkorb-Eintrag nicht (mehr) existiert. void Restore(Guid trashId); } +public interface IStudentGroupPlanRepository +{ + StudentGroupPlan? GetById(Guid id); + List GetByGroup(Guid groupId); + List GetByStudent(Guid studentId); + void Save(StudentGroupPlan plan); + void Delete(Guid id); +} public interface IGroupMembershipRepository { List GetByStudent(Guid studentId); diff --git a/LehrerApp.Core/Models/Student.cs b/LehrerApp.Core/Models/Student.cs index 0c25872..a800e60 100644 --- a/LehrerApp.Core/Models/Student.cs +++ b/LehrerApp.Core/Models/Student.cs @@ -52,9 +52,10 @@ public sealed record StudentReferenceSummary( int Grades, int ReportGrades, int ParticipationEntries, - int DocumentationEntries) + int DocumentationEntries, + int StudentGroupPlans = 0) { public int Total => Memberships + ExamResults + Grades + ReportGrades - + ParticipationEntries + DocumentationEntries; + + ParticipationEntries + DocumentationEntries + StudentGroupPlans; public bool HasReferences => Total > 0; } diff --git a/LehrerApp.Core/Models/StudentGroupPlan.cs b/LehrerApp.Core/Models/StudentGroupPlan.cs new file mode 100644 index 0000000..82c3a92 --- /dev/null +++ b/LehrerApp.Core/Models/StudentGroupPlan.cs @@ -0,0 +1,17 @@ +namespace LehrerApp.Core.Models; + +/// Eine wiederverwendbare Einteilung innerhalb einer Lerngruppe. +public class StudentGroupPlan +{ + public Guid Id { get; set; } = Guid.NewGuid(); + public Guid GroupId { get; set; } + public string Name { get; set; } = ""; + public List Groups { get; set; } = []; + public DateTime CreatedAt { get; set; } = DateTime.UtcNow; + public DateTime UpdatedAt { get; set; } = DateTime.UtcNow; +} + +public class StudentGroupPlanGroup +{ + public List StudentIds { get; set; } = []; +} diff --git a/LehrerApp.Core/Services/PersonalDataExportService.cs b/LehrerApp.Core/Services/PersonalDataExportService.cs index eccdc66..4b49038 100644 --- a/LehrerApp.Core/Services/PersonalDataExportService.cs +++ b/LehrerApp.Core/Services/PersonalDataExportService.cs @@ -22,7 +22,8 @@ public class PersonalDataExportService( IExamResultRepository examResults, IParticipationRepository participation, IDocumentationRepository documentation, - ISeatingPlanRepository seatingPlans) + ISeatingPlanRepository seatingPlans, + IStudentGroupPlanRepository? studentGroupPlans = null) { public string ExportAsJson(Guid studentId) { @@ -56,6 +57,16 @@ public class PersonalDataExportService( Platz = a.Column + 1, })) .ToList(), + GespeicherteGruppeneinteilungen = (studentGroupPlans?.GetByStudent(studentId) ?? []) + .SelectMany(plan => plan.Groups.Select((subgroup, index) => new + { + Einteilung = plan.Name, + Gruppe = index + 1, + Enthalten = subgroup.StudentIds.Contains(studentId), + })) + .Where(entry => entry.Enthalten) + .Select(entry => new { entry.Einteilung, entry.Gruppe }) + .ToList(), }; return JsonSerializer.Serialize(dto, new JsonSerializerOptions diff --git a/LehrerApp.Data.Tests/RepositoryTests.cs b/LehrerApp.Data.Tests/RepositoryTests.cs index c39904b..799fccd 100644 --- a/LehrerApp.Data.Tests/RepositoryTests.cs +++ b/LehrerApp.Data.Tests/RepositoryTests.cs @@ -8,6 +8,72 @@ public sealed class RepositoryTests { private static LiteDbContext NewInMemoryContext() => new(new MemoryStream()); + [Fact] + public void StudentGroupPlanRepository_SpeichertEinteilungUndLoeschtSieMitDerLerngruppe() + { + using var db = NewInMemoryContext(); + var group = new LearningGroup { Name = "8a" }; + new GroupRepository(db).Save(group); + var studentIds = new[] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() }; + var plan = new StudentGroupPlan + { + GroupId = group.Id, + Name = " Projektwoche ", + Groups = + [ + new StudentGroupPlanGroup { StudentIds = [studentIds[0], studentIds[1]] }, + new StudentGroupPlanGroup { StudentIds = [studentIds[2]] }, + ], + }; + var changes = new List<(string Type, string Operation)>(); + db.OnChange = (type, _, operation, _) => changes.Add((type, operation)); + var repo = new StudentGroupPlanRepository(db); + + repo.Save(plan); + Assert.Equal("Projektwoche", repo.GetById(plan.Id)?.Name); + Assert.Equal(studentIds[2], repo.GetByGroup(group.Id).Single().Groups[1].StudentIds.Single()); + Assert.Equal(plan.Id, Assert.Single(repo.GetByStudent(studentIds[0])).Id); + Assert.Contains((nameof(StudentGroupPlan), "Save"), changes); + + var student = new Student { Id = studentIds[0], FirstName = "Anna", LastName = "Beispiel" }; + var students = new StudentRepository(db); + students.Save(student); + Assert.Throws(() => students.Delete(student.Id)); + + new GroupRepository(db).Delete(group.Id); + Assert.Empty(repo.GetByGroup(group.Id)); + } + + [Fact] + public void StudentGroupPlanRepository_VerhindertDoppelteSchuelerUndNamen() + { + using var db = NewInMemoryContext(); + var group = new LearningGroup { Name = "8a" }; + new GroupRepository(db).Save(group); + var repo = new StudentGroupPlanRepository(db); + var studentId = Guid.NewGuid(); + Assert.Throws(() => repo.Save(new StudentGroupPlan + { + GroupId = group.Id, Name = "Doppelt", + Groups = + [ + new StudentGroupPlanGroup { StudentIds = [studentId] }, + new StudentGroupPlanGroup { StudentIds = [studentId] }, + ], + })); + + repo.Save(new StudentGroupPlan + { + GroupId = group.Id, Name = "Projektwoche", + Groups = [new StudentGroupPlanGroup { StudentIds = [studentId] }], + }); + Assert.Throws(() => repo.Save(new StudentGroupPlan + { + GroupId = group.Id, Name = "projektwoche", + Groups = [new StudentGroupPlanGroup()], + })); + } + // ── StudentRepository ───────────────────────────────────────────────────── [Fact] diff --git a/LehrerApp.Data/LiteDbContext.cs b/LehrerApp.Data/LiteDbContext.cs index 9d12173..bb821e7 100644 --- a/LehrerApp.Data/LiteDbContext.cs +++ b/LehrerApp.Data/LiteDbContext.cs @@ -41,6 +41,7 @@ public class LiteDbContext : IDisposable public ILiteCollection Students => _db.GetCollection("students"); public ILiteCollection Groups => _db.GetCollection("groups"); public ILiteCollection SeatingPlans => _db.GetCollection("seating_plans"); + public ILiteCollection StudentGroupPlans => _db.GetCollection("student_group_plans"); public ILiteCollection Memberships => _db.GetCollection("group_memberships"); public ILiteCollection Exams => _db.GetCollection("exams"); public ILiteCollection ExamResults => _db.GetCollection("exam_results"); @@ -141,6 +142,8 @@ public class LiteDbContext : IDisposable foreach (var plan in SeatingPlans.Find(p => p.GroupId == id).ToList()) SeatingPlans.Delete(plan.Id); + foreach (var plan in StudentGroupPlans.Find(p => p.GroupId == id).ToList()) + StudentGroupPlans.Delete(plan.Id); // Dokumentation und Arbeitszeit sind historische Nachweise. Sie bleiben erhalten, // werden aber von der nicht mehr existierenden Lerngruppe entkoppelt. @@ -659,6 +662,7 @@ public class LiteDbContext : IDisposable Groups.EnsureIndex(x => x.SchoolYear); Groups.EnsureIndex(x => x.IsActive); SeatingPlans.EnsureIndex(x => x.GroupId); + StudentGroupPlans.EnsureIndex(x => x.GroupId); Memberships.EnsureIndex(x => x.StudentId); Memberships.EnsureIndex(x => x.GroupId); Memberships.EnsureIndex("ux_student_group", diff --git a/LehrerApp.Data/Repositories/AllRepositories.cs b/LehrerApp.Data/Repositories/AllRepositories.cs index 9e56096..62f9b63 100644 --- a/LehrerApp.Data/Repositories/AllRepositories.cs +++ b/LehrerApp.Data/Repositories/AllRepositories.cs @@ -34,7 +34,9 @@ public class StudentRepository(LiteDbContext db) : IStudentRepository db.Grades.Count(g => g.StudentId == studentId), db.ReportGrades.Count(g => g.StudentId == studentId), db.ParticipationEntries.Count(e => e.StudentId == studentId), - db.Documentation.FindAll().Count(d => d.Concerns(studentId))); + db.Documentation.FindAll().Count(d => d.Concerns(studentId)), + db.StudentGroupPlans.FindAll().Count(plan => + plan.Groups.Any(group => group.StudentIds.Contains(studentId)))); public void Save(Student s) { s.ExternalIds ??= []; diff --git a/LehrerApp.Data/Repositories/StudentGroupPlanRepository.cs b/LehrerApp.Data/Repositories/StudentGroupPlanRepository.cs new file mode 100644 index 0000000..f330526 --- /dev/null +++ b/LehrerApp.Data/Repositories/StudentGroupPlanRepository.cs @@ -0,0 +1,55 @@ +using LehrerApp.Core.Interfaces; +using LehrerApp.Core.Models; + +namespace LehrerApp.Data.Repositories; + +public class StudentGroupPlanRepository(LiteDbContext db) : IStudentGroupPlanRepository +{ + public StudentGroupPlan? GetById(Guid id) => db.StudentGroupPlans.FindById(id); + + public List GetByGroup(Guid groupId) => + db.StudentGroupPlans.Find(p => p.GroupId == groupId) + .OrderByDescending(p => p.UpdatedAt).ToList(); + + public List GetByStudent(Guid studentId) => + db.StudentGroupPlans.FindAll() + .Where(plan => plan.Groups.Any(group => group.StudentIds.Contains(studentId))) + .OrderByDescending(plan => plan.UpdatedAt).ToList(); + + public void Save(StudentGroupPlan plan) + { + if (db.Groups.FindById(plan.GroupId) is null) + throw new InvalidOperationException("Die zugehörige Lerngruppe existiert nicht."); + ArchivedGroupWriteGuard.EnsureActive(db, plan.GroupId); + plan.Name = plan.Name?.Trim() ?? ""; + if (plan.Name.Length == 0) + throw new ArgumentException("Bitte einen Namen für die Gruppeneinteilung eingeben."); + plan.Groups ??= []; + if (plan.Groups.Count == 0) + throw new InvalidOperationException("Die Gruppeneinteilung enthält keine Gruppen."); + var ids = plan.Groups.SelectMany(g => g.StudentIds ?? []).ToList(); + if (ids.Count != ids.Distinct().Count()) + throw new InvalidOperationException("Ein Schüler darf nur in einer Gruppe stehen."); + if (db.StudentGroupPlans.Find(p => p.GroupId == plan.GroupId) + .Any(p => p.Id != plan.Id && string.Equals(p.Name, plan.Name, StringComparison.OrdinalIgnoreCase))) + throw new InvalidOperationException("Eine gespeicherte Einteilung mit diesem Namen gibt es bereits."); + + if (db.StudentGroupPlans.FindById(plan.Id) is { } existing) + { + if (existing.GroupId != plan.GroupId) + throw new InvalidOperationException("Eine Gruppeneinteilung kann nicht in eine andere Lerngruppe verschoben werden."); + plan.CreatedAt = existing.CreatedAt; + } + plan.UpdatedAt = DateTime.UtcNow; + db.StudentGroupPlans.Upsert(plan); + db.OnChange?.Invoke(nameof(StudentGroupPlan), plan.Id.ToString(), "Save", plan); + } + + public void Delete(Guid id) + { + if (db.StudentGroupPlans.FindById(id) is not { } plan) return; + ArchivedGroupWriteGuard.EnsureActive(db, plan.GroupId); + db.StudentGroupPlans.Delete(id); + db.OnChange?.Invoke(nameof(StudentGroupPlan), id.ToString(), "Delete", null); + } +} diff --git a/LehrerApp.Desktop.Tests/Fakes.cs b/LehrerApp.Desktop.Tests/Fakes.cs index 4e2b846..0df1a47 100644 --- a/LehrerApp.Desktop.Tests/Fakes.cs +++ b/LehrerApp.Desktop.Tests/Fakes.cs @@ -179,6 +179,22 @@ public class FakeSeatingPlans(List? initial = null) : ISeatingPlanR public void Restore(Guid trashId) { } } +public class FakeStudentGroupPlans : IStudentGroupPlanRepository +{ + private readonly List _plans = []; + public StudentGroupPlan? GetById(Guid id) => _plans.FirstOrDefault(p => p.Id == id); + public List GetByGroup(Guid groupId) => + _plans.Where(p => p.GroupId == groupId).ToList(); + public List GetByStudent(Guid studentId) => + _plans.Where(p => p.Groups.Any(g => g.StudentIds.Contains(studentId))).ToList(); + public void Save(StudentGroupPlan plan) + { + _plans.RemoveAll(p => p.Id == plan.Id); + _plans.Add(plan); + } + public void Delete(Guid id) => _plans.RemoveAll(p => p.Id == id); +} + public class FakeTrash(List? initial = null) : ITrashRepository { private readonly List _all = initial ?? []; diff --git a/LehrerApp.Desktop.Tests/PersonalDataExportServiceTests.cs b/LehrerApp.Desktop.Tests/PersonalDataExportServiceTests.cs index 0512002..84edeca 100644 --- a/LehrerApp.Desktop.Tests/PersonalDataExportServiceTests.cs +++ b/LehrerApp.Desktop.Tests/PersonalDataExportServiceTests.cs @@ -31,8 +31,14 @@ public sealed class PersonalDataExportServiceTests Assignments = [new SeatAssignment { Row = 1, Column = 2, StudentId = studentId }], }, ]); + var groupPlans = new FakeStudentGroupPlans(); + groupPlans.Save(new StudentGroupPlan + { + GroupId = groupId, Name = "Projektwoche", + Groups = [new StudentGroupPlanGroup { StudentIds = [studentId] }], + }); var service = new PersonalDataExportService(students, groups, memberships, grades, results, entries, - documentation, seatingPlans); + documentation, seatingPlans, groupPlans); var json = service.ExportAsJson(studentId); @@ -41,6 +47,7 @@ public sealed class PersonalDataExportServiceTests Assert.Contains("\"Value\": \"2\"", json); Assert.Contains("\"Sitzplan\": \"Standard\"", json); Assert.Contains("\"Reihe\": 2", json); + Assert.Contains("Projektwoche", json); } [Fact] @@ -53,4 +60,23 @@ public sealed class PersonalDataExportServiceTests Assert.Throws(() => service.ExportAsJson(Guid.NewGuid())); } + + [Fact] + public void ExportAsJson_EnthaeltGespeichertenPlanAuchNachEndeDerMitgliedschaft() + { + var student = new Student { FirstName = "Anna", LastName = "Beispiel" }; + var groupId = Guid.NewGuid(); + var plans = new FakeStudentGroupPlans(); + plans.Save(new StudentGroupPlan + { + GroupId = groupId, Name = "Alte Projektgruppe", + Groups = [new StudentGroupPlanGroup { StudentIds = [student.Id] }], + }); + var service = new PersonalDataExportService( + new FakeStudents([student]), new FakeGroups([]), new FakeMemberships([]), + new FakeGrades(), new FakeResults(), new FakeEntries(), new FakeDocumentation(), + new FakeSeatingPlans(), plans); + + Assert.Contains("Alte Projektgruppe", service.ExportAsJson(student.Id)); + } } diff --git a/LehrerApp.Desktop.Tests/StudentGroupGeneratorViewModelTests.cs b/LehrerApp.Desktop.Tests/StudentGroupGeneratorViewModelTests.cs index f779928..c109ada 100644 --- a/LehrerApp.Desktop.Tests/StudentGroupGeneratorViewModelTests.cs +++ b/LehrerApp.Desktop.Tests/StudentGroupGeneratorViewModelTests.cs @@ -7,7 +7,8 @@ namespace LehrerApp.Desktop.Tests; public sealed class StudentGroupGeneratorViewModelTests { private static (StudentGroupGeneratorViewModel Vm, List Students, LearningGroup Group, - FakeSessions Sessions, FakeEntries Entries) Build(int studentCount = 10) + FakeSessions Sessions, FakeEntries Entries) Build(int studentCount = 10, + FakeStudentGroupPlans? savedPlans = null) { var group = new LearningGroup { Name = "8a", GradingSystem = GradingSystem.Grades1To6 }; var students = Enumerable.Range(1, studentCount).Select(i => new Student @@ -22,10 +23,77 @@ public sealed class StudentGroupGeneratorViewModelTests var entries = new FakeEntries(); var vm = new StudentGroupGeneratorViewModel( new FakeStudents(students), new FakeGroups([group]), new FakeMemberships(memberships), - sessions, entries, new FakeGrades(), group.Id, new Random(7)); + sessions, entries, new FakeGrades(), group.Id, new Random(7), savedPlans); return (vm, students, group, sessions, entries); } + [Fact] + public void ManuelleUmverteilung_WirdGespeichertUndSpaeterWiederGeladen() + { + var plans = new FakeStudentGroupPlans(); + var (vm, students, group, _, _) = Build(6, plans); + vm.TargetGroupCount = 2; + vm.CountPriority = 100; + vm.GenerateCommand.Execute(null); + var source = vm.GeneratedGroups[0]; + var target = vm.GeneratedGroups[1]; + var member = source.Members[0]; + + Assert.True(vm.MoveStudent(member, target)); + Assert.False(vm.MoveStudent(member, target)); + Assert.DoesNotContain(member, source.Members); + vm.PlanName = "Projektwoche"; + vm.SavePlanCommand.Execute(null); + + var saved = Assert.Single(plans.GetByGroup(group.Id)); + Assert.Equal("Projektwoche", saved.Name); + Assert.Contains(member.Id, saved.Groups[1].StudentIds); + Assert.False(vm.HasUnsavedChanges); + + vm.GenerateCommand.Execute(null); + vm.SelectedSavedPlan = Assert.Single(vm.SavedPlans); + vm.LoadSavedPlanCommand.Execute(null); + Assert.Contains(vm.GeneratedGroups[1].Members, m => m.Id == member.Id); + Assert.DoesNotContain(vm.GeneratedGroups[0].Members, m => m.Id == member.Id); + Assert.False(vm.HasUnsavedChanges); + Assert.Equal("Projektwoche", vm.PlanName); + + var reopened = new StudentGroupGeneratorViewModel( + new FakeStudents(students), new FakeGroups([group]), + new FakeMemberships(students.Select(s => new GroupMembership + { + GroupId = group.Id, StudentId = s.Id, + }).ToList()), + new FakeSessions([]), new FakeEntries(), new FakeGrades(), group.Id, + savedPlans: plans); + reopened.SelectedSavedPlan = Assert.Single(reopened.SavedPlans); + reopened.LoadSavedPlanCommand.Execute(null); + Assert.Contains(reopened.GeneratedGroups[1].Members, m => m.Id == member.Id); + + reopened.PlanName = "Projektwoche aktualisiert"; + reopened.SavePlanCommand.Execute(null); + Assert.Equal("Projektwoche aktualisiert", Assert.Single(plans.GetByGroup(group.Id)).Name); + } + + [Fact] + public void SpeichernUeberschreibtAusgewaehltenPlanErstNachDemLaden() + { + var plans = new FakeStudentGroupPlans(); + var (vm, _, group, _, _) = Build(6, plans); + vm.GenerateCommand.Execute(null); + vm.PlanName = "Alter Plan"; + vm.SavePlanCommand.Execute(null); + + vm.GenerateCommand.Execute(null); + vm.SelectedSavedPlan = Assert.Single(vm.SavedPlans); + vm.PlanName = "Neuer Plan"; + vm.SavePlanCommand.Execute(null); + + Assert.Equal(2, plans.GetByGroup(group.Id).Count); + Assert.Contains(plans.GetByGroup(group.Id), p => p.Name == "Alter Plan"); + Assert.Contains(plans.GetByGroup(group.Id), p => p.Name == "Neuer Plan"); + } + [Fact] public void FesteZielgroesse_ErzeugtPassendeAnzahlMitKleinerAusnahme() { diff --git a/LehrerApp.Desktop/AppBootstrapper.cs b/LehrerApp.Desktop/AppBootstrapper.cs index 59c1582..2e1cd74 100644 --- a/LehrerApp.Desktop/AppBootstrapper.cs +++ b/LehrerApp.Desktop/AppBootstrapper.cs @@ -156,6 +156,7 @@ public static class AppBootstrapper services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); + services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); diff --git a/LehrerApp.Desktop/Assets/Animations/LotterySpinWheel.json b/LehrerApp.Desktop/Assets/Animations/LotterySpinWheel.json new file mode 100644 index 0000000..31cd57a --- /dev/null +++ b/LehrerApp.Desktop/Assets/Animations/LotterySpinWheel.json @@ -0,0 +1 @@ +{"v":"5.7.8","fr":25,"ip":0,"op":25,"w":1080,"h":1080,"nm":"[ pecah Asset - Games Roda Keberuntungan ] EMOS - Juni","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"link-tengah Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[538.46,407.962,0],"ix":2,"l":2},"a":{"a":0,"k":[65.18,65.182,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.586,31.425],[-31.425,-1.586],[1.586,-31.426],[31.425,1.588]],"o":[[1.588,-31.423],[31.426,1.588],[-1.589,31.425],[-31.425,-1.586]],"v":[[-56.9,-2.875],[2.873,-56.901],[56.9,2.873],[-2.874,56.899]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-1.668,33.037],[33.036,1.668],[1.668,-33.037],[-33.036,-1.671]],"o":[[1.67,-33.037],[-33.037,-1.668],[-1.67,33.036],[33.037,1.668]],"v":[[59.817,3.02],[3.021,-59.818],[-59.817,-3.022],[-3.022,59.818]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2196078431372549,0.28627450980392155,0.8196078431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[65.181,65.182],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-28.146,-8.66],[8.66,-28.146],[28.147,8.66],[-7.333,25.672]],"o":[[28.146,8.661],[-8.66,28.144],[-28.146,-8.661],[8.09,-28.315]],"v":[[14.668,-49.317],[50.116,15.469],[-14.669,49.694],[-50.116,-13.869]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-30.651,-9.431],[-9.431,30.652],[30.651,9.432],[9.431,-30.652]],"o":[[30.652,9.432],[9.432,-30.652],[-30.652,-9.431],[-9.431,30.651]],"v":[[-17.078,55.5],[55.499,17.076],[17.077,-55.501],[-55.5,-17.077]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[65.181,65.182],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":6,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.55,30.701],[30.701,1.55],[1.55,-30.701],[-30.702,-1.552]],"o":[[1.552,-30.701],[-30.701,-1.55],[-1.552,30.701],[30.701,1.55]],"v":[[55.589,2.806],[2.808,-55.59],[-55.588,-2.809],[-2.808,55.59]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.3686274509803922,0.4470588235294118,0.8941176470588236,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[65.18,65.182],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":25,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Arrow Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":4,"s":[-17]},{"t":7,"s":[10]}],"ix":10,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle', 0);"},"p":{"a":0,"k":[882.284,387.765,0],"ix":2,"l":2},"a":{"a":0,"k":[90.2,66.694,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.184,-20.641],[-20.642,-1.186],[-1.183,20.641],[20.643,1.183]],"o":[[-1.185,20.643],[20.643,1.184],[1.186,-20.644],[-20.643,-1.185]],"v":[[-37.376,-2.145],[-2.144,37.377],[37.375,2.146],[2.145,-37.375]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2196078431372549,0.28627450980392155,0.8196078431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[112.538,63.94],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[25.067,0.563],[26.587,20.289],[-17.345,-0.388],[0.547,-24.392]],"o":[[-17.346,-0.388],[27.47,-19.078],[25.069,0.561],[-0.548,24.392]],"v":[[21.241,44.234],[-61.576,-1.878],[23.223,-44.233],[67.693,1.02]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[30.746,0.688],[0,0],[-30.746,-0.688],[-0.674,30.067]],"o":[[-30.745,-0.691],[0,0],[30.745,0.69],[0.673,-30.068]],"v":[[23.452,-54.441],[-78.574,-2.259],[21.012,54.441],[77.901,1.249]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[90.781,63.95],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":6,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[25.068,0.561],[27.471,-19.078],[-17.346,-0.388],[-0.548,24.392]],"o":[[-17.346,-0.388],[26.587,20.289],[25.067,0.563],[0.547,-24.392]],"v":[[19.891,-44.322],[-64.908,-1.966],[17.908,44.146],[64.361,0.932]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.7764705882352941,0.8117647058823529,0.9725490196078431,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[94.113,64.038],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[34.766,0.778],[0,0],[-34.765,-0.779],[0.78,-34.767]],"o":[[-34.767,-0.779],[0,0],[34.766,0.778],[-0.778,34.765]],"v":[[23.721,62.949],[-88.859,-2.553],[26.542,-62.948],[88.079,1.412]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.3686274509803922,0.4470588235294118,0.8941176470588236,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[89.109,63.977],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":4,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.695,9.064],[0.067,0.128],[23.997,0.537],[0,0],[0,0],[-34.766,-0.778],[-0.779,34.764]],"o":[[-0.064,-0.128],[-10.177,-19.99],[-34.766,-0.779],[0,0],[0,0],[34.766,0.779],[0.246,-10.926]],"v":[[82.695,-26.194],[80.174,-31.236],[25.451,-65.665],[-89.95,-5.27],[-87.234,0.163],[25.346,65.665],[89.704,4.129]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2196078431372549,0.28627450980392155,0.8196078431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[90.2,66.694],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":4,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":25,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Outline Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[537.212,407.506,0],"ix":2,"l":2},"a":{"a":0,"k":[413.989,408.491,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[197.712,12.965],[-12.962,197.714],[-197.711,-12.965],[12.963,-197.711]],"o":[[-197.713,-12.963],[12.966,-197.711],[197.714,12.964],[-12.965,197.714]],"v":[[-23.474,357.623],[-357.993,-23.843],[23.473,-358.358],[357.992,23.106]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[217.585,14.268],[14.267,-217.585],[-217.585,-14.266],[-14.266,217.586]],"o":[[-217.587,-14.267],[-14.269,217.585],[217.587,14.268],[14.27,-217.586]],"v":[[25.835,-394.341],[-393.973,-26.202],[-25.835,393.605],[393.972,25.467]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.3686274509803922,0.4470588235294118,0.8941176470588236,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[413.989,408.858],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.731,0],[12.068,-184.032],[-193.212,-12.669],[-7.734,0],[-12.069,184.033],[193.214,12.671]],"o":[[-184.226,0],[-12.666,193.217],[7.749,0.507],[184.22,0],[12.666,-193.214],[-7.749,-0.508]],"v":[[-0.352,-351.171],[-350.406,-22.978],[-22.977,350.407],[0.355,351.171],[350.406,22.978],[22.975,-350.405]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[8.873,0.584],[70.872,80.817],[-7.036,107.259],[-75.153,70.117],[-102.003,0],[-8.874,-0.584],[-70.871,-80.818],[7.036,-107.261],[75.153,-70.116],[101.998,0]],"o":[[-8.858,0],[-107.259,-7.031],[-70.871,-80.819],[6.727,-102.613],[74.815,-69.802],[8.857,0],[107.262,7.032],[70.873,80.82],[-6.727,102.614],[-74.811,69.8],[0,0]],"v":[[0.388,402.436],[-26.333,401.559],[-302.565,265.327],[-401.558,-26.33],[-274.584,-294.19],[-0.39,-402.436],[26.331,-401.558],[302.565,-265.326],[401.559,26.334],[274.585,294.191],[0.389,402.436]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[413.99,408.49],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":6,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.62,0],[11.891,-181.377],[-190.423,-12.486],[-7.623,0],[-11.894,181.377],[190.424,12.488]],"o":[[-181.563,0],[-12.485,190.427],[7.639,0.5],[181.56,0],[12.485,-190.425],[-7.637,-0.5]],"v":[[-0.352,-346.103],[-345.347,-22.646],[-22.645,345.347],[0.356,346.102],[345.348,22.645],[22.644,-345.348]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[8.983,0.589],[71.765,81.838],[-7.123,108.61],[-76.098,71],[-103.29,0],[-8.983,-0.59],[-71.765,-81.835],[7.122,-108.612],[76.098,-71],[103.285,0]],"o":[[-8.967,0],[-108.61,-7.12],[-71.765,-81.835],[6.813,-103.908],[75.757,-70.684],[8.966,0],[108.612,7.122],[71.765,81.837],[-6.813,103.906],[-75.755,70.676],[0,0]],"v":[[0.388,407.505],[-26.664,406.616],[-306.376,268.667],[-406.616,-26.663],[-278.042,-297.896],[-0.389,-407.505],[26.663,-406.617],[306.377,-268.668],[406.617,26.664],[278.043,297.897],[0.39,407.505]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.7764705882352941,0.8117647058823529,0.9725490196078431,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[413.989,408.49],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":6,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.239,0],[11.297,-172.308],[-180.901,-11.86],[-7.241,0],[-11.3,172.308],[180.904,11.864]],"o":[[-172.485,0],[-11.861,180.905],[7.258,0.476],[172.483,0],[11.86,-180.904],[-7.256,-0.475]],"v":[[-0.335,-328.799],[-328.08,-21.516],[-21.514,328.078],[0.337,328.795],[328.081,21.512],[21.511,-328.082]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[8.535,0.56],[68.177,77.746],[-6.766,103.179],[-72.294,67.451],[-98.124,0],[-8.536,-0.559],[-68.177,-77.743],[6.766,-103.182],[72.293,-67.45],[98.12,0]],"o":[[-8.518,0],[-103.179,-6.764],[-68.176,-77.743],[6.472,-98.713],[71.969,-67.149],[8.519,0],[103.181,6.767],[68.176,77.745],[-6.473,98.71],[-71.967,67.142],[0,0]],"v":[[0.368,387.128],[-25.332,386.284],[-291.058,255.232],[-386.286,-25.331],[-264.14,-283.003],[-0.371,-387.132],[25.33,-386.288],[291.058,-255.236],[386.286,25.33],[264.14,283],[0.37,387.128]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":20,"ix":5},"r":1,"bm":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[413.99,408.492],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":6,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":25,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Main Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":25,"s":[360]}],"ix":10,"x":"var $bm_rt;\n$bm_rt = loopOut('cycle', 0);"},"p":{"a":0,"k":[537.212,407.512,0],"ix":2,"l":2},"a":{"a":0,"k":[350.883,355.623,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-46.353,-61.15],[0,0]],"o":[[1.387,71.265],[0,0],[0,0]],"v":[[-174.606,-98.409],[-103.746,105.499],[174.606,-105.499]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.7764705882352941,0.8117647058823529,0.9725490196078431,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[176.278,461.123],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-1.422,-72.897],[0,0]],"o":[[-42.549,61.11],[0,0],[0,0]],"v":[[-111.427,-103.327],[-173.895,103.328],[175.317,96.236]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.3686274509803922,0.4470588235294118,0.8941176470588236,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[175.567,259.388],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-68.24,-20.589],[0,0]],"o":[[46.356,61.149],[0,0],[0,0]],"v":[[-139.176,43.844],[38.007,167.156],[139.176,-167.156]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.3686274509803922,0.4470588235294118,0.8941176470588236,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[211.708,522.779],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-70.332,24.458],[0,0],[0,0]],"o":[[0,0],[0,0],[69.802,21.062]],"v":[[107.923,152.306],[-6.755,-177.686],[-107.923,156.624]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.7764705882352941,0.8117647058823529,0.9725490196078431,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[357.638,533.309],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":4,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[30.028,-22.762],[20.426,-29.336],[0,0]],"o":[[-33.765,11.74],[-30.027,22.764],[0,0],[0,0]],"v":[[28.692,-164.997],[-67.629,-113.355],[-143.372,-34.567],[143.372,164.997]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.7764705882352941,0.8117647058823529,0.9725490196078431,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[207.512,190.627],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":4,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[46.353,61.15],[0,0]],"o":[[-1.387,-71.266],[0,0],[0,0]],"v":[[174.605,98.406],[103.745,-105.499],[-174.605,105.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.3686274509803922,0.4470588235294118,0.8941176470588236,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[525.489,250.124],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":4,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.422,72.898],[0,0]],"o":[[42.549,-61.109],[0,0],[0,0]],"v":[[111.426,103.327],[173.894,-103.327],[-175.316,-96.234]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.7764705882352941,0.8117647058823529,0.9725490196078431,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[526.2,451.858],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":4,"cix":2,"bm":0,"ix":7,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[70.332,-24.458],[0,0]],"o":[[-69.802,-21.061],[0,0],[0,0]],"v":[[107.923,-156.626],[-107.923,-152.307],[6.757,177.686]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.3686274509803922,0.4470588235294118,0.8941176470588236,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[344.127,177.937],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 8","np":4,"cix":2,"bm":0,"ix":8,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-30.028,22.762],[-20.425,29.338],[0,0]],"o":[[33.766,-11.74],[30.027,-22.761],[0,0],[0,0]],"v":[[-28.693,164.996],[67.628,113.353],[143.371,34.565],[-143.371,-164.996]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.3686274509803922,0.4470588235294118,0.8941176470588236,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[494.254,520.619],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 9","np":4,"cix":2,"bm":0,"ix":9,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[68.241,20.589],[0,0]],"o":[[-46.355,-61.152],[0,0],[0,0]],"v":[[139.175,-43.843],[-38.009,-167.156],[-139.175,167.157]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.7764705882352941,0.8117647058823529,0.9725490196078431,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[490.058,188.467],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 10","np":4,"cix":2,"bm":0,"ix":10,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":25,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Kaki Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[531.051,890.907,0],"ix":2,"l":2},"a":{"a":0,"k":[423.306,189.343,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[423.056,29.514],[-423.056,29.514],[-423.056,-29.514],[423.056,-29.514]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.3686274509803922,0.4470588235294118,0.8941176470588236,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[423.306,348.921],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.781,171.728],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[-3.782,171.728],[0,0],[0,0],[0,0],[0,0]],"v":[[206.108,-159.205],[2.384,-159.205],[-2.384,-159.205],[-206.107,-159.205],[-394.136,159.205],[-2.384,159.205],[2.384,159.205],[394.136,159.205]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.2196078431372549,0.28627450980392155,0.8196078431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[430.909,159.455],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":250,"op":25,"st":0,"bm":0,"hidden":0}],"markers":[]} \ No newline at end of file diff --git a/LehrerApp.Desktop/Assets/Animations/Teamwork.json b/LehrerApp.Desktop/Assets/Animations/Teamwork.json new file mode 100644 index 0000000..a7acd0c --- /dev/null +++ b/LehrerApp.Desktop/Assets/Animations/Teamwork.json @@ -0,0 +1 @@ +{"v":"5.6.6","fr":60,"ip":60,"op":120,"w":600,"h":600,"nm":"development and submittals","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"person-top-face-outlinne Outlines","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[73.415,-16.001,0],"ix":2},"a":{"a":0,"k":[33.313,42.52,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.515,0],[2.745,1.593],[0,10.18],[-5.843,10.003],[-8.233,4.781],[-6.463,-3.719],[0,-10.181],[5.754,-10.093],[8.234,-4.692]],"o":[[-3.276,0],[-6.551,-3.718],[0,-9.561],[5.754,-10.004],[8.853,-5.046],[6.551,3.718],[0,9.561],[-5.843,10.092],[-5.223,2.921]],"v":[[-13.102,41.52],[-22.221,39.13],[-32.313,17.529],[-23.283,-12.836],[-1.505,-35.765],[22.22,-37.801],[32.313,-16.2],[23.372,14.165],[1.593,37.094]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[2.214,0],[4.161,-2.301],[5.312,-9.118],[0,-8.41],[-4.516,-2.656],[-6.816,3.895],[-0.089,0],[-5.222,9.119],[0,8.498],[4.603,2.656]],"o":[[-3.452,0],[-7.348,4.25],[-5.312,9.118],[0,7.879],[4.514,2.656],[0.089,0],[7.17,-4.16],[5.224,-9.118],[0,-7.88],[-1.682,-0.973]],"v":[[13.013,-33.995],[1.505,-30.454],[-18.06,-9.738],[-26.205,17.529],[-19.21,33.818],[-1.594,31.782],[-1.416,31.693],[17.882,11.066],[26.027,-16.2],[18.945,-32.49]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[33.313,42.52],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"person-top-face-face Outlines","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[73.324,-15.34,0],"ix":2},"a":{"a":0,"k":[29.464,39.069,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-8.056,4.692],[-5.223,9.119],[0,9.295],[5.312,3.099],[8.056,-4.692],[5.223,-9.207],[0,-9.384],[-5.312,-3.098]],"o":[[8.056,-4.692],[5.312,-9.118],[0,-9.296],[-5.312,-3.098],[-8.056,4.692],[-5.312,9.119],[0,9.296],[5.312,2.833]],"v":[[0,33.773],[20.627,11.995],[29.214,-16.775],[20.627,-35.722],[0,-33.684],[-20.627,-11.818],[-29.214,17.041],[-20.627,35.986]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[29.464,39.07],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"person-top-body-front-outline Outlines","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[73.461,58.935,0],"ix":2},"a":{"a":0,"k":[53.718,49.646,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.531,0],[0.443,0.266],[0,1.151],[-8.764,15.05],[-13.633,7.967],[-10.358,-5.932],[-0.886,-14.431],[0.974,-0.531],[0,0]],"o":[[-0.62,0],[-0.973,-0.531],[0.886,-14.784],[9.649,-16.732],[14.253,-8.233],[9.471,5.488],[0.088,1.151],[0,0],[-0.62,0.354]],"v":[[-49.619,48.646],[-51.214,48.204],[-52.719,45.371],[-37.846,-0.929],[-1.638,-39.173],[36.607,-42.714],[52.63,-11.906],[51.125,-9.074],[-48.025,48.204]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[4.249,0],[7.437,-4.249],[9.119,-15.758],[1.682,-12.305],[0,0],[7.171,4.161]],"o":[[-6.286,0],[-12.837,7.436],[-7.082,12.306],[0,0],[-1.063,-11.332],[-3.364,-1.948]],"v":[[22.089,-40.147],[1.372,-33.773],[-32.622,2.169],[-46.079,39.971],[46.257,-13.324],[33.508,-37.314]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[53.718,49.646],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"person-top-body-front-face Outlines","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[73.412,59.074,0],"ix":2},"a":{"a":0,"k":[52.076,48.004,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[8.233,4.781],[13.191,-7.702],[9.03,-15.581],[0.797,-14.784],[0,0]],"o":[[-9.384,-5.4],[-13.722,7.879],[-8.233,14.253],[0,0],[-0.885,-13.81]],"v":[[35.146,-40.104],[0,-36.563],[-35.146,0.531],[-49.576,45.504],[49.576,-11.775]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.019999999626,0.783999992819,0.877999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[52.076,48.004],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"person-top-head-outline Outlines","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[57.083,-22.464,0],"ix":2},"a":{"a":0,"k":[41.325,48.982,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.62,0],[0.443,0.354],[0,0],[0,1.151],[-0.974,0.443],[-0.885,-0.531],[0,0],[-0.089,-1.062],[0.886,-0.531]],"o":[[-0.531,0],[0,0],[-0.975,-0.531],[0,-1.152],[0.885,-0.442],[0,0],[0.973,0.531],[0,1.063],[-0.353,0.354]],"v":[[16.245,47.982],[14.74,47.54],[-6.506,35.323],[-8.1,32.579],[-6.418,29.922],[-3.497,30.011],[17.662,42.228],[19.255,44.795],[17.838,47.451]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.062,0],[0.442,0.354],[0,0],[-6.197,17.882],[-18.502,-2.213],[-9.56,-5.843],[-1.328,-0.797],[0.797,-1.505],[1.417,0.797],[9.296,-16.112],[-11.509,-7.259],[0.885,-1.417]],"o":[[-0.532,0],[0,0],[-10.623,-6.374],[7.525,-21.601],[4.869,0.62],[1.949,1.239],[1.505,0.797],[-0.797,1.505],[-12.04,-6.285],[-9.295,16.112],[1.416,0.886],[-0.443,1.062]],"v":[[-4.382,46.035],[-5.887,45.592],[-27.134,33.375],[-34.128,-5.4],[10.579,-45.769],[33.33,-34.437],[38.377,-31.339],[39.528,-27.178],[35.455,-25.939],[-1.638,-3.187],[-2.877,40.28],[-1.903,44.441]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0.708,0],[6.197,-18.059],[-7.879,-4.781],[0,0],[-7.26,12.571],[-11.774,2.745],[2.744,0.355]],"o":[[-14.518,0],[-5.223,14.961],[0,0],[-3.276,-11.509],[7.347,-12.66],[-5.311,-3.187],[-0.797,0.089]],"v":[[7.746,-39.838],[-28.285,-3.453],[-23.947,27.975],[-15.005,33.11],[-6.772,-6.374],[23.681,-33.287],[9.959,-39.838]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[41.325,48.982],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"person-top-head-face Outlines","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[50.572,-23.126,0],"ix":2},"a":{"a":0,"k":[43.717,45.886,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-27.975,-14.607],[5.843,0.708],[-24.346,-14.695],[0,0]],"o":[[-6.462,-3.718],[-28.861,-3.541],[0,0],[-26.736,-16.909]],"v":[[43.467,-28.02],[16.732,-42.095],[-19.122,31.295],[2.125,43.6]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[22.84,45.636],[1.593,33.42]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[43.717,45.887],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"person-top-body-outline Outlines","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[55.752,53.363,0],"ix":2},"a":{"a":0,"k":[57.259,55.223,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.442,0],[0.443,0.354],[0,0],[0,1.151],[-28.064,16.997],[-10.712,-1.416],[-8.41,-5.134],[-1.947,-1.062],[0.797,-1.506],[1.506,0.797],[13.28,-7.348],[2.302,-31.162],[0.885,-0.443]],"o":[[-0.531,0],[0,0],[-1.062,-0.619],[2.567,-33.552],[7.347,-3.984],[7.702,0.974],[2.213,1.329],[1.417,0.797],[-0.796,1.416],[-9.295,-4.869],[-25.938,15.758],[-0.089,1.062],[-0.443,0.266]],"v":[[-31.914,54.223],[-33.419,53.782],[-54.667,41.564],[-56.259,38.643],[-5.178,-45.813],[22.53,-52.807],[48.116,-40.856],[54.311,-37.137],[55.462,-32.976],[51.302,-31.738],[19.077,-28.285],[-28.904,51.391],[-30.497,53.87]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[3.01,-30.542],[0,0],[-26.647,16.2],[0,0],[-7.524,0.708],[4.072,0.532],[6.375,-3.452]],"o":[[0,0],[3.984,-31.87],[0.088,0],[5.844,-3.187],[-5.223,-3.01],[-9.03,-1.062],[-25.318,15.493]],"v":[[-49.975,37.226],[-34.57,46.079],[15.979,-33.596],[16.068,-33.686],[36.34,-40.768],[21.733,-46.787],[-2.169,-40.59]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[57.259,55.223],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"person-top-body-face Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":0,"s":[286.029]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":60,"s":[238.284]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":120,"s":[357.981]},{"t":180,"s":[286.029]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":0,"s":[234.238]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":60,"s":[379.468]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":120,"s":[310.28]},{"t":180,"s":[234.238]}],"ix":4}},"a":{"a":0,"k":[55.484,53.493,0],"ix":1},"s":{"a":0,"k":[67,67,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-27.444,16.644],[-12.04,-6.286],[9.029,1.062],[7.879,-4.337],[2.479,-31.87],[0,0]],"o":[[11.332,-6.197],[-8.765,-5.046],[-9.207,-1.151],[-27.444,16.644],[0,0],[2.479,-31.782]],"v":[[17.839,-30.986],[52.984,-34.526],[22.353,-49.841],[-3.409,-43.292],[-52.984,38.775],[-31.738,50.992]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.019999999626,0.783999992819,0.877999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[55.484,53.493],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"person-top-face-outlinne Outlines 2","parent":16,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[73.406,-15.975,0],"ix":2},"a":{"a":0,"k":[33.313,42.52,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.515,0],[2.745,1.593],[0,10.18],[-5.843,10.003],[-8.233,4.781],[-6.463,-3.719],[0,-10.181],[5.754,-10.093],[8.234,-4.692]],"o":[[-3.276,0],[-6.551,-3.718],[0,-9.561],[5.754,-10.004],[8.853,-5.046],[6.551,3.718],[0,9.561],[-5.843,10.092],[-5.223,2.921]],"v":[[-13.102,41.52],[-22.221,39.13],[-32.313,17.529],[-23.283,-12.836],[-1.505,-35.765],[22.22,-37.801],[32.313,-16.2],[23.372,14.165],[1.593,37.094]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[2.214,0],[4.161,-2.301],[5.312,-9.118],[0,-8.41],[-4.516,-2.656],[-6.816,3.895],[-0.089,0],[-5.222,9.119],[0,8.498],[4.603,2.656]],"o":[[-3.452,0],[-7.348,4.25],[-5.312,9.118],[0,7.879],[4.514,2.656],[0.089,0],[7.17,-4.16],[5.224,-9.118],[0,-7.88],[-1.682,-0.973]],"v":[[13.013,-33.995],[1.505,-30.454],[-18.06,-9.738],[-26.205,17.529],[-19.21,33.818],[-1.594,31.782],[-1.416,31.693],[17.882,11.066],[26.027,-16.2],[18.945,-32.49]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[33.313,42.52],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"person-top-face-face Outlines 2","parent":16,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[73.315,-15.313,0],"ix":2},"a":{"a":0,"k":[29.464,39.069,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-8.056,4.692],[-5.223,9.119],[0,9.295],[5.312,3.099],[8.056,-4.692],[5.223,-9.207],[0,-9.384],[-5.312,-3.098]],"o":[[8.056,-4.692],[5.312,-9.118],[0,-9.296],[-5.312,-3.098],[-8.056,4.692],[-5.312,9.119],[0,9.296],[5.312,2.833]],"v":[[0,33.773],[20.627,11.995],[29.214,-16.775],[20.627,-35.722],[0,-33.684],[-20.627,-11.818],[-29.214,17.041],[-20.627,35.986]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[29.464,39.07],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"person-top-body-front-outline Outlines 2","parent":16,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[73.451,58.962,0],"ix":2},"a":{"a":0,"k":[53.718,49.646,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.531,0],[0.443,0.266],[0,1.151],[-8.764,15.05],[-13.633,7.967],[-10.358,-5.932],[-0.886,-14.431],[0.974,-0.531],[0,0]],"o":[[-0.62,0],[-0.973,-0.531],[0.886,-14.784],[9.649,-16.732],[14.253,-8.233],[9.471,5.488],[0.088,1.151],[0,0],[-0.62,0.354]],"v":[[-49.619,48.646],[-51.214,48.204],[-52.719,45.371],[-37.846,-0.929],[-1.638,-39.173],[36.607,-42.714],[52.63,-11.906],[51.125,-9.074],[-48.025,48.204]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[4.249,0],[7.437,-4.249],[9.119,-15.758],[1.682,-12.305],[0,0],[7.171,4.161]],"o":[[-6.286,0],[-12.837,7.436],[-7.082,12.306],[0,0],[-1.063,-11.332],[-3.364,-1.948]],"v":[[22.089,-40.147],[1.372,-33.773],[-32.622,2.169],[-46.079,39.971],[46.257,-13.324],[33.508,-37.314]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[53.718,49.646],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"person-top-body-front-face Outlines 2","parent":16,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[73.403,59.101,0],"ix":2},"a":{"a":0,"k":[52.076,48.004,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[8.233,4.781],[13.191,-7.702],[9.03,-15.581],[0.797,-14.784],[0,0]],"o":[[-9.384,-5.4],[-13.722,7.879],[-8.233,14.253],[0,0],[-0.885,-13.81]],"v":[[35.146,-40.104],[0,-36.563],[-35.146,0.531],[-49.576,45.504],[49.576,-11.775]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.019999999626,0.783999992819,0.877999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[52.076,48.004],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"person-top-head-outline Outlines 2","parent":16,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[57.074,-22.437,0],"ix":2},"a":{"a":0,"k":[41.325,48.982,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.62,0],[0.443,0.354],[0,0],[0,1.151],[-0.974,0.443],[-0.885,-0.531],[0,0],[-0.089,-1.062],[0.886,-0.531]],"o":[[-0.531,0],[0,0],[-0.975,-0.531],[0,-1.152],[0.885,-0.442],[0,0],[0.973,0.531],[0,1.063],[-0.353,0.354]],"v":[[16.245,47.982],[14.74,47.54],[-6.506,35.323],[-8.1,32.579],[-6.418,29.922],[-3.497,30.011],[17.662,42.228],[19.255,44.795],[17.838,47.451]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.062,0],[0.442,0.354],[0,0],[-6.197,17.882],[-18.502,-2.213],[-9.56,-5.843],[-1.328,-0.797],[0.797,-1.505],[1.417,0.797],[9.296,-16.112],[-11.509,-7.259],[0.885,-1.417]],"o":[[-0.532,0],[0,0],[-10.623,-6.374],[7.525,-21.601],[4.869,0.62],[1.949,1.239],[1.505,0.797],[-0.797,1.505],[-12.04,-6.285],[-9.295,16.112],[1.416,0.886],[-0.443,1.062]],"v":[[-4.382,46.035],[-5.887,45.592],[-27.134,33.375],[-34.128,-5.4],[10.579,-45.769],[33.33,-34.437],[38.377,-31.339],[39.528,-27.178],[35.455,-25.939],[-1.638,-3.187],[-2.877,40.28],[-1.903,44.441]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0.708,0],[6.197,-18.059],[-7.879,-4.781],[0,0],[-7.26,12.571],[-11.774,2.745],[2.744,0.355]],"o":[[-14.518,0],[-5.223,14.961],[0,0],[-3.276,-11.509],[7.347,-12.66],[-5.311,-3.187],[-0.797,0.089]],"v":[[7.746,-39.838],[-28.285,-3.453],[-23.947,27.975],[-15.005,33.11],[-6.772,-6.374],[23.681,-33.287],[9.959,-39.838]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[41.325,48.982],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"person-top-head-face Outlines 2","parent":16,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[50.563,-23.099,0],"ix":2},"a":{"a":0,"k":[43.717,45.886,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-27.975,-14.607],[5.843,0.708],[-24.346,-14.695],[0,0]],"o":[[-6.462,-3.718],[-28.861,-3.541],[0,0],[-26.736,-16.909]],"v":[[43.467,-28.02],[16.732,-42.095],[-19.122,31.295],[2.125,43.6]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[22.84,45.636],[1.593,33.42]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[43.717,45.887],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"person-top-body-outline Outlines 2","parent":16,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[55.743,53.39,0],"ix":2},"a":{"a":0,"k":[57.259,55.223,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.442,0],[0.443,0.354],[0,0],[0,1.151],[-28.064,16.997],[-10.712,-1.416],[-8.41,-5.134],[-1.947,-1.062],[0.797,-1.506],[1.506,0.797],[13.28,-7.348],[2.302,-31.162],[0.885,-0.443]],"o":[[-0.531,0],[0,0],[-1.062,-0.619],[2.567,-33.552],[7.347,-3.984],[7.702,0.974],[2.213,1.329],[1.417,0.797],[-0.796,1.416],[-9.295,-4.869],[-25.938,15.758],[-0.089,1.062],[-0.443,0.266]],"v":[[-31.914,54.223],[-33.419,53.782],[-54.667,41.564],[-56.259,38.643],[-5.178,-45.813],[22.53,-52.807],[48.116,-40.856],[54.311,-37.137],[55.462,-32.976],[51.302,-31.738],[19.077,-28.285],[-28.904,51.391],[-30.497,53.87]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[3.01,-30.542],[0,0],[-26.647,16.2],[0,0],[-7.524,0.708],[4.072,0.532],[6.375,-3.452]],"o":[[0,0],[3.984,-31.87],[0.088,0],[5.844,-3.187],[-5.223,-3.01],[-9.03,-1.062],[-25.318,15.493]],"v":[[-49.975,37.226],[-34.57,46.079],[15.979,-33.596],[16.068,-33.686],[36.34,-40.768],[21.733,-46.787],[-2.169,-40.59]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[57.259,55.223],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"person-right-body-face Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":0,"s":[357.981]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":60,"s":[286.291]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":120,"s":[238.284]},{"t":180,"s":[357.981]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":0,"s":[310.28]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":60,"s":[233.9]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":120,"s":[379.468]},{"t":180,"s":[310.28]}],"ix":4}},"a":{"a":0,"k":[55.484,53.492,0],"ix":1},"s":{"a":0,"k":[67,67,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-27.354,16.643],[-12.04,-6.286],[9.03,1.062],[7.879,-4.337],[2.389,-31.871],[0,0]],"o":[[11.243,-6.197],[-8.764,-5.046],[-9.206,-1.151],[-27.444,16.644],[0,0],[2.478,-31.783]],"v":[[17.838,-30.986],[52.984,-34.526],[22.353,-49.841],[-3.408,-43.292],[-52.984,38.775],[-31.737,50.992]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.019999999626,0.783999992819,0.877999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[55.484,53.493],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"person-left-face-outline Outlines","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[73.28,-16.046,0],"ix":2},"a":{"a":0,"k":[33.268,42.563,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.603,0],[2.745,1.594],[0,10.181],[-5.754,10.002],[-8.233,4.781],[-6.463,-3.807],[0,-10.18],[5.754,-10.004],[8.233,-4.78],[0,0]],"o":[[-3.276,0],[-6.551,-3.718],[0,-9.561],[5.754,-10.004],[8.764,-5.046],[6.551,3.717],[0,9.561],[-5.755,10.002],[0,0],[-4.957,2.921]],"v":[[-13.057,41.563],[-22.176,39.173],[-32.269,17.572],[-23.327,-12.791],[-1.549,-35.722],[22.177,-37.756],[32.269,-16.157],[23.328,14.21],[1.55,37.137],[1.461,37.137]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[2.302,0],[4.161,-2.389],[5.224,-9.118],[0,-8.498],[-4.604,-2.656],[-6.905,3.983],[-5.224,9.03],[0,8.499],[4.603,2.656]],"o":[[-3.452,0],[-7.348,4.25],[-5.312,9.118],[0,7.879],[4.515,2.567],[7.436,-4.338],[5.223,-9.118],[0,-7.879],[-1.77,-1.062]],"v":[[13.058,-33.951],[1.55,-30.321],[-18.016,-9.605],[-26.161,17.661],[-19.077,33.951],[-1.46,31.915],[18.105,11.199],[26.249,-16.068],[19.167,-32.357]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0.045,34.482],[0.133,34.482]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[33.268,42.563],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"person-left-face-face Outlines","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[73.368,-15.297,0],"ix":2},"a":{"a":0,"k":[29.508,39.025,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-8.056,4.604],[-5.311,9.118],[0,9.296],[5.312,3.098],[8.145,-4.603],[5.223,-9.207],[0,-9.296],[-5.312,-3.099]],"o":[[8.056,-4.691],[5.312,-9.119],[0,-9.295],[-5.311,-3.011],[-8.056,4.692],[-5.312,9.118],[0,9.295],[5.223,2.921]],"v":[[-0.044,33.729],[20.671,11.952],[29.258,-16.821],[20.671,-35.765],[-0.044,-33.73],[-20.672,-11.863],[-29.258,16.91],[-20.672,35.854]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[29.508,39.026],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"person-left-body-front-outline Outlines","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[73.318,58.936,0],"ix":2},"a":{"a":0,"k":[53.674,49.646,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.531,0],[0.443,0.353],[0,1.151],[-8.764,15.226],[-13.632,7.879],[-10.358,-5.932],[-0.797,-14.43],[0.973,-0.531],[0,0]],"o":[[-0.531,0],[-0.974,-0.62],[0.797,-14.696],[9.65,-16.732],[14.254,-8.234],[9.384,5.399],[0.088,1.151],[0,0],[-0.443,0.353]],"v":[[-49.576,48.646],[-51.169,48.204],[-52.674,45.371],[-37.802,-1.018],[-1.594,-39.173],[36.651,-42.714],[52.586,-11.907],[51.081,-9.074],[-48.071,48.204]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[4.162,0],[7.437,-4.25],[9.119,-15.758],[1.682,-12.216],[0,0],[7.171,4.16]],"o":[[-6.285,0],[-12.836,7.437],[-7.082,12.305],[0,0],[-1.062,-11.332],[-3.364,-1.77]],"v":[[22.22,-40.236],[1.505,-33.862],[-32.49,2.081],[-45.946,39.882],[46.389,-13.412],[33.641,-37.403]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[53.674,49.646],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"person-left-body-front-face Outlines","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[73.321,59.071,0],"ix":2},"a":{"a":0,"k":[52.076,48.003,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[8.233,4.78],[13.191,-7.702],[9.03,-15.581],[0.886,-14.784],[0,0]],"o":[[-9.384,-5.4],[-13.722,7.968],[-8.232,14.253],[0,0],[-0.797,-13.81]],"v":[[35.146,-40.103],[0,-36.562],[-35.146,0.532],[-49.576,45.503],[49.576,-11.774]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.019999999626,0.783999992819,0.877999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[52.076,48.003],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"person-left-head-outlinne Outlines","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[57.077,-22.418,0],"ix":2},"a":{"a":0,"k":[41.413,49.027,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.531,0],[0.443,0.265],[0,0],[0,0.974],[-0.797,0.62],[-0.975,-0.62],[0,0],[0,-1.062],[0.885,-0.62]],"o":[[-0.531,0],[0,0],[-0.886,-0.531],[-0.089,-1.062],[0.974,-0.708],[0,0],[0.885,0.531],[0,1.063],[-0.62,0.265]],"v":[[16.245,48.027],[14.74,47.584],[-6.418,35.367],[-7.923,32.888],[-6.684,30.232],[-3.319,30.055],[17.927,42.272],[19.432,44.839],[18.016,47.496]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.062,0],[0.443,0.354],[0,0],[-6.197,17.883],[-18.414,-2.214],[-9.649,-5.843],[-1.417,-0.797],[0.796,-1.504],[1.417,0.708],[9.295,-16.111],[-11.509,-7.26],[0.885,-1.505]],"o":[[-0.532,0],[0,0],[-10.624,-6.374],[7.525,-21.6],[4.869,0.619],[1.948,1.239],[1.505,0.797],[-0.797,1.417],[-12.04,-6.374],[-9.295,16.113],[1.416,0.886],[-0.619,0.974]],"v":[[-4.47,45.99],[-5.976,45.548],[-27.222,33.331],[-34.216,-5.445],[10.491,-45.813],[33.331,-34.482],[38.466,-31.383],[39.617,-27.223],[35.544,-25.983],[-1.549,-3.232],[-2.788,40.236],[-1.815,44.485]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0.62,0],[6.197,-18.06],[-7.879,-4.691],[0,0],[-7.259,12.571],[-11.774,2.745],[2.744,0.354]],"o":[[-14.519,0],[-5.223,14.873],[0,0],[-3.276,-11.509],[7.348,-12.659],[-5.312,-3.099],[-0.796,0.089]],"v":[[7.746,-39.882],[-28.285,-3.497],[-23.947,27.93],[-15.005,33.065],[-6.861,-6.418],[23.593,-33.331],[9.871,-39.882]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[41.413,49.027],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":22,"ty":4,"nm":"person-left-head-face Outlines","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[50.481,-23.17,0],"ix":2},"a":{"a":0,"k":[43.717,45.93,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-27.886,-14.607],[5.842,0.797],[-24.346,-14.696],[0,0]],"o":[[-6.463,-3.718],[-28.772,-3.629],[0,0],[-26.647,-16.82]],"v":[[43.467,-27.975],[16.732,-42.051],[-19.122,31.339],[2.124,43.556]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[22.84,45.68],[1.593,33.463]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[43.717,45.93],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"person-left-body-outline Outlines","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[55.661,53.402,0],"ix":2},"a":{"a":0,"k":[57.259,55.179,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.442,0],[0.443,0.265],[0,0],[-0.088,1.238],[-27.975,16.997],[-10.8,-1.416],[-8.41,-5.134],[-1.859,-1.15],[0.797,-1.505],[1.416,0.797],[13.279,-7.26],[2.39,-31.161],[0.885,-0.53]],"o":[[-0.531,0],[0,0],[-1.062,-0.62],[2.479,-33.553],[7.348,-4.073],[7.702,0.973],[2.213,1.328],[1.505,0.797],[-0.797,1.504],[-9.296,-4.869],[-25.939,15.758],[-0.089,1.062],[-0.442,0.089]],"v":[[-31.915,54.179],[-33.42,53.825],[-54.667,41.608],[-56.172,38.687],[-5.18,-45.769],[22.53,-52.763],[48.114,-40.812],[54.312,-37.006],[55.463,-32.844],[51.39,-31.605],[19.167,-28.152],[-28.905,51.523],[-30.499,54.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[2.921,-30.543],[0,0],[-26.647,16.201],[0,0],[-7.525,0.797],[4.073,0.532],[6.463,-3.454]],"o":[[0,0],[3.984,-31.959],[0,0],[5.843,-3.188],[-5.223,-3.01],[-9.118,-1.151],[-25.23,15.58]],"v":[[-49.886,37.182],[-34.483,46.034],[16.068,-33.641],[16.157,-33.729],[36.429,-40.812],[21.822,-46.832],[-2.169,-40.634]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[57.259,55.179],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":"person-left-body-face Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":0,"s":[238.284]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":60,"s":[357.981]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":120,"s":[286.029]},{"t":180,"s":[238.284]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.66],"y":[0]},"t":0,"s":[379.468]},{"i":{"x":[0.12],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":60,"s":[310.28]},{"i":{"x":[0.34],"y":[1]},"o":{"x":[0.88],"y":[0]},"t":120,"s":[234.238]},{"t":180,"s":[379.468]}],"ix":4}},"a":{"a":0,"k":[55.484,53.536,0],"ix":1},"s":{"a":0,"k":[67,67,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-27.443,16.643],[-12.04,-6.285],[9.029,1.062],[7.88,-4.427],[2.39,-31.87],[0,0]],"o":[[11.332,-6.197],[-8.764,-5.046],[-9.208,-1.152],[-27.443,16.643],[0,0],[2.389,-31.87]],"v":[[17.838,-31.029],[52.984,-34.569],[22.354,-49.884],[-3.409,-43.245],[-52.984,38.82],[-31.737,51.036]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.019999999626,0.783999992819,0.877999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[55.484,53.536],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":25,"ty":4,"nm":"wheel-handle-top Outlines","parent":28,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[24.637,-6.616,0],"ix":2},"a":{"a":0,"k":[4.099,18.617,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.771,0],[0,1.771],[0,0],[-1.771,0],[0,-1.682],[0,0]],"o":[[-1.682,0],[0,0],[0,-1.682],[1.682,0],[0,0],[0,1.682]],"v":[[0,17.617],[-3.099,14.518],[-3.099,-14.519],[0,-17.617],[3.099,-14.519],[3.099,14.518]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[4.099,18.617],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":26,"ty":4,"nm":"wheel-handle-left Outlines","parent":28,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.598,71.427,0],"ix":2},"a":{"a":0,"k":[13.571,20.078,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.062,0],[0.443,0.265],[-0.797,1.416],[0,0],[-1.416,-0.797],[0.796,-1.506],[0,0]],"o":[[-0.531,0],[-1.505,-0.885],[0,0],[0.885,-1.504],[1.505,0.885],[0,0],[-0.531,0.885]],"v":[[-9.118,19.078],[-10.623,18.635],[-11.774,14.474],[6.463,-17.131],[10.624,-18.281],[11.775,-14.031],[-6.462,17.573]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[13.571,20.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":27,"ty":4,"nm":"wheel-handle-right Outlines","parent":28,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[49.689,43.223,0],"ix":2},"a":{"a":0,"k":[13.837,9.676,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.062,0],[0.443,0.265],[0,0],[-0.886,1.416],[-1.417,-0.797],[0,0],[0.797,-1.505]],"o":[[-0.531,0],[0,0],[-1.504,-0.797],[0.797,-1.506],[0,0],[1.505,0.885],[-0.62,0.885]],"v":[[9.384,8.676],[7.879,8.234],[-10.801,-2.567],[-11.951,-6.727],[-7.79,-7.879],[10.889,2.922],[12.04,7.171]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[13.837,9.676],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":28,"ty":4,"nm":"wheel-middle Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[301.594,279.462,0],"ix":2},"a":{"a":0,"k":[24.637,31.188,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,17.667]},"o":{"x":[0.88,0.88,0.88],"y":[0,0,0]},"t":60,"s":[100,100,100]},{"i":{"x":[0.12,0.12,0.12],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,16.667]},"t":90,"s":[0,0,100]},{"t":120,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.364,0],[2.124,1.152],[0,7.525],[-4.16,7.26],[-5.931,3.365],[-4.869,-2.744],[0,-7.525],[4.161,-7.171],[5.931,-3.453]],"o":[[-2.479,0],[-4.869,-2.833],[0,-6.905],[4.161,-7.17],[6.463,-3.718],[4.869,2.833],[0,6.905],[-4.161,7.171],[-3.718,2.125]],"v":[[-9.207,30.188],[-16.112,28.417],[-23.637,12.394],[-17.175,-9.473],[-1.505,-25.939],[16.112,-27.444],[23.637,-11.42],[17.174,10.358],[1.505,26.913]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,24.256],[0.088,24.256]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[1.417,0],[2.744,-1.681],[3.63,-6.285],[0,-5.842],[-2.922,-1.683],[-4.516,2.655],[-3.63,6.285],[0,5.843],[2.921,1.682]],"o":[[-2.302,0],[-5.046,2.922],[-3.63,6.286],[0,5.224],[2.921,1.681],[5.045,-2.922],[3.629,-6.286],[0,-5.223],[-1.151,-0.708]],"v":[[9.207,-23.017],[1.593,-20.539],[-11.863,-6.286],[-17.44,12.482],[-12.925,23.195],[-1.416,21.69],[12.04,7.437],[17.617,-11.332],[13.102,-22.043]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0.4,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[24.637,31.188],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":29,"ty":4,"nm":"base-top-outliiine","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[300.001,351.377,0],"ix":2},"a":{"a":0,"k":[160.25,100.487,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[34.557,0],[34.083,-19.644],[0,-19.172],[-33.373,-19.172],[-67.693,39.054],[0,19.172],[33.373,19.172]],"o":[[-34.793,0],[-33.609,19.409],[0,19.172],[67.692,39.054],[33.61,-19.408],[0,-19.172],[-33.846,-19.644]],"v":[[0,-84.379],[-103.669,-54.794],[-154.083,3.195],[-103.669,61.183],[103.432,61.183],[153.846,3.195],[103.432,-54.794]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[35.739,0],[35.03,20.12],[0,21.538],[-35.503,20.356],[-69.586,-40.236],[0,-21.538],[35.503,-20.354]],"o":[[-35.74,0],[-35.503,-20.59],[0,-21.538],[69.822,-40.236],[35.503,20.592],[0,21.538],[-35.03,20.118]],"v":[[0,96.923],[-106.509,66.626],[-160,3.195],[-106.509,-60.001],[106.509,-60.001],[160,3.195],[106.509,66.39]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[160.25,100.487],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":30,"ty":4,"nm":"base-top-face 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[300.711,354.749,0],"ix":2},"a":{"a":0,"k":[157.41,100.842,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[34.556,19.882],[69.35,-40],[0,-20.356],[-34.792,-19.882],[-69.35,40],[0,20.355]],"o":[[-69.35,-40],[-34.556,20.118],[0,20.355],[69.35,40],[34.556,-20.119],[-0.237,-20.356]],"v":[[105.089,-60.592],[-105.089,-60.592],[-157.16,0],[-105.089,60.592],[105.089,60.592],[157.16,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[157.41,100.842],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":31,"ty":4,"nm":"base-bottom-outline 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[299.646,409.837,0],"ix":2},"a":{"a":0,"k":[159.895,58.356,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[8.047,13.729],[-29.822,-17.278],[-67.692,39.053],[-3.313,17.278],[22.959,-13.491],[69.586,40.237]],"o":[[3.314,17.278],[67.692,39.053],[29.822,-17.278],[-8.047,13.729],[-69.586,40.237],[-23.432,-13.491]],"v":[[-153.018,-32.782],[-103.077,19.054],[104.024,19.054],[153.964,-32.782],[107.1,8.166],[-105.917,8.166]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[35.739,0],[35.03,20.119],[0,21.302],[0,0],[-1.42,0],[0,-1.42],[-33.373,-19.171],[-67.692,39.054],[0,19.172],[-1.42,0],[0,-1.42],[0,0],[35.503,-20.355]],"o":[[-35.74,0],[-35.503,-20.592],[0,0],[0,-1.657],[1.42,0],[0,19.172],[67.692,39.054],[33.61,-19.408],[0,-1.657],[1.421,0],[0,0],[0,21.539],[-34.319,20.119]],"v":[[0.355,54.32],[-106.154,24.024],[-159.645,-39.173],[-159.645,-55.267],[-156.805,-58.107],[-153.964,-55.267],[-103.55,2.722],[103.55,2.722],[153.964,-55.267],[156.804,-58.107],[159.645,-55.267],[159.645,-39.173],[106.154,24.024]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[159.895,58.356],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":32,"ty":4,"nm":"base-bottom-face 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[300.002,412.914,0],"ix":2},"a":{"a":0,"k":[157.41,58.593,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[34.556,-19.882],[69.349,40],[0,20.356],[0,0],[-34.793,-19.882],[-69.35,40],[0,20.355],[0,0]],"o":[[-69.35,40],[-34.556,-20.119],[0,0],[0,20.355],[69.349,40],[34.556,-20.118],[0,0],[-0.236,20.356]],"v":[[105.09,2.249],[-105.088,2.249],[-157.159,-58.343],[-157.159,-42.249],[-105.088,18.344],[105.09,18.344],[157.159,-42.249],[157.159,-58.343]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[157.409,58.594],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/LehrerApp.Desktop/LehrerApp.Desktop.csproj b/LehrerApp.Desktop/LehrerApp.Desktop.csproj index 2465d89..440c4a4 100644 --- a/LehrerApp.Desktop/LehrerApp.Desktop.csproj +++ b/LehrerApp.Desktop/LehrerApp.Desktop.csproj @@ -18,6 +18,7 @@ + diff --git a/LehrerApp.Desktop/ViewModels/Groups/StudentGroupGeneratorViewModel.cs b/LehrerApp.Desktop/ViewModels/Groups/StudentGroupGeneratorViewModel.cs index 2a2983b..669f6ec 100644 --- a/LehrerApp.Desktop/ViewModels/Groups/StudentGroupGeneratorViewModel.cs +++ b/LehrerApp.Desktop/ViewModels/Groups/StudentGroupGeneratorViewModel.cs @@ -7,7 +7,7 @@ using System.Collections.ObjectModel; namespace LehrerApp.Desktop.ViewModels.Groups; -public sealed record StudentGroupMember(string Name); +public sealed record StudentGroupMember(Guid Id, string Name); public sealed record StudentPairCandidate(Guid Id, string Name); public sealed class StudentPairRule @@ -29,8 +29,9 @@ public sealed class StudentPairRule FirstId == first && SecondId == second || FirstId == second && SecondId == first; } -public sealed class GeneratedStudentGroup +public sealed partial class GeneratedStudentGroup : ObservableObject { + [ObservableProperty] private bool _isDropTarget; public string Title { get; } public ObservableCollection Members { get; } = []; @@ -39,7 +40,13 @@ public sealed class GeneratedStudentGroup Title = $"Gruppe {number}"; foreach (var student in students.OrderBy(s => s.LastName, StringComparer.CurrentCultureIgnoreCase) .ThenBy(s => s.FirstName, StringComparer.CurrentCultureIgnoreCase)) - Members.Add(new StudentGroupMember(student.FullName)); + Members.Add(new StudentGroupMember(student.Id, student.FullName)); + } + + public GeneratedStudentGroup(int number, IEnumerable members) + { + Title = $"Gruppe {number}"; + foreach (var member in members) Members.Add(member); } } @@ -55,10 +62,12 @@ public partial class StudentGroupGeneratorViewModel : ObservableObject private readonly IParticipationRepository _participation; private readonly IGradeRepository _grades; private readonly IGroupRepository _groupRepository; + private readonly IStudentGroupPlanRepository? _savedPlans; private readonly Random _random; private readonly List _participants = []; private readonly Dictionary _performance = []; private readonly HashSet _supportStudentIds = []; + private Guid? _editingPlanId; private string _attendanceWarning = ""; [ObservableProperty] private StudentDrawGroup? _selectedGroup; @@ -77,14 +86,24 @@ public partial class StudentGroupGeneratorViewModel : ObservableObject [ObservableProperty] private string _statusText = "Optionen wählen und Gruppen zusammenstellen."; [ObservableProperty] private string _warningText = ""; [ObservableProperty] private bool _hasGeneratedGroups; + [ObservableProperty] private StudentGroupPlan? _selectedSavedPlan; + [ObservableProperty] private string _planName = ""; + [ObservableProperty] private string _saveStatus = ""; + [ObservableProperty] private bool _hasUnsavedChanges; public ObservableCollection Groups { get; } = []; public ObservableCollection GeneratedGroups { get; } = []; public ObservableCollection PairCandidates { get; } = []; public ObservableCollection ForcedPairs { get; } = []; public ObservableCollection ExcludedPairs { get; } = []; + public ObservableCollection SavedPlans { get; } = []; public string[] ParticipantModeOptions { get; } = [FutureModeLabel, AdHocModeLabel]; public bool CanGenerate => SelectedGroup is not null && _participants.Count >= 2; + public bool CanSave => _savedPlans is not null && SelectedGroup is not null && + HasGeneratedGroups && !string.IsNullOrWhiteSpace(PlanName); + public bool CanLoadSavedPlan => SelectedSavedPlan is not null; + public bool CanDeleteSavedPlan => SelectedSavedPlan is not null; + public bool HasSavedPlans => SavedPlans.Count > 0; public string SizePriorityLabel => PriorityLabel(SizePriority); public string CountPriorityLabel => PriorityLabel(CountPriority); public string PerformanceDistributionLabel => PerformanceDistribution switch @@ -106,7 +125,8 @@ public partial class StudentGroupGeneratorViewModel : ObservableObject IParticipationRepository participation, IGradeRepository grades, Guid? initialGroupId = null, - Random? random = null) + Random? random = null, + IStudentGroupPlanRepository? savedPlans = null) { _students = students; _groupRepository = groups; @@ -115,9 +135,13 @@ public partial class StudentGroupGeneratorViewModel : ObservableObject _participation = participation; _grades = grades; _random = random ?? Random.Shared; + _savedPlans = savedPlans; foreach (var group in groups.GetAll().OrderBy(g => g.Name, StringComparer.CurrentCultureIgnoreCase)) Groups.Add(new StudentDrawGroup(group.Id, group.Name)); + if (initialGroupId is { } requestedId && Groups.All(g => g.Id != requestedId) && + groups.GetById(requestedId) is { } archived) + Groups.Add(new StudentDrawGroup(archived.Id, $"{archived.Name} (archiviert)")); SelectedGroup = Groups.FirstOrDefault(g => g.Id == initialGroupId) ?? Groups.FirstOrDefault(); } @@ -126,8 +150,24 @@ public partial class StudentGroupGeneratorViewModel : ObservableObject ForcedPairs.Clear(); ExcludedPairs.Clear(); ReloadParticipants(); + ReloadSavedPlans(); + _editingPlanId = null; + PlanName = ""; } partial void OnParticipantModeNameChanged(string value) => ReloadParticipants(); + partial void OnSelectedSavedPlanChanged(StudentGroupPlan? value) + { + OnPropertyChanged(nameof(CanLoadSavedPlan)); + OnPropertyChanged(nameof(CanDeleteSavedPlan)); + LoadSavedPlanCommand.NotifyCanExecuteChanged(); + DeleteSavedPlanCommand.NotifyCanExecuteChanged(); + } + partial void OnPlanNameChanged(string value) + { + SavePlanCommand.NotifyCanExecuteChanged(); + if (HasGeneratedGroups) HasUnsavedChanges = true; + } + partial void OnHasGeneratedGroupsChanged(bool value) => SavePlanCommand.NotifyCanExecuteChanged(); partial void OnTargetGroupSizeChanged(int value) => InvalidateResult(); partial void OnTargetGroupCountChanged(int value) => InvalidateResult(); partial void OnSizePriorityChanged(double value) @@ -177,11 +217,118 @@ public partial class StudentGroupGeneratorViewModel : ObservableObject GeneratedGroups.Add(new GeneratedStudentGroup(i + 1, assignments[i])); HasGeneratedGroups = true; + _editingPlanId = null; + SelectedSavedPlan = null; + PlanName = $"Einteilung {DateTime.Now:dd.MM.yyyy HH:mm:ss}"; + HasUnsavedChanges = true; + SaveStatus = "Noch nicht gespeichert."; StatusText = $"{_participants.Count} Schüler · {groupCount} Gruppen · Größen " + string.Join("/", capacities.Distinct().OrderBy(x => x)); UpdateWarning(groupCount, assignments); } + [RelayCommand(CanExecute = nameof(CanSave))] + private void SavePlan() + { + if (_savedPlans is null || SelectedGroup is null) return; + var plan = new StudentGroupPlan + { + Id = _editingPlanId ?? Guid.NewGuid(), + GroupId = SelectedGroup.Id, + Name = PlanName, + Groups = GeneratedGroups.Select(group => new StudentGroupPlanGroup + { + StudentIds = group.Members.Select(member => member.Id).ToList(), + }).ToList(), + }; + try + { + _savedPlans.Save(plan); + _editingPlanId = plan.Id; + ReloadSavedPlans(plan.Id); + HasUnsavedChanges = false; + SaveStatus = "Einteilung gespeichert."; + } + catch (Exception ex) when (ex is ArgumentException or InvalidOperationException) + { + SaveStatus = ex.Message; + } + } + + [RelayCommand(CanExecute = nameof(CanLoadSavedPlan))] + private void LoadSavedPlan() + { + if (_savedPlans is null || SelectedSavedPlan is not { } selected || + SelectedGroup?.Id != selected.GroupId) return; + var plan = _savedPlans.GetById(selected.Id); + if (plan is null) { ReloadSavedPlans(); return; } + _editingPlanId = plan.Id; + + var missing = 0; + GeneratedGroups.Clear(); + foreach (var group in plan.Groups ?? []) + { + var members = new List(); + foreach (var id in group.StudentIds ?? []) + { + if (_students.GetById(id) is { } student) + members.Add(new StudentGroupMember(id, student.FullName)); + else missing++; + } + GeneratedGroups.Add(new GeneratedStudentGroup(GeneratedGroups.Count + 1, members)); + } + HasGeneratedGroups = GeneratedGroups.Count > 0; + PlanName = plan.Name; + HasUnsavedChanges = missing > 0; + SaveStatus = missing > 0 + ? $"{missing} nicht mehr vorhandene Schüler wurden ausgelassen. Bitte erneut speichern." + : "Gespeicherte Einteilung geladen."; + StatusText = $"{GeneratedGroups.Sum(group => group.Members.Count)} Schüler · " + + $"{GeneratedGroups.Count} Gruppen · gespeichert am {plan.UpdatedAt.ToLocalTime():dd.MM.yyyy}"; + WarningText = missing > 0 ? SaveStatus : ""; + } + + [RelayCommand(CanExecute = nameof(CanDeleteSavedPlan))] + private void DeleteSavedPlan() + { + if (_savedPlans is null || SelectedSavedPlan is not { } plan) return; + _savedPlans.Delete(plan.Id); + var deletedCurrent = _editingPlanId == plan.Id; + if (deletedCurrent) _editingPlanId = null; + ReloadSavedPlans(); + if (deletedCurrent) HasUnsavedChanges = HasGeneratedGroups; + SaveStatus = "Gespeicherte Einteilung gelöscht."; + } + + public bool MoveStudent(StudentGroupMember member, GeneratedStudentGroup target) + { + if (!HasGeneratedGroups || !GeneratedGroups.Contains(target)) return false; + var source = GeneratedGroups.FirstOrDefault(group => group.Members.Contains(member)); + if (source is null || source == target || target.Members.Any(m => m.Id == member.Id)) return false; + source.Members.Remove(member); + target.Members.Add(member); + HasUnsavedChanges = true; + SaveStatus = "Änderungen noch nicht gespeichert."; + StatusText = $"{GeneratedGroups.Sum(group => group.Members.Count)} Schüler · " + + $"{GeneratedGroups.Count} Gruppen · manuell angepasst"; + var assignments = GeneratedGroups.Select(group => group.Members + .Select(m => _students.GetById(m.Id)).OfType().ToList()).ToList(); + UpdateWarning(GeneratedGroups.Count, assignments); + return true; + } + + private void ReloadSavedPlans(Guid? selectedId = null) + { + SavedPlans.Clear(); + SelectedSavedPlan = null; + if (_savedPlans is not null && SelectedGroup is not null) + { + foreach (var plan in _savedPlans.GetByGroup(SelectedGroup.Id)) SavedPlans.Add(plan); + SelectedSavedPlan = SavedPlans.FirstOrDefault(plan => plan.Id == selectedId); + } + OnPropertyChanged(nameof(HasSavedPlans)); + } + private void ReloadParticipants() { _participants.Clear(); @@ -385,6 +532,8 @@ public partial class StudentGroupGeneratorViewModel : ObservableObject { GeneratedGroups.Clear(); HasGeneratedGroups = false; + HasUnsavedChanges = false; + SaveStatus = ""; StatusText = _participants.Count >= 2 ? $"{_participants.Count} Schüler stehen zur Einteilung bereit." : "Für eine Gruppeneinteilung werden mindestens zwei Schüler benötigt."; diff --git a/LehrerApp.Desktop/ViewModels/Groups/TeachingModeViewModel.cs b/LehrerApp.Desktop/ViewModels/Groups/TeachingModeViewModel.cs index 484cc7e..f2b0ec6 100644 --- a/LehrerApp.Desktop/ViewModels/Groups/TeachingModeViewModel.cs +++ b/LehrerApp.Desktop/ViewModels/Groups/TeachingModeViewModel.cs @@ -22,6 +22,7 @@ public class TeachingModeViewModel { public TeachingTimelineViewModel Timeline { get; } public string GroupName { get; } + public DateOnly LessonDate { get; } public LessonViewerViewModel LessonInfo { get; } public SeatingPlanTabViewModel SeatingPlan { get; } /// Nutzer-Feedback: die Schnellbewertungs-Dialoge für Mitarbeit/Anwesenheit-Hausaufgabe @@ -41,6 +42,7 @@ public class TeachingModeViewModel TeachingModeOutstandingHomeworkViewModel? outstandingHomework = null) { GroupName = group.Name; + LessonDate = lesson.Date; Timeline = new TeachingTimelineViewModel(lesson, lessons, !group.IsActive); LessonInfo = new LessonViewerViewModel(lesson, alternativePaths); diff --git a/LehrerApp.Desktop/Views/Groups/RandomStudentPickerWindow.axaml b/LehrerApp.Desktop/Views/Groups/RandomStudentPickerWindow.axaml index a069c30..89bb0ef 100644 --- a/LehrerApp.Desktop/Views/Groups/RandomStudentPickerWindow.axaml +++ b/LehrerApp.Desktop/Views/Groups/RandomStudentPickerWindow.axaml @@ -1,10 +1,11 @@ @@ -16,12 +17,13 @@ -